From 9c93d7326e0e0c60de6c5b9e1f9d01441285d907 Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Sun, 16 Jun 2019 18:47:43 -0300 Subject: Fixes on Kreist, rebalance, and Frostia General's assign their quest properly. --- npc/003-10/kreist.txt | 11 ++++++++- npc/024-16/generals.txt | 62 ++++++++++++++++++++++++++++++++++++++++++++----- 2 files changed, 66 insertions(+), 7 deletions(-) (limited to 'npc') 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; -- cgit v1.2.3-70-g09d2