diff options
Diffstat (limited to 'world/map/npc/002-4/naem.txt')
-rw-r--r-- | world/map/npc/002-4/naem.txt | 152 |
1 files changed, 152 insertions, 0 deletions
diff --git a/world/map/npc/002-4/naem.txt b/world/map/npc/002-4/naem.txt new file mode 100644 index 00000000..95735b58 --- /dev/null +++ b/world/map/npc/002-4/naem.txt @@ -0,0 +1,152 @@ +// Variables used: +// - nibble 4 and 5 of QUEST_SouthTulimshar +// - in FLAGS, bits FLAG_GOT_NAEM_GLOVES and FLAG_OPENED_UNDERGROUND + +002-4.gat,91,96,6|script|Naem|109,{ + + // This NPC previously used the variable TMW_Quest + callfunc "ClearVarTMW_Quest"; + + set @state, ((QUEST_SouthTulimshar & BYTE_2_MASK) >> BYTE_2_SHIFT); + + if (FLAGS & FLAG_GOT_NAEM_GLOVES) goto L_Naem_Complete; + if (FLAGS & FLAG_OPENED_UNDERGROUND) goto L_Naem_Gloves; + if (@state == 22) goto L_Naem_Code; + if (@state == 21) goto L_Naem_Lt; + if (@state == 20) goto L_Naem_Memory; + if ((@state > 17) && (@state < 19)) + goto L_Naem_Great; + if (@state == 17) goto L_Naem_Waits_3; + if (@state == 16) goto L_Naem_Help_3; + if (@state == 15) goto L_Naem_Waits_2; + if (@state == 14) goto L_Naem_Help_2; + if (@state == 13) goto L_Naem_Waits_1; + if (@state == 12) goto L_Naem_Help_1; + if (@state == 10) goto L_Naem_Cool; + if (@state == 9) goto L_Naem_Okay; + + mes "[Naem]"; + mes "\"I'm just mining away here. Lots of work to do.\""; + goto L_Close; + +L_Naem_Okay: + set @state, 10; + callsub S_Update_Var; + mes "[Naem]"; + mes "\"Oh, hello there. Nickos wanted you to check on me? Yeah, you can tell him I'm okay.\""; + goto L_Close; + +L_Naem_Cool: + mes "[Naem]"; + mes "\"Yeah, I'm cool. Just mining away here.\""; + goto L_Close; + +L_Naem_Help_1: + set @state, 13; + callsub S_Update_Var; + mes "[Naem]"; + mes "\"Oh, you are here to help move my bags? Cool, I've got a few ready to go. Go ahead and take this one!\""; + next; + mes "Naem hands you a bag of ore."; + next; + mes "[Naem]"; + mes "\"After you deliver that one to Nathan, come on back, I've got a couple more ready to go.\""; + goto L_Close; + +L_Naem_Waits_1: + mes "[Naem]"; + mes "\"After you deliver that bag of ore to Nathan, come on back, I've got a couple more ready to go.\""; + goto L_Close; + +L_Naem_Help_2: + set @state, 15; + callsub S_Update_Var; + mes "Naem gives you a bag of ore."; + next; + mes "[Naem]"; + mes "\"Just one more after this one and we'll be all caught up!\""; + goto L_Close; + +L_Naem_Waits_2: + mes "[Naem]"; + mes "\"Just one more bag of ore after the one you got and we'll be all caught up!\""; + goto L_Close; + +L_Naem_Help_3: + set @state, 17; + callsub S_Update_Var; + mes "[Naem]"; + mes "Hands a bag of ore to you."; + next; + mes "\"Last one!\""; + goto L_Close; + +L_Naem_Waits_3: + mes "[Naem]"; + mes "\"You got my last sack already. Just give it to Nathan and we'll have caught up.\""; + goto L_Close; + +L_Naem_Great: + mes "[Naem]"; + mes "\"Hi ho! It's off to work I go! I work every day for meager pay, a miner's life for me...\""; + goto L_Close; + +L_Naem_Memory: + mes "You see Naem grimacing in pain as you approach."; + next; + mes "[Naem]"; + mes "\"Oh, my head! Some rocks fell on me and bonked me pretty good. I'm still a little sore.\""; + menu + "Don't you have a key so I can go to the underground palace?", L_Naem_Palace_No, + "You should be more careful.", L_Naem_Duh; + +L_Naem_Duh: + mes "[Naem]"; + mes "\"I guess I should...\""; + goto L_Close; + +L_Naem_Palace_No: + set @state, 21; + callsub S_Update_Var; + mes "[Naem]"; + mes "\"Oh no! I lost the key! Don't worry though, talk to Lieutenant Dausen about getting the spare key.\""; + goto L_Close; + +L_Naem_Lt: + mes "[Naem]"; + mes "\"I hurt my head pretty bad. I also lost my key. If you want to get into the underground palace, you'll have to talk to Lieutenant Dausen about getting the spare.\""; + goto L_Close; + +L_Naem_Code: + mes "[Naem]"; + mes "\"Oh, you got the key. That is good! But my head still hurts... All I remember about the code is you have to put the key into the key hole buttons around the mine in a certain order and turn them in a certain order and it will unlock the underground palace. Sorry, that's all I have for you. Good luck!\""; + goto L_Close; + +L_Naem_Gloves: + getinventorylist; + if (@inventorylist_count == 100) + goto L_Nathan_TooMany; + set FLAGS, FLAGS | FLAG_GOT_NAEM_GLOVES; + getitem "MinerGloves", 1; + mes "[Naem]"; + mes "\"Hey, good job on getting that together! Take these gloves, they might prove useful in the underground palace.\""; + goto L_Close; + +L_Naem_TooMany: + mes "[Naem]"; + mes "\"You have too many items for me to give you a reward.\""; + goto L_Close; + +L_Naem_Complete: + mes "[Naem]"; + mes "\"Yo-ho-ho, a miner's life for me!\""; + goto L_Close; + +L_Close: + set @state, 0; + close; + +S_Update_Var: + set QUEST_SouthTulimshar, (QUEST_SouthTulimshar & ~(BYTE_2_MASK) | (@state << BYTE_2_SHIFT)); + return; +} |