Commit graph

4203 commits

Author SHA1 Message Date
jimga150
b0d7daa85e
[REX] Implement Grim Giganotosaurus (#12103)
* Implement Grim Giganotosaurus

* Refactor MonstrosityAbility to take cost adjuster

* Update Nemesis of Mortals' monstrous ability and add test for cost reduction
2024-04-17 20:24:37 -04:00
Susucre
9d7bf27d38
[PIP] Implement Rad Counters mechanic (#12087) 2024-04-17 20:04:17 +02:00
Susucre
11373fd75d fix Xanathar, Guild Kingpin (#12133)
fix #12133
2024-04-17 19:59:31 +02:00
Oleg Agafonov
e8e2f23284 server: improved server stability (#11285) and reworked triggers/playable logic (#8426):
* game: now all playable calculations done in game simulation, outside real game (no more freeze and ruined games by wrong Nyxbloom Ancient and other cards with wrong replacement dialog);
* game: fixed multiple problems with triggers (wrong order, duplicated calls or "too many mana" bugs, see #8426, #12087);
* tests: added data integrity checks for game's triggers (3 enabled and 3 disabled due current game engine logic);
2024-04-16 23:10:18 +04:00
Susucre
017286ed94
fix ContinuousEffect that access affectedObjectsSet before it is initialized (#12080) 2024-04-13 16:50:06 +02:00
Susucre
607d55f16b
[OTC] Implement 2 cards, refactor some exile effects ("Gonti-like") (#12118)
[OTC] Implement Gonti, Canny Acquisitor
[OTC] Implement Dream Thief's Bandana
2024-04-13 12:21:05 +02:00
Susucre
c77634c843
separate 'you may play'|'you may cast' AsThoughtEffect approuvers
Also, reworked Gonti, Lord of Luxury and checks it now works properly with Zoetic Cavern.
2024-04-13 12:10:53 +02:00
xenohedron
31295eb645 followup fix to #12058 2024-04-12 23:24:56 -04:00
xenohedron
8853e7d875
refactor: clean up static filters for sacrifice targets (#12120)
* simplify sacrifice target filters, part 1

* minor cleanup

* adjust SacrificeXTargetCost

* adjust Arctic Merfolk

* more cleanup

* remove unused

* adjust filters not used for sacrifice

* fix Hew the Entwood

* fix Nahiri's Lithoforming

* remove unused

* remove another

* cleanup more

* fix MegatronDestructiveForce

* remove next

* next batch of replacements

* remove next

* rename filter to match text

* finish removing

* use existing static filter
2024-04-12 22:24:10 -04:00
xenohedron
5c9d1cd205 fix #12058 (check phased in for "control a commander") 2024-04-12 20:59:36 -04:00
xenohedron
1198192a13 more text adjustments 2024-04-12 20:45:53 -04:00
xenohedron
f3fccfbd8a refactor: use setter method and private field 2024-04-12 20:11:04 -04:00
xenohedron
577a3708fc adjust some text, cleanup some variable access 2024-04-12 20:08:26 -04:00
Alexander Novotny
8271686cb4
[PIP] Implement Shaun, Father of Synths (#12109)
* Added method to set triggered abilities to optional

* TokenCopy effect now copies permanentModifier

* Implemented Shaun, Father of Synths

* remove TODO

* Made `setOptional` chainable
2024-04-12 19:41:58 -04:00
Susucre
e741a453bf [PIP] Implement Nuclear Fallout 2024-04-11 19:16:36 +02:00
xenohedron
8bf75ed000 text fixes 2024-04-11 00:34:19 -04:00
jimga150
51b1ab4cb6
Implement [REX] Compy Swarm (#12101) 2024-04-10 23:43:37 -04:00
jimga150
40b1dcc526
Fix DestroyPlaneswalkerWhenDamagedTriggeredAbility (#12093) 2024-04-10 23:42:44 -04:00
Oleg Agafonov
c3862e7196 server: improved server stability after some memory overflow errors (card not found errors, related to #11285); 2024-04-10 22:35:48 +04:00
Susucre
db5dc89776 [OTC] Implement Smoldering Stagecoach 2024-04-09 20:57:22 +02:00
Matthew Wilson
6fffc2aeb0
Merge pull request #11723 from DominionSpy/case-of-the-pilfered-proof
[MKM] Implement Case of the Pilfered Proof
2024-04-09 14:48:27 +03:00
Susucre
e62d1c2124 [OTC] Implement Thunderclap Drake 2024-04-09 13:08:10 +02:00
Matthew Wilson
e79bab6520
Merge branch 'magefree:master' into case-of-the-pilfered-proof 2024-04-08 07:02:35 +03:00
theelk801
9a3fc4e0cc [OTC] Implement Graywater's Fixer 2024-04-07 18:18:39 -04:00
Matthew Wilson
9cf6119c7e
Merge branch 'magefree:master' into case-of-the-pilfered-proof 2024-04-07 14:31:44 +03:00
Susucre
b233fcf4d8 Consolidate, cleanup & test a few MayCastTargetCardEffect cards 2024-04-06 17:37:32 +02:00
Susucre
a86b629abe [OTC] Implement Smirking Spelljacker 2024-04-06 16:26:16 +02:00
Susucre
b5d0943b9d [OTC] Implement Cactus Preserve 2024-04-06 13:42:23 +02:00
Susucre
1ff8cf01cf [MKM] Implement Fugitive Codebreaker 2024-04-05 20:16:28 +02:00
Susucre
d317dd1307 Add test for Voja, Jaws of the Conclave 2024-04-05 12:13:01 +02:00
Susucre
d2356abe31 Fix AddCountersAllEffect 2024-04-05 12:02:56 +02:00
Susucre
2d7349a7bb Fix faulty logic in AddCounters effects amount computation.
When set with DynamicValue, and that value computes to 0,
the amount of counters added was incorrectly the Counters amount.
2024-04-05 11:53:19 +02:00
Susucre
d591a89495 [OTJ][BIG] Cleanup some card implementation 2024-04-05 11:53:12 +02:00
xenohedron
35a22527f1 another batch of text fixes 2024-04-04 23:21:44 -04:00
jimga150
525e013ebd
Fix damage triggers (#12033)
* Fix DealtDamageAttachedTriggeredAbility and update test

* Fix AegarTheFreezingFlameTriggeredAbility and add test

* fix enum reference for DealtDamageAttachedTriggeredAbility

* fix Pious Warrior

* Fix souls of the faultless

* fix Stuffy Doll

* Fix Vengeful Pharoah and add test

* fix Wall of Essence

* fix Wall of Souls

* fix Rite of Passage and add test

* incorporate simple fixes - these cards use no methods that aren't re-implemented in DamagedBatchForOnePermanentEvent

* fix Chandra's Spitfire

* fix Darien, King of Kjeldor

* fix Jace, Cunning Castaway

* fix Mindblade Render

* fix Popular Entertainer

* fix Swarmborn Giant

* fix The Raven's Warning

* fix War Elemental

* fix Wildfire Elemental

* make simple player damage trigger fixes

* Add isCombatDamage to DamagedBatchForOnePermanentEvent and utilize in trigger fixes

* fix Fall of Cair Andros

* fix Toralf, God of Fury

* optimize some imports
2024-04-04 22:16:44 -04:00
Susucre
01ddee2c75 Fix zcc off by 1 in MayCastTargetCardEffect 2024-04-05 02:07:48 +02:00
Susucre
d1de8b8cd3
[OTJ] Implement Tinybones, the Pickpocket + refactor MayCastTargetThenExileEffect (#12040) 2024-04-05 00:16:53 +02:00
Susucre
dd3057fa10 [BIG] Implement Tarnation Vista 2024-04-04 12:47:35 +02:00
Susucre
73287e3878 [OTJ][BIG] Various Fixes (mostly Text) 2024-04-03 22:24:53 +02:00
Susucre
f5b7968492 [OTJ] Implement Smuggler's Surprise 2024-04-03 00:49:20 +02:00
theelk801
1d8aa446a5 [OTJ] Implement The Gitrog, Ravenous Ride 2024-04-02 16:01:29 -04:00
theelk801
911a221a1b [OTJ] Implement Patient Naturalist 2024-04-02 15:23:48 -04:00
Susucre
4bbdc3c543
[OTJ] Implement Fblthp, Lost on the Range (#12042) 2024-04-02 14:55:09 +02:00
Susucre
fddaf5914e [OTJ] Implement Overzealous Muscle 2024-04-02 14:22:16 +02:00
Susucre
f41f3feb89 [OTJ] Implement Trick Shot 2024-04-02 12:56:19 +02:00
ssk97
fd83fbb600
refactor: Remove no-argument Squad constructor (#12038) 2024-04-02 00:44:23 -04:00
Evan Kranzler
ba20e97b71
[OTJ] Implementing "spree" mechanic (#12018)
* [OTJ] Implement Unfortunate Accident

* fix errors

* a few more things

* [OTJ] Implement Three Steps Ahead

* [OTJ] Implement Caught in the Crossfire

* [OTJ] Implement Insatiable Avarice

* add test

* [OTJ] Implement Explosive Derailment

* [OTJ] Implement Requisition Raid

* [OTJ] Implement Rustler Rampage

* add comment to test

* [OTJ] Implement Metamorphic Blast

* [OTJ] Implement Final Showdown

* rework cost addition, add test

* move cost application to its own loop
2024-03-31 12:11:34 -04:00
Susucre
97ab8074b3
[OTJ] Implement Plot mechanic (+8 cards) (#12017)
[OTJ] Implement Aloe Alchemist
[OTJ] Implement Aven Interrupter
[OTJ] Implement Longhorn Shapshooter
[OTJ] Implement Kellan Joins Up
[OTJ] Implement Make Your Own Luck
[OTJ] Implement Jace Reawakened
[OTJ] Implement Lilah, Undefeated Slickshot
[OTJ] Implement Doc Aurlock, Grizzled Genius
2024-03-31 17:06:55 +02:00
theelk801
6e750492b2 [OTJ] Implement Luxurious Locomotive 2024-03-30 21:39:45 -04:00
Susucre
9a03bc675b [OTJ] Fix a few rule text 2024-03-31 01:11:26 +01:00