From 395b05e6cf7d5d34602288040b6bd2da81b6acd2 Mon Sep 17 00:00:00 2001 From: Jordan Irwin Date: Thu, 19 Oct 2023 19:41:41 -0700 Subject: [PATCH] Add Magic City chest to wizard bank https://github.com/arianne/stendhal/issues/553 --- data/conf/zones/fado.xml | 15 +++ .../server/entity/player/PlayerRPClass.java | 3 +- .../server/entity/player/UpdateConverter.java | 3 +- .../stendhal/server/entity/slot/Banks.java | 4 +- .../server/maps/quests/WizardBank.java | 4 +- .../server/script/DumpDeletionCandidates.java | 13 ++- .../server/maps/quests/WizardBankTest.java | 6 +- tiled/interiors/magic/bank.tmx | 93 +++++++++---------- 8 files changed, 83 insertions(+), 58 deletions(-) diff --git a/data/conf/zones/fado.xml b/data/conf/zones/fado.xml index 93ec675edcc..86e93b20747 100644 --- a/data/conf/zones/fado.xml +++ b/data/conf/zones/fado.xml @@ -2433,6 +2433,21 @@ Today I used an orb in the witch Jynath's house and arrived in a city of witches + + + 4 + 2 + + + + + + bank_magic + + + diff --git a/src/games/stendhal/server/entity/player/PlayerRPClass.java b/src/games/stendhal/server/entity/player/PlayerRPClass.java index d309f9745a5..616b710ba54 100644 --- a/src/games/stendhal/server/entity/player/PlayerRPClass.java +++ b/src/games/stendhal/server/entity/player/PlayerRPClass.java @@ -1,6 +1,6 @@ /* $Id$ */ /*************************************************************************** - * (C) Copyright 2003 - Marauroa * + * (C) Copyright 2003-2023 - Marauroa * *************************************************************************** *************************************************************************** * * @@ -84,6 +84,7 @@ static void generateRPClass() { player.addRPSlot("bank_ados", 30, Definition.HIDDEN); player.addRPSlot("bank_deniran", 30, Definition.HIDDEN); player.addRPSlot("bank_fado", 30, Definition.HIDDEN); + player.addRPSlot("bank_magic", 30, Definition.HIDDEN); player.addRPSlot("bank_nalwor", 30, Definition.HIDDEN); player.addRPSlot("zaras_chest_ados", 30, Definition.HIDDEN); diff --git a/src/games/stendhal/server/entity/player/UpdateConverter.java b/src/games/stendhal/server/entity/player/UpdateConverter.java index b4845061aa6..6b2b19da687 100644 --- a/src/games/stendhal/server/entity/player/UpdateConverter.java +++ b/src/games/stendhal/server/entity/player/UpdateConverter.java @@ -255,7 +255,7 @@ public static Item updateItem(String name) { public static void updatePlayerRPObject(final RPObject object) { final String[] slotsNormal = { "bag", "rhand", "lhand", "head", "armor", "legs", "feet", "finger", "cloak", "bank", "bank_ados", "bank_deniran", - "zaras_chest_ados", "bank_fado", "bank_nalwor", "spells", + "zaras_chest_ados", "bank_fado", "bank_magic", "bank_nalwor", "spells", "keyring", /*"portfolio", */ "trade", "pouch" }; final String[] slotsSpecial = { "!quests", "!kills", "!buddy", "!ignore", @@ -280,6 +280,7 @@ public static void updatePlayerRPObject(final RPObject object) { // Port from 0.57 to 0.58: bank_ados, bank_fado // Port from 0.58 to ?: bank_nalwor, keyring, finger // Port from 1.29 to 1.30: bank_deniran + // Port from 1.44 to 1.45: bank_magic for (final String slotName : slotsNormal) { if (!object.hasSlot(slotName)) { object.addSlot(new PlayerSlot(slotName)); diff --git a/src/games/stendhal/server/entity/slot/Banks.java b/src/games/stendhal/server/entity/slot/Banks.java index 4e227ef6735..cb0b7148958 100644 --- a/src/games/stendhal/server/entity/slot/Banks.java +++ b/src/games/stendhal/server/entity/slot/Banks.java @@ -1,5 +1,5 @@ /*************************************************************************** - * (C) Copyright 2003-2019 - Stendhal * + * (C) Copyright 2003-2023 - Stendhal * *************************************************************************** *************************************************************************** * * @@ -25,6 +25,8 @@ public enum Banks { DENIRAN("bank_deniran"), /** bank in Fado. */ FADO("bank_fado"), + /** bank in Magic City */ + MAGIC("bank_magic"), /** bank in Nalwor. */ NALWOR("bank_nalwor"), /** mini-bank in zaras house. */ diff --git a/src/games/stendhal/server/maps/quests/WizardBank.java b/src/games/stendhal/server/maps/quests/WizardBank.java index 885a3da4257..320608d6b40 100644 --- a/src/games/stendhal/server/maps/quests/WizardBank.java +++ b/src/games/stendhal/server/maps/quests/WizardBank.java @@ -1,5 +1,5 @@ /*************************************************************************** - * (C) Copyright 2003-2022 - Stendhal * + * (C) Copyright 2003-2023 - Stendhal * *************************************************************************** *************************************************************************** * * @@ -255,7 +255,7 @@ protected void createDialog() { new PlayerHasItemWithHimCondition("money", COST), new QuestNotActiveCondition(QUEST_SLOT)), ConversationStates.IDLE, - "Semos, Nalwor and Fado bank chests are to my right. The chests owned by Deniran and Ados Bank Merchants and your friend Zara are to my left. If you are finished before your time here is done, please say #leave.", + "Semos, Nalwor, Fado and Magic City bank chests are to my right. The chests owned by Deniran and Ados Bank Merchants and your friend Zara are to my left. If you are finished before your time here is done, please say #leave.", new MultipleActions( new DropItemAction("money", COST), new TeleportAction(ZONE_NAME, 10, 10, Direction.DOWN), diff --git a/src/games/stendhal/server/script/DumpDeletionCandidates.java b/src/games/stendhal/server/script/DumpDeletionCandidates.java index 0113ddbc891..88c5b9f04ea 100644 --- a/src/games/stendhal/server/script/DumpDeletionCandidates.java +++ b/src/games/stendhal/server/script/DumpDeletionCandidates.java @@ -1,3 +1,14 @@ +/*************************************************************************** + * (C) Copyright 2012-2023 - Faiumoni e. V. * + *************************************************************************** + *************************************************************************** + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + ***************************************************************************/ package games.stendhal.server.script; import java.io.IOException; @@ -44,7 +55,7 @@ private void dumpObject(RPObject object) { StringBuilder items = new StringBuilder(); final String[] slotsItems = { "bag", "rhand", "lhand", "head", "armor", "legs", "feet", "finger", "cloak", "keyring", "trade", - "bank", "bank_ados", "bank_deniran", "bank_fado", "bank_nalwor", "zaras_chest_ados"}; + "bank", "bank_ados", "bank_deniran", "bank_fado", "bank_magic", "bank_nalwor", "zaras_chest_ados"}; for (final String slotName : slotsItems) { final RPSlot slot = object.getSlot(slotName); diff --git a/tests/games/stendhal/server/maps/quests/WizardBankTest.java b/tests/games/stendhal/server/maps/quests/WizardBankTest.java index cc37766a92f..024196e9352 100644 --- a/tests/games/stendhal/server/maps/quests/WizardBankTest.java +++ b/tests/games/stendhal/server/maps/quests/WizardBankTest.java @@ -1,6 +1,6 @@ /* $Id$ */ /*************************************************************************** - * (C) Copyright 2003-2010 - Stendhal * + * (C) Copyright 2003-2023 - Stendhal * *************************************************************************** *************************************************************************** * * @@ -138,7 +138,7 @@ public void testHiAndBye() { assertTrue(en.step(player, "yes")); assertEquals(ConversationStates.IDLE, en.getCurrentState()); - assertEquals("Semos, Nalwor and Fado bank chests are to my right. The chests owned by Deniran and Ados Bank Merchants and your friend Zara are to my left. If you are finished before your time here is done, please say #leave.", getReply(npc)); + assertEquals("Semos, Nalwor, Fado and Magic City bank chests are to my right. The chests owned by Deniran and Ados Bank Merchants and your friend Zara are to my left. If you are finished before your time here is done, please say #leave.", getReply(npc)); } /** @@ -237,7 +237,7 @@ public void testDoQuest() { assertTrue(npc.isTalking()); assertTrue(en.step(player, "yes")); - assertEquals("Semos, Nalwor and Fado bank chests are to my right. The chests owned by Deniran and Ados Bank Merchants and your friend Zara are to my left. If you are finished before your time here is done, please say #leave.", getReply(npc)); + assertEquals("Semos, Nalwor, Fado and Magic City bank chests are to my right. The chests owned by Deniran and Ados Bank Merchants and your friend Zara are to my left. If you are finished before your time here is done, please say #leave.", getReply(npc)); assertEquals(ConversationStates.IDLE, en.getCurrentState()); assertTrue(player.hasQuest(QUEST_SLOT)); diff --git a/tiled/interiors/magic/bank.tmx b/tiled/interiors/magic/bank.tmx index 8e4b8422e83..ffaff2798ce 100644 --- a/tiled/interiors/magic/bank.tmx +++ b/tiled/interiors/magic/bank.tmx @@ -1,85 +1,80 @@ - - - - + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - + + + + - H4sIAAAAAAAAAONhYGBgojPmBmIWIJYBYgk6YWkgZobaKwbEBnTCoqP20t1eKSAWR8JKVLRHEc1s -SSR70dOzChXtVWYYTc+j8Tsav6PxO/zilxhsCMRGQGxMoj5Y/HIBMSMZ2AqIrYHYhgy9nEAMANgK -7JRgCQAA + H4sIAAAAAAAAA+NhYGBgojPmBmIWIJYBYgk6YWkgZobaKwbEBnTCoqP20t1eKSAWR8JKVLRHEc1sSSR70dOzChXtVWYYTc+j8Tsav6PxO/zilxhsCcRWQGxNoj5Y/HIBMSMZ2AmInYHYhQy9nEAMAC7tlSRgCQAA - + - H4sIAAAAAAAAAGNgGAX0BBVAXAllVwFxNRY12UCcgwfnoqlHNgfZfFJBHhDn48EFZJpLiZsGwtxR -MAqoAdDzMXq+pTZIAuJEBsx8XAAVT6KRvaFAHIYHh9PI3ggC8rGj9lIFxBOQT6CRvcMBAACoG9yL -YAkAAA== + H4sIAAAAAAAAA2NgGAX0BA1A3AjEPUDcBMTNWNQUA3EJHlyKph7ZHJj55IAyIC7HgyvINJdWoIGBfL+OglFAa4Cej9HzLbVBFhBnMmDm4wqoeBaN7I0F4jg8OJ5G9iYQkE8dtZcqIJ2AfAaN7B0OAACP+/h0YAkAAA== - + - H4sIAAAAAAAAAGNggIBkBlRAiI8LUMuckQ5SgDiVCLFRMDhBDQ3MbKKBmaOAPFBHAzPraWDmKCAP -NNDAzEYamDkKBjcAAMDyFP5gCQAA + H4sIAAAAAAAAA2NggIBsBlRAiI8LUMuckQ5ygDiXCLFRMDhBCw3M7KKBmaOAPNBGAzPbaWDmKCAPdNDAzE4amDkKBjcAAJj1mGtgCQAA - + - H4sIAAAAAAAAAGNgGJmgBIhLoewyIC6ngpnI5iCbP1gArdw0GP06CkbBKBgFo2AUDCQAAIAG+Nxg -CQAA + H4sIAAAAAAAAA2NgGJmgBohroew6IK6ngpnI5iCbP9zBSPLrKBgFo2AUjIJRQAwAAMEsxgdgCQAA - + - H4sIAAAAAAAAAO3BMQEAAADCoPVPbQlPoAAAeBoqs0udYAkAAA== + H4sIAAAAAAAAA+3BMQEAAADCoPVPbQlPoAAAeBoqs0udYAkAAA== - + - H4sIAAAAAAAAAMtgYGDIGIGYXgCf/bjcQqr7sZlJjn+pEW6k+JNSQIy/qW33QKWzwZqeB8reoRC/ -pKinhv9olX8Hwl5i9BMT/uS4dSDsJQaQYy8hdwyUveRgaplDTwwAiETSYWAJAAA= + H4sIAAAAAAAAAytgYGAoGIGYXoAct5CqB1mMEv9SI9zoGc7E+Jva7hiodDZY0/NA2TsU4pcU9dTw30DlX1rYS4x+YsKfHLcOhL3EAHLsJeSOgbKXHEwtc+iJAdsBG0tgCQAA - + - H4sIAAAAAAAAAMtkYGDIHMWjeBSP4lE8ikfxKB7FVMMAbLXyOWAJAAA= + H4sIAAAAAAAAAytkYGAoHMWjeBSP4lE8ikfxKB7FVMMAZM7wa2AJAAA=