forked from External/mage
* game: now all playable calculations done in game simulation, outside real game (no more freeze and ruined games by wrong Nyxbloom Ancient and other cards with wrong replacement dialog); * game: fixed multiple problems with triggers (wrong order, duplicated calls or "too many mana" bugs, see #8426, #12087); * tests: added data integrity checks for game's triggers (3 enabled and 3 disabled due current game engine logic);
This commit is contained in:
parent
f68e435fc4
commit
e8e2f23284
23 changed files with 362 additions and 120 deletions
|
|
@ -269,12 +269,18 @@ public interface Game extends MageItem, Serializable, Copyable<Game> {
|
|||
|
||||
boolean isSimulation();
|
||||
|
||||
void setSimulation(boolean checkPlayableState);
|
||||
/**
|
||||
* Prepare game for any simulations like AI or effects calc
|
||||
*/
|
||||
Game createSimulationForAI();
|
||||
|
||||
/**
|
||||
* Prepare game for any playable calc (available mana/abilities)
|
||||
*/
|
||||
Game createSimulationForPlayableCalc();
|
||||
|
||||
boolean inCheckPlayableState();
|
||||
|
||||
void setCheckPlayableState(boolean checkPlayableState);
|
||||
|
||||
MageObject getLastKnownInformation(UUID objectId, Zone zone);
|
||||
|
||||
CardState getLastKnownInformationCard(UUID objectId, Zone zone);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue