Commit graph

12101 commits

Author SHA1 Message Date
theelk801
12aa81cbf4 [BLB] Implement Mind Spiral 2024-07-23 15:21:23 -04:00
ssk97
3933364e6e
[ACR] Implement 4x Equipment-related cards (#12593)
* Assassin Gauntlet

* Fix many minor mistakes in ACR cards

* Battlefield Improvisation

* Phantom Blade

* Misthios's Fury

* Fix unset target tag, missing damage amount text

* Remove now-unneeded setText calls for DamageTargetControllerEffect
2024-07-23 02:20:18 -04:00
xenohedron
d9287adea3 minor simplification to ConditionalTargetAdjuster
protect internal Targets list
2024-07-23 02:16:26 -04:00
ssk97
e8808c3ae3
Remove duplicate code for X costs (#12551)
* Replace "([a-zA-Z]+).getManaCostsToPay().getX()" with CardUtil.getSourceCostsTag(game, $1, "X", 0)
Fix Disrupting Shoal

* Change final card .getX() calls

* Condense all ManacostVariableValue enum values into "instance"

* Further removal of getX, Display X symbol for non-mana X cards

* Fix test

* Fully remove ManaCosts.getX

* Replace all different X dynamic values with GetXValue

* Remove individual cards checking getAmount for X values (leaving cost reduction that does not use X)

* Add null check for game object inside getSourceCostsTagsMap

* fix build errors

* fix Vicious Betrayal

* text fix
2024-07-23 01:57:47 -04:00
ssk97
a6e66d6209
Conditional target adjuster (#12585)
* Add ReplacingTargetAdjuster

* Use new target adjuster

* Change name to ConditionalTargetAdjuster, don't use blueprint

* Take a Targets list

* Add keepOldTargets option

* Add missed DamagedPlayerControlsTargetAdjuster to Sigil of Sleep

* Cards using updated ConditionalTargetAdjuster

* BLB gift cards currently implemented

* fix wrong default for keepOldTargets

* Fix Urborg Repossession missing 1st target tag
2024-07-23 00:14:28 -04:00
ssk97
78649c1a62
Remove KickerAbility.getSpellKickedCount (#12553)
* Remove KickerAbility.getSpellKickedCount

* Check spell LKI instead of only current spell object

* Remove bad LKI storage under wrong ID
2024-07-22 23:13:48 -04:00
theelk801
f3d5f6d06a [BLB] Implement Blacksmith's Talent 2024-07-20 16:04:43 -04:00
theelk801
0f33ac298c [BLB] Implement Wax-Wane Witness 2024-07-19 17:45:22 -04:00
theelk801
b92c22d602 [BLB] Implement Ruthless Negotiation 2024-07-19 16:15:02 -04:00
theelk801
2a39589dd3 [BLC] Implement Octomancer 2024-07-19 12:21:37 -04:00
theelk801
26022d9682 [BLC] Implement Perch Protection 2024-07-19 12:15:47 -04:00
theelk801
57503550fe [BLB] Implement Jolly Gerbils 2024-07-18 20:47:12 -04:00
Oleg Agafonov
a974af3c61 GUI: improved choose creature type dialog - important creature types added to the start of the list and marked as my/opponent (closes #8478) 2024-07-19 03:17:53 +04:00
Oleg Agafonov
7b2e9b390c GUI: added card hints in choose replacement effect dialog 2024-07-19 00:06:18 +04:00
theelk801
afe3516a32 [BLB] Implement Blooming Blast 2024-07-18 15:22:18 -04:00
theelk801
82c2540b18 [BLB] Implement Stocking the Pantry 2024-07-18 15:22:17 -04:00
Oleg Agafonov
77df387e06 GUI: improved pick choice (dialogs with searchable list, related to #12420):
- dialog: added mana symbols and html support in headers and list;
- dialog: added custom hints for each list's item (use setHintData);
- dialog: added game object hint type (use object id as hint value);
- dialog: added fast way to add key, value, sort and hint data (use choice.withItem());
- cheats: added commands list in popup hint;
2024-07-18 23:04:47 +04:00
Oleg Agafonov
d0c907242c Merge fix 2024-07-18 21:44:42 +04:00
Oleg Agafonov
bf3f26ccc1 server: database improves:
- fixed broken database in some use cases (example: AI and choose name dialog, related to #11285);
- added docs and debug tools for sql queries, caches and memory analyse (see DebugUtil);
- refactor code to use shared settings;
- deleted outdated and un-used code (db logs, stats, etc);
2024-07-18 21:22:10 +04:00
Evan Kranzler
7fe6ba9c57
Implement "Promise a gift" mechanic (#12578)
* [BLB] Implement Wear Down

* [BLB] Implement Valley Rally

* [BLB] Implement Dawn's Truce

* add initial test

* [BLB] Implement Kitnap

* [BLB] Implement Long River's Pull

* [BLB] Implement Peerless Recycling

* [BLB] Implement Into the Flood Maw

* add more tests

* add verify skip

* remove skip

* a few requested changes

* [BLB] Implement Nocturnal Hunger

* add test for gifting a food token

* [BLB] Implement Starforged Sword

* add comment to activation ket

* add test for adding extra cards
2024-07-18 09:15:45 -04:00
ssk97
96b08ee6bf
Fix effects where the source's controller sacrifices it (#12583)
* Fix effects where the source's controller sacrifices it. Added test. Fixes #12582

* Update Evoke rules text
2024-07-18 00:28:50 -04:00
xenohedron
680f14b49d add hint for YouGainedOrLostLifeCondition
update Starseer Mentor to use common condition
2024-07-17 23:57:02 -04:00
theelk801
51f2f051bb [BLB] Implement For the Common Good 2024-07-17 17:18:10 -04:00
theelk801
3d92428453 [BLB] Implement Stormchaser's Talent 2024-07-17 14:25:16 -04:00
theelk801
f7eeb75545 [BLB] Implement Star Charter 2024-07-17 10:19:13 -04:00
xenohedron
bac604fa4c simplify Hired Claw, add hint 2024-07-15 21:49:38 -04:00
Evan Kranzler
204f67c5f0
Implement offspring mechanic (#12572)
* implement offspring mechanic

* create offspring test
2024-07-12 23:38:29 -04:00
theelk801
dc096e4b1b [BLB] Implement Darkstar Augur 2024-07-12 14:12:15 -04:00
Susucre
3fdeb8c2fc implement [BLB] Starseer Mentor 2024-07-12 18:18:02 +02:00
Susucre
233d714e00 simplify "you gained life this turn" condition constructor 2024-07-12 17:42:00 +02:00
theelk801
06cb5ef69a [BLB] Implement Downwind Ambusher 2024-07-12 10:18:49 -04:00
Susucre
c36b3959a8 implement and test ExpendTriggeredAbility 2024-07-11 17:57:16 +02:00
theelk801
7c54362e9d [BLB] Implement Wandertale Mentor 2024-07-11 10:04:23 -04:00
theelk801
d32b138615 [BLB] Implement Brightblade Stoat 2024-07-10 23:12:55 -04:00
Evan Kranzler
43e95fd0cf
[BLB] Implement forage mechanic (#12569)
* [BLB] Implement Corpseberry Cultivator

* [BLB] Implement Thornvault Forager

* fix verify failure
2024-07-10 22:57:22 -04:00
Evan Kranzler
f036bc75fb
refactor: dedicated condition for threshold (#12570)
* create threshold condition, refactor cards to use it

* fix threshold condition

* a couple more text fixes

---------

Co-authored-by: xenohedron <xenohedron@users.noreply.github.com>
2024-07-10 20:21:17 -04:00
theelk801
cadeeeee66 [BLB] Implement Tender Wildguide 2024-07-10 16:27:03 -04:00
xenohedron
65217d7f89 merge fix 2024-07-09 23:44:51 -04:00
xenohedron
219eac2087 text fixes 2024-07-09 23:40:48 -04:00
xenohedron
ec399ba09f cleanup CardsInHandCondition 2024-07-09 23:29:43 -04:00
xenohedron
122df0d6fb fix regression on The End 2024-07-09 23:04:38 -04:00
xenohedron
03e90f9f5b adjust ValiantTriggeredAbility 2024-07-09 22:44:47 -04:00
theelk801
6a323a467c [BLB] Implement Seedglaive Mentor 2024-07-09 16:36:01 -04:00
theelk801
1d9cc2a87f [DSK] Implement Chainsaw 2024-07-06 14:56:15 -04:00
theelk801
2b970d676c [DSK] Implement Toby, Beastie Befriender 2024-07-06 14:42:40 -04:00
Susucre
3acab4a76d implement [DSK] Screaming Nemesis 2024-07-06 18:55:53 +02:00
Susucre
9bc1289341 implement [ACR] Senu, Keen-Eyed Protector ; small refactor on AttacksAndIsNotBlockedTriggeredAbility's setTargetPointer 2024-07-06 18:29:53 +02:00
ssk97
74804a468e
Additional fixes for target adjusters, part of #12528 (#12550)
* Add support for non-permanent targets to EachOpponentPermanentTargetsAdjuster, add ownership check
* Rename EachOpponentPermanentTargetsAdjuster to ForEachOpponentTargetsAdjuster
2024-07-02 11:57:56 +04:00
ssk97
7cb669603f
[WHO] Time Reaper, Add target adjuster for "that player controls/owns" damage trigger targets (#12528)
* Implement Time Reaper, start rework

* Create DamagedPlayerControlsTargetAdjuster, convert Aberrant to use it

* Always add targets for EachOpponentPermanentTargetsAdjuster

* Improve target name, finish Time Reaper

* Convert some cards

* Improve documentation, more cards

* More cards, fix cards that needed to use owner instead of controller

* Fix unfinished AlelaCunningConqueror changes

* more cards

* All remaining cards

* Fix target type

* Remove outdated attempt at TargetController.SOURCE_EFFECT_TARGET_POINTER

* Finish removal of SOURCE_EFFECT_TARGET_POINTER

* Change targetAdjuster blueprint target to be set inside setTargetAdjuster, add error checking

* Always add Target Adjuster after Target

* Add comment

* Fix TolarianContemptTest to skip opponent with no valid targets

* Forgot to git add the new abstract GenericTargetAdjuster

* Test now possible after merge, fix missed ChangeOfPlans adjuster order

* Text and optional-ness fixes

* Always set target pointer
2024-07-02 08:46:14 +04:00
Oleg Agafonov
bccf323c0f refactor: clean, added comments and todos to meld related code, fixed miss copy (related to #12544) 2024-07-01 22:43:58 +04:00