diff options
Diffstat (limited to 'world/map/npc/halloween/2008')
-rw-r--r-- | world/map/npc/halloween/2008/monsters.txt | 137 | ||||
-rw-r--r-- | world/map/npc/halloween/2008/prize_master.txt | 455 |
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; +} |