Root break update

Roots will not break from damage spells if spell skill is set to 200. Live mechanic.
This commit is contained in:
KayenEQ 2025-04-03 18:42:53 -04:00
parent 5babc864b9
commit 359f90a987
2 changed files with 5 additions and 1 deletions

View File

@ -246,6 +246,8 @@
#define MAX_INVISIBILTY_LEVEL 254 #define MAX_INVISIBILTY_LEVEL 254
#define NO_ROOT_BREAK 200
//instrument item id's used as song components //instrument item id's used as song components
#define INSTRUMENT_HAND_DRUM 13000 #define INSTRUMENT_HAND_DRUM 13000
#define INSTRUMENT_WOODEN_FLUTE 13001 #define INSTRUMENT_WOODEN_FLUTE 13001

View File

@ -4439,8 +4439,9 @@ void Mob::CommonDamage(Mob* attacker, int64 &damage, const uint16 spell_id, cons
if (IsValidSpell(spell_id) && !iBuffTic) { if (IsValidSpell(spell_id) && !iBuffTic) {
//see if root will break //see if root will break
if (IsRooted() && !FromDamageShield) // neotoyko: only spells cancel root if (IsRooted() && !FromDamageShield && spells[spell_id].skill != NO_ROOT_BREAK) { // neotoyko: only spells cancel root
TryRootFadeByDamage(buffslot, attacker); TryRootFadeByDamage(buffslot, attacker);
}
} }
else if (!IsValidSpell(spell_id)) else if (!IsValidSpell(spell_id))
{ {
@ -6223,6 +6224,7 @@ bool Mob::TryRootFadeByDamage(int buffslot, Mob* attacker) {
- If multiple roots on target, always and only checks first root slot and if broken only removes that slots root. - If multiple roots on target, always and only checks first root slot and if broken only removes that slots root.
- Only roots on determental spells can be broken by damage. - Only roots on determental spells can be broken by damage.
- Root break chance values obtained from live parses. - Root break chance values obtained from live parses.
- If casting skill is set to 200 then spell can not break root
*/ */
if (!attacker || !spellbonuses.Root[SBIndex::ROOT_EXISTS] || spellbonuses.Root[SBIndex::ROOT_BUFFSLOT] < 0) { if (!attacker || !spellbonuses.Root[SBIndex::ROOT_EXISTS] || spellbonuses.Root[SBIndex::ROOT_BUFFSLOT] < 0) {