Agetian
62ff68fde6
- Instead of doing the full layout, just redraw the match frame from removeCardPanel (prevents a crash when mass-removing cards with enchantments on them while also getting rid of lingering visual artifacts OTB).
2017-01-15 07:47:31 +00:00
Agetian
e46dd5ae69
- Do not forget to relayout cards on removing a card panel (fixes targeting overlay problems and possibly other "lingering layouting issues".
2017-01-15 07:28:47 +00:00
Agetian
7d498e2b03
- Better (shorter) option name.
2017-01-14 19:51:48 +00:00
Agetian
ef27adc5c6
- Improved detailed spell ability descriptions when paying costs/targeting by getting rid of the Targeting ERROR text in the prompt box at the time when the SA is not yet targeted by the player.
...
- Made the detailed SA descriptions on paying costs/targeting optional (can be enabled/disabled in preferences, enabled by default) for people wanting the old behavior (which might especially be useful for mobile Forge on small screens).
2017-01-14 19:44:01 +00:00
Agetian
78b6c3610d
- A more graceful solution for cases when a deck ends up being null for any reason in ACEditorBase.
2017-01-11 18:55:17 +00:00
Agetian
01e402f292
- A little cleanup in ACEditorBase, made the code a little bit more readable and added some additional crash protection.
2017-01-11 18:38:41 +00:00
Agetian
004ac7d91a
- Fixed a NPE on right-clicking a card in Limited deck editor.
2017-01-11 12:02:50 +00:00
Agetian
aa3e76544b
- Make the -/+ buttons in the deck editor consistent with the -/+ buttons in the add basic lands dialog.
2017-01-11 06:56:46 +00:00
Agetian
10b5d69b04
- A little cleanup in PlayArea.
2017-01-11 05:55:24 +00:00
Agetian
ae491a7b3f
- Better fix for NPE related to card panel layouting and refresh (for the sake of targeting overlay): only force doLayout if a card panel was removed, which also causes the targeting overlay to refresh without causing a NPE.
2017-01-10 20:04:26 +00:00
Agetian
1eab1f0425
- Only run the layout code from removeCardPanel if the panel has no attached panels (fixes NPE).
2017-01-10 17:30:47 +00:00
Sol
e3c4386473
- Add Improvise keyword handling first pass
2017-01-10 02:10:32 +00:00
Agetian
802a3c4336
- NPE prevention related to adding a card panel in desktop Forge (might happen if an aura attached to a permanent is swapped for something else an opponent controls).
2017-01-09 17:17:16 +00:00
Agetian
3ae51102cc
- Update for the desktop Forge Targeting Overlay code: significantly improves performance of targeting overlay, gets rid of the serious and continuous CPU overload whenever targeting arrows are displayed (includes code contribution from nefigah).
2017-01-09 05:59:39 +00:00
Myrd
3488c9423f
[Simulated AI] Support multiple choices from an SA and plumb cost decision choices into simulation AI.
...
With these changes, both decisions for Crop Rotation (what to sac and what to search for) are taken into account. Also adds a test.
2017-01-09 03:56:47 +00:00
Myrd
8ccb126dc5
Don't in GameSimulatorTest - since that isn't being tested.
2017-01-08 22:53:37 +00:00
Myrd
88634bb0a0
[Simulated AI] Add support for cards that need multiple targets.
...
Note: Currently, no special optimizations are made to try to prune decision trees for these, even though they definitely can result in a lot of choices and really slow simulation AI performance.
2017-01-08 21:02:24 +00:00
Myrd
f5423fe16e
[Simulated AI] Add unit test coverage for mode selection.
2017-01-08 17:49:03 +00:00
Myrd
be5b5ac3d2
[Simulated AI] Add tests for mode choosing logic.
2017-01-08 17:42:57 +00:00
Myrd
1208736f36
Inspect full plan in spell picker test.
2017-01-08 17:18:35 +00:00
Myrd
a45e005897
[Simulated AI] Test coverage for playing lands.
2017-01-08 17:09:38 +00:00
Myrd
742ef8157b
[Simulated AI] Add actual test coverage for SpellAbilityPicker logic.
2017-01-08 17:06:52 +00:00
Myrd
331eaae221
[Simulated AI] Add a base SimulationTestCase class so other test classes could derive from it.
2017-01-08 16:59:19 +00:00
Hanmac
78eb7ee367
GameSimulatorTest: add more test cases for damage spliting
2017-01-07 17:31:38 +00:00
Agetian
9a75816ef2
- Adding a preference to control whether the Escape key can be used in desktop Forge as an alternative "end turn" shortcut (for players who prefer the old behavior). It is disabled by default.
2017-01-06 19:52:42 +00:00
Agetian
b5ad2e27e9
- Do not use Escape as a key for passing priority until end of turn.
2017-01-06 06:46:48 +00:00
Agetian
b2709acc36
- Committed "exile from hand/battlefield" dev menu options by Zuchinni.
2017-01-04 20:14:35 +00:00
Agetian
ee8b1dd237
- Show the source of the triggered ability on the battlefield if it's a WrappedAbility when ordering simultaneous SAs (e.g. Evolve) [affects desktop Forge, already taken care of in mobile Forge].
...
- Treat triggers with the same description coming from different sources as different for the purpose of auto-ordering them (do not auto order by default).
2017-01-03 06:06:31 +00:00
Agetian
cc3a587e42
- Implemented biasing random (simulated) AI vs AI matches towards decks with higher draft rank value.
...
- Better name for the random decision simulation option.
2017-01-01 20:14:13 +00:00
Agetian
ac2881cc6c
- Added a new quest preference "Do Not Play AI Matches" which allows the player to decide the outcome of AI vs. AI matches randomly instead of playing them out and thus simulating them. This is disabled by default, set to "1" to enable.
...
- Currently determines the outcome of all AI vs. AI matches in a 50-50 fashion. Might be upgraded later to bias the outcome towards a stronger deck judging by the total card draft rating value.
2017-01-01 16:06:28 +00:00
Myrd
52711b7b33
[Simulated AI] Make game copier copy player mana pools along with a test.
2016-12-31 18:07:36 +00:00
Agetian
95ec8b63fa
- Do not clear out deck Vanguard avatar on subsequent calls to selectVanguardAvatar (fixes Default Avatar not working).
...
- Note that Vanguard selection is still partly broken (for desktop Forge), it's impossible to select a particular avatar for each player (the avatar always ends up being the same), fix is welcome.
2016-12-31 10:41:23 +00:00
Myrd
a2e2753429
[Simulated AI] Fix energy counters propagation with a test.
2016-12-30 18:03:58 +00:00
Hanmac
e5dc653b4c
GameSimulatorTest: add Testcases for Damage with Lifelink
2016-12-30 15:02:04 +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
6b968eeb08
Fix activating playing call in unit test.
2016-12-29 22:12:59 +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
Hanmac
068b9b4cc0
GameSimulatorTest: fixed warning for "Ajani, Mentor of Heroes"
2016-12-29 09:18:41 +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
Myrd
010d958e33
[Simulated AI] I forgot to commit the marked damage test.
2016-12-28 21:31:44 +00:00
Myrd
1e95e14d6a
Lazy-load cards in GameSimulatorTest to make it exec faster.
2016-12-27 17:56:11 +00:00
Myrd
c34db9cf2d
Remove failing assert from GameSimulatorTest.
2016-12-27 06:47:08 +00:00
Myrd
77a526b6d9
[Simulated AI] Fix copying tokens with abilities, like Eldrazi Scions.
...
Also fixes a bug in the main game code where if you have Clone try to copy a token with abilities, like an Eldrazi Scion, it would previously not get those abilities.
Adds a test for the game simulation/copy case.
2016-12-27 04:09:18 +00:00
Myrd
d3723daa6d
[Simulated AI] Fix game copy error with dashed creatures and add a test.
2016-12-26 16:29:21 +00:00
Myrd
3faf1946fa
Get rid of an unnecessary CardDb of allCards which was taking 256kb of memory.
2016-12-25 06:22:26 +00:00
Myrd
328922029a
[Simulated AI] Refactor code to create a Plan object.
...
This allows coming up with a multi-step planning and caching it, so it doesn't need to be re-computed at subsequent steps if nothing meaningful changed.
2016-12-25 05:05:18 +00:00
Agetian
9d0e8b8096
- Made the desktop port and the mobile port of the game use different threads when processing multiple achievements (otherwise the game tends to freeze).
2016-12-23 07:13:07 +00:00
Myrd
a2aa3ccc06
Fix another problem with Thespian's Stage copying itself and add a test.
2016-12-22 22:30:34 +00:00
Myrd
3e91a56ced
Fix NPE in CardUtil.getLKICopy() that would happen when Thespian's Stage would copy itself.
...
The problem would happen when executing:
newCopy.getCurrentState().copyFrom(in, in.getState(in.getCurrentStateName()));
Because the clone code was clearing the cloned state without updating currentStateName.
Also added a test for this in the context of simulated AI, although the actual bug was not in simulation code - it's just simulation code would run into it since it tries all possible targets to copy (while humans would likely not try it).
2016-12-22 20:31:41 +00:00
Myrd
4b14c9d943
Fix copying of emblems for simulated AI along with a test.
2016-12-22 19:45:16 +00:00