From f4aad0b8a088ffbd648bb1fcace56d2f8dc96909 Mon Sep 17 00:00:00 2001 From: wushin Date: Fri, 21 Jun 2013 11:28:26 -0500 Subject: New server content to support new caves Added mobs:Angry Fire Goblin, Angry Sea Slime, Angry Green Slime. Moved NPCs in sandstorm around. Malvox got a house and lives in it now on 002-2 The mines go a layer deeper so the merchant was moved into the camp along with nathan. Naem and Sema moved down with respective maps. Sandstorm_mine_barrier is not mining_camp_barrier --- world/map/npc/002-4/chest.txt | 51 ------- world/map/npc/002-4/mine_triggerone.txt | 67 +++++++++ world/map/npc/002-4/mine_triggerthree.txt | 67 +++++++++ world/map/npc/002-4/mine_triggertwo.txt | 70 ++++++++++ world/map/npc/002-4/miners.txt | 78 ----------- world/map/npc/002-4/naem.txt | 152 +++++++++++++++++++++ world/map/npc/002-4/underground_palace_barrier.txt | 22 +++ 7 files changed, 378 insertions(+), 129 deletions(-) delete mode 100644 world/map/npc/002-4/chest.txt create mode 100644 world/map/npc/002-4/mine_triggerone.txt create mode 100644 world/map/npc/002-4/mine_triggerthree.txt create mode 100644 world/map/npc/002-4/mine_triggertwo.txt delete mode 100644 world/map/npc/002-4/miners.txt create mode 100644 world/map/npc/002-4/naem.txt create mode 100644 world/map/npc/002-4/underground_palace_barrier.txt (limited to 'world/map/npc/002-4') diff --git a/world/map/npc/002-4/chest.txt b/world/map/npc/002-4/chest.txt deleted file mode 100644 index 61b59109..00000000 --- a/world/map/npc/002-4/chest.txt +++ /dev/null @@ -1,51 +0,0 @@ -// Variables used: nibble 4 and 5 of QUEST_SouthTulimshar - -002-4.gat,93,37,0|script|Treasure|111,{ - - // This NPC previously used the variable TMW_Quest - callfunc "ClearVarTMW_Quest"; - - set @state, ((QUEST_SouthTulimshar & BYTE_2_MASK) >> BYTE_2_SHIFT); - - if (@state >= 26) goto L_Finished; - - mes "There is a chest here."; - mes "Do you want to try to open it?"; - next; - menu - "Yes.", L_Yes, - "No.", L_Close; - -L_Yes: - if (countitem("TreasureKey") < 3) - goto L_Not_Enough; - getinventorylist; - if (@inventorylist_count == 100 && countitem("TreasureKey") > 3) - goto L_TooMany; - mes "You opened the chest and found a short bow!"; - delitem "TreasureKey", 3; - getitem "ShortBow", 1; - set @state, 26; - callsub S_Update_Var; - goto L_Close; - -L_Not_Enough: - mes "It seems that you do not have the right key for this chest yet..."; - goto L_Close; - -L_Finished: - mes "You have already opened this chest."; - goto L_Close; - -L_TooMany: - mes "You do not have enough room to loot this chest. Maybe you should try again later."; - 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; -} diff --git a/world/map/npc/002-4/mine_triggerone.txt b/world/map/npc/002-4/mine_triggerone.txt new file mode 100644 index 00000000..df29393e --- /dev/null +++ b/world/map/npc/002-4/mine_triggerone.txt @@ -0,0 +1,67 @@ +//Sandstorm mine trigger 1 Trigger 002-4 35,43 (127) +// Variables used: nibble 4 and 5 of QUEST_SouthTulimshar + +002-4.gat,30,47,0|script|Button|400,0,0,{ + + // This NPC previously used the variable TMW_Quest + callfunc "ClearVarTMW_Quest"; + + set @state, ((QUEST_SouthTulimshar & BYTE_2_MASK) >> BYTE_2_SHIFT); + + if (@state == 24) goto L_Trigger_Wrong_1; + if (@state == 23) goto L_Trigger_Wrong_1; + if (@state == 22) goto L_Trigger_1; + + mes "There is a large button on the ground. A key hole appears on the button."; + goto L_Close; + +L_Trigger_Wrong_1: + mes "There is a large button on the ground. A key hole appears on the button."; + menu + "Put the key in, turn right.", L_Right_Wrong_1, + "Put the key in, turn left.", L_Left_Wrong_1, + "Do nothing.", L_Nothing_1; + +L_Right_Wrong_1: + set @state, 22; + callsub S_Update_Var; + mes "You turn the key right."; + goto L_Close; + +L_Left_Wrong_1: + set @state, 22; + callsub S_Update_Var; + mes "You turn the key left."; + goto L_Close; + +L_Trigger_1: + mes "There is a large button on the ground. A key hole appears on the button."; + menu + "Put the key in, turn right.", L_Right_1, + "Put the key in, turn left.", L_Left_1, + "Do nothing.", L_Nothing_1; + +L_Right_1: + set @state, 23; + callsub S_Update_Var; + mes "You turn the key right. A clicking sound echoes throughout the mine."; + goto L_Close; + +L_Left_1: + set @state, 22; + callsub S_Update_Var; + mes "You turn the key left."; + goto L_Close; + +L_Nothing_1: + mes "You leave the button alone."; + 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; +} diff --git a/world/map/npc/002-4/mine_triggerthree.txt b/world/map/npc/002-4/mine_triggerthree.txt new file mode 100644 index 00000000..621da0b2 --- /dev/null +++ b/world/map/npc/002-4/mine_triggerthree.txt @@ -0,0 +1,67 @@ +//Sandstorm mine trigger 3 Trigger 002-4 98,42 (127) +// Variables used: nibble 4 and 5 of QUEST_SouthTulimshar + +002-4.gat,91,99,0|script|Button|400,0,0,{ + + // This NPC previously used the variable TMW_Quest + callfunc "ClearVarTMW_Quest"; + + set @state, ((QUEST_SouthTulimshar & BYTE_2_MASK) >> BYTE_2_SHIFT); + + if (@state == 24) goto L_Trigger_Wrong_3; + if (@state == 23) goto L_Trigger_3; + if (@state == 22) goto L_Trigger_Wrong_3; + + mes "There is a large button on the ground. A key hole appears on the button."; + goto L_Close; + +L_Trigger_Wrong_3: + mes "There is a large button on the ground. A key hole appears on the button."; + menu + "Put the key in, turn right.", L_Right_Wrong_3, + "Put the key in, turn left.", L_Left_Wrong_3, + "Do nothing.", L_Nothing_3; + +L_Right_Wrong_3: + set @state, 22; + callsub S_Update_Var; + mes "You turn the key right."; + goto L_Close; + +L_Left_Wrong_3: + set @state, 22; + callsub S_Update_Var; + mes "You turn the key left."; + goto L_Close; + +L_Trigger_3: + mes "There is a large button on the ground. A key hole appears on the button."; + menu + "Put the key in, turn right.", L_Right_3, + "Put the key in, turn left.", L_Left_3, + "Do nothing.", L_Nothing_3; + +L_Right_3: + set @state, 22; + callsub S_Update_Var; + mes "You turn the key right."; + goto L_Close; + +L_Left_3: + set @state, 24; + callsub S_Update_Var; + mes "You turn the key left. A clicking sound echoes throughout the mine."; + goto L_Close; + +L_Nothing_3: + mes "You leave the button alone."; + 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; +} diff --git a/world/map/npc/002-4/mine_triggertwo.txt b/world/map/npc/002-4/mine_triggertwo.txt new file mode 100644 index 00000000..04e54462 --- /dev/null +++ b/world/map/npc/002-4/mine_triggertwo.txt @@ -0,0 +1,70 @@ +//Sandstorm mine trigger +// Variables used: +// - nibble 4 and 5 of QUEST_SouthTulimshar +// - in FLAGS, FLAG_OPENED_UNDERGROUND + +002-4.gat,100,37,0|script|Button|400,0,0,{ + + // This NPC previously used the variable TMW_Quest + callfunc "ClearVarTMW_Quest"; + + set @state, ((QUEST_SouthTulimshar & BYTE_2_MASK) >> BYTE_2_SHIFT); + + if (@state == 24) goto L_Trigger_2; + if (@state == 23) goto L_Trigger_Wrong_2; + if (@state == 22) goto L_Trigger_Wrong_2; + + mes "There is a large button on the ground. A key hole appears on the button."; + goto L_Close; + +L_Trigger_Wrong_2: + mes "There is a large button on the ground. A key hole appears on the button."; + menu + "Put the key in, turn right.", L_Right_Wrong_2, + "Put the key in, turn left.", L_Left_Wrong_2, + "Do nothing.", L_Nothing_2; + +L_Right_Wrong_2: + set @state, 22; + callsub S_Update_Var; + mes "You turn the key right."; + goto L_Close; + +L_Left_Wrong_2: + set @state, 22; + callsub S_Update_Var; + mes "You turn the key left."; + goto L_Close; + +L_Trigger_2: + mes "There is a large button on the ground. A key hole appears on the button."; + menu + "Put the key in, turn right.", L_Right_2, + "Put the key in, turn left.", L_Left_2, + "Do nothing.", L_Nothing_2; + +L_Right_2: + set @state, 22; + callsub S_Update_Var; + mes "You turn the key right."; + goto L_Close; + +L_Left_2: + set @state, 25; + callsub S_Update_Var; + set FLAGS, FLAGS | FLAG_OPENED_UNDERGROUND; + mes "You turn the key left. A clicking sound echoes throughout the mine, followed by a loud thump."; + goto L_Close; + +L_Nothing_2: + mes "You leave the button alone."; + 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; +} diff --git a/world/map/npc/002-4/miners.txt b/world/map/npc/002-4/miners.txt deleted file mode 100644 index 3fa17e35..00000000 --- a/world/map/npc/002-4/miners.txt +++ /dev/null @@ -1,78 +0,0 @@ -// Variables used: nibble 4 and 5 of QUEST_SouthTulimshar - -002-4.gat,32,94,6|script|Sema|340,{ - - // This NPC previously used the variable TMW_Quest - callfunc "ClearVarTMW_Quest"; - - set @state, ((QUEST_SouthTulimshar & BYTE_2_MASK) >> BYTE_2_SHIFT); - - if (@state >= 28) goto L_Sema_Done; - if (@state == 27) goto L_Sema_Happy; - if (@state == 26) goto L_Sema_GCM; - - mes "[Sema the Miner]"; - mes "\"Hello adventurer. I do not know exactly where, but somewhere in this cave there is a chest. And wouldn't you know it! The archants have eaten all the spare keys for the chest. Go and do what you must do.\""; - goto L_Close; - -L_Sema_GCM: - mes "[Sema the Miner]"; - mes "\"I saw a giant cave maggot eat one of the other miners and it might eat me! Can you kill it?\""; - menu - "Yes.", L_Sema_Yes, - "No.", L_Sema_No; - -L_Sema_No: - mes "[Sema the Miner]"; - mes "\"Ahh! I am very scared now!\""; - goto L_Close; - -L_Sema_Yes: - set @state, 27; - callsub S_Update_Var; - monster "002-4.gat", 70, 90, "", 1059, 1; - mes "[Sema the Miner]"; - mes "\"Good luck. To prove you killed it, please bring the Iten it swallowed when it ate the miner. Be careful, there could be more than one.\""; - goto L_Close; - -L_Sema_Happy: - if (countitem("Iten") < 1) - goto L_Sema_Not_Happy; - getinventorylist; - if (@inventorylist_count - (countitem("Iten") == 1) > 99) - goto L_Sema_TooMany; - delitem "Iten", 1; - getitem "DesertShirt", 1; - set @state, 28; - callsub S_Update_Var; - set BOSS_POINTS, BOSS_POINTS + 10; - message strcharinfo(0), "You gain 10 Boss Points giving you a total of " + BOSS_POINTS + "."; - mes "[Sema the Miner]"; - mes "\"You killed it! What a relief! I wish I had more to give, but please accept this Desert Shirt as reward.\""; - goto L_Close; - -L_Sema_TooMany: - mes "[Sema the Miner]"; - mes "\"You have too many items for me to give you a reward. Please drop or sell something so I can give it to you. Oh and yes, you can also store items at the nearest bank.\""; - goto L_Close; - -L_Sema_Not_Happy: - set @state, 26; - callsub S_Update_Var; - itemheal -Hp, 0; - mes "A stone falls on your head."; - goto L_Close; - -L_Sema_Done: - mes "[Sema the Miner]"; - mes "\"You made this cave safer, you are kind beyond belief. Others may need you. Happy adventuring.\""; - 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; -} 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; +} diff --git a/world/map/npc/002-4/underground_palace_barrier.txt b/world/map/npc/002-4/underground_palace_barrier.txt new file mode 100644 index 00000000..2e0dc60d --- /dev/null +++ b/world/map/npc/002-4/underground_palace_barrier.txt @@ -0,0 +1,22 @@ +//underground palace barrier + +002-4.gat,68,98,0|script|#UGP_Barrier|45,0,0,{ + + // This NPC previously used the variable TMW_Quest + callfunc "ClearVarTMW_Quest"; + + set @state, ((QUEST_SouthTulimshar & BYTE_2_MASK) >> BYTE_2_SHIFT); + + if (@state >= 25) goto L_Underground_Palace_Barrier_Open; + + message strcharinfo(0), "Some force seems to block your entrance."; + goto L_End; + +L_Underground_Palace_Barrier_Open: + warp "002-5.gat",37,96; + goto L_End; + +L_End: + set @state, 0; + end; +} -- cgit v1.2.3-60-g2f50