From bc4deaf81d9701261baac6a10d762b0f40e7f65f Mon Sep 17 00:00:00 2001 From: mekolat Date: Thu, 11 Jun 2015 11:13:11 -0400 Subject: initial commit for magic v3 Fix Druid Tree and add hug to TMW --- world/map/npc/009-2/misc.txt | 2 +- world/map/npc/009-2/wyara.txt | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) (limited to 'world/map/npc/009-2') diff --git a/world/map/npc/009-2/misc.txt b/world/map/npc/009-2/misc.txt index b28d43b5..139033ec 100644 --- a/world/map/npc/009-2/misc.txt +++ b/world/map/npc/009-2/misc.txt @@ -39,7 +39,7 @@ L_magic: mes "The page after that is once again hastily written, with many crossed out words and sections and side remarks such as 'it almost worked' or 'it worked fine yesterday.'"; next; mes "[Bookshelf]"; - mes "The last word on that page is '" + getspellinvocation("make-iron-powder") + ",' and it's underlined twice with a comment next to it saying 'finally got it right.'"; + mes "The last word on that page is '" + ("make-iron-powder") + ",' and it's underlined twice with a comment next to it saying 'finally got it right.'"; next; mes "[Bookshelf]"; mes "Unfortunately, you can't make out what the transmutation is for or even whether it requires any materials..."; diff --git a/world/map/npc/009-2/wyara.txt b/world/map/npc/009-2/wyara.txt index ba33d29f..d0bffbea 100644 --- a/world/map/npc/009-2/wyara.txt +++ b/world/map/npc/009-2/wyara.txt @@ -242,7 +242,7 @@ L_M_spell: L_M_spell3: mes "[Wyara the Witch]"; - mes "\"Now that you know the basics of nature magic, here is one of my favourites: '" + getspellinvocation("rain") + "' will summon rain, whereever you are standing. It will consume a bottle of water, though.\""; + mes "\"Now that you know the basics of nature magic, here is one of my favourites: '" + ("rain") + "' will summon rain, whereever you are standing. It will consume a bottle of water, though.\""; if (getskilllv(SKILL_MAGIC) < 2) mes "\"You are not powerful enough to use it yet, though; you will first have to absorb more magic from the mana seed.\""; next; @@ -250,14 +250,14 @@ L_M_spell3: L_M_spell2: mes "[Wyara the Witch]"; - mes "\"Here is another useful one: '" + getspellinvocation("detect-players") + "'. It will tell you the names of everyone nearby, but beware that there are ways to protect against it.\""; + mes "\"Here is another useful one: '" + ("detect-players") + "'. It will tell you the names of everyone nearby, but beware that there are ways to protect against it.\""; if (getskilllv(SKILL_MAGIC) < 2) mes "\"Hmm. You aren't powerful enough for this one either yet, I think.\""; next; if (!(getpartnerid2())) goto L_M_main; mes "[Wyara the Witch]"; - mes "\"Married partners can find each other even more easily. Use the '" + getspellinvocation("sense-spouse") + "' spell instead.\""; + mes "\"Married partners can find each other even more easily. Use the '" + ("sense-spouse") + "' spell instead.\""; next; goto L_M_main; -- cgit v1.2.3-70-g09d2 From aee89bdbe04ad0aed06622052244bf6b7d3c1d23 Mon Sep 17 00:00:00 2001 From: wushin Date: Wed, 9 Mar 2016 21:10:45 -0600 Subject: Fix invocations --- world/map/npc/001-1/ched.txt | 4 ++-- world/map/npc/001-2/pauline.txt | 10 +++++----- world/map/npc/002-1/elanore.txt | 14 ++++++------- world/map/npc/006-1/spirit.txt | 4 ++-- world/map/npc/008-1/hinnak.txt | 2 +- world/map/npc/009-2/misc.txt | 2 +- world/map/npc/009-2/wyara.txt | 6 +++--- world/map/npc/009-3/sword.txt | 2 +- world/map/npc/011-1/auldsbel.txt | 20 +++++++++---------- world/map/npc/012-3/mana-seed.txt | 2 +- world/map/npc/013-1/sagatha.txt | 14 ++++++------- world/map/npc/013-2/wizard.txt | 2 +- world/map/npc/015-1/sword.txt | 6 +++--- world/map/npc/017-4/waric.txt | 12 +++++------ world/map/npc/doc/magic | 23 ++++++++++++++++++++++ world/map/npc/magic/level2-barrier.txt | 2 +- world/map/npc/magic/level2-summon-fluffies.txt | 2 +- world/map/npc/magic/level2-summon-mouboo.txt | 2 +- world/map/npc/magic/level2-summon-pinkie.txt | 2 +- .../map/npc/magic/level2-summon-spiky-mushroom.txt | 2 +- .../map/npc/magic/level2-summon-wickedmushroom.txt | 2 +- 21 files changed, 79 insertions(+), 56 deletions(-) create mode 100644 world/map/npc/doc/magic (limited to 'world/map/npc/009-2') diff --git a/world/map/npc/001-1/ched.txt b/world/map/npc/001-1/ched.txt index dee6cb77..eb82aba1 100644 --- a/world/map/npc/001-1/ched.txt +++ b/world/map/npc/001-1/ched.txt @@ -15,9 +15,9 @@ L_Next: mes "[Ched]"; mes "\"Well, I don't remember what it's called... I took it out of 'Timbleweed's Advanced Transmutations,' but it seems awfully hard to cast.\""; next; - mes "\"If you want to try it, the invocation is '" + ("merge-concentration-potions") + ".' I just can't get the hang of it though.\""; + mes "\"If you want to try it, the invocation is '" + get(.invocation$, "merge-concentration-potions") + ".' I just can't get the hang of it though.\""; next; - mes "\"Maybe I should go back to practicing '" + ("detect-magic") + "' until I can cast it properly.\" %%6"; + mes "\"Maybe I should go back to practicing '" + get(.invocation$, "detect-magic") + "' until I can cast it properly.\" %%6"; goto L_Done; L_Done: diff --git a/world/map/npc/001-2/pauline.txt b/world/map/npc/001-2/pauline.txt index 93608a10..e69f8206 100644 --- a/world/map/npc/001-2/pauline.txt +++ b/world/map/npc/001-2/pauline.txt @@ -92,7 +92,7 @@ L_Spells: L_Next1: mes "[Pauline]"; mes "\"Well I could only read the invocations. So I don't exactly know what kind of ingredients you are going to need.\""; - mes "\"The first one for the mouboo was " + ("summon-mouboo") + " and the one for the pinkie was " + ("summon-pinkie") +".\""; + mes "\"The first one for the mouboo was " + get(.invocation$, "summon-mouboo") + " and the one for the pinkie was " + get(.invocation$, "summon-pinkie") +".\""; next; mes "\"For the pinkie spell my suggestion is to try similar ingredients to the other Astral spells. Try a root and some item typical for pinkies.\""; mes "\"The mouboo spell might be more complicated. From what I could translate, one of the spell components is crafted by magic.\""; @@ -157,7 +157,7 @@ L_Next4: goto L_DidNotWorkMouboo; L_DidNotWorkMouboo: - mes "The Witch takes " + @pauline_ingredient1$ + " and " + @pauline_ingredient2$ + " and puts them together calling " + ("summon-mouboo") + "."; + mes "The Witch takes " + @pauline_ingredient1$ + " and " + @pauline_ingredient2$ + " and puts them together calling " + get(.invocation$, "summon-mouboo") + "."; mes "Nothing happens."; mes "[Pauline]"; mes "\"It seems you did not tell me the correct ingredients. Come back when you find the correct ones.\""; @@ -174,7 +174,7 @@ L_Pass2Mouboo: goto L_DidNotWorkMouboo; L_TrySpellMouboo: - mes "The Witch takes " + @pauline_ingredient1$ + " and " + @pauline_ingredient2$ + " and puts them together calling " + ("summon-mouboo") + "."; + mes "The Witch takes " + @pauline_ingredient1$ + " and " + @pauline_ingredient2$ + " and puts them together calling " + get(.invocation$, "summon-mouboo") + "."; monster "001-1", 55,68, "Good", 1028, 1; mes "[Pauline]"; mes "\"It worked!\""; @@ -220,7 +220,7 @@ L_Next5: goto L_DidNotWorkPinkie; L_DidNotWorkPinkie: - mes "The Witch takes " + @pauline_ingredient1$ + " and " + @pauline_ingredient2$ + " and puts them together calling " + ("summon-pinkie") + "."; + mes "The Witch takes " + @pauline_ingredient1$ + " and " + @pauline_ingredient2$ + " and puts them together calling " + get(.invocation$, "summon-pinkie") + "."; mes "Nothing happens."; mes "[Pauline]"; mes "\"It seems you did not tell me the correct ingredients. Come back when you find the correct ones.\""; @@ -237,7 +237,7 @@ L_Pass2Pinkie: goto L_DidNotWorkPinkie; L_TrySpellPinkie: - mes "The Witch takes " + @pauline_ingredient1$ + " and " + @pauline_ingredient2$ + " and puts them together calling " + ("summon-pinkie") + "."; + mes "The Witch takes " + @pauline_ingredient1$ + " and " + @pauline_ingredient2$ + " and puts them together calling " + get(.invocation$, "summon-pinkie") + "."; monster "001-1", 54,68, "Good", 1018, 1; mes "[Pauline]"; mes "\"It worked!\""; diff --git a/world/map/npc/002-1/elanore.txt b/world/map/npc/002-1/elanore.txt index fbc8f3c0..e936447e 100644 --- a/world/map/npc/002-1/elanore.txt +++ b/world/map/npc/002-1/elanore.txt @@ -233,7 +233,7 @@ L_MakeSelf: goto L_MakeSelf_yes; L_MakeSelf_yes: - mes "\"Oh, but of course! You are powerful enough to make your own lifestones, using the enchantment '" + ("enchant-lifestone") + "'. This will consume a bug leg or a maggot slime or one of each of the four healing herbs, though.\""; + mes "\"Oh, but of course! You are powerful enough to make your own lifestones, using the enchantment '" + get(.invocation$, "enchant-lifestone") + "'. This will consume a bug leg or a maggot slime or one of each of the four healing herbs, though.\""; goto L_Close; L_MakeSelf_no: @@ -265,15 +265,15 @@ L_T_Initial: next; mes "[Elanore the Healer]"; mes "\"To heal someone, first locate the injury. As a beginner, you have to touch the wound; with practice, it will be enough to think about it. Hold the lifestone in one hand, touching the wound with the other.\""; - mes "\"Then say, '" + ("lesser-heal") + "', followed by the name of the one you wish to heal.\""; + mes "\"Then say, '" + get(.invocation$, "lesser-heal") + "', followed by the name of the one you wish to heal.\""; next; mes "[Elanore the Healer]"; mes "\"You might want to write that down, actually. In fact, you might want to make sure to keep notes of all spells you hear, for you never know if you will hear them again!\""; - mes "\"The invocation was '" + ("lesser-heal") + "'.\""; + mes "\"The invocation was '" + get(.invocation$, "lesser-heal") + "'.\""; next; mes "[Elanore the Healer]"; mes "\"This will only cure cuts and bruises, though, and it will take some time to take effect. It will be useless to mend broken bones or more severe injuries!\""; - mes "\"To heal yourself, it's enough to just say '" + ("lesser-heal") + "' by itself.\""; + mes "\"To heal yourself, it's enough to just say '" + get(.invocation$, "lesser-heal") + "' by itself.\""; next; mes "[Elanore the Healer]"; mes "\"Let me give you a lifestone to get started with.\""; @@ -344,7 +344,7 @@ L_T_ChkAdvToLOH: mes "\"I will now teach you how to heal by laying on your hands. The technique is similar to the spell I taught you at the beginning, but this time you transfer your own health instead of drawing health from a lifestone.\""; next; mes "[Elanore the Healer]"; - mes "\"First, lay your hand on the person you wish to heal. You needn't touch the injury itself, though you have to touch the skin until you are a little more experienced. Then, medidate on the word '" + ("lay-on-hands") + "'\""; + mes "\"First, lay your hand on the person you wish to heal. You needn't touch the injury itself, though you have to touch the skin until you are a little more experienced. Then, medidate on the word '" + get(.invocation$, "lay-on-hands") + "'\""; next; mes "[Elanore the Healer]"; mes "\"This will let your own life force flow into the person you are healing. If you are badly injured yourself, you will not be able to do this.\""; @@ -500,11 +500,11 @@ L_T_CurePosion: next; mes "[Elanore the Healer]"; mes "\"If you would like to cure someone who is poisoned, first rub a Gamboge leaf between your hands. Your hands must be covered in Gamboge liquid for this to work.\""; - mes "\"Speak the invocation, `" + ("cure-poison") + "'.\""; + mes "\"Speak the invocation, `" + get(.invocation$, "cure-poison") + "'.\""; mes "\"Next, you either touch the poisoned person with your hands, or speak their name. You have to be close for this to work, though.\""; next; mes "[Elanore the Healer]"; - mes "\"Once again, the invocation is `" + ("cure-poison") + "'.\""; + mes "\"Once again, the invocation is `" + get(.invocation$, "cure-poison") + "'.\""; mes "\"Come back again soon; there is another spell I would like to teach you.\""; next; set @Q_status, @STATUS_LEARNED_CURE_POISON; diff --git a/world/map/npc/006-1/spirit.txt b/world/map/npc/006-1/spirit.txt index 9a839a81..68e1bbe7 100644 --- a/world/map/npc/006-1/spirit.txt +++ b/world/map/npc/006-1/spirit.txt @@ -178,7 +178,7 @@ L_Next5: mes "\"Kekeke... excellent! Yes, here goes your first spell, the flying backpack! If you are overloaded, it will take the load off your shoulders.\""; next; mes "[Earth Spirit]"; - mes "\"Take a cocoon, living or dead, and suffuse it in magic. Whisper '" + ("flying-backpack") + "', and feel it float!\""; + mes "\"Take a cocoon, living or dead, and suffuse it in magic. Whisper '" + get(.invocation$, "flying-backpack") + "', and feel it float!\""; goto L_Q_magic_finish; L_Q_magic_3: @@ -196,7 +196,7 @@ L_Next6: mes "\"Yeees, good! This one is a protection spell, making your skin harder. You need a hard spike for it, though. Hold that spike in your hands, and focus on it.\""; next; mes "[Earth Spirit]"; - mes "\"Next, say '" + ("protect") + "', and feel your skin grow rigid! Very useful against stings and stabs and pokes and pricks and that sort of stuff.\""; + mes "\"Next, say '" + get(.invocation$, "protect") + "', and feel your skin grow rigid! Very useful against stings and stabs and pokes and pricks and that sort of stuff.\""; goto L_Q_magic_finish; L_Q_magic_4: diff --git a/world/map/npc/008-1/hinnak.txt b/world/map/npc/008-1/hinnak.txt index d3828d74..d16460c3 100644 --- a/world/map/npc/008-1/hinnak.txt +++ b/world/map/npc/008-1/hinnak.txt @@ -217,7 +217,7 @@ L_Sagatha_scary: L_Sagatha_word: mes "[Farmer Hinnak]"; - mes "\"Oh, I can't be sure... but something like '" + ("summon-maggots") + "', I think.\""; + mes "\"Oh, I can't be sure... but something like '" + get(.invocation$, "summon-maggots") + "', I think.\""; goto L_Close; L_NoBeer: diff --git a/world/map/npc/009-2/misc.txt b/world/map/npc/009-2/misc.txt index 139033ec..1c1d3897 100644 --- a/world/map/npc/009-2/misc.txt +++ b/world/map/npc/009-2/misc.txt @@ -39,7 +39,7 @@ L_magic: mes "The page after that is once again hastily written, with many crossed out words and sections and side remarks such as 'it almost worked' or 'it worked fine yesterday.'"; next; mes "[Bookshelf]"; - mes "The last word on that page is '" + ("make-iron-powder") + ",' and it's underlined twice with a comment next to it saying 'finally got it right.'"; + mes "The last word on that page is '" + get(.invocation$, "make-iron-powder") + ",' and it's underlined twice with a comment next to it saying 'finally got it right.'"; next; mes "[Bookshelf]"; mes "Unfortunately, you can't make out what the transmutation is for or even whether it requires any materials..."; diff --git a/world/map/npc/009-2/wyara.txt b/world/map/npc/009-2/wyara.txt index d0bffbea..246d458a 100644 --- a/world/map/npc/009-2/wyara.txt +++ b/world/map/npc/009-2/wyara.txt @@ -242,7 +242,7 @@ L_M_spell: L_M_spell3: mes "[Wyara the Witch]"; - mes "\"Now that you know the basics of nature magic, here is one of my favourites: '" + ("rain") + "' will summon rain, whereever you are standing. It will consume a bottle of water, though.\""; + mes "\"Now that you know the basics of nature magic, here is one of my favourites: '" + get(.invocation$, "rain") + "' will summon rain, whereever you are standing. It will consume a bottle of water, though.\""; if (getskilllv(SKILL_MAGIC) < 2) mes "\"You are not powerful enough to use it yet, though; you will first have to absorb more magic from the mana seed.\""; next; @@ -250,14 +250,14 @@ L_M_spell3: L_M_spell2: mes "[Wyara the Witch]"; - mes "\"Here is another useful one: '" + ("detect-players") + "'. It will tell you the names of everyone nearby, but beware that there are ways to protect against it.\""; + mes "\"Here is another useful one: '" + get(.invocation$, "detect-players") + "'. It will tell you the names of everyone nearby, but beware that there are ways to protect against it.\""; if (getskilllv(SKILL_MAGIC) < 2) mes "\"Hmm. You aren't powerful enough for this one either yet, I think.\""; next; if (!(getpartnerid2())) goto L_M_main; mes "[Wyara the Witch]"; - mes "\"Married partners can find each other even more easily. Use the '" + ("sense-spouse") + "' spell instead.\""; + mes "\"Married partners can find each other even more easily. Use the '" + get(.invocation$, "sense-spouse") + "' spell instead.\""; next; goto L_M_main; diff --git a/world/map/npc/009-3/sword.txt b/world/map/npc/009-3/sword.txt index dbb177bc..1a427731 100644 --- a/world/map/npc/009-3/sword.txt +++ b/world/map/npc/009-3/sword.txt @@ -103,7 +103,7 @@ L_Next1: mes "\"So thou art bound to the path of War, as am I, as is my sister...\""; next; mes "[Magic Sword]"; - mes "\"So be it, fellow warrior. Hear the incantation for the blade spell: '" + ("magic-blade") + "'\""; + mes "\"So be it, fellow warrior. Hear the incantation for the blade spell: '" + get(.invocation$, "magic-blade") + "'\""; mes "\"Hold a knife, sharp or regular, when thou speakest it.\""; set @Q_status, @STATUS_LEARNED_MAGICBLADE; callsub S_update_var; diff --git a/world/map/npc/011-1/auldsbel.txt b/world/map/npc/011-1/auldsbel.txt index 4a57b75b..f4c328ce 100644 --- a/world/map/npc/011-1/auldsbel.txt +++ b/world/map/npc/011-1/auldsbel.txt @@ -236,7 +236,7 @@ L_Sul_t_s: mes "\"Very well, then. You have been quite helpful with my experiments, after all. As you may have noticed, the spell takes a pile of volcanic ashes. Close your hands around it, then whisper the invocation.\""; next; mes "[Auldsbel the Wizard]"; - mes "\"That invocation is '" + ("make-sulphur") + "'.\""; + mes "\"That invocation is '" + get(.invocation$, "make-sulphur") + "'.\""; next; mes "[Auldsbel the Wizard]"; mes "\"You may find that you can transmute the powder more effectively after a while; that is perfectly natural.\""; @@ -332,7 +332,7 @@ L_about_nature: L_about_other_spells: mes "[Auldsbel the Wizard]"; - mes "\"A few spells are not claimed by any particular school of magic. In practice, this means that anyone can cast them if they just have sufficient magical power. The most prominent example is the 'detect magic' spell, '" + ("detect-magic") + "'.\""; + mes "\"A few spells are not claimed by any particular school of magic. In practice, this means that anyone can cast them if they just have sufficient magical power. The most prominent example is the 'detect magic' spell, '" + get(.invocation$, "detect-magic") + "'.\""; next; goto L_a_s_minimenu; @@ -984,10 +984,10 @@ L_learn_spell: mes "\"This spell is a simple transmutation invocation. All it takes is a clean wooden log. Hold it in your hand, focus your powers, and say the magic invocation.\""; next; mes "[Auldsbel the Wizard]"; - mes "\"You can turn the log into a wooden figurine by imagining the creature whose shape you want in your head and saying `" + ("transmute-wood-to-figurine") + ",' followed by the last syllable of the name of the creature you want to shape it into.\""; + mes "\"You can turn the log into a wooden figurine by imagining the creature whose shape you want in your head and saying `" + get(.invocation$, "spell-transmute-wood") + ",' followed by the last syllable of the name of the creature you want to shape it into.\""; next; mes "[Auldsbel the Wizard]"; - mes "\"So `" + ("transmute-wood-to-figurine") + " lurk' for a Skytlurk figurine, for example. If you know what a Skytlurk is, I mean, otherwise you will have a hard time imagining it. You may want to try some others instead, though.\""; + mes "\"So `" + get(.invocation$, "spell-transmute-wood") + " lurk' for a Skytlurk figurine, for example. If you know what a Skytlurk is, I mean, otherwise you will have a hard time imagining it. You may want to try some others instead, though.\""; next; mes "[Auldsbel the Wizard]"; mes "\"Oh... and it has to be the old Tritan name. Most creatures nowadays have very different names, but some old Tritan names have survived. Just try some, until you find one that fits.\""; @@ -1001,7 +1001,7 @@ L_learn_spell: L_repeat_spell: mes "[Auldsbel the Wizard]"; - mes "\"The invocation is `" + ("transmute-wood-to-figurine") + ",' followed by the last syllable of the name of the creature you want to shape the log into. So `" + ("transmute-wood-to-figurine") + " lurk' for a Skytlurk figurine.\""; + mes "\"The invocation is `" + get(.invocation$, "spell-transmute-wood") + ",' followed by the last syllable of the name of the creature you want to shape the log into. So `" + get(.invocation$, "spell-transmute-wood") + " lurk' for a Skytlurk figurine.\""; next; mes "[Auldsbel the Wizard]"; mes "\"But keep two things in mind: First, you must KNOW what the creature looks like – so a Skytlurk probably won't work – and second, you must use the old Tritan name of it. `Fluffy' and `Scorpion' are modern names, so those won't work, you should try some others.\""; @@ -1092,7 +1092,7 @@ L_Next9: mes "[1000 experience points]"; next; mes "[Auldsbel the Wizard]"; - mes "\"Now, listen carefully: to make a short tank top out of three pieces of cloth, you must use the invocation '" + ("make-short-tanktop") + "'.\""; + mes "\"Now, listen carefully: to make a short tank top out of three pieces of cloth, you must use the invocation '" + get(.invocation$, "make-short-tanktop") + "'.\""; next; mes "[Auldsbel the Wizard]"; mes "\"But be careful; transmutations can go wrong, and that can injure you. When you have more overall spellcasting practice, come back to me.\""; @@ -1131,7 +1131,7 @@ L_Next10: mes "[1000 experience points]"; next; mes "[Auldsbel the Wizard]"; - mes "\"The next spell I have will make a normal tank top out of four pieces of cloth. The invocation is '" + ("make-tanktop") + "', make sure to write this down.\""; + mes "\"The next spell I have will make a normal tank top out of four pieces of cloth. The invocation is '" + get(.invocation$, "make-tanktop") + "', make sure to write this down.\""; next; goto L_main_menu; @@ -1161,7 +1161,7 @@ L_Next11: mes "[1000 experience points]"; next; mes "[Auldsbel the Wizard]"; - mes "\"To make a shirt, use the invocation '" + ("make-shirt") + "'. This will require five pieces of cloth.\""; + mes "\"To make a shirt, use the invocation '" + get(.invocation$, "make-shirt") + "'. This will require five pieces of cloth.\""; next; goto L_main_menu; @@ -1191,7 +1191,7 @@ L_Next12: mes "[1000 experience points]"; next; mes "[Auldsbel the Wizard]"; - mes "\"This spell makes arrows out of a single wooden log. Its invocation is '" + ("make-arrows") + "'.\""; + mes "\"This spell makes arrows out of a single wooden log. Its invocation is '" + get(.invocation$, "make-arrows") + "'.\""; next; goto L_main_menu; @@ -1205,7 +1205,7 @@ L_stu_3: L_stu_3_repeat: mes "[Auldsbel the Wizard]"; - mes "\"This one has the invocation `" + ("make-concentration-potion") + "'. Put two cobalt leaves and two pink flower petals into a bottle of water, hold it up, and speak that phrase.\""; + mes "\"This one has the invocation `" + get(.invocation$, "make-concentration-potion") + "'. Put two cobalt leaves and two pink flower petals into a bottle of water, hold it up, and speak that phrase.\""; next; mes "[Auldsbel the Wizard]"; mes "\"It is a tricky spell, but if it works out, you will transform the bottle into a concentration potion.\""; diff --git a/world/map/npc/012-3/mana-seed.txt b/world/map/npc/012-3/mana-seed.txt index 35d6ea52..c75125e4 100644 --- a/world/map/npc/012-3/mana-seed.txt +++ b/world/map/npc/012-3/mana-seed.txt @@ -37,7 +37,7 @@ "You may only be children, but you recognize that it is this man only who can save the world. As the walls rush towards you to crush your small group, you exchange a glance with your twin sister – there is no doubt what you must do...", "The sacred place is surrounded by nothingness; were it not for your magic, you would have no hope of returning. The old and young man stands nearby; he has been waiting for you, for centuries. He has all the time in the world, after all...", "Nothing remains behind. The underground castle is empty now, its chambers plundered, its throne destroyed. Shivering, you climb down the stairs, towards the wailing of the underworld that is waiting beneath...", - "You feel soft, fluffy fur brushing against your skin and are filled with happiness. Somehow, the word `" + ("happy-curse") + "' comes to mind..."; + "You feel soft, fluffy fur brushing against your skin and are filled with happiness. Somehow, the word `" + get(.invocation$, "happy-curse") + "' comes to mind..."; set @max_magic, 2; diff --git a/world/map/npc/013-1/sagatha.txt b/world/map/npc/013-1/sagatha.txt index 84336eef..fe7503a6 100644 --- a/world/map/npc/013-1/sagatha.txt +++ b/world/map/npc/013-1/sagatha.txt @@ -267,7 +267,7 @@ L_teach_N14: mes "\"Some forest creatures sometimes overgrow their fur or hide. That makes them uncomfortable.\""; next; mes "[Sagatha the Witch]"; - mes "\"You can help them with shearing magic. Press your hands together and say '" + ("shear") + "'. Then touch them with your hands, and brush off any excess.\""; + mes "\"You can help them with shearing magic. Press your hands together and say '" + get(.invocation$, "shear") + "'. Then touch them with your hands, and brush off any excess.\""; next; mes "[Sagatha the Witch]"; mes "\"The spell is strong, so you only need to do this once. Be careful not to cut them. Some things they shed are useful. Often they will leave them to you as a thank-you.\""; @@ -280,7 +280,7 @@ L_teach_N10: mes "\"Next, a nature spell. Take a cocoon shell. Hold it in your hand. Feel its lightness.\""; next; mes "[Sagatha the Witch]"; - mes "\"Now whisper '" + ("flying-backpack") + "', and if your backpack was pressing on you you should no longer feel it now.\""; + mes "\"Now whisper '" + get(.invocation$, "flying-backpack") + "', and if your backpack was pressing on you you should no longer feel it now.\""; goto L_practice; L_teach_A10: @@ -290,14 +290,14 @@ L_teach_A10: mes "\"To protect against others' magic, take a small mushroom from a shady place. Mushrooms draw things out of the earth. Rub your mushroom into pieces between your hands.\""; next; mes "[Sagatha the Witch]"; - mes "\"Then say '" + ("barrier") + "' and let the mushroom's power take over.\""; + mes "\"Then say '" + get(.invocation$, "barrier") + "' and let the mushroom's power take over.\""; goto L_practice; L_teach_A11: if (@mexp < 200) goto L_teach_noexp; mes "[Sagatha the Witch]"; - mes "\"If you must fight, call allies. You can call spiky mushrooms out of the ground with a mushroom spike and a root. Hold up the spike and call out to them: '" + ("summon-spiky-mushrooms") + "'. Then press the root to the ground.\""; + mes "\"If you must fight, call allies. You can call spiky mushrooms out of the ground with a mushroom spike and a root. Hold up the spike and call out to them: '" + get(.invocation$, "summon-spiky-mushrooms") + "'. Then press the root to the ground.\""; next; mes "[Sagatha the Witch]"; mes "\"Spiky mushrooms often grow too many spikes, so you can shear the spikes off of some.\""; @@ -308,17 +308,17 @@ L_teach_A12: if (@mexp < 220) goto L_teach_noexp; mes "[Sagatha the Witch]"; - mes "\"You can call fluffies, too. But for them you must call out '" + ("summon-fluffies") + "' instead, with white fluffy fur instead of a spike. And don't forget the root.\""; + mes "\"You can call fluffies, too. But for them you must call out '" + get(.invocation$, "summon-fluffies") + "' instead, with white fluffy fur instead of a spike. And don't forget the root.\""; goto L_practice; L_teach_N11: if (@mexp < 250) goto L_teach_noexp; mes "[Sagatha the Witch]"; - mes "\"You can harden your skin with a hard spike. Hold it in your hands and speak '" + ("protect") + "', then draw its hardness into your skin.\""; + mes "\"You can harden your skin with a hard spike. Hold it in your hands and speak '" + get(.invocation$, "protect") + "', then draw its hardness into your skin.\""; next; mes "[Sagatha the Witch]"; - mes "\"Or call it into someone else's skin, by saying that someone's name right after the '" + ("protect") + "'.\""; + mes "\"Or call it into someone else's skin, by saying that someone's name right after the '" + get(.invocation$, "protect") + "'.\""; goto L_practice; L_teach_noexp: diff --git a/world/map/npc/013-2/wizard.txt b/world/map/npc/013-2/wizard.txt index cf8598b0..32a2a623 100644 --- a/world/map/npc/013-2/wizard.txt +++ b/world/map/npc/013-2/wizard.txt @@ -75,7 +75,7 @@ L_TeachSpell: mes "\"This one may not seem too powerful, but it can be quite handy; it's the 'hide' spell. It will shield you from some forms of detection magic.\""; next; mes "[Old Wizard]"; - mes "\"Put a piece of cotton cloth on your head, and speak out '" + ("hide") + "', loudly and clearly. The protection lasts quite long, but you may have to renew it on occasion.\""; + mes "\"Put a piece of cotton cloth on your head, and speak out '" + get(.invocation$, "spell-hide") + "', loudly and clearly. The protection lasts quite long, but you may have to renew it on occasion.\""; next; mes "[Old Wizard]"; mes "\"You can also cast it on others, of course. Just speak their name after you pronounce the invocation.\""; diff --git a/world/map/npc/015-1/sword.txt b/world/map/npc/015-1/sword.txt index 90c56283..be23e23a 100644 --- a/world/map/npc/015-1/sword.txt +++ b/world/map/npc/015-1/sword.txt @@ -109,7 +109,7 @@ L_Initial_ok: mes "\"Oh, my apologies – that was a little overly dramatic. But I do not get to talk to thy kin anymore all that often.\""; next; mes "[Mystic Sword]"; - mes "\"For the flare dart spell throw a handful of sulphur powder up into the air, and say, '" + ("flare-dart") + "'.\""; + mes "\"For the flare dart spell throw a handful of sulphur powder up into the air, and say, '" + get(.invocation$, "flare-dart") + "'.\""; set @Q_status, @STATUS_LEARNED_FLAREDART; callsub S_update_var; next; @@ -257,7 +257,7 @@ L_Next3: callsub S_update_var; next; mes "[Mystic Sword]"; - mes "\"Speak '" + ("magic-knuckles") + "' and take a glass of beer and drink it, without ever taking it off thy lips. This will harden and enchant thy fists, turning them into powerful weapons.\""; + mes "\"Speak '" + get(.invocation$, "magic-knuckles") + "' and take a glass of beer and drink it, without ever taking it off thy lips. This will harden and enchant thy fists, turning them into powerful weapons.\""; close; L_L2_almost_done: @@ -297,7 +297,7 @@ L_Next4: callsub S_update_var; next; mes "[Mystic Sword]"; - mes "\"This powder thou shalst need to cast the lightning spell. Throw it up into the air and shout '" + ("lightning-strike") + "', and smite thine enemies with lightning.\""; + mes "\"This powder thou shalst need to cast the lightning spell. Throw it up into the air and shout '" + get(.invocation$, "lightning-strike") + "', and smite thine enemies with lightning.\""; next; goto L_Farewell; diff --git a/world/map/npc/017-4/waric.txt b/world/map/npc/017-4/waric.txt index 11f836b6..92674a00 100644 --- a/world/map/npc/017-4/waric.txt +++ b/world/map/npc/017-4/waric.txt @@ -234,7 +234,7 @@ L_Mushroom: mes "\"Now that you are a student of mine, I will teach you some spells.\""; next; mes "\"We will start with an easy one. I will teach you how to summon a wicked mushroom.\""; - mes "\"The spell consumes a Small Mushroom and a Dark Crystal. Shove the Dark Crystal into the Small Mushroom and yell " + ("summon-wickedmushroom") +".\""; + mes "\"The spell consumes a Small Mushroom and a Dark Crystal. Shove the Dark Crystal into the Small Mushroom and yell " + get(.invocation$, "summon-wickedmushroom") +".\""; next; mes "\"A wicked mushroom will appear to fight for you.\""; set OrumQuest, 37; @@ -254,7 +254,7 @@ L_Next4: next; mes "\"You have to use two roots for this spell. First you have to take one root and break off all the root hair. Shape it into a stick, if you will. Then put it on top of the other root and form an arrow-like structure.\""; next; - mes "\"Once this is done you have to throw it in the air and scream " + ("toxic-dart") + " and the two roots will turn into toxic darts, a projectile you can throw.\""; + mes "\"Once this is done you have to throw it in the air and scream " + get(.invocation$, "toxic-dart") + " and the two roots will turn into toxic darts, a projectile you can throw.\""; next; mes "\"If you want to learn more, come back later.\""; set OrumQuest, 38; @@ -312,7 +312,7 @@ L_SnakesSpell: L_Next7: mes "[Waric]"; - mes "\"I said " + ("summon-snakes") + ".\""; + mes "\"I said " + get(.invocation$, "summon-snakes") + ".\""; mes "\"Have fun with those spells and use them to cause hate, anger and death.\""; set OrumQuest, 41; goto L_Close; @@ -341,9 +341,9 @@ L_MoreMagic: L_Next8: mes "[Waric]"; mes "\"Yes, of course.\""; - mes "\"To summon the snakes use " + ("summon-snakes") + ".\""; - mes "\"Say " + ("toxic-dart") + " to make your roots into toxic darts.\""; - mes "\"And the first spell, to summon wicked mushrooms, is " + ("summon-wickedmushroom") + ".\""; + mes "\"To summon the snakes use " + get(.invocation$, "summon-snakes") + ".\""; + mes "\"Say " + get(.invocation$, "toxic-dart") + " to make your roots into toxic darts.\""; + mes "\"And the first spell, to summon wicked mushrooms, is " + get(.invocation$, "summon-wickedmushroom") + ".\""; next; mes "\"Now leave. Spread chaos with the spells I have taught you!\""; goto L_Close; diff --git a/world/map/npc/doc/magic b/world/map/npc/doc/magic new file mode 100644 index 00000000..8a2b84e1 --- /dev/null +++ b/world/map/npc/doc/magic @@ -0,0 +1,23 @@ +Nibble use: +--------------- +== QUEST_MAGIC + N0, N1: Auldsbel + N2: druid tree quest, mouboo quest (shared) + N3: Sagatha unhappiness counter + N4, N5: Sagatha + N6, N7: Swords +== QUEST_MAGIC2 + N0: Evil Earth Spirit + N1: Elanore + N2: Wyara + N3: Elanore subquests (Cure Kadiya) + N4-N7: may be messy at this point + +The various magic scripts pack their status into these variables. +Locally, they use `@Q_status' to maintain the state, and use a function +`S_update_var' to update it. This is all re-using the same code, setting +the `@Q_MASK' and `@Q_SHIFT' variables appropriately. + + There are a few exceptions (such as the Kadiya quest) wherein +a separate helper function sets a dedicated local variable, or some hackery +in Auldsbel wherein we read stati directly, merely to enable certain options. diff --git a/world/map/npc/magic/level2-barrier.txt b/world/map/npc/magic/level2-barrier.txt index 3c7ef29f..d692bee1 100644 --- a/world/map/npc/magic/level2-barrier.txt +++ b/world/map/npc/magic/level2-barrier.txt @@ -1,4 +1,4 @@ --|script|magic-barrier|32767 +-|script|barrier|32767 { if(call("magic_checks")) end; // << I wish we had functions that could return >> if (Sp < 15) end; diff --git a/world/map/npc/magic/level2-summon-fluffies.txt b/world/map/npc/magic/level2-summon-fluffies.txt index 70e5121c..77f21fab 100644 --- a/world/map/npc/magic/level2-summon-fluffies.txt +++ b/world/map/npc/magic/level2-summon-fluffies.txt @@ -1,4 +1,4 @@ --|script|fluffies|32767 +-|script|summon-fluffies|32767 { end; diff --git a/world/map/npc/magic/level2-summon-mouboo.txt b/world/map/npc/magic/level2-summon-mouboo.txt index f11f6608..13b51ae6 100644 --- a/world/map/npc/magic/level2-summon-mouboo.txt +++ b/world/map/npc/magic/level2-summon-mouboo.txt @@ -1,4 +1,4 @@ --|script|mouboos|32767 +-|script|summon-mouboo|32767 { end; diff --git a/world/map/npc/magic/level2-summon-pinkie.txt b/world/map/npc/magic/level2-summon-pinkie.txt index 4e7ebf1a..a3949c78 100644 --- a/world/map/npc/magic/level2-summon-pinkie.txt +++ b/world/map/npc/magic/level2-summon-pinkie.txt @@ -1,4 +1,4 @@ --|script|pinkies|32767 +-|script|summon-pinkie|32767 { end; diff --git a/world/map/npc/magic/level2-summon-spiky-mushroom.txt b/world/map/npc/magic/level2-summon-spiky-mushroom.txt index 59cc295d..b39c53ad 100644 --- a/world/map/npc/magic/level2-summon-spiky-mushroom.txt +++ b/world/map/npc/magic/level2-summon-spiky-mushroom.txt @@ -1,4 +1,4 @@ --|script|spikymushroom|32767 +-|script|summon-spiky-mushrooms|32767 { end; diff --git a/world/map/npc/magic/level2-summon-wickedmushroom.txt b/world/map/npc/magic/level2-summon-wickedmushroom.txt index bd095144..46e608a6 100644 --- a/world/map/npc/magic/level2-summon-wickedmushroom.txt +++ b/world/map/npc/magic/level2-summon-wickedmushroom.txt @@ -1,4 +1,4 @@ --|script|wickedmushroom|32767 +-|script|summon-wickedmushroom|32767 { end; -- cgit v1.2.3-70-g09d2 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/npc/009-2') 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