diff options
-rw-r--r-- | db/pre-re/mob_db.conf | 14 | ||||
-rw-r--r-- | npc/029-1/valon.txt | 93 | ||||
-rw-r--r-- | npc/functions/mob_points.txt | 4 | ||||
-rw-r--r-- | npc/functions/quests.txt | 30 |
4 files changed, 69 insertions, 72 deletions
diff --git a/db/pre-re/mob_db.conf b/db/pre-re/mob_db.conf index f09ccfdc..731fc7bb 100644 --- a/db/pre-re/mob_db.conf +++ b/db/pre-re/mob_db.conf @@ -661,7 +661,7 @@ mob_db: ( }, { Id: 1057 - SpriteName: "AngryScorpionMob" + SpriteName: "AngryScorpion" Name: "Angry Scorpion" Lv: 20 Hp: 200 @@ -890,7 +890,7 @@ mob_db: ( }, { Id: 1084 - SpriteName: "CrotcherScorpionMob" + SpriteName: "CrotcherScorpion" Name: "Crotcher Scorpion" Lv: 25 Hp: 1200 @@ -1327,7 +1327,7 @@ mob_db: ( //ID, Name, Jname, LV, HP, SP, EXP, JEXP, Range1, ATK1, ATK2, DEF, MDEF, STR, AGI, VIT, INT, DEX, LUK, Range2, Range3, Scale, Race, Element,Mode, Speed, Adelay, Amotion,Dmotion,Drop1id,Drop1per,Drop2id,Drop2%, Drop3id,Drop3%, Drop4id,Drop4%, Drop5id,Drop5%, Drop6id,Drop6%, Drop7id,Drop7%, Drop8id,Drop8%, Item1, Item2, MEXP, ExpPer, MVP1id, MVP1per,MVP2id, MVP2per,MVP3id, MVP3per,mutationcount,mutationstrength { Id: 1009 - SpriteName: "BlackScorpionMob" + SpriteName: "BlackScorpion" Name: "Black Scorpion" Lv: 100 Hp: 600 @@ -4067,7 +4067,7 @@ mob_db: ( }, { Id: 1159 - SpriteName: "VoidScorpionMob" + SpriteName: "VoidScorpion" Name: "Void Scorpion" Lv: 110 Hp: 6000 @@ -4200,7 +4200,7 @@ mob_db: ( //ID, Name, Jname, LV, HP, SP, EXP, JEXP, Range1, ATK1, ATK2, DEF, MDEF, STR, AGI, VIT, INT, DEX, LUK, Range2, Range3, Scale, Race, Element,Mode, Speed, Adelay, Amotion,Dmotion,Drop1id,Drop1per,Drop2id,Drop2%, Drop3id,Drop3%, Drop4id,Drop4%, Drop5id,Drop5%, Drop6id,Drop6%, Drop7id,Drop7%, Drop8id,Drop8%, Item1, Item2, MEXP, ExpPer, MVP1id, MVP1per,MVP2id, MVP2per,MVP3id, MVP3per,mutationcount,mutationstrength { Id: 1004 - SpriteName: "RedScorpionMob" + SpriteName: "RedScorpion" Name: "Red Scorpion" Lv: 90 Hp: 550 @@ -5758,7 +5758,7 @@ mob_db: ( }, { Id: 1046 - SpriteName: "TameScorpionMob" + SpriteName: "TameScorpion" Name: "Tame Scorpion" Lv: 5 Hp: 50 @@ -5847,7 +5847,7 @@ mob_db: ( }, { Id: 1003 - SpriteName: "ScorpionMob" + SpriteName: "Scorpion" Name: "Scorpion" Lv: 10 Hp: 100 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; +} + |