summaryrefslogtreecommitdiff
path: root/npc
diff options
context:
space:
mode:
authorJesusaves <cpntb1@ymail.com>2019-06-16 18:47:43 -0300
committerJesusaves <cpntb1@ymail.com>2019-06-16 18:47:43 -0300
commit9c93d7326e0e0c60de6c5b9e1f9d01441285d907 (patch)
tree91e05f5cdf2b342e0524d72a06ef2e0fe7f899ab /npc
parent32d394806ea8f6e4c947090aaf0f79552f4694a2 (diff)
downloadserverdata-9c93d7326e0e0c60de6c5b9e1f9d01441285d907.tar.gz
serverdata-9c93d7326e0e0c60de6c5b9e1f9d01441285d907.tar.bz2
serverdata-9c93d7326e0e0c60de6c5b9e1f9d01441285d907.tar.xz
serverdata-9c93d7326e0e0c60de6c5b9e1f9d01441285d907.zip
Fixes on Kreist, rebalance, and Frostia General's assign their quest properly.
Diffstat (limited to 'npc')
-rw-r--r--npc/003-10/kreist.txt11
-rw-r--r--npc/024-16/generals.txt62
2 files changed, 66 insertions, 7 deletions
diff --git a/npc/003-10/kreist.txt b/npc/003-10/kreist.txt
index e694bf3a2..68076084a 100644
--- a/npc/003-10/kreist.txt
+++ b/npc/003-10/kreist.txt
@@ -58,7 +58,7 @@ L_QuestMaster:
} else {
Exception("Bad setting for GMH.LV: "+.@lv, RB_DEFAULT|RB_SPEECH|RB_ISFATAL);
}
- setq .@q, .@q1, .@q2, .@q3;
+ setq .@q, .@q1, .@q2, 0;
}
// Maybe you finished the quest?
@@ -138,6 +138,15 @@ function script Guardhouse_RandQuestCheck {
dispbottom l("@@/100 @@ killed", .@q3, getmonsterlink(.@mobId));
}
+ // Frostia's Task
+ if (getq(General_MobHunting4) == .@d &&
+ getq2(General_MobHunting4) == .@mobId) {
+ .@q3=getq3(General_MobHunting4)+1;
+ setq3 General_MobHunting4, .@q3;
+ if (!(.@q3 % 10))
+ dispbottom l("@@/100 @@ killed", .@q3, getmonsterlink(.@mobId));
+ }
+
return;
}
diff --git a/npc/024-16/generals.txt b/npc/024-16/generals.txt
index d7d6c83ba..3d169ade3 100644
--- a/npc/024-16/generals.txt
+++ b/npc/024-16/generals.txt
@@ -36,17 +36,66 @@ function script FrostiaGeneralQuest {
mesn;
mesq l("Now, a simple @@ quest to make you stronger...", .@at$);
next;
- mesn;
- mesq l("Can't think on anything. Go away.");
+ if (FrostiaTaskMaster(20)) {
+ next;
+ mesn;
+ mesq l("Or maybe... You want to try again right now? I'll do whatever needed to level you up to less-noobish levels.");
+ next;
+ if (askyesno() == ASK_YES) {
+ setq General_MobHunting4, 0, 0, 0;
+ FrostiaTaskMaster(20);
+ }
+ }
close;
}
+// FrostiaTaskMaster(lvl)
+function script FrostiaTaskMaster {
+ .@q=General_MobHunting4;
+ .@q1=getq(General_MobHunting4);
+ .@q2=getq2(General_MobHunting4);
+ .@q3=getq3(General_MobHunting4);
+ .@d=gettimeparam(GETTIME_DAYOFMONTH);
+ .@lv=getarg(0, 1);
+ // It's a new day, so we must generate a new quest!
+ if (.@q1 != .@d) {
+ .@q1=.@d;
+ .@q2=any(Moggun, IcedFluffy, Fluffy, Pollet, BlueSlime, WhiteSlime, SantaSlime, AzulSlime, RudolphSlime); // WaterFairy
+ setq .@q, .@q1, .@q2, 0;
+ }
+
+ // Maybe you finished the quest?
+ if (.@q3 >= 100) {
+ mesn;
+ mesq l("Good job, you've killed the 100 @@ and reported back in time!", getmonsterlink(.@q2));
+ next;
+ mesn;
+ mesq l("It's not much of a reward, but doesn't it feels great to help others in need?! HAHAHA!");
+ Zeny+=.@lv;
+ getexp BaseLevel*.@lv, .@lv;
+ setq2 .@q, 0;
+ return false;
+ }
+
+ // Maybe there is no monster to kill
+ if (!.@q2) {
+ mesn;
+ mesq l("You've already completed this quest today. Try again tomorrow.");
+ return true;
+ }
+
+ mesn;
+ mesq l("So, please kill @@/100 @@ for us and make the world a safer place!", .@q3, getmonsterlink(.@q2));
+ return false;
+}
+
024-16,29,21,0 script Wizard General NPC_BLUESABER,{
.@q=getq(General_Narrator);
if (.@q == 14)
FrostiaGeneralQuest("Magic");
- hello;
- end;
+ else
+ FrostiaTaskMaster(20);
+ close;
OnInit:
.distance=5;
@@ -57,8 +106,9 @@ OnInit:
.@q=getq(General_Narrator);
if (.@q == 14)
FrostiaGeneralQuest("Fight");
- hello;
- end;
+ else
+ FrostiaTaskMaster(20);
+ close;
OnInit:
.distance=5;