summaryrefslogtreecommitdiff
path: root/world/map/npc/halloween/2008
diff options
context:
space:
mode:
Diffstat (limited to 'world/map/npc/halloween/2008')
-rw-r--r--world/map/npc/halloween/2008/monsters.txt137
-rw-r--r--world/map/npc/halloween/2008/prize_master.txt455
2 files changed, 592 insertions, 0 deletions
diff --git a/world/map/npc/halloween/2008/monsters.txt b/world/map/npc/halloween/2008/monsters.txt
new file mode 100644
index 00000000..a0f32222
--- /dev/null
+++ b/world/map/npc/halloween/2008/monsters.txt
@@ -0,0 +1,137 @@
+//
+
+011-3.gat,0,0,0,0 monster JackO 1022,1,3600000,1800000,Mob4H
+
+011-3.gat,0,0,0 script Mob4H -1,{
+ set @mobID, 1022;
+ callfunc "MobPoints";
+ break;
+}
+
+001-3.gat,0,0,0,0 monster JackO 1022,5,180000,170000,Mob6H
+
+001-3.gat,0,0,0 script Mob6H -1,{
+ set @mobID, 1022;
+ callfunc "MobPoints";
+ break;
+}
+
+001-2.gat,132,25,0,0 monster JackO 1022,1,3600000,1800000,Mob8H
+
+001-2.gat,0,0,0 script Mob8H -1,{
+ set @mobID, 1022;
+ callfunc "MobPoints";
+ break;
+}
+
+020-2.gat,77,64,20,10 monster JackO 1022,1,3600000,1800000,Mob13H
+
+020-2.gat,0,0,0 script Mob13H -1,{
+ set @mobID, 1022;
+ callfunc "MobPoints";
+ break;
+}
+
+003-1.gat,0,0,0,0 monster JackO 1022,1,3600000,1800000,Mob15H
+
+003-1.gat,0,0,0 script Mob15H -1,{
+ set @mobID, 1022;
+ callfunc "MobPoints";
+ break;
+}
+
+011-4.gat,76,79,6,1 monster JackO 1022,1,3600000,1800000,Mob17H
+
+011-4.gat,0,0,0 script Mob17H -1,{
+ set @mobID, 1022;
+ callfunc "MobPoints";
+ break;
+}
+
+009-2.gat,113,47,24,6 monster JackO 1022,1,3600000,1800000,Mob20H
+
+009-2.gat,0,0,0 script Mob20H -1,{
+ set @mobID, 1022;
+ callfunc "MobPoints";
+ break;
+}
+
+020-4.gat,0,0,0,0 monster JackO 1022,1,3600000,1800000,Mob21H
+
+020-4.gat,0,0,0 script Mob21H -1,{
+ set @mobID, 1022;
+ callfunc "MobPoints";
+ break;
+}
+
+05-3.gat,86,34,0,0 monster JackO 1022,2,1800000,900000,Mob22H
+
+05-3.gat,0,0,0 script Mob22H -1,{
+ set @mobID, 1022;
+ callfunc "MobPoints";
+ break;
+}
+
+010-2.gat,26,88,0,0 monster JackO 1022,1,3600000,1800000,Mob23H
+
+010-2.gat,0,0,0 script Mob23H -1,{
+ set @mobID, 1022;
+ callfunc "MobPoints";
+ break;
+}
+
+006-1.gat,115,121,0,0 monster JackO 1022,1,3600000,1800000,Mob24H
+
+006-1.gat,0,0,0 script Mob24H -1,{
+ set @mobID, 1022;
+ callfunc "MobPoints";
+ break;
+}
+
+006-3.gat,30,125,0,0 monster JackO 1022,1,3600000,1800000,Mob25H
+
+006-3.gat,0,0,0 script Mob25H -1,{
+ set @mobID, 1022;
+ callfunc "MobPoints";
+ break;
+}
+
+12-1.gat,19,54,0,0 monster JackO 1022,1,3600000,1800000,Mob26H
+
+12-1.gat,0,0,0 script Mob26H -1,{
+ set @mobID, 1022;
+ callfunc "MobPoints";
+ break;
+}
+
+012-3.gat,54,130,0,0 monster JackO 1022,1,3600000,1800000,Mob27H
+
+012-3.gat,0,0,0 script Mob27H -1,{
+ set @mobID, 1022;
+ callfunc "MobPoints";
+ break;
+}
+
+004-1.gat,68,20,0,0 monster JackO 1022,1,3600000,1800000,Mob34H
+
+004-1.gat,0,0,0 script Mob34H -1,{
+ set @mobID, 1022;
+ callfunc "MobPoints";
+ break;
+}
+
+009-3.gat,26,103,0,0 monster JackO 1022,1,3600000,1800000,Mob35H
+
+009-3.gat,0,0,0 script Mob35H -1,{
+ set @mobID, 1022;
+ callfunc "MobPoints";
+ break;
+}
+
+018-2.gat,121,46,0,0 monster JackO 1022,1,3600000,1800000,Mob38H
+
+018-2.gat,0,0,0 script Mob38H -1,{
+ set @mobID, 1022;
+ callfunc "MobPoints";
+ break;
+}
diff --git a/world/map/npc/halloween/2008/prize_master.txt b/world/map/npc/halloween/2008/prize_master.txt
new file mode 100644
index 00000000..2b0cf642
--- /dev/null
+++ b/world/map/npc/halloween/2008/prize_master.txt
@@ -0,0 +1,455 @@
+//
+
+010-2.gat,43,32,0 script Prize Master 150,{
+ if (Halloween08 == 65535) goto L_Finished;
+
+ if (Halloween08 == 0) callsub S_Explain;
+
+ // Get detailed info about equipment
+ callfunc "ProcessEquip";
+
+ if (@head == 647) goto L_DevControl;
+ if (@head == 615) goto L_Pumpkin;
+ if (@head == 616) goto L_Axe;
+ if (@head == 617) goto L_Pirate;
+ if (@head == 621) goto L_Eyepatch;
+ if (@head == 622) goto L_Bandana;
+ if (@head == 634) goto L_FaceMask;
+ if (@head == 675) goto L_GradCap;
+ if (@head == 678) goto L_NohMask;
+ if (@head == 679) goto L_DemonMask;
+ if (@head == 656) goto L_SerfHat;
+ if (@head == 1214) goto L_Bunny;
+ if (@head == 643) goto L_WCowboy;
+ if (@head == 644) goto L_BCowboy;
+ if (@head == 1204) goto L_Antler;
+
+ if (Halloween08 & 1) goto L_Random_Done;
+ mes "[Prize Master]";
+ mes "A lovely costume, here is your candy.";
+ set Halloween08, Halloween08 | 1;
+ set @temp, rand(5) + 1;
+ getitem 510, @temp;
+ close;
+
+L_Random_Done:
+ mes "[Prize Master]";
+ mes "\"I don't like that one.\"";
+ close;
+
+
+
+
+
+L_Pumpkin:
+ if (Halloween08 & 2) goto L_Pumpkin_Done;
+ if (@torso != 720) goto L_Pumpkin_Bad;
+ set Halloween08, Halloween08 | 2;
+ set @temp, pow(1080, BaseLevel) * 100;
+ getexp @temp, 0;
+ mes "[" + @temp + " experience points]";
+ close;
+
+L_Pumpkin_Bad:
+ mes "[Prize Master]";
+ mes "\"You aren't convincing me. That doesn't look like a Jack O at all.\"";
+ close;
+
+L_Pumpkin_Done:
+ mes "[Prize Master]";
+ mes "\"I think I've seen this Jack O before.\"";
+ close;
+
+
+
+
+
+L_Axe:
+ if (Halloween08 & 4) goto L_Axe_Done;
+ mes "[Prize Master]";
+ mes "\"You look like you need some help!\"";
+ set Halloween08, Halloween08 | 4;
+ getitem 686, 1;
+ close;
+
+L_Axe_Done:
+ mes "[Prize Master]";
+ mes "\"You've pulled the axe on me already.\"";
+ close;
+
+
+
+
+
+L_Pirate:
+ if (Halloween08 & 8) goto L_Pirate_Done;
+ if (@torso != 2060) goto L_Pirate_BadTorso;
+ if (Sex == 0 && !(@legsB == 632 || @legsB == 586)) goto L_Pirate_BadLegs_Female;
+ if (Sex == 1 && !(@legsB == 610 || @legsB == 586)) goto L_Pirate_BadLegs_Male;
+ mes "[Prize Master]";
+ mes "\"A lovely pirate, but ye be missing this.\"";
+ set Halloween08, Halloween08 | 8;
+ getitem 1215, 1;
+ close;
+
+L_Pirate_BadTorso:
+ if (@torsoC != cRed) goto L_Pirate_BadColor;
+ mes "[Prize Master]";
+ mes "\"That shirt won't work.\"";
+ close;
+
+L_Pirate_BadColor:
+ mes "[Prize Master]";
+ mes "\"Not quite what I'm looking for. Do you remember the story of the brave pirate captain who always wore a certain color before battle?\"";
+ close;
+
+L_Pirate_BadLegs_Male:
+ mes "[Prize Master]";
+ if (@legsB == 632) mes "\"A skirt on a man? Not for the captain!\"";
+ if (@legsB != 632) mes "\"Those pants don't convince me.\"";
+ close;
+
+L_Pirate_BadLegs_Female:
+ mes "[Prize Master]";
+ if (@legsB == 610) mes "\"Jeans don't befit a woman captain.\"";
+ if (@legsB != 632) mes "\"Those pants don't convince me.\"";
+ close;
+
+L_Pirate_Done:
+ mes "[Prize Master]";
+ mes "\"Yarr, ye look familiar.\"";
+ close;
+
+
+
+
+L_Eyepatch:
+ if (Halloween08 & 16) goto L_Pirate_Done;
+ if (@torso != 2060) goto L_Pirate_BadTorso;
+ if (Sex == 0 && !(@legsB == 632 || @legsB == 586)) goto L_Pirate_BadLegs_Female;
+ if (Sex == 1 && !(@legsB == 610 || @legsB == 586)) goto L_Pirate_BadLegs_Male;
+ mes "[Prize Master]";
+ mes "\"Maybe you can use this to replace your eye.\"";
+ set Halloween08, Halloween08 | 16;
+ set @temp, rand(2) + 1;
+ getitem 700, @temp;
+ close;
+
+
+
+
+L_Bandana:
+ if (Halloween08 & 32) goto L_Pirate_Done;
+ if (@torsoC != cWhite) goto L_Bandana_Bad;
+ mes "[Prize Master]";
+ mes "\"Here's a clue for you.\"";
+ set Halloween08, Halloween08 | 32;
+ set @temp, rand(10) + 551;
+ getitem @temp, 1;
+ close;
+
+L_Bandana_Bad:
+ mes "[Prize Master]";
+ mes "\"That shirt doesn't befit a pirate swabie.\"";
+ close;
+
+
+
+
+L_FaceMask:
+ if (Halloween08 & 64) goto L_FaceMask_Done;
+ if (!(@torso == 2081 || @torso == 2089) && ((@torsoC != cGreen && @torsoC != cDarkGreen) || (@legsC != cGreen && @legsC != cDarkGreen))) goto L_FaceMask_Bad;
+ mes "[Prize Master]";
+ mes "\"A lovely swamp thing.\"";
+ set Halloween08, Halloween08 | 64;
+ set @temp, rand(5) + 1;
+ getitem 569, @temp;
+ close;
+
+L_FaceMask_Bad:
+ mes "[Prize Master]";
+ mes "\"That mask makes me think of green. Try again.\"";
+ close;
+
+L_FaceMask_Done:
+ mes "[Prize Master]";
+ mes "\"Another swamp thing? Next.\"";
+ close;
+
+
+
+
+L_GradCap:
+ if (Halloween08 & 128) goto L_GradCap_Done;
+ if (@torso != 2086) goto L_GradCap_Bad;
+ mes "[Prize Master]";
+ mes "\"Here, professor, maybe you can figure this out.\"";
+ set Halloween08, Halloween08 | 128;
+ getitem 585, 1;
+ close;
+
+L_GradCap_Bad:
+ mes "[Prize Master]";
+ mes "\"That doesn't work at all.\"";
+ close;
+
+L_GradCap_Done:
+ mes "[Prize Master]";
+ mes "\"Sorry, professor, but I've already seen you.\"";
+ close;
+
+
+
+
+
+L_NohMask:
+ if (Halloween08 & 256) goto L_NohMask_Done;
+ if (@torsoC != cBlack || @legsC != cBlack) goto L_NohMask_Bad;
+ mes "[Prize Master]";
+ mes "\"Ah, a thief. Just take these.\"";
+ set Halloween08, Halloween08 | 256;
+ set @temp, rand(10) + 1;
+ getitem 503, @temp;
+ close;
+
+L_NohMask_Bad:
+ mes "[Prize Master]";
+ mes "\"That's rather bright for a thief.\"";
+ close;
+
+L_NohMask_Done:
+ mes "[Prize Master]";
+ mes "\"I've caught you trying to get another prize for the same mask.\"";
+ close;
+
+
+
+
+
+L_DemonMask:
+ if (Halloween08 & 512) goto L_DemonMask_Done;
+ if (@torsoC != cRed || @legsC != cRed) goto L_DemonMask_Bad;
+ mes "[Prize Master]";
+ mes "\"I hope this reminds you of home.\"";
+ set Halloween08, Halloween08 | 512;
+ set @temp, rand(3) + 1;
+ getitem 701, @temp;
+ close;
+
+L_DemonMask_Bad:
+ mes "[Prize Master]";
+ mes "\"That just clashes.\"";
+ close;
+
+L_DemonMask_Done:
+ mes "[Prize Master]";
+ mes "\"A bit too many ghouls, don't you think?\"";
+ close;
+
+
+
+
+L_SerfHat:
+ if (Halloween08 & 1024) goto L_SerfHat_Done;
+ if (@torsoB != 1202) goto L_SerfHat_BadTorso;
+ if (@legsB != 586 && @legsB != 632) goto L_SerfHat_BadLegs;
+ mes "[Prize Master]";
+ mes "It doesn't look like you can even afford a costume. Have this anyways.";
+ set Halloween08, Halloween08 | 1024;
+ getitem 657, 1;
+ close;
+
+L_SerfHat_BadTorso:
+ mes "[Prize Master]";
+ mes "\"Your shirt is too fancy for that hat.\"";
+ close;
+
+L_SerfHat_BadLegs:
+ mes "[Prize Master]";
+ mes "\"Your pants are too fancy for that hat.\"";
+ close;
+
+L_SerfHat_Done:
+ mes "[Prize Master]";
+ mes "\"You've got your prize. Maybe you can sell it to get a better costume.\"";
+ close;
+
+
+
+
+L_Bunny:
+ if (Halloween08 & 6144 == 6144) goto L_Bunny_Done;
+ if (@torsoC == cBlack && @legsC == cBlack) goto L_Bunny_Black;
+ if (@torsoC == cWhite && @legsC == cWhite) goto L_Bunny_White;
+ mes "[Prize Master]";
+ mes "\"That doesn't look very much like a bunny to be.\"";
+ close;
+
+L_Bunny_Done:
+ mes "[Prize Master]";
+ mes "\"I've seen enough bunnies from you.\"";
+ close;
+
+L_Bunny_Black:
+ if (Halloween08 & 2048) goto L_Bunny_Black_Done;
+ mes "[Prize Master]";
+ mes "\"A prize for the lovely bunny.\"";
+ set Halloween08, Halloween08 | 2048;
+ getitem 1211, 1;
+ getitem 1212, 1;
+ getitem 1213, 1;
+ close;
+
+L_Bunny_Black_Done:
+ mes "[Prize Master]";
+ mes "\"Another one?\"";
+ close;
+
+L_Bunny_White:
+ if (Halloween08 & 4096) goto L_Bunny_White_Done;
+ mes "[Prize Master]";
+ mes "\"I think you missed some eggs.\"";
+ set Halloween08, Halloween08 | 4096;
+ getitem 1208, 1;
+ getitem 1209, 1;
+ getitem 1210, 1;
+ close;
+
+L_Bunny_White_Done:
+ mes "[Prize Master]";
+ mes "\"Another one?\""; // TODO
+ close;
+
+
+
+
+L_WCowboy:
+ if (Halloween08 & 8192) goto L_Cowboy_Done;
+ if (@torsoC != cWhite) goto L_WCowboy_BadTorso;
+ if (@legs != 642) goto L_Cowboy_BadLegs;
+ mes "[Prize Master]";
+ mes "\"This should help out on the trail.\"";
+ set Halloween08, Halloween08 | 8192;
+ getitem 562, 1;
+ close;
+
+L_WCowboy_BadTorso:
+ mes "[Prize Master]";
+ mes "\"That shirt isn't quite a white at that hat.\"";
+ close;
+
+L_Cowboy_BadLegs:
+ mes "[Prize Master]";
+ if (@legsB == 632) mes "\"How can you stand to ride a horse in that skirt?\"";
+ if (@legsB != 632) mes "\"How can you stand to ride a horse in those pants?\"";
+ close;
+
+L_Cowboy_Done:
+ mes "[Prize Master]";
+ mes "\"I've already seen you, partner. Move along.\"";
+ close;
+
+
+
+
+L_BCowboy:
+ if (Halloween08 & 16384) goto L_Cowboy_Done;
+ if (@torsoC != cBlack) goto L_BCowboy_BadTorso;
+ if (@legs != 642) goto L_Cowboy_BadLegs;
+ mes "[Prize Master]";
+ mes "\"These will help out on the trail.\"";
+ set Halloween08, Halloween08 | 16384;
+ getitem 533, 3;
+ close;
+
+L_BCowboy_BadTorso:
+ mes "[Prize Master]";
+ mes "\"Fashion doesn't seem to be your forte. Try to match that hat better.\"";
+ close;
+
+
+
+
+
+L_Antler:
+ if (Halloween08 & 32768) goto L_Antler_Done;
+ if (@torso != -1 && @legs != -1) goto L_Antler_Bad;
+ mes "[Prize Master]";
+ mes "\"You're a brave deer. Have an apple.\"";
+ set Halloween08, Halloween08 | 32768;
+ set @temp, rand(50) + 1;
+ getitem 535, @temp;
+ close;
+
+L_Antler_Bad:
+ mes "[Prize Master]";
+ mes "\"Antlers AND clothing? I don't think so.\"";
+ close;
+
+L_Antler_Done:
+ mes "[Prize Master]";
+ mes "\"This buck looks familiar.\"";
+ close;
+
+
+
+
+L_Finished:
+ mes "[Prize Master]";
+ mes "\"It seems you've received your 16 prizes.\"";
+ close;
+
+L_DevControl:
+ menu
+ "Announce Open", L_Dev_Announce_Open,
+ "Announce Remind", L_Dev_Announce_Remind,
+ "Announce Close", L_Dev_Announce_Close,
+ "Spawn Jack O", L_Dev_Spawn_JackO,
+ "Spawn Jack O 2", L_Dev_Spawn_JackO_2,
+ "Spawn Jack O in Tulimshar", L_Dev_Spawn_JackO_Tulimshar,
+ "Spawn Jack O in Hurnscald", L_Dev_Spawn_JackO_Hurnscald,
+ "Spawn Skulls", L_Dev_Spawn_Skulls;
+ close;
+
+L_Dev_Announce_Open:
+ announce "A costume party has started at Dimond's Cove. Everyone is invited!", 0;
+ close;
+
+L_Dev_Announce_Remind:
+ announce "The costume party at Dimond's Cove is still going. Please stop by for prizes!", 0;
+ close;
+
+L_Dev_Announce_Close:
+ announce "The costume party Dimond's Cove will be ending soon. Thank you for participating!", 0;
+ close;
+
+L_Dev_Spawn_JackO:
+ monster "this", 34, 34, "Jack O", 1022, 1;
+ close;
+
+L_Dev_Spawn_JackO_2:
+ monster "this", 38, 41, "Jack O", 1022, 1;
+ close;
+
+L_Dev_Spawn_JackO_Tulimshar:
+ monster "001-1.gat", 44, 70, "Jack O", 1022, 1;
+ announce "A ghost in Tulimshar!", 0;
+ close;
+
+L_Dev_Spawn_JackO_Hurnscald:
+ monster "010-2.gat", 52, 40, "Jack O", 1022, 1;
+ announce "A ghost in Hurnscald!", 0;
+ close;
+
+L_Dev_Spawn_Skulls:
+ monster "this", 32, 39, "Fire Skull", 1023, 1;
+ monster "this", 36, 39, "Poison Skull", 1024, 1;
+ close;
+
+S_Explain:
+ mes "[Prize Master]";
+ mes "\"We're holding a costume party to celebrate Halloween. Each accepted costume gets a prize. Each participant is allowed up to 16 prizes.\"";
+ next;
+
+ return;
+}