diff options
author | Jessica Tölke <jtoelke@mail.upb.de> | 2011-09-08 20:36:29 +0200 |
---|---|---|
committer | Jessica Tölke <jtoelke@mail.upb.de> | 2011-09-08 20:36:29 +0200 |
commit | 5ea6c568c86d9c0f76983705258951e2db9974fa (patch) | |
tree | 94a402b645140a7bb9fbfa467a73cfb30d880a56 /world/map/npc/012-1/injured-mouboo.txt | |
parent | 2629fa14c6f7e6a5a7a71f5c784424cf80189f17 (diff) | |
parent | cba4de9a5f7b9de412b9f458c80904cee9764a85 (diff) | |
download | serverdata-5ea6c568c86d9c0f76983705258951e2db9974fa.tar.gz serverdata-5ea6c568c86d9c0f76983705258951e2db9974fa.tar.bz2 serverdata-5ea6c568c86d9c0f76983705258951e2db9974fa.tar.xz serverdata-5ea6c568c86d9c0f76983705258951e2db9974fa.zip |
Merge remote-tracking branch 'testing/master'v2011.09.08
Diffstat (limited to 'world/map/npc/012-1/injured-mouboo.txt')
-rw-r--r-- | world/map/npc/012-1/injured-mouboo.txt | 361 |
1 files changed, 174 insertions, 187 deletions
diff --git a/world/map/npc/012-1/injured-mouboo.txt b/world/map/npc/012-1/injured-mouboo.txt index 1aa780f5..57117d17 100644 --- a/world/map/npc/012-1/injured-mouboo.txt +++ b/world/map/npc/012-1/injured-mouboo.txt @@ -1,231 +1,218 @@ // The following auxiliary function is used both by appropriate magic and within the regular script: -function script QuestMoubooHeal { - set @Q_MASK, NIBBLE_2_MASK; - set @Q_SHIFT, NIBBLE_2_SHIFT; - - set @Q_status, (QUEST_MAGIC & @Q_MASK) >> @Q_SHIFT; - set @Q_status_upper, @Q_status & 12; - set @Q_status, @Q_status & 3; - - set @STATE_INITIAL, 0; - set @STATE_HEALED_MOUBOO, 3; - - if (@Q_status != @STATE_INITIAL) - goto L_nothing; - - set @Q_status, @STATE_HEALED_MOUBOO; - callsub S_update_var; - mes "[Injured Mouboo]"; - mes "A soft white glow surrounds the mouboo's leg, which slowly shifts back into place."; - mes "As the glow subsides, the mouboo gets up, carefully, and takes a few steps. It seems to be fully healed!"; - mes "[5000 experience points]"; - getexp 5000, 0; - next; - - mes "[Injured Mouboo]"; - mes "Visibly happy, the mouboo lies down on the ground and snuggles with a black piece of cloth it had been lying on."; - mes "The healing process must have been exhausting, for it is asleep in an instant."; - next; - set @value, 15; - callfunc "QuestSagathaHappy"; - close; +function|script|QuestMoubooHeal|{ + set @Q_MASK, NIBBLE_2_MASK; + set @Q_SHIFT, NIBBLE_2_SHIFT; + + set @Q_status, (QUEST_MAGIC & @Q_MASK) >> @Q_SHIFT; + set @Q_status_upper, @Q_status & 12; + set @Q_status, @Q_status & 3; + + set @STATE_INITIAL, 0; + set @STATE_HEALED_MOUBOO, 3; + + if (@Q_status != @STATE_INITIAL) + goto L_nothing; + + set @Q_status, @STATE_HEALED_MOUBOO; + callsub S_update_var; + mes "[Injured Mouboo]"; + mes "A soft white glow surrounds the mouboo's leg, which slowly shifts back into place."; + mes "As the glow subsides, the mouboo gets up, carefully, and takes a few steps. It seems to be fully healed!"; + mes "[5000 experience points]"; + getexp 5000, 0; + next; + mes "[Injured Mouboo]"; + mes "Visibly happy, the mouboo lies down on the ground and snuggles with a black piece of cloth it had been lying on."; + mes "The healing process must have been exhausting, for it is asleep in an instant."; + next; + set @value, 15; + callfunc "QuestSagathaHappy"; + close; L_nothing: - mes "Your spell has no effect."; - close; + mes "Your spell has no effect."; + close; S_update_var: - set @Q_wr_status, @Q_status | @Q_status_upper; - set QUEST_MAGIC, - (QUEST_MAGIC & ~(@Q_MASK) - | (@Q_wr_status << @Q_SHIFT)); - return; + set @Q_wr_status, @Q_status | @Q_status_upper; + set QUEST_MAGIC, + (QUEST_MAGIC & ~(@Q_MASK) + | (@Q_wr_status << @Q_SHIFT)); + return; } +012-1.gat,57,153,0|script|Mouboo|171,{ + set @Q_MASK, NIBBLE_2_MASK; + set @Q_SHIFT, NIBBLE_2_SHIFT; + set @Q_status, (QUEST_MAGIC & @Q_MASK) >> @Q_SHIFT; + set @Q_status_upper, @Q_status & 12; + set @Q_status, @Q_status & 3; -012-1.gat,57,153,0 script Mouboo 171,{ - set @Q_MASK, NIBBLE_2_MASK; - set @Q_SHIFT, NIBBLE_2_SHIFT; + set @STATE_INITIAL, 0; + set @STATE_KILLED_MOUBOO, 1; + set @STATE_TOOK_KILL_REWARD, 2; + set @STATE_HEALED_MOUBOO, 3; - set @Q_status, (QUEST_MAGIC & @Q_MASK) >> @Q_SHIFT; - set @Q_status_upper, @Q_status & 12; - set @Q_status, @Q_status & 3; + if (@Q_status == @STATE_KILLED_MOUBOO) + goto L_dead; + if (@Q_status == @STATE_TOOK_KILL_REWARD) + goto L_took_reward; + if (@Q_status == @STATE_HEALED_MOUBOO) + goto L_healed; - set @STATE_INITIAL, 0; - set @STATE_KILLED_MOUBOO, 1; - set @STATE_TOOK_KILL_REWARD, 2; - set @STATE_HEALED_MOUBOO, 3; - - if (@Q_status == @STATE_KILLED_MOUBOO) - goto L_dead; - if (@Q_status == @STATE_TOOK_KILL_REWARD) - goto L_took_reward; - if (@Q_status == @STATE_HEALED_MOUBOO) - goto L_healed; - - mes "[Injured Mouboo]"; - mes "You notice a mouboo lying on the ground, groaning, as if in pain."; - next; + mes "[Injured Mouboo]"; + mes "You notice a mouboo lying on the ground, groaning, as if in pain."; + next; L_menu: - menu - "Examine the mouboo", L_examine, - "Give the mouboo something", L_give, - "Kill the mouboo", L_kill, - "Leave", -; - close; + menu + "Examine the mouboo", L_examine, + "Give the mouboo something", L_give, + "Kill the mouboo", L_kill, + "Leave", -; + close; L_examine: - mes "[Injured Mouboo]"; - mes "Looking closer, you notice that the mouboo's left hind leg is bent at a very unnatural angle-- that seems to be the cause for its pain."; - next; - mes "[Injured Mouboo]"; - mes "You also notice that the mouboo is lying on top of what appears to be a black turtleneck sweater."; - mes "Do you want to pick up the sweater?"; - next; - menu - "Yes.", L_pickup_alive, - "No.", L_menu; - goto L_menu; + mes "[Injured Mouboo]"; + mes "Looking closer, you notice that the mouboo's left hind leg is bent at a very unnatural angle-- that seems to be the cause for its pain."; + next; + mes "[Injured Mouboo]"; + mes "You also notice that the mouboo is lying on top of what appears to be a black turtleneck sweater."; + mes "Do you want to pick up the sweater?"; + next; + menu + "Yes.", L_pickup_alive, + "No.", L_menu; + goto L_menu; L_pickup_alive: - mes "[Injured Mouboo]"; - mes "The Mouboo groans and pushes your hand away. It seems to be rather fond of the sweater."; - next; - goto L_menu; + mes "[Injured Mouboo]"; + mes "The Mouboo groans and pushes your hand away. It seems to be rather fond of the sweater."; + next; + goto L_menu; L_give: - set @items_nr, 12; - setarray @items$, "CactusDrink", "CactusPotion", "ChocolateBar", "Milk", "OrangeCupcake", "RedApple", "Beer", "BottleOfWater", "TinyHealingPotion", "SmallHealingPotion", "MediumHealingPotion", "LargeHealingPotion"; - setarray @itemeat, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0; + set @items_nr, 12; + setarray @items$, "CactusDrink", "CactusPotion", "ChocolateBar", "Milk", "OrangeCupcake", "RedApple", "Beer", "BottleOfWater", "TinyHealingPotion", "SmallHealingPotion", "MediumHealingPotion", "LargeHealingPotion"; + setarray @itemeat, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0; - setarray @menuItems$, "", "", "", "", "", "", "", "", "", "", "", "", ""; - set @choices_nr, 0; - setarray @menuNames$, "", "", "", "", "", "", "", "", "", "", "", "", ""; - setarray @choice_eat, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0; + setarray @menuItems$, "", "", "", "", "", "", "", "", "", "", "", "", ""; + set @choices_nr, 0; + setarray @menuNames$, "", "", "", "", "", "", "", "", "", "", "", "", ""; + setarray @choice_eat, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0; + + set @n, 0; + set @ct, 0; - set @n, 0; - set @ct, 0; L_nloop: - set @k$, @items$[@n]; - if (countitem(@k$) == 0) - goto L_nloop_skip; + set @k$, @items$[@n]; + if (countitem(@k$) == 0) + goto L_nloop_skip; - set @name$, getitemname(@k$); - set @menuItems$[@ct], @name$; - set @menuNames$[@ct], @k$; - set @choice_eat[@ct], @itemeat[@n]; - set @ct, @ct + 1; + set @name$, getitemname(@k$); + set @menuItems$[@ct], @name$; + set @menuNames$[@ct], @k$; + set @choice_eat[@ct], @itemeat[@n]; + set @ct, @ct + 1; L_nloop_skip: - - set @n, @n+1; - if (@n < @items_nr) - goto L_nloop; - - set @menuItems$[@ct], "Nevermind"; - - menu @menuItems$[0], -, - @menuItems$[1], -, - @menuItems$[2], -, - @menuItems$[3], -, - @menuItems$[4], -, - @menuItems$[5], -, - @menuItems$[6], -, - @menuItems$[7], -, - @menuItems$[8], -, - @menuItems$[9], -, - @menuItems$[10], -, - @menuItems$[11], -, - @menuItems$[12], -; - - set @menu, @menu - 1; - - if (@menu == @ct) goto L_menu; - - set @choice$, @menuNames$[@menu]; - set @verb$, "drinks"; - if (@choice_eat[@menu]) - set @verb$, "eats"; - - if (@choice$ != "" && countitem(@choice$)) - goto L_consume; - - goto L_menu; + set @n, @n+1; + if (@n < @items_nr) + goto L_nloop; + + set @menuItems$[@ct], "Nevermind"; + + menu + @menuItems$[0], -, + @menuItems$[1], -, + @menuItems$[2], -, + @menuItems$[3], -, + @menuItems$[4], -, + @menuItems$[5], -, + @menuItems$[6], -, + @menuItems$[7], -, + @menuItems$[8], -, + @menuItems$[9], -, + @menuItems$[10], -, + @menuItems$[11], -, + @menuItems$[12], -; + + set @menu, @menu - 1; + if (@menu == @ct) + goto L_menu; + set @choice$, @menuNames$[@menu]; + set @verb$, "drinks"; + if (@choice_eat[@menu]) + set @verb$, "eats"; + if (@choice$ != "" && countitem(@choice$)) + goto L_consume; + goto L_menu; L_consume: - mes "[Injured Mouboo]"; - mes "The mouboo " + @verb$ + " your " + getitemname(@choice$) + "."; - delitem @choice$, 1; - next; - - if (@choice$ == "LargeHealingPotion") - goto L_do_heal; - - - mes "[Injured Mouboo]"; - mes "Unfortunately, it seems to have had no effect."; - next; - goto L_menu; + mes "[Injured Mouboo]"; + mes "The mouboo " + @verb$ + " your " + getitemname(@choice$) + "."; + delitem @choice$, 1; + next; + if (@choice$ == "LargeHealingPotion") + goto L_do_heal; + mes "[Injured Mouboo]"; + mes "Unfortunately, it seems to have had no effect."; + next; + goto L_menu; L_do_heal: - callfunc "QuestMoubooHeal"; + callfunc "QuestMoubooHeal"; L_kill: - mes "[Injured Mouboo]"; - if (BaseLevel > 44) - goto L_kill_success; - mes "The mouboo deflects your attack and counterattacks!"; - mes "It misses you only barely."; - mes "Injured though it may be, this mouboo is still more than a match for you!"; - next; - goto L_menu; + mes "[Injured Mouboo]"; + if (BaseLevel > 44) + goto L_kill_success; + mes "The mouboo deflects your attack and counterattacks!"; + mes "It misses you only barely."; + mes "Injured though it may be, this mouboo is still more than a match for you!"; + next; + goto L_menu; L_kill_success: - mes "After some wrestling, the mouboo succumbs to your attacks."; - mes "[100 experience points]"; - getexp 100, 0; - - set @Q_status, @STATE_KILLED_MOUBOO; - callsub S_update_var; - - next; + mes "After some wrestling, the mouboo succumbs to your attacks."; + mes "[100 experience points]"; + getexp 100, 0; + set @Q_status, @STATE_KILLED_MOUBOO; + callsub S_update_var; + next; L_dead: - mes "[Dead Mouboo]"; - mes "The dead mouboo is lying on top of a black T-neck sweater."; - - getinventorylist; - if (@inventorylist_count == 100) - goto L_nopickup; - - getitem "BlackTurtleneckSweater", 1; - mes "You pull out the sweater and stuff it into your backpack."; - - set @Q_status, @STATE_TOOK_KILL_REWARD; - callsub S_update_var; - close; + mes "[Dead Mouboo]"; + mes "The dead mouboo is lying on top of a black T-neck sweater."; + getinventorylist; + if (@inventorylist_count == 100) + goto L_nopickup; + getitem "BlackTurtleneckSweater", 1; + mes "You pull out the sweater and stuff it into your backpack."; + set @Q_status, @STATE_TOOK_KILL_REWARD; + callsub S_update_var; + close; L_took_reward: - mes "[Dead Mouboo]"; - mes "You see a dead mouboo."; - close; + mes "[Dead Mouboo]"; + mes "You see a dead mouboo."; + close; L_nopickup: - mes "Unfortunately, you can't carry any more."; - close; + mes "Unfortunately, you can't carry any more."; + close; L_healed: - mes "[Mouboo]"; - mes "The mouboo is sleeping soundly, smiling in its dreams."; - close; + mes "[Mouboo]"; + mes "The mouboo is sleeping soundly, smiling in its dreams."; + close; S_update_var: - set @Q_wr_status, @Q_status | @Q_status_upper; - set QUEST_MAGIC, - (QUEST_MAGIC & ~(@Q_MASK) - | (@Q_wr_status << @Q_SHIFT)); - return; -} + set @Q_wr_status, @Q_status | @Q_status_upper; + set QUEST_MAGIC, + (QUEST_MAGIC & ~(@Q_MASK) + | (@Q_wr_status << @Q_SHIFT)); + return; +}
\ No newline at end of file |