Commit Graph

2199 Commits

Author SHA1 Message Date
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
be29951d76 - Further progress with quest draft tournaments in mobile Forge. There are a few issues remaining, most notably a stupid duplication of "edit deck / leave tournament" button set in prepare deck mode that I can't solve (tried a gazillion things already) and the fact that AI vs. AI match results do not register properly unless the quest is in "Simulate AI vs. AI Matches" mode, In Simulate AI vs. AI Matches mode, the QDTs should be largely playable and completable (with a couple caveats). In non-Simulate mode, they are not completable yet. 2017-01-14 06:30:42 +00:00
pfps
1fba3283d4 Add in more description of spellability when selecting targets and paying mana costs 2017-01-13 21:13:15 +00:00
Agetian
91198b1de4 - Shortened one of the achievements' names that did not fit the label box. 2017-01-13 09:41:27 +00:00
Agetian
f14de08c20 - Prevent Crew from taking negative power of creatures on the battlefield into consideration when determining the total amount of power available on the battlefield (instead treating them as 0 now). 2017-01-11 14:35:33 +00:00
Agetian
09d8d4511b - Adding alt wincon achievement for Mechanized Production. 2017-01-11 11:33:21 +00:00
Agetian
c1a1d7a210 - Clearing auto-yields between games (this gives the player more control as well as helps avoid issues with simultaneous ability/trigger ordering). 2017-01-10 17:02:03 +00:00
Sol
e3c4386473 - Add Improvise keyword handling first pass 2017-01-10 02:10:32 +00:00
Hanmac
8849c7d031 CounterMoveEffect: update Effect for cards using multiple Sources or multiple Targets 2017-01-08 19:26:11 +00:00
Agetian
409841a068 - Adding AER Planeswalker achievements. 2017-01-08 17:36:28 +00:00
pfps
c7b479478b Instead of asking for confirmation of saved ability ordering, use it as an initial ordering for the reordering dialog 2017-01-07 20:36:35 +00:00
pfps
5da185263e Autoyield on effect on a card not overall; Add new method to generate the autoyield key to prepare for fix of effect ordering 2017-01-07 15:52:24 +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
8554b22ac0 - Logic correction in orderAndPlaySimultaneousSa (by pfps). 2017-01-06 19:28:37 +00:00
Agetian
15c631be72 - Temporarily reverting a change to the way ordering SAs is handled (breaks auto-yield) and improved my original change a bit to fix its logic, feel free to revert this to continue work on this project. 2017-01-06 18:53:05 +00:00
Agetian
505b8c1c74 - Committed a change to allow the simulatenous SAs coming from different cards to be detected as different (by pfps), reverted a previous change with faulty logic. 2017-01-06 04:59:46 +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
b5fd21b1fd - More robust check for editions that should be ignored when generating quest draft tournaments. 2017-01-02 19:42:43 +00:00
Agetian
79ae8c2e3d - No need for an extra view update if the AI vs. AI match was randomly simulated. 2017-01-02 15:16:53 +00:00
Agetian
56cba1365e - Prevent a crash if the player clicks "Start Next Match" in random simulation mode once all the matches in a quest draft tournament have already been played. 2017-01-02 11:18:27 +00:00
Agetian
31cb66a3d5 - AI vs AI matches should never be played out from an update call if the user has chosen to simulate random outcomes for AI matches. 2017-01-02 11:04:46 +00:00
Agetian
66c84da4f1 - Fixed the code for running quest draft tournaments normally (without random outcome simulation). 2017-01-02 09:36:05 +00:00
Agetian
c6e61b2547 - Updated AI vs. AI random match outcome simulation code, now the matches will be simulated one by one. It might be a little less convenient (you need to click a Start per every match) but the visual update of the results will be a lot more consistent and far less error-prone. 2017-01-02 09:31:38 +00:00
Agetian
331ad768f3 - Removed a completed TODO entry and unused imports, some other tidying up. 2017-01-02 05:22:27 +00:00
Agetian
b386f5f9d7 - Refactored limited deck evaluation into a new class LimitedDeckEvaluator to avoid code duplication. 2017-01-02 05:16:54 +00:00
Agetian
798cc430b7 - Removed unused imports. 2017-01-01 20:16:04 +00:00
Agetian
699a0b95bc - File correction. 2017-01-01 20:14:58 +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
Agetian
46a76ce69b - Do not generate quest booster drafts for sets that do not have a booster template available for them and will thus crash. 2017-01-01 10:30:57 +00:00
Myrd
18ba55ae27 Attempt to fix memory leak with TrackableTypes.
The problem was that TrackableTypes were all global (held in static variables), but kept around state (objLookup maps) that shouldn't be global - e.g. that could contain per game data. Additionally, it seems this state wasn't always getting cleared correctly and thus would cause leaking of memory over multiple games - which would especially be a problem for Simulated AI code which created temporary games for simulation.

This change attempts to fix the issue by moving the storage of objLookup maps to the Tracker object, which corresponds to a single Game. This way, there is no cross-contamination between different games and the state is properly cleaned up when a Game goes away.
2016-12-30 19:34:07 +00:00
Hanmac
1738f49798 Big Damage Rewrite Part 2: now use CombatDamageMap everywhere 2016-12-30 14:50:45 +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
Myrd
1e95e14d6a Lazy-load cards in GameSimulatorTest to make it exec faster. 2016-12-27 17:56:11 +00:00
Agetian
27a0a20968 - Show a quest draft tournament event entry fee and ask the player to confirm creating a tournament when spending a draft token. 2016-12-26 05:21:50 +00:00
Agetian
d49b884299 - Implemented optional texture filtering for card pictures on the battlefield in mobile Forge (helpful on larger tablets and when running mobile Forge on PC), disabled by default. 2016-12-25 10:09:22 +00:00
Hanmac
e2cbbd7575 ComputerUtil & HumanPlay: fixed Splice onto Arcane only for Spells 2016-12-24 11:01:48 +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
Agetian
fc9d924208 - Reverted r32715, breaks mobile Forge (better solution may be needed in order to prevent this from locking up Forge on desktop when processing achievements). 2016-12-22 19:35:56 +00:00
Hanmac
94681b6675 Splice: do a total rewrite to make it better for the player and more rules conform 2016-12-21 18:32:50 +00:00
Agetian
3585177898 - Minor formatting fix. 2016-12-17 06:32:15 +00:00
Agetian
7dc9437752 - [Experimental]: do not invoke the achievement update in the game thread (which creates a race condition when there are multiple achievements of different types to be awarded, freezing the game completely). 2016-12-17 06:31:51 +00:00
Hanmac
49c76ba3ac HumanPlay: fixed Text for CostAddMana 2016-12-14 20:57:01 +00:00
Agetian
432ab1bcf3 - Prevent a NPE ensuing from potentially "bleeding" a challenge from one quest world to another. 2016-12-14 10:40:18 +00:00
Hanmac
3c5eb2248b CardFactoryUtil: Miracle is a Trigger now, and make PlayAi a bit better to check if it can play it 2016-11-18 19:55:05 +00:00
drdev
0f1fbc46d1 Fix warnings 2016-11-13 00:08:32 +00:00
drdev
e4516177f9 Fix so Vanguard cards can display as avatar 2016-11-12 22:32:49 +00:00
Hanmac
a63c152038 HumanCostDecision: CostRemoveCounter: add confirmPayment for it, when removing from host, but ignore pw abilities 2016-11-07 09:50:54 +00:00
Myrd
b175963878 Fix more places to load cards lazily correctly. 2016-11-06 18:22:04 +00:00