Hanmac
ca45bf3da5
AbilityUtils: make calculateAmount with Triggered use getDefinedCards which does handle Trigger before
...
CardUtil: need to set CopiedPermanent for LKICopy
Scrap Trawler: use TriggeredCardLKICopy which might be more correct
2017-01-21 14:52:05 +00:00
Agetian
7beb11ad09
- Committing the previously missing PlayerPredicates update.
2017-01-21 14:41:08 +00:00
Agetian
68641a0cfe
- Implemented basic "spell magnet" AI (currently used by Spellskite).
...
- Made the AI able to pay mana costs consisting of only phyrexian mana symbols in absence of relevant colored mana sources (e.g. Mutagenic Growth, Spellskite activated ability).
- Fixed the AI killing itself when paying phyrexian mana while being at 2 life (we might want to consider actually implementing a certain "safe limit" above 2 life, maybe 4 or 5 life, at least outside the range of a typical burn spell).
2017-01-21 14:14:16 +00:00
Hanmac
2f3d1026bc
CardPredicates: add greaterCMC and lessCMC which does respect SplitCards
2017-01-21 09:28:18 +00:00
pfps
ab867a40ee
Better prompt messages for confirming optional triggers
2017-01-20 20:19:31 +00:00
Agetian
f8804af49d
- A temporary way to display the ordering of blockers for cards in the game log (best done via a combat panel update, but I wasn't very successful with that).
2017-01-20 18:15:49 +00:00
Agetian
6e706f3662
- A little clarification.
2017-01-19 18:45:26 +00:00
Agetian
5ac4d66d27
- I believe this is how ETB replacement effects not appearing on returned face-down cards in exile *should* be fixed... Please check.
2017-01-19 18:37:13 +00:00
Agetian
83a200ef69
- A slightly more generic solution for the Necropotence+The Rack problem, seems like the culprit is the "card that was exiled face down returning to hand" scenario does not reset the ETB replacement effects for some reason. Advice and better solution still welcome.
2017-01-19 18:15:27 +00:00
Agetian
8260c611a8
- Extra line removed.
2017-01-19 16:44:42 +00:00
Agetian
4f10d64b82
- FIXME: There is a strange bug with ETB replacement effects not being recreated under certain specific circumstances, for example, when an exiled-face-down card is returned to hand via AF ChangeZone: e.g. The Rack obtained via Necropotence does not work because its ETB effect ends up somehow being not set up correctly.
...
- For now, introduced a local change specific to Necropotence, but I think this is indicative of a bigger issue in the underlying code. If anyone knows why this is happening and where this is best fixed, please assist.
2017-01-19 16:44:01 +00:00
Hanmac
7c29bcf5b9
CombatUtil: updated CantBeBlockedBy CantBlock to work with multiple instances
...
turn Dragon Hunter Effect into a keyword like thing to work better with Text Change
2017-01-19 06:09:51 +00:00
Agetian
50e17d0080
- Until the deprecated Player#getOpponent() method can be removed from code, modify it such that instead of always returning the first (usually human) player, it returns the opponent with the lowest life count instead, which is a little more multiplayer-friendly.
2017-01-19 03:31:17 +00:00
pfps
43b99d130a
Drag the current spellability closer to the GUI so that it can be (eventually) displayed
2017-01-18 16:37:41 +00:00
Agetian
c46e0e2eb5
- Formatting fix.
2017-01-18 14:24:59 +00:00
Agetian
c1d5e42aa2
- Formatting fix.
2017-01-18 14:06:14 +00:00
Hanmac
4559dd47e0
CountersPutEffect: existingCounter only for the ones that can be recived. Extend params for AI
2017-01-18 04:37:57 +00:00
Agetian
9050cea72e
- Made Greenbelt Rampager energy cost mandatory.
...
- TODO: implement this for other costs that may require it + teach the AI to always respect the Mandatory parameter in costs (currently it'll observe it with Energy costs because it defaults to paying the amount if prompted to, but it may disobey this restriction in other circumstances and for other costs; not sure where to put the relevant checks in the AI code though).
2017-01-17 14:49:50 +00:00
Sol
24e913023c
- EffectEffect doesn't need useless override that is basically the same as it's inheriting (except worse)
2017-01-16 20:48:44 +00:00
Agetian
0fc3d3c01f
- Fixed the logic in how some parameters are checked in Player.java.
...
- Added Hope of Ghirapur (AER).
2017-01-16 16:08:53 +00:00
Sol
181d477397
Deprecate Player.getOpponent() so we can eventually remove this function since the AI shouldn't use it
2017-01-15 03:59:35 +00:00
Agetian
27ad23104b
- Named the parameter CheckSelfLKIZone to be more self-explanatory.
2017-01-14 08:43:36 +00:00
Agetian
94b409aaf0
- Changed LKI zone check on a replacement effect into an optional parameter CheckLKIZone$ True. This can be used selectively on cards where not getting a replacement effect (e.g. on mass removal) can be an issue. This approach has less potential to break other things than when applied en masse.
...
- Added CheckLKIZone$ True to Kalitas, Traitor of Ghet.
2017-01-14 08:39:28 +00:00
Sol
293c71e77d
- Fix each existing counter using wrong object comparison
2017-01-14 03:43:40 +00:00
Krazy
26eec4cf8b
[maven-release-plugin] prepare for next development iteration
2017-01-14 02:08:47 +00:00
Krazy
5196c1bf62
[maven-release-plugin] prepare release forge-1.5.58
2017-01-14 02:08:36 +00:00
Agetian
4c2eb86a0f
- A little tweak to the previous commit.
2017-01-13 17:38:04 +00:00
Agetian
50c7d5b413
- Addition to the previous commit: only use LKI in ReplaceMoved if replacing a card movement upon removal (Kalitas, Traitor of Ghet + Wrath of God), otherwise use current information, e.g. for ETB replacement effects (e.g. Essence of the Wild copy). Still needs overhaul to avoid exclusions.
2017-01-13 17:31:24 +00:00
Agetian
fe64e7b451
- Fixed Essence of the Wild still making the card enter the battlefield as a copy of itself even if it's destroyed in response to a creature spell going on stack.
...
- This is related to the way ReplaceMoved effects are handled, currently it's a hacky solution that tries to get the best of both worlds (e.g. effects like Kalitas + Wrath of God to function correctly *and* ETB replacement effects like Essence of the Wild to function correctly). Most likely this needs some (serious) rework to get it working correctly in all cases without the need for special exclusions.
- Updated CHANGES.txt known issues accordingly.
2017-01-13 17:11:14 +00:00
Agetian
ec68b59e24
- Log formatting fix in LifeGainEffect.
2017-01-13 09:05:09 +00:00
Hanmac
3ff06ee567
CounterPutEffect and CounterPutAi: refactor it to make the AI better use of chooseCounterType
2017-01-12 19:29:32 +00:00
Hanmac
29646ca05f
PlayerPredicates: add counter Predicates from CardPredicates, probably might do a base class for that
2017-01-12 19:22:13 +00:00
Agetian
6f9b62219e
- Some refactoring in AbilityUtils/SpellAbility.
2017-01-12 04:48:22 +00:00
Agetian
07f5172109
- Fixed TriggerRememberAmount not finding the correct trigger ability to get the count from (e.g. Mana Drain, Scattering Stroke).
2017-01-11 19:43:03 +00:00
Agetian
ea4057a08c
- Added a way to count the number of coin flips in AF FlipACoin without the need for recursive counting script (which no longer works in the current engine).
...
- Fixed Crazed Firecat.
2017-01-11 15:25:37 +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
e86a709d72
- A more appropriate fix for Quicksmith Rebel / Quicksmith Spy.
2017-01-11 14:08:32 +00:00
Agetian
95c68bcc81
- Changed the implementation of TargetChoices comparison to an .equals() method override (seems cleaner)
2017-01-11 07:41:22 +00:00
Hanmac
877b987201
fixed max
2017-01-11 07:24:33 +00:00
Hanmac
249a5a8074
PlayerCollection: functions need to be public
2017-01-11 07:24:01 +00:00
Agetian
a80119b74a
- A more in-depth check for target equality when comparing SAs, fixes certain cards not guessing that they are looking at the ability they need to be looking at (e.g. Grip of Chaos).
2017-01-11 07:20:38 +00:00
Hanmac
7c0a8412c9
Card & Player: more fixes with setCounters
2017-01-11 07:02:43 +00:00
Hanmac
17bd19a46b
GameEntity: setCounter now removes counterType directly when its not used anymore
...
Card and Player updated to use that directly instead of doing it on their own
2017-01-11 06:35:09 +00:00
Sol
1fa77e04e8
Add Maulfist Revolutionary and Skyship Plunderer
2017-01-11 02:14:43 +00:00
Hanmac
33715e446d
PlayerCollection: add new class as spezialisation of FCollection<Player>
2017-01-10 19:54:30 +00:00
Sol
e3c4386473
- Add Improvise keyword handling first pass
2017-01-10 02:10:32 +00:00
Hanmac
291d42d065
Player: refactor wasDealtDamageThisGameBy & wasDealtDamageThisTurnBy add wasDealtCombatDamageThisTurnBy
2017-01-09 20:23:32 +00:00
Hanmac
17691510ab
Player: extend TriggerLifeLost with FirstTime variable
2017-01-09 19:51:02 +00:00
Hanmac
ecb1ce986e
Card: add blockedThisCombat from DamageHistory
2017-01-09 18:20:27 +00:00
Hanmac
8849c7d031
CounterMoveEffect: update Effect for cards using multiple Sources or multiple Targets
2017-01-08 19:26:11 +00:00