Commit graph

4740 commits

Author SHA1 Message Date
theelk801
eeaf2d28e0 [FIN] various text fixes 2025-06-10 19:45:03 -07:00
Susucre
be52a30857 add Serializable to PreventNextDamageFromChosenSourceEffect::ApplierOnPrevention 2025-06-10 19:45:03 -07:00
Evan Kranzler
40d24869a8 [FIC] Implement G'raha Tia, Scion Reborn, rework DoIfCostPaid and "do only once" effects (#13660)
* rework effects with DoIfCostPaid and "do this only once each turn"

* [FIC] Implement G'raha Tia, Scion Reborn

* [FIC] Implement Emet Selch of the Third Seat

* rework Emet-Selch

* add test

* add static methods to handle whether ability was used this turn
2025-06-10 19:45:03 -07:00
Susucre
cf981f9f1e implement [MIR] Shadowbane 2025-06-10 19:45:02 -07:00
Susucre
80d4ab5280 missed a final attribute in previous commit 2025-06-10 19:45:02 -07:00
Susucre
a6ca052106 refactor one-use prevention effect for a chosen source
fixes a few bugs along the way:

[[Pilgrim and Justice]] & [[Pilgrim of Virue]] were incorrectly adding a "to you" to their damage clause.
[[Ajani's Aid]] was improperly a one-use prevention effect.

[[Story Circle]] and [[Prismatic Circle]] have not been refactor as it is not currently possible to have a proper filter for them. Would require a FilterSource with a 4-argument match most likely.
2025-06-10 19:45:02 -07:00
Susucre
c273fe94bd implement [FIC] Edgar, Master Machinist (#13676) 2025-06-10 19:45:02 -07:00
theelk801
786312c8f6 [FIN] Implement The Wandering Minstrel 2025-06-10 19:45:01 -07:00
theelk801
787f7e137b [FIC] Implement Yuna, Grand Summoner 2025-06-10 19:45:01 -07:00
theelk801
6fb5a9546b [FIN] Implement Torgal, A Fine Hound 2025-06-10 19:45:01 -07:00
xenohedron
e6686317af update cards to use new method 2025-06-10 19:45:01 -07:00
xenohedron
692a843b86 refactor: introduce new helper method
to find permanent from card after moved to battlefield
2025-06-10 19:45:01 -07:00
theelk801
06f5fe0cff [FIN] Implement Excalibur II 2025-06-10 19:44:16 -07:00
theelk801
77f2bed66b [FIN] Implement Summon: Fenrir 2025-06-10 19:44:16 -07:00
theelk801
3cae817015 [FIN] Implement Delivery Moogle 2025-06-10 19:44:16 -07:00
theelk801
8d27cce13e [FIN] Implement The Masamune 2025-06-10 19:44:15 -07:00
theelk801
6b2be185ce remove unnecessary filter constructors from TargetLandPermanent 2025-06-10 19:44:15 -07:00
Evan Kranzler
56e9986b06 [FIN] Implement Gogo, Master of Mimicry (#13686)
* [FIN] Implement Gogo, Master of Mimicry

* add test

* fix text

* move abstract method definition to interface where it belongs
2025-06-10 19:44:15 -07:00
theelk801
a9c99ffc41 [FIN] Implement Qutrub Forayer 2025-06-10 19:44:15 -07:00
theelk801
3a31ecf464 [FIN] Implement Memories Returning 2025-06-10 19:44:13 -07:00
theelk801
c9f7e916e4 remove filter constructors for TargetArtifactPermanent 2025-06-10 19:44:12 -07:00
theelk801
3a064221dc [FIN] Implement Cactuar 2025-06-10 19:44:12 -07:00
Susucre
0b707fab3a refactor and test 'greatest [quality] among [permanent filter]' (#13666) 2025-06-10 19:44:11 -07:00
Susucre
c23788f006 refactor and test 'Scry X' effects
Fixes #13667
2025-06-10 19:44:11 -07:00
theelk801
0f4e8a740a [FIC] Implement Maester Seymour 2025-06-10 19:44:10 -07:00
theelk801
7db2808d7a fix test failures 2025-06-10 19:44:10 -07:00
theelk801
9d6398dec4 [FIN] Implement Raubahn, Bull of Ala Mhigo 2025-06-10 19:44:10 -07:00
Oleg Agafonov
61590e14c6 Reverted turn hints deletion (see 22a803a6fc) 2025-06-10 19:44:09 -07:00
theelk801
f97a59a379 [FIN] Implement Hope Estheim 2025-06-10 19:44:09 -07:00
theelk801
9576de74c8 [FIC] fix missing filter in Tidus, Yuna's Guardian 2025-06-10 19:44:09 -07:00
Evan Kranzler
53532a7f60 [FIC] Implement Tidus, Yuna's Guardian (#13555)
* [FIC] Implement Tidus, Yuna's Guardian

* merge fix
2025-06-10 19:44:09 -07:00
theelk801
3444a93342 remove unnecessary OpponentsTurnHint 2025-06-10 19:44:09 -07:00
theelk801
cfd4579dce remove unnecessary NotMyTurnHint 2025-06-10 19:44:09 -07:00
theelk801
7a2bc322ba remove unnecessary MyTurnHint 2025-06-10 19:44:09 -07:00
theelk801
186b968ce9 remove redundant OnOpponentsTurnCondition 2025-06-10 19:44:08 -07:00
Evan Kranzler
535f932ee3 Remove ConditionalTriggeredAbility and add trigger condition into triggered abilities (#13656)
* remove ConditionalTriggeredAbility

* a few small fixes

* merge fix

* simplify phrase handling

* add documentation

* a few text fixes

* update wording
2025-06-10 19:44:08 -07:00
theelk801
c76a3c5078 [FIC] Implement Wakka, Devoted Guardian 2025-06-10 19:44:08 -07:00
theelk801
ef01e74a2b [FIN] Implement Balthier and Fran 2025-06-10 19:44:06 -07:00
theelk801
95e99a3599 [FIN] Implement Sidequest: Play Blitzball / World Champion, Celestial Weapon 2025-06-10 19:44:05 -07:00
theelk801
98756596bc [FIN] Implement The Wind Crystal 2025-06-10 19:44:05 -07:00
Steven Knipe
95146840f2 Fix {Q} abilties working while summoning sick 2025-05-18 18:37:34 -07:00
theelk801
199315e48b [FIC] Implement Vincent, Vengeful Atoner 2025-05-18 15:59:51 -04:00
Oleg Agafonov
655625d695 Gavi, Nest Warden - fixed game error on usage 2025-05-18 20:44:46 +04:00
Oleg Agafonov
e320bf241c GUI, game: added source info in "choose number/amount" dialogs, added auto-choose for single possible value (part of #13638); 2025-05-17 21:18:45 +04:00
theelk801
94e579543c [FIN] Implement Instant Ramen 2025-05-16 14:24:55 -04:00
Susucre
a9af84f533
implement [FIN] Vivi Ornitier ; limit mana computation for "only once per turn" abilities (#13639)
fixes #10930
2025-05-16 19:45:01 +02:00
Oleg Agafonov
66db821437 refactor: combined announceX methods in one, improved X message and selection for AI (part of #10330) 2025-05-16 19:34:57 +04:00
Oleg Agafonov
133e4fe425
other: reworked target selection: (#13638)
- WIP: AI and multi targets, human and X=0 use cases, human and impossible targets use cases;
- improved stability and shared logic (related to #13606, #11134, #11666, continue from a53eb66b58, close #13617, close #13613);
- improved test logs and debug info to show more target info on errors;
- improved test framework to support multiple addTarget calls;
- improved test framework to find bad commands order for targets (related to #11666);
- fixed game freezes on auto-choice usages with disconnected or under control players (related to #11285);
- gui, game: fixed that player doesn't mark avatar as selected/green in "up to" targeting;
- gui, game: fixed small font in some popup messages on big screens (related to #969);
- gui, game: added min targets info for target selection dialog;
- for devs: added new cheat option to call and test any game dialog (define own dialogs, targets, etc in HumanDialogsTester);
- for devs: now tests require complete an any or up to target selection by addTarget + TestPlayer.TARGET_SKIP or setChoice + TestPlayer.CHOICE_SKIP (if not all max/possible targets used);
- for devs: added detail targets info for activate/trigger/cast, can be useful to debug unit tests, auto-choose or AI (see DebugUtil.GAME_SHOW_CHOOSE_TARGET_LOGS)
2025-05-16 13:55:54 +04:00
theelk801
c0a1b64266 [FIC] Implement Wrecking Ball Arm 2025-05-15 19:15:04 -04:00
xenohedron
87ab0a3fcc fix #13615 (Vampiric Embrace)
revise setTargetPointer logic of DealtDamageAttachedAndDiedTriggeredAbility
2025-05-14 23:33:07 -04:00