diff options
Diffstat (limited to 'npc/009-3')
-rw-r--r-- | npc/009-3/_import.txt | 7 | ||||
-rw-r--r-- | npc/009-3/_mobs.txt | 8 | ||||
-rw-r--r-- | npc/009-3/_warps.txt | 7 | ||||
-rw-r--r-- | npc/009-3/monsters.txt | 26 | ||||
-rw-r--r-- | npc/009-3/sword.txt | 185 |
5 files changed, 233 insertions, 0 deletions
diff --git a/npc/009-3/_import.txt b/npc/009-3/_import.txt new file mode 100644 index 00000000..12bf619c --- /dev/null +++ b/npc/009-3/_import.txt @@ -0,0 +1,7 @@ +// Map 009-3: Cave beneath Hurnscald +// This file is generated automatically. All manually changes will be removed when running the Converter. +map: 009-3.gat +npc: npc/009-3/_mobs.txt +npc: npc/009-3/_warps.txt +npc: npc/009-3/monsters.txt +npc: npc/009-3/sword.txt diff --git a/npc/009-3/_mobs.txt b/npc/009-3/_mobs.txt new file mode 100644 index 00000000..b1cc7bc4 --- /dev/null +++ b/npc/009-3/_mobs.txt @@ -0,0 +1,8 @@ +// This file is generated automatically. All manually changes will be removed when running the Converter. +// Cave beneath Hurnscald mobs + + + +009-3.gat,0,0,0 script Mob009-3 -1,{ + end; +} diff --git a/npc/009-3/_warps.txt b/npc/009-3/_warps.txt new file mode 100644 index 00000000..57adbca9 --- /dev/null +++ b/npc/009-3/_warps.txt @@ -0,0 +1,7 @@ +// This file is generated automatically. All manually changes will be removed when running the Converter. +// Cave beneath Hurnscald warps + +009-3.gat,173,20 warp CaveExitToInn -1,-1,009-2.gat,147,88 +009-3.gat,20,56 warp ToLakeCave -1,-1,011-4.gat,129,88 +009-3.gat,157,30 warp toCave -1,-1,018-3.gat,179,178 +009-3.gat,117,19 warp toCave -1,-1,013-3.gat,160,101 diff --git a/npc/009-3/monsters.txt b/npc/009-3/monsters.txt new file mode 100644 index 00000000..b69bb3a1 --- /dev/null +++ b/npc/009-3/monsters.txt @@ -0,0 +1,26 @@ +// Map: 009-3 +// This is the cave beneath Hurnscald. +// + +009-3.gat,0,0,0,0 monster YellowSlime 1007,20,0,0,Mob35::OnYellowSlime +009-3.gat,0,0,0,0 monster RedSlime 1008,35,0,0,Mob35::OnRedSlime +009-3.gat,0,0,0,0 monster BlackScorpion 1009,25,0,0,Mob35::OnBlackScorpion + +009-3.gat,0,0,0 script Mob35 -1,{ +OnYellowSlime: + set @mobID, 1007; + callfunc "MobPoints"; + break; + +OnRedSlime: + set @mobID, 1008; + callfunc "MobPoints"; + break; + +OnBlackScorpion: + set @mobID, 1009; + callfunc "MobPoints"; + break; + + end; +} diff --git a/npc/009-3/sword.txt b/npc/009-3/sword.txt new file mode 100644 index 00000000..fbb47433 --- /dev/null +++ b/npc/009-3/sword.txt @@ -0,0 +1,185 @@ +009-3.gat,26,100,0 script #MysticSword#_M 127,{ + if (getskilllv(SKILL_MAGIC)) + goto L_message; + close; + +L_message: + set @Q_MASK, NIBBLE_6_MASK; + set @Q_SHIFT, NIBBLE_6_SHIFT; + set @Q_status, (QUEST_MAGIC & @Q_MASK) >> @Q_SHIFT; + + // Set up SkillUp function + set @SUP_id, SKILL_MAGIC_WAR; + set @SUP_name$, "War Magic"; + + set @STATUS_INITIAL, 0; + set @STATUS_LEARNED_FLAREDART, 1; + set @STATUS_LEARNED_MAGICBLADE, 2; + set @STATUS_LEVEL2, 3; + set @STATUS_W11, 4; + set @STATUS_W12, 5; + set @STATUS_W11_12, 6; + set @STATUS_L2_ALLSPELLS, 7; + + if (@Q_status == @STATUS_INITIAL) goto L_Initial; + if (@Q_status == @STATUS_LEARNED_FLAREDART) goto L_PostFlareDart; + if (@Q_status == @STATUS_LEARNED_MAGICBLADE) goto L_PostFlareDart_teach2; + if (@Q_status == @STATUS_LEVEL2) goto L_L2_W11; + if (@Q_status == @STATUS_W12) goto L_L2_W11; + if (@Q_status == @STATUS_W11) goto L_L2_almost_done; + if (@Q_status == @STATUS_W11_12) goto L_L2_almost_done; + + mes "[Magic Sword]"; + mes "\"Come back when thou art stronger.\""; + close; + +L_Initial: + mes "[Magic Sword]"; + mes "As you look at the sword, you suddenly hear a voice in your head!"; + mes "\"Welcome to my prison, mortal!\""; + next; + + mes "[Magic Sword]"; + mes "Well, either you are going mad, or that sword in the stone is talking to you."; + next; + + mes "[Magic Sword]"; + mes "Or, well, both."; + next; + + mes "[Magic Sword]"; + mes "The deep basso voice continues."; + mes "\"I know not what brought thee hither, but I kindly ask that thou leavest me alone in my sorrow.\""; + next; + + menu + "Leave", L_Close, + "Sorry.", -, + "Who or what are you?", -, + "What sorrow?", -, + "Can I help?", -, + "Can you teach me magic?", -; + + mes "[Magic Sword]"; + mes "There is no answer."; + close; + +L_PostFlareDart: + mes "[Magic Sword]"; + mes "As you look at the sword, you hear a deep voice resounding in your head."; + mes "\"Welcome, mortal!\""; + next; + + menu + "Hi! How are you?", L_PostFlareDart_hi, + "Can you teach me magic?", L_PostFlareDart_teach, + "Your sister sent me.", L_PostFlareDart_sister, + "Bye!", -; + close; + +L_PostFlareDart_hi: + mes "[Magic Sword]"; + mes "\"Mortal... I have seen pain and death beyond thine reckoning! Mock me not with thine idle questions!\""; + close; + +L_PostFlareDart_sister: + mes "[Magic Sword]"; + mes "\"My sister...? Alas! I remember now; abandoned she was, just as I; buried in stone, never to be wielded again.\""; + mes "\"Wherefore did she send thee?\""; + next; + + menu "She asked me to ask you to teach me a spell.", -; + +L_PostFlareDart_teach: + mes "[Magic Sword]"; + mes "\"Beware, mortal... the only spells I can teach thee are those of the school of war. Dark and dreary spells, that lot! Pain and misery is all they bring...\""; + next; + + mes "[Magic Sword]"; + mes "The sword's voice is growing apprehensive."; + mes "\"Once a spell has been learned, it cannot be taken back, no more than a death can be undone. So be careful, mortal... dost thou truly wish to know the secrets of thus destructive power?\""; + next; + + menu + "Yes.", -, + "No.", L_Close; + + mes "[Magic Sword]"; + 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: '" + getspellinvocation("magic-blade") + "'\""; + mes "\"Hold a knife, sharp or regular, when thou speakest it.\""; + set @Q_status, @STATUS_LEARNED_MAGICBLADE; + callsub S_update_var; + next; + + mes "[Magic Sword]"; + mes "\"But beware... the path of war that thou hast embarked upon is one from which few return. May luck be on thy side...\""; + close; + +L_PostFlareDart_teach2: + mes "[Magic Sword]"; + mes "\"Seek out my sister, and leave me alone in my sorrows.\""; + next; + +L_Close: + close; + +L_L2_W11: + mes "[Magic Sword]"; + mes "\"Thou hast returned. That must mean that thy wish to learn the magic of war is still alive?\""; + next; + menu + "No, I just wanted to say `hi'.", L_sayhi, + "Yes, teach me more!", -; + + mes "[Magic Sword]"; + mes "\"If that is thou wishest, I shall not stop thee. But do not expect to find merriment down this road.\""; + mes "\"I must ask that thou sacrificest five thousand monster points for this, however.\""; + menu + "No, I don't want that.", L_farewell, + "Very well.", -; + + if (Mobpt < 5000) goto L_lacking_mobpoints; + + mes "[Magic Sword]"; + mes "\"So be it, then.\""; + mes "[1000 experience points]"; + set Mobpt, Mobpt - 5000; + getexp 1000, 0; + set @Q_status, @Q_status + 1; + callsub S_update_var; + next; + + mes "[Magic Sword]"; + mes "\"The spell I shall teach thee is the hail of arrows spell. It will make arrows fall down from the heavens unto thy enemies.\""; + next; + + mes "[Magic Sword]"; + mes "\"Take twenty arrows, sprinkle sulphur powder over them, and then speak '" + getspellinvocation("arrow-hail") + "'. Throw them high up in the air, and watch the hail unfold before thy feet.\""; + close; + + +L_L2_almost_done: + mes "[Magic Sword]"; + mes "\"Return to my sister now. I expect that she shall teach thee one more spell.\""; + close; + +L_lacking_mobpoints: + mes "[Magic Sword]"; + mes "\"Thou lackest the monster points needed to prove thy worthiness. I shall not reveal more to thee until thou hast slain more monsters.\""; + close; + +L_sayhi: + mes "[Magic Sword]"; + mes "\"Please leave me in peace.\""; + close; + +S_update_var: + set QUEST_MAGIC, + (QUEST_MAGIC & ~(@Q_MASK) + | (@Q_status << @Q_SHIFT)); + return; +} |