浏览代码

Fix crash on casting spell by a random spellcaster (e.g. Master Genie)

Ivan Savenko 1 年之前
父节点
当前提交
d8d652783a
共有 1 个文件被更改,包括 2 次插入1 次删除
  1. 2 1
      server/battles/BattleFlowProcessor.cpp

+ 2 - 1
server/battles/BattleFlowProcessor.cpp

@@ -571,7 +571,8 @@ void BattleFlowProcessor::onActionMade(const CBattleInfoCallback & battle, const
 		assert(activeStack != nullptr);
 		assert(actedStack != nullptr);
 
-		if(actedStack->castSpellThisTurn && SpellID(ba.spell).toSpell()->canCastWithoutSkip())
+		// NOTE: in case of random spellcaster, (e.g. Master Genie) spell has been selected by server and was not present in action received from player
+		if(actedStack->castSpellThisTurn && ba.spell.hasValue() && ba.spell.toSpell()->canCastWithoutSkip())
 		{
 			setActiveStack(battle, actedStack);
 			return;