summaryrefslogtreecommitdiff
path: root/npc/024-16
diff options
context:
space:
mode:
Diffstat (limited to 'npc/024-16')
-rw-r--r--npc/024-16/generals.txt62
1 files changed, 56 insertions, 6 deletions
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;