diff options
author | +seeds <abby.hulka@gmail.com> | 2024-02-10 13:23:44 -0300 |
---|---|---|
committer | Jesusalva Jesusalva <jesusalva@tmw2.org> | 2024-06-02 01:06:07 +0000 |
commit | 321107bf5f83511e578b57cf49e3f2329621523c (patch) | |
tree | eb194d8a5b7171b6e0668fdfcc6c2c13be0acb82 | |
parent | 99289633c4f5a06b79cfc0b32433092731fc06f5 (diff) | |
download | serverdata-321107bf5f83511e578b57cf49e3f2329621523c.tar.gz serverdata-321107bf5f83511e578b57cf49e3f2329621523c.tar.bz2 serverdata-321107bf5f83511e578b57cf49e3f2329621523c.tar.xz serverdata-321107bf5f83511e578b57cf49e3f2329621523c.zip |
Piou isles: Glim quest, and a couple cosmetic NPCs
Co-Authored-By: +seeds <abby.hulka@gmail.com>
Co-Authored-By: Sean Hulka <sean.hulka@gmail.com>
Co-Authored-By: Jesusaves <jesusalva@tmw2.org>
-rw-r--r-- | db/constants.conf | 2 | ||||
-rw-r--r-- | db/quest_db.conf | 16 | ||||
-rw-r--r-- | npc/006-0/core.txt | 1 | ||||
-rw-r--r-- | npc/006-2-1/_import.txt | 1 | ||||
-rw-r--r-- | npc/006-2-1/glim.txt | 71 | ||||
-rw-r--r-- | npc/006-2-5/_import.txt | 2 | ||||
-rw-r--r-- | npc/006-2-5/dusk.txt | 94 | ||||
-rw-r--r-- | npc/006-2-5/reed.txt | 101 |
8 files changed, 287 insertions, 1 deletions
diff --git a/db/constants.conf b/db/constants.conf index d5d98bd16..2eab12e71 100644 --- a/db/constants.conf +++ b/db/constants.conf @@ -1875,7 +1875,7 @@ constants_db: { NPC_PIOU_MAGE: 266 NPC_PIOU_QUEEN: 267 NPC_PIOU_KNIGHT_L: 268 - NPC_PIOU_KNIGHT_R: 260 + NPC_PIOU_KNIGHT_R: 269 NPC_PIOU_ALCHEMIST: 270 NPC_DUCK_ELDER: 271 NPC_GUINEVERE: 272 diff --git a/db/quest_db.conf b/db/quest_db.conf index 0ca18036c..e717171a8 100644 --- a/db/quest_db.conf +++ b/db/quest_db.conf @@ -569,6 +569,22 @@ quest_db: ( Id: 254 Name: "LilitQuest_Raify" }, +{ + Id: 255 + Name: "LilitQuest_Glim" +}, +{ + Id: 256 + Name: "LilitQuest_PiouChef" +}, +{ + Id: 257 + Name: "LilitQuest_Hatchling" +}, +{ + Id: 258 + Name: "LilitQuest_Pouf" +}, // ID 270 to 299: Land Of Fire Quests { diff --git a/npc/006-0/core.txt b/npc/006-0/core.txt index 4714a5190..191044837 100644 --- a/npc/006-0/core.txt +++ b/npc/006-0/core.txt @@ -8,6 +8,7 @@ OnTouch: if (CRAZYPOINTS < 3) goto L_Reject; // FIXME /* TODO: Piou Isles Arc */ + if (!getq2(Lilitquest_Glim)) goto L_Reject; // FIXME lame hack if (getq(General_Narrator) < 3) goto L_Reject; // Tulimshar Arc must be finished specialeffect(5000, SELF, getcharid(3)); diff --git a/npc/006-2-1/_import.txt b/npc/006-2-1/_import.txt index d5dc0758e..a29668d14 100644 --- a/npc/006-2-1/_import.txt +++ b/npc/006-2-1/_import.txt @@ -3,6 +3,7 @@ "npc/006-2-1/_mobs.txt", "npc/006-2-1/_warps.txt", "npc/006-2-1/chirp.txt", +"npc/006-2-1/glim.txt", "npc/006-2-1/lune.txt", "npc/006-2-1/miltaco.txt", "npc/006-2-1/plum.txt", diff --git a/npc/006-2-1/glim.txt b/npc/006-2-1/glim.txt new file mode 100644 index 000000000..414232888 --- /dev/null +++ b/npc/006-2-1/glim.txt @@ -0,0 +1,71 @@ +// TMW2 scripts. +// Authors: +// Jesusalva +// +seeds +// Description: +// Daily quest to exchange Tolchi Arrow Boxes for a small amount of gp and exp +// Variables: +// $GLIM_ST +// How many Tolchi Arrow Boxes were given +// q1 +// Controls your own progress helping Glim - Items today +// q2 +// Controls your own progress helping Glim - Your timer + +006-2-1,82,28,0 script Glim NPC_PIOU_VIKING,{ + +L_Loop: + .@q1=getq(LilitQuest_Glim); + .@q2=getq2(LilitQuest_Glim); + mesn; + mesq l("Argh, I've run out o' arrows! Say, ye don't have any I could use, do ye? I only got %s...", fnum($GLIM_ST)); + next; + if (.@q2 < $@GLIM_QTIMER) { + setq1 Lilitquest_Glim, 0; + setq2 Lilitquest_Glim, $@GLIM_QTIMER; + } + + // Daily limit reached + .@q1=getq1(Lilitquest_Glim); + if (.@q1 >= (BaseLevel-17)/3) goto L_Timer; + select + rif(countitem(TolchiAmmoBox), l("Give Glim a %s"), getitemname(TolchiAmmoBox)), + l("Maybe later."); + mes ""; + + switch (@menu) { + case 1: + delitem TolchiAmmoBox, 1; + getexp 64, 0; + Zeny+=150; + break; + case 2: + close; + break; + } + $GLIM_ST+=1; + setq1 Lilitquest_Glim, .@q1+1; + goto L_Loop; + +L_Timer: + if (BaseLevel < 10) { + mesq l("Wait a minute! I ain't trustin' a weakling like ye fer good arrows!"); + mesn; + mesq l("Come back when ye've grown sum muscles."); + close; + } + mesn; + mesq l("I'm all stocked up now, thanks to ye. Come back in @@ and ye might be able to help me again.", FuzzyTime($@GLIM_TIMER+(60*60*24),2,2)); + close; + +OnInit: + .sex=G_OTHER; + .distance=5; + // No end; on purpose + +OnHour00: + $@GLIM_QTIMER=gettimeparam(GETTIME_DAYOFMONTH); + $@GLIM_QTIMER=gettimetick(2); + end; + +} diff --git a/npc/006-2-5/_import.txt b/npc/006-2-5/_import.txt index 7a07b21fb..686360a41 100644 --- a/npc/006-2-5/_import.txt +++ b/npc/006-2-5/_import.txt @@ -2,3 +2,5 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. "npc/006-2-5/_mobs.txt", "npc/006-2-5/_warps.txt", +"npc/006-2-5/dusk.txt", +"npc/006-2-5/reed.txt", diff --git a/npc/006-2-5/dusk.txt b/npc/006-2-5/dusk.txt new file mode 100644 index 000000000..5982ced8f --- /dev/null +++ b/npc/006-2-5/dusk.txt @@ -0,0 +1,94 @@ +// TMW-2 scripts. +// Original Authors: Hal9000 & Qwerty Dragon +// TMW-2 Authors: +// +seeds +// dangerduck +// Description: +// Piou captain who gives information about the war, and the piou queen. + +006-2-5,36,25,0 script Captain Dusk NPC_PIOU_KNIGHT_R,{ + function duskHello; + function duskAboutQueen; + function duskAboutWar; + .@q=getq(LilitQuest_Pouf); + + if (.@q <= 2) + { + .@r = rand2(3); + if (.@r == 0) + { + npctalk3 l("Don't think you'll sneak anything by me. I'm watching you..."); + } + else if (.@r == 1) + { + npctalk3 l("I don't tolerate a piou, or %s, who is afraid of hard work.", get_race()); + } + else + { + npctalk3 l("Best steer clear of the Princess, %s. It won't go well if you upset her.", strcharinfo(0)); + } + } + else if (.@q == 3) + { + duskHello(); + } + close; + +function duskHello { + mesn; + mesq l("Welcome to the Order of the Piou Knights, %s.", strcharinfo(0)); + next; + select + l("Where is the Piou Queen?"), + l("How is the war going?"), + l("I just wanted to say hi."); + mes ""; + switch (@menu) { + case 1: + duskAboutQueen(); + break; + case 2: + duskAboutWar(); + break; + case 3: + close; + break; + } + return; +} + +function duskAboutQueen { + mesn; + mesq l("Queen +seeds of Piou Isles is busy coordinating war efforts at the front."); + next; + mesn; + mesq l("She's a fierce piou, leading our troops into the heart of each battle. I admire her bravery."); + next; + mesn; + mesq l("Princess Pouf has been given leadership until our Queen returns. Should Queen +seeds perish, Princess Pouf will take the crown."); + next; + mesn; + mesq l("Fight bravely and well, %s, and perhaps our Queen will survive to return to her beloved Isles.", strcharinfo(0)); + return; +} + +function duskAboutWar { + mesn; + mesq l("So far neither the Duck Side or the Piou Knights have gained the upper hand in the war."); + next; + mesn; + mesq l("However, our mages have recently sensed something dark stirring."); + next; + mesn; + mesq l("I fear something terrible is rising, and I do not know if we can weather the coming storm."); + next; + mesc l("The captain falls quiet, and appears to be lost in thought."); + next; + return; +} + +OnInit: + .sex = G_OTHER; + .distance = 4; + end; +} diff --git a/npc/006-2-5/reed.txt b/npc/006-2-5/reed.txt new file mode 100644 index 000000000..6eb2fa26a --- /dev/null +++ b/npc/006-2-5/reed.txt @@ -0,0 +1,101 @@ +// TMW-2 scripts. +// Original Authors: Hal9000 & Qwerty Dragon +// TMW-2 Authors: +// +seeds +// dangerduck +// Description: +// Piou captain who gives information about shrewboo mounts and the Piou Knights. + +006-2-5,40,25,0 script Captain Reed NPC_PIOU_KNIGHT_L,{ + function reedHello; + function reedAboutKnights; + function reedAboutShrewboos; + .@q=getq(LilitQuest_Pouf); + + if (.@q <= 2) + { + .@r = rand2(3); + if (.@r == 0) + { + npctalk3 l("This is no place for a weakling like you. I suggest you leave."); + } + else if (.@r == 1) + { + npctalk3 l("Allowing you to remain on our Isles is dangerous. Tread carefully, %s.", get_race()); + } + else + { + npctalk3 l("I'll be keeping an eye on you, %s. Don't make trouble.", strcharinfo(0)); + } + } + else if (.@q == 3) + { + reedHello(); + } + close; + +function reedHello { + mesn; + mesq l("Do you need assistance, Knight %s?", strcharinfo(0)); + next; + select + l("What can you tell me about the Piou Knights?"), + l("Why do Piou Knights need mounts if they can fly?"), + l("I just wanted to say hi."); + mes ""; + switch (@menu) { + case 1: + reedAboutKnights(); + break; + case 2: + reedAboutShrewboos(); + case 3: + // fallthrough + break; + } + return; +} + +function reedAboutKnights { + mesn; + mesq l("The Order of Piou Knights was originally created as a defense against hunters from the humanoid races."); + next; + mesn; + mesc l("Our Order stopped the hunters from harming any piou on Piou Isles, but it could not do anything for the pious who refused to live here."); + next; + mesn; + mesq l("We grew in strength and knowledge over time, and dedicated ourselves to upholding justice and peace on the Isles, and in the world."); + next; + mesn; + mesq l("When the ducks joined the Moubootaur and created the Duck Side, our convictions and oaths to the Order ensured we would oppose them."); + next; + mesn; + mesc l("The humanoid races do not consider ducks or pious to be a threat, thus we are the only line of defense against the Duck Side."); + next; + mesn; + mesq l("Remember that, %s. You dedicated yourself to the Order of Piou Knights, and you are now sworn to oppose the Duck Side.", strcharinfo(0)); + next; + return; +} + +function reedAboutShrewboos { + mesn; + mesq l("Our warriors are burdened with strong, yet heavy, armor."); + next; + mesn; + mesc l("Due to this detriment to our speed and ability to fly, we started training shrewboos as mounts."); + next; + mesn; + mesq l("Over time, we improved our training, and our warboos are now extremely efficient fighting steeds."); + next; + mesn; + mesq l("They also give Piou Knights a much needed speed boost against the ducks, who are naturally fast."); + next; + return; +} + +OnInit: + .sex = G_OTHER; + .distance = 4; + end; +} |