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/doc/sources/graphics-tileset.txt b/doc/sources/graphics-tileset.txt index d1df4a16c1f..7092ab57e70 100644 --- a/doc/sources/graphics-tileset.txt +++ b/doc/sources/graphics-tileset.txt @@ -58,6 +58,7 @@ blue_green.* Kimmo Rundelin (kiheru); CC BY-SA 3.0; Stendhal blue_green_2.png Katie Russell (kymara); GPL 2.0+; Stendhal caldron_sign.png Dungeon Crawl Stone Soup; CC0; https://opengameart.org/node/12210, https://crawl.develz.org/wordpress/, https://github.com/crawl/tiles chests_banner.* Kimmo Rundelin (kiheru), Dungeon Crawl Stone Soup, Jordan Irwin (AntumDeluge); CC BY-SA 3.0; Stendhal, https://opengameart.org/node/12210, https://opengameart.org/node/79098 +chests_signpost.* Kimmo Rundelin (kiheru), Dungeon Crawl Stone Soup, Jordan Irwin (AntumDeluge); CC BY-SA 3.0; Stendhal, https://opengameart.org/node/12210, https://opengameart.org/node/79098 chimney.png Kimmo Rundelin (kiheru); CC BY-SA 3.0; Stendhal chimney_big.png Kimmo Rundelin (kiheru); CC BY-SA 3.0; Stendhal chimney_brown_stacks.png Lanea Zimmerman (Sharm); CC BY-SA 3.0; https://lpc.opengameart.org/static/lpc-style-guide/assets.html#outdoors 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= diff --git a/tiled/tileset/building/decoration/chests_signpost.png b/tiled/tileset/building/decoration/chests_signpost.png new file mode 100644 index 00000000000..2f11e28bc43 Binary files /dev/null and b/tiled/tileset/building/decoration/chests_signpost.png differ diff --git a/tiled/tileset/building/decoration/chests_signpost.xcf.bz2 b/tiled/tileset/building/decoration/chests_signpost.xcf.bz2 new file mode 100644 index 00000000000..d6f8ba2020d Binary files /dev/null and b/tiled/tileset/building/decoration/chests_signpost.xcf.bz2 differ