浏览代码

Fixes crash on attempt to dynamic_cast AbilityCaster to Unit

Ivan Savenko 1 年之前
父节点
当前提交
c0dc1040c2
共有 1 个文件被更改,包括 2 次插入1 次删除
  1. 2 1
      lib/spells/effects/Heal.cpp

+ 2 - 1
lib/spells/effects/Heal.cpp

@@ -132,7 +132,8 @@ void Heal::prepareHealEffect(int64_t value, BattleUnitsChanged & pack, BattleLog
 			else if (unitHPgained > 0 && m->caster->getHeroCaster() == nullptr) //Show text about healed HP if healed by unit
 			{
 				MetaString healText;
-				auto casterUnit = dynamic_cast<const battle::Unit*>(m->caster);
+				auto casterUnitID = m->caster->getCasterUnitId();
+				auto casterUnit = m->battle()->battleGetUnitByID(casterUnitID);
 				healText.appendLocalString(EMetaText::GENERAL_TXT, 414);
 				casterUnit->addNameReplacement(healText, false);
 				state->addNameReplacement(healText, false);