summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--db/quest_db.conf4
-rw-r--r--npc/025-1/commander.txt42
-rw-r--r--npc/functions/util.txt6
3 files changed, 46 insertions, 6 deletions
diff --git a/db/quest_db.conf b/db/quest_db.conf
index 641a6df71..b1925ee52 100644
--- a/db/quest_db.conf
+++ b/db/quest_db.conf
@@ -379,6 +379,10 @@ quest_db: (
Id: 151
Name: "FortressQuest_SlimeHunter"
},
+{
+ Id: 152
+ Name: "FortressQuest_Over100"
+},
// ID 171 to 190: Artis & Esperia Quests
// ID 191 to 249: General Quests II (eg. Dungeon Quests)
diff --git a/npc/025-1/commander.txt b/npc/025-1/commander.txt
index 2b9b93b09..4b9f1a341 100644
--- a/npc/025-1/commander.txt
+++ b/npc/025-1/commander.txt
@@ -29,6 +29,8 @@ OnInit:
// Check for ongoing quests
if (getq(FortressQuest_SlimeHunter) == 1)
goto L_SlimeHunter;
+ if (getq(FortressQuest_Over100) == 1)
+ goto L_Over100;
mesn;
mesq l("I have extremely difficult quests for you; They are more painful than a Grand Hunter Quest, because I don't admit wimps fighting with me.");
next;
@@ -41,14 +43,15 @@ OnInit:
{
select
l("I'm not interested."),
- rif(!getq(FortressQuest_SlimeHunter), l("The Great Slime Hunt"));
+ rif(!getq(FortressQuest_SlimeHunter), l("The Great Slime Hunt")),
+ rif(!getq(FortressQuest_Over100), l("The Great Over 100 Hunt"));
mes "";
switch (@menu) {
case 1:
close;
case 2:
mesn;
- mesq l("You'll have to slay %s slimes for me! I don't care which ones, just SLAY THEM!", fnum(.million));
+ mesq l("You'll have to slay %s %s for me! I don't care which ones, just SLAY THEM!", fnum(.million), l("slimes"));
next;
select
l("Accept"),
@@ -61,6 +64,21 @@ OnInit:
close;
}
break;
+ case 3:
+ mesn;
+ mesq l("You'll have to slay %s %s for me! I don't care which ones, just SLAY THEM!", fnum(.million), l("monsters of at least level 100"));
+ next;
+ select
+ l("Accept"),
+ l("Reject");
+ mes "";
+ if (@menu == 1) {
+ setq1 FortressQuest_Over100, 1;
+ mesn;
+ mesq l("Then get to work already!");
+ close;
+ }
+ break;
}
}
close;
@@ -69,6 +87,10 @@ L_SlimeHunter:
cadisReward(FortressQuest_SlimeHunter);
close;
+L_Over100:
+ cadisReward(FortressQuest_Over100);
+ close;
+
function cadisReward {
.@kill=getq2(getarg(0));
.@rewa=getq3(getarg(0));
@@ -123,7 +145,6 @@ function cadisReward {
getitem EarthPowder, 3;
getitem any(LuckFruit, DexterityFruit, IntelligenceFruit, VitalityFruit, AgilityFruit, StrengthFruit), 1;
getitem MysteriousFruit, 1;
- //getitem PrismGift, 1;
}
return;
}
@@ -149,11 +170,22 @@ function script CadisQuestCheck {
if (getq(FortressQuest_SlimeHunter) == 1) {
// Register the kill
- if (compare("slime", strtolower(strmobinfo(1, .@mobId))))
+ if (compare("slime", strtolower(strmobinfo(1, .@mobId)))) {
setq2 FortressQuest_SlimeHunter, getq2(FortressQuest_SlimeHunter)+1;
// Report every 1000 kills
if (getq2(FortressQuest_SlimeHunter) % 1000 == 0)
- dispbottom l("Cadis : You have slain %s slimes out of a million.", fnum(getq2(FortressQuest_SlimeHunter)));
+ dispbottom l("Cadis : You have slain %s %s out of a million.", fnum(getq2(FortressQuest_SlimeHunter)), l("slimes"));
+ }
+ }
+
+ if (getq(FortressQuest_Over100) == 1) {
+ // Register the kill
+ if (getmonsterinfo(.@mobId, MOB_LV) >= 100) {
+ setq2 FortressQuest_Over100, getq2(FortressQuest_Over100)+1;
+ // Report every 1000 kills
+ if (getq2(FortressQuest_Over100) % 1000 == 0)
+ dispbottom l("Cadis : You have slain %s %s out of a million.", fnum(getq2(FortressQuest_SlimeHunter)), l("mobs over lv 100"));
+ }
}
return;
diff --git a/npc/functions/util.txt b/npc/functions/util.txt
index 704c84805..76ecb1d9a 100644
--- a/npc/functions/util.txt
+++ b/npc/functions/util.txt
@@ -547,8 +547,12 @@ function script reputation {
if (getq(FortressQuest_SlimeHunter) >= 2)
.@nr=.@nr+1;
+ // Cadis: Great Over100 Hunt (+1 rep)
+ if (getq(FortressQuest_Over100) >= 2)
+ .@nr=.@nr+1;
+
// FORTRESS TOWN Magical Forumula
- .@nr=.@nr*100/3;
+ .@nr=.@nr*100/4;
// Final