diff options
Diffstat (limited to 'world/map/npc/xmas/2011/plushMouboo.txt')
-rw-r--r-- | world/map/npc/xmas/2011/plushMouboo.txt | 199 |
1 files changed, 199 insertions, 0 deletions
diff --git a/world/map/npc/xmas/2011/plushMouboo.txt b/world/map/npc/xmas/2011/plushMouboo.txt new file mode 100644 index 00000000..cbb154af --- /dev/null +++ b/world/map/npc/xmas/2011/plushMouboo.txt @@ -0,0 +1,199 @@ +// This file is part of Christmas Event 2011 +// author: Jenalya +// Plush Mouboo states: +// 1: got order from Rikhard +// 2: Launo said that he needs more material +// 3: Launo created the Plush Mouboo +// 4: gave Plush Mouboo to the bad guy +// 5: delivered the Plush Mouboo without giving it to the bad guy +// 6: delivered fake present instead of Plush Mouboo + +030-2.gat,31,77,0|script|Rikhard|329,{ + + if (!(gettime(7) == $@xmas2011_year && gettime(6) == 12 && gettime(5) >= $@xmas2011_start_day)) + goto L_NoEvent; + if ((gettime(7) == $@xmas2011_year && gettime(6) == 12 && gettime(5) >= $@xmas2011_reward_start_day)) + goto L_RewardTime; + + set @plushmouboo, (xmas11 & $@xmas11_PlushMoubooMask) >> $@xmas11_PlushMoubooShift; + + if (@plushmouboo > 0) goto L_Ordered; + if (xmas11 & $@xmas11_talkedToChief) goto L_Helping; + + mes "You see some guy grubbing in a huge bunch of paper."; + mes "[Busy Helper]"; + mes "\"Where is this fu-\""; + mes "He suddenly notices you nearby."; + mes "[Busy Helper]"; + mes "\"- ahrm, fiddly paper.\""; + goto L_Close; + +L_Helping: + mes "[Rikhard]"; + mes "\"Ah! You just came in the right moment! I need someone to deliver this Christmas-present-toy-ordering-form to Launo."; + mes "Here, take this.\""; + mes "He puts some piece of paper in your hand."; + next; + mes "It seems to be some kind of form, but is very confusing to you. It contains a lot of boxes with some numbers scrabbled in and some hard to read words."; + menu + "Er, what is this?",-, + "Wait a sec, what do you want me to do with that?",-; + mes "Rikhard mumbles something about hiring nonskilled workers."; + mes "[Rikhard]"; + mes "\"Ok, listen - we're organizing the Christmas business here. We're keeping track about who was a good or bad kid this year and what was written on the wish lists."; + mes "And the good children get what they wished, remember? So, this is a Christmas-present-toy-ordering-form to order a Plush Mouboo for some very well-behaved cute little girl.\""; + next; + mes "\"Launo is very skilled at creating plush toys, so you need to bring him this form.\""; + mes "He waves at you with his hand and then digs into the papers again."; + set @plushmouboo, 1; + set xmas11, (xmas11 & ~($@xmas11_PlushMoubooMask) | (@plushmouboo << $@xmas11_PlushMoubooShift)); + goto L_Close; + +L_Ordered: + mes "[Rikhard]"; + mes "\"Did you already give Launo the Christmas-present-toy-ordering-form? Yes?"; + mes "Ok, I have some more paperwork to do, so please don't interrupt.\""; + goto L_Close; + +L_NoEvent: + mes "[Rikhard]"; + mes "\"How did you come in? At this time of the year the door should be locked!\""; + warp "030-1.gat", 99, 55; + goto L_Close; + +L_RewardTime: + mes "[Rikhard]"; + mes "\"With sufficient organization you can achieve everything.\""; + mes "He smiles happily."; + goto L_Close; + +L_Close: + set @plushmouboo, 0; + close; +} + +030-2.gat,135,31,0|script|Launo|329,{ + + if (!(gettime(7) == $@xmas2011_year && gettime(6) == 12 && gettime(5) >= $@xmas2011_start_day)) + goto L_NoEvent; + if ((gettime(7) == $@xmas2011_year && gettime(6) == 12 && gettime(5) >= $@xmas2011_reward_start_day)) + goto L_RewardTime; + + set @plushmouboo, (xmas11 & $@xmas11_PlushMoubooMask) >> $@xmas11_PlushMoubooShift; + set @cotton_amount, 5; + set @fur_amount, 2; + + if (@plushmouboo >= 3) goto L_PlushMoubooDone; + if (@plushmouboo == 2) goto L_PlushMouboo; + if (@plushmouboo == 1) goto L_Order; + if (xmas11 & $@xmas11_talkedToChief) goto L_Helping; + + mes "[Busy Helper]"; + mes "\"Mh, mh, mh. This is not good.\""; + goto L_Close; + +L_Helping: + mes "[Launo]"; + mes "\"Mh? Oh, you're here to help?"; + mes "That's very kind of you.\""; + next; + mes "\"Though I can't do anything right now."; + mes "I'm specialized in making plush toys. Usually I'd just create dozens of them and if they aren't on this years wishing lists, they'd be used next year.\""; + mes "He sighs."; + next; + mes "\"But since we're short in material we got the order to only create toys that are requested."; + mes "And now I sit here and wait to get such an order. But the guys up in the office seems to have some problems to get their paperwork done."; + mes "Maybe you can go up there and ask if there's a plush toy to make?\""; + goto L_Close; + +L_Order: + mes "Launo sighs."; + mes "[Launo]"; + mes "\"I wish I had an order for a toy.\""; + menu + "I have one for you! Rikhard gave me an order for a Plush Mouboo.",-, + "Well, bad luck.", L_Close; + mes "Launos gets a happier look on his face."; + mes "[Launo]"; + mes "\"A Plush Mouboo? I love doing them!"; + mes "Ok, let's see if I have all the material needed.\""; + next; + mes "[Launo]"; + mes "\"Hrm, it seems I need some more Cotton, could you bring me " + @cotton_amount + " Cotton Cloths?"; + mes "And I need some fur to make the belly extra fluffy. " + @fur_amount + " pieces of White Fur would be good, I can dye the color myself.\""; + set @plushmouboo, 2; + callsub S_Update_Var; + goto L_Close; + +L_PlushMouboo: + mes "[Launo]"; + mes "\"I need " + @cotton_amount + " Cotton Cloths and " + @fur_amount + " pieces of White Fur for the Plush Mouboo.\""; + menu + "I have it!",-, + "I'm still working on that.",L_Close; + if ((countitem("CottonCloth") < @cotton_amount) || (countitem("WhiteFur") < @fur_amount)) + goto L_NoItems; + delitem "CottonCloth", @cotton_amount; + delitem "WhiteFur", @fur_amount; + set @plushmouboo, 3; + callsub S_Update_Var; + getitem "PlushMouboo", 1; + mes "[Launo]"; + mes "\"Excellent! I'll start right away.\""; + next; + mes "He takes puts the items you gave him into some pot with brown dye and takes it out after short while, putting it to dry on the desk."; + mes "In the meanwhile he rummages in his workbench and gets out some tools and wood template."; + next; + mes "The workbench seems to have a heating mechanism or someting since the cloth and fur is already dry."; + mes "He takes the wood template, puts it on the cloth and draws very tiny lines on it. Then he cuts it out with very quick but confident movements."; + next; + mes "After that he takes the different parts and starts to sew them together."; + mes "He stops before it's finished, leaving a hole where he puts in some stuffing."; + next; + mes "He's kneading it a bit to arrange the stuffing properly in the toy and finally stitches up the hole."; + mes "Finally he adds some knob for the eyes and presents you the Plush Mouboo."; + next; + mes "[Launo]"; + mes "\"Here you go! Isn't it felicitous?\""; + menu + "Wow, that was quick!",-; + mes "[Launo]"; + mes "\"Well yeah, I'm used to work quickly. Usually we produce much more toys.\""; + mes "However, now it needs to be put in a present box and then that box have to be wrapped.\""; + next; + mes "\"Could you take care about that? Urmas should have some boxes for you and Reino takes care about the wrapping paper."; + mes "The place to wrap the presents is at Aaron's desk.\""; + goto L_Close; + +L_PlushMoubooDone: + mes "[Launo]"; + mes "\"I feel much better now after I got some work done. Please take care about packing, wrapping and giving it to Aaron.\""; + goto L_Close; + +L_NoEvent: + mes "[Launo]"; + mes "\"How did you come in? At this time of the year the door should be locked!\""; + warp "030-1.gat", 99, 55; + goto L_Close; + +L_RewardTime: + mes "[Launo]"; + mes "\"Hu, it was really stressful this year."; + mes "But imagining the happy kids cuddling the plush toys I made - that makes amends for all that.\""; + goto L_Close; + +L_NoItems: + mes "[Launo]"; + mes "\"You don't have it!\""; + goto L_Close; + +L_Close: + set @cotton_amount, 0; + set @fur_amount, 0; + set @plushmouboo, 0; + close; + +S_Update_Var: + set xmas11, (xmas11 & ~($@xmas11_PlushMoubooMask) | (@plushmouboo << $@xmas11_PlushMoubooShift)); + return; +} |