summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJesusaves <cpntb1@ymail.com>2018-06-28 20:52:49 -0300
committerJesusaves <cpntb1@ymail.com>2018-06-28 20:52:49 -0300
commit01797348b47c6c4659146fd92f1ae769176f882b (patch)
tree7863bcbae650bdc535858f4df6a64b3adaddb0d4
parent06963321568b18d2e8d5afe75b4e5f9e8f3318f5 (diff)
downloadserverdata-01797348b47c6c4659146fd92f1ae769176f882b.tar.gz
serverdata-01797348b47c6c4659146fd92f1ae769176f882b.tar.bz2
serverdata-01797348b47c6c4659146fd92f1ae769176f882b.tar.xz
serverdata-01797348b47c6c4659146fd92f1ae769176f882b.zip
Sponsor-Only quests.
-rw-r--r--db/quest_db.conf14
-rw-r--r--npc/012-2/GonzoDark.txt60
-rw-r--r--npc/012-2/Saulc.txt60
-rw-r--r--npc/012-2/_import.txt2
4 files changed, 135 insertions, 1 deletions
diff --git a/db/quest_db.conf b/db/quest_db.conf
index 11e804e36..f691b09dc 100644
--- a/db/quest_db.conf
+++ b/db/quest_db.conf
@@ -254,7 +254,7 @@ quest_db: (
Id: 193
Name: "MineQuest_Caelum"
},
-// ID 300 to 320: Seasonal/Annual quests
+// ID 300 to 320: Seasonal/Annual/Monthly quests
{
Id: 300
Name: "SQuest_Summer"
@@ -263,6 +263,18 @@ quest_db: (
Id: 301
Name: "SQuest_Autumn"
},
+{
+ Id: 302
+ Name: "SQuest_Winter"
+},
+{
+ Id: 303
+ Name: "SQuest_Spring"
+},
+{
+ Id: 304
+ Name: "SQuest_Sponsor"
+},
// ID 1000+: Test quests
{
diff --git a/npc/012-2/GonzoDark.txt b/npc/012-2/GonzoDark.txt
new file mode 100644
index 000000000..02893cea8
--- /dev/null
+++ b/npc/012-2/GonzoDark.txt
@@ -0,0 +1,60 @@
+// TMW2 Script
+// Author:
+// Jesusalva
+// Description:
+// Monthly Sponsor Quest
+// Variable:
+// SQuest_Sponsor
+// Quest ID: 2
+
+012-2,50,81,0 script GonzoDark, 2nd Sponsor NPC_GUARD,{
+ function resetSQS {
+ setq SQuest_Sponsor, 0, gettime(GETTIME_MONTH);
+ }
+ // Check monthly quest
+ .@d=getq2(SQuest_Sponsor);
+ if (.@d != gettime(GETTIME_MONTH)) resetSQS();
+
+ // Core
+ .@q=getq(SQuest_Sponsor);
+ mesn;
+ mesq l("Ahh, I hate @@.", getmonsterlink(BlackScorpion));
+ if (!(.@q & .questID)) goto L_Menu;
+ close;
+
+L_Menu:
+ mesq l("I will reward you for 7 @@.", getitemlink(.itemID));
+ mes "";
+ menu
+ rif(countitem(.itemID) >= 7, l("Here they are!")), L_Finish,
+ l("Where can I find them?"),L_Where,
+ l("No, thanks."),L_Close;
+
+L_Finish:
+ delitem .itemID, 7;
+ getexp 2640, 0; // 7 / 8.0% = 88 kills * 120 xp = 10560 xp gained from killing. (25% bonus)
+ getitem StrangeCoin, rand(1,7);
+ .@q=getq(SQuest_Sponsor);
+ setq1 SQuest_Sponsor, .@q | .questID;
+ mes "";
+ mesn;
+ mesq l("Many thanks! Come back later to bring me extra @@!", getitemlink(RedScorpionStinger));
+ close;
+
+L_Where:
+ mes "";
+ mesq l("Ah, there are lots on the fields.");
+ next;
+
+L_Close:
+ closedialog;
+ goodbye;
+ close;
+
+OnInit:
+ .sex = G_MALE;
+ .distance = 5;
+ .questID=2;
+ .itemID=BlackScorpionStinger;
+ end;
+}
diff --git a/npc/012-2/Saulc.txt b/npc/012-2/Saulc.txt
new file mode 100644
index 000000000..2dde917f2
--- /dev/null
+++ b/npc/012-2/Saulc.txt
@@ -0,0 +1,60 @@
+// TMW2 Script
+// Author:
+// Jesusalva
+// Description:
+// Monthly Sponsor Quest
+// Variable:
+// SQuest_Sponsor
+// Quest ID: 1
+
+012-2,46,81,0 script Saulc, 1st Sponsor NPC_GUARD,{
+ function resetSQS {
+ setq SQuest_Sponsor, 0, gettime(GETTIME_MONTH);
+ }
+ // Check monthly quest
+ .@d=getq2(SQuest_Sponsor);
+ if (.@d != gettime(GETTIME_MONTH)) resetSQS();
+
+ // Core
+ .@q=getq(SQuest_Sponsor);
+ mesn;
+ mesq l("Ahh, I hate @@.", getmonsterlink(Pinkie));
+ if (!(.@q & .questID)) goto L_Menu;
+ close;
+
+L_Menu:
+ mesq l("I will reward you for 7 @@.", getitemlink(.itemID));
+ mes "";
+ menu
+ rif(countitem(.itemID) >= 7, l("Here they are!")), L_Finish,
+ l("Where can I find them?"),L_Where,
+ l("No, thanks."),L_Close;
+
+L_Finish:
+ delitem .itemID, 7;
+ getexp 770, 0; // 7 / 4.1% = 171 kills * 52 xp = 3078 xp gained from killing. (25% bonus)
+ getitem StrangeCoin, rand(1,7);
+ .@q=getq(SQuest_Sponsor);
+ setq1 SQuest_Sponsor, .@q | .questID;
+ mes "";
+ mesn;
+ mesq l("Many thanks! Come back later to bring me extra @@!", getitemlink(RedScorpionStinger));
+ close;
+
+L_Where:
+ mes "";
+ mesq l("Ah, there are lots on the fields.");
+ next;
+
+L_Close:
+ closedialog;
+ goodbye;
+ close;
+
+OnInit:
+ .sex = G_MALE;
+ .distance = 5;
+ .questID=1;
+ .itemID=PinkAntenna;
+ end;
+}
diff --git a/npc/012-2/_import.txt b/npc/012-2/_import.txt
index 87b91e652..01a6728a3 100644
--- a/npc/012-2/_import.txt
+++ b/npc/012-2/_import.txt
@@ -1,5 +1,7 @@
// Map 012-2: Hurnscald Inn
// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/012-2/GonzoDark.txt",
+"npc/012-2/Saulc.txt",
"npc/012-2/_warps.txt",
"npc/012-2/door.txt",
"npc/012-2/helena.txt",