Commit graph

13110 commits

Author SHA1 Message Date
Cameron Merkel
0c9518712a
Minor improvements to AddCountersAllEffect (#11690)
* Basic cleanup (remove unused imports, make class variable final, fix typo in comment)

* Reduce log spam, use plural for "counter" when necessary
2024-01-20 13:35:13 -05:00
Matthew Wilson
784a5fb1e4
Fix Sanctuary Blade ability causing a trigger (#11682)
* Fix Sanctuary Blade ability causing a trigger

* Remove unnecessary logic and correct test

* Re-add strict choose mode

---------

Co-authored-by: Matthew Wilson <matthew_w@vaadin.com>
2024-01-20 13:20:17 -05:00
Oleg Agafonov
8e395f964d miss changes from foretold fix in #11646 2024-01-20 16:52:44 +04:00
xenohedron
8cef411c70
fix LoseLifeControllerAttachedEffect (#11680)
add test for Pooling Venom
2024-01-19 18:32:01 -05:00
Oleg Agafonov
e4157fefb8 AI: improved combat support:
* added support to attack battle permanents (#10246);
* fixed that AI was able to attack multiple targets by single creature (#7434);
* added docs;
* added todos with another bugs or possible problems with AI combat;
2024-01-20 00:17:14 +04:00
theelk801
b29bb6026f [MKM] Implement Museum Nightwatch 2024-01-19 09:55:58 -05:00
theelk801
fe97d3d77b [MKM] Implement No Witnesses 2024-01-17 16:29:17 -05:00
theelk801
1a8dce83d0 rename face-up/face-down events 2024-01-17 15:56:11 -05:00
theelk801
c0de1cec19 fix test failure 2024-01-17 15:51:54 -05:00
theelk801
9d8991f5af [MKM] Implement Gadget Technician 2024-01-17 15:11:12 -05:00
theelk801
d34b12ecdf [MKM] Implement Defenestrated Phantom 2024-01-17 10:02:22 -05:00
Ebola16
85c17c786f
gui: decrease luminosity for LOG_TT_COLOR_MULTI (#11663) 2024-01-16 00:26:10 -05:00
Oleg Agafonov
08b99fcbf7 AI: removed outdated AIMinimax project (#7075), removed some useless player classes, code and config files, improved docs; 2024-01-15 05:03:21 +04:00
Oleg Agafonov
6ac2f44cc1 game, refactor: improved player related code, fixed miss reset fields between games like commanderIds (#11081, #11628) 2024-01-15 05:03:21 +04:00
xenohedron
a090a2a9d0
refactor/cleanup DoIfCostPaid (#11656) 2024-01-14 19:57:24 -05:00
xenohedron
aa642324d7
refactor: sacrifice permanent triggered abilities (#11655)
* refactor constructors in SacrificePermanentTriggeredAbility

enables general use

* refactor some custom classes

* reorder method signature, add docs

* refactor another batch of custom classes

* cleanup remaining custom classes
2024-01-14 19:57:11 -05:00
xenohedron
341d8b9add fix #11643 (choice for add mana of any type produced) 2024-01-13 16:26:54 -05:00
Oleg Agafonov
95481cd736 Mana Maze - fixed game error on usage (closes #11572, closes #11575); 2024-01-13 11:42:22 +04:00
xenohedron
44893028f5
refactor: Constructor access modifier cleanup (#11644)
* ContinuousRuleModifyingEffectImpl

* OneShotEffect

* ContinuousEffectImpl

* fix CRLF

* *EffectImpl

* *Effect

* DoIfCostPaid

* cleanup token copy constructors -> private

* fix build error from misspelled class name
2024-01-13 00:53:22 -05:00
xenohedron
60ad6c2325 new common predicate class
ManaValueLessThanOrEqualToSourcePowerPredicate
2024-01-10 23:55:43 -05:00
Jeff Wadsworth
58739cf2d6 Fixed #11623 2024-01-10 17:24:42 -06:00
Oleg Agafonov
72d6a7134d Merge fix 2024-01-08 23:28:17 +04:00
Oleg Agafonov
eedb9e6054 server, tests: improved game error and AI logs, added docs, added error stats in load test's result table (related to #11572); 2024-01-08 23:21:44 +04:00
PurpleCrowbar
19e829a959 Fix typo in creature types 2024-01-08 16:46:52 +00:00
Oleg Agafonov
b3c55555a1 tests: fixed error on load tests end (related to #11572), improved logs, improved session lifecycle on load tests;
tests: added additional test for Mana Maze and deep copy (related to #11572);
docs: added more info to network related code;
2024-01-08 04:14:27 +04:00
xenohedron
98a3d8b947
fix that Manamorphose can't be used to cast Imperiosaur (#11620) 2024-01-07 14:22:20 -05:00
xenohedron
5376e81d90 minor cleanup to ManaPool 2024-01-07 14:21:59 -05:00
xenohedron
c55be4b7c8 minor adjustment to Convoke ui 2024-01-07 14:21:59 -05:00
PurpleCrowbar
41bdd5258c Add LCI token images 2024-01-07 19:19:34 +00:00
xenohedron
906145bad6 fix error in FightTargetsEffect 2024-01-06 15:13:00 -05:00
jimga150
068f5db976
[PIP] Implement Mr. House, President and CEO (#11610)
* move Cybernetic Datasmith's robot token to RobotCantBlockToken since Mr. House has a more generic version

* Update tokens database
2024-01-06 15:09:14 -05:00
xenohedron
aa4d1654c7 fix unwanted null check in FightTargetsEffect 2024-01-06 15:05:14 -05:00
xenohedron
784a0f564b fix #11606 (PreventDamageToSourceEffect zcc check) 2024-01-06 14:57:56 -05:00
Oleg Agafonov
e79f562f4a server: improved logs for some use cases (related to #11572) 2024-01-05 23:13:20 +04:00
Oleg Agafonov
fac5f8c752 dev: removed magediag file, now game/tourney logs goes to default console/file (related to #11572) 2024-01-05 23:13:20 +04:00
xenohedron
518407be73 fix regression: Michiko Konda, Truth Seeker
missing a check in SourceDealsDamageToYouTriggeredAbility::checkTrigger

added test
2024-01-03 01:14:46 -05:00
xenohedron
0631521787 merge cleanup 2024-01-03 00:21:09 -05:00
xenohedron
248b78677c remove unused param from ProwlAbility 2024-01-02 19:23:16 -05:00
xenohedron
e6bd35eb77
refactor selecting cards from multiple zones (#11584)
* refactor selecting cards from multiple zones

fix MV <= controlled lands predicate

fix filter checks without source parameter

* fix test choice
2023-12-31 14:25:25 -05:00
jimga150
53d62c7f44
[LCC] Implement Pantlaza, Sun-Favored (#11590) 2023-12-31 14:24:55 -05:00
xenohedron
9b3ff32a33
Rework sacrifice effects to support "can't be sacrificed" (#11587)
* add TargetSacrifice and canBeSacrificed

* SacrificeTargetCost refactor, now uses TargetSacrifice, constructors simplified, subclasses aligned

* fix text errors introduced by refactor

* refactor SacrificeEffect, SacrificeAllEffect, SacrificeOpponentsEffect

* cleanup keyword abilities involving sacrifice

* fix a bunch of custom effect classes involving sacrifice

* fix test choices

* update Assault Suit implementation

* fix filter check arguments

* add documentation to refactored common classes

* [CLB] Implement Jon Irenicus, Shattered One

* implement "{this} can't be sacrificed"

* add tests for Assault Suit and Jon Irenicus

* refactor out PlayerToRightGainsControlOfSourceEffect

* implement [LTC] Hithlain Rope

* add choose hint to all TargetSacrifice

---------

Co-authored-by: Evan Kranzler <theelk801@gmail.com>
Co-authored-by: PurpleCrowbar <26198472+PurpleCrowbar@users.noreply.github.com>
2023-12-31 14:10:37 -05:00
xenohedron
1bdacc6676
cleanup: CardsImpl and related (#11585)
* minor cleanup of unused params in ExileZone

* cleanup CardsImpl

standardize logic for different methods

remove unused ownerId param
2023-12-29 22:39:56 -05:00
xenohedron
062a9514fb
refactor: ReturnFromGraveyardAtRandomEffect (#11582) 2023-12-26 16:15:37 -05:00
ssk97
429043d7b5
[WHO] Implement Adipose Offspring (#11570)
* EmergeAbility take a string instead of a ManaCosts object

* Save Emerge's sacrificed creature MOR in a costs tag

* Implement Adipose Offspring

* Fix costs tag clearing while permanent still on the battlefield

* improved version of game.getPermanentOrLKIBattlefield with MageObjectReference

* Use correct Alien token

* cleanup imports

* merge fix
2023-12-26 15:22:43 -05:00
xenohedron
1737a0a9eb
Changeling - improved combo support for creature type triggers and changeling spells (example: Volo, Itinerant Scholar) (#11569) 2023-12-23 16:42:05 +04:00
Oleg Agafonov
9ad456239e GUI: stack - added card icon with targets info (announced and triggered targets, target choices); 2023-12-23 16:26:37 +04:00
Jeff Wadsworth
7adbf45258 Added Tarrian's Journal // The Tomb of Aclazotz 2023-12-23 00:01:59 -06:00
xenohedron
eec5c5b2e2
refactor: deduplicate combat damage steps (#11566) 2023-12-21 22:44:01 -05:00
xenohedron
66716a4314 cleanup usage of SubType from string 2023-12-21 22:07:16 -05:00
xenohedron
e449282c8f text fixes 2023-12-17 21:38:17 -05:00