Hanmac
4aa68c3fa6
CardDamageMap: add extra Table class for storeing the damage dealt by Card to GameEntity, might extended with extra functions
2016-12-30 08:08:18 +00:00
Hanmac
71871686a4
ReplaceEffect: make it ready for getting other types like Card or Player
2016-12-30 08:03:31 +00:00
Agetian
03f5f1f42a
- Somewhat better explanation for presenceCondition.
2016-12-30 05:47:35 +00:00
Agetian
8a9d80c10c
- Check SpellAbility for Presence condition (fixes Dragon Presence cards like Draconic Roar, Dragonlord's Prerogative, Foul-Tongue Invocation and others).
2016-12-30 05:25:56 +00:00
Myrd
4ffa41f624
[Simulated AI] Stop recursing when we've found a winning move already.
2016-12-29 22:56:19 +00:00
Myrd
1c1de9a195
[Simulated AI] Fix transformed state with a test and commit part of my fix from my previous change.
...
I forgot to actually commit the validation and activatedPlayer setting part of my last change, so this change contains that too.
2016-12-29 22:42:37 +00:00
Myrd
0e9b327fd9
[Simulated AI] Fix memory leak caused by SAs making it into the wrong game's spabCache.
...
The problem was that during copying of SAs, the spabCache was not updated correctly due to the code being in the wrong order. A further problem was that activatingPlayer was not being correctly set on the new abilities, so you would end up referencing a Player from a different Game object from an SA that was in a spabCache, resulting in many previously-simulated Game objects being leaked through this reference chain.
This change fixes both of those problems and also adds a validation function that checks the contents of the spabCache at every game copy.
2016-12-29 22:31:18 +00:00
Myrd
6b968eeb08
Fix activating playing call in unit test.
2016-12-29 22:12:59 +00:00
Hanmac
b3ad32bc4f
cards: update cards using ReplaceCount/Times.2, now they use Twice
2016-12-29 20:17:39 +00:00
Myrd
f2204c594a
Remove dealtDamageToThisCombat field from Combat class.
...
Its contents were never used and it was actually causing a problem for simulated AI when the current Combat was copied into a simulated game - as it would contain references to tokens that were killed that were no longer in the game and thus caused a mapping exception.
2016-12-29 18:54:18 +00:00
Myrd
c3f30c6871
[Simulated AI] Make printing of the decision tree a bit better.
...
Also removes a print line from a test.
2016-12-29 18:22:31 +00:00
Agetian
1880fc6df1
- Removed unused imports.
2016-12-29 17:17:14 +00:00
Agetian
9b49b4ae95
- Removed the test code from QuestTournamentsScreen
2016-12-29 17:11:54 +00:00
Hanmac
0b087fc884
AbilityFactory: removed unneeded special cases
2016-12-29 16:15:26 +00:00
Agetian
256f539cb0
- Fixing additional abilities not working for Mana Clash, Fiery Gambit et al. (not created for Repeat/RepeatEach APIs)
2016-12-29 15:51:33 +00:00
Agetian
9b86aebaaa
- Added Edit Deck and Leave Tournament buttons to quest draft tournament bracket screen in mobile Forge.
...
- Some more experiments with result injection (to be removed later).
2016-12-29 15:02:31 +00:00
Hanmac
2b4648c250
cards: update cards with ReplaceCount/Plus
2016-12-29 13:52:46 +00:00
Hanmac
ef87367ae6
cards: update cards with ReplaceCount/Twice using new ReplaceEffect
2016-12-29 13:45:46 +00:00
Hanmac
c32fbaa94d
DamageAllEffect: fixed sourceLKI for Lifelink
2016-12-29 13:16:20 +00:00
Hanmac
21a34b8f3c
commit GameEntity i forgot
2016-12-29 12:47:28 +00:00
Hanmac
f891446b8b
Combat: fixed assigin damage more than once if damage got replaced
2016-12-29 12:43:36 +00:00
Hanmac
0426896c01
Refactor Damage/CombatDamage/Lifelink, now it works as it should with DamageRedirection/Prevention/Multiplication
2016-12-29 11:33:25 +00:00
Hanmac
068b9b4cc0
GameSimulatorTest: fixed warning for "Ajani, Mentor of Heroes"
2016-12-29 09:18:41 +00:00
Hanmac
c56c8af0bc
LifeGain + LifeLost Effect: make AFLifeLost better. No warnings anymore for Gray Merchant of Asphodel
2016-12-29 09:16:55 +00:00
Agetian
3959d171dc
- Imports fix.
2016-12-29 07:48:21 +00:00
Agetian
1b63d4f39c
- Update quest draft tournament screen when leaving draft editing screen.
...
- Prevent NPE in quest draft tournament screen if the tournament hasn't started yet.
- Added some test code for testing AIvsAI match result injections (will be removed later).
2016-12-29 07:47:54 +00:00
Myrd
c67a809367
[Simulated AI] Get target candidates from the SA that requires targets, rather than the root one.
...
This makes sense correct target restrictions are used.
2016-12-29 06:44:14 +00:00
Myrd
1d1b94e757
[Simulated AI] Teach simulated AI how to choose card modes (e.g. on Charms and Commands).
...
Note: There's still a limitation in the simulated AI where it doesn't know what to do when multiple effects from an ability require targets. This can be addressed in the future to support things like Cryptic Command to both counter a spell and bounce a permanent.
2016-12-29 06:36:08 +00:00
Agetian
c8ad6fe56a
- Code formatting.
2016-12-29 05:24:56 +00:00
Myrd
485623b631
Fix dev mode restoring game state with counters (e.g. planeswalker loyalty).
2016-12-28 21:32:29 +00:00
Myrd
010d958e33
[Simulated AI] I forgot to commit the marked damage test.
2016-12-28 21:31:44 +00:00
Hanmac
54b69e8040
Covenant of minds: move Cleanup to Choice for all choices
2016-12-28 18:57:26 +00:00
Agetian
e597f692e7
- Fixed Covenant of Minds (should not count as draw).
2016-12-28 18:25:00 +00:00
Agetian
823cb6c62a
- Rudimentary implementation of quest draft tournament screen in mobile Forge (feel free to improve).
2016-12-28 17:27:26 +00:00
Hanmac
58db808532
cards: update some cards with GainLife replacement
2016-12-28 15:10:11 +00:00
Hanmac
08a2b54e76
fixed Replacement Effects
2016-12-28 15:01:33 +00:00
Hanmac
3629be1a38
Card & Player: update replaceDamage to use new Replacement Effect (not finished yet)
2016-12-28 14:30:52 +00:00
Hanmac
a8fcc7c464
new ReplacementEffect now handles if it got replaced with something else.
2016-12-28 14:14:41 +00:00
Hanmac
ad8fab8b3f
cards: do Corpsejack Menace as ReplaceEffect too
2016-12-28 10:28:06 +00:00
Agetian
c11c3d5fd1
- Some code tidying in forge-gui-mobile-dev.
2016-12-28 05:26:52 +00:00
Agetian
392066d915
- Only use HiDPI in forge-gui-mobile-dev when running in full screen mode.
2016-12-28 05:25:22 +00:00
Myrd
4b13094945
Remove debug print lines.
2016-12-27 20:24:47 +00:00
Myrd
0cd378b442
[Simulated AI] Fix a bug in my previous changes.
...
resetTargets() needs to be called before tgt.getAllCandidates() so that the currently-set target is also considered.
2016-12-27 20:24:18 +00:00
Myrd
2a6ab7ec26
[Simulated AI] Introduce an optimization that skips evaluating a target for a spell/ability if it's the same as a different target that was already evaluated (e.g. when there's lots of tokens on the field and AI is evaluating removal).
2016-12-27 20:10:59 +00:00
Myrd
8f64ad3638
[Simulated AI] Fix game copy error caused by marked damage not being copied.
...
Since marked damage affects attack/block decisions and this is used for scoring, it resulted in a different score being computed in the sub game, triggering a copy error.
Adds a test.
Also fixes creature power evaluation copy paste error.
2016-12-27 19:11:18 +00:00
Agetian
7f05f08efc
- Change a replace call to a put call to satisfy Android SDK demands (fixes Android Forge compilation).
2016-12-27 19:11:11 +00:00
Agetian
a2cca4cb5a
- Do not crash when an unsupported card is found in a quest save, instead warn about it in the log and do not include the card in the pool (which eventually removes it from the save file).
...
- Might need to do something about CNS Conspiracies and other substandard cards enering the quest pool (e.g. from reward booster packs), which tended to "corrupt" the quest save by introducing cards into the pool which can't be loaded later (and used to crash).
2016-12-27 19:09:32 +00:00
Agetian
e707613ff0
- Fixed Scourge of the Throne
2016-12-27 17:57:43 +00:00
Myrd
1e95e14d6a
Lazy-load cards in GameSimulatorTest to make it exec faster.
2016-12-27 17:56:11 +00:00
Myrd
d64774dba0
Fix commander casting which I broke in r32823.
...
Revert to the original implementation of adding the ability to the Game cache in clone(), but now update this in setHostCard() if the new card comes from a different Game object.
2016-12-27 17:24:59 +00:00