summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--db/quest_db.conf4
-rw-r--r--npc/019-4-1/chief.txt37
-rw-r--r--npc/019-4-1/golbarez.txt44
-rw-r--r--npc/022-1/gift_collector.txt1
4 files changed, 83 insertions, 3 deletions
diff --git a/db/quest_db.conf b/db/quest_db.conf
index 127cf603f..086fe81b8 100644
--- a/db/quest_db.conf
+++ b/db/quest_db.conf
@@ -348,6 +348,10 @@ quest_db: (
Id: 307
Name: "SQuest_XmasCollector"
},
+{
+ Id: 308
+ Name: "SQuest_Christmas"
+},
// ID 400+: Event Quests
{
diff --git a/npc/019-4-1/chief.txt b/npc/019-4-1/chief.txt
index e826e4ebb..bc6dba434 100644
--- a/npc/019-4-1/chief.txt
+++ b/npc/019-4-1/chief.txt
@@ -10,10 +10,47 @@
//
// Rewards: Santa Hat, Gnome Hat, Santa Bearded Hat, Ugly Christmas Sweater,
// Turtle Neck Sweater, Santa Globe, Snowman Globe, Red Stocking.
+//
+// SQuest_Christmas
+// Current Year
+// Boxes Delivered
+// Money Sponsored
+//
+// $XMAS_GIFTS
+// World-wide collected gifts count.
019-4-1,56,33,0 script Christmas Chief NPC_GNOME_A,{
+ // Last year
+ if (getq3(SQuest_Christmas) == gettime(GETTIME_YEAR)-1)
+ goto L_Reward;
+ // Not on season
+ if ($EVENT$ != "Christmas")
+ goto L_OutOfSeason;
+ // Start Event for the first time
+ if (getq3(SQuest_Christmas) < gettime(GETTIME_YEAR))
+ setq SQuest_Christmas, 1, 0, gettime(GETTIME_YEAR);
+ // Main Loop
+ goto L_Main;
+
+L_OutOfSeason:
+ mesn;
+ mesq l("This workshop doesn't gets too many tasks from Santa outside the Christmas...");
+ close;
+
+// TODO Reward
+L_Reward:
+ mesn;
+ mesc l("Hey hey, how can you finish a quest which never started in first place?"), 1;
+ setq SQuest_Christmas, 0, 0, 0;
+ close;
+
+L_Main:
+ .@q=getq2(SQuest_Christmas);
mesn;
mesq l("The stolen empty boxes!! Christmas is RUINED!!!");
+ next;
+ mesn;
+ mesq l("We only managed to recover @@ thus far...", $XMAS_GIFTS);
close;
OnInit:
diff --git a/npc/019-4-1/golbarez.txt b/npc/019-4-1/golbarez.txt
index 3cc343d79..326c1e550 100644
--- a/npc/019-4-1/golbarez.txt
+++ b/npc/019-4-1/golbarez.txt
@@ -3,12 +3,50 @@
// TMW-LoF Team
// Jesusalva
// Description:
-// Permanently repeatable quest, without any special limit
-// NPC_GNOME_ABC NPC_LOF_RICH
+// Christmas quest. ported from 2010 and adapted for TMW2:ML.
+// Original Name: Golbenez
019-4-1,30,45,0 script Golbarez NPC_LOF_RICH,{
+ if ($EVENT$ != "Christmas")
+ goto L_OutOfSeason;
+ goto L_Main;
+
+L_OutOfSeason:
+ mesn;
+ if (rand(1,2) == 1)
+ mesq l("AAH! You scared me!");
+ else
+ mesq l("Land Of Fire is a place so warm... Although this workshop is a better place to break time and space during Christmas.");
+ close;
+
+L_Main:
+ if (getq(SQuest_Christmas) != gettime(GETTIME_YEAR)) {
+ mesn;
+ mesq l("Please talk with this workshop Chief before talking to me.");
+ close;
+ }
+ .@q=getq3(SQuest_Christmas);
+ mesn;
+ mesq l("Mortal! I am @@! I have broken through the barriers of space and time!", .name$);
+ mesq l("I want to keep breaking them, until I find the paradise! Thus far, I only found the Land Of Fire!");
+ next;
+ mesn;
+ mesq l("I need millions of GP to fund my time-space shattering, and thus far, I've only collected @@ GP.", $XMAS_MONEY);
+ mesq l("If you sponsor me, while I break into more dimensions, I'll give you any stuff I find. Hey, they could be rare here!");
+ next;
+ mesc l("Sponsor @@ in how much GP?", .name$);
+ input .@count;
+ mes "";
+ if (Zeny < .@count) {
+ mesn;
+ mesq l("Don't try to trick me, this attracts bad karma! You could get stolen on Christmas! Seriously, this has happened before!");
+ close;
+ }
+ Zeny=Zeny-.@count;
+ $XMAS_MONEY+=.@count;
+ setq3 SQuest_Christmas, .@q+.@count;
mesn;
- mesq l("The paradise!");
+ mesq l("Thanks for your patronage! The rewards will be available with @@, in case I do find the paradise!", "Christmas Chief");
close;
OnInit:
diff --git a/npc/022-1/gift_collector.txt b/npc/022-1/gift_collector.txt
index e00b250ad..09dfb8c22 100644
--- a/npc/022-1/gift_collector.txt
+++ b/npc/022-1/gift_collector.txt
@@ -15,6 +15,7 @@
// Last year
if (getq3(SQuest_XmasCollector) == gettime(GETTIME_YEAR)-1)
goto L_Reward;
+ // Not on season
if ($EVENT$ != "Christmas")
goto L_OutOfSeason;
// Start Event for the first time