From fa8044e15a87cbe3c09f69f116cad7271c1d0272 Mon Sep 17 00:00:00 2001 From: Jared Adams Date: Fri, 10 Apr 2009 23:48:17 -0600 Subject: Easter 2009 --- npc/easter/2008/monsters.txt | 15 ++ npc/easter/2008/npc.txt | 49 ++++++ npc/easter/2009/bunny.txt | 88 ++++++++++ npc/easter/2009/object.txt | 407 +++++++++++++++++++++++++++++++++++++++++++ npc/easter2008/monsters.txt | 15 -- npc/easter2008/npc.txt | 49 ------ 6 files changed, 559 insertions(+), 64 deletions(-) create mode 100644 npc/easter/2008/monsters.txt create mode 100644 npc/easter/2008/npc.txt create mode 100644 npc/easter/2009/bunny.txt create mode 100644 npc/easter/2009/object.txt delete mode 100644 npc/easter2008/monsters.txt delete mode 100644 npc/easter2008/npc.txt (limited to 'npc') diff --git a/npc/easter/2008/monsters.txt b/npc/easter/2008/monsters.txt new file mode 100644 index 00000000..d886f519 --- /dev/null +++ b/npc/easter/2008/monsters.txt @@ -0,0 +1,15 @@ +002-2.gat,0,0,0,0 monster EasterFluffy 1027,1,0,0,0 +002-3.gat,0,0,0,0 monster EasterFluffy 1027,1,0,0,0 +001-1.gat,0,0,0,0 monster EasterFluffy 1027,1,0,0,0 +002-4.gat,0,0,0,0 monster EasterFluffy 1027,1,0,0,0 +005-1.gat,0,0,0,0 monster EasterFluffy 1027,1,0,0,0 +011-1.gat,0,0,0,0 monster EasterFluffy 1027,1,0,0,0 +019-1.gat,0,0,0,0 monster EasterFluffy 1027,1,0,0,0 +020-3.gat,0,0,0,0 monster EasterFluffy 1027,1,0,0,0 +010-2.gat,0,0,0,0 monster EasterFluffy 1027,1,0,0,0 +003-1.gat,0,0,0,0 monster EasterFluffy 1027,1,0,0,0 +007-1.gat,0,0,0,0 monster EasterFluffy 1027,1,0,0,0 +011-4.gat,0,0,0,0 monster EasterFluffy 1027,1,0,0,0 +008-1.gat,0,0,0,0 monster EasterFluffy 1027,1,0,0,0 +010-2.gat,0,0,0,0 monster EasterFluffy 1027,1,0,0,0 +05-3.gat,0,0,0,0 monster EasterFluffy 1027,1,0,0,0 \ No newline at end of file diff --git a/npc/easter/2008/npc.txt b/npc/easter/2008/npc.txt new file mode 100644 index 00000000..e93e27a2 --- /dev/null +++ b/npc/easter/2008/npc.txt @@ -0,0 +1,49 @@ +001-1.gat,40,40,6 script EasterBunny 139,{ + if (QUEST_Easter08_state > 0) goto L_Finished; + + mes "[Easter Bunny]"; + mes "Hi handsome! Happy Easter to you."; + next; + + set @cond, 0; + if (countitem(1208) > 0) set @cond, @cond + 1; + if (countitem(1209) > 0) set @cond, @cond + 1; + if (countitem(1210) > 0) set @cond, @cond + 1; + if (countitem(1211) > 0) set @cond, @cond + 1; + if (countitem(1212) > 0) set @cond, @cond + 1; + if (countitem(1213) > 0) set @cond, @cond + 1; + + if (@cond == 6) goto L_Give; + + L_Message: + mes "[Easter Bunny]"; + mes "Do you want to take part in the big easter egg hunt?"; + mes ""; + mes "There are fluffys all around the world with their magic easter eggs."; + mes "When you catch them and collect 6 different kinds of eggs I will"; + mes "give you a special prize!"; + if (@cond > 0) mes "You already have found "+@cond+" different eggs!"; + close; + + L_Give: + delitem 1208, 1; + delitem 1209, 1; + delitem 1210, 1; + delitem 1211, 1; + delitem 1212, 1; + delitem 1213, 1; + mes "[Easter Bunny]"; + mes "Here is your prize:"; + mes "The official easter 2008 headgear!"; + mes "Have fun!"; + getitem 1214, 1; + set QUEST_Easter08_state, 1; + close; + + L_Finished: + mes "[Easter Bunny]"; + mes "You already completed the quest."; + mes "But maybe you would like to help others complete it, too?"; + close; + +} \ No newline at end of file diff --git a/npc/easter/2009/bunny.txt b/npc/easter/2009/bunny.txt new file mode 100644 index 00000000..10cb86e3 --- /dev/null +++ b/npc/easter/2009/bunny.txt @@ -0,0 +1,88 @@ +// The Easter Bunny + +007-1.gat,32,30, 0 script Easter Bunny 173,{ + callfunc "ClearVariables"; + if (QUEST_Easter09 == 1) goto L_CheckEggs; + if (QUEST_Easter09 == 2) goto L_Done; + + mes "[Easter Bunny]"; + mes "Oh dear! Oh dear! I shall be too late!"; + next; + + menu + "What do you mean?", -, + "Goodbye then.", close; + + mes "[Easter Bunny]"; + mes "It's already Easter and I haven't hid a single Easter egg yet. And the worst part is, they already started searching for the eggs. What am I going to do? I seriously need a miracle. I mean, there are so many people searching and I haven't even begun yet. What am I going to do?"; + next; + + menu + "Maybe I can help.", -, + "I'll leave you to it then.", close; + + mes "[Easter Bunny]"; + mes "It's hopeless, you can't help me, it's to late!"; + next; + + menu + "I'm sure they haven't searched everywhere. What about that stone over there?", -, + "You're probably right.", close; + + mes "[Easter Bunny]"; + mes "Maybe you're right. Here, go hide these 10 Easter eggs for me."; + + getitem "EasterEgg", 10; + set QUEST_Easter09, 1; + + close; + +L_CheckEggs: + set @count, 0; + set @temp, QUEST_Easter09_slots; + set @i, 0; + +L_CheckEggs_Loop: + if (@temp & 1) set @count, @count + 1; + set @i, @i + 1; + if (@i == 31) goto L_CheckEggs_Continue; + set @temp, @temp >> 1; + goto L_CheckEggs_Loop; + +L_CheckEggs_Continue: + if (@count > 10) goto L_ManyEggs; + if (@count == 10) goto L_EnoughEggs; + mes "[Easter Bunny]"; + mes "Please place " + (10 - @count) + " more eggs!"; + + set @temp, 10 - @count - countitem("EasterEgg"); + + if (@temp > 0) goto L_GiveMoreEggs; + close; + +L_GiveMoreEggs: + mes "[Easter Bunny]"; + mes "What happened to " + @temp + " of your eggs?"; + next; + + mes "[Easter Bunny]"; + mes "Never mind that. Take these and get them placed!"; + getitem "EasterEgg", @temp; + close; + +L_ManyEggs: + mes "[Easter Bunny]"; + mes "How did you manage to place more eggs than I gave you?"; + next; + +L_EnoughEggs: + mes "[Easter Bunny]"; + mes "Thanks! I'm saved. Now I don't need to be scared anymore. And I just came with the great plan to hide myself under a paper bag. Oh well, maybe you can use it."; + getitem "PaperBagHelm", 1; + close; + +L_Done: + mes "[Easter Bunny]"; + mes "Thank you for placing those eggs for me!"; + close; +} diff --git a/npc/easter/2009/object.txt b/npc/easter/2009/object.txt new file mode 100644 index 00000000..263321aa --- /dev/null +++ b/npc/easter/2009/object.txt @@ -0,0 +1,407 @@ +// + +function script Easter2009Object { + if (@action == 1) goto L_TryPlace; + + set @result, $Easter2009 >> @object; + set @result, @result & 1; + + if (@result == 1) goto L_GiveEgg; + return; + +L_GiveEgg: + set $Easter2009, $Easter2009 & ~(1 << @object); + getitem "EasterEgg", 1; + return; + +L_TryPlace: + set @has, QUEST_Easter09_slots >> @object; + set @has, @has & 1; + + if (@has == 1) goto L_AlreadyPlaced; + + set @has, $Easter2009 >> @object; + set @has, @has & 1; + + if (@has == 0) goto L_DoPlace; + set @result, 0; + return; + +L_DoPlace: + if (countitem("EasterEgg") > 0) goto L_DoPlace_Finish; + + mes "You don't have any eggs to place!"; + close; + +L_DoPlace_Finish: + delitem "EasterEgg", 1; + set @has, 1 << @object; + set QUEST_Easter09_slots, QUEST_Easter09_slots | @has; + set $Easter2009, $Easter2009 | @has; + set @result, 1; + return; + +L_AlreadyPlaced: + set @result, 2; + return; +} + +function script Easter2009Rock { + if (QUEST_Easter09 == 1) goto L_PlaceEgg; + mes "Do you want to examine this rock?"; + next; + menu + "Yes", -, + "No", close; + + set @action, 0; + callfunc "Easter2009Object"; + if (@result == 1) goto L_Found; + mes "There is nothing strange about this rock."; + close; + +L_Found: + mes "You found an egg under the rock."; + close; + +L_PlaceEgg: + mes "Do you want to put an egg under this rock?"; + next; + menu + "Yes", -, + "No", close; + + set @action, 1; + callfunc "Easter2009Object"; + if (@result == 1) goto L_Placed; + if (@result == 2) goto L_AlreadyPlaced; + mes "Strange, there is already an egg under this rock."; + close; + +L_Placed: + mes "You placed an egg under the rock."; + close; + +L_AlreadyPlaced: + mes "You already placed an egg under this rock!"; + close; +} + +function script Easter2009Tree { + if (QUEST_Easter09 == 1) goto L_PlaceEgg; + mes "Do you want to examine this tree?"; + next; + menu + "Yes", -, + "No", close; + + set @action, 0; + callfunc "Easter2009Object"; + if (@result == 1) goto L_Found; + mes "There is nothing strange about this tree."; + close; + +L_Found: + mes "You found an egg in the tree."; + close; + +L_PlaceEgg: + mes "Do you want to put an egg in this tree?"; + next; + menu + "Yes", -, + "No", close; + + set @action, 1; + callfunc "Easter2009Object"; + if (@result == 1) goto L_Placed; + if (@result == 2) goto L_AlreadyPlaced; + mes "Strange, there is already an egg in this tree."; + close; + +L_Placed: + mes "You placed an egg in the tree."; + close; + +L_AlreadyPlaced: + mes "You already placed an egg in this tree!"; + close; +} + +function script Easter2009Flower { + if (QUEST_Easter09 == 1) goto L_PlaceEgg; + mes "Do you want to examine these flowers?"; + next; + menu + "Yes", -, + "No", close; + + set @action, 0; + callfunc "Easter2009Object"; + if (@result == 1) goto L_Found; + mes "There is nothing strange about these flowers."; + close; + +L_Found: + mes "You found an egg among the flowers."; + close; + +L_PlaceEgg: + mes "Do you want to hide an egg with these flowers?"; + next; + menu + "Yes", -, + "No", close; + + set @action, 1; + callfunc "Easter2009Object"; + if (@result == 1) goto L_Placed; + if (@result == 2) goto L_AlreadyPlaced; + mes "Strange, there is already an egg here."; + close; + +L_Placed: + mes "You placed an egg with the flowers."; + close; + +L_AlreadyPlaced: + mes "You already placed an egg among these flowers!"; + close; +} + +function script Easter2009Pot { + if (QUEST_Easter09 == 1) goto L_PlaceEgg; + mes "Do you want to examine this pot?"; + next; + menu + "Yes", -, + "No", close; + + set @action, 0; + callfunc "Easter2009Object"; + if (@result == 1) goto L_Found; + mes "There is nothing strange about this pot."; + close; + +L_Found: + mes "You found an egg in the pot."; + close; + +L_PlaceEgg: + mes "Do you want to put an egg in this pot?"; + next; + menu + "Yes", -, + "No", close; + + set @action, 1; + callfunc "Easter2009Object"; + if (@result == 1) goto L_Placed; + if (@result == 2) goto L_AlreadyPlaced; + mes "Strange, there is already an egg in this pot."; + close; + +L_Placed: + mes "You placed an egg in the pot."; + close; + +L_AlreadyPlaced: + mes "You already placed an egg in this pot!"; + close; +} + +function script Easter2009Sign { + if (QUEST_Easter09 == 1) goto L_PlaceEgg; + mes "Do you want to examine this sign?"; + next; + menu + "Yes", -, + "No", close; + + set @action, 0; + callfunc "Easter2009Object"; + if (@result == 1) goto L_Found; + mes "There is nothing strange about this sign."; + close; + +L_Found: + mes "You found an egg near the sign."; + close; + +L_PlaceEgg: + mes "Do you want to put an egg near this sign?"; + next; + menu + "Yes", -, + "No", close; + + set @action, 1; + callfunc "Easter2009Object"; + if (@result == 1) goto L_Placed; + if (@result == 2) goto L_AlreadyPlaced; + mes "Strange, there is already an egg near this sign."; + close; + +L_Placed: + mes "You placed an egg near the sign."; + close; + +L_AlreadyPlaced: + mes "You already placed an egg near this sign!"; + close; +} + +007-1.gat,126,63,0 script Rock 127,{ + set @object, 0; + callfunc "Easter2009Rock"; +} + +009-1.gat,66,33,0 script Pot 127,{ + set @object, 1; + callfunc "Easter2009Pot"; +} + +009-1.gat,93,52,0 script Tree 127,{ + set @object, 2; + callfunc "Easter2009Tree"; +} + +007-1.gat,37,22,0 script Flowers 127,{ + set @object, 3; + callfunc "Easter2009Flower"; +} + +008-1.gat,38,32,0 script Tree 127,{ + set @object, 4; + callfunc "Easter2009Tree"; +} + +008-1.gat,43,21,0 script Flowers 127,{ + set @object, 5; + callfunc "Easter2009Flower"; +} + +018-1.gat,121,88,0 script Tree 127,{ + set @object, 6; + callfunc "Easter2009Tree"; +} + +010-1.gat,103,73,0 script Flowers 127,{ + set @object, 7; + callfunc "Easter2009Flower"; +} + +010-1.gat,31,45,0 script Rock 127,{ + set @object, 8; + callfunc "Easter2009Rock"; +} + +011-1.gat,83,39,0 script Pot 127,{ + set @object, 9; + callfunc "Easter2009Pot"; +} + +011-1.gat,33,78,0 script Tree 127,{ + set @object, 10; + callfunc "Easter2009Tree"; +} + +018-1.gat,64,98,0 script Rock 127,{ + set @object, 11; + callfunc "Easter2009Rock"; +} + +012-1.gat,88,122,0 script Flowers 127,{ + set @object, 12; + callfunc "Easter2009Flower"; +} + +012-1.gat,97,32,0 script Rock 127,{ + set @object, 13; + callfunc "Easter2009Rock"; +} + +012-1.gat,153,101,0 script Tree 127,{ + set @object, 14; + callfunc "Easter2009Tree"; +} + +013-1.gat,118,92,0 script Rock 127,{ + set @object, 15; + callfunc "Easter2009Rock"; +} + +013-1.gat,104,36,0 script Flowers 127,{ + set @object, 16; + callfunc "Easter2009Flower"; +} + +014-1.gat,100,37,0 script Flowers 127,{ + set @object, 17; + callfunc "Easter2009Flower"; +} + +014-1.gat,38,102,0 script Tree 127,{ + set @object, 18; + callfunc "Easter2009Tree"; +} + +014-1.gat,54,50,0 script Sign 127,{ + set @object, 19; + callfunc "Easter2009Sign"; +} + +015-1.gat,59,97,0 script Rock 127,{ + set @object, 20; + callfunc "Easter2009Rock"; +} + +015-1.gat,29,25,0 script Flowers 127,{ + set @object, 21; + callfunc "Easter2009Flower"; +} + +016-1.gat,83,54,0 script Pot 127,{ + set @object, 22; + callfunc "Easter2009Pot"; +} + +016-1.gat,62,83,0 script Sign 127,{ + set @object, 23; + callfunc "Easter2009Sign"; +} + +016-1.gat,20,51,0 script Tree 127,{ + set @object, 24; + callfunc "Easter2009Tree"; +} + +017-1.gat,77,32,0 script Sign 127,{ + set @object, 25; + callfunc "Easter2009Sign"; +} + +017-1.gat,104,90,0 script Tree 127,{ + set @object, 26; + callfunc "Easter2009Tree"; +} + +017-1.gat,37,76,0 script Flowers 127,{ + set @object, 27; + callfunc "Easter2009Flower"; +} + +009-1.gat,29,48,0 script Flowers 127,{ + set @object, 28; + callfunc "Easter2009Flower"; +} + +010-1.gat,127,99,0 script Tree 127,{ + set @object, 29; + callfunc "Easter2009Tree"; +} + +011-1.gat,34,95,0 script Rock 127,{ + set @object, 30; + callfunc "Easter2009Rock"; +} diff --git a/npc/easter2008/monsters.txt b/npc/easter2008/monsters.txt deleted file mode 100644 index d886f519..00000000 --- a/npc/easter2008/monsters.txt +++ /dev/null @@ -1,15 +0,0 @@ -002-2.gat,0,0,0,0 monster EasterFluffy 1027,1,0,0,0 -002-3.gat,0,0,0,0 monster EasterFluffy 1027,1,0,0,0 -001-1.gat,0,0,0,0 monster EasterFluffy 1027,1,0,0,0 -002-4.gat,0,0,0,0 monster EasterFluffy 1027,1,0,0,0 -005-1.gat,0,0,0,0 monster EasterFluffy 1027,1,0,0,0 -011-1.gat,0,0,0,0 monster EasterFluffy 1027,1,0,0,0 -019-1.gat,0,0,0,0 monster EasterFluffy 1027,1,0,0,0 -020-3.gat,0,0,0,0 monster EasterFluffy 1027,1,0,0,0 -010-2.gat,0,0,0,0 monster EasterFluffy 1027,1,0,0,0 -003-1.gat,0,0,0,0 monster EasterFluffy 1027,1,0,0,0 -007-1.gat,0,0,0,0 monster EasterFluffy 1027,1,0,0,0 -011-4.gat,0,0,0,0 monster EasterFluffy 1027,1,0,0,0 -008-1.gat,0,0,0,0 monster EasterFluffy 1027,1,0,0,0 -010-2.gat,0,0,0,0 monster EasterFluffy 1027,1,0,0,0 -05-3.gat,0,0,0,0 monster EasterFluffy 1027,1,0,0,0 \ No newline at end of file diff --git a/npc/easter2008/npc.txt b/npc/easter2008/npc.txt deleted file mode 100644 index e93e27a2..00000000 --- a/npc/easter2008/npc.txt +++ /dev/null @@ -1,49 +0,0 @@ -001-1.gat,40,40,6 script EasterBunny 139,{ - if (QUEST_Easter08_state > 0) goto L_Finished; - - mes "[Easter Bunny]"; - mes "Hi handsome! Happy Easter to you."; - next; - - set @cond, 0; - if (countitem(1208) > 0) set @cond, @cond + 1; - if (countitem(1209) > 0) set @cond, @cond + 1; - if (countitem(1210) > 0) set @cond, @cond + 1; - if (countitem(1211) > 0) set @cond, @cond + 1; - if (countitem(1212) > 0) set @cond, @cond + 1; - if (countitem(1213) > 0) set @cond, @cond + 1; - - if (@cond == 6) goto L_Give; - - L_Message: - mes "[Easter Bunny]"; - mes "Do you want to take part in the big easter egg hunt?"; - mes ""; - mes "There are fluffys all around the world with their magic easter eggs."; - mes "When you catch them and collect 6 different kinds of eggs I will"; - mes "give you a special prize!"; - if (@cond > 0) mes "You already have found "+@cond+" different eggs!"; - close; - - L_Give: - delitem 1208, 1; - delitem 1209, 1; - delitem 1210, 1; - delitem 1211, 1; - delitem 1212, 1; - delitem 1213, 1; - mes "[Easter Bunny]"; - mes "Here is your prize:"; - mes "The official easter 2008 headgear!"; - mes "Have fun!"; - getitem 1214, 1; - set QUEST_Easter08_state, 1; - close; - - L_Finished: - mes "[Easter Bunny]"; - mes "You already completed the quest."; - mes "But maybe you would like to help others complete it, too?"; - close; - -} \ No newline at end of file -- cgit v1.2.3-70-g09d2