From a5816766ed870dd55170a4b66a75a1907021e421 Mon Sep 17 00:00:00 2001 From: wushin Date: Tue, 19 May 2015 12:35:46 -0500 Subject: Some of the Tonori Area Quests --- world/map/npc/001-2/fieri.txt | 29 ++++----------- world/map/npc/001-2/heathin.txt | 81 +++++++++++++++-------------------------- world/map/npc/001-2/sandra.txt | 19 ++-------- world/map/npc/001-2/yanis.txt | 11 ++---- 4 files changed, 45 insertions(+), 95 deletions(-) (limited to 'world/map/npc/001-2') diff --git a/world/map/npc/001-2/fieri.txt b/world/map/npc/001-2/fieri.txt index dbf12c2e..0d122fb2 100644 --- a/world/map/npc/001-2/fieri.txt +++ b/world/map/npc/001-2/fieri.txt @@ -1,13 +1,9 @@ -// Variables used: nibble 0 of QUEST_SouthTulimshar - 001-2,114,89,0|script|Fieri|117 { - set @state, ((QUEST_SouthTulimshar & NIBBLE_6_MASK) >> NIBBLE_6_SHIFT); - - if (@state >= 4) goto L_Done2; - if (@state == 3) goto L_Progress2; - if (@state == 2) goto L_Done1; - if (@state == 1) goto L_Progress; + if (QL_FIERI >= 4) goto L_Done2; + if (QL_FIERI == 3) goto L_Progress2; + if (QL_FIERI == 2) goto L_Done1; + if (QL_FIERI == 1) goto L_Progress; set @TEMP, rand(2); if(@TEMP == 1) goto L_Opening1; @@ -50,8 +46,7 @@ L_Req1: goto L_Set; L_Set: - set @state, 1; - callsub S_Update_Var; + set QL_FIERI, 1; mes "[Fieri]"; mes "\"Please bring it to me!\""; goto L_Close; @@ -66,8 +61,7 @@ L_Progress: delitem "Beer", 1; getexp 100, 0; getitem "CherryCake", 5; - set @state, 2; - callsub S_Update_Var; + set QL_FIERI, 2; next; mes "\"Now let's see...\""; goto L_Close; @@ -82,8 +76,7 @@ L_Progress2: delitem "MaggotSlime", 3; getexp 100, 0; getitem "TonoriDelight", 3; - set @state, 4; - callsub S_Update_Var; + set QL_FIERI, 4; goto L_Close; L_NotEnough: @@ -103,8 +96,7 @@ L_Done1: next; mes "\"I need 3 Maggot Slimes for that.\""; mes "\"Bring them to me, and I'll give you something nice.\""; - set @state, 3; - callsub S_Update_Var; + set QL_FIERI, 3; goto L_Close; L_Done2: @@ -116,7 +108,6 @@ L_Done2: L_Close: set @TEMP, 0; - set @state, 0; close; L_TooMany: @@ -124,8 +115,4 @@ L_TooMany: mes "[Fieri]"; mes "\"You don't have room for my reward. I'll wait until you do.\""; goto L_Close; - -S_Update_Var: - set QUEST_SouthTulimshar, (QUEST_SouthTulimshar & ~(NIBBLE_6_MASK) | (@state << NIBBLE_6_SHIFT)); - return; } diff --git a/world/map/npc/001-2/heathin.txt b/world/map/npc/001-2/heathin.txt index 05044812..3ebfbbc7 100644 --- a/world/map/npc/001-2/heathin.txt +++ b/world/map/npc/001-2/heathin.txt @@ -1,5 +1,3 @@ -//Items for NPC are incomplete. Makes "simple ring" which can be crafted into a useful ring by Inya and terranite armor. - 001-2,23,55,0|script|Heathin|147 { set @TARROW_REQ_TERRA_ORE, 1; @@ -7,23 +5,21 @@ set @TARROW_REQ_GP, 3000; set @heathin_xp_bonus, (100 * BaseLevel); - set @state, ((QUEST_NorthTulimshar & NIBBLE_6_MASK) >> NIBBLE_6_SHIFT); - - if (@state == 14) && (BaseLevel >= 80) goto L_Arrows_Trade; - if (@state == 13) && (BaseLevel >= 80) goto L_Arrows_Ready; - if (@state == 12) && (BaseLevel >= 80) goto L_Arrows_Forge; - if (@state == 11) && (BaseLevel >= 80) goto L_Arrows; - if (@state == 10) && (BaseLevel >= 80) goto L_Chest_Armor_Ready; - if (@state == 9) && (BaseLevel >= 80) goto L_Chest_Armor_Forge; - if (@state == 8) && (BaseLevel >= 80) goto L_Chest_Armor; - if (@state == 7) && (BaseLevel >= 80) goto L_Legs_Ready; - if (@state == 6) && (BaseLevel >= 80) goto L_Legs_Forge; - if (@state == 5) && (BaseLevel >= 80) goto L_Legs; - if (@state == 4) && (BaseLevel >= 80) goto L_Hood_Ready; - if (@state == 3) && (BaseLevel >= 80) goto L_Hood_Forge; - if (@state == 2) && (BaseLevel >= 80) goto L_Hood; - if (@state == 2) && (BaseLevel >= 60) goto L_Forge_Thanks; - if (@state == 1) && (BaseLevel >= 60) goto L_Forge_Award; + if (QL_TERRANITE_ARMOR == 14) && (BaseLevel >= 80) goto L_Arrows_Trade; + if (QL_TERRANITE_ARMOR == 13) && (BaseLevel >= 80) goto L_Arrows_Ready; + if (QL_TERRANITE_ARMOR == 12) && (BaseLevel >= 80) goto L_Arrows_Forge; + if (QL_TERRANITE_ARMOR == 11) && (BaseLevel >= 80) goto L_Arrows; + if (QL_TERRANITE_ARMOR == 10) && (BaseLevel >= 80) goto L_Chest_Armor_Ready; + if (QL_TERRANITE_ARMOR == 9) && (BaseLevel >= 80) goto L_Chest_Armor_Forge; + if (QL_TERRANITE_ARMOR == 8) && (BaseLevel >= 80) goto L_Chest_Armor; + if (QL_TERRANITE_ARMOR == 7) && (BaseLevel >= 80) goto L_Legs_Ready; + if (QL_TERRANITE_ARMOR == 6) && (BaseLevel >= 80) goto L_Legs_Forge; + if (QL_TERRANITE_ARMOR == 5) && (BaseLevel >= 80) goto L_Legs; + if (QL_TERRANITE_ARMOR == 4) && (BaseLevel >= 80) goto L_Hood_Ready; + if (QL_TERRANITE_ARMOR == 3) && (BaseLevel >= 80) goto L_Hood_Forge; + if (QL_TERRANITE_ARMOR == 2) && (BaseLevel >= 80) goto L_Hood; + if (QL_TERRANITE_ARMOR == 2) && (BaseLevel >= 60) goto L_Forge_Thanks; + if (QL_TERRANITE_ARMOR == 1) && (BaseLevel >= 60) goto L_Forge_Award; if (BaseLevel >= 60) goto L_Start; mes "[Heathin]"; @@ -43,8 +39,7 @@ L_Start: "Wait, what kind of award are we talking about?", L_Interested; L_Help: - set @state, 1; - callsub S_Update_Mask; + set QL_TERRANITE_ARMOR, 1; mes "[Heathin]"; mes "\"Excellent! I am always glad when someone can be of service not just to me, but to all of Tulimshar. Please get me 50 Coal and you will be compensated for your efforts.\""; close; @@ -64,8 +59,7 @@ L_Interested: L_Forge_Award: if (countitem ("Coal") < 50) goto L_Forge_Wait; getinventorylist; - set @state, 2; - callsub S_Update_Mask; + set QL_TERRANITE_ARMOR, 2; delitem "Coal", 50; getexp @heathin_xp_bonus, 0; set Zeny, Zeny + 20000; @@ -112,8 +106,7 @@ L_No: close; L_Yes: - set @state, 3; - callsub S_Update_Mask; + set QL_TERRANITE_ARMOR, 3; mes "[Heathin]"; mes "\"Great, this is going to be fun! As I have not had much practice with this armor, I'd like to get started soon.\""; next; @@ -129,8 +122,7 @@ L_Hood_Forge: || (countitem("Coal") < 100) || (countitem("TerraniteOre") < 10) ) goto L_Hood_Wait; - set @state, 4; - callsub S_Update_Mask; + set QL_TERRANITE_ARMOR, 4; delitem "Coal", 100; delitem "TerraniteOre", 10; getexp @heathin_xp_bonus, 0; @@ -148,16 +140,14 @@ L_Hood_Ready: getinventorylist; if ((checkweight("TerraniteHelmet", 1) == 0) || (@inventorylist_count == 100)) goto L_InventoryNoSpace; - set @state, 5; - callsub S_Update_Mask; + set QL_TERRANITE_ARMOR, 5; getitem "TerraniteHelmet", 1; mes "[Heathin]"; mes "\"I am all done with your terranite hood. I hope you enjoy it! I have some work to wrap up for the Council, but come back later and I might be able to assist you again.\""; close; L_Legs: - set @state, 6; - callsub S_Update_Mask; + set QL_TERRANITE_ARMOR, 6; mes "[Heathin]"; mes "\"I am glad you are back! I've just finished up some more of my commission. Now I can get back to making terranite armor for you. This time I will make some pants, but they need more ore, more Coal to heat my forge and of course, more gold for my efforts.\""; next; @@ -169,8 +159,7 @@ L_Legs_Forge: || (countitem("Coal") < 200) || (countitem("TerraniteOre") < 30) ) goto L_Legs_Wait; - set @state, 7; - callsub S_Update_Mask; + set QL_TERRANITE_ARMOR, 7; delitem "Coal", 200; delitem "TerraniteOre", 30; getexp @heathin_xp_bonus, 0; @@ -188,16 +177,14 @@ L_Legs_Ready: getinventorylist; if ((checkweight("TerraniteLegs", 1) == 0) || (@inventorylist_count == 100)) goto L_InventoryNoSpace; - set @state, 8; - callsub S_Update_Mask; + set QL_TERRANITE_ARMOR, 8; getitem "TerraniteLegs", 1; mes "[Heathin]"; mes "\"I am all done with your terranite pants. Hope you enjoy them! I have some more work to complete for the Council. Come back later and I might be able to assist you again.\""; close; L_Chest_Armor: - set @state, 9; - callsub S_Update_Mask; + set QL_TERRANITE_ARMOR, 9; mes "[Heathin]"; mes "\"Good to see you again. I have just finished up some more of my commission. Now I can get back to making terranite armor for you. This time, I will make some terranite chest armor, but it needs more ore, more Coal for my forge and of course, more gold to compensate for my efforts.\""; next; @@ -209,8 +196,7 @@ L_Chest_Armor_Forge: || (countitem("Coal") < 250) || (countitem("TerraniteOre") < 40) ) goto L_Chest_Armor_Wait; - set @state, 10; - callsub S_Update_Mask; + set QL_TERRANITE_ARMOR, 10; delitem "Coal", 250; delitem "TerraniteOre", 40; getexp @heathin_xp_bonus, 0; @@ -228,8 +214,7 @@ L_Chest_Armor_Ready: getinventorylist; if ((checkweight("TerraniteChestArmor", 1) == 0) || (@inventorylist_count == 100)) goto L_InventoryNoSpace; - set @state, 11; - callsub S_Update_Mask; + set QL_TERRANITE_ARMOR, 11; getitem "TerraniteChestArmor", 1; mes "[Heathin]"; mes "\"I have completed your terranite chest armor. I hope you enjoy it! I have some work to wrap up for the Council again, but come back later and I might be able to assist you once more.\""; @@ -250,8 +235,7 @@ L_Arrows_No: close; L_Arrows_Yes: - set @state, 12; - callsub S_Update_Mask; + set QL_TERRANITE_ARMOR, 12; mes "[Heathin]"; mes "\"Good, good. I shall begin crafting these arrows as soon as you come back. However, I cannot just make small handfuls as it would not be worth my time and effort to have my concentration interrupted for small tasks. I will make 1,000 Terranite Arrows per request, for which I will need "+@TARROW_REQ_TERRA_ORE+" Terranite Ore, "+@TARROW_REQ_COAL+" Coal and "+@TARROW_REQ_GP+" gold pieces.\""; next; @@ -263,8 +247,7 @@ L_Arrows_Forge: || (countitem("Coal") < @TARROW_REQ_COAL) || (countitem("TerraniteOre") < @TARROW_REQ_TERRA_ORE) ) goto L_Arrows_Wait; - set @state, 13; - callsub S_Update_Mask; + set QL_TERRANITE_ARMOR, 13; delitem "Coal", @TARROW_REQ_COAL; delitem "TerraniteOre", @TARROW_REQ_TERRA_ORE; getexp @heathin_xp_bonus, 0; @@ -282,8 +265,7 @@ L_Arrows_Ready: getinventorylist; if ((checkweight("TerraniteArrow", 1000) == 0) || (@inventorylist_count == 100)) goto L_InventoryNoSpace; - set @state, 14; - callsub S_Update_Mask; + set QL_TERRANITE_ARMOR, 14; getitem "TerraniteArrow", 1000; mes "[Heathin]"; mes "\"All done, here you go! I hope you like them. I am still working on my commission, but if you ever need any more Terranite Arrows, just come on by with "+@TARROW_REQ_COAL+" Coal, "+@TARROW_REQ_TERRA_ORE+" Terranite Ore and "+@TARROW_REQ_GP+" gold pieces and I will make another 1,000 arrows for you. By now I have enough Terranite Ore in reserve that you can just trade me my requirements to keep my resources up. Thank you for all your efforts!\""; @@ -331,9 +313,6 @@ L_InventoryNoSpace: mes "\"Hm no. You can't carry this right now. Make some room and come back.\""; close; -S_Update_Mask: - set QUEST_NorthTulimshar, (QUEST_NorthTulimshar & ~(NIBBLE_6_MASK)) | (@state << NIBBLE_6_SHIFT); - return; } 001-2,25,55,0|script|HeathinDebug|147 { @@ -344,7 +323,7 @@ S_Update_Mask: "Exit", L_End; L_Reset: - set QUEST_NorthTulimshar, (QUEST_NorthTulimshar & ~(NIBBLE_6_MASK) | (0 << NIBBLE_6_SHIFT)); + set QL_TERRANITE_ARMOR, 0; mes "Reset!"; goto L_End; diff --git a/world/map/npc/001-2/sandra.txt b/world/map/npc/001-2/sandra.txt index a94d10a3..2465290b 100644 --- a/world/map/npc/001-2/sandra.txt +++ b/world/map/npc/001-2/sandra.txt @@ -1,11 +1,7 @@ -// Variables used: nibble 3 of QUEST_SouthTulimshar - 001-2,98,88,0|script|Sandra|114 { - set @state, ((QUEST_SouthTulimshar & NIBBLE_3_MASK) >> NIBBLE_3_SHIFT); - - if (@state >= 2) goto L_Done; - if (@state == 1) goto L_Progress; + if (QL_SANDRA >= 2) goto L_Done; + if (QL_SANDRA == 1) goto L_Progress; mes "[Sandra]"; mes "\"Hunting monsters for potion ingredients can sometimes be a difficult task.\""; @@ -67,8 +63,7 @@ L_Req2: goto L_Set; L_Set: - set @state, 1; - callsub S_Update_Var; + set QL_SANDRA, 1; mes "\"Please get them for me!\""; goto L_Close; @@ -84,8 +79,7 @@ L_Progress: delitem "ScorpionStinger", 5; getitem "Bow", 1; getitem "Arrow", 100; - set @state, 2; - callsub S_Update_Var; + set QL_SANDRA, 2; goto L_Close; L_NotEnough: @@ -100,7 +94,6 @@ L_Done: L_Close: set @TEMP, 0; - set @state, 0; close; L_TooMany: @@ -108,8 +101,4 @@ L_TooMany: mes "[Sandra]"; mes "\"You don't have room for my reward. I'll wait until you do.\""; goto L_Close; - -S_Update_Var: - set QUEST_SouthTulimshar, (QUEST_SouthTulimshar & ~(NIBBLE_3_MASK) | (@state << NIBBLE_3_SHIFT)); - return; } diff --git a/world/map/npc/001-2/yanis.txt b/world/map/npc/001-2/yanis.txt index e8cf13a3..31a91f77 100644 --- a/world/map/npc/001-2/yanis.txt +++ b/world/map/npc/001-2/yanis.txt @@ -4,8 +4,6 @@ 001-2,31,21,0|script|Yanis|107 { set QUEST_NorthTulimshar, QUEST_NorthTulimshar | $@knowYanisNT; - set @kylian, ((QUEST_NorthTulimshar & NIBBLE_5_MASK) >> NIBBLE_5_SHIFT); - set @imec, ((QUEST_NorthTulimshar & TWOBIT_4_MASK) >> TWOBIT_4_SHIFT); set @halloween_npc_id, $@halloween_npc_yanis; callfunc "TrickOrTreat"; @@ -15,7 +13,7 @@ L_Base_Menu: mes "[Yanis]"; mes "\"Welcome. I'm handling issues with trading licenses for the shop owners in Tulimshar. Can I help you?\""; - if (@imec != 1) + if (QL_IMEC != 1) menu "Nothing right now.",L_BeforeClose; menu @@ -29,19 +27,16 @@ L_Next: next; mes "[Yanis]"; mes "\"Here you have a letter of acknowledgement. You can bring that back to Imec. We will have a look at his case.\""; - set @imec, 2; - set QUEST_NorthTulimshar, (QUEST_NorthTulimshar & ~(TWOBIT_4_MASK)) | (@imec << TWOBIT_4_SHIFT); + set QL_IMEC, 2; goto L_BeforeClose; L_BeforeClose: - if (@kylian != 3) + if (QL_KYLIAN != 3) goto L_Close; next; mes "You think that this is the person Kylian needs to talk to. You should tell him."; goto L_Close; L_Close: - set @imec, 0; - set @kylian, 0; close; } -- cgit v1.2.3-60-g2f50