From d7d99152acb48d81c82c87de5214e85afba5cf35 Mon Sep 17 00:00:00 2001 From: Xackery Date: Mon, 15 Apr 2024 03:39:29 -0700 Subject: [PATCH] [Feature] Fix ignore_default on lua mod damage (#4228) * Fix ignore_default on lua mod damage * Add missing init calls --- zone/attack.cpp | 12 ++---------- zone/lua_mod.cpp | 2 ++ 2 files changed, 4 insertions(+), 10 deletions(-) diff --git a/zone/attack.cpp b/zone/attack.cpp index 50826fba6..4375d13fc 100644 --- a/zone/attack.cpp +++ b/zone/attack.cpp @@ -3976,12 +3976,8 @@ void Mob::CommonDamage(Mob* attacker, int64 &damage, const uint16 spell_id, cons int64 lua_ret = 0; bool ignore_default = false; lua_ret = LuaParser::Instance()->CommonDamage(this, attacker, damage, spell_id, static_cast(skill_used), avoidable, buffslot, iBuffTic, static_cast(special), ignore_default); - if (lua_ret != 0) { - damage = lua_ret; - } - if (ignore_default) { - //return lua_ret; + damage = lua_ret; } #endif // This method is called with skill_used=ABJURE for Damage Shield damage. @@ -4716,12 +4712,8 @@ void Mob::HealDamage(uint64 amount, Mob* caster, uint16 spell_id) bool ignore_default = false; lua_ret = LuaParser::Instance()->HealDamage(this, caster, amount, spell_id, ignore_default); - if (lua_ret != 0) { - amount = lua_ret; - } - if (ignore_default) { - //return lua_ret; + amount = lua_ret; } #endif int64 maxhp = GetMaxHP(); diff --git a/zone/lua_mod.cpp b/zone/lua_mod.cpp index 11bdae719..0a71ed168 100644 --- a/zone/lua_mod.cpp +++ b/zone/lua_mod.cpp @@ -38,6 +38,8 @@ void LuaMod::Init() m_has_common_outgoing_hit_success = parser_->HasFunction("CommonOutgoingHitSuccess", package_name_); m_has_calc_spell_effect_value_formula = parser_->HasFunction("CalcSpellEffectValue_formula", package_name_); m_has_register_bug = parser_->HasFunction("RegisterBug", package_name_); + m_has_common_damage = parser_->HasFunction("CommonDamage", package_name_); + m_has_heal_damage = parser_->HasFunction("HealDamage", package_name_); } void PutDamageHitInfo(lua_State *L, luabind::adl::object &e, DamageHitInfo &hit) {