From 965ef3e88a407aceffd7aea0d33eb92adb993aa3 Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Thu, 4 Feb 2021 12:19:44 -0300 Subject: Final batch of changes and balance after through testing with Ledmitz (and Prsm$ - Fix bugs on @getexp and @chargetexp - Bump exp for Beheader quest from 400k to 750k - Beheader: 999 DMG +50% Double Attack, 1800ms, -20% HIT, -25% CRIT. No int and no bow. NOTE: The -20 HIT might be or not be lowered further. Beheader is not as powerful as it looks like! --- world/map/npc/items/max_stat.txt | 23 +++++++++++++++++++++++ world/map/npc/items/nobow_item.txt | 29 +++++++++++++++++++++++++++++ 2 files changed, 52 insertions(+) create mode 100644 world/map/npc/items/max_stat.txt create mode 100644 world/map/npc/items/nobow_item.txt (limited to 'world/map/npc/items') 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; +} -- cgit v1.2.3-60-g2f50