diff options
author | wushin <pasekei@gmail.com> | 2014-06-23 18:57:52 -0500 |
---|---|---|
committer | wushin <pasekei@gmail.com> | 2014-06-25 10:50:14 -0500 |
commit | 623f98ef8f4efa72d6ff7355517b0ace7235ef72 (patch) | |
tree | 033e71b068509c506ee9be57cdebd0d361c65381 /world/map/npc/items | |
parent | 511dc33bfe89c98251579d72ff7f3fa795e29d15 (diff) | |
download | serverdata-623f98ef8f4efa72d6ff7355517b0ace7235ef72.tar.gz serverdata-623f98ef8f4efa72d6ff7355517b0ace7235ef72.tar.bz2 serverdata-623f98ef8f4efa72d6ff7355517b0ace7235ef72.tar.xz serverdata-623f98ef8f4efa72d6ff7355517b0ace7235ef72.zip |
Starting Area Redux
* Tutorial is a quick funnel
* Exits are obvious and open
* New Side Quests
** Valon's Beast Mastery
** Zegas's Barrels
** Magic Wand
* Some Quests stay open after tutorial is done
* House Maggot & Tame Scorpion added
* Made Magic usable for lowbies with Wand
Diffstat (limited to 'world/map/npc/items')
-rw-r--r-- | world/map/npc/items/check_wand.txt | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/world/map/npc/items/check_wand.txt b/world/map/npc/items/check_wand.txt new file mode 100644 index 00000000..1b11dfc2 --- /dev/null +++ b/world/map/npc/items/check_wand.txt @@ -0,0 +1,65 @@ +// Wands +// Author: Wushin +function|script|WandMana|, +{ + callfunc "CheckWand"; + set @WandCost, (@Wand * ((MaxSp / 10) + 2)); + set @WandAttack, 0; + if (!(@Wand)) + goto L_NoWand; + if (Sp >= @WandCost) + goto L_Attack; + goto L_LowSp; + +L_Attack: + set Sp, (Sp - @WandCost); + set @WandAttack, 1; + goto L_Return; + +L_NoWand: + message strcharinfo(0), "You need a wand Equipped!"; + set @WandAttack, 0; + goto L_Return; + +L_LowSp: + message strcharinfo(0), "Out of Mana"; + set @WandAttack, 0; + goto L_Return; + +L_Return: + return; +} +function|script|CheckWand|, +{ + setarray $@Wands, 758, 1171; + setarray $@WandsPwr, 2, 1; + set @Wand, 0; + set @wand_loop, 0; + goto L_Loop; + +L_Loop: + if ((getequipid(equip_hand1) == $@Wands[@wand_loop]) || (getequipid(equip_hand2) == $@Wands[@wand_loop])) + goto L_SetWand; + goto L_LoopAgain; + +L_SetWand: + set @Wand, $@WandsPwr[@wand_loop]; + callfunc "MorganState"; + if (@morgan == 2) + goto L_SetCastOnce; + goto L_Return; + +L_LoopAgain: + set @wand_loop, (@wand_loop + 1); + if (@wand_loop >= getarraysize($@Wands)) + goto L_Return; + goto L_Loop; + +L_SetCastOnce: + set @morgan_tmp, 3; + callfunc "SetMorganMask"; + goto L_Return; + +L_Return: + return; +} |