diff options
author | Jesusaves <cpntb1@ymail.com> | 2024-05-24 01:24:34 -0300 |
---|---|---|
committer | Jesusaves <cpntb1@ymail.com> | 2024-05-24 01:24:34 -0300 |
commit | 942cdc08ff09e5177edc30cba1e249565c1b9363 (patch) | |
tree | b10022563f426a62b2bdc142faedc68123e6bee1 /npc | |
parent | 6e7b7479f9a5ef967f078b1ffb6b50559cc79436 (diff) | |
download | serverdata-942cdc08ff09e5177edc30cba1e249565c1b9363.tar.gz serverdata-942cdc08ff09e5177edc30cba1e249565c1b9363.tar.bz2 serverdata-942cdc08ff09e5177edc30cba1e249565c1b9363.tar.xz serverdata-942cdc08ff09e5177edc30cba1e249565c1b9363.zip |
Progress with Anselmo's quest. You can now start and finish Hurnscald arc.
UNTESTED, and you not claim the reward for this stage yet.
Diffstat (limited to 'npc')
-rw-r--r-- | npc/012-1/bot.txt | 1 | ||||
-rw-r--r-- | npc/012-1/dyrinthetraveler.txt | 1 | ||||
-rw-r--r-- | npc/012-1/guards.txt | 9 | ||||
-rw-r--r-- | npc/012-1/gwendolyn.txt | 1 | ||||
-rw-r--r-- | npc/012-1/hinnak.txt | 1 | ||||
-rw-r--r-- | npc/012-1/igor.txt | 1 | ||||
-rw-r--r-- | npc/012-1/jack.txt | 1 | ||||
-rw-r--r-- | npc/012-1/locamit.txt | 1 | ||||
-rw-r--r-- | npc/012-1/luffyx.txt | 1 | ||||
-rw-r--r-- | npc/012-1/mahad.txt | 1 | ||||
-rw-r--r-- | npc/012-1/milly.txt | 50 | ||||
-rw-r--r-- | npc/012-1/shoppakep.txt | 1 | ||||
-rw-r--r-- | npc/012-1/terezin.txt | 1 | ||||
-rw-r--r-- | npc/012-2/helena.txt | 1 | ||||
-rw-r--r-- | npc/012-2/khafar.txt | 1 | ||||
-rw-r--r-- | npc/012-2/melina.txt | 9 | ||||
-rw-r--r-- | npc/012-3/alan.txt | 1 | ||||
-rw-r--r-- | npc/012-4/wyara.txt | 1 | ||||
-rw-r--r-- | npc/012-5/nicholas.txt | 1 | ||||
-rw-r--r-- | npc/012-6/nurse.txt | 1 | ||||
-rw-r--r-- | npc/012-7/airlia.txt | 1 | ||||
-rw-r--r-- | npc/012-7/celestia.txt | 1 | ||||
-rw-r--r-- | npc/016-1/captain.txt | 1 | ||||
-rw-r--r-- | npc/016-1/laranja.txt | 2 | ||||
-rw-r--r-- | npc/016-1/teraa.txt | 1 | ||||
-rw-r--r-- | npc/017-1/inspector.txt | 56 | ||||
-rw-r--r-- | npc/config/inspector.txt | 145 |
27 files changed, 238 insertions, 54 deletions
diff --git a/npc/012-1/bot.txt b/npc/012-1/bot.txt index 3a6422b76..3e4f941c6 100644 --- a/npc/012-1/bot.txt +++ b/npc/012-1/bot.txt @@ -8,6 +8,7 @@ // Reward: Mouboo Figurine 012-1,82,59,0 script LOFBot NPC_PLAYER,{ + inspectorQuest(); .@q=getq(HurnscaldQuest_LOFPass); if (rand2(1,5) % 2 == 1) { mesn; diff --git a/npc/012-1/dyrinthetraveler.txt b/npc/012-1/dyrinthetraveler.txt index 318ad6ae6..10867809d 100644 --- a/npc/012-1/dyrinthetraveler.txt +++ b/npc/012-1/dyrinthetraveler.txt @@ -5,6 +5,7 @@ // The Travelers travel around the world telling stories. 012-1,119,52,0 script Dyrin The Traveler NPC_M_COINKEEPER,{ + inspectorQuest(); mesn; if (strcharinfo(0) == $MOST_HEROIC$) mesq l("Wow! Are you @@? Everyone, in every city, talks about you!", $MOST_HEROIC$); diff --git a/npc/012-1/guards.txt b/npc/012-1/guards.txt index 45df8c6c0..efd338403 100644 --- a/npc/012-1/guards.txt +++ b/npc/012-1/guards.txt @@ -10,6 +10,7 @@ // The Monster King guild have a special menu if (!$HURNS_LIBDATE && is_master()) goto L_Admus; if (strcharinfo(2) == "Monster King") goto L_MKControl; + inspectorQuest(); mesn; mesq l("It is %s since the last great attack from the Monster King.", FuzzyTime($HURNS_LIBDATE,1,2)); next; @@ -556,6 +557,7 @@ function script CheckpointGuard { } 012-1,81,18,0 script Checkpoint Guard#1 NPC_GUARD2,{ + inspectorQuest(); CheckpointGuard(); end; @@ -567,6 +569,7 @@ OnInit: 012-1,26,60,0 script Checkpoint Guard#2 NPC_GUARD1,{ + inspectorQuest(); CheckpointGuard(); end; @@ -577,6 +580,7 @@ OnInit: } 012-1,80,98,0 script Checkpoint Guard#3 NPC_GUARD2,{ + inspectorQuest(); CheckpointGuard(); end; @@ -588,6 +592,7 @@ OnInit: 012-1,134,98,0 script Checkpoint Guard#4 NPC_GUARD1,{ + inspectorQuest(); CheckpointGuard(); end; @@ -598,6 +603,7 @@ OnInit: } 012-1,94,56,0 script Guard#012-1.1 NPC_GUARD1,{ + inspectorQuest(); .@q=getq(HurnscaldQuest_HungryGuard); if (.@q == 0) { mesn l("Guard"); @@ -631,7 +637,8 @@ OnInit: 012-1,112,65,0 script Guard#012-1.2 NPC_GUARD2,{ - legiontalk; + inspectorQuest(); + legiontalk(); end; OnInit: diff --git a/npc/012-1/gwendolyn.txt b/npc/012-1/gwendolyn.txt index 42953ddf1..c2a30d01a 100644 --- a/npc/012-1/gwendolyn.txt +++ b/npc/012-1/gwendolyn.txt @@ -7,6 +7,7 @@ // Archery Trainer 012-1,88,52,0 script Gwendolyn NPC_BOWMASTER,{ + inspectorQuest(); .@q=getq(HurnscaldQuest_HarkEye); .@fbow=getq(HurnscaldQuest_ForestBow); diff --git a/npc/012-1/hinnak.txt b/npc/012-1/hinnak.txt index 47b019ce7..6f57bc96e 100644 --- a/npc/012-1/hinnak.txt +++ b/npc/012-1/hinnak.txt @@ -5,6 +5,7 @@ // Hurnscald farmer. 012-1,105,30,0 script Hinnak NPC_ORC,{ + inspectorQuest(); .@q1=getq(HurnscaldQuest_Farmers); .@q2=getq2(HurnscaldQuest_Farmers); mesn; diff --git a/npc/012-1/igor.txt b/npc/012-1/igor.txt index dfd9b9bc5..d0767da9a 100644 --- a/npc/012-1/igor.txt +++ b/npc/012-1/igor.txt @@ -5,6 +5,7 @@ // Igor gives the player latest news on the world 012-1,126,59,0 script Igor NPC_JOURNALMAN,{ + inspectorQuest(); Journalman(.name$); OnInit: diff --git a/npc/012-1/jack.txt b/npc/012-1/jack.txt index 9169dc8fc..1283ce299 100644 --- a/npc/012-1/jack.txt +++ b/npc/012-1/jack.txt @@ -7,6 +7,7 @@ // Jack is Hurnscald Lumberjack 012-1,69,93,0 script Jack NPC_LUMBERJACK,{ + inspectorQuest(); .@q1=getq(HurnscaldQuest_ForestBow); //.@q2=getq(HurnscaldQuest_WoodShield); diff --git a/npc/012-1/locamit.txt b/npc/012-1/locamit.txt index c4acd9d7e..bcab93a8e 100644 --- a/npc/012-1/locamit.txt +++ b/npc/012-1/locamit.txt @@ -24,6 +24,7 @@ } + inspectorQuest(); mesn; mesq l("Hi! Do you want a hair cut?"); diff --git a/npc/012-1/luffyx.txt b/npc/012-1/luffyx.txt index d2cb2395a..f4df32525 100644 --- a/npc/012-1/luffyx.txt +++ b/npc/012-1/luffyx.txt @@ -5,6 +5,7 @@ // Hunt mouboos, Summer Quest 012-1,68,74,0 script Luffyx NPC_RAIJIN,{ + inspectorQuest(); .@q=getq(SQuest_Summer); mesn; if (season() == SUMMER) { diff --git a/npc/012-1/mahad.txt b/npc/012-1/mahad.txt index e37cc6902..31679fcdd 100644 --- a/npc/012-1/mahad.txt +++ b/npc/012-1/mahad.txt @@ -9,6 +9,7 @@ // Note: You may get a Grass Carp (worth 100 GP) instead. Bottle is lost? O.o 012-1,117,54,0 script Mahad NPC_PLAYER,{ + inspectorQuest(); mesn; mes l("I can fill your bottle with water for only @@ gp the bottle.", .price); mes l("After all, I am the Well Master!"); diff --git a/npc/012-1/milly.txt b/npc/012-1/milly.txt index 1935858e1..24761da69 100644 --- a/npc/012-1/milly.txt +++ b/npc/012-1/milly.txt @@ -6,14 +6,10 @@ // She controls "World's Hero quest", which is now her MAIN QUEST; // But maybe later she'll get nodes about Khafar etc but not like in TMW // -// Her reward is a Plush Mouboo. Along about 1000 Mouboo Figurines, and whatever -// grand reward for completing Main Storyline, and a mega blaster level at magic, -// and probably within another general quest, YOU CAN SUMMON THE MOUBOOTAUR -// Eh... I think you need all seven Mana Fragments to control it, though. -// Without these fragments, you'll just face the baddest boss fight ever and die -// miserably, because the moubootaur is... well... Simply put... THE MOUBOOTAUR. +// Her reward is a Plush Mouboo. 012-1,111,66,0 script Milly NPC_TEDDYGIRL,{ + inspectorQuest(); .@q=getq(General_Milly); mesn; if (.@q >= 1) mesq lg("Hello my hero!"); @@ -53,32 +49,15 @@ L_Finish: mesn; mesq lg("Wo-wo-wow! You really did it! You're the best!"); next; + inventoryplace PlushMouboo, 1, SupremeGift, 1; + setq General_Milly, 1; + getitem PlushMouboo, 1; + getitem SupremeGift, 1; + // To complete all quests, you need to be at least Lv 95 + getexp 1000000, 16000; + Zeny += 25000; mesn; - mesq l("But the game still is in development, so not every quest was added yet."); - next; - mesn; - mesq l("Do you want to get a reward nonetheless? You will lose @@.", b(l("any planned experience and gold reward."))); - mesc l("Also note that, under team's discretion, all rewards from this quest might be erasen along quest state."); - mesc l("This would mean you might need to complete this quest again in the future."); - next; - // Debug - percentheal 100, 100; - sc_start SC_ATTHASTE_POTION1, 1800000, 30; - /* - mesn; - mesc l("Saulc was here"), 1; - close; - */ - // / Debug - if (askyesno() == ASK_YES) { - mes ""; - inventoryplace PlushMouboo, 1; - setq General_Milly, 1; - getitem PlushMouboo, 1; - getexp 100, 100; // No, not really. - mesn; - mesq lg("Here you go, miss! Thanks for being my hero! <3", "Here you go, mister! Thanks for being my hero! <3"); - } + mesq lg("Here you go, miss! Thanks for being my hero! <3", "Here you go, mister! Thanks for being my hero! <3"); close; L_Feat: @@ -99,8 +78,9 @@ L_Feat: msObjective(EPISODE_WINNER, l("* Impress %s", l("The Doctor"))); msObjective(FORT_1ST_VISIT, l("* Impress %s", l("The Alliance"))); msObjective(MOUBOOTAUR_WINNER, l("* Impress %s", l("Andrei Sakar"))); + msObjective(MK_WINNER, l("* Impress %s", l("the Monster King"))); mes ""; - mesc l("You need to finish at least %d/%d tasks.", 7, 9); + mesc l("You need to finish at least %d/%d tasks.", 9, 10); .@t = 0; if (YETIKING_WINNER) .@t += 1; if (HEROESHOLD_WINNER) .@t += 1; @@ -111,7 +91,8 @@ L_Feat: if (EPISODE_WINNER) .@t += 1; if (FORT_1ST_VISIT) .@t += 1; if (MOUBOOTAUR_WINNER) .@t += 1; - if (.@t >= 7) goto L_Epic; + if (MK_WINNER) .@t += 1; + if (.@t >= 9) goto L_Epic; close; L_Epic: @@ -141,7 +122,8 @@ L_Epic: inventoryplace SunnyCrystal, 1; setq General_Milly, 2; getitem SunnyCrystal, 1; - getexp 100, 100; // No, not really. + // To complete all quests, you need to be at least Lv 95 + getexp 1000000, 16000; mesn; mesq lg("Here you go, miss! Thanks for being my hero! <3", "Here you go, mister! Thanks for being my hero! <3"); } diff --git a/npc/012-1/shoppakep.txt b/npc/012-1/shoppakep.txt index 8c5f4ba17..15b969aab 100644 --- a/npc/012-1/shoppakep.txt +++ b/npc/012-1/shoppakep.txt @@ -5,6 +5,7 @@ // Random Hurnscald Shopper with random overpriced stuff and gifts 012-1,58,64,0 script Shoppa Kep NPC_SHOPPAKEP,{ + inspectorQuest(); mesn; mesq lg("Welcome! Only the finest wares!"); next; diff --git a/npc/012-1/terezin.txt b/npc/012-1/terezin.txt index 82a5d096a..f53295848 100644 --- a/npc/012-1/terezin.txt +++ b/npc/012-1/terezin.txt @@ -6,6 +6,7 @@ // NPC_MONA? 012-1,110,41,0 script Tezzerin NPC_ELVEN_FEMALE_READING,{ + inspectorQuest(); .@q1=getq(HurnscaldQuest_Farmers); .@q2=getq2(HurnscaldQuest_Farmers); if (strcharinfo(0) == $MOST_HEROIC$) mesn; diff --git a/npc/012-2/helena.txt b/npc/012-2/helena.txt index 79e7edd5e..7d73c8fa0 100644 --- a/npc/012-2/helena.txt +++ b/npc/012-2/helena.txt @@ -13,6 +13,7 @@ // q3 -> Bandit Hood Timer 012-2,47,40,0 script Helena NPC_FEMALE,{ + inspectorQuest(); .@q=getq(HurnscaldQuest_Bandits); // Stage 1: Level 30, collect Treasure Key diff --git a/npc/012-2/khafar.txt b/npc/012-2/khafar.txt index 084ac29d1..47ad46e33 100644 --- a/npc/012-2/khafar.txt +++ b/npc/012-2/khafar.txt @@ -14,6 +14,7 @@ 012-2,54,46,2 script Khafar NPC_ORC,{ function MustDrink; + inspectorQuest(); mesc l("You stand before a battle-scarred, darkly tanned warrior, brimming with muscles."); mesc l("Just looking at him you smell danger, adventure, excitement..."); next; diff --git a/npc/012-2/melina.txt b/npc/012-2/melina.txt index ac183a9a6..2deb73e83 100644 --- a/npc/012-2/melina.txt +++ b/npc/012-2/melina.txt @@ -8,11 +8,12 @@ // Controls stock and beer prices 012-2,54,43,0 script Melina NPC_FEMALE,{ + inspectorQuest(); -hello; -npcshopattach(.name$); -shop .name$; -close; + hello(); + npcshopattach(.name$); + shop .name$; + close; OnTimer1000: domovestep; diff --git a/npc/012-3/alan.txt b/npc/012-3/alan.txt index b1a5b0c03..3fb383e19 100644 --- a/npc/012-3/alan.txt +++ b/npc/012-3/alan.txt @@ -5,6 +5,7 @@ // Alan is Hurnscald's bowmaster. He may craft the Forest Bow, and sell ammo. 012-3,44,40,0 script Alan NPC_BOWMASTER,{ + inspectorQuest(); .@q=getq(HurnscaldQuest_ForestBow); .@q2=getq2(HurnscaldQuest_ForestBow); .@q3=getq3(HurnscaldQuest_ForestBow); diff --git a/npc/012-4/wyara.txt b/npc/012-4/wyara.txt index cac765c8a..a118cc647 100644 --- a/npc/012-4/wyara.txt +++ b/npc/012-4/wyara.txt @@ -9,6 +9,7 @@ // Reset must be turned in function 012-4,29,28,0 script Wyara NPC_FEMALE,{ + inspectorQuest(); speech S_LAST_NEXT, l("I am @@, an alchemist specialized in reset potions.", .name$); diff --git a/npc/012-5/nicholas.txt b/npc/012-5/nicholas.txt index 650751f14..6facfcc60 100644 --- a/npc/012-5/nicholas.txt +++ b/npc/012-5/nicholas.txt @@ -20,6 +20,7 @@ // Originals: Setzer, Steel Shield, Chain Mail, Light Platemail, Warlord Plate, Warlord Boots 012-5,36,26,0 script Nicholas NPC_NICHOLAS,{ + inspectorQuest(); goto L_Menu; // blacksmith_header() diff --git a/npc/012-6/nurse.txt b/npc/012-6/nurse.txt index 8e8d9af96..7f95017bb 100644 --- a/npc/012-6/nurse.txt +++ b/npc/012-6/nurse.txt @@ -10,6 +10,7 @@ // Status, Next Attempt Timer 012-6,56,67,6 script Hurnscald's Nurse NPC_FEMALE,{ + inspectorQuest(); .@q2=getq2(HurnscaldQuest_BloodDonor); if (.@q2 > gettimetick(2)) { npctalk3 l("You can donate blood again in %s", FuzzyTime(.@q2)); diff --git a/npc/012-7/airlia.txt b/npc/012-7/airlia.txt index 9b0eaf5ed..7949ab531 100644 --- a/npc/012-7/airlia.txt +++ b/npc/012-7/airlia.txt @@ -14,6 +14,7 @@ // NOTE: Here, 'main storyline' is character story, do not mistake with world main storyline. 012-7,52,58,0 script Airlia NPC_ELF_F,{ + inspectorQuest(); .@q1=getq(HurnscaldQuest_Farmers); .@n = getq(General_Narrator); if (strcharinfo(0) == $MOST_HEROIC$) npctalk3 l("Ah, if it isn't @@? You're the talk of the town!", $MOST_HEROIC$); diff --git a/npc/012-7/celestia.txt b/npc/012-7/celestia.txt index b49b52a8b..a453a062e 100644 --- a/npc/012-7/celestia.txt +++ b/npc/012-7/celestia.txt @@ -8,6 +8,7 @@ 012-7,35,49,0 script Celestia NPC_ELF_F,{ + inspectorQuest(); .@q1=getq(HurnscaldQuest_Celestia); .@q2=getq(HurnscaldQuest_TeaParty); mesn; diff --git a/npc/016-1/captain.txt b/npc/016-1/captain.txt index c6f119817..5421d01a3 100644 --- a/npc/016-1/captain.txt +++ b/npc/016-1/captain.txt @@ -5,6 +5,7 @@ // Temporary, placeholder. 016-1,19,29,0 script Captain NPC_NARD,{ + inspectorQuest(); .@price=410; if (BaseLevel < 20 && !REBIRTH && !countitem(MirrorLakeArmor)) goto L_TooWeak; diff --git a/npc/016-1/laranja.txt b/npc/016-1/laranja.txt index 0693d432f..ebdb02ab8 100644 --- a/npc/016-1/laranja.txt +++ b/npc/016-1/laranja.txt @@ -6,7 +6,7 @@ // Laranja, orange in portuges is a orange dye seller in ship 016-1,25,24,0 script Laranja NPC_FEMALE,{ - + inspectorQuest(); mesn; mesq l("I'm Laranja."); next; diff --git a/npc/016-1/teraa.txt b/npc/016-1/teraa.txt index 3cad0c31f..f94198dde 100644 --- a/npc/016-1/teraa.txt +++ b/npc/016-1/teraa.txt @@ -5,6 +5,7 @@ // Tortuga Renting (var MOUBOO_RENTTIME ) 016-1,32,28,0 script Teraa NPC_ELVEN_MAN_STANDING,{ + inspectorQuest(); TortugaRent(); closeclientdialog; goodbye(); diff --git a/npc/017-1/inspector.txt b/npc/017-1/inspector.txt index f5d010903..ce0bba1ae 100644 --- a/npc/017-1/inspector.txt +++ b/npc/017-1/inspector.txt @@ -15,6 +15,7 @@ if (.@q == 0) goto L_Start; if (.@q == 1) goto L_Arc1; if (.@q == 2) goto L_Arc2; + if (.@q == 3) goto L_Arc3; goto L_Close; L_Start: @@ -59,7 +60,7 @@ L_Arc1: mesq l("Considering the direction they came from, we should check Hurnscald next. Ask them if they saw a squirrel robbing Golden Apples, or anything which could help."); next; mesn; - mesq l("Ah, and you don't need to ask all of them, that would be a real bother. Ask maybe %d, and try to prioritize shop keepers, unless you feel you found a trail. You can also ask inside La Marine.", 7); + mesq l("Ah, and you don't need to ask all of them, that would be a real bother. Ask around, and try to prioritize shop keepers, unless you feel you found a trail. You can also ask inside La Marine."); next; mesn; mesq l("My authority won't do you any good, but we have good relations with Hurnscald so you should have no problem. Good luck, %s!", strcharinfo(0)); @@ -79,30 +80,61 @@ L_Arc1: .@UNDERGROUND_PASS = 32; // Know the route used in Dimond .@RAT_RULEOUT = 64; // Ruled out the possibility of rats .@PORTAL_USE = 128; // Concluded the Portal was used by thief - .@TROUPE_DISGUISE = 256; // Learned about thief run-in with musics (no noise) + .@TROUPE_DISGUISE = 256; // Learned about thief "run-in" with musics .@SCRATCH_EVIDENCE = 512; // Learned about the scratch marks left by thief - if (!(.@q2 & THIEF_DESCRIPTION)) + if (!(.@q2 & .@THIEF_DESCRIPTION)) mesc l("- I don't know how the thief looks like."); - if (!(.@q2 & TIME_OF_THEFT)) + if (!(.@q2 & .@TIME_OF_THEFT)) mesc l("- I don't know when the theft happened."); - if (!(.@q2 & VICTIM_CHEF)) + if (!(.@q2 & .@VICTIM_CHEF)) mesc l("- I don't know the victims of the thievery."); - if (!(.@q2 & UNDERGROUND_PASS)) + if (!(.@q2 & .@UNDERGROUND_PASS)) mesc l("- I don't know how the theft happened."); - if (!(.@q2 & RAT_RULEOUT)) + if (!(.@q2 & .@RAT_RULEOUT)) mesc l("- I don't know the possible culprits for this."); - if (!(.@q2 & PORTAL_USE)) + if (!(.@q2 & .@PORTAL_USE)) mesc l("- I don't know if the thief is from LoF or not."); - if (!(.@q2 & SCRATCH_EVIDENCE)) + if (!(.@q2 & .@SCRATCH_EVIDENCE)) mesc l("- I don't know any supporting evidence from the crome."); } next; goto L_Close; L_Arc2: - mesc l("@@ You need to wait further releases to continue this quest!", b(l("WARNING:"))), 1; + .@q2 = getq2(LoFQuest_Inspector); + if (.@q2 == 63 || .@q2 == 127) { + mesc l("@@ You need to wait further releases to continue this quest!", b(l("WARNING:"))), 1; + } else { + .@LA_MARINE = 1; // Asked around La Marine + .@SHOPKEEPERS = 2; // Asked around shops + .@GUARDS = 4; // Asked to guards or police + .@CIVILIANS = 8; // Asked around to some civilians + .@AUTHORITY = 16; // Asked around to e.g. Airlia or Celeste + .@FARMERS = 32; // Asked around to those in the camps + .@p = bitmask_count(.@q2); + // Kfahr correction + if (.@q2 & 64) + .@p -= 1; + mesn; + mesq l("Keep investigating. You've talked to %d/%d groups in Hurnscald thus far.", .@p, 6); + if (!(.@q2 & .@LA_MARINE)) + mesc l("- Please collect reports from La Marine."); + if (!(.@q2 & .@SHOPKEEPERS)) + mesc l("- Please collect reports from the shop keepers."); + if (!(.@q2 & .@GUARDS)) + mesc l("- Please collect reports from the guards and police."); + if (!(.@q2 & .@CIVILIANS)) + mesc l("- Please collect reports from the civilians."); + if (!(.@q2 & .@AUTHORITY)) + mesc l("- Please collect reports from Hurnscald authorities."); + if (!(.@q2 & .@FARMERS)) + mesc l("- Please collect reports from the farmers."); + } next; - if (!is_staff()) goto L_Close; // FIXME + goto L_Close; + +L_Arc3: + if (!is_staff()) end; //... // ... ... ... ...... mesn; @@ -113,6 +145,8 @@ L_Arc2: next; mesn; mesq l("But be careful, they won't like an inspector snooping there."); + getexp 60000, 600; + setq LoFQuest_Inspector, 3, 0; next; goto L_Close; diff --git a/npc/config/inspector.txt b/npc/config/inspector.txt index b165e4a1c..b0665bc33 100644 --- a/npc/config/inspector.txt +++ b/npc/config/inspector.txt @@ -14,6 +14,7 @@ function script inspectorQuest { // Check if you are in the right map for the right stage to go if (compare(getmap(), "017") && .@q == 1) .@go=true; if (compare(getmap(), "012") && .@q == 2) .@go=true; + if (compare(getmap(), "016") && .@q == 2) .@go=true; if (compare(getmap(), "009") && .@q == 3) .@go=true; // If you're not, return. Otherwise, ask the question. if (!.@go) return; @@ -25,8 +26,8 @@ function script inspectorQuest { return; } /* - // Stage 1: (24+6 = 30 NPCs) - // Stage 2: TODO + // Stage 1: (24+6 = 30 NPCs) (10 Nodes) + // Stage 2: (25+8 = 33 NPCs) ( 6 Nodes) /////////////////////////////// */ mes ""; @@ -43,6 +44,14 @@ function script inspectorQuest { .@TROUPE_DISGUISE = 256; // Learned about thief run-in with musics (no noise) .@SCRATCH_EVIDENCE = 512; // Learned about the scratch marks left by thief // Stage 2 - Hurnscald + .@LA_MARINE = 1; // Asked around La Marine + .@SHOPKEEPERS = 2; // Asked around shops + .@GUARDS = 4; // Asked to guards or police + .@CIVILIANS = 8; // Asked around to some civilians + .@AUTHORITY = 16; // Asked around to e.g. Airlia or Celeste + .@FARMERS = 32; // Asked around to those in the camps + .@KHAFAR = 64; // Bonus, not necessary + // Stage 3 - Halinarzo // TODO /////////////////////////////// // All NPCs list @@ -86,7 +95,7 @@ function script inspectorQuest { mesn; mesq l("About the scratch marks? I can give you a file about them. We didn't paid much mind to it, they're likely caused by a small animal such as a squirrel, a fox, a cat, or a dog."); setq2 LoFQuest_Inspector, .@q2 | .@SCRATCH_EVIDENCE; - } else if (compare(.@npc$, "Guard")) { + } else if (getmap() == "017-1" && compare(.@npc$, "Guard")) { // List some excluded NPCs. Could use miller rand to be predictable but... mesn; mesq l("I know nothing about the robberies, sorry."); @@ -333,6 +342,136 @@ function script inspectorQuest { mesn; mesq l("The trick is figuring out which kind of cheese was stolen. Once you know that, I guess either Ace Ventura or Erik could help you to thin out the list."); setq2 LoFQuest_Inspector, .@q2 | .@VICTIM_LAB; + // Second Phase - 012 and 016 (22+8 NPCs) (+3 in La Marine) + } else if (.@npc$ == "LOFBot") { + mesn; + mesq l("I would love to help my friends from the Land of Fire, but... I've seen no such thing."); + setq2 LoFQuest_Inspector, .@q2 | .@CIVILIANS; + } else if (.@npc$ == "Dyrin The Traveler") { + mesn; + mesq l("While I can totally believe a squirrel robbing cheese, the \"and it left a golden apple\" is complete madness. Stop wasting my time."); + setq2 LoFQuest_Inspector, .@q2 | .@CIVILIANS; + } else if (.@npc$ == "Lieutenant Paul") { + mesn; + mesq l("While Hurnscald Guard and Police would love to cooperate in an official investigation from the Land of Fire, we neither saw nor heard about such thing. You can ask %s or the other guards, but I believe the answer will be the same.", l("Helena")); + setq2 LoFQuest_Inspector, .@q2 | .@GUARDS; + } else if (.@npc$ == "Helena") { + mesn; + mesq l("While Hurnscald Guard and Police would love to cooperate in an official investigation from the Land of Fire, we neither saw nor heard about such thing. You can ask %s or the other guards, but I believe the answer will be the same.", l("Lieutenant Paul")); + setq2 LoFQuest_Inspector, .@q2 | .@GUARDS; + } else if (getmap() == "012-1" && compare(.@npc$, "Guard")) { + mesn; + mesq l("Hurnscald Guard and Police will obviously cooperate with the Land of Fire authorities by reporting that, to the best of our knowledge, no such thing was seen in Hurnscald."); + setq2 LoFQuest_Inspector, .@q2 | .@GUARDS; + } else if (.@npc$ == "Gwendolyn") { + mesn; + mesq l("I'm no fool. I always see squirrels robbing the unaware. Sometimes they steal cheese dropped in the ground. But nothing like you want me to believe."); + setq2 LoFQuest_Inspector, .@q2 | .@CIVILIANS; + } else if (.@npc$ == "Igor") { + mesn; + mesq l("Oh, please, I don't publish lies in my news! Come with a more convincing lie next time you want to appear in the newspaper!"); + setq2 LoFQuest_Inspector, .@q2 | .@CIVILIANS; + } else if (.@npc$ == "Jack") { + mesn; + mesq l("I've seen living wood, but not smart animals doing such ridiculous journey to play a prank. Unless you are the animal doing the prank here?"); + setq2 LoFQuest_Inspector, .@q2 | .@CIVILIANS; + } else if (.@npc$ == "Locamit") { + mesn; + mesq lg("Don't be ridiculous. Extraordinary claims require extraordinary proof, anyway. Now go away, you liar."); + setq2 LoFQuest_Inspector, .@q2 | .@CIVILIANS; + } else if (.@npc$ == "Luffyx") { + mesn; + mesq l("The summer sun must be playing tricks on your head, my friend. I know of no such thing, and I've been on watch all day long."); + setq2 LoFQuest_Inspector, .@q2 | .@CIVILIANS; + } else if (.@npc$ == "Milly") { + mesn; + mesq lg("It's not good to lie, miss.", "It's not good to lie, mister."); + setq2 LoFQuest_Inspector, .@q2 | .@CIVILIANS; + } else if (.@npc$ == "Hurnscald's Nurse") { + mesn; + mesq l("For hallucinations I'll suggest... this injection here. Heya!"); + mesc l("Ouch!"); + setq2 LoFQuest_Inspector, .@q2 | .@CIVILIANS; + percentheal -5, -10; + } else if (.@npc$ == "Hinnak") { + mesn; + mesq l("I only saw... Yes you can tell... I ONLY SAW PINKIES! And they weren't stealing some foreigner garbage, but MY CROPS! One day, I swear one day I'll get rid of them!"); + setq2 LoFQuest_Inspector, .@q2 | .@FARMERS; + } else if (.@npc$ == "Tezzerin") { + mesn; + mesq l("Oh my, and I thought ye young'uns were immune to dementia... There are only Pinkies around here, child."); + setq2 LoFQuest_Inspector, .@q2 | .@FARMERS; + } else if (.@npc$ == "Mahad") { + mesn; + mesq l("There was no \"smart small animal\" trying to purchase anything here. But if I may, drinking water may help your eyesight! I can make a promotion for you."); + setq2 LoFQuest_Inspector, .@q2 | .@SHOPKEEPERS; + } else if (.@npc$ == "Shoppa Kep") { + mesn; + mesq l("There was no \"smart small animal\" trying to purchase anything here. But if I may, these cotton shirts can do wonders to your lack of fashion! I can make a promotion for you."); + setq2 LoFQuest_Inspector, .@q2 | .@SHOPKEEPERS; + } else if (.@npc$ == "Alan") { + mesn; + mesq l("There was no \"smart small animal\" trying to purchase anything here. But if I may interest you in a new bow, you might be able to hunt them down! I can make a promotion for you."); + setq2 LoFQuest_Inspector, .@q2 | .@SHOPKEEPERS; + } else if (.@npc$ == "Nicholas") { + mesn; + mesq l("There was no \"smart small animal\" trying to purchase anything here. But if I may interest you in a new dagger or short sword, you might be able to hunt them down! I can make a promotion for you."); + setq2 LoFQuest_Inspector, .@q2 | .@SHOPKEEPERS; + } else if (.@npc$ == "Wyara") { + mesn; + mesq l("There was no \"smart small animal\" trying to purchase anything here. But if I may reset your stats, you might be able to raise your intelligence to don't be fooled with such fairy tales! I can make a promotion for you."); + setq2 LoFQuest_Inspector, .@q2 | .@SHOPKEEPERS; + } else if (.@npc$ == "Airlia") { + mesn; + mesq l("We had bandits targeting the bar, but I can assure it is unrelated to your current case."); + next; + mesn; + mesq l("I can ask the guards to be on lookout, but... Well, while squirrels are known for stealing things, what you imply is too far fetched. Weren't you a LoF official, I would likely have thrown you out the door for wasting my time."); + next; + mesn; + mesq l("So rest assured, what craziness is happening at Land of Fire has nothing to do with Hurnscald."); + setq2 LoFQuest_Inspector, .@q2 | .@AUTHORITY; + } else if (.@npc$ == "Celestia") { + mesn; + mesq l("Well, we all know Lalica is a powerful witch from the Land of Fire, are you sure she isn't involved?"); + next; + mesn; + mesq l("Because your story is as crazy as Pyndragon's inventions, like staffs which shot or staffs which glow. Regardless of whatever he dubbed both."); + next; + mesn; + mesq l("In any case, rest assured the craziness is likely contained to the Land of Fire and we'll let you know if this changes."); + setq2 LoFQuest_Inspector, .@q2 | .@AUTHORITY; + } else if (.@npc$ == "Captain") { + mesn; + mesq l("Lots of pet owners bring their animals for a ride, but unlike old Nard, we verify for stoaways often. So if it was a pet, it definitely had an owner."); + next; + mesn; + mesq l("All pets are also capable of looting items and dropping items as well. I'm repeating this because I know if you truly came from LoF, then you certainly talked with Ace Ventura and know it couldn't have been a pet."); + next; + mesn; + mesq l("So whoever stole Dimond's Cove did not use my ship, of that much I can assure you."); + setq2 LoFQuest_Inspector, .@q2 | .@LA_MARINE; + } else if (.@npc$ == "Laranja") { + mesn; + mesq l("I've been looking around all day and night to sell my father's %s, so I remember roughly everyone who have been on this ship.", getitemlink(OrangeDye)); + next; + mesn; + mesq l("And I can say no one matching your description was here today or yesterday or the day before. Sorry."); + setq2 LoFQuest_Inspector, .@q2 | .@LA_MARINE; + } else if (.@npc$ == "Teraa") { + mesn; + mesq l("Sorry, I only have interest in Tortugas, so I didn't paid any attention. Speaking on which... are you interested in renting one?"); + } else if (.@npc$ == "Melina") { + mesn; + mesq l("Sorry, I was busy bringing drinks all day. Well, given your story, you're clearly drunk, but given how out of it you are, I'll advise drinking our %s instead. I promise it'll have less collateral effects than whatever you had!", getitemlink(Beer)); + } else if (.@npc$ == "Khafar") { + mesn; + mesq l("HAHAHAHAH, that's a nice story! Really funny, too! I really should buy you a beer for the excellent story."); + if (!(.@q2 & .@KHAFAR)) { + inventoryplace Beer, 1; + setq2 LoFQuest_Inspector, .@q2 | .@KHAFAR; + getitem Beer, 1; + } } else { Exception(sprintf("Oops, unhandled NPC at investigation (typo)! %s was not found on stage %d <= report this!", .@npc$, .@q), RB_SPEECH|RB_PLEASEREPORT); } |