diff options
author | Fedja Beader <fedja@protonmail.ch> | 2025-01-11 21:05:35 +0000 |
---|---|---|
committer | Jesusalva Jesusalva <jesusalva@tmw2.org> | 2025-01-11 21:05:35 +0000 |
commit | a8ab218df36032213e4fbf228385f35cc9269662 (patch) | |
tree | fdaee24a04e246af6926e5ed5db531d626a70b76 | |
parent | a5fe71dce720b541d406fbe212fb0e2948295e61 (diff) | |
download | serverdata-a8ab218df36032213e4fbf228385f35cc9269662.tar.gz serverdata-a8ab218df36032213e4fbf228385f35cc9269662.tar.bz2 serverdata-a8ab218df36032213e4fbf228385f35cc9269662.tar.xz serverdata-a8ab218df36032213e4fbf228385f35cc9269662.zip |
various improvements in Eugene's code and language
Still don't like that he repeats himself for each daily quest step.
untested.
* More rewrite
* Fix error
* various improvements in Eugene's code and language
****
Approved-by: Jesusalva Jesusalva <jesusalva@tmw2.org>
-rw-r--r-- | npc/003-1/eugene.txt | 97 |
1 files changed, 50 insertions, 47 deletions
diff --git a/npc/003-1/eugene.txt b/npc/003-1/eugene.txt index 4891dc0e5..008732302 100644 --- a/npc/003-1/eugene.txt +++ b/npc/003-1/eugene.txt @@ -29,20 +29,21 @@ l("So in a hurry, I forgot to take enough bait for fishing."), lg("Be a friend and bring me @@ @@.", "Be a friend and bring me @@ @@.", .BaitCount, getitemlink(.BaitID)); - switch (select(l("I'll be back in no time."), - l("Sorry, I'm doing other things at the moment."))) - { - case 1: - setq TulimsharQuests_Fishman, 1; - speech S_FIRST_BLANK_LINE, - l("Thank you. I'll wait here."); - next; - mesc l("Protip: @@ are dropped by @@. That monster helps each other, so don't attack when they are in packs.", getitemlink(.BaitID), getmonsterlink(LittleBlub)); - close; - case 2: - speech S_FIRST_BLANK_LINE, - l("But I'm almost out of @@...", getitemlink(.BaitID)); - close; + switch ( + select(l("I'll be back in no time."), + l("Sorry, I'm doing other things at the moment."))) { + case 1: + setq TulimsharQuests_Fishman, 1; + speech S_FIRST_BLANK_LINE, + l("Thank you. I'll wait here."); + next; + mesc l("Protip: %s are dropped by %s. Those monsters help each other, so don't attack them when they are in packs.", + getitemlink(.BaitID), getmonsterlink(LittleBlub)); + close; + default: + speech S_FIRST_BLANK_LINE, + l("But I have no %s... %%J", getitemlink(.BaitID)); + close; } L_CheckItems: @@ -54,6 +55,8 @@ L_CheckItems: close; } + inventoryplace FishingRod, 1, FishingGuideVolI, 1; + speech l("That's exactly what I needed!"), l("To thank you, accept my old fishing rod."), @@ -72,13 +75,6 @@ L_CheckItems: close; L_QuestDone: - // Time check/fix - .@q3=getq3(TulimsharQuests_Fishman); - if (.@q3 < gettimeparam(GETTIME_DAYOFMONTH)) - setq TulimsharQuests_Fishman, 2, 0, gettimeparam(GETTIME_DAYOFMONTH); - - .@maxcarps=1+(BaseLevel/8); - .@q2=getq2(TulimsharQuests_Fishman); // Idea for future: Eugene telling fishman jokes. speech l("Ahoy, @@!", strcharinfo(0)), @@ -89,33 +85,36 @@ L_QuestDone: l("Actually, I have bad luck. Could you sell me a box full of fresh fish?"); switch (@menu) { - case 1: - if (.@q2 < .@maxcarps) - goto L_Sidequest; - speech S_FIRST_BLANK_LINE, - l("Glad to hear. I swear, the fish I picked before you arrive was THAT big!"); - close; - case 2: - speech S_FIRST_BLANK_LINE, - l("Earlier I hadn't any, but now that I have the baits, I will be glad to sell some to you!"); - npcshopattach(.name$); - openshop; - closedialog; + case 1: + .@q3 = getq3(TulimsharQuests_Fishman); + // Time check/fix + if (.@q3 < gettimeparam(GETTIME_DAYOFMONTH)) + setq TulimsharQuests_Fishman, 2, 0, gettimeparam(GETTIME_DAYOFMONTH); + + .@maxCarps = 1 + (BaseLevel/8); + .@q2 = getq2(TulimsharQuests_Fishman); + if (.@q2 < .@maxCarps) { + mesn; + mesq l("Maybe I'm using a too low quality bait, I can't catch a %s.", getitemlink(GrassCarp)); + next; + + goto L_Sidequest; + } + + speech S_FIRST_BLANK_LINE, + l("Glad to hear. I swear, the fish I picked before you arrived was THAT big!"); + break; + default: + speech S_FIRST_BLANK_LINE, + l("Earlier I hadn't any, but now that I have the baits, I will be glad to sell some to you!"); + npcshopattach(.name$); + openshop; + closedialog; } close; -L_Sidequest2: - mesn; - mesc l("Eugene bows politely, but he thinks he can use more."); - goto L_SidequestSub; - L_Sidequest: mesn; - mesq l("Maybe I'm using a too low quality bait, I can't fish %s.", getitemlink(GrassCarp)); - next; - -L_SidequestSub: - mesn; mesq l("I offer you %d GP for one. What do you say?", .SuperPrice); if (!countitem(GrassCarp)) close; @@ -123,12 +122,16 @@ L_SidequestSub: close; delitem GrassCarp, 1; Zeny+=.SuperPrice; - setq2 TulimsharQuests_Fishman, .@q2+1; - .@q2=getq2(TulimsharQuests_Fishman); + + .@q2 += 1; + setq2 TulimsharQuests_Fishman, .@q2; // Maybe you can repeat, if so, do this immediately - if (.@q2 < .@maxcarps) - goto L_Sidequest2; + if (.@q2 < .@maxCarps) { + mesn; + mesc l("Eugene bows politely, but he thinks he can use more."); + goto L_Sidequest; + } // Maxed for the day, give you a hint mesn; |