diff options
Diffstat (limited to 'world/map/npc/items')
-rw-r--r-- | world/map/npc/items/max_stat.txt | 23 | ||||
-rw-r--r-- | world/map/npc/items/nobow_item.txt | 29 |
2 files changed, 52 insertions, 0 deletions
diff --git a/world/map/npc/items/max_stat.txt b/world/map/npc/items/max_stat.txt new file mode 100644 index 00000000..a8c72190 --- /dev/null +++ b/world/map/npc/items/max_stat.txt @@ -0,0 +1,23 @@ +// ------------------------------------------------------------ +// Variables passed to this script: +// @slotId The slot in which the item would have been equipped in. +// This is passed automagically when called in an equip script. +// @bStat The stat to check against. +// Usually one of: bStr, bAgi, bVit, bInt, bDex, bLuk; +// but can be anything that works with . +// @maxbStatVal The minimum stat value to accept this item. +// ------------------------------------------------------------ + +function|script|RequireMaxStat +{ + set @bStatVal, @bStat; + // If the requirement isn't met, we set an unequip trigger. + // The item is now removed. + if (@bStat > @maxbStatVal) + goto L_Unequip; + return; + +L_Unequip: + callfunc "UnequipLater"; + return; +} diff --git a/world/map/npc/items/nobow_item.txt b/world/map/npc/items/nobow_item.txt new file mode 100644 index 00000000..a518fdf4 --- /dev/null +++ b/world/map/npc/items/nobow_item.txt @@ -0,0 +1,29 @@ +// Cannot have a (power) bow in inventory to equip +// Variables passed to this script: +// @slotId The slot in which the item would have been equipped in. This is passed automagically when called in an equip script. + +function|script|NoBowItem +{ + // Developers are always allowed to use this item + if (getgmlevel() >= G_DEV) + goto L_Return; + + // Bows which are not allowed + if (countitem("BansheeBow") > 0) + goto L_Abort; + if (countitem("DesertBow") > 0) + goto L_Abort; + if (countitem("ForestBow") > 0) + goto L_Abort; + // Don't care with Bow/ShortBow/slings and darts + + goto L_Return; + +L_Abort: + message strcharinfo(0), "This item is too cumbersome to use and could potentially break your valuable bow by accident. So you give up."; + callfunc "UnequipLater"; + goto L_Return; + +L_Return: + return; +} |