mirror of
https://github.com/vcmi/vcmi.git
synced 2025-03-21 21:17:49 +02:00
This commit is contained in:
parent
5d329b40a4
commit
1e7e7a7006
@ -1198,6 +1198,15 @@ DLL_LINKAGE void BattleNextRound::applyGs( CGameState *gs )
|
||||
s->counterAttacksTotalCache = 0;
|
||||
// new turn effects
|
||||
s->battleTurnPassed();
|
||||
|
||||
if(s->alive() && vstd::contains(s->state, EBattleStackState::CLONED))
|
||||
{
|
||||
//cloned stack has special lifetime marker
|
||||
//check it after bonuses updated in battleTurnPassed()
|
||||
|
||||
if(!s->hasBonus(Selector::type(Bonus::NONE).And(Selector::source(Bonus::SPELL_EFFECT, SpellID::CLONE))))
|
||||
s->makeGhost();
|
||||
}
|
||||
}
|
||||
|
||||
for(auto &obst : gs->curB->obstacles)
|
||||
|
@ -131,6 +131,13 @@ void CloneMechanics::applyBattleEffects(const SpellCastEnvironment * env, const
|
||||
ssp.val = bsa.newStackID;
|
||||
ssp.absolute = 1;
|
||||
env->sendAndApply(&ssp);
|
||||
|
||||
SetStackEffect sse;
|
||||
sse.stacks.push_back(bsa.newStackID);
|
||||
Bonus lifeTimeMarker(Bonus::N_TURNS, Bonus::NONE, Bonus::SPELL_EFFECT, 0, owner->id.num);
|
||||
lifeTimeMarker.turnsRemain = parameters.enchantPower;
|
||||
sse.effect.push_back(lifeTimeMarker);
|
||||
env->sendAndApply(&sse);
|
||||
}
|
||||
|
||||
ESpellCastProblem::ESpellCastProblem CloneMechanics::isImmuneByStack(const ISpellCaster * caster, const CStack * obj) const
|
||||
|
Loading…
x
Reference in New Issue
Block a user