From f0e1bab3417e559b5b62f3ae4e74ea922a2c945f Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Sat, 17 Apr 2021 16:15:39 -0300 Subject: Update Valon's scripts --- npc/029-1/valon.txt | 93 ++++++++++++++------------------------------ npc/functions/mob_points.txt | 4 +- npc/functions/quests.txt | 30 ++++++++++++++ 3 files changed, 62 insertions(+), 65 deletions(-) (limited to 'npc') diff --git a/npc/029-1/valon.txt b/npc/029-1/valon.txt index d8b3a0c6..eb168fee 100644 --- a/npc/029-1/valon.txt +++ b/npc/029-1/valon.txt @@ -2,51 +2,21 @@ end; OnInit: - setarray $@ValonMob, 1002,1050,1046,1003; + setarray $@ValonMob, Maggot,HouseMaggot,TameScorpion,Scorpion; setarray $@ValonMobName$, "Maggots","House Maggots","Tame Scorpions","Scorpion"; setarray $@ValonMobCnt, 10,5,3,1; end; } -function script ValonCount { - @valon_mob = 0; - if (QL_VALON >= 2) - @valon_mob = (QL_VALON - 2); - @valon_count = ((STARTAREA & NIBBLE_2_MASK) >> NIBBLE_2_SHIFT); - return; -} -function script ResetValonCntMask { - STARTAREA = (STARTAREA & ~(NIBBLE_2_MASK) | (0 << NIBBLE_2_SHIFT)); - return; -} -function script AddValonCntMask { - @valon_tmp = (@valon_count + 1); - if (@valon_tmp > $@ValonMobCnt[@valon_mob]) - @valon_tmp = $@ValonMobCnt[@valon_mob]; - STARTAREA = (STARTAREA & ~(NIBBLE_2_MASK) | (@valon_tmp << NIBBLE_2_SHIFT)); - @valon_tmp = 0; - callfunc "ValonProgress"; - return; -} -function script ValonProgress { - callfunc "ValonCount"; - if ((QL_VALON > 1) && (QL_VALON < 6)) - message strcharinfo(0), $@ValonMobName$[@valon_mob] + ": " + @valon_count + "/" + $@ValonMobCnt[@valon_mob]; - return; -} 029-1,74,86,0 script ValonDebug NPC156,{ mes "[Valon Debug]"; mes "Reset?"; - menu - "Yes.", L_Reset, - "No.", L_close; -L_Reset: - QL_VALON = 0; - STARTAREA = (STARTAREA & ~(NIBBLE_2_MASK) | (0 << NIBBLE_2_SHIFT)); - mes "Reset!"; - goto L_close; - -L_close: + if (askyesno() == ASK_YES) { + QL_VALON = 0; + STARTAREA = (STARTAREA & ~(NIBBLE_2_MASK) | (0 << NIBBLE_2_SHIFT)); + mes ""; + mes "Reset!"; + } close; OnInit: @@ -58,7 +28,7 @@ OnInit: callfunc "PCtoNPCRange"; if(@npc_check) end; - callfunc "ValonCount"; + ValonCount(); if (QL_VALON >= 6) goto L_QuestComplete; if (QL_VALON == 1) @@ -70,14 +40,14 @@ OnInit: goto L_QuestAsk; L_QuestAskAgain: - mes "[Valon]"; - mes "\"Hello, Adventurer! Have you come back to help?\""; + mesn; + mesq l("Hello, Adventurer! Have you come back to help?"); menu "Yes. I will help with the island beasts.", L_Accept, "Maybe some other time.", L_close; L_QuestAsk: - mes "[Valon]"; + mesn; mes "\"Hello!"; mes "You're looking for adventures, right?\""; mes "\"But you shouldn't underestimate this island, it is dangerous.\""; @@ -86,52 +56,49 @@ L_QuestAsk: mes "\"Maybe you would like help and earn your stripes?\""; mes "\"The Council of Wizard's does offer a reward for helping...\""; QL_VALON = 1; - callfunc "ResetValonCntMask"; + ResetValonCntMask(); menu "YES!!! let me at them!", L_Accept, "Maybe some other time.", L_close; L_Accept: QL_VALON = 2; - callfunc "ValonCount"; + ValonCount(); goto L_NewMob; L_NextMob: getexp 40, 0; - mes "\"I see you killed all the " + $@ValonMobName$[@valon_mob] + " needed.\""; - mes "\"The Wizard's thank thee as well.\""; + mesq l("I see you killed all the %s needed.", getmonsterlink(@valon_mob)); + mesq l("The Wizard's thank thee as well."); Zeny = Zeny + 25; QL_VALON = (QL_VALON + 1); - callfunc "ResetValonCntMask"; - callfunc "ValonCount"; + ResetValonCntMask(); + ValonCount(); if (@valon_mob == getarraysize($@ValonMob)) goto L_QuestOver; goto L_NewMob; L_NewMob: - mes "\"Let's see whats on the list. Ah ok, I need you to kill me " + $@ValonMobCnt[@valon_mob] + " " + $@ValonMobName$[@valon_mob] + "\""; - mes "\"I'll be waiting here, come back and see after you've killed those mobs.\""; - goto L_close; + mesq l("Let's see whats on the list. Ah ok, I need you to kill me %d %s.", $@ValonMobCnt[@valon_mob], getmonsterlink(@valon_mob)); + mesq l("I'll be waiting here, come back and see after you've killed those mobs."); + close; L_QuestStarted: - mes "[Valon]"; - mes "Hail adventurer! You are well on your way to mastering the beasts of the island.\""; - mes "\"You need to kill " + $@ValonMobName$[@valon_mob] + ": " + @valon_count + "/" + $@ValonMobCnt[@valon_mob] + "\""; - mes "\"Come back and see me when the job is done.\""; - goto L_close; + mesn; + mesq l("Hail adventurer! You are well on your way to mastering the beasts of the island."); + mesq l("You need to kill %s: %d/%d.", getmonsterlink(@valon_mob), @valon_count, $@ValonMobCnt[@valon_mob]); + mesq l("\"Come back and see me when the job is done.\""); + close; L_QuestOver: - mes "[Valon]"; - mes "\"Thanks once again for helping with the monsters in the island.\""; + mesn; + mesq l("Thanks once again for helping with the monsters in the island."); getexp 50, 0; QL_VALON = (QL_VALON + 1); - goto L_close; + close; L_QuestComplete: - mes "[Valon]"; - mes "\"Thanks once again for helping with the monsters in the island.\""; - goto L_close; - -L_close: + mesn; + mesq l("Thanks once again for helping with the monsters in the island."); close; } diff --git a/npc/functions/mob_points.txt b/npc/functions/mob_points.txt index a9f6f1d4..c80a5514 100644 --- a/npc/functions/mob_points.txt +++ b/npc/functions/mob_points.txt @@ -43,9 +43,9 @@ function script MobPoints { Mobpt+=.@addval; } - callfunc "ValonCount"; + ValonCount(); if (((QL_VALON >= 2) && (QL_VALON < 6)) && (@mobId == $@ValonMob[@valon_mob])) - callfunc("AddValonCntMask"); + AddValonCntMask(); // Attitude adjustment for Sagatha diff --git a/npc/functions/quests.txt b/npc/functions/quests.txt index 3f0c40ef..fcdc13eb 100644 --- a/npc/functions/quests.txt +++ b/npc/functions/quests.txt @@ -35,3 +35,33 @@ function script elanore_decrease_exp { return; } +function script ValonCount { + @valon_mob = 0; + if (QL_VALON >= 2) + @valon_mob = (QL_VALON - 2); + @valon_count = ((STARTAREA & NIBBLE_2_MASK) >> NIBBLE_2_SHIFT); + return; +} + +function script ResetValonCntMask { + STARTAREA = (STARTAREA & ~(NIBBLE_2_MASK) | (0 << NIBBLE_2_SHIFT)); + return; +} + +function script ValonProgress { + ValonCount(); + if ((QL_VALON > 1) && (QL_VALON < 6)) + message strcharinfo(0), $@ValonMobName$[@valon_mob] + ": " + @valon_count + "/" + $@ValonMobCnt[@valon_mob]; + return; +} + +function script AddValonCntMask { + @valon_tmp = (@valon_count + 1); + if (@valon_tmp > $@ValonMobCnt[@valon_mob]) + @valon_tmp = $@ValonMobCnt[@valon_mob]; + STARTAREA = (STARTAREA & ~(NIBBLE_2_MASK) | (@valon_tmp << NIBBLE_2_SHIFT)); + @valon_tmp = 0; + ValonProgress(); + return; +} + -- cgit v1.2.3-60-g2f50