Commit graph

35 commits

Author SHA1 Message Date
Oleg Agafonov
01caeed298 Merge fix 2023-04-13 17:06:22 +04:00
Oleg Agafonov
d17df585c5 Tokens reworked:
- removed outdated code;
 - updated logic to choose a set code for a tokens in different use cases (related to #10150);
 - added many tests for client and server token's data (related to #10139);
 - prepare for tokens database (related #6955);
2023-04-13 16:18:53 +04:00
Oleg Agafonov
66d0ef4b35 Refactor cards and token images code (#10139):
- removed outdated token store format (example: BIRD.W.BIRD.CREATURE.1.1.full.jpg)
 - removed duplicated cache images code;
 - removed duplicated set code fields;
 - removed outdated auto-generated thumb files (also all *.thumb.zip files will be deleted on startup);
2023-03-24 06:44:11 +04:00
Alex W. Jackson
c401b35b63 Fix #9524 2022-09-14 03:08:23 -04:00
Alex Vasile
07a142c9e8
Refactor: Add proper support for modifying and querying base P/T (#9409) 2022-09-01 19:57:30 -04:00
Alex Vasile
015cdf3136
Revert "Added missing fields to many copy constructors. (#8957)" (#8999)
This reverts commit 82708e4273.

Some of these (AI related result in bloated memory usage, needs more investigation).
2022-05-25 12:57:24 -06:00
Alex Vasile
82708e4273
Added missing fields to many copy constructors. (#8957) 2022-05-25 09:51:18 -06:00
Evan Kranzler
a581d55160 removed unnecessary lastAddedToken method from TokenImpl, reworked Warren Weirding 2022-03-31 20:12:09 -04:00
Evan Kranzler
676c3a8bb4 fixed interactions between effects which replace a token and effects which care about tokens after they've been made 2022-03-31 19:58:20 -04:00
Evan Kranzler
80e11b2052
(WIP) Replacing blocking/blocked by predicates (#8729)
* replaced blocking/blocked by predicates

* added test for knight of dusk (currently fails)

* added source parameter to filters and everything else that needs it

* some changes to various predicates

* test fix

* small changes to filter code

* merge fix

* fixed a test failure

* small change to Karn, Scion of Urza

* removed sourceId from filter methods and other similar places

* added new getobject method to fix some test failures

* a few more fixes

* fixed merge conflicts

* merge fix
2022-03-23 18:45:02 -04:00
Alex Vasile
5611f41949
[VOC] Implemented Mirage Phalanx (#8654)
* Implemented Mirage Phalanx

* Changed based on first set of comments

* Reordered variables in alphabetical order

* Added support for removing abilities from a token before creating it.

* Fixed typo in CreateTokenCopyTargetEffect, should have been getAddedPermanents not getAddedPermanent (with the s).

* Updated how soulbond is removed from MiragePhalanx tokens

* Fixed missing fields in the copy constructor

* - Refactoring the exileTokensCreated function to exile all tokens as a single trigger.
- Changed Mirage Phalanx to use the new exileTokensCreated function
- changed ’ to '
2022-02-05 20:38:12 -05:00
Oleg Agafonov
1fcdbe4b63 Fixed miss default token constructors 2022-02-05 12:33:40 +04:00
Evan Kranzler
fcc1481679 [VOW] Implemented Lacerate Flesh 2021-11-06 13:57:47 -04:00
Daniel Bomar
060ea7da83
Add sub abilities in TokenImpl.addAbility and PermanentImpl.addAbility (fixes #8343) 2021-10-22 17:32:51 -05:00
Daniel Bomar
71ea4a51d6
[MH2] Implemented Academy Manufactor (#7864)
* [MH2] Implemented Academy Manufactor

* [MH2] Implemented Chatterfang, Squirrel General
2021-06-02 21:46:51 -04:00
jeffwadsworth
78bae348e8 - Fixed #7544, #7536, #6798 2021-02-11 09:36:45 -06:00
Oleg Agafonov
f38639e1db Token's zone change counter (ZCC) improves:
* Now token's zcc uses same logic as card's zcc: enters to battlefield with +1 zcc instead +0 zcc
* It can improve support of copied spells that store zcc related data (bug example: lost kicked status for copied spell/token);
* Kicker abilities - improved support with copied creature spells (example: Verazol, the Split Current, #7431, #7433);
* Refactor: simplified kicker code;
2021-02-04 19:15:54 +04:00
Evan Kranzler
3a4b0159a9
Add a limit to how many tokens are made (#7469)
* added a simple token limit

* updated implementation of token limit

* added token limit test
2021-01-31 12:55:30 -05:00
Evan Kranzler
dacf30f4b9
Refactoring subtypes to make Maskwood Nexus work (ready for review) (#7432)
* removed and renamed SubTypeList

* updated subtype test

* refactored Changeling to be an ability that actually does something

* moved isAllCreatureTypes into SubTypes class

* renamed copyTo method to copyFrom

* added removeAllCreatureTypes where usable

* replaced some subtype methods

* replaced some more subtype methods

* replaced subtype mass add/remove methods

* updated more subtype methods

* fixed some errors

* made common shared creature type predicate

* refactored another card involving subtypes

* Added usage of object attribute in subTypes's write operations;

* Refactor: use same param styles in subtype methods

* Refactor: simplified usage of copy appliers;

* Refactor: fixed code usage in CopyApplier

Co-authored-by: Oleg Agafonov <jaydi85@gmail.com>
2021-01-26 08:52:35 -05:00
Oleg Agafonov
db239a1055 Refactor: replaced sourceId by source and introduced source param in some methods; 2020-12-12 20:23:19 +04:00
Evan Kranzler
7647a3d8f0
Support for copying permanent spells (WIP, do not merge) (#7084)
* added initial support for permanent tokens

* [ZNR] Implemented Lithoform Engine

* [ZNR] Implemented Verazol, the Split Current

* permanent spell tokens no longer count as created

* small change to token generation

* added test, currently incomplete

* found a potential solution for kicker issue, possibly too much of a hack

* fixed a test failure

* reversed hack changes

* skipped failing tests

* added more tests
2020-09-27 10:54:44 -04:00
LevelX2
a2ae232b43 * Fixed some corner cases for Worl Enchantment State-Based actions (704.5k). 2020-07-18 12:23:19 +02:00
Oleg Agafonov
c2487aec7d [C20] tokens support and fixes:
* Added tokens for C20;
* Added tokens images download for C20;
* Fixed that some tokens uses wrong images or images from wrong set (example: Elemental);
2020-06-15 20:29:52 +04:00
gp66
162907b9da missing token images in thb and war 2020-05-13 15:44:40 -05:00
AsterAether
e1fd213e0f
Implemented Akim, the Soaring Wind, and new CreatedTokenEvent (#6431)
* Implemented Akim, the Soaring Wind, and new CreatedTokenEvent, that can be used to for TriggeredEvents.

* Formatting, and added Condition to Akim triggered Ability.

* Added Condition and ConditionHint to Akim.
2020-04-21 22:20:11 -04:00
Ingmar Goudt
ae7919cd07 program towards Interface rather than implementations 2020-02-10 10:40:06 +01:00
dilnu
0d382d3875 Move the Token field added from GameEvent to a subclass. 2020-02-03 21:57:10 -05:00
dilnu
cc9629ed51 Fix the Divine Visitation replacement effect.
This also gives the CREATE_TOKEN game events access to the Token being created and updates the GatherSpecimens replacement effect to use that access.
2020-02-01 15:15:52 -05:00
Oleg Agafonov
1b55cbd44c [RNA] added tokens and download support from scryfall; 2019-01-12 21:13:56 +04:00
Evan Kranzler
d96efd1450 fixed tokens being created attacking by non-active player (fixes #5263) 2018-09-05 08:54:13 -04:00
GrayedFox
3953f3dbdd
remove all MIT copyright notices from files 2018-06-02 17:59:49 +02:00
LevelX2
8f06fd130a * Some formatting. 2018-05-07 00:48:41 +02:00
LevelX2
bb15176a84 * Fixed token ability (id handling) and token cardType (reset was not correctly done) handling (this fixed problems with copying Planeswalker with Helm of the Host). 2018-05-07 00:44:32 +02:00
Marc Zwart
3e32287f00 fixed Token/TokenImpl imports and references 2018-04-03 14:05:41 +02:00
Marc Zwart
d4d8a04694 Extracted Token interface and renamed Token implementation to TokenImpl + renamed tests 2018-04-03 14:04:08 +02:00