Commit graph

43366 commits

Author SHA1 Message Date
Susucre
1c63bb6b04 fix LCC rarities 2023-11-19 18:40:04 +01:00
Susucre
d159c45ff0 [LCI] Implement Brass's Tunnel Grinder // Tecutlan the Searing Rift 2023-11-19 18:27:35 +01:00
Susucre
f45c9e8ee9 [LCI] Implement Thousand Moons Smithy // Barracks of the Thousand 2023-11-19 17:54:57 +01:00
Oleg Agafonov
74862c83b2 Merge fix 2023-11-19 19:28:04 +04:00
Oleg Agafonov
27c9543f62 The Ring Emblem - fixed not working 3rd effect with blocker sacrifice (closes #11425), added docs and usage example for BLOCKER_DECLARED and CREATURE_BLOCKED game events 2023-11-19 19:16:55 +04:00
Oleg Agafonov
571711e67d tests: added multiple tests for ring emblem and ring-bearer effects (related to #11425) 2023-11-19 19:12:07 +04:00
Steven Knipe
8b4ca7d2eb Minor cleanup 2023-11-19 02:50:21 -08:00
Steven Knipe
89a7a938e6 Use generic code for Cast target -> Exile effects) 2023-11-19 02:50:09 -08:00
Steven Knipe
891f16bde1 Cosmium Confluence needs to add the becomes-creature effect to the game 2023-11-19 01:39:08 -08:00
Steven Knipe
ed7cac4435 Fix Smell fear to be "up to one target creature you don't control" 2023-11-19 01:22:02 -08:00
Steven Knipe
bd6f78bd61 use static filters in Orzhov Pontiff and Kros Defense Contractor 2023-11-19 01:21:37 -08:00
Steven Knipe
c5aa76b46a Standardize/simplify Vizier of the True 2023-11-19 01:06:07 -08:00
Steven Knipe
aedad88480 Standardize triple-damage replacement effect math 2023-11-19 01:03:34 -08:00
Steven Knipe
0058c2fb94 Use deepCopyObject in PlayerImpl 2023-11-19 00:33:56 -08:00
xenohedron
69ec0e8946 text fix 2023-11-19 01:57:51 -05:00
xenohedron
d98848fa0d fix #11428 (Become Brutes) 2023-11-19 01:55:56 -05:00
ssk97
38adbb4ae5
[UNF] "Name Sticker" Goblin, [WHO] Coward // Killer, [WHO] Thijarian Witness (#11392)
* Add [WHO] Coward // Killer

* Add MTGO version of [UNF] "Name Sticker" Goblin

* Implement [WHO] Thijarian Witness

* Add NameStickerGoblinTest

* Fix Thijarian Witness, add tests (may need additional tests). Also adds a simple toString for MageObjectReference

* Don't spam the java garbage collector, add another test

* Replace non-ASCII characters in card text

* improve MOR toString

* Thijarian Witness fixed better, add AttackingBlockingWatcher in common

* cleanup from xenohedron's review

* Fix test, add warning not to use AttackingBlockingWatcher for static effects

* rename AttackingBlockingWatcher to AttackingBlockingDelayedWatcher to make it more obvious how it should be used, minor documentation changes
Simplify and rename Thijarian Witness Predicate

* add null checks
2023-11-19 00:38:21 -05:00
xenohedron
50d5b7ce9b minor fixes
cleanup related to #11413

fix #11414 (Blade of Selves text)
2023-11-19 00:35:54 -05:00
Daniel Cowman
65c5002365
[PIP] Implement Vault 101: Birthday Party (#11413) 2023-11-19 00:14:17 -05:00
xenohedron
f4920b60ed text fixes 2023-11-19 00:09:35 -05:00
xenohedron
2e79595ecf fix #11423 (Tiller Engine) 2023-11-19 00:03:09 -05:00
xenohedron
2457255130 add test for Tiller Engine 2023-11-19 00:03:09 -05:00
xenohedron
f46ac4c5ee fix LoseLifeControllerAttachedEffect
resolves #11421
2023-11-19 00:03:09 -05:00
xenohedron
67d9127027 add test for Banewasp Affliction 2023-11-19 00:03:09 -05:00
xenohedron
73daf67cc2 remove unused class 2023-11-19 00:03:09 -05:00
xenohedron
a56d52c5a8 simplify Stitcher's Apprentice 2023-11-19 00:03:09 -05:00
Oleg Agafonov
4f081c0918 Merge fix 2023-11-18 15:36:55 +04:00
Oleg Agafonov
515444affd
Merge pull request #11422 from magefree/gui-add-card-hints-dialog
GUI: added new card hints tool, improved player panel and other fixes
2023-11-18 14:04:29 +03:00
Oleg Agafonov
2bbe2b3c43 GUI - new card hints window features:
* new help window can be opened from a player panel;
* it collect and show all visible game hints from all players and all zones;
* it updates in real time on game update;
* allows to customize visible data;
* allows to open multiple windows (current limit is 5 windows, can be slow to render);
* allows to minimize opened windows;
* workable card popup on mouse move over card name or card id;
* filter modes:
  * all - show hints from all players;
  * player - show hints from single player;
* group mode:
  * by hints - show same hints as one with all used cards;
  * by cards - show full cards list with own hints;
* search mode:
  * allows to filter card hints by player name, card name, card id or card hint;
  * allows to search multiple words (equals to "or")
* current limitation:
  * card popup shows a card instead a real object, e.g. miss card hints in it (relelated to game logs problem);
  * unsupport of emblems, dungeons and other non card objects from a command zone;
  * unsupport of revealed and library's top cards;

GUI - player's panel improves:
* added hints helper button;
* added player hithlight as possible target in choose dialogs;
* improved player name button in small mode;
* fixed wrong height in small mode;

Other fixes:
* game logs: added card popup support for logs with custom object name;
2023-11-18 14:48:25 +04:00
Steven Knipe
79f8601e26 Minor test improvements 2023-11-17 23:20:35 -08:00
Steven Knipe
f44b36fad2 Improve documentation 2023-11-17 02:53:43 -08:00
Steven Knipe
660288dfd7 Use generics to ensure the correct class types stored inside the costs tags. 2023-11-17 02:37:06 -08:00
ssk97
ca80849249
game: fixed "if mana was spent to cast" abilities after leaves (#11419)
* ManaWasSpentCondition should use MageObjectReferences
2023-11-17 12:02:47 +04:00
Steven Knipe
193a19104c Improved Altered Ego rules documentation 2023-11-16 23:35:09 -08:00
Tirth Bharatiya
44b8a0faf4
refactor: improved code to increase readability. (#11418)
Moved the cardViewEquals method from CardPanelRenderModeMTGO to CardView
Decomposed conditional to increase readability.
Changed the variable/constant names to increase the readability.
2023-11-17 10:47:53 +04:00
Steven Knipe
177f72c8d8 Altered ego X value should be separate 2023-11-16 18:21:02 -08:00
Steven Knipe
18600a53a9 Add new/Enable existing tests 2023-11-16 18:09:02 -08:00
Steven Knipe
77dd1711b5 Convert Kicker to costs tag system 2023-11-16 15:07:58 -08:00
Steven Knipe
1e76b59f4e Convert Bargain/Entwine/Squad to costs tag system 2023-11-16 14:39:55 -08:00
Steven Knipe
ad873863fa Convert SpellAbility keywords to costs tag system 2023-11-16 14:39:13 -08:00
Steven Knipe
f3d5faf199 Convert AlternativeSourceCostsImpl keywords to using the costs tag system 2023-11-16 14:37:38 -08:00
ssk97
bea33c7493
Costs Tag Tracking part 2: Tag system and X values, reworked deep copy code (#11406)
* Implement Costs Tag Map system

* Use Costs Tag Map system to store X value for spells, abilities, and resolving permanents

* Store Bestow without target's tags
Change functions for getting tags and storing the tags of a new permanent

* Create and use deep copy function in CardUtil, add Copyable<T> to many classes

* Fix Hall Of the Bandit Lord infinite loop

* Add additional comments

* Don't store null/empty costs tags maps (saves memory)

* Fix two more Watchers with Ability variable

* Add check for exact collection types during deep copy

* Use generics instead of pure type erasure during deep copy

* convert more code to using deep copy helper, everything use Object copier, add EnumMap

* fix documentation

* Don't need the separate null checks anymore (handled in deepCopyObject)

* Minor cleanup
2023-11-16 23:12:32 +04:00
PurpleCrowbar
72e30f1574 Fix Illithid Harvester assigning Horror subtype to unturnable TDFCs 2023-11-16 18:14:37 +00:00
PurpleCrowbar
4791bbb81f Changed Cunning Rhetoric to exile cards to its own exile zone 2023-11-16 17:50:15 +00:00
Susucre
b538d4714c [LCI] Implement Sunken Citadel 2023-11-16 11:51:10 +01:00
Susucre
0241a788a0 add a couple null check to Modes' value Key creation
normal game usage should have no issue, but the Pillar Custom mode
initializing a Delayed Trigger at game init can not have a real source set up.

Might revisit 'game init' trigger in a better way in the future.
For now this fix is enough to avoid a NPE using the Pillar game mode.
2023-11-16 11:08:11 +01:00
xenohedron
837d756746 fix text better 2023-11-15 23:27:58 -05:00
xenohedron
fe4ddc8d74 fix granted ability text on Blazing Torch 2023-11-15 23:07:08 -05:00
xenohedron
f6faad4c7b align order of abilities on Wooden Stake 2023-11-15 23:07:07 -05:00
Oleg Agafonov
892b4ebd95
Merge pull request #11411 from tirth1/refactor-gameController 2023-11-16 04:43:47 +03:00