Oleg Agafonov
316e0dc1f3
refactor: improved damaged batch events, added todo to fix (related to #10870 )
2023-09-13 03:14:19 +04:00
Vivian Greenslade
8c1a4d1fa6
[WOC] Implement Misleading Signpost ( #11084 )
...
* [WOC] Implement Misleading Signpost
* moved effect to common file
* added unit test
* added battle to test
* updated effect name, fixed list of defenders
* fix test text
* added text for effect
* fixed target
* made changes as per PR comments
* added unit test for 508.7c
2023-09-09 15:32:04 -04:00
Susucre
8b79053deb
[WOC] Implement Court of Garenbrig ( #10970 )
...
* add DoubleCounterOnEachPermanentEffect
* Clean text generation of ConditionalOneShotEffect to prevent "if if"
* [WOC] Implement Court of Garenbrig
* better rule generation
* fix target, add tests
2023-09-09 15:31:49 -04:00
Susucre
249e7bf31b
[WOC] Implement Court of Embereth ( #10971 )
...
* Clean text generation of ConditionalOneShotEffect to prevent "if if"
* [WOC] Implement Court of Embereth
2023-09-08 23:57:36 -04:00
xenohedron
144b261fc2
another batch of text fixes
2023-09-07 02:22:16 -04:00
xenohedron
8c9ecb9b9a
adjust Cascade ability reminder text
2023-09-07 02:22:16 -04:00
xenohedron
34b671bc83
cleanup add color/subtype attached effects
2023-09-07 02:22:16 -04:00
xenohedron
72be1856f7
describe targets: look at hand; can't be blocked
2023-09-07 02:22:16 -04:00
Oleg Agafonov
4b3a19b4d5
refactor: improved target usage, replaced setNotTarget by withNotTarget
2023-09-07 05:35:54 +04:00
PurpleCrowbar
692c55e3e1
Do this only once each turn - fixed wrong triggers after optional usage (example: Ondu Spiritdancer, see #11106 ) ( #11107 )
...
* Fix Ondu Spiritdancer. Closes #11106
* Add tests for "Do this only once each turn"
* Add test for Ondu Spiritdancer
2023-09-06 22:12:03 +04:00
Susucre
7b5139742f
[JUD] Fix Wormfang Turtle & Wormfang Newt ( #11100 )
...
text generation & wrongly targetting
2023-09-05 22:27:19 -04:00
Oleg Agafonov
8a65b0f149
refactor: removed netbeans's auto-generated comments
2023-09-02 16:05:29 +04:00
Susucre
344ff81a37
[WOE][WOC] Fixed card texts, fixed Free the Fae ( #11098 )
...
* fix name compare when both full and small name are used
* fix Free the Fae, it is mandatory
2023-09-02 15:40:40 +04:00
Susucre
24315460fe
Bargain ability - fixed that cards can't be cast without full mana ( #11089 )
...
* [WOE] Fix Hamlet Glutton & friends
* add tests
2023-09-02 15:38:45 +04:00
arcox
2f0c1d84c5
Lint: fix 'declarations should use interfaces instead of classes' bugs ( #11082 )
2023-08-31 21:42:45 +04:00
xenohedron
d6c690601d
Merge pull request #11031 from xenohedron/cleanup-7a-7b
...
More SetBasePowerToughnessSourceEffect cleanup
2023-08-31 00:29:59 -04:00
Oleg Agafonov
060b8f9dc9
backup ability: fixed wrong duration and discard in Streetwise Negotiator, added related tests and runtime/verify checks (related to #11068 )
2023-08-31 07:29:05 +04:00
xenohedron
1903f90b3a
better text generation, a couple more individual fixes
2023-08-30 23:25:10 -04:00
Oleg Agafonov
6768184e18
typo fixed (related to #11068 ), added backup ability docs
2023-08-31 06:06:47 +04:00
xenohedron
22961162ad
text fixes related to recent updates
2023-08-30 20:54:27 -04:00
Vivian Greenslade
a65c2204ce
Rework CombatDamageByToughness effects ( #11068 )
...
* split effect into three classes for convenience
* added static filter
* refactored cards using effect
* fixed issues as per PR comments
* changed predicate and fixed text
* added unit test, fixed text issues with Baldin
* set static text
* changed outcome
* added stop to test
* fixs issues as per PR comments
2023-08-30 20:16:14 -04:00
Susucre
96a2c277b2
clean some of the most frequent copy constructor / copy method ( #11053 )
2023-08-30 19:48:03 -04:00
Vivian Greenslade
5ddb69e1ba
Rework DealCombatDamageControlled to allow a creature filter ( #11037 )
...
* Added filter to ability
* wip
* updated logic for trigger to use new event
* updated classes using trigger to account for constructor changes
* condensed constructors, added total damage dealt as value, added exception for SetTargetPointer
* fixed set value
* fixed optional flag on cards
* fixed filter
2023-08-30 19:47:52 -04:00
Susucre
9abe115c68
more cleanup of copy method/constructor ( #11056 )
2023-08-30 19:17:05 -04:00
Susucre
fab00d2f27
[WOE] Implement Curse of the Werefox ( #11009 )
...
* [WOE] Implement Curse of the Werefox
* apply review
* Fix aura (and equipment?) tokens not checking for protection on target
* fix targetting of reflexive trigger, by creating a custom fight effect.
* fix reflexive ability target.
2023-08-30 19:16:22 -04:00
Susucre
2a5dd4103c
[WOE] Implement Ashiok, Wicked Manipulator ( #10909 )
...
* [WOE] Implement Ashiok, Wicket Manipulator
* Add Ashiok's abilities
* basic pay life replacement tests
* many tests later
* add warning on token expecting watcher
* apply review
* rework text generation
2023-08-30 19:15:56 -04:00
xenohedron
a427406d5f
fix Sutured Ghoul
2023-08-29 23:33:59 -04:00
Vivian Greenslade
2cd8bc6f6c
Create common implementation for predefined tokens ( #11065 )
...
* adds token abilities
* updated cards to use new abilities
2023-08-29 20:28:21 -04:00
Susucre
fa778d352d
[WOE] Implement Elusive Otter ( #11061 )
2023-08-29 09:35:34 -04:00
xenohedron
8c0f2b9bf8
Followup cleanup to manaCosts access in AbilityImpl ( #11060 )
...
(a relic of the rejected proposal to lazily instantiate manaCosts was left in #9625 and is removed here, allowing the fields to be made final)
2023-08-28 22:42:34 -04:00
Susucre
566f4dc7f7
[WOM] Implement (not yet official) Mosswood Dreadknight ( #10792 )
2023-08-28 18:27:28 -04:00
Alex Vasile
a2162ec3e7
Refactor: private fields and performance tweaks ( #9625 )
...
1a. Make `costs`, `manaCosts`, and `manaCostsToPay` private in `AbilityImpl` with access through getters/setters
1b. fix cost adjuster for imprinted cards affected by the above
2a. Lazy instantiation for rarely used `data` field in `TargetPointerImpl`
3a. Pre-allocate certain array sizes in `Modes` and `CostsImpl`
4a. Make `manaTemplate` private in `BasicManaEffect`, copy when passing outside the class
4b. Don't copy `manaTemplate` in copy constructor since it doesn't change
4c. Add comments explaining copy usage for `manaTemplate`
4d. Remove redundant variable assignment and make fields final
---------
Co-authored-by: xenohedron <xenohedron@users.noreply.github.com>
2023-08-27 17:58:19 -04:00
xenohedron
53be4f384e
Remove fake "marker" abilities
...
Only three cards used these, but it should be handled by a hint instead and be more broadly applicable
2023-08-27 15:20:48 -04:00
xenohedron
476136b766
add logic to check zcc
2023-08-27 00:28:37 -04:00
xenohedron
2eab7836f6
cleanup SetBasePowerToughnessSourceEffect usages
2023-08-26 23:51:49 -04:00
xenohedron
ab0abcfd22
simplify SetBaseToughnessSourceEffect
...
fix Duration.WhileOnBattlefield -> Duration.Custom in some effects
2023-08-26 23:51:33 -04:00
xenohedron
33a859cb68
simplify SetBasePowerSourceEffect
2023-08-26 23:51:33 -04:00
xenohedron
c84fbfd00e
new SetBasePowerToughnessPlusOneSourceEffect
2023-08-26 23:51:33 -04:00
xenohedron
5d0c1c96c8
remove sublayer parameter in SetBasePowerToughnessSourceEffect
2023-08-26 23:14:30 -04:00
Susucre
be4b568e88
Add modeTag + hint of used modes for "choose one that hasn't been chosen" abilities. ( #10860 )
...
* Add modeTag + hint of used modes on Three Bowls of Porridge
* add ModesAlreadyUsedHint to all the cards.
2023-08-26 23:09:04 -04:00
xenohedron
dcca63b963
more text fixes!
2023-08-26 23:04:13 -04:00
xenohedron
70bf68a5a4
simplify constructors in GainAbilityAllEffect
2023-08-26 21:53:08 -04:00
xenohedron
869de1eac6
fix getText() overrides ignoring staticText ( #11044 )
...
* fix text: SkipNextPlayerUntapStepEffect
* remove old copyright info
* individual card text fixes
* fix overrides ignoring staticText
2023-08-26 20:47:02 -04:00
Susucre
52eaa600ba
text fixes [ALA] [CON] [ARB] ( #11036 )
...
* Tweak verify for double cycling
* small fixes
* do not verify some GUI-related rules.
2023-08-26 20:46:49 -04:00
Susucre
a9870b6ff8
text fixes [WOE] etc. ( #11035 )
...
* Fix Callous Sell Sword text
* simple text fixes
* fix some target texts
2023-08-26 19:34:49 -04:00
Susucre
c4e48a6f95
[WOE] Implement The End (without breaking morph tests this time) ( #11041 )
...
* [WOE] Implement The End
* add cost reduction
* apply review
* fix tests looking for morphs
2023-08-26 19:34:21 -04:00
Susucre
aa71f0ba8a
Refactor DoIfCostPaid; Inform player on cost not paid. ( #10942 )
2023-08-26 17:29:30 -04:00
xenohedron
4d03deda12
Revert "[WOE] Implement The End ( #10921 )" ( #11040 )
...
This reverts commit fe93d68b1c .
2023-08-26 17:28:09 -04:00
xenohedron
66cc15ed4b
Cleanup copy methods ( #11038 )
...
* remove System.out.println
* Card copy() covariant return
* Effect copy() covariant return
* Cost copy() covariant return
* Ability copy() covariant return
* ContinuousEffect copy() covariant return
2023-08-26 16:47:54 -04:00
Susucre
fe93d68b1c
[WOE] Implement The End ( #10921 )
2023-08-26 16:45:51 -04:00