Commit Graph

71 Commits (2733516cb9cdad7ac4cef98b819d4d01846e5c66)

Author SHA1 Message Date
Leandro Doctors 2733516cb9 Organize imports 2020-01-16 08:21:24 +08:00
Martin Petricek d7e856da68 Add several new cards (#1619)
* Add several new cards:

Balustrade Spy
Corpse Augur
Galvanoth
Gift of Growth
Living Artifact
Marchesa, the Black Rose
Phytotitan
Pyromancer's Assault
Settle the Score

* Fix indentation in Galvanoth

* Refactor Pyromancer's Assault, remove trigger condition from action text.

* Generalize milling actions to fixed amount milling and "mill until certain number of cartain cards are milled".

* Refactor cards to use new MillLibraryUntilAction

* Add parser for MillLibraryUntilAction, so it can be used without need for groovy.

* Add new parseable cards:
Mind Funeral
Consuming Aberration
Destroy the Evidence
Undercity Informer
(no groovy needed)

* Balustrade Spy now does not need groovy anymore.
2018-10-22 21:09:12 +08:00
Ada Joule d213884dc2 Add Saga mechanic (#1564)
* Add AtBeginOfFirstMainPhaseTrigger and adding lore counter to saga

* Make add counter trigger more generic

* Change begin main phase trigger to Saga-specific

* Add magic.data.RomanToInt

* Add chapter parsing to ARG

* Add SagaChapterTrigger

* Add chapter ability to MagicAbility

* Add lore counter mechanic to Saga card definiton

* Add Saga sacrifice state-based action

* Fix import

* Fix getPendingTriggers

* Add History of Benalia

* Fix adding ETB trigger

* Remove AtBeginningOfFirstMainPhaseTrigger.Saga, Add counters directly in MagicMainPhase.executeBeginStep()

* Remove null case from RomanToInt

* Revert "Remove AtBeginningOfFirstMainPhaseTrigger.Saga, Add counters directly in MagicMainPhase.executeBeginStep()"

This reverts commit d8e5d1f253ab7b54f401f4151b44d39ee927f44c.

* Move isSaga method to IRenderableCard
2018-05-04 14:17:55 +08:00
melvinzhang 91605aa3c1 replace filter generators with filter parsers 2018-04-01 12:36:38 +08:00
melvinzhang 7d292be16c rename regex group from group2 to tpgroup 2017-08-26 13:16:50 +08:00
melvinzhang ae7fc3d801 rename regex group from choice2 to tpchoice 2017-08-26 08:28:55 +08:00
melvinzhang 75ce5c168c allow PERMANENTS to select those which 'target player/opponent controls' 2017-08-22 10:00:03 +08:00
melvinzhang a8d09415a7 add cost: Put a card an opponent owns from exile into that player's graveyard 2017-08-17 15:21:14 +08:00
melvinzhang e3831bc7d1 merge conditions for gain/lost life 2017-08-09 18:00:04 +08:00
melvinzhang e8afd417cd add ARG.EACH and method to convert each text to MagicAmount 2017-08-04 10:44:02 +08:00
melvinzhang ef127bcf83 allow X in DrawLosePlayers 2017-08-03 09:45:40 +08:00
melvinzhang aa799c8d26 support effect 'cast <card> without paying its mana cost' with optional exile 2017-07-21 11:11:56 +08:00
melvinzhang d121059094 generalize Reanimate effect to work on group of cards 2017-07-20 11:09:17 +08:00
lodici 1915195aeb Remove imports in same package. 2017-04-08 11:29:49 +01:00
melvinzhang 37a532f54d add effect '<player> get {E}+', for #830 2016-09-18 20:34:53 +08:00
melvinzhang 75716a9c48 add static ability '<permanent> get +X/+X, where X is <count>' 2016-06-05 17:47:27 +08:00
melvinzhang 1342dc7325 generalize effect of type 'you may <cost>. if you do, <effect>' to any cost, fixes #552 2016-06-01 11:37:10 +08:00
melvinzhang d17d6eb173 make regex for AMOUNT more specific to avoid unintended matches 2016-05-21 12:52:30 +08:00
melvinzhang c8f1262b45 remove trailing space from java code 2015-12-31 18:54:52 +08:00
melvinzhang 3186f9b3df only replace X not in quotes, fixes issue with Lavaclaw Reaches' text 2015-12-24 09:55:48 +08:00
melvinzhang 6f32b5f609 replace manual parsing with call to ARG.pt 2015-12-23 23:11:26 +08:00
melvinzhang 1c3474a09c replace hardcoded mods named group with ARG.MODS 2015-12-21 12:10:00 +08:00
melvinzhang 32f2558b21 introduce ARG.MODS, allow effect to terminate with nothing, period, or comma, allow rider to start with 'then ' 2015-12-21 12:10:00 +08:00
melvinzhang e6f15b020a generalize counter item on stack to work with ITEMS 2015-12-19 09:24:55 +08:00
melvinzhang 0fb49ed3d6 factor regex for <target>'s controller into a separate constant 2015-12-15 09:02:04 +08:00
melvinzhang b9e12aeed6 remove extra space at end of PLAYERS regex 2015-12-15 08:35:42 +08:00
melvinzhang ea95404ac8 allow 'its controller' for PLAYERS and TARGETS 2015-12-14 23:16:06 +08:00
melvinzhang 4fcefde2de allow 'that <permanent>'s controller' in PLAYERS and TARGETS2 2015-12-14 23:16:06 +08:00
melvinzhang 351005fa5d allow TARGETS to match 'that <permanent>'s controller' 2015-12-14 23:16:06 +08:00
melvinzhang 0f41f58e0b allow TARGETS to match "rn's controller" 2015-12-14 14:59:22 +08:00
melvinzhang cc6a8319ed allow 'rn's controller' for PLAYERS 2015-12-14 13:02:53 +08:00
melvinzhang 59cd8390ed support X as amount for damage effect without choice 2015-12-13 13:51:19 +08:00
melvinzhang 7f22994d8c generalize DamageChosenAndController into DamageTwoGroupAlt, merge DamageChosen into DamageGroup 2015-12-13 11:16:34 +08:00
melvinzhang bed15ca879 replace hardcoded regex with reference to constants in ARG 2015-12-13 10:41:47 +08:00
melvinzhang cbd1238bad add ARG.CARDS 2015-12-12 19:59:29 +08:00
melvinzhang b74d2438f0 remove trailing space for group 2015-12-12 11:34:45 +08:00
melvinzhang 3b7e11f775 add ARG.TARGETS 2015-12-12 11:21:38 +08:00
melvinzhang 99774f7080 capture choice with PLAYERS 2015-12-12 09:03:05 +08:00
melvinzhang ecec624f19 merge DestroyChosen into DestroyPermanents 2015-12-10 23:15:07 +08:00
melvinzhang 08b3d80df0 fix case analysis in permanents method, should check for group sn instead of pn 2015-12-09 23:33:01 +08:00
melvinzhang 37a4cee1e8 limit PumpPermanents to positive, generalize WeakenGroup to WeakenPermanents 2015-12-09 21:44:30 +08:00
melvinzhang 6a9343344d add ARG.PERMANENTS 2015-12-09 21:31:54 +08:00
melvinzhang a30ef048ac add ARG.PLAYERS that combines group and rn/pn 2015-12-09 10:09:53 +08:00
melvinzhang a7e4cae7a6 replace ARG.SINGLE with ARG.CHOICE 2015-11-25 18:36:02 +08:00
melvinzhang d93a41964f allow 'a' or 'an' in single choice, fixes #490 2015-11-05 09:18:05 +08:00
ShawnieBoy c203b2f005 add color method to ARG 2015-08-20 14:02:31 +01:00
melvinzhang 42e8361de6 change regex from greedy to reluctant 2015-05-12 17:52:29 +08:00
melvinzhang a24ed94a31 generalize ConditionPumpGain and ConditionPumpGainAlt from SN to [permanents] 2015-05-03 13:48:12 +08:00
melvinzhang 3c3edc1a82 improve specificity of CHOICE regex 2015-04-26 11:21:51 +08:00
melvinzhang 458a604227 rename ARG.PERMANENT to ARG.CHOICE 2015-04-25 13:12:27 +08:00