diff --git a/build/built-jar.properties b/build/built-jar.properties index d23193731c..72aaf90820 100644 --- a/build/built-jar.properties +++ b/build/built-jar.properties @@ -1,4 +1,4 @@ -#Fri, 25 Aug 2017 21:04:38 -0300 +#Thu, 31 Aug 2017 23:23:01 -0300 C\:\\Nexon\\MapleSolaxia\\MapleSolaxiaV2= diff --git a/build/classes/client/MapleCharacter$10.class b/build/classes/client/MapleCharacter$10.class index f7082ba194..1f72045106 100644 Binary files a/build/classes/client/MapleCharacter$10.class and b/build/classes/client/MapleCharacter$10.class differ diff --git a/build/classes/client/MapleCharacter$11.class b/build/classes/client/MapleCharacter$11.class index e4ee8e711f..f7db7fd1f9 100644 Binary files a/build/classes/client/MapleCharacter$11.class and b/build/classes/client/MapleCharacter$11.class differ diff --git a/build/classes/client/MapleCharacter$12.class b/build/classes/client/MapleCharacter$12.class index 7e9fbb3794..6da39fc720 100644 Binary files a/build/classes/client/MapleCharacter$12.class and b/build/classes/client/MapleCharacter$12.class differ diff --git a/build/classes/client/MapleCharacter$13.class b/build/classes/client/MapleCharacter$13.class index 956fd12bba..8dcdd3e354 100644 Binary files a/build/classes/client/MapleCharacter$13.class and b/build/classes/client/MapleCharacter$13.class differ diff --git a/build/classes/client/MapleCharacter$14.class b/build/classes/client/MapleCharacter$14.class index ad82781108..3b9fb71763 100644 Binary files a/build/classes/client/MapleCharacter$14.class and b/build/classes/client/MapleCharacter$14.class differ diff --git a/build/classes/client/MapleCharacter$15.class b/build/classes/client/MapleCharacter$15.class index 7f5f81c0f0..8e27113940 100644 Binary files a/build/classes/client/MapleCharacter$15.class and b/build/classes/client/MapleCharacter$15.class differ diff --git a/build/classes/client/MapleCharacter$16.class b/build/classes/client/MapleCharacter$16.class index 21cb4c82f1..30f08d6431 100644 Binary files a/build/classes/client/MapleCharacter$16.class and b/build/classes/client/MapleCharacter$16.class differ diff --git a/build/classes/client/MapleCharacter$17.class b/build/classes/client/MapleCharacter$17.class index 09839ca873..113e5b63ca 100644 Binary files a/build/classes/client/MapleCharacter$17.class and b/build/classes/client/MapleCharacter$17.class differ diff --git a/build/classes/client/MapleCharacter$18.class b/build/classes/client/MapleCharacter$18.class index e52764fab7..1f459ab0dd 100644 Binary files a/build/classes/client/MapleCharacter$18.class and b/build/classes/client/MapleCharacter$18.class differ diff --git a/build/classes/client/MapleCharacter$19.class b/build/classes/client/MapleCharacter$19.class index 7ecb6bcef2..7172ee0179 100644 Binary files a/build/classes/client/MapleCharacter$19.class and b/build/classes/client/MapleCharacter$19.class differ diff --git a/build/classes/client/MapleCharacter$2.class b/build/classes/client/MapleCharacter$2.class index e99370990d..0b61d2af12 100644 Binary files a/build/classes/client/MapleCharacter$2.class and b/build/classes/client/MapleCharacter$2.class differ diff --git a/build/classes/client/MapleCharacter$20.class b/build/classes/client/MapleCharacter$20.class index d310e88ce9..efe7c95afe 100644 Binary files a/build/classes/client/MapleCharacter$20.class and b/build/classes/client/MapleCharacter$20.class differ diff --git a/build/classes/client/MapleCharacter$3.class b/build/classes/client/MapleCharacter$3.class index e49457b31e..c33ce7dd9c 100644 Binary files a/build/classes/client/MapleCharacter$3.class and b/build/classes/client/MapleCharacter$3.class differ diff --git a/build/classes/client/MapleCharacter$4.class b/build/classes/client/MapleCharacter$4.class index f9a70399d5..5874ea4bf0 100644 Binary files a/build/classes/client/MapleCharacter$4.class and b/build/classes/client/MapleCharacter$4.class differ diff --git a/build/classes/client/MapleCharacter$5.class b/build/classes/client/MapleCharacter$5.class index 3b38991e0b..44d59f7a6b 100644 Binary files a/build/classes/client/MapleCharacter$5.class and b/build/classes/client/MapleCharacter$5.class differ diff --git a/build/classes/client/MapleCharacter$6.class b/build/classes/client/MapleCharacter$6.class index 2d7bc3be6f..3a6b0f060c 100644 Binary files a/build/classes/client/MapleCharacter$6.class and b/build/classes/client/MapleCharacter$6.class differ diff --git a/build/classes/client/MapleCharacter$7.class b/build/classes/client/MapleCharacter$7.class index 74bd24bd09..e499dda24a 100644 Binary files a/build/classes/client/MapleCharacter$7.class and b/build/classes/client/MapleCharacter$7.class differ diff --git a/build/classes/client/MapleCharacter$8.class b/build/classes/client/MapleCharacter$8.class index 9d6199559e..65bcf75823 100644 Binary files a/build/classes/client/MapleCharacter$8.class and b/build/classes/client/MapleCharacter$8.class differ diff --git a/build/classes/client/MapleCharacter$9.class b/build/classes/client/MapleCharacter$9.class index 64f8ea30bc..27e0887bc9 100644 Binary files a/build/classes/client/MapleCharacter$9.class and b/build/classes/client/MapleCharacter$9.class differ diff --git a/build/classes/client/MapleCharacter$FameStatus.class b/build/classes/client/MapleCharacter$FameStatus.class index 254ec4376a..b855e8c20e 100644 Binary files a/build/classes/client/MapleCharacter$FameStatus.class and b/build/classes/client/MapleCharacter$FameStatus.class differ diff --git a/build/classes/client/MapleCharacter$MapleBuffStatValueHolder.class b/build/classes/client/MapleCharacter$MapleBuffStatValueHolder.class index 03df75415f..28f5277d18 100644 Binary files a/build/classes/client/MapleCharacter$MapleBuffStatValueHolder.class and b/build/classes/client/MapleCharacter$MapleBuffStatValueHolder.class differ diff --git a/build/classes/client/MapleCharacter$MapleCoolDownValueHolder.class b/build/classes/client/MapleCharacter$MapleCoolDownValueHolder.class index 32e16f0b18..84d493934e 100644 Binary files a/build/classes/client/MapleCharacter$MapleCoolDownValueHolder.class and b/build/classes/client/MapleCharacter$MapleCoolDownValueHolder.class differ diff --git a/build/classes/client/MapleCharacter$SkillEntry.class b/build/classes/client/MapleCharacter$SkillEntry.class index f29567dca5..bc54efe368 100644 Binary files a/build/classes/client/MapleCharacter$SkillEntry.class and b/build/classes/client/MapleCharacter$SkillEntry.class differ diff --git a/build/classes/client/MapleCharacter.class b/build/classes/client/MapleCharacter.class index 1e6e32cb05..2f156e061e 100644 Binary files a/build/classes/client/MapleCharacter.class and b/build/classes/client/MapleCharacter.class differ diff --git a/build/classes/client/MapleClient$1.class b/build/classes/client/MapleClient$1.class index 03d0bf1476..fac348602c 100644 Binary files a/build/classes/client/MapleClient$1.class and b/build/classes/client/MapleClient$1.class differ diff --git a/build/classes/client/MapleClient$CharNameAndId.class b/build/classes/client/MapleClient$CharNameAndId.class index 32e714b0e5..870feccf36 100644 Binary files a/build/classes/client/MapleClient$CharNameAndId.class and b/build/classes/client/MapleClient$CharNameAndId.class differ diff --git a/build/classes/client/MapleClient.class b/build/classes/client/MapleClient.class index f840cd254f..10c630b0b3 100644 Binary files a/build/classes/client/MapleClient.class and b/build/classes/client/MapleClient.class differ diff --git a/build/classes/client/command/Commands$1.class b/build/classes/client/command/Commands$1.class index 136a5f5c02..46f609a1d2 100644 Binary files a/build/classes/client/command/Commands$1.class and b/build/classes/client/command/Commands$1.class differ diff --git a/build/classes/client/command/Commands.class b/build/classes/client/command/Commands.class index 8052c50f91..8645f9e894 100644 Binary files a/build/classes/client/command/Commands.class and b/build/classes/client/command/Commands.class differ diff --git a/build/classes/client/inventory/Equip.class b/build/classes/client/inventory/Equip.class index 605095da37..3ae9caefc8 100644 Binary files a/build/classes/client/inventory/Equip.class and b/build/classes/client/inventory/Equip.class differ diff --git a/build/classes/client/inventory/ItemFactory.class b/build/classes/client/inventory/ItemFactory.class index c94d34c576..cefff5b7c7 100644 Binary files a/build/classes/client/inventory/ItemFactory.class and b/build/classes/client/inventory/ItemFactory.class differ diff --git a/build/classes/client/inventory/MapleInventory.class b/build/classes/client/inventory/MapleInventory.class index 066db5de3d..391b267557 100644 Binary files a/build/classes/client/inventory/MapleInventory.class and b/build/classes/client/inventory/MapleInventory.class differ diff --git a/build/classes/client/inventory/MaplePet.class b/build/classes/client/inventory/MaplePet.class index f12ed9aaf2..f6baec8743 100644 Binary files a/build/classes/client/inventory/MaplePet.class and b/build/classes/client/inventory/MaplePet.class differ diff --git a/build/classes/constants/ServerConstants.class b/build/classes/constants/ServerConstants.class index 0c66bb6638..36592436d6 100644 Binary files a/build/classes/constants/ServerConstants.class and b/build/classes/constants/ServerConstants.class differ diff --git a/build/classes/net/MapleServerHandler.class b/build/classes/net/MapleServerHandler.class index 071e4b98f9..930d7fcb63 100644 Binary files a/build/classes/net/MapleServerHandler.class and b/build/classes/net/MapleServerHandler.class differ diff --git a/build/classes/net/server/Server.class b/build/classes/net/server/Server.class index 9616deba4e..0491b05c71 100644 Binary files a/build/classes/net/server/Server.class and b/build/classes/net/server/Server.class differ diff --git a/build/classes/net/server/channel/Channel$1.class b/build/classes/net/server/channel/Channel$1.class index d43b1c3626..03fdf711b1 100644 Binary files a/build/classes/net/server/channel/Channel$1.class and b/build/classes/net/server/channel/Channel$1.class differ diff --git a/build/classes/net/server/channel/Channel.class b/build/classes/net/server/channel/Channel.class index 9fa72803f6..73cb2c2c83 100644 Binary files a/build/classes/net/server/channel/Channel.class and b/build/classes/net/server/channel/Channel.class differ diff --git a/build/classes/net/server/channel/handlers/AbstractDealDamageHandler.class b/build/classes/net/server/channel/handlers/AbstractDealDamageHandler.class index 03b6d98814..07ffae0055 100644 Binary files a/build/classes/net/server/channel/handlers/AbstractDealDamageHandler.class and b/build/classes/net/server/channel/handlers/AbstractDealDamageHandler.class differ diff --git a/build/classes/net/server/channel/handlers/AutoAssignHandler$1.class b/build/classes/net/server/channel/handlers/AutoAssignHandler$1.class index b153eae337..bbfc3e7a76 100644 Binary files a/build/classes/net/server/channel/handlers/AutoAssignHandler$1.class and b/build/classes/net/server/channel/handlers/AutoAssignHandler$1.class differ diff --git a/build/classes/net/server/channel/handlers/AutoAssignHandler.class b/build/classes/net/server/channel/handlers/AutoAssignHandler.class index a59a194050..817b6673c6 100644 Binary files a/build/classes/net/server/channel/handlers/AutoAssignHandler.class and b/build/classes/net/server/channel/handlers/AutoAssignHandler.class differ diff --git a/build/classes/net/server/channel/handlers/ChangeMapHandler.class b/build/classes/net/server/channel/handlers/ChangeMapHandler.class index db7df0b6a9..eca25ae2b8 100644 Binary files a/build/classes/net/server/channel/handlers/ChangeMapHandler.class and b/build/classes/net/server/channel/handlers/ChangeMapHandler.class differ diff --git a/build/classes/net/server/channel/handlers/CloseRangeDamageHandler.class b/build/classes/net/server/channel/handlers/CloseRangeDamageHandler.class index c0da010cbb..194eb2c5a6 100644 Binary files a/build/classes/net/server/channel/handlers/CloseRangeDamageHandler.class and b/build/classes/net/server/channel/handlers/CloseRangeDamageHandler.class differ diff --git a/build/classes/net/server/channel/handlers/EnterCashShopHandler.class b/build/classes/net/server/channel/handlers/EnterCashShopHandler.class index 70c7566155..c096c4905e 100644 Binary files a/build/classes/net/server/channel/handlers/EnterCashShopHandler.class and b/build/classes/net/server/channel/handlers/EnterCashShopHandler.class differ diff --git a/build/classes/net/server/channel/handlers/GeneralChatHandler.class b/build/classes/net/server/channel/handlers/GeneralChatHandler.class index 74486d2eea..cb29dcdd83 100644 Binary files a/build/classes/net/server/channel/handlers/GeneralChatHandler.class and b/build/classes/net/server/channel/handlers/GeneralChatHandler.class differ diff --git a/build/classes/net/server/channel/handlers/ItemMoveHandler.class b/build/classes/net/server/channel/handlers/ItemMoveHandler.class index f9972a7cd4..29199b745e 100644 Binary files a/build/classes/net/server/channel/handlers/ItemMoveHandler.class and b/build/classes/net/server/channel/handlers/ItemMoveHandler.class differ diff --git a/build/classes/net/server/channel/handlers/MagicDamageHandler.class b/build/classes/net/server/channel/handlers/MagicDamageHandler.class index 3877e97ac3..d0e9eff264 100644 Binary files a/build/classes/net/server/channel/handlers/MagicDamageHandler.class and b/build/classes/net/server/channel/handlers/MagicDamageHandler.class differ diff --git a/build/classes/net/server/channel/handlers/PetCommandHandler.class b/build/classes/net/server/channel/handlers/PetCommandHandler.class index 808392b7fd..af5bb179fa 100644 Binary files a/build/classes/net/server/channel/handlers/PetCommandHandler.class and b/build/classes/net/server/channel/handlers/PetCommandHandler.class differ diff --git a/build/classes/net/server/channel/handlers/PlayerLoggedinHandler.class b/build/classes/net/server/channel/handlers/PlayerLoggedinHandler.class index a2dda463c3..f4e25d5593 100644 Binary files a/build/classes/net/server/channel/handlers/PlayerLoggedinHandler.class and b/build/classes/net/server/channel/handlers/PlayerLoggedinHandler.class differ diff --git a/build/classes/net/server/channel/handlers/RangedAttackHandler.class b/build/classes/net/server/channel/handlers/RangedAttackHandler.class index d7ab7779c0..cfbf816f4f 100644 Binary files a/build/classes/net/server/channel/handlers/RangedAttackHandler.class and b/build/classes/net/server/channel/handlers/RangedAttackHandler.class differ diff --git a/build/classes/net/server/channel/handlers/TakeDamageHandler.class b/build/classes/net/server/channel/handlers/TakeDamageHandler.class index 075d9bae59..fd41b4180f 100644 Binary files a/build/classes/net/server/channel/handlers/TakeDamageHandler.class and b/build/classes/net/server/channel/handlers/TakeDamageHandler.class differ diff --git a/build/classes/net/server/channel/handlers/UseItemHandler.class b/build/classes/net/server/channel/handlers/UseItemHandler.class index ce4121609c..89dd3b48d3 100644 Binary files a/build/classes/net/server/channel/handlers/UseItemHandler.class and b/build/classes/net/server/channel/handlers/UseItemHandler.class differ diff --git a/build/classes/scripting/AbstractPlayerInteraction.class b/build/classes/scripting/AbstractPlayerInteraction.class index ed758b4655..4d8d8d1ff9 100644 Binary files a/build/classes/scripting/AbstractPlayerInteraction.class and b/build/classes/scripting/AbstractPlayerInteraction.class differ diff --git a/build/classes/server/MapleStatEffect$CancelEffectAction.class b/build/classes/server/MapleStatEffect$CancelEffectAction.class index 0218f09b8b..88f23b4acb 100644 Binary files a/build/classes/server/MapleStatEffect$CancelEffectAction.class and b/build/classes/server/MapleStatEffect$CancelEffectAction.class differ diff --git a/build/classes/server/MapleStatEffect.class b/build/classes/server/MapleStatEffect.class index 91f7e090ff..34f6ab4552 100644 Binary files a/build/classes/server/MapleStatEffect.class and b/build/classes/server/MapleStatEffect.class differ diff --git a/build/classes/server/MapleTrade.class b/build/classes/server/MapleTrade.class index 87c6ef45f8..0320b3d30b 100644 Binary files a/build/classes/server/MapleTrade.class and b/build/classes/server/MapleTrade.class differ diff --git a/build/classes/server/maps/MapleMap$1.class b/build/classes/server/maps/MapleMap$1.class index 99fbbef1fe..f744ca4848 100644 Binary files a/build/classes/server/maps/MapleMap$1.class and b/build/classes/server/maps/MapleMap$1.class differ diff --git a/build/classes/server/maps/MapleMap$10.class b/build/classes/server/maps/MapleMap$10.class index f64ae9e97f..fa0dc0b39b 100644 Binary files a/build/classes/server/maps/MapleMap$10.class and b/build/classes/server/maps/MapleMap$10.class differ diff --git a/build/classes/server/maps/MapleMap$11.class b/build/classes/server/maps/MapleMap$11.class index 40be89cfd8..52f3cc4d87 100644 Binary files a/build/classes/server/maps/MapleMap$11.class and b/build/classes/server/maps/MapleMap$11.class differ diff --git a/build/classes/server/maps/MapleMap$12.class b/build/classes/server/maps/MapleMap$12.class index d50ae39779..34c84139a7 100644 Binary files a/build/classes/server/maps/MapleMap$12.class and b/build/classes/server/maps/MapleMap$12.class differ diff --git a/build/classes/server/maps/MapleMap$13.class b/build/classes/server/maps/MapleMap$13.class index 6d16aa16ad..31a626b3a1 100644 Binary files a/build/classes/server/maps/MapleMap$13.class and b/build/classes/server/maps/MapleMap$13.class differ diff --git a/build/classes/server/maps/MapleMap$14.class b/build/classes/server/maps/MapleMap$14.class index c83b5ec594..2a4e93ce66 100644 Binary files a/build/classes/server/maps/MapleMap$14.class and b/build/classes/server/maps/MapleMap$14.class differ diff --git a/build/classes/server/maps/MapleMap$15.class b/build/classes/server/maps/MapleMap$15.class index a8c5da30ea..c0b42b4513 100644 Binary files a/build/classes/server/maps/MapleMap$15.class and b/build/classes/server/maps/MapleMap$15.class differ diff --git a/build/classes/server/maps/MapleMap$16.class b/build/classes/server/maps/MapleMap$16.class index b1c7556c67..95ffa66d21 100644 Binary files a/build/classes/server/maps/MapleMap$16.class and b/build/classes/server/maps/MapleMap$16.class differ diff --git a/build/classes/server/maps/MapleMap$17.class b/build/classes/server/maps/MapleMap$17.class index a1ec45f6db..89303edbef 100644 Binary files a/build/classes/server/maps/MapleMap$17.class and b/build/classes/server/maps/MapleMap$17.class differ diff --git a/build/classes/server/maps/MapleMap$18.class b/build/classes/server/maps/MapleMap$18.class index 3f7f3d8977..24e7f16bdf 100644 Binary files a/build/classes/server/maps/MapleMap$18.class and b/build/classes/server/maps/MapleMap$18.class differ diff --git a/build/classes/server/maps/MapleMap$19.class b/build/classes/server/maps/MapleMap$19.class index 5cdb09a35d..f9087b066d 100644 Binary files a/build/classes/server/maps/MapleMap$19.class and b/build/classes/server/maps/MapleMap$19.class differ diff --git a/build/classes/server/maps/MapleMap$2.class b/build/classes/server/maps/MapleMap$2.class index 02bff450c5..8b6cb5c237 100644 Binary files a/build/classes/server/maps/MapleMap$2.class and b/build/classes/server/maps/MapleMap$2.class differ diff --git a/build/classes/server/maps/MapleMap$20.class b/build/classes/server/maps/MapleMap$20.class index ec3e1aa759..399551d681 100644 Binary files a/build/classes/server/maps/MapleMap$20.class and b/build/classes/server/maps/MapleMap$20.class differ diff --git a/build/classes/server/maps/MapleMap$21.class b/build/classes/server/maps/MapleMap$21.class index 12e0dbcfb1..f686530a0e 100644 Binary files a/build/classes/server/maps/MapleMap$21.class and b/build/classes/server/maps/MapleMap$21.class differ diff --git a/build/classes/server/maps/MapleMap$22.class b/build/classes/server/maps/MapleMap$22.class index 944856d5e5..8b57ee06eb 100644 Binary files a/build/classes/server/maps/MapleMap$22.class and b/build/classes/server/maps/MapleMap$22.class differ diff --git a/build/classes/server/maps/MapleMap$23.class b/build/classes/server/maps/MapleMap$23.class index d7c623e376..7581f2cb27 100644 Binary files a/build/classes/server/maps/MapleMap$23.class and b/build/classes/server/maps/MapleMap$23.class differ diff --git a/build/classes/server/maps/MapleMap$24.class b/build/classes/server/maps/MapleMap$24.class index c6e7cf5114..990ee14b71 100644 Binary files a/build/classes/server/maps/MapleMap$24.class and b/build/classes/server/maps/MapleMap$24.class differ diff --git a/build/classes/server/maps/MapleMap$25.class b/build/classes/server/maps/MapleMap$25.class index bc85539ba5..2a7e051ea2 100644 Binary files a/build/classes/server/maps/MapleMap$25.class and b/build/classes/server/maps/MapleMap$25.class differ diff --git a/build/classes/server/maps/MapleMap$26.class b/build/classes/server/maps/MapleMap$26.class index 241c16a95e..e10462b544 100644 Binary files a/build/classes/server/maps/MapleMap$26.class and b/build/classes/server/maps/MapleMap$26.class differ diff --git a/build/classes/server/maps/MapleMap$27.class b/build/classes/server/maps/MapleMap$27.class index c821ff4e41..7b4f02a22e 100644 Binary files a/build/classes/server/maps/MapleMap$27.class and b/build/classes/server/maps/MapleMap$27.class differ diff --git a/build/classes/server/maps/MapleMap$28.class b/build/classes/server/maps/MapleMap$28.class index 5c5366f058..cfc9174bb9 100644 Binary files a/build/classes/server/maps/MapleMap$28.class and b/build/classes/server/maps/MapleMap$28.class differ diff --git a/build/classes/server/maps/MapleMap$29$1.class b/build/classes/server/maps/MapleMap$29$1.class index e766e2cbb3..edb56f40c9 100644 Binary files a/build/classes/server/maps/MapleMap$29$1.class and b/build/classes/server/maps/MapleMap$29$1.class differ diff --git a/build/classes/server/maps/MapleMap$29.class b/build/classes/server/maps/MapleMap$29.class index dbdf8425c7..44aece4c53 100644 Binary files a/build/classes/server/maps/MapleMap$29.class and b/build/classes/server/maps/MapleMap$29.class differ diff --git a/build/classes/server/maps/MapleMap$3.class b/build/classes/server/maps/MapleMap$3.class index b75af0bd03..ea2e01dab3 100644 Binary files a/build/classes/server/maps/MapleMap$3.class and b/build/classes/server/maps/MapleMap$3.class differ diff --git a/build/classes/server/maps/MapleMap$30.class b/build/classes/server/maps/MapleMap$30.class index 15fc3ba638..031346f6ad 100644 Binary files a/build/classes/server/maps/MapleMap$30.class and b/build/classes/server/maps/MapleMap$30.class differ diff --git a/build/classes/server/maps/MapleMap$4.class b/build/classes/server/maps/MapleMap$4.class index 79e7c02890..506e2d5dc3 100644 Binary files a/build/classes/server/maps/MapleMap$4.class and b/build/classes/server/maps/MapleMap$4.class differ diff --git a/build/classes/server/maps/MapleMap$5.class b/build/classes/server/maps/MapleMap$5.class index 0422437ebc..54d63c2453 100644 Binary files a/build/classes/server/maps/MapleMap$5.class and b/build/classes/server/maps/MapleMap$5.class differ diff --git a/build/classes/server/maps/MapleMap$6.class b/build/classes/server/maps/MapleMap$6.class index 084b4527bf..ce8de6daab 100644 Binary files a/build/classes/server/maps/MapleMap$6.class and b/build/classes/server/maps/MapleMap$6.class differ diff --git a/build/classes/server/maps/MapleMap$7.class b/build/classes/server/maps/MapleMap$7.class index 7eaeecc36b..4d01d4f772 100644 Binary files a/build/classes/server/maps/MapleMap$7.class and b/build/classes/server/maps/MapleMap$7.class differ diff --git a/build/classes/server/maps/MapleMap$8.class b/build/classes/server/maps/MapleMap$8.class index 049106adb9..2db7bbba6a 100644 Binary files a/build/classes/server/maps/MapleMap$8.class and b/build/classes/server/maps/MapleMap$8.class differ diff --git a/build/classes/server/maps/MapleMap$9.class b/build/classes/server/maps/MapleMap$9.class index 8104d0dc07..a94955b547 100644 Binary files a/build/classes/server/maps/MapleMap$9.class and b/build/classes/server/maps/MapleMap$9.class differ diff --git a/build/classes/server/maps/MapleMap$ActivateItemReactor$1.class b/build/classes/server/maps/MapleMap$ActivateItemReactor$1.class index ccba4e8fd6..c2b4f5b053 100644 Binary files a/build/classes/server/maps/MapleMap$ActivateItemReactor$1.class and b/build/classes/server/maps/MapleMap$ActivateItemReactor$1.class differ diff --git a/build/classes/server/maps/MapleMap$ActivateItemReactor.class b/build/classes/server/maps/MapleMap$ActivateItemReactor.class index 3d42c445a6..18bb7c5ed0 100644 Binary files a/build/classes/server/maps/MapleMap$ActivateItemReactor.class and b/build/classes/server/maps/MapleMap$ActivateItemReactor.class differ diff --git a/build/classes/server/maps/MapleMap$ExpireMapItemJob.class b/build/classes/server/maps/MapleMap$ExpireMapItemJob.class index 82ea60a696..3e9a9b8c8e 100644 Binary files a/build/classes/server/maps/MapleMap$ExpireMapItemJob.class and b/build/classes/server/maps/MapleMap$ExpireMapItemJob.class differ diff --git a/build/classes/server/maps/MapleMap.class b/build/classes/server/maps/MapleMap.class index cad0c6c51e..0cc25f24d6 100644 Binary files a/build/classes/server/maps/MapleMap.class and b/build/classes/server/maps/MapleMap.class differ diff --git a/build/classes/server/maps/MapleMapItem.class b/build/classes/server/maps/MapleMapItem.class index e427e6ccc2..1ecec59840 100644 Binary files a/build/classes/server/maps/MapleMapItem.class and b/build/classes/server/maps/MapleMapItem.class differ diff --git a/build/classes/tools/MaplePacketCreator.class b/build/classes/tools/MaplePacketCreator.class index 86bcbb35c2..dece253035 100644 Binary files a/build/classes/tools/MaplePacketCreator.class and b/build/classes/tools/MaplePacketCreator.class differ diff --git a/dist/MapleSolaxia.jar b/dist/MapleSolaxia.jar index bfdf48261b..d4a0fed51c 100644 Binary files a/dist/MapleSolaxia.jar and b/dist/MapleSolaxia.jar differ diff --git a/docs/feature_list.txt b/docs/feature_list.txt index 9ca9083159..754e553488 100644 --- a/docs/feature_list.txt +++ b/docs/feature_list.txt @@ -55,12 +55,12 @@ Server potentials: * Gain fame by quests. * Every monsterbook card is now droppable by overworld mobs. * Monsterbook displays drop data info conformant with the underlying DB (needs custom wz). See more on the MobBookUpdate feature. -* Mastery book announcer displaying droppers of needed books of a player, read underlying DB. +* Mastery book announcer displays droppers of needed books of a player, by reading underlying DB. * Every skill/mastery book is now droppable by mobs. * Inventory auto-gather and auto-sorting feature. * Enhanced AP auto-assigner: exactly matches AP with the needed for the player's current level, surplus assigned to the primary attribute. * Added Boss HP Bar for dozens of bosses (needs provided custom wz). -* If multiple bosses on the same area, client will prioritize Boss HP bar of the target of the player. +* If multiple bosses are on the same area, client will prioritize Boss HP bar of the target of the player. * Custom jail system (needs provided custom wz). * Delete Character 100% (requires ENABLE_PIC activated). * Boats, elevator and other travelling mechanics fully working. diff --git a/docs/mcpq/2042002.js b/docs/mcpq/2042002.js new file mode 100644 index 0000000000..d83cdad8fc --- /dev/null +++ b/docs/mcpq/2042002.js @@ -0,0 +1,315 @@ +var DISABLED = false; + +var SavedLocationType = Packages.server.maps.SavedLocationType; + +var MonsterCarnival = Packages.server.partyquest.mcpq.MonsterCarnival; +var MCTracker = Packages.server.partyquest.mcpq.MCTracker; +var MCParty = Packages.server.partyquest.mcpq.MCParty; +var MCField = Packages.server.partyquest.mcpq.MCField; + +var status = -1; +var store = false; +var ctx = -1; +var storeInfo; +var purchaseId; +var purchaseCost; + +var coinId = 4001129; +var coinIcon = "#i" + coinId + "#"; +var infoMaps = [220000000, 200000000, 103000000, 540000000]; // ludi, orbis, kerning, singapore +var gradeS = 600 +var gradeA = 500 +var gradeB = 400 +var gradeC = 300 +var gradeD = 200 +var gradeE = 100 + +var expRewards = [[150000, 100000], // S Winner/Loser + [100000, 70000], // A Winner/Loser + [75000, 43250], // B Winner/Loser + [50000, 25000], // C Winner/Loser + [25000, 12500], // D Winner/Loser + [12500, 6250], // E Winner/Loser + [5000, 2500] // F Winner/Loser + ]; + +// Exchange stores +var warrior = [[1302004, 7], [1402006, 7], [1302009, 10], [1402007, 10], + [1302010, 20], [1402003, 20], [1312006, 7], [1412004, 7], + [1312007, 10], [1412005, 10], [1312018, 20], [1412003, 20], + [1322015, 7], [1422008, 7], [1322016, 10], [1422007, 10], + [1322017, 20], [1422005, 20], [1432003, 7], [1442003, 7], + [1432005, 10], [1442009, 10], [1442005, 20], [1432004, 20]]; + +var magician = [[1372001, 7], [1382018, 7], [1372012, 10], [1382019, 10], + [1382001, 20], [1372007, 20]]; + +var archer = [[1452006, 7], [1452007, 10], [1452008, 20], [1462005, 7], + [1462006, 10], [1462007, 20]]; + +var thief = [[1472013, 7], [1472017, 10], [1472021, 20], [1332014, 7], + [1332011, 10], [1332031, 10], [1332016, 20], [1332034, 20]]; + +var pirate = [[1482005, 7], [1482006, 10], [1482007, 20], [1492005, 7], + [1492006, 10], [1492007, 20]]; + +var necklace = [[1122007, 50], [2041211, 40]]; + +var infoText = "You wish to know about the Monster Carnival? Very well. The Monster Carnival is a place of trilling battles and exciting competiton against people just as strong and motivated as yourself. You must summon monsters and defeat the monsters summoned by the opposing party. That's the essence of the Monster Carnival. Once you enter the Carnival Field, the task is to earn CP by hunter monsters from the opposing party and use those CP's to distract the opposing party from hunting monsters. There are three ways to distract the other party; Summon a Monster, Skill or Protector. Please remember this though, it's never a good idea to save up CP just for the sake of it. The CP's you've used will also help determine the winner and the loser of the carnival."; +var no = "You do not have enough Maple Coins for this item. Come back to me when you acquire more!"; + +function getGrade(cp) { + if (cp >= gradeS) { + return 0; + } else if (cp >= gradeA) { + return 1; + } else if (cp >= gradeB) { + return 2; + } else if (cp >= gradeC) { + return 3; + } else if (cp >= gradeD) { + return 4; + } else if (cp >= gradeE) { + return 5; + } else { + return 6; + } +} + +function isTownMap(map) { + for (var i = 0; i < infoMaps.length; i++) { + if (infoMaps[i] == map) { + return true; + } + } + return false; +} + +function isExitMap(map) { + return map == 980000010; +} + +function isWinnerMap(map) { + return (map >= 980000000 && map <= 980000700 && map % 10 == 3); +} + +function isLoserMap(map) { + return (map >= 980000000 && map <= 980000700 && map % 10 == 4); +} + +var CONTEXT_NONE = -1; +var CONTEXT_TOWN = 0; +var CONTEXT_EXIT = 1; +var CONTEXT_WIN = 2; +var CONTEXT_LOSE = 3; + +function start() { + if (DISABLED) { + cm.sendOk("CPQ is temporarily unavailable."); + cm.dispose(); + return; + } + m = cm.getMapId(); + if (isTownMap(m)) { + ctx = CONTEXT_TOWN; + } else if (isExitMap(m)) { + ctx = CONTEXT_EXIT; + } else if (isWinnerMap(m)) { + ctx = CONTEXT_WIN; + } else if (isLoserMap(m)) { + ctx = CONTEXT_LOSE; + } else { + ctx = CONTEXT_NONE; + } + + action(1, 0, 0); +} + +function doLoserMap(mode, type, selection) { + if (cm.getPlayer().getMCPQParty() == null) { + cm.warp(MonsterCarnival.MAP_LOBBY); + cm.dispose(); + return; + } + + if (mode == -1) { + cm.dispose(); + } else { + if (mode == 1) status++; + else status--; + + if (status == 0) { + cm.sendNext("Unfortunately, you did not manage to win this round. Better luck next time!"); + } else if (status == 1) { + var points = cm.getPlayer().getMCPQParty().getTotalCP(); + var grade = getGrade(points); + var letterGrade = "ABCDF"[grade]; + var expReward = expRewards[grade][1]; + + cm.sendNext("Your grade is: #b" + letterGrade + "\r\n\r\n#kEXP Reward: " + expReward); + cm.gainExp(expReward); + } else if (status == 2) { + cm.warp(MonsterCarnival.MAP_LOBBY); + cm.dispose(); + } + } +} + +function doWinnerMap(mode, type, selection) { + if (cm.getPlayer().getMCPQParty() == null) { + cm.warp(MonsterCarnival.MAP_LOBBY); + cm.dispose(); + return; + } + + if (mode == -1) { + cm.dispose(); + } else { + if (mode == 1) status++; + else status--; + + if (status == 0) { + cm.sendNext("Congratulations! You managed to defeat the enemy team!"); + } else if (status == 1) { + var points = cm.getPlayer().getMCPQParty().getTotalCP(); + var grade = getGrade(points); + var letterGrade = "ABCDF"[grade]; + var expReward = expRewards[grade][0]; + + cm.sendNext("Your grade is: #b" + letterGrade + "\r\n\r\n#kEXP Reward: " + expReward); + cm.gainExp(expReward); + } else if (status == 2) { + cm.warp(MonsterCarnival.MAP_LOBBY); + cm.dispose(); + } + } +} + +function doTown(mode, type, selection) { + if (mode == -1) { + cm.sendOk("Be sure to vote for the server every 24 hours!"); + cm.dispose(); + } else { + if (mode == 1) status++; + else status--; + + if (status == 0) { + cm.sendSimple("What would you like to do? If you have never participated in the Monster Carnival, you'll need to know a thing or two about it before joining.\r\n\r\n#b#L0#Go to the Monster Carnival Field#l\r\n#L1#Learn about the Monster Carnival#l\r\n#L2#Trade Maple Coin#l"); + } else if (status == 1) { + if (selection == 0) { + if (cm.getChar().getLevel() < MonsterCarnival.MIN_LEVEL || cm.getChar().getLevel() > MonsterCarnival.MAX_LEVEL) { + cm.sendOk("You must be between level " + MonsterCarnival.MIN_LEVEL + " and level " + MonsterCarnival.MAX_LEVEL + " to enter."); + cm.dispose(); + return; + } + cm.getChar().saveLocation(SavedLocationType.MONSTER_CARNIVAL); + cm.warp(MonsterCarnival.MAP_LOBBY, 4); + cm.dispose(); + return; + } else if (selection == 1) { + cm.sendPrev(infoText); + cm.dispose(); + return; + } else if (selection == 2) { + store = true; + cm.sendSimple("Select a category:\r\n" + + "#L101##bTrade Maple Coins for Warrior Weapons\r\n" + + "#L102#Trade Maple Coins for Magician Weapons\r\n" + + "#L103#Trade Maple Coins for Bowman Weapons\r\n" + + "#L104#Trade Maple Coins for Thief Weapons\r\n" + + "#L105#Trade Maple Coins for Pirate Weapons\r\n" + + "#L106#Trade Maple Coins for a Necklace"); + } + } else if (status == 2) { + if (store) { + switch (selection) { + case 101: + storeInfo = warrior; + break; + case 102: + storeInfo = magician; + break; + case 103: + storeInfo = archer; + break; + case 104: + storeInfo = thief; + break; + case 105: + storeInfo = pirate; + break; + case 106: + storeInfo = necklace; + break; + default: + storeInfo = []; + } + if (storeInfo.length == 0) { + cm.sendOk("That store doesn't exist."); + cm.dispose(); + return; + } + var storeText = ""; + for (var i = 0; i < storeInfo.length; ++i) { + var wepId = storeInfo[i][0]; + var cost = storeInfo[i][1]; + storeText += "#L" + i + "##v" + wepId + "# - #z" + wepId + "# - " + cost + " " + coinIcon + "#l\r\n"; + } + cm.sendSimple(storeText); + } else { + MCTracker.log("[MCPQ_Info] CONTEXT_TOWN: Invalid status 2"); + } + } else if (status == 3) { + if (store) { + purchaseId = storeInfo[selection][0]; + purchaseCost = storeInfo[selection][1]; + + if (cm.haveItem(coinId, purchaseCost)) { + cm.sendYesNo("Are you sure you want to purchase #i" + purchaseId + "#? You will have #r#e" + (cm.itemQuantity(coinId) - purchaseCost) + " " + coinIcon + "##k#n remaining."); + } else { + cm.sendOk("You don't have enough " + coinIcon + "."); + cm.dispose(); + } + } else { + MCTracker.log("[MCPQ_Info] CONTEXT_TOWN: Invalid status 3"); + } + } else if (status == 4) { + if (store) { + if (cm.haveItem(coinId, purchaseCost)) { + cm.gainItem(coinId, -purchaseCost); + cm.gainItem(purchaseId); + cm.sendOk("Congratulations! Enjoy your new item."); + cm.dispose(); + } + } else { + MCTracker.log("[MCPQ_Info] CONTEXT_TOWN: Invalid status 4"); + } + } + } +} + +function doExit() { + cm.warp(MonsterCarnival.MAP_LOBBY); + cm.sendOk("Hope you had fun in the Carnival PQ!"); + cm.dispose(); +} + +function action(mode, type, selection) { + switch (ctx) { + case CONTEXT_TOWN: + doTown(mode, type, selection); + break; + case CONTEXT_EXIT: + doExit(); + break; + case CONTEXT_LOSE: + doLoserMap(mode, type, selection); + break; + case CONTEXT_WIN: + doWinnerMap(mode, type, selection); + break; + default: + MCTracker.log("[MCPQ_INFO] Invalid context (value: " + ctx + ")"); + cm.dispose(); + } +} \ No newline at end of file diff --git a/docs/mychanges_ptbr.txt b/docs/mychanges_ptbr.txt index 854b90cc17..79df8aa1cd 100644 --- a/docs/mychanges_ptbr.txt +++ b/docs/mychanges_ptbr.txt @@ -481,4 +481,23 @@ Consertado pets n Acesso à DB usando HikariCP (melhor ganho em desempenho e código mais enxuto). Resolvido bugs com hatch egg e evolvePet. Adicionado energy bar e skills funcionais no Dojo. -Consertado cash pet food retirando stats de mount em Character Info. \ No newline at end of file +Consertado cash pet food retirando stats de mount em Character Info. + +26 Agosto 2017, +Consertado bug no sistema de exp de pets. +Refatorado sistema de trades, agora verificando por slots disponíveis similarmente ao sistema usado pelas rewards de quests. + +27 Agosto 2017, +Hero's Will retira a maioria dos diseases. Tonico retira slow além de weakness. +Consertado comando itemvac coletando quest itens e itens de outros jogadores. +Novo comando: cake. Chama cake boss com valor customizável de HP. + +28 Agosto 2017, +Parties agora podem sair do Dojo sem precisar esperar o timeout expirar. +Ao entrar no Dojo, jogadores tem energy points resetados pra zero. +Adicionado informação de NX ganho ao coletar cupons. +Pets em outros slots agora equipam devidamente. + +31 Agosto 2017, +Refatorado autoassigner para focar nos stats primários a partir da avaliação do valor base do stat secundário com o 1º e 2º equips mais forte, ao invés de somente o 1º. +Corrigido bug de acesso concorrente no sistema de rate cupons. \ No newline at end of file diff --git a/nbproject/private/private.xml b/nbproject/private/private.xml index efe765aa62..3b088cb429 100644 --- a/nbproject/private/private.xml +++ b/nbproject/private/private.xml @@ -3,9 +3,7 @@ - file:/C:/Nexon/MapleSolaxia/MapleSolaxiaV2/src/constants/GameConstants.java - file:/C:/Nexon/MapleSolaxia/MapleSolaxiaV2/src/constants/ServerConstants.java - file:/C:/Nexon/MapleSolaxia/MapleSolaxiaV2/src/client/MapleCharacter.java + file:/C:/Nexon/MapleSolaxia/MapleSolaxiaV2/wz/Etc.wz/Commodity.img.xml diff --git a/scripts/npc/1012105.js b/scripts/npc/1012105.js index 470478530e..c6e43d2c99 100644 --- a/scripts/npc/1012105.js +++ b/scripts/npc/1012105.js @@ -22,29 +22,47 @@ /* Ms. Tan Henesys Skin Change. */ -var status = 0; +var status; var skin = Array(0, 1, 2, 3, 4); var price = 1000000; function start() { - cm.sendSimple("Well, hello! Welcome to the Henesys Skin-Care! Would you like to have a firm, tight, healthy looking skin like mine? With a #b#t5153000##k, you can let us take care of the rest and have the kind of skin you've always wanted~!\r\n#L1#I would like to buy a #b#t5153000##k for " + price + " mesos, please!#l\r\n\#L2#I already have a Coupon!#l"); + status = -1; + action(1, 0, 0); } function action(mode, type, selection) { - if (mode < 1) - cm.dispose(); - else { - status++; - if (status == 1) - cm.sendStyle("With our specialized machine, you can see yourself after the treatment in advance. What kind of skin-treatment would you like to do? Choose the style of your liking.", skin); - else { - if (cm.haveItem(5153000)){ - cm.gainItem(5153000, -1); - cm.setSkin(selection); - cm.sendOk("Enjoy your new and improved skin!"); - } else - cm.sendOk("Um... you don't have the skin-care coupon you need to receive the treatment. Sorry, but I am afraid we can't do it for you..."); - cm.dispose(); + if (mode == -1) { + cm.dispose(); + } else { + if (mode == 0 && type > 0) { + cm.dispose(); + return; + } + + if (mode == 1) + status++; + else + status--; + + + if (status == 0) { + cm.sendSimple("Well, hello! Welcome to the Henesys Skin-Care! Would you like to have a firm, tight, healthy looking skin like mine? With a #b#t5153000##k, you can let us take care of the rest and have the kind of skin you've always wanted~!\r\n#L1#I already have a Coupon!#l"); + } + else if (status == 1) { + if (cm.haveItem(5153000)){ + cm.sendStyle("With our specialized machine, you can see yourself after the treatment in advance. What kind of skin-treatment would you like to do? Choose the style of your liking.", skin); + } else { + cm.sendOk("Um... you don't have the skin-care coupon you need to receive the treatment. Sorry, but I am afraid we can't do it for you..."); + cm.dispose(); + return; + } + } + else { + cm.gainItem(5153000, -1); + cm.setSkin(selection); + cm.sendOk("Enjoy your new and improved skin!"); + cm.dispose(); + } } - } } diff --git a/scripts/npc/1012115.js b/scripts/npc/1012115.js new file mode 100644 index 0000000000..820d711761 --- /dev/null +++ b/scripts/npc/1012115.js @@ -0,0 +1,13 @@ +function start() { + var status = cm.getQuestStatus(20706); + + if (status == 0) { + cm.sendNext("It looks like there's nothing suspicious in the area."); + } else if (status == 1) { + cm.forceCompleteQuest(20706); + cm.sendNext("You have spotted the shadow! Better report to #p1103001#."); + } else if (status == 2) { + cm.sendNext("The shadow has already been spotted. Better report to #p1103001#."); + } + cm.dispose(); +} \ No newline at end of file diff --git a/scripts/npc/1012116.js b/scripts/npc/1012116.js new file mode 100644 index 0000000000..7beb08a73f --- /dev/null +++ b/scripts/npc/1012116.js @@ -0,0 +1,4 @@ +function start() { + cm.sendNext("It looks like there's nothing suspecious in the area."); + cm.dispose(); +} \ No newline at end of file diff --git a/scripts/npc/1012117.js b/scripts/npc/1012117.js new file mode 100644 index 0000000000..0112b3eb55 --- /dev/null +++ b/scripts/npc/1012117.js @@ -0,0 +1,81 @@ +/* + This file is part of the OdinMS Maple Story Server + Copyright (C) 2008 Patrick Huy + Matthias Butz + Jan Christian Meyer + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as + published by the Free Software Foundation version 3 as published by + the Free Software Foundation. You may not use, modify or distribute + this program under any other version of the GNU Affero General Public + License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . +*/ +/* + NPC Name: Big Headward + Map(s): Victoria Road : Henesys Hair Salon (100000104) + Description: Random haircut +*/ + +var status = 0; +var mhair = Array(30040, 30050, 30100, 30130, 30180, 30220, 30260, 30330, 30350, 30580); +var fhair = Array(31020, 31160, 31180, 31220, 31290, 31330, 31420, 31440, 31480, 31590); +var hairnew = Array(); + +function start() { + status = -1; + action(1, 0, 0); +} + +function action(mode, type, selection) { + if (mode == -1) { + cm.dispose(); + } else { + if (mode == 0 && type > 0) { + cm.dispose(); + return; + } + + if (mode == 1) + status++; + else + status--; + + if (status == 0) { + cm.sendSimple("If you use this regular coupon, your hair may transform into a random new look...do you still want to do it using #b#t5150040##k, I will do it anyways for you. But don't forget, it will be random!\r\n\#L2#OK! (Uses #i5150040# #t5150040#)#l"); + } else if (status == 1) { + cm.sendYesNo("If you use the EXP coupon your hair will change RANDOMLY with a chance to obtain a new experimental style that even you didn't think was possible. Are you going to use #b#t5150040##k and really change your hairstyle?"); + } + else if (status == 2) { + if (cm.haveItem(5150040) == true){ + hairnew = Array(); + if (cm.getPlayer().getGender() == 0) { + for(var i = 0; i < mhair.length; i++) { + hairnew.push(mhair[i] + parseInt(cm.getPlayer().getHair() % 10)); + } + } + else { + for(var i = 0; i < fhair.length; i++) { + hairnew.push(fhair[i] + parseInt(cm.getPlayer().getHair() % 10)); + } + } + + cm.gainItem(5150040, -1); + cm.setHair(hairnew[Math.floor(Math.random() * hairnew.length)]); + cm.sendOk("Enjoy your new and improved hairstyle!"); + } else { + cm.sendOk("Hmmm...it looks like you don't have our designated coupon...I'm afraid I can't give you a haircut without it. I'm sorry..."); + } + + cm.dispose(); + } + } +} diff --git a/scripts/npc/1052012.js b/scripts/npc/1052012.js new file mode 100644 index 0000000000..42aea467bb --- /dev/null +++ b/scripts/npc/1052012.js @@ -0,0 +1,61 @@ +/* + This file is part of the OdinMS Maple Story Server + Copyright (C) 2008 Patrick Huy + Matthias Butz + Jan Christian Meyer + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as + published by the Free Software Foundation version 3 as published by + the Free Software Foundation. You may not use, modify or distribute + this program under any other version of the GNU Affero General Public + License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + See the GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . +*/ + +/* + NPC ID: 1052012 + NPC NAME: Mong from Kong + @author Ronan +*/ + +var status; + +function start() { + status = -1; + action(1, 0, 0); +} + +function action(mode, type, selection) { + if (mode == -1) { + cm.dispose(); + } else { + if (mode == 0 && type > 0) { + cm.dispose(); + return; + } + if (mode == 1) + status++; + else + status--; + + if(status == 0) { + cm.sendYesNo("So, are you going to use the Internet Cafe? There is a fee to use the spaces there, that is #b5,000 mesos#k. Are you going to enter the Cafe?"); + } else if(status == 1) { + if(cm.getMeso() < 5000) { + cm.sendOk("Oh, you don't have the money, right? Sorry, I can't let you in."); + } else { + cm.warp(193000000); + } + + cm.dispose(); + } + } +} \ No newline at end of file diff --git a/scripts/npc/1052013.js b/scripts/npc/1052013.js new file mode 100644 index 0000000000..a85cd12dc4 --- /dev/null +++ b/scripts/npc/1052013.js @@ -0,0 +1,32 @@ +/* + This file is part of the OdinMS Maple Story Server + Copyright (C) 2008 Patrick Huy + Matthias Butz + Jan Christian Meyer + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as + published by the Free Software Foundation version 3 as published by + the Free Software Foundation. You may not use, modify or distribute + this program under any other version of the GNU Affero General Public + License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + See the GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . +*/ + +/* + NPC ID: 1052013 + NPC NAME: Computer + @author Vcoc +*/ + +function start() { + cm.sendOk("MapleStory.exe stopped working... Please, restart the game."); + cm.dispose(); +} \ No newline at end of file diff --git a/scripts/npc/1052014.js b/scripts/npc/1052014.js new file mode 100644 index 0000000000..2477256bc6 --- /dev/null +++ b/scripts/npc/1052014.js @@ -0,0 +1,32 @@ +/* + This file is part of the OdinMS Maple Story Server + Copyright (C) 2008 Patrick Huy + Matthias Butz + Jan Christian Meyer + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as + published by the Free Software Foundation version 3 as published by + the Free Software Foundation. You may not use, modify or distribute + this program under any other version of the GNU Affero General Public + License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + See the GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . +*/ + +/* + NPC ID: 1052014 + NPC NAME: Vending Machine + @author Vcoc +*/ + +function start() { + cm.sendOk("At the moment, the machine is empty..."); + cm.dispose(); +} \ No newline at end of file diff --git a/scripts/npc/1052015.js b/scripts/npc/1052015.js new file mode 100644 index 0000000000..97c641b192 --- /dev/null +++ b/scripts/npc/1052015.js @@ -0,0 +1,32 @@ +/* + This file is part of the OdinMS Maple Story Server + Copyright (C) 2008 Patrick Huy + Matthias Butz + Jan Christian Meyer + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as + published by the Free Software Foundation version 3 as published by + the Free Software Foundation. You may not use, modify or distribute + this program under any other version of the GNU Affero General Public + License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + See the GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . +*/ + +/* + NPC ID: 1052015 + NPC NAME: Billy + @author Vcoc +*/ + +function start() { + cm.sendOk("Do you keep seeing blue screen? Ahhh... then restart the computer."); + cm.dispose(); +} \ No newline at end of file diff --git a/scripts/npc/2091005.js b/scripts/npc/2091005.js index 5cba2151d1..f9bc8f97eb 100644 --- a/scripts/npc/2091005.js +++ b/scripts/npc/2091005.js @@ -97,11 +97,13 @@ function action(mode, type, selection) { if(avDojo < 0) { if(avDojo == -1) cm.sendOk("All Dojo's are being used already. Wait for awhile before trying again."); - else cm.sendOk("Your party is already using the dojo. Wait for them to finish to enter."); + else cm.sendOk("Either your party is already using the Dojo or your party's allotted time on the Dojo has not expired yet. Wait for them to finish to enter."); } else { cm.getClient().getChannelServer().getMapFactory().getMap(925020010 + avDojo).resetMapObjects(); cm.getClient().getChannelServer().resetDojo(925020010 + avDojo); + + cm.resetDojoEnergy(); cm.warp(925020010 + avDojo, 0); } @@ -119,13 +121,15 @@ function action(mode, type, selection) { if(avDojo < 0) { if(avDojo == -1) cm.sendOk("All Dojo's are being used already. Wait for awhile before trying again."); - else cm.sendOk("Your party is already using the dojo. Wait for them to finish to enter."); + else cm.sendOk("Either your party is already using the Dojo or your party's allotted time on the Dojo has not expired yet. Wait for them to finish to enter."); cm.getPlayer().setDojoStage(dojoWarp); } else { var warpDojoMap = ((mode == 1) ? 925020000 + (dojoWarp + 1) * 100 + avDojo : 925020100 + avDojo); cm.getClient().getChannelServer().resetDojoMap(warpDojoMap); cm.getClient().getChannelServer().resetDojo(warpDojoMap); + + cm.resetDojoEnergy(); cm.warp(warpDojoMap, 0); } @@ -136,11 +140,13 @@ function action(mode, type, selection) { if(avDojo < 0) { if(avDojo == -1) cm.sendOk("All Dojo's are being used already. Wait for awhile before trying again."); - else cm.sendOk("Your party is already using the dojo. Wait for them to finish to enter."); + else cm.sendOk("Either your party is already using the Dojo or your party's allotted time on the Dojo has not expired yet. Wait for them to finish to enter."); } else { cm.getClient().getChannelServer().resetDojoMap(925020100 + avDojo); cm.getClient().getChannelServer().resetDojo(925020100 + avDojo); + + cm.resetDojoEnergy(); cm.warp(925020100 + avDojo, 0); } @@ -174,11 +180,13 @@ function action(mode, type, selection) { if(avDojo < 0) { if(avDojo == -1) cm.sendOk("All Dojo's are being used already. Wait for awhile before trying again."); - else cm.sendOk("Your party is already using the dojo. Wait for them to finish to enter."); + else cm.sendOk("Either your party is already using the Dojo or your party's allotted time on the Dojo has not expired yet. Wait for them to finish to enter."); } else { cm.getClient().getChannelServer().resetDojoMap(925030100 + avDojo); cm.getClient().getChannelServer().resetDojo(925030100 + avDojo); + + cm.resetPartyDojoEnergy(); cm.warpParty(925030100 + avDojo); } @@ -209,7 +217,7 @@ function action(mode, type, selection) { var belt = belts[selection]; var level = belt_level[selection]; var points = belt_points[selection]; - if (cm.getPlayer().getDojoPoints() > points) { + if (cm.getPlayer().getDojoPoints() >= points) { if (cm.getPlayer().getLevel() > level) { cm.gainItem(belt, 1); cm.sendNext("There is the #i" + belt + "# #b#t" + belt + "##k. You have proven your valor to ascend on the Dojo ranks. Well done!"); @@ -350,8 +358,12 @@ function action(mode, type, selection) { if (mode == 0) { cm.sendNext("Stop changing your mind! Soon, you'll be crying, begging me to go back."); } else if (mode == 1) { + var dojoMapId = cm.getPlayer().getMap().getId(); + cm.warp(925020002, 0); cm.getPlayer().message("Can you make up your mind please?"); + + cm.getClient().getChannelServer().freeDojoSectionIfEmpty(dojoMapId); } cm.dispose(); } diff --git a/scripts/npc/commands.js b/scripts/npc/commands.js index 62b088995f..94a2f8c437 100644 --- a/scripts/npc/commands.js +++ b/scripts/npc/commands.js @@ -42,6 +42,7 @@ function writeSolaxiaCommandsLv6() { //Admin comm_cursor = comm_lv6; desc_cursor = desc_lv6; + addCommand("setgmlevel", ""); addCommand("warpworld", ""); addCommand("saveall", ""); addCommand("dcall", ""); @@ -90,9 +91,8 @@ function writeSolaxiaCommandsLv4() { //SuperGM addCommand("pinkbean", ""); addCommand("pap", ""); addCommand("pianus", ""); + addCommand("cake", ""); addCommand("playernpc", ""); - addCommand("face", ""); - addCommand("hair", ""); } function writeSolaxiaCommandsLv3() { //GM @@ -143,6 +143,8 @@ function writeSolaxiaCommandsLv3() { //GM addCommand("killmap", ""); addCommand("night", ""); addCommand("npc", ""); + addCommand("face", ""); + addCommand("hair", ""); } function writeSolaxiaCommandsLv2() { //JrGM diff --git a/scripts/portal/dojang_next.js b/scripts/portal/dojang_next.js index 47ab1df13a..0d710235d9 100644 --- a/scripts/portal/dojang_next.js +++ b/scripts/portal/dojang_next.js @@ -23,28 +23,36 @@ * @Author Moogra, Ronan */ function enter(pi) { - var gate = pi.getPlayer().getMap().getReactorByName("door"); + var currwarp = Date.now(); - if ((gate != null && gate.getState() == 1) || pi.getMap().countMonsters() == 0) { - if (Math.floor(pi.getPlayer().getMapId() / 100) % 100 < 38) { - pi.getPlayer().message("You received " + pi.getPlayer().addDojoPointsByMap() + " training points. Your total training points score is now " + pi.getPlayer().getDojoPoints() + "."); - - if(((Math.floor((pi.getPlayer().getMap().getId() + 100) / 100)) % 100) % 6 == 0) { - if(Math.floor(pi.getPlayer().getMapId() / 10000) == 92503) { - pi.warpParty(pi.getPlayer().getMap().getId() + 100, 925030100, 925033804); + if(currwarp - pi.getPlayer().getNpcCooldown() < 3000) return false; // this script can be ran twice when passing the dojo portal... strange. + pi.getPlayer().setNpcCooldown(currwarp); + + var gate = pi.getPlayer().getMap().getReactorByName("door"); + if(gate != null) { + if (gate.getState() == 1 || pi.getMap().countMonsters() == 0) { + if (Math.floor(pi.getPlayer().getMapId() / 100) % 100 < 38) { + pi.getPlayer().message("You received " + pi.getPlayer().addDojoPointsByMap() + " training points. Your total training points score is now " + pi.getPlayer().getDojoPoints() + "."); + + if(((Math.floor((pi.getPlayer().getMap().getId() + 100) / 100)) % 100) % 6 == 0) { + if(Math.floor(pi.getPlayer().getMapId() / 10000) == 92503) { + pi.warpParty(pi.getPlayer().getMap().getId() + 100, 925030100, 925033804); + } else { + pi.warp(pi.getPlayer().getMap().getId() + 100, 0); + } } else { pi.warp(pi.getPlayer().getMap().getId() + 100, 0); } } else { - pi.warp(pi.getPlayer().getMap().getId() + 100, 0); + pi.warp(925020003, 0); + pi.getPlayer().gainExp(2000 * pi.getPlayer().getDojoPoints(), true, true, true); } + return true; } else { - pi.warp(925020003, 0); - pi.getPlayer().gainExp(2000 * pi.getPlayer().getDojoPoints(), true, true, true); + pi.getPlayer().message("The door is not open yet."); + return false; } - return true; } else { - pi.getPlayer().message("The door is not open yet."); return false; } } diff --git a/sql/db_database.sql b/sql/db_database.sql index 736d9fbc3b..ac40336741 100644 --- a/sql/db_database.sql +++ b/sql/db_database.sql @@ -20759,32 +20759,32 @@ INSERT INTO `shopitems` (`shopitemid`, `shopid`, `itemid`, `price`, `pitch`, `po (20065, 9270057, 2022015, 12000, 0, 1), (20066, 9270057, 2061000, 1, 0, 2), (20067, 9270057, 2060000, 1, 0, 3), -(20068, 9270057, 2030000, 400, 0, 4), -(20069, 9270057, 2050003, 500, 0, 5), -(20070, 9270057, 2050002, 300, 0, 6), -(20071, 9270057, 2050001, 200, 0, 7), -(20072, 9270057, 2050000, 200, 0, 8), -(20073, 9270057, 2020028, 3000, 0, 9), -(20074, 9270057, 2010004, 310, 0, 10), -(20075, 9270057, 2010003, 100, 0, 11), -(20076, 9270057, 2010001, 106, 0, 12), -(20077, 9270057, 2010002, 50, 0, 13), -(20078, 9270057, 2010000, 30, 0, 14), -(20079, 9270057, 2001002, 4000, 0, 15), -(20080, 9270057, 2001001, 2300, 0, 16), -(20081, 9270057, 2001000, 3200, 0, 17), -(20082, 9270057, 2022000, 1650, 0, 18), -(20083, 9270057, 2022003, 1100, 0, 19), -(20084, 9270057, 2002005, 500, 0, 20), -(20085, 9270057, 2002004, 500, 0, 21), -(20086, 9270057, 2002002, 500, 0, 22), -(20087, 9270057, 2002001, 400, 0, 23), -(20088, 9270057, 2002000, 500, 0, 24), -(20089, 9270057, 2000006, 620, 0, 25), -(20090, 9270057, 2000003, 200, 0, 26), -(20091, 9270057, 2000002, 320, 0, 27), -(20092, 9270057, 2000001, 160, 0, 28), -(20093, 9270057, 2000000, 50, 0, 29), +(20068, 9270057, 2030000, 400, 0, 5), +(20069, 9270057, 2050003, 500, 0, 6), +(20070, 9270057, 2050002, 300, 0, 7), +(20071, 9270057, 2050001, 200, 0, 8), +(20072, 9270057, 2050000, 200, 0, 9), +(20073, 9270057, 2020028, 3000, 0, 10), +(20074, 9270057, 2010004, 310, 0, 11), +(20075, 9270057, 2010003, 100, 0, 12), +(20076, 9270057, 2010001, 106, 0, 13), +(20077, 9270057, 2010002, 50, 0, 14), +(20078, 9270057, 2010000, 30, 0, 15), +(20079, 9270057, 2001002, 4000, 0, 16), +(20080, 9270057, 2001001, 2300, 0, 17), +(20081, 9270057, 2001000, 3200, 0, 18), +(20082, 9270057, 2022000, 1650, 0, 19), +(20083, 9270057, 2022003, 1100, 0, 20), +(20084, 9270057, 2002005, 500, 0, 21), +(20085, 9270057, 2002004, 500, 0, 22), +(20086, 9270057, 2002002, 500, 0, 23), +(20087, 9270057, 2002001, 400, 0, 24), +(20088, 9270057, 2002000, 500, 0, 25), +(20089, 9270057, 2000006, 620, 0, 26), +(20090, 9270057, 2000003, 200, 0, 27), +(20091, 9270057, 2000002, 320, 0, 28), +(20092, 9270057, 2000001, 160, 0, 29), +(20093, 9270057, 2000000, 50, 0, 30), (20094, 9270055, 1492006, 160000, 0, 1), (20095, 9270055, 1492005, 100000, 0, 2), (20096, 9270055, 1492004, 50000, 0, 3), @@ -20923,29 +20923,29 @@ INSERT INTO `shopitems` (`shopitemid`, `shopid`, `itemid`, `price`, `pitch`, `po (20229, 9270056, 1002004, 160000, 0, 444), (20230, 9270065, 2061000, 1, 0, 1), (20231, 9270065, 2060000, 1, 0, 2), -(20232, 9270065, 2030000, 400, 0, 3), -(20233, 9270065, 2050003, 500, 0, 4), -(20234, 9270065, 2050002, 300, 0, 5), -(20235, 9270065, 2050001, 200, 0, 6), -(20236, 9270065, 2050000, 200, 0, 7), -(20237, 9270065, 2022215, 6800, 0, 8), -(20238, 9270065, 2022214, 3200, 0, 9), -(20239, 9270065, 2022213, 6800, 0, 10), -(20240, 9270065, 2022212, 3200, 0, 11), -(20241, 9270065, 2022211, 6400, 0, 12), -(20242, 9270065, 2022210, 3200, 0, 13), -(20243, 9270065, 2022209, 1600, 0, 14), -(20244, 9270065, 2022208, 1000, 0, 15), -(20245, 9270065, 2022207, 2600, 0, 16), -(20246, 9270065, 2022206, 2200, 0, 17), -(20247, 9270065, 2022205, 1800, 0, 18), -(20248, 9270065, 2022204, 1200, 0, 19), -(20249, 9270065, 2022203, 800, 0, 20), -(20250, 9270065, 2022480, 12000, 0, 21), -(20251, 9270065, 2022479, 3800, 0, 22), -(20252, 9270065, 2022478, 3200, 0, 23), -(20253, 9270065, 2022477, 9200, 0, 24), -(20254, 9270065, 2022476, 4200, 0, 25); +(20232, 9270065, 2030000, 400, 0, 4), +(20233, 9270065, 2050003, 500, 0, 5), +(20234, 9270065, 2050002, 300, 0, 6), +(20235, 9270065, 2050001, 200, 0, 7), +(20236, 9270065, 2050000, 200, 0, 8), +(20237, 9270065, 2022215, 6800, 0, 9), +(20238, 9270065, 2022214, 3200, 0, 10), +(20239, 9270065, 2022213, 6800, 0, 11), +(20240, 9270065, 2022212, 3200, 0, 12), +(20241, 9270065, 2022211, 6400, 0, 13), +(20242, 9270065, 2022210, 3200, 0, 14), +(20243, 9270065, 2022209, 1600, 0, 15), +(20244, 9270065, 2022208, 1000, 0, 16), +(20245, 9270065, 2022207, 2600, 0, 17), +(20246, 9270065, 2022206, 2200, 0, 18), +(20247, 9270065, 2022205, 1800, 0, 19), +(20248, 9270065, 2022204, 1200, 0, 20), +(20249, 9270065, 2022203, 800, 0, 21), +(20250, 9270065, 2022480, 12000, 0, 22), +(20251, 9270065, 2022479, 3800, 0, 23), +(20252, 9270065, 2022478, 3200, 0, 24), +(20253, 9270065, 2022477, 9200, 0, 25), +(20254, 9270065, 2022476, 4200, 0, 26); CREATE TABLE IF NOT EXISTS `shops` ( `shopid` int(10) unsigned NOT NULL AUTO_INCREMENT, diff --git a/sql/db_shopupdate.sql b/sql/db_shopupdate.sql index 4ec4b74f93..56d2cf0273 100644 --- a/sql/db_shopupdate.sql +++ b/sql/db_shopupdate.sql @@ -120,6 +120,7 @@ INSERT IGNORE INTO `shopitems` (`shopid`, `itemid`, `price`, `pitch`, `position` (1021100, 2030100, 450, 0, 142), (1031100, 2030100, 450, 0, 146), (1051002, 2030100, 450, 0, 142), +(1052116, 2030100, 450, 0, 118), (1061001, 2030100, 450, 0, 126), (1061002, 2030100, 450, 0, 130), (1091002, 2030100, 450, 0, 130), @@ -141,4 +142,7 @@ INSERT IGNORE INTO `shopitems` (`shopid`, `itemid`, `price`, `pitch`, `position` (9201060, 2030100, 450, 0, 114), (9270021, 2030100, 450, 0, 118), (9270022, 2030100, 450, 0, 114), -(1338, 2030100, 450, 0, 114); \ No newline at end of file +(1338, 2030100, 450, 0, 114), +(9270057, 2030100, 450, 0, 4), +(9270065, 2030100, 450, 0, 3), +(9270022, 2030100, 450, 0, 118); \ No newline at end of file diff --git a/src/client/MapleCharacter.java b/src/client/MapleCharacter.java index 8245fe9b82..45f7505c62 100644 --- a/src/client/MapleCharacter.java +++ b/src/client/MapleCharacter.java @@ -1528,7 +1528,11 @@ public class MapleCharacter extends AbstractAnimatedMapleMapObject { this.getMap().pickItemDrop(pickupPacket, mapitem); } else if(mapitem.getItemId() == 4031865 || mapitem.getItemId() == 4031866) { // Add NX to account, show effect and make item disappear - this.getCashShop().gainCash(1, mapitem.getItemId() == 4031865 ? 100 : 250); + int nxGain = mapitem.getItemId() == 4031865 ? 100 : 250; + this.getCashShop().gainCash(1, nxGain); + + showHint("You have earned #e#b" + nxGain + " NX#k#n. (" + this.getCashShop().getCash(1) + " NX)"); + this.getMap().pickItemDrop(pickupPacket, mapitem); } else if (MapleInventoryManipulator.addFromDrop(client, mapitem.getItem(), true)) { this.getMap().pickItemDrop(pickupPacket, mapitem); @@ -1597,7 +1601,10 @@ public class MapleCharacter extends AbstractAnimatedMapleMapObject { } } else if(mapitem.getItemId() == 4031865 || mapitem.getItemId() == 4031866) { // Add NX to account, show effect and make item disappear - this.getCashShop().gainCash(1, mapitem.getItemId() == 4031865 ? 100 : 250); + int nxGain = mapitem.getItemId() == 4031865 ? 100 : 250; + this.getCashShop().gainCash(1, nxGain); + + showHint("You have earned #e#b" + nxGain + " NX#k#n. (" + this.getCashShop().getCash(1) + " NX)"); } else if (useItem(client, mapitem.getItem().getItemId())) { if (mapitem.getItem().getItemId() / 10000 == 238) { this.getMonsterBook().addCard(client, mapitem.getItem().getItemId()); @@ -2166,6 +2173,7 @@ public class MapleCharacter extends AbstractAnimatedMapleMapObject { dispelDebuff(MapleDisease.POISON); dispelDebuff(MapleDisease.SEAL); dispelDebuff(MapleDisease.WEAKEN); + dispelDebuff(MapleDisease.SLOW); } public void cancelAllDebuffs() { @@ -3225,8 +3233,12 @@ public class MapleCharacter extends AbstractAnimatedMapleMapObject { } public boolean isPartyMember(MapleCharacter chr) { + return isPartyMember(chr.getId()); + } + + public boolean isPartyMember(int cid) { for(MapleCharacter mpcu: getPartyMembers()) { - if(mpcu.getId() == chr.getId()) { + if(mpcu.getId() == cid) { return true; } } @@ -3238,6 +3250,11 @@ public class MapleCharacter extends AbstractAnimatedMapleMapObject { return playerShop; } + public void setGMLevel(int level) { + this.gmLevel = Math.min(level, 6); + this.gmLevel = Math.max(level, 0); + } + public void closePlayerInteractions() { closeNpcShop(); closeTrade(); @@ -3430,9 +3447,9 @@ public class MapleCharacter extends AbstractAnimatedMapleMapObject { //---- /\ /\ /\ /\ /\ /\ /\ NOT TESTED /\ /\ /\ /\ /\ /\ /\ /\ /\ ---- public boolean needQuestItem(int questid, int itemid) { - if (questid <= 0) { - return true; //For non quest items :3 - } + if (questid <= 0) return true; //For non quest items :3 + if (this.getQuestStatus(questid) != 1) return false; + MapleQuest quest = MapleQuest.getInstance(questid); return getInventory(ItemConstants.getInventoryType(itemid)).countById(itemid) < quest.getItemAmountNeeded(itemid); } @@ -4119,8 +4136,19 @@ public class MapleCharacter extends AbstractAnimatedMapleMapObject { } private void setCouponRates() { - setActiveCoupons(); - activateCouponsEffects(); + List couponEffects; + + chrLock.lock(); + try { + setActiveCoupons(); + couponEffects = activateCouponsEffects(); + } finally { + chrLock.unlock(); + } + + for(Integer couponId: couponEffects) { + commitBuffCoupon(couponId); + } } private void revertCouponRates() { @@ -4167,13 +4195,16 @@ public class MapleCharacter extends AbstractAnimatedMapleMapObject { this.mesoCoupon = 1; } - private void activateCouponsEffects() { + private List activateCouponsEffects() { + List toCommitEffect = new LinkedList<>(); + if(ServerConstants.USE_STACK_COUPON_RATES) { for(Entry coupon: activeCoupons.entrySet()) { int couponId = coupon.getKey(); int couponQty = coupon.getValue(); - commitBuffCoupon(couponId); + toCommitEffect.add(couponId); + if(ItemConstants.isExpCoupon(couponId)) setExpCouponRate(couponId, couponQty); else setDropCouponRate(couponId, couponQty); } @@ -4198,8 +4229,8 @@ public class MapleCharacter extends AbstractAnimatedMapleMapObject { } } - if(maxExpCouponId > -1) commitBuffCoupon(maxExpCouponId); - if(maxDropCouponId > -1) commitBuffCoupon(maxDropCouponId); + if(maxExpCouponId > -1) toCommitEffect.add(maxExpCouponId); + if(maxDropCouponId > -1) toCommitEffect.add(maxDropCouponId); this.expCoupon = maxExpRate; this.dropCoupon = maxDropRate; @@ -4209,30 +4240,27 @@ public class MapleCharacter extends AbstractAnimatedMapleMapObject { this.expRate *= this.expCoupon; this.dropRate *= this.dropCoupon; this.mesoRate *= this.mesoCoupon; + + return toCommitEffect; } private void setActiveCoupons() { - chrLock.lock(); - try { - activeCoupons.clear(); - activeCouponRates.clear(); + activeCoupons.clear(); + activeCouponRates.clear(); - Map coupons = Server.getInstance().getCouponRates(); - List active = Server.getInstance().getActiveCoupons(); + Map coupons = Server.getInstance().getCouponRates(); + List active = Server.getInstance().getActiveCoupons(); - for(Item it: this.getInventory(MapleInventoryType.CASH).list()) { - if(ItemConstants.isRateCoupon(it.getItemId()) && active.contains(it.getItemId())) { - Integer count = activeCoupons.get(it.getItemId()); + for(Item it: this.getInventory(MapleInventoryType.CASH).list()) { + if(ItemConstants.isRateCoupon(it.getItemId()) && active.contains(it.getItemId())) { + Integer count = activeCoupons.get(it.getItemId()); - if(count != null) activeCoupons.put(it.getItemId(), count + 1); - else { - activeCoupons.put(it.getItemId(), 1); - activeCouponRates.put(it.getItemId(), coupons.get(it.getItemId())); - } + if(count != null) activeCoupons.put(it.getItemId(), count + 1); + else { + activeCoupons.put(it.getItemId(), 1); + activeCouponRates.put(it.getItemId(), coupons.get(it.getItemId())); } } - } finally { - chrLock.unlock(); } } @@ -4261,7 +4289,12 @@ public class MapleCharacter extends AbstractAnimatedMapleMapObject { } public Set getActiveCoupons() { - return Collections.unmodifiableSet(activeCoupons.keySet()); + chrLock.lock(); + try { + return Collections.unmodifiableSet(activeCoupons.keySet()); + } finally { + chrLock.unlock(); + } } public static MapleCharacter loadCharFromDB(int charid, MapleClient client, boolean channelserver) throws SQLException { @@ -5006,7 +5039,7 @@ public class MapleCharacter extends AbstractAnimatedMapleMapObject { }, buffInterval, buffInterval); } } else if (effect.isRecovery()) { - int healInterval = (ServerConstants.USE_ULTRA_RECOVERY) ? 2500 : 5000; + int healInterval = (ServerConstants.USE_ULTRA_RECOVERY) ? 2000 : 5000; final byte heal = (byte) effect.getX(); chrLock.lock(); @@ -6198,10 +6231,14 @@ public class MapleCharacter extends AbstractAnimatedMapleMapObject { public void timeoutFromDojo() { if(map.isDojoMap()) { - client.getPlayer().changeMap(client.getChannelServer().getMapFactory().getMap(925020000)); + client.getPlayer().changeMap(client.getChannelServer().getMapFactory().getMap(925020002)); } } - + + public void showHint(String msg) { + client.announceHint(msg); + } + public void showNote() { try { Connection con = DatabaseConnection.getConnection(); diff --git a/src/client/MapleClient.java b/src/client/MapleClient.java index 7794531aec..1069d5e784 100644 --- a/src/client/MapleClient.java +++ b/src/client/MapleClient.java @@ -60,6 +60,7 @@ import net.server.world.World; import org.apache.mina.core.session.IoSession; import client.inventory.MapleInventoryType; +import constants.GameConstants; import constants.ServerConstants; import scripting.AbstractPlayerInteraction; import scripting.event.EventManager; @@ -798,7 +799,12 @@ public class MapleClient { player.getEventInstance().playerDisconnected(player); } if (player.getMap() != null) { + int mapId = player.getMapId(); player.getMap().removePlayer(player); + + if(GameConstants.isDojo(mapId)) { + this.getChannelServer().freeDojoSectionIfEmpty(mapId); + } } } catch (final Throwable t) { @@ -1031,6 +1037,10 @@ public class MapleClient { public int getGMLevel() { return gmlevel; } + + public void setGMLevel(int level) { + gmlevel = level; + } public void setScriptEngine(String name, ScriptEngine e) { engines.put(name, e); @@ -1263,11 +1273,15 @@ public class MapleClient { player.setTargetHpBarTime(timeNow); } } - + public synchronized void announce(final byte[] packet) {//MINA CORE IS A FUCKING BITCH AND I HATE IT <3 session.write(packet); } + public void announceHint(String msg) { + announce(MaplePacketCreator.sendHint(msg, 500, 10)); + announce(MaplePacketCreator.enableActions()); + } public void changeChannel(int channel) { Server server = Server.getInstance(); diff --git a/src/client/command/Commands.java b/src/client/command/Commands.java index fce1a57df8..b9bd487993 100644 --- a/src/client/command/Commands.java +++ b/src/client/command/Commands.java @@ -100,6 +100,7 @@ import client.inventory.MapleInventoryType; import client.inventory.MaplePet; import constants.GameConstants; import constants.ItemConstants; +import constants.ServerConstants; import java.util.ArrayList; import server.life.SpawnPoint; import server.maps.FieldLimit; @@ -698,7 +699,7 @@ public class Commands { case "goto": if (sub.length < 2){ - player.yellowMessage("Syntax: @goto "); + player.yellowMessage("Syntax: !goto "); break; } @@ -791,8 +792,15 @@ public class Commands { player.updateSingleStat(MapleStat.AVAILABLESP, player.getRemainingSp()); } else { victim = c.getChannelServer().getPlayerStorage().getCharacterByName(sub[1]); - victim.setRemainingSp(Integer.parseInt(sub[2])); - victim.updateSingleStat(MapleStat.AVAILABLESP, player.getRemainingSp()); + + if(victim != null) { + victim.setRemainingSp(Integer.parseInt(sub[2])); + victim.updateSingleStat(MapleStat.AVAILABLESP, player.getRemainingSp()); + + player.dropMessage(5, "SP given."); + } else { + player.message("Player '" + sub[1] + "' could not be found on this channel."); + } } break; @@ -807,8 +815,13 @@ public class Commands { player.updateSingleStat(MapleStat.AVAILABLEAP, player.getRemainingAp()); } else { victim = c.getChannelServer().getPlayerStorage().getCharacterByName(sub[1]); - victim.setRemainingAp(Integer.parseInt(sub[2])); - victim.updateSingleStat(MapleStat.AVAILABLEAP, victim.getRemainingAp()); + + if(victim != null) { + victim.setRemainingAp(Integer.parseInt(sub[2])); + victim.updateSingleStat(MapleStat.AVAILABLEAP, victim.getRemainingAp()); + } else { + player.message("Player '" + sub[1] + "' could not be found on this channel."); + } } break; @@ -841,8 +854,13 @@ public class Commands { case "bomb": if (sub.length > 1){ victim = c.getWorldServer().getPlayerStorage().getCharacterByName(sub[1]); - victim.getMap().spawnMonsterOnGroundBelow(MapleLifeFactory.getMonster(9300166), victim.getPosition()); - Server.getInstance().broadcastGMMessage(MaplePacketCreator.serverNotice(5, player.getName() + " used !bomb on " + victim.getName())); + + if(victim != null) { + victim.getMap().spawnMonsterOnGroundBelow(MapleLifeFactory.getMonster(9300166), victim.getPosition()); + Server.getInstance().broadcastGMMessage(MaplePacketCreator.serverNotice(5, player.getName() + " used !bomb on " + victim.getName())); + } else { + player.message("Player '" + sub[1] + "' could not be found on this world."); + } } else { player.getMap().spawnMonsterOnGroundBelow(MapleLifeFactory.getMonster(9300166), player.getPosition()); } @@ -1093,6 +1111,10 @@ public class Commands { } int itemId = Integer.parseInt(sub[1]); + if(MapleItemInformationProvider.getInstance().getName(itemId) == null) { + player.yellowMessage("Item id '" + sub[1] + "' does not exist."); + break; + } short quantity = 1; if(sub.length >= 3) quantity = Short.parseShort(sub[2]); @@ -1138,10 +1160,11 @@ public class Commands { } player.loseExp(player.getExp(), false, false); - - player.revertPlayerRates(); player.setLevel(Math.min(Integer.parseInt(sub[1]), player.getMaxLevel()) - 1); - player.setPlayerRates(); + + player.resetPlayerRates(); + if(ServerConstants.USE_ADD_RATES_BY_LEVEL == true) player.setPlayerRates(); + player.setWorldRates(); player.levelUp(false); break; @@ -1173,10 +1196,13 @@ public class Commands { final String[] s = {"setstat", String.valueOf(Short.MAX_VALUE)}; executeSolaxiaCommandLv2(cserv, srv, c, s); player.loseExp(player.getExp(), false, false); - player.revertPlayerRates(); player.setLevel(255); - player.setPlayerRates(); - player.setFame(13337); + + player.resetPlayerRates(); + if(ServerConstants.USE_ADD_RATES_BY_LEVEL == true) player.setPlayerRates(); + player.setWorldRates(); + + player.setFame(13337); player.setMaxHp(30000); player.setMaxMp(30000); player.updateSingleStat(MapleStat.LEVEL, 255); @@ -1190,9 +1216,7 @@ public class Commands { for (MapleData skill_ : MapleDataProviderFactory.getDataProvider(new File(System.getProperty("wzpath") + "/" + "String.wz")).getData("Skill.img").getChildren()) { try { skill = SkillFactory.getSkill(Integer.parseInt(skill_.getName())); - if (GameConstants.isInJobTree(skill.getId(), player.getJob().getId())) { - player.changeSkillLevel(skill, (byte) skill.getMaxLevel(), skill.getMaxLevel(), -1); - } + player.changeSkillLevel(skill, (byte) skill.getMaxLevel(), skill.getMaxLevel(), -1); } catch (NumberFormatException nfe) { nfe.printStackTrace(); break; @@ -1228,8 +1252,9 @@ public class Commands { data = dataProvider.getData("Mob.img"); } else if (sub[1].equalsIgnoreCase("SKILL")) { data = dataProvider.getData("Skill.img"); - } else if (sub[1].equalsIgnoreCase("MAP")) { - sb.append("#bUse the '!m' command to find a map. If it finds a map with the same name, it will warp you to it."); + /*} else if (sub[1].equalsIgnoreCase("MAP")) { + TODO + */ } else { sb.append("#bInvalid search.\r\nSyntax: '!search [type] [name]', where [type] is NPC, ITEM, MOB, or SKILL."); } @@ -1288,14 +1313,14 @@ public class Commands { MapleMap target = cserv.getMapFactory().getMap(mapid); MaplePortal targetPortal = target.getPortal(0); victim.changeMap(target, targetPortal); - player.dropMessage(victim.getName() + " was jailed for " + minutesJailed + " minutes."); + player.message(victim.getName() + " was jailed for " + minutesJailed + " minutes."); } else { - player.dropMessage(victim.getName() + "'s time in jail has been extended for " + minutesJailed + " minutes."); + player.message(victim.getName() + "'s time in jail has been extended for " + minutesJailed + " minutes."); } } else { - player.dropMessage(sub[1] + " not found on this channel! Make sure your target is logged on and on the same channel as yours."); + player.message("Player '" + sub[1] + "' could not be found on this channel."); } break; @@ -1308,14 +1333,14 @@ public class Commands { victim = cserv.getPlayerStorage().getCharacterByName(sub[1]); if (victim != null) { if(victim.getJailExpirationTimeLeft() <= 0) { - player.dropMessage("This player is already free."); + player.message("This player is already free."); break; } victim.removeJailExpirationTime(); - victim.dropMessage("By lack of concrete proof you are now unjailed. Enjoy freedom!"); - player.dropMessage(victim.getName() + " was unjailed."); + victim.message("By lack of concrete proof you are now unjailed. Enjoy freedom!"); + player.message(victim.getName() + " was unjailed."); } else { - player.dropMessage(sub[1] + " not found on this channel! Make sure your target is logged on and on the same channel as yours."); + player.message("Player '" + sub[1] + "' could not be found on this channel."); } break; @@ -1325,8 +1350,13 @@ public class Commands { player.equipChanged(); } else if (sub.length == 3) { victim = c.getChannelServer().getPlayerStorage().getCharacterByName(sub[1]); - victim.changeJob(MapleJob.getById(Integer.parseInt(sub[2]))); - player.equipChanged(); + + if(victim != null) { + victim.changeJob(MapleJob.getById(Integer.parseInt(sub[2]))); + player.equipChanged(); + } else { + player.message("Player '" + sub[1] + "' could not be found on this channel."); + } } else { player.message("Syntax: !job "); } @@ -1379,17 +1409,21 @@ public class Commands { case "checkdmg": victim = c.getWorldServer().getPlayerStorage().getCharacterByName(sub[1]); - int maxBase = victim.calculateMaxBaseDamage(victim.getTotalWatk()); - Integer watkBuff = victim.getBuffedValue(MapleBuffStat.WATK); - Integer matkBuff = victim.getBuffedValue(MapleBuffStat.MATK); - Integer blessing = victim.getSkillLevel(10000000 * player.getJobType() + 12); - if(watkBuff == null) watkBuff = 0; - if(matkBuff == null) matkBuff = 0; + if(victim != null) { + int maxBase = victim.calculateMaxBaseDamage(victim.getTotalWatk()); + Integer watkBuff = victim.getBuffedValue(MapleBuffStat.WATK); + Integer matkBuff = victim.getBuffedValue(MapleBuffStat.MATK); + Integer blessing = victim.getSkillLevel(10000000 * player.getJobType() + 12); + if(watkBuff == null) watkBuff = 0; + if(matkBuff == null) matkBuff = 0; - player.dropMessage(5, "Cur Str: " + victim.getTotalStr() + " Cur Dex: " + victim.getTotalDex() + " Cur Int: " + victim.getTotalInt() + " Cur Luk: " + victim.getTotalLuk()); - player.dropMessage(5, "Cur WATK: " + victim.getTotalWatk() + " Cur MATK: " + victim.getTotalMagic()); - player.dropMessage(5, "Cur WATK Buff: " + watkBuff + " Cur MATK Buff: " + matkBuff + " Cur Blessing Level: " + blessing); - player.dropMessage(5, victim.getName() + "'s maximum base damage (before skills) is " + maxBase); + player.dropMessage(5, "Cur Str: " + victim.getTotalStr() + " Cur Dex: " + victim.getTotalDex() + " Cur Int: " + victim.getTotalInt() + " Cur Luk: " + victim.getTotalLuk()); + player.dropMessage(5, "Cur WATK: " + victim.getTotalWatk() + " Cur MATK: " + victim.getTotalMagic()); + player.dropMessage(5, "Cur WATK Buff: " + watkBuff + " Cur MATK Buff: " + matkBuff + " Cur Blessing Level: " + blessing); + player.dropMessage(5, victim.getName() + "'s maximum base damage (before skills) is " + maxBase); + } else { + player.message("Player '" + sub[1] + "' could not be found on this world."); + } break; case "inmap": @@ -1440,12 +1474,16 @@ public class Commands { player.yellowMessage("Syntax: !sethpmp [] "); } - victim.setHp(statUpdate); - victim.setMp(statUpdate); - victim.updateSingleStat(MapleStat.HP, statUpdate); - victim.updateSingleStat(MapleStat.MP, statUpdate); - - victim.checkBerserk(victim.isHidden()); + if(victim != null) { + victim.setHp(statUpdate); + victim.setMp(statUpdate); + victim.updateSingleStat(MapleStat.HP, statUpdate); + victim.updateSingleStat(MapleStat.MP, statUpdate); + + victim.checkBerserk(victim.isHidden()); + } else { + player.message("Player '" + sub[1] + "' could not be found on this world."); + } break; case "music": @@ -1477,7 +1515,7 @@ public class Commands { } victim = c.getWorldServer().getPlayerStorage().getCharacterByName(sub[1]); if (victim == null){ - player.yellowMessage("Player not found!"); + player.message("Player '" + sub[1] + "' could not be found on this world."); break; } boolean monitored = MapleLogger.monitored.contains(victim.getName()); @@ -1504,7 +1542,7 @@ public class Commands { } victim = c.getWorldServer().getPlayerStorage().getCharacterByName(sub[1]); if (victim == null){ - player.yellowMessage("Player not found!"); + player.message("Player '" + sub[1] + "' could not be found on this world."); break; } boolean monitored_ = MapleLogger.ignored.contains(victim.getName()); @@ -1552,8 +1590,13 @@ public class Commands { } victim = cserv.getPlayerStorage().getCharacterByName(sub[1]); - victim.setFame(Integer.parseInt(sub[2])); - victim.updateSingleStat(MapleStat.FAME, victim.getFame()); + if(victim != null) { + victim.setFame(Integer.parseInt(sub[2])); + victim.updateSingleStat(MapleStat.FAME, victim.getFame()); + player.message("FAME given."); + } else { + player.message("Player '" + sub[1] + "' could not be found on this channel."); + } break; case "givenx": @@ -1561,8 +1604,14 @@ public class Commands { player.yellowMessage("Syntax: !givenx "); break; } - cserv.getPlayerStorage().getCharacterByName(sub[1]).getCashShop().gainCash(1, Integer.parseInt(sub[2])); - player.message("NX given."); + + victim = cserv.getPlayerStorage().getCharacterByName(sub[1]); + if(victim != null) { + victim.getCashShop().gainCash(1, Integer.parseInt(sub[2])); + player.message("NX given."); + } else { + player.message("Player '" + sub[1] + "' could not be found on this channel."); + } break; case "givevp": @@ -1570,8 +1619,14 @@ public class Commands { player.yellowMessage("Syntax: !givevp "); break; } - cserv.getPlayerStorage().getCharacterByName(sub[1]).getClient().addVotePoints(Integer.parseInt(sub[2])); - player.message("VP given."); + + victim = cserv.getPlayerStorage().getCharacterByName(sub[1]); + if(victim != null) { + victim.getClient().addVotePoints(Integer.parseInt(sub[2])); + player.message("VP given."); + } else { + player.message("Player '" + sub[1] + "' could not be found on this channel."); + } break; case "givems": @@ -1579,8 +1634,14 @@ public class Commands { player.yellowMessage("Syntax: !givemx "); break; } - cserv.getPlayerStorage().getCharacterByName(sub[1]).gainMeso(Integer.parseInt(sub[2]), true); - player.message("MESO given."); + + victim = cserv.getPlayerStorage().getCharacterByName(sub[1]); + if(victim != null) { + victim.gainMeso(Integer.parseInt(sub[2]), true); + player.message("MESO given."); + } else { + player.message("Player '" + sub[1] + "' could not be found on this channel."); + } break; case "id": @@ -1634,8 +1695,12 @@ public class Commands { } victim = cserv.getPlayerStorage().getCharacterByName(sub[1]); - victim.setHpMp(0); - Server.getInstance().broadcastGMMessage(MaplePacketCreator.serverNotice(5, player.getName() + " used !kill on " + victim.getName())); + if(victim != null) { + victim.setHpMp(0); + Server.getInstance().broadcastGMMessage(MaplePacketCreator.serverNotice(5, player.getName() + " used !kill on " + victim.getName())); + } else { + player.message("Player '" + sub[1] + "' could not be found on this channel."); + } break; case "seed": @@ -1659,7 +1724,6 @@ public class Commands { case "maxenergy": c.getPlayer().setDojoEnergy(10000); c.announce(MaplePacketCreator.getEnergy("energy", 10000)); - System.out.println("gauge " + player.getDojoEnergy()); break; case "killall": @@ -1857,17 +1921,25 @@ public class Commands { break; case "healperson": - victim = cserv.getPlayerStorage().getCharacterByName(sub[1]); + victim = cserv.getPlayerStorage().getCharacterByName(sub[1]); + if(victim != null) { victim.setHp(victim.getMaxHp()); victim.updateSingleStat(MapleStat.HP, victim.getMaxHp()); victim.setMp(victim.getMaxMp()); victim.updateSingleStat(MapleStat.MP, victim.getMaxMp()); + } else { + player.message("Player '" + sub[1] + "' could not be found on this channel."); + } break; case "hurt": - victim = cserv.getPlayerStorage().getCharacterByName(sub[1]); + victim = cserv.getPlayerStorage().getCharacterByName(sub[1]); + if(victim != null) { victim.setHp(1); victim.updateSingleStat(MapleStat.HP, 1); + } else { + player.message("Player '" + sub[1] + "' could not be found on this channel."); + } break; case "killmap": @@ -1925,12 +1997,12 @@ public class Commands { victim = c.getChannelServer().getPlayerStorage().getCharacterByName(sub[1]); if(victim == null) { + victim.setFace(itemId); + victim.updateSingleStat(MapleStat.FACE, itemId); + victim.equipChanged(); + } else { player.yellowMessage("Player '" + sub[1] + "' has not been found on this channel."); - break; } - victim.setFace(itemId); - victim.updateSingleStat(MapleStat.FACE, itemId); - victim.equipChanged(); } } catch(Exception e) {} @@ -1961,13 +2033,13 @@ public class Commands { } victim = c.getChannelServer().getPlayerStorage().getCharacterByName(sub[1]); - if(victim == null) { + if(victim != null) { + victim.setHair(itemId); + victim.updateSingleStat(MapleStat.HAIR, itemId); + victim.equipChanged(); + } else { player.yellowMessage("Player '" + sub[1] + "' has not been found on this channel."); - break; } - victim.setHair(itemId); - victim.updateSingleStat(MapleStat.HAIR, itemId); - victim.equipChanged(); } } catch(Exception e) {} break; @@ -1987,7 +2059,7 @@ public class Commands { case "servermessage": c.getWorldServer().setServerMessage(joinStringFrom(sub, 1)); break; - + case "proitem": if (sub.length < 3) { player.yellowMessage("Syntax: !proitem "); @@ -2056,19 +2128,24 @@ public class Commands { case "exprate": if (sub.length < 2){ - player.yellowMessage("Syntax: !exprate "); - break; - } - c.getWorldServer().setExpRate(Integer.parseInt(sub[1])); - c.getWorldServer().broadcastPacket(MaplePacketCreator.serverNotice(6, "[Rate] Exp Rate has been changed to " + sub[1] + "x.")); + player.yellowMessage("Syntax: !exprate "); break; + } + + int exprate = Math.max(Integer.parseInt(sub[1]), 1); + c.getWorldServer().setExpRate(exprate); + c.getWorldServer().broadcastPacket(MaplePacketCreator.serverNotice(6, "[Rate] Exp Rate has been changed to " + exprate + "x.")); + break; + case "mesorate": if (sub.length < 2){ player.yellowMessage("Syntax: !mesorate "); break; } - c.getWorldServer().setMesoRate(Integer.parseInt(sub[1])); - c.getWorldServer().broadcastPacket(MaplePacketCreator.serverNotice(6, "[Rate] Meso Rate has been changed to " + sub[1] + "x.")); + + int mesorate = Math.max(Integer.parseInt(sub[1]), 1); + c.getWorldServer().setMesoRate(mesorate); + c.getWorldServer().broadcastPacket(MaplePacketCreator.serverNotice(6, "[Rate] Meso Rate has been changed to " + mesorate + "x.")); break; case "droprate": @@ -2076,8 +2153,10 @@ public class Commands { player.yellowMessage("Syntax: !droprate "); break; } - c.getWorldServer().setDropRate(Integer.parseInt(sub[1])); - c.getWorldServer().broadcastPacket(MaplePacketCreator.serverNotice(6, "[Rate] Drop Rate has been changed to " + sub[1] + "x.")); + + int droprate = Math.max(Integer.parseInt(sub[1]), 1); + c.getWorldServer().setDropRate(droprate); + c.getWorldServer().broadcastPacket(MaplePacketCreator.serverNotice(6, "[Rate] Drop Rate has been changed to " + droprate + "x.")); break; case "bossdroprate": @@ -2085,14 +2164,21 @@ public class Commands { player.yellowMessage("Syntax: !bossdroprate "); break; } - c.getWorldServer().setBossDropRate(Integer.parseInt(sub[1])); - c.getWorldServer().broadcastPacket(MaplePacketCreator.serverNotice(6, "[Rate] Boss Drop Rate has been changed to " + sub[1] + "x.")); + + int bossdroprate = Math.max(Integer.parseInt(sub[1]), 1); + c.getWorldServer().setBossDropRate(bossdroprate); + c.getWorldServer().broadcastPacket(MaplePacketCreator.serverNotice(6, "[Rate] Boss Drop Rate has been changed to " + bossdroprate + "x.")); break; case "itemvac": - List list = player.getMap().getMapObjectsInRange(player.getPosition(), Double.POSITIVE_INFINITY, Arrays.asList(MapleMapObjectType.ITEM)); - for (MapleMapObject item : list) { - player.pickupItem(item); + List list = player.getMap().getMapObjectsInRange(player.getPosition(), Double.POSITIVE_INFINITY, Arrays.asList(MapleMapObjectType.ITEM)); + for (MapleMapObject item : list) { + MapleMapItem mapItem = (MapleMapItem) item; + int ownerId = mapItem.getOwner(); + + if(ownerId <= 0 || player.getId() == ownerId || player.isPartyMember(ownerId) || System.currentTimeMillis() - mapItem.getDropTime() >= 15 * 1000) { + player.pickupItem(item); + } } break; @@ -2144,6 +2230,19 @@ public class Commands { case "pianus": player.getMap().spawnMonsterOnGroundBelow(MapleLifeFactory.getMonster(8510000), player.getPosition()); break; + + case "cake": + MapleMonster monster = MapleLifeFactory.getMonster(9400606); + if(sub.length > 1) { + int newHp = Integer.parseInt(sub[1]); + if(newHp < 0) newHp = Integer.MAX_VALUE; + + monster.getStats().setHp(newHp); + monster.setHp(newHp); + } + + player.getMap().spawnMonsterOnGroundBelow(monster, player.getPosition()); + break; case "playernpc": if (sub.length < 3){ @@ -2270,6 +2369,25 @@ public class Commands { MapleCharacter victim; switch(sub[0]) { + case "setgmlevel": + if (sub.length < 3){ + player.yellowMessage("Syntax: !setgmlevel "); + break; + } + + int newLevel = Integer.parseInt(sub[2]); + MapleCharacter target = cserv.getPlayerStorage().getCharacterByName(sub[1]); + if(target != null) { + target.setGMLevel(newLevel); + target.getClient().setGMLevel(newLevel); + + target.dropMessage("You are now a level " + newLevel + " GM"); + player.dropMessage(target + " is now a level " + newLevel + " GM"); + } else { + player.dropMessage("Player '"+ sub[1] +"' was not found on this channel."); + } + break; + case "warpworld": if (sub.length < 2){ player.yellowMessage("Syntax: !warpworld "); @@ -2341,8 +2459,12 @@ public class Commands { player.yellowMessage("Syntax: !getacc "); break; } - victim = c.getChannelServer().getPlayerStorage().getCharacterByName(sub[1]); - player.message(victim.getName() + "'s account name is " + victim.getClient().getAccountName() + "."); + victim = c.getWorldServer().getPlayerStorage().getCharacterByName(sub[1]); + if(victim != null) { + player.message(victim.getName() + "'s account name is " + victim.getClient().getAccountName() + "."); + } else { + player.message("Player '" + sub[1] + "' could not be found on this world."); + } break; case "shutdown": diff --git a/src/client/inventory/Equip.java b/src/client/inventory/Equip.java index 488405783d..77a66f08cc 100644 --- a/src/client/inventory/Equip.java +++ b/src/client/inventory/Equip.java @@ -553,8 +553,7 @@ public class Equip extends Item { } public final void showLevelupMessage(String msg, MapleClient c) { - c.announce(MaplePacketCreator.sendHint(msg, 500, 10)); - c.announce(MaplePacketCreator.enableActions()); + c.getPlayer().showHint(msg); } public void setItemExp(int exp) { diff --git a/src/client/inventory/ItemFactory.java b/src/client/inventory/ItemFactory.java index 7b4461456f..caa41c75ae 100644 --- a/src/client/inventory/ItemFactory.java +++ b/src/client/inventory/ItemFactory.java @@ -80,7 +80,7 @@ public enum ItemFactory { MapleInventoryType mit = MapleInventoryType.getByType(rs.getByte("inventorytype")); if (mit.equals(MapleInventoryType.EQUIP) || mit.equals(MapleInventoryType.EQUIPPED)) { - Equip equip = new Equip(rs.getInt("itemid"), (byte) rs.getInt("position")); + Equip equip = new Equip(rs.getInt("itemid"), (short) rs.getInt("position")); equip.setOwner(rs.getString("owner")); equip.setQuantity((short) rs.getInt("quantity")); equip.setAcc((short) rs.getInt("acc")); diff --git a/src/client/inventory/MapleInventory.java b/src/client/inventory/MapleInventory.java index 94c8e1aa89..851450cd00 100644 --- a/src/client/inventory/MapleInventory.java +++ b/src/client/inventory/MapleInventory.java @@ -327,6 +327,66 @@ public class MapleInventory implements Iterable { return true; } + private static long fnvHash32(final String k) { + final int FNV_32_INIT = 0x811c9dc5; + final int FNV_32_PRIME = 0x01000193; + + int rv = FNV_32_INIT; + final int len = k.length(); + for(int i = 0; i < len; i++) { + rv ^= k.charAt(i); + rv *= FNV_32_PRIME; + } + + return rv >= 0 ? rv : (2L * Integer.MAX_VALUE) + rv; + } + + private static Long hashKey(Integer itemId, String owner) { + return (itemId.longValue() << 32L) + fnvHash32(owner); + } + + public static boolean checkSpotsAndOwnership(MapleCharacter chr, List> items) { + List zeroedList = new ArrayList<>(5); + for(byte i = 0; i < 5; i++) zeroedList.add(0); + + return checkSpotsAndOwnership(chr, items, zeroedList); + } + + public static boolean checkSpotsAndOwnership(MapleCharacter chr, List> items, List typesSlotsUsed) { + // assumption: no "UNDEFINED" or "EQUIPPED" items shall be tested here, all counts are >= 0. + + Map rcvItems = new LinkedHashMap<>(); + Map rcvTypes = new LinkedHashMap<>(); + Map rcvOwners = new LinkedHashMap<>(); + + for (Pair item : items) { + Long itemHash = hashKey(item.left.getItemId(), item.left.getOwner()); + Short qty = rcvItems.get(itemHash); + + if(qty == null) { + rcvItems.put(itemHash, item.left.getQuantity()); + rcvTypes.put(itemHash, item.right.getType()); + rcvOwners.put(itemHash, item.left.getOwner()); + } else { + rcvItems.put(itemHash, (short)(qty + item.left.getQuantity())); + } + } + + MapleClient c = chr.getClient(); + for(Entry it: rcvItems.entrySet()) { + int itemType = rcvTypes.get(it.getKey()) - 1; + int usedSlots = typesSlotsUsed.get(itemType); + + Long itemId = it.getKey() >> 32L; + int result = MapleInventoryManipulator.checkSpaceProgressively(c, itemId.intValue(), it.getValue(), rcvOwners.get(it.getKey()), usedSlots); + boolean hasSpace = ((result % 2) != 0); + + if(!hasSpace) return false; + typesSlotsUsed.set(itemType, (result >> 1)); + } + + return true; + } public MapleInventoryType getType() { return type; diff --git a/src/client/inventory/MaplePet.java b/src/client/inventory/MaplePet.java index 648d5cd213..66f2c2ffda 100644 --- a/src/client/inventory/MaplePet.java +++ b/src/client/inventory/MaplePet.java @@ -214,7 +214,7 @@ public class MaplePet extends Item { if (newCloseness < 0) newCloseness = 0; closeness = newCloseness; - if (level > 1 && newCloseness < ExpTable.getClosenessNeededForLevel(level)) { + if (level > 1 && newCloseness < ExpTable.getClosenessNeededForLevel(level - 1)) { level -= 1; } } diff --git a/src/constants/ServerConstants.java b/src/constants/ServerConstants.java index b47b469c5d..e673d72621 100644 --- a/src/constants/ServerConstants.java +++ b/src/constants/ServerConstants.java @@ -44,9 +44,8 @@ public class ServerConstants { public static final boolean USE_ITEM_SORT_BY_NAME = false; //Item sorting based on name rather than id. public static final boolean USE_PARTY_SEARCH = false; public static final boolean USE_AUTOBAN = false; //Commands the server to detect infractors automatically. - public static final boolean USE_ANOTHER_AUTOASSIGN = true; //Based on distributing AP accordingly to required secondary stat on equipments. + public static final boolean USE_ANOTHER_AUTOASSIGNER = true; //Based on distributing AP accordingly to required secondary stat on equipments. public static final boolean USE_REFRESH_RANK_MOVE = true; - public static final boolean USE_PERMISSIVE_BUFFS = false; //WARNING: Allows players that does not have increased certain buff-type skills to use it's effect. Used mainly on buff-cast commands, however making this active may generate a source for possible client-edited exploits. public static final boolean USE_ENFORCE_MDOOR_POSITION = true; //Forces mystic door to be spawned near spawnpoints. (since things bugs out other way, and this helps players locate the door faster) public static final boolean USE_ERASE_UNTRADEABLE_DROP = true; //Forces flagged untradeable items to disappear when dropped. @@ -66,7 +65,7 @@ public class ServerConstants { //Dangling Items Configuration public static final int ITEM_EXPIRE_TIME = 3 * 60 * 1000; //Time before items start disappearing. Recommended to be set up to 3 minutes. - public static final int ITEM_MONITOR_TIME = 5 * 60 * 1000; //Interval between item monitoring task on maps, which checks for dangling item objects on the map item history. + public static final int ITEM_MONITOR_TIME = 5 * 60 * 1000; //Interval between item monitoring tasks on maps, which checks for dangling item objects on the map item history. public static final int ITEM_LIMIT_ON_MAP = 250; //Max number of items allowed on a map. //Some Gameplay Enhancing Configurations @@ -91,8 +90,8 @@ public class ServerConstants { //Equipment Configuration public static final boolean USE_EQUIPMNT_LVLUP_SLOTS = true;//Equips can upgrade slots at level up. public static final boolean USE_EQUIPMNT_LVLUP_POWER = true;//Enable more powerful stats upgrades at equip level up. - public static final boolean USE_SPIKES_AVOID_BANISH = true; //Shoes equipped with spikes blocks mobs from banishing wearer. - public static final boolean USE_CHAIR_EXTRAHEAL = true; //Enable map chairs to further recover player`s HP and MP. + public static final boolean USE_SPIKES_AVOID_BANISH = true; //Shoes equipped with spikes prevents mobs from banishing wearer. + public static final boolean USE_CHAIR_EXTRAHEAL = true; //Enable map chairs to further recover player's HP and MP. public static final int MAX_EQUIPMNT_LVLUP_STAT_GAIN = 10000; //Max stat upgrade an equipment can have on a levelup. public static final int MAX_EQUIPMNT_STAT = 32767; //Max stat on an equipment by leveling up. public static final int USE_EQUIPMNT_LVLUP = 7; //All equips lvlup at max level of N, set 1 to disable. diff --git a/src/net/MapleServerHandler.java b/src/net/MapleServerHandler.java index 211792d8a7..6abe58b09b 100644 --- a/src/net/MapleServerHandler.java +++ b/src/net/MapleServerHandler.java @@ -24,7 +24,7 @@ package net; import java.io.IOException; import java.text.SimpleDateFormat; import java.util.Calendar; -import java.util.Random; +import java.util.concurrent.atomic.AtomicLong; import net.server.Server; @@ -47,6 +47,7 @@ public class MapleServerHandler extends IoHandlerAdapter { private PacketProcessor processor; private int world = -1, channel = -1; private static final SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy HH:mm"); + private static AtomicLong sessionId = new AtomicLong(7777); public MapleServerHandler() { this.processor = PacketProcessor.getProcessor(-1, -1); @@ -97,8 +98,7 @@ public class MapleServerHandler extends IoHandlerAdapter { MapleClient client = new MapleClient(sendCypher, recvCypher, session); client.setWorld(world); client.setChannel(channel); - Random r = new Random(); - client.setSessionId(r.nextLong()); // Generates a random session id. + client.setSessionId(sessionId.getAndIncrement()); // Generates a reasonable session id. session.write(MaplePacketCreator.getHello(ServerConstants.VERSION, ivSend, ivRecv)); session.setAttribute(MapleClient.CLIENT_KEY, client); } diff --git a/src/net/server/Server.java b/src/net/server/Server.java index 15829bee70..ec92d13577 100644 --- a/src/net/server/Server.java +++ b/src/net/server/Server.java @@ -67,8 +67,8 @@ import java.util.Calendar; import server.quest.MapleQuest; public class Server implements Runnable { - private final Map couponRates = new LinkedHashMap<>(); - private final List activeCoupons = new LinkedList<>(); + private static final Map couponRates = new LinkedHashMap<>(); + private static final List activeCoupons = new LinkedList<>(); private IoAcceptor acceptor; private List> channels = new LinkedList<>(); diff --git a/src/net/server/channel/Channel.java b/src/net/server/channel/Channel.java index 302015b3db..c905af33ad 100644 --- a/src/net/server/channel/Channel.java +++ b/src/net/server/channel/Channel.java @@ -374,8 +374,11 @@ public final class Channel { mask ^= (1 << slot); usedDojo &= mask; - if(party != null) dojoParty.remove(party.hashCode()); - else if(dojoParty.containsValue(slot)) { // they left the dojo before completing it, no party there! + if(party != null) { + if(dojoParty.remove(party.hashCode()) != null) return; + } + + if(dojoParty.containsValue(slot)) { // strange case, no party there! Set> es = Collections.unmodifiableSet(dojoParty.entrySet()); for(Entry e: es) { @@ -411,6 +414,20 @@ public final class Channel { } } + public void freeDojoSectionIfEmpty(int dojoMapId) { + final int slot = getDojoSlot(dojoMapId); + final int delta = (dojoMapId) % 100; + final int stage = (dojoMapId / 100) % 100; + final int dojoBaseMap = (dojoMapId >= 925030000) ? 925030000 : 925020000; + + for (int i = 0; i < 5; i++) { //only 32 stages, but 38 maps + MapleMap dojoMap = getMapFactory().getMap(dojoBaseMap + (100 * (stage + i)) + delta); + if(!dojoMap.getAllPlayers().isEmpty()) return; + } + + freeDojoSlot(slot, null); + } + public void startDojoSchedule(final int dojoMapId) { final int slot = getDojoSlot(dojoMapId); final int stage = (dojoMapId / 100) % 100; diff --git a/src/net/server/channel/handlers/AbstractDealDamageHandler.java b/src/net/server/channel/handlers/AbstractDealDamageHandler.java index cc3bcb5f9d..fe69456359 100644 --- a/src/net/server/channel/handlers/AbstractDealDamageHandler.java +++ b/src/net/server/channel/handlers/AbstractDealDamageHandler.java @@ -270,7 +270,7 @@ public abstract class AbstractDealDamageHandler extends AbstractMaplePacketHandl player.checkMonsterAggro(monster); if (player.getBuffedValue(MapleBuffStat.PICKPOCKET) != null && (attack.skill == 0 || attack.skill == Rogue.DOUBLE_STAB || attack.skill == Bandit.SAVAGE_BLOW || attack.skill == ChiefBandit.ASSAULTER || attack.skill == ChiefBandit.BAND_OF_THIEVES || attack.skill == Shadower.ASSASSINATE || attack.skill == Shadower.TAUNT || attack.skill == Shadower.BOOMERANG_STEP)) { Skill pickpocket = SkillFactory.getSkill(ChiefBandit.PICKPOCKET); - int picklv = (player.getSkillLevel(pickpocket) > 0 || !ServerConstants.USE_PERMISSIVE_BUFFS) ? player.getSkillLevel(pickpocket) : pickpocket.getMaxLevel(); + int picklv = (player.isGM()) ? pickpocket.getMaxLevel() : player.getSkillLevel(pickpocket); if(picklv > 0) { int delay = 0; final int maxmeso = player.getBuffedValue(MapleBuffStat.PICKPOCKET).intValue(); @@ -650,7 +650,7 @@ public abstract class AbstractDealDamageHandler extends AbstractMaplePacketHandl } else { // Normal Combo int skillLv = chr.getSkillLevel(oid); - if(skillLv <= 0 && ServerConstants.USE_PERMISSIVE_BUFFS) skillLv = SkillFactory.getSkill(oid).getMaxLevel(); + if(skillLv <= 0 || chr.isGM()) skillLv = SkillFactory.getSkill(oid).getMaxLevel(); if(skillLv > 0) { MapleStatEffect ceffect = SkillFactory.getSkill(oid).getEffect(skillLv); diff --git a/src/net/server/channel/handlers/AutoAssignHandler.java b/src/net/server/channel/handlers/AutoAssignHandler.java index 8522533d06..f16b328376 100644 --- a/src/net/server/channel/handlers/AutoAssignHandler.java +++ b/src/net/server/channel/handlers/AutoAssignHandler.java @@ -31,27 +31,39 @@ import client.inventory.Equip; import client.inventory.Item; import client.inventory.MapleInventory; import client.inventory.MapleInventoryType; -//import java.util.ArrayList; import java.util.Collection; -//import java.util.List; +import java.util.Collections; +import java.util.List; +import java.util.ArrayList; import net.AbstractMaplePacketHandler; import tools.MaplePacketCreator; import tools.data.input.SeekableLittleEndianAccessor; /** * - * @author Generic + * @author Generic, Ronan */ public class AutoAssignHandler extends AbstractMaplePacketHandler { + private static int getNthHighestStat(List statList, short rank) { // ranks from 0 + return(statList.size() <= rank ? 0 : statList.get(rank)); + } + @Override public void handlePacket(SeekableLittleEndianAccessor slea, MapleClient c) { MapleCharacter chr = c.getPlayer(); - MapleJob stance; - if(ServerConstants.USE_ANOTHER_AUTOASSIGN == true) { - int eqpStr = 0, eqpDex = 0, eqpLuk = 0; + slea.skip(8); + if (chr.getRemainingAp() < 1) return; + + if(ServerConstants.USE_ANOTHER_AUTOASSIGNER == true) { + // ---------- Ronan Lana's AUTOASSIGNER ------------- + // This method excels for assigning APs in such a way to cover all equipments AP requirements. + int str = 0, dex = 0, luk = 0, int_ = 0; + List eqpStrList = new ArrayList<>(); + List eqpDexList = new ArrayList<>(); + List eqpLukList = new ArrayList<>(); MapleInventory iv = chr.getInventory(MapleInventoryType.EQUIPPED); Collection equippedC = iv.list(); @@ -59,29 +71,33 @@ public class AutoAssignHandler extends AbstractMaplePacketHandler { for (Item item : equippedC) { //selecting the biggest AP value of each stat from each equipped item. nEquip = (Equip)item; - if(nEquip.getStr() > eqpStr) eqpStr = nEquip.getStr(); + if(nEquip.getStr() > 0) eqpStrList.add(nEquip.getStr()); str += nEquip.getStr(); - if(nEquip.getDex() > eqpDex) eqpDex = nEquip.getDex(); + if(nEquip.getDex() > 0) eqpDexList.add(nEquip.getDex()); dex += nEquip.getDex(); - if(nEquip.getLuk() > eqpLuk) eqpLuk = nEquip.getLuk(); + if(nEquip.getLuk() > 0) eqpLukList.add(nEquip.getLuk()); luk += nEquip.getLuk(); - //if(nEquip.getInt() > eqpInt) eqpInt = nEquip.getInt(); //not needed... + //if(nEquip.getInt() > 0) eqpIntList.add(nEquip.getInt()); //not needed... int_ += nEquip.getInt(); } + + Collections.sort(eqpStrList, Collections.reverseOrder()); + Collections.sort(eqpDexList, Collections.reverseOrder()); + Collections.sort(eqpLukList, Collections.reverseOrder()); + + //Autoassigner looks up the 1st/2nd placed equips for their stats to calculate the optimal upgrade. + int eqpStr = getNthHighestStat(eqpStrList, (short) 0) + getNthHighestStat(eqpStrList, (short) 1); + int eqpDex = getNthHighestStat(eqpDexList, (short) 0) + getNthHighestStat(eqpDexList, (short) 1); + int eqpLuk = getNthHighestStat(eqpLukList, (short) 0) + getNthHighestStat(eqpLukList, (short) 1); - //c.getPlayer().message("----------------------------------------SDL: " + eqpStr + eqpDex + eqpLuk + " BASE STATS --> STR: " + chr.getStr() + " DEX: " + chr.getDex() + " INT: " + chr.getInt() + " LUK: " + chr.getLuk()); + //c.getPlayer().message("----------------------------------------"); + //c.getPlayer().message("SDL: s" + eqpStr + " d" + eqpDex + " l" + eqpLuk + " BASE STATS --> STR: " + chr.getStr() + " DEX: " + chr.getDex() + " INT: " + chr.getInt() + " LUK: " + chr.getLuk()); //c.getPlayer().message("SUM EQUIP STATS -> STR: " + str + " DEX: " + dex + " LUK: " + luk + " INT: " + int_); - // ---------- Ronan Lana's AUTOASSIGN ------------- - // This method excels for assigning APs in such a way to cover all equipments AP requirements. - if (chr.getRemainingAp() < 1) { - return; - } - - stance = c.getPlayer().getJobStyle(); + MapleJob stance = c.getPlayer().getJobStyle(); int prStat = 0, scStat = 0, trStat = 0, temp, tempAp = chr.getRemainingAp(), CAP; MapleStat primary, secondary, tertiary = MapleStat.INT; @@ -294,10 +310,6 @@ public class AutoAssignHandler extends AbstractMaplePacketHandler { c.announce(MaplePacketCreator.serverNotice(1, "Better AP applications detected:\r\nSTR: +" + str + "\r\nDEX: +" + dex + "\r\nINT: +" + int_ + "\r\nLUK: +" + luk)); } else { - slea.skip(8); - if (chr.getRemainingAp() < 1) { - return; - } int total = 0; int extras = 0; if(slea.available() < 16) { diff --git a/src/net/server/channel/handlers/ChangeMapHandler.java b/src/net/server/channel/handlers/ChangeMapHandler.java index d58a74c710..f6bc30116d 100644 --- a/src/net/server/channel/handlers/ChangeMapHandler.java +++ b/src/net/server/channel/handlers/ChangeMapHandler.java @@ -152,7 +152,6 @@ public final class ChangeMapHandler extends AbstractMaplePacketHandler { } else { c.announce(MaplePacketCreator.enableActions()); } - //chr.setWorldRates(); } catch (Exception e) { e.printStackTrace(); } diff --git a/src/net/server/channel/handlers/CloseRangeDamageHandler.java b/src/net/server/channel/handlers/CloseRangeDamageHandler.java index 109bc677ec..1e0fa93e53 100644 --- a/src/net/server/channel/handlers/CloseRangeDamageHandler.java +++ b/src/net/server/channel/handlers/CloseRangeDamageHandler.java @@ -73,7 +73,6 @@ public final class CloseRangeDamageHandler extends AbstractDealDamageHandler { if (player.getMap().isDojoMap() && attack.numAttacked > 0) { player.setDojoEnergy(player.getDojoEnergy() + ServerConstants.DOJO_ENERGY_ATK); c.announce(MaplePacketCreator.getEnergy("energy", player.getDojoEnergy())); - System.out.println("gauge " + player.getDojoEnergy()); } player.getMap().broadcastMessage(player, MaplePacketCreator.closeRangeAttack(player, attack.skill, attack.skilllevel, attack.stance, attack.numAttackedAndDamage, attack.allDamage, attack.speed, attack.direction, attack.display), false, true); @@ -97,7 +96,7 @@ public final class CloseRangeDamageHandler extends AbstractDealDamageHandler { ceffect = advcombo.getEffect(advComboSkillLevel); } else { int comboLv = player.getSkillLevel(combo); - if(comboLv <= 0 && ServerConstants.USE_PERMISSIVE_BUFFS) comboLv = SkillFactory.getSkill(oid).getMaxLevel(); + if(comboLv <= 0 || player.isGM()) comboLv = SkillFactory.getSkill(oid).getMaxLevel(); if(comboLv > 0) ceffect = combo.getEffect(comboLv); else ceffect = null; @@ -168,7 +167,6 @@ public final class CloseRangeDamageHandler extends AbstractDealDamageHandler { player.setDojoEnergy(0); c.announce(MaplePacketCreator.getEnergy("energy", player.getDojoEnergy())); c.announce(MaplePacketCreator.serverNotice(5, "As you used the secret skill, your energy bar has been reset.")); - System.out.println("gauge " + player.getDojoEnergy()); } else if (attack.skill > 0) { Skill skill = SkillFactory.getSkill(attack.skill); MapleStatEffect effect_ = skill.getEffect(player.getSkillLevel(skill)); diff --git a/src/net/server/channel/handlers/EnterCashShopHandler.java b/src/net/server/channel/handlers/EnterCashShopHandler.java index c9ce8466d2..e512544776 100644 --- a/src/net/server/channel/handlers/EnterCashShopHandler.java +++ b/src/net/server/channel/handlers/EnterCashShopHandler.java @@ -25,7 +25,6 @@ import client.MapleCharacter; import client.MapleClient; import net.AbstractMaplePacketHandler; import net.server.Server; -import server.MapleTrade; import tools.MaplePacketCreator; import tools.data.input.SeekableLittleEndianAccessor; diff --git a/src/net/server/channel/handlers/GeneralChatHandler.java b/src/net/server/channel/handlers/GeneralChatHandler.java index 3c5bbfa240..e304e2dae4 100644 --- a/src/net/server/channel/handlers/GeneralChatHandler.java +++ b/src/net/server/channel/handlers/GeneralChatHandler.java @@ -47,7 +47,7 @@ public final class GeneralChatHandler extends net.AbstractMaplePacketHandler { return; } char heading = s.charAt(0); - if (heading == '/' || heading == '!' || heading == '@') { // client seems to not send command with '/' heading to the server, if not a GM account + if (heading == '!' || heading == '@') { String[] sp = s.split(" "); sp[0] = sp[0].toLowerCase().substring(1); @@ -59,8 +59,8 @@ public final class GeneralChatHandler extends net.AbstractMaplePacketHandler { SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy HH:mm"); FilePrinter.print(FilePrinter.USED_COMMANDS, c.getPlayer().getName() + " used: " + heading + command + "on " + sdf.format(Calendar.getInstance().getTime()) + "\r\n"); - } - } else { + } + } else if (heading != '/') { int show = slea.readByte(); if(chr.getMap().isMuted() && !chr.isGM()) { chr.dropMessage(5, "The map you are in is currently muted. Please try again later."); diff --git a/src/net/server/channel/handlers/ItemMoveHandler.java b/src/net/server/channel/handlers/ItemMoveHandler.java index 69840839ba..74d36e4b3f 100644 --- a/src/net/server/channel/handlers/ItemMoveHandler.java +++ b/src/net/server/channel/handlers/ItemMoveHandler.java @@ -35,16 +35,17 @@ import tools.data.input.SeekableLittleEndianAccessor; public final class ItemMoveHandler extends AbstractMaplePacketHandler { @Override public final void handlePacket(SeekableLittleEndianAccessor slea, MapleClient c) { - slea.skip(4); + slea.skip(4); if(c.getPlayer().getAutobanManager().getLastSpam(6) + 300 > System.currentTimeMillis()) { c.announce(MaplePacketCreator.enableActions()); return; } MapleInventoryType type = MapleInventoryType.getByType(slea.readByte()); - byte src = (byte) slea.readShort(); - byte action = (byte) slea.readShort(); + short src = slea.readShort(); //is there any reason to use byte instead of short in src and action? + short action = slea.readShort(); short quantity = slea.readShort(); + if (src < 0 && action > 0) { MapleInventoryManipulator.unequip(c, src, action); } else if (action < 0) { diff --git a/src/net/server/channel/handlers/MagicDamageHandler.java b/src/net/server/channel/handlers/MagicDamageHandler.java index befa2f34c7..7a6a51d33a 100644 --- a/src/net/server/channel/handlers/MagicDamageHandler.java +++ b/src/net/server/channel/handlers/MagicDamageHandler.java @@ -62,7 +62,6 @@ public final class MagicDamageHandler extends AbstractDealDamageHandler { if (player.getMap().isDojoMap() && attack.numAttacked > 0) { player.setDojoEnergy(player.getDojoEnergy() + + ServerConstants.DOJO_ENERGY_ATK); c.announce(MaplePacketCreator.getEnergy("energy", player.getDojoEnergy())); - System.out.println("gauge " + player.getDojoEnergy()); } int charge = (attack.skill == Evan.FIRE_BREATH || attack.skill == Evan.ICE_BREATH || attack.skill == FPArchMage.BIG_BANG || attack.skill == ILArchMage.BIG_BANG || attack.skill == Bishop.BIG_BANG) ? attack.charge : -1; diff --git a/src/net/server/channel/handlers/PetCommandHandler.java b/src/net/server/channel/handlers/PetCommandHandler.java index 3408425824..452c3c993b 100644 --- a/src/net/server/channel/handlers/PetCommandHandler.java +++ b/src/net/server/channel/handlers/PetCommandHandler.java @@ -25,10 +25,7 @@ import client.MapleCharacter; import client.MapleClient; import client.inventory.PetCommand; import client.inventory.PetDataFactory; -import client.inventory.Item; -import client.inventory.MapleInventoryType; import client.inventory.MaplePet; -import constants.ExpTable; import net.AbstractMaplePacketHandler; import tools.MaplePacketCreator; import tools.Randomizer; diff --git a/src/net/server/channel/handlers/PlayerLoggedinHandler.java b/src/net/server/channel/handlers/PlayerLoggedinHandler.java index 6ddefbba5c..fed813dc9e 100644 --- a/src/net/server/channel/handlers/PlayerLoggedinHandler.java +++ b/src/net/server/channel/handlers/PlayerLoggedinHandler.java @@ -51,9 +51,6 @@ import client.inventory.MaplePet; import client.inventory.PetDataFactory; import constants.GameConstants; import constants.ServerConstants; -import java.lang.ref.WeakReference; -import java.util.concurrent.ScheduledFuture; -import server.TimerManager; public final class PlayerLoggedinHandler extends AbstractMaplePacketHandler { @@ -152,7 +149,6 @@ public final class PlayerLoggedinHandler extends AbstractMaplePacketHandler { con.close(); } } catch (SQLException ex) { - //ignore ex.printStackTrace(); } } @@ -226,13 +222,17 @@ public final class PlayerLoggedinHandler extends AbstractMaplePacketHandler { player.showNote(); if (player.getParty() != null) { MaplePartyCharacter pchar = player.getMPC(); + + //Use this in case of enabling party HPbar HUD when logging in, however "you created a party" will appear on chat. + //c.announce(MaplePacketCreator.partyCreated(pchar)); + pchar.setChannel(c.getChannel()); pchar.setMapId(player.getMapId()); pchar.setOnline(true); world.updateParty(player.getParty().getId(), PartyOperation.LOG_ONOFF, pchar); + player.updatePartyMemberHP(); } - player.updatePartyMemberHP(); - + if (player.getInventory(MapleInventoryType.EQUIPPED).findById(1122017) != null) { player.equipPendantOfSpirit(); } @@ -258,7 +258,6 @@ public final class PlayerLoggedinHandler extends AbstractMaplePacketHandler { player.changeSkillLevel(SkillFactory.getSkill(10000000 * player.getJobType() + 12), (byte) (player.getLinkedLevel() / 10), 20, -1); player.checkBerserk(player.isHidden()); player.expirationTask(); - //player.setWorldRates(); if (GameConstants.hasSPTable(player.getJob()) && player.getJob().getId() != 2001) { player.createDragon(); } @@ -277,7 +276,6 @@ public final class PlayerLoggedinHandler extends AbstractMaplePacketHandler { if (player.getMap().getHPDec() > 0) player.resetHpDecreaseTask(); player.resetPlayerRates(); - if(ServerConstants.USE_ADD_RATES_BY_LEVEL == true) player.setPlayerRates(); player.setWorldRates(); player.updateCouponRates(); diff --git a/src/net/server/channel/handlers/RangedAttackHandler.java b/src/net/server/channel/handlers/RangedAttackHandler.java index 3401de9493..e4124d6fb0 100644 --- a/src/net/server/channel/handlers/RangedAttackHandler.java +++ b/src/net/server/channel/handlers/RangedAttackHandler.java @@ -74,7 +74,6 @@ public final class RangedAttackHandler extends AbstractDealDamageHandler { if (player.getMap().isDojoMap() && attack.numAttacked > 0) { player.setDojoEnergy(player.getDojoEnergy() + ServerConstants.DOJO_ENERGY_ATK); c.announce(MaplePacketCreator.getEnergy("energy", player.getDojoEnergy())); - System.out.println("gauge " + player.getDojoEnergy()); } if (attack.skill == Buccaneer.ENERGY_ORB || attack.skill == ThunderBreaker.SPARK || attack.skill == Shadower.TAUNT || attack.skill == NightLord.TAUNT) { diff --git a/src/net/server/channel/handlers/TakeDamageHandler.java b/src/net/server/channel/handlers/TakeDamageHandler.java index 23de7cb005..ab45b0b313 100644 --- a/src/net/server/channel/handlers/TakeDamageHandler.java +++ b/src/net/server/channel/handlers/TakeDamageHandler.java @@ -236,7 +236,6 @@ public final class TakeDamageHandler extends AbstractMaplePacketHandler { if (GameConstants.isDojo(map.getId())) { player.setDojoEnergy(player.getDojoEnergy() + ServerConstants.DOJO_ENERGY_DMG); c.announce(MaplePacketCreator.getEnergy("energy", player.getDojoEnergy())); - System.out.println("gauge " + player.getDojoEnergy()); } for (MapleCharacter chr : banishPlayers) { // chill, if this list ever gets non-empty an attacker does exist, trust me :) diff --git a/src/net/server/channel/handlers/UseItemHandler.java b/src/net/server/channel/handlers/UseItemHandler.java index 188db87b10..2ef6104c63 100644 --- a/src/net/server/channel/handlers/UseItemHandler.java +++ b/src/net/server/channel/handlers/UseItemHandler.java @@ -59,6 +59,7 @@ public final class UseItemHandler extends AbstractMaplePacketHandler { return; } else if (itemId == 2050002) { c.getPlayer().dispelDebuff(MapleDisease.WEAKEN); + c.getPlayer().dispelDebuff(MapleDisease.SLOW); remove(c, slot); return; } else if (itemId == 2050003) { diff --git a/src/scripting/AbstractPlayerInteraction.java b/src/scripting/AbstractPlayerInteraction.java index 064b28f99e..6289b1d82d 100644 --- a/src/scripting/AbstractPlayerInteraction.java +++ b/src/scripting/AbstractPlayerInteraction.java @@ -801,6 +801,16 @@ public class AbstractPlayerInteraction { public void goDojoUp() { c.announce(MaplePacketCreator.dojoWarpUp()); } + + public void resetDojoEnergy() { + c.getPlayer().setDojoEnergy(0); + } + + public void resetPartyDojoEnergy() { + for(MapleCharacter pchr: c.getPlayer().getPartyMembersOnSameMap()) { + pchr.setDojoEnergy(0); + } + } public void enableActions() { c.announce(MaplePacketCreator.enableActions()); diff --git a/src/server/MapleStatEffect.java b/src/server/MapleStatEffect.java index c5d5291ed8..415aa5f76e 100644 --- a/src/server/MapleStatEffect.java +++ b/src/server/MapleStatEffect.java @@ -754,6 +754,8 @@ public class MapleStatEffect { applyto.dispelDebuffs(); } else if (isHeroWill()) { applyto.dispelDebuff(MapleDisease.SEDUCE); + applyto.dispelDebuff(MapleDisease.ZOMBIFY); + applyto.dispelDebuffs(); } if (isComboReset()) { applyto.setCombo((short) 0); @@ -763,7 +765,7 @@ public class MapleStatEffect { } */ if (hpchange != 0) { if (hpchange < 0 && (-hpchange) >= applyto.getHp() && (!applyto.hasDisease(MapleDisease.ZOMBIFY) || hpCon > 0)) { - if(!ServerConstants.USE_PERMISSIVE_BUFFS) { + if(!applyto.isGM()) { applyto.getClient().announce(MaplePacketCreator.enableActions()); return false; } @@ -778,7 +780,7 @@ public class MapleStatEffect { int newMp = applyto.getMp() + mpchange; if (mpchange != 0) { if (mpchange < 0 && -mpchange > applyto.getMp()) { - if(!ServerConstants.USE_PERMISSIVE_BUFFS) { + if(!applyto.isGM()) { applyto.getClient().announce(MaplePacketCreator.enableActions()); return false; } diff --git a/src/server/MapleTrade.java b/src/server/MapleTrade.java index 0768c5a942..ae3ca15cc8 100644 --- a/src/server/MapleTrade.java +++ b/src/server/MapleTrade.java @@ -22,24 +22,24 @@ package server; import java.util.ArrayList; -import java.util.LinkedHashMap; import java.util.LinkedList; import java.util.List; -import java.util.Map; import java.util.concurrent.atomic.AtomicBoolean; import tools.LogHelper; import tools.MaplePacketCreator; import client.MapleCharacter; import client.inventory.Item; +import client.inventory.MapleInventory; import client.inventory.MapleInventoryType; import constants.ItemConstants; import constants.ServerConstants; +import tools.Pair; /** * * @author Matze - * @author Ronan (concurrency safety) + * @author Ronan (concurrency safety & check available slots) */ public class MapleTrade { private MapleTrade partner = null; @@ -192,22 +192,12 @@ public class MapleTrade { } private boolean fitsInInventory() { - MapleItemInformationProvider mii = MapleItemInformationProvider.getInstance(); - Map neededSlots = new LinkedHashMap<>(); + List> tradeItems = new LinkedList<>(); for (Item item : exchangeItems) { - MapleInventoryType type = mii.getInventoryType(item.getItemId()); - if (neededSlots.get(type) == null) { - neededSlots.put(type, 1); - } else { - neededSlots.put(type, neededSlots.get(type) + 1); - } + tradeItems.add(new Pair(item, MapleItemInformationProvider.getInstance().getInventoryType(item.getItemId()))); } - for (Map.Entry entry : neededSlots.entrySet()) { - if (chr.getInventory(entry.getKey()).isFull(entry.getValue() - 1)) { - return false; - } - } - return true; + + return MapleInventory.checkSpotsAndOwnership(chr, tradeItems); } public static void completeTrade(MapleCharacter c) { diff --git a/src/server/life/MapleLifeFactory.java b/src/server/life/MapleLifeFactory.java index d57700f80f..52c28415ea 100644 --- a/src/server/life/MapleLifeFactory.java +++ b/src/server/life/MapleLifeFactory.java @@ -72,7 +72,7 @@ public class MapleLifeFactory { stats.setMp(MapleDataTool.getIntConvert("maxMP", monsterInfoData, 0)); stats.setExp(MapleDataTool.getIntConvert("exp", monsterInfoData, 0)); stats.setLevel(MapleDataTool.getIntConvert("level", monsterInfoData)); - stats.setRemoveAfter(MapleDataTool.getIntConvert("removeAfter", monsterInfoData, 0)); + stats.setRemoveAfter(MapleDataTool.getIntConvert("removeAfter", monsterInfoData, 0)); stats.setBoss(MapleDataTool.getIntConvert("boss", monsterInfoData, 0) > 0); stats.setExplosiveReward(MapleDataTool.getIntConvert("explosiveReward", monsterInfoData, 0) > 0); stats.setFfaLoot(MapleDataTool.getIntConvert("publicReward", monsterInfoData, 0) > 0); diff --git a/src/server/maps/MapleMap.java b/src/server/maps/MapleMap.java index 41e9a888bf..88d3c42a4e 100644 --- a/src/server/maps/MapleMap.java +++ b/src/server/maps/MapleMap.java @@ -526,7 +526,10 @@ public class MapleMap { if (chr.getBuffedValue(MapleBuffStat.MESOUP) != null) { mesos = (int) (mesos * chr.getBuffedValue(MapleBuffStat.MESOUP).doubleValue() / 100.0); } - spawnMesoDrop(mesos * chr.getMesoRate(), calcDropPos(pos, mob.getPosition()), mob, chr, false, droptype); + mesos = mesos * chr.getMesoRate(); + if(mesos <= 0) mesos = Integer.MAX_VALUE; + + spawnMesoDrop(mesos, calcDropPos(pos, mob.getPosition()), mob, chr, false, droptype); } } else { if (ItemConstants.getInventoryType(de.itemId) == MapleInventoryType.EQUIP) { @@ -1468,7 +1471,7 @@ public class MapleMap { } else if (monster.getId() == 9300093) { monsterItemDrop(monster, new Item(4031495, (short) 0, (short) 1), monster.getDropPeriodTime()); } else { - FilePrinter.printError(FilePrinter.UNHANDLED_EVENT, "UNCODED TIMED MOB DETECTED: " + monster.getId()); + FilePrinter.printError(FilePrinter.UNHANDLED_EVENT, "UNCODED TIMED MOB DETECTED: " + monster.getId() + "\r\n"); } } spawnedMonstersOnMap.incrementAndGet(); diff --git a/src/server/maps/MapleMapItem.java b/src/server/maps/MapleMapItem.java index e84bbb20e2..68cf6228bc 100644 --- a/src/server/maps/MapleMapItem.java +++ b/src/server/maps/MapleMapItem.java @@ -77,9 +77,7 @@ public class MapleMapItem extends AbstractMapleMapObject { } public final int getItemId() { - if (getMeso() > 0) { - return meso; - } + if (meso > 0) return meso; return item.getItemId(); } diff --git a/src/tools/MaplePacketCreator.java b/src/tools/MaplePacketCreator.java index 9df6a26f1c..90eed55360 100644 --- a/src/tools/MaplePacketCreator.java +++ b/src/tools/MaplePacketCreator.java @@ -4234,7 +4234,7 @@ public class MaplePacketCreator { return mplew.getPacket(); } - public static void addPetInfo(final MaplePacketLittleEndianWriter mplew, MaplePet pet, boolean showpet) { + private static void addPetInfo(final MaplePacketLittleEndianWriter mplew, MaplePet pet, boolean showpet) { mplew.write(1); if (showpet) { mplew.write(0); diff --git a/wz/Etc.wz/Commodity.img.xml b/wz/Etc.wz/Commodity.img.xml index 4fbc9f16ca..72f16151c1 100644 --- a/wz/Etc.wz/Commodity.img.xml +++ b/wz/Etc.wz/Commodity.img.xml @@ -79831,11 +79831,11 @@ - + - + @@ -82212,11 +82212,11 @@ - + - + - + diff --git a/wz/Map.wz/Map/Map1/103000000.img.xml b/wz/Map.wz/Map/Map1/103000000.img.xml index 2e741bf411..597375e1c5 100644 --- a/wz/Map.wz/Map/Map1/103000000.img.xml +++ b/wz/Map.wz/Map/Map1/103000000.img.xml @@ -1,15200 +1,19 @@ - - - - - + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -15204,442 +23,15627 @@ - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - - - - - + + + + + + - - - - - - - - - - + + + + + + - - - - - - - - - - + + + + + + - - - - - - - - - - + + + + + + - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + - - + + + - - + - - + + + - - + + - - + + - - + + - - + + - - + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/wz/Map.wz/Map/Map1/191000000.img.xml b/wz/Map.wz/Map/Map1/191000000.img.xml index 47d76f3326..ffba4bc5d8 100644 --- a/wz/Map.wz/Map/Map1/191000000.img.xml +++ b/wz/Map.wz/Map/Map1/191000000.img.xml @@ -1,5823 +1,20 @@ - - - - - - + + - + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -5828,134 +25,5860 @@ - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/wz/Map.wz/Map/Map1/196000000.img.xml b/wz/Map.wz/Map/Map1/196000000.img.xml index e86e958ba5..85a21bd5a7 100644 --- a/wz/Map.wz/Map/Map1/196000000.img.xml +++ b/wz/Map.wz/Map/Map1/196000000.img.xml @@ -125,7 +125,7 @@ - + @@ -138,7 +138,7 @@ - + @@ -151,7 +151,7 @@ - + @@ -164,7 +164,7 @@ - + @@ -177,7 +177,7 @@ - + @@ -190,7 +190,7 @@ - + @@ -203,7 +203,7 @@ - + @@ -216,7 +216,7 @@ - + @@ -229,7 +229,7 @@ - + @@ -242,7 +242,7 @@ - + @@ -255,7 +255,7 @@ - + @@ -268,7 +268,7 @@ - + @@ -281,7 +281,7 @@ - + @@ -294,7 +294,7 @@ - + @@ -307,7 +307,7 @@ - + @@ -320,7 +320,7 @@ - + @@ -333,7 +333,7 @@ - + @@ -346,7 +346,7 @@ - + @@ -359,7 +359,7 @@ - + @@ -372,7 +372,7 @@ - + @@ -385,7 +385,7 @@ - + @@ -398,7 +398,7 @@ - + @@ -411,7 +411,7 @@ - + diff --git a/wz/Map.wz/Map/Map9/970032200.img.xml b/wz/Map.wz/Map/Map9/970032200.img.xml index 0b1d293e3c..ea36c1203c 100644 --- a/wz/Map.wz/Map/Map9/970032200.img.xml +++ b/wz/Map.wz/Map/Map9/970032200.img.xml @@ -1,408 +1,437 @@ - + - - - - + + + + + + - - - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + - - + + - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + - - + + - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - + + + + - - - - + + - - + + - - + + - - + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -420,169 +449,9 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -590,7 +459,7 @@ - + @@ -598,7 +467,15 @@ - + + + + + + + + + @@ -606,7 +483,31 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + @@ -614,64 +515,165 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - + - - - - - - + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + diff --git a/wz/Map.wz/Map/Map9/970032201.img.xml b/wz/Map.wz/Map/Map9/970032201.img.xml index 40e4ce1a58..14e1aea874 100644 --- a/wz/Map.wz/Map/Map9/970032201.img.xml +++ b/wz/Map.wz/Map/Map9/970032201.img.xml @@ -1,408 +1,437 @@ - + - - - - + + + + + + - - - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + - - + + - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + - - + + - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - + + + + - - - - + + - - + + - - + + - - + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -420,169 +449,9 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -590,7 +459,7 @@ - + @@ -598,7 +467,15 @@ - + + + + + + + + + @@ -606,7 +483,31 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + @@ -614,64 +515,162 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - + - - - - - - + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + diff --git a/wz/Map.wz/Map/Map9/970032202.img.xml b/wz/Map.wz/Map/Map9/970032202.img.xml index 5aeafcdb1b..c4a2670e23 100644 --- a/wz/Map.wz/Map/Map9/970032202.img.xml +++ b/wz/Map.wz/Map/Map9/970032202.img.xml @@ -1,408 +1,437 @@ - + - - - - + + + + + + - - - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + - - + + - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + - - + + - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - + + + + - - - - + + - - + + - - + + - - + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -420,169 +449,9 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -590,7 +459,7 @@ - + @@ -598,7 +467,15 @@ - + + + + + + + + + @@ -606,7 +483,31 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + @@ -614,64 +515,161 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - + - - - - - - + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + diff --git a/wz/Map.wz/Map/Map9/970032203.img.xml b/wz/Map.wz/Map/Map9/970032203.img.xml index 5c15ba2338..e8c7a0a0fb 100644 --- a/wz/Map.wz/Map/Map9/970032203.img.xml +++ b/wz/Map.wz/Map/Map9/970032203.img.xml @@ -1,408 +1,437 @@ - + - - - - + + + + + + - - - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + - - + + - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + - - + + - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - + + + + - - - - + + - - + + - - + + - - + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -420,169 +449,9 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -590,7 +459,7 @@ - + @@ -598,7 +467,15 @@ - + + + + + + + + + @@ -606,7 +483,31 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + @@ -614,64 +515,161 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - + - - - - - - + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + diff --git a/wz/Map.wz/Map/Map9/970032204.img.xml b/wz/Map.wz/Map/Map9/970032204.img.xml index 4380a1f44a..5d2085a9f0 100644 --- a/wz/Map.wz/Map/Map9/970032204.img.xml +++ b/wz/Map.wz/Map/Map9/970032204.img.xml @@ -1,408 +1,437 @@ - + - - - - + + + + + + - - - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + - - + + - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + - - + + - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - + + + + - - - - + + - - + + - - + + - - + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -420,169 +449,9 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -590,7 +459,7 @@ - + @@ -598,7 +467,15 @@ - + + + + + + + + + @@ -606,7 +483,31 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + @@ -614,64 +515,161 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - + - - - - - - + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + diff --git a/wz/Map.wz/Map/Map9/970032205.img.xml b/wz/Map.wz/Map/Map9/970032205.img.xml index a631ef1776..95e9907fe5 100644 --- a/wz/Map.wz/Map/Map9/970032205.img.xml +++ b/wz/Map.wz/Map/Map9/970032205.img.xml @@ -1,408 +1,437 @@ - + - - - - + + + + + + - - - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + - - + + - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + - - + + - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - + + + + - - - - + + - - + + - - + + - - + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -420,169 +449,9 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -590,7 +459,7 @@ - + @@ -598,7 +467,15 @@ - + + + + + + + + + @@ -606,7 +483,31 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + @@ -614,64 +515,161 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - + - - - - - - + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + diff --git a/wz/Map.wz/Map/Map9/970032206.img.xml b/wz/Map.wz/Map/Map9/970032206.img.xml index 2373cd3da0..c7af904c9b 100644 --- a/wz/Map.wz/Map/Map9/970032206.img.xml +++ b/wz/Map.wz/Map/Map9/970032206.img.xml @@ -1,408 +1,437 @@ - + - - - - + + + + + + - - - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + - - + + - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + - - + + - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - + + + + - - - - + + - - + + - - + + - - + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -420,169 +449,9 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -590,7 +459,7 @@ - + @@ -598,7 +467,15 @@ - + + + + + + + + + @@ -606,7 +483,31 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + @@ -614,64 +515,161 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - + - - - - - - + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + diff --git a/wz/Map.wz/Map/Map9/970032207.img.xml b/wz/Map.wz/Map/Map9/970032207.img.xml index cc6051e0e9..76da2b8cbc 100644 --- a/wz/Map.wz/Map/Map9/970032207.img.xml +++ b/wz/Map.wz/Map/Map9/970032207.img.xml @@ -1,408 +1,437 @@ - + - - - - + + + + + + - - - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + - - + + - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + - - + + - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - + + + + - - - - + + - - + + - - + + - - + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -420,169 +449,9 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -590,7 +459,7 @@ - + @@ -598,7 +467,15 @@ - + + + + + + + + + @@ -606,7 +483,31 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + @@ -614,64 +515,161 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - + - - - - - - + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + diff --git a/wz/Map.wz/Map/Map9/970032208.img.xml b/wz/Map.wz/Map/Map9/970032208.img.xml index c3ec6159c8..b02dde4dc2 100644 --- a/wz/Map.wz/Map/Map9/970032208.img.xml +++ b/wz/Map.wz/Map/Map9/970032208.img.xml @@ -1,408 +1,437 @@ - + - - - - + + + + + + - - - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + - - + + - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + - - + + - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - + + + + - - - - + + - - + + - - + + - - + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -420,169 +449,9 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -590,7 +459,7 @@ - + @@ -598,7 +467,15 @@ - + + + + + + + + + @@ -606,7 +483,31 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + @@ -614,64 +515,161 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - + - - - - - - + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + diff --git a/wz/Map.wz/Map/Map9/970032209.img.xml b/wz/Map.wz/Map/Map9/970032209.img.xml index 1ded979564..a43559f2fc 100644 --- a/wz/Map.wz/Map/Map9/970032209.img.xml +++ b/wz/Map.wz/Map/Map9/970032209.img.xml @@ -1,408 +1,437 @@ - + - - - - + + + + + + - - - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + - - + + - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + - - + + - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - + + + + - - - - + + - - + + - - + + - - + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -420,169 +449,9 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -590,7 +459,7 @@ - + @@ -598,7 +467,15 @@ - + + + + + + + + + @@ -606,7 +483,31 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + @@ -614,64 +515,161 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - + - - - - - - + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + diff --git a/wz/Map.wz/Map/Map9/970032210.img.xml b/wz/Map.wz/Map/Map9/970032210.img.xml index 3787d19142..b90840f747 100644 --- a/wz/Map.wz/Map/Map9/970032210.img.xml +++ b/wz/Map.wz/Map/Map9/970032210.img.xml @@ -1,408 +1,437 @@ - + - - - - + + + + + + - - - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + - - + + - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + - - + + - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - + + + + - - - - + + - - + + - - + + - - + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -420,169 +449,9 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -590,7 +459,7 @@ - + @@ -598,7 +467,15 @@ - + + + + + + + + + @@ -606,7 +483,31 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + @@ -614,64 +515,161 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - + - - - - - - + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + diff --git a/wz/Map.wz/Map/Map9/970032211.img.xml b/wz/Map.wz/Map/Map9/970032211.img.xml index ccc689e86f..71ccb535ec 100644 --- a/wz/Map.wz/Map/Map9/970032211.img.xml +++ b/wz/Map.wz/Map/Map9/970032211.img.xml @@ -1,408 +1,437 @@ - + - - - - + + + + + + - - - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + - - + + - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + - - + + - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - + + + + - - - - + + - - + + - - + + - - + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -420,169 +449,9 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -590,7 +459,7 @@ - + @@ -598,7 +467,15 @@ - + + + + + + + + + @@ -606,7 +483,31 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + @@ -614,64 +515,161 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - + - - - - - - + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + diff --git a/wz/Map.wz/Map/Map9/970042200.img.xml b/wz/Map.wz/Map/Map9/970042200.img.xml index 1d1cfc83e8..ea69fa923e 100644 --- a/wz/Map.wz/Map/Map9/970042200.img.xml +++ b/wz/Map.wz/Map/Map9/970042200.img.xml @@ -1,408 +1,437 @@ - + - - - - + + + + + + - - - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + - - + + - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + - - + + - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - + + + + - - - - + + - - + + - - + + - - + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -420,169 +449,9 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -590,7 +459,7 @@ - + @@ -598,7 +467,15 @@ - + + + + + + + + + @@ -606,7 +483,31 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + @@ -614,64 +515,161 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - + - - - - - - + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + diff --git a/wz/Map.wz/Map/Map9/970042201.img.xml b/wz/Map.wz/Map/Map9/970042201.img.xml index e54e77c678..a5e3ca4385 100644 --- a/wz/Map.wz/Map/Map9/970042201.img.xml +++ b/wz/Map.wz/Map/Map9/970042201.img.xml @@ -1,408 +1,437 @@ - + - - - - + + + + + + - - - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + - - + + - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + - - + + - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - + + + + - - - - + + - - + + - - + + - - + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -420,169 +449,9 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -590,7 +459,7 @@ - + @@ -598,7 +467,15 @@ - + + + + + + + + + @@ -606,7 +483,31 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + @@ -614,64 +515,161 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - + - - - - - - + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + diff --git a/wz/Map.wz/Map/Map9/970042202.img.xml b/wz/Map.wz/Map/Map9/970042202.img.xml index 37f16a8b8c..343b4ac22b 100644 --- a/wz/Map.wz/Map/Map9/970042202.img.xml +++ b/wz/Map.wz/Map/Map9/970042202.img.xml @@ -1,408 +1,437 @@ - + - - - - + + + + + + - - - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + - - + + - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + - - + + - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - + + + + - - - - + + - - + + - - + + - - + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -420,169 +449,9 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -590,7 +459,7 @@ - + @@ -598,7 +467,15 @@ - + + + + + + + + + @@ -606,7 +483,31 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + @@ -614,64 +515,161 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - + - - - - - - + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + diff --git a/wz/Map.wz/Map/Map9/970042203.img.xml b/wz/Map.wz/Map/Map9/970042203.img.xml index 3dded2837d..b20bdb7575 100644 --- a/wz/Map.wz/Map/Map9/970042203.img.xml +++ b/wz/Map.wz/Map/Map9/970042203.img.xml @@ -1,408 +1,437 @@ - + - - - - + + + + + + - - - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + - - + + - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + - - + + - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - + + + + - - - - + + - - + + - - + + - - + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -420,169 +449,9 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -590,7 +459,7 @@ - + @@ -598,7 +467,15 @@ - + + + + + + + + + @@ -606,7 +483,31 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + @@ -614,64 +515,161 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - + - - - - - - + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + diff --git a/wz/Map.wz/Map/Map9/970042204.img.xml b/wz/Map.wz/Map/Map9/970042204.img.xml index 638da51f26..9d7025dd95 100644 --- a/wz/Map.wz/Map/Map9/970042204.img.xml +++ b/wz/Map.wz/Map/Map9/970042204.img.xml @@ -1,408 +1,437 @@ - + - - - - + + + + + + - - - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + - - + + - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + - - + + - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - + + + + - - - - + + - - + + - - + + - - + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -420,169 +449,9 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -590,7 +459,7 @@ - + @@ -598,7 +467,15 @@ - + + + + + + + + + @@ -606,7 +483,31 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + @@ -614,64 +515,161 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - + - - - - - - + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + diff --git a/wz/Map.wz/Map/Map9/970042205.img.xml b/wz/Map.wz/Map/Map9/970042205.img.xml index 81edd2e56e..eeabc1d39b 100644 --- a/wz/Map.wz/Map/Map9/970042205.img.xml +++ b/wz/Map.wz/Map/Map9/970042205.img.xml @@ -1,408 +1,437 @@ - + - - - - + + + + + + - - - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + - - + + - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + - - + + - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - + + + + - - - - + + - - + + - - + + - - + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -420,169 +449,9 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -590,7 +459,7 @@ - + @@ -598,7 +467,15 @@ - + + + + + + + + + @@ -606,7 +483,31 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + @@ -614,64 +515,161 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - + - - - - - - + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + diff --git a/wz/Map.wz/Map/Map9/970042206.img.xml b/wz/Map.wz/Map/Map9/970042206.img.xml index 38e147329a..8bde507e09 100644 --- a/wz/Map.wz/Map/Map9/970042206.img.xml +++ b/wz/Map.wz/Map/Map9/970042206.img.xml @@ -1,408 +1,437 @@ - + - - - - + + + + + + - - - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + - - + + - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + - - + + - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - + + + + - - - - + + - - + + - - + + - - + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -420,169 +449,9 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -590,7 +459,7 @@ - + @@ -598,7 +467,15 @@ - + + + + + + + + + @@ -606,7 +483,31 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + @@ -614,64 +515,161 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - + - - - - - - + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + diff --git a/wz/Map.wz/Map/Map9/970042207.img.xml b/wz/Map.wz/Map/Map9/970042207.img.xml index d6e82a0d5a..7d7189df64 100644 --- a/wz/Map.wz/Map/Map9/970042207.img.xml +++ b/wz/Map.wz/Map/Map9/970042207.img.xml @@ -1,408 +1,437 @@ - + - - - - + + + + + + - - - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + - - + + - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + - - + + - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - + + + + - - - - + + - - + + - - + + - - + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -420,169 +449,9 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -590,7 +459,7 @@ - + @@ -598,7 +467,15 @@ - + + + + + + + + + @@ -606,7 +483,31 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + @@ -614,64 +515,161 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - + - - - - - - + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + diff --git a/wz/Map.wz/Map/Map9/970042208.img.xml b/wz/Map.wz/Map/Map9/970042208.img.xml index 3357080185..2e0c8c9c20 100644 --- a/wz/Map.wz/Map/Map9/970042208.img.xml +++ b/wz/Map.wz/Map/Map9/970042208.img.xml @@ -1,408 +1,437 @@ - + - - - - + + + + + + - - - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + - - + + - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + - - + + - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - + + + + - - - - + + - - + + - - + + - - + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -420,169 +449,9 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -590,7 +459,7 @@ - + @@ -598,7 +467,15 @@ - + + + + + + + + + @@ -606,7 +483,31 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + @@ -614,64 +515,161 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - + - - - - - - + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + diff --git a/wz/Map.wz/Map/Map9/970042209.img.xml b/wz/Map.wz/Map/Map9/970042209.img.xml index 303f66907e..47797219d2 100644 --- a/wz/Map.wz/Map/Map9/970042209.img.xml +++ b/wz/Map.wz/Map/Map9/970042209.img.xml @@ -1,408 +1,437 @@ - + - - - - + + + + + + - - - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + - - + + - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + - - + + - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - + + + + - - - - + + - - + + - - + + - - + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -420,169 +449,9 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -590,7 +459,7 @@ - + @@ -598,7 +467,15 @@ - + + + + + + + + + @@ -606,7 +483,31 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + @@ -614,64 +515,161 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - + - - - - - - + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + diff --git a/wz/Map.wz/Map/Map9/970042210.img.xml b/wz/Map.wz/Map/Map9/970042210.img.xml index 014263ee63..3666b9d6d0 100644 --- a/wz/Map.wz/Map/Map9/970042210.img.xml +++ b/wz/Map.wz/Map/Map9/970042210.img.xml @@ -1,408 +1,437 @@ - + - - - - + + + + + + - - - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + - - + + - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + - - + + - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - + + + + - - - - + + - - + + - - + + - - + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -420,169 +449,9 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -590,7 +459,7 @@ - + @@ -598,7 +467,15 @@ - + + + + + + + + + @@ -606,7 +483,31 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + @@ -614,64 +515,161 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - + - - - - - - + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + diff --git a/wz/Map.wz/Map/Map9/970042211.img.xml b/wz/Map.wz/Map/Map9/970042211.img.xml index 78cd99f8ab..4f2ea42f80 100644 --- a/wz/Map.wz/Map/Map9/970042211.img.xml +++ b/wz/Map.wz/Map/Map9/970042211.img.xml @@ -1,408 +1,437 @@ - + - - - - + + + + + + - - - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + - - + + - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + - - + + - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - + + + + - - - - + + - - + + - - + + - - + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -420,169 +449,9 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -590,7 +459,7 @@ - + @@ -598,7 +467,15 @@ - + + + + + + + + + @@ -606,7 +483,31 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + @@ -614,64 +515,161 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - + - - - - - - + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + diff --git a/wz/Map.wz/Map/Map9/970042212.img.xml b/wz/Map.wz/Map/Map9/970042212.img.xml index 8c2d7c443a..c15107c7eb 100644 --- a/wz/Map.wz/Map/Map9/970042212.img.xml +++ b/wz/Map.wz/Map/Map9/970042212.img.xml @@ -1,408 +1,437 @@ - + - - - - + + + + + + - - - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + - - + + - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + - - + + - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - + + + + - - - - + + - - + + - - + + - - + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -420,169 +449,9 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -590,7 +459,7 @@ - + @@ -598,7 +467,15 @@ - + + + + + + + + + @@ -606,7 +483,31 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + @@ -614,64 +515,161 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - + - - - - - - + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + diff --git a/wz/Map.wz/Map/Map9/970042213.img.xml b/wz/Map.wz/Map/Map9/970042213.img.xml index d034d18980..a5f81079c9 100644 --- a/wz/Map.wz/Map/Map9/970042213.img.xml +++ b/wz/Map.wz/Map/Map9/970042213.img.xml @@ -1,408 +1,437 @@ - + - - - - + + + + + + - - - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + - - + + - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + - - + + - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - + + + + - - - - + + - - + + - - + + - - + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -420,169 +449,9 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -590,7 +459,7 @@ - + @@ -598,7 +467,15 @@ - + + + + + + + + + @@ -606,7 +483,31 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + @@ -614,64 +515,161 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - + - - - - - - + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + diff --git a/wz/Map.wz/Map/Map9/970042214.img.xml b/wz/Map.wz/Map/Map9/970042214.img.xml index 69211c3a49..830bd4bff9 100644 --- a/wz/Map.wz/Map/Map9/970042214.img.xml +++ b/wz/Map.wz/Map/Map9/970042214.img.xml @@ -1,408 +1,437 @@ - + - - - - + + + + + + - - - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + - - + + - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + - - + + - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - + + + + - - - - + + - - + + - - + + - - + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -420,169 +449,9 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -590,7 +459,7 @@ - + @@ -598,7 +467,15 @@ - + + + + + + + + + @@ -606,7 +483,31 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + @@ -614,64 +515,161 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - + - - - - - - + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + diff --git a/wz/Map.wz/Map/Map9/970042215.img.xml b/wz/Map.wz/Map/Map9/970042215.img.xml index adb47b2418..d4909ae887 100644 --- a/wz/Map.wz/Map/Map9/970042215.img.xml +++ b/wz/Map.wz/Map/Map9/970042215.img.xml @@ -1,408 +1,437 @@ - + - - - - + + + + + + - - - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + - - + + - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + - - + + - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - + + + + - - - - + + - - + + - - + + - - + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -420,169 +449,9 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -590,7 +459,7 @@ - + @@ -598,7 +467,15 @@ - + + + + + + + + + @@ -606,7 +483,31 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + @@ -614,64 +515,161 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - + - - - - - - + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + diff --git a/wz/Map.wz/Map/Map9/970042216.img.xml b/wz/Map.wz/Map/Map9/970042216.img.xml index b879d52790..d45cb9985f 100644 --- a/wz/Map.wz/Map/Map9/970042216.img.xml +++ b/wz/Map.wz/Map/Map9/970042216.img.xml @@ -1,408 +1,437 @@ - + - - - - + + + + + + - - - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + - - + + - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + - - + + - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - + + + + - - - - + + - - + + - - + + - - + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -420,169 +449,9 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -590,7 +459,7 @@ - + @@ -598,7 +467,15 @@ - + + + + + + + + + @@ -606,7 +483,31 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + @@ -614,64 +515,161 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - + - - - - - - + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + diff --git a/wz/Map.wz/Map/Map9/970042217.img.xml b/wz/Map.wz/Map/Map9/970042217.img.xml index f39ebae35e..84ae1b7b9a 100644 --- a/wz/Map.wz/Map/Map9/970042217.img.xml +++ b/wz/Map.wz/Map/Map9/970042217.img.xml @@ -1,408 +1,437 @@ - + - - - - + + + + + + - - - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + - - + + - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + - - + + - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - + + + + - - - - + + - - + + - - + + - - + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -420,169 +449,9 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -590,7 +459,7 @@ - + @@ -598,7 +467,15 @@ - + + + + + + + + + @@ -606,7 +483,31 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + @@ -614,64 +515,161 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - + - - - - - - + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + diff --git a/wz/Mob.wz/9400606.img.xml b/wz/Mob.wz/9400606.img.xml index 1acd444b3f..3f6a92125a 100644 --- a/wz/Mob.wz/9400606.img.xml +++ b/wz/Mob.wz/9400606.img.xml @@ -17,6 +17,10 @@ + + + + diff --git a/wz/UI.wz/UIWindow.img.xml b/wz/UI.wz/UIWindow.img.xml index cfabf4b85c..61e2b100df 100644 --- a/wz/UI.wz/UIWindow.img.xml +++ b/wz/UI.wz/UIWindow.img.xml @@ -10190,6 +10190,10 @@ + + + +