From 40add9a2181ef5cb2d8804eeb01c0a190d6c8ee5 Mon Sep 17 00:00:00 2001 From: mekolat Date: Wed, 30 Mar 2016 19:52:24 -0400 Subject: slowly getting things done explain the debug spell is deprecated upmarmu typo cooldown fix make maps with updated converter, make nodes update permissions --- world/map/conf/magic-anchors.sex | 66 -- world/map/conf/magic-config.sex | 68 -- world/map/conf/magic-misc.sex | 105 --- world/map/conf/magic-procedures.sex | 340 ------- world/map/conf/magic-quickdebug.sex | 10 - world/map/db/item_db_head.txt | 2 +- world/map/db/params.txt | 2 + world/map/npc/001-1/_import.txt | 1 + world/map/npc/001-1/_mobs.txt | 31 +- world/map/npc/001-1/_nodes.txt | 4 + world/map/npc/001-2/_import.txt | 1 + world/map/npc/001-2/_mobs.txt | 6 - world/map/npc/001-2/_nodes.txt | 16 + world/map/npc/001-3/_import.txt | 1 + world/map/npc/001-3/_mobs.txt | 13 +- world/map/npc/001-3/_nodes.txt | 4 + world/map/npc/002-1/_import.txt | 1 + world/map/npc/002-1/_mobs.txt | 57 +- world/map/npc/002-1/_nodes.txt | 4 + world/map/npc/002-1/elanore.txt | 2 - world/map/npc/002-2/_import.txt | 1 + world/map/npc/002-2/_mobs.txt | 6 - world/map/npc/002-2/_nodes.txt | 4 + world/map/npc/002-2/stranger.txt | 4 +- world/map/npc/002-3/_import.txt | 1 + world/map/npc/002-3/_mobs.txt | 6 - world/map/npc/002-3/_nodes.txt | 4 + world/map/npc/002-4/_import.txt | 1 + world/map/npc/002-4/_mobs.txt | 49 +- world/map/npc/002-4/_nodes.txt | 4 + world/map/npc/002-5/_import.txt | 1 + world/map/npc/002-5/_mobs.txt | 65 +- world/map/npc/002-5/_nodes.txt | 4 + world/map/npc/004-3/_import.txt | 1 + world/map/npc/004-3/_mobs.txt | 35 +- world/map/npc/004-3/_nodes.txt | 4 + world/map/npc/004-4/_import.txt | 1 + world/map/npc/004-4/_mobs.txt | 39 +- world/map/npc/004-4/_nodes.txt | 4 + world/map/npc/004-5/_import.txt | 1 + world/map/npc/004-5/_mobs.txt | 45 +- world/map/npc/004-5/_nodes.txt | 4 + world/map/npc/005-3/_import.txt | 1 + world/map/npc/005-3/_mobs.txt | 27 +- world/map/npc/005-3/_nodes.txt | 4 + world/map/npc/006-1/_import.txt | 1 + world/map/npc/006-1/_mobs.txt | 73 +- world/map/npc/006-1/_nodes.txt | 4 + world/map/npc/006-2/_import.txt | 1 + world/map/npc/006-2/_mobs.txt | 6 - world/map/npc/006-2/_nodes.txt | 4 + world/map/npc/006-3/_import.txt | 1 + world/map/npc/006-3/_mobs.txt | 78 +- world/map/npc/006-3/_nodes.txt | 4 + world/map/npc/007-1/_import.txt | 1 + world/map/npc/007-1/_mobs.txt | 69 +- world/map/npc/007-1/_nodes.txt | 4 + world/map/npc/007-2/_import.txt | 1 + world/map/npc/007-2/_mobs.txt | 6 - world/map/npc/007-2/_nodes.txt | 4 + world/map/npc/007-2/witch.txt | 38 +- world/map/npc/008-1/_import.txt | 1 + world/map/npc/008-1/_mobs.txt | 69 +- world/map/npc/008-1/_nodes.txt | 4 + world/map/npc/008-1/annualeaster.txt | 323 +++---- world/map/npc/009-1/_import.txt | 1 + world/map/npc/009-1/_mobs.txt | 36 +- world/map/npc/009-1/_nodes.txt | 4 + world/map/npc/009-2/_import.txt | 1 + world/map/npc/009-2/_mobs.txt | 6 - world/map/npc/009-2/_nodes.txt | 4 + world/map/npc/009-3/_import.txt | 1 + world/map/npc/009-3/_mobs.txt | 34 +- world/map/npc/009-3/_nodes.txt | 4 + world/map/npc/009-4/_import.txt | 1 + world/map/npc/009-4/_mobs.txt | 35 +- world/map/npc/009-4/_nodes.txt | 4 + world/map/npc/009-5/_import.txt | 1 + world/map/npc/009-5/_mobs.txt | 6 - world/map/npc/009-5/_nodes.txt | 4 + world/map/npc/009-6/_import.txt | 1 + world/map/npc/009-6/_mobs.txt | 6 - world/map/npc/009-6/_nodes.txt | 4 + world/map/npc/009-7/_import.txt | 1 + world/map/npc/009-7/_mobs.txt | 6 - world/map/npc/009-7/_nodes.txt | 4 + world/map/npc/010-1/_import.txt | 1 + world/map/npc/010-1/_mobs.txt | 92 +- world/map/npc/010-1/_nodes.txt | 4 + world/map/npc/010-2/_import.txt | 1 + world/map/npc/010-2/_mobs.txt | 6 - world/map/npc/010-2/_nodes.txt | 4 + world/map/npc/011-1/_import.txt | 1 + world/map/npc/011-1/_mobs.txt | 99 +- world/map/npc/011-1/_nodes.txt | 4 + world/map/npc/011-3/_import.txt | 1 + world/map/npc/011-3/_mobs.txt | 20 +- world/map/npc/011-3/_nodes.txt | 4 + world/map/npc/011-4/_import.txt | 1 + world/map/npc/011-4/_mobs.txt | 40 +- world/map/npc/011-4/_nodes.txt | 4 + world/map/npc/011-6/_import.txt | 1 + world/map/npc/011-6/_mobs.txt | 140 +-- world/map/npc/011-6/_nodes.txt | 4 + world/map/npc/012-1/_import.txt | 1 + world/map/npc/012-1/_mobs.txt | 83 +- world/map/npc/012-1/_nodes.txt | 4 + world/map/npc/012-3/_import.txt | 1 + world/map/npc/012-3/_mobs.txt | 53 +- world/map/npc/012-3/_nodes.txt | 4 + world/map/npc/012-4/_import.txt | 1 + world/map/npc/012-4/_mobs.txt | 174 ++-- world/map/npc/012-4/_nodes.txt | 4 + world/map/npc/013-1/_import.txt | 1 + world/map/npc/013-1/_mobs.txt | 91 +- world/map/npc/013-1/_nodes.txt | 4 + world/map/npc/013-2/_import.txt | 1 + world/map/npc/013-2/_mobs.txt | 6 - world/map/npc/013-2/_nodes.txt | 4 + world/map/npc/013-3/_import.txt | 1 + world/map/npc/013-3/_mobs.txt | 107 +-- world/map/npc/013-3/_nodes.txt | 4 + world/map/npc/014-1/_import.txt | 1 + world/map/npc/014-1/_mobs.txt | 98 +- world/map/npc/014-1/_nodes.txt | 4 + world/map/npc/014-3/_import.txt | 1 + world/map/npc/014-3/_mobs.txt | 13 +- world/map/npc/014-3/_nodes.txt | 4 + world/map/npc/015-1/_import.txt | 1 + world/map/npc/015-1/_mobs.txt | 76 +- world/map/npc/015-1/_nodes.txt | 4 + world/map/npc/015-3/_import.txt | 1 + world/map/npc/015-3/_mobs.txt | 29 +- world/map/npc/015-3/_nodes.txt | 4 + world/map/npc/016-1/_import.txt | 1 + world/map/npc/016-1/_mobs.txt | 66 +- world/map/npc/016-1/_nodes.txt | 4 + world/map/npc/017-1/_import.txt | 1 + world/map/npc/017-1/_mobs.txt | 117 +-- world/map/npc/017-1/_nodes.txt | 4 + world/map/npc/017-2/_import.txt | 1 + world/map/npc/017-2/_mobs.txt | 6 - world/map/npc/017-2/_nodes.txt | 4 + world/map/npc/017-3/_import.txt | 1 + world/map/npc/017-3/_mobs.txt | 6 - world/map/npc/017-3/_nodes.txt | 4 + world/map/npc/017-4/_import.txt | 1 + world/map/npc/017-4/_mobs.txt | 6 - world/map/npc/017-4/_nodes.txt | 4 + world/map/npc/017-9/_import.txt | 1 + world/map/npc/017-9/_mobs.txt | 6 - world/map/npc/017-9/_nodes.txt | 4 + world/map/npc/017-9/npcs.txt | 27 +- world/map/npc/018-1/_import.txt | 1 + world/map/npc/018-1/_mobs.txt | 125 +-- world/map/npc/018-1/_nodes.txt | 4 + world/map/npc/018-2/_import.txt | 1 + world/map/npc/018-2/_mobs.txt | 13 +- world/map/npc/018-2/_nodes.txt | 4 + world/map/npc/018-3/_import.txt | 1 + world/map/npc/018-3/_mobs.txt | 107 +-- world/map/npc/018-3/_nodes.txt | 4 + world/map/npc/019-1/_import.txt | 1 + world/map/npc/019-1/_mobs.txt | 34 +- world/map/npc/019-1/_nodes.txt | 4 + world/map/npc/019-3/_import.txt | 1 + world/map/npc/019-3/_mobs.txt | 20 +- world/map/npc/019-3/_nodes.txt | 4 + world/map/npc/019-4/_import.txt | 1 + world/map/npc/019-4/_mobs.txt | 34 +- world/map/npc/019-4/_nodes.txt | 4 + world/map/npc/020-1/_import.txt | 1 + world/map/npc/020-1/_mobs.txt | 13 +- world/map/npc/020-1/_nodes.txt | 4 + world/map/npc/020-2/_import.txt | 1 + world/map/npc/020-2/_mobs.txt | 6 - world/map/npc/020-2/_nodes.txt | 4 + world/map/npc/020-3/_import.txt | 1 + world/map/npc/020-3/_mobs.txt | 24 +- world/map/npc/020-3/_nodes.txt | 4 + world/map/npc/021-3/_import.txt | 1 + world/map/npc/021-3/_mobs.txt | 51 +- world/map/npc/021-3/_nodes.txt | 4 + world/map/npc/025-1/_import.txt | 1 + world/map/npc/025-1/_mobs.txt | 71 +- world/map/npc/025-1/_nodes.txt | 4 + world/map/npc/025-3/_import.txt | 1 + world/map/npc/025-3/_mobs.txt | 34 +- world/map/npc/025-3/_nodes.txt | 4 + world/map/npc/025-4/_import.txt | 1 + world/map/npc/025-4/_mobs.txt | 15 +- world/map/npc/025-4/_nodes.txt | 4 + world/map/npc/026-1/_import.txt | 1 + world/map/npc/026-1/_mobs.txt | 63 +- world/map/npc/026-1/_nodes.txt | 4 + world/map/npc/027-1/_import.txt | 1 + world/map/npc/027-1/_mobs.txt | 75 +- world/map/npc/027-1/_nodes.txt | 4 + world/map/npc/027-2/_import.txt | 1 + world/map/npc/027-2/_mobs.txt | 46 +- world/map/npc/027-2/_nodes.txt | 16 + world/map/npc/027-3/_import.txt | 1 + world/map/npc/027-3/_mobs.txt | 47 +- world/map/npc/027-3/_nodes.txt | 4 + world/map/npc/027-4/_import.txt | 1 + world/map/npc/027-4/_mobs.txt | 26 +- world/map/npc/027-4/_nodes.txt | 4 + world/map/npc/027-5/_import.txt | 1 + world/map/npc/027-5/_mobs.txt | 45 +- world/map/npc/027-5/_nodes.txt | 4 + world/map/npc/027-6/_import.txt | 1 + world/map/npc/027-6/_mobs.txt | 6 - world/map/npc/027-6/_nodes.txt | 4 + world/map/npc/027-7/_import.txt | 1 + world/map/npc/027-7/_mobs.txt | 6 - world/map/npc/027-7/_nodes.txt | 4 + world/map/npc/027-8/_import.txt | 1 + world/map/npc/027-8/_mobs.txt | 6 - world/map/npc/027-8/_nodes.txt | 4 + world/map/npc/028-1/_import.txt | 1 + world/map/npc/028-1/_mobs.txt | 6 - world/map/npc/028-1/_nodes.txt | 4 + world/map/npc/028-3/_import.txt | 1 + world/map/npc/028-3/_mobs.txt | 6 - world/map/npc/028-3/_nodes.txt | 4 + world/map/npc/029-1/_import.txt | 1 + world/map/npc/029-1/_mobs.txt | 43 +- world/map/npc/029-1/_nodes.txt | 4 + world/map/npc/029-2/_import.txt | 3 +- world/map/npc/029-2/_mobs.txt | 13 +- world/map/npc/029-2/_nodes.txt | 16 + world/map/npc/029-2/alchemy.txt | 48 +- world/map/npc/029-3/_import.txt | 1 + world/map/npc/029-3/_mobs.txt | 6 - world/map/npc/029-3/_nodes.txt | 4 + world/map/npc/030-2/_import.txt | 1 + world/map/npc/030-2/_mobs.txt | 6 - world/map/npc/030-2/_nodes.txt | 4 + world/map/npc/030-3/_import.txt | 1 + world/map/npc/030-3/_mobs.txt | 6 - world/map/npc/030-3/_nodes.txt | 4 + world/map/npc/030-4/_import.txt | 1 + world/map/npc/030-4/_mobs.txt | 6 - world/map/npc/030-4/_nodes.txt | 4 + world/map/npc/031-1/_import.txt | 1 + world/map/npc/031-1/_mobs.txt | 34 +- world/map/npc/031-1/_nodes.txt | 4 + world/map/npc/031-2/_import.txt | 1 + world/map/npc/031-2/_mobs.txt | 6 - world/map/npc/031-2/_nodes.txt | 4 + world/map/npc/031-3/_import.txt | 1 + world/map/npc/031-3/_mobs.txt | 224 ++--- world/map/npc/031-3/_nodes.txt | 4 + world/map/npc/031-4/_import.txt | 1 + world/map/npc/031-4/_mobs.txt | 6 - world/map/npc/031-4/_nodes.txt | 4 + world/map/npc/032-3/_import.txt | 1 + world/map/npc/032-3/_mobs.txt | 71 +- world/map/npc/032-3/_nodes.txt | 4 + world/map/npc/033-1/_import.txt | 1 + world/map/npc/033-1/_mobs.txt | 34 +- world/map/npc/033-1/_nodes.txt | 4 + world/map/npc/034-1/_import.txt | 1 + world/map/npc/034-1/_mobs.txt | 48 +- world/map/npc/034-1/_nodes.txt | 4 + world/map/npc/034-2/_import.txt | 1 + world/map/npc/034-2/_mobs.txt | 6 - world/map/npc/034-2/_nodes.txt | 4 + world/map/npc/035-2/_import.txt | 1 + world/map/npc/035-2/_mobs.txt | 6 - world/map/npc/035-2/_nodes.txt | 4 + world/map/npc/036-2/_import.txt | 1 + world/map/npc/036-2/_mobs.txt | 6 - world/map/npc/036-2/_nodes.txt | 4 + world/map/npc/043-3/_import.txt | 1 + world/map/npc/043-3/_mobs.txt | 49 +- world/map/npc/043-3/_nodes.txt | 4 + world/map/npc/043-4/_import.txt | 1 + world/map/npc/043-4/_mobs.txt | 80 +- world/map/npc/043-4/_nodes.txt | 4 + world/map/npc/045-1/_import.txt | 1 + world/map/npc/045-1/_mobs.txt | 66 +- world/map/npc/045-1/_nodes.txt | 4 + world/map/npc/046-1/_import.txt | 1 + world/map/npc/046-1/_mobs.txt | 63 +- world/map/npc/046-1/_nodes.txt | 4 + world/map/npc/046-3/_import.txt | 1 + world/map/npc/046-3/_mobs.txt | 66 +- world/map/npc/046-3/_nodes.txt | 4 + world/map/npc/047-1/_import.txt | 1 + world/map/npc/047-1/_mobs.txt | 95 +- world/map/npc/047-1/_nodes.txt | 4 + world/map/npc/047-3/_import.txt | 1 + world/map/npc/047-3/_mobs.txt | 78 +- world/map/npc/047-3/_nodes.txt | 4 + world/map/npc/048-2/_import.txt | 1 + world/map/npc/048-2/_mobs.txt | 6 - world/map/npc/048-2/_nodes.txt | 4 + world/map/npc/051-1/_import.txt | 1 + world/map/npc/051-1/_mobs.txt | 20 +- world/map/npc/051-1/_nodes.txt | 4 + world/map/npc/051-3/_import.txt | 1 + world/map/npc/051-3/_mobs.txt | 78 +- world/map/npc/051-3/_nodes.txt | 4 + world/map/npc/052-1/_import.txt | 1 + world/map/npc/052-1/_mobs.txt | 13 +- world/map/npc/052-1/_nodes.txt | 4 + world/map/npc/052-2/_import.txt | 1 + world/map/npc/052-2/_mobs.txt | 6 - world/map/npc/052-2/_nodes.txt | 4 + world/map/npc/055-1/_import.txt | 1 + world/map/npc/055-1/_mobs.txt | 100 +-- world/map/npc/055-1/_nodes.txt | 16 + world/map/npc/055-1/pumpkins.txt | 116 ++- world/map/npc/055-3/_import.txt | 1 + world/map/npc/055-3/_mobs.txt | 52 +- world/map/npc/055-3/_nodes.txt | 4 + world/map/npc/056-2/_import.txt | 1 + world/map/npc/056-2/_mobs.txt | 6 - world/map/npc/056-2/_nodes.txt | 4 + world/map/npc/057-1/_import.txt | 1 + world/map/npc/057-1/_mobs.txt | 97 +- world/map/npc/057-1/_nodes.txt | 16 + world/map/npc/annuals/fathertime.txt | 8 +- world/map/npc/annuals/halloween/debug.txt | 1 - world/map/npc/annuals/xmas/debug.txt | 1 - world/map/npc/botcheck/_import.txt | 1 + world/map/npc/botcheck/_mobs.txt | 6 - world/map/npc/botcheck/_nodes.txt | 4 + world/map/npc/commands/README.md | 140 --- .../map/npc/commands/_atcommand_local.txt.example | 21 +- world/map/npc/commands/_import.txt | 5 + world/map/npc/commands/_procedures.txt | 2 +- world/map/npc/commands/changesex.txt | 34 + world/map/npc/commands/class.txt | 33 + world/map/npc/commands/debug.txt | 992 +++++++++++++++++++++ world/map/npc/commands/numa.txt | 132 +++ world/map/npc/commands/pullrabbit.txt | 25 + world/map/npc/commands/zeny.txt | 12 +- world/map/npc/functions/clear_vars.txt | 3 +- world/map/npc/functions/debug.txt | 988 -------------------- world/map/npc/functions/default_npc_checks.txt | 1 + world/map/npc/functions/game_rules.txt | 6 +- world/map/npc/functions/global_event_handler.txt | 8 +- world/map/npc/functions/superdebug.txt | 69 -- world/map/npc/items/magic_gm_top_hat.txt | 25 - world/map/npc/magic/README.md | 22 +- world/map/npc/magic/_import.txt | 1 + world/map/npc/magic/_procedures.txt | 19 +- world/map/npc/magic/level0-wand.txt | 12 +- world/map/npc/magic/level1-aggravate.txt | 5 +- world/map/npc/magic/level1-detect-magic.txt | 7 +- world/map/npc/magic/level1-experience.txt | 7 +- world/map/npc/magic/level1-flare-dart.txt | 14 +- world/map/npc/magic/level1-grow-alizarin.txt | 5 +- world/map/npc/magic/level1-grow-cobalt.txt | 5 +- world/map/npc/magic/level1-grow-gamboge.txt | 5 +- world/map/npc/magic/level1-grow-mauve.txt | 5 +- world/map/npc/magic/level1-lesser-heal.txt | 7 +- world/map/npc/magic/level1-magic-blade.txt | 8 +- world/map/npc/magic/level1-make-sulphur.txt | 5 +- world/map/npc/magic/level1-sense-spouse.txt | 25 + world/map/npc/magic/level1-summon-maggots.txt | 5 +- world/map/npc/magic/level1-transmute-wood.txt | 5 +- world/map/npc/magic/level2-arrow-hail.txt | 9 +- world/map/npc/magic/level2-barrier.txt | 6 +- world/map/npc/magic/level2-detect-players.txt | 7 +- world/map/npc/magic/level2-enchant-lifestone.txt | 5 +- world/map/npc/magic/level2-flying-backpack.txt | 6 +- world/map/npc/magic/level2-happy-curse.txt | 5 +- world/map/npc/magic/level2-hide.txt | 6 +- world/map/npc/magic/level2-lay-on-hands.txt | 5 +- world/map/npc/magic/level2-lightning-strike.txt | 10 +- world/map/npc/magic/level2-magic-knuckles.txt | 10 +- world/map/npc/magic/level2-make-arrows.txt | 5 +- world/map/npc/magic/level2-make-iron-powder.txt | 5 +- world/map/npc/magic/level2-make-shirt.txt | 5 +- world/map/npc/magic/level2-make-short-tanktop.txt | 5 +- world/map/npc/magic/level2-make-tanktop.txt | 5 +- world/map/npc/magic/level2-protect.txt | 6 +- world/map/npc/magic/level2-rain.txt | 9 +- world/map/npc/magic/level2-shear.txt | 8 +- world/map/npc/magic/level2-summon-fluffies.txt | 5 +- world/map/npc/magic/level2-summon-mouboo.txt | 5 +- world/map/npc/magic/level2-summon-pinkie.txt | 5 +- world/map/npc/magic/level2-summon-snakes.txt | 5 +- .../map/npc/magic/level2-summon-spiky-mushroom.txt | 5 +- .../map/npc/magic/level2-summon-wickedmushroom.txt | 5 +- world/map/npc/magic/level2-toxic-dart.txt | 13 +- world/map/npc/magic/level3-necromancy.txt | 3 +- world/map/npc/scripts.conf | 3 - 391 files changed, 3229 insertions(+), 5762 deletions(-) delete mode 100644 world/map/conf/magic-anchors.sex delete mode 100644 world/map/conf/magic-config.sex delete mode 100644 world/map/conf/magic-misc.sex delete mode 100644 world/map/conf/magic-procedures.sex delete mode 100644 world/map/conf/magic-quickdebug.sex create mode 100644 world/map/npc/001-1/_nodes.txt create mode 100644 world/map/npc/001-2/_nodes.txt create mode 100644 world/map/npc/001-3/_nodes.txt create mode 100644 world/map/npc/002-1/_nodes.txt create mode 100644 world/map/npc/002-2/_nodes.txt create mode 100644 world/map/npc/002-3/_nodes.txt create mode 100644 world/map/npc/002-4/_nodes.txt create mode 100644 world/map/npc/002-5/_nodes.txt create mode 100644 world/map/npc/004-3/_nodes.txt create mode 100644 world/map/npc/004-4/_nodes.txt create mode 100644 world/map/npc/004-5/_nodes.txt create mode 100644 world/map/npc/005-3/_nodes.txt create mode 100644 world/map/npc/006-1/_nodes.txt create mode 100644 world/map/npc/006-2/_nodes.txt create mode 100644 world/map/npc/006-3/_nodes.txt create mode 100644 world/map/npc/007-1/_nodes.txt create mode 100644 world/map/npc/007-2/_nodes.txt create mode 100644 world/map/npc/008-1/_nodes.txt create mode 100644 world/map/npc/009-1/_nodes.txt create mode 100644 world/map/npc/009-2/_nodes.txt create mode 100644 world/map/npc/009-3/_nodes.txt create mode 100644 world/map/npc/009-4/_nodes.txt create mode 100644 world/map/npc/009-5/_nodes.txt create mode 100644 world/map/npc/009-6/_nodes.txt create mode 100644 world/map/npc/009-7/_nodes.txt create mode 100644 world/map/npc/010-1/_nodes.txt create mode 100644 world/map/npc/010-2/_nodes.txt create mode 100644 world/map/npc/011-1/_nodes.txt create mode 100644 world/map/npc/011-3/_nodes.txt create mode 100644 world/map/npc/011-4/_nodes.txt create mode 100644 world/map/npc/011-6/_nodes.txt create mode 100644 world/map/npc/012-1/_nodes.txt create mode 100644 world/map/npc/012-3/_nodes.txt create mode 100644 world/map/npc/012-4/_nodes.txt create mode 100644 world/map/npc/013-1/_nodes.txt create mode 100644 world/map/npc/013-2/_nodes.txt create mode 100644 world/map/npc/013-3/_nodes.txt create mode 100644 world/map/npc/014-1/_nodes.txt create mode 100644 world/map/npc/014-3/_nodes.txt create mode 100644 world/map/npc/015-1/_nodes.txt create mode 100644 world/map/npc/015-3/_nodes.txt create mode 100644 world/map/npc/016-1/_nodes.txt create mode 100644 world/map/npc/017-1/_nodes.txt create mode 100644 world/map/npc/017-2/_nodes.txt create mode 100644 world/map/npc/017-3/_nodes.txt create mode 100644 world/map/npc/017-4/_nodes.txt create mode 100644 world/map/npc/017-9/_nodes.txt create mode 100644 world/map/npc/018-1/_nodes.txt create mode 100644 world/map/npc/018-2/_nodes.txt create mode 100644 world/map/npc/018-3/_nodes.txt create mode 100644 world/map/npc/019-1/_nodes.txt create mode 100644 world/map/npc/019-3/_nodes.txt create mode 100644 world/map/npc/019-4/_nodes.txt create mode 100644 world/map/npc/020-1/_nodes.txt create mode 100644 world/map/npc/020-2/_nodes.txt create mode 100644 world/map/npc/020-3/_nodes.txt create mode 100644 world/map/npc/021-3/_nodes.txt create mode 100644 world/map/npc/025-1/_nodes.txt create mode 100644 world/map/npc/025-3/_nodes.txt create mode 100644 world/map/npc/025-4/_nodes.txt create mode 100644 world/map/npc/026-1/_nodes.txt create mode 100644 world/map/npc/027-1/_nodes.txt create mode 100644 world/map/npc/027-2/_nodes.txt create mode 100644 world/map/npc/027-3/_nodes.txt create mode 100644 world/map/npc/027-4/_nodes.txt create mode 100644 world/map/npc/027-5/_nodes.txt create mode 100644 world/map/npc/027-6/_nodes.txt create mode 100644 world/map/npc/027-7/_nodes.txt create mode 100644 world/map/npc/027-8/_nodes.txt create mode 100644 world/map/npc/028-1/_nodes.txt create mode 100644 world/map/npc/028-3/_nodes.txt create mode 100644 world/map/npc/029-1/_nodes.txt create mode 100644 world/map/npc/029-2/_nodes.txt create mode 100644 world/map/npc/029-3/_nodes.txt create mode 100644 world/map/npc/030-2/_nodes.txt create mode 100644 world/map/npc/030-3/_nodes.txt create mode 100644 world/map/npc/030-4/_nodes.txt create mode 100644 world/map/npc/031-1/_nodes.txt create mode 100644 world/map/npc/031-2/_nodes.txt create mode 100644 world/map/npc/031-3/_nodes.txt create mode 100644 world/map/npc/031-4/_nodes.txt create mode 100644 world/map/npc/032-3/_nodes.txt create mode 100644 world/map/npc/033-1/_nodes.txt create mode 100644 world/map/npc/034-1/_nodes.txt create mode 100644 world/map/npc/034-2/_nodes.txt create mode 100644 world/map/npc/035-2/_nodes.txt create mode 100644 world/map/npc/036-2/_nodes.txt create mode 100644 world/map/npc/043-3/_nodes.txt create mode 100644 world/map/npc/043-4/_nodes.txt create mode 100644 world/map/npc/045-1/_nodes.txt create mode 100644 world/map/npc/046-1/_nodes.txt create mode 100644 world/map/npc/046-3/_nodes.txt create mode 100644 world/map/npc/047-1/_nodes.txt create mode 100644 world/map/npc/047-3/_nodes.txt create mode 100644 world/map/npc/048-2/_nodes.txt create mode 100644 world/map/npc/051-1/_nodes.txt create mode 100644 world/map/npc/051-3/_nodes.txt create mode 100644 world/map/npc/052-1/_nodes.txt create mode 100644 world/map/npc/052-2/_nodes.txt create mode 100644 world/map/npc/055-1/_nodes.txt create mode 100644 world/map/npc/055-3/_nodes.txt create mode 100644 world/map/npc/056-2/_nodes.txt create mode 100644 world/map/npc/057-1/_nodes.txt create mode 100644 world/map/npc/botcheck/_nodes.txt delete mode 100644 world/map/npc/commands/README.md create mode 100644 world/map/npc/commands/changesex.txt create mode 100644 world/map/npc/commands/class.txt create mode 100644 world/map/npc/commands/debug.txt create mode 100644 world/map/npc/commands/numa.txt create mode 100644 world/map/npc/commands/pullrabbit.txt delete mode 100755 world/map/npc/functions/debug.txt delete mode 100644 world/map/npc/functions/superdebug.txt delete mode 100644 world/map/npc/items/magic_gm_top_hat.txt create mode 100644 world/map/npc/magic/level1-sense-spouse.txt (limited to 'world/map') diff --git a/world/map/conf/magic-anchors.sex b/world/map/conf/magic-anchors.sex deleted file mode 100644 index 3bb16f75..00000000 --- a/world/map/conf/magic-anchors.sex +++ /dev/null @@ -1,66 +0,0 @@ -"--------------------------------------------------------------------------------" -" Teleport anchors(disabled) " -" As of now, only the #vorp spell(disabled) uses them " -"--------------------------------------------------------------------------------" -(DISABLED - (TELEPORT-ANCHOR tulimshar "tulimshar" - (@+ - (@ "001-1" 43 66) - 3 - 3))) - -(DISABLED - (TELEPORT-ANCHOR hurnscald "hurnscald" - (@+ - (@ "009-1" 55 37) - 3 - 3))) - -(DISABLED - (TELEPORT-ANCHOR nivalis "nivalis" - (@+ - (@ "020-1" 75 63) - 19 - 12))) - -(DISABLED - (TELEPORT-ANCHOR wizardhut "##00" - (@+ - (@ "013-1" 41 92) - 3 - 3))) - -(DISABLED - (TELEPORT-ANCHOR pachua "##01" - (@+ - (@ "006-1" 22 101) - 3 - 3))) - -(DISABLED - (TELEPORT-ANCHOR desert "##02" - (@+ - (@ "005-1" 160 64) - 5 - 5))) - -(DISABLED - (TELEPORT-ANCHOR forest "##03" - (@+ - (@ "015-1" 35 35) - 40 - 40))) - -(DISABLED - (TELEPORT-ANCHOR snakecave "##04" - (@+ - (@ "011-4" 50 75) - 3 - 3))) - -(DISABLED - (TELEPORT-ANCHOR dimondscove "##05" - (@+ - (@ "010-2" 23 79) - 3 - 3))) diff --git a/world/map/conf/magic-config.sex b/world/map/conf/magic-config.sex deleted file mode 100644 index a130becf..00000000 --- a/world/map/conf/magic-config.sex +++ /dev/null @@ -1,68 +0,0 @@ -"Special-purpose globals" -(SET obscure_chance 95) -(SET min_casttime 200) - -"Schools of magic" -(CONST MAGIC 340) -(CONST LIFE 341) -(CONST WAR 342) -(CONST TRANSMUTE 343) -(CONST NATURE 344) -(CONST ASTRAL 345) -(CONST DARK 346) - -"Elements" -(CONST ELT_NEUTRAL 0) -(CONST ELT_WATER 1) -(CONST ELT_EARTH 2) -(CONST ELT_FIRE 3) -(CONST ELT_WIND 4) -(CONST ELT_POISON 5) -(CONST ELT_SHADOW 6) -(CONST ELT_HOLY 7) -(CONST ELT_GHOST 8) -(CONST ELT_UNDEAD 9) - -"Status effects" -(CONST SC_POISON 132) -(CONST SC_SHEARED 194) "This is the same as SC_HIDE, since mobs can't hide and shearing is only used for mobs. Feel free to fix!" -(CONST SC_HIDE 194) -(CONST SC_HALT_REGENERATE 195) -(CONST SC_FLYING_BACKPACK 196) -(CONST SC_MBARRIER 197) -(CONST SC_HASTE 198) -(CONST SC_PHYS_SHIELD 199) -(CONST SO_GMHIDE 64) -(CONST SO_GMINVISIBLE 4096) - -"Special effects" -(CONST SFX_DEFAULT 10) -(CONST SFX_SUMMON_START 21) -(CONST SFX_SUMMON_FIRE 22) -(CONST SFX_TELEPORT 24) -(CONST SFX_RAIN 25) -(CONST SFX_HIT 25) -(CONST SFX_ARROW_HAIL 27) -(CONST SFX_BARRIER 10) -(CONST SFX_UNBARRIER 10) -(CONST SFX_HEAL 3) -(CONST SFX_LIGHTNING 18) - -"Magic Spell Const" -(CONST MIN_MARRY_LEVEL 32) -(CONST MAX_RAIN_SPELL_RADIUS 15) -(CONST MAX_MAGIC_LEVEL 2) "Increase up to 5 as each new magic level is completed." -(CONST MAGIC_FLAGS "MAGIC_FLAGS") -(CONST MFLAG_MADE_CONC_POTION 16384) -(CONST MFLAG_MADE_CONC_POTION_SHIFT 14) -(CONST SCRIPT_XP "MAGIC_EXPERIENCE") -(CONST SCRIPT_XP_MASK 0xffff) -(CONST SCRIPT_XP_SHIFT 0) -(CONST SCRIPT_LASTSPELL_MASK 0xff) -(CONST SCRIPT_LASTSPELL_SHIFT 16) -(CONST SCRIPT_HEALSPELL_MASK 0xff) -(CONST SCRIPT_HEALSPELL_SHIFT 24) -(CONST DEBUG 0) -(CONST ATTACK_ICON_GENERIC 2000) -(CONST ATTACK_ICON_SHEARING 2001) -(CONST E10_FLAG_USED_FREE_WARP_SHIFT 17) diff --git a/world/map/conf/magic-misc.sex b/world/map/conf/magic-misc.sex deleted file mode 100644 index 14d6ea3a..00000000 --- a/world/map/conf/magic-misc.sex +++ /dev/null @@ -1,105 +0,0 @@ -"--------------------------------------------------------------------------------" -" Special-purpose quasispells " -"--------------------------------------------------------------------------------" - -(SPELL (NONMAGIC SILENT) marriage "marry" (PC target) - (=> - (GUARD - (REQUIRE - (|| - (is_in - (location caster) - (@+ - (@ "014-1" 28 39) - 8 - 6)) - (is_in - (location caster) - (@+ - (@ "001-2" 21 27) - 4 - 4))))) - (EFFECT - (IF (== target caster) - (ABORT)) "no valid target or tried to marry self?" - (IF (< - (level caster) - MIN_MARRY_LEVEL) - (BLOCK - (message caster - (+ - (+ "You must be level " MIN_MARRY_LEVEL) - " or higher to marry!")) - (ABORT))) - (IF (< - (level target) - MIN_MARRY_LEVEL) - (BLOCK - (message caster - (+ - (+ "Your partner must be level " MIN_MARRY_LEVEL) - " or higher to marry!")) - (ABORT))) - (IF (== - (partner caster) - target) - (BLOCK - (message caster - (+ - (+ "You and " - (name_of target)) - " are already married.")) - (ABORT))) - (IF (is_married caster) - (BLOCK - (message caster "You are already married!") - (ABORT))) - (IF (is_married target) - (BLOCK - (message caster - (+ - (name_of target) - " is already married.")) - (ABORT))) - (IF (!= - (distance - (location caster) - (location target)) - 1) - (BLOCK - (message caster "You need to stand next to each other.") - (ABORT))) - (IF (|| - (== - (count_item caster "WeddingRing") - 0) - (== - (count_item target "WeddingRing") - 0)) - (BLOCK - (message caster "You must both be wearing your wedding rings!") - (ABORT))) - (SET script_target target) - (SCRIPT "{ - announce @caster_name$ + \" is asking \" + strcharinfo(0) + \" for marriage.\", 2; - mes @caster_name$ + \" wishes to marry you.\"; - mes \"Do you accept?\"; - next; - menu - \"Yes, I do!\", L_yes, - \"No.\", L_Close; - - L_yes: - if (marriage(@caster_name$)) - announce @caster_name$ + \" and \" + strcharinfo(0) + \" are now married!\", 0; - goto L_Close; - - L_Close: - close; - }") - (IF (not - (is_married caster)) - (message caster - (+ - (name_of target) - " turned down your marriage offer.")))))) diff --git a/world/map/conf/magic-procedures.sex b/world/map/conf/magic-procedures.sex deleted file mode 100644 index 0ba40bc8..00000000 --- a/world/map/conf/magic-procedures.sex +++ /dev/null @@ -1,340 +0,0 @@ -"Default sfx on caster" -(PROCEDURE default_effect () - (sfx caster - (+ - (- school MAGIC) - 2) - 0)) - -(PROCEDURE sfx_generic (target) - (sfx target SFX_DEFAULT 0)) - -(PROCEDURE sfx_lightning (target) - (sfx target SFX_LIGHTNING 0)) - -(PROCEDURE set_var (name mask shift value) - (set_script_variable caster name - (| - (& - (script_int caster name) - (neg - (<< mask shift))) - (<< - (& value mask) - shift)))) - -"value is How many HP we healed" -"gain is how many life magic experience points we can potentially gain" -"heal_xp_value_divisor is 1 for instaheal, 2 for slow heal" -"base_exp_factor is the factor for how many base experience points (max) the player should be allowed to gain" -(PROCEDURE gain_heal_xp (value gain heal_xp_value_divisor base_exp_factor) - (SET last_heal_xp - (& - (>> - (script_int caster SCRIPT_XP) - SCRIPT_HEALSPELL_SHIFT) - SCRIPT_HEALSPELL_MASK)) - (IF (&& - (!= target caster) - (> - (/ value heal_xp_value_divisor) - (+ - (+ - (+ 10 last_heal_xp) - (random - (+ last_heal_xp 1))) - (random - (+ last_heal_xp 1))))) - (BLOCK - (SET heal_xp - (+ last_heal_xp gain)) - (IF (> heal_xp SCRIPT_HEALSPELL_MASK) - (SET heal_xp SCRIPT_HEALSPELL_MASK)) - (CALL set_var SCRIPT_XP SCRIPT_HEALSPELL_MASK SCRIPT_HEALSPELL_SHIFT heal_xp))) - (IF (!= target caster) - (gain_experience caster - (* base_exp_factor - (extract_healer_experience target value)) - 0 - 1))) - -(PROCEDURE gain_xp (gain index) - "Level 4 and 5 magic users don't gain anything from spell levels 0 resp. 0+1" - (IF (> - (+ level 3) - (skill caster MAGIC)) - (BLOCK - (SET last_index - (& - (>> - (script_int caster SCRIPT_XP) - SCRIPT_LASTSPELL_SHIFT) - SCRIPT_LASTSPELL_MASK)) - (SET last_xp - (& - (>> - (script_int caster SCRIPT_XP) - SCRIPT_XP_SHIFT) - SCRIPT_XP_MASK)) - (IF (!= index last_index) - (BLOCK "Some variation observed" - (SET xp - (+ last_xp gain)) - (IF (> xp SCRIPT_XP_MASK) - (SET xp SCRIPT_XP_MASK)) - (CALL set_var SCRIPT_XP SCRIPT_XP_MASK SCRIPT_XP_SHIFT xp) - (CALL set_var SCRIPT_XP SCRIPT_LASTSPELL_MASK SCRIPT_LASTSPELL_SHIFT index) - (IF DEBUG - (message caster - (+ "Spell xp = " xp)))) - (IF DEBUG - (message caster - (+ "Re-cast same spell, xp remain at " last_xp))))))) - -(PROCEDURE create_item (good_item count bad_item difficulty) - (SET success 1) - (SET score - (+ experience - (random - (min spellpower - (+ - (/ experience 3) - 1))))) - (IF (>= score difficulty) - (create_item caster good_item count) - (BLOCK - (SET success 0) - (SET score - (+ - (+ score - (random - (luk caster))) - (random - (luk caster)))) - (IF (< score - (/ difficulty 3)) - (BLOCK - (message caster "Your spell backfires!") - (IF (< - (random 110) - (luk caster)) - (itemheal caster - (- 0 - (* - (* - (+ level 1) - (+ level 2)) - (+ 3 - (random 28)))) - 0) - (itemheal caster - (- 0 - (+ level 1)) - 0))) - (IF (< score - (/ - (* difficulty 2) - 3)) - (BLOCK - (IF (== - (random 5) - 0) - (BLOCK - (message caster "Your spell solidifies into the shape of a mysterious object!") - (create_item caster "Iten" 1)) - (message caster "Your spell escapes!"))) - (BLOCK - (message caster "Your spell takes on a mind of its own!") - (IF (== - (random 3) - 0) - (create_item caster bad_item 1)))))))) - -"Increase spellpower by school and general magic skill" -(PROCEDURE adjust_spellpower (school) - (SET experience - (& - (>> - (script_int caster SCRIPT_XP) - SCRIPT_XP_SHIFT) - SCRIPT_XP_MASK)) - (SET spellpower - (+ spellpower - (* - (+ - (skill caster MAGIC) - (skill caster school)) - 10))) - "Below, we adjust by special items" - (IF (&& - (not - (failed target)) - (|| - (== school LIFE) - (== school NATURE))) - (IF target - (IF (== - (pc target) - (partner caster)) - (BLOCK - (SET spellpower - (+ spellpower 200)) - (IF (is_equipped caster "WeddingRing") - (SET spellpower - (+ spellpower 50))) - (IF (is_equipped - (pc target) - "WeddingRing") - (SET spellpower - (+ spellpower 50)))))))) - -(PROCEDURE heal (target max_heal) - (CALL default_effect) - (IF (!= caster target) - (sfx target SFX_HEAL 0)) - (SET power - (+ spellpower - (vit caster))) - (SET power - (min max_heal - (/ - (* max_heal power) - 250))) - (itemheal target power 0)) - -"Goes through instaheal instead of itemheal" -(PROCEDURE quickheal (target power) - (CALL default_effect) - (IF (!= caster target) - (sfx target SFX_HEAL 0)) - (instaheal target power 0)) - -"Can attack the target? Imports attack_range from dynamic environment" -(PROCEDURE attack_check (target) - (IF (not - (line_of_sight - (location caster) - (location target))) - (ABORT)) - (IF (not - (<= - (rdistance - (location caster) - (location target)) - attack_range)) - (ABORT))) - -"Cause elemental damage. bonus_elt grants an attack bonus, malus_elt reduces the attack. `effect' is the sfx ID." -(PROCEDURE elt_damage (target damage dmgplus bonus_elt malus_elt effect) - (SET d - (+ damage - (random dmgplus))) - (IF (== - (element target) - malus_elt) - (SET d - (/ d 3))) - (IF (== - (element target) - bonus_elt) - (SET d - (/ - (* d - (+ 4 - (element_level target))) - 4))) - (sfx target effect 0) - (injure caster target d 0)) - -(PROCEDURE melee_damage (target damage dmgplus) - (CALL attack_check target) - (SET d - (+ damage - (random dmgplus))) - (SET evade - (+ - (level target) - (mdef target))) - (IF (< - (- spellpower - (random 100)) - evade) - (SET d 0)) - (injure caster target d 0)) - -(PROCEDURE install_attack_spell (charges base_delay range attack_animation) - (CALL default_effect) - (SET attack_range range) - (override_attack caster charges - (/ - (* - (- 200 - (agi caster)) - base_delay) - 200) - range - ATTACK_ICON_GENERIC - attack_animation - 0)) - -(PROCEDURE install_melee_spell (charges base_delay attack_animation) - (CALL install_attack_spell charges base_delay 1 attack_animation)) - -(PROCEDURE summon_spell (mob_id count delay lifetime control_level school) - (CALL default_effect) - (sfx location SFX_SUMMON_START 0) - (WAIT delay) - (sfx location SFX_SUMMON_FIRE 0) - (spawn - (rbox location 2) - caster - mob_id - (if_then_else - (>= - (skill caster school) - control_level) - 2 - 1) - count - lifetime)) "pets when level is high enough" - -(PROCEDURE abort_on_area_shield (pos) - (IF (&& - (== - (is_exterior pos) - 1) - (|| - (|| - (== - (map_nr pos) - 1) - (== - (map_nr pos) - 9)) - (== - (map_nr pos) - 20))) - (BLOCK "1 is Tulimshar, 9 is Hurnscald and 20 is Nivalis" - (message caster "A powerful magic drains your spell just as it is beginning to take shape!") - (ABORT)))) - -(PROCEDURE script_split_str (d str v m) - (FOR a 0 m - (BLOCK - (IF (< (strlen str) 1) (BREAK)) - (SET arglen (strlen str)) - (SET argoffset - (if_then_else - (contains_string str d) - (strstr str d) - arglen)) - (SET arg - (if_then_else (== arglen argoffset) - str - (substr str 0 argoffset))) - (set_script_str caster (+ (+ "@" v) (+ a "$")) arg) - (SET str - (if_then_else - (> arglen (- argoffset 1)) - (substr str (+ argoffset 1) arglen) - ""))))) diff --git a/world/map/conf/magic-quickdebug.sex b/world/map/conf/magic-quickdebug.sex deleted file mode 100644 index 1b5f582c..00000000 --- a/world/map/conf/magic-quickdebug.sex +++ /dev/null @@ -1,10 +0,0 @@ -"--------------------------------------------------------------------------------" -"Quickdebug Spells" -"--------------------------------------------------------------------------------" -(SPELL (NONMAGIC SILENT) debug0 "#debug" () - (EFFECT - (SCRIPT "{if(!debug&&(getgmlevel()<99))end;callfunc \"Debug\";}"))) - -(SPELL (NONMAGIC SILENT) debug1 "#numa" () - (EFFECT - (SCRIPT "{if(!debug&&(getgmlevel()<99))end;callfunc \"SuperDebug\";}"))) diff --git a/world/map/db/item_db_head.txt b/world/map/db/item_db_head.txt index 9cd56c4e..9faaf4c2 100644 --- a/world/map/db/item_db_head.txt +++ b/world/map/db/item_db_head.txt @@ -63,7 +63,7 @@ 885, GreenEggshellHat, 5, 7000, 5000, 15, 0, 9, 0, 3, 0, 2, 256, 0, 1, 0, {}, {} 886, OrangeEggshellHat, 5, 7000, 5000, 15, 0, 9, 0, 3, 0, 2, 256, 0, 1, 0, {}, {} 887, DarkEggshellHat, 5, 7000, 5000, 15, 0, 9, 0, 3, 0, 2, 256, 0, 1, 0, {}, {} -888, MagicGMTopHat, 5, 4200, 1900, 30, 0, 60, 0, 20, 0, 2, 256, 0, 0, 0, {}, {set @minLvl, 60; callfunc "RestrictedItem"; bonus bMaxHP, 31000; bonus bFlee, -200; bonus bHPrecovRate, -400; bonus bCriticalDef, 250; bonus bMdef, 89;} +888, MagicGMTopHat, 5, 4200, 1900, 30, 0, 60, 0, 20, 0, 2, 256, 0, 0, 0, {}, {set @minLvl, get(.killthegm, "GM"); callfunc "RestrictedItem"; bonus bMaxHP, 31000; bonus bFlee, -200; bonus bHPrecovRate, -400; bonus bCriticalDef, 250; bonus bMdef, 89;} 889, MurdererCrown, 5, 75000, 12000, 240, 0, 4, 0, 0, 0, 2, 256, 0, 0, 0, {}, {} 890, BeanieCopter, 5, 8000, 2000, 20, 0, 4, 0, 2, 0, 2, 256, 0, 0, 0, {}, {} 897, RedRoseHat, 5, 5000, 1000, 0, 0, 1, 0, 8, 0, 2, 256, 0, 0, 0, {}, {} diff --git a/world/map/db/params.txt b/world/map/db/params.txt index b10a4dce..2bf45896 100644 --- a/world/map/db/params.txt +++ b/world/map/db/params.txt @@ -43,6 +43,8 @@ JOBLEVEL 55 1 PARTNER 57 1 GM 500 1 ATTACKRANGE 1000 1 +ELTLVL 1001 1 +ELTTYPE 1002 1 BASE_ATK 1014 1 POS_X 1074 1 POS_Y 1075 1 diff --git a/world/map/npc/001-1/_import.txt b/world/map/npc/001-1/_import.txt index 9b7ca66f..3122724c 100644 --- a/world/map/npc/001-1/_import.txt +++ b/world/map/npc/001-1/_import.txt @@ -2,6 +2,7 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. map: 001-1 npc: npc/001-1/_mobs.txt +npc: npc/001-1/_nodes.txt npc: npc/001-1/_warps.txt npc: npc/001-1/adrian.txt npc: npc/001-1/ched.txt diff --git a/world/map/npc/001-1/_mobs.txt b/world/map/npc/001-1/_mobs.txt index 6fc46da5..ebc1b007 100644 --- a/world/map/npc/001-1/_mobs.txt +++ b/world/map/npc/001-1/_mobs.txt @@ -1,29 +1,8 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. // Tulimshar Port mobs -001-1,32,59,10,11|monster|GreenSlime|1005,8,100000ms,30000ms,Mob001-1::On1005 -001-1,45,100,10,11|monster|GreenSlime|1005,8,100000ms,30000ms,Mob001-1::On1005 -001-1,37,75,8,34|monster|SeaSlime|1033,8,100000ms,30000ms,Mob001-1::On1033 -001-1,86,84,65,55|monster|Maggot|1002,11,100000ms,30000ms,Mob001-1::On1002 -001-1,86,84,65,55|monster|SeaSlime|1033,8,100000ms,30000ms,Mob001-1::On1033 - - -001-1,0,0,0|script|Mob001-1|32767 -{ - end; - -On1002: - set @mobID, 1002; - callfunc "MobPoints"; - end; - -On1005: - set @mobID, 1005; - callfunc "MobPoints"; - end; - -On1033: - set @mobID, 1033; - callfunc "MobPoints"; - end; -} +001-1,32,59,10,11|monster|GreenSlime|1005,8,100000ms,30000ms +001-1,45,100,10,11|monster|GreenSlime|1005,8,100000ms,30000ms +001-1,37,75,8,34|monster|SeaSlime|1033,8,100000ms,30000ms +001-1,86,84,65,55|monster|Maggot|1002,11,100000ms,30000ms +001-1,86,84,65,55|monster|SeaSlime|1033,8,100000ms,30000ms diff --git a/world/map/npc/001-1/_nodes.txt b/world/map/npc/001-1/_nodes.txt new file mode 100644 index 00000000..8d82cc96 --- /dev/null +++ b/world/map/npc/001-1/_nodes.txt @@ -0,0 +1,4 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Tulimshar Port nodes + +// (no nodes) diff --git a/world/map/npc/001-2/_import.txt b/world/map/npc/001-2/_import.txt index 338ec411..ee75d70e 100644 --- a/world/map/npc/001-2/_import.txt +++ b/world/map/npc/001-2/_import.txt @@ -2,6 +2,7 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. map: 001-2 npc: npc/001-2/_mobs.txt +npc: npc/001-2/_nodes.txt npc: npc/001-2/_warps.txt npc: npc/001-2/bank.txt npc: npc/001-2/david.txt diff --git a/world/map/npc/001-2/_mobs.txt b/world/map/npc/001-2/_mobs.txt index 167e1f2e..570c1234 100644 --- a/world/map/npc/001-2/_mobs.txt +++ b/world/map/npc/001-2/_mobs.txt @@ -1,9 +1,3 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. // South Tulimshar Indoor mobs - - -001-2,0,0,0|script|Mob001-2|32767 -{ - end; -} diff --git a/world/map/npc/001-2/_nodes.txt b/world/map/npc/001-2/_nodes.txt new file mode 100644 index 00000000..5a5cdeac --- /dev/null +++ b/world/map/npc/001-2/_nodes.txt @@ -0,0 +1,16 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// South Tulimshar Indoor nodes + +001-2,0,0,0|script|Node001-2|32767 +{ + end; +OnInit: + setarray .m$, "_N-Alchemy", "001-2", "001-2", "001-2", "001-2"; + setarray .x1, "_N-Alchemy", 98, 92, 98, 92; + setarray .y1, "_N-Alchemy", 76, 76, 89, 89; + setarray .x2, "_N-Alchemy", 0, 0, 0, 0; + setarray .y2, "_N-Alchemy", 0, 0, 0, 0; + setarray .id, "_N-Alchemy", 0, 0, 0, 0; + donpcevent "_N-Alchemy::OnMaybeStart"; + destroy; +} diff --git a/world/map/npc/001-3/_import.txt b/world/map/npc/001-3/_import.txt index 92e0e964..5c821ae4 100644 --- a/world/map/npc/001-3/_import.txt +++ b/world/map/npc/001-3/_import.txt @@ -2,6 +2,7 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. map: 001-3 npc: npc/001-3/_mobs.txt +npc: npc/001-3/_nodes.txt npc: npc/001-3/_warps.txt npc: npc/001-3/guards.txt npc: npc/001-3/mapflags.txt diff --git a/world/map/npc/001-3/_mobs.txt b/world/map/npc/001-3/_mobs.txt index 1c76eac9..63e16e8c 100644 --- a/world/map/npc/001-3/_mobs.txt +++ b/world/map/npc/001-3/_mobs.txt @@ -1,15 +1,4 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. // Tulimshar Arena mobs -001-3,0,0,0,0|monster|Maggot|1002,10,0ms,0ms,Mob001-3::On1002 - - -001-3,0,0,0|script|Mob001-3|32767 -{ - end; - -On1002: - set @mobID, 1002; - callfunc "MobPoints"; - end; -} +001-3,0,0,0,0|monster|Maggot|1002,10,0ms,0ms diff --git a/world/map/npc/001-3/_nodes.txt b/world/map/npc/001-3/_nodes.txt new file mode 100644 index 00000000..8a03ab93 --- /dev/null +++ b/world/map/npc/001-3/_nodes.txt @@ -0,0 +1,4 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Tulimshar Arena nodes + +// (no nodes) diff --git a/world/map/npc/002-1/_import.txt b/world/map/npc/002-1/_import.txt index 66366b6c..1e4e50cf 100644 --- a/world/map/npc/002-1/_import.txt +++ b/world/map/npc/002-1/_import.txt @@ -2,6 +2,7 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. map: 002-1 npc: npc/002-1/_mobs.txt +npc: npc/002-1/_nodes.txt npc: npc/002-1/_warps.txt npc: npc/002-1/anwar.txt npc: npc/002-1/bard.txt diff --git a/world/map/npc/002-1/_mobs.txt b/world/map/npc/002-1/_mobs.txt index 19933fab..63282a48 100644 --- a/world/map/npc/002-1/_mobs.txt +++ b/world/map/npc/002-1/_mobs.txt @@ -1,47 +1,16 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. // Tulimshar South mobs -002-1,93,62,24,9|monster|Maggot|1002,11,100000ms,30000ms,Mob002-1::On1002 -002-1,112,62,11,9|monster|Maggot|1002,11,100000ms,30000ms,Mob002-1::On1002 -002-1,108,73,11,9|monster|Maggot|1002,11,100000ms,30000ms,Mob002-1::On1002 -002-1,62,28,3,15|monster|Maggot|1002,6,100000ms,30000ms,Mob002-1::On1002 -002-1,74,96,24,33|monster|Scorpion|1003,12,100000ms,30000ms,Mob002-1::On1003 -002-1,113,114,10,7|monster|Maggot|1002,11,100000ms,30000ms,Mob002-1::On1002 -002-1,43,61,10,70|monster|Scorpion|1003,6,100000ms,30000ms,Mob002-1::On1003 -002-1,70,92,49,19|monster|Scorpion|1003,10,100000ms,30000ms,Mob002-1::On1003 -002-1,40,93,19,20|monster|RedScorpion|1004,10,100000ms,30000ms,Mob002-1::On1004 -002-1,42,40,8,29|monster|SeaSlime|1033,8,100000ms,30000ms,Mob002-1::On1033 -002-1,33,75,9,40|monster|SeaSlime|1033,8,100000ms,30000ms,Mob002-1::On1033 -002-1,99,62,37,9|monster|Scorpion|1003,6,100000ms,30000ms,Mob002-1::On1003 -002-1,73,105,20,21|monster|FireGoblin|1011,6,100000ms,30000ms,Mob002-1::On1011 - - -002-1,0,0,0|script|Mob002-1|32767 -{ - end; - -On1002: - set @mobID, 1002; - callfunc "MobPoints"; - end; - -On1003: - set @mobID, 1003; - callfunc "MobPoints"; - end; - -On1004: - set @mobID, 1004; - callfunc "MobPoints"; - end; - -On1011: - set @mobID, 1011; - callfunc "MobPoints"; - end; - -On1033: - set @mobID, 1033; - callfunc "MobPoints"; - end; -} +002-1,93,62,24,9|monster|Maggot|1002,11,100000ms,30000ms +002-1,112,62,11,9|monster|Maggot|1002,11,100000ms,30000ms +002-1,108,73,11,9|monster|Maggot|1002,11,100000ms,30000ms +002-1,62,28,3,15|monster|Maggot|1002,6,100000ms,30000ms +002-1,74,96,24,33|monster|Scorpion|1003,12,100000ms,30000ms +002-1,113,114,10,7|monster|Maggot|1002,11,100000ms,30000ms +002-1,43,61,10,70|monster|Scorpion|1003,6,100000ms,30000ms +002-1,70,92,49,19|monster|Scorpion|1003,10,100000ms,30000ms +002-1,40,93,19,20|monster|RedScorpion|1004,10,100000ms,30000ms +002-1,42,40,8,29|monster|SeaSlime|1033,8,100000ms,30000ms +002-1,33,75,9,40|monster|SeaSlime|1033,8,100000ms,30000ms +002-1,99,62,37,9|monster|Scorpion|1003,6,100000ms,30000ms +002-1,73,105,20,21|monster|FireGoblin|1011,6,100000ms,30000ms diff --git a/world/map/npc/002-1/_nodes.txt b/world/map/npc/002-1/_nodes.txt new file mode 100644 index 00000000..7e192e45 --- /dev/null +++ b/world/map/npc/002-1/_nodes.txt @@ -0,0 +1,4 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Tulimshar South nodes + +// (no nodes) diff --git a/world/map/npc/002-1/elanore.txt b/world/map/npc/002-1/elanore.txt index e936447e..b235c5b4 100644 --- a/world/map/npc/002-1/elanore.txt +++ b/world/map/npc/002-1/elanore.txt @@ -19,8 +19,6 @@ function|script|ElanoreFix function|script|elanore_decrease_exp { - if (attachrid(@killerrid) == 0) - goto L_Return; set @Q_heal_exp, MAGIC_EXPERIENCE >> 24; if (@Q_heal_exp < 8) goto L_OnPcKillWipe; set @Q_heal_exp, @Q_heal_exp - 8; diff --git a/world/map/npc/002-2/_import.txt b/world/map/npc/002-2/_import.txt index c2bd041a..3f90a1d8 100644 --- a/world/map/npc/002-2/_import.txt +++ b/world/map/npc/002-2/_import.txt @@ -2,6 +2,7 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. map: 002-2 npc: npc/002-2/_mobs.txt +npc: npc/002-2/_nodes.txt npc: npc/002-2/_warps.txt npc: npc/002-2/bakery.txt npc: npc/002-2/barber.txt diff --git a/world/map/npc/002-2/_mobs.txt b/world/map/npc/002-2/_mobs.txt index aad2a871..0d9b84e4 100644 --- a/world/map/npc/002-2/_mobs.txt +++ b/world/map/npc/002-2/_mobs.txt @@ -1,9 +1,3 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. // Sandstorm Desert Indoors mobs - - -002-2,0,0,0|script|Mob002-2|32767 -{ - end; -} diff --git a/world/map/npc/002-2/_nodes.txt b/world/map/npc/002-2/_nodes.txt new file mode 100644 index 00000000..875c3c60 --- /dev/null +++ b/world/map/npc/002-2/_nodes.txt @@ -0,0 +1,4 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Sandstorm Desert Indoors nodes + +// (no nodes) diff --git a/world/map/npc/002-2/stranger.txt b/world/map/npc/002-2/stranger.txt index 1367e6f7..e323293e 100644 --- a/world/map/npc/002-2/stranger.txt +++ b/world/map/npc/002-2/stranger.txt @@ -154,8 +154,8 @@ L_Towel: mes "\"What is the most important item for every hitchhiker to have?\""; mes ""; mes "##BDrag & drop the item from your inventory##b."; - requestitem @answer$; - if (@answer$ != "Towel" && @answer$ != "HitchhikersTowel") + requestitem .@answer$[0]; + if (.@answer$[0] != "Towel" && .@answer$[0] != "HitchhikersTowel") goto L_Wrong_Answer; mes "[Stranger]"; diff --git a/world/map/npc/002-3/_import.txt b/world/map/npc/002-3/_import.txt index bb5e72d3..ec14b916 100644 --- a/world/map/npc/002-3/_import.txt +++ b/world/map/npc/002-3/_import.txt @@ -2,6 +2,7 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. map: 002-3 npc: npc/002-3/_mobs.txt +npc: npc/002-3/_nodes.txt npc: npc/002-3/_warps.txt npc: npc/002-3/mapflags.txt npc: npc/002-3/merchant.txt diff --git a/world/map/npc/002-3/_mobs.txt b/world/map/npc/002-3/_mobs.txt index 963b8e36..a0552ba2 100644 --- a/world/map/npc/002-3/_mobs.txt +++ b/world/map/npc/002-3/_mobs.txt @@ -1,9 +1,3 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. // Tulimshar Mining Camp mobs - - -002-3,0,0,0|script|Mob002-3|32767 -{ - end; -} diff --git a/world/map/npc/002-3/_nodes.txt b/world/map/npc/002-3/_nodes.txt new file mode 100644 index 00000000..eb53d136 --- /dev/null +++ b/world/map/npc/002-3/_nodes.txt @@ -0,0 +1,4 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Tulimshar Mining Camp nodes + +// (no nodes) diff --git a/world/map/npc/002-4/_import.txt b/world/map/npc/002-4/_import.txt index 7f617989..44a09e1d 100644 --- a/world/map/npc/002-4/_import.txt +++ b/world/map/npc/002-4/_import.txt @@ -2,6 +2,7 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. map: 002-4 npc: npc/002-4/_mobs.txt +npc: npc/002-4/_nodes.txt npc: npc/002-4/_warps.txt npc: npc/002-4/mapflags.txt npc: npc/002-4/mine_triggerone.txt diff --git a/world/map/npc/002-4/_mobs.txt b/world/map/npc/002-4/_mobs.txt index 0a461429..0643fb93 100644 --- a/world/map/npc/002-4/_mobs.txt +++ b/world/map/npc/002-4/_mobs.txt @@ -1,38 +1,17 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. // Desert Mines mobs -002-4,39,37,15,11|monster|CaveMaggot|1056,5,100000ms,30000ms,Mob002-4::On1056 -002-4,91,41,17,20|monster|AngryFireGoblin|1108,3,100000ms,30000ms,Mob002-4::On1108 -002-4,71,35,25,17|monster|CaveMaggot|1056,4,100000ms,30000ms,Mob002-4::On1056 -002-4,69,100,8,5|monster|AngryFireGoblin|1108,2,100000ms,30000ms,Mob002-4::On1108 -002-4,68,57,26,24|monster|AngryScorpion|1057,5,100000ms,30000ms,Mob002-4::On1057 -002-4,49,58,4,15|monster|AngryScorpion|1057,5,100000ms,30000ms,Mob002-4::On1057 -002-4,38,76,15,22|monster|AngryScorpion|1057,4,100000ms,30000ms,Mob002-4::On1057 -002-4,58,78,6,17|monster|CaveMaggot|1056,4,100000ms,30000ms,Mob002-4::On1056 -002-4,89,68,11,32|monster|AngryScorpion|1057,4,100000ms,30000ms,Mob002-4::On1057 -002-4,84,93,19,17|monster|CaveMaggot|1056,4,100000ms,30000ms,Mob002-4::On1056 -002-4,72,77,21,14|monster|AngryFireGoblin|1108,3,100000ms,30000ms,Mob002-4::On1108 -002-4,67,91,11,12|monster|AngryScorpion|1057,4,100000ms,30000ms,Mob002-4::On1057 -002-4,58,95,6,13|monster|CaveMaggot|1056,4,100000ms,30000ms,Mob002-4::On1056 -002-4,63,100,2,5|monster|AngryScorpion|1057,3,100000ms,30000ms,Mob002-4::On1057 - - -002-4,0,0,0|script|Mob002-4|32767 -{ - end; - -On1056: - set @mobID, 1056; - callfunc "MobPoints"; - end; - -On1057: - set @mobID, 1057; - callfunc "MobPoints"; - end; - -On1108: - set @mobID, 1108; - callfunc "MobPoints"; - end; -} +002-4,39,37,15,11|monster|CaveMaggot|1056,5,100000ms,30000ms +002-4,91,41,17,20|monster|AngryFireGoblin|1108,3,100000ms,30000ms +002-4,71,35,25,17|monster|CaveMaggot|1056,4,100000ms,30000ms +002-4,69,100,8,5|monster|AngryFireGoblin|1108,2,100000ms,30000ms +002-4,68,57,26,24|monster|AngryScorpion|1057,5,100000ms,30000ms +002-4,49,58,4,15|monster|AngryScorpion|1057,5,100000ms,30000ms +002-4,38,76,15,22|monster|AngryScorpion|1057,4,100000ms,30000ms +002-4,58,78,6,17|monster|CaveMaggot|1056,4,100000ms,30000ms +002-4,89,68,11,32|monster|AngryScorpion|1057,4,100000ms,30000ms +002-4,84,93,19,17|monster|CaveMaggot|1056,4,100000ms,30000ms +002-4,72,77,21,14|monster|AngryFireGoblin|1108,3,100000ms,30000ms +002-4,67,91,11,12|monster|AngryScorpion|1057,4,100000ms,30000ms +002-4,58,95,6,13|monster|CaveMaggot|1056,4,100000ms,30000ms +002-4,63,100,2,5|monster|AngryScorpion|1057,3,100000ms,30000ms diff --git a/world/map/npc/002-4/_nodes.txt b/world/map/npc/002-4/_nodes.txt new file mode 100644 index 00000000..ddcec23c --- /dev/null +++ b/world/map/npc/002-4/_nodes.txt @@ -0,0 +1,4 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Desert Mines nodes + +// (no nodes) diff --git a/world/map/npc/002-5/_import.txt b/world/map/npc/002-5/_import.txt index 7b2a4daa..d50b74a4 100644 --- a/world/map/npc/002-5/_import.txt +++ b/world/map/npc/002-5/_import.txt @@ -2,6 +2,7 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. map: 002-5 npc: npc/002-5/_mobs.txt +npc: npc/002-5/_nodes.txt npc: npc/002-5/_warps.txt npc: npc/002-5/chest.txt npc: npc/002-5/mapflags.txt diff --git a/world/map/npc/002-5/_mobs.txt b/world/map/npc/002-5/_mobs.txt index c6894850..700685c8 100644 --- a/world/map/npc/002-5/_mobs.txt +++ b/world/map/npc/002-5/_mobs.txt @@ -1,51 +1,20 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. // Deep Desert Mines mobs -002-5,37,89,12,7|monster|AngryFireGoblin|1108,3,100000ms,30000ms,Mob002-5::On1108 -002-5,33,76,3,11|monster|CaveMaggot|1056,3,100000ms,30000ms,Mob002-5::On1056 -002-5,40,68,7,5|monster|AngryScorpion|1057,3,100000ms,30000ms,Mob002-5::On1057 -002-5,40,38,18,5|monster|Archant|1060,3,100000ms,30000ms,Mob002-5::On1060 -002-5,56,97,2,5|monster|Archant|1060,1,100000ms,30000ms,Mob002-5::On1060 -002-5,68,100,12,2|monster|YellowSlime|1007,4,100000ms,30000ms,Mob002-5::On1007 -002-5,91,80,1,5|monster|Archant|1060,1,100000ms,30000ms,Mob002-5::On1060 -002-5,89,94,1,5|monster|Archant|1060,1,100000ms,30000ms,Mob002-5::On1060 -002-5,74,78,1,5|monster|Archant|1060,2,100000ms,30000ms,Mob002-5::On1060 -002-5,94,72,2,4|monster|Archant|1060,1,100000ms,30000ms,Mob002-5::On1060 -002-5,90,61,6,2|monster|YellowSlime|1007,1,100000ms,30000ms,Mob002-5::On1007 -002-5,74,35,1,5|monster|Archant|1060,1,100000ms,30000ms,Mob002-5::On1060 -002-5,84,33,1,5|monster|Archant|1060,1,100000ms,30000ms,Mob002-5::On1060 -002-5,84,46,1,5|monster|Archant|1060,1,100000ms,30000ms,Mob002-5::On1060 -002-5,99,38,1,5|monster|Archant|1060,1,100000ms,30000ms,Mob002-5::On1060 -002-5,93,38,8,2|monster|YellowSlime|1007,2,100000ms,30000ms,Mob002-5::On1007 -002-5,62,62,5,43|monster|AngryFireGoblin|1108,3,100000ms,30000ms,Mob002-5::On1108 - - -002-5,0,0,0|script|Mob002-5|32767 -{ - end; - -On1007: - set @mobID, 1007; - callfunc "MobPoints"; - end; - -On1056: - set @mobID, 1056; - callfunc "MobPoints"; - end; - -On1057: - set @mobID, 1057; - callfunc "MobPoints"; - end; - -On1060: - set @mobID, 1060; - callfunc "MobPoints"; - end; - -On1108: - set @mobID, 1108; - callfunc "MobPoints"; - end; -} +002-5,37,89,12,7|monster|AngryFireGoblin|1108,3,100000ms,30000ms +002-5,33,76,3,11|monster|CaveMaggot|1056,3,100000ms,30000ms +002-5,40,68,7,5|monster|AngryScorpion|1057,3,100000ms,30000ms +002-5,40,38,18,5|monster|Archant|1060,3,100000ms,30000ms +002-5,56,97,2,5|monster|Archant|1060,1,100000ms,30000ms +002-5,68,100,12,2|monster|YellowSlime|1007,4,100000ms,30000ms +002-5,91,80,1,5|monster|Archant|1060,1,100000ms,30000ms +002-5,89,94,1,5|monster|Archant|1060,1,100000ms,30000ms +002-5,74,78,1,5|monster|Archant|1060,2,100000ms,30000ms +002-5,94,72,2,4|monster|Archant|1060,1,100000ms,30000ms +002-5,90,61,6,2|monster|YellowSlime|1007,1,100000ms,30000ms +002-5,74,35,1,5|monster|Archant|1060,1,100000ms,30000ms +002-5,84,33,1,5|monster|Archant|1060,1,100000ms,30000ms +002-5,84,46,1,5|monster|Archant|1060,1,100000ms,30000ms +002-5,99,38,1,5|monster|Archant|1060,1,100000ms,30000ms +002-5,93,38,8,2|monster|YellowSlime|1007,2,100000ms,30000ms +002-5,62,62,5,43|monster|AngryFireGoblin|1108,3,100000ms,30000ms diff --git a/world/map/npc/002-5/_nodes.txt b/world/map/npc/002-5/_nodes.txt new file mode 100644 index 00000000..d3890f4a --- /dev/null +++ b/world/map/npc/002-5/_nodes.txt @@ -0,0 +1,4 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Deep Desert Mines nodes + +// (no nodes) diff --git a/world/map/npc/004-3/_import.txt b/world/map/npc/004-3/_import.txt index 1c5bc475..97d4e69b 100644 --- a/world/map/npc/004-3/_import.txt +++ b/world/map/npc/004-3/_import.txt @@ -2,5 +2,6 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. map: 004-3 npc: npc/004-3/_mobs.txt +npc: npc/004-3/_nodes.txt npc: npc/004-3/_warps.txt npc: npc/004-3/mapflags.txt diff --git a/world/map/npc/004-3/_mobs.txt b/world/map/npc/004-3/_mobs.txt index dce2ec02..26c4d595 100644 --- a/world/map/npc/004-3/_mobs.txt +++ b/world/map/npc/004-3/_mobs.txt @@ -1,31 +1,10 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. // Pirate Caves First Floor mobs -004-3,43,72,7,8|monster|Thug|1119,2,100000ms,30000ms,Mob004-3::On1119 -004-3,43,72,7,8|monster|Swashbuckler|1120,1,100000ms,30000ms,Mob004-3::On1120 -004-3,43,72,7,8|monster|Grenadier|1121,1,100000ms,30000ms,Mob004-3::On1121 -004-3,28,69,8,2|monster|Thug|1119,2,100000ms,30000ms,Mob004-3::On1119 -004-3,71,63,7,8|monster|Thug|1119,2,100000ms,30000ms,Mob004-3::On1119 -004-3,39,39,7,3|monster|Swashbuckler|1120,2,100000ms,30000ms,Mob004-3::On1120 -004-3,71,63,7,8|monster|Grenadier|1121,1,100000ms,30000ms,Mob004-3::On1121 - - -004-3,0,0,0|script|Mob004-3|32767 -{ - end; - -On1119: - set @mobID, 1119; - callfunc "MobPoints"; - end; - -On1120: - set @mobID, 1120; - callfunc "MobPoints"; - end; - -On1121: - set @mobID, 1121; - callfunc "MobPoints"; - end; -} +004-3,43,72,7,8|monster|Thug|1119,2,100000ms,30000ms +004-3,43,72,7,8|monster|Swashbuckler|1120,1,100000ms,30000ms +004-3,43,72,7,8|monster|Grenadier|1121,1,100000ms,30000ms +004-3,28,69,8,2|monster|Thug|1119,2,100000ms,30000ms +004-3,71,63,7,8|monster|Thug|1119,2,100000ms,30000ms +004-3,39,39,7,3|monster|Swashbuckler|1120,2,100000ms,30000ms +004-3,71,63,7,8|monster|Grenadier|1121,1,100000ms,30000ms diff --git a/world/map/npc/004-3/_nodes.txt b/world/map/npc/004-3/_nodes.txt new file mode 100644 index 00000000..9ebc3e80 --- /dev/null +++ b/world/map/npc/004-3/_nodes.txt @@ -0,0 +1,4 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Pirate Caves First Floor nodes + +// (no nodes) diff --git a/world/map/npc/004-4/_import.txt b/world/map/npc/004-4/_import.txt index d241e73e..6b0490c3 100644 --- a/world/map/npc/004-4/_import.txt +++ b/world/map/npc/004-4/_import.txt @@ -2,5 +2,6 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. map: 004-4 npc: npc/004-4/_mobs.txt +npc: npc/004-4/_nodes.txt npc: npc/004-4/_warps.txt npc: npc/004-4/mapflags.txt diff --git a/world/map/npc/004-4/_mobs.txt b/world/map/npc/004-4/_mobs.txt index 525a7215..0216ba6d 100644 --- a/world/map/npc/004-4/_mobs.txt +++ b/world/map/npc/004-4/_mobs.txt @@ -1,33 +1,12 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. // Pirate Caves Second Floor mobs -004-4,36,62,5,20|monster|Grenadier|1121,1,100000ms,30000ms,Mob004-4::On1121 -004-4,37,61,5,21|monster|Swashbuckler|1120,2,100000ms,30000ms,Mob004-4::On1120 -004-4,62,52,12,7|monster|Thug|1119,2,100000ms,30000ms,Mob004-4::On1119 -004-4,34,87,12,7|monster|Thug|1119,2,100000ms,30000ms,Mob004-4::On1119 -004-4,37,62,6,22|monster|Thug|1119,2,100000ms,30000ms,Mob004-4::On1119 -004-4,34,88,10,6|monster|Swashbuckler|1120,2,100000ms,30000ms,Mob004-4::On1120 -004-4,63,52,10,6|monster|Swashbuckler|1120,2,100000ms,30000ms,Mob004-4::On1120 -004-4,62,52,11,4|monster|Grenadier|1121,1,100000ms,30000ms,Mob004-4::On1121 -004-4,34,88,10,4|monster|Grenadier|1121,1,100000ms,30000ms,Mob004-4::On1121 - - -004-4,0,0,0|script|Mob004-4|32767 -{ - end; - -On1119: - set @mobID, 1119; - callfunc "MobPoints"; - end; - -On1120: - set @mobID, 1120; - callfunc "MobPoints"; - end; - -On1121: - set @mobID, 1121; - callfunc "MobPoints"; - end; -} +004-4,36,62,5,20|monster|Grenadier|1121,1,100000ms,30000ms +004-4,37,61,5,21|monster|Swashbuckler|1120,2,100000ms,30000ms +004-4,62,52,12,7|monster|Thug|1119,2,100000ms,30000ms +004-4,34,87,12,7|monster|Thug|1119,2,100000ms,30000ms +004-4,37,62,6,22|monster|Thug|1119,2,100000ms,30000ms +004-4,34,88,10,6|monster|Swashbuckler|1120,2,100000ms,30000ms +004-4,63,52,10,6|monster|Swashbuckler|1120,2,100000ms,30000ms +004-4,62,52,11,4|monster|Grenadier|1121,1,100000ms,30000ms +004-4,34,88,10,4|monster|Grenadier|1121,1,100000ms,30000ms diff --git a/world/map/npc/004-4/_nodes.txt b/world/map/npc/004-4/_nodes.txt new file mode 100644 index 00000000..2ca90a45 --- /dev/null +++ b/world/map/npc/004-4/_nodes.txt @@ -0,0 +1,4 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Pirate Caves Second Floor nodes + +// (no nodes) diff --git a/world/map/npc/004-5/_import.txt b/world/map/npc/004-5/_import.txt index 3114b117..234d6cde 100644 --- a/world/map/npc/004-5/_import.txt +++ b/world/map/npc/004-5/_import.txt @@ -2,6 +2,7 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. map: 004-5 npc: npc/004-5/_mobs.txt +npc: npc/004-5/_nodes.txt npc: npc/004-5/_warps.txt npc: npc/004-5/chest.txt npc: npc/004-5/mapflags.txt diff --git a/world/map/npc/004-5/_mobs.txt b/world/map/npc/004-5/_mobs.txt index 2d3acc7e..b7425fb5 100644 --- a/world/map/npc/004-5/_mobs.txt +++ b/world/map/npc/004-5/_mobs.txt @@ -1,36 +1,15 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. // Pirate Den mobs -004-5,41,70,6,5|monster|Grenadier|1121,1,100000ms,30000ms,Mob004-5::On1121 -004-5,41,70,7,3|monster|Swashbuckler|1120,2,100000ms,30000ms,Mob004-5::On1120 -004-5,40,70,8,2|monster|Thug|1119,2,100000ms,30000ms,Mob004-5::On1119 -004-5,35,86,6,5|monster|Grenadier|1121,1,100000ms,30000ms,Mob004-5::On1121 -004-5,34,86,8,2|monster|Thug|1119,2,100000ms,30000ms,Mob004-5::On1119 -004-5,35,86,7,3|monster|Swashbuckler|1120,2,100000ms,30000ms,Mob004-5::On1120 -004-5,54,38,6,5|monster|Grenadier|1121,1,100000ms,30000ms,Mob004-5::On1121 -004-5,53,38,8,2|monster|Thug|1119,2,100000ms,30000ms,Mob004-5::On1119 -004-5,54,38,7,3|monster|Swashbuckler|1120,2,100000ms,30000ms,Mob004-5::On1120 -004-5,81,38,6,5|monster|Grenadier|1121,1,100000ms,30000ms,Mob004-5::On1121 -004-5,80,38,8,2|monster|Thug|1119,2,100000ms,30000ms,Mob004-5::On1119 -004-5,81,38,7,3|monster|Swashbuckler|1120,2,100000ms,30000ms,Mob004-5::On1120 - - -004-5,0,0,0|script|Mob004-5|32767 -{ - end; - -On1119: - set @mobID, 1119; - callfunc "MobPoints"; - end; - -On1120: - set @mobID, 1120; - callfunc "MobPoints"; - end; - -On1121: - set @mobID, 1121; - callfunc "MobPoints"; - end; -} +004-5,41,70,6,5|monster|Grenadier|1121,1,100000ms,30000ms +004-5,41,70,7,3|monster|Swashbuckler|1120,2,100000ms,30000ms +004-5,40,70,8,2|monster|Thug|1119,2,100000ms,30000ms +004-5,35,86,6,5|monster|Grenadier|1121,1,100000ms,30000ms +004-5,34,86,8,2|monster|Thug|1119,2,100000ms,30000ms +004-5,35,86,7,3|monster|Swashbuckler|1120,2,100000ms,30000ms +004-5,54,38,6,5|monster|Grenadier|1121,1,100000ms,30000ms +004-5,53,38,8,2|monster|Thug|1119,2,100000ms,30000ms +004-5,54,38,7,3|monster|Swashbuckler|1120,2,100000ms,30000ms +004-5,81,38,6,5|monster|Grenadier|1121,1,100000ms,30000ms +004-5,80,38,8,2|monster|Thug|1119,2,100000ms,30000ms +004-5,81,38,7,3|monster|Swashbuckler|1120,2,100000ms,30000ms diff --git a/world/map/npc/004-5/_nodes.txt b/world/map/npc/004-5/_nodes.txt new file mode 100644 index 00000000..55ea7bb3 --- /dev/null +++ b/world/map/npc/004-5/_nodes.txt @@ -0,0 +1,4 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Pirate Den nodes + +// (no nodes) diff --git a/world/map/npc/005-3/_import.txt b/world/map/npc/005-3/_import.txt index a1fd70bd..415451c3 100644 --- a/world/map/npc/005-3/_import.txt +++ b/world/map/npc/005-3/_import.txt @@ -2,5 +2,6 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. map: 005-3 npc: npc/005-3/_mobs.txt +npc: npc/005-3/_nodes.txt npc: npc/005-3/_warps.txt npc: npc/005-3/mapflags.txt diff --git a/world/map/npc/005-3/_mobs.txt b/world/map/npc/005-3/_mobs.txt index 63e58847..79168aba 100644 --- a/world/map/npc/005-3/_mobs.txt +++ b/world/map/npc/005-3/_mobs.txt @@ -1,27 +1,6 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. // Snake Pit mobs -005-3,58,57,62,57|monster|Snake|1010,50,100000ms,30000ms,Mob005-3::On1010 -005-3,58,57,62,57|monster|BlackScorpion|1009,15,100000ms,30000ms,Mob005-3::On1009 -005-3,58,57,62,57|monster|GiantMaggot|1006,20,100000ms,30000ms,Mob005-3::On1006 - - -005-3,0,0,0|script|Mob005-3|32767 -{ - end; - -On1006: - set @mobID, 1006; - callfunc "MobPoints"; - end; - -On1009: - set @mobID, 1009; - callfunc "MobPoints"; - end; - -On1010: - set @mobID, 1010; - callfunc "MobPoints"; - end; -} +005-3,58,57,62,57|monster|Snake|1010,50,100000ms,30000ms +005-3,58,57,62,57|monster|BlackScorpion|1009,15,100000ms,30000ms +005-3,58,57,62,57|monster|GiantMaggot|1006,20,100000ms,30000ms diff --git a/world/map/npc/005-3/_nodes.txt b/world/map/npc/005-3/_nodes.txt new file mode 100644 index 00000000..0e704ee5 --- /dev/null +++ b/world/map/npc/005-3/_nodes.txt @@ -0,0 +1,4 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Snake Pit nodes + +// (no nodes) diff --git a/world/map/npc/006-1/_import.txt b/world/map/npc/006-1/_import.txt index 0885c461..44f1375d 100644 --- a/world/map/npc/006-1/_import.txt +++ b/world/map/npc/006-1/_import.txt @@ -2,6 +2,7 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. map: 006-1 npc: npc/006-1/_mobs.txt +npc: npc/006-1/_nodes.txt npc: npc/006-1/_warps.txt npc: npc/006-1/mapflags.txt npc: npc/006-1/mika.txt diff --git a/world/map/npc/006-1/_mobs.txt b/world/map/npc/006-1/_mobs.txt index 2288ec92..c18464c8 100644 --- a/world/map/npc/006-1/_mobs.txt +++ b/world/map/npc/006-1/_mobs.txt @@ -1,55 +1,24 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. // Desert Mountains mobs -006-1,49,52,7,3|monster|Snake|1010,1,100000ms,30000ms,Mob006-1::On1010 -006-1,53,36,16,13|monster|MountainSnake|1026,3,150000ms,10000ms,Mob006-1::On1026 -006-1,89,26,33,13|monster|MountainSnake|1026,5,15000ms,75000ms,Mob006-1::On1026 -006-1,113,41,12,37|monster|MountainSnake|1026,8,15000ms,75000ms,Mob006-1::On1026 -006-1,113,51,6,3|monster|MountainSnake|1026,3,15000ms,75000ms,Mob006-1::On1026 -006-1,86,46,29,5|monster|MountainSnake|1026,3,15000ms,75000ms,Mob006-1::On1026 -006-1,105,73,21,14|monster|MountainSnake|1026,3,15000ms,75000ms,Mob006-1::On1026 -006-1,73,102,8,13|monster|MountainSnake|1026,4,15000ms,75000ms,Mob006-1::On1026 -006-1,104,100,11,15|monster|MountainSnake|1026,8,15000ms,75000ms,Mob006-1::On1026 -006-1,82,72,25,16|monster|MountainSnake|1026,8,15000ms,75000ms,Mob006-1::On1026 -006-1,95,114,17,4|monster|MountainSnake|1026,5,15000ms,75000ms,Mob006-1::On1026 -006-1,57,119,18,2|monster|MountainSnake|1026,4,15000ms,75000ms,Mob006-1::On1026 -006-1,33,97,27,33|monster|Scorpion|1003,10,100000ms,30000ms,Mob006-1::On1003 -006-1,58,49,3,3|monster|GreenSlime|1005,3,100000ms,30000ms,Mob006-1::On1005 -006-1,34,50,5,4|monster|Snake|1010,2,40000ms,50000ms,Mob006-1::On1010 -006-1,96,92,20,48|monster|Snake|1010,2,40000ms,50000ms,Mob006-1::On1010 -006-1,35,97,28,29|monster|Maggot|1002,20,100000ms,30000ms,Mob006-1::On1002 -006-1,28,73,3,2|monster|GreenSlime|1005,2,100000ms,30000ms,Mob006-1::On1005 -006-1,33,59,3,2|monster|GreenSlime|1005,2,100000ms,30000ms,Mob006-1::On1005 -006-1,37,73,7,3|monster|Snake|1010,1,100000ms,30000ms,Mob006-1::On1010 -006-1,100,36,38,24|monster|Snake|1010,2,40000ms,50000ms,Mob006-1::On1010 - - -006-1,0,0,0|script|Mob006-1|32767 -{ - end; - -On1002: - set @mobID, 1002; - callfunc "MobPoints"; - end; - -On1003: - set @mobID, 1003; - callfunc "MobPoints"; - end; - -On1005: - set @mobID, 1005; - callfunc "MobPoints"; - end; - -On1010: - set @mobID, 1010; - callfunc "MobPoints"; - end; - -On1026: - set @mobID, 1026; - callfunc "MobPoints"; - end; -} +006-1,49,52,7,3|monster|Snake|1010,1,100000ms,30000ms +006-1,53,36,16,13|monster|MountainSnake|1026,3,150000ms,10000ms +006-1,89,26,33,13|monster|MountainSnake|1026,5,15000ms,75000ms +006-1,113,41,12,37|monster|MountainSnake|1026,8,15000ms,75000ms +006-1,113,51,6,3|monster|MountainSnake|1026,3,15000ms,75000ms +006-1,86,46,29,5|monster|MountainSnake|1026,3,15000ms,75000ms +006-1,105,73,21,14|monster|MountainSnake|1026,3,15000ms,75000ms +006-1,73,102,8,13|monster|MountainSnake|1026,4,15000ms,75000ms +006-1,104,100,11,15|monster|MountainSnake|1026,8,15000ms,75000ms +006-1,82,72,25,16|monster|MountainSnake|1026,8,15000ms,75000ms +006-1,95,114,17,4|monster|MountainSnake|1026,5,15000ms,75000ms +006-1,57,119,18,2|monster|MountainSnake|1026,4,15000ms,75000ms +006-1,33,97,27,33|monster|Scorpion|1003,10,100000ms,30000ms +006-1,58,49,3,3|monster|GreenSlime|1005,3,100000ms,30000ms +006-1,34,50,5,4|monster|Snake|1010,2,40000ms,50000ms +006-1,96,92,20,48|monster|Snake|1010,2,40000ms,50000ms +006-1,35,97,28,29|monster|Maggot|1002,20,100000ms,30000ms +006-1,28,73,3,2|monster|GreenSlime|1005,2,100000ms,30000ms +006-1,33,59,3,2|monster|GreenSlime|1005,2,100000ms,30000ms +006-1,37,73,7,3|monster|Snake|1010,1,100000ms,30000ms +006-1,100,36,38,24|monster|Snake|1010,2,40000ms,50000ms diff --git a/world/map/npc/006-1/_nodes.txt b/world/map/npc/006-1/_nodes.txt new file mode 100644 index 00000000..e53e7619 --- /dev/null +++ b/world/map/npc/006-1/_nodes.txt @@ -0,0 +1,4 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Desert Mountains nodes + +// (no nodes) diff --git a/world/map/npc/006-2/_import.txt b/world/map/npc/006-2/_import.txt index 0730bd46..2d22f31c 100644 --- a/world/map/npc/006-2/_import.txt +++ b/world/map/npc/006-2/_import.txt @@ -2,6 +2,7 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. map: 006-2 npc: npc/006-2/_mobs.txt +npc: npc/006-2/_nodes.txt npc: npc/006-2/_warps.txt npc: npc/006-2/mapflags.txt npc: npc/006-2/npcs.txt diff --git a/world/map/npc/006-2/_mobs.txt b/world/map/npc/006-2/_mobs.txt index 13ee9057..e3fe486b 100644 --- a/world/map/npc/006-2/_mobs.txt +++ b/world/map/npc/006-2/_mobs.txt @@ -1,9 +1,3 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. // Pachua's Village mobs - - -006-2,0,0,0|script|Mob006-2|32767 -{ - end; -} diff --git a/world/map/npc/006-2/_nodes.txt b/world/map/npc/006-2/_nodes.txt new file mode 100644 index 00000000..ae0f0147 --- /dev/null +++ b/world/map/npc/006-2/_nodes.txt @@ -0,0 +1,4 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Pachua's Village nodes + +// (no nodes) diff --git a/world/map/npc/006-3/_import.txt b/world/map/npc/006-3/_import.txt index 6302c3a8..8e52641e 100644 --- a/world/map/npc/006-3/_import.txt +++ b/world/map/npc/006-3/_import.txt @@ -2,5 +2,6 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. map: 006-3 npc: npc/006-3/_mobs.txt +npc: npc/006-3/_nodes.txt npc: npc/006-3/_warps.txt npc: npc/006-3/mapflags.txt diff --git a/world/map/npc/006-3/_mobs.txt b/world/map/npc/006-3/_mobs.txt index 3fa25c29..93d6102c 100644 --- a/world/map/npc/006-3/_mobs.txt +++ b/world/map/npc/006-3/_mobs.txt @@ -1,55 +1,29 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. // Desert Mountain Cave mobs -006-3,108,25,36,8|monster|MountainSnake|1026,3,15000ms,90000ms,Mob006-3::On1026 -006-3,99,50,14,13|monster|MountainSnake|1026,1,15000ms,90000ms,Mob006-3::On1026 -006-3,89,63,14,11|monster|MountainSnake|1026,2,15000ms,90000ms,Mob006-3::On1026 -006-3,86,90,29,9|monster|MountainSnake|1026,3,15000ms,90000ms,Mob006-3::On1026 -006-3,109,78,12,9|monster|MountainSnake|1026,1,15000ms,90000ms,Mob006-3::On1026 -006-3,119,117,15,14|monster|MountainSnake|1026,4,15000ms,90000ms,Mob006-3::On1026 -006-3,106,64,14,17|monster|MountainSnake|1026,3,15000ms,90000ms,Mob006-3::On1026 -006-3,65,71,31,35|monster|MountainSnake|1026,10,15000ms,90000ms,Mob006-3::On1026 -006-3,57,105,27,30|monster|MountainSnake|1026,8,15000ms,90000ms,Mob006-3::On1026 -006-3,73,120,16,5|monster|MountainSnake|1026,3,15000ms,90000ms,Mob006-3::On1026 -006-3,117,54,11,9|monster|MountainSnake|1026,4,15000ms,90000ms,Mob006-3::On1026 -006-3,123,62,10,5|monster|MountainSnake|1026,3,15000ms,90000ms,Mob006-3::On1026 -006-3,72,36,24,25|monster|MountainSnake|1026,10,15000ms,90000ms,Mob006-3::On1026 -006-3,84,27,5,7|monster|MountainSnake|1026,1,15000ms,90000ms,Mob006-3::On1026 -006-3,40,40,36,28|monster|MountainSnake|1026,8,15000ms,90000ms,Mob006-3::On1026 -006-3,34,60,27,11|monster|MountainSnake|1026,3,15000ms,90000ms,Mob006-3::On1026 -006-3,87,74,26,9|monster|RedSlime|1008,3,15000ms,10000ms,Mob006-3::On1008 -006-3,120,76,9,21|monster|RedSlime|1008,3,15000ms,10000ms,Mob006-3::On1008 -006-3,101,85,14,8|monster|RedSlime|1008,4,15000ms,10000ms,Mob006-3::On1008 -006-3,44,124,29,7|monster|MountainSnake|1026,5,15000ms,90000ms,Mob006-3::On1026 -006-3,90,125,17,7|monster|MountainSnake|1026,5,15000ms,90000ms,Mob006-3::On1026 -006-3,30,88,13,20|monster|RedSlime|1008,3,90000ms,30000ms,Mob006-3::On1008 -006-3,122,98,10,16|monster|Spider|1012,3,90000ms,30000ms,Mob006-3::On1012 -006-3,112,104,7,13|monster|Spider|1012,1,90000ms,30000ms,Mob006-3::On1012 -006-3,103,108,9,9|monster|Spider|1012,1,90000ms,30000ms,Mob006-3::On1012 -006-3,83,107,13,14|monster|YellowSlime|1007,6,90000ms,30000ms,Mob006-3::On1007 - - -006-3,0,0,0|script|Mob006-3|32767 -{ - end; - -On1007: - set @mobID, 1007; - callfunc "MobPoints"; - end; - -On1008: - set @mobID, 1008; - callfunc "MobPoints"; - end; - -On1012: - set @mobID, 1012; - callfunc "MobPoints"; - end; - -On1026: - set @mobID, 1026; - callfunc "MobPoints"; - end; -} +006-3,108,25,36,8|monster|MountainSnake|1026,3,15000ms,90000ms +006-3,99,50,14,13|monster|MountainSnake|1026,1,15000ms,90000ms +006-3,89,63,14,11|monster|MountainSnake|1026,2,15000ms,90000ms +006-3,86,90,29,9|monster|MountainSnake|1026,3,15000ms,90000ms +006-3,109,78,12,9|monster|MountainSnake|1026,1,15000ms,90000ms +006-3,119,117,15,14|monster|MountainSnake|1026,4,15000ms,90000ms +006-3,106,64,14,17|monster|MountainSnake|1026,3,15000ms,90000ms +006-3,65,71,31,35|monster|MountainSnake|1026,10,15000ms,90000ms +006-3,57,105,27,30|monster|MountainSnake|1026,8,15000ms,90000ms +006-3,73,120,16,5|monster|MountainSnake|1026,3,15000ms,90000ms +006-3,117,54,11,9|monster|MountainSnake|1026,4,15000ms,90000ms +006-3,123,62,10,5|monster|MountainSnake|1026,3,15000ms,90000ms +006-3,72,36,24,25|monster|MountainSnake|1026,10,15000ms,90000ms +006-3,84,27,5,7|monster|MountainSnake|1026,1,15000ms,90000ms +006-3,40,40,36,28|monster|MountainSnake|1026,8,15000ms,90000ms +006-3,34,60,27,11|monster|MountainSnake|1026,3,15000ms,90000ms +006-3,87,74,26,9|monster|RedSlime|1008,3,15000ms,10000ms +006-3,120,76,9,21|monster|RedSlime|1008,3,15000ms,10000ms +006-3,101,85,14,8|monster|RedSlime|1008,4,15000ms,10000ms +006-3,44,124,29,7|monster|MountainSnake|1026,5,15000ms,90000ms +006-3,90,125,17,7|monster|MountainSnake|1026,5,15000ms,90000ms +006-3,30,88,13,20|monster|RedSlime|1008,3,90000ms,30000ms +006-3,122,98,10,16|monster|Spider|1012,3,90000ms,30000ms +006-3,112,104,7,13|monster|Spider|1012,1,90000ms,30000ms +006-3,103,108,9,9|monster|Spider|1012,1,90000ms,30000ms +006-3,83,107,13,14|monster|YellowSlime|1007,6,90000ms,30000ms diff --git a/world/map/npc/006-3/_nodes.txt b/world/map/npc/006-3/_nodes.txt new file mode 100644 index 00000000..c039867e --- /dev/null +++ b/world/map/npc/006-3/_nodes.txt @@ -0,0 +1,4 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Desert Mountain Cave nodes + +// (no nodes) diff --git a/world/map/npc/007-1/_import.txt b/world/map/npc/007-1/_import.txt index eca15081..f6f86a36 100644 --- a/world/map/npc/007-1/_import.txt +++ b/world/map/npc/007-1/_import.txt @@ -2,6 +2,7 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. map: 007-1 npc: npc/007-1/_mobs.txt +npc: npc/007-1/_nodes.txt npc: npc/007-1/_warps.txt npc: npc/007-1/mapflags.txt npc: npc/007-1/voltain.txt diff --git a/world/map/npc/007-1/_mobs.txt b/world/map/npc/007-1/_mobs.txt index 846c9fc5..e160e414 100644 --- a/world/map/npc/007-1/_mobs.txt +++ b/world/map/npc/007-1/_mobs.txt @@ -1,63 +1,12 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. // Woodland mobs -007-1,0,0,0,0|monster|PinkFlower|1014,17,100000ms,30000ms,Mob007-1::On1014 -007-1,0,0,0,0|monster|SpikyMushroom|1019,15,100000ms,30000ms,Mob007-1::On1019 -007-1,0,0,0,0|monster|Snail|1041,25,100000ms,30000ms,Mob007-1::On1041 -007-1,0,0,0,0|monster|MauvePlant|1029,3,270000ms,180000ms,Mob007-1::On1029 -007-1,0,0,0,0|monster|GambogePlant|1031,1,2700000ms,1800000ms,Mob007-1::On1031 -007-1,0,0,0,0|monster|Silkworm|1035,2,60000ms,30000ms,Mob007-1::On1035 -007-1,0,0,0,0|monster|CloverPatch|1037,2,0ms,1000ms,Mob007-1::On1037 -007-1,0,0,0,0|monster|Squirrel|1038,25,30ms,20ms,Mob007-1::On1038 -007-1,0,0,0,0|monster|Butterfly|1055,10,30ms,20ms,Mob007-1::On1055 - - -007-1,0,0,0|script|Mob007-1|32767 -{ - end; - -On1014: - set @mobID, 1014; - callfunc "MobPoints"; - end; - -On1019: - set @mobID, 1019; - callfunc "MobPoints"; - end; - -On1029: - set @mobID, 1029; - callfunc "MobPoints"; - end; - -On1031: - set @mobID, 1031; - callfunc "MobPoints"; - end; - -On1035: - set @mobID, 1035; - callfunc "MobPoints"; - end; - -On1037: - set @mobID, 1037; - callfunc "MobPoints"; - end; - -On1038: - set @mobID, 1038; - callfunc "MobPoints"; - end; - -On1041: - set @mobID, 1041; - callfunc "MobPoints"; - end; - -On1055: - set @mobID, 1055; - callfunc "MobPoints"; - end; -} +007-1,0,0,0,0|monster|PinkFlower|1014,17,100000ms,30000ms +007-1,0,0,0,0|monster|SpikyMushroom|1019,15,100000ms,30000ms +007-1,0,0,0,0|monster|Snail|1041,25,100000ms,30000ms +007-1,0,0,0,0|monster|MauvePlant|1029,3,270000ms,180000ms +007-1,0,0,0,0|monster|GambogePlant|1031,1,2700000ms,1800000ms +007-1,0,0,0,0|monster|Silkworm|1035,2,60000ms,30000ms +007-1,0,0,0,0|monster|CloverPatch|1037,2,0ms,1000ms +007-1,0,0,0,0|monster|Squirrel|1038,25,30ms,20ms +007-1,0,0,0,0|monster|Butterfly|1055,10,30ms,20ms diff --git a/world/map/npc/007-1/_nodes.txt b/world/map/npc/007-1/_nodes.txt new file mode 100644 index 00000000..12c08221 --- /dev/null +++ b/world/map/npc/007-1/_nodes.txt @@ -0,0 +1,4 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Woodland nodes + +// (no nodes) diff --git a/world/map/npc/007-2/_import.txt b/world/map/npc/007-2/_import.txt index bce6eb02..e68bb71b 100644 --- a/world/map/npc/007-2/_import.txt +++ b/world/map/npc/007-2/_import.txt @@ -2,5 +2,6 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. map: 007-2 npc: npc/007-2/_mobs.txt +npc: npc/007-2/_nodes.txt npc: npc/007-2/_warps.txt npc: npc/007-2/witch.txt diff --git a/world/map/npc/007-2/_mobs.txt b/world/map/npc/007-2/_mobs.txt index ca392cc6..1d91c286 100644 --- a/world/map/npc/007-2/_mobs.txt +++ b/world/map/npc/007-2/_mobs.txt @@ -1,9 +1,3 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. // Illia forsaken inn mobs - - -007-2,0,0,0|script|Mob007-2|32767 -{ - end; -} diff --git a/world/map/npc/007-2/_nodes.txt b/world/map/npc/007-2/_nodes.txt new file mode 100644 index 00000000..38010d03 --- /dev/null +++ b/world/map/npc/007-2/_nodes.txt @@ -0,0 +1,4 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Illia forsaken inn nodes + +// (no nodes) diff --git a/world/map/npc/007-2/witch.txt b/world/map/npc/007-2/witch.txt index f5fcda32..3e80dccc 100644 --- a/world/map/npc/007-2/witch.txt +++ b/world/map/npc/007-2/witch.txt @@ -23,7 +23,7 @@ set @illia_iced_water, 4; set $@illia_min_level, 90; - if (getgmlevel() >= 40 && getequipid(equip_head) == 647) + if ((GM >= get(.valia, "GM") || debug) && getequipid(equip_head) == 647) goto L_DeveloperBoard; if (BaseLevel < $@illia_min_level) goto L_Unexperienced; @@ -35,22 +35,7 @@ end; L_DeveloperBoard: - mes "[Developer Board]"; - mes "$Illia_Luvia_Harvest: "+$Illia_Luvia_Harvest; - mes "$Illia_Win_Counter: "+$Illia_Win_Counter; - next; - mes "[Developer Board]"; - mes "$@illia_progress: "+$@illia_progress; - if ($@illia_begin_time > 0) - mes "Time: "+(gettimetick(2) - $@illia_begin_time)+"/"+$@illia_max_time; - mes ""; - mes "$@illia_level_1_progress: "+$@illia_level_1_progress; - mes "$@illia_level_2_progress: "+$@illia_level_2_progress; - mes "$@illia_level_3_progress: "+$@illia_level_3_progress; - mes "$@illia_level_4_progress: "+$@illia_level_4_progress; - mes "$@illia_level_5_progress: "+$@illia_level_5_progress; - mes "$@illia_level_6_progress: "+$@illia_level_6_progress; - mes "$@illia_level_7_progress: "+$@illia_level_7_progress; + callfunc "IlliaDebug"; close; L_Introduce: @@ -1020,3 +1005,22 @@ end; { end; } + +function|script|IlliaDebug +{ + mes "$Illia_Luvia_Harvest: "+$Illia_Luvia_Harvest; + mes "$Illia_Win_Counter: "+$Illia_Win_Counter; + mes "---"; + mes "$@illia_progress: "+$@illia_progress; + if ($@illia_begin_time > 0) + mes "Time: "+(gettimetick(2) - $@illia_begin_time)+"/"+$@illia_max_time; + mes "---"; + mes "$@illia_level_1_progress: "+$@illia_level_1_progress; + mes "$@illia_level_2_progress: "+$@illia_level_2_progress; + mes "$@illia_level_3_progress: "+$@illia_level_3_progress; + mes "$@illia_level_4_progress: "+$@illia_level_4_progress; + mes "$@illia_level_5_progress: "+$@illia_level_5_progress; + mes "$@illia_level_6_progress: "+$@illia_level_6_progress; + mes "$@illia_level_7_progress: "+$@illia_level_7_progress; + return; +} diff --git a/world/map/npc/008-1/_import.txt b/world/map/npc/008-1/_import.txt index fc019095..630d4263 100644 --- a/world/map/npc/008-1/_import.txt +++ b/world/map/npc/008-1/_import.txt @@ -2,6 +2,7 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. map: 008-1 npc: npc/008-1/_mobs.txt +npc: npc/008-1/_nodes.txt npc: npc/008-1/_warps.txt npc: npc/008-1/andra.txt npc: npc/008-1/annualeaster.txt diff --git a/world/map/npc/008-1/_mobs.txt b/world/map/npc/008-1/_mobs.txt index 33a425e3..6c077242 100644 --- a/world/map/npc/008-1/_mobs.txt +++ b/world/map/npc/008-1/_mobs.txt @@ -1,63 +1,12 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. // Hurnscald Outskirts mobs -008-1,0,0,0,0|monster|PinkFlower|1014,10,20ms,0ms,Mob008-1::On1014 -008-1,0,0,0,0|monster|Pinkie|1018,18,20ms,0ms,Mob008-1::On1018 -008-1,0,0,0,0|monster|ManaBug|1131,18,30ms,0ms,Mob008-1::On1131 -008-1,0,0,0,0|monster|Maggot|1002,30,30ms,0ms,Mob008-1::On1002 -008-1,0,0,0,0|monster|MauvePlant|1029,2,270000ms,180000ms,Mob008-1::On1029 -008-1,0,0,0,0|monster|Silkworm|1035,2,60000ms,30000ms,Mob008-1::On1035 -008-1,0,0,0,0|monster|CloverPatch|1037,2,0ms,1000ms,Mob008-1::On1037 -008-1,0,0,0,0|monster|Squirrel|1038,10,30ms,20ms,Mob008-1::On1038 -008-1,0,0,0,0|monster|Butterfly|1055,10,30ms,20ms,Mob008-1::On1055 - - -008-1,0,0,0|script|Mob008-1|32767 -{ - end; - -On1002: - set @mobID, 1002; - callfunc "MobPoints"; - end; - -On1014: - set @mobID, 1014; - callfunc "MobPoints"; - end; - -On1018: - set @mobID, 1018; - callfunc "MobPoints"; - end; - -On1029: - set @mobID, 1029; - callfunc "MobPoints"; - end; - -On1035: - set @mobID, 1035; - callfunc "MobPoints"; - end; - -On1037: - set @mobID, 1037; - callfunc "MobPoints"; - end; - -On1038: - set @mobID, 1038; - callfunc "MobPoints"; - end; - -On1055: - set @mobID, 1055; - callfunc "MobPoints"; - end; - -On1131: - set @mobID, 1131; - callfunc "MobPoints"; - end; -} +008-1,0,0,0,0|monster|PinkFlower|1014,10,20ms,0ms +008-1,0,0,0,0|monster|Pinkie|1018,18,20ms,0ms +008-1,0,0,0,0|monster|ManaBug|1131,18,30ms,0ms +008-1,0,0,0,0|monster|Maggot|1002,30,30ms,0ms +008-1,0,0,0,0|monster|MauvePlant|1029,2,270000ms,180000ms +008-1,0,0,0,0|monster|Silkworm|1035,2,60000ms,30000ms +008-1,0,0,0,0|monster|CloverPatch|1037,2,0ms,1000ms +008-1,0,0,0,0|monster|Squirrel|1038,10,30ms,20ms +008-1,0,0,0,0|monster|Butterfly|1055,10,30ms,20ms diff --git a/world/map/npc/008-1/_nodes.txt b/world/map/npc/008-1/_nodes.txt new file mode 100644 index 00000000..d8b67583 --- /dev/null +++ b/world/map/npc/008-1/_nodes.txt @@ -0,0 +1,4 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Hurnscald Outskirts nodes + +// (no nodes) diff --git a/world/map/npc/008-1/annualeaster.txt b/world/map/npc/008-1/annualeaster.txt index b38aaa0a..1ec95cbe 100644 --- a/world/map/npc/008-1/annualeaster.txt +++ b/world/map/npc/008-1/annualeaster.txt @@ -8,250 +8,213 @@ // Easter cannot be before march 22 or after april 25, so activate // the event in these days. - -function|script|AnnualEasterEvent +008-1,0,0,0|script|Easter Eggs|32767 { + +////////////////////////////////// +// puppet logic below + + if (strnpcinfo(2) == "") end; + if (get(.disabled, "Easter Eggs") || $@isEaster < 1) goto L_Destroy; + set @npc_distance, 1; + callfunc "PCtoNPCRange"; + if(@npc_check) end; if ((gettimetick(2)-TUT_var < 5*7*86400) || (BaseLevel < 40)) //player must be created at least 5 weeks ago goto L_EndTooYoung; - callsub S_Read_Annual_Quest; + set @easter_year, (Annual_Quest & BYTE_1_MASK) >> BYTE_1_SHIFT; + if (#EASTERTIMEPENALTY == 0) goto L_WarmUp; // prevent clicking multiple times: - if (gettimetick(2) < #EASTERTIMEPENALTY + $@EASTER_FOUND_WAIT_TIME) + if (gettimetick(2) < #EASTERTIMEPENALTY + get(.wait_time, "Easter Eggs")) goto L_End2; if (@easter_year > gettime(7) - 2000) goto L_End3; set #EASTERTIMEPENALTY, gettimetick(2); - // global counter to determine reshuffle times of the eggs. - set $@peopleFoundEggs[@EasterEggID], $@peopleFoundEggs[@EasterEggID]+1; - - set @AnnualEasterTries, @AnnualEasterTries + 1; + set .found, .found + 1; // this egg has been found X times + set @AnnualEasterTries, @AnnualEasterTries + 1; // you tried X times since login - // give a small reward: - message strcharinfo(0), "You found something!"; - set @tmp, getarraysize($@SmallAnnualEasterItems$); - set @random, rand(@tmp + 2); - if (@random < @tmp) getitem $@SmallAnnualEasterItems$[@random], rand(1, 2); - if (@random == @tmp) getexp rand(200), 0; - if (@random == @tmp + 1) set Zeny, Zeny + rand(50); - misceffect FX_GETITEM, strcharinfo(0); + message strcharinfo(0), "Eggs : You found something!"; + set .@size, get(.small_rewards, "Easter Eggs"); + set .@random, rand(.@size+2); + if (.@random < .@size) + getitem get(.small_rewards$[.@random], "Easter Eggs"), rand(1, 2); + elif (.@random == .@size) + getexp rand(200), 0; + else + set Zeny, Zeny + rand(50); - // give out a better reward occasionally: - // standard case is branch taken, so only if rand yields 0, medium rewarding. - if (rand($@EASTER_EGG_INV_CHANCE)) + if (rand(get(.chance, "Easter Eggs"))) goto L_NoEasterEgg; - set @random, rand(getarraysize($@MediumAnnualEasterRewards$)); - getitem $@MediumAnnualEasterRewards$[@random], 1; + + set .@random, rand(get(.medium_rewards$, "Easter Eggs")); + getitem get(.medium_rewards$[.@random], "Easter Eggs"), 1; misceffect FX_GETITEM, strcharinfo(0); goto L_NoEasterEgg; L_NoEasterEgg: - - // If you're lucky you get a bigger unique reward per year: - // so only pass on a small chance iff you don't have the item yet. - // Usually the journey ends here because @random != 0 -> end - callsub S_Read_Annual_Quest; - - if (@AnnualEasterTries > $@EASTER_FINAL_REW_INV_CHANCE) - set @AnnualEasterTries, $@EASTER_FINAL_REW_INV_CHANCE; - set @random, rand($@EASTER_FINAL_REW_INV_CHANCE - @AnnualEasterTries + 1); - if (@random || @easter_year > gettime(7) - 2000) - goto L_End1; + set .@fchance, get(.final_rew_chance, "Easter Eggs"); + if (@AnnualEasterTries > .@fchance) + set @AnnualEasterTries, .@fchance; + set .@random, rand(.@fchance - @AnnualEasterTries + 1); + if (.@random || @easter_year > gettime(7) - 2000) + goto L_Reward_End; // block for further items this year: set @easter_year, gettime(7) - 2000 + 1; - callsub S_Update_Annual_Quest; + set Annual_Quest, (Annual_Quest & ~(BYTE_1_MASK) | (@easter_year << BYTE_1_SHIFT)); // Hand out pretty unique rewards depending on the current year: // We'll be handing out 2 different items each year, whereas one of them // will be very common (95 %) and the other rare (5 %) for the players. // The rare item will become the common item next year. - set @rewardindex, gettime(7) - 2012; + set .@rewardindex, gettime(7) - 2012; if (rand(100) < 5) - set @rewardindex, @rewardindex + 1; - + set .@rewardindex, .@rewardindex + 1; // now hand out the specific item: - set @rewardindex, @rewardindex % getarraysize($@FinalAnnualEasterReward$); - getitem $@FinalAnnualEasterReward$[@rewardindex], 1; + set .@rewardindex, .@rewardindex % get(.big_rewards, "Easter Eggs"); + getitem get(.big_rewards$[.@rewardindex], "Easter Eggs"), 1; misceffect FX_GETITEM, strcharinfo(0); - message strcharinfo(0), "This is really special. You won't find anything like this again."; - goto L_End1; + message strcharinfo(0), "Eggs : This is really special. You won't find anything like this again."; + goto L_Reward_End; -S_Read_Annual_Quest: - set @easter_year, (Annual_Quest & BYTE_1_MASK) >> BYTE_1_SHIFT; - return; +L_Reward_End: + if (.found >= get(.mapcount, "Easter Eggs")) + goto L_Destroy; + end; -S_Update_Annual_Quest: - set Annual_Quest, (Annual_Quest & ~(BYTE_1_MASK) | (@easter_year << BYTE_1_SHIFT)); - return; +L_Destroy: + set .eggs, get(.eggs, "Easter Eggs") - 1, "Easter Eggs"; // tell the puppeteer we lost an egg + destroy; L_EndTooYoung: - message strcharinfo(0), "The nest is empty."; - goto L_End1; + message strcharinfo(0), "Eggs : The nest is empty."; + end; L_WarmUp: set #EASTERTIMEPENALTY, gettimetick(2); getitem "MoubooFigurine", 1; misceffect FX_GETITEM, strcharinfo(0); - message strcharinfo(0), "Hmmm eggs! Maybe you can find something nice there!"; - goto L_End1; + message strcharinfo(0), "Eggs : Hmmm eggs! Maybe you can find something nice there!"; + end; L_End3: - message strcharinfo(0), "Don't be greedy! You already found something nice."; - goto L_End1; + message strcharinfo(0), "Eggs : Don't be greedy! You already found something nice."; + end; L_End2: - message strcharinfo(0), "Don't be greedy! You just found something a moment ago."; + message strcharinfo(0), "Eggs : Don't be greedy! You just found something a moment ago."; set #EASTERTIMEPENALTY, #EASTERTIMEPENALTY + 5; if (#EASTERTIMEPENALTY > gettimetick(2)) set #EASTERTIMEPENALTY, gettimetick(2); - goto L_End1; - -L_End1: - set @rewardindex, 0; - set @easter_year, 0; - set @random, 0; - set @tmp, 0; - set @EasterEggID, 0; - return; -} - -008-1,65,40,0|script|#TestEgg0|375 -{ - set @npc_distance, 1; - callfunc "PCtoNPCRange"; - if(@npc_check) end; - - set @EasterEggID, 0; - callfunc("AnnualEasterEvent"); end; -} -008-1,65,40,0|script|#TestEgg1|375 -{ - set @npc_distance, 1; - callfunc "PCtoNPCRange"; - if(@npc_check) end; - - set @EasterEggID, 1; - callfunc("AnnualEasterEvent"); +OnTimer5000: + if (get(.disabled, "Easter Eggs") || $@isEaster < 1) + goto L_Destroy; + initnpctimer; end; -} -008-1,65,40,0|script|#TestEgg2|375 -{ - set @npc_distance, 1; - callfunc "PCtoNPCRange"; - if(@npc_check) end; - - set @EasterEggID, 2; - callfunc("AnnualEasterEvent"); - end; -} +////////////////////////////////// +// puppeteer logic below -008-1,59,38,0|script|#AnnualEaster|32767 -{ +OnSpawn: + set .@e, rand(2,.loc[1]); + set .@x, .loc[.@e]; + set .@y, .loc[(.@e-1)+.loc[1]]; + set .eID, .eID + 1; // give the egg an id + set .@name$, "#--Ee"+chr(3)+.eID; + void puppet(strnpcinfo(3), .@x, .@y, .@name$, 375); // spawn the egg + initnpctimer .@name$; // init puppeteer check timer + if (.eID == 2147483647) + set .eID, 0; // start over if id = 0x7FFFFFFF end; -OnInit: - set $@EASTER_FOUND_WAIT_TIME, 15; - set $@EASTER_FINAL_REW_INV_CHANCE, 70; - set $@EASTER_EGG_INV_CHANCE, 750; - - setarray $@easteregg_posx, 41, 45, 50, 57, 60, 64, 67, 65, 59, 72, 70, 82, 81, 93, 97, 101, 88, 108, 115, 122, 122, 129, 129, 130, 135, 123, 132, 132, 127, 124, 121, 107, 100, 101, 109, 104, 88, 84, 92, 59, 71, 65, 53, 55, 74, 59, 53, 46, 44, 44, 38, 43, 40, 43, 37; - setarray $@easteregg_posy, 87, 89, 88, 93, 98, 90, 96, 82, 81, 82, 96, 98, 92, 89, 89, 81, 82, 94, 96, 96, 90, 86, 72, 65, 60, 46, 25, 21, 20, 22, 20, 34, 24, 41, 43, 42, 48, 28, 27, 17, 23, 29, 25, 20, 39, 41, 34, 36, 18, 25, 31, 39, 64, 69, 73; - - if (getarraysize($@easteregg_posy) != getarraysize($@easteregg_posx)) - goto L_FAULTY_SETUP; - - setarray $@SmallAnnualEasterItems$, "AppleCake", "CactusDrink", "CactusPotion", "Cake", "Candy", "CherryCake", "ChocolateBar", "ChocolateCake", "GreenApple", "Orange", "OrangeCake", "OrangeCupcake", "RedApple", "WhiteCake"; - - setarray $@MediumAnnualEasterRewards$, "RedEasterEgg", "GreenEasterEgg", "BlueEasterEgg", "YellowEasterEgg", "PinkEasterEgg", "TealEasterEgg"; +S_Spawn: + if (.eggs >= .max_eggs) + goto S_Return; + set .eggs, .eggs + 1; + addnpctimer 125 + rand(250), strnpcinfo(0) + "::OnSpawn"; // schedule a spawn + if (.eggs < .min_eggs) + goto S_Spawn; + return; - // DO NOT CHANGE SIZE AFTER EASTER 2013! - setarray $@FinalAnnualEasterReward$, "RedEggshellHat", "BlueEggshellHat", "YellowEggshellHat", "GreenEggshellHat", "OrangeEggshellHat", "DarkEggshellHat"; +S_Return: + return; - callsub S_disableEggs; - if (debug >= 2) end; - initnpctimer; +OnHeartbeat: + if (.max_eggs < 1 || .disabled || $@isEaster < 1) end; + set .mapcount, 1 + getmapusers(strnpcinfo(3)) / 3; + callsub S_Spawn; + addnpctimer 1000, strnpcinfo(0) + "::OnHeartbeat"; // heartbeat end; -L_FAULTY_SETUP: - mapexit; - -OnTimer1000: - setnpctimer 0; - - // an egg can be 'found' multiple times, make this number of possible findings - // depend on the number of players currently on the map. - set $@AEASTER_mapcount, 1 + getmapusers("008-1") / 3; - - set $@isEaster, 0; +OnCheckEaster: if ((gettime(6) == 3 && gettime(5) >= 22) || (gettime(6) == 4 && gettime(5) <= 25)) set $@isEaster, 1; - - if (!$@wasEaster && $@isEaster) - goto L_do_update_enable; - if ($@wasEaster && !$@isEaster) - goto L_do_update_disable; - goto L_done_update; - -L_do_update_enable: - callsub S_enableEggs; - goto L_done_update; - -L_do_update_disable: - callsub S_disableEggs; - goto L_done_update; - -L_done_update: - set $@wasEaster, $@isEaster; - - if (!$@isEaster) - goto L_End; - - set $@EggID, 0; - callsub S_relocateEasterEgg; - set $@EggID, 1; - callsub S_relocateEasterEgg; - set $@EggID, 2; - callsub S_relocateEasterEgg; - // intentional fallthrough to L_End - goto L_End; - -L_End: - set $@AEASTER_mapcount, 0; - set $@EggID, 0; - set $@isEaster, 0; + else + set $@isEaster, 0; + if ($@isEaster && .eggs < 1) + donpcevent "Easter Eggs::OnStart"; end; -S_enableEggs: - enablenpc "#TestEgg0"; - enablenpc "#TestEgg1"; - enablenpc "#TestEgg2"; - return; - -S_disableEggs: - disablenpc "#TestEgg0"; - disablenpc "#TestEgg1"; - disablenpc "#TestEgg2"; - return; - -S_relocateEasterEgg: - if ($@peopleFoundEggs[$@EggID] < $@AEASTER_mapcount) - goto S_Return; - - set $@peopleFoundEggs[$@EggID], 0; - - set $@eastereggPos, rand(getarraysize($@easteregg_posx)); - npcwarp $@easteregg_posx[$@eastereggPos], $@easteregg_posy[$@eastereggPos], "#TestEgg" + $@EggID; - goto S_Return; +OnStart: + if (.disabled || $@isEaster < 1) end; + set .min_eggs, 1; // min number of eggs + set .max_eggs, 3; // max number of eggs + set .eggs, 0; // virtual amount of eggs + set .eID, 0; // last egg id + set .wait_time, 15; + set .final_rew_chance, 70; + set .chance, 750; + setarray .loc[0], 0, 1,1, // first row: x, second row: y + 41, 45, 50, 57, 60, 64, 67, 65, 59, 72, 70, 82, 81, 93, 97, 101, 88, 108, 115, 122, 122, 129, 129, 130, 135, 123, 132, 132, 127, 124, 121, 107, 100, 101, 109, 104, 88, 84, 92, 59, 71, 65, 53, 55, 74, 59, 53, 46, 44, 44, 38, 43, 40, 43, 37, + 87, 89, 88, 93, 98, 90, 96, 82, 81, 82, 96, 98, 92, 89, 89, 81, 82, 94, 96, 96, 90, 86, 72, 65, 60, 46, 25, 21, 20, 22, 20, 34, 24, 41, 43, 42, 48, 28, 27, 17, 23, 29, 25, 20, 39, 41, 34, 36, 18, 25, 31, 39, 64, 69, 73; + set .loc[0], (getarraysize(.loc) - 1); // loc 0 and 1 are special (stores array size, and half index) + set .loc[1], ((.loc[0]+1)/2); + setarray .small_rewards$[0], 0, "AppleCake", "CactusDrink", "CactusPotion", "Cake", "Candy", "CherryCake", "ChocolateBar", "ChocolateCake", "GreenApple", "Orange", "OrangeCake", "OrangeCupcake", "RedApple", "WhiteCake"; + set .small_rewards, getarraysize(.small_rewards$); + setarray .medium_rewards$[0], 0, "RedEasterEgg", "GreenEasterEgg", "BlueEasterEgg", "YellowEasterEgg", "PinkEasterEgg", "TealEasterEgg"; + setarray .big_rewards$[0], 0, "RedEggshellHat", "BlueEggshellHat", "YellowEggshellHat", "GreenEggshellHat", "OrangeEggshellHat", "DarkEggshellHat"; + set .big_rewards, getarraysize(.big_rewards$); + donpcevent strnpcinfo(0) + "::OnHeartbeat"; // first heartbeat + end; +} -S_Return: +function|script|Easter Debug +{ + goto L_Menu; + +L_Menu: + clear; + mes "Please choose an option."; + if (get(.disabled, "Easter Eggs")) + menu + "Do Nothing.", L_Return, + "Enable eggs.", L_Enable; + menu + "Do Nothing.", L_Return, + "Disable eggs.", L_Disable; + +L_Enable: + set .disabled, 0, "Easter Eggs"; + clear; + mes "Easter Eggs enabled."; + next; + goto L_Menu; + +L_Disable: + set .disabled, 1, "Easter Eggs"; // TODO: (tmwa) automatically destroy puppets when using @disablenpc & also discard timers + clear; + mes "Easter Eggs disabled."; + next; + goto L_Menu; + +L_Return: return; } diff --git a/world/map/npc/009-1/_import.txt b/world/map/npc/009-1/_import.txt index 4c902627..6c27b6c5 100644 --- a/world/map/npc/009-1/_import.txt +++ b/world/map/npc/009-1/_import.txt @@ -2,6 +2,7 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. map: 009-1 npc: npc/009-1/_mobs.txt +npc: npc/009-1/_nodes.txt npc: npc/009-1/_warps.txt npc: npc/009-1/constable.txt npc: npc/009-1/dock.txt diff --git a/world/map/npc/009-1/_mobs.txt b/world/map/npc/009-1/_mobs.txt index 247a3797..223569bf 100644 --- a/world/map/npc/009-1/_mobs.txt +++ b/world/map/npc/009-1/_mobs.txt @@ -1,34 +1,8 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. // Hurnscald mobs -009-1,74,32,2,1|monster|CloverPatch|1037,1,100000ms,120000ms,Mob009-1::On1037 -009-1,29,44,9,13|monster|PinkFlower|1014,2,0ms,250ms,Mob009-1::On1014 -009-1,88,51,15,4|monster|Squirrel|1038,2,0ms,5000ms,Mob009-1::On1038 -009-1,80,38,5,5|monster|Squirrel|1038,1,0ms,5000ms,Mob009-1::On1038 -009-1,0,0,0,0|monster|Butterfly|1055,5,30ms,20ms,Mob009-1::On1055 - - -009-1,0,0,0|script|Mob009-1|32767 -{ - end; - -On1014: - set @mobID, 1014; - callfunc "MobPoints"; - end; - -On1037: - set @mobID, 1037; - callfunc "MobPoints"; - end; - -On1038: - set @mobID, 1038; - callfunc "MobPoints"; - end; - -On1055: - set @mobID, 1055; - callfunc "MobPoints"; - end; -} +009-1,74,32,2,1|monster|CloverPatch|1037,1,100000ms,120000ms +009-1,29,44,9,13|monster|PinkFlower|1014,2,0ms,250ms +009-1,88,51,15,4|monster|Squirrel|1038,2,0ms,5000ms +009-1,80,38,5,5|monster|Squirrel|1038,1,0ms,5000ms +009-1,0,0,0,0|monster|Butterfly|1055,5,30ms,20ms diff --git a/world/map/npc/009-1/_nodes.txt b/world/map/npc/009-1/_nodes.txt new file mode 100644 index 00000000..6d59c8db --- /dev/null +++ b/world/map/npc/009-1/_nodes.txt @@ -0,0 +1,4 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Hurnscald nodes + +// (no nodes) diff --git a/world/map/npc/009-2/_import.txt b/world/map/npc/009-2/_import.txt index 2bec98b3..25198d72 100644 --- a/world/map/npc/009-2/_import.txt +++ b/world/map/npc/009-2/_import.txt @@ -2,6 +2,7 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. map: 009-2 npc: npc/009-2/_mobs.txt +npc: npc/009-2/_nodes.txt npc: npc/009-2/_warps.txt npc: npc/009-2/airlia.txt npc: npc/009-2/alan.txt diff --git a/world/map/npc/009-2/_mobs.txt b/world/map/npc/009-2/_mobs.txt index e0b8a1a0..45fa02a8 100644 --- a/world/map/npc/009-2/_mobs.txt +++ b/world/map/npc/009-2/_mobs.txt @@ -1,9 +1,3 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. // Hurnscald Indoor mobs - - -009-2,0,0,0|script|Mob009-2|32767 -{ - end; -} diff --git a/world/map/npc/009-2/_nodes.txt b/world/map/npc/009-2/_nodes.txt new file mode 100644 index 00000000..161b9c17 --- /dev/null +++ b/world/map/npc/009-2/_nodes.txt @@ -0,0 +1,4 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Hurnscald Indoor nodes + +// (no nodes) diff --git a/world/map/npc/009-3/_import.txt b/world/map/npc/009-3/_import.txt index f147aa76..6cf14773 100644 --- a/world/map/npc/009-3/_import.txt +++ b/world/map/npc/009-3/_import.txt @@ -2,6 +2,7 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. map: 009-3 npc: npc/009-3/_mobs.txt +npc: npc/009-3/_nodes.txt npc: npc/009-3/_warps.txt npc: npc/009-3/mapflags.txt npc: npc/009-3/sword.txt diff --git a/world/map/npc/009-3/_mobs.txt b/world/map/npc/009-3/_mobs.txt index ab403a12..64c43145 100644 --- a/world/map/npc/009-3/_mobs.txt +++ b/world/map/npc/009-3/_mobs.txt @@ -1,33 +1,7 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. // Hurnscald Cave mobs -009-3,0,0,0,0|monster|YellowSlime|1007,20,0ms,0ms,Mob009-3::On1007 -009-3,62,75,125,150|monster|BlackScorpion|1009,25,0ms,0ms,Mob009-3::On1009 -009-3,63,75,126,150|monster|RedSlime|1008,35,0ms,0ms,Mob009-3::On1008 -009-3,145,75,110,151|monster|CaveMaggot|1056,20,100000ms,30000ms,Mob009-3::On1056 - - -009-3,0,0,0|script|Mob009-3|32767 -{ - end; - -On1007: - set @mobID, 1007; - callfunc "MobPoints"; - end; - -On1008: - set @mobID, 1008; - callfunc "MobPoints"; - end; - -On1009: - set @mobID, 1009; - callfunc "MobPoints"; - end; - -On1056: - set @mobID, 1056; - callfunc "MobPoints"; - end; -} +009-3,0,0,0,0|monster|YellowSlime|1007,20,0ms,0ms +009-3,62,75,125,150|monster|BlackScorpion|1009,25,0ms,0ms +009-3,63,75,126,150|monster|RedSlime|1008,35,0ms,0ms +009-3,145,75,110,151|monster|CaveMaggot|1056,20,100000ms,30000ms diff --git a/world/map/npc/009-3/_nodes.txt b/world/map/npc/009-3/_nodes.txt new file mode 100644 index 00000000..a4b17b18 --- /dev/null +++ b/world/map/npc/009-3/_nodes.txt @@ -0,0 +1,4 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Hurnscald Cave nodes + +// (no nodes) diff --git a/world/map/npc/009-4/_import.txt b/world/map/npc/009-4/_import.txt index c10d7df3..efddeeb4 100644 --- a/world/map/npc/009-4/_import.txt +++ b/world/map/npc/009-4/_import.txt @@ -2,6 +2,7 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. map: 009-4 npc: npc/009-4/_mobs.txt +npc: npc/009-4/_nodes.txt npc: npc/009-4/_warps.txt npc: npc/009-4/barriers.txt npc: npc/009-4/mapflags.txt diff --git a/world/map/npc/009-4/_mobs.txt b/world/map/npc/009-4/_mobs.txt index e81f350e..2995d15e 100644 --- a/world/map/npc/009-4/_mobs.txt +++ b/world/map/npc/009-4/_mobs.txt @@ -1,31 +1,10 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. // Orum Caves mobs -009-4,117,97,24,15|monster|Silkworm|1035,3,20000ms,14000ms,Mob009-4::On1035 -009-4,115,98,24,15|monster|CaveSnake|1021,5,20000ms,14000ms,Mob009-4::On1021 -009-4,103,28,24,15|monster|CaveSnake|1021,3,20000ms,14000ms,Mob009-4::On1021 -009-4,106,27,24,15|monster|Silkworm|1035,3,20000ms,14000ms,Mob009-4::On1035 -009-4,119,45,12,10|monster|Silkworm|1035,3,20000ms,14000ms,Mob009-4::On1035 -009-4,72,130,24,15|monster|Maggot|1002,3,20000ms,14000ms,Mob009-4::On1002 -009-4,38,116,24,15|monster|Maggot|1002,3,20000ms,14000ms,Mob009-4::On1002 - - -009-4,0,0,0|script|Mob009-4|32767 -{ - end; - -On1002: - set @mobID, 1002; - callfunc "MobPoints"; - end; - -On1021: - set @mobID, 1021; - callfunc "MobPoints"; - end; - -On1035: - set @mobID, 1035; - callfunc "MobPoints"; - end; -} +009-4,117,97,24,15|monster|Silkworm|1035,3,20000ms,14000ms +009-4,115,98,24,15|monster|CaveSnake|1021,5,20000ms,14000ms +009-4,103,28,24,15|monster|CaveSnake|1021,3,20000ms,14000ms +009-4,106,27,24,15|monster|Silkworm|1035,3,20000ms,14000ms +009-4,119,45,12,10|monster|Silkworm|1035,3,20000ms,14000ms +009-4,72,130,24,15|monster|Maggot|1002,3,20000ms,14000ms +009-4,38,116,24,15|monster|Maggot|1002,3,20000ms,14000ms diff --git a/world/map/npc/009-4/_nodes.txt b/world/map/npc/009-4/_nodes.txt new file mode 100644 index 00000000..5050be70 --- /dev/null +++ b/world/map/npc/009-4/_nodes.txt @@ -0,0 +1,4 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Orum Caves nodes + +// (no nodes) diff --git a/world/map/npc/009-5/_import.txt b/world/map/npc/009-5/_import.txt index 6cbfcc60..fe3f3fff 100644 --- a/world/map/npc/009-5/_import.txt +++ b/world/map/npc/009-5/_import.txt @@ -2,5 +2,6 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. map: 009-5 npc: npc/009-5/_mobs.txt +npc: npc/009-5/_nodes.txt npc: npc/009-5/_warps.txt npc: npc/009-5/mapflags.txt diff --git a/world/map/npc/009-5/_mobs.txt b/world/map/npc/009-5/_mobs.txt index 78d520be..7e4d996a 100644 --- a/world/map/npc/009-5/_mobs.txt +++ b/world/map/npc/009-5/_mobs.txt @@ -1,9 +1,3 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. // Last man standing mobs - - -009-5,0,0,0|script|Mob009-5|32767 -{ - end; -} diff --git a/world/map/npc/009-5/_nodes.txt b/world/map/npc/009-5/_nodes.txt new file mode 100644 index 00000000..9f0d888e --- /dev/null +++ b/world/map/npc/009-5/_nodes.txt @@ -0,0 +1,4 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Last man standing nodes + +// (no nodes) diff --git a/world/map/npc/009-6/_import.txt b/world/map/npc/009-6/_import.txt index 11296b22..3bb23125 100644 --- a/world/map/npc/009-6/_import.txt +++ b/world/map/npc/009-6/_import.txt @@ -2,6 +2,7 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. map: 009-6 npc: npc/009-6/_mobs.txt +npc: npc/009-6/_nodes.txt npc: npc/009-6/_warps.txt npc: npc/009-6/brodomir.txt npc: npc/009-6/mapflags.txt diff --git a/world/map/npc/009-6/_mobs.txt b/world/map/npc/009-6/_mobs.txt index adb1e44e..c03fd729 100644 --- a/world/map/npc/009-6/_mobs.txt +++ b/world/map/npc/009-6/_mobs.txt @@ -1,9 +1,3 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. // Cave mobs - - -009-6,0,0,0|script|Mob009-6|32767 -{ - end; -} diff --git a/world/map/npc/009-6/_nodes.txt b/world/map/npc/009-6/_nodes.txt new file mode 100644 index 00000000..ed02d5dc --- /dev/null +++ b/world/map/npc/009-6/_nodes.txt @@ -0,0 +1,4 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Cave nodes + +// (no nodes) diff --git a/world/map/npc/009-7/_import.txt b/world/map/npc/009-7/_import.txt index 4ae626ea..a064a519 100644 --- a/world/map/npc/009-7/_import.txt +++ b/world/map/npc/009-7/_import.txt @@ -2,6 +2,7 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. map: 009-7 npc: npc/009-7/_mobs.txt +npc: npc/009-7/_nodes.txt npc: npc/009-7/_warps.txt npc: npc/009-7/battlemaster.txt npc: npc/009-7/core.txt diff --git a/world/map/npc/009-7/_mobs.txt b/world/map/npc/009-7/_mobs.txt index bb641d0c..5eb4c228 100644 --- a/world/map/npc/009-7/_mobs.txt +++ b/world/map/npc/009-7/_mobs.txt @@ -1,9 +1,3 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. // The Sanguine Vault mobs - - -009-7,0,0,0|script|Mob009-7|32767 -{ - end; -} diff --git a/world/map/npc/009-7/_nodes.txt b/world/map/npc/009-7/_nodes.txt new file mode 100644 index 00000000..ad714a60 --- /dev/null +++ b/world/map/npc/009-7/_nodes.txt @@ -0,0 +1,4 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// The Sanguine Vault nodes + +// (no nodes) diff --git a/world/map/npc/010-1/_import.txt b/world/map/npc/010-1/_import.txt index 2bbe3df8..170881fa 100644 --- a/world/map/npc/010-1/_import.txt +++ b/world/map/npc/010-1/_import.txt @@ -2,5 +2,6 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. map: 010-1 npc: npc/010-1/_mobs.txt +npc: npc/010-1/_nodes.txt npc: npc/010-1/_warps.txt npc: npc/010-1/mapflags.txt diff --git a/world/map/npc/010-1/_mobs.txt b/world/map/npc/010-1/_mobs.txt index d73c842f..cf0ebae5 100644 --- a/world/map/npc/010-1/_mobs.txt +++ b/world/map/npc/010-1/_mobs.txt @@ -1,82 +1,16 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. // Woodland mobs -010-1,82,63,19,19|monster|Scorpion|1003,1,100000ms,30000ms,Mob010-1::On1003 -010-1,49,71,31,19|monster|SpikyMushroom|1019,1,100000ms,30000ms,Mob010-1::On1019 -010-1,0,0,0,0|monster|PinkFlower|1014,30,50ms,0ms,Mob010-1::On1014 -010-1,0,0,0,0|monster|Snail|1041,20,50ms,0ms,Mob010-1::On1041 -010-1,0,0,0,0|monster|SpikyMushroom|1019,45,50ms,0ms,Mob010-1::On1019 -010-1,0,0,0,0|monster|LogHead|1025,40,100ms,0ms,Mob010-1::On1025 -010-1,0,0,0,0|monster|Mouboo|1028,15,0ms,10ms,Mob010-1::On1028 -010-1,0,0,0,0|monster|MauvePlant|1029,3,270000ms,180000ms,Mob010-1::On1029 -010-1,0,0,0,0|monster|CobaltPlant|1030,1,2700000ms,1800000ms,Mob010-1::On1030 -010-1,0,0,0,0|monster|Silkworm|1035,2,60000ms,30000ms,Mob010-1::On1035 -010-1,0,0,0,0|monster|CloverPatch|1037,2,0ms,1000ms,Mob010-1::On1037 -010-1,0,0,0,0|monster|Squirrel|1038,25,30ms,20ms,Mob010-1::On1038 -010-1,0,0,0,0|monster|Butterfly|1055,10,30ms,20ms,Mob010-1::On1055 - - -010-1,0,0,0|script|Mob010-1|32767 -{ - end; - -On1003: - set @mobID, 1003; - callfunc "MobPoints"; - end; - -On1014: - set @mobID, 1014; - callfunc "MobPoints"; - end; - -On1019: - set @mobID, 1019; - callfunc "MobPoints"; - end; - -On1025: - set @mobID, 1025; - callfunc "MobPoints"; - end; - -On1028: - set @mobID, 1028; - callfunc "MobPoints"; - end; - -On1029: - set @mobID, 1029; - callfunc "MobPoints"; - end; - -On1030: - set @mobID, 1030; - callfunc "MobPoints"; - end; - -On1035: - set @mobID, 1035; - callfunc "MobPoints"; - end; - -On1037: - set @mobID, 1037; - callfunc "MobPoints"; - end; - -On1038: - set @mobID, 1038; - callfunc "MobPoints"; - end; - -On1041: - set @mobID, 1041; - callfunc "MobPoints"; - end; - -On1055: - set @mobID, 1055; - callfunc "MobPoints"; - end; -} +010-1,82,63,19,19|monster|Scorpion|1003,1,100000ms,30000ms +010-1,49,71,31,19|monster|SpikyMushroom|1019,1,100000ms,30000ms +010-1,0,0,0,0|monster|PinkFlower|1014,30,50ms,0ms +010-1,0,0,0,0|monster|Snail|1041,20,50ms,0ms +010-1,0,0,0,0|monster|SpikyMushroom|1019,45,50ms,0ms +010-1,0,0,0,0|monster|LogHead|1025,40,100ms,0ms +010-1,0,0,0,0|monster|Mouboo|1028,15,0ms,10ms +010-1,0,0,0,0|monster|MauvePlant|1029,3,270000ms,180000ms +010-1,0,0,0,0|monster|CobaltPlant|1030,1,2700000ms,1800000ms +010-1,0,0,0,0|monster|Silkworm|1035,2,60000ms,30000ms +010-1,0,0,0,0|monster|CloverPatch|1037,2,0ms,1000ms +010-1,0,0,0,0|monster|Squirrel|1038,25,30ms,20ms +010-1,0,0,0,0|monster|Butterfly|1055,10,30ms,20ms diff --git a/world/map/npc/010-1/_nodes.txt b/world/map/npc/010-1/_nodes.txt new file mode 100644 index 00000000..12c08221 --- /dev/null +++ b/world/map/npc/010-1/_nodes.txt @@ -0,0 +1,4 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Woodland nodes + +// (no nodes) diff --git a/world/map/npc/010-2/_import.txt b/world/map/npc/010-2/_import.txt index 9c2b3065..7d790a1b 100644 --- a/world/map/npc/010-2/_import.txt +++ b/world/map/npc/010-2/_import.txt @@ -2,6 +2,7 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. map: 010-2 npc: npc/010-2/_mobs.txt +npc: npc/010-2/_nodes.txt npc: npc/010-2/_warps.txt npc: npc/010-2/band.txt npc: npc/010-2/chef.txt diff --git a/world/map/npc/010-2/_mobs.txt b/world/map/npc/010-2/_mobs.txt index 3b258bd5..5ae78616 100644 --- a/world/map/npc/010-2/_mobs.txt +++ b/world/map/npc/010-2/_mobs.txt @@ -1,9 +1,3 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. // Dimond's Cove mobs - - -010-2,0,0,0|script|Mob010-2|32767 -{ - end; -} diff --git a/world/map/npc/010-2/_nodes.txt b/world/map/npc/010-2/_nodes.txt new file mode 100644 index 00000000..97d1478f --- /dev/null +++ b/world/map/npc/010-2/_nodes.txt @@ -0,0 +1,4 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Dimond's Cove nodes + +// (no nodes) diff --git a/world/map/npc/011-1/_import.txt b/world/map/npc/011-1/_import.txt index 13faf23a..161caeb4 100644 --- a/world/map/npc/011-1/_import.txt +++ b/world/map/npc/011-1/_import.txt @@ -2,6 +2,7 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. map: 011-1 npc: npc/011-1/_mobs.txt +npc: npc/011-1/_nodes.txt npc: npc/011-1/_warps.txt npc: npc/011-1/alchemist.txt npc: npc/011-1/auldsbel.txt diff --git a/world/map/npc/011-1/_mobs.txt b/world/map/npc/011-1/_mobs.txt index 3a0c0ce3..596c7194 100644 --- a/world/map/npc/011-1/_mobs.txt +++ b/world/map/npc/011-1/_mobs.txt @@ -1,88 +1,17 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. // Woodland mobs -011-1,0,0,0,0|monster|EvilMushroom|1013,30,0ms,0ms,Mob011-1::On1013 -011-1,0,0,0,0|monster|PinkFlower|1014,20,0ms,0ms,Mob011-1::On1014 -011-1,0,0,0,0|monster|SpikyMushroom|1019,5,0ms,0ms,Mob011-1::On1019 -011-1,0,0,0,0|monster|Snail|1041,1,0ms,0ms,Mob011-1::On1041 -011-1,0,0,0,0|monster|Mouboo|1028,5,0ms,10ms,Mob011-1::On1028 -011-1,0,0,0,0|monster|MauvePlant|1029,3,270000ms,180000ms,Mob011-1::On1029 -011-1,0,0,0,0|monster|AlizarinPlant|1032,1,2700000ms,1800000ms,Mob011-1::On1032 -011-1,0,0,0,0|monster|Silkworm|1035,2,60000ms,30000ms,Mob011-1::On1035 -011-1,0,0,0,0|monster|CloverPatch|1037,2,0ms,1000ms,Mob011-1::On1037 -011-1,0,0,0,0|monster|Squirrel|1038,25,30ms,20ms,Mob011-1::On1038 -011-1,0,0,0,0|monster|Butterfly|1055,10,30ms,20ms,Mob011-1::On1055 -011-1,0,0,0,0|monster|Mouboo|1028,5,0ms,10ms,Mob011-1::On1028 -011-1,1,1,0,0|monster|ManaBug|1131,18,30ms,0ms,Mob011-1::On1131 -011-1,92,44,35,28|monster|Maggot|1002,10,30ms,0ms,Mob011-1::On1002 - - -011-1,0,0,0|script|Mob011-1|32767 -{ - end; - -On1002: - set @mobID, 1002; - callfunc "MobPoints"; - end; - -On1013: - set @mobID, 1013; - callfunc "MobPoints"; - end; - -On1014: - set @mobID, 1014; - callfunc "MobPoints"; - end; - -On1019: - set @mobID, 1019; - callfunc "MobPoints"; - end; - -On1028: - set @mobID, 1028; - callfunc "MobPoints"; - end; - -On1029: - set @mobID, 1029; - callfunc "MobPoints"; - end; - -On1032: - set @mobID, 1032; - callfunc "MobPoints"; - end; - -On1035: - set @mobID, 1035; - callfunc "MobPoints"; - end; - -On1037: - set @mobID, 1037; - callfunc "MobPoints"; - end; - -On1038: - set @mobID, 1038; - callfunc "MobPoints"; - end; - -On1041: - set @mobID, 1041; - callfunc "MobPoints"; - end; - -On1055: - set @mobID, 1055; - callfunc "MobPoints"; - end; - -On1131: - set @mobID, 1131; - callfunc "MobPoints"; - end; -} +011-1,0,0,0,0|monster|EvilMushroom|1013,30,0ms,0ms +011-1,0,0,0,0|monster|PinkFlower|1014,20,0ms,0ms +011-1,0,0,0,0|monster|SpikyMushroom|1019,5,0ms,0ms +011-1,0,0,0,0|monster|Snail|1041,1,0ms,0ms +011-1,0,0,0,0|monster|Mouboo|1028,5,0ms,10ms +011-1,0,0,0,0|monster|MauvePlant|1029,3,270000ms,180000ms +011-1,0,0,0,0|monster|AlizarinPlant|1032,1,2700000ms,1800000ms +011-1,0,0,0,0|monster|Silkworm|1035,2,60000ms,30000ms +011-1,0,0,0,0|monster|CloverPatch|1037,2,0ms,1000ms +011-1,0,0,0,0|monster|Squirrel|1038,25,30ms,20ms +011-1,0,0,0,0|monster|Butterfly|1055,10,30ms,20ms +011-1,0,0,0,0|monster|Mouboo|1028,5,0ms,10ms +011-1,1,1,0,0|monster|ManaBug|1131,18,30ms,0ms +011-1,92,44,35,28|monster|Maggot|1002,10,30ms,0ms diff --git a/world/map/npc/011-1/_nodes.txt b/world/map/npc/011-1/_nodes.txt new file mode 100644 index 00000000..12c08221 --- /dev/null +++ b/world/map/npc/011-1/_nodes.txt @@ -0,0 +1,4 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Woodland nodes + +// (no nodes) diff --git a/world/map/npc/011-3/_import.txt b/world/map/npc/011-3/_import.txt index f916fcb2..d8dd3777 100644 --- a/world/map/npc/011-3/_import.txt +++ b/world/map/npc/011-3/_import.txt @@ -2,6 +2,7 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. map: 011-3 npc: npc/011-3/_mobs.txt +npc: npc/011-3/_nodes.txt npc: npc/011-3/_warps.txt npc: npc/011-3/hermit.txt npc: npc/011-3/mapflags.txt diff --git a/world/map/npc/011-3/_mobs.txt b/world/map/npc/011-3/_mobs.txt index 4e4a504e..f90961fb 100644 --- a/world/map/npc/011-3/_mobs.txt +++ b/world/map/npc/011-3/_mobs.txt @@ -1,21 +1,5 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. // Hermit's Cave mobs -011-3,0,0,0,0|monster|Bat|1017,10,0ms,0ms,Mob011-3::On1017 -011-3,0,0,0,0|monster|Silkworm|1035,3,60000ms,30000ms,Mob011-3::On1035 - - -011-3,0,0,0|script|Mob011-3|32767 -{ - end; - -On1017: - set @mobID, 1017; - callfunc "MobPoints"; - end; - -On1035: - set @mobID, 1035; - callfunc "MobPoints"; - end; -} +011-3,0,0,0,0|monster|Bat|1017,10,0ms,0ms +011-3,0,0,0,0|monster|Silkworm|1035,3,60000ms,30000ms diff --git a/world/map/npc/011-3/_nodes.txt b/world/map/npc/011-3/_nodes.txt new file mode 100644 index 00000000..d9dd7661 --- /dev/null +++ b/world/map/npc/011-3/_nodes.txt @@ -0,0 +1,4 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Hermit's Cave nodes + +// (no nodes) diff --git a/world/map/npc/011-4/_import.txt b/world/map/npc/011-4/_import.txt index b7b835e1..1b654a65 100644 --- a/world/map/npc/011-4/_import.txt +++ b/world/map/npc/011-4/_import.txt @@ -2,6 +2,7 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. map: 011-4 npc: npc/011-4/_mobs.txt +npc: npc/011-4/_nodes.txt npc: npc/011-4/_warps.txt npc: npc/011-4/bl_barrier.txt npc: npc/011-4/mapflags.txt diff --git a/world/map/npc/011-4/_mobs.txt b/world/map/npc/011-4/_mobs.txt index 81da8edc..92d32ddf 100644 --- a/world/map/npc/011-4/_mobs.txt +++ b/world/map/npc/011-4/_mobs.txt @@ -1,36 +1,10 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. // Lake Cave mobs -011-4,52,30,39,39|monster|SpikyMushroom|1019,1,100000ms,30000ms,Mob011-4::On1019 -011-4,93,114,39,39|monster|CaveSnake|1021,1,100000ms,30000ms,Mob011-4::On1021 -011-4,0,0,0,0|monster|CaveSnake|1021,40,0ms,0ms,Mob011-4::On1021 -011-4,0,0,0,0|monster|SpikyMushroom|1019,15,0ms,0ms,Mob011-4::On1019 -011-4,60,78,56,75|monster|CaveMaggot|1056,10,100000ms,30000ms,Mob011-4::On1056 -011-4,63,21,110,35|monster|CaveMaggot|1056,10,100000ms,30000ms,Mob011-4::On1056 -011-4,0,0,0,0|monster|Bat|1017,20,180000ms,40000ms,Mob011-4::On1017 - - -011-4,0,0,0|script|Mob011-4|32767 -{ - end; - -On1017: - set @mobID, 1017; - callfunc "MobPoints"; - end; - -On1019: - set @mobID, 1019; - callfunc "MobPoints"; - end; - -On1021: - set @mobID, 1021; - callfunc "MobPoints"; - end; - -On1056: - set @mobID, 1056; - callfunc "MobPoints"; - end; -} +011-4,52,30,39,39|monster|SpikyMushroom|1019,1,100000ms,30000ms +011-4,93,114,39,39|monster|CaveSnake|1021,1,100000ms,30000ms +011-4,0,0,0,0|monster|CaveSnake|1021,40,0ms,0ms +011-4,0,0,0,0|monster|SpikyMushroom|1019,15,0ms,0ms +011-4,60,78,56,75|monster|CaveMaggot|1056,10,100000ms,30000ms +011-4,63,21,110,35|monster|CaveMaggot|1056,10,100000ms,30000ms +011-4,0,0,0,0|monster|Bat|1017,20,180000ms,40000ms diff --git a/world/map/npc/011-4/_nodes.txt b/world/map/npc/011-4/_nodes.txt new file mode 100644 index 00000000..d439cbc5 --- /dev/null +++ b/world/map/npc/011-4/_nodes.txt @@ -0,0 +1,4 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Lake Cave nodes + +// (no nodes) diff --git a/world/map/npc/011-6/_import.txt b/world/map/npc/011-6/_import.txt index 34a781ad..216402e5 100644 --- a/world/map/npc/011-6/_import.txt +++ b/world/map/npc/011-6/_import.txt @@ -2,6 +2,7 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. map: 011-6 npc: npc/011-6/_mobs.txt +npc: npc/011-6/_nodes.txt npc: npc/011-6/_warps.txt npc: npc/011-6/barrier.txt npc: npc/011-6/bryant.txt diff --git a/world/map/npc/011-6/_mobs.txt b/world/map/npc/011-6/_mobs.txt index 4ba7f2ee..6a6ea09d 100644 --- a/world/map/npc/011-6/_mobs.txt +++ b/world/map/npc/011-6/_mobs.txt @@ -1,96 +1,50 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. // Bandit Cave mobs -011-6,152,72,283,127|monster|Silkworm|1035,9,30000ms,100000ms,Mob011-6::On1035 -011-6,263,38,30,34|monster|Bandit|1064,1,30000ms,30000ms,Mob011-6::On1064 -011-6,262,114,38,38|monster|Bandit|1064,1,30000ms,30000ms,Mob011-6::On1064 -011-6,132,119,17,21|monster|Bandit|1064,1,30000ms,30000ms,Mob011-6::On1064 -011-6,170,66,17,21|monster|Bandit|1064,1,30000ms,30000ms,Mob011-6::On1064 -011-6,67,70,17,21|monster|Bandit|1064,1,30000ms,30000ms,Mob011-6::On1064 -011-6,196,107,17,21|monster|Bandit|1064,1,30000ms,30000ms,Mob011-6::On1064 -011-6,196,29,17,21|monster|Bandit|1064,1,30000ms,30000ms,Mob011-6::On1064 -011-6,36,37,17,21|monster|Bandit|1064,1,30000ms,30000ms,Mob011-6::On1064 -011-6,112,40,45,48|monster|Bandit|1064,2,30000ms,60000ms,Mob011-6::On1064 -011-6,31,99,17,21|monster|Bandit|1064,1,30000ms,30000ms,Mob011-6::On1064 -011-6,223,250,123,65|monster|Bat|1017,5,30000ms,100000ms,Mob011-6::On1017 -011-6,224,175,118,25|monster|Bat|1017,3,30000ms,100000ms,Mob011-6::On1017 -011-6,257,77,4,126|monster|Bat|1017,6,30000ms,100000ms,Mob011-6::On1017 -011-6,192,77,4,126|monster|Bat|1017,9,30000ms,100000ms,Mob011-6::On1017 -011-6,167,110,87,13|monster|Bat|1017,9,30000ms,100000ms,Mob011-6::On1017 -011-6,75,70,104,96|monster|Bat|1017,23,30000ms,100000ms,Mob011-6::On1017 -011-6,78,195,129,97|monster|Bat|1017,9,30000ms,100000ms,Mob011-6::On1017 -011-6,168,109,36,37|monster|SpikyMushroom|1019,5,30000ms,100000ms,Mob011-6::On1019 -011-6,199,76,36,37|monster|SpikyMushroom|1019,5,30000ms,100000ms,Mob011-6::On1019 -011-6,88,163,29,27|monster|SpikyMushroom|1019,5,30000ms,100000ms,Mob011-6::On1019 -011-6,48,113,35,19|monster|SpikyMushroom|1019,5,30000ms,100000ms,Mob011-6::On1019 -011-6,177,94,20,28|monster|EvilMushroom|1013,4,30000ms,100000ms,Mob011-6::On1013 -011-6,194,49,20,28|monster|EvilMushroom|1013,2,30000ms,100000ms,Mob011-6::On1013 -011-6,51,115,47,24|monster|EvilMushroom|1013,2,30000ms,100000ms,Mob011-6::On1013 -011-6,63,169,13,17|monster|EvilMushroom|1013,2,30000ms,100000ms,Mob011-6::On1013 -011-6,100,226,29,14|monster|SpikyMushroom|1019,3,30000ms,100000ms,Mob011-6::On1019 -011-6,260,44,53,16|monster|SpikyMushroom|1019,3,30000ms,100000ms,Mob011-6::On1019 -011-6,272,48,21,28|monster|EvilMushroom|1013,2,30000ms,100000ms,Mob011-6::On1013 -011-6,95,78,31,25|monster|YellowSlime|1007,5,30000ms,100000ms,Mob011-6::On1007 -011-6,59,36,19,25|monster|YellowSlime|1007,5,30000ms,100000ms,Mob011-6::On1007 -011-6,26,69,19,25|monster|YellowSlime|1007,5,30000ms,100000ms,Mob011-6::On1007 -011-6,61,101,14,10|monster|YellowSlime|1007,3,30000ms,100000ms,Mob011-6::On1007 -011-6,50,61,9,12|monster|YellowSlime|1007,3,30000ms,100000ms,Mob011-6::On1007 -011-6,128,39,9,12|monster|YellowSlime|1007,3,30000ms,100000ms,Mob011-6::On1007 -011-6,41,178,9,12|monster|YellowSlime|1007,1,30000ms,100000ms,Mob011-6::On1007 -011-6,70,229,9,12|monster|YellowSlime|1007,1,30000ms,100000ms,Mob011-6::On1007 -011-6,20,204,9,12|monster|YellowSlime|1007,1,30000ms,100000ms,Mob011-6::On1007 -011-6,114,190,9,12|monster|YellowSlime|1007,4,30000ms,100000ms,Mob011-6::On1007 -011-6,137,205,9,12|monster|YellowSlime|1007,2,30000ms,100000ms,Mob011-6::On1007 -011-6,79,220,29,14|monster|CaveSnake|1021,3,30000ms,100000ms,Mob011-6::On1021 -011-6,115,210,29,14|monster|CaveSnake|1021,3,30000ms,100000ms,Mob011-6::On1021 -011-6,41,193,31,31|monster|CaveSnake|1021,3,30000ms,100000ms,Mob011-6::On1021 -011-6,70,143,31,31|monster|CaveSnake|1021,3,30000ms,100000ms,Mob011-6::On1021 -011-6,97,183,29,14|monster|CaveSnake|1021,3,30000ms,100000ms,Mob011-6::On1021 -011-6,172,252,9,12|monster|CaveMaggot|1056,4,30000ms,100000ms,Mob011-6::On1056 -011-6,263,236,16,5|monster|CaveMaggot|1056,3,30000ms,100000ms,Mob011-6::On1056 - - -011-6,0,0,0|script|Mob011-6|32767 -{ - end; - -On1007: - set @mobID, 1007; - callfunc "MobPoints"; - end; - -On1013: - set @mobID, 1013; - callfunc "MobPoints"; - end; - -On1017: - set @mobID, 1017; - callfunc "MobPoints"; - end; - -On1019: - set @mobID, 1019; - callfunc "MobPoints"; - end; - -On1021: - set @mobID, 1021; - callfunc "MobPoints"; - end; - -On1035: - set @mobID, 1035; - callfunc "MobPoints"; - end; - -On1056: - set @mobID, 1056; - callfunc "MobPoints"; - end; - -On1064: - set @mobID, 1064; - callfunc "MobPoints"; - end; -} +011-6,152,72,283,127|monster|Silkworm|1035,9,30000ms,100000ms +011-6,263,38,30,34|monster|Bandit|1064,1,30000ms,30000ms +011-6,262,114,38,38|monster|Bandit|1064,1,30000ms,30000ms +011-6,132,119,17,21|monster|Bandit|1064,1,30000ms,30000ms +011-6,170,66,17,21|monster|Bandit|1064,1,30000ms,30000ms +011-6,67,70,17,21|monster|Bandit|1064,1,30000ms,30000ms +011-6,196,107,17,21|monster|Bandit|1064,1,30000ms,30000ms +011-6,196,29,17,21|monster|Bandit|1064,1,30000ms,30000ms +011-6,36,37,17,21|monster|Bandit|1064,1,30000ms,30000ms +011-6,112,40,45,48|monster|Bandit|1064,2,30000ms,60000ms +011-6,31,99,17,21|monster|Bandit|1064,1,30000ms,30000ms +011-6,223,250,123,65|monster|Bat|1017,5,30000ms,100000ms +011-6,224,175,118,25|monster|Bat|1017,3,30000ms,100000ms +011-6,257,77,4,126|monster|Bat|1017,6,30000ms,100000ms +011-6,192,77,4,126|monster|Bat|1017,9,30000ms,100000ms +011-6,167,110,87,13|monster|Bat|1017,9,30000ms,100000ms +011-6,75,70,104,96|monster|Bat|1017,23,30000ms,100000ms +011-6,78,195,129,97|monster|Bat|1017,9,30000ms,100000ms +011-6,168,109,36,37|monster|SpikyMushroom|1019,5,30000ms,100000ms +011-6,199,76,36,37|monster|SpikyMushroom|1019,5,30000ms,100000ms +011-6,88,163,29,27|monster|SpikyMushroom|1019,5,30000ms,100000ms +011-6,48,113,35,19|monster|SpikyMushroom|1019,5,30000ms,100000ms +011-6,177,94,20,28|monster|EvilMushroom|1013,4,30000ms,100000ms +011-6,194,49,20,28|monster|EvilMushroom|1013,2,30000ms,100000ms +011-6,51,115,47,24|monster|EvilMushroom|1013,2,30000ms,100000ms +011-6,63,169,13,17|monster|EvilMushroom|1013,2,30000ms,100000ms +011-6,100,226,29,14|monster|SpikyMushroom|1019,3,30000ms,100000ms +011-6,260,44,53,16|monster|SpikyMushroom|1019,3,30000ms,100000ms +011-6,272,48,21,28|monster|EvilMushroom|1013,2,30000ms,100000ms +011-6,95,78,31,25|monster|YellowSlime|1007,5,30000ms,100000ms +011-6,59,36,19,25|monster|YellowSlime|1007,5,30000ms,100000ms +011-6,26,69,19,25|monster|YellowSlime|1007,5,30000ms,100000ms +011-6,61,101,14,10|monster|YellowSlime|1007,3,30000ms,100000ms +011-6,50,61,9,12|monster|YellowSlime|1007,3,30000ms,100000ms +011-6,128,39,9,12|monster|YellowSlime|1007,3,30000ms,100000ms +011-6,41,178,9,12|monster|YellowSlime|1007,1,30000ms,100000ms +011-6,70,229,9,12|monster|YellowSlime|1007,1,30000ms,100000ms +011-6,20,204,9,12|monster|YellowSlime|1007,1,30000ms,100000ms +011-6,114,190,9,12|monster|YellowSlime|1007,4,30000ms,100000ms +011-6,137,205,9,12|monster|YellowSlime|1007,2,30000ms,100000ms +011-6,79,220,29,14|monster|CaveSnake|1021,3,30000ms,100000ms +011-6,115,210,29,14|monster|CaveSnake|1021,3,30000ms,100000ms +011-6,41,193,31,31|monster|CaveSnake|1021,3,30000ms,100000ms +011-6,70,143,31,31|monster|CaveSnake|1021,3,30000ms,100000ms +011-6,97,183,29,14|monster|CaveSnake|1021,3,30000ms,100000ms +011-6,172,252,9,12|monster|CaveMaggot|1056,4,30000ms,100000ms +011-6,263,236,16,5|monster|CaveMaggot|1056,3,30000ms,100000ms diff --git a/world/map/npc/011-6/_nodes.txt b/world/map/npc/011-6/_nodes.txt new file mode 100644 index 00000000..7a5c6a33 --- /dev/null +++ b/world/map/npc/011-6/_nodes.txt @@ -0,0 +1,4 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Bandit Cave nodes + +// (no nodes) diff --git a/world/map/npc/012-1/_import.txt b/world/map/npc/012-1/_import.txt index 0a7ff68b..4ce6c34d 100644 --- a/world/map/npc/012-1/_import.txt +++ b/world/map/npc/012-1/_import.txt @@ -2,6 +2,7 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. map: 012-1 npc: npc/012-1/_mobs.txt +npc: npc/012-1/_nodes.txt npc: npc/012-1/_warps.txt npc: npc/012-1/amrak.txt npc: npc/012-1/flowerpentagram2.txt diff --git a/world/map/npc/012-1/_mobs.txt b/world/map/npc/012-1/_mobs.txt index cdcc8730..4f85e2ff 100644 --- a/world/map/npc/012-1/_mobs.txt +++ b/world/map/npc/012-1/_mobs.txt @@ -1,75 +1,14 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. // Woodland Hills mobs -012-1,0,0,0,0|monster|PinkFlower|1014,13,0ms,100ms,Mob012-1::On1014 -012-1,0,0,0,0|monster|SpikyMushroom|1019,25,0ms,10ms,Mob012-1::On1019 -012-1,0,0,0,0|monster|Mouboo|1028,20,0ms,10ms,Mob012-1::On1028 -012-1,0,0,0,0|monster|MauvePlant|1029,5,2700000ms,1800000ms,Mob012-1::On1029 -012-1,0,0,0,0|monster|CobaltPlant|1030,2,2700000ms,1800000ms,Mob012-1::On1030 -012-1,0,0,0,0|monster|GambogePlant|1031,2,2700000ms,1800000ms,Mob012-1::On1031 -012-1,0,0,0,0|monster|AlizarinPlant|1032,2,2700000ms,1800000ms,Mob012-1::On1032 -012-1,0,0,0,0|monster|Silkworm|1035,5,60000ms,30000ms,Mob012-1::On1035 -012-1,0,0,0,0|monster|CloverPatch|1037,2,0ms,1000ms,Mob012-1::On1037 -012-1,0,0,0,0|monster|Squirrel|1038,25,30ms,20ms,Mob012-1::On1038 -012-1,0,0,0,0|monster|Butterfly|1055,20,30ms,20ms,Mob012-1::On1055 - - -012-1,0,0,0|script|Mob012-1|32767 -{ - end; - -On1014: - set @mobID, 1014; - callfunc "MobPoints"; - end; - -On1019: - set @mobID, 1019; - callfunc "MobPoints"; - end; - -On1028: - set @mobID, 1028; - callfunc "MobPoints"; - end; - -On1029: - set @mobID, 1029; - callfunc "MobPoints"; - end; - -On1030: - set @mobID, 1030; - callfunc "MobPoints"; - end; - -On1031: - set @mobID, 1031; - callfunc "MobPoints"; - end; - -On1032: - set @mobID, 1032; - callfunc "MobPoints"; - end; - -On1035: - set @mobID, 1035; - callfunc "MobPoints"; - end; - -On1037: - set @mobID, 1037; - callfunc "MobPoints"; - end; - -On1038: - set @mobID, 1038; - callfunc "MobPoints"; - end; - -On1055: - set @mobID, 1055; - callfunc "MobPoints"; - end; -} +012-1,0,0,0,0|monster|PinkFlower|1014,13,0ms,100ms +012-1,0,0,0,0|monster|SpikyMushroom|1019,25,0ms,10ms +012-1,0,0,0,0|monster|Mouboo|1028,20,0ms,10ms +012-1,0,0,0,0|monster|MauvePlant|1029,5,2700000ms,1800000ms +012-1,0,0,0,0|monster|CobaltPlant|1030,2,2700000ms,1800000ms +012-1,0,0,0,0|monster|GambogePlant|1031,2,2700000ms,1800000ms +012-1,0,0,0,0|monster|AlizarinPlant|1032,2,2700000ms,1800000ms +012-1,0,0,0,0|monster|Silkworm|1035,5,60000ms,30000ms +012-1,0,0,0,0|monster|CloverPatch|1037,2,0ms,1000ms +012-1,0,0,0,0|monster|Squirrel|1038,25,30ms,20ms +012-1,0,0,0,0|monster|Butterfly|1055,20,30ms,20ms diff --git a/world/map/npc/012-1/_nodes.txt b/world/map/npc/012-1/_nodes.txt new file mode 100644 index 00000000..13ee4f92 --- /dev/null +++ b/world/map/npc/012-1/_nodes.txt @@ -0,0 +1,4 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Woodland Hills nodes + +// (no nodes) diff --git a/world/map/npc/012-3/_import.txt b/world/map/npc/012-3/_import.txt index 2f9275c8..82b77be8 100644 --- a/world/map/npc/012-3/_import.txt +++ b/world/map/npc/012-3/_import.txt @@ -2,6 +2,7 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. map: 012-3 npc: npc/012-3/_mobs.txt +npc: npc/012-3/_nodes.txt npc: npc/012-3/_warps.txt npc: npc/012-3/mana-seed.txt npc: npc/012-3/mapflags.txt diff --git a/world/map/npc/012-3/_mobs.txt b/world/map/npc/012-3/_mobs.txt index 354fc289..e9314763 100644 --- a/world/map/npc/012-3/_mobs.txt +++ b/world/map/npc/012-3/_mobs.txt @@ -1,40 +1,19 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. // Moggun Cave mobs -012-3,448,65,18,7|monster|Moggun|1061,5,100000ms,30000ms,Mob012-3::On1061 -012-3,442,45,18,7|monster|Moggun|1061,5,100000ms,30000ms,Mob012-3::On1061 -012-3,412,31,18,7|monster|Moggun|1061,5,100000ms,30000ms,Mob012-3::On1061 -012-3,347,39,8,16|monster|Moggun|1061,5,100000ms,30000ms,Mob012-3::On1061 -012-3,363,101,17,18|monster|Moggun|1061,10,100000ms,30000ms,Mob012-3::On1061 -012-3,446,81,18,7|monster|Moggun|1061,5,100000ms,30000ms,Mob012-3::On1061 -012-3,388,138,17,7|monster|Moggun|1061,5,100000ms,30000ms,Mob012-3::On1061 -012-3,409,78,8,17|monster|Moggun|1061,5,100000ms,30000ms,Mob012-3::On1061 -012-3,382,152,17,7|monster|Moggun|1061,5,100000ms,30000ms,Mob012-3::On1061 -012-3,430,117,8,16|monster|Moggun|1061,5,100000ms,30000ms,Mob012-3::On1061 -012-3,330,100,8,16|monster|Moggun|1061,5,100000ms,30000ms,Mob012-3::On1061 -012-3,269,138,17,18|monster|Moggun|1061,10,100000ms,30000ms,Mob012-3::On1061 -012-3,188,52,17,18|monster|Moggun|1061,10,100000ms,30000ms,Mob012-3::On1061 -012-3,165,106,17,18|monster|Moggun|1061,10,100000ms,30000ms,Mob012-3::On1061 -012-3,0,0,0,0|monster|Bat|1017,100,0ms,0ms,Mob012-3::On1017 -012-3,0,0,0,0|monster|CaveSnake|1021,75,0ms,0ms,Mob012-3::On1021 - - -012-3,0,0,0|script|Mob012-3|32767 -{ - end; - -On1017: - set @mobID, 1017; - callfunc "MobPoints"; - end; - -On1021: - set @mobID, 1021; - callfunc "MobPoints"; - end; - -On1061: - set @mobID, 1061; - callfunc "MobPoints"; - end; -} +012-3,448,65,18,7|monster|Moggun|1061,5,100000ms,30000ms +012-3,442,45,18,7|monster|Moggun|1061,5,100000ms,30000ms +012-3,412,31,18,7|monster|Moggun|1061,5,100000ms,30000ms +012-3,347,39,8,16|monster|Moggun|1061,5,100000ms,30000ms +012-3,363,101,17,18|monster|Moggun|1061,10,100000ms,30000ms +012-3,446,81,18,7|monster|Moggun|1061,5,100000ms,30000ms +012-3,388,138,17,7|monster|Moggun|1061,5,100000ms,30000ms +012-3,409,78,8,17|monster|Moggun|1061,5,100000ms,30000ms +012-3,382,152,17,7|monster|Moggun|1061,5,100000ms,30000ms +012-3,430,117,8,16|monster|Moggun|1061,5,100000ms,30000ms +012-3,330,100,8,16|monster|Moggun|1061,5,100000ms,30000ms +012-3,269,138,17,18|monster|Moggun|1061,10,100000ms,30000ms +012-3,188,52,17,18|monster|Moggun|1061,10,100000ms,30000ms +012-3,165,106,17,18|monster|Moggun|1061,10,100000ms,30000ms +012-3,0,0,0,0|monster|Bat|1017,100,0ms,0ms +012-3,0,0,0,0|monster|CaveSnake|1021,75,0ms,0ms diff --git a/world/map/npc/012-3/_nodes.txt b/world/map/npc/012-3/_nodes.txt new file mode 100644 index 00000000..ea6a8cae --- /dev/null +++ b/world/map/npc/012-3/_nodes.txt @@ -0,0 +1,4 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Moggun Cave nodes + +// (no nodes) diff --git a/world/map/npc/012-4/_import.txt b/world/map/npc/012-4/_import.txt index 6dc69dad..ecf5657f 100644 --- a/world/map/npc/012-4/_import.txt +++ b/world/map/npc/012-4/_import.txt @@ -2,6 +2,7 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. map: 012-4 npc: npc/012-4/_mobs.txt +npc: npc/012-4/_nodes.txt npc: npc/012-4/_warps.txt npc: npc/012-4/mapflags.txt npc: npc/012-4/pvpflag.txt diff --git a/world/map/npc/012-4/_mobs.txt b/world/map/npc/012-4/_mobs.txt index e1a4a259..142ec427 100644 --- a/world/map/npc/012-4/_mobs.txt +++ b/world/map/npc/012-4/_mobs.txt @@ -1,113 +1,67 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. // Terranite Cave mobs -012-4,217,45,12,3|monster|Moggun|1061,3,100000ms,30000ms,Mob012-4::On1061 -012-4,223,30,12,3|monster|Moggun|1061,3,100000ms,30000ms,Mob012-4::On1061 -012-4,239,48,12,3|monster|Moggun|1061,3,100000ms,30000ms,Mob012-4::On1061 -012-4,197,39,7,8|monster|Moggun|1061,3,100000ms,30000ms,Mob012-4::On1061 -012-4,210,35,7,8|monster|Bat|1017,5,100000ms,30000ms,Mob012-4::On1017 -012-4,241,38,7,8|monster|Bat|1017,5,100000ms,30000ms,Mob012-4::On1017 -012-4,237,59,7,8|monster|Bat|1017,5,100000ms,30000ms,Mob012-4::On1017 -012-4,226,73,7,8|monster|Bat|1017,5,100000ms,30000ms,Mob012-4::On1017 -012-4,209,94,9,5|monster|Bat|1017,5,100000ms,30000ms,Mob012-4::On1017 -012-4,263,29,7,8|monster|Bat|1017,5,100000ms,30000ms,Mob012-4::On1017 -012-4,274,48,7,8|monster|Bat|1017,5,100000ms,30000ms,Mob012-4::On1017 -012-4,267,70,7,8|monster|Bat|1017,5,100000ms,30000ms,Mob012-4::On1017 -012-4,259,79,7,8|monster|Bat|1017,5,100000ms,30000ms,Mob012-4::On1017 -012-4,274,79,7,8|monster|Bat|1017,5,100000ms,30000ms,Mob012-4::On1017 -012-4,268,91,24,15|monster|Moggun|1061,10,100000ms,30000ms,Mob012-4::On1061 -012-4,209,146,69,55|monster|Spider|1012,50,100000ms,30000ms,Mob012-4::On1012 -012-4,254,163,19,46|monster|YellowSlime|1007,10,100000ms,30000ms,Mob012-4::On1007 -012-4,167,175,17,22|monster|YellowSlime|1007,10,100000ms,30000ms,Mob012-4::On1007 -012-4,148,176,17,22|monster|RedSlime|1008,20,100000ms,30000ms,Mob012-4::On1008 -012-4,131,88,17,22|monster|RedSlime|1008,15,100000ms,30000ms,Mob012-4::On1008 -012-4,140,131,17,22|monster|YellowSlime|1007,10,100000ms,30000ms,Mob012-4::On1007 -012-4,42,128,17,9|monster|YellowSlime|1007,10,100000ms,30000ms,Mob012-4::On1007 -012-4,64,62,25,30|monster|Spider|1012,20,100000ms,30000ms,Mob012-4::On1012 -012-4,69,89,17,21|monster|YellowSlime|1007,10,100000ms,30000ms,Mob012-4::On1007 -012-4,34,45,17,33|monster|Terranite|1062,3,100000ms,30000ms,Mob012-4::On1062 -012-4,64,36,24,17|monster|Skeleton|1043,3,100000ms,30000ms,Mob012-4::On1043 -012-4,100,115,24,17|monster|Skeleton|1043,3,100000ms,30000ms,Mob012-4::On1043 -012-4,90,137,17,22|monster|YellowSlime|1007,10,100000ms,30000ms,Mob012-4::On1007 -012-4,59,113,14,17|monster|LadySkeleton|1044,3,100000ms,30000ms,Mob012-4::On1044 -012-4,42,176,15,13|monster|Terranite|1062,3,100000ms,30000ms,Mob012-4::On1062 -012-4,120,177,24,17|monster|LadySkeleton|1044,3,100000ms,30000ms,Mob012-4::On1044 -012-4,287,180,24,17|monster|LadySkeleton|1044,3,100000ms,30000ms,Mob012-4::On1044 -012-4,340,175,24,17|monster|Skeleton|1043,3,100000ms,30000ms,Mob012-4::On1043 -012-4,390,156,69,54|monster|Spider|1012,40,100000ms,30000ms,Mob012-4::On1012 -012-4,358,37,20,22|monster|Terranite|1062,3,100000ms,30000ms,Mob012-4::On1062 -012-4,481,110,19,24|monster|Terranite|1062,3,100000ms,30000ms,Mob012-4::On1062 -012-4,435,114,24,17|monster|Skeleton|1043,3,100000ms,30000ms,Mob012-4::On1043 -012-4,477,82,24,17|monster|LadySkeleton|1044,3,100000ms,30000ms,Mob012-4::On1044 -012-4,354,106,19,46|monster|YellowSlime|1007,10,100000ms,30000ms,Mob012-4::On1007 -012-4,342,139,17,22|monster|RedSlime|1008,15,100000ms,30000ms,Mob012-4::On1008 -012-4,389,81,33,15|monster|RedSlime|1008,20,100000ms,30000ms,Mob012-4::On1008 -012-4,409,35,7,8|monster|Bat|1017,5,100000ms,30000ms,Mob012-4::On1017 -012-4,413,73,7,8|monster|Bat|1017,5,100000ms,30000ms,Mob012-4::On1017 -012-4,395,63,7,8|monster|Bat|1017,5,100000ms,30000ms,Mob012-4::On1017 -012-4,314,182,7,8|monster|Bat|1017,5,100000ms,30000ms,Mob012-4::On1017 -012-4,409,121,7,8|monster|Bat|1017,5,100000ms,30000ms,Mob012-4::On1017 -012-4,456,99,7,8|monster|Bat|1017,5,100000ms,30000ms,Mob012-4::On1017 -012-4,133,153,9,5|monster|Bat|1017,5,100000ms,30000ms,Mob012-4::On1017 -012-4,153,98,9,5|monster|Bat|1017,5,100000ms,30000ms,Mob012-4::On1017 -012-4,126,65,9,5|monster|Bat|1017,5,100000ms,30000ms,Mob012-4::On1017 -012-4,81,180,9,5|monster|Bat|1017,5,100000ms,30000ms,Mob012-4::On1017 -012-4,61,159,9,5|monster|Bat|1017,5,100000ms,30000ms,Mob012-4::On1017 -012-4,271,157,7,8|monster|Bat|1017,5,100000ms,30000ms,Mob012-4::On1017 -012-4,270,182,7,8|monster|Bat|1017,5,100000ms,30000ms,Mob012-4::On1017 -012-4,322,141,17,22|monster|RedSlime|1008,20,100000ms,30000ms,Mob012-4::On1008 -012-4,451,111,7,8|monster|Bat|1017,5,100000ms,30000ms,Mob012-4::On1017 -012-4,422,50,11,32|monster|Spider|1012,10,100000ms,30000ms,Mob012-4::On1012 -012-4,380,40,14,22|monster|Spider|1012,10,100000ms,30000ms,Mob012-4::On1012 -012-4,124,49,9,24|monster|Terranite|1062,1,100000ms,30000ms,Mob012-4::On1062 -012-4,80,110,9,5|monster|Bat|1017,5,100000ms,30000ms,Mob012-4::On1017 -012-4,42,142,20,11|monster|Skeleton|1043,3,100000ms,30000ms,Mob012-4::On1043 -012-4,41,159,11,20|monster|Spider|1012,20,100000ms,30000ms,Mob012-4::On1012 -012-4,95,180,9,5|monster|Bat|1017,5,100000ms,30000ms,Mob012-4::On1017 -012-4,91,180,23,10|monster|Spider|1012,20,100000ms,30000ms,Mob012-4::On1012 - - -012-4,0,0,0|script|Mob012-4|32767 -{ - end; - -On1007: - set @mobID, 1007; - callfunc "MobPoints"; - end; - -On1008: - set @mobID, 1008; - callfunc "MobPoints"; - end; - -On1012: - set @mobID, 1012; - callfunc "MobPoints"; - end; - -On1017: - set @mobID, 1017; - callfunc "MobPoints"; - end; - -On1043: - set @mobID, 1043; - callfunc "MobPoints"; - end; - -On1044: - set @mobID, 1044; - callfunc "MobPoints"; - end; - -On1061: - set @mobID, 1061; - callfunc "MobPoints"; - end; - -On1062: - set @mobID, 1062; - callfunc "MobPoints"; - end; -} +012-4,217,45,12,3|monster|Moggun|1061,3,100000ms,30000ms +012-4,223,30,12,3|monster|Moggun|1061,3,100000ms,30000ms +012-4,239,48,12,3|monster|Moggun|1061,3,100000ms,30000ms +012-4,197,39,7,8|monster|Moggun|1061,3,100000ms,30000ms +012-4,210,35,7,8|monster|Bat|1017,5,100000ms,30000ms +012-4,241,38,7,8|monster|Bat|1017,5,100000ms,30000ms +012-4,237,59,7,8|monster|Bat|1017,5,100000ms,30000ms +012-4,226,73,7,8|monster|Bat|1017,5,100000ms,30000ms +012-4,209,94,9,5|monster|Bat|1017,5,100000ms,30000ms +012-4,263,29,7,8|monster|Bat|1017,5,100000ms,30000ms +012-4,274,48,7,8|monster|Bat|1017,5,100000ms,30000ms +012-4,267,70,7,8|monster|Bat|1017,5,100000ms,30000ms +012-4,259,79,7,8|monster|Bat|1017,5,100000ms,30000ms +012-4,274,79,7,8|monster|Bat|1017,5,100000ms,30000ms +012-4,268,91,24,15|monster|Moggun|1061,10,100000ms,30000ms +012-4,209,146,69,55|monster|Spider|1012,50,100000ms,30000ms +012-4,254,163,19,46|monster|YellowSlime|1007,10,100000ms,30000ms +012-4,167,175,17,22|monster|YellowSlime|1007,10,100000ms,30000ms +012-4,148,176,17,22|monster|RedSlime|1008,20,100000ms,30000ms +012-4,131,88,17,22|monster|RedSlime|1008,15,100000ms,30000ms +012-4,140,131,17,22|monster|YellowSlime|1007,10,100000ms,30000ms +012-4,42,128,17,9|monster|YellowSlime|1007,10,100000ms,30000ms +012-4,64,62,25,30|monster|Spider|1012,20,100000ms,30000ms +012-4,69,89,17,21|monster|YellowSlime|1007,10,100000ms,30000ms +012-4,34,45,17,33|monster|Terranite|1062,3,100000ms,30000ms +012-4,64,36,24,17|monster|Skeleton|1043,3,100000ms,30000ms +012-4,100,115,24,17|monster|Skeleton|1043,3,100000ms,30000ms +012-4,90,137,17,22|monster|YellowSlime|1007,10,100000ms,30000ms +012-4,59,113,14,17|monster|LadySkeleton|1044,3,100000ms,30000ms +012-4,42,176,15,13|monster|Terranite|1062,3,100000ms,30000ms +012-4,120,177,24,17|monster|LadySkeleton|1044,3,100000ms,30000ms +012-4,287,180,24,17|monster|LadySkeleton|1044,3,100000ms,30000ms +012-4,340,175,24,17|monster|Skeleton|1043,3,100000ms,30000ms +012-4,390,156,69,54|monster|Spider|1012,40,100000ms,30000ms +012-4,358,37,20,22|monster|Terranite|1062,3,100000ms,30000ms +012-4,481,110,19,24|monster|Terranite|1062,3,100000ms,30000ms +012-4,435,114,24,17|monster|Skeleton|1043,3,100000ms,30000ms +012-4,477,82,24,17|monster|LadySkeleton|1044,3,100000ms,30000ms +012-4,354,106,19,46|monster|YellowSlime|1007,10,100000ms,30000ms +012-4,342,139,17,22|monster|RedSlime|1008,15,100000ms,30000ms +012-4,389,81,33,15|monster|RedSlime|1008,20,100000ms,30000ms +012-4,409,35,7,8|monster|Bat|1017,5,100000ms,30000ms +012-4,413,73,7,8|monster|Bat|1017,5,100000ms,30000ms +012-4,395,63,7,8|monster|Bat|1017,5,100000ms,30000ms +012-4,314,182,7,8|monster|Bat|1017,5,100000ms,30000ms +012-4,409,121,7,8|monster|Bat|1017,5,100000ms,30000ms +012-4,456,99,7,8|monster|Bat|1017,5,100000ms,30000ms +012-4,133,153,9,5|monster|Bat|1017,5,100000ms,30000ms +012-4,153,98,9,5|monster|Bat|1017,5,100000ms,30000ms +012-4,126,65,9,5|monster|Bat|1017,5,100000ms,30000ms +012-4,81,180,9,5|monster|Bat|1017,5,100000ms,30000ms +012-4,61,159,9,5|monster|Bat|1017,5,100000ms,30000ms +012-4,271,157,7,8|monster|Bat|1017,5,100000ms,30000ms +012-4,270,182,7,8|monster|Bat|1017,5,100000ms,30000ms +012-4,322,141,17,22|monster|RedSlime|1008,20,100000ms,30000ms +012-4,451,111,7,8|monster|Bat|1017,5,100000ms,30000ms +012-4,422,50,11,32|monster|Spider|1012,10,100000ms,30000ms +012-4,380,40,14,22|monster|Spider|1012,10,100000ms,30000ms +012-4,124,49,9,24|monster|Terranite|1062,1,100000ms,30000ms +012-4,80,110,9,5|monster|Bat|1017,5,100000ms,30000ms +012-4,42,142,20,11|monster|Skeleton|1043,3,100000ms,30000ms +012-4,41,159,11,20|monster|Spider|1012,20,100000ms,30000ms +012-4,95,180,9,5|monster|Bat|1017,5,100000ms,30000ms +012-4,91,180,23,10|monster|Spider|1012,20,100000ms,30000ms diff --git a/world/map/npc/012-4/_nodes.txt b/world/map/npc/012-4/_nodes.txt new file mode 100644 index 00000000..2c9229b2 --- /dev/null +++ b/world/map/npc/012-4/_nodes.txt @@ -0,0 +1,4 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Terranite Cave nodes + +// (no nodes) diff --git a/world/map/npc/013-1/_import.txt b/world/map/npc/013-1/_import.txt index 3a988151..5fca25f0 100644 --- a/world/map/npc/013-1/_import.txt +++ b/world/map/npc/013-1/_import.txt @@ -2,6 +2,7 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. map: 013-1 npc: npc/013-1/_mobs.txt +npc: npc/013-1/_nodes.txt npc: npc/013-1/_warps.txt npc: npc/013-1/flowerpentagram.txt npc: npc/013-1/mapflags.txt diff --git a/world/map/npc/013-1/_mobs.txt b/world/map/npc/013-1/_mobs.txt index 7d2efa88..ca0b2b68 100644 --- a/world/map/npc/013-1/_mobs.txt +++ b/world/map/npc/013-1/_mobs.txt @@ -1,79 +1,18 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. // Woodland Hills mobs -013-1,0,0,0,0|monster|PinkFlower|1014,13,0ms,100ms,Mob013-1::On1014 -013-1,0,0,0,0|monster|SpikyMushroom|1019,12,0ms,100ms,Mob013-1::On1019 -013-1,0,0,0,0|monster|Mouboo|1028,5,0ms,100ms,Mob013-1::On1028 -013-1,0,0,0,0|monster|MauvePlant|1029,1,270ms,180ms,Mob013-1::On1029 -013-1,0,0,0,0|monster|MauvePlant|1029,4,2700000ms,1800000ms,Mob013-1::On1029 -013-1,0,0,0,0|monster|CobaltPlant|1030,1,270ms,180ms,Mob013-1::On1030 -013-1,0,0,0,0|monster|CobaltPlant|1030,2,2700000ms,1800000ms,Mob013-1::On1030 -013-1,0,0,0,0|monster|GambogePlant|1031,1,270ms,180ms,Mob013-1::On1031 -013-1,0,0,0,0|monster|GambogePlant|1031,2,2700000ms,1800000ms,Mob013-1::On1031 -013-1,0,0,0,0|monster|AlizarinPlant|1032,1,270ms,180ms,Mob013-1::On1032 -013-1,0,0,0,0|monster|AlizarinPlant|1032,2,2700000ms,1800000ms,Mob013-1::On1032 -013-1,0,0,0,0|monster|Silkworm|1035,4,60000ms,30000ms,Mob013-1::On1035 -013-1,0,0,0,0|monster|CloverPatch|1037,2,0ms,1000ms,Mob013-1::On1037 -013-1,0,0,0,0|monster|Squirrel|1038,25,30ms,20ms,Mob013-1::On1038 -013-1,0,0,0,0|monster|Butterfly|1055,10,30ms,20ms,Mob013-1::On1055 - - -013-1,0,0,0|script|Mob013-1|32767 -{ - end; - -On1014: - set @mobID, 1014; - callfunc "MobPoints"; - end; - -On1019: - set @mobID, 1019; - callfunc "MobPoints"; - end; - -On1028: - set @mobID, 1028; - callfunc "MobPoints"; - end; - -On1029: - set @mobID, 1029; - callfunc "MobPoints"; - end; - -On1030: - set @mobID, 1030; - callfunc "MobPoints"; - end; - -On1031: - set @mobID, 1031; - callfunc "MobPoints"; - end; - -On1032: - set @mobID, 1032; - callfunc "MobPoints"; - end; - -On1035: - set @mobID, 1035; - callfunc "MobPoints"; - end; - -On1037: - set @mobID, 1037; - callfunc "MobPoints"; - end; - -On1038: - set @mobID, 1038; - callfunc "MobPoints"; - end; - -On1055: - set @mobID, 1055; - callfunc "MobPoints"; - end; -} +013-1,0,0,0,0|monster|PinkFlower|1014,13,0ms,100ms +013-1,0,0,0,0|monster|SpikyMushroom|1019,12,0ms,100ms +013-1,0,0,0,0|monster|Mouboo|1028,5,0ms,100ms +013-1,0,0,0,0|monster|MauvePlant|1029,1,270ms,180ms +013-1,0,0,0,0|monster|MauvePlant|1029,4,2700000ms,1800000ms +013-1,0,0,0,0|monster|CobaltPlant|1030,1,270ms,180ms +013-1,0,0,0,0|monster|CobaltPlant|1030,2,2700000ms,1800000ms +013-1,0,0,0,0|monster|GambogePlant|1031,1,270ms,180ms +013-1,0,0,0,0|monster|GambogePlant|1031,2,2700000ms,1800000ms +013-1,0,0,0,0|monster|AlizarinPlant|1032,1,270ms,180ms +013-1,0,0,0,0|monster|AlizarinPlant|1032,2,2700000ms,1800000ms +013-1,0,0,0,0|monster|Silkworm|1035,4,60000ms,30000ms +013-1,0,0,0,0|monster|CloverPatch|1037,2,0ms,1000ms +013-1,0,0,0,0|monster|Squirrel|1038,25,30ms,20ms +013-1,0,0,0,0|monster|Butterfly|1055,10,30ms,20ms diff --git a/world/map/npc/013-1/_nodes.txt b/world/map/npc/013-1/_nodes.txt new file mode 100644 index 00000000..13ee4f92 --- /dev/null +++ b/world/map/npc/013-1/_nodes.txt @@ -0,0 +1,4 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Woodland Hills nodes + +// (no nodes) diff --git a/world/map/npc/013-2/_import.txt b/world/map/npc/013-2/_import.txt index 105a75a7..6dc243ad 100644 --- a/world/map/npc/013-2/_import.txt +++ b/world/map/npc/013-2/_import.txt @@ -2,6 +2,7 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. map: 013-2 npc: npc/013-2/_mobs.txt +npc: npc/013-2/_nodes.txt npc: npc/013-2/_warps.txt npc: npc/013-2/apprentice.txt npc: npc/013-2/mapflags.txt diff --git a/world/map/npc/013-2/_mobs.txt b/world/map/npc/013-2/_mobs.txt index 82f242a0..b092afcc 100644 --- a/world/map/npc/013-2/_mobs.txt +++ b/world/map/npc/013-2/_mobs.txt @@ -1,9 +1,3 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. // Magic House mobs - - -013-2,0,0,0|script|Mob013-2|32767 -{ - end; -} diff --git a/world/map/npc/013-2/_nodes.txt b/world/map/npc/013-2/_nodes.txt new file mode 100644 index 00000000..80a032bc --- /dev/null +++ b/world/map/npc/013-2/_nodes.txt @@ -0,0 +1,4 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Magic House nodes + +// (no nodes) diff --git a/world/map/npc/013-3/_import.txt b/world/map/npc/013-3/_import.txt index b4ca98df..4a6fd517 100644 --- a/world/map/npc/013-3/_import.txt +++ b/world/map/npc/013-3/_import.txt @@ -2,6 +2,7 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. map: 013-3 npc: npc/013-3/_mobs.txt +npc: npc/013-3/_nodes.txt npc: npc/013-3/_warps.txt npc: npc/013-3/barrier.txt npc: npc/013-3/mapflags.txt diff --git a/world/map/npc/013-3/_mobs.txt b/world/map/npc/013-3/_mobs.txt index 088e2c72..b1456bc5 100644 --- a/world/map/npc/013-3/_mobs.txt +++ b/world/map/npc/013-3/_mobs.txt @@ -1,82 +1,31 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. // Woodland Hills Cave mobs -013-3,28,89,16,52|monster|CaveSnake|1021,10,120000ms,60000ms,Mob013-3::On1021 -013-3,61,22,2,2|monster|FireSkull|1023,1,120000ms,60000ms,Mob013-3::On1023 -013-3,81,22,2,2|monster|PoisonSkull|1024,1,120000ms,60000ms,Mob013-3::On1024 -013-3,109,31,6,22|monster|BlackScorpion|1009,20,50000ms,25000ms,Mob013-3::On1009 -013-3,119,84,27,38|monster|Spider|1012,20,120000ms,40000ms,Mob013-3::On1012 -013-3,176,23,5,6|monster|Spider|1012,10,100000ms,40000ms,Mob013-3::On1012 -013-3,82,75,2,2|monster|FireSkull|1023,1,180000ms,60000ms,Mob013-3::On1023 -013-3,142,37,2,2|monster|PoisonSkull|1024,1,180000ms,60000ms,Mob013-3::On1024 -013-3,79,134,21,16|monster|BlackScorpion|1009,5,80000ms,40000ms,Mob013-3::On1009 -013-3,71,169,38,17|monster|BlackScorpion|1009,5,80000ms,40000ms,Mob013-3::On1009 -013-3,64,85,9,21|monster|BlackScorpion|1009,10,80000ms,40000ms,Mob013-3::On1009 -013-3,81,92,3,20|monster|BlackScorpion|1009,10,80000ms,40000ms,Mob013-3::On1009 -013-3,163,84,33,37|monster|Snake|1010,30,120000ms,50000ms,Mob013-3::On1010 -013-3,162,85,33,37|monster|Spider|1012,30,120000ms,50000ms,Mob013-3::On1012 -013-3,172,77,18,25|monster|BlackScorpion|1009,15,120000ms,50000ms,Mob013-3::On1009 -013-3,145,36,20,15|monster|RedSlime|1008,25,80000ms,40000ms,Mob013-3::On1008 -013-3,167,37,23,11|monster|Snake|1010,20,120000ms,40000ms,Mob013-3::On1010 -013-3,165,25,16,11|monster|BlackScorpion|1009,15,120000ms,40000ms,Mob013-3::On1009 -013-3,71,39,2,3|monster|Snake|1010,2,40000ms,20000ms,Mob013-3::On1010 -013-3,159,102,3,5|monster|YellowSlime|1007,2,80000ms,40000ms,Mob013-3::On1007 -013-3,67,22,2,2|monster|Maggot|1002,2,40000ms,20000ms,Mob013-3::On1002 -013-3,75,22,2,2|monster|Maggot|1002,2,40000ms,20000ms,Mob013-3::On1002 -013-3,76,39,7,4|monster|BlackScorpion|1009,8,40000ms,20000ms,Mob013-3::On1009 -013-3,65,39,7,4|monster|RedSlime|1008,8,40000ms,20000ms,Mob013-3::On1008 -013-3,62,33,2,1|monster|PoisonSkull|1024,1,120000ms,60000ms,Mob013-3::On1024 -013-3,80,33,2,1|monster|FireSkull|1023,1,120000ms,60000ms,Mob013-3::On1023 -013-3,75,46,2,1|monster|PoisonSkull|1024,1,120000ms,60000ms,Mob013-3::On1024 -013-3,67,46,2,1|monster|FireSkull|1023,1,120000ms,60000ms,Mob013-3::On1023 - - -013-3,0,0,0|script|Mob013-3|32767 -{ - end; - -On1002: - set @mobID, 1002; - callfunc "MobPoints"; - end; - -On1007: - set @mobID, 1007; - callfunc "MobPoints"; - end; - -On1008: - set @mobID, 1008; - callfunc "MobPoints"; - end; - -On1009: - set @mobID, 1009; - callfunc "MobPoints"; - end; - -On1010: - set @mobID, 1010; - callfunc "MobPoints"; - end; - -On1012: - set @mobID, 1012; - callfunc "MobPoints"; - end; - -On1021: - set @mobID, 1021; - callfunc "MobPoints"; - end; - -On1023: - set @mobID, 1023; - callfunc "MobPoints"; - end; - -On1024: - set @mobID, 1024; - callfunc "MobPoints"; - end; -} +013-3,28,89,16,52|monster|CaveSnake|1021,10,120000ms,60000ms +013-3,61,22,2,2|monster|FireSkull|1023,1,120000ms,60000ms +013-3,81,22,2,2|monster|PoisonSkull|1024,1,120000ms,60000ms +013-3,109,31,6,22|monster|BlackScorpion|1009,20,50000ms,25000ms +013-3,119,84,27,38|monster|Spider|1012,20,120000ms,40000ms +013-3,176,23,5,6|monster|Spider|1012,10,100000ms,40000ms +013-3,82,75,2,2|monster|FireSkull|1023,1,180000ms,60000ms +013-3,142,37,2,2|monster|PoisonSkull|1024,1,180000ms,60000ms +013-3,79,134,21,16|monster|BlackScorpion|1009,5,80000ms,40000ms +013-3,71,169,38,17|monster|BlackScorpion|1009,5,80000ms,40000ms +013-3,64,85,9,21|monster|BlackScorpion|1009,10,80000ms,40000ms +013-3,81,92,3,20|monster|BlackScorpion|1009,10,80000ms,40000ms +013-3,163,84,33,37|monster|Snake|1010,30,120000ms,50000ms +013-3,162,85,33,37|monster|Spider|1012,30,120000ms,50000ms +013-3,172,77,18,25|monster|BlackScorpion|1009,15,120000ms,50000ms +013-3,145,36,20,15|monster|RedSlime|1008,25,80000ms,40000ms +013-3,167,37,23,11|monster|Snake|1010,20,120000ms,40000ms +013-3,165,25,16,11|monster|BlackScorpion|1009,15,120000ms,40000ms +013-3,71,39,2,3|monster|Snake|1010,2,40000ms,20000ms +013-3,159,102,3,5|monster|YellowSlime|1007,2,80000ms,40000ms +013-3,67,22,2,2|monster|Maggot|1002,2,40000ms,20000ms +013-3,75,22,2,2|monster|Maggot|1002,2,40000ms,20000ms +013-3,76,39,7,4|monster|BlackScorpion|1009,8,40000ms,20000ms +013-3,65,39,7,4|monster|RedSlime|1008,8,40000ms,20000ms +013-3,62,33,2,1|monster|PoisonSkull|1024,1,120000ms,60000ms +013-3,80,33,2,1|monster|FireSkull|1023,1,120000ms,60000ms +013-3,75,46,2,1|monster|PoisonSkull|1024,1,120000ms,60000ms +013-3,67,46,2,1|monster|FireSkull|1023,1,120000ms,60000ms diff --git a/world/map/npc/013-3/_nodes.txt b/world/map/npc/013-3/_nodes.txt new file mode 100644 index 00000000..689be5d9 --- /dev/null +++ b/world/map/npc/013-3/_nodes.txt @@ -0,0 +1,4 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Woodland Hills Cave nodes + +// (no nodes) diff --git a/world/map/npc/014-1/_import.txt b/world/map/npc/014-1/_import.txt index 9990bdf0..cde43724 100644 --- a/world/map/npc/014-1/_import.txt +++ b/world/map/npc/014-1/_import.txt @@ -2,6 +2,7 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. map: 014-1 npc: npc/014-1/_mobs.txt +npc: npc/014-1/_nodes.txt npc: npc/014-1/_warps.txt npc: npc/014-1/mapflags.txt npc: npc/014-1/wedding-officiator.txt diff --git a/world/map/npc/014-1/_mobs.txt b/world/map/npc/014-1/_mobs.txt index 862d1c19..8abab0ea 100644 --- a/world/map/npc/014-1/_mobs.txt +++ b/world/map/npc/014-1/_mobs.txt @@ -1,85 +1,19 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. // Woodland mobs -014-1,0,0,0,0|monster|EvilMushroom|1013,20,0ms,0ms,Mob014-1::On1013 -014-1,0,0,0,0|monster|PinkFlower|1014,25,0ms,0ms,Mob014-1::On1014 -014-1,0,0,0,0|monster|SpikyMushroom|1019,15,0ms,0ms,Mob014-1::On1019 -014-1,0,0,0,0|monster|Mouboo|1028,5,0ms,10ms,Mob014-1::On1028 -014-1,0,0,0,0|monster|MauvePlant|1029,1,270ms,180ms,Mob014-1::On1029 -014-1,0,0,0,0|monster|MauvePlant|1029,5,2700000ms,1800000ms,Mob014-1::On1029 -014-1,0,0,0,0|monster|CobaltPlant|1030,1,270ms,180ms,Mob014-1::On1030 -014-1,0,0,0,0|monster|CobaltPlant|1030,2,2700000ms,1800000ms,Mob014-1::On1030 -014-1,0,0,0,0|monster|GambogePlant|1031,1,270ms,180ms,Mob014-1::On1031 -014-1,0,0,0,0|monster|GambogePlant|1031,2,2700000ms,1800000ms,Mob014-1::On1031 -014-1,0,0,0,0|monster|AlizarinPlant|1032,1,270ms,180ms,Mob014-1::On1032 -014-1,0,0,0,0|monster|AlizarinPlant|1032,2,2700000ms,1800000ms,Mob014-1::On1032 -014-1,0,0,0,0|monster|Silkworm|1035,4,6000ms,3000ms,Mob014-1::On1035 -014-1,0,0,0,0|monster|CloverPatch|1037,2,0ms,1000ms,Mob014-1::On1037 -014-1,0,0,0,0|monster|Squirrel|1038,25,30ms,20ms,Mob014-1::On1038 -014-1,0,0,0,0|monster|Butterfly|1055,10,30ms,20ms,Mob014-1::On1055 - - -014-1,0,0,0|script|Mob014-1|32767 -{ - end; - -On1013: - set @mobID, 1013; - callfunc "MobPoints"; - end; - -On1014: - set @mobID, 1014; - callfunc "MobPoints"; - end; - -On1019: - set @mobID, 1019; - callfunc "MobPoints"; - end; - -On1028: - set @mobID, 1028; - callfunc "MobPoints"; - end; - -On1029: - set @mobID, 1029; - callfunc "MobPoints"; - end; - -On1030: - set @mobID, 1030; - callfunc "MobPoints"; - end; - -On1031: - set @mobID, 1031; - callfunc "MobPoints"; - end; - -On1032: - set @mobID, 1032; - callfunc "MobPoints"; - end; - -On1035: - set @mobID, 1035; - callfunc "MobPoints"; - end; - -On1037: - set @mobID, 1037; - callfunc "MobPoints"; - end; - -On1038: - set @mobID, 1038; - callfunc "MobPoints"; - end; - -On1055: - set @mobID, 1055; - callfunc "MobPoints"; - end; -} +014-1,0,0,0,0|monster|EvilMushroom|1013,20,0ms,0ms +014-1,0,0,0,0|monster|PinkFlower|1014,25,0ms,0ms +014-1,0,0,0,0|monster|SpikyMushroom|1019,15,0ms,0ms +014-1,0,0,0,0|monster|Mouboo|1028,5,0ms,10ms +014-1,0,0,0,0|monster|MauvePlant|1029,1,270ms,180ms +014-1,0,0,0,0|monster|MauvePlant|1029,5,2700000ms,1800000ms +014-1,0,0,0,0|monster|CobaltPlant|1030,1,270ms,180ms +014-1,0,0,0,0|monster|CobaltPlant|1030,2,2700000ms,1800000ms +014-1,0,0,0,0|monster|GambogePlant|1031,1,270ms,180ms +014-1,0,0,0,0|monster|GambogePlant|1031,2,2700000ms,1800000ms +014-1,0,0,0,0|monster|AlizarinPlant|1032,1,270ms,180ms +014-1,0,0,0,0|monster|AlizarinPlant|1032,2,2700000ms,1800000ms +014-1,0,0,0,0|monster|Silkworm|1035,4,6000ms,3000ms +014-1,0,0,0,0|monster|CloverPatch|1037,2,0ms,1000ms +014-1,0,0,0,0|monster|Squirrel|1038,25,30ms,20ms +014-1,0,0,0,0|monster|Butterfly|1055,10,30ms,20ms diff --git a/world/map/npc/014-1/_nodes.txt b/world/map/npc/014-1/_nodes.txt new file mode 100644 index 00000000..12c08221 --- /dev/null +++ b/world/map/npc/014-1/_nodes.txt @@ -0,0 +1,4 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Woodland nodes + +// (no nodes) diff --git a/world/map/npc/014-3/_import.txt b/world/map/npc/014-3/_import.txt index 25c551bd..8aedea2e 100644 --- a/world/map/npc/014-3/_import.txt +++ b/world/map/npc/014-3/_import.txt @@ -2,5 +2,6 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. map: 014-3 npc: npc/014-3/_mobs.txt +npc: npc/014-3/_nodes.txt npc: npc/014-3/_warps.txt npc: npc/014-3/mapflags.txt diff --git a/world/map/npc/014-3/_mobs.txt b/world/map/npc/014-3/_mobs.txt index ebadbf58..90d835c2 100644 --- a/world/map/npc/014-3/_mobs.txt +++ b/world/map/npc/014-3/_mobs.txt @@ -1,15 +1,4 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. // Woodland Cave mobs -014-3,0,0,0,0|monster|Bat|1017,50,0ms,0ms,Mob014-3::On1017 - - -014-3,0,0,0|script|Mob014-3|32767 -{ - end; - -On1017: - set @mobID, 1017; - callfunc "MobPoints"; - end; -} +014-3,0,0,0,0|monster|Bat|1017,50,0ms,0ms diff --git a/world/map/npc/014-3/_nodes.txt b/world/map/npc/014-3/_nodes.txt new file mode 100644 index 00000000..2ebc3af1 --- /dev/null +++ b/world/map/npc/014-3/_nodes.txt @@ -0,0 +1,4 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Woodland Cave nodes + +// (no nodes) diff --git a/world/map/npc/015-1/_import.txt b/world/map/npc/015-1/_import.txt index 6085f2a3..a376d93a 100644 --- a/world/map/npc/015-1/_import.txt +++ b/world/map/npc/015-1/_import.txt @@ -2,6 +2,7 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. map: 015-1 npc: npc/015-1/_mobs.txt +npc: npc/015-1/_nodes.txt npc: npc/015-1/_warps.txt npc: npc/015-1/alice.txt npc: npc/015-1/barrier.txt diff --git a/world/map/npc/015-1/_mobs.txt b/world/map/npc/015-1/_mobs.txt index cad191f2..e012a95c 100644 --- a/world/map/npc/015-1/_mobs.txt +++ b/world/map/npc/015-1/_mobs.txt @@ -1,69 +1,13 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. // Woodland mobs -015-1,0,0,0,0|monster|CloverPatch|1037,2,100000ms,1000ms,Mob015-1::On1037 -015-1,0,0,0,0|monster|Butterfly|1055,10,30ms,20ms,Mob015-1::On1055 -015-1,0,0,0,0|monster|Squirrel|1038,30,20ms,10ms,Mob015-1::On1038 -015-1,0,0,0,0|monster|LogHead|1025,40,0ms,0ms,Mob015-1::On1025 -015-1,0,0,0,0|monster|SpikyMushroom|1019,20,0ms,0ms,Mob015-1::On1019 -015-1,0,0,0,0|monster|PinkFlower|1014,20,0ms,0ms,Mob015-1::On1014 -015-1,0,0,0,0|monster|GambogePlant|1031,5,0ms,0ms,Mob015-1::On1031 -015-1,0,0,0,0|monster|AlizarinPlant|1032,5,0ms,0ms,Mob015-1::On1032 -015-1,0,0,0,0|monster|Silkworm|1035,7,15000ms,7000ms,Mob015-1::On1035 -015-1,0,0,0,0|monster|MauvePlant|1029,4,270000ms,180000ms,Mob015-1::On1029 - - -015-1,0,0,0|script|Mob015-1|32767 -{ - end; - -On1014: - set @mobID, 1014; - callfunc "MobPoints"; - end; - -On1019: - set @mobID, 1019; - callfunc "MobPoints"; - end; - -On1025: - set @mobID, 1025; - callfunc "MobPoints"; - end; - -On1029: - set @mobID, 1029; - callfunc "MobPoints"; - end; - -On1031: - set @mobID, 1031; - callfunc "MobPoints"; - end; - -On1032: - set @mobID, 1032; - callfunc "MobPoints"; - end; - -On1035: - set @mobID, 1035; - callfunc "MobPoints"; - end; - -On1037: - set @mobID, 1037; - callfunc "MobPoints"; - end; - -On1038: - set @mobID, 1038; - callfunc "MobPoints"; - end; - -On1055: - set @mobID, 1055; - callfunc "MobPoints"; - end; -} +015-1,0,0,0,0|monster|CloverPatch|1037,2,100000ms,1000ms +015-1,0,0,0,0|monster|Butterfly|1055,10,30ms,20ms +015-1,0,0,0,0|monster|Squirrel|1038,30,20ms,10ms +015-1,0,0,0,0|monster|LogHead|1025,40,0ms,0ms +015-1,0,0,0,0|monster|SpikyMushroom|1019,20,0ms,0ms +015-1,0,0,0,0|monster|PinkFlower|1014,20,0ms,0ms +015-1,0,0,0,0|monster|GambogePlant|1031,5,0ms,0ms +015-1,0,0,0,0|monster|AlizarinPlant|1032,5,0ms,0ms +015-1,0,0,0,0|monster|Silkworm|1035,7,15000ms,7000ms +015-1,0,0,0,0|monster|MauvePlant|1029,4,270000ms,180000ms diff --git a/world/map/npc/015-1/_nodes.txt b/world/map/npc/015-1/_nodes.txt new file mode 100644 index 00000000..12c08221 --- /dev/null +++ b/world/map/npc/015-1/_nodes.txt @@ -0,0 +1,4 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Woodland nodes + +// (no nodes) diff --git a/world/map/npc/015-3/_import.txt b/world/map/npc/015-3/_import.txt index c0f4fc4f..d1b95191 100644 --- a/world/map/npc/015-3/_import.txt +++ b/world/map/npc/015-3/_import.txt @@ -2,6 +2,7 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. map: 015-3 npc: npc/015-3/_mobs.txt +npc: npc/015-3/_nodes.txt npc: npc/015-3/_warps.txt npc: npc/015-3/barrier.txt npc: npc/015-3/katze.txt diff --git a/world/map/npc/015-3/_mobs.txt b/world/map/npc/015-3/_mobs.txt index 1b205735..faab0b97 100644 --- a/world/map/npc/015-3/_mobs.txt +++ b/world/map/npc/015-3/_mobs.txt @@ -1,28 +1,7 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. // Cat's Cave mobs -015-3,22,25,2,4|monster|Bat|1017,2,100000ms,30000ms,Mob015-3::On1017 -015-3,29,31,2,2|monster|Maggot|1002,2,100000ms,30000ms,Mob015-3::On1002 -015-3,23,19,1,1|monster|Maggot|1002,1,100000ms,30000ms,Mob015-3::On1002 -015-3,40,19,1,1|monster|Spider|1012,1,100000ms,30000ms,Mob015-3::On1012 - - -015-3,0,0,0|script|Mob015-3|32767 -{ - end; - -On1002: - set @mobID, 1002; - callfunc "MobPoints"; - end; - -On1012: - set @mobID, 1012; - callfunc "MobPoints"; - end; - -On1017: - set @mobID, 1017; - callfunc "MobPoints"; - end; -} +015-3,22,25,2,4|monster|Bat|1017,2,100000ms,30000ms +015-3,29,31,2,2|monster|Maggot|1002,2,100000ms,30000ms +015-3,23,19,1,1|monster|Maggot|1002,1,100000ms,30000ms +015-3,40,19,1,1|monster|Spider|1012,1,100000ms,30000ms diff --git a/world/map/npc/015-3/_nodes.txt b/world/map/npc/015-3/_nodes.txt new file mode 100644 index 00000000..e37c6a3c --- /dev/null +++ b/world/map/npc/015-3/_nodes.txt @@ -0,0 +1,4 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Cat's Cave nodes + +// (no nodes) diff --git a/world/map/npc/016-1/_import.txt b/world/map/npc/016-1/_import.txt index e67bcb01..63751660 100644 --- a/world/map/npc/016-1/_import.txt +++ b/world/map/npc/016-1/_import.txt @@ -2,6 +2,7 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. map: 016-1 npc: npc/016-1/_mobs.txt +npc: npc/016-1/_nodes.txt npc: npc/016-1/_warps.txt npc: npc/016-1/gwendolyn.txt npc: npc/016-1/mapflags.txt diff --git a/world/map/npc/016-1/_mobs.txt b/world/map/npc/016-1/_mobs.txt index 58b33a9d..91c4d96c 100644 --- a/world/map/npc/016-1/_mobs.txt +++ b/world/map/npc/016-1/_mobs.txt @@ -1,59 +1,13 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. // Woodland mobs -016-1,0,0,0,0|monster|CloverPatch|1037,2,100000ms,30000ms,Mob016-1::On1037 -016-1,0,0,0,0|monster|Butterfly|1055,10,30ms,20ms,Mob016-1::On1055 -016-1,0,0,0,0|monster|Squirrel|1038,30,20ms,10ms,Mob016-1::On1038 -016-1,0,0,0,0|monster|Mouboo|1028,5,0ms,0ms,Mob016-1::On1028 -016-1,0,0,0,0|monster|Scorpion|1003,15,0ms,0ms,Mob016-1::On1003 -016-1,0,0,0,0|monster|MauvePlant|1029,3,0ms,0ms,Mob016-1::On1029 -016-1,0,0,0,0|monster|MauvePlant|1029,4,270000ms,180000ms,Mob016-1::On1029 -016-1,0,0,0,0|monster|CobaltPlant|1030,3,0ms,0ms,Mob016-1::On1030 -016-1,0,0,0,0|monster|MauvePlant|1029,4,270000ms,180000ms,Mob016-1::On1029 -016-1,0,0,0,0|monster|Silkworm|1035,7,150000ms,7000ms,Mob016-1::On1035 - - -016-1,0,0,0|script|Mob016-1|32767 -{ - end; - -On1003: - set @mobID, 1003; - callfunc "MobPoints"; - end; - -On1028: - set @mobID, 1028; - callfunc "MobPoints"; - end; - -On1029: - set @mobID, 1029; - callfunc "MobPoints"; - end; - -On1030: - set @mobID, 1030; - callfunc "MobPoints"; - end; - -On1035: - set @mobID, 1035; - callfunc "MobPoints"; - end; - -On1037: - set @mobID, 1037; - callfunc "MobPoints"; - end; - -On1038: - set @mobID, 1038; - callfunc "MobPoints"; - end; - -On1055: - set @mobID, 1055; - callfunc "MobPoints"; - end; -} +016-1,0,0,0,0|monster|CloverPatch|1037,2,100000ms,30000ms +016-1,0,0,0,0|monster|Butterfly|1055,10,30ms,20ms +016-1,0,0,0,0|monster|Squirrel|1038,30,20ms,10ms +016-1,0,0,0,0|monster|Mouboo|1028,5,0ms,0ms +016-1,0,0,0,0|monster|Scorpion|1003,15,0ms,0ms +016-1,0,0,0,0|monster|MauvePlant|1029,3,0ms,0ms +016-1,0,0,0,0|monster|MauvePlant|1029,4,270000ms,180000ms +016-1,0,0,0,0|monster|CobaltPlant|1030,3,0ms,0ms +016-1,0,0,0,0|monster|MauvePlant|1029,4,270000ms,180000ms +016-1,0,0,0,0|monster|Silkworm|1035,7,150000ms,7000ms diff --git a/world/map/npc/016-1/_nodes.txt b/world/map/npc/016-1/_nodes.txt new file mode 100644 index 00000000..12c08221 --- /dev/null +++ b/world/map/npc/016-1/_nodes.txt @@ -0,0 +1,4 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Woodland nodes + +// (no nodes) diff --git a/world/map/npc/017-1/_import.txt b/world/map/npc/017-1/_import.txt index ecf2c383..a8bc80c9 100644 --- a/world/map/npc/017-1/_import.txt +++ b/world/map/npc/017-1/_import.txt @@ -2,6 +2,7 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. map: 017-1 npc: npc/017-1/_mobs.txt +npc: npc/017-1/_nodes.txt npc: npc/017-1/_warps.txt npc: npc/017-1/flowerpentagram1.txt npc: npc/017-1/flowerpentagram5.txt diff --git a/world/map/npc/017-1/_mobs.txt b/world/map/npc/017-1/_mobs.txt index fe1c40b4..d4e5955a 100644 --- a/world/map/npc/017-1/_mobs.txt +++ b/world/map/npc/017-1/_mobs.txt @@ -1,102 +1,21 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. // Woodland Hills mobs -017-1,0,0,0,0|monster|CloverPatch|1037,2,0ms,1000ms,Mob017-1::On1037 -017-1,99,30,2,1|monster|CloverPatch|1037,1,150000ms,50000ms,Mob017-1::On1037 -017-1,29,29,19,12|monster|GambogePlant|1031,1,0ms,25000ms,Mob017-1::On1031 -017-1,91,25,76,8|monster|LogHead|1025,3,5000ms,60000ms,Mob017-1::On1025 -017-1,31,48,19,12|monster|LogHead|1025,3,5000ms,60000ms,Mob017-1::On1025 -017-1,0,0,0,0|monster|Butterfly|1055,10,30ms,20ms,Mob017-1::On1055 -017-1,0,0,0,0|monster|Bat|1017,5,0ms,0ms,Mob017-1::On1017 -017-1,0,0,0,0|monster|FireGoblin|1011,5,0ms,0ms,Mob017-1::On1011 -017-1,0,0,0,0|monster|Mouboo|1028,5,0ms,0ms,Mob017-1::On1028 -017-1,0,0,0,0|monster|PinkFlower|1014,5,0ms,0ms,Mob017-1::On1014 -017-1,0,0,0,0|monster|SpikyMushroom|1019,5,0ms,0ms,Mob017-1::On1019 -017-1,0,0,0,0|monster|EvilMushroom|1013,10,0ms,0ms,Mob017-1::On1013 -017-1,0,0,0,0|monster|AlizarinPlant|1032,3,0ms,0ms,Mob017-1::On1032 -017-1,0,0,0,0|monster|GambogePlant|1031,3,0ms,0ms,Mob017-1::On1031 -017-1,0,0,0,0|monster|CobaltPlant|1030,3,0ms,0ms,Mob017-1::On1030 -017-1,0,0,0,0|monster|MauvePlant|1029,5,0ms,0ms,Mob017-1::On1029 -017-1,0,0,0,0|monster|Silkworm|1035,10,0ms,0ms,Mob017-1::On1035 -017-1,0,0,0,0|monster|Squirrel|1038,30,20ms,10ms,Mob017-1::On1038 - - -017-1,0,0,0|script|Mob017-1|32767 -{ - end; - -On1011: - set @mobID, 1011; - callfunc "MobPoints"; - end; - -On1013: - set @mobID, 1013; - callfunc "MobPoints"; - end; - -On1014: - set @mobID, 1014; - callfunc "MobPoints"; - end; - -On1017: - set @mobID, 1017; - callfunc "MobPoints"; - end; - -On1019: - set @mobID, 1019; - callfunc "MobPoints"; - end; - -On1025: - set @mobID, 1025; - callfunc "MobPoints"; - end; - -On1028: - set @mobID, 1028; - callfunc "MobPoints"; - end; - -On1029: - set @mobID, 1029; - callfunc "MobPoints"; - end; - -On1030: - set @mobID, 1030; - callfunc "MobPoints"; - end; - -On1031: - set @mobID, 1031; - callfunc "MobPoints"; - end; - -On1032: - set @mobID, 1032; - callfunc "MobPoints"; - end; - -On1035: - set @mobID, 1035; - callfunc "MobPoints"; - end; - -On1037: - set @mobID, 1037; - callfunc "MobPoints"; - end; - -On1038: - set @mobID, 1038; - callfunc "MobPoints"; - end; - -On1055: - set @mobID, 1055; - callfunc "MobPoints"; - end; -} +017-1,0,0,0,0|monster|CloverPatch|1037,2,0ms,1000ms +017-1,99,30,2,1|monster|CloverPatch|1037,1,150000ms,50000ms +017-1,29,29,19,12|monster|GambogePlant|1031,1,0ms,25000ms +017-1,91,25,76,8|monster|LogHead|1025,3,5000ms,60000ms +017-1,31,48,19,12|monster|LogHead|1025,3,5000ms,60000ms +017-1,0,0,0,0|monster|Butterfly|1055,10,30ms,20ms +017-1,0,0,0,0|monster|Bat|1017,5,0ms,0ms +017-1,0,0,0,0|monster|FireGoblin|1011,5,0ms,0ms +017-1,0,0,0,0|monster|Mouboo|1028,5,0ms,0ms +017-1,0,0,0,0|monster|PinkFlower|1014,5,0ms,0ms +017-1,0,0,0,0|monster|SpikyMushroom|1019,5,0ms,0ms +017-1,0,0,0,0|monster|EvilMushroom|1013,10,0ms,0ms +017-1,0,0,0,0|monster|AlizarinPlant|1032,3,0ms,0ms +017-1,0,0,0,0|monster|GambogePlant|1031,3,0ms,0ms +017-1,0,0,0,0|monster|CobaltPlant|1030,3,0ms,0ms +017-1,0,0,0,0|monster|MauvePlant|1029,5,0ms,0ms +017-1,0,0,0,0|monster|Silkworm|1035,10,0ms,0ms +017-1,0,0,0,0|monster|Squirrel|1038,30,20ms,10ms diff --git a/world/map/npc/017-1/_nodes.txt b/world/map/npc/017-1/_nodes.txt new file mode 100644 index 00000000..13ee4f92 --- /dev/null +++ b/world/map/npc/017-1/_nodes.txt @@ -0,0 +1,4 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Woodland Hills nodes + +// (no nodes) diff --git a/world/map/npc/017-2/_import.txt b/world/map/npc/017-2/_import.txt index 8f13a370..84618771 100644 --- a/world/map/npc/017-2/_import.txt +++ b/world/map/npc/017-2/_import.txt @@ -2,5 +2,6 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. map: 017-2 npc: npc/017-2/_mobs.txt +npc: npc/017-2/_nodes.txt npc: npc/017-2/_warps.txt npc: npc/017-2/mapflags.txt diff --git a/world/map/npc/017-2/_mobs.txt b/world/map/npc/017-2/_mobs.txt index 7fbf694f..57e93531 100644 --- a/world/map/npc/017-2/_mobs.txt +++ b/world/map/npc/017-2/_mobs.txt @@ -1,9 +1,3 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. // Theater mobs - - -017-2,0,0,0|script|Mob017-2|32767 -{ - end; -} diff --git a/world/map/npc/017-2/_nodes.txt b/world/map/npc/017-2/_nodes.txt new file mode 100644 index 00000000..0e37f1ef --- /dev/null +++ b/world/map/npc/017-2/_nodes.txt @@ -0,0 +1,4 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Theater nodes + +// (no nodes) diff --git a/world/map/npc/017-3/_import.txt b/world/map/npc/017-3/_import.txt index c2f9b84d..ec5b651f 100644 --- a/world/map/npc/017-3/_import.txt +++ b/world/map/npc/017-3/_import.txt @@ -2,5 +2,6 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. map: 017-3 npc: npc/017-3/_mobs.txt +npc: npc/017-3/_nodes.txt npc: npc/017-3/_warps.txt npc: npc/017-3/mapflags.txt diff --git a/world/map/npc/017-3/_mobs.txt b/world/map/npc/017-3/_mobs.txt index c498697b..ee92826e 100644 --- a/world/map/npc/017-3/_mobs.txt +++ b/world/map/npc/017-3/_mobs.txt @@ -1,9 +1,3 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. // Woodland Cave mobs - - -017-3,0,0,0|script|Mob017-3|32767 -{ - end; -} diff --git a/world/map/npc/017-3/_nodes.txt b/world/map/npc/017-3/_nodes.txt new file mode 100644 index 00000000..2ebc3af1 --- /dev/null +++ b/world/map/npc/017-3/_nodes.txt @@ -0,0 +1,4 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Woodland Cave nodes + +// (no nodes) diff --git a/world/map/npc/017-4/_import.txt b/world/map/npc/017-4/_import.txt index fcd79a8e..33a00b9b 100644 --- a/world/map/npc/017-4/_import.txt +++ b/world/map/npc/017-4/_import.txt @@ -2,6 +2,7 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. map: 017-4 npc: npc/017-4/_mobs.txt +npc: npc/017-4/_nodes.txt npc: npc/017-4/_warps.txt npc: npc/017-4/guardingspirit.txt npc: npc/017-4/mapflags.txt diff --git a/world/map/npc/017-4/_mobs.txt b/world/map/npc/017-4/_mobs.txt index 920a1db5..5270e787 100644 --- a/world/map/npc/017-4/_mobs.txt +++ b/world/map/npc/017-4/_mobs.txt @@ -1,9 +1,3 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. // Hideout mobs - - -017-4,0,0,0|script|Mob017-4|32767 -{ - end; -} diff --git a/world/map/npc/017-4/_nodes.txt b/world/map/npc/017-4/_nodes.txt new file mode 100644 index 00000000..357bf9fd --- /dev/null +++ b/world/map/npc/017-4/_nodes.txt @@ -0,0 +1,4 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Hideout nodes + +// (no nodes) diff --git a/world/map/npc/017-9/_import.txt b/world/map/npc/017-9/_import.txt index 55b1495e..06bab503 100644 --- a/world/map/npc/017-9/_import.txt +++ b/world/map/npc/017-9/_import.txt @@ -2,6 +2,7 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. map: 017-9 npc: npc/017-9/_mobs.txt +npc: npc/017-9/_nodes.txt npc: npc/017-9/_warps.txt npc: npc/017-9/mapflags.txt npc: npc/017-9/npcs.txt diff --git a/world/map/npc/017-9/_mobs.txt b/world/map/npc/017-9/_mobs.txt index 9f351648..d8d6de99 100644 --- a/world/map/npc/017-9/_mobs.txt +++ b/world/map/npc/017-9/_mobs.txt @@ -1,9 +1,3 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. // GM Lounge mobs - - -017-9,0,0,0|script|Mob017-9|32767 -{ - end; -} diff --git a/world/map/npc/017-9/_nodes.txt b/world/map/npc/017-9/_nodes.txt new file mode 100644 index 00000000..78aae663 --- /dev/null +++ b/world/map/npc/017-9/_nodes.txt @@ -0,0 +1,4 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// GM Lounge nodes + +// (no nodes) diff --git a/world/map/npc/017-9/npcs.txt b/world/map/npc/017-9/npcs.txt index e5a2ec04..188ef2e0 100644 --- a/world/map/npc/017-9/npcs.txt +++ b/world/map/npc/017-9/npcs.txt @@ -1,6 +1,6 @@ 009-1,42,43,0|script|#SecretDoor|32767,0,0 { - if (getgmlevel() < 20 && !debug) end; + if (GM < get(.lounge, "GM") && GM < G_SYSOP && !debug) end; gmlog "@warp 017-9"; warp "017-9", 27, 23; end; @@ -8,7 +8,7 @@ 020-1,60,76,0|script|#SecretDoor2|32767,0,0 { - if (getgmlevel() < 20 && !debug) end; + if (GM < get(.lounge, "GM") && GM < G_SYSOP && !debug) end; gmlog "@warp 017-9"; warp "017-9", 29, 21; end; @@ -16,7 +16,7 @@ 001-1,54,118,0|script|#SecretDoor3|32767,0,0 { - if (getgmlevel() < 20 && !debug) end; + if (GM < get(.lounge, "GM") && GM < G_SYSOP && !debug) end; gmlog "@warp 017-9"; warp "017-9", 21, 21; end; @@ -24,7 +24,7 @@ 027-2,118,111,0|script|#SecretDoor4|32767,0,0 { - if (getgmlevel() < 20 && !debug) end; + if (GM < get(.lounge, "GM") && GM < G_SYSOP && !debug) end; gmlog "@warp 017-9"; warp "017-9", 31, 21; end; @@ -32,25 +32,8 @@ 029-1,34,96,0|script|#SecretDoor5|32767,0,0 { - if (getgmlevel() < 20 && !debug) end; + if (GM < get(.lounge, "GM") && GM < G_SYSOP && !debug) end; gmlog "@warp 017-9"; warp "017-9", 23, 21; end; } - -017-9,30,28,0|script|Numa|393 -{ - set @from_npc, 1; - callfunc "SuperDebug"; - end; -} - --|script|Numa Spell|32767 -{ - callfunc "SuperDebug"; - end; - -OnInit: - registercmd "@numa", "Numa Spell"; - end; -} diff --git a/world/map/npc/018-1/_import.txt b/world/map/npc/018-1/_import.txt index 087fe43e..bf00cad9 100644 --- a/world/map/npc/018-1/_import.txt +++ b/world/map/npc/018-1/_import.txt @@ -2,6 +2,7 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. map: 018-1 npc: npc/018-1/_mobs.txt +npc: npc/018-1/_nodes.txt npc: npc/018-1/_warps.txt npc: npc/018-1/flowerpentagram3.txt npc: npc/018-1/mapflags.txt diff --git a/world/map/npc/018-1/_mobs.txt b/world/map/npc/018-1/_mobs.txt index 942a6d09..ced34aa9 100644 --- a/world/map/npc/018-1/_mobs.txt +++ b/world/map/npc/018-1/_mobs.txt @@ -1,101 +1,30 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. // Woodland Mining Camp mobs -018-1,136,79,9,41|monster|SeaSlime|1033,10,100000ms,30000ms,Mob018-1::On1033 -018-1,108,87,53,25|monster|ManaBug|1131,10,100000ms,30000ms,Mob018-1::On1131 -018-1,116,44,6,7|monster|SeaSlime|1033,3,100000ms,30000ms,Mob018-1::On1033 -018-1,119,56,13,6|monster|PinkFlower|1014,2,100000ms,30000ms,Mob018-1::On1014 -018-1,175,28,17,19|monster|JackO|1022,1,180000ms,120000ms,Mob018-1::On1022 -018-1,78,59,3,1|monster|YellowSlime|1007,1,100000ms,30000ms,Mob018-1::On1007 -018-1,57,63,14,7|monster|Silkworm|1035,2,100000ms,30000ms,Mob018-1::On1035 -018-1,43,63,31,28|monster|Bat|1017,10,100000ms,30000ms,Mob018-1::On1017 -018-1,134,39,18,10|monster|GrassSnake|1034,4,100000ms,50000ms,Mob018-1::On1034 -018-1,124,42,9,11|monster|GrassSnake|1034,2,100000ms,50000ms,Mob018-1::On1034 -018-1,124,19,22,9|monster|GrassSnake|1034,3,100000ms,50000ms,Mob018-1::On1034 -018-1,122,29,19,9|monster|GrassSnake|1034,2,100000ms,50000ms,Mob018-1::On1034 -018-1,149,45,10,8|monster|Bat|1017,5,100000ms,30000ms,Mob018-1::On1017 -018-1,169,47,20,10|monster|RedSlime|1008,4,120000ms,30000ms,Mob018-1::On1008 -018-1,136,49,13,8|monster|Bat|1017,4,100000ms,30000ms,Mob018-1::On1017 -018-1,166,49,13,9|monster|CloverPatch|1037,1,100000ms,30000ms,Mob018-1::On1037 -018-1,111,62,5,2|monster|Silkworm|1035,1,60000ms,30000ms,Mob018-1::On1035 -018-1,117,50,4,3|monster|SeaSlime|1033,1,120000ms,60000ms,Mob018-1::On1033 -018-1,96,47,18,11|monster|RedSlime|1008,3,100000ms,50000ms,Mob018-1::On1008 -018-1,106,52,15,6|monster|CobaltPlant|1030,1,240000ms,120000ms,Mob018-1::On1030 -018-1,78,55,37,6|monster|RedSlime|1008,7,100000ms,50000ms,Mob018-1::On1008 -018-1,145,24,10,9|monster|RedSlime|1008,3,100000ms,50000ms,Mob018-1::On1008 -018-1,68,89,14,17|monster|Bat|1017,3,100000ms,50000ms,Mob018-1::On1017 -018-1,160,31,11,18|monster|RedSlime|1008,5,100000ms,50000ms,Mob018-1::On1008 -018-1,0,0,0,0|monster|CloverPatch|1037,2,0ms,1000ms,Mob018-1::On1037 -018-1,0,0,0,0|monster|Butterfly|1055,20,30ms,20ms,Mob018-1::On1055 -018-1,134,80,14,39|monster|Maggot|1002,15,30ms,0ms,Mob018-1::On1002 - - -018-1,0,0,0|script|Mob018-1|32767 -{ - end; - -On1002: - set @mobID, 1002; - callfunc "MobPoints"; - end; - -On1007: - set @mobID, 1007; - callfunc "MobPoints"; - end; - -On1008: - set @mobID, 1008; - callfunc "MobPoints"; - end; - -On1014: - set @mobID, 1014; - callfunc "MobPoints"; - end; - -On1017: - set @mobID, 1017; - callfunc "MobPoints"; - end; - -On1022: - set @mobID, 1022; - callfunc "MobPoints"; - end; - -On1030: - set @mobID, 1030; - callfunc "MobPoints"; - end; - -On1033: - set @mobID, 1033; - callfunc "MobPoints"; - end; - -On1034: - set @mobID, 1034; - callfunc "MobPoints"; - end; - -On1035: - set @mobID, 1035; - callfunc "MobPoints"; - end; - -On1037: - set @mobID, 1037; - callfunc "MobPoints"; - end; - -On1055: - set @mobID, 1055; - callfunc "MobPoints"; - end; - -On1131: - set @mobID, 1131; - callfunc "MobPoints"; - end; -} +018-1,136,79,9,41|monster|SeaSlime|1033,10,100000ms,30000ms +018-1,108,87,53,25|monster|ManaBug|1131,10,100000ms,30000ms +018-1,116,44,6,7|monster|SeaSlime|1033,3,100000ms,30000ms +018-1,119,56,13,6|monster|PinkFlower|1014,2,100000ms,30000ms +018-1,175,28,17,19|monster|JackO|1022,1,180000ms,120000ms +018-1,78,59,3,1|monster|YellowSlime|1007,1,100000ms,30000ms +018-1,57,63,14,7|monster|Silkworm|1035,2,100000ms,30000ms +018-1,43,63,31,28|monster|Bat|1017,10,100000ms,30000ms +018-1,134,39,18,10|monster|GrassSnake|1034,4,100000ms,50000ms +018-1,124,42,9,11|monster|GrassSnake|1034,2,100000ms,50000ms +018-1,124,19,22,9|monster|GrassSnake|1034,3,100000ms,50000ms +018-1,122,29,19,9|monster|GrassSnake|1034,2,100000ms,50000ms +018-1,149,45,10,8|monster|Bat|1017,5,100000ms,30000ms +018-1,169,47,20,10|monster|RedSlime|1008,4,120000ms,30000ms +018-1,136,49,13,8|monster|Bat|1017,4,100000ms,30000ms +018-1,166,49,13,9|monster|CloverPatch|1037,1,100000ms,30000ms +018-1,111,62,5,2|monster|Silkworm|1035,1,60000ms,30000ms +018-1,117,50,4,3|monster|SeaSlime|1033,1,120000ms,60000ms +018-1,96,47,18,11|monster|RedSlime|1008,3,100000ms,50000ms +018-1,106,52,15,6|monster|CobaltPlant|1030,1,240000ms,120000ms +018-1,78,55,37,6|monster|RedSlime|1008,7,100000ms,50000ms +018-1,145,24,10,9|monster|RedSlime|1008,3,100000ms,50000ms +018-1,68,89,14,17|monster|Bat|1017,3,100000ms,50000ms +018-1,160,31,11,18|monster|RedSlime|1008,5,100000ms,50000ms +018-1,0,0,0,0|monster|CloverPatch|1037,2,0ms,1000ms +018-1,0,0,0,0|monster|Butterfly|1055,20,30ms,20ms +018-1,134,80,14,39|monster|Maggot|1002,15,30ms,0ms diff --git a/world/map/npc/018-1/_nodes.txt b/world/map/npc/018-1/_nodes.txt new file mode 100644 index 00000000..9ac98a33 --- /dev/null +++ b/world/map/npc/018-1/_nodes.txt @@ -0,0 +1,4 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Woodland Mining Camp nodes + +// (no nodes) diff --git a/world/map/npc/018-2/_import.txt b/world/map/npc/018-2/_import.txt index 6c8fcb00..93025f9d 100644 --- a/world/map/npc/018-2/_import.txt +++ b/world/map/npc/018-2/_import.txt @@ -2,6 +2,7 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. map: 018-2 npc: npc/018-2/_mobs.txt +npc: npc/018-2/_nodes.txt npc: npc/018-2/_warps.txt npc: npc/018-2/angus.txt npc: npc/018-2/books.txt diff --git a/world/map/npc/018-2/_mobs.txt b/world/map/npc/018-2/_mobs.txt index fb451a92..13188ee7 100644 --- a/world/map/npc/018-2/_mobs.txt +++ b/world/map/npc/018-2/_mobs.txt @@ -1,15 +1,4 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. // Woodland Mining Camp Indoor mobs -018-2,114,21,4,3|monster|YellowSlime|1007,1,100000ms,30000ms,Mob018-2::On1007 - - -018-2,0,0,0|script|Mob018-2|32767 -{ - end; - -On1007: - set @mobID, 1007; - callfunc "MobPoints"; - end; -} +018-2,114,21,4,3|monster|YellowSlime|1007,1,100000ms,30000ms diff --git a/world/map/npc/018-2/_nodes.txt b/world/map/npc/018-2/_nodes.txt new file mode 100644 index 00000000..93459a98 --- /dev/null +++ b/world/map/npc/018-2/_nodes.txt @@ -0,0 +1,4 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Woodland Mining Camp Indoor nodes + +// (no nodes) diff --git a/world/map/npc/018-3/_import.txt b/world/map/npc/018-3/_import.txt index de5fbfb1..1845c3d1 100644 --- a/world/map/npc/018-3/_import.txt +++ b/world/map/npc/018-3/_import.txt @@ -2,6 +2,7 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. map: 018-3 npc: npc/018-3/_mobs.txt +npc: npc/018-3/_nodes.txt npc: npc/018-3/_warps.txt npc: npc/018-3/bookcase.txt npc: npc/018-3/evil-obelisk.txt diff --git a/world/map/npc/018-3/_mobs.txt b/world/map/npc/018-3/_mobs.txt index 46457878..57c48654 100644 --- a/world/map/npc/018-3/_mobs.txt +++ b/world/map/npc/018-3/_mobs.txt @@ -1,87 +1,26 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. // Northern Mines mobs -018-3,48,29,57,19|monster|Bat|1017,10,100000ms,30000ms,Mob018-3::On1017 -018-3,35,144,31,48|monster|EvilMushroom|1013,10,120000ms,30000ms,Mob018-3::On1013 -018-3,35,65,28,22|monster|Spider|1012,20,100000ms,50000ms,Mob018-3::On1012 -018-3,28,157,3,2|monster|PinkFlower|1014,1,60000ms,30000ms,Mob018-3::On1014 -018-3,99,111,17,41|monster|YellowSlime|1007,10,90000ms,30000ms,Mob018-3::On1007 -018-3,134,140,12,8|monster|Maggot|1002,3,80000ms,40000ms,Mob018-3::On1002 -018-3,82,149,73,26|monster|Spider|1012,8,300000ms,120000ms,Mob018-3::On1012 -018-3,102,172,131,13|monster|BlackScorpion|1009,20,60000ms,10000ms,Mob018-3::On1009 -018-3,174,37,10,31|monster|YellowSlime|1007,5,180000ms,120000ms,Mob018-3::On1007 -018-3,148,148,13,24|monster|Bat|1017,3,180000ms,40000ms,Mob018-3::On1017 -018-3,136,87,21,7|monster|YellowSlime|1007,6,80000ms,40000ms,Mob018-3::On1007 -018-3,81,77,27,21|monster|RedSlime|1008,15,80000ms,40000ms,Mob018-3::On1008 -018-3,111,80,5,6|monster|BlackScorpion|1009,10,80000ms,40000ms,Mob018-3::On1009 -018-3,175,122,5,40|monster|Snake|1010,15,40000ms,20000ms,Mob018-3::On1010 -018-3,172,94,17,17|monster|RedSlime|1008,10,60000ms,30000ms,Mob018-3::On1008 -018-3,59,95,11,8|monster|Spider|1012,15,60000ms,30000ms,Mob018-3::On1012 -018-3,77,92,23,7|monster|BlackScorpion|1009,15,60000ms,30000ms,Mob018-3::On1009 -018-3,94,55,16,8|monster|Snake|1010,5,60000ms,30000ms,Mob018-3::On1010 -018-3,133,39,12,17|monster|Spider|1012,10,60000ms,30000ms,Mob018-3::On1012 -018-3,111,33,30,16|monster|Snake|1010,15,60000ms,30000ms,Mob018-3::On1010 -018-3,68,101,5,4|monster|CaveSnake|1021,4,60000ms,30000ms,Mob018-3::On1021 -018-3,153,96,18,17|monster|CaveMaggot|1056,4,100000ms,30000ms,Mob018-3::On1056 -018-3,99,99,17,17|monster|CaveMaggot|1056,4,100000ms,30000ms,Mob018-3::On1056 - - -018-3,0,0,0|script|Mob018-3|32767 -{ - end; - -On1002: - set @mobID, 1002; - callfunc "MobPoints"; - end; - -On1007: - set @mobID, 1007; - callfunc "MobPoints"; - end; - -On1008: - set @mobID, 1008; - callfunc "MobPoints"; - end; - -On1009: - set @mobID, 1009; - callfunc "MobPoints"; - end; - -On1010: - set @mobID, 1010; - callfunc "MobPoints"; - end; - -On1012: - set @mobID, 1012; - callfunc "MobPoints"; - end; - -On1013: - set @mobID, 1013; - callfunc "MobPoints"; - end; - -On1014: - set @mobID, 1014; - callfunc "MobPoints"; - end; - -On1017: - set @mobID, 1017; - callfunc "MobPoints"; - end; - -On1021: - set @mobID, 1021; - callfunc "MobPoints"; - end; - -On1056: - set @mobID, 1056; - callfunc "MobPoints"; - end; -} +018-3,48,29,57,19|monster|Bat|1017,10,100000ms,30000ms +018-3,35,144,31,48|monster|EvilMushroom|1013,10,120000ms,30000ms +018-3,35,65,28,22|monster|Spider|1012,20,100000ms,50000ms +018-3,28,157,3,2|monster|PinkFlower|1014,1,60000ms,30000ms +018-3,99,111,17,41|monster|YellowSlime|1007,10,90000ms,30000ms +018-3,134,140,12,8|monster|Maggot|1002,3,80000ms,40000ms +018-3,82,149,73,26|monster|Spider|1012,8,300000ms,120000ms +018-3,102,172,131,13|monster|BlackScorpion|1009,20,60000ms,10000ms +018-3,174,37,10,31|monster|YellowSlime|1007,5,180000ms,120000ms +018-3,148,148,13,24|monster|Bat|1017,3,180000ms,40000ms +018-3,136,87,21,7|monster|YellowSlime|1007,6,80000ms,40000ms +018-3,81,77,27,21|monster|RedSlime|1008,15,80000ms,40000ms +018-3,111,80,5,6|monster|BlackScorpion|1009,10,80000ms,40000ms +018-3,175,122,5,40|monster|Snake|1010,15,40000ms,20000ms +018-3,172,94,17,17|monster|RedSlime|1008,10,60000ms,30000ms +018-3,59,95,11,8|monster|Spider|1012,15,60000ms,30000ms +018-3,77,92,23,7|monster|BlackScorpion|1009,15,60000ms,30000ms +018-3,94,55,16,8|monster|Snake|1010,5,60000ms,30000ms +018-3,133,39,12,17|monster|Spider|1012,10,60000ms,30000ms +018-3,111,33,30,16|monster|Snake|1010,15,60000ms,30000ms +018-3,68,101,5,4|monster|CaveSnake|1021,4,60000ms,30000ms +018-3,153,96,18,17|monster|CaveMaggot|1056,4,100000ms,30000ms +018-3,99,99,17,17|monster|CaveMaggot|1056,4,100000ms,30000ms diff --git a/world/map/npc/018-3/_nodes.txt b/world/map/npc/018-3/_nodes.txt new file mode 100644 index 00000000..833941e7 --- /dev/null +++ b/world/map/npc/018-3/_nodes.txt @@ -0,0 +1,4 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Northern Mines nodes + +// (no nodes) diff --git a/world/map/npc/019-1/_import.txt b/world/map/npc/019-1/_import.txt index e462165a..9eeea2c7 100644 --- a/world/map/npc/019-1/_import.txt +++ b/world/map/npc/019-1/_import.txt @@ -2,6 +2,7 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. map: 019-1 npc: npc/019-1/_mobs.txt +npc: npc/019-1/_nodes.txt npc: npc/019-1/_warps.txt npc: npc/019-1/mapflags.txt npc: npc/019-1/santa_helper.txt diff --git a/world/map/npc/019-1/_mobs.txt b/world/map/npc/019-1/_mobs.txt index 505d18df..28f76d9a 100644 --- a/world/map/npc/019-1/_mobs.txt +++ b/world/map/npc/019-1/_mobs.txt @@ -1,33 +1,7 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. // snow Field mobs -019-1,0,0,0,0|monster|Fluffy|1020,50,100000ms,30000ms,Mob019-1::On1020 -019-1,0,0,0,0|monster|Reinboo|1094,4,100000ms,30000ms,Mob019-1::On1094 -019-1,0,0,0,0|monster|WhiteBell|1095,5,100000ms,30000ms,Mob019-1::On1095 -019-1,0,0,0,0|monster|Santaboo|1112,4,100000ms,30000ms,Mob019-1::On1112 - - -019-1,0,0,0|script|Mob019-1|32767 -{ - end; - -On1020: - set @mobID, 1020; - callfunc "MobPoints"; - end; - -On1094: - set @mobID, 1094; - callfunc "MobPoints"; - end; - -On1095: - set @mobID, 1095; - callfunc "MobPoints"; - end; - -On1112: - set @mobID, 1112; - callfunc "MobPoints"; - end; -} +019-1,0,0,0,0|monster|Fluffy|1020,50,100000ms,30000ms +019-1,0,0,0,0|monster|Reinboo|1094,4,100000ms,30000ms +019-1,0,0,0,0|monster|WhiteBell|1095,5,100000ms,30000ms +019-1,0,0,0,0|monster|Santaboo|1112,4,100000ms,30000ms diff --git a/world/map/npc/019-1/_nodes.txt b/world/map/npc/019-1/_nodes.txt new file mode 100644 index 00000000..091beb4e --- /dev/null +++ b/world/map/npc/019-1/_nodes.txt @@ -0,0 +1,4 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// snow Field nodes + +// (no nodes) diff --git a/world/map/npc/019-3/_import.txt b/world/map/npc/019-3/_import.txt index eca5ede9..d7547724 100644 --- a/world/map/npc/019-3/_import.txt +++ b/world/map/npc/019-3/_import.txt @@ -2,5 +2,6 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. map: 019-3 npc: npc/019-3/_mobs.txt +npc: npc/019-3/_nodes.txt npc: npc/019-3/_warps.txt npc: npc/019-3/mapflags.txt diff --git a/world/map/npc/019-3/_mobs.txt b/world/map/npc/019-3/_mobs.txt index 26a7771a..3ba50e42 100644 --- a/world/map/npc/019-3/_mobs.txt +++ b/world/map/npc/019-3/_mobs.txt @@ -1,21 +1,5 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. // Snow Cave mobs -019-3,0,4,0,0|monster|Moggun|1061,10,100000ms,30000ms,Mob019-3::On1061 -019-3,0,4,0,0|monster|Bat|1017,50,100000ms,30000ms,Mob019-3::On1017 - - -019-3,0,0,0|script|Mob019-3|32767 -{ - end; - -On1017: - set @mobID, 1017; - callfunc "MobPoints"; - end; - -On1061: - set @mobID, 1061; - callfunc "MobPoints"; - end; -} +019-3,0,4,0,0|monster|Moggun|1061,10,100000ms,30000ms +019-3,0,4,0,0|monster|Bat|1017,50,100000ms,30000ms diff --git a/world/map/npc/019-3/_nodes.txt b/world/map/npc/019-3/_nodes.txt new file mode 100644 index 00000000..97eefd57 --- /dev/null +++ b/world/map/npc/019-3/_nodes.txt @@ -0,0 +1,4 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Snow Cave nodes + +// (no nodes) diff --git a/world/map/npc/019-4/_import.txt b/world/map/npc/019-4/_import.txt index 0d16081c..f9b94579 100644 --- a/world/map/npc/019-4/_import.txt +++ b/world/map/npc/019-4/_import.txt @@ -2,5 +2,6 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. map: 019-4 npc: npc/019-4/_mobs.txt +npc: npc/019-4/_nodes.txt npc: npc/019-4/_warps.txt npc: npc/019-4/mapflags.txt diff --git a/world/map/npc/019-4/_mobs.txt b/world/map/npc/019-4/_mobs.txt index 43717e0d..6a23a017 100644 --- a/world/map/npc/019-4/_mobs.txt +++ b/world/map/npc/019-4/_mobs.txt @@ -1,33 +1,7 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. // Snow Cave mobs -019-4,0,0,0,0|monster|Moggun|1061,12,45000ms,30000ms,Mob019-4::On1061 -019-4,47,67,15,9|monster|WhiteSlime|1093,5,45000ms,45000ms,Mob019-4::On1093 -019-4,0,0,0,0|monster|Bat|1017,15,45000ms,25000ms,Mob019-4::On1017 -019-4,0,0,0,0|monster|BlueSlime|1091,7,45000ms,30000ms,Mob019-4::On1091 - - -019-4,0,0,0|script|Mob019-4|32767 -{ - end; - -On1017: - set @mobID, 1017; - callfunc "MobPoints"; - end; - -On1061: - set @mobID, 1061; - callfunc "MobPoints"; - end; - -On1091: - set @mobID, 1091; - callfunc "MobPoints"; - end; - -On1093: - set @mobID, 1093; - callfunc "MobPoints"; - end; -} +019-4,0,0,0,0|monster|Moggun|1061,12,45000ms,30000ms +019-4,47,67,15,9|monster|WhiteSlime|1093,5,45000ms,45000ms +019-4,0,0,0,0|monster|Bat|1017,15,45000ms,25000ms +019-4,0,0,0,0|monster|BlueSlime|1091,7,45000ms,30000ms diff --git a/world/map/npc/019-4/_nodes.txt b/world/map/npc/019-4/_nodes.txt new file mode 100644 index 00000000..97eefd57 --- /dev/null +++ b/world/map/npc/019-4/_nodes.txt @@ -0,0 +1,4 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Snow Cave nodes + +// (no nodes) diff --git a/world/map/npc/020-1/_import.txt b/world/map/npc/020-1/_import.txt index b85bd34f..a48fad5d 100644 --- a/world/map/npc/020-1/_import.txt +++ b/world/map/npc/020-1/_import.txt @@ -3,6 +3,7 @@ map: 020-1 npc: npc/020-1/KrickKrackKrock.txt npc: npc/020-1/_mobs.txt +npc: npc/020-1/_nodes.txt npc: npc/020-1/_warps.txt npc: npc/020-1/dock.txt npc: npc/020-1/mapflags.txt diff --git a/world/map/npc/020-1/_mobs.txt b/world/map/npc/020-1/_mobs.txt index da1ffd27..7890d424 100644 --- a/world/map/npc/020-1/_mobs.txt +++ b/world/map/npc/020-1/_mobs.txt @@ -1,15 +1,4 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. // Nivalis mobs -020-1,0,0,0,0|monster|WhiteBell|1095,3,100000ms,30000ms,Mob020-1::On1095 - - -020-1,0,0,0|script|Mob020-1|32767 -{ - end; - -On1095: - set @mobID, 1095; - callfunc "MobPoints"; - end; -} +020-1,0,0,0,0|monster|WhiteBell|1095,3,100000ms,30000ms diff --git a/world/map/npc/020-1/_nodes.txt b/world/map/npc/020-1/_nodes.txt new file mode 100644 index 00000000..07b204f3 --- /dev/null +++ b/world/map/npc/020-1/_nodes.txt @@ -0,0 +1,4 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Nivalis nodes + +// (no nodes) diff --git a/world/map/npc/020-2/_import.txt b/world/map/npc/020-2/_import.txt index 5ed442f3..e8d75c4c 100644 --- a/world/map/npc/020-2/_import.txt +++ b/world/map/npc/020-2/_import.txt @@ -2,6 +2,7 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. map: 020-2 npc: npc/020-2/_mobs.txt +npc: npc/020-2/_nodes.txt npc: npc/020-2/_warps.txt npc: npc/020-2/baktar.txt npc: npc/020-2/banker.txt diff --git a/world/map/npc/020-2/_mobs.txt b/world/map/npc/020-2/_mobs.txt index 62e1f438..70eb4f73 100644 --- a/world/map/npc/020-2/_mobs.txt +++ b/world/map/npc/020-2/_mobs.txt @@ -1,9 +1,3 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. // Nivalis Indoor mobs - - -020-2,0,0,0|script|Mob020-2|32767 -{ - end; -} diff --git a/world/map/npc/020-2/_nodes.txt b/world/map/npc/020-2/_nodes.txt new file mode 100644 index 00000000..29018595 --- /dev/null +++ b/world/map/npc/020-2/_nodes.txt @@ -0,0 +1,4 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Nivalis Indoor nodes + +// (no nodes) diff --git a/world/map/npc/020-3/_import.txt b/world/map/npc/020-3/_import.txt index 8560e23d..b1624874 100644 --- a/world/map/npc/020-3/_import.txt +++ b/world/map/npc/020-3/_import.txt @@ -2,5 +2,6 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. map: 020-3 npc: npc/020-3/_mobs.txt +npc: npc/020-3/_nodes.txt npc: npc/020-3/_warps.txt npc: npc/020-3/mapflags.txt diff --git a/world/map/npc/020-3/_mobs.txt b/world/map/npc/020-3/_mobs.txt index edb95973..2e7ed4a0 100644 --- a/world/map/npc/020-3/_mobs.txt +++ b/world/map/npc/020-3/_mobs.txt @@ -1,23 +1,7 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. // Ice cave mobs -020-3,40,36,29,4|monster|Bat|1017,1,100000ms,30000ms,Mob020-3::On1017 -020-3,40,49,34,7|monster|Pinkie|1018,1,100000ms,30000ms,Mob020-3::On1018 -020-3,0,0,0,0|monster|Bat|1017,20,0ms,0ms,Mob020-3::On1017 -020-3,0,0,0,0|monster|Pinkie|1018,10,0ms,0ms,Mob020-3::On1018 - - -020-3,0,0,0|script|Mob020-3|32767 -{ - end; - -On1017: - set @mobID, 1017; - callfunc "MobPoints"; - end; - -On1018: - set @mobID, 1018; - callfunc "MobPoints"; - end; -} +020-3,40,36,29,4|monster|Bat|1017,1,100000ms,30000ms +020-3,40,49,34,7|monster|Pinkie|1018,1,100000ms,30000ms +020-3,0,0,0,0|monster|Bat|1017,20,0ms,0ms +020-3,0,0,0,0|monster|Pinkie|1018,10,0ms,0ms diff --git a/world/map/npc/020-3/_nodes.txt b/world/map/npc/020-3/_nodes.txt new file mode 100644 index 00000000..361b2f86 --- /dev/null +++ b/world/map/npc/020-3/_nodes.txt @@ -0,0 +1,4 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Ice cave nodes + +// (no nodes) diff --git a/world/map/npc/021-3/_import.txt b/world/map/npc/021-3/_import.txt index c83d6433..33b9119e 100644 --- a/world/map/npc/021-3/_import.txt +++ b/world/map/npc/021-3/_import.txt @@ -2,5 +2,6 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. map: 021-3 npc: npc/021-3/_mobs.txt +npc: npc/021-3/_nodes.txt npc: npc/021-3/_warps.txt npc: npc/021-3/mapflags.txt diff --git a/world/map/npc/021-3/_mobs.txt b/world/map/npc/021-3/_mobs.txt index 8d6c2591..75449889 100644 --- a/world/map/npc/021-3/_mobs.txt +++ b/world/map/npc/021-3/_mobs.txt @@ -1,44 +1,13 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. // Central Tulimshar Sewers mobs -021-3,120,38,11,8|monster|CaveMaggot|1056,5,100000ms,30000ms,Mob021-3::On1056 -021-3,103,58,8,3|monster|CaveMaggot|1056,5,100000ms,30000ms,Mob021-3::On1056 -021-3,80,98,34,31|monster|CaveMaggot|1056,5,100000ms,30000ms,Mob021-3::On1056 -021-3,129,82,8,3|monster|CaveMaggot|1056,5,100000ms,30000ms,Mob021-3::On1056 -021-3,140,38,16,8|monster|AngryFireGoblin|1108,3,100000ms,30000ms,Mob021-3::On1108 -021-3,79,98,33,31|monster|BlackScorpion|1009,4,100000ms,1800000ms,Mob021-3::On1009 -021-3,52,53,2,17|monster|GreenSlime|1005,4,40000ms,50000ms,Mob021-3::On1005 -021-3,93,31,28,22|monster|SeaSlime|1033,6,100000ms,30000ms,Mob021-3::On1033 -021-3,121,128,8,3|monster|CaveMaggot|1056,5,100000ms,30000ms,Mob021-3::On1056 -021-3,47,139,8,3|monster|CaveMaggot|1056,5,100000ms,30000ms,Mob021-3::On1056 - - -021-3,0,0,0|script|Mob021-3|32767 -{ - end; - -On1005: - set @mobID, 1005; - callfunc "MobPoints"; - end; - -On1009: - set @mobID, 1009; - callfunc "MobPoints"; - end; - -On1033: - set @mobID, 1033; - callfunc "MobPoints"; - end; - -On1056: - set @mobID, 1056; - callfunc "MobPoints"; - end; - -On1108: - set @mobID, 1108; - callfunc "MobPoints"; - end; -} +021-3,120,38,11,8|monster|CaveMaggot|1056,5,100000ms,30000ms +021-3,103,58,8,3|monster|CaveMaggot|1056,5,100000ms,30000ms +021-3,80,98,34,31|monster|CaveMaggot|1056,5,100000ms,30000ms +021-3,129,82,8,3|monster|CaveMaggot|1056,5,100000ms,30000ms +021-3,140,38,16,8|monster|AngryFireGoblin|1108,3,100000ms,30000ms +021-3,79,98,33,31|monster|BlackScorpion|1009,4,100000ms,1800000ms +021-3,52,53,2,17|monster|GreenSlime|1005,4,40000ms,50000ms +021-3,93,31,28,22|monster|SeaSlime|1033,6,100000ms,30000ms +021-3,121,128,8,3|monster|CaveMaggot|1056,5,100000ms,30000ms +021-3,47,139,8,3|monster|CaveMaggot|1056,5,100000ms,30000ms diff --git a/world/map/npc/021-3/_nodes.txt b/world/map/npc/021-3/_nodes.txt new file mode 100644 index 00000000..f55e37ec --- /dev/null +++ b/world/map/npc/021-3/_nodes.txt @@ -0,0 +1,4 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Central Tulimshar Sewers nodes + +// (no nodes) diff --git a/world/map/npc/025-1/_import.txt b/world/map/npc/025-1/_import.txt index a5530f31..9c4af1aa 100644 --- a/world/map/npc/025-1/_import.txt +++ b/world/map/npc/025-1/_import.txt @@ -2,6 +2,7 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. map: 025-1 npc: npc/025-1/_mobs.txt +npc: npc/025-1/_nodes.txt npc: npc/025-1/_warps.txt npc: npc/025-1/barrier.txt npc: npc/025-1/mapflags.txt diff --git a/world/map/npc/025-1/_mobs.txt b/world/map/npc/025-1/_mobs.txt index 2a2d27ac..259f0568 100644 --- a/world/map/npc/025-1/_mobs.txt +++ b/world/map/npc/025-1/_mobs.txt @@ -1,64 +1,13 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. // Woodland Swamp mobs -025-1,100,60,56,79|monster|CloverPatch|1037,3,30000ms,10000ms,Mob025-1::On1037 -025-1,56,96,13,5|monster|CloverPatch|1037,1,1200000ms,10000ms,Mob025-1::On1037 -025-1,56,35,77,33|monster|AlizarinPlant|1032,2,240000ms,12000ms,Mob025-1::On1032 -025-1,55,62,24,13|monster|Snail|1041,7,30000ms,12000ms,Mob025-1::On1041 -025-1,38,84,37,31|monster|Silkworm|1035,18,40000ms,300ms,Mob025-1::On1035 -025-1,96,47,63,55|monster|LogHead|1025,14,18000ms,3000ms,Mob025-1::On1025 -025-1,0,0,0,0|monster|PinkFlower|1014,34,20000ms,5000ms,Mob025-1::On1014 -025-1,0,0,0,0|monster|SpikyMushroom|1019,40,90000ms,500ms,Mob025-1::On1019 -025-1,101,53,55,65|monster|Squirrel|1038,18,60000ms,9000ms,Mob025-1::On1038 -025-1,26,61,15,85|monster|Scorpion|1003,12,100000ms,50000ms,Mob025-1::On1003 - - -025-1,0,0,0|script|Mob025-1|32767 -{ - end; - -On1003: - set @mobID, 1003; - callfunc "MobPoints"; - end; - -On1014: - set @mobID, 1014; - callfunc "MobPoints"; - end; - -On1019: - set @mobID, 1019; - callfunc "MobPoints"; - end; - -On1025: - set @mobID, 1025; - callfunc "MobPoints"; - end; - -On1032: - set @mobID, 1032; - callfunc "MobPoints"; - end; - -On1035: - set @mobID, 1035; - callfunc "MobPoints"; - end; - -On1037: - set @mobID, 1037; - callfunc "MobPoints"; - end; - -On1038: - set @mobID, 1038; - callfunc "MobPoints"; - end; - -On1041: - set @mobID, 1041; - callfunc "MobPoints"; - end; -} +025-1,100,60,56,79|monster|CloverPatch|1037,3,30000ms,10000ms +025-1,56,96,13,5|monster|CloverPatch|1037,1,1200000ms,10000ms +025-1,56,35,77,33|monster|AlizarinPlant|1032,2,240000ms,12000ms +025-1,55,62,24,13|monster|Snail|1041,7,30000ms,12000ms +025-1,38,84,37,31|monster|Silkworm|1035,18,40000ms,300ms +025-1,96,47,63,55|monster|LogHead|1025,14,18000ms,3000ms +025-1,0,0,0,0|monster|PinkFlower|1014,34,20000ms,5000ms +025-1,0,0,0,0|monster|SpikyMushroom|1019,40,90000ms,500ms +025-1,101,53,55,65|monster|Squirrel|1038,18,60000ms,9000ms +025-1,26,61,15,85|monster|Scorpion|1003,12,100000ms,50000ms diff --git a/world/map/npc/025-1/_nodes.txt b/world/map/npc/025-1/_nodes.txt new file mode 100644 index 00000000..805bf118 --- /dev/null +++ b/world/map/npc/025-1/_nodes.txt @@ -0,0 +1,4 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Woodland Swamp nodes + +// (no nodes) diff --git a/world/map/npc/025-3/_import.txt b/world/map/npc/025-3/_import.txt index 63ace6ac..83e14f2c 100644 --- a/world/map/npc/025-3/_import.txt +++ b/world/map/npc/025-3/_import.txt @@ -2,6 +2,7 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. map: 025-3 npc: npc/025-3/_mobs.txt +npc: npc/025-3/_nodes.txt npc: npc/025-3/_warps.txt npc: npc/025-3/barriers.txt npc: npc/025-3/mapflags.txt diff --git a/world/map/npc/025-3/_mobs.txt b/world/map/npc/025-3/_mobs.txt index 5ccfdfc0..70e432d9 100644 --- a/world/map/npc/025-3/_mobs.txt +++ b/world/map/npc/025-3/_mobs.txt @@ -1,33 +1,7 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. // Rossy Main Hall mobs -025-3,0,0,0,0|monster|CaveMaggot|1056,100,0ms,100ms,Mob025-3::On1056 -025-3,0,0,0,0|monster|Archant|1060,20,0ms,100ms,Mob025-3::On1060 -025-3,0,0,0,0|monster|AngryScorpion|1057,25,0ms,100ms,Mob025-3::On1057 -025-3,69,153,13,1|monster|Skeleton|1043,1,0ms,30000ms,Mob025-3::On1043 - - -025-3,0,0,0|script|Mob025-3|32767 -{ - end; - -On1043: - set @mobID, 1043; - callfunc "MobPoints"; - end; - -On1056: - set @mobID, 1056; - callfunc "MobPoints"; - end; - -On1057: - set @mobID, 1057; - callfunc "MobPoints"; - end; - -On1060: - set @mobID, 1060; - callfunc "MobPoints"; - end; -} +025-3,0,0,0,0|monster|CaveMaggot|1056,100,0ms,100ms +025-3,0,0,0,0|monster|Archant|1060,20,0ms,100ms +025-3,0,0,0,0|monster|AngryScorpion|1057,25,0ms,100ms +025-3,69,153,13,1|monster|Skeleton|1043,1,0ms,30000ms diff --git a/world/map/npc/025-3/_nodes.txt b/world/map/npc/025-3/_nodes.txt new file mode 100644 index 00000000..28957b28 --- /dev/null +++ b/world/map/npc/025-3/_nodes.txt @@ -0,0 +1,4 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Rossy Main Hall nodes + +// (no nodes) diff --git a/world/map/npc/025-4/_import.txt b/world/map/npc/025-4/_import.txt index cb9fb0e9..9f7c59cf 100644 --- a/world/map/npc/025-4/_import.txt +++ b/world/map/npc/025-4/_import.txt @@ -2,6 +2,7 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. map: 025-4 npc: npc/025-4/_mobs.txt +npc: npc/025-4/_nodes.txt npc: npc/025-4/_warps.txt npc: npc/025-4/battlecaves.txt npc: npc/025-4/clauquer.txt diff --git a/world/map/npc/025-4/_mobs.txt b/world/map/npc/025-4/_mobs.txt index 3ad731de..d8664774 100644 --- a/world/map/npc/025-4/_mobs.txt +++ b/world/map/npc/025-4/_mobs.txt @@ -1,16 +1,5 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. // Rossy Battle Caves mobs -025-4,29,31,20,14|monster|CaveMaggot|1056,3,0ms,100ms,Mob025-4::On1056 -025-4,94,24,20,21|monster|CaveMaggot|1056,5,0ms,100ms,Mob025-4::On1056 - - -025-4,0,0,0|script|Mob025-4|32767 -{ - end; - -On1056: - set @mobID, 1056; - callfunc "MobPoints"; - end; -} +025-4,29,31,20,14|monster|CaveMaggot|1056,3,0ms,100ms +025-4,94,24,20,21|monster|CaveMaggot|1056,5,0ms,100ms diff --git a/world/map/npc/025-4/_nodes.txt b/world/map/npc/025-4/_nodes.txt new file mode 100644 index 00000000..bd29621b --- /dev/null +++ b/world/map/npc/025-4/_nodes.txt @@ -0,0 +1,4 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Rossy Battle Caves nodes + +// (no nodes) diff --git a/world/map/npc/026-1/_import.txt b/world/map/npc/026-1/_import.txt index ddd3a0cd..72d1a275 100644 --- a/world/map/npc/026-1/_import.txt +++ b/world/map/npc/026-1/_import.txt @@ -2,6 +2,7 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. map: 026-1 npc: npc/026-1/_mobs.txt +npc: npc/026-1/_nodes.txt npc: npc/026-1/_warps.txt npc: npc/026-1/mapflags.txt npc: npc/026-1/sign.txt diff --git a/world/map/npc/026-1/_mobs.txt b/world/map/npc/026-1/_mobs.txt index a99c4bab..9f4d8325 100644 --- a/world/map/npc/026-1/_mobs.txt +++ b/world/map/npc/026-1/_mobs.txt @@ -1,55 +1,14 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. // Swamp mobs -026-1,0,0,0,0|monster|Wisp|1040,34,120000ms,40000ms,Mob026-1::On1040 -026-1,0,0,0,0|monster|Spectre|1042,34,120000ms,40000ms,Mob026-1::On1042 -026-1,0,0,0,0|monster|Poltergeist|1047,34,120000ms,40000ms,Mob026-1::On1047 -026-1,0,0,0,0|monster|Silkworm|1035,10,300000ms,60000ms,Mob026-1::On1035 -026-1,0,0,0,0|monster|Scorpion|1003,15,300000ms,30000ms,Mob026-1::On1003 -026-1,0,0,0,0|monster|LogHead|1025,8,300000ms,40000ms,Mob026-1::On1025 -026-1,46,74,35,26|monster|GrassSnake|1034,2,100000ms,50000ms,Mob026-1::On1034 -026-1,88,36,35,26|monster|GrassSnake|1034,2,100000ms,50000ms,Mob026-1::On1034 -026-1,35,36,18,16|monster|GrassSnake|1034,2,100000ms,50000ms,Mob026-1::On1034 -026-1,66,33,73,17|monster|GrassSnake|1034,4,100000ms,50000ms,Mob026-1::On1034 -026-1,60,76,61,31|monster|GrassSnake|1034,4,100000ms,50000ms,Mob026-1::On1034 - - -026-1,0,0,0|script|Mob026-1|32767 -{ - end; - -On1003: - set @mobID, 1003; - callfunc "MobPoints"; - end; - -On1025: - set @mobID, 1025; - callfunc "MobPoints"; - end; - -On1034: - set @mobID, 1034; - callfunc "MobPoints"; - end; - -On1035: - set @mobID, 1035; - callfunc "MobPoints"; - end; - -On1040: - set @mobID, 1040; - callfunc "MobPoints"; - end; - -On1042: - set @mobID, 1042; - callfunc "MobPoints"; - end; - -On1047: - set @mobID, 1047; - callfunc "MobPoints"; - end; -} +026-1,0,0,0,0|monster|Wisp|1040,34,120000ms,40000ms +026-1,0,0,0,0|monster|Spectre|1042,34,120000ms,40000ms +026-1,0,0,0,0|monster|Poltergeist|1047,34,120000ms,40000ms +026-1,0,0,0,0|monster|Silkworm|1035,10,300000ms,60000ms +026-1,0,0,0,0|monster|Scorpion|1003,15,300000ms,30000ms +026-1,0,0,0,0|monster|LogHead|1025,8,300000ms,40000ms +026-1,46,74,35,26|monster|GrassSnake|1034,2,100000ms,50000ms +026-1,88,36,35,26|monster|GrassSnake|1034,2,100000ms,50000ms +026-1,35,36,18,16|monster|GrassSnake|1034,2,100000ms,50000ms +026-1,66,33,73,17|monster|GrassSnake|1034,4,100000ms,50000ms +026-1,60,76,61,31|monster|GrassSnake|1034,4,100000ms,50000ms diff --git a/world/map/npc/026-1/_nodes.txt b/world/map/npc/026-1/_nodes.txt new file mode 100644 index 00000000..47e3199f --- /dev/null +++ b/world/map/npc/026-1/_nodes.txt @@ -0,0 +1,4 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Swamp nodes + +// (no nodes) diff --git a/world/map/npc/027-1/_import.txt b/world/map/npc/027-1/_import.txt index 103ca8fd..66d24392 100644 --- a/world/map/npc/027-1/_import.txt +++ b/world/map/npc/027-1/_import.txt @@ -2,6 +2,7 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. map: 027-1 npc: npc/027-1/_mobs.txt +npc: npc/027-1/_nodes.txt npc: npc/027-1/_warps.txt npc: npc/027-1/crypt.txt npc: npc/027-1/golbenez.txt diff --git a/world/map/npc/027-1/_mobs.txt b/world/map/npc/027-1/_mobs.txt index de1a4b6f..51ce6174 100644 --- a/world/map/npc/027-1/_mobs.txt +++ b/world/map/npc/027-1/_mobs.txt @@ -1,61 +1,20 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. // Graveyard mobs -027-1,81,91,95,27|monster|Poltergeist|1047,4,900000ms,60000ms,Mob027-1::On1047 -027-1,81,91,97,25|monster|Spectre|1042,4,900000ms,60000ms,Mob027-1::On1042 -027-1,81,91,99,23|monster|Wisp|1040,4,900000ms,60000ms,Mob027-1::On1040 -027-1,37,64,32,20|monster|Skeleton|1043,2,60000ms,8000ms,Mob027-1::On1043 -027-1,37,64,32,20|monster|LadySkeleton|1044,2,60000ms,8000ms,Mob027-1::On1044 -027-1,71,41,31,22|monster|Skeleton|1043,1,175000ms,20000ms,Mob027-1::On1043 -027-1,71,41,31,22|monster|LadySkeleton|1044,1,175000ms,20000ms,Mob027-1::On1044 -027-1,37,41,33,22|monster|Skeleton|1043,4,180000ms,20000ms,Mob027-1::On1043 -027-1,37,41,33,22|monster|LadySkeleton|1044,4,180000ms,20000ms,Mob027-1::On1044 -027-1,105,40,32,21|monster|Skeleton|1043,2,35000ms,20000ms,Mob027-1::On1043 -027-1,105,40,32,21|monster|LadySkeleton|1044,3,33000ms,25000ms,Mob027-1::On1044 -027-1,70,64,31,20|monster|Skeleton|1043,1,60000ms,8000ms,Mob027-1::On1043 -027-1,70,64,31,21|monster|LadySkeleton|1044,1,60000ms,8000ms,Mob027-1::On1044 -027-1,104,64,31,20|monster|Skeleton|1043,2,60000ms,8000ms,Mob027-1::On1043 -027-1,104,64,31,21|monster|LadySkeleton|1044,2,60000ms,8000ms,Mob027-1::On1044 -027-1,70,40,100,20|monster|VampireBat|1066,15,100000ms,30000ms,Mob027-1::On1066 -027-1,99,90,34,16|monster|GrassSnake|1034,3,100000ms,50000ms,Mob027-1::On1034 - - -027-1,0,0,0|script|Mob027-1|32767 -{ - end; - -On1034: - set @mobID, 1034; - callfunc "MobPoints"; - end; - -On1040: - set @mobID, 1040; - callfunc "MobPoints"; - end; - -On1042: - set @mobID, 1042; - callfunc "MobPoints"; - end; - -On1043: - set @mobID, 1043; - callfunc "MobPoints"; - end; - -On1044: - set @mobID, 1044; - callfunc "MobPoints"; - end; - -On1047: - set @mobID, 1047; - callfunc "MobPoints"; - end; - -On1066: - set @mobID, 1066; - callfunc "MobPoints"; - end; -} +027-1,81,91,95,27|monster|Poltergeist|1047,4,900000ms,60000ms +027-1,81,91,97,25|monster|Spectre|1042,4,900000ms,60000ms +027-1,81,91,99,23|monster|Wisp|1040,4,900000ms,60000ms +027-1,37,64,32,20|monster|Skeleton|1043,2,60000ms,8000ms +027-1,37,64,32,20|monster|LadySkeleton|1044,2,60000ms,8000ms +027-1,71,41,31,22|monster|Skeleton|1043,1,175000ms,20000ms +027-1,71,41,31,22|monster|LadySkeleton|1044,1,175000ms,20000ms +027-1,37,41,33,22|monster|Skeleton|1043,4,180000ms,20000ms +027-1,37,41,33,22|monster|LadySkeleton|1044,4,180000ms,20000ms +027-1,105,40,32,21|monster|Skeleton|1043,2,35000ms,20000ms +027-1,105,40,32,21|monster|LadySkeleton|1044,3,33000ms,25000ms +027-1,70,64,31,20|monster|Skeleton|1043,1,60000ms,8000ms +027-1,70,64,31,21|monster|LadySkeleton|1044,1,60000ms,8000ms +027-1,104,64,31,20|monster|Skeleton|1043,2,60000ms,8000ms +027-1,104,64,31,21|monster|LadySkeleton|1044,2,60000ms,8000ms +027-1,70,40,100,20|monster|VampireBat|1066,15,100000ms,30000ms +027-1,99,90,34,16|monster|GrassSnake|1034,3,100000ms,50000ms diff --git a/world/map/npc/027-1/_nodes.txt b/world/map/npc/027-1/_nodes.txt new file mode 100644 index 00000000..46a78ab8 --- /dev/null +++ b/world/map/npc/027-1/_nodes.txt @@ -0,0 +1,4 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Graveyard nodes + +// (no nodes) diff --git a/world/map/npc/027-2/_import.txt b/world/map/npc/027-2/_import.txt index f9e207b3..4cacd2c1 100644 --- a/world/map/npc/027-2/_import.txt +++ b/world/map/npc/027-2/_import.txt @@ -2,6 +2,7 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. map: 027-2 npc: npc/027-2/_mobs.txt +npc: npc/027-2/_nodes.txt npc: npc/027-2/_warps.txt npc: npc/027-2/alacrius.txt npc: npc/027-2/barman.txt diff --git a/world/map/npc/027-2/_mobs.txt b/world/map/npc/027-2/_mobs.txt index ab76e3b0..1c5a6d51 100644 --- a/world/map/npc/027-2/_mobs.txt +++ b/world/map/npc/027-2/_mobs.txt @@ -1,39 +1,13 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. // Graveyard Indoor mobs -027-2,81,41,11,9|monster|DrunkenSkeleton|1077,1,100000ms,30000ms,Mob027-2::On1077 -027-2,102,99,9,19|monster|TipsySkeleton|1078,1,100000ms,30000ms,Mob027-2::On1078 -027-2,110,26,11,11|monster|TipsySkeleton|1078,1,100000ms,30000ms,Mob027-2::On1078 -027-2,104,28,11,9|monster|DrunkenSkeleton|1077,1,100000ms,30000ms,Mob027-2::On1077 -027-2,89,34,11,9|monster|DrunkenLadySkeleton|1079,1,100000ms,30000ms,Mob027-2::On1079 -027-2,116,26,11,9|monster|DrunkenLadySkeleton|1079,1,100000ms,30000ms,Mob027-2::On1079 -027-2,112,88,28,39|monster|VampireBat|1066,15,100000ms,30000ms,Mob027-2::On1066 -027-2,102,99,9,19|monster|DrunkenSkeleton|1077,1,100000ms,30000ms,Mob027-2::On1077 -027-2,102,99,9,19|monster|TipsySkeleton|1078,1,100000ms,30000ms,Mob027-2::On1078 -027-2,89,34,11,9|monster|TipsySkeleton|1078,1,100000ms,30000ms,Mob027-2::On1078 - - -027-2,0,0,0|script|Mob027-2|32767 -{ - end; - -On1066: - set @mobID, 1066; - callfunc "MobPoints"; - end; - -On1077: - set @mobID, 1077; - callfunc "MobPoints"; - end; - -On1078: - set @mobID, 1078; - callfunc "MobPoints"; - end; - -On1079: - set @mobID, 1079; - callfunc "MobPoints"; - end; -} +027-2,81,41,11,9|monster|DrunkenSkeleton|1077,1,100000ms,30000ms +027-2,102,99,9,19|monster|TipsySkeleton|1078,1,100000ms,30000ms +027-2,110,26,11,11|monster|TipsySkeleton|1078,1,100000ms,30000ms +027-2,104,28,11,9|monster|DrunkenSkeleton|1077,1,100000ms,30000ms +027-2,89,34,11,9|monster|DrunkenLadySkeleton|1079,1,100000ms,30000ms +027-2,116,26,11,9|monster|DrunkenLadySkeleton|1079,1,100000ms,30000ms +027-2,112,88,28,39|monster|VampireBat|1066,15,100000ms,30000ms +027-2,102,99,9,19|monster|DrunkenSkeleton|1077,1,100000ms,30000ms +027-2,102,99,9,19|monster|TipsySkeleton|1078,1,100000ms,30000ms +027-2,89,34,11,9|monster|TipsySkeleton|1078,1,100000ms,30000ms diff --git a/world/map/npc/027-2/_nodes.txt b/world/map/npc/027-2/_nodes.txt new file mode 100644 index 00000000..78bbb5b6 --- /dev/null +++ b/world/map/npc/027-2/_nodes.txt @@ -0,0 +1,16 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Graveyard Indoor nodes + +027-2,0,0,0|script|Node027-2|32767 +{ + end; +OnInit: + setarray .m$, "_N-Alchemy", "027-2"; + setarray .x1, "_N-Alchemy", 51; + setarray .y1, "_N-Alchemy", 100; + setarray .x2, "_N-Alchemy", 0; + setarray .y2, "_N-Alchemy", 0; + setarray .id, "_N-Alchemy", 0; + donpcevent "_N-Alchemy::OnMaybeStart"; + destroy; +} diff --git a/world/map/npc/027-3/_import.txt b/world/map/npc/027-3/_import.txt index af72eb2f..78754482 100644 --- a/world/map/npc/027-3/_import.txt +++ b/world/map/npc/027-3/_import.txt @@ -2,6 +2,7 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. map: 027-3 npc: npc/027-3/_mobs.txt +npc: npc/027-3/_nodes.txt npc: npc/027-3/_warps.txt npc: npc/027-3/casket_traps.txt npc: npc/027-3/general_krukan_door.txt diff --git a/world/map/npc/027-3/_mobs.txt b/world/map/npc/027-3/_mobs.txt index 4c7c8ff6..a1926191 100644 --- a/world/map/npc/027-3/_mobs.txt +++ b/world/map/npc/027-3/_mobs.txt @@ -1,42 +1,11 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. // Crypt Basement mobs -027-3,34,63,29,69|monster|Skeleton|1043,6,60000ms,8000ms,Mob027-3::On1043 -027-3,97,43,59,30|monster|Skeleton|1043,6,60000ms,8000ms,Mob027-3::On1043 -027-3,34,63,29,69|monster|LadySkeleton|1044,4,60000ms,8000ms,Mob027-3::On1044 -027-3,113,78,28,26|monster|LadySkeleton|1044,4,60000ms,8000ms,Mob027-3::On1044 -027-3,113,78,27,27|monster|Skeleton|1043,4,60000ms,8000ms,Mob027-3::On1043 -027-3,81,87,29,22|monster|VampireBat|1066,15,100000ms,30000ms,Mob027-3::On1066 -027-3,74,45,106,33|monster|PoisonSkull|1024,1,60000ms,20000ms,Mob027-3::On1024 -027-3,98,84,60,14|monster|FireSkull|1023,2,60000ms,20000ms,Mob027-3::On1023 - - -027-3,0,0,0|script|Mob027-3|32767 -{ - end; - -On1023: - set @mobID, 1023; - callfunc "MobPoints"; - end; - -On1024: - set @mobID, 1024; - callfunc "MobPoints"; - end; - -On1043: - set @mobID, 1043; - callfunc "MobPoints"; - end; - -On1044: - set @mobID, 1044; - callfunc "MobPoints"; - end; - -On1066: - set @mobID, 1066; - callfunc "MobPoints"; - end; -} +027-3,34,63,29,69|monster|Skeleton|1043,6,60000ms,8000ms +027-3,97,43,59,30|monster|Skeleton|1043,6,60000ms,8000ms +027-3,34,63,29,69|monster|LadySkeleton|1044,4,60000ms,8000ms +027-3,113,78,28,26|monster|LadySkeleton|1044,4,60000ms,8000ms +027-3,113,78,27,27|monster|Skeleton|1043,4,60000ms,8000ms +027-3,81,87,29,22|monster|VampireBat|1066,15,100000ms,30000ms +027-3,74,45,106,33|monster|PoisonSkull|1024,1,60000ms,20000ms +027-3,98,84,60,14|monster|FireSkull|1023,2,60000ms,20000ms diff --git a/world/map/npc/027-3/_nodes.txt b/world/map/npc/027-3/_nodes.txt new file mode 100644 index 00000000..ab655dd1 --- /dev/null +++ b/world/map/npc/027-3/_nodes.txt @@ -0,0 +1,4 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Crypt Basement nodes + +// (no nodes) diff --git a/world/map/npc/027-4/_import.txt b/world/map/npc/027-4/_import.txt index 033877af..7bcfbc68 100644 --- a/world/map/npc/027-4/_import.txt +++ b/world/map/npc/027-4/_import.txt @@ -2,6 +2,7 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. map: 027-4 npc: npc/027-4/_mobs.txt +npc: npc/027-4/_nodes.txt npc: npc/027-4/_warps.txt npc: npc/027-4/casket_traps.txt npc: npc/027-4/general_razha_door.txt diff --git a/world/map/npc/027-4/_mobs.txt b/world/map/npc/027-4/_mobs.txt index cb65135e..dde5781e 100644 --- a/world/map/npc/027-4/_mobs.txt +++ b/world/map/npc/027-4/_mobs.txt @@ -1,24 +1,8 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. // Crypt Sub-Basement One mobs -027-4,39,84,38,22|monster|Skeleton|1043,2,60000ms,8000ms,Mob027-4::On1043 -027-4,27,57,15,22|monster|LadySkeleton|1044,2,60000ms,8000ms,Mob027-4::On1044 -027-4,108,77,39,14|monster|Skeleton|1043,2,60000ms,8000ms,Mob027-4::On1043 -027-4,61,37,38,30|monster|LadySkeleton|1044,2,60000ms,8000ms,Mob027-4::On1044 -027-4,101,36,38,30|monster|LadySkeleton|1044,2,60000ms,8000ms,Mob027-4::On1044 - - -027-4,0,0,0|script|Mob027-4|32767 -{ - end; - -On1043: - set @mobID, 1043; - callfunc "MobPoints"; - end; - -On1044: - set @mobID, 1044; - callfunc "MobPoints"; - end; -} +027-4,39,84,38,22|monster|Skeleton|1043,2,60000ms,8000ms +027-4,27,57,15,22|monster|LadySkeleton|1044,2,60000ms,8000ms +027-4,108,77,39,14|monster|Skeleton|1043,2,60000ms,8000ms +027-4,61,37,38,30|monster|LadySkeleton|1044,2,60000ms,8000ms +027-4,101,36,38,30|monster|LadySkeleton|1044,2,60000ms,8000ms diff --git a/world/map/npc/027-4/_nodes.txt b/world/map/npc/027-4/_nodes.txt new file mode 100644 index 00000000..ee3b5dcf --- /dev/null +++ b/world/map/npc/027-4/_nodes.txt @@ -0,0 +1,4 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Crypt Sub-Basement One nodes + +// (no nodes) diff --git a/world/map/npc/027-5/_import.txt b/world/map/npc/027-5/_import.txt index 183dbf49..a0d686c6 100644 --- a/world/map/npc/027-5/_import.txt +++ b/world/map/npc/027-5/_import.txt @@ -2,6 +2,7 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. map: 027-5 npc: npc/027-5/_mobs.txt +npc: npc/027-5/_nodes.txt npc: npc/027-5/_warps.txt npc: npc/027-5/casket_traps.txt npc: npc/027-5/general_terogan_door.txt diff --git a/world/map/npc/027-5/_mobs.txt b/world/map/npc/027-5/_mobs.txt index e6958ba9..750163ad 100644 --- a/world/map/npc/027-5/_mobs.txt +++ b/world/map/npc/027-5/_mobs.txt @@ -1,41 +1,10 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. // Crypt Sub-Basement Two mobs -027-5,69,42,97,41|monster|Wight|1124,6,60000ms,8000ms,Mob027-5::On1124 -027-5,69,56,97,69|monster|VampireBat|1066,30,100000ms,30000ms,Mob027-5::On1066 -027-5,69,42,98,40|monster|Skeleton|1043,8,60000ms,8000ms,Mob027-5::On1043 -027-5,69,41,98,39|monster|LadySkeleton|1044,8,60000ms,8000ms,Mob027-5::On1044 -027-5,68,42,97,40|monster|RedBone|1074,6,60000ms,8000ms,Mob027-5::On1074 -027-5,70,80,98,34|monster|Skeleton|1043,8,60000ms,8000ms,Mob027-5::On1043 -027-5,69,80,99,36|monster|LadySkeleton|1044,8,60000ms,8000ms,Mob027-5::On1044 - - -027-5,0,0,0|script|Mob027-5|32767 -{ - end; - -On1043: - set @mobID, 1043; - callfunc "MobPoints"; - end; - -On1044: - set @mobID, 1044; - callfunc "MobPoints"; - end; - -On1066: - set @mobID, 1066; - callfunc "MobPoints"; - end; - -On1074: - set @mobID, 1074; - callfunc "MobPoints"; - end; - -On1124: - set @mobID, 1124; - callfunc "MobPoints"; - end; -} +027-5,69,42,97,41|monster|Wight|1124,6,60000ms,8000ms +027-5,69,56,97,69|monster|VampireBat|1066,30,100000ms,30000ms +027-5,69,42,98,40|monster|Skeleton|1043,8,60000ms,8000ms +027-5,69,41,98,39|monster|LadySkeleton|1044,8,60000ms,8000ms +027-5,68,42,97,40|monster|RedBone|1074,6,60000ms,8000ms +027-5,70,80,98,34|monster|Skeleton|1043,8,60000ms,8000ms +027-5,69,80,99,36|monster|LadySkeleton|1044,8,60000ms,8000ms diff --git a/world/map/npc/027-5/_nodes.txt b/world/map/npc/027-5/_nodes.txt new file mode 100644 index 00000000..4e14e522 --- /dev/null +++ b/world/map/npc/027-5/_nodes.txt @@ -0,0 +1,4 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Crypt Sub-Basement Two nodes + +// (no nodes) diff --git a/world/map/npc/027-6/_import.txt b/world/map/npc/027-6/_import.txt index 5c19c47b..48dbcf11 100644 --- a/world/map/npc/027-6/_import.txt +++ b/world/map/npc/027-6/_import.txt @@ -2,6 +2,7 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. map: 027-6 npc: npc/027-6/_mobs.txt +npc: npc/027-6/_nodes.txt npc: npc/027-6/_warps.txt npc: npc/027-6/casket_traps.txt npc: npc/027-6/general_krukan.txt diff --git a/world/map/npc/027-6/_mobs.txt b/world/map/npc/027-6/_mobs.txt index 407a697e..a6d6a471 100644 --- a/world/map/npc/027-6/_mobs.txt +++ b/world/map/npc/027-6/_mobs.txt @@ -1,9 +1,3 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. // Crypt Sub-Basement Two mobs - - -027-6,0,0,0|script|Mob027-6|32767 -{ - end; -} diff --git a/world/map/npc/027-6/_nodes.txt b/world/map/npc/027-6/_nodes.txt new file mode 100644 index 00000000..4e14e522 --- /dev/null +++ b/world/map/npc/027-6/_nodes.txt @@ -0,0 +1,4 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Crypt Sub-Basement Two nodes + +// (no nodes) diff --git a/world/map/npc/027-7/_import.txt b/world/map/npc/027-7/_import.txt index 8990d426..e4baf4aa 100644 --- a/world/map/npc/027-7/_import.txt +++ b/world/map/npc/027-7/_import.txt @@ -2,6 +2,7 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. map: 027-7 npc: npc/027-7/_mobs.txt +npc: npc/027-7/_nodes.txt npc: npc/027-7/_warps.txt npc: npc/027-7/general_razha.txt npc: npc/027-7/general_razha_exitdoor.txt diff --git a/world/map/npc/027-7/_mobs.txt b/world/map/npc/027-7/_mobs.txt index 43867927..a6d6a471 100644 --- a/world/map/npc/027-7/_mobs.txt +++ b/world/map/npc/027-7/_mobs.txt @@ -1,9 +1,3 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. // Crypt Sub-Basement Two mobs - - -027-7,0,0,0|script|Mob027-7|32767 -{ - end; -} diff --git a/world/map/npc/027-7/_nodes.txt b/world/map/npc/027-7/_nodes.txt new file mode 100644 index 00000000..4e14e522 --- /dev/null +++ b/world/map/npc/027-7/_nodes.txt @@ -0,0 +1,4 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Crypt Sub-Basement Two nodes + +// (no nodes) diff --git a/world/map/npc/027-8/_import.txt b/world/map/npc/027-8/_import.txt index b103d346..dc9e06da 100644 --- a/world/map/npc/027-8/_import.txt +++ b/world/map/npc/027-8/_import.txt @@ -2,6 +2,7 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. map: 027-8 npc: npc/027-8/_mobs.txt +npc: npc/027-8/_nodes.txt npc: npc/027-8/_warps.txt npc: npc/027-8/general_terogan.txt npc: npc/027-8/general_terogan_exitdoor.txt diff --git a/world/map/npc/027-8/_mobs.txt b/world/map/npc/027-8/_mobs.txt index d38bf647..a6d6a471 100644 --- a/world/map/npc/027-8/_mobs.txt +++ b/world/map/npc/027-8/_mobs.txt @@ -1,9 +1,3 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. // Crypt Sub-Basement Two mobs - - -027-8,0,0,0|script|Mob027-8|32767 -{ - end; -} diff --git a/world/map/npc/027-8/_nodes.txt b/world/map/npc/027-8/_nodes.txt new file mode 100644 index 00000000..4e14e522 --- /dev/null +++ b/world/map/npc/027-8/_nodes.txt @@ -0,0 +1,4 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Crypt Sub-Basement Two nodes + +// (no nodes) diff --git a/world/map/npc/028-1/_import.txt b/world/map/npc/028-1/_import.txt index 7b323a88..b7221baf 100644 --- a/world/map/npc/028-1/_import.txt +++ b/world/map/npc/028-1/_import.txt @@ -2,6 +2,7 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. map: 028-1 npc: npc/028-1/_mobs.txt +npc: npc/028-1/_nodes.txt npc: npc/028-1/_warps.txt npc: npc/028-1/mapflags.txt npc: npc/028-1/portal.txt diff --git a/world/map/npc/028-1/_mobs.txt b/world/map/npc/028-1/_mobs.txt index b0ae65fe..e5e3e7e5 100644 --- a/world/map/npc/028-1/_mobs.txt +++ b/world/map/npc/028-1/_mobs.txt @@ -1,9 +1,3 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. // GM Island mobs - - -028-1,0,0,0|script|Mob028-1|32767 -{ - end; -} diff --git a/world/map/npc/028-1/_nodes.txt b/world/map/npc/028-1/_nodes.txt new file mode 100644 index 00000000..c4fb65dc --- /dev/null +++ b/world/map/npc/028-1/_nodes.txt @@ -0,0 +1,4 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// GM Island nodes + +// (no nodes) diff --git a/world/map/npc/028-3/_import.txt b/world/map/npc/028-3/_import.txt index 12684d4b..8f0036c0 100644 --- a/world/map/npc/028-3/_import.txt +++ b/world/map/npc/028-3/_import.txt @@ -2,5 +2,6 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. map: 028-3 npc: npc/028-3/_mobs.txt +npc: npc/028-3/_nodes.txt npc: npc/028-3/_warps.txt npc: npc/028-3/mapflags.txt diff --git a/world/map/npc/028-3/_mobs.txt b/world/map/npc/028-3/_mobs.txt index 1290a483..c3c38c44 100644 --- a/world/map/npc/028-3/_mobs.txt +++ b/world/map/npc/028-3/_mobs.txt @@ -1,9 +1,3 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. // GM Island Cave mobs - - -028-3,0,0,0|script|Mob028-3|32767 -{ - end; -} diff --git a/world/map/npc/028-3/_nodes.txt b/world/map/npc/028-3/_nodes.txt new file mode 100644 index 00000000..25112bd6 --- /dev/null +++ b/world/map/npc/028-3/_nodes.txt @@ -0,0 +1,4 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// GM Island Cave nodes + +// (no nodes) diff --git a/world/map/npc/029-1/_import.txt b/world/map/npc/029-1/_import.txt index c2a6d2ed..b9e64749 100644 --- a/world/map/npc/029-1/_import.txt +++ b/world/map/npc/029-1/_import.txt @@ -2,6 +2,7 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. map: 029-1 npc: npc/029-1/_mobs.txt +npc: npc/029-1/_nodes.txt npc: npc/029-1/_warps.txt npc: npc/029-1/aahna.txt npc: npc/029-1/barrier.txt diff --git a/world/map/npc/029-1/_mobs.txt b/world/map/npc/029-1/_mobs.txt index bad7d55a..4fb1734b 100644 --- a/world/map/npc/029-1/_mobs.txt +++ b/world/map/npc/029-1/_mobs.txt @@ -1,40 +1,9 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. // Candor Island mobs -029-1,46,48,4,1|monster|CloverPatch|1037,1,10000ms,120000ms,Mob029-1::On1037 -029-1,73,93,14,13|monster|Maggot|1002,8,100000ms,30000ms,Mob029-1::On1002 -029-1,90,35,15,11|monster|TameScorpion|1046,16,100000ms,30000ms,Mob029-1::On1046 -029-1,93,100,21,18|monster|TameScorpion|1046,8,100000ms,30000ms,Mob029-1::On1046 -029-1,43,43,31,23|monster|Scorpion|1003,2,100000ms,30000ms,Mob029-1::On1003 -029-1,76,42,52,25|monster|ManaBug|1131,3,30ms,0ms,Mob029-1::On1131 - - -029-1,0,0,0|script|Mob029-1|32767 -{ - end; - -On1002: - set @mobID, 1002; - callfunc "MobPoints"; - end; - -On1003: - set @mobID, 1003; - callfunc "MobPoints"; - end; - -On1037: - set @mobID, 1037; - callfunc "MobPoints"; - end; - -On1046: - set @mobID, 1046; - callfunc "MobPoints"; - end; - -On1131: - set @mobID, 1131; - callfunc "MobPoints"; - end; -} +029-1,46,48,4,1|monster|CloverPatch|1037,1,10000ms,120000ms +029-1,73,93,14,13|monster|Maggot|1002,8,100000ms,30000ms +029-1,90,35,15,11|monster|TameScorpion|1046,16,100000ms,30000ms +029-1,93,100,21,18|monster|TameScorpion|1046,8,100000ms,30000ms +029-1,43,43,31,23|monster|Scorpion|1003,2,100000ms,30000ms +029-1,76,42,52,25|monster|ManaBug|1131,3,30ms,0ms diff --git a/world/map/npc/029-1/_nodes.txt b/world/map/npc/029-1/_nodes.txt new file mode 100644 index 00000000..cde06d82 --- /dev/null +++ b/world/map/npc/029-1/_nodes.txt @@ -0,0 +1,4 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Candor Island nodes + +// (no nodes) diff --git a/world/map/npc/029-2/_import.txt b/world/map/npc/029-2/_import.txt index 6d67f2f7..b87b6dc1 100644 --- a/world/map/npc/029-2/_import.txt +++ b/world/map/npc/029-2/_import.txt @@ -2,7 +2,9 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. map: 029-2 npc: npc/029-2/_mobs.txt +npc: npc/029-2/_nodes.txt npc: npc/029-2/_warps.txt +npc: npc/029-2/alchemy.txt npc: npc/029-2/bankroom.txt npc: npc/029-2/barrels.txt npc: npc/029-2/barrels_config.txt @@ -14,4 +16,3 @@ npc: npc/029-2/sorfina.txt npc: npc/029-2/stat_reset.txt npc: npc/029-2/tanisha.txt npc: npc/029-2/two_arms.txt -npc: npc/029-2/alchemy.txt diff --git a/world/map/npc/029-2/_mobs.txt b/world/map/npc/029-2/_mobs.txt index 02d3fbd9..a63fae65 100644 --- a/world/map/npc/029-2/_mobs.txt +++ b/world/map/npc/029-2/_mobs.txt @@ -1,15 +1,4 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. // Candor Island Indoor mobs -029-2,33,57,24,7|monster|HouseMaggot|1050,7,100000ms,30000ms,Mob029-2::On1050 - - -029-2,0,0,0|script|Mob029-2|32767 -{ - end; - -On1050: - set @mobID, 1050; - callfunc "MobPoints"; - end; -} +029-2,33,57,24,7|monster|HouseMaggot|1050,7,100000ms,30000ms diff --git a/world/map/npc/029-2/_nodes.txt b/world/map/npc/029-2/_nodes.txt new file mode 100644 index 00000000..9e38e0e1 --- /dev/null +++ b/world/map/npc/029-2/_nodes.txt @@ -0,0 +1,16 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Candor Island Indoor nodes + +029-2,0,0,0|script|Node029-2|32767 +{ + end; +OnInit: + setarray .m$, "_N-Alchemy", "029-2"; + setarray .x1, "_N-Alchemy", 113; + setarray .y1, "_N-Alchemy", 57; + setarray .x2, "_N-Alchemy", 0; + setarray .y2, "_N-Alchemy", 0; + setarray .id, "_N-Alchemy", 0; + donpcevent "_N-Alchemy::OnMaybeStart"; + destroy; +} diff --git a/world/map/npc/029-2/alchemy.txt b/world/map/npc/029-2/alchemy.txt index d0d2909a..3d49d5ae 100644 --- a/world/map/npc/029-2/alchemy.txt +++ b/world/map/npc/029-2/alchemy.txt @@ -1,11 +1,16 @@ -029-2,113,57,0|script|#alchemylab|400 +-|script|_N-Alchemy|32767 { + set @npc_distance, 1; + callfunc "PCtoNPCRange"; + if (@npc_check) end; + title "Alchemy Lab"; mes "This is an alchemy lab."; mes "With it, you can combine reagents together to create powerful potions."; next; clear; mes "##BDrag & drop 2 items from your inventory. All items used will be lost.##b"; + cleararray @alchlab_items$[0], "", 2; // since we're not using a scoped (.@) array, we need to clean it requestitem @alchlab_items$[0], 2; // TODO: add a craft builtin (npc action 12) clear; if (@alchlab_items$[0] == "" || @alchlab_items$[1] == "") @@ -35,13 +40,13 @@ L_Proceed: L_CheckRecipes: set .@n, .@n+3; - if (.@n == get(.rsize, "#alchemylab")) + if (.@n == get(.rsize, "_N-Alchemy")) goto L_Failed; - if (!(get(.recipes$[.@n], "#alchemylab") == @alchlab_items$[0] && get(.recipes$[.@n+1], "#alchemylab") == @alchlab_items$[1]) && - !(get(.recipes$[.@n], "#alchemylab") == @alchlab_items$[1] && get(.recipes$[.@n+1], "#alchemylab") == @alchlab_items$[0])) + if (!(get(.recipes$[.@n], "_N-Alchemy") == @alchlab_items$[0] && get(.recipes$[.@n+1], "_N-Alchemy") == @alchlab_items$[1]) && + !(get(.recipes$[.@n], "_N-Alchemy") == @alchlab_items$[1] && get(.recipes$[.@n+1], "_N-Alchemy") == @alchlab_items$[0])) goto L_CheckRecipes; - getitem get(.recipes$[.@n+2], "#alchemylab"), 1; // XXX: here we could also make it fail sometimes depending on your expertise + getitem get(.recipes$[.@n+2], "_N-Alchemy"), 1; // XXX: here we could also make it fail sometimes depending on your expertise // XXX: here we could make it give profession/crafting exp clear; @@ -50,7 +55,7 @@ L_CheckRecipes: mes " ["+ getitemlink(@alchlab_items$[1]) +"]"; mes; mes "You obtained:"; - mes " ["+ getitemlink(get(.recipes$[.@n+2], "#alchemylab")) +"]"; + mes " ["+ getitemlink(get(.recipes$[.@n+2], "_N-Alchemy")) +"]"; close; L_NoItems: @@ -64,15 +69,30 @@ L_Failed: L_Abort: close; -OnInit: - void // the first alchemy lab doesn't need a puppet, it's already on a map - puppet("027-2", 51, 100, strnpcinfo(0)+0, 400), // TODO: make a npc like npc 400 but with hoverCursor="action" => looks better for things like crafting - puppet("001-2", 92, 76, strnpcinfo(0)+1, 400), - puppet("001-2", 98, 76, strnpcinfo(0)+2, 400), - puppet("001-2", 92, 89, strnpcinfo(0)+3, 400), - puppet("001-2", 98, 89, strnpcinfo(0)+4, 400); +S_Spawn: + set .@s, getarraysize(.x1); + if (.spawned == 0) + set .spawned, 1; // FIXME: in tmwa (getarraysize2, setarray) allow to set array index 0 when setting in another npc + if (.spawned >= .@s) + goto S_Return; + set .@n$, "#_Al-lab"+chr(3)+.spawned; + void puppet(.m$[.spawned], .x1[.spawned], .y1[.spawned], .@n$, 400); // TODO: make a npc like npc 400 but with hoverCursor="action" => looks better for things like crafting + set .spawned, .spawned + 1; + if (.spawned < .@s) + goto S_Spawn; + return; + +S_Return: + return; + +OnMaybeStart: + callsub S_Spawn; + if (.started == 0) + goto L_InitVars; + end; - setarray .recipes$[0], +L_InitVars: + setarray .recipes$[0], 0, "DilutedConcentrationPot", "DarkConcentrationPotion", "ConcentrationPotion", "CactusDrink", "CactusDrink", "CactusPotion", "PinkPetal", "BottleOfWater", "ConcentrationPotion"; diff --git a/world/map/npc/029-3/_import.txt b/world/map/npc/029-3/_import.txt index f879a861..2fe4f885 100644 --- a/world/map/npc/029-3/_import.txt +++ b/world/map/npc/029-3/_import.txt @@ -2,6 +2,7 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. map: 029-3 npc: npc/029-3/_mobs.txt +npc: npc/029-3/_nodes.txt npc: npc/029-3/_warps.txt npc: npc/029-3/barrier.txt npc: npc/029-3/mapflags.txt diff --git a/world/map/npc/029-3/_mobs.txt b/world/map/npc/029-3/_mobs.txt index 9a83bf7f..83f4ee2f 100644 --- a/world/map/npc/029-3/_mobs.txt +++ b/world/map/npc/029-3/_mobs.txt @@ -1,9 +1,3 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. // Candor Cave mobs - - -029-3,0,0,0|script|Mob029-3|32767 -{ - end; -} diff --git a/world/map/npc/029-3/_nodes.txt b/world/map/npc/029-3/_nodes.txt new file mode 100644 index 00000000..127723aa --- /dev/null +++ b/world/map/npc/029-3/_nodes.txt @@ -0,0 +1,4 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Candor Cave nodes + +// (no nodes) diff --git a/world/map/npc/030-2/_import.txt b/world/map/npc/030-2/_import.txt index 2588ec56..938c74e8 100644 --- a/world/map/npc/030-2/_import.txt +++ b/world/map/npc/030-2/_import.txt @@ -2,6 +2,7 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. map: 030-2 npc: npc/030-2/_mobs.txt +npc: npc/030-2/_nodes.txt npc: npc/030-2/_warps.txt npc: npc/030-2/avalia.txt npc: npc/030-2/basic_npcs.txt diff --git a/world/map/npc/030-2/_mobs.txt b/world/map/npc/030-2/_mobs.txt index 664e8111..7664126e 100644 --- a/world/map/npc/030-2/_mobs.txt +++ b/world/map/npc/030-2/_mobs.txt @@ -1,9 +1,3 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. // Christmas Inn mobs - - -030-2,0,0,0|script|Mob030-2|32767 -{ - end; -} diff --git a/world/map/npc/030-2/_nodes.txt b/world/map/npc/030-2/_nodes.txt new file mode 100644 index 00000000..8fea3767 --- /dev/null +++ b/world/map/npc/030-2/_nodes.txt @@ -0,0 +1,4 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Christmas Inn nodes + +// (no nodes) diff --git a/world/map/npc/030-3/_import.txt b/world/map/npc/030-3/_import.txt index bbce8cb4..252027e4 100644 --- a/world/map/npc/030-3/_import.txt +++ b/world/map/npc/030-3/_import.txt @@ -2,6 +2,7 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. map: 030-3 npc: npc/030-3/_mobs.txt +npc: npc/030-3/_nodes.txt npc: npc/030-3/_warps.txt npc: npc/030-3/mapflags.txt npc: npc/030-3/orum_homunculus.txt diff --git a/world/map/npc/030-3/_mobs.txt b/world/map/npc/030-3/_mobs.txt index 9d4b3b43..d1a3f5e8 100644 --- a/world/map/npc/030-3/_mobs.txt +++ b/world/map/npc/030-3/_mobs.txt @@ -1,9 +1,3 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. // The Frozen Lake mobs - - -030-3,0,0,0|script|Mob030-3|32767 -{ - end; -} diff --git a/world/map/npc/030-3/_nodes.txt b/world/map/npc/030-3/_nodes.txt new file mode 100644 index 00000000..e78786b3 --- /dev/null +++ b/world/map/npc/030-3/_nodes.txt @@ -0,0 +1,4 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// The Frozen Lake nodes + +// (no nodes) diff --git a/world/map/npc/030-4/_import.txt b/world/map/npc/030-4/_import.txt index b4b8153a..26492173 100644 --- a/world/map/npc/030-4/_import.txt +++ b/world/map/npc/030-4/_import.txt @@ -2,6 +2,7 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. map: 030-4 npc: npc/030-4/_mobs.txt +npc: npc/030-4/_nodes.txt npc: npc/030-4/_warps.txt npc: npc/030-4/mana_battery.txt npc: npc/030-4/mapflags.txt diff --git a/world/map/npc/030-4/_mobs.txt b/world/map/npc/030-4/_mobs.txt index 97ff93a8..e53861b5 100644 --- a/world/map/npc/030-4/_mobs.txt +++ b/world/map/npc/030-4/_mobs.txt @@ -1,9 +1,3 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. // Christmas Inn Warehouse mobs - - -030-4,0,0,0|script|Mob030-4|32767 -{ - end; -} diff --git a/world/map/npc/030-4/_nodes.txt b/world/map/npc/030-4/_nodes.txt new file mode 100644 index 00000000..14284ca5 --- /dev/null +++ b/world/map/npc/030-4/_nodes.txt @@ -0,0 +1,4 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Christmas Inn Warehouse nodes + +// (no nodes) diff --git a/world/map/npc/031-1/_import.txt b/world/map/npc/031-1/_import.txt index 827a60e8..fe66c2d2 100644 --- a/world/map/npc/031-1/_import.txt +++ b/world/map/npc/031-1/_import.txt @@ -2,6 +2,7 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. map: 031-1 npc: npc/031-1/_mobs.txt +npc: npc/031-1/_nodes.txt npc: npc/031-1/_warps.txt npc: npc/031-1/angelaOutside.txt npc: npc/031-1/dock.txt diff --git a/world/map/npc/031-1/_mobs.txt b/world/map/npc/031-1/_mobs.txt index d5a747fb..c8d85539 100644 --- a/world/map/npc/031-1/_mobs.txt +++ b/world/map/npc/031-1/_mobs.txt @@ -1,33 +1,7 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. // Nivalis Port mobs -031-1,0,0,0,0|monster|Fluffy|1020,10,100000ms,30000ms,Mob031-1::On1020 -031-1,0,0,0,0|monster|Pollett|1113,14,100000ms,30000ms,Mob031-1::On1113 -031-1,76,26,10,5|monster|WhiteSlime|1093,7,100000ms,30000ms,Mob031-1::On1093 -031-1,0,0,0,0|monster|WhiteBell|1095,4,100000ms,30000ms,Mob031-1::On1095 - - -031-1,0,0,0|script|Mob031-1|32767 -{ - end; - -On1020: - set @mobID, 1020; - callfunc "MobPoints"; - end; - -On1093: - set @mobID, 1093; - callfunc "MobPoints"; - end; - -On1095: - set @mobID, 1095; - callfunc "MobPoints"; - end; - -On1113: - set @mobID, 1113; - callfunc "MobPoints"; - end; -} +031-1,0,0,0,0|monster|Fluffy|1020,10,100000ms,30000ms +031-1,0,0,0,0|monster|Pollett|1113,14,100000ms,30000ms +031-1,76,26,10,5|monster|WhiteSlime|1093,7,100000ms,30000ms +031-1,0,0,0,0|monster|WhiteBell|1095,4,100000ms,30000ms diff --git a/world/map/npc/031-1/_nodes.txt b/world/map/npc/031-1/_nodes.txt new file mode 100644 index 00000000..c369eff4 --- /dev/null +++ b/world/map/npc/031-1/_nodes.txt @@ -0,0 +1,4 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Nivalis Port nodes + +// (no nodes) diff --git a/world/map/npc/031-2/_import.txt b/world/map/npc/031-2/_import.txt index 2e3f4e77..cfb6eb4a 100644 --- a/world/map/npc/031-2/_import.txt +++ b/world/map/npc/031-2/_import.txt @@ -2,6 +2,7 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. map: 031-2 npc: npc/031-2/_mobs.txt +npc: npc/031-2/_nodes.txt npc: npc/031-2/_warps.txt npc: npc/031-2/angelaHouse.txt npc: npc/031-2/cindyHouse.txt diff --git a/world/map/npc/031-2/_mobs.txt b/world/map/npc/031-2/_mobs.txt index ab4d5c66..b21a6a20 100644 --- a/world/map/npc/031-2/_mobs.txt +++ b/world/map/npc/031-2/_mobs.txt @@ -1,9 +1,3 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. // Angela's House mobs - - -031-2,0,0,0|script|Mob031-2|32767 -{ - end; -} diff --git a/world/map/npc/031-2/_nodes.txt b/world/map/npc/031-2/_nodes.txt new file mode 100644 index 00000000..f62ab315 --- /dev/null +++ b/world/map/npc/031-2/_nodes.txt @@ -0,0 +1,4 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Angela's House nodes + +// (no nodes) diff --git a/world/map/npc/031-3/_import.txt b/world/map/npc/031-3/_import.txt index 0094b579..bd4af770 100644 --- a/world/map/npc/031-3/_import.txt +++ b/world/map/npc/031-3/_import.txt @@ -2,6 +2,7 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. map: 031-3 npc: npc/031-3/_mobs.txt +npc: npc/031-3/_nodes.txt npc: npc/031-3/_warps.txt npc: npc/031-3/labyrinth.txt npc: npc/031-3/mapflags.txt diff --git a/world/map/npc/031-3/_mobs.txt b/world/map/npc/031-3/_mobs.txt index ccfb1199..2004a2f2 100644 --- a/world/map/npc/031-3/_mobs.txt +++ b/world/map/npc/031-3/_mobs.txt @@ -1,138 +1,92 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. // Ice Labyrinth mobs -031-3,230,279,25,26|monster|IceGoblin|1058,5,100000ms,30000ms,Mob031-3::On1058 -031-3,195,277,25,26|monster|IceGoblin|1058,3,100000ms,30000ms,Mob031-3::On1058 -031-3,213,282,66,43|monster|Bat|1017,5,100000ms,30000ms,Mob031-3::On1017 -031-3,37,213,27,23|monster|Yeti|1072,2,100000ms,30000ms,Mob031-3::On1072 -031-3,35,212,27,23|monster|Bat|1017,11,100000ms,30000ms,Mob031-3::On1017 -031-3,38,147,44,68|monster|Moggun|1061,19,100000ms,30000ms,Mob031-3::On1061 -031-3,97,261,42,22|monster|Moggun|1061,5,100000ms,30000ms,Mob031-3::On1061 -031-3,97,291,42,22|monster|Moggun|1061,5,100000ms,30000ms,Mob031-3::On1061 -031-3,36,148,64,43|monster|Bat|1017,11,100000ms,30000ms,Mob031-3::On1017 -031-3,97,277,22,42|monster|Bat|1017,11,100000ms,30000ms,Mob031-3::On1017 -031-3,148,282,22,42|monster|Bat|1017,11,100000ms,30000ms,Mob031-3::On1017 -031-3,145,293,25,26|monster|IceGoblin|1058,6,100000ms,30000ms,Mob031-3::On1058 -031-3,98,214,39,44|monster|IceElement|1071,2,100000ms,30000ms,Mob031-3::On1071 -031-3,99,214,25,26|monster|IceGoblin|1058,3,100000ms,30000ms,Mob031-3::On1058 -031-3,198,144,29,53|monster|IceGoblin|1058,4,100000ms,30000ms,Mob031-3::On1058 -031-3,97,291,42,22|monster|Moggun|1061,5,100000ms,30000ms,Mob031-3::On1061 -031-3,278,282,33,14|monster|IceGoblin|1058,5,100000ms,30000ms,Mob031-3::On1058 -031-3,98,214,39,44|monster|IceElement|1071,2,100000ms,30000ms,Mob031-3::On1071 -031-3,285,218,8,75|monster|IceElement|1071,2,100000ms,30000ms,Mob031-3::On1071 -031-3,283,217,41,64|monster|Bat|1017,15,100000ms,30000ms,Mob031-3::On1017 -031-3,282,237,63,20|monster|Moggun|1061,3,100000ms,30000ms,Mob031-3::On1061 -031-3,282,196,62,16|monster|Moggun|1061,3,100000ms,30000ms,Mob031-3::On1061 -031-3,229,226,27,34|monster|Yeti|1072,3,100000ms,30000ms,Mob031-3::On1072 -031-3,230,227,12,42|monster|IceGoblin|1058,5,100000ms,30000ms,Mob031-3::On1058 -031-3,209,199,12,17|monster|Yeti|1072,2,100000ms,30000ms,Mob031-3::On1072 -031-3,193,216,12,17|monster|Yeti|1072,1,100000ms,30000ms,Mob031-3::On1072 -031-3,213,282,66,43|monster|Bat|1017,5,100000ms,30000ms,Mob031-3::On1017 -031-3,213,282,66,43|monster|Pollett|1113,5,100000ms,30000ms,Mob031-3::On1113 -031-3,199,200,45,14|monster|Bat|1017,13,100000ms,30000ms,Mob031-3::On1017 -031-3,209,199,12,17|monster|Yeti|1072,2,100000ms,30000ms,Mob031-3::On1072 -031-3,234,141,18,19|monster|Yeti|1072,2,100000ms,30000ms,Mob031-3::On1072 -031-3,282,196,62,16|monster|Moggun|1061,3,100000ms,30000ms,Mob031-3::On1061 -031-3,212,159,62,16|monster|Moggun|1061,7,100000ms,30000ms,Mob031-3::On1061 -031-3,212,159,62,16|monster|Moggun|1061,7,100000ms,30000ms,Mob031-3::On1061 -031-3,212,130,62,16|monster|Moggun|1061,7,100000ms,30000ms,Mob031-3::On1061 -031-3,284,143,40,48|monster|Moggun|1061,7,100000ms,30000ms,Mob031-3::On1061 -031-3,283,84,36,31|monster|Bat|1017,15,100000ms,30000ms,Mob031-3::On1017 -031-3,283,84,36,31|monster|Bat|1017,15,100000ms,30000ms,Mob031-3::On1017 -031-3,274,81,15,32|monster|Yeti|1072,2,100000ms,30000ms,Mob031-3::On1072 -031-3,40,53,44,68|monster|Moggun|1061,10,100000ms,30000ms,Mob031-3::On1061 -031-3,120,160,85,30|monster|Yeti|1072,4,100000ms,30000ms,Mob031-3::On1072 -031-3,121,131,82,24|monster|Yeti|1072,8,100000ms,30000ms,Mob031-3::On1072 -031-3,107,130,25,26|monster|IceGoblin|1058,6,100000ms,30000ms,Mob031-3::On1058 -031-3,145,160,25,24|monster|IceGoblin|1058,6,100000ms,30000ms,Mob031-3::On1058 -031-3,94,167,25,24|monster|IceGoblin|1058,6,100000ms,30000ms,Mob031-3::On1058 -031-3,282,37,31,28|monster|IceElement|1071,5,100000ms,30000ms,Mob031-3::On1071 -031-3,213,36,64,32|monster|IceElement|1071,5,100000ms,30000ms,Mob031-3::On1071 -031-3,228,83,31,28|monster|IceElement|1071,3,100000ms,30000ms,Mob031-3::On1071 -031-3,283,138,15,13|monster|IceElement|1071,1,100000ms,30000ms,Mob031-3::On1071 -031-3,198,83,31,28|monster|IceElement|1071,3,100000ms,30000ms,Mob031-3::On1071 -031-3,214,75,25,26|monster|IceGoblin|1058,3,100000ms,30000ms,Mob031-3::On1058 -031-3,217,37,66,43|monster|Bat|1017,10,100000ms,30000ms,Mob031-3::On1017 -031-3,39,52,64,56|monster|Bat|1017,5,100000ms,30000ms,Mob031-3::On1017 -031-3,39,274,64,56|monster|Bat|1017,10,100000ms,30000ms,Mob031-3::On1017 -031-3,119,51,39,64|monster|Bat|1017,10,100000ms,30000ms,Mob031-3::On1017 -031-3,119,50,57,51|monster|IceElement|1071,5,100000ms,30000ms,Mob031-3::On1071 -031-3,120,79,20,17|monster|Yeti|1072,2,100000ms,30000ms,Mob031-3::On1072 -031-3,37,284,6,4|monster|WhiteSlime|1093,7,100000ms,30000ms,Mob031-3::On1093 -031-3,28,255,14,9|monster|BlueSlime|1091,2,100000ms,30000ms,Mob031-3::On1091 -031-3,212,277,14,9|monster|WhiteSlime|1093,7,100000ms,30000ms,Mob031-3::On1093 -031-3,289,295,6,4|monster|WhiteSlime|1093,7,100000ms,30000ms,Mob031-3::On1093 -031-3,292,288,14,9|monster|BlueSlime|1091,2,100000ms,30000ms,Mob031-3::On1091 -031-3,296,233,7,6|monster|WhiteSlime|1093,7,100000ms,30000ms,Mob031-3::On1093 -031-3,271,222,7,6|monster|WhiteSlime|1093,7,100000ms,30000ms,Mob031-3::On1093 -031-3,281,215,55,21|monster|BlueSlime|1091,5,100000ms,30000ms,Mob031-3::On1091 -031-3,126,35,6,5|monster|WhiteSlime|1093,7,100000ms,30000ms,Mob031-3::On1093 -031-3,143,124,34,22|monster|BlueSlime|1091,2,100000ms,30000ms,Mob031-3::On1091 -031-3,48,65,14,9|monster|WhiteSlime|1093,7,100000ms,30000ms,Mob031-3::On1093 -031-3,37,113,5,13|monster|BlueSlime|1091,1,100000ms,30000ms,Mob031-3::On1091 -031-3,136,227,14,9|monster|WhiteSlime|1093,7,100000ms,30000ms,Mob031-3::On1093 -031-3,152,218,13,17|monster|BlueSlime|1091,4,100000ms,30000ms,Mob031-3::On1091 -031-3,135,206,9,6|monster|WhiteSlime|1093,7,100000ms,30000ms,Mob031-3::On1093 -031-3,154,202,7,7|monster|WhiteSlime|1093,7,100000ms,30000ms,Mob031-3::On1093 -031-3,136,216,6,4|monster|BlueSlime|1091,2,100000ms,30000ms,Mob031-3::On1091 -031-3,112,276,6,4|monster|WhiteSlime|1093,7,100000ms,30000ms,Mob031-3::On1093 -031-3,143,294,6,4|monster|WhiteSlime|1093,7,100000ms,30000ms,Mob031-3::On1093 -031-3,149,268,6,4|monster|WhiteSlime|1093,7,100000ms,30000ms,Mob031-3::On1093 -031-3,136,264,6,4|monster|WhiteSlime|1093,7,100000ms,30000ms,Mob031-3::On1093 -031-3,157,283,6,4|monster|WhiteSlime|1093,7,100000ms,30000ms,Mob031-3::On1093 -031-3,139,264,25,19|monster|BlueSlime|1091,4,100000ms,30000ms,Mob031-3::On1091 -031-3,24,265,6,4|monster|WhiteSlime|1093,7,100000ms,30000ms,Mob031-3::On1093 -031-3,52,280,6,4|monster|WhiteSlime|1093,7,100000ms,30000ms,Mob031-3::On1093 -031-3,37,254,6,4|monster|WhiteSlime|1093,7,100000ms,30000ms,Mob031-3::On1093 -031-3,24,290,6,4|monster|WhiteSlime|1093,7,100000ms,30000ms,Mob031-3::On1093 -031-3,48,298,6,4|monster|WhiteSlime|1093,7,100000ms,30000ms,Mob031-3::On1093 -031-3,53,260,6,4|monster|WhiteSlime|1093,7,100000ms,30000ms,Mob031-3::On1093 -031-3,23,275,14,9|monster|BlueSlime|1091,2,100000ms,30000ms,Mob031-3::On1091 -031-3,37,272,14,9|monster|BlueSlime|1091,2,100000ms,30000ms,Mob031-3::On1091 -031-3,52,285,14,9|monster|BlueSlime|1091,2,100000ms,30000ms,Mob031-3::On1091 - - -031-3,0,0,0|script|Mob031-3|32767 -{ - end; - -On1017: - set @mobID, 1017; - callfunc "MobPoints"; - end; - -On1058: - set @mobID, 1058; - callfunc "MobPoints"; - end; - -On1061: - set @mobID, 1061; - callfunc "MobPoints"; - end; - -On1071: - set @mobID, 1071; - callfunc "MobPoints"; - end; - -On1072: - set @mobID, 1072; - callfunc "MobPoints"; - end; - -On1091: - set @mobID, 1091; - callfunc "MobPoints"; - end; - -On1093: - set @mobID, 1093; - callfunc "MobPoints"; - end; - -On1113: - set @mobID, 1113; - callfunc "MobPoints"; - end; -} +031-3,230,279,25,26|monster|IceGoblin|1058,5,100000ms,30000ms +031-3,195,277,25,26|monster|IceGoblin|1058,3,100000ms,30000ms +031-3,213,282,66,43|monster|Bat|1017,5,100000ms,30000ms +031-3,37,213,27,23|monster|Yeti|1072,2,100000ms,30000ms +031-3,35,212,27,23|monster|Bat|1017,11,100000ms,30000ms +031-3,38,147,44,68|monster|Moggun|1061,19,100000ms,30000ms +031-3,97,261,42,22|monster|Moggun|1061,5,100000ms,30000ms +031-3,97,291,42,22|monster|Moggun|1061,5,100000ms,30000ms +031-3,36,148,64,43|monster|Bat|1017,11,100000ms,30000ms +031-3,97,277,22,42|monster|Bat|1017,11,100000ms,30000ms +031-3,148,282,22,42|monster|Bat|1017,11,100000ms,30000ms +031-3,145,293,25,26|monster|IceGoblin|1058,6,100000ms,30000ms +031-3,98,214,39,44|monster|IceElement|1071,2,100000ms,30000ms +031-3,99,214,25,26|monster|IceGoblin|1058,3,100000ms,30000ms +031-3,198,144,29,53|monster|IceGoblin|1058,4,100000ms,30000ms +031-3,97,291,42,22|monster|Moggun|1061,5,100000ms,30000ms +031-3,278,282,33,14|monster|IceGoblin|1058,5,100000ms,30000ms +031-3,98,214,39,44|monster|IceElement|1071,2,100000ms,30000ms +031-3,285,218,8,75|monster|IceElement|1071,2,100000ms,30000ms +031-3,283,217,41,64|monster|Bat|1017,15,100000ms,30000ms +031-3,282,237,63,20|monster|Moggun|1061,3,100000ms,30000ms +031-3,282,196,62,16|monster|Moggun|1061,3,100000ms,30000ms +031-3,229,226,27,34|monster|Yeti|1072,3,100000ms,30000ms +031-3,230,227,12,42|monster|IceGoblin|1058,5,100000ms,30000ms +031-3,209,199,12,17|monster|Yeti|1072,2,100000ms,30000ms +031-3,193,216,12,17|monster|Yeti|1072,1,100000ms,30000ms +031-3,213,282,66,43|monster|Bat|1017,5,100000ms,30000ms +031-3,213,282,66,43|monster|Pollett|1113,5,100000ms,30000ms +031-3,199,200,45,14|monster|Bat|1017,13,100000ms,30000ms +031-3,209,199,12,17|monster|Yeti|1072,2,100000ms,30000ms +031-3,234,141,18,19|monster|Yeti|1072,2,100000ms,30000ms +031-3,282,196,62,16|monster|Moggun|1061,3,100000ms,30000ms +031-3,212,159,62,16|monster|Moggun|1061,7,100000ms,30000ms +031-3,212,159,62,16|monster|Moggun|1061,7,100000ms,30000ms +031-3,212,130,62,16|monster|Moggun|1061,7,100000ms,30000ms +031-3,284,143,40,48|monster|Moggun|1061,7,100000ms,30000ms +031-3,283,84,36,31|monster|Bat|1017,15,100000ms,30000ms +031-3,283,84,36,31|monster|Bat|1017,15,100000ms,30000ms +031-3,274,81,15,32|monster|Yeti|1072,2,100000ms,30000ms +031-3,40,53,44,68|monster|Moggun|1061,10,100000ms,30000ms +031-3,120,160,85,30|monster|Yeti|1072,4,100000ms,30000ms +031-3,121,131,82,24|monster|Yeti|1072,8,100000ms,30000ms +031-3,107,130,25,26|monster|IceGoblin|1058,6,100000ms,30000ms +031-3,145,160,25,24|monster|IceGoblin|1058,6,100000ms,30000ms +031-3,94,167,25,24|monster|IceGoblin|1058,6,100000ms,30000ms +031-3,282,37,31,28|monster|IceElement|1071,5,100000ms,30000ms +031-3,213,36,64,32|monster|IceElement|1071,5,100000ms,30000ms +031-3,228,83,31,28|monster|IceElement|1071,3,100000ms,30000ms +031-3,283,138,15,13|monster|IceElement|1071,1,100000ms,30000ms +031-3,198,83,31,28|monster|IceElement|1071,3,100000ms,30000ms +031-3,214,75,25,26|monster|IceGoblin|1058,3,100000ms,30000ms +031-3,217,37,66,43|monster|Bat|1017,10,100000ms,30000ms +031-3,39,52,64,56|monster|Bat|1017,5,100000ms,30000ms +031-3,39,274,64,56|monster|Bat|1017,10,100000ms,30000ms +031-3,119,51,39,64|monster|Bat|1017,10,100000ms,30000ms +031-3,119,50,57,51|monster|IceElement|1071,5,100000ms,30000ms +031-3,120,79,20,17|monster|Yeti|1072,2,100000ms,30000ms +031-3,37,284,6,4|monster|WhiteSlime|1093,7,100000ms,30000ms +031-3,28,255,14,9|monster|BlueSlime|1091,2,100000ms,30000ms +031-3,212,277,14,9|monster|WhiteSlime|1093,7,100000ms,30000ms +031-3,289,295,6,4|monster|WhiteSlime|1093,7,100000ms,30000ms +031-3,292,288,14,9|monster|BlueSlime|1091,2,100000ms,30000ms +031-3,296,233,7,6|monster|WhiteSlime|1093,7,100000ms,30000ms +031-3,271,222,7,6|monster|WhiteSlime|1093,7,100000ms,30000ms +031-3,281,215,55,21|monster|BlueSlime|1091,5,100000ms,30000ms +031-3,126,35,6,5|monster|WhiteSlime|1093,7,100000ms,30000ms +031-3,143,124,34,22|monster|BlueSlime|1091,2,100000ms,30000ms +031-3,48,65,14,9|monster|WhiteSlime|1093,7,100000ms,30000ms +031-3,37,113,5,13|monster|BlueSlime|1091,1,100000ms,30000ms +031-3,136,227,14,9|monster|WhiteSlime|1093,7,100000ms,30000ms +031-3,152,218,13,17|monster|BlueSlime|1091,4,100000ms,30000ms +031-3,135,206,9,6|monster|WhiteSlime|1093,7,100000ms,30000ms +031-3,154,202,7,7|monster|WhiteSlime|1093,7,100000ms,30000ms +031-3,136,216,6,4|monster|BlueSlime|1091,2,100000ms,30000ms +031-3,112,276,6,4|monster|WhiteSlime|1093,7,100000ms,30000ms +031-3,143,294,6,4|monster|WhiteSlime|1093,7,100000ms,30000ms +031-3,149,268,6,4|monster|WhiteSlime|1093,7,100000ms,30000ms +031-3,136,264,6,4|monster|WhiteSlime|1093,7,100000ms,30000ms +031-3,157,283,6,4|monster|WhiteSlime|1093,7,100000ms,30000ms +031-3,139,264,25,19|monster|BlueSlime|1091,4,100000ms,30000ms +031-3,24,265,6,4|monster|WhiteSlime|1093,7,100000ms,30000ms +031-3,52,280,6,4|monster|WhiteSlime|1093,7,100000ms,30000ms +031-3,37,254,6,4|monster|WhiteSlime|1093,7,100000ms,30000ms +031-3,24,290,6,4|monster|WhiteSlime|1093,7,100000ms,30000ms +031-3,48,298,6,4|monster|WhiteSlime|1093,7,100000ms,30000ms +031-3,53,260,6,4|monster|WhiteSlime|1093,7,100000ms,30000ms +031-3,23,275,14,9|monster|BlueSlime|1091,2,100000ms,30000ms +031-3,37,272,14,9|monster|BlueSlime|1091,2,100000ms,30000ms +031-3,52,285,14,9|monster|BlueSlime|1091,2,100000ms,30000ms diff --git a/world/map/npc/031-3/_nodes.txt b/world/map/npc/031-3/_nodes.txt new file mode 100644 index 00000000..38ed7558 --- /dev/null +++ b/world/map/npc/031-3/_nodes.txt @@ -0,0 +1,4 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Ice Labyrinth nodes + +// (no nodes) diff --git a/world/map/npc/031-4/_import.txt b/world/map/npc/031-4/_import.txt index 02089d01..250e5b20 100644 --- a/world/map/npc/031-4/_import.txt +++ b/world/map/npc/031-4/_import.txt @@ -2,6 +2,7 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. map: 031-4 npc: npc/031-4/_mobs.txt +npc: npc/031-4/_nodes.txt npc: npc/031-4/_warps.txt npc: npc/031-4/barrier.txt npc: npc/031-4/cindyCave.txt diff --git a/world/map/npc/031-4/_mobs.txt b/world/map/npc/031-4/_mobs.txt index cc2f2d21..891a5cd7 100644 --- a/world/map/npc/031-4/_mobs.txt +++ b/world/map/npc/031-4/_mobs.txt @@ -1,9 +1,3 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. // Cindy Cave mobs - - -031-4,0,0,0|script|Mob031-4|32767 -{ - end; -} diff --git a/world/map/npc/031-4/_nodes.txt b/world/map/npc/031-4/_nodes.txt new file mode 100644 index 00000000..11486912 --- /dev/null +++ b/world/map/npc/031-4/_nodes.txt @@ -0,0 +1,4 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Cindy Cave nodes + +// (no nodes) diff --git a/world/map/npc/032-3/_import.txt b/world/map/npc/032-3/_import.txt index 66d368cd..09f9448c 100644 --- a/world/map/npc/032-3/_import.txt +++ b/world/map/npc/032-3/_import.txt @@ -2,5 +2,6 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. map: 032-3 npc: npc/032-3/_mobs.txt +npc: npc/032-3/_nodes.txt npc: npc/032-3/_warps.txt npc: npc/032-3/mapflags.txt diff --git a/world/map/npc/032-3/_mobs.txt b/world/map/npc/032-3/_mobs.txt index 2e336d50..b84e45f3 100644 --- a/world/map/npc/032-3/_mobs.txt +++ b/world/map/npc/032-3/_mobs.txt @@ -1,64 +1,13 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. // Outback Cave mobs -032-3,90,44,9,10|monster|Skeleton|1043,3,30000ms,100000ms,Mob032-3::On1043 -032-3,44,23,29,22|monster|MountainSnake|1026,7,30000ms,100000ms,Mob032-3::On1026 -032-3,125,46,35,75|monster|Snake|1010,13,30000ms,100000ms,Mob032-3::On1010 -032-3,80,44,9,10|monster|BlackScorpion|1009,5,30000ms,100000ms,Mob032-3::On1009 -032-3,85,33,9,10|monster|Spider|1012,5,30000ms,100000ms,Mob032-3::On1012 -032-3,83,18,37,9|monster|Archant|1060,8,30000ms,100000ms,Mob032-3::On1060 -032-3,78,76,24,21|monster|Archant|1060,8,30000ms,100000ms,Mob032-3::On1060 -032-3,25,76,24,21|monster|YellowSlime|1007,11,300000ms,1000000ms,Mob032-3::On1007 -032-3,46,51,34,18|monster|CaveMaggot|1056,11,30000ms,100000ms,Mob032-3::On1056 -032-3,0,0,0,0|monster|Bat|1017,25,30000ms,100000ms,Mob032-3::On1017 - - -032-3,0,0,0|script|Mob032-3|32767 -{ - end; - -On1007: - set @mobID, 1007; - callfunc "MobPoints"; - end; - -On1009: - set @mobID, 1009; - callfunc "MobPoints"; - end; - -On1010: - set @mobID, 1010; - callfunc "MobPoints"; - end; - -On1012: - set @mobID, 1012; - callfunc "MobPoints"; - end; - -On1017: - set @mobID, 1017; - callfunc "MobPoints"; - end; - -On1026: - set @mobID, 1026; - callfunc "MobPoints"; - end; - -On1043: - set @mobID, 1043; - callfunc "MobPoints"; - end; - -On1056: - set @mobID, 1056; - callfunc "MobPoints"; - end; - -On1060: - set @mobID, 1060; - callfunc "MobPoints"; - end; -} +032-3,90,44,9,10|monster|Skeleton|1043,3,30000ms,100000ms +032-3,44,23,29,22|monster|MountainSnake|1026,7,30000ms,100000ms +032-3,125,46,35,75|monster|Snake|1010,13,30000ms,100000ms +032-3,80,44,9,10|monster|BlackScorpion|1009,5,30000ms,100000ms +032-3,85,33,9,10|monster|Spider|1012,5,30000ms,100000ms +032-3,83,18,37,9|monster|Archant|1060,8,30000ms,100000ms +032-3,78,76,24,21|monster|Archant|1060,8,30000ms,100000ms +032-3,25,76,24,21|monster|YellowSlime|1007,11,300000ms,1000000ms +032-3,46,51,34,18|monster|CaveMaggot|1056,11,30000ms,100000ms +032-3,0,0,0,0|monster|Bat|1017,25,30000ms,100000ms diff --git a/world/map/npc/032-3/_nodes.txt b/world/map/npc/032-3/_nodes.txt new file mode 100644 index 00000000..87034821 --- /dev/null +++ b/world/map/npc/032-3/_nodes.txt @@ -0,0 +1,4 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Outback Cave nodes + +// (no nodes) diff --git a/world/map/npc/033-1/_import.txt b/world/map/npc/033-1/_import.txt index 6205545e..60a3096a 100644 --- a/world/map/npc/033-1/_import.txt +++ b/world/map/npc/033-1/_import.txt @@ -2,6 +2,7 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. map: 033-1 npc: npc/033-1/_mobs.txt +npc: npc/033-1/_nodes.txt npc: npc/033-1/_warps.txt npc: npc/033-1/backDoor.txt npc: npc/033-1/barbarianinit.txt diff --git a/world/map/npc/033-1/_mobs.txt b/world/map/npc/033-1/_mobs.txt index afbd35ed..2eb36796 100644 --- a/world/map/npc/033-1/_mobs.txt +++ b/world/map/npc/033-1/_mobs.txt @@ -1,33 +1,7 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. // snow Path mobs -033-1,73,49,10,18|monster|Wolvern|1090,2,100000ms,30000ms,Mob033-1::On1090 -033-1,33,38,15,49|monster|Reinboo|1094,3,100000ms,30000ms,Mob033-1::On1094 -033-1,56,87,50,42|monster|Squirrel|1038,15,100000ms,30000ms,Mob033-1::On1038 -033-1,0,0,0,0|monster|WhiteBell|1095,3,100000ms,30000ms,Mob033-1::On1095 - - -033-1,0,0,0|script|Mob033-1|32767 -{ - end; - -On1038: - set @mobID, 1038; - callfunc "MobPoints"; - end; - -On1090: - set @mobID, 1090; - callfunc "MobPoints"; - end; - -On1094: - set @mobID, 1094; - callfunc "MobPoints"; - end; - -On1095: - set @mobID, 1095; - callfunc "MobPoints"; - end; -} +033-1,73,49,10,18|monster|Wolvern|1090,2,100000ms,30000ms +033-1,33,38,15,49|monster|Reinboo|1094,3,100000ms,30000ms +033-1,56,87,50,42|monster|Squirrel|1038,15,100000ms,30000ms +033-1,0,0,0,0|monster|WhiteBell|1095,3,100000ms,30000ms diff --git a/world/map/npc/033-1/_nodes.txt b/world/map/npc/033-1/_nodes.txt new file mode 100644 index 00000000..3842473e --- /dev/null +++ b/world/map/npc/033-1/_nodes.txt @@ -0,0 +1,4 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// snow Path nodes + +// (no nodes) diff --git a/world/map/npc/034-1/_import.txt b/world/map/npc/034-1/_import.txt index ae229c8c..fab02ab2 100644 --- a/world/map/npc/034-1/_import.txt +++ b/world/map/npc/034-1/_import.txt @@ -2,6 +2,7 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. map: 034-1 npc: npc/034-1/_mobs.txt +npc: npc/034-1/_nodes.txt npc: npc/034-1/_warps.txt npc: npc/034-1/ambushs.txt npc: npc/034-1/mapflags.txt diff --git a/world/map/npc/034-1/_mobs.txt b/world/map/npc/034-1/_mobs.txt index e02e496b..575d0220 100644 --- a/world/map/npc/034-1/_mobs.txt +++ b/world/map/npc/034-1/_mobs.txt @@ -1,45 +1,9 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. // Snow Forest mobs -034-1,0,0,0,0|monster|Reinboo|1094,4,100000ms,30000ms,Mob034-1::On1094 -034-1,0,0,0,0|monster|Fluffy|1020,25,100000ms,30000ms,Mob034-1::On1020 -034-1,0,0,0,0|monster|WhiteBell|1095,5,100000ms,30000ms,Mob034-1::On1095 -034-1,0,0,0,0|monster|Squirrel|1038,25,100000ms,30000ms,Mob034-1::On1038 -034-1,0,0,0,0|monster|Santaboo|1112,4,100000ms,30000ms,Mob034-1::On1112 -034-1,1,1,0,0|monster|IceGoblin|1058,25,100000ms,30000ms,Mob034-1::On1058 - - -034-1,0,0,0|script|Mob034-1|32767 -{ - end; - -On1020: - set @mobID, 1020; - callfunc "MobPoints"; - end; - -On1038: - set @mobID, 1038; - callfunc "MobPoints"; - end; - -On1058: - set @mobID, 1058; - callfunc "MobPoints"; - end; - -On1094: - set @mobID, 1094; - callfunc "MobPoints"; - end; - -On1095: - set @mobID, 1095; - callfunc "MobPoints"; - end; - -On1112: - set @mobID, 1112; - callfunc "MobPoints"; - end; -} +034-1,0,0,0,0|monster|Reinboo|1094,4,100000ms,30000ms +034-1,0,0,0,0|monster|Fluffy|1020,25,100000ms,30000ms +034-1,0,0,0,0|monster|WhiteBell|1095,5,100000ms,30000ms +034-1,0,0,0,0|monster|Squirrel|1038,25,100000ms,30000ms +034-1,0,0,0,0|monster|Santaboo|1112,4,100000ms,30000ms +034-1,1,1,0,0|monster|IceGoblin|1058,25,100000ms,30000ms diff --git a/world/map/npc/034-1/_nodes.txt b/world/map/npc/034-1/_nodes.txt new file mode 100644 index 00000000..99c4688b --- /dev/null +++ b/world/map/npc/034-1/_nodes.txt @@ -0,0 +1,4 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Snow Forest nodes + +// (no nodes) diff --git a/world/map/npc/034-2/_import.txt b/world/map/npc/034-2/_import.txt index 29e7a602..47130e2d 100644 --- a/world/map/npc/034-2/_import.txt +++ b/world/map/npc/034-2/_import.txt @@ -2,5 +2,6 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. map: 034-2 npc: npc/034-2/_mobs.txt +npc: npc/034-2/_nodes.txt npc: npc/034-2/_warps.txt npc: npc/034-2/mapflags.txt diff --git a/world/map/npc/034-2/_mobs.txt b/world/map/npc/034-2/_mobs.txt index 709fcb08..9045b1c4 100644 --- a/world/map/npc/034-2/_mobs.txt +++ b/world/map/npc/034-2/_mobs.txt @@ -1,9 +1,3 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. // Trappers Huts mobs - - -034-2,0,0,0|script|Mob034-2|32767 -{ - end; -} diff --git a/world/map/npc/034-2/_nodes.txt b/world/map/npc/034-2/_nodes.txt new file mode 100644 index 00000000..c92382fc --- /dev/null +++ b/world/map/npc/034-2/_nodes.txt @@ -0,0 +1,4 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Trappers Huts nodes + +// (no nodes) diff --git a/world/map/npc/035-2/_import.txt b/world/map/npc/035-2/_import.txt index a46f42b1..78b7188c 100644 --- a/world/map/npc/035-2/_import.txt +++ b/world/map/npc/035-2/_import.txt @@ -2,6 +2,7 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. map: 035-2 npc: npc/035-2/_mobs.txt +npc: npc/035-2/_nodes.txt npc: npc/035-2/_warps.txt npc: npc/035-2/casino.txt npc: npc/035-2/emblems.txt diff --git a/world/map/npc/035-2/_mobs.txt b/world/map/npc/035-2/_mobs.txt index 899a8d04..bb3f2eca 100644 --- a/world/map/npc/035-2/_mobs.txt +++ b/world/map/npc/035-2/_mobs.txt @@ -1,9 +1,3 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. // Koga - Main mobs - - -035-2,0,0,0|script|Mob035-2|32767 -{ - end; -} diff --git a/world/map/npc/035-2/_nodes.txt b/world/map/npc/035-2/_nodes.txt new file mode 100644 index 00000000..7002a966 --- /dev/null +++ b/world/map/npc/035-2/_nodes.txt @@ -0,0 +1,4 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Koga - Main nodes + +// (no nodes) diff --git a/world/map/npc/036-2/_import.txt b/world/map/npc/036-2/_import.txt index dd908e52..79ee898b 100644 --- a/world/map/npc/036-2/_import.txt +++ b/world/map/npc/036-2/_import.txt @@ -2,6 +2,7 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. map: 036-2 npc: npc/036-2/_mobs.txt +npc: npc/036-2/_nodes.txt npc: npc/036-2/_warps.txt npc: npc/036-2/casino.txt npc: npc/036-2/emblems.txt diff --git a/world/map/npc/036-2/_mobs.txt b/world/map/npc/036-2/_mobs.txt index 0cebfbc8..483d68b1 100644 --- a/world/map/npc/036-2/_mobs.txt +++ b/world/map/npc/036-2/_mobs.txt @@ -1,9 +1,3 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. // Koga - Candor mobs - - -036-2,0,0,0|script|Mob036-2|32767 -{ - end; -} diff --git a/world/map/npc/036-2/_nodes.txt b/world/map/npc/036-2/_nodes.txt new file mode 100644 index 00000000..20ea08f2 --- /dev/null +++ b/world/map/npc/036-2/_nodes.txt @@ -0,0 +1,4 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Koga - Candor nodes + +// (no nodes) diff --git a/world/map/npc/043-3/_import.txt b/world/map/npc/043-3/_import.txt index d915e2d0..b4b99268 100644 --- a/world/map/npc/043-3/_import.txt +++ b/world/map/npc/043-3/_import.txt @@ -2,5 +2,6 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. map: 043-3 npc: npc/043-3/_mobs.txt +npc: npc/043-3/_nodes.txt npc: npc/043-3/_warps.txt npc: npc/043-3/mapflags.txt diff --git a/world/map/npc/043-3/_mobs.txt b/world/map/npc/043-3/_mobs.txt index 085615a4..772c8921 100644 --- a/world/map/npc/043-3/_mobs.txt +++ b/world/map/npc/043-3/_mobs.txt @@ -1,43 +1,12 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. // Sandy Dungeon Level 1 mobs -043-3,39,45,24,17|monster|CaveMaggot|1056,6,20000ms,20000ms,Mob043-3::On1056 -043-3,44,60,24,17|monster|CaveMaggot|1056,6,20000ms,20000ms,Mob043-3::On1056 -043-3,41,96,34,26|monster|CaveMaggot|1056,10,20000ms,20000ms,Mob043-3::On1056 -043-3,52,91,6,7|monster|AngryScorpion|1057,5,30000ms,30000ms,Mob043-3::On1057 -043-3,102,116,26,19|monster|AngryFireGoblin|1108,10,30000ms,30000ms,Mob043-3::On1108 -043-3,33,99,6,7|monster|AngryScorpion|1057,5,30000ms,30000ms,Mob043-3::On1057 -043-3,116,78,25,19|monster|AngryFireGoblin|1108,8,30000ms,30000ms,Mob043-3::On1108 -043-3,113,47,30,22|monster|RedSlime|1008,15,45000ms,35000ms,Mob043-3::On1008 -043-3,94,44,40,18|monster|GreenSlime|1005,5,30000ms,15000ms,Mob043-3::On1005 - - -043-3,0,0,0|script|Mob043-3|32767 -{ - end; - -On1005: - set @mobID, 1005; - callfunc "MobPoints"; - end; - -On1008: - set @mobID, 1008; - callfunc "MobPoints"; - end; - -On1056: - set @mobID, 1056; - callfunc "MobPoints"; - end; - -On1057: - set @mobID, 1057; - callfunc "MobPoints"; - end; - -On1108: - set @mobID, 1108; - callfunc "MobPoints"; - end; -} +043-3,39,45,24,17|monster|CaveMaggot|1056,6,20000ms,20000ms +043-3,44,60,24,17|monster|CaveMaggot|1056,6,20000ms,20000ms +043-3,41,96,34,26|monster|CaveMaggot|1056,10,20000ms,20000ms +043-3,52,91,6,7|monster|AngryScorpion|1057,5,30000ms,30000ms +043-3,102,116,26,19|monster|AngryFireGoblin|1108,10,30000ms,30000ms +043-3,33,99,6,7|monster|AngryScorpion|1057,5,30000ms,30000ms +043-3,116,78,25,19|monster|AngryFireGoblin|1108,8,30000ms,30000ms +043-3,113,47,30,22|monster|RedSlime|1008,15,45000ms,35000ms +043-3,94,44,40,18|monster|GreenSlime|1005,5,30000ms,15000ms diff --git a/world/map/npc/043-3/_nodes.txt b/world/map/npc/043-3/_nodes.txt new file mode 100644 index 00000000..9b7b7c4e --- /dev/null +++ b/world/map/npc/043-3/_nodes.txt @@ -0,0 +1,4 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Sandy Dungeon Level 1 nodes + +// (no nodes) diff --git a/world/map/npc/043-4/_import.txt b/world/map/npc/043-4/_import.txt index a7200a7e..83403eaf 100644 --- a/world/map/npc/043-4/_import.txt +++ b/world/map/npc/043-4/_import.txt @@ -2,5 +2,6 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. map: 043-4 npc: npc/043-4/_mobs.txt +npc: npc/043-4/_nodes.txt npc: npc/043-4/_warps.txt npc: npc/043-4/mapflags.txt diff --git a/world/map/npc/043-4/_mobs.txt b/world/map/npc/043-4/_mobs.txt index a06642d0..ae7678e6 100644 --- a/world/map/npc/043-4/_mobs.txt +++ b/world/map/npc/043-4/_mobs.txt @@ -1,61 +1,25 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. // Sandy Dungeon Level 2 mobs -043-4,139,163,7,6|monster|Terranite|1062,2,240000ms,120000ms,Mob043-4::On1062 -043-4,133,45,14,16|monster|UndeadTroll|1117,4,100000ms,50000ms,Mob043-4::On1117 -043-4,91,139,11,10|monster|UndeadTroll|1117,2,100000ms,50000ms,Mob043-4::On1117 -043-4,35,120,10,11|monster|UndeadTroll|1117,2,100000ms,50000ms,Mob043-4::On1117 -043-4,43,143,12,11|monster|UndeadWitch|1116,2,120000ms,60000ms,Mob043-4::On1116 -043-4,102,153,9,9|monster|UndeadWitch|1116,2,120000ms,60000ms,Mob043-4::On1116 -043-4,142,159,14,12|monster|UndeadWitch|1116,2,120000ms,60000ms,Mob043-4::On1116 -043-4,150,33,16,15|monster|UndeadWitch|1116,1,120000ms,60000ms,Mob043-4::On1116 -043-4,103,54,8,23|monster|UndeadTroll|1117,3,100000ms,50000ms,Mob043-4::On1117 -043-4,47,38,20,10|monster|Troll|1054,7,100000ms,50000ms,Mob043-4::On1054 -043-4,98,85,8,15|monster|Snake|1010,5,100000ms,50000ms,Mob043-4::On1010 -043-4,104,57,15,27|monster|Troll|1054,7,100000ms,50000ms,Mob043-4::On1054 -043-4,89,64,9,11|monster|BlackScorpion|1009,5,100000ms,50000ms,Mob043-4::On1009 -043-4,143,46,32,28|monster|Troll|1054,7,100000ms,50000ms,Mob043-4::On1054 -043-4,154,106,26,29|monster|BlackScorpion|1009,8,100000ms,50000ms,Mob043-4::On1009 -043-4,162,77,15,23|monster|Snake|1010,6,100000ms,50000ms,Mob043-4::On1010 -043-4,152,143,11,10|monster|BlackScorpion|1009,6,100000ms,50000ms,Mob043-4::On1009 -043-4,159,161,10,8|monster|Snake|1010,6,100000ms,50000ms,Mob043-4::On1010 -043-4,98,138,21,21|monster|Troll|1054,5,100000ms,50000ms,Mob043-4::On1054 -043-4,45,106,18,25|monster|Troll|1054,5,100000ms,50000ms,Mob043-4::On1054 -043-4,39,138,19,17|monster|BlackScorpion|1009,5,100000ms,50000ms,Mob043-4::On1009 -043-4,133,123,30,23|monster|Troll|1054,3,100000ms,50000ms,Mob043-4::On1054 - - -043-4,0,0,0|script|Mob043-4|32767 -{ - end; - -On1009: - set @mobID, 1009; - callfunc "MobPoints"; - end; - -On1010: - set @mobID, 1010; - callfunc "MobPoints"; - end; - -On1054: - set @mobID, 1054; - callfunc "MobPoints"; - end; - -On1062: - set @mobID, 1062; - callfunc "MobPoints"; - end; - -On1116: - set @mobID, 1116; - callfunc "MobPoints"; - end; - -On1117: - set @mobID, 1117; - callfunc "MobPoints"; - end; -} +043-4,139,163,7,6|monster|Terranite|1062,2,240000ms,120000ms +043-4,133,45,14,16|monster|UndeadTroll|1117,4,100000ms,50000ms +043-4,91,139,11,10|monster|UndeadTroll|1117,2,100000ms,50000ms +043-4,35,120,10,11|monster|UndeadTroll|1117,2,100000ms,50000ms +043-4,43,143,12,11|monster|UndeadWitch|1116,2,120000ms,60000ms +043-4,102,153,9,9|monster|UndeadWitch|1116,2,120000ms,60000ms +043-4,142,159,14,12|monster|UndeadWitch|1116,2,120000ms,60000ms +043-4,150,33,16,15|monster|UndeadWitch|1116,1,120000ms,60000ms +043-4,103,54,8,23|monster|UndeadTroll|1117,3,100000ms,50000ms +043-4,47,38,20,10|monster|Troll|1054,7,100000ms,50000ms +043-4,98,85,8,15|monster|Snake|1010,5,100000ms,50000ms +043-4,104,57,15,27|monster|Troll|1054,7,100000ms,50000ms +043-4,89,64,9,11|monster|BlackScorpion|1009,5,100000ms,50000ms +043-4,143,46,32,28|monster|Troll|1054,7,100000ms,50000ms +043-4,154,106,26,29|monster|BlackScorpion|1009,8,100000ms,50000ms +043-4,162,77,15,23|monster|Snake|1010,6,100000ms,50000ms +043-4,152,143,11,10|monster|BlackScorpion|1009,6,100000ms,50000ms +043-4,159,161,10,8|monster|Snake|1010,6,100000ms,50000ms +043-4,98,138,21,21|monster|Troll|1054,5,100000ms,50000ms +043-4,45,106,18,25|monster|Troll|1054,5,100000ms,50000ms +043-4,39,138,19,17|monster|BlackScorpion|1009,5,100000ms,50000ms +043-4,133,123,30,23|monster|Troll|1054,3,100000ms,50000ms diff --git a/world/map/npc/043-4/_nodes.txt b/world/map/npc/043-4/_nodes.txt new file mode 100644 index 00000000..f334a483 --- /dev/null +++ b/world/map/npc/043-4/_nodes.txt @@ -0,0 +1,4 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Sandy Dungeon Level 2 nodes + +// (no nodes) diff --git a/world/map/npc/045-1/_import.txt b/world/map/npc/045-1/_import.txt index a9101910..591b3e37 100644 --- a/world/map/npc/045-1/_import.txt +++ b/world/map/npc/045-1/_import.txt @@ -2,5 +2,6 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. map: 045-1 npc: npc/045-1/_mobs.txt +npc: npc/045-1/_nodes.txt npc: npc/045-1/_warps.txt npc: npc/045-1/mapflags.txt diff --git a/world/map/npc/045-1/_mobs.txt b/world/map/npc/045-1/_mobs.txt index 37357556..f8a3433c 100644 --- a/world/map/npc/045-1/_mobs.txt +++ b/world/map/npc/045-1/_mobs.txt @@ -1,54 +1,18 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. // Deep Snow Forest mobs -045-1,102,122,23,22|monster|Wolvern|1090,10,100000ms,30000ms,Mob045-1::On1090 -045-1,98,77,23,22|monster|Wolvern|1090,5,100000ms,30000ms,Mob045-1::On1090 -045-1,147,63,23,22|monster|Wolvern|1090,5,100000ms,30000ms,Mob045-1::On1090 -045-1,60,97,23,22|monster|Wolvern|1090,5,100000ms,30000ms,Mob045-1::On1090 -045-1,106,44,23,22|monster|Wolvern|1090,5,100000ms,30000ms,Mob045-1::On1090 -045-1,133,93,23,22|monster|Wolvern|1090,5,100000ms,30000ms,Mob045-1::On1090 -045-1,38,76,18,15|monster|Wolvern|1090,5,100000ms,30000ms,Mob045-1::On1090 -045-1,60,59,18,15|monster|Wolvern|1090,5,100000ms,30000ms,Mob045-1::On1090 -045-1,0,0,0,0|monster|Squirrel|1038,40,100000ms,30000ms,Mob045-1::On1038 -045-1,0,0,0,0|monster|Reinboo|1094,30,100000ms,30000ms,Mob045-1::On1094 -045-1,0,0,0,0|monster|Fluffy|1020,40,100000ms,30000ms,Mob045-1::On1020 -045-1,0,0,0,0|monster|WhiteBell|1095,5,100000ms,30000ms,Mob045-1::On1095 -045-1,47,145,25,25|monster|IceGoblin|1058,4,100000ms,30000ms,Mob045-1::On1058 -045-1,150,126,25,24|monster|IceGoblin|1058,4,100000ms,30000ms,Mob045-1::On1058 -045-1,104,149,79,10|monster|IceGoblin|1058,4,100000ms,30000ms,Mob045-1::On1058 - - -045-1,0,0,0|script|Mob045-1|32767 -{ - end; - -On1020: - set @mobID, 1020; - callfunc "MobPoints"; - end; - -On1038: - set @mobID, 1038; - callfunc "MobPoints"; - end; - -On1058: - set @mobID, 1058; - callfunc "MobPoints"; - end; - -On1090: - set @mobID, 1090; - callfunc "MobPoints"; - end; - -On1094: - set @mobID, 1094; - callfunc "MobPoints"; - end; - -On1095: - set @mobID, 1095; - callfunc "MobPoints"; - end; -} +045-1,102,122,23,22|monster|Wolvern|1090,10,100000ms,30000ms +045-1,98,77,23,22|monster|Wolvern|1090,5,100000ms,30000ms +045-1,147,63,23,22|monster|Wolvern|1090,5,100000ms,30000ms +045-1,60,97,23,22|monster|Wolvern|1090,5,100000ms,30000ms +045-1,106,44,23,22|monster|Wolvern|1090,5,100000ms,30000ms +045-1,133,93,23,22|monster|Wolvern|1090,5,100000ms,30000ms +045-1,38,76,18,15|monster|Wolvern|1090,5,100000ms,30000ms +045-1,60,59,18,15|monster|Wolvern|1090,5,100000ms,30000ms +045-1,0,0,0,0|monster|Squirrel|1038,40,100000ms,30000ms +045-1,0,0,0,0|monster|Reinboo|1094,30,100000ms,30000ms +045-1,0,0,0,0|monster|Fluffy|1020,40,100000ms,30000ms +045-1,0,0,0,0|monster|WhiteBell|1095,5,100000ms,30000ms +045-1,47,145,25,25|monster|IceGoblin|1058,4,100000ms,30000ms +045-1,150,126,25,24|monster|IceGoblin|1058,4,100000ms,30000ms +045-1,104,149,79,10|monster|IceGoblin|1058,4,100000ms,30000ms diff --git a/world/map/npc/045-1/_nodes.txt b/world/map/npc/045-1/_nodes.txt new file mode 100644 index 00000000..9ef28c87 --- /dev/null +++ b/world/map/npc/045-1/_nodes.txt @@ -0,0 +1,4 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Deep Snow Forest nodes + +// (no nodes) diff --git a/world/map/npc/046-1/_import.txt b/world/map/npc/046-1/_import.txt index 9c11acb7..2700ea85 100644 --- a/world/map/npc/046-1/_import.txt +++ b/world/map/npc/046-1/_import.txt @@ -2,5 +2,6 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. map: 046-1 npc: npc/046-1/_mobs.txt +npc: npc/046-1/_nodes.txt npc: npc/046-1/_warps.txt npc: npc/046-1/mapflags.txt diff --git a/world/map/npc/046-1/_mobs.txt b/world/map/npc/046-1/_mobs.txt index d5551ecd..919cca57 100644 --- a/world/map/npc/046-1/_mobs.txt +++ b/world/map/npc/046-1/_mobs.txt @@ -1,55 +1,14 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. // Rock Plateau mobs -046-1,0,7,0,0|monster|Reinboo|1094,40,100000ms,30000ms,Mob046-1::On1094 -046-1,0,7,0,0|monster|Fluffy|1020,50,100000ms,30000ms,Mob046-1::On1020 -046-1,0,7,0,0|monster|Squirrel|1038,50,100000ms,30000ms,Mob046-1::On1038 -046-1,44,35,52,20|monster|Moggun|1061,12,100000ms,30000ms,Mob046-1::On1061 -046-1,0,7,0,0|monster|Yeti|1072,2,100000ms,30000ms,Mob046-1::On1072 -046-1,87,101,23,13|monster|Wolvern|1090,5,100000ms,30000ms,Mob046-1::On1090 -046-1,0,7,0,0|monster|WhiteBell|1095,9,100000ms,30000ms,Mob046-1::On1095 -046-1,72,59,15,12|monster|Wolvern|1090,2,100000ms,30000ms,Mob046-1::On1090 -046-1,36,112,10,9|monster|Wolvern|1090,2,100000ms,30000ms,Mob046-1::On1090 -046-1,115,40,45,33|monster|Wolvern|1090,7,100000ms,30000ms,Mob046-1::On1090 -046-1,145,67,10,9|monster|Wolvern|1090,2,100000ms,30000ms,Mob046-1::On1090 - - -046-1,0,0,0|script|Mob046-1|32767 -{ - end; - -On1020: - set @mobID, 1020; - callfunc "MobPoints"; - end; - -On1038: - set @mobID, 1038; - callfunc "MobPoints"; - end; - -On1061: - set @mobID, 1061; - callfunc "MobPoints"; - end; - -On1072: - set @mobID, 1072; - callfunc "MobPoints"; - end; - -On1090: - set @mobID, 1090; - callfunc "MobPoints"; - end; - -On1094: - set @mobID, 1094; - callfunc "MobPoints"; - end; - -On1095: - set @mobID, 1095; - callfunc "MobPoints"; - end; -} +046-1,0,7,0,0|monster|Reinboo|1094,40,100000ms,30000ms +046-1,0,7,0,0|monster|Fluffy|1020,50,100000ms,30000ms +046-1,0,7,0,0|monster|Squirrel|1038,50,100000ms,30000ms +046-1,44,35,52,20|monster|Moggun|1061,12,100000ms,30000ms +046-1,0,7,0,0|monster|Yeti|1072,2,100000ms,30000ms +046-1,87,101,23,13|monster|Wolvern|1090,5,100000ms,30000ms +046-1,0,7,0,0|monster|WhiteBell|1095,9,100000ms,30000ms +046-1,72,59,15,12|monster|Wolvern|1090,2,100000ms,30000ms +046-1,36,112,10,9|monster|Wolvern|1090,2,100000ms,30000ms +046-1,115,40,45,33|monster|Wolvern|1090,7,100000ms,30000ms +046-1,145,67,10,9|monster|Wolvern|1090,2,100000ms,30000ms diff --git a/world/map/npc/046-1/_nodes.txt b/world/map/npc/046-1/_nodes.txt new file mode 100644 index 00000000..9075a159 --- /dev/null +++ b/world/map/npc/046-1/_nodes.txt @@ -0,0 +1,4 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Rock Plateau nodes + +// (no nodes) diff --git a/world/map/npc/046-3/_import.txt b/world/map/npc/046-3/_import.txt index 24769cc4..d06b31c5 100644 --- a/world/map/npc/046-3/_import.txt +++ b/world/map/npc/046-3/_import.txt @@ -2,5 +2,6 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. map: 046-3 npc: npc/046-3/_mobs.txt +npc: npc/046-3/_nodes.txt npc: npc/046-3/_warps.txt npc: npc/046-3/mapflags.txt diff --git a/world/map/npc/046-3/_mobs.txt b/world/map/npc/046-3/_mobs.txt index 95c498ed..d75b5f5a 100644 --- a/world/map/npc/046-3/_mobs.txt +++ b/world/map/npc/046-3/_mobs.txt @@ -1,54 +1,18 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. // Frosty Underground mobs -046-3,68,101,12,8|monster|Yeti|1072,2,100000ms,30000ms,Mob046-3::On1072 -046-3,0,0,0,0|monster|IceGoblin|1058,20,100000ms,30000ms,Mob046-3::On1058 -046-3,55,61,25,26|monster|Moggun|1061,14,100000ms,30000ms,Mob046-3::On1061 -046-3,119,104,5,4|monster|IceElement|1071,1,100000ms,30000ms,Mob046-3::On1071 -046-3,132,71,9,7|monster|WhiteSlime|1093,4,100000ms,30000ms,Mob046-3::On1093 -046-3,107,85,14,9|monster|BlueSlime|1091,2,100000ms,30000ms,Mob046-3::On1091 -046-3,98,77,6,4|monster|WhiteSlime|1093,4,100000ms,30000ms,Mob046-3::On1093 -046-3,70,82,6,4|monster|WhiteSlime|1093,6,100000ms,30000ms,Mob046-3::On1093 -046-3,106,34,6,4|monster|WhiteSlime|1093,4,100000ms,30000ms,Mob046-3::On1093 -046-3,33,37,6,4|monster|WhiteSlime|1093,4,100000ms,30000ms,Mob046-3::On1093 -046-3,144,105,14,9|monster|BlueSlime|1091,2,100000ms,30000ms,Mob046-3::On1091 -046-3,152,55,14,9|monster|BlueSlime|1091,2,100000ms,30000ms,Mob046-3::On1091 -046-3,84,53,14,9|monster|BlueSlime|1091,2,100000ms,30000ms,Mob046-3::On1091 -046-3,47,23,15,10|monster|IceElement|1071,2,100000ms,30000ms,Mob046-3::On1071 -046-3,113,48,12,8|monster|Yeti|1072,2,100000ms,30000ms,Mob046-3::On1072 - - -046-3,0,0,0|script|Mob046-3|32767 -{ - end; - -On1058: - set @mobID, 1058; - callfunc "MobPoints"; - end; - -On1061: - set @mobID, 1061; - callfunc "MobPoints"; - end; - -On1071: - set @mobID, 1071; - callfunc "MobPoints"; - end; - -On1072: - set @mobID, 1072; - callfunc "MobPoints"; - end; - -On1091: - set @mobID, 1091; - callfunc "MobPoints"; - end; - -On1093: - set @mobID, 1093; - callfunc "MobPoints"; - end; -} +046-3,68,101,12,8|monster|Yeti|1072,2,100000ms,30000ms +046-3,0,0,0,0|monster|IceGoblin|1058,20,100000ms,30000ms +046-3,55,61,25,26|monster|Moggun|1061,14,100000ms,30000ms +046-3,119,104,5,4|monster|IceElement|1071,1,100000ms,30000ms +046-3,132,71,9,7|monster|WhiteSlime|1093,4,100000ms,30000ms +046-3,107,85,14,9|monster|BlueSlime|1091,2,100000ms,30000ms +046-3,98,77,6,4|monster|WhiteSlime|1093,4,100000ms,30000ms +046-3,70,82,6,4|monster|WhiteSlime|1093,6,100000ms,30000ms +046-3,106,34,6,4|monster|WhiteSlime|1093,4,100000ms,30000ms +046-3,33,37,6,4|monster|WhiteSlime|1093,4,100000ms,30000ms +046-3,144,105,14,9|monster|BlueSlime|1091,2,100000ms,30000ms +046-3,152,55,14,9|monster|BlueSlime|1091,2,100000ms,30000ms +046-3,84,53,14,9|monster|BlueSlime|1091,2,100000ms,30000ms +046-3,47,23,15,10|monster|IceElement|1071,2,100000ms,30000ms +046-3,113,48,12,8|monster|Yeti|1072,2,100000ms,30000ms diff --git a/world/map/npc/046-3/_nodes.txt b/world/map/npc/046-3/_nodes.txt new file mode 100644 index 00000000..42beb88a --- /dev/null +++ b/world/map/npc/046-3/_nodes.txt @@ -0,0 +1,4 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Frosty Underground nodes + +// (no nodes) diff --git a/world/map/npc/047-1/_import.txt b/world/map/npc/047-1/_import.txt index 7dbebdc4..d99b52f5 100644 --- a/world/map/npc/047-1/_import.txt +++ b/world/map/npc/047-1/_import.txt @@ -2,5 +2,6 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. map: 047-1 npc: npc/047-1/_mobs.txt +npc: npc/047-1/_nodes.txt npc: npc/047-1/_warps.txt npc: npc/047-1/mapflags.txt diff --git a/world/map/npc/047-1/_mobs.txt b/world/map/npc/047-1/_mobs.txt index a502dcdf..8c709dff 100644 --- a/world/map/npc/047-1/_mobs.txt +++ b/world/map/npc/047-1/_mobs.txt @@ -1,76 +1,25 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. // snow Hills mobs -047-1,37,175,3,2|monster|WhiteSlime|1093,7,100000ms,30000ms,Mob047-1::On1093 -047-1,45,75,2,2|monster|BlueSlime|1091,1,100000ms,30000ms,Mob047-1::On1091 -047-1,0,0,0,0|monster|Reinboo|1094,50,100000ms,30000ms,Mob047-1::On1094 -047-1,0,0,0,0|monster|Fluffy|1020,60,100000ms,30000ms,Mob047-1::On1020 -047-1,0,0,0,0|monster|Squirrel|1038,60,100000ms,30000ms,Mob047-1::On1038 -047-1,81,125,103,56|monster|Moggun|1061,25,100000ms,30000ms,Mob047-1::On1061 -047-1,189,123,25,36|monster|Wolvern|1090,6,100000ms,30000ms,Mob047-1::On1090 -047-1,160,115,25,20|monster|Wolvern|1090,6,100000ms,30000ms,Mob047-1::On1090 -047-1,169,163,48,31|monster|Wolvern|1090,6,100000ms,30000ms,Mob047-1::On1090 -047-1,58,71,48,31|monster|Wolvern|1090,6,100000ms,30000ms,Mob047-1::On1090 -047-1,122,116,20,24|monster|Wolvern|1090,6,100000ms,30000ms,Mob047-1::On1090 -047-1,110,173,25,20|monster|Wolvern|1090,6,100000ms,30000ms,Mob047-1::On1090 -047-1,108,168,3,2|monster|WhiteSlime|1093,7,100000ms,30000ms,Mob047-1::On1093 -047-1,108,158,3,2|monster|BlueSlime|1091,1,100000ms,30000ms,Mob047-1::On1091 -047-1,0,0,0,0|monster|WhiteBell|1095,10,100000ms,30000ms,Mob047-1::On1095 -047-1,87,119,36,35|monster|Yeti|1072,2,100000ms,30000ms,Mob047-1::On1072 -047-1,138,22,2,2|monster|WhiteSlime|1093,4,100000ms,30000ms,Mob047-1::On1093 -047-1,157,66,2,2|monster|WhiteSlime|1093,4,100000ms,30000ms,Mob047-1::On1093 -047-1,174,46,4,5|monster|BlueSlime|1091,2,100000ms,30000ms,Mob047-1::On1091 -047-1,143,43,4,5|monster|BlueSlime|1091,2,100000ms,30000ms,Mob047-1::On1091 -047-1,122,61,2,2|monster|WhiteSlime|1093,4,100000ms,30000ms,Mob047-1::On1093 -047-1,132,70,4,5|monster|BlueSlime|1091,2,100000ms,30000ms,Mob047-1::On1091 - - -047-1,0,0,0|script|Mob047-1|32767 -{ - end; - -On1020: - set @mobID, 1020; - callfunc "MobPoints"; - end; - -On1038: - set @mobID, 1038; - callfunc "MobPoints"; - end; - -On1061: - set @mobID, 1061; - callfunc "MobPoints"; - end; - -On1072: - set @mobID, 1072; - callfunc "MobPoints"; - end; - -On1090: - set @mobID, 1090; - callfunc "MobPoints"; - end; - -On1091: - set @mobID, 1091; - callfunc "MobPoints"; - end; - -On1093: - set @mobID, 1093; - callfunc "MobPoints"; - end; - -On1094: - set @mobID, 1094; - callfunc "MobPoints"; - end; - -On1095: - set @mobID, 1095; - callfunc "MobPoints"; - end; -} +047-1,37,175,3,2|monster|WhiteSlime|1093,7,100000ms,30000ms +047-1,45,75,2,2|monster|BlueSlime|1091,1,100000ms,30000ms +047-1,0,0,0,0|monster|Reinboo|1094,50,100000ms,30000ms +047-1,0,0,0,0|monster|Fluffy|1020,60,100000ms,30000ms +047-1,0,0,0,0|monster|Squirrel|1038,60,100000ms,30000ms +047-1,81,125,103,56|monster|Moggun|1061,25,100000ms,30000ms +047-1,189,123,25,36|monster|Wolvern|1090,6,100000ms,30000ms +047-1,160,115,25,20|monster|Wolvern|1090,6,100000ms,30000ms +047-1,169,163,48,31|monster|Wolvern|1090,6,100000ms,30000ms +047-1,58,71,48,31|monster|Wolvern|1090,6,100000ms,30000ms +047-1,122,116,20,24|monster|Wolvern|1090,6,100000ms,30000ms +047-1,110,173,25,20|monster|Wolvern|1090,6,100000ms,30000ms +047-1,108,168,3,2|monster|WhiteSlime|1093,7,100000ms,30000ms +047-1,108,158,3,2|monster|BlueSlime|1091,1,100000ms,30000ms +047-1,0,0,0,0|monster|WhiteBell|1095,10,100000ms,30000ms +047-1,87,119,36,35|monster|Yeti|1072,2,100000ms,30000ms +047-1,138,22,2,2|monster|WhiteSlime|1093,4,100000ms,30000ms +047-1,157,66,2,2|monster|WhiteSlime|1093,4,100000ms,30000ms +047-1,174,46,4,5|monster|BlueSlime|1091,2,100000ms,30000ms +047-1,143,43,4,5|monster|BlueSlime|1091,2,100000ms,30000ms +047-1,122,61,2,2|monster|WhiteSlime|1093,4,100000ms,30000ms +047-1,132,70,4,5|monster|BlueSlime|1091,2,100000ms,30000ms diff --git a/world/map/npc/047-1/_nodes.txt b/world/map/npc/047-1/_nodes.txt new file mode 100644 index 00000000..d910c062 --- /dev/null +++ b/world/map/npc/047-1/_nodes.txt @@ -0,0 +1,4 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// snow Hills nodes + +// (no nodes) diff --git a/world/map/npc/047-3/_import.txt b/world/map/npc/047-3/_import.txt index 4f711642..5250ad76 100644 --- a/world/map/npc/047-3/_import.txt +++ b/world/map/npc/047-3/_import.txt @@ -2,5 +2,6 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. map: 047-3 npc: npc/047-3/_mobs.txt +npc: npc/047-3/_nodes.txt npc: npc/047-3/_warps.txt npc: npc/047-3/mapflags.txt diff --git a/world/map/npc/047-3/_mobs.txt b/world/map/npc/047-3/_mobs.txt index adf84729..2b0f3338 100644 --- a/world/map/npc/047-3/_mobs.txt +++ b/world/map/npc/047-3/_mobs.txt @@ -1,60 +1,24 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. // Snow Hills Cave mobs -047-3,56,135,9,8|monster|WhiteSlime|1093,7,100000ms,30000ms,Mob047-3::On1093 -047-3,35,153,6,6|monster|WhiteSlime|1093,7,100000ms,30000ms,Mob047-3::On1093 -047-3,39,104,9,8|monster|WhiteSlime|1093,7,100000ms,30000ms,Mob047-3::On1093 -047-3,73,153,9,8|monster|WhiteSlime|1093,7,100000ms,30000ms,Mob047-3::On1093 -047-3,64,104,3,3|monster|WhiteSlime|1093,7,100000ms,30000ms,Mob047-3::On1093 -047-3,24,168,6,4|monster|BlueSlime|1091,2,100000ms,30000ms,Mob047-3::On1091 -047-3,87,134,5,3|monster|BlueSlime|1091,2,100000ms,30000ms,Mob047-3::On1091 -047-3,55,122,5,3|monster|BlueSlime|1091,2,100000ms,30000ms,Mob047-3::On1091 -047-3,35,128,5,3|monster|BlueSlime|1091,2,100000ms,30000ms,Mob047-3::On1091 -047-3,53,84,5,3|monster|BlueSlime|1091,2,100000ms,30000ms,Mob047-3::On1091 -047-3,75,136,21,26|monster|Moggun|1061,5,100000ms,30000ms,Mob047-3::On1061 -047-3,39,31,42,21|monster|Moggun|1061,12,100000ms,30000ms,Mob047-3::On1061 -047-3,40,31,5,3|monster|IceSkull|1085,2,100000ms,30000ms,Mob047-3::On1085 -047-3,122,157,21,16|monster|Yeti|1072,2,100000ms,30000ms,Mob047-3::On1072 -047-3,102,166,15,13|monster|IceSkull|1085,5,100000ms,30000ms,Mob047-3::On1085 -047-3,109,81,15,13|monster|IceElement|1071,1,100000ms,30000ms,Mob047-3::On1071 -047-3,123,90,5,3|monster|BlueSlime|1091,2,100000ms,30000ms,Mob047-3::On1091 -047-3,109,97,9,8|monster|WhiteSlime|1093,7,100000ms,30000ms,Mob047-3::On1093 -047-3,119,41,42,21|monster|Moggun|1061,8,100000ms,30000ms,Mob047-3::On1061 -047-3,51,94,39,14|monster|IceSkull|1085,5,100000ms,30000ms,Mob047-3::On1085 -047-3,121,172,9,8|monster|WhiteSlime|1093,7,100000ms,30000ms,Mob047-3::On1093 - - -047-3,0,0,0|script|Mob047-3|32767 -{ - end; - -On1061: - set @mobID, 1061; - callfunc "MobPoints"; - end; - -On1071: - set @mobID, 1071; - callfunc "MobPoints"; - end; - -On1072: - set @mobID, 1072; - callfunc "MobPoints"; - end; - -On1085: - set @mobID, 1085; - callfunc "MobPoints"; - end; - -On1091: - set @mobID, 1091; - callfunc "MobPoints"; - end; - -On1093: - set @mobID, 1093; - callfunc "MobPoints"; - end; -} +047-3,56,135,9,8|monster|WhiteSlime|1093,7,100000ms,30000ms +047-3,35,153,6,6|monster|WhiteSlime|1093,7,100000ms,30000ms +047-3,39,104,9,8|monster|WhiteSlime|1093,7,100000ms,30000ms +047-3,73,153,9,8|monster|WhiteSlime|1093,7,100000ms,30000ms +047-3,64,104,3,3|monster|WhiteSlime|1093,7,100000ms,30000ms +047-3,24,168,6,4|monster|BlueSlime|1091,2,100000ms,30000ms +047-3,87,134,5,3|monster|BlueSlime|1091,2,100000ms,30000ms +047-3,55,122,5,3|monster|BlueSlime|1091,2,100000ms,30000ms +047-3,35,128,5,3|monster|BlueSlime|1091,2,100000ms,30000ms +047-3,53,84,5,3|monster|BlueSlime|1091,2,100000ms,30000ms +047-3,75,136,21,26|monster|Moggun|1061,5,100000ms,30000ms +047-3,39,31,42,21|monster|Moggun|1061,12,100000ms,30000ms +047-3,40,31,5,3|monster|IceSkull|1085,2,100000ms,30000ms +047-3,122,157,21,16|monster|Yeti|1072,2,100000ms,30000ms +047-3,102,166,15,13|monster|IceSkull|1085,5,100000ms,30000ms +047-3,109,81,15,13|monster|IceElement|1071,1,100000ms,30000ms +047-3,123,90,5,3|monster|BlueSlime|1091,2,100000ms,30000ms +047-3,109,97,9,8|monster|WhiteSlime|1093,7,100000ms,30000ms +047-3,119,41,42,21|monster|Moggun|1061,8,100000ms,30000ms +047-3,51,94,39,14|monster|IceSkull|1085,5,100000ms,30000ms +047-3,121,172,9,8|monster|WhiteSlime|1093,7,100000ms,30000ms diff --git a/world/map/npc/047-3/_nodes.txt b/world/map/npc/047-3/_nodes.txt new file mode 100644 index 00000000..06534770 --- /dev/null +++ b/world/map/npc/047-3/_nodes.txt @@ -0,0 +1,4 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Snow Hills Cave nodes + +// (no nodes) diff --git a/world/map/npc/048-2/_import.txt b/world/map/npc/048-2/_import.txt index 8178036c..a820b2d4 100644 --- a/world/map/npc/048-2/_import.txt +++ b/world/map/npc/048-2/_import.txt @@ -2,6 +2,7 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. map: 048-2 npc: npc/048-2/_mobs.txt +npc: npc/048-2/_nodes.txt npc: npc/048-2/_warps.txt npc: npc/048-2/bluesageConfig.txt npc: npc/048-2/helperAccused.txt diff --git a/world/map/npc/048-2/_mobs.txt b/world/map/npc/048-2/_mobs.txt index 87b5b1d4..c9f81014 100644 --- a/world/map/npc/048-2/_mobs.txt +++ b/world/map/npc/048-2/_mobs.txt @@ -1,9 +1,3 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. // Blue Sages' Mansion mobs - - -048-2,0,0,0|script|Mob048-2|32767 -{ - end; -} diff --git a/world/map/npc/048-2/_nodes.txt b/world/map/npc/048-2/_nodes.txt new file mode 100644 index 00000000..f5923fb2 --- /dev/null +++ b/world/map/npc/048-2/_nodes.txt @@ -0,0 +1,4 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Blue Sages' Mansion nodes + +// (no nodes) diff --git a/world/map/npc/051-1/_import.txt b/world/map/npc/051-1/_import.txt index 9f93f8ef..2e99eba9 100644 --- a/world/map/npc/051-1/_import.txt +++ b/world/map/npc/051-1/_import.txt @@ -2,6 +2,7 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. map: 051-1 npc: npc/051-1/_mobs.txt +npc: npc/051-1/_nodes.txt npc: npc/051-1/_warps.txt npc: npc/051-1/desert.txt npc: npc/051-1/desertmonsters.txt diff --git a/world/map/npc/051-1/_mobs.txt b/world/map/npc/051-1/_mobs.txt index 752c527c..7569cce6 100644 --- a/world/map/npc/051-1/_mobs.txt +++ b/world/map/npc/051-1/_mobs.txt @@ -1,21 +1,5 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. // Illia outskirts mobs -051-1,42,35,42,24|monster|LogHead|1025,30,100000ms,30000ms,Mob051-1::On1025 -051-1,42,35,41,22|monster|SpikyMushroom|1019,10,100000ms,30000ms,Mob051-1::On1019 - - -051-1,0,0,0|script|Mob051-1|32767 -{ - end; - -On1019: - set @mobID, 1019; - callfunc "MobPoints"; - end; - -On1025: - set @mobID, 1025; - callfunc "MobPoints"; - end; -} +051-1,42,35,42,24|monster|LogHead|1025,30,100000ms,30000ms +051-1,42,35,41,22|monster|SpikyMushroom|1019,10,100000ms,30000ms diff --git a/world/map/npc/051-1/_nodes.txt b/world/map/npc/051-1/_nodes.txt new file mode 100644 index 00000000..86674b68 --- /dev/null +++ b/world/map/npc/051-1/_nodes.txt @@ -0,0 +1,4 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Illia outskirts nodes + +// (no nodes) diff --git a/world/map/npc/051-3/_import.txt b/world/map/npc/051-3/_import.txt index f74d6cb4..f4cae902 100644 --- a/world/map/npc/051-3/_import.txt +++ b/world/map/npc/051-3/_import.txt @@ -2,6 +2,7 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. map: 051-3 npc: npc/051-3/_mobs.txt +npc: npc/051-3/_nodes.txt npc: npc/051-3/_warps.txt npc: npc/051-3/ambush.txt npc: npc/051-3/jailslimes.txt diff --git a/world/map/npc/051-3/_mobs.txt b/world/map/npc/051-3/_mobs.txt index 711bf39c..3b10016f 100644 --- a/world/map/npc/051-3/_mobs.txt +++ b/world/map/npc/051-3/_mobs.txt @@ -1,65 +1,19 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. // Illia Bandit Cave mobs -051-3,31,52,21,13|monster|RedSlime|1008,8,100000ms,30000ms,Mob051-3::On1008 -051-3,31,52,19,14|monster|CaveMaggot|1056,3,100000ms,30000ms,Mob051-3::On1056 -051-3,56,102,3,2|monster|Spider|1012,1,100000ms,250000ms,Mob051-3::On1012 -051-3,61,102,2,2|monster|Spider|1012,1,100000ms,250000ms,Mob051-3::On1012 -051-3,65,102,2,2|monster|Spider|1012,1,100000ms,250000ms,Mob051-3::On1012 -051-3,71,109,4,2|monster|BlackScorpion|1009,1,100000ms,250000ms,Mob051-3::On1009 -051-3,59,56,12,36|monster|Bandit|1064,47,100000ms,10000ms,Mob051-3::On1064 -051-3,59,44,13,13|monster|BanditLord|1065,4,100000ms,20000ms,Mob051-3::On1065 -051-3,60,69,18,9|monster|BanditLord|1065,4,100000ms,20000ms,Mob051-3::On1065 -051-3,63,94,0,0|monster|SleepingBandit|1099,1,100000ms,60000ms,Mob051-3::On1099 -051-3,53,93,0,0|monster|SleepingBandit|1099,1,100000ms,60000ms,Mob051-3::On1099 -051-3,48,71,0,0|monster|SleepingBandit|1099,1,100000ms,60000ms,Mob051-3::On1099 -051-3,38,30,17,12|monster|Bandit|1064,12,100000ms,10000ms,Mob051-3::On1064 -051-3,39,33,11,8|monster|BanditLord|1065,2,100000ms,20000ms,Mob051-3::On1065 -051-3,80,101,10,12|monster|CopperSlime|1098,7,100000ms,60000ms,Mob051-3::On1098 -051-3,60,94,18,5|monster|CopperSlime|1098,7,100000ms,60000ms,Mob051-3::On1098 - - -051-3,0,0,0|script|Mob051-3|32767 -{ - end; - -On1008: - set @mobID, 1008; - callfunc "MobPoints"; - end; - -On1009: - set @mobID, 1009; - callfunc "MobPoints"; - end; - -On1012: - set @mobID, 1012; - callfunc "MobPoints"; - end; - -On1056: - set @mobID, 1056; - callfunc "MobPoints"; - end; - -On1064: - set @mobID, 1064; - callfunc "MobPoints"; - end; - -On1065: - set @mobID, 1065; - callfunc "MobPoints"; - end; - -On1098: - set @mobID, 1098; - callfunc "MobPoints"; - end; - -On1099: - set @mobID, 1099; - callfunc "MobPoints"; - end; -} +051-3,31,52,21,13|monster|RedSlime|1008,8,100000ms,30000ms +051-3,31,52,19,14|monster|CaveMaggot|1056,3,100000ms,30000ms +051-3,56,102,3,2|monster|Spider|1012,1,100000ms,250000ms +051-3,61,102,2,2|monster|Spider|1012,1,100000ms,250000ms +051-3,65,102,2,2|monster|Spider|1012,1,100000ms,250000ms +051-3,71,109,4,2|monster|BlackScorpion|1009,1,100000ms,250000ms +051-3,59,56,12,36|monster|Bandit|1064,47,100000ms,10000ms +051-3,59,44,13,13|monster|BanditLord|1065,4,100000ms,20000ms +051-3,60,69,18,9|monster|BanditLord|1065,4,100000ms,20000ms +051-3,63,94,0,0|monster|SleepingBandit|1099,1,100000ms,60000ms +051-3,53,93,0,0|monster|SleepingBandit|1099,1,100000ms,60000ms +051-3,48,71,0,0|monster|SleepingBandit|1099,1,100000ms,60000ms +051-3,38,30,17,12|monster|Bandit|1064,12,100000ms,10000ms +051-3,39,33,11,8|monster|BanditLord|1065,2,100000ms,20000ms +051-3,80,101,10,12|monster|CopperSlime|1098,7,100000ms,60000ms +051-3,60,94,18,5|monster|CopperSlime|1098,7,100000ms,60000ms diff --git a/world/map/npc/051-3/_nodes.txt b/world/map/npc/051-3/_nodes.txt new file mode 100644 index 00000000..75194dbf --- /dev/null +++ b/world/map/npc/051-3/_nodes.txt @@ -0,0 +1,4 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Illia Bandit Cave nodes + +// (no nodes) diff --git a/world/map/npc/052-1/_import.txt b/world/map/npc/052-1/_import.txt index c4c9d1e3..05e7e8e9 100644 --- a/world/map/npc/052-1/_import.txt +++ b/world/map/npc/052-1/_import.txt @@ -2,6 +2,7 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. map: 052-1 npc: npc/052-1/_mobs.txt +npc: npc/052-1/_nodes.txt npc: npc/052-1/_warps.txt npc: npc/052-1/channelling.txt npc: npc/052-1/janitor.txt diff --git a/world/map/npc/052-1/_mobs.txt b/world/map/npc/052-1/_mobs.txt index c386d5d1..96b998eb 100644 --- a/world/map/npc/052-1/_mobs.txt +++ b/world/map/npc/052-1/_mobs.txt @@ -1,15 +1,4 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. // Illia archipelago mobs -052-1,55,29,43,39|monster|AzulSlime|1100,18,100000ms,20000ms,Mob052-1::On1100 - - -052-1,0,0,0|script|Mob052-1|32767 -{ - end; - -On1100: - set @mobID, 1100; - callfunc "MobPoints"; - end; -} +052-1,55,29,43,39|monster|AzulSlime|1100,18,100000ms,20000ms diff --git a/world/map/npc/052-1/_nodes.txt b/world/map/npc/052-1/_nodes.txt new file mode 100644 index 00000000..35ee39e3 --- /dev/null +++ b/world/map/npc/052-1/_nodes.txt @@ -0,0 +1,4 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Illia archipelago nodes + +// (no nodes) diff --git a/world/map/npc/052-2/_import.txt b/world/map/npc/052-2/_import.txt index 0a8b5847..aa01af40 100644 --- a/world/map/npc/052-2/_import.txt +++ b/world/map/npc/052-2/_import.txt @@ -2,6 +2,7 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. map: 052-2 npc: npc/052-2/_mobs.txt +npc: npc/052-2/_nodes.txt npc: npc/052-2/_warps.txt npc: npc/052-2/chest.txt npc: npc/052-2/janitor.txt diff --git a/world/map/npc/052-2/_mobs.txt b/world/map/npc/052-2/_mobs.txt index 1fb96829..1d91c286 100644 --- a/world/map/npc/052-2/_mobs.txt +++ b/world/map/npc/052-2/_mobs.txt @@ -1,9 +1,3 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. // Illia forsaken inn mobs - - -052-2,0,0,0|script|Mob052-2|32767 -{ - end; -} diff --git a/world/map/npc/052-2/_nodes.txt b/world/map/npc/052-2/_nodes.txt new file mode 100644 index 00000000..38010d03 --- /dev/null +++ b/world/map/npc/052-2/_nodes.txt @@ -0,0 +1,4 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Illia forsaken inn nodes + +// (no nodes) diff --git a/world/map/npc/055-1/_import.txt b/world/map/npc/055-1/_import.txt index 10c3c13c..8760f125 100644 --- a/world/map/npc/055-1/_import.txt +++ b/world/map/npc/055-1/_import.txt @@ -2,6 +2,7 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. map: 055-1 npc: npc/055-1/_mobs.txt +npc: npc/055-1/_nodes.txt npc: npc/055-1/_warps.txt npc: npc/055-1/flowerpentagram4.txt npc: npc/055-1/mapflags.txt diff --git a/world/map/npc/055-1/_mobs.txt b/world/map/npc/055-1/_mobs.txt index 35741d32..23eba0b0 100644 --- a/world/map/npc/055-1/_mobs.txt +++ b/world/map/npc/055-1/_mobs.txt @@ -1,86 +1,20 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. // Woodland Hills mobs -055-1,68,72,22,19|monster|Butterfly|1055,16,10000ms,85000ms,Mob055-1::On1055 -055-1,87,29,55,14|monster|Silkworm|1035,15,10000ms,85000ms,Mob055-1::On1035 -055-1,79,30,84,17|monster|Squirrel|1038,10,10000ms,45000ms,Mob055-1::On1038 -055-1,0,0,0,0|monster|Mouboo|1028,15,10000ms,85000ms,Mob055-1::On1028 -055-1,91,49,6,4|monster|CloverPatch|1037,1,10000ms,180000ms,Mob055-1::On1037 -055-1,103,54,5,3|monster|CloverPatch|1037,1,10000ms,180000ms,Mob055-1::On1037 -055-1,64,75,27,16|monster|CloverPatch|1037,1,10000ms,120000ms,Mob055-1::On1037 -055-1,80,34,82,25|monster|Snail|1041,3,10000ms,85000ms,Mob055-1::On1041 -055-1,70,72,17,24|monster|AlizarinPlant|1032,2,10000ms,60000ms,Mob055-1::On1032 -055-1,81,32,81,22|monster|AlizarinPlant|1032,2,10000ms,60000ms,Mob055-1::On1032 -055-1,0,0,0,0|monster|MauvePlant|1029,7,10000ms,55000ms,Mob055-1::On1029 -055-1,0,0,0,0|monster|CobaltPlant|1030,3,10000ms,60000ms,Mob055-1::On1030 -055-1,0,0,0,0|monster|GambogePlant|1031,2,10000ms,60000ms,Mob055-1::On1031 -055-1,116,60,4,2|monster|PinkFlower|1014,1,10000ms,45000ms,Mob055-1::On1014 -055-1,97,60,4,2|monster|PinkFlower|1014,1,10000ms,45000ms,Mob055-1::On1014 -055-1,64,73,23,17|monster|PinkFlower|1014,1,10000ms,45000ms,Mob055-1::On1014 -055-1,0,0,0,0|monster|SpikyMushroom|1019,7,10000ms,60000ms,Mob055-1::On1019 - - -055-1,0,0,0|script|Mob055-1|32767 -{ - end; - -On1014: - set @mobID, 1014; - callfunc "MobPoints"; - end; - -On1019: - set @mobID, 1019; - callfunc "MobPoints"; - end; - -On1028: - set @mobID, 1028; - callfunc "MobPoints"; - end; - -On1029: - set @mobID, 1029; - callfunc "MobPoints"; - end; - -On1030: - set @mobID, 1030; - callfunc "MobPoints"; - end; - -On1031: - set @mobID, 1031; - callfunc "MobPoints"; - end; - -On1032: - set @mobID, 1032; - callfunc "MobPoints"; - end; - -On1035: - set @mobID, 1035; - callfunc "MobPoints"; - end; - -On1037: - set @mobID, 1037; - callfunc "MobPoints"; - end; - -On1038: - set @mobID, 1038; - callfunc "MobPoints"; - end; - -On1041: - set @mobID, 1041; - callfunc "MobPoints"; - end; - -On1055: - set @mobID, 1055; - callfunc "MobPoints"; - end; -} +055-1,68,72,22,19|monster|Butterfly|1055,16,10000ms,85000ms +055-1,87,29,55,14|monster|Silkworm|1035,15,10000ms,85000ms +055-1,79,30,84,17|monster|Squirrel|1038,10,10000ms,45000ms +055-1,0,0,0,0|monster|Mouboo|1028,15,10000ms,85000ms +055-1,91,49,6,4|monster|CloverPatch|1037,1,10000ms,180000ms +055-1,103,54,5,3|monster|CloverPatch|1037,1,10000ms,180000ms +055-1,64,75,27,16|monster|CloverPatch|1037,1,10000ms,120000ms +055-1,80,34,82,25|monster|Snail|1041,3,10000ms,85000ms +055-1,70,72,17,24|monster|AlizarinPlant|1032,2,10000ms,60000ms +055-1,81,32,81,22|monster|AlizarinPlant|1032,2,10000ms,60000ms +055-1,0,0,0,0|monster|MauvePlant|1029,7,10000ms,55000ms +055-1,0,0,0,0|monster|CobaltPlant|1030,3,10000ms,60000ms +055-1,0,0,0,0|monster|GambogePlant|1031,2,10000ms,60000ms +055-1,116,60,4,2|monster|PinkFlower|1014,1,10000ms,45000ms +055-1,97,60,4,2|monster|PinkFlower|1014,1,10000ms,45000ms +055-1,64,73,23,17|monster|PinkFlower|1014,1,10000ms,45000ms +055-1,0,0,0,0|monster|SpikyMushroom|1019,7,10000ms,60000ms diff --git a/world/map/npc/055-1/_nodes.txt b/world/map/npc/055-1/_nodes.txt new file mode 100644 index 00000000..e6da33ea --- /dev/null +++ b/world/map/npc/055-1/_nodes.txt @@ -0,0 +1,16 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Woodland Hills nodes + +055-1,0,0,0|script|Node055-1|32767 +{ + end; +OnInit: + setarray .m$, "_N-Pumpkin", "055-1", "055-1", "055-1"; + setarray .x1, "_N-Pumpkin", 129, 133, 41; + setarray .y1, "_N-Pumpkin", 23, 27, 22; + setarray .x2, "_N-Pumpkin", 135, 139, 47; + setarray .y2, "_N-Pumpkin", 26, 33, 30; + setarray .id, "_N-Pumpkin", 0, 0, 0; + donpcevent "_N-Pumpkin::OnMaybeStart"; + destroy; +} diff --git a/world/map/npc/055-1/pumpkins.txt b/world/map/npc/055-1/pumpkins.txt index 96931e04..64b145c8 100644 --- a/world/map/npc/055-1/pumpkins.txt +++ b/world/map/npc/055-1/pumpkins.txt @@ -1,18 +1,18 @@ -// Pumpkin mobs for the seasonal halloween event with Oscar -055-1,48,25,16,8|monster|Pumpkin|1063,12,10000ms,5000ms,PumpkinMob055-1::On1063 -055-1,139,29,5,7|monster|Pumpkin|1063,7,10000ms,5000ms,PumpkinMob055-1::On1063 -055-1,132,24,6,4|monster|Pumpkin|1063,4,10000ms,5000ms,PumpkinMob055-1::On1063 +055-1,0,0,0|script|_N-Pumpkin|32767 +{ +////////////////////////////////// +// puppet logic below -055-1,0,0,0|script|PumpkinMob055-1|32767 -{ - end; + set @distance_handler, 1; // silent + set @npc_distance, (1-2); // -1 means attack range + callfunc "PCtoNPCRange"; + if (@npc_check) end; -On1063: if (Quest_Halloween != 1 || !(gettime(6) == 11 && (gettime(5) >= 4 && gettime(5) <= 30))) goto L_HeavyPoison; if (@discover_poisonous_pumpkin == 0) - message strcharinfo(0), "Yuke, this pumpkin released some ugly poison gas!"; + message strcharinfo(0), "Pumpkin : Yuke, this pumpkin released some ugly poison gas!"; set @discover_poisonous_pumpkin, 1; misceffect FX_PUMPKIN_EXPLOSION, strcharinfo(0); heal -15, 0; @@ -25,44 +25,122 @@ On1063: set @mobID, 1063; callfunc "MobPoints"; - end; + goto L_Destroy; L_EnoughSeeds: - message strcharinfo(0), $@halloween_num_seeds + " should be enough seeds for Oscar. And this pumpkin gas gets too bad to stand it any longer..."; + message strcharinfo(0), "Pumpkin : " + $@halloween_num_seeds + " should be enough seeds for Oscar. And this pumpkin gas gets too bad to stand it any longer..."; set Quest_Halloween, 2; // Reset this to get the message for the "heavy" poison set @discover_poisonous_pumpkin, 0; - end; + goto L_Destroy; L_HeavyPoison: if (@discover_poisonous_pumpkin == 0) goto L_HeavyPoison0; if (@discover_poisonous_pumpkin == 1) goto L_HeavyPoison1; - if (@discover_poisonous_pumpkin > 1) - goto L_HeavyPoison2; - end; + goto L_HeavyPoison2; L_HeavyPoison0: set @discover_poisonous_pumpkin, @discover_poisonous_pumpkin + 1; - message strcharinfo(0), "Ouch, this pumpkin is totally poisonous! Let's get away from them!"; + message strcharinfo(0), "Pumpkin : Ouch, this pumpkin is totally poisonous! Let's get away from them!"; misceffect FX_PUMPKIN_EXPLOSION, strcharinfo(0); heal -150,0; sc_start sc_poison, 1, 60; - end; + goto L_Destroy; L_HeavyPoison1: set @discover_poisonous_pumpkin, @discover_poisonous_pumpkin + 1; - message strcharinfo(0), "This is really awful! I should not touch them!"; + message strcharinfo(0), "Pumpkin : This is really awful! I should not touch them!"; misceffect FX_PUMPKIN_EXPLOSION, strcharinfo(0); heal -350,0; sc_start sc_poison, 1, 120; - end; + goto L_Destroy; L_HeavyPoison2: set @discover_poisonous_pumpkin, @discover_poisonous_pumpkin + 1; misceffect FX_PUMPKIN_EXPLOSION, strcharinfo(0); heal -Hp, 0; + goto L_Destroy; + +OnAppear: + fakenpcname strnpcinfo(0), strnpcinfo(0), 1063; // switch npc id to 1063 end; +L_Destroy: + set .nodes[.i], get(.nodes[.i], "_N-Pumpkin") - 1, "_N-Pumpkin"; // tell the puppeteer we lost an egg + destroy; + + +////////////////////////////////// +// puppeteer logic below + +S_MakeNode: + set .nID, .nID + 1; // give the node an id + set .@name$, "#_Pkin" + chr(3) + .nID; + goto S_FindXY; + +S_FindXY: + set .@x, rand(.x1[.i], .x2[.i]); + set .@y, rand(.y1[.i], .y2[.i]); + if (iscollision(.m$[.i], .@x, .@y) == 1) + goto S_FindXY; + goto S_ReallySpawn; + +S_ReallySpawn: + set .@p, puppet(.m$[.i], .@x, .@y, .@name$, 32767); // spawn the node + set .i, .i, .@p; // tell the puppet what object contains it + set .@timer, if_then_else(.done_initial[.i], rand(.death_t/2, .death_t), 0); // timer depends on if first spawn or if respawned after death + addnpctimer .@timer, .@name$+"::OnAppear"; // we spawn the node instantly but it only appears after the timer + if (.nID == 2147483647) + set .nID, 0; // start over if id = 0x7FFFFFFF + return; + +S_IterateObjects: + if (.min_nodes[.i] == 0) + set .min_nodes[.i], (.min * min(1, ((.x2[.i] - .x1[.i]) * (.y2[.i] - .y1[.i])) / .divisor)); + if (.max_nodes[.i] == 0) + set .max_nodes[.i], (.max * max(1, ((.x2[.i] - .x1[.i]) * (.y2[.i] - .y1[.i])) / .divisor)); + + if (.nodes[.i] >= .max_nodes[.i]) + goto S_NextObject; + + set .nodes[.i], .nodes[.i] + 1; + callsub S_MakeNode; + if (.nodes[.i] < if_then_else(.done_initial[.i], .min_nodes[.i], .max_nodes[.i])) + goto S_IterateObjects; + goto S_NextObject; + +S_NextObject: + set .done_initial[.i], 1; + if (.i >= (.count - 1)) + goto S_Return; + set .i, .i + 1; // object iterator++ + goto S_IterateObjects; + +S_Return: + return; + +OnHeartbeat: + set .i, 1; // object iterator + freeloop 1; + callsub S_IterateObjects; + freeloop 0; + addnpctimer .spawn_t, strnpcinfo(0) + "::OnHeartbeat"; // heartbeat + end; + +OnMaybeStart: + if (.x1[1] == 0) + end; + set .min, 0; // relative min number of nodes per object => (min * (((x2 - x1) * (y2 - y1)) / divisor)) + set .max, 5; // relative max number of nodes per object => (max * (((x2 - x1) * (y2 - y1)) / divisor)) + set .divisor, 32; // see .min & .max ^ + set .count, getarraysize(.x1); // number of nodes objects in TSX + set .spawn_t, 18000; // heartbeat rate + set .death_t, 40000; // rand(timer/2, timer) before a node appears + if (.started) + end; + set .started, 1; + addnpctimer 10000, strnpcinfo(0)+"::OnHeartbeat"; // first heartbeat + end; } diff --git a/world/map/npc/055-3/_import.txt b/world/map/npc/055-3/_import.txt index b1073d34..82962c3f 100644 --- a/world/map/npc/055-3/_import.txt +++ b/world/map/npc/055-3/_import.txt @@ -2,5 +2,6 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. map: 055-3 npc: npc/055-3/_mobs.txt +npc: npc/055-3/_nodes.txt npc: npc/055-3/_warps.txt npc: npc/055-3/mapflags.txt diff --git a/world/map/npc/055-3/_mobs.txt b/world/map/npc/055-3/_mobs.txt index bc14b844..686b2172 100644 --- a/world/map/npc/055-3/_mobs.txt +++ b/world/map/npc/055-3/_mobs.txt @@ -1,47 +1,11 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. // Cave mobs -055-3,45,44,20,14|monster|RedSlime|1008,10,10000ms,60000ms,Mob055-3::On1008 -055-3,0,0,1,1|monster|Bat|1017,20,10000ms,45000ms,Mob055-3::On1017 -055-3,53,75,28,40|monster|YellowSlime|1007,10,10000ms,60000ms,Mob055-3::On1007 -055-3,0,0,1,1|monster|BlackScorpion|1009,8,10000ms,35000ms,Mob055-3::On1009 -055-3,0,0,1,1|monster|Spider|1012,8,10000ms,35000ms,Mob055-3::On1012 -055-3,0,0,1,1|monster|Snake|1010,3,10000ms,20000ms,Mob055-3::On1010 -055-3,46,44,14,18|monster|Spider|1012,3,50000ms,100000ms,Mob055-3::On1012 -055-3,52,78,36,23|monster|BlackScorpion|1009,3,50000ms,100000ms,Mob055-3::On1009 - - -055-3,0,0,0|script|Mob055-3|32767 -{ - end; - -On1007: - set @mobID, 1007; - callfunc "MobPoints"; - end; - -On1008: - set @mobID, 1008; - callfunc "MobPoints"; - end; - -On1009: - set @mobID, 1009; - callfunc "MobPoints"; - end; - -On1010: - set @mobID, 1010; - callfunc "MobPoints"; - end; - -On1012: - set @mobID, 1012; - callfunc "MobPoints"; - end; - -On1017: - set @mobID, 1017; - callfunc "MobPoints"; - end; -} +055-3,45,44,20,14|monster|RedSlime|1008,10,10000ms,60000ms +055-3,0,0,1,1|monster|Bat|1017,20,10000ms,45000ms +055-3,53,75,28,40|monster|YellowSlime|1007,10,10000ms,60000ms +055-3,0,0,1,1|monster|BlackScorpion|1009,8,10000ms,35000ms +055-3,0,0,1,1|monster|Spider|1012,8,10000ms,35000ms +055-3,0,0,1,1|monster|Snake|1010,3,10000ms,20000ms +055-3,46,44,14,18|monster|Spider|1012,3,50000ms,100000ms +055-3,52,78,36,23|monster|BlackScorpion|1009,3,50000ms,100000ms diff --git a/world/map/npc/055-3/_nodes.txt b/world/map/npc/055-3/_nodes.txt new file mode 100644 index 00000000..ed02d5dc --- /dev/null +++ b/world/map/npc/055-3/_nodes.txt @@ -0,0 +1,4 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Cave nodes + +// (no nodes) diff --git a/world/map/npc/056-2/_import.txt b/world/map/npc/056-2/_import.txt index 4a48c0f5..79dda260 100644 --- a/world/map/npc/056-2/_import.txt +++ b/world/map/npc/056-2/_import.txt @@ -2,6 +2,7 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. map: 056-2 npc: npc/056-2/_mobs.txt +npc: npc/056-2/_nodes.txt npc: npc/056-2/_warps.txt npc: npc/056-2/barrier.txt npc: npc/056-2/mapflags.txt diff --git a/world/map/npc/056-2/_mobs.txt b/world/map/npc/056-2/_mobs.txt index 267e0d8a..487fdc8d 100644 --- a/world/map/npc/056-2/_mobs.txt +++ b/world/map/npc/056-2/_mobs.txt @@ -1,9 +1,3 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. // Mirak's House mobs - - -056-2,0,0,0|script|Mob056-2|32767 -{ - end; -} diff --git a/world/map/npc/056-2/_nodes.txt b/world/map/npc/056-2/_nodes.txt new file mode 100644 index 00000000..597f2336 --- /dev/null +++ b/world/map/npc/056-2/_nodes.txt @@ -0,0 +1,4 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Mirak's House nodes + +// (no nodes) diff --git a/world/map/npc/057-1/_import.txt b/world/map/npc/057-1/_import.txt index 5ccd6889..2a668bd7 100644 --- a/world/map/npc/057-1/_import.txt +++ b/world/map/npc/057-1/_import.txt @@ -2,5 +2,6 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. map: 057-1 npc: npc/057-1/_mobs.txt +npc: npc/057-1/_nodes.txt npc: npc/057-1/_warps.txt npc: npc/057-1/mapflags.txt diff --git a/world/map/npc/057-1/_mobs.txt b/world/map/npc/057-1/_mobs.txt index 5988ce83..865607ee 100644 --- a/world/map/npc/057-1/_mobs.txt +++ b/world/map/npc/057-1/_mobs.txt @@ -1,82 +1,21 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. // Woodland mobs -057-1,0,0,0,0|monster|MauvePlant|1029,5,45000ms,45000ms,Mob057-1::On1029 -057-1,0,0,0,0|monster|CobaltPlant|1030,3,10000ms,65000ms,Mob057-1::On1030 -057-1,0,0,0,0|monster|GambogePlant|1031,5,10000ms,45000ms,Mob057-1::On1031 -057-1,0,0,0,0|monster|AlizarinPlant|1032,7,10000ms,70000ms,Mob057-1::On1032 -057-1,0,0,0,0|monster|Mouboo|1028,14,10000ms,45000ms,Mob057-1::On1028 -057-1,95,42,29,9|monster|Butterfly|1055,3,10000ms,40000ms,Mob057-1::On1055 -057-1,25,48,11,46|monster|Silkworm|1035,7,10000ms,15000ms,Mob057-1::On1035 -057-1,99,40,22,16|monster|PinkFlower|1014,2,10000ms,45000ms,Mob057-1::On1014 -057-1,100,30,19,11|monster|Butterfly|1055,2,10000ms,40000ms,Mob057-1::On1055 -057-1,83,64,12,12|monster|Butterfly|1055,2,10000ms,40000ms,Mob057-1::On1055 -057-1,59,34,8,11|monster|Butterfly|1055,2,10000ms,40000ms,Mob057-1::On1055 -057-1,32,45,8,11|monster|Butterfly|1055,2,10000ms,40000ms,Mob057-1::On1055 -057-1,144,35,12,12|monster|Butterfly|1055,2,10000ms,40000ms,Mob057-1::On1055 -057-1,104,67,12,11|monster|PinkFlower|1014,2,10000ms,45000ms,Mob057-1::On1014 -057-1,135,53,12,11|monster|PinkFlower|1014,2,10000ms,45000ms,Mob057-1::On1014 -057-1,0,0,0,0|monster|SpikyMushroom|1019,10,10000ms,45000ms,Mob057-1::On1019 -057-1,0,0,0,0|monster|CloverPatch|1037,3,10000ms,180000ms,Mob057-1::On1037 -057-1,27,46,14,52|monster|Squirrel|1038,6,10000ms,50000ms,Mob057-1::On1038 - - -057-1,0,0,0|script|Mob057-1|32767 -{ - end; - -On1014: - set @mobID, 1014; - callfunc "MobPoints"; - end; - -On1019: - set @mobID, 1019; - callfunc "MobPoints"; - end; - -On1028: - set @mobID, 1028; - callfunc "MobPoints"; - end; - -On1029: - set @mobID, 1029; - callfunc "MobPoints"; - end; - -On1030: - set @mobID, 1030; - callfunc "MobPoints"; - end; - -On1031: - set @mobID, 1031; - callfunc "MobPoints"; - end; - -On1032: - set @mobID, 1032; - callfunc "MobPoints"; - end; - -On1035: - set @mobID, 1035; - callfunc "MobPoints"; - end; - -On1037: - set @mobID, 1037; - callfunc "MobPoints"; - end; - -On1038: - set @mobID, 1038; - callfunc "MobPoints"; - end; - -On1055: - set @mobID, 1055; - callfunc "MobPoints"; - end; -} +057-1,0,0,0,0|monster|MauvePlant|1029,5,45000ms,45000ms +057-1,0,0,0,0|monster|CobaltPlant|1030,3,10000ms,65000ms +057-1,0,0,0,0|monster|GambogePlant|1031,5,10000ms,45000ms +057-1,0,0,0,0|monster|AlizarinPlant|1032,7,10000ms,70000ms +057-1,0,0,0,0|monster|Mouboo|1028,14,10000ms,45000ms +057-1,95,42,29,9|monster|Butterfly|1055,3,10000ms,40000ms +057-1,25,48,11,46|monster|Silkworm|1035,7,10000ms,15000ms +057-1,99,40,22,16|monster|PinkFlower|1014,2,10000ms,45000ms +057-1,100,30,19,11|monster|Butterfly|1055,2,10000ms,40000ms +057-1,83,64,12,12|monster|Butterfly|1055,2,10000ms,40000ms +057-1,59,34,8,11|monster|Butterfly|1055,2,10000ms,40000ms +057-1,32,45,8,11|monster|Butterfly|1055,2,10000ms,40000ms +057-1,144,35,12,12|monster|Butterfly|1055,2,10000ms,40000ms +057-1,104,67,12,11|monster|PinkFlower|1014,2,10000ms,45000ms +057-1,135,53,12,11|monster|PinkFlower|1014,2,10000ms,45000ms +057-1,0,0,0,0|monster|SpikyMushroom|1019,10,10000ms,45000ms +057-1,0,0,0,0|monster|CloverPatch|1037,3,10000ms,180000ms +057-1,27,46,14,52|monster|Squirrel|1038,6,10000ms,50000ms diff --git a/world/map/npc/057-1/_nodes.txt b/world/map/npc/057-1/_nodes.txt new file mode 100644 index 00000000..3bc0c2e9 --- /dev/null +++ b/world/map/npc/057-1/_nodes.txt @@ -0,0 +1,16 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Woodland nodes + +057-1,0,0,0|script|Node057-1|32767 +{ + end; +OnInit: + setarray .m$, "_N-Pumpkin", "057-1"; + setarray .x1, "_N-Pumpkin", 25; + setarray .y1, "_N-Pumpkin", 25; + setarray .x2, "_N-Pumpkin", 35; + setarray .y2, "_N-Pumpkin", 37; + setarray .id, "_N-Pumpkin", 0; + donpcevent "_N-Pumpkin::OnMaybeStart"; + destroy; +} diff --git a/world/map/npc/annuals/fathertime.txt b/world/map/npc/annuals/fathertime.txt index 6d61f446..29406f63 100644 --- a/world/map/npc/annuals/fathertime.txt +++ b/world/map/npc/annuals/fathertime.txt @@ -6,17 +6,13 @@ OnInit: if (debug >= 2) end; - goto L_StartTimer; - -L_StartTimer: - setnpctimer 0; - initnpctimer; + donpcevent strnpcinfo(0) + "::OnTimer20000"; end; OnTimer20000: - setnpctimer 0; donpcevent "#XmasConfig::OnCommandRestartQuest"; donpcevent "#HalloweenConfig::OnCommandRestartQuest"; + donpcevent "Easter Eggs::OnCheckEaster"; initnpctimer; end; } diff --git a/world/map/npc/annuals/halloween/debug.txt b/world/map/npc/annuals/halloween/debug.txt index cbc918e2..8f3d066e 100644 --- a/world/map/npc/annuals/halloween/debug.txt +++ b/world/map/npc/annuals/halloween/debug.txt @@ -42,7 +42,6 @@ L_LastReset: goto L_Debug; L_HalloweenTimeKey: - if (getgmlevel() < 20) goto L_Close; mes "Halloween Time Key Change."; mes "Start Month?"; input @halloween_time_key_smonth; diff --git a/world/map/npc/annuals/xmas/debug.txt b/world/map/npc/annuals/xmas/debug.txt index f0170a0d..6c513ff1 100644 --- a/world/map/npc/annuals/xmas/debug.txt +++ b/world/map/npc/annuals/xmas/debug.txt @@ -96,7 +96,6 @@ L_Reset: goto L_Close; L_XmasTimeKey: - if (getgmlevel() < 20) goto L_Close; mes "Xmas Time Key Change."; mes "Start Month?"; input @xmas_time_key_smonth; diff --git a/world/map/npc/botcheck/_import.txt b/world/map/npc/botcheck/_import.txt index c54696ac..85374e51 100644 --- a/world/map/npc/botcheck/_import.txt +++ b/world/map/npc/botcheck/_import.txt @@ -2,5 +2,6 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. map: botcheck npc: npc/botcheck/_mobs.txt +npc: npc/botcheck/_nodes.txt npc: npc/botcheck/_warps.txt npc: npc/botcheck/mapflags.txt diff --git a/world/map/npc/botcheck/_mobs.txt b/world/map/npc/botcheck/_mobs.txt index 91d023cd..66a9726f 100644 --- a/world/map/npc/botcheck/_mobs.txt +++ b/world/map/npc/botcheck/_mobs.txt @@ -1,9 +1,3 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. // Botcheck Area mobs - - -botcheck,0,0,0|script|Mobbotcheck|32767 -{ - end; -} diff --git a/world/map/npc/botcheck/_nodes.txt b/world/map/npc/botcheck/_nodes.txt new file mode 100644 index 00000000..e72a6332 --- /dev/null +++ b/world/map/npc/botcheck/_nodes.txt @@ -0,0 +1,4 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Botcheck Area nodes + +// (no nodes) diff --git a/world/map/npc/commands/README.md b/world/map/npc/commands/README.md deleted file mode 100644 index b1f3c401..00000000 --- a/world/map/npc/commands/README.md +++ /dev/null @@ -1,140 +0,0 @@ -# Commands To-do -- [ ] help -- [ ] setup -- [ ] charwarp -- [ ] warp -- [ ] where -- [ ] goto -- [ ] npc -- [ ] jump -- [ ] who -- [ ] whogroup -- [ ] whomap -- [ ] whomapgroup -- [ ] whogm -- [ ] save -- [ ] return -- [ ] load -- [ ] speed -- [ ] storage -- [ ] option -- [ ] hide -- [ ] die -- [ ] kill -- [ ] alive -- [ ] kami -- [ ] heal -- [ ] item -- [ ] itemreset -- [ ] itemcheck -- [ ] blvl -- [ ] jlvl -- [ ] pvpoff -- [ ] exprate -- [ ] pvpon -- [ ] model -- [ ] spawn -- [ ] killmonster -- [ ] killmonster2 -- [ ] gat -- [ ] packet -- [ ] stpoint -- [ ] skpoint -- [X] zeny -- [ ] str -- [ ] agi -- [ ] vit -- [ ] int -- [ ] dex -- [ ] luk -- [ ] recall -- [ ] revive -- [ ] charstats -- [ ] charstatsall -- [ ] charoption -- [ ] charsave -- [ ] doom -- [ ] doommap -- [ ] raise -- [ ] raisemap -- [ ] charbaselvl -- [ ] charjlvl -- [ ] kick -- [ ] kickall -- [ ] questskill -- [ ] charquestskill -- [ ] lostskill -- [ ] charlostskill -- [ ] party -- [ ] mapexit -- [ ] idsearch -- [ ] mapmove -- [ ] broadcast -- [ ] localbroadcast -- [ ] recallall -- [ ] charskreset -- [ ] charstreset -- [ ] charreset -- [ ] charmodel -- [ ] charskpoint -- [ ] charstpoint -- [X] charzeny -- [ ] mapinfo -- [ ] dye -- [ ] ccolor -- [ ] hairstyle -- [ ] haircolor -- [ ] allstats -- [ ] charchangesex -- [ ] block -- [ ] unblock -- [ ] ban -- [ ] unban -- [ ] partyspy -- [ ] partyrecall -- [ ] enablenpc -- [ ] disablenpc -- [ ] servertime -- [ ] chardelitem -- [ ] listnearby -- [ ] email -- [ ] effect -- [ ] charitemlist -- [ ] charstoragelist -- [ ] addwarp -- [ ] pvp -- [ ] npcmove -- [ ] charpvp -- [ ] chareffect -- [ ] dropall -- [ ] chardropall -- [ ] storeall -- [ ] charstoreall -- [ ] rain -- [ ] snow -- [ ] sakura -- [ ] fog -- [ ] leaves -- [ ] summon -- [ ] adjgmlvl -- [ ] adjcmdlvl -- [ ] trade -- [ ] charwipe -- [ ] setmagic -- [ ] magicinfo -- [ ] log -- [ ] l -- [ ] tee -- [ ] t -- [ ] invisible -- [ ] visible -- [ ] hugo -- [ ] linus -- [ ] sp-info -- [ ] sp-focus -- [ ] sp-unfocus -- [ ] skill-learn -- [ ] wgm -- [ ] ipcheck -- [ ] doomspot -- [ ] source diff --git a/world/map/npc/commands/_atcommand_local.txt.example b/world/map/npc/commands/_atcommand_local.txt.example index a195d580..ec1fae51 100644 --- a/world/map/npc/commands/_atcommand_local.txt.example +++ b/world/map/npc/commands/_atcommand_local.txt.example @@ -3,10 +3,25 @@ end; OnInit: - // define permissions here + // command permissions here set .zeny, G_ADMIN; + set .charzeny, G_SYSOP; + set .debug, G_ADMIN; + set .changesex, G_DEV; + set .charchangesex, G_GM; + set .class, G_DEV; + set .charclass, G_EVENT; + + // special permissions below + set .lounge, G_TESTER; // level to enter the GM Lounge & talk to Numa + set .killthegm, G_EVENT; // this is both for the event and the magic gm top hat + set .holiday, G_DEV; // holiday debug (xmas, halloween, ...) + set .event, G_EVENT; // event debug (open portals, disguise, ...) + set .scheduled, G_DEV; // scheduled broadcasts (schedule broadcast, stop broadcast, trigger broadcast, ...) + set .motd, G_DEV; // motd debug (show/hide motd) + + // very specific debug menus + set .valia, G_DEV; // illia quest debug info - // permissions for events - set .killthegm, G_EVENT; end; } diff --git a/world/map/npc/commands/_import.txt b/world/map/npc/commands/_import.txt index 7efe4111..c0630138 100644 --- a/world/map/npc/commands/_import.txt +++ b/world/map/npc/commands/_import.txt @@ -2,3 +2,8 @@ npc: npc/commands/_procedures.txt npc: npc/commands/_atcommand_local.txt npc: npc/commands/zeny.txt npc: npc/commands/marry.txt +npc: npc/commands/debug.txt +npc: npc/commands/changesex.txt +npc: npc/commands/class.txt +npc: npc/commands/pullrabbit.txt +npc: npc/commands/numa.txt diff --git a/world/map/npc/commands/_procedures.txt b/world/map/npc/commands/_procedures.txt index 77c1c7e9..732b496f 100644 --- a/world/map/npc/commands/_procedures.txt +++ b/world/map/npc/commands/_procedures.txt @@ -1,5 +1,5 @@ // ARGV Splitter -// takes @args$ and splits it properly so that '@cmd "foo bar" baz' is ['foo bar','baz'] instead of ['foo','bar','baz'] +// takes @args$ and splits it properly so that '@cmd "foo bar" baz' is ['foo bar','baz'] instead of ['"foo','bar"','baz'] // input: @args$ (string) // output: @argv$ (array) and @argv (array) function|script|argv_splitter diff --git a/world/map/npc/commands/changesex.txt b/world/map/npc/commands/changesex.txt new file mode 100644 index 00000000..ba08783d --- /dev/null +++ b/world/map/npc/commands/changesex.txt @@ -0,0 +1,34 @@ +-|script|@changesex|32767 +{ + callfunc "argv_splitter"; + set .@n$, if_then_else(@argv$[1] != "", "char", "") + "changesex"; + if (GM < get(.changesex, "GM") && GM < G_SYSOP) goto L_GM; // check if you can use it on self + set .@target_id, BL_ID; + if (@argv$[1] != "") set .@target_id, getcharid(3, @argv$[1]); + if (@argv$[1] != "" && !(isloggedin(.@target_id))) goto L_Failed; // do NOT fallback to self + if (@argv$[1] != "" && GM < get(.charchangesex, "GM") && GM < G_SYSOP) goto L_GM; // when target is not self, use charchangesex permission + set .@s, 3; // default to non-binary + if (@argv$[0] == "M" || @argv$[0] == "m") set .@s, 1; + if (@argv$[0] == "F" || @argv$[0] == "f") set .@s, 0; + set Sex, .@s, .@target_id; + goto L_Success; + +L_Failed: + // XXX: should we allow GMs to change sex of users that are not logged in? + message strcharinfo(0), .@n$+" : Impossible to attach to the target player. Did you try putting the name in \"quotation marks\"?"; + end; + +L_Success: + gmlog "@"+.@n$+" " + @args$; + message strcharinfo(0), .@n$+" : The operation succeeded."; + end; + +L_GM: + message strcharinfo(0), .@n$+" : GM command is level "+ get(if_then_else(@argv$[1] != "", .charchangesex, .changesex), "GM") +", but you are level " + GM; + end; + +OnInit: + registercmd chr(ATCMD_SYMBOL) + "changesex", strnpcinfo(0); + registercmd chr(ATCMD_SYMBOL) + "charchangesex", strnpcinfo(0); + end; +} diff --git a/world/map/npc/commands/class.txt b/world/map/npc/commands/class.txt new file mode 100644 index 00000000..f9275591 --- /dev/null +++ b/world/map/npc/commands/class.txt @@ -0,0 +1,33 @@ +-|script|@class|32767 +{ + callfunc "argv_splitter"; + set .@n$, if_then_else(@argv$[1] != "", "char", "") + "class"; + if (GM < get(.class, "GM") && GM < G_SYSOP) goto L_GM; // check if you can use it on self + set .@target_id, BL_ID; + if (@argv$[1] != "") set .@target_id, getcharid(3, @argv$[1]); + if (@argv$[1] != "" && !(isloggedin(.@target_id))) goto L_Failed; // do NOT fallback to self + if (@argv$[1] != "" && GM < get(.charclass, "GM") && GM < G_SYSOP) goto L_GM; // when target is not self, use charclass permission + set .@c, 1; // default to human + if (@argv[0] >= 0 || @argv[0] <= 32767) set .@c, @argv[0]; + set Class, .@c, .@target_id; + goto L_Success; + +L_Failed: + // XXX: should we allow GMs to change class of users that are not logged in? + message strcharinfo(0), .@n$+" : Impossible to attach to the target player. Did you try putting the name in \"quotation marks\"?"; + end; + +L_Success: + gmlog "@"+.@n$+" " + @args$; + message strcharinfo(0), .@n$+" : The operation succeeded."; + end; + +L_GM: + message strcharinfo(0), .@n$+" : GM command is level "+ get(if_then_else(@argv$[1] != "", .charclass, .class), "GM") +", but you are level " + GM; + end; + +OnInit: + registercmd chr(ATCMD_SYMBOL) + "class", strnpcinfo(0); + registercmd chr(ATCMD_SYMBOL) + "charclass", strnpcinfo(0); + end; +} diff --git a/world/map/npc/commands/debug.txt b/world/map/npc/commands/debug.txt new file mode 100644 index 00000000..7b653b26 --- /dev/null +++ b/world/map/npc/commands/debug.txt @@ -0,0 +1,992 @@ +// Authors: alastrim, Jenalya, Ali-G + +function|script|Debug +{ + if(!@debug_npc) goto L_Begin; + mes "The debug NPCs have been deprecated. Please use this command instead:"; + mes ""; + mes "%%E ##a@debug##0"; + set @debug_npc, 0; + goto L_Close; + +L_Begin: + set @debug_mask, 65535; + set @debug_shift, 0; + set @mexp, ((MAGIC_EXPERIENCE & @debug_mask) >> @debug_shift); + mes "What do you want to do?"; + menu + "Change my level.", L_Level, + "Change my stats.", L_Status, + "Change my basic skills.", L_BasicSkills, + "Change my focus skills.", L_FocusSkills, + "Change my magic skills.", L_MagicSkills, + "Add everything.", L_AddAll, + "Reset everything.", L_ResetAll, + "Close.", L_Close; + +L_Level: + mes "What level do you want to be (min: 1 - max: 99)?"; + input @lvl; + if (@lvl < 1) + goto L_LevelTooLow; + if (@lvl > 99) + goto L_LevelTooHigh; + if (BaseLevel == @lvl) + goto L_SameLevel; + set BaseLevel, @lvl; + resetstatus; + mes "You are now level " + BaseLevel + "."; + goto L_Begin; + +L_LevelTooLow: + mes "Bad choice. Minimum level is 1."; + next; + goto L_Begin; + +L_LevelTooHigh: + mes "Bad choice. Maximum level is 99."; + next; + goto L_Begin; + +L_SameLevel: + mes "You already are level " + @lvl + "."; + next; + goto L_Begin; + +L_Status: + mes "What do you want to do?"; + menu + "Set all of my stats myself.", L_ChangeStrength, + "Set one of my stats myself.", L_ChangeSingleStat, + "Get maximum points in all stats.", L_ChangeAllStats, + "Reset my status points.", L_ResetStatusPoints, + "Back to the main menu.", L_Begin, + "Close.", L_Close; + +L_ChangeAllStats: + set Str, 99; + set Agi, 99; + set Vit, 99; + set Int, 99; + set Dex, 99; + set Luk, 99; + mes "You now have 99 in all stats."; + next; + goto L_Begin; + +L_ChangeStrength: + mes "How much strength do you want to have (min: 1 - max: 99)?"; + input @str; + if (@str < 1) + goto L_StatTooLow; + if (@str > 99) + goto L_StatTooHigh; + set Str, @str; + goto L_ChangeAgility; + +L_ChangeAgility: + mes "How much agility do you want to have (min: 1 - max: 99)?"; + input @agi; + if (@agi < 1) + goto L_StatTooLow; + if (@agi > 99) + goto L_StatTooHigh; + set Agi, @agi; + goto L_ChangeVitality; + +L_ChangeVitality: + mes "How much vitality do you want to have (min: 1 - max: 99)?"; + input @vit; + if (@vit < 1) + goto L_StatTooLow; + if (@vit > 99) + goto L_StatTooHigh; + set Vit, @vit; + goto L_ChangeIntelligence; + +L_ChangeIntelligence: + mes "How much intelligence do you want to have (min: 1 - max: 99)?"; + input @int; + if (@int < 1) + goto L_StatTooLow; + if (@int > 99) + goto L_StatTooHigh; + set Int, @int; + goto L_ChangeDexterity; + +L_ChangeDexterity: + mes "How much dexterity do you want to have (min: 1 - max: 99)?"; + input @dex; + if (@dex < 1) + goto L_StatTooLow; + if (@dex > 99) + goto L_StatTooHigh; + set Dex, @dex; + goto L_ChangeLuck; + +L_ChangeLuck: + mes "How much luck do you want to have (min: 1 - max: 99)?"; + input @luk; + if (@luk < 1) + goto L_StatTooLow; + if (@luk > 99) + goto L_StatTooHigh; + set Luk, @luk; + mes "You now have " + Str + " in strength."; + mes "You now have " + Agi + " in agility."; + mes "You now have " + Vit + " in vitality."; + mes "You now have " + Int + " in intelligence."; + mes "You now have " + Dex + " in dexterity."; + mes "You now have " + Luk + " in luck."; + next; + goto L_Begin; + +L_StatTooLow: + mes "Bad choice. Minimum stat value is 1. Aborting."; + next; + goto L_Status; + +L_StatTooHigh: + mes "Bad choice. Maximum stat value is 99. Aborting."; + next; + goto L_Status; + +L_ChangeSingleStat: + mes "Which stat do you want to change?"; + menu + "Strength.", L_ChangeStrengthSingle, + "Agility.", L_ChangeAgilitySingle, + "Vitality.", L_ChangeVitalitySingle, + "Intelligence.", L_ChangeIntelligenceSingle, + "Dexterity.", L_ChangeDexteritySingle, + "Luck.", L_ChangeLuckSingle, + "Back to the main menu.", L_Begin, + "Close.", L_Close; + +L_ChangeStrengthSingle: + mes "How much strength do you want to have (min: 1 - max: 99)?"; + input @str; + if (@str < 1) + goto L_StatTooLow; + if (@str > 99) + goto L_StatTooHigh; + set Str, @str; + mes "You now have " + Str + " in strength."; + next; + goto L_Begin; + +L_ChangeAgilitySingle: + mes "How much agility do you want to have (min: 1 - max: 99)?"; + input @agi; + if (@agi < 1) + goto L_StatTooLow; + if (@agi > 99) + goto L_StatTooHigh; + set Agi, @agi; + mes "You now have " + Agi + " in agility."; + next; + goto L_Begin; + +L_ChangeVitalitySingle: + mes "How much vitality do you want to have (min: 1 - max: 99)?"; + input @vit; + if (@vit < 1) + goto L_StatTooLow; + if (@vit > 99) + goto L_StatTooHigh; + set Vit, @vit; + mes "You now have " + Vit + " in vitality."; + next; + goto L_Begin; + +L_ChangeIntelligenceSingle: + mes "How much intelligence do you want to have (min: 1 - max: 99)?"; + input @int; + if (@int < 1) + goto L_StatTooLow; + if (@int > 99) + goto L_StatTooHigh; + set Int, @int; + mes "You now have " + Int + " in intelligence."; + next; + goto L_Begin; + +L_ChangeDexteritySingle: + mes "How much dexterity do you want to have (min: 1 - max: 99)?"; + input @dex; + if (@dex < 1) + goto L_StatTooLow; + if (@dex > 99) + goto L_StatTooHigh; + set Dex, @dex; + mes "You now have " + Dex + " in dexterity."; + next; + goto L_Begin; + +L_ChangeLuckSingle: + mes "How much luck do you want to have (min: 1 - max: 99)?"; + input @luk; + if (@luk < 1) + goto L_StatTooLow; + if (@luk > 99) + goto L_StatTooHigh; + set Luk, @luk; + mes "You now have " + Luk + " in luck."; + next; + goto L_Begin; + +L_ResetStatusPoints: + resetstatus; + mes "Stats successfully resetted."; + next; + goto L_Begin; + +L_BasicSkills: + set @emote, getskilllv(SKILL_EMOTE); + set @trade, getskilllv(SKILL_TRADE); + set @party, getskilllv(SKILL_PARTY); + menu + "Overview of my basic skills.", L_BasicSkillsOverview, + "Add basic skills.", L_AddBasicSkills, + "Reset basic skills.", L_ResetBasicSkills, + "Back to main menu.", L_Begin, + "Close.", L_Close; + +L_BasicSkillsOverview: + mes "Your level in the emote skill is " + @emote + "."; + mes "Your level in the trade skill is " + @trade + "."; + mes "Your level in the party skill is " + @party + "."; + next; + goto L_BasicSkills; + +L_AddBasicSkills: + menu + "Emote", L_ChangeEmoteSkill, + "Trade.", L_ChangeTradeSkill, + "Party.", L_ChangePartySkill, + "All basic skills to their maximum level.", L_AllBasicSkills, + "Back to the basic skills menu.", L_BasicSkills, + "Close.", L_Close; + +L_ChangeEmoteSkill: + mes "Your level in the emote skill is " + @emote + ". What do you want to do?"; + menu + "Get level 0.", L_Next, + "Get level 1.", L_ChangeEmoteSkill1; + +L_Next: + if (@menu == 1) + setskill SKILL_EMOTE, 0; + mes "Emote skill changed to level 0."; + next; + goto L_BasicSkills; + +L_ChangeEmoteSkill1: + setskill SKILL_EMOTE, 1; + mes "Emote skill changed to level 1."; + next; + goto L_BasicSkills; + +L_ChangeTradeSkill: + mes "Your level in the trade skill is " + @trade + ". What do you want to do?"; + menu + "Get level 0.", L_Next1, + "Get level 1.", L_ChangeTradeSkill1; + +L_Next1: + if (@menu == 1) + setskill SKILL_TRADE, 0; + mes "Trade skill changed to level 0."; + next; + goto L_BasicSkills; + +L_ChangeTradeSkill1: + setskill SKILL_TRADE, 1; + mes "Trade skill changed to level 1."; + next; + goto L_BasicSkills; + +L_ChangePartySkill: + mes "Your level in the party skill is " + @trade + ". What do you want to do?"; + menu + "Get level 0.", L_Next2, + "Get level 1.", L_ChangePartySkill1, + "Get level 2.", L_ChangePartySkill2; + +L_Next2: + if (@menu == 1) + setskill SKILL_PARTY, 0; + mes "Party skill changed to level 0."; + next; + goto L_BasicSkills; + +L_ChangePartySkill1: + setskill SKILL_PARTY, 1; + mes "Party skill changed to level 1."; + next; + goto L_BasicSkills; + +L_ChangePartySkill2: + setskill SKILL_PARTY, 2; + mes "Party skill changed to level 2."; + next; + goto L_BasicSkills; + +L_AllBasicSkills: + setskill SKILL_EMOTE, 1; + setskill SKILL_TRADE, 1; + setskill SKILL_PARTY, 2; + mes "Basic skills added."; + next; + goto L_BasicSkills; + +L_ResetBasicSkills: + setskill SKILL_EMOTE, 0; + setskill SKILL_TRADE, 0; + setskill SKILL_PARTY, 0; + mes "Basic skills removed."; + next; + goto L_BasicSkills; + +L_FocusSkills: + set @pool, getskilllv(SKILL_POOL); + set @mallard, getskilllv(SKILL_MALLARDS_EYE); + set @brawling, getskilllv(SKILL_BRAWLING); + set @speed, getskilllv(SKILL_SPEED); + set @poison, getskilllv(SKILL_RESIST_POISON); + set @astralsoul, getskilllv(SKILL_ASTRAL_SOUL); + set @raging, getskilllv(SKILL_RAGING); + menu + "Overview of my focus skills.", L_SeeFocusSkills, + "Focus or unfocus.", L_Unfocus, + "Add focus skills.", L_ChangeFocusSkills, + "Reset focus skills.", L_ResetFocusSkills, + "Back to the main menu.", L_Begin, + "Close.", L_Close; + +L_SeeFocusSkills: + cleararray @skilllist_name$[0], "", 8; + cleararray @skilllist_id[0], 0, 8; + cleararray @skilllist_count[0], 0, 8; + getactivatedpoolskilllist; + if (@skilllist_count == 0) + goto L_NotFocusedMessage; + if (@skilllist_count != 0) + mes "You are currently focused on the " + @skilllist_name$[@skilllist_count-1] + " skill."; + goto L_FocusSkills; + +L_NotFocusedMessage: + mes "You are not focused on any skill right now."; + goto L_FocusSkillsOverview; + +L_FocusSkillsOverview: + mes "Your focusing skill level is " + @pool + "."; + mes "Your mallard's eye skill level is " + @mallard + "."; + mes "Your brawling skill level is " + @brawling + "."; + mes "Your speed skill level is " + @speed + "."; + mes "Your resist poison skill level is " + @poison + "."; + mes "Your astral soul skill level is " + @astralsoul + "."; + mes "Your raging skill level is " + @raging + "."; + next; + goto L_FocusSkills; + +L_Unfocus: + cleararray @skilllist_name$[0], "", 8; + cleararray @skilllist_id[0], 0, 8; + cleararray @skilllist_count[0], 0, 8; + if (getskilllv(SKILL_POOL) == 0) + setskill SKILL_POOL, 1; + getactivatedpoolskilllist; + if (@skilllist_count == 0) + goto L_Focus; + getactivatedpoolskilllist; + if (@skilllist_count != 0) + goto L_AskUnfocus; + mes "You are not focused on a skill at the moment."; + goto L_FocusSkills; + +L_Focus: + cleararray @skilllist_name$[0], "", 8; + cleararray @skilllist_id[0], 0, 8; + cleararray @skilllist_count[0], 0, 8; + getunactivatedpoolskilllist; + if (@skilllist_count == 0) + goto L_NoFocusSkills; + set @skilllist_id[@skilllist_count], 0; + set @skilllist_name$[@skilllist_count], "Back to the focus skills menu."; + mes "You are not focused on any focus skill right now. Which one do you want to focus on?"; + menu + @skilllist_name$[0], L_MenuItems, + @skilllist_name$[1], L_MenuItems, + @skilllist_name$[2], L_MenuItems, + @skilllist_name$[3], L_MenuItems, + @skilllist_name$[4], L_MenuItems, + @skilllist_name$[5], L_MenuItems, + @skilllist_name$[6], L_MenuItems, + @skilllist_name$[7], L_MenuItems; + +L_MenuItems: + set @menu, @menu - 1; + poolskill @skilllist_id[@menu]; + goto L_FocusSkills; + +L_NoFocusSkills: + mes "You have no skills to focus on or unfocus from."; + goto L_FocusSkills; + +L_AskUnfocus: + mes "Unfocus " + @skilllist_name$[@skilllist_count-1] + "?"; + menu + "Yes.", L_Next3, + "No.", L_FocusSkills; + +L_Next3: + unpoolskill @skilllist_id[@skilllist_count-1]; + goto L_FocusSkills; + +L_ChangeFocusSkills: + menu + "Focusing.", L_ChangeFocusingSkill, + "Mallard's Eye.", L_ChangeMallardsEyeSkill, + "Brawling.", L_ChangeBrawlingSkill, + "Speed.", L_ChangeSpeedSkill, + "Resist Poison.", L_ChangeResistPoisonSkill, + "Astral Soul.", L_ChangeAstralSoulSkill, + "Raging.", L_ChangeRagingSkill, + "All focus skills to their maximum level.", L_AllFocusSkills, + "Back to the focus skills menu.", L_FocusSkills, + "Close.", L_Close; + +L_BadSkillLevel: + mes "Invalid skill level."; + next; + goto L_ChangeFocusSkills; + +L_ChangeFocusingSkill: + mes "Enter the level you want to be in this skill (min: 0 - max: 1)."; + input @lvl; + if (@lvl > 1) + goto L_BadSkillLevel; + setskill SKILL_POOL, @lvl; + next; + goto L_FocusSkills; + +L_ChangeMallardsEyeSkill: + mes "Enter the level you want to be in this skill (min: 0 - max: 9)."; + input @lvl; + if (@lvl > 9) + goto L_BadSkillLevel; + setskill SKILL_MALLARDS_EYE, @lvl; + next; + goto L_FocusSkills; + +L_ChangeBrawlingSkill: + mes "Enter the lvl you want to be in this skill (min: 0 - max: 9)."; + input @lvl; + if (@lvl > 9) + goto L_BadSkillLevel; + setskill SKILL_BRAWLING, @lvl; + next; + goto L_FocusSkills; + +L_ChangeSpeedSkill: + mes "Enter the lvl you want to be in this skill (min: 0 - max: 9)."; + input @lvl; + if (@lvl > 9) + goto L_BadSkillLevel; + setskill SKILL_SPEED, @lvl; + next; + goto L_FocusSkills; + +L_ChangeResistPoisonSkill: + mes "Enter the lvl you want to be in this skill (min: 0 - max: 9)."; + input @lvl; + if (@lvl > 9) + goto L_BadSkillLevel; + setskill SKILL_RESIST_POISON, @lvl; + next; + goto L_FocusSkills; + +L_ChangeAstralSoulSkill: + mes "Enter the lvl you want to be in this skill (min: 0 - max: 9)."; + input @lvl; + if (@lvl > 9) + goto L_BadSkillLevel; + setskill SKILL_ASTRAL_SOUL, @lvl; + next; + goto L_FocusSkills; + +L_ChangeRagingSkill: + mes "Enter the lvl you want to be in this skill (min: 0 - max: 9)."; + input @lvl; + if (@lvl > 9) + goto L_BadSkillLevel; + setskill SKILL_RAGING, @lvl; + next; + goto L_FocusSkills; + +L_AllFocusSkills: + setskill SKILL_POOL, 1; + setskill SKILL_MALLARDS_EYE, 9; + setskill SKILL_BRAWLING, 9; + setskill SKILL_SPEED, 9; + setskill SKILL_RESIST_POISON, 9; + setskill SKILL_ASTRAL_SOUL, 9; + setskill SKILL_RAGING, 9; + mes "Focus skills added."; + next; + goto L_FocusSkills; + +L_ResetFocusSkills: + setskill SKILL_POOL, 0; + setskill SKILL_MALLARDS_EYE, 0; + setskill SKILL_BRAWLING, 0; + setskill SKILL_SPEED, 0; + setskill SKILL_RESIST_POISON, 0; + setskill SKILL_ASTRAL_SOUL, 0; + setskill SKILL_RAGING, 0; + mes "Focus skills removed."; + next; + goto L_FocusSkills; + +L_MagicSkills: + set @general, getskilllv(SKILL_MAGIC); + set @life, getskilllv(SKILL_MAGIC_LIFE); + set @war, getskilllv(SKILL_MAGIC_WAR); + set @trans, getskilllv(SKILL_MAGIC_TRANSMUTE); + set @nature, getskilllv(SKILL_MAGIC_NATURE); + set @astral, getskilllv(SKILL_MAGIC_ASTRAL); + set @dark, getskilllv(SKILL_MAGIC_DARK); + menu + "Overview of my magical skills.", L_MagicSkillsOverview, + "Get magic skills.", L_ChangeMagicSkills, + "Get magic experience.", L_MagicExperience, + "All magic skills to their maximum level and maximum magic experience.", L_GetAllMagic, + "Reset magic skills and experience.", L_ResetMagicSkills, + "Back to the main menu.", L_Begin, + "Close.", L_Close; + +L_MagicSkillsOverview: + mes "Your current magic experience skill is " + @mexp + "."; + mes "Your level in the general magic skill is " + @general + "."; + mes "Your level in the life magic skill is " + @life + "."; + mes "Your level in the war magic skill is " + @war + "."; + mes "Your level in the transmutation magic skill is " + @trans + "."; + mes "Your level in the nature magic skill is " + @nature + "."; + mes "Your level in the astral magic skill is " + @astral + "."; + mes "Your level in the dark magic skill is " + @dark + "."; + next; + goto L_MagicSkills; + +L_MagicExperience: + mes "Your current magic experience is " + @mexp + "."; + if (@general == 0 + && @life == 0 + && @war == 0 + && @trans == 0 + && @nature == 0 + && @astral == 0 + && @dark == 0) + goto L_NoMagicSkills; + + goto L_ChangeMagicExperience; + +L_NoMagicSkills: + mes "You can't have magic experience, since you have no magic skills yet."; + goto L_MagicSkills; + +L_ChangeMagicExperience: + mes "Set the desired magic experience (min: 0 - max: 8000)."; + input @value; + if (@value < 0 || @value > 8000) + goto L_WrongMagicExperience; + set @mexp, @value; + callsub S_Update_Mask; + mes "You now have " + @mexp + " magic experience points."; + goto L_MagicSkills; + +L_WrongMagicExperience: + mes "Wrong value informed. Aborting."; + goto L_MagicSkills; + +L_ChangeMagicSkills: + menu + "General Magic.", L_ChangeGeneralMagicSkill, + "Life Magic.", L_ChangeLifeMagicSkill, + "War Magic.", L_ChangeWarMagicSkill, + "Transmutation Magic.", L_ChangeTransmutationMagicSkill, + "Nature Magic.", L_ChangeNatureMagicSkill, + "Astral Magic.", L_ChangeAstralMagicSkill, + "Dark Magic.", L_ChangeDarkMagicSkill, + "Back to the magic skills menu.", L_MagicSkills, + "Close.", L_Close; + +L_ChangeGeneralMagicSkill: + mes "Your level in the general magic skill is " + @general + ". What do you want to do?"; + menu + "Get level 0.", L_Next4, + "Get level 1.", L_ChangeGeneralMagicSkill1, + "Get level 2.", L_ChangeGeneralMagicSkill2; + +L_Next4: + if (@menu == 1) + setskill SKILL_MAGIC, 0; + mes "General Magic skill changed to level 0."; + next; + goto L_MagicSkills; + +L_ChangeGeneralMagicSkill1: + setskill SKILL_MAGIC, 1; + mes "General Magic skill changed to level 1."; + next; + goto L_MagicSkills; + +L_ChangeGeneralMagicSkill2: + setskill SKILL_MAGIC, 2; + if (@mexp < 100) + set @mexp, 100; + callsub S_Update_Mask; + mes "General Magic skill changed to level 2."; + next; + goto L_MagicSkills; + +L_ChangeLifeMagicSkill: + mes "Your level in the life magic skill is " + @life + ". What do you want to do?"; + menu + "Get level 0.", L_Next5, + "Get level 1.", L_ChangeLifeMagicSkill1, + "Get level 2.", L_ChangeLifeMagicSkill2; + +L_Next5: + if (@menu == 1) + setskill SKILL_MAGIC_LIFE, 0; + mes "Life Magic skill changed to level 0."; + next; + goto L_MagicSkills; + +L_ChangeLifeMagicSkill1: + setskill SKILL_MAGIC_LIFE, 1; + mes "Life Magic skill changed to level 1."; + next; + goto L_MagicSkills; + +L_ChangeLifeMagicSkill2: + setskill SKILL_MAGIC_LIFE, 2; + if (@mexp < 100) + set @mexp, 100; + callsub S_Update_Mask; + mes "Life Magic skill changed to level 2."; + next; + goto L_MagicSkills; + +L_ChangeWarMagicSkill: + mes "Your level in the war magic skill is " + @war + ". What do you want to do?"; + menu + "Get level 0.", L_Next6, + "Get level 1.", L_ChangeWarMagicSkill1, + "Get level 2.", L_ChangeWarMagicSkill2; + +L_Next6: + if (@menu == 1) + setskill SKILL_MAGIC_WAR, 0; + mes "War Magic skill changed to level 0."; + next; + goto L_MagicSkills; + +L_ChangeWarMagicSkill1: + setskill SKILL_MAGIC_WAR, 1; + mes "War Magic skill changed to level 1."; + next; + goto L_MagicSkills; + +L_ChangeWarMagicSkill2: + setskill SKILL_MAGIC_WAR, 2; + if (@mexp < 100) + set @mexp, 100; + callsub S_Update_Mask; + mes "War Magic skill changed to level 2."; + next; + goto L_MagicSkills; + +L_ChangeTransmutationMagicSkill: + mes "Your level in the transmutation magic skill is " + @trans + ". What do you want to do?"; + menu + "Get level 0.", L_Next7, + "Get level 1.", L_ChangeTransmutationMagicSkill1, + "Get level 2.", L_ChangeTransmutationMagicSkill2; + +L_Next7: + if (@menu == 1) + setskill SKILL_MAGIC_TRANSMUTE, 0; + mes "Transmutation Magic skill changed to level 0."; + next; + goto L_MagicSkills; + +L_ChangeTransmutationMagicSkill1: + setskill SKILL_MAGIC_TRANSMUTE, 1; + mes "Transmutation Magic skill changed to level 1."; + next; + goto L_MagicSkills; + +L_ChangeTransmutationMagicSkill2: + setskill SKILL_MAGIC_TRANSMUTE, 2; + if (@mexp < 100) + set @mexp, 100; + callsub S_Update_Mask; + mes "Transmutation Magic skill changed to level 2."; + next; + goto L_MagicSkills; + +L_ChangeNatureMagicSkill: + mes "Your level in the nature magic skill is " + @nature + ". What do you want to do?"; + menu + "Get level 0.", L_Next8, + "Get level 1.", L_ChangeNatureMagicSkill1, + "Get level 2.", L_ChangeNatureMagicSkill2; + +L_Next8: + if (@menu == 1) + setskill SKILL_MAGIC_NATURE, 0; + mes "Nature Magic skill changed to level 0."; + next; + goto L_MagicSkills; + +L_ChangeNatureMagicSkill1: + setskill SKILL_MAGIC_NATURE, 1; + mes "Nature Magic skill changed to level 1."; + next; + goto L_MagicSkills; + +L_ChangeNatureMagicSkill2: + setskill SKILL_MAGIC_NATURE, 2; + if (@mexp < 100) + set @mexp, 100; + callsub S_Update_Mask; + mes "Nature Magic skill changed to level 2."; + next; + goto L_MagicSkills; + +L_ChangeAstralMagicSkill: + mes "Your level in the astral magic skill is " + @astral + ". What do you want to do?"; + menu + "Get level 0.", L_Next9, + "Get level 1.", L_ChangeAstralMagicSkill1, + "Get level 2.", L_ChangeAstralMagicSkill2; + +L_Next9: + if (@menu == 1) + setskill SKILL_MAGIC_ASTAL, 0; + mes "Astral Magic skill changed to level 0."; + next; + goto L_MagicSkills; + +L_ChangeAstralMagicSkill1: + setskill SKILL_MAGIC_ASTRAL, 1; + mes "Astral Magic skill changed to level 1."; + next; + goto L_MagicSkills; + +L_ChangeAstralMagicSkill2: + setskill SKILL_MAGIC_ASTRAL, 2; + if (@mexp < 100) + set @mexp, 100; + callsub S_Update_Mask; + mes "Astral Magic skill changed to level 2."; + next; + goto L_MagicSkills; + +L_ChangeDarkMagicSkill: + mes "Your level in the dark magic skill is " + @dark + ". What do you want to do?"; + menu + "Get level 0.", L_Next10, + "Get level 1.", L_ChangeDarkMagicSkill1, + "Get level 2.", L_ChangeDarkMagicSkill2; + +L_Next10: + if (@menu == 1) + setskill SKILL_MAGIC_DARK, 0; + mes "Dark Magic skill changed to level 0."; + next; + goto L_MagicSkills; + +L_ChangeDarkMagicSkill1: + setskill SKILL_MAGIC_DARK, 1; + mes "Dark Magic skill changed to level 1."; + next; + goto L_MagicSkills; + +L_ChangeDarkMagicSkill2: + setskill SKILL_MAGIC_DARK, 2; + if (@mexp < 100) + set @mexp, 100; + callsub S_Update_Mask; + mes "Dark Magic skill changed to level 2."; + next; + goto L_MagicSkills; + +S_Update_Mask: + set MAGIC_EXPERIENCE, + (MAGIC_EXPERIENCE & ~(@debug_mask)) + | (@mexp << @debug_shift); + return; + +L_GetAllMagic: + setskill SKILL_MAGIC, 5; + setskill SKILL_MAGIC_LIFE, 5; + setskill SKILL_MAGIC_WAR, 5; + setskill SKILL_MAGIC_TRANSMUTE, 5; + setskill SKILL_MAGIC_NATURE, 5; + setskill SKILL_MAGIC_ASTRAL, 5; + setskill SKILL_MAGIC_DARK, 5; + set @mexp, 8000; + callsub S_Update_Mask; + mes "Magic skills added."; + next; + goto L_MagicSkills; + +L_ResetMagicSkills: + setskill SKILL_MAGIC, 0; + setskill SKILL_MAGIC_LIFE, 0; + setskill SKILL_MAGIC_WAR, 0; + setskill SKILL_MAGIC_TRANSMUTE, 0; + setskill SKILL_MAGIC_NATURE, 0; + setskill SKILL_MAGIC_ASTRAL, 0; + setskill SKILL_MAGIC_DARK, 0; + set @mexp, 0; + callsub S_Update_Mask; + mes "Magic skills removed."; + next; + goto L_MagicSkills; + +L_AddAll: + setskill SKILL_EMOTE, 1; + setskill SKILL_TRADE, 1; + setskill SKILL_PARTY, 2; + setskill SKILL_POOL, 1; + setskill SKILL_MALLARDS_EYE, 9; + setskill SKILL_BRAWLING, 9; + setskill SKILL_SPEED, 9; + setskill SKILL_RESIST_POISON, 9; + setskill SKILL_ASTRAL_SOUL, 9; + setskill SKILL_RAGING, 9; + setskill SKILL_MAGIC, 5; + setskill SKILL_MAGIC_LIFE, 5; + setskill SKILL_MAGIC_WAR, 5; + setskill SKILL_MAGIC_TRANSMUTE, 5; + setskill SKILL_MAGIC_NATURE, 5; + setskill SKILL_MAGIC_ASTRAL, 5; + setskill SKILL_MAGIC_DARK, 5; + set @mexp, 8000; + resetstatus; + set BaseLevel, 99; + mes "All skills added to their maximum level."; + mes "Maximum number of Magic Experience points."; + mes "You are now level " + BaseLevel + "."; + next; + goto L_Begin; + +L_ResetAll: + cleararray @skilllist_name$[0], "", 8; + cleararray @skilllist_id[0], 0, 8; + cleararray @skilllist_count[0], 0, 8; + setskill SKILL_EMOTE, 0; + setskill SKILL_TRADE, 0; + setskill SKILL_PARTY, 0; + setskill SKILL_POOL, 0; + setskill SKILL_MALLARDS_EYE, 0; + setskill SKILL_BRAWLING, 0; + setskill SKILL_SPEED, 0; + setskill SKILL_RESIST_POISON, 0; + setskill SKILL_ASTRAL_SOUL, 0; + setskill SKILL_RAGING, 0; + setskill SKILL_MAGIC, 0; + setskill SKILL_MAGIC_LIFE, 0; + setskill SKILL_MAGIC_WAR, 0; + setskill SKILL_MAGIC_TRANSMUTE, 0; + setskill SKILL_MAGIC_NATURE, 0; + setskill SKILL_MAGIC_ASTRAL, 0; + setskill SKILL_MAGIC_DARK, 0; + set @mexp, 0; + callsub S_Update_Mask; + resetstatus; + set BaseLevel, 1; + mes "All skills removed."; + mes "Minimum number of Magic Experience points."; + mes "You are now level " + BaseLevel + "."; + next; + goto L_Begin; + +L_Close: + close2; + return; + +} + +-|script|Debug Spell|32767 +{ + if(!debug && getgmlevel() < get(.debug, "GM")) end; + callfunc "Debug"; + end; +OnDeprecated: + message strcharinfo(0), "Debug : ##3The #debug spell has been superseded by the ##B@debug##b command."; + end; +OnInit: + registercmd "@debug", "Debug Spell"; + registercmd "#debug", "Debug Spell::OnDeprecated"; + end; +} + +029-2,30,26,0|script|Debug#0|154 +{ + set @debug_npc, 1; + callfunc "Debug"; + end; +OnInit: + if (!debug) + disablenpc "Debug#0"; + end; +} + +001-1,53,47,0|script|Debug#1|154 +{ + set @debug_npc, 1; + callfunc "Debug"; + end; +OnInit: + if (!debug) + disablenpc "Debug#1"; + end; +} + +009-1,45,33,0|script|Debug#2|154 +{ + set @debug_npc, 1; + callfunc "Debug"; + end; +OnInit: + if (!debug) + disablenpc "Debug#2"; + end; +} + +020-1,75,85,0|script|Debug#3|154 +{ + set @debug_npc, 1; + callfunc "Debug"; + end; +OnInit: + if (!debug) + disablenpc "Debug#3"; + end; +} + +027-2,125,103,0|script|Debug#5|154 +{ + set @debug_npc, 1; + callfunc "Debug"; + end; +OnInit: + if (!debug) + disablenpc "Debug#5"; + end; +} diff --git a/world/map/npc/commands/numa.txt b/world/map/npc/commands/numa.txt new file mode 100644 index 00000000..4184743b --- /dev/null +++ b/world/map/npc/commands/numa.txt @@ -0,0 +1,132 @@ +// all-in-one debug +// author: meko + +-|script|SuperDebug|32767 +{ + if (GM < get(.lounge, "GM") && GM < G_SYSOP && !debug) goto L_GM2; // make sure you can enter the gm lounge + if (target(BL_ID,getnpcid("Numa"),1)) goto L_Main; + npcaction 6, 12; + title "Numa"; + goto L_Main; + +L_GM2: + message strcharinfo(0), "numa : GM command is level "+ get(.lounge, "GM") +", but you are level " + GM; + end; + +L_Main: + mes "How may I help you?"; + next; + menu + "Announcements", L_StoneBoard, + "MOTD", L_MOTD, + "Holiday debug", L_Holiday, + "Event debug", L_Event, + "Quest debug", L_Quest, + "Who are you?", L_WhoAmI, + "Close", L_Close; + // todo: generic npcs + // todo: map list + +L_WhoAmI: + mes "I am Numa, also known as `SuperDebug`."; + mes "My sole purpose is to assist TMW staff from behind-the-scene."; + mes "Using me, you can access several debug menus."; + mes "You can call me from anywhere using the ##B@numa##b spell, or you can come see me in person."; + next; + goto L_Main; + +L_Holiday: + if (GM < get(.holiday, "GM") && GM < G_SYSOP) goto L_GM; + mes "What holiday do you want to debug?"; + next; + menu + "Xmas.", L_XmasDebug, + "Halloween.", L_HalloweenDebug, + "Easter.", L_EasterDebug; + +L_XmasDebug: + gmlog strcharinfo(0) + " accessed the Xmas debug."; + callfunc "XmasDebug"; + goto L_Close; + +L_HalloweenDebug: + gmlog strcharinfo(0) + " accessed the Halloween debug."; + callfunc "HalloweenDebug"; + goto L_Close; + +L_EasterDebug: + gmlog strcharinfo(0) + " accessed the Easter debug."; + callfunc "Easter Debug"; + goto L_Close; + +L_Event: + if (GM < get(.event, "GM") && GM < G_EVENT) goto L_GM; + gmlog strcharinfo(0) + " accessed the GM event debug."; + callfunc "GmDebug"; + goto L_Close; + +L_StoneBoard: + if (GM < get(.scheduled, "GM") && GM < G_SYSOP) goto L_GM; + callfunc "SBConfig"; + goto L_Close; + +L_MOTD: + if (GM < get(.motd, "GM") && GM < G_SYSOP) goto L_GM; + callfunc "MOTDConfig"; + goto L_Close; + +L_GM: + mes "I'm awfully sorry."; + mes "You do not have the required GM level to perform this action."; + goto L_Close; + +L_Quest: + callfunc "QuestDebug"; + goto L_Close; + +L_Close: + close; + +OnInit: + registercmd chr(ATCMD_SYMBOL) + "numa", strnpcinfo(0); + registercmd chr(ATCMD_SYMBOL) + "superdebug", strnpcinfo(0); + void puppet("017-9", 30, 28, "Numa", 393); + end; +} + +function|script|QuestDebug +{ + goto L_ChooseContinent; + +L_ChooseContinent: + mes "Choose a continent."; + next; + menu + "Argeas", L_Argeas, + "Close", L_Return; + +L_Argeas: + mes "Choose an area."; + next; + menu + "Woodland", L_Woodland, + "Choose a continent", L_ChooseContinent, + "Close", L_Return; + +L_Woodland: + mes "Choose a quest."; + next; + menu + "Illia Sisters", L_Valia, + "Choose an area", L_Argeas, + "Close", L_Return; + +L_Return: + return; + +////////////////////////////// + +L_Valia: + callfunc "IlliaDebug"; + goto L_Return; +} diff --git a/world/map/npc/commands/pullrabbit.txt b/world/map/npc/commands/pullrabbit.txt new file mode 100644 index 00000000..3994b795 --- /dev/null +++ b/world/map/npc/commands/pullrabbit.txt @@ -0,0 +1,25 @@ +-|script|@pullrabbit|32767 +{ + if (GM < get(.killthegm, "GM") && GM < G_SYSOP) end; + if (getequipid(equip_head) != 888) end; + getinventorylist; + if ((checkweight("MurdererCrown", 1) == 0) || (@inventorylist_count == 100)) + goto L_Inventory; + // Get the current reward of the event. This may be changed later + getitem "MurdererCrown", 1; + // Set HP and SP to max + heal MaxHp, MaxSp; + // Display an effect + misceffect FX_CHANNELLING_CAST, strcharinfo(0); + // Log the usage of this spell + gmlog strcharinfo(0)+" used the Magic GM Top Hat."; + end; + +L_Inventory: + message strcharinfo(0), "You cannot create this item. You're too heavy or you don't have a free slot."; + end; + +OnInit: + registercmd chr(ATCMD_SYMBOL) + "pullrabbit", strnpcinfo(0); + end; +} diff --git a/world/map/npc/commands/zeny.txt b/world/map/npc/commands/zeny.txt index 9215637a..94c02c4b 100644 --- a/world/map/npc/commands/zeny.txt +++ b/world/map/npc/commands/zeny.txt @@ -1,10 +1,12 @@ -|script|@zeny|32767 { - if (GM < get(.zeny, "GM") && GM < G_SYSOP) goto L_GM; callfunc "argv_splitter"; + set .@n$, if_then_else(@argv$[1] != "", "char", "") + "zeny"; + if (GM < get(.zeny, "GM") && GM < G_SYSOP) goto L_GM; // check if you can use it on self set .@target_id, BL_ID; if (@argv$[1] != "") set .@target_id, getcharid(3, @argv$[1]); if (@argv$[1] != "" && !(isloggedin(.@target_id))) goto L_Failed; // do NOT fallback to self + if (@argv$[1] != "" && GM < get(.charzeny, "GM") && GM < G_SYSOP) goto L_GM; // when target is not self, use charzeny permission if (@argv$[0] == "--") goto L_Remove; if (@argv$[0] == "---") goto L_RemoveAll; if (@argv$[0] == "++") goto L_Max; @@ -51,21 +53,21 @@ L_MaybeRemoveBank: L_OutOfBounds: // XXX: maybe we could also take from other chars from the same accout? - message strcharinfo(0), "zeny : Impossible to proceed! This would cause the player to have less than 0 zeny or more than " + .max_int + "."; + message strcharinfo(0), .@n$+" : Impossible to proceed! This would cause the player to have less than 0 zeny or more than " + .max_int + "."; end; L_Failed: // XXX: should we allow GMs to change zeny of users that are not logged in? - message strcharinfo(0), "zeny : Impossible to attach to the target player."; + message strcharinfo(0), .@n$+" : Impossible to attach to the target player. Did you try putting the name in \"quotation marks\"?"; end; L_Success: gmlog "@zeny " + @args$; - message strcharinfo(0), "zeny : The operation succeeded."; + message strcharinfo(0), .@n$+" : The operation succeeded."; end; L_GM: - message strcharinfo(0), "zeny : GM command is level "+ get(.zeny, "GM") +", but you are level " + GM; + message strcharinfo(0), .@n$+" : GM command is level "+ get(if_then_else(@argv$[1] != "", .charzeny, .zeny), "GM") +", but you are level " + GM; end; OnInit: diff --git a/world/map/npc/functions/clear_vars.txt b/world/map/npc/functions/clear_vars.txt index ee09071e..aa3f700a 100644 --- a/world/map/npc/functions/clear_vars.txt +++ b/world/map/npc/functions/clear_vars.txt @@ -264,12 +264,13 @@ S_Remove_Skills: return; S_Misc: - if(Death_Kill) set Death_Kill, 0; + set Death_Kill, 0; set Scorp, 0; // Tulimshar and Mine Variables which aren't used anymore set Bugleg, 0; // Tulimshar and Mine Variables which aren't used anymore set KatzeBeenOutside, 0; // variable was moved to a temporary player variable set LastHiss, 0; // variable was moved to Nibble 1 of the variable Katze set CaveSnakeLamp, 0; // quest was turned into a Daily Quest, so the variable isn't needed anymore + set MAGIC_CAST_TICK, 0; // legacy stuff return; S_Tutorial: diff --git a/world/map/npc/functions/debug.txt b/world/map/npc/functions/debug.txt deleted file mode 100755 index 556e501b..00000000 --- a/world/map/npc/functions/debug.txt +++ /dev/null @@ -1,988 +0,0 @@ -// Authors: alastrim, Jenalya, Ali-G - -function|script|Debug -{ - if(!@debug_npc) goto L_Begin; - mes "The debug NPCs have been deprecated. Please use this magic spell instead:"; - mes ""; - mes "%%E ##a#debug##0"; - set @debug_npc, 0; - goto L_Close; - -L_Begin: - set @debug_mask, 65535; - set @debug_shift, 0; - set @mexp, ((MAGIC_EXPERIENCE & @debug_mask) >> @debug_shift); - mes "What do you want to do?"; - menu - "Change my level.", L_Level, - "Change my stats.", L_Status, - "Change my basic skills.", L_BasicSkills, - "Change my focus skills.", L_FocusSkills, - "Change my magic skills.", L_MagicSkills, - "Add everything.", L_AddAll, - "Reset everything.", L_ResetAll, - "Close.", L_Close; - -L_Level: - mes "What level do you want to be (min: 1 - max: 99)?"; - input @lvl; - if (@lvl < 1) - goto L_LevelTooLow; - if (@lvl > 99) - goto L_LevelTooHigh; - if (BaseLevel == @lvl) - goto L_SameLevel; - set BaseLevel, @lvl; - resetstatus; - mes "You are now level " + BaseLevel + "."; - goto L_Begin; - -L_LevelTooLow: - mes "Bad choice. Minimum level is 1."; - next; - goto L_Begin; - -L_LevelTooHigh: - mes "Bad choice. Maximum level is 99."; - next; - goto L_Begin; - -L_SameLevel: - mes "You already are level " + @lvl + "."; - next; - goto L_Begin; - -L_Status: - mes "What do you want to do?"; - menu - "Set all of my stats myself.", L_ChangeStrength, - "Set one of my stats myself.", L_ChangeSingleStat, - "Get maximum points in all stats.", L_ChangeAllStats, - "Reset my status points.", L_ResetStatusPoints, - "Back to the main menu.", L_Begin, - "Close.", L_Close; - -L_ChangeAllStats: - set Str, 99; - set Agi, 99; - set Vit, 99; - set Int, 99; - set Dex, 99; - set Luk, 99; - mes "You now have 99 in all stats."; - next; - goto L_Begin; - -L_ChangeStrength: - mes "How much strength do you want to have (min: 1 - max: 99)?"; - input @str; - if (@str < 1) - goto L_StatTooLow; - if (@str > 99) - goto L_StatTooHigh; - set Str, @str; - goto L_ChangeAgility; - -L_ChangeAgility: - mes "How much agility do you want to have (min: 1 - max: 99)?"; - input @agi; - if (@agi < 1) - goto L_StatTooLow; - if (@agi > 99) - goto L_StatTooHigh; - set Agi, @agi; - goto L_ChangeVitality; - -L_ChangeVitality: - mes "How much vitality do you want to have (min: 1 - max: 99)?"; - input @vit; - if (@vit < 1) - goto L_StatTooLow; - if (@vit > 99) - goto L_StatTooHigh; - set Vit, @vit; - goto L_ChangeIntelligence; - -L_ChangeIntelligence: - mes "How much intelligence do you want to have (min: 1 - max: 99)?"; - input @int; - if (@int < 1) - goto L_StatTooLow; - if (@int > 99) - goto L_StatTooHigh; - set Int, @int; - goto L_ChangeDexterity; - -L_ChangeDexterity: - mes "How much dexterity do you want to have (min: 1 - max: 99)?"; - input @dex; - if (@dex < 1) - goto L_StatTooLow; - if (@dex > 99) - goto L_StatTooHigh; - set Dex, @dex; - goto L_ChangeLuck; - -L_ChangeLuck: - mes "How much luck do you want to have (min: 1 - max: 99)?"; - input @luk; - if (@luk < 1) - goto L_StatTooLow; - if (@luk > 99) - goto L_StatTooHigh; - set Luk, @luk; - mes "You now have " + Str + " in strength."; - mes "You now have " + Agi + " in agility."; - mes "You now have " + Vit + " in vitality."; - mes "You now have " + Int + " in intelligence."; - mes "You now have " + Dex + " in dexterity."; - mes "You now have " + Luk + " in luck."; - next; - goto L_Begin; - -L_StatTooLow: - mes "Bad choice. Minimum stat value is 1. Aborting."; - next; - goto L_Status; - -L_StatTooHigh: - mes "Bad choice. Maximum stat value is 99. Aborting."; - next; - goto L_Status; - -L_ChangeSingleStat: - mes "Which stat do you want to change?"; - menu - "Strength.", L_ChangeStrengthSingle, - "Agility.", L_ChangeAgilitySingle, - "Vitality.", L_ChangeVitalitySingle, - "Intelligence.", L_ChangeIntelligenceSingle, - "Dexterity.", L_ChangeDexteritySingle, - "Luck.", L_ChangeLuckSingle, - "Back to the main menu.", L_Begin, - "Close.", L_Close; - -L_ChangeStrengthSingle: - mes "How much strength do you want to have (min: 1 - max: 99)?"; - input @str; - if (@str < 1) - goto L_StatTooLow; - if (@str > 99) - goto L_StatTooHigh; - set Str, @str; - mes "You now have " + Str + " in strength."; - next; - goto L_Begin; - -L_ChangeAgilitySingle: - mes "How much agility do you want to have (min: 1 - max: 99)?"; - input @agi; - if (@agi < 1) - goto L_StatTooLow; - if (@agi > 99) - goto L_StatTooHigh; - set Agi, @agi; - mes "You now have " + Agi + " in agility."; - next; - goto L_Begin; - -L_ChangeVitalitySingle: - mes "How much vitality do you want to have (min: 1 - max: 99)?"; - input @vit; - if (@vit < 1) - goto L_StatTooLow; - if (@vit > 99) - goto L_StatTooHigh; - set Vit, @vit; - mes "You now have " + Vit + " in vitality."; - next; - goto L_Begin; - -L_ChangeIntelligenceSingle: - mes "How much intelligence do you want to have (min: 1 - max: 99)?"; - input @int; - if (@int < 1) - goto L_StatTooLow; - if (@int > 99) - goto L_StatTooHigh; - set Int, @int; - mes "You now have " + Int + " in intelligence."; - next; - goto L_Begin; - -L_ChangeDexteritySingle: - mes "How much dexterity do you want to have (min: 1 - max: 99)?"; - input @dex; - if (@dex < 1) - goto L_StatTooLow; - if (@dex > 99) - goto L_StatTooHigh; - set Dex, @dex; - mes "You now have " + Dex + " in dexterity."; - next; - goto L_Begin; - -L_ChangeLuckSingle: - mes "How much luck do you want to have (min: 1 - max: 99)?"; - input @luk; - if (@luk < 1) - goto L_StatTooLow; - if (@luk > 99) - goto L_StatTooHigh; - set Luk, @luk; - mes "You now have " + Luk + " in luck."; - next; - goto L_Begin; - -L_ResetStatusPoints: - resetstatus; - mes "Stats successfully resetted."; - next; - goto L_Begin; - -L_BasicSkills: - set @emote, getskilllv(SKILL_EMOTE); - set @trade, getskilllv(SKILL_TRADE); - set @party, getskilllv(SKILL_PARTY); - menu - "Overview of my basic skills.", L_BasicSkillsOverview, - "Add basic skills.", L_AddBasicSkills, - "Reset basic skills.", L_ResetBasicSkills, - "Back to main menu.", L_Begin, - "Close.", L_Close; - -L_BasicSkillsOverview: - mes "Your level in the emote skill is " + @emote + "."; - mes "Your level in the trade skill is " + @trade + "."; - mes "Your level in the party skill is " + @party + "."; - next; - goto L_BasicSkills; - -L_AddBasicSkills: - menu - "Emote", L_ChangeEmoteSkill, - "Trade.", L_ChangeTradeSkill, - "Party.", L_ChangePartySkill, - "All basic skills to their maximum level.", L_AllBasicSkills, - "Back to the basic skills menu.", L_BasicSkills, - "Close.", L_Close; - -L_ChangeEmoteSkill: - mes "Your level in the emote skill is " + @emote + ". What do you want to do?"; - menu - "Get level 0.", L_Next, - "Get level 1.", L_ChangeEmoteSkill1; - -L_Next: - if (@menu == 1) - setskill SKILL_EMOTE, 0; - mes "Emote skill changed to level 0."; - next; - goto L_BasicSkills; - -L_ChangeEmoteSkill1: - setskill SKILL_EMOTE, 1; - mes "Emote skill changed to level 1."; - next; - goto L_BasicSkills; - -L_ChangeTradeSkill: - mes "Your level in the trade skill is " + @trade + ". What do you want to do?"; - menu - "Get level 0.", L_Next1, - "Get level 1.", L_ChangeTradeSkill1; - -L_Next1: - if (@menu == 1) - setskill SKILL_TRADE, 0; - mes "Trade skill changed to level 0."; - next; - goto L_BasicSkills; - -L_ChangeTradeSkill1: - setskill SKILL_TRADE, 1; - mes "Trade skill changed to level 1."; - next; - goto L_BasicSkills; - -L_ChangePartySkill: - mes "Your level in the party skill is " + @trade + ". What do you want to do?"; - menu - "Get level 0.", L_Next2, - "Get level 1.", L_ChangePartySkill1, - "Get level 2.", L_ChangePartySkill2; - -L_Next2: - if (@menu == 1) - setskill SKILL_PARTY, 0; - mes "Party skill changed to level 0."; - next; - goto L_BasicSkills; - -L_ChangePartySkill1: - setskill SKILL_PARTY, 1; - mes "Party skill changed to level 1."; - next; - goto L_BasicSkills; - -L_ChangePartySkill2: - setskill SKILL_PARTY, 2; - mes "Party skill changed to level 2."; - next; - goto L_BasicSkills; - -L_AllBasicSkills: - setskill SKILL_EMOTE, 1; - setskill SKILL_TRADE, 1; - setskill SKILL_PARTY, 2; - mes "Basic skills added."; - next; - goto L_BasicSkills; - -L_ResetBasicSkills: - setskill SKILL_EMOTE, 0; - setskill SKILL_TRADE, 0; - setskill SKILL_PARTY, 0; - mes "Basic skills removed."; - next; - goto L_BasicSkills; - -L_FocusSkills: - set @pool, getskilllv(SKILL_POOL); - set @mallard, getskilllv(SKILL_MALLARDS_EYE); - set @brawling, getskilllv(SKILL_BRAWLING); - set @speed, getskilllv(SKILL_SPEED); - set @poison, getskilllv(SKILL_RESIST_POISON); - set @astralsoul, getskilllv(SKILL_ASTRAL_SOUL); - set @raging, getskilllv(SKILL_RAGING); - menu - "Overview of my focus skills.", L_SeeFocusSkills, - "Focus or unfocus.", L_Unfocus, - "Add focus skills.", L_ChangeFocusSkills, - "Reset focus skills.", L_ResetFocusSkills, - "Back to the main menu.", L_Begin, - "Close.", L_Close; - -L_SeeFocusSkills: - cleararray @skilllist_name$[0], "", 8; - cleararray @skilllist_id[0], 0, 8; - cleararray @skilllist_count[0], 0, 8; - getactivatedpoolskilllist; - if (@skilllist_count == 0) - goto L_NotFocusedMessage; - if (@skilllist_count != 0) - mes "You are currently focused on the " + @skilllist_name$[@skilllist_count-1] + " skill."; - goto L_FocusSkills; - -L_NotFocusedMessage: - mes "You are not focused on any skill right now."; - goto L_FocusSkillsOverview; - -L_FocusSkillsOverview: - mes "Your focusing skill level is " + @pool + "."; - mes "Your mallard's eye skill level is " + @mallard + "."; - mes "Your brawling skill level is " + @brawling + "."; - mes "Your speed skill level is " + @speed + "."; - mes "Your resist poison skill level is " + @poison + "."; - mes "Your astral soul skill level is " + @astralsoul + "."; - mes "Your raging skill level is " + @raging + "."; - next; - goto L_FocusSkills; - -L_Unfocus: - cleararray @skilllist_name$[0], "", 8; - cleararray @skilllist_id[0], 0, 8; - cleararray @skilllist_count[0], 0, 8; - if (getskilllv(SKILL_POOL) == 0) - setskill SKILL_POOL, 1; - getactivatedpoolskilllist; - if (@skilllist_count == 0) - goto L_Focus; - getactivatedpoolskilllist; - if (@skilllist_count != 0) - goto L_AskUnfocus; - mes "You are not focused on a skill at the moment."; - goto L_FocusSkills; - -L_Focus: - cleararray @skilllist_name$[0], "", 8; - cleararray @skilllist_id[0], 0, 8; - cleararray @skilllist_count[0], 0, 8; - getunactivatedpoolskilllist; - if (@skilllist_count == 0) - goto L_NoFocusSkills; - set @skilllist_id[@skilllist_count], 0; - set @skilllist_name$[@skilllist_count], "Back to the focus skills menu."; - mes "You are not focused on any focus skill right now. Which one do you want to focus on?"; - menu - @skilllist_name$[0], L_MenuItems, - @skilllist_name$[1], L_MenuItems, - @skilllist_name$[2], L_MenuItems, - @skilllist_name$[3], L_MenuItems, - @skilllist_name$[4], L_MenuItems, - @skilllist_name$[5], L_MenuItems, - @skilllist_name$[6], L_MenuItems, - @skilllist_name$[7], L_MenuItems; - -L_MenuItems: - set @menu, @menu - 1; - poolskill @skilllist_id[@menu]; - goto L_FocusSkills; - -L_NoFocusSkills: - mes "You have no skills to focus on or unfocus from."; - goto L_FocusSkills; - -L_AskUnfocus: - mes "Unfocus " + @skilllist_name$[@skilllist_count-1] + "?"; - menu - "Yes.", L_Next3, - "No.", L_FocusSkills; - -L_Next3: - unpoolskill @skilllist_id[@skilllist_count-1]; - goto L_FocusSkills; - -L_ChangeFocusSkills: - menu - "Focusing.", L_ChangeFocusingSkill, - "Mallard's Eye.", L_ChangeMallardsEyeSkill, - "Brawling.", L_ChangeBrawlingSkill, - "Speed.", L_ChangeSpeedSkill, - "Resist Poison.", L_ChangeResistPoisonSkill, - "Astral Soul.", L_ChangeAstralSoulSkill, - "Raging.", L_ChangeRagingSkill, - "All focus skills to their maximum level.", L_AllFocusSkills, - "Back to the focus skills menu.", L_FocusSkills, - "Close.", L_Close; - -L_BadSkillLevel: - mes "Invalid skill level."; - next; - goto L_ChangeFocusSkills; - -L_ChangeFocusingSkill: - mes "Enter the level you want to be in this skill (min: 0 - max: 1)."; - input @lvl; - if (@lvl > 1) - goto L_BadSkillLevel; - setskill SKILL_POOL, @lvl; - next; - goto L_FocusSkills; - -L_ChangeMallardsEyeSkill: - mes "Enter the level you want to be in this skill (min: 0 - max: 9)."; - input @lvl; - if (@lvl > 9) - goto L_BadSkillLevel; - setskill SKILL_MALLARDS_EYE, @lvl; - next; - goto L_FocusSkills; - -L_ChangeBrawlingSkill: - mes "Enter the lvl you want to be in this skill (min: 0 - max: 9)."; - input @lvl; - if (@lvl > 9) - goto L_BadSkillLevel; - setskill SKILL_BRAWLING, @lvl; - next; - goto L_FocusSkills; - -L_ChangeSpeedSkill: - mes "Enter the lvl you want to be in this skill (min: 0 - max: 9)."; - input @lvl; - if (@lvl > 9) - goto L_BadSkillLevel; - setskill SKILL_SPEED, @lvl; - next; - goto L_FocusSkills; - -L_ChangeResistPoisonSkill: - mes "Enter the lvl you want to be in this skill (min: 0 - max: 9)."; - input @lvl; - if (@lvl > 9) - goto L_BadSkillLevel; - setskill SKILL_RESIST_POISON, @lvl; - next; - goto L_FocusSkills; - -L_ChangeAstralSoulSkill: - mes "Enter the lvl you want to be in this skill (min: 0 - max: 9)."; - input @lvl; - if (@lvl > 9) - goto L_BadSkillLevel; - setskill SKILL_ASTRAL_SOUL, @lvl; - next; - goto L_FocusSkills; - -L_ChangeRagingSkill: - mes "Enter the lvl you want to be in this skill (min: 0 - max: 9)."; - input @lvl; - if (@lvl > 9) - goto L_BadSkillLevel; - setskill SKILL_RAGING, @lvl; - next; - goto L_FocusSkills; - -L_AllFocusSkills: - setskill SKILL_POOL, 1; - setskill SKILL_MALLARDS_EYE, 9; - setskill SKILL_BRAWLING, 9; - setskill SKILL_SPEED, 9; - setskill SKILL_RESIST_POISON, 9; - setskill SKILL_ASTRAL_SOUL, 9; - setskill SKILL_RAGING, 9; - mes "Focus skills added."; - next; - goto L_FocusSkills; - -L_ResetFocusSkills: - setskill SKILL_POOL, 0; - setskill SKILL_MALLARDS_EYE, 0; - setskill SKILL_BRAWLING, 0; - setskill SKILL_SPEED, 0; - setskill SKILL_RESIST_POISON, 0; - setskill SKILL_ASTRAL_SOUL, 0; - setskill SKILL_RAGING, 0; - mes "Focus skills removed."; - next; - goto L_FocusSkills; - -L_MagicSkills: - set @general, getskilllv(SKILL_MAGIC); - set @life, getskilllv(SKILL_MAGIC_LIFE); - set @war, getskilllv(SKILL_MAGIC_WAR); - set @trans, getskilllv(SKILL_MAGIC_TRANSMUTE); - set @nature, getskilllv(SKILL_MAGIC_NATURE); - set @astral, getskilllv(SKILL_MAGIC_ASTRAL); - set @dark, getskilllv(SKILL_MAGIC_DARK); - menu - "Overview of my magical skills.", L_MagicSkillsOverview, - "Get magic skills.", L_ChangeMagicSkills, - "Get magic experience.", L_MagicExperience, - "All magic skills to their maximum level and maximum magic experience.", L_GetAllMagic, - "Reset magic skills and experience.", L_ResetMagicSkills, - "Back to the main menu.", L_Begin, - "Close.", L_Close; - -L_MagicSkillsOverview: - mes "Your current magic experience skill is " + @mexp + "."; - mes "Your level in the general magic skill is " + @general + "."; - mes "Your level in the life magic skill is " + @life + "."; - mes "Your level in the war magic skill is " + @war + "."; - mes "Your level in the transmutation magic skill is " + @trans + "."; - mes "Your level in the nature magic skill is " + @nature + "."; - mes "Your level in the astral magic skill is " + @astral + "."; - mes "Your level in the dark magic skill is " + @dark + "."; - next; - goto L_MagicSkills; - -L_MagicExperience: - mes "Your current magic experience is " + @mexp + "."; - if (@general == 0 - && @life == 0 - && @war == 0 - && @trans == 0 - && @nature == 0 - && @astral == 0 - && @dark == 0) - goto L_NoMagicSkills; - - goto L_ChangeMagicExperience; - -L_NoMagicSkills: - mes "You can't have magic experience, since you have no magic skills yet."; - goto L_MagicSkills; - -L_ChangeMagicExperience: - mes "Set the desired magic experience (min: 0 - max: 8000)."; - input @value; - if (@value < 0 || @value > 8000) - goto L_WrongMagicExperience; - set @mexp, @value; - callsub S_Update_Mask; - mes "You now have " + @mexp + " magic experience points."; - goto L_MagicSkills; - -L_WrongMagicExperience: - mes "Wrong value informed. Aborting."; - goto L_MagicSkills; - -L_ChangeMagicSkills: - menu - "General Magic.", L_ChangeGeneralMagicSkill, - "Life Magic.", L_ChangeLifeMagicSkill, - "War Magic.", L_ChangeWarMagicSkill, - "Transmutation Magic.", L_ChangeTransmutationMagicSkill, - "Nature Magic.", L_ChangeNatureMagicSkill, - "Astral Magic.", L_ChangeAstralMagicSkill, - "Dark Magic.", L_ChangeDarkMagicSkill, - "Back to the magic skills menu.", L_MagicSkills, - "Close.", L_Close; - -L_ChangeGeneralMagicSkill: - mes "Your level in the general magic skill is " + @general + ". What do you want to do?"; - menu - "Get level 0.", L_Next4, - "Get level 1.", L_ChangeGeneralMagicSkill1, - "Get level 2.", L_ChangeGeneralMagicSkill2; - -L_Next4: - if (@menu == 1) - setskill SKILL_MAGIC, 0; - mes "General Magic skill changed to level 0."; - next; - goto L_MagicSkills; - -L_ChangeGeneralMagicSkill1: - setskill SKILL_MAGIC, 1; - mes "General Magic skill changed to level 1."; - next; - goto L_MagicSkills; - -L_ChangeGeneralMagicSkill2: - setskill SKILL_MAGIC, 2; - if (@mexp < 100) - set @mexp, 100; - callsub S_Update_Mask; - mes "General Magic skill changed to level 2."; - next; - goto L_MagicSkills; - -L_ChangeLifeMagicSkill: - mes "Your level in the life magic skill is " + @life + ". What do you want to do?"; - menu - "Get level 0.", L_Next5, - "Get level 1.", L_ChangeLifeMagicSkill1, - "Get level 2.", L_ChangeLifeMagicSkill2; - -L_Next5: - if (@menu == 1) - setskill SKILL_MAGIC_LIFE, 0; - mes "Life Magic skill changed to level 0."; - next; - goto L_MagicSkills; - -L_ChangeLifeMagicSkill1: - setskill SKILL_MAGIC_LIFE, 1; - mes "Life Magic skill changed to level 1."; - next; - goto L_MagicSkills; - -L_ChangeLifeMagicSkill2: - setskill SKILL_MAGIC_LIFE, 2; - if (@mexp < 100) - set @mexp, 100; - callsub S_Update_Mask; - mes "Life Magic skill changed to level 2."; - next; - goto L_MagicSkills; - -L_ChangeWarMagicSkill: - mes "Your level in the war magic skill is " + @war + ". What do you want to do?"; - menu - "Get level 0.", L_Next6, - "Get level 1.", L_ChangeWarMagicSkill1, - "Get level 2.", L_ChangeWarMagicSkill2; - -L_Next6: - if (@menu == 1) - setskill SKILL_MAGIC_WAR, 0; - mes "War Magic skill changed to level 0."; - next; - goto L_MagicSkills; - -L_ChangeWarMagicSkill1: - setskill SKILL_MAGIC_WAR, 1; - mes "War Magic skill changed to level 1."; - next; - goto L_MagicSkills; - -L_ChangeWarMagicSkill2: - setskill SKILL_MAGIC_WAR, 2; - if (@mexp < 100) - set @mexp, 100; - callsub S_Update_Mask; - mes "War Magic skill changed to level 2."; - next; - goto L_MagicSkills; - -L_ChangeTransmutationMagicSkill: - mes "Your level in the transmutation magic skill is " + @trans + ". What do you want to do?"; - menu - "Get level 0.", L_Next7, - "Get level 1.", L_ChangeTransmutationMagicSkill1, - "Get level 2.", L_ChangeTransmutationMagicSkill2; - -L_Next7: - if (@menu == 1) - setskill SKILL_MAGIC_TRANSMUTE, 0; - mes "Transmutation Magic skill changed to level 0."; - next; - goto L_MagicSkills; - -L_ChangeTransmutationMagicSkill1: - setskill SKILL_MAGIC_TRANSMUTE, 1; - mes "Transmutation Magic skill changed to level 1."; - next; - goto L_MagicSkills; - -L_ChangeTransmutationMagicSkill2: - setskill SKILL_MAGIC_TRANSMUTE, 2; - if (@mexp < 100) - set @mexp, 100; - callsub S_Update_Mask; - mes "Transmutation Magic skill changed to level 2."; - next; - goto L_MagicSkills; - -L_ChangeNatureMagicSkill: - mes "Your level in the nature magic skill is " + @nature + ". What do you want to do?"; - menu - "Get level 0.", L_Next8, - "Get level 1.", L_ChangeNatureMagicSkill1, - "Get level 2.", L_ChangeNatureMagicSkill2; - -L_Next8: - if (@menu == 1) - setskill SKILL_MAGIC_NATURE, 0; - mes "Nature Magic skill changed to level 0."; - next; - goto L_MagicSkills; - -L_ChangeNatureMagicSkill1: - setskill SKILL_MAGIC_NATURE, 1; - mes "Nature Magic skill changed to level 1."; - next; - goto L_MagicSkills; - -L_ChangeNatureMagicSkill2: - setskill SKILL_MAGIC_NATURE, 2; - if (@mexp < 100) - set @mexp, 100; - callsub S_Update_Mask; - mes "Nature Magic skill changed to level 2."; - next; - goto L_MagicSkills; - -L_ChangeAstralMagicSkill: - mes "Your level in the astral magic skill is " + @astral + ". What do you want to do?"; - menu - "Get level 0.", L_Next9, - "Get level 1.", L_ChangeAstralMagicSkill1, - "Get level 2.", L_ChangeAstralMagicSkill2; - -L_Next9: - if (@menu == 1) - setskill SKILL_MAGIC_ASTAL, 0; - mes "Astral Magic skill changed to level 0."; - next; - goto L_MagicSkills; - -L_ChangeAstralMagicSkill1: - setskill SKILL_MAGIC_ASTRAL, 1; - mes "Astral Magic skill changed to level 1."; - next; - goto L_MagicSkills; - -L_ChangeAstralMagicSkill2: - setskill SKILL_MAGIC_ASTRAL, 2; - if (@mexp < 100) - set @mexp, 100; - callsub S_Update_Mask; - mes "Astral Magic skill changed to level 2."; - next; - goto L_MagicSkills; - -L_ChangeDarkMagicSkill: - mes "Your level in the dark magic skill is " + @dark + ". What do you want to do?"; - menu - "Get level 0.", L_Next10, - "Get level 1.", L_ChangeDarkMagicSkill1, - "Get level 2.", L_ChangeDarkMagicSkill2; - -L_Next10: - if (@menu == 1) - setskill SKILL_MAGIC_DARK, 0; - mes "Dark Magic skill changed to level 0."; - next; - goto L_MagicSkills; - -L_ChangeDarkMagicSkill1: - setskill SKILL_MAGIC_DARK, 1; - mes "Dark Magic skill changed to level 1."; - next; - goto L_MagicSkills; - -L_ChangeDarkMagicSkill2: - setskill SKILL_MAGIC_DARK, 2; - if (@mexp < 100) - set @mexp, 100; - callsub S_Update_Mask; - mes "Dark Magic skill changed to level 2."; - next; - goto L_MagicSkills; - -S_Update_Mask: - set MAGIC_EXPERIENCE, - (MAGIC_EXPERIENCE & ~(@debug_mask)) - | (@mexp << @debug_shift); - return; - -L_GetAllMagic: - setskill SKILL_MAGIC, 5; - setskill SKILL_MAGIC_LIFE, 5; - setskill SKILL_MAGIC_WAR, 5; - setskill SKILL_MAGIC_TRANSMUTE, 5; - setskill SKILL_MAGIC_NATURE, 5; - setskill SKILL_MAGIC_ASTRAL, 5; - setskill SKILL_MAGIC_DARK, 5; - set @mexp, 8000; - callsub S_Update_Mask; - mes "Magic skills added."; - next; - goto L_MagicSkills; - -L_ResetMagicSkills: - setskill SKILL_MAGIC, 0; - setskill SKILL_MAGIC_LIFE, 0; - setskill SKILL_MAGIC_WAR, 0; - setskill SKILL_MAGIC_TRANSMUTE, 0; - setskill SKILL_MAGIC_NATURE, 0; - setskill SKILL_MAGIC_ASTRAL, 0; - setskill SKILL_MAGIC_DARK, 0; - set @mexp, 0; - callsub S_Update_Mask; - mes "Magic skills removed."; - next; - goto L_MagicSkills; - -L_AddAll: - setskill SKILL_EMOTE, 1; - setskill SKILL_TRADE, 1; - setskill SKILL_PARTY, 2; - setskill SKILL_POOL, 1; - setskill SKILL_MALLARDS_EYE, 9; - setskill SKILL_BRAWLING, 9; - setskill SKILL_SPEED, 9; - setskill SKILL_RESIST_POISON, 9; - setskill SKILL_ASTRAL_SOUL, 9; - setskill SKILL_RAGING, 9; - setskill SKILL_MAGIC, 5; - setskill SKILL_MAGIC_LIFE, 5; - setskill SKILL_MAGIC_WAR, 5; - setskill SKILL_MAGIC_TRANSMUTE, 5; - setskill SKILL_MAGIC_NATURE, 5; - setskill SKILL_MAGIC_ASTRAL, 5; - setskill SKILL_MAGIC_DARK, 5; - set @mexp, 8000; - resetstatus; - set BaseLevel, 99; - mes "All skills added to their maximum level."; - mes "Maximum number of Magic Experience points."; - mes "You are now level " + BaseLevel + "."; - next; - goto L_Begin; - -L_ResetAll: - cleararray @skilllist_name$[0], "", 8; - cleararray @skilllist_id[0], 0, 8; - cleararray @skilllist_count[0], 0, 8; - setskill SKILL_EMOTE, 0; - setskill SKILL_TRADE, 0; - setskill SKILL_PARTY, 0; - setskill SKILL_POOL, 0; - setskill SKILL_MALLARDS_EYE, 0; - setskill SKILL_BRAWLING, 0; - setskill SKILL_SPEED, 0; - setskill SKILL_RESIST_POISON, 0; - setskill SKILL_ASTRAL_SOUL, 0; - setskill SKILL_RAGING, 0; - setskill SKILL_MAGIC, 0; - setskill SKILL_MAGIC_LIFE, 0; - setskill SKILL_MAGIC_WAR, 0; - setskill SKILL_MAGIC_TRANSMUTE, 0; - setskill SKILL_MAGIC_NATURE, 0; - setskill SKILL_MAGIC_ASTRAL, 0; - setskill SKILL_MAGIC_DARK, 0; - set @mexp, 0; - callsub S_Update_Mask; - resetstatus; - set BaseLevel, 1; - mes "All skills removed."; - mes "Minimum number of Magic Experience points."; - mes "You are now level " + BaseLevel + "."; - next; - goto L_Begin; - -L_Close: - close2; - return; - -} - --|script|Debug Spell|32767 -{ - if(!debug && getgmlevel() < 99) end; - callfunc "Debug"; - end; -OnInit: - registercmd "@debug", "Debug Spell"; - end; -} - -029-2,30,26,0|script|Debug#0|154 -{ - set @debug_npc, 1; - callfunc "Debug"; - end; -OnInit: - if (!debug) - disablenpc "Debug#0"; - end; -} - -001-1,53,47,0|script|Debug#1|154 -{ - set @debug_npc, 1; - callfunc "Debug"; - end; -OnInit: - if (!debug) - disablenpc "Debug#1"; - end; -} - -009-1,45,33,0|script|Debug#2|154 -{ - set @debug_npc, 1; - callfunc "Debug"; - end; -OnInit: - if (!debug) - disablenpc "Debug#2"; - end; -} - -020-1,75,85,0|script|Debug#3|154 -{ - set @debug_npc, 1; - callfunc "Debug"; - end; -OnInit: - if (!debug) - disablenpc "Debug#3"; - end; -} - -027-2,125,103,0|script|Debug#5|154 -{ - set @debug_npc, 1; - callfunc "Debug"; - end; -OnInit: - if (!debug) - disablenpc "Debug#5"; - end; -} diff --git a/world/map/npc/functions/default_npc_checks.txt b/world/map/npc/functions/default_npc_checks.txt index da080e82..cc5c4086 100644 --- a/world/map/npc/functions/default_npc_checks.txt +++ b/world/map/npc/functions/default_npc_checks.txt @@ -9,6 +9,7 @@ function|script|PCtoNPCRange set @npc_check, 0; set @Nmap$, strnpcinfo(3); if(!@npc_distance) set @npc_distance, 4; // <== default distance + if(@npc_distance == (1-2)) set @npc_distance, ATTACKRANGE; cleararray @npc_loc, 0, 3; setarray @npc_loc, getnpcx(), getnpcy(), @npc_distance; set @Nx1, (@npc_loc[0] - @npc_loc[2]); diff --git a/world/map/npc/functions/game_rules.txt b/world/map/npc/functions/game_rules.txt index d898b436..316ee03f 100644 --- a/world/map/npc/functions/game_rules.txt +++ b/world/map/npc/functions/game_rules.txt @@ -2,7 +2,10 @@ function|script|GameRules { - requestlang .@cl$; + mes "##BPlease click submit."; + requestlang .@cl$; // newer clients will automatically submit and skip ahead + clear; + title "Game Rules"; explode .@l$, .@cl$, "_"; if (.@l$[0] == "en") goto L_English; if (.@l$[0] == "nl") goto L_Dutch; @@ -17,7 +20,6 @@ function|script|GameRules if (.@l$[0] == "zh") goto L_zhHant; if (.@l$[0] == "ru") goto L_Russian; - mes "[Game Rules]"; mes "Please select a language:"; menu "English", L_English, diff --git a/world/map/npc/functions/global_event_handler.txt b/world/map/npc/functions/global_event_handler.txt index e4247d18..4d453c83 100644 --- a/world/map/npc/functions/global_event_handler.txt +++ b/world/map/npc/functions/global_event_handler.txt @@ -21,14 +21,16 @@ OnPCKillEvent: callfunc "elanore_decrease_exp"; // decrease heal exp for doing bad things end; -OnPCKilledEvent: - callfunc "fightclub_event_killed"; // this is used by the 1v1 arena +OnMobKillEvent: + callfunc "MobPoints"; end; OnPCDieEvent: callfunc "fightclub_GoBack"; // this used by the battle master - callfunc "fightclub_event_die"; // this is used by the 1v1 arena + //callfunc "fightclub_event_die"; // this is used by the 1v1 arena set @necromancer, 0; + set @_M_BLOCK, 0; // reset magic block on death + set @killerrid, 0; // reset killer rid end; OnInit: diff --git a/world/map/npc/functions/superdebug.txt b/world/map/npc/functions/superdebug.txt deleted file mode 100644 index 140e703a..00000000 --- a/world/map/npc/functions/superdebug.txt +++ /dev/null @@ -1,69 +0,0 @@ -// all-in-one debug -// author: meko - -function|script|SuperDebug -{ - if(@from_npc) goto L_Main; - npcaction 6, 12; - title "Numa"; - goto L_Main; - -L_Main: - set @from_npc, 0; - mes "[Numa]"; - mes "How may I help you?"; - next; - menu - "Announcements", L_StoneBoard, - "MOTD", L_MOTD, - "Holiday debug", L_Holiday, - "Event debug", L_Event; - // todo: generic npcs (in a future PR) - // todo: map list (in a future PR) - // todo: quest log debug (in a future PR) - -L_Holiday: - if(getgmlevel() < 40) goto L_GM; - mes "[Numa]"; - mes "What holiday do you want to debug?"; - next; - menu - "Xmas.", L_XmasDebug, - "Halloween.", L_HalloweenDebug; - -L_XmasDebug: - gmlog strcharinfo(0) + " accessed the Xmas debug."; - callfunc "XmasDebug"; - goto L_Close; - -L_HalloweenDebug: - gmlog strcharinfo(0) + " accessed the Halloween debug."; - callfunc "HalloweenDebug"; - goto L_Close; - -L_Event: - if(getgmlevel() < 60) goto L_GM; - gmlog strcharinfo(0) + " accessed the GM event debug."; - callfunc "GmDebug"; - goto L_Close; - -L_StoneBoard: - if (getgmlevel() < 30) goto L_GM; - callfunc "SBConfig"; - goto L_Close; - -L_MOTD: - if (getgmlevel() < 40) goto L_GM; - callfunc "MOTDConfig"; - goto L_Close; - -L_GM: - mes "[Numa]"; - mes "I'm awfully sorry."; - mes "You do not have the required GM level to perform this action."; - goto L_Close; - -L_Close: - close2; // FIXME: replace with npc action 5 - return; -} diff --git a/world/map/npc/items/magic_gm_top_hat.txt b/world/map/npc/items/magic_gm_top_hat.txt deleted file mode 100644 index dfd114d2..00000000 --- a/world/map/npc/items/magic_gm_top_hat.txt +++ /dev/null @@ -1,25 +0,0 @@ --|script|ActivateMagicGMTophat|32767 -{ - if (GM < get(.killthegm, "GM") && GM < G_SYSOP) end; - if (getequipid(equip_head) != 888) end; - getinventorylist; - if ((checkweight("MurdererCrown", 1) == 0) || (@inventorylist_count == 100)) - goto L_Inventory; - // Get the current reward of the event. This may be changed later - getitem "MurdererCrown", 1; - // Set HP and SP to max - heal MaxHp, MaxSp; - // Display an effect - misceffect FX_CHANNELLING_CAST, strcharinfo(0); - // Log the usage of this spell - gmlog strcharinfo(0)+" used the Magic GM Top Hat."; - end; - -L_Inventory: - message strcharinfo(0), "You cannot create this item. You're too heavy or you don't have a free slot."; - end; - -OnInit: - registercmd "#pullrabbit", strnpcinfo(0); - end; -} diff --git a/world/map/npc/magic/README.md b/world/map/npc/magic/README.md index 187c7c04..57ab5131 100644 --- a/world/map/npc/magic/README.md +++ b/world/map/npc/magic/README.md @@ -1,23 +1,3 @@ -# To-do -- [X] finish the missing spells and push them so they can be tested -- [ ] Deal with the removal of the following spells from magic to NPCs or Commands - - [X] Ched - - [X] merge-concentration-potions - - [ ] Auldsbel - - [ ] make-short-tanktop - - [ ] make-tanktop - - [ ] make-shirt - - [ ] make-concentration-potion - - [X] Wyara - - [ ] sense-spouse - ---- ---- -to see other things that needs to be done do a grep for `TODO`, `FIXME` in this folder. -To see a list of things that needs further thoughts do a grep for `XXX`. - ---- ---- - [ ] check the new builtins and make sure they work as intended - [ ] `puppet` - [ ] check what happens when making a puppet whose name already exist (maybe it replaces?) @@ -49,6 +29,8 @@ To see a list of things that needs further thoughts do a grep for `XXX`. - [ ] `distance` - [ ] `if_then_else` + - I do not like `void`, feels like an ugly workaround; we should make `puppet` and `call` work in both function context and statement context + --- - [ ] test the spells - [ ] test with no target diff --git a/world/map/npc/magic/_import.txt b/world/map/npc/magic/_import.txt index 52a6a55c..2ef595af 100644 --- a/world/map/npc/magic/_import.txt +++ b/world/map/npc/magic/_import.txt @@ -12,6 +12,7 @@ npc: npc/magic/level1-grow-alizarin.txt npc: npc/magic/level1-grow-gamboge.txt npc: npc/magic/level1-grow-cobalt.txt npc: npc/magic/level1-summon-maggots.txt +npc: npc/magic/level1-sense-spouse.txt npc: npc/magic/level1-detect-magic.txt npc: npc/magic/level2-arrow-hail.txt npc: npc/magic/level2-make-arrows.txt diff --git a/world/map/npc/magic/_procedures.txt b/world/map/npc/magic/_procedures.txt index 57a83fa9..df750f73 100644 --- a/world/map/npc/magic/_procedures.txt +++ b/world/map/npc/magic/_procedures.txt @@ -1,6 +1,6 @@ function|script|magic_register { - debugmes ">> Register " + .invocation$ + " @ " + strnpcinfo(0); + //debugmes ">> Register " + .invocation$ + " @ " + strnpcinfo(0); set .@ext$, if_then_else(getarg(0,"") != "", "::"+getarg(0), ""); registercmd .invocation$, strnpcinfo(0) + .@ext$; // register the spell set .index, $@magic_index; @@ -8,12 +8,21 @@ function|script|magic_register return; } +// this can only be done with a npc so... +-|script|Magic Timer|32767 +{ + end; +OnClear: + set @_M_BLOCK, 0; + end; +} + // this function is call()-only function|script|magic_checks { set .@r, 0; if(getpvpflag(1)) set .@r, 1; // FIXME: make HIDDEN into a param - if((gettimetick(2) - MAGIC_CAST_TICK) < 0) set .@r, 2; // check if last debuff ended + if(@_M_BLOCK) set .@r, 2; // check if last debuff ended if(Hp < 1) set .@r, 3; // can not cast when dead return .@r; } @@ -22,10 +31,10 @@ function|script|elt_damage { // args are damage, dmgplus(mutation), bonus_elt, malus_elt, effect set .@dmg, getarg(0) + rand(getarg(1)); - if(elttype(@target_id) == getarg(3)) // malus + if(get(ELTTYPE, @target_id) == getarg(3)) // malus set .@dmg, .@dmg / 3; - if(elttype(@target_id) == getarg(2)) // bonus - set .@dmg, ((eltlvl(@target_id) + 4) * .@dmg) / 4; + if(get(ELTTYPE, @target_id) == getarg(2)) // bonus + set .@dmg, ((get(ELTLVL, @target_id) + 4) * .@dmg) / 4; set .@source, .caster; if (!.@source) set .@source, getcharid(3); diff --git a/world/map/npc/magic/level0-wand.txt b/world/map/npc/magic/level0-wand.txt index f0938713..1a512c0c 100644 --- a/world/map/npc/magic/level0-wand.txt +++ b/world/map/npc/magic/level0-wand.txt @@ -5,10 +5,12 @@ if(@WandAttack != 1) goto L_Failed; // here we install - set MAGIC_CAST_TICK, gettimetick(2) + 5; // set the new debuff + set @_M_BLOCK, 1; // block casting, until the timer clears it + addtimer 500, "Magic Timer::OnClear"; // set the new debuff callfunc "adjust_spellpower"; misceffect FX_MAGIC_GENERIC, strcharinfo(0); - overrideattack (@Wand + (@spellpower / 10)), 1200, 3, ATTACK_ICON_GENERIC, @WandID, strnpcinfo(0)+"::OnAttack"; + set .@delay, (((200 - Agi) * 1200) / 200); + overrideattack (@Wand + (@spellpower / 10)), .@delay, 3, ATTACK_ICON_GENERIC, @WandID, strnpcinfo(0)+"::OnAttack"; callfunc "magic_exp"; end; @@ -62,9 +64,9 @@ L_Failed: end; OnInit: - setarray .Wands[0], 758, 1171; - setarray .WandsPwr[0], 2, 1; - setarray .WandsAnim[0], 35, 33; + setarray .Wands[0], 0, 758, 1171; + setarray .WandsPwr[0], 0, 2, 1; + setarray .WandsAnim[0], 0, 35, 33; set .school, SKILL_MAGIC; set .invocation$, chr(MAGIC_SYMBOL) + "confringo"; // used in npcs that refer to this spell void call("magic_register"); diff --git a/world/map/npc/magic/level1-aggravate.txt b/world/map/npc/magic/level1-aggravate.txt index 1aaa9fc7..5b3d5674 100644 --- a/world/map/npc/magic/level1-aggravate.txt +++ b/world/map/npc/magic/level1-aggravate.txt @@ -1,9 +1,10 @@ -|script|spell-aggravate|32767 { - if(call("magic_checks")) end; // << I wish we had functions that could return >> + if(call("magic_checks")) end; if (Sp < 3) end; if (getskilllv(.school) < .level) end; - set MAGIC_CAST_TICK, gettimetick(2) + 1; // set the new debuff + set @_M_BLOCK, 1; // block casting, until the timer clears it + addtimer 1000, "Magic Timer::OnClear"; // set the new debuff set @args$, ""; callfunc "adjust_spellpower"; // we reset @args$ because this spell should not have a target set @distance, (2 + (@spellpower / 50)); set Sp, Sp - 3; diff --git a/world/map/npc/magic/level1-detect-magic.txt b/world/map/npc/magic/level1-detect-magic.txt index e64a499a..e975e952 100644 --- a/world/map/npc/magic/level1-detect-magic.txt +++ b/world/map/npc/magic/level1-detect-magic.txt @@ -1,9 +1,10 @@ -|script|detect-magic|32767 { - if(call("magic_checks")) end; // << I wish we had functions that could return >> + if(call("magic_checks")) end; if (Sp < 3) end; if (getskilllv(.school) < .level) end; - set MAGIC_CAST_TICK, gettimetick(2) + 6; // set the new debuff + set @_M_BLOCK, 1; // block casting, until the timer clears it + addtimer 6000, "Magic Timer::OnClear"; // set the new debuff callfunc "adjust_spellpower"; set Sp, Sp - 3; misceffect FX_MAGIC_GENERIC, strcharinfo(0); @@ -15,7 +16,7 @@ OnNearbyNpc: set .@e$, strnpcinfo(2,@target_id); - if(.@e$ == "#_M" || .@e$ == "#MAGIC") + if(.@e$ == "#_M" || .@e$ == "#MAGIC" || get(.IS_MAGIC, @target_id)) misceffect FX_MAGIC_DEFAULT, @target_id; end; diff --git a/world/map/npc/magic/level1-experience.txt b/world/map/npc/magic/level1-experience.txt index 2c283eaa..36ad8179 100644 --- a/world/map/npc/magic/level1-experience.txt +++ b/world/map/npc/magic/level1-experience.txt @@ -1,8 +1,9 @@ -|script|spell-experience|32767 { - if(call("magic_checks")) end; // << I wish we had functions that could return >> + if(call("magic_checks")) end; if (Sp < 1) end; - set MAGIC_CAST_TICK, gettimetick(2) + 1; // set the new debuff + set @_M_BLOCK, 1; // block casting, until the timer clears it + addtimer 1000, "Magic Timer::OnClear"; // set the new debuff set @level, getskilllv(.school); if (@level < .level) end; callfunc "adjust_spellpower"; @@ -35,6 +36,6 @@ OnInit: set .level, 1; set .exp_gain, 0; void call("magic_register"); - setarray .MAX_MAGIC_EXP[0], 0, 100, 1200, 8000, 40000, 65535; + setarray .MAX_MAGIC_EXP[0], 0, 0, 100, 1200, 8000, 40000, 65535; end; } diff --git a/world/map/npc/magic/level1-flare-dart.txt b/world/map/npc/magic/level1-flare-dart.txt index 6b6657b6..29a4f3c1 100644 --- a/world/map/npc/magic/level1-flare-dart.txt +++ b/world/map/npc/magic/level1-flare-dart.txt @@ -1,25 +1,27 @@ -|script|flare-dart|32767 { - if(call("magic_checks")) end; // << I wish we had functions that could return >> + if(call("magic_checks")) end; if (Sp < 10) end; set @level, getskilllv(.school); if (@level < .level) end; if (@level <= 2 && countitem("SulphurPowder") >= 1) delitem "SulphurPowder", 1; elif (@level <= 2) end; - set MAGIC_CAST_TICK, gettimetick(2) + 1; // set the new debuff + set @_M_BLOCK, 1; // block casting, until the timer clears it + addtimer 500, "Magic Timer::OnClear"; // set the new debuff callfunc "adjust_spellpower"; set Sp, Sp - 10; misceffect FX_MAGIC_BLACK, strcharinfo(0); - set @damage, sqrt(@spellpower) * 5; - set @dmg_bonus, (BaseLevel/3) + 5; - overrideattack (@spellpower/50)+3, 1200, 4, ATTACK_ICON_GENERIC, 34, strnpcinfo(0)+"::OnAttack"; + set @flar_damage, sqrt(@spellpower) * 5; + set @flar_dmg_bonus, (BaseLevel/3) + 5; + set .@delay, (((200 - Agi) * 1200) / 200); + overrideattack (@spellpower/50)+3, .@delay, 4, ATTACK_ICON_GENERIC, 34, strnpcinfo(0)+"::OnAttack"; callfunc "magic_exp"; end; OnAttack: misceffect FX_MAGIC_BLACK, strcharinfo(0); if (target(BL_ID, @target_id, 50) != 50) end; // 0x20 | 0x02 | 0x10 - void call("elt_damage", @damage, @dmg_bonus, ELT_WATER, ELT_FIRE, FX_MAGIC_BLACK); + void call("elt_damage", @flar_damage, @flar_dmg_bonus, ELT_WATER, ELT_FIRE, FX_MAGIC_BLACK); end; OnInit: diff --git a/world/map/npc/magic/level1-grow-alizarin.txt b/world/map/npc/magic/level1-grow-alizarin.txt index c44a4f47..bc88380d 100644 --- a/world/map/npc/magic/level1-grow-alizarin.txt +++ b/world/map/npc/magic/level1-grow-alizarin.txt @@ -1,12 +1,13 @@ -|script|grow-alizarin|32767 { - if(call("magic_checks")) end; // << I wish we had functions that could return >> + if(call("magic_checks")) end; if (Sp < 4) end; if (getskilllv(.school) < .level) end; if (countitem("AlizarinHerb") < 1 || countitem("Root") < 1) end; delitem "AlizarinHerb", 1; delitem "Root", 1; - set MAGIC_CAST_TICK, gettimetick(2) + 2; // set the new debuff + set @_M_BLOCK, 1; // block casting, until the timer clears it + addtimer 2000, "Magic Timer::OnClear"; // set the new debuff callfunc "adjust_spellpower"; set Sp, Sp - 4; misceffect FX_MAGIC_GREEN, strcharinfo(0); diff --git a/world/map/npc/magic/level1-grow-cobalt.txt b/world/map/npc/magic/level1-grow-cobalt.txt index 1eb923b2..cc7d1b33 100644 --- a/world/map/npc/magic/level1-grow-cobalt.txt +++ b/world/map/npc/magic/level1-grow-cobalt.txt @@ -1,12 +1,13 @@ -|script|grow-cobalt|32767 { - if(call("magic_checks")) end; // << I wish we had functions that could return >> + if(call("magic_checks")) end; if (Sp < 4) end; if (getskilllv(.school) < .level) end; if (countitem("CobaltHerb") < 1 || countitem("Root") < 1) end; delitem "CobaltHerb", 1; delitem "Root", 1; - set MAGIC_CAST_TICK, gettimetick(2) + 2; // set the new debuff + set @_M_BLOCK, 1; // block casting, until the timer clears it + addtimer 2000, "Magic Timer::OnClear"; // set the new debuff callfunc "adjust_spellpower"; set Sp, Sp - 4; misceffect FX_MAGIC_GREEN, strcharinfo(0); diff --git a/world/map/npc/magic/level1-grow-gamboge.txt b/world/map/npc/magic/level1-grow-gamboge.txt index 4ac779a8..559c99e8 100644 --- a/world/map/npc/magic/level1-grow-gamboge.txt +++ b/world/map/npc/magic/level1-grow-gamboge.txt @@ -1,12 +1,13 @@ -|script|grow-gamboge|32767 { - if(call("magic_checks")) end; // << I wish we had functions that could return >> + if(call("magic_checks")) end; if (Sp < 4) end; if (getskilllv(.school) < .level) end; if (countitem("GambogeHerb") < 1 || countitem("Root") < 1) end; delitem "GambogeHerb", 1; delitem "Root", 1; - set MAGIC_CAST_TICK, gettimetick(2) + 2; // set the new debuff + set @_M_BLOCK, 1; // block casting, until the timer clears it + addtimer 2000, "Magic Timer::OnClear"; // set the new debuff callfunc "adjust_spellpower"; set Sp, Sp - 4; misceffect FX_MAGIC_GREEN, strcharinfo(0); diff --git a/world/map/npc/magic/level1-grow-mauve.txt b/world/map/npc/magic/level1-grow-mauve.txt index 1744660a..5ae266e2 100644 --- a/world/map/npc/magic/level1-grow-mauve.txt +++ b/world/map/npc/magic/level1-grow-mauve.txt @@ -1,12 +1,13 @@ -|script|grow-mauve|32767 { - if(call("magic_checks")) end; // << I wish we had functions that could return >> + if(call("magic_checks")) end; if (Sp < 4) end; if (getskilllv(.school) < .level) end; if (countitem("MauveHerb") < 1 || countitem("Root") < 1) end; delitem "MauveHerb", 1; delitem "Root", 1; - set MAGIC_CAST_TICK, gettimetick(2) + 2; // set the new debuff + set @_M_BLOCK, 1; // block casting, until the timer clears it + addtimer 2000, "Magic Timer::OnClear"; // set the new debuff callfunc "adjust_spellpower"; set Sp, Sp - 4; misceffect FX_MAGIC_GREEN, strcharinfo(0); diff --git a/world/map/npc/magic/level1-lesser-heal.txt b/world/map/npc/magic/level1-lesser-heal.txt index c4c74dd7..17f48b95 100644 --- a/world/map/npc/magic/level1-lesser-heal.txt +++ b/world/map/npc/magic/level1-lesser-heal.txt @@ -1,8 +1,7 @@ -|script|lesser-heal|32767 { - if(call("magic_checks")) end; // << I wish we had functions that could return >> + if(call("magic_checks")) end; if (Sp < 6) end; - set MAGIC_CAST_TICK, gettimetick(2) + 1; // set the new debuff if (getskilllv(.school) < .level) end; set @target_id, getcharid(3, @args$); if (@target_id < 1 || !(isloggedin(@target_id))) set @target_id, BL_ID; // fallback to self @@ -11,6 +10,8 @@ if (distance(BL_ID, @target_id) >= .@range) end; if (PVP_CHANNEL != get(PVP_CHANNEL, @target_id) && get(PVP_CHANNEL, @target_id) != 0) end; if (countitem("Lifestone") < 1) end; + set @_M_BLOCK, 1; // block casting, until the timer clears it + addtimer 500, "Magic Timer::OnClear"; // set the new debuff delitem "Lifestone", 1; callfunc "adjust_spellpower"; set Sp, Sp - 6; @@ -32,7 +33,7 @@ L_NotMe: L_Continue: if (getskilllv(SKILL_MAGIC_DARK) >= 1) sc_start SC_HALT_REGENERATE, 2000, 0; if (attachrid(@target_id) != 1) end; // XXX: to avoid the ugly attachrid method we would need some kind of `run_as` builtin - if (!(isdead())) heal 200, 1, 1; + if (!(isdead())) heal 200, 0, 1; end; L_Mouboo: diff --git a/world/map/npc/magic/level1-magic-blade.txt b/world/map/npc/magic/level1-magic-blade.txt index 915cb018..954675fe 100644 --- a/world/map/npc/magic/level1-magic-blade.txt +++ b/world/map/npc/magic/level1-magic-blade.txt @@ -1,6 +1,6 @@ -|script|magic-blade|32767 { - if(call("magic_checks")) end; // << I wish we had functions that could return >> + if(call("magic_checks")) end; if (Sp < 9) end; set .@level, getskilllv(.school); if (.@level < .level) end; @@ -9,11 +9,13 @@ elif (.@level <= 2 && countitem("Knife") >= 1) set @chiza_component$, "Knife"; elif (.@level <= 2) end; if (@chiza_component$ != "") delitem @chiza_component$, 1; - set MAGIC_CAST_TICK, gettimetick(2) + 1; // set the new debuff + set @_M_BLOCK, 1; // block casting, until the timer clears it + addtimer 500, "Magic Timer::OnClear"; // set the new debuff callfunc "adjust_spellpower"; set Sp, Sp - 9; misceffect FX_MAGIC_BLACK, strcharinfo(0); - overrideattack (@spellpower/15)+10, 1200, 1, ATTACK_ICON_GENERIC, 30, strnpcinfo(0)+"::OnAttack"; + set .@delay, (((200 - Agi) * 1200) / 200); + overrideattack (@spellpower/15)+10, .@delay, 1, ATTACK_ICON_GENERIC, 30, strnpcinfo(0)+"::OnAttack"; callfunc "magic_exp"; set @chiza_str, Str; // do not allow to equip light armor, cast, and then switch to heavy armor to get bonus str end; diff --git a/world/map/npc/magic/level1-make-sulphur.txt b/world/map/npc/magic/level1-make-sulphur.txt index fe175265..a181d057 100644 --- a/world/map/npc/magic/level1-make-sulphur.txt +++ b/world/map/npc/magic/level1-make-sulphur.txt @@ -1,10 +1,11 @@ -|script|make-sulphur|32767 { - if(call("magic_checks")) end; // << I wish we had functions that could return >> + if(call("magic_checks")) end; if (Sp < 4) end; if (getskilllv(.school) < .level) end; if (countitem("PileOfAsh") >= 1) delitem "PileOfAsh", 1; else end; - set MAGIC_CAST_TICK, gettimetick(2) + 4; // set the new debuff + set @_M_BLOCK, 1; // block casting, until the timer clears it + addtimer 4000, "Magic Timer::OnClear"; // set the new debuff callfunc "adjust_spellpower"; set Sp, Sp - 4; misceffect FX_MAGIC_RED, strcharinfo(0); diff --git a/world/map/npc/magic/level1-sense-spouse.txt b/world/map/npc/magic/level1-sense-spouse.txt new file mode 100644 index 00000000..1766276c --- /dev/null +++ b/world/map/npc/magic/level1-sense-spouse.txt @@ -0,0 +1,25 @@ +-|script|sense-spouse|32767 +{ + set .@m, getpartnerid2(); + if (.@m < 1) + goto L_NotMarried; + if (isloggedin(.@m) < 1) + goto L_NotOnline; + if (sc_check(SC_HIDE, .@m) || getpvpflag(1, .@m)) + goto L_NotOnline; + message strcharinfo(0), "Spouse : Your spouse is... somewhere."; + end; + +L_NotOnline: + message strcharinfo(0), "Spouse : Your spouse is not online, or maybe just hiding from you."; + end; + +L_NotMarried: + message strcharinfo(0), "Spouse : You are not married, or no longer married (sorry for being the one telling you the bad news)."; + end; + +OnInit: + set .invocation$, chr(MAGIC_SYMBOL) + "inzuwilt"; // used in npcs that refer to this spell + registercmd .invocation$, strnpcinfo(0); + end; +} diff --git a/world/map/npc/magic/level1-summon-maggots.txt b/world/map/npc/magic/level1-summon-maggots.txt index 9247e56c..5daddd8a 100644 --- a/world/map/npc/magic/level1-summon-maggots.txt +++ b/world/map/npc/magic/level1-summon-maggots.txt @@ -3,13 +3,14 @@ end; OnCast: - if(call("magic_checks")) end; // << I wish we had functions that could return >> + if(call("magic_checks")) end; if (Sp < 21) end; if (getskilllv(.school) < .level) end; if (countitem("MaggotSlime") < 1 || countitem("Root") < 1) end; delitem "MaggotSlime", 1; delitem "Root", 1; - set MAGIC_CAST_TICK, gettimetick(2) + 20; // set the new debuff + set @_M_BLOCK, 1; // block casting, until the timer clears it + addtimer 20000, "Magic Timer::OnClear"; // set the new debuff callfunc "adjust_spellpower"; set Sp, Sp - 21; misceffect FX_MAGIC_BLUE, strcharinfo(0); diff --git a/world/map/npc/magic/level1-transmute-wood.txt b/world/map/npc/magic/level1-transmute-wood.txt index 9ec8403e..935ed2fa 100644 --- a/world/map/npc/magic/level1-transmute-wood.txt +++ b/world/map/npc/magic/level1-transmute-wood.txt @@ -1,10 +1,11 @@ -|script|spell-transmute-wood|32767 { - if(call("magic_checks")) end; // << I wish we had functions that could return >> + if(call("magic_checks")) end; if (Sp < 5) end; if (getskilllv(.school) < .level) end; if (countitem("RawLog") >= 1) delitem "RawLog", 1; else end; - set MAGIC_CAST_TICK, gettimetick(2) + 4; // set the new debuff + set @_M_BLOCK, 1; // block casting, until the timer clears it + addtimer 4000, "Magic Timer::OnClear"; // set the new debuff callfunc "adjust_spellpower"; set Sp, Sp - 5; misceffect FX_MAGIC_RED, strcharinfo(0); diff --git a/world/map/npc/magic/level2-arrow-hail.txt b/world/map/npc/magic/level2-arrow-hail.txt index f1a3686b..3be14f1a 100644 --- a/world/map/npc/magic/level2-arrow-hail.txt +++ b/world/map/npc/magic/level2-arrow-hail.txt @@ -4,7 +4,7 @@ end; OnCast: - if(call("magic_checks")) end; // << I wish we had functions that could return >> + if(call("magic_checks")) end; if (getskilllv(.school) < .level) end; if (getskilllv(SKILL_MAGIC) < .level) end; if (Sp < 25) end; @@ -16,7 +16,8 @@ OnCast: else end; delitem "SulphurPowder", 1; set Sp, Sp - 25; - set MAGIC_CAST_TICK, gettimetick(2) + 5; // set the new debuff + set @_M_BLOCK, 1; // block casting, until the timer clears it + addtimer 5000, "Magic Timer::OnClear"; // set the new debuff setarray @away[0], POS_X, POS_Y, getdir(), (.range + 1), 0; callsub S_AwayFrom; @@ -77,7 +78,9 @@ S_Launch: npcareawarp .area_x - 6, .area_y - 6, .area_x + 6, .area_y + 6, 0, strnpcinfo(0); misceffect FX_ARROW_HAIL; set .done, 0; - foreach 3, strnpcinfo(3), getnpcx(), getnpcy(), getnpcx(), getnpcy(), strnpcinfo(0) + "::OnHit"; + foreach 2, strnpcinfo(3), getnpcx(), getnpcy(), getnpcx(), getnpcy(), strnpcinfo(0) + "::OnHit"; + if (PVP_CHANNEL || getmapflag(getmap(), MF_PVP)) + foreach 0, strnpcinfo(3), getnpcx(), getnpcy(), getnpcx(), getnpcy(), strnpcinfo(0) + "::OnHit"; if(!.done && getx() == getnpcx() && gety() == getnpcy()) heal 0 - (.damage + rand(.damage_bonus) + rand(.damage_bonus)), 0; // injure caster set .launch, .launch + 1; diff --git a/world/map/npc/magic/level2-barrier.txt b/world/map/npc/magic/level2-barrier.txt index 8d74414a..3f78677b 100644 --- a/world/map/npc/magic/level2-barrier.txt +++ b/world/map/npc/magic/level2-barrier.txt @@ -1,6 +1,6 @@ -|script|magic barrier|32767 { - if(call("magic_checks")) end; // << I wish we had functions that could return >> + if(call("magic_checks")) end; if (Sp < 15) end; set .@level, getskilllv(.school); if (.@level < .level) end; @@ -16,7 +16,8 @@ if (attachrid(@asorm_caster) != 1) end; if (@target_hat == 888) end; // FIXME: this whole 5 line block could be done with only one line if we modify getequipid OR make equip_ into params - set MAGIC_CAST_TICK, gettimetick(2) + 1; // set the new debuff + set @_M_BLOCK, 1; // block casting, until the timer clears it + addtimer 1000, "Magic Timer::OnClear"; // set the new debuff callfunc "adjust_spellpower"; set Sp, Sp - 15; misceffect FX_MAGIC_BLUE, strcharinfo(0); @@ -34,6 +35,7 @@ end; OnEnd: + if (sc_check(SC_MBARRIER) != 1) end; message strcharinfo(0), "Barrier : Your magical barrier dissipates."; misceffect FX_MAGIC_DEFAULT, strcharinfo(0); end; diff --git a/world/map/npc/magic/level2-detect-players.txt b/world/map/npc/magic/level2-detect-players.txt index 41ab2e03..9867b700 100644 --- a/world/map/npc/magic/level2-detect-players.txt +++ b/world/map/npc/magic/level2-detect-players.txt @@ -1,12 +1,13 @@ -|script|detect-players|32767 { - if(call("magic_checks")) end; // << I wish we had functions that could return >> + if(call("magic_checks")) end; if (Sp < 7) end; if (getskilllv(.school) < .level) end; - set MAGIC_CAST_TICK, gettimetick(2) + 1; // XXX the casttime is 300 so should this be 0 ? + set @_M_BLOCK, 1; // block casting, until the timer clears it + addtimer 300, "Magic Timer::OnClear"; callfunc "adjust_spellpower"; set Sp, Sp - 7; - misceffect FX_MAGIC_DARKRED, strcharinfo(0); + misceffect FX_MAGIC_GENERIC, strcharinfo(0); callfunc "magic_exp"; set @inwilt$, ""; set .@d, @spellpower/2; diff --git a/world/map/npc/magic/level2-enchant-lifestone.txt b/world/map/npc/magic/level2-enchant-lifestone.txt index 19cc0a84..ba8536bf 100644 --- a/world/map/npc/magic/level2-enchant-lifestone.txt +++ b/world/map/npc/magic/level2-enchant-lifestone.txt @@ -1,6 +1,6 @@ -|script|enchant-lifestone|32767 { - if(call("magic_checks")) end; // << I wish we had functions that could return >> + if(call("magic_checks")) end; if (Sp < 15) end; if (getskilllv(.school) < .level) end; if (countitem("BugLeg") >= 1) delitem "BugLeg", 1; @@ -17,7 +17,8 @@ L_Herbs: goto L_Proceed; L_Proceed: - set MAGIC_CAST_TICK, gettimetick(2) + 4; // set the new debuff + set @_M_BLOCK, 1; // block casting, until the timer clears it + addtimer 4000, "Magic Timer::OnClear"; // set the new debuff callfunc "adjust_spellpower"; set Sp, Sp - 15; misceffect FX_MAGIC_GENERIC, strcharinfo(0); diff --git a/world/map/npc/magic/level2-flying-backpack.txt b/world/map/npc/magic/level2-flying-backpack.txt index 2480ef14..b87fba02 100644 --- a/world/map/npc/magic/level2-flying-backpack.txt +++ b/world/map/npc/magic/level2-flying-backpack.txt @@ -1,13 +1,14 @@ -|script|flying-backpack|32767 { - if(call("magic_checks")) end; // << I wish we had functions that could return >> + if(call("magic_checks")) end; if (Sp < 12) end; set .@level, getskilllv(.school); if (.@level < .level) end; if (getskilllv(SKILL_MAGIC) < .level) end; if (.@level <= 3 && countitem("SilkCocoon") >= 1) delitem "SilkCocoon", 1; elif (.@level <= 3) end; - set MAGIC_CAST_TICK, gettimetick(2) + 1; // set the new debuff + set @_M_BLOCK, 1; // block casting, until the timer clears it + addtimer 1000, "Magic Timer::OnClear"; // set the new debuff callfunc "adjust_spellpower"; set Sp, Sp - 12; misceffect FX_MAGIC_GREEN, strcharinfo(0); @@ -25,6 +26,7 @@ end; OnEnd: + if (sc_check(SC_FLYING_BACKPACK) != 1) end; message strcharinfo(0), "Backpack : Your backpack is no longer levitating."; misceffect FX_MAGIC_GENERIC, strcharinfo(0); end; diff --git a/world/map/npc/magic/level2-happy-curse.txt b/world/map/npc/magic/level2-happy-curse.txt index a6e314dd..190c7d23 100644 --- a/world/map/npc/magic/level2-happy-curse.txt +++ b/world/map/npc/magic/level2-happy-curse.txt @@ -1,6 +1,6 @@ -|script|happy-curse|32767 { - if(call("magic_checks")) end; // << I wish we had functions that could return >> + if(call("magic_checks")) end; if (Sp < 13) end; set .@level, getskilllv(.school); if (.@level < .level) end; @@ -10,7 +10,8 @@ set @target_id, getcharid(3, @args$); if (@target_id < 1 || !(isloggedin(@target_id))) set @target_id, BL_ID; // fallback to self - set MAGIC_CAST_TICK, gettimetick(2) + 1; // set the new debuff + set @_M_BLOCK, 1; // block casting, until the timer clears it + addtimer 1000, "Magic Timer::OnClear"; // set the new debuff callfunc "adjust_spellpower"; set Sp, Sp - 13; misceffect FX_MAGIC_GREEN, strcharinfo(0); diff --git a/world/map/npc/magic/level2-hide.txt b/world/map/npc/magic/level2-hide.txt index d6bf538c..1895cff1 100644 --- a/world/map/npc/magic/level2-hide.txt +++ b/world/map/npc/magic/level2-hide.txt @@ -1,6 +1,6 @@ -|script|spell-hide|32767 { - if(call("magic_checks")) end; // << I wish we had functions that could return >> + if(call("magic_checks")) end; if (Sp < 11) end; set .@level, getskilllv(.school); if (.@level < .level) end; @@ -10,7 +10,8 @@ set @target_id, getcharid(3, @args$); if (@target_id < 1 || !(isloggedin(@target_id))) set @target_id, BL_ID; // fallback to self - set MAGIC_CAST_TICK, gettimetick(2) + 1; // set the new debuff + set @_M_BLOCK, 1; // block casting, until the timer clears it + addtimer 1000, "Magic Timer::OnClear"; // set the new debuff callfunc "adjust_spellpower"; set Sp, Sp - 11; misceffect FX_MAGIC_BLUE, strcharinfo(0); @@ -29,6 +30,7 @@ end; OnEnd: + if (sc_check(SC_HIDE) != 1) end; message strcharinfo(0), "Magic : You are no longer hidden."; misceffect FX_MAGIC_GENERIC, strcharinfo(0); end; diff --git a/world/map/npc/magic/level2-lay-on-hands.txt b/world/map/npc/magic/level2-lay-on-hands.txt index ab5b2616..4e3a1e9c 100644 --- a/world/map/npc/magic/level2-lay-on-hands.txt +++ b/world/map/npc/magic/level2-lay-on-hands.txt @@ -1,6 +1,6 @@ -|script|lay-on-hands|32767 { - if(call("magic_checks")) end; // << I wish we had functions that could return >> + if(call("magic_checks")) end; if (Sp < 10) end; if (getskilllv(.school) < .level) end; if (getskilllv(SKILL_MAGIC) < .level) end; @@ -16,7 +16,8 @@ goto L_Pay; L_Pay: - set MAGIC_CAST_TICK, gettimetick(2) + 1; // XXX should this be 0 ? + set @_M_BLOCK, 1; // block casting, until the timer clears it + addtimer 500, "Magic Timer::OnClear"; // XXX should this be 0 ? set Sp, Sp - 10; misceffect FX_MAGIC_WHITE, strcharinfo(0); // on caster misceffect FX_MAGIC_WHITE, @args$; // on target diff --git a/world/map/npc/magic/level2-lightning-strike.txt b/world/map/npc/magic/level2-lightning-strike.txt index c9cf4602..67d1a72e 100644 --- a/world/map/npc/magic/level2-lightning-strike.txt +++ b/world/map/npc/magic/level2-lightning-strike.txt @@ -1,19 +1,21 @@ -|script|lightning-strike|32767 { - if(call("magic_checks")) end; // << I wish we had functions that could return >> + if(call("magic_checks")) end; if (Sp < 20) end; if (getskilllv(SKILL_MAGIC) < .level) end; set .@level, getskilllv(.school); if (.@level < .level) end; if (.@level <= 3 && countitem("IronPowder") >= 1) delitem "IronPowder", 1; elif (.@level <= 3) end; - set MAGIC_CAST_TICK, gettimetick(2) + 1; // set the new debuff + set @_M_BLOCK, 1; // block casting, until the timer clears it + addtimer 1000, "Magic Timer::OnClear"; // set the new debuff callfunc "adjust_spellpower"; set Sp, Sp - 20; misceffect FX_MAGIC_BLACK, strcharinfo(0); set @ingrav_sp, @spellpower; set @ingrav_luk, Luk; - overrideattack (@spellpower/90)+1, 3000, 8, ATTACK_ICON_GENERIC, 31, strnpcinfo(0)+"::OnAttack"; + set .@delay, (((200 - Agi) * 3000) / 200); + overrideattack (@spellpower/90)+1, .@delay, 8, ATTACK_ICON_GENERIC, 31, strnpcinfo(0)+"::OnAttack"; callfunc "magic_exp"; end; @@ -42,7 +44,7 @@ OnNpc: L_InRain: set @used, 0; - foreach 3, getmap(), @ar[0], @ar[1], @ar[2], @ar[3], strnpcinfo(0)+"::OnEntityInRain"; + foreach 0, getmap(), @ar[0], @ar[1], @ar[2], @ar[3], strnpcinfo(0)+"::OnEntityInRain"; if (@used >= 1 && (@ingrav_luk + rand(200)) >= 150) end; misceffect FX_LIGHTNING1 + rand(3), strcharinfo(0); heal 0 - @ingrav_sp, 0; diff --git a/world/map/npc/magic/level2-magic-knuckles.txt b/world/map/npc/magic/level2-magic-knuckles.txt index a91feeb2..3f4d4667 100644 --- a/world/map/npc/magic/level2-magic-knuckles.txt +++ b/world/map/npc/magic/level2-magic-knuckles.txt @@ -1,17 +1,19 @@ -|script|magic-knuckles|32767 { - if(call("magic_checks")) end; // << I wish we had functions that could return >> + if(call("magic_checks")) end; if (Sp < 20) end; if (getskilllv(SKILL_MAGIC) < .level) end; set .@level, getskilllv(.school); if (.@level < .level) end; if (.@level <= 3 && countitem("Beer") >= 1) delitem "Beer", 1; elif (.@level <= 3) end; - set MAGIC_CAST_TICK, gettimetick(2) + 1; // set the new debuff + set @_M_BLOCK, 1; // block casting, until the timer clears it + addtimer 500, "Magic Timer::OnClear"; // set the new debuff callfunc "adjust_spellpower"; set Sp, Sp - 20; misceffect FX_MAGIC_BLACK, strcharinfo(0); - overrideattack (@spellpower/10)+10, 1300, 1, ATTACK_ICON_GENERIC, 34, strnpcinfo(0)+"::OnAttack"; + set .@delay, (((200 - Agi) * 1300) / 200); + overrideattack (@spellpower/10)+10, .@delay, 1, ATTACK_ICON_GENERIC, 34, strnpcinfo(0)+"::OnAttack"; callfunc "magic_exp"; set @upmaru_str, Str; // do not allow to equip light armor, cast, and then switch to heavy armor to get bonus str end; @@ -22,7 +24,7 @@ OnAttack: OnInit: set .school, SKILL_MAGIC_WAR; - set .invocation$, chr(MAGIC_SYMBOL) + "upmaru"; // used in npcs that refer to this spell + set .invocation$, chr(MAGIC_SYMBOL) + "upmarmu"; // used in npcs that refer to this spell void call("magic_register"); set .level, 2; set .exp_gain, 1; diff --git a/world/map/npc/magic/level2-make-arrows.txt b/world/map/npc/magic/level2-make-arrows.txt index db3250a6..5bad035b 100644 --- a/world/map/npc/magic/level2-make-arrows.txt +++ b/world/map/npc/magic/level2-make-arrows.txt @@ -1,12 +1,13 @@ -|script|make-arrows|32767 { - if(call("magic_checks")) end; // << I wish we had functions that could return >> + if(call("magic_checks")) end; if (Sp < 8) end; if (getskilllv(SKILL_MAGIC) < .level) end; if (getskilllv(.school) < .level) end; if (countitem("RawLog") < 1) end; delitem "RawLog", 1; - set MAGIC_CAST_TICK, gettimetick(2) + 5; // set the new debuff + set @_M_BLOCK, 1; // block casting, until the timer clears it + addtimer 5000, "Magic Timer::OnClear"; // set the new debuff callfunc "adjust_spellpower"; set Sp, Sp - 8; misceffect FX_MAGIC_RED, strcharinfo(0); diff --git a/world/map/npc/magic/level2-make-iron-powder.txt b/world/map/npc/magic/level2-make-iron-powder.txt index 7cf7a134..55bdd0b9 100644 --- a/world/map/npc/magic/level2-make-iron-powder.txt +++ b/world/map/npc/magic/level2-make-iron-powder.txt @@ -1,12 +1,13 @@ -|script|make-iron-powder|32767 { - if(call("magic_checks")) end; // << I wish we had functions that could return >> + if(call("magic_checks")) end; if (Sp < 8) end; if (getskilllv(SKILL_MAGIC) < .level) end; if (getskilllv(.school) < .level) end; if (countitem("IronOre") < 1) end; delitem "IronOre", 1; - set MAGIC_CAST_TICK, gettimetick(2) + 5; // set the new debuff + set @_M_BLOCK, 1; // block casting, until the timer clears it + addtimer 5000, "Magic Timer::OnClear"; // set the new debuff callfunc "adjust_spellpower"; set Sp, Sp - 8; misceffect FX_MAGIC_RED, strcharinfo(0); diff --git a/world/map/npc/magic/level2-make-shirt.txt b/world/map/npc/magic/level2-make-shirt.txt index 8585a509..b7a1570f 100644 --- a/world/map/npc/magic/level2-make-shirt.txt +++ b/world/map/npc/magic/level2-make-shirt.txt @@ -1,10 +1,11 @@ -|script|make-shirt|32767 { - if(call("magic_checks")) end; // << I wish we had functions that could return >> + if(call("magic_checks")) end; if (Sp < 25) end; if (getskilllv(.school) < .level) end; if (countitem("CottonCloth") >= 5) delitem "CottonCloth", 5; else end; - set MAGIC_CAST_TICK, gettimetick(2) + 5; // set the new debuff + set @_M_BLOCK, 1; // block casting, until the timer clears it + addtimer 5000, "Magic Timer::OnClear"; // set the new debuff callfunc "adjust_spellpower"; set Sp, Sp - 25; misceffect FX_MAGIC_RED, strcharinfo(0); diff --git a/world/map/npc/magic/level2-make-short-tanktop.txt b/world/map/npc/magic/level2-make-short-tanktop.txt index 69297483..eee48425 100644 --- a/world/map/npc/magic/level2-make-short-tanktop.txt +++ b/world/map/npc/magic/level2-make-short-tanktop.txt @@ -1,10 +1,11 @@ -|script|make-short-tanktop|32767 { - if(call("magic_checks")) end; // << I wish we had functions that could return >> + if(call("magic_checks")) end; if (Sp < 25) end; if (getskilllv(.school) < .level) end; if (countitem("CottonCloth") >= 3) delitem "CottonCloth", 3; else end; - set MAGIC_CAST_TICK, gettimetick(2) + 5; // set the new debuff + set @_M_BLOCK, 1; // block casting, until the timer clears it + addtimer 5000, "Magic Timer::OnClear"; // set the new debuff callfunc "adjust_spellpower"; set Sp, Sp - 25; misceffect FX_MAGIC_RED, strcharinfo(0); diff --git a/world/map/npc/magic/level2-make-tanktop.txt b/world/map/npc/magic/level2-make-tanktop.txt index cec49d2e..678cf650 100644 --- a/world/map/npc/magic/level2-make-tanktop.txt +++ b/world/map/npc/magic/level2-make-tanktop.txt @@ -1,10 +1,11 @@ -|script|make-tanktop|32767 { - if(call("magic_checks")) end; // << I wish we had functions that could return >> + if(call("magic_checks")) end; if (Sp < 25) end; if (getskilllv(.school) < .level) end; if (countitem("CottonCloth") >= 4) delitem "CottonCloth", 4; else end; - set MAGIC_CAST_TICK, gettimetick(2) + 5; // set the new debuff + set @_M_BLOCK, 1; // block casting, until the timer clears it + addtimer 5000, "Magic Timer::OnClear"; // set the new debuff callfunc "adjust_spellpower"; set Sp, Sp - 25; misceffect FX_MAGIC_RED, strcharinfo(0); diff --git a/world/map/npc/magic/level2-protect.txt b/world/map/npc/magic/level2-protect.txt index bee84133..e66aab3a 100644 --- a/world/map/npc/magic/level2-protect.txt +++ b/world/map/npc/magic/level2-protect.txt @@ -1,6 +1,6 @@ -|script|protect|32767 { - if(call("magic_checks")) end; // << I wish we had functions that could return >> + if(call("magic_checks")) end; if (Sp < 14) end; set .@level, getskilllv(.school); if (.@level < .level) end; @@ -16,7 +16,8 @@ if (attachrid(@betsanc_caster) != 1) end; if (@target_hat == 888) end; // FIXME: this whole 5 line block could be done with only one line if we modify getequipid - set MAGIC_CAST_TICK, gettimetick(2) + 2; // set the new debuff + set @_M_BLOCK, 1; // block casting, until the timer clears it + addtimer 1500, "Magic Timer::OnClear"; // set the new debuff callfunc "adjust_spellpower"; set Sp, Sp - 14; misceffect FX_MAGIC_GREEN, strcharinfo(0); @@ -34,6 +35,7 @@ end; OnEnd: + if (sc_check(SC_PHYS_SHIELD) != 1) end; message strcharinfo(0), "Shield : You feel less protected."; misceffect FX_MAGIC_SHIELD_ENDS, strcharinfo(0); end; diff --git a/world/map/npc/magic/level2-rain.txt b/world/map/npc/magic/level2-rain.txt index 2d13cc8d..d3718170 100644 --- a/world/map/npc/magic/level2-rain.txt +++ b/world/map/npc/magic/level2-rain.txt @@ -4,7 +4,7 @@ end; OnCast: - if(call("magic_checks")) end; // << I wish we had functions that could return >> + if(call("magic_checks")) end; if (getskilllv(.school) < .level) end; if (getskilllv(SKILL_MAGIC) < .level) end; if (Sp < 17) end; @@ -14,7 +14,8 @@ OnCast: if (getskilllv(.school) < 4 && countitem("BottleOfWater") >= 1) delitem "BottleOfWater", 1; elif (getskilllv(.school) < 4) end; set Sp, Sp - 17; - set MAGIC_CAST_TICK, gettimetick(2) + 3; // set the new debuff + set @_M_BLOCK, 1; // block casting, until the timer clears it + addtimer 3000, "Magic Timer::OnClear"; // set the new debuff callfunc "adjust_spellpower"; set @krad, min(.max_radius,(min(@spellpower,200)/30)+3); // kaflosh radius @@ -74,7 +75,7 @@ OnLaunch: S_Launch: npcareawarp .initial_x - .radius, .initial_y - .radius, .initial_x + .radius, .initial_y + .radius, 0, strnpcinfo(0); misceffect FX_RAIN; - foreach 3, strnpcinfo(3), getnpcx()-1, getnpcy()-1, getnpcx()+1, getnpcy()+1, strnpcinfo(0) + "::OnHit"; + foreach 2, strnpcinfo(3), getnpcx()-1, getnpcy()-1, getnpcx()+1, getnpcy()+1, strnpcinfo(0) + "::OnHit"; set .launch, .launch + 1; if(.launch < .max_launch) goto S_Launch; return; @@ -84,7 +85,7 @@ OnHit: if(getmap() != strnpcinfo(3)) destroy; // destroy if caster left the map if(target(.caster, @target_id, 16) != 16 && .caster != @target_id) end; if((get(BL_TYPE, @target_id) & 1) == 0) end; // either mob or pc - if(elttype(@target_id) == ELT_FIRE) + if(get(ELTTYPE, @target_id) == ELT_FIRE) injure .caster, @target_id, rand((@spellpower/15)+5)+2; end; diff --git a/world/map/npc/magic/level2-shear.txt b/world/map/npc/magic/level2-shear.txt index afa6a59e..c76b1093 100644 --- a/world/map/npc/magic/level2-shear.txt +++ b/world/map/npc/magic/level2-shear.txt @@ -1,14 +1,16 @@ -|script|shear|32767 { - if(call("magic_checks")) end; // << I wish we had functions that could return >> + if(call("magic_checks")) end; if (Sp < 23) end; if (getskilllv(SKILL_MAGIC) < .level) end; if (getskilllv(.school) < .level) end; - set MAGIC_CAST_TICK, gettimetick(2) + 1; // set the new debuff + set @_M_BLOCK, 1; // block casting, until the timer clears it + addtimer 1000, "Magic Timer::OnClear"; // set the new debuff callfunc "adjust_spellpower"; set Sp, Sp - 23; misceffect FX_MAGIC_GREEN, strcharinfo(0); - overrideattack 1, 2000, 1, ATTACK_ICON_SHEARING, 30, strnpcinfo(0)+"::OnAttack"; + set .@delay, (((200 - Agi) * 2000) / 200); + overrideattack 1, .@delay, 1, ATTACK_ICON_SHEARING, 30, strnpcinfo(0)+"::OnAttack"; callfunc "magic_exp"; set @chipchip_sp, @spellpower; end; diff --git a/world/map/npc/magic/level2-summon-fluffies.txt b/world/map/npc/magic/level2-summon-fluffies.txt index 32fcd750..cd754e33 100644 --- a/world/map/npc/magic/level2-summon-fluffies.txt +++ b/world/map/npc/magic/level2-summon-fluffies.txt @@ -3,14 +3,15 @@ end; OnCast: - if(call("magic_checks")) end; // << I wish we had functions that could return >> + if(call("magic_checks")) end; if (Sp < 39) end; if (getskilllv(SKILL_MAGIC) < .level) end; if (getskilllv(.school) < .level) end; if (countitem("WhiteFur") < 1 || countitem("Root") < 1) end; delitem "WhiteFur", 1; delitem "Root", 1; - set MAGIC_CAST_TICK, gettimetick(2) + 20; // set the new debuff + set @_M_BLOCK, 1; // block casting, until the timer clears it + addtimer 20000, "Magic Timer::OnClear"; // set the new debuff callfunc "adjust_spellpower"; set Sp, Sp - 39; misceffect FX_MAGIC_BLUE, strcharinfo(0); diff --git a/world/map/npc/magic/level2-summon-mouboo.txt b/world/map/npc/magic/level2-summon-mouboo.txt index 5055362f..8eb074c6 100644 --- a/world/map/npc/magic/level2-summon-mouboo.txt +++ b/world/map/npc/magic/level2-summon-mouboo.txt @@ -3,14 +3,15 @@ end; OnCast: - if(call("magic_checks")) end; // << I wish we had functions that could return >> + if(call("magic_checks")) end; if (Sp < 35) end; if (getskilllv(SKILL_MAGIC) < .level) end; if (getskilllv(.school) < .level) end; if (countitem("MoubooFigurine") < 1 || countitem("Root") < 1) end; delitem "MoubooFigurine", 1; delitem "Root", 1; - set MAGIC_CAST_TICK, gettimetick(2) + 20; // set the new debuff + set @_M_BLOCK, 1; // block casting, until the timer clears it + addtimer 20000, "Magic Timer::OnClear"; // set the new debuff callfunc "adjust_spellpower"; set Sp, Sp - 35; misceffect FX_MAGIC_BLUE, strcharinfo(0); diff --git a/world/map/npc/magic/level2-summon-pinkie.txt b/world/map/npc/magic/level2-summon-pinkie.txt index f4716749..b91ec1d9 100644 --- a/world/map/npc/magic/level2-summon-pinkie.txt +++ b/world/map/npc/magic/level2-summon-pinkie.txt @@ -3,14 +3,15 @@ end; OnCast: - if(call("magic_checks")) end; // << I wish we had functions that could return >> + if(call("magic_checks")) end; if (Sp < 35) end; if (getskilllv(SKILL_MAGIC) < .level) end; if (getskilllv(.school) < .level) end; if (countitem("PinkAntenna") < 1 || countitem("Root") < 1) end; delitem "PinkAntenna", 1; delitem "Root", 1; - set MAGIC_CAST_TICK, gettimetick(2) + 20; // set the new debuff + set @_M_BLOCK, 1; // block casting, until the timer clears it + addtimer 20000, "Magic Timer::OnClear"; // set the new debuff callfunc "adjust_spellpower"; set Sp, Sp - 35; misceffect FX_MAGIC_BLUE, strcharinfo(0); diff --git a/world/map/npc/magic/level2-summon-snakes.txt b/world/map/npc/magic/level2-summon-snakes.txt index 4998fded..7490c506 100644 --- a/world/map/npc/magic/level2-summon-snakes.txt +++ b/world/map/npc/magic/level2-summon-snakes.txt @@ -3,7 +3,7 @@ end; OnCast: - if(call("magic_checks")) end; // << I wish we had functions that could return >> + if(call("magic_checks")) end; if (Sp < 40) end; if (getskilllv(SKILL_MAGIC) < .level) end; if (getskilllv(.school) < .level) end; @@ -11,7 +11,8 @@ OnCast: if (OrumQuest <= 40) end; delitem "DarkCrystal", 1; delitem "SnakeEgg", 1; - set MAGIC_CAST_TICK, gettimetick(2) + 15; // set the new debuff + set @_M_BLOCK, 1; // block casting, until the timer clears it + addtimer 15000, "Magic Timer::OnClear"; // set the new debuff callfunc "adjust_spellpower"; set Sp, Sp - 40; misceffect FX_MAGIC_DARKRED, strcharinfo(0); diff --git a/world/map/npc/magic/level2-summon-spiky-mushroom.txt b/world/map/npc/magic/level2-summon-spiky-mushroom.txt index 97d916b0..39ad9ecd 100644 --- a/world/map/npc/magic/level2-summon-spiky-mushroom.txt +++ b/world/map/npc/magic/level2-summon-spiky-mushroom.txt @@ -3,14 +3,15 @@ end; OnCast: - if(call("magic_checks")) end; // << I wish we had functions that could return >> + if(call("magic_checks")) end; if (Sp < 33) end; if (getskilllv(SKILL_MAGIC) < .level) end; if (getskilllv(.school) < .level) end; if (countitem("HardSpike") < 1 || countitem("Root") < 1) end; delitem "HardSpike", 1; delitem "Root", 1; - set MAGIC_CAST_TICK, gettimetick(2) + 20; // set the new debuff + set @_M_BLOCK, 1; // block casting, until the timer clears it + addtimer 20000, "Magic Timer::OnClear"; // set the new debuff callfunc "adjust_spellpower"; set Sp, Sp - 33; misceffect FX_MAGIC_BLUE, strcharinfo(0); diff --git a/world/map/npc/magic/level2-summon-wickedmushroom.txt b/world/map/npc/magic/level2-summon-wickedmushroom.txt index 3960437a..df17742f 100644 --- a/world/map/npc/magic/level2-summon-wickedmushroom.txt +++ b/world/map/npc/magic/level2-summon-wickedmushroom.txt @@ -3,7 +3,7 @@ end; OnCast: - if(call("magic_checks")) end; // << I wish we had functions that could return >> + if(call("magic_checks")) end; if (Sp < 35) end; if (getskilllv(SKILL_MAGIC) < .level) end; if (getskilllv(.school) < .level) end; @@ -11,7 +11,8 @@ OnCast: if (OrumQuest <= 36) end; delitem "DarkCrystal", 1; delitem "SmallMushroom", 1; - set MAGIC_CAST_TICK, gettimetick(2) + 15; // set the new debuff + set @_M_BLOCK, 1; // block casting, until the timer clears it + addtimer 15000, "Magic Timer::OnClear"; // set the new debuff callfunc "adjust_spellpower"; set Sp, Sp - 35; misceffect FX_MAGIC_DARKRED, strcharinfo(0); diff --git a/world/map/npc/magic/level2-toxic-dart.txt b/world/map/npc/magic/level2-toxic-dart.txt index 9674b64f..a14710d6 100644 --- a/world/map/npc/magic/level2-toxic-dart.txt +++ b/world/map/npc/magic/level2-toxic-dart.txt @@ -1,26 +1,27 @@ -|script|toxic-dart|32767 { - if(call("magic_checks")) end; // << I wish we had functions that could return >> + if(call("magic_checks")) end; if (Sp < 15) end; set .@level, getskilllv(.school); if (.@level < .level) end; if (OrumQuest <= 37) end; if (.@level <= 2 && countitem("Root") >= 2) delitem "Root", 2; elif (.@level <= 2) end; - set MAGIC_CAST_TICK, gettimetick(2) + 1; // set the new debuff + set @_M_BLOCK, 1; // block casting, until the timer clears it + addtimer 500, "Magic Timer::OnClear"; // set the new debuff callfunc "adjust_spellpower"; set Sp, Sp - 15; misceffect FX_MAGIC_DARKRED, strcharinfo(0); - set @damage, sqrt(@spellpower) * 5; - set @dmg_bonus, (BaseLevel/3) + 5; - overrideattack (@spellpower/75)+3, 1200, 4, ATTACK_ICON_GENERIC, 31, strnpcinfo(0)+"::OnAttack"; + setarray @phlex_damage[0], (sqrt(@spellpower) * 5), ((BaseLevel/3) + 5); + set .@delay, (((200 - Agi) * 1200) / 200); + overrideattack (@spellpower/75)+3, .@delay, 4, ATTACK_ICON_GENERIC, 31, strnpcinfo(0)+"::OnAttack"; callfunc "magic_exp"; end; OnAttack: misceffect FX_MAGIC_DARKRED, strcharinfo(0); if (target(BL_ID, @target_id, 50) != 50) end; // 0x20 | 0x02 | 0x10 - void call("elt_damage", @damage, @dmg_bonus, ELT_NEUTRAL, ELT_POISON, FX_FIRE_BURST); + void call("elt_damage", @phlex_damage[0], @phlex_damage[1], ELT_NEUTRAL, ELT_POISON, FX_FIRE_BURST); if(@target_id != BL_ID && isloggedin(@target_id)) // this is a dirty trick to check if the target is a player sc_start sc_poison, 5000+(@spellpower*1200), max(15,@spellpower/15)+5, @target_id; end; diff --git a/world/map/npc/magic/level3-necromancy.txt b/world/map/npc/magic/level3-necromancy.txt index 66643d39..ef2d761f 100644 --- a/world/map/npc/magic/level3-necromancy.txt +++ b/world/map/npc/magic/level3-necromancy.txt @@ -16,7 +16,8 @@ if (getmapflag(getmap(), MF_NOSAVE)) end; // do not allow for maps like illia or candor if (countitem("Soul") >= 1) delitem "Soul", 1; else end; - set MAGIC_CAST_TICK, gettimetick(2) + 20; + set @_M_BLOCK, 1; // block casting, until the timer clears it + addtimer 20000, "Magic Timer::OnClear"; set Sp, Sp - 50; misceffect FX_MAGIC_DARKRED, strcharinfo(0); // on caster misceffect FX_PENTAGRAM_BUILDUP, @args$; // on target diff --git a/world/map/npc/scripts.conf b/world/map/npc/scripts.conf index 57aa43e0..0935f246 100644 --- a/world/map/npc/scripts.conf +++ b/world/map/npc/scripts.conf @@ -17,8 +17,6 @@ npc: npc/functions/soul_menhir.txt npc: npc/functions/time.txt npc: npc/functions/water_bottle.txt npc: npc/functions/evil_obelisk.txt -npc: npc/functions/debug.txt -npc: npc/functions/superdebug.txt npc: npc/functions/announcements.txt npc: npc/functions/lockpicking.txt npc: npc/functions/default_npc_checks.txt @@ -34,7 +32,6 @@ npc: npc/functions/motdconfig.txt npc: npc/functions/hug.txt // Item Functions -npc: npc/items/magic_gm_top_hat.txt npc: npc/items/purification_potion.txt npc: npc/items/scissors.txt npc: npc/items/pickled_beets.txt -- cgit v1.2.3-70-g09d2