From 2d53be4b771aec1c91da67897b16d5b5d0b8c230 Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Sat, 15 Dec 2018 04:00:21 -0200 Subject: This is how Christmas 2018 (and all successors) are supposed to go. Simple, yet elegant. --- db/constants.conf | 1 + db/quest_db.conf | 4 +++ maps/re/019-4-1.mcache | Bin 121 -> 126 bytes npc/019-4-1/_import.txt | 4 +++ npc/019-4-1/bedder.txt | 23 +++++++++++++ npc/019-4-1/chief.txt | 24 ++++++++++++++ npc/019-4-1/cook.txt | 21 ++++++++++++ npc/019-4-1/golbarez.txt | 19 +++++++++++ npc/019-4-1/model.c | 45 +++++++++++++++++++++++++ npc/022-1/_import.txt | 1 + npc/022-1/gift_collector.txt | 76 +++++++++++++++++++++++++++++++++++++++++++ npc/commands/event.txt | 18 +++++----- 12 files changed, 227 insertions(+), 9 deletions(-) create mode 100644 npc/019-4-1/bedder.txt create mode 100644 npc/019-4-1/chief.txt create mode 100644 npc/019-4-1/cook.txt create mode 100644 npc/019-4-1/golbarez.txt create mode 100644 npc/019-4-1/model.c create mode 100644 npc/022-1/gift_collector.txt diff --git a/db/constants.conf b/db/constants.conf index 7714b6b9e..0282e0629 100644 --- a/db/constants.conf +++ b/db/constants.conf @@ -3975,6 +3975,7 @@ constants_db: { NPC_BARD_TRUMP: 213 NPC_INJURIED_MOUBOO: 215 NPC_CRUSADER: 221 + NPC_LOF_RICH: 223 NPC_BARD_DRUMS: 227 NPC_LOF_DOCTOR: 228 NPC_SWORDS_SIGN: 229 diff --git a/db/quest_db.conf b/db/quest_db.conf index 635c3fafc..127cf603f 100644 --- a/db/quest_db.conf +++ b/db/quest_db.conf @@ -344,6 +344,10 @@ quest_db: ( Id: 306 Name: "SQuest_Paxel" }, +{ + Id: 307 + Name: "SQuest_XmasCollector" +}, // ID 400+: Event Quests { diff --git a/maps/re/019-4-1.mcache b/maps/re/019-4-1.mcache index ba9abf549..707a38e42 100644 Binary files a/maps/re/019-4-1.mcache and b/maps/re/019-4-1.mcache differ diff --git a/npc/019-4-1/_import.txt b/npc/019-4-1/_import.txt index 89a351b39..e01bc7dd3 100644 --- a/npc/019-4-1/_import.txt +++ b/npc/019-4-1/_import.txt @@ -1,3 +1,7 @@ // Map 019-4-1: Christmas Workshop // This file is generated automatically. All manually added changes will be removed when running the Converter. "npc/019-4-1/_warps.txt", +"npc/019-4-1/bedder.txt", +"npc/019-4-1/chief.txt", +"npc/019-4-1/cook.txt", +"npc/019-4-1/golbarez.txt", diff --git a/npc/019-4-1/bedder.txt b/npc/019-4-1/bedder.txt new file mode 100644 index 000000000..e069ac4e7 --- /dev/null +++ b/npc/019-4-1/bedder.txt @@ -0,0 +1,23 @@ +// TMW2/LoF scripts. +// Authors: +// TMW-LoF Team +// Jesusalva +// Description: +// Christmas Quest +// In dire need for white fur for bedding. Gives %Reward% for %Amount% (LESS LIKELY) +// (TMW Org. Version) +// Or maybe, he just take the white fur + something + open xmas box and trades +// these for closed gift boxes (MOST LIKELY) +// TMW2:ML Version + +019-4-1,48,39,0 script Christmas Storage Master NPC_GNOME_C,{ + mesn; + mesq l("The white fur..."); + close; + +OnInit: + .sex=G_MALE; + .distance=5; + end; +} + diff --git a/npc/019-4-1/chief.txt b/npc/019-4-1/chief.txt new file mode 100644 index 000000000..e826e4ebb --- /dev/null +++ b/npc/019-4-1/chief.txt @@ -0,0 +1,24 @@ +// TMW2/LoF scripts. +// Authors: +// TMW-LoF Team +// Jesusalva +// Description: +// Christmas Quest +// Closed Christmas Boxes have been stolen! Give him any you find for the +// ranking (and ranking based rewards). The global amount of delivered boxes +// will determine the gifts (and amount of gifts) handled by Santa! +// +// Rewards: Santa Hat, Gnome Hat, Santa Bearded Hat, Ugly Christmas Sweater, +// Turtle Neck Sweater, Santa Globe, Snowman Globe, Red Stocking. + +019-4-1,56,33,0 script Christmas Chief NPC_GNOME_A,{ + mesn; + mesq l("The stolen empty boxes!! Christmas is RUINED!!!"); + close; + +OnInit: + .sex=G_MALE; + .distance=5; + end; +} + diff --git a/npc/019-4-1/cook.txt b/npc/019-4-1/cook.txt new file mode 100644 index 000000000..b7a01708f --- /dev/null +++ b/npc/019-4-1/cook.txt @@ -0,0 +1,21 @@ +// TMW2/LoF scripts. +// Authors: +// TMW-LoF Team +// Jesusalva +// Description: +// Christmas Quest. +// Originally, it was planned to collect XMAS CAKE, XMAS CANDY CANE and GINGERBREAD BISCUIT +// and then make a player ranking for sport (like Ched). The ranking function, +// however, was moved to Chief. Maybe Cook will exchange these for open xmas boxes. + +019-4-1,30,29,0 script Christmas Cook NPC_GNOME_B,{ + mesn; + mesq l("The xmas cake and canes and gingerbread ranking..."); + close; + +OnInit: + .sex=G_MALE; + .distance=5; + end; +} + diff --git a/npc/019-4-1/golbarez.txt b/npc/019-4-1/golbarez.txt new file mode 100644 index 000000000..3cc343d79 --- /dev/null +++ b/npc/019-4-1/golbarez.txt @@ -0,0 +1,19 @@ +// TMW2/LoF scripts. +// Authors: +// TMW-LoF Team +// Jesusalva +// Description: +// Permanently repeatable quest, without any special limit +// NPC_GNOME_ABC NPC_LOF_RICH + +019-4-1,30,45,0 script Golbarez NPC_LOF_RICH,{ + mesn; + mesq l("The paradise!"); + close; + +OnInit: + .sex=G_MALE; + .distance=5; + end; +} + diff --git a/npc/019-4-1/model.c b/npc/019-4-1/model.c new file mode 100644 index 000000000..53fff5983 --- /dev/null +++ b/npc/019-4-1/model.c @@ -0,0 +1,45 @@ +// TMW2/LoF scripts. +// Authors: +// TMW-LoF Team +// Jesusalva +// Description: +// Permanently repeatable quest, without any special limit + +017-3,68,87,0 script Model NPC_PLAYER,{ + mesn; + mesq l("This room is too dark. I want to brighten it up."); + next; + .@price=(getiteminfo(CaveSnakeLamp, ITEMINFO_SELLPRICE)*11/10)*5; + mesn; + mesq l("I am willing to pay @@ GP for each 5 @@ you bring me!", .@price, getitemlink(CaveSnakeLamp)); + next; + select + rif(countitem(CaveSnakeLamp) >= 5, l("Here they are!")), + l("Not now..."); + mes ""; + if (@menu == 1) { + delitem CaveSnakeLamp, 5; + Zeny=Zeny+.@price; + getexp (.@price/rand(2,3)), 5; + mesn; + mesq l("Many, many thanks!"); + next; + } + mesn; + mesq l("Too bad these lamps wear off after a while... I am making stocks of them now!"); + close; + +OnInit: + .@npcId = getnpcid(0, .name$); + setunitdata(.@npcId, UDT_HEADTOP, FancyHat); + setunitdata(.@npcId, UDT_HEADMIDDLE, CreasedShirt); + setunitdata(.@npcId, UDT_HEADBOTTOM, NPCEyes); + setunitdata(.@npcId, UDT_WEAPON, JeansShorts); + setunitdata(.@npcId, UDT_HAIRSTYLE, 2); + setunitdata(.@npcId, UDT_HAIRCOLOR, 4); + + .sex=G_MALE; + .distance=5; + end; +} + diff --git a/npc/022-1/_import.txt b/npc/022-1/_import.txt index 93ce7ca3f..c6399c4db 100644 --- a/npc/022-1/_import.txt +++ b/npc/022-1/_import.txt @@ -2,3 +2,4 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. "npc/022-1/_mobs.txt", "npc/022-1/_warps.txt", +"npc/022-1/gift_collector.txt", diff --git a/npc/022-1/gift_collector.txt b/npc/022-1/gift_collector.txt new file mode 100644 index 000000000..6ea911979 --- /dev/null +++ b/npc/022-1/gift_collector.txt @@ -0,0 +1,76 @@ +// TMW2/LoF scripts. +// Authors: +// TMW-LoF Team +// Jesusalva +// Description: +// Part Of Christmas Events +// SQuest_XmasCollector +// Status, Delivered Gifts, Current Year +// Status: +// 0 - Quest is unknown +// 1 - Quest is known +// 2 - Rewards Collected + +022-1,65,53,0 script Gift Fanatic NPC_GNOME_C,{ + // Last year + if (getq3(SQuest_XmasCollector) == gettime(GETTIME_YEAR)-1) + goto L_Reward; + if ($EVENT$ != "Christmas") + goto L_OutOfSeason; + // Start Event for the first time + if (getq3(SQuest_XmasCollector) < gettime(GETTIME_YEAR)) + setq SQuest_XmasCollector, 1, 0, gettime(GETTIME_YEAR); + // Main Loop + goto L_Main; + +L_OutOfSeason: + mesn; + mesq l("Hey, collect lots of @@ and give them to me on Christmas! Not now. On Christmas!", getitemlink(PresentBox)); + close; + +// The reward is actually just an extra bonus, there is nothing WOW to see here... +L_Reward: + .@q=getq2(SQuest_XmasCollector); + .@q=max(0, .@q-BaseLevel); + mesn; + mesq l("Hey, huge THANKS for the help! I love gifts! Here's your due reward!"); + mesc l("Got @@ EXP, @@ JExp and @@ GP for helping out.", .@q*7, .@q, .@q*5); + getexp .@q*7, .@q; + Zeny=Zeny+(.@q*5); + setq SQuest_XmasCollector, 2, 0, 0; + close; + +L_Main: + .@q=getq2(SQuest_XmasCollector); + mesn; + mesq l("I want @@! I want @@!!", getitemlink(PresentBox), getitemlink(PresentBox)); + next; + .@price=(getiteminfo(PresentBox, ITEMINFO_SELLPRICE)+2; + mesn; + mesq l("I am willing to pay @@ GP for each you bring me! Do you want to give me ALL your @@?!", .@price, getitemlink(PresentBox)); + next; + select + rif(countitem(PresentBox), l("Yes, of course!")), + l("Not now..."); + mes ""; + if (@menu == 1) { + .@qnt=countitem(PresentBox); + .@q2+=.@qnt; + delitem PresentBox, .@qnt; + Zeny=Zeny+.@price*.@qnt; + getexp .@qnt*.@price, .@qnt; + setq2 SQuest_XmasCollector, .@q2; + mesn; + mesq l("Many, many thanks! Thus far, you delivered me @@ gift boxes!", .@q2); + next; + } + mesn; + mesq l("Come back and give me more gifts!"); + close; + +OnInit: + .sex=G_OTHER; + .distance=5; + end; +} + diff --git a/npc/commands/event.txt b/npc/commands/event.txt index ba2f73448..2a48a7b09 100644 --- a/npc/commands/event.txt +++ b/npc/commands/event.txt @@ -35,16 +35,16 @@ function script sChristmas { addmonsterdrop(WaterFairy, GingerBreadMan, 1000); - addmonsterdrop(Yeti, ClosedChristmasBox, 1000); - addmonsterdrop(WaterFairy, ClosedChristmasBox, 900); - addmonsterdrop(AlphaMouboo, ClosedChristmasBox, 800); - addmonsterdrop(IcedFluffy, ClosedChristmasBox, 700); - addmonsterdrop(BlueSlime, ClosedChristmasBox, 600); - addmonsterdrop(SantaSlime, ClosedChristmasBox, 530); - addmonsterdrop(AzulSlime, ClosedChristmasBox, 400); - addmonsterdrop(Moggun, ClosedChristmasBox, 300); - addmonsterdrop(RudolphSlime,ClosedChristmasBox, 200); + addmonsterdrop(Yeti, ClosedChristmasBox, 500); + addmonsterdrop(WaterFairy, ClosedChristmasBox, 480); + addmonsterdrop(AlphaMouboo, ClosedChristmasBox, 430); + addmonsterdrop(IcedFluffy, ClosedChristmasBox, 375); + addmonsterdrop(BlueSlime, ClosedChristmasBox, 320); + addmonsterdrop(SantaSlime, ClosedChristmasBox, 260); + addmonsterdrop(AzulSlime, ClosedChristmasBox, 200); + addmonsterdrop(Moggun, ClosedChristmasBox, 140); addmonsterdrop(Fluffy, ClosedChristmasBox, 100); + addmonsterdrop(RudolphSlime,ClosedChristmasBox, 60); addmonsterdrop(WhiteSlime, ClosedChristmasBox, 30); // Change maps for Christmas Season (Specially LoF maps) -- cgit v1.2.3-70-g09d2