// 012-1,36,99,0|shop|#FlowerShop|32767,RedRose:*1,PinkRose:*1,YellowRose:*1,WhiteRose:*1,OrangeRose:*1,DarkRedRose:*1,RedTulip:*1,PinkTulip:*1,YellowTulip:*1,WhiteTulip:*1,OrangeTulip:*1 012-1,36,99,0|shop|#FlowerPetalShop|32767,PinkPetal:*1,RedRose:*1,PinkRose:*1,YellowRose:*1,WhiteRose:*1,OrangeRose:*1,DarkRedRose:*1,RedTulip:*1,PinkTulip:*1,YellowTulip:*1,WhiteTulip:*1,OrangeTulip:*1 012-1,36,99,0|script|Blossom|163 { goto L_Start; L_Start: set @shopopt$, ""; if ( (HURNS1_STATE & BYTE_0_MASK) < PINK_PETAL_SHOP_ASKED_FOR_PETALS ) set @shopopt$, "Do you sell Pink Petals?"; if ( (HURNS1_STATE & BYTE_0_MASK) >= PINK_PETAL_SHOP_ASKED_FOR_PETALS && (HURNS1_STATE & BYTE_0_MASK) < PINK_PETAL_SHOP_FOUND_FLOWER_SEEDS ) set @shopopt$, "How many Pink Flower Seeds do I need again?"; if ( (HURNS1_STATE & BYTE_0_MASK) == PINK_PETAL_SHOP_FOUND_FLOWER_SEEDS ) set @shopopt$, "I want to deliver the Pink Flower Seeds."; mes "[Blossom]"; mes "\"Hello, would you like to buy some flowers?\""; menu "Sure.", L_Shop, "Not right now.", L_Close, "Can I trade this Rose Hat for a differently colored one?", L_RoseHat, @shopopt$, L_Petals; L_Shop: if ( (HURNS1_STATE & BYTE_0_MASK) == PINK_PETAL_SHOP_DELIVERED_FLOWER_SEEDS ) goto L_ShopPetals; close2; shop "#FlowerShop"; L_ShopPetals: close2; shop "#FlowerPetalShop"; L_Petals: if ( (HURNS1_STATE & BYTE_0_MASK) >= PINK_PETAL_SHOP_ASKED_FOR_PETALS && (HURNS1_STATE & BYTE_0_MASK) < PINK_PETAL_SHOP_FOUND_FLOWER_SEEDS ) goto L_HowMany; if ( (HURNS1_STATE & BYTE_0_MASK) == PINK_PETAL_SHOP_FOUND_FLOWER_SEEDS ) goto L_Deliver; set HURNS1_STATE, (HURNS1_STATE & ~BYTE_0_MASK) | PINK_PETAL_SHOP_ASKED_FOR_PETALS; mes "[Blossom]"; mes "\"Not at the moment, but I could grow some if you bring me " + PINK_FLOWER_SEEDS_NEEDED + " [@@"+ PinkFlowerSeed + "|Pink Flower Seeds@@].\""; goto L_Close; L_HowMany: mes "[Blossom]"; mes "\"You need " + PINK_FLOWER_SEEDS_NEEDED + " [@@"+ PinkFlowerSeed + "|Pink Flower Seeds@@].\""; goto L_Close; L_Deliver: if ( countitem(PinkFlowerSeed) < PINK_FLOWER_SEEDS_NEEDED ) goto L_HowMany; set HURNS1_STATE, (HURNS1_STATE & ~BYTE_0_MASK) | PINK_PETAL_SHOP_DELIVERED_FLOWER_SEEDS; delitem PinkFlowerSeed, PINK_FLOWER_SEEDS_NEEDED; mes "[Blossom]"; mes "\"Wonderful! You found all the [@@"+ PinkFlowerSeed + "|Pink Flower Seeds@@]."; mes "I found some myself while you where away, so I already have [@@" + PinkPetal +"|Pink Petals@@] in stock. These flowers grow really fast."; mes "With all your seeds, I can now establish a lifetime supply for you.\""; goto L_Close; L_RoseHat: set @base_id, 897; mes "[Blossom]"; mes "\"Certainly, which color do you have?\""; menu "A red one.", L_MenuItems, "A white one.", L_MenuItems, "A pink one.", L_MenuItems, "A yellow one.", L_MenuItems, "An orange one.", L_MenuItems, "A blue one.", L_MenuItems; L_MenuItems: set @have_id, @base_id + @menu - 1; mes "[Blossom]"; mes "\"And which color would you like?\""; menu "A red one.", L_MenuItems1, "A white one.", L_MenuItems1, "A pink one.", L_MenuItems1, "A yellow one.", L_MenuItems1, "An orange one.", L_MenuItems1, "A blue one.", L_MenuItems1; L_MenuItems1: set @receive_id, @base_id + @menu - 1; if (@have_id == @receive_id) goto L_SameColor; if (countitem(@have_id) < 1) goto L_NoItem; delitem @have_id, 1; getitem @receive_id, 1; mes "[Blossom]"; mes "\"Here it is.\""; goto L_Close; L_NoItem: mes "[Blossom]"; mes "\"Oh, you don't have a Rose Hat in that color."; mes "Did you mean a different color?\""; menu "Yes, I meant a different color.", L_RoseHat, "No, I changed my mind.", L_Close; L_SameColor: mes "[Blossom]"; mes "\"Oh, you already have a hat in that color."; mes "Did you want something else?\""; menu "Yes, let me pick a different color.", L_RoseHat, "No, I changed my mind.", L_Close; L_Close: set @base_id, 0; set @have_id, 0; set @receive_id, 0; close; }