* Until end of your turn - fixed that effects discarded too early in multiplayer games (#5759, #5676);

Tests: added dozen tests for end of turn effects and related cards.
This commit is contained in:
Oleg Agafonov 2019-04-28 11:27:08 +04:00
parent 4288e45c23
commit 534037e095
22 changed files with 758 additions and 137 deletions

View file

@ -569,18 +569,20 @@ public class GameState implements Serializable, Copyable<GameState> {
combat.checkForRemoveFromCombat(game);
}
// Remove End of Combat effects
// remove end of combat effects
public void removeEocEffects(Game game) {
effects.removeEndOfCombatEffects();
delayed.removeEndOfCombatAbilities();
game.applyEffects();
}
// remove end of turn effects
public void removeEotEffects(Game game) {
effects.removeEndOfTurnEffects();
delayed.removeEndOfTurnAbilities();
effects.removeEndOfTurnEffects(game);
delayed.removeEndOfTurnAbilities(game);
exile.cleanupEndOfTurnZones(game);
game.applyEffects();
effects.incYourTurnNumPlayed(game);
}
public void addEffect(ContinuousEffect effect, Ability source) {
@ -788,7 +790,7 @@ public class GameState implements Serializable, Copyable<GameState> {
public void addCard(Card card) {
setZone(card.getId(), Zone.OUTSIDE);
for (Ability ability : card.getAbilities()) {
addAbility(ability, card);
addAbility(ability, null, card);
}
}