Commit graph

7229 commits

Author SHA1 Message Date
dilnu
339779c8bd Add methods to get information about spells that have not yet been cast. 2018-07-29 11:22:41 -04:00
Samuel Sandeen
e5c1dfc4b7
Refactor ControlledCreaturesDealCombatDamagePlayerTriggeredAbility. (#5163)
It now triggers once for each player damaged.

Fixes https://github.com/magefree/mage/issues/5162
2018-07-29 08:16:07 -04:00
Samuel Sandeen
14520097a5
Fix issues with the ChosenSubtypePredicate and clone effects. (#5164)
Update ChosenSubtypePredicate to be an ObjectPlayer predicate. This fixes how cards that use it act when cloned.

Fixes https://github.com/magefree/mage/issues/5136
2018-07-29 07:44:19 -04:00
Samuel Sandeen
a164dad83f
Fix issues with Clone and Metallic Mimic (#5160)
Fix bugs with Metallic Mimic and Adaptive Automaton and clone effects.

Metallic Mimic and Adaptive Automaton were both using the technically correct EnterEventType specifier for their as enters the battlefield abilities. Despite it being technically correct this meant that their ability didn't trigger if they were cloned.

Additionally EnterAttributeAddChosenSubtypeEffect changed the subtype of the base object which meant that clones entered in with the chosen subtype of the original.
2018-07-29 07:40:48 -04:00
Samuel Sandeen
3875f42bac
Refactor addCounters to fix bugs in edge cases. (#5154)
Add code to check the controller of abilities on the stack instead of the controller of their source card or object.

This fixes https://github.com/magefree/mage/issues/5152
2018-07-29 07:31:59 -04:00
Evan Kranzler
95f375316b Implemented Yurikp, the Tiger's Shadow 2018-07-28 21:48:29 -04:00
Evan Kranzler
db6211cd20 Implemented Saheeli, the Gifted 2018-07-28 16:25:39 -04:00
Will Hall
76d0baa792 Implemented Gyrus, Waker of Corpses 2018-07-27 18:38:36 -07:00
spjspj
f58e33524d Implement 1 card C18 2018-07-27 18:53:34 +10:00
Evan Kranzler
2a6181b67a Implemeted Lord Windgrace 2018-07-25 15:45:56 -04:00
Evan Kranzler
91244c09dc Implemented Kestia, the Cultivator 2018-07-25 12:58:19 -04:00
Evan Kranzler
7c6dfe3e56 Implemented Octopus Umbra 2018-07-25 12:39:06 -04:00
Evan Kranzler
41fce60eee Implemented Nesting Dragon 2018-07-24 20:45:45 -04:00
Quercitron
79120e7484 Make color distribution in booster more uniform 2018-07-25 02:46:31 +03:00
Evan Kranzler
2d23d5c84e Implemented Echo Storm 2018-07-24 17:10:13 -04:00
ninthworld
19d1ff2657 Merge remote-tracking branch 'upstream/master' 2018-07-23 16:09:53 -07:00
Evan Kranzler
452a525194 fixed Silverclad Ferocidons (and likely other cards) allowing players to sacrifice creatures they don't control (fixes #5166) 2018-07-23 17:42:03 -04:00
Evan Kranzler
fdf8c99d8a Implemented Retrofitter Foundry 2018-07-23 15:59:47 -04:00
dilnu
a8cd19eaea Make the type checking on predicates added to filters stricter to make runtime errors less likely. 2018-07-22 11:27:24 -04:00
ninthworld
8dfb5f913d Merge branch 'master' of https://github.com/magefree/mage
# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
2018-07-20 22:11:49 -07:00
dilnu
e1fc060755 Don't count players who have lost or left the game as having lost life.
Fixes https://github.com/magefree/mage/issues/5153
2018-07-18 21:07:23 -04:00
ninthworld
86107de54e Merge remote-tracking branch 'upstream/master'
# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
2018-07-16 21:16:20 -07:00
ninthworld
f31bfa829e add Star Wars expansion sets to the Star Wars set 2018-07-16 20:55:05 -07:00
Evan Kranzler
d8a3a408df fixed Vivien Reid's first ability not putting cards back in a random order 2018-07-16 10:47:28 -04:00
igoudt
877a355a7d rewrite some code to streams 2018-07-15 20:50:26 +02:00
Evan Kranzler
c743906557 fixed instances of life gain being life loss with negative numbers (fixes #5149) 2018-07-14 16:50:44 -04:00
LevelX2
0d9f8ad19a
Merge pull request #4993 from Zzooouhh/Zzooouhh-woc
Implemented Word of Command (presumably buggy)
2018-07-14 10:40:38 +02:00
LevelX2
c29bb86ea0
Merge pull request #5131 from NoahGleason/thick-skinned-goblin
Implement Thick-Skinned Goblin
2018-07-14 10:40:10 +02:00
LevelX2
a3c4c2365d
Merge pull request #5119 from NoahGleason/M19-oracle-changes
M19 oracle changes
2018-07-14 10:39:50 +02:00
LevelX2
0f615d49fa
Merge branch 'master' into orcish-mine 2018-07-14 10:32:05 +02:00
LevelX2
2cdd835ab5
Merge pull request #5108 from NoahGleason/shape-of-the-wiitigo
Implement Shape of the Wiitigo
2018-07-14 10:28:05 +02:00
LevelX2
117ca40014
Merge pull request #5107 from NoahGleason/balduvian-fallen
Implement Balduvian Fallen
2018-07-14 10:27:54 +02:00
LevelX2
1e2d269086
Merge pull request #5098 from NoahGleason/swift-silence
Implement Swift Silence
2018-07-14 10:27:19 +02:00
LevelX2
6912a8c5b0
Merge pull request #5094 from NoahGleason/rakdos-augermage
Implement Rakdos Augermage
2018-07-14 10:26:39 +02:00
LevelX2
ef8b895d5b
Merge pull request #5093 from NoahGleason/nightcreep
Implement Nightcreep
2018-07-14 10:26:24 +02:00
LevelX2
484d981c81
Merge pull request #5082 from NoahGleason/Aetherplasm
Implement Aetherplasm
2018-07-14 10:17:36 +02:00
LevelX2
556944f312
Merge pull request #5078 from NoahGleason/keeper-of-the-beasts
Implement Keeper of the Beasts
2018-07-14 10:13:05 +02:00
Noah Gleason
3272e90bdb
Merge pull request #5141 from NoahGleason/molten-firebird
Implement Molten Firebird and Ivory Gargoyle
2018-07-14 00:40:49 -04:00
Evan Kranzler
0ad86ff530 fixed Ajani's Last Stand token name (fixes #5147) 2018-07-13 14:08:19 -04:00
Noah Gleason
c372d93f66
Implement Molten Firebird and Ivory Gargoyle 2018-07-10 23:00:27 -04:00
Noah Gleason
9108104fe5
Implement Predatory Focus 2018-07-09 22:21:40 -04:00
igoudt
6dce0c26f3 fix some his or her to their 2018-07-09 21:25:04 +02:00
igoudt
c456a1961e add more isActivePlayer and isAttachedTo calls 2018-07-09 21:25:04 +02:00
Noah Gleason
c91e56b937
Fix Rite of Belzenlok token not damaging its controller 2018-07-08 22:01:37 -04:00
Noah Gleason
bad82d62ba
Implement Thick-Skinned Goblin 2018-07-08 21:55:17 -04:00
ingmargoudt
e86791cf44
Merge pull request #5112 from NoahGleason/aetherflame-wall
Implement Aetherflame Wall
2018-07-08 22:28:11 +02:00
igoudt
d6450eed94 change enum comparison 2018-07-08 13:11:39 +02:00
Quercitron
36c004122a Fix dual lands generation in the Core Set 2019 boosters 2018-07-08 01:19:49 +03:00
Noah Gleason
0ab7345fa3
Update wording (nonfunctional) 2018-07-06 20:21:17 -04:00
Evan Kranzler
d7914bca44 fixed Tezzeret, Artifice Master emblem not triggering 2018-07-06 09:46:59 -04:00
Evan Kranzler
c169f07833 fixed Ajani, Adversary of Tyrants emblem not triggereding (fixes #5115) 2018-07-06 09:20:29 -04:00
Noah Gleason
1f7c7e90b2
Implement Aetherflame Wall 2018-07-05 21:35:56 -04:00
Evan Kranzler
6c000d9177 fixed Rowan Kenrith emblem not triggering (fixes #5109) 2018-07-04 22:59:32 -04:00
Noah Gleason
258384fae7
Implement Shape of the Wiitigo 2018-07-04 11:31:03 -04:00
Noah Gleason
4bfc132f29
Implement Balduvian Fallen 2018-07-04 10:25:49 -04:00
igoudt
9f06046f22 add isOwned and isControlled methods. remove some null-checks, remove some unnecessary casts 2018-07-04 14:24:11 +02:00
Noah Gleason
3d79890e9a
Implement Swift Silence 2018-07-01 19:03:47 -04:00
Noah Gleason
147a3cf91d
Implement Rakdos Augermage 2018-07-01 15:39:19 -04:00
Noah Gleason
1575d8282c
Implement Nightcreep 2018-07-01 10:58:25 -04:00
Noah Gleason
174588e343
Implement Aetherplasm 2018-06-29 20:47:11 -04:00
igoudt
dcb1affb9d use isActivePlayer where possible, some minor text fixes 2018-06-29 21:18:05 +02:00
igoudt
ca1ebeb55e add method Game.isActivePlayer(UUID playerId) 2018-06-29 14:59:11 +02:00
Evan Kranzler
2b78716a1b fixed Young Pyromancer text 2018-06-28 09:06:51 -04:00
Noah Gleason
e2da104d6d
Implement Keeper of the Beasts 2018-06-27 22:02:53 -04:00
Noah Gleason
cf571122ea
Allow activating equip ability 2018-06-25 22:36:49 -04:00
Noah Gleason
324ff4a3b8
Implement Serra Inquisitors 2018-06-25 21:58:26 -04:00
Evan Kranzler
8b37c778f0 fixed Rush of Knowledge counting all permanents (fixes #5069) 2018-06-25 08:26:28 -04:00
theelk801
b1be4ad7d5
Merge branch 'master' into giant-oyster 2018-06-24 22:24:25 -04:00
theelk801
355a3ab281
Merge pull request #5063 from NoahGleason/jovens-ferrets
Implement Joven's Ferrets
2018-06-24 21:53:40 -04:00
Evan Kranzler
087e58383a fixed Alpine Moon causing a rollback 2018-06-24 21:27:10 -04:00
Noah Gleason
8949987b78
Add ConditionalTriggeredAbility for non-intervening0f 2018-06-24 20:02:40 -04:00
Noah Gleason
37e800a7dd
Update Voice of Resurgence 2018-06-24 16:55:15 -04:00
LevelX2
ca21f32009 Xmage 1.4.30V6 2018-06-24 21:26:52 +02:00
Noah Gleason
6a2ad691d4
Fix OrTriggeredAbility hang 2018-06-24 13:51:02 -04:00
LevelX2
99cfd86533 * Some more fixes for ManaOptions #5023 2018-06-24 18:11:17 +02:00
Noah Gleason
6ee4d4a217
Override Ability setters 2018-06-24 10:51:48 -04:00
Noah Gleason
65d67d48fd
Start implementing OrTriggeredAbility 2018-06-23 23:57:04 -04:00
theelk801
235974f21a
Merge pull request #5067 from NoahGleason/delirium
Implement Delirium
2018-06-23 21:43:57 -04:00
Evan Kranzler
c637857480 Added null detection to MageObjectReference 2018-06-23 21:39:36 -04:00
Noah Gleason
39ec630c45
Implement Orcish Mine 2018-06-23 19:42:19 -04:00
LevelX2
da92cd745e * Some rework/fixes/optimizations of calculation of available mana. 2018-06-24 01:27:42 +02:00
LevelX2
fdddbbbbe6 * Some rework/fixes/optimizations of calculation of available mana. 2018-06-24 01:23:49 +02:00
Noah Gleason
b97719fbb6
Add Delirium, not recognized as a card 2018-06-23 17:30:57 -04:00
theelk801
c4d9bfe554
Merge pull request #5047 from NoahGleason/mourners-shield
Implement Mourner's Shield
2018-06-23 13:38:06 -04:00
Noah Gleason
c78cbc40eb
Fix Heat Stroke 2018-06-23 11:11:35 -04:00
theelk801
42354c1583
Merge pull request #5049 from NoahGleason/neurok-transmuter
Implement Neurok Transmuter
2018-06-22 17:57:45 -04:00
Noah Gleason
f7e7db4edc
Fully implement Giant Oyster 2018-06-22 15:54:31 -04:00
Chatziargyriou Eleftheria
25d7f9c83b
Update ExpansionSet.java 2018-06-22 20:09:36 +03:00
Chatziargyriou Eleftheria
f980224239
Update ExpansionSet.java 2018-06-22 19:22:57 +03:00
Chatziargyriou Eleftheria
d754410934
Add booster generator for Battlebond packs 2018-06-22 18:57:13 +03:00
Evan Kranzler
266a7cdb85 Implemented Transmogrifying Wand 2018-06-22 08:44:15 -04:00
Evan Kranzler
592362a258 Implemented Tezzeret, Artifice Master 2018-06-21 22:59:29 -04:00
Evan Kranzler
36e5bd3a1d Implemented Thorn Lieutenant 2018-06-21 19:59:26 -04:00
LevelX2
e04c132dfe Xmage 1.4.30V5 2018-06-21 23:13:17 +02:00
LevelX2
46d61a1ebc Fixed some possible exceptions. 2018-06-21 22:49:15 +02:00
LevelX2
083d4cee6d Fixed possible static filter manipulation. 2018-06-21 22:33:02 +02:00
Evan Kranzler
36c0e35035 Implemented Leonin Vanguard 2018-06-21 15:34:05 -04:00
Noah Gleason
9b68e0860b
Implement Neurok Transmuter 2018-06-21 15:29:17 -04:00
Evan Kranzler
2b2f3b6e01 Updated "this spell" wordings 2018-06-21 12:32:25 -04:00
LevelX2
cd8e038679 * Changes for netMana null handling #5023. 2018-06-21 16:27:05 +02:00
Evan Kranzler
db07686008 Implemented Departed Deckhand 2018-06-21 08:37:18 -04:00
Noah Gleason
6a2eda0146
Implement Mourner's Shield 2018-06-20 23:11:07 -04:00
Evan Kranzler
9c7fc43737 Implemented One with the Machine 2018-06-20 16:26:55 -04:00
Evan Kranzler
d9dfef24ce updated "can't be countered" text 2018-06-20 11:21:06 -04:00
Evan Kranzler
b90426c6b7 Implemented Amulet of Safekeeping 2018-06-19 22:45:04 -04:00
Evan Kranzler
b7169d7097 Implemented Chromium, the Mutable 2018-06-19 17:10:20 -04:00
Evan Kranzler
8c01cd72f9 Lightning Mare 2018-06-19 16:48:44 -04:00
Evan Kranzler
8116f1365e Implemented Alpine Moon 2018-06-19 13:32:15 -04:00
LevelX2
74b126c940 * Tinder Wall - Fixed it's damage dealing ability always fizzles (fixes #5005). 2018-06-19 17:35:53 +02:00
theelk801
cdf8f615e3
Merge pull request #5032 from NoahGleason/saproling-infestation
Implement Saproling Infestation (INV)
2018-06-18 23:09:53 -04:00
Evan Kranzler
f77c9bc112 Implemented Ajani's Last Stand 2018-06-18 22:14:39 -04:00
Evan Kranzler
31edc76871 Implemented Resplendent Angel 2018-06-18 21:06:09 -04:00
Noah Gleason
c3b9d55e98
Add Kicker Event 2018-06-18 10:52:23 -04:00
Evan Kranzler
f55d0e6706 Implemented Ajani, Adversary of Tyrants 2018-06-16 21:39:34 -04:00
Evan Kranzler
d35d6f48b2 Implemented Arisen Gorgon 2018-06-15 18:30:08 -04:00
Evan Kranzler
750a655dcb fixed Teferi, Hero of Dominaria allowing players to skip untap 2018-06-14 13:57:13 -04:00
Evan Kranzler
a7738a1912 fixed Malfegor overwriting a static filter 2018-06-14 08:08:22 -04:00
Evan Kranzler
0a635ac341 fixed implementation of Tetravus to allow for multiple counters/tokens in a single turn
The tokens were also incorrectly implemented
2018-06-13 20:58:31 -04:00
Evan Kranzler
a0fbeebf4e Implemented Vivien Reid 2018-06-11 21:28:43 -04:00
Evan Kranzler
1f1b65aecd Implemented Marauder's Axe 2018-06-11 20:24:02 -04:00
Evan Kranzler
19768424c1 Implemented Aven Wind Mage 2018-06-11 19:43:23 -04:00
Evan Kranzler
f8d274d7cd fixed entering tapped abilities not working correctly (fixes #5010,) 2018-06-10 20:42:22 -04:00
LevelX2
6b22afd18a GameState: Reduced null pointer exception probablity for getTriggered. 2018-06-10 21:58:35 +02:00
L_J
45243378cf
Fixed Gorm requiring a blocker from another player (fixes #5025) 2018-06-10 12:40:51 +00:00
LevelX2
99864ccf5b * Fixed a problem that tapped for mana event was sent twice (fixes problem of 2 created spirits for Forbidden Orchard). 2018-06-10 10:28:00 +02:00
LevelX2
174e3794fb XMage 1.3.30V4 2018-06-10 08:00:17 +02:00
Evan Kranzler
3dcfa773e0 Implemented Marble Priest 2018-06-10 00:01:25 -04:00
Evan Kranzler
4e3961a819 Updated some targets and filters 2018-06-09 14:51:07 -04:00
LevelX2
372ba795d2 * Board the Weatherlight - Fixed that the cards left were not returned in random order. 2018-06-09 17:15:01 +02:00
LevelX2
717308ba12 * Fixed that commanders of players were not removed if a player left a game. Fixed a problem that continuous effects of objects of players that left the game were not removed immediately. 2018-06-09 14:10:48 +02:00
L_J
3e180267ed
Word of Command & Mindslaver interaction fixes 2018-06-08 20:22:25 +02:00
Evan Kranzler
3659a2dc0b Implemented Journey for the Elixir 2018-06-08 13:22:23 -04:00
Evan Kranzler
1c2f384bcc Implemented Reckless Pangolin 2018-06-07 23:07:03 -04:00
Michael Simons
d5ad543583 Merge remote-tracking branch 'origin/master' 2018-06-07 22:41:40 -04:00
Michael Simons
4d5018bef0 Fixed typos/misspellings based on IntelliJ's suggestions. 2018-06-07 22:39:53 -04:00
L_J
5fa69cb8a9
More X cost rollback related fixes 2018-06-07 15:41:47 +00:00
L_J
323894118b
Fixed X costs not being properly reset with Word of Command rollback 2018-06-07 16:49:10 +02:00
Evan Kranzler
5ba0717086 Implemented Bogardan Phoenix 2018-06-07 08:49:41 -04:00
Evan Kranzler
c4ce367c56 Fixed Rowan Kenrith emblem (should have used Rings of Brighthearth from the start) 2018-06-07 08:39:02 -04:00
L_J
d19ca838ca
Implemented castability check for Word of Command 2018-06-07 05:37:22 +02:00
Evan Kranzler
c4a0d9f916 replaced apostrophes 2018-06-06 22:39:16 -04:00
LevelX2
1ed85cef4d Merge origin/master 2018-06-06 23:50:03 +02:00
LevelX2
80a6057980 XMage 1.4.30V3 2018-06-06 23:49:27 +02:00
Plopman
cd6a847db7 Fix some BBD card text 2018-06-06 23:23:55 +02:00
Evan Kranzler
2662fa7799 Updated wordings and refactored class name for effects which prompt the player to choose a card name 2018-06-06 15:30:16 -04:00
Evan Kranzler
d2e8016a10 Implemented Desperate Research 2018-06-06 13:59:35 -04:00
Evan Kranzler
aa3c860e23 Implemented Bazaar of Wonders 2018-06-05 18:18:36 -04:00
LevelX2
df341bd0d6 * Fixed some mana handling problems of conditionalMana (GemstoneCavern) and possible exception of ChromeMox.Fixed some tests. 2018-06-05 23:59:39 +02:00
LevelX2
0051f70b8a * Fixed some possible exceptions. 2018-06-05 23:57:45 +02:00
LevelX2
2e72503b8c * Fix of condtitional mana effect (not completed yet). 2018-06-05 18:12:31 +02:00