summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--db/pre-re/mob_db.conf14
-rw-r--r--npc/029-1/valon.txt93
-rw-r--r--npc/functions/mob_points.txt4
-rw-r--r--npc/functions/quests.txt30
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;
+}
+