From b342091aebdcf0ee8318fc50d6d0de04d652a875 Mon Sep 17 00:00:00 2001 From: NetSysFire <59517351+NetSysFire@users.noreply.github.com> Date: Mon, 11 Jul 2022 22:48:19 +0200 Subject: Initial draft of making kreist less grindy --- npc/003-10/kreist.txt | 57 ++++++++++++++++++++++++++++++++++++--------------- 1 file changed, 41 insertions(+), 16 deletions(-) diff --git a/npc/003-10/kreist.txt b/npc/003-10/kreist.txt index 70ca55eb6..9daea55c6 100644 --- a/npc/003-10/kreist.txt +++ b/npc/003-10/kreist.txt @@ -7,12 +7,12 @@ 003-10,41,63,0 script Kreist NPC_PLAYER,{ .@d=gettimeparam(GETTIME_DAYOFMONTH); mesn l("Kreist, Taskmaster"); - mesq l("Hello, and welcome to Tulimshar guard house."); + mesq l("Hello, and welcome to the Tulimshar guard house."); next; mesn l("Kreist, Taskmaster"); mesq l("My name is @@ and I am the daily task master. Interested in keeping this world free from monsters, or to report back?", .name$); next; - mesc l("Protip: All quests expire at 00:00 server time, be sure to finish AND report back before that!"); + mesc l("All quests expire at 00:00 server time, be sure to finish AND report back before that!"); // Borrowed from Arkim Code mesc l("Time remaining to report completion: ")+FuzzyTime($@ARKIM_TIMER+86400), 1; @@ -56,9 +56,9 @@ L_QuestMaster: if (.@lv == 3) { .@q2=any(Maggot, Scorpion, Croc, FireGoblin, CaveMaggot, Duck); } else if (.@lv == 5) { - .@q2=any(GiantMaggot, CaveSnake, DesertBandit, Sarracenus, DesertLogHead, RedScorpion); + .@q2=any(CaveSnake, DesertBandit, Sarracenus, DesertLogHead, RedScorpion); } else if (.@lv == 12) { - .@q2=any(BlackScorpion, Snake, MountainSnake); + .@q2=any(GiantMaggot, BlackScorpion, Snake, MountainSnake); } else { Exception("Bad setting for GMH.LV: "+.@lv, RB_DEFAULT|RB_SPEECH|RB_ISFATAL); } @@ -73,9 +73,9 @@ L_QuestMaster: } // Maybe you finished the quest? - if (.@q3 >= 50) { + if (.@q3 >= .@killamount) { mesn l("Kreist, Taskmaster"); - mesq l("Good job, you've killed the @@ @@ and reported back in time!", 50, getmonsterlink(.@q2)); + mesq l("Good job, you've killed the @@ @@ and reported back in time!", .@killamount, getmonsterlink(.@q2)); next; inventoryplace MercBoxA, 1; if (MERCENARY_DAILYQUEST == 100) { @@ -83,8 +83,8 @@ L_QuestMaster: getitem BountyHunterHelmet, 1; } mesn l("Kreist, Taskmaster"); - mesq l("It's not much of a reward, but doesn't it feels great to help others in need?! HAHAHA!"); - .@overkill=.@q3-50; + mesq l("It's not much of a reward, but doesn't it feel great to help others in need?! HAHAHA!"); + .@overkill=.@q3-.@killamount; Zeny+=.@lv*(72+MERCENARY_DAILYQUEST); // Raise LV according to monster level .@lv+=getmonsterinfo(.@q2, MOB_LV)+MERCENARY_DAILYQUEST*11/10; @@ -99,7 +99,32 @@ L_QuestMaster: } mesn l("Kreist, Taskmaster"); - mesq l("So, please kill @@/@@ @@ for us and make the world a safer place!", .@q3, 50, getmonsterlink(.@q2)); + .@killamount=40 + // Explanation why the city needs that + // FIXME: plural + if (.@q2 == "Maggot" ) { + mesq l("@@ have infested the store houses, spilling onto the streets. Stop them from destroying even more food.", getmonsterlink(.@q2)); + .@killamount=30 + } else if (.@q2 == "GiantMaggot") { + mesq l("The @@ are the cause for all the little maggots to appear, so we need you to stop the problem at the source.", getmonsterlink(.@q2)); + .@killamount=10 + } else if (.@q2 == "Duck") { + mesq l("This request was made by the cafe: The @@ are stealing their cherry cakes, causing disruption to their business.", getmonsterlink(.@q2)); + .@killamount=15 + } else if (.@q2 == "Croc") { + mesq l("The @@ have been reproducing rapidly and their natural habitat, our Croconut trees, are being damaged by the excessive number of them.", getmonsterlink(.@q2)); + .@killamount=15 + } else if (.@q2 == "CaveMaggot") { + mesq l("The @@ have been multiplying, crawling from the cave into the magic school, causing damage.", getmonsterlink(.@q2)); + .@killamount=15 + } else if (.@q2 == "Scorpion") { + mesq l("All the @@ have become a real nuisance to the citizens and people are getting stung more often now.", getmonsterlink(.@q2)); + .@killamount=20 + } else if (.@q2 == "DesertLogHead") { + mesq l("The @@ are growing and disturbing the already rather infertile desert soil, preventing our crops from growing.", getmonsterlink(.@q2)); + .@killamount=15 + } + mesq l("So, please kill @@/@@ @@ for us and make the city a safer place!", .@q3, .@killamount, getmonsterlink(.@q2)); close; OnInit: @@ -134,7 +159,7 @@ function script Guardhouse_RandQuestCheck { .@q3=getq3(General_MobHunting1)+1; setq3 General_MobHunting1, .@q3; if (!(.@q3 % 10)) - dispbottom l("@@/@@ @@ killed", .@q3, 50, getmonsterlink(.@mobId)); + dispbottom l("@@/@@ @@ killed", .@q3, .@killamount, getmonsterlink(.@mobId)); } // Medium Task @@ -143,7 +168,7 @@ function script Guardhouse_RandQuestCheck { .@q3=getq3(General_MobHunting2)+1; setq3 General_MobHunting2, .@q3; if (!(.@q3 % 10)) - dispbottom l("@@/@@ @@ killed", .@q3, 50, getmonsterlink(.@mobId)); + dispbottom l("@@/@@ @@ killed", .@q3, .@killamount, getmonsterlink(.@mobId)); } // Hard Task @@ -152,7 +177,7 @@ function script Guardhouse_RandQuestCheck { .@q3=getq3(General_MobHunting3)+1; setq3 General_MobHunting3, .@q3; if (!(.@q3 % 10)) - dispbottom l("@@/@@ @@ killed", .@q3, 50, getmonsterlink(.@mobId)); + dispbottom l("@@/@@ @@ killed", .@q3, .@killamount, getmonsterlink(.@mobId)); } // Frostia's Task @@ -161,7 +186,7 @@ function script Guardhouse_RandQuestCheck { .@q3=getq3(General_MobHunting4)+1; setq3 General_MobHunting4, .@q3; if (!(.@q3 % 10)) - dispbottom l("@@/@@ @@ killed", .@q3, 50, getmonsterlink(.@mobId)); + dispbottom l("@@/@@ @@ killed", .@q3, .@killamount, getmonsterlink(.@mobId)); } @@ -171,7 +196,7 @@ function script Guardhouse_RandQuestCheck { .@q3=getq3(General_MobHunting5)+1; setq3 General_MobHunting5, .@q3; if (!(.@q3 % 10)) - dispbottom l("@@/@@ @@ killed", .@q3, 50, getmonsterlink(.@mobId)); + dispbottom l("@@/@@ @@ killed", .@q3, .@killamount, getmonsterlink(.@mobId)); } // Frostia - Hard Task @@ -180,7 +205,7 @@ function script Guardhouse_RandQuestCheck { .@q3=getq3(General_MobHunting6)+1; setq3 General_MobHunting6, .@q3; if (!(.@q3 % 10)) - dispbottom l("@@/@@ @@ killed", .@q3, 50, getmonsterlink(.@mobId)); + dispbottom l("@@/@@ @@ killed", .@q3, .@killamount, getmonsterlink(.@mobId)); } // Frostia - Nightmare Task @@ -189,7 +214,7 @@ function script Guardhouse_RandQuestCheck { .@q3=getq3(General_MobHunting7)+1; setq3 General_MobHunting7, .@q3; if (!(.@q3 % 10)) - dispbottom l("@@/@@ @@ killed", .@q3, 50, getmonsterlink(.@mobId)); + dispbottom l("@@/@@ @@ killed", .@q3, .@killamount, getmonsterlink(.@mobId)); } // Frostia - Boss Task -- cgit v1.2.3-60-g2f50