Commit Graph

6452 Commits (master)

Author SHA1 Message Date
melvinzhang 23f6c887fc add missing override annotation 2017-07-21 18:10:11 +08:00
melvinzhang 0645566a31 add ability 'You may exert SN as it attacks' and 'Whenever you exert a creature, <effect>' 2017-07-21 17:50:26 +08:00
melvinzhang 61e4d939a5 choice to exert should not go on the stack, for #1092 2017-07-21 15:41:18 +08:00
melvinzhang 1022b24f99 add ability 'You may exert SN as it attacks. When you do, <effect>', for #1092 2017-07-21 13:07:59 +08:00
melvinzhang 572c019749 add cost 'Exert SN' 2017-07-21 12:49:58 +08:00
melvinzhang ad6581df4e add Nahiri, the Harbinger 2017-07-21 12:12:49 +08:00
melvinzhang 55feedf370 add filter 'nonland card' 2017-07-21 11:25:55 +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 9157f909ac allow copyOf to work for both permanents and cards, fixes #1204 2017-07-21 10:17:30 +08:00
melvinzhang d121059094 generalize Reanimate effect to work on group of cards 2017-07-20 11:09:17 +08:00
melvinzhang 2e6ffeebe0 extend regex for EXILE_WHEN_LEAVES 2017-07-20 10:42:34 +08:00
melvinzhang 3dae74b28f add effect 'SN enters the battlefield with <amount> <counter type> counters on it if <condition>.' 2017-07-20 10:22:36 +08:00
melvinzhang 44e4f33ff7 replace conditional logic with contains test 2017-07-20 10:06:04 +08:00
melvinzhang c263b10643 remove unused MagicCondition constants 2017-07-20 09:43:36 +08:00
ShawnieBoy 0e8602c44e add hour counter type 2017-07-19 19:40:35 +01:00
melvinzhang 849890805f allow other target card, where source is permanent 2017-07-19 23:15:47 +08:00
melvinzhang c84b34c894 generalize EntersAsCopy to allow any target 2017-07-19 22:28:06 +08:00
melvinzhang ee465685ba add ability 'You may have SN enter the battlefield as a copy of any <permanent> on the battlefield.' 2017-07-19 20:53:33 +08:00
melvinzhang 8f5e3b419d merge multiple rules into one rule that uses a MagicCard filter 2017-07-18 13:12:01 +08:00
melvinzhang a4d91fb20c merge multiple rules into one rule that uses a MagicCard filter 2017-07-18 13:03:29 +08:00
melvinzhang 34f9a4ec62 arrange all the graveyard related conditions together 2017-07-18 12:51:36 +08:00
melvinzhang 54f828209f add ability '<spell> you cast cost <cost> more to cast' 2017-07-16 12:50:13 +08:00
melvinzhang 6aaefc1fe2 replace groovy code with card script 2017-07-16 12:44:22 +08:00
melvinzhang a999a87018 replace groovy code with card script 2017-07-16 12:17:43 +08:00
melvinzhang 0708bdd4ee add ability '<spells> cost <cost> more to cast' 2017-07-16 12:17:26 +08:00
lodici d0f18cb57d move general config 'pass' to BooleanSetting. 2017-07-15 23:33:29 +01:00
melvinzhang 13d34ab390 always use 'Click' for UI buttons for consistency 2017-07-14 16:11:20 +08:00
melvinzhang 5d5e8e57a9 add small undo icon and use it in undo message, for #1177 2017-07-14 16:08:49 +08:00
melvinzhang d5c04714b2 improve wording for undo message to indicate action, for #1177 2017-07-13 16:53:19 +08:00
melvinzhang b79fc06a5c add string context to explain what %s is replaced with, for #1177 2017-07-13 16:20:50 +08:00
melvinzhang 0c09e3005f remove undo message from translation as it includes text from card script, for #1177 2017-07-13 15:31:13 +08:00
melvinzhang b8fcbc43ae fix missing semicolon 2017-07-13 14:43:25 +08:00
melvinzhang c6d81d8ffe merge target description into undo message, for #1177 2017-07-13 14:41:58 +08:00
melvinzhang 1d54023e38 replace old wording 'mana source' with 'mana ability' 2017-07-13 14:41:38 +08:00
melvinzhang 1c63b4ca31 add messages to inform player to undo, for #1177 2017-07-13 10:29:48 +08:00
melvinzhang acbde213a0 costs must be paid before before the effect will occur, for #1177
If a cost becomes unpayable, player has to undo and AI will get a game loss during its simulations.
2017-07-12 22:50:05 +08:00
lodici 93d3275e40 can drag and drop a deck file onto the deck editor screen and Magarena will attempt to load and display it (see #1187). 2017-07-12 12:36:09 +01:00
lodici ac7271cd65 display alert icon in stats titlebar if deck contains invalid cards. 2017-07-12 10:18:00 +01:00
lodici 78888c8151 Show warning message if invalid decks on starting a new game. 2017-07-12 09:41:30 +01:00
lodici 940c55cfeb Resume duel will now accept decks with missing cards. 2017-07-12 08:20:31 +01:00
lodici 0cbf1879c2 CardCanvas will display greyscale card image if card is invalid (see deck tiled cards screen). 2017-07-12 07:25:32 +01:00
lodici 5a5fb60bb9 skip invalid cards in deck when displaying sample hand. 2017-07-12 00:23:26 +01:00
melvinzhang 08c2534d1a revert activation check back to previous method as current method is too strict and disallows some legal activations 2017-07-11 16:13:00 +08:00
melvinzhang cc4559994d test cost payment in the same order as player would pay them, for #1175 2017-07-10 23:17:43 +08:00
melvinzhang 5ff53e6e64 cast to concrete type so that mismatch fails at script load 2017-07-10 13:45:27 +08:00
melvinzhang 2fa47f6c15 add filter for 'activated or triggered ability you don't control', fixes #1174' 2017-07-10 13:37:06 +08:00
melvinzhang f8ee991be6 add ability 'Afflict <n>', closes #1150 2017-07-10 12:28:20 +08:00
lodici 4c46560fba move duel management from MagicFrame to MagicDuel. 2017-07-09 11:28:08 +01:00
melvinzhang ab74bf4b07 check that chosing the first choice for cost results in valid payment of all costs, for #226 2017-07-09 10:53:57 +08:00
ShawnieBoy 17d221c7a3 add "You control a Desert or there is a Desert card in your graveyard" to conditions 2017-07-08 19:42:17 +01:00
melvinzhang a3f0f81fd6 add effect 'gain control of <permanent> for as long as SN remains on the battlefield' 2017-07-01 13:54:04 +08:00
melvinzhang 2009ed03d3 add effect 'gain control of <permanent> for as long as you control SN and SN remains tapped' 2017-07-01 13:48:42 +08:00
melvinzhang 4ea378bcb1 add effect "tap <permanent>. It doesn't untap during its controller's untap step for as long as SN remains tapped." 2017-07-01 11:37:56 +08:00
melvinzhang 7772fa4193 add effect 'exile all cards from <players>'s graveyard' 2017-07-01 10:57:51 +08:00
ShawnieBoy 68ad7f52bc include `for each` in energy method 2017-06-30 12:15:49 +01:00
ShawnieBoy 04249377a5 include 'face down' in morph play mod - for parsing 2017-06-29 17:53:50 +01:00
ShawnieBoy f45116a824 add new planeswalker subtype Samut 2017-06-22 18:11:33 +01:00
lodici 707eacdead remove unused method parameter in MagicBasicLandChoice. 2017-06-19 13:04:23 +01:00
lodici 8ffa3676bb remove unused field in MagicPhase. 2017-06-19 12:52:51 +01:00
lodici 3edc87736b remove unused method parameter in MagicColorChoice. 2017-06-19 12:52:00 +01:00
lodici 4924508d84 remove unused field in DiscardCardAction. 2017-06-19 12:49:09 +01:00
lodici 933e646217 remove unused field in MurmurHash3. 2017-06-19 12:47:00 +01:00
lodici 7abce85df1 remove unused import in MagicMessage. 2017-06-19 12:46:07 +01:00
lodici 3e664f34c4 remove unused methods in MagicCardDefinition. 2017-06-19 12:45:08 +01:00
lodici 1ae240a92d consolidate duplicate log header code into setLogHeader(). 2017-06-19 10:00:21 +01:00
melvinzhang 60f7308bb3 handle missing cases for TopOfOwnersLibrary and BottomOfOwnersLibrary in RemoveCardAction 2017-06-18 08:36:12 +08:00
melvinzhang 41557a9b98 prefer short circuit boolean operators 2017-06-17 12:18:42 +08:00
melvinzhang abf695ac4a ensure files and read/written using UTF_8 instead of platform default charset 2017-06-17 12:06:28 +08:00
melvinzhang bbbdcac9ef add override annotation to overridden methods 2017-06-17 11:19:03 +08:00
melvinzhang 9551cb4748 handle case of Battlefield explicitly, throw error on other cases 2017-06-17 10:53:18 +08:00
melvinzhang ab8c9d1336 remove exception for MoveCardAction as toLocation may be set to battlefield 2017-06-17 10:43:04 +08:00
melvinzhang 3f446b5324 ensure switch statements handle all cases 2017-06-17 10:32:59 +08:00
melvinzhang d3de830740 add override annotation to overridden methods 2017-06-17 10:32:32 +08:00
melvinzhang de64a5ab2e add override annotation to overridden methods 2017-06-17 10:32:12 +08:00
melvinzhang f648223572 remove unused imports 2017-06-17 09:57:42 +08:00
melvinzhang 0928be03c0 support Eternalize <mana cost> ability, closes #1151 2017-06-17 09:47:24 +08:00
lodici 1dc38c1fb8 rename PlayerProfileSelected() to playerProfileSelected(). 2017-06-16 15:54:18 +01:00
lodici dda6a4bc40 rename PlayerProfileDeleted() to playerProfileDeleted(). 2017-06-16 15:53:32 +01:00
lodici 5f9869fd46 rename PlayerProfileUpdated() to playerProfileUpdated(). 2017-06-16 15:51:56 +01:00
lodici 2400cf9188 Position literals first in String comparisons to avoid potential NPEs. 2017-06-16 10:22:50 +01:00
lodici 3dd89ed678 remove "it" from declare attacker prompt. (see #1139). 2017-06-07 12:57:36 +01:00
ShawnieBoy a361f62918 add "four or more creature cards in graveyard" to conditions and type method in factory 2017-05-28 17:35:08 +01:00
melvinzhang 7173ba51a9 MagicAbility.AttacksEachTurnIfAble should override AI set MagicPermanentState.ExcludeFromCombat, fixes #1135 2017-05-28 16:58:24 +08:00
melvinzhang 73a661c4f2 restore changes to other zone, don't change tab when clearing cards 2017-05-21 11:33:49 +08:00
melvinzhang 8839c10410 fix cards list not cleared on undo, for #1129 2017-05-21 11:23:42 +08:00
lodici d480bdd51c Revert "fixes ##559 : restores "choice" zone when mouse enters the user prompt and does not select the Library icon."
This reverts commit 9fd38035a7.
2017-05-20 10:38:37 +01:00
melvinzhang 08b2ac948d fix Champion of Lambholt does not prevent blocking by rewording ability, closes #1121 2017-05-20 08:41:05 +08:00
melvinzhang b1a52406f6 fix genABGameStatic to use Game layer, for #1121 2017-05-19 09:29:38 +08:00
melvinzhang a155571769 remove unused case as Game layer is not used by Permanents 2017-05-19 09:28:48 +08:00
lodici 9fd38035a7 fixes ##559 : restores "choice" zone when mouse enters the user prompt and does not select the Library icon. 2017-05-16 16:45:03 +01:00
lodici 3588ba6b7e rename showCards() to showCardsToChoose() 2017-05-16 16:42:09 +01:00
melvinzhang f6ad5cbda8 Move image cache back to MagcImages while we figure out a better place for it
fix MessagePanel to use MagicImages

This reverts commit 4056d00ab7.
2017-05-15 19:56:58 +08:00
melvinzhang 9a608c0965 remove MessageViewerInfo and use MagicMesage directly
removed MagicPlayer from MagicMessage
2017-05-15 19:24:35 +08:00
lodici 4056d00ab7 move responsibility for caching PlayerAvatar from MagicImages to PlayerProfile. 2017-05-14 17:34:32 +01:00
lodici 44cfc716b5 rename MagicPlayer getPlayerDefinition(). 2017-05-14 16:31:20 +01:00
lodici efb2a4603d remove obsolete constant. 2017-05-14 11:43:42 +01:00
lodici b4397e1201 remove UI-related and poorly named visiblePlayer reference from MagicGame. 2017-05-14 08:58:43 +01:00
lodici 9e6a2b25d8 remove hard-coded MagicPlayer array elements from MagicGame. 2017-05-14 08:30:43 +01:00
lodici 57480bc1da adds "--deck" command line arg which can be used to set an AI player's deck. 2017-05-11 23:01:09 +01:00
lodici b36482471c Adds the deck name and type to the Library zone icon tooltip. 2017-05-09 18:42:26 +01:00
melvinzhang 541b4323c2 temp fix for #1116 by removing choice in rider and add check to detect future cases 2017-05-07 10:05:21 +08:00
melvinzhang c0f9cb81a3 fix "PN may PN draws" with "PN may draw" 2017-05-07 10:05:21 +08:00
lodici 75687153b5 Add method to return arbitrary number of random cards from MagicDeck. 2017-05-05 13:13:53 +01:00
lodici 9f700df5d5 add sorting comparator as static constant to MagicCardDefinition. 2017-05-05 13:13:53 +01:00
melvinzhang e13c0e4d1d move the alternative case into else block 2017-04-27 10:58:22 +08:00
ShawnieBoy a1a1c1d30a add condition for nonCreature spell cast 2017-04-25 16:20:33 +01:00
ShawnieBoy 2c3c6b8a5c add non-creature spell count 2017-04-25 16:20:00 +01:00
ShawnieBoy 0fe18b5c3d add additional pattern match for 'you control at least' 2017-04-25 15:29:38 +01:00
ShawnieBoy ecc549f73a allow "when" for OtherYouControlEntersEffect 2017-04-25 14:41:48 +01:00
ShawnieBoy 7206a26f3b add planeswalker methods to Target Filter 2017-04-25 14:08:48 +01:00
melvinzhang c20a7521cf add ability 'SN costs {n} less to cast if <condition>.' 2017-04-24 14:37:52 +08:00
melvinzhang 520d058ce6 add support for ability '<spell> you cast cost {n} less to cast' 2017-04-23 18:20:23 +08:00
ShawnieBoy b7e586a68c add Bricker counter to counterTypes 2017-04-23 04:06:25 +01:00
ShawnieBoy 670cc9cba1 add '<n> or fewer cards in hand' condition 2017-04-23 03:14:37 +01:00
ShawnieBoy d4920cc3d7 add Jackal creature subtype 2017-04-23 03:13:39 +01:00
melvinzhang 9de0b22a5f create a new card def for embalm tokens to set the mana cost, for #1091 2017-04-23 09:15:03 +08:00
ShawnieBoy 99fc488212 enable 'Whenever you cycle or discard a(nother) card' 2017-04-23 00:04:58 +01:00
ShawnieBoy 40c0ffe2b6 add 'basic land card or Desert card' to target filter 2017-04-22 23:51:18 +01:00
ShawnieBoy 21926c0ef2 add Embalm ability - still requires removal of token's casting cost 2017-04-22 23:49:51 +01:00
melvinzhang 5867b2661f replace generic 'you -> PN' with more specific replacement that accounts for grammar, for #1100 2017-04-15 10:39:53 +08:00
ShawnieBoy 7c65cec24e add Cartouche Enhantment subtype 2017-04-14 17:38:25 +01:00
melvinzhang 69b5622be1 fix 'PN win' and 'PN have', for #1100 2017-04-09 22:25:52 +08:00
melvinzhang 10b72f55c7 put target indicator after "'s", for #1100 2017-04-09 19:27:15 +08:00
melvinzhang 44f9f9b643 fix 'PN control' in event description 2017-04-09 17:25:10 +08:00
melvinzhang de93d8b07d fix 'PN do' and 'PN don't' in event description 2017-04-09 17:16:54 +08:00
melvinzhang 37f78dbba7 replace extra space after 'draw' 2017-04-09 17:07:38 +08:00
melvinzhang c0b9107f01 fix 'may reveals' in event description 2017-04-09 17:03:56 +08:00
melvinzhang 058c2f9c78 move rest of cards outside of processChosenCards as it is not called when no cards are selected, fixes #1094 2017-04-09 10:17:03 +08:00
melvinzhang 20037770c6 perform 'put' -> 'PN puts' only if prefix is not 'may ', fixes #1095 2017-04-09 10:02:19 +08:00
lodici 28b250978c use logical AND / OR operator instead of ternary. 2017-04-08 16:50:53 +01:00
lodici 1915195aeb Remove imports in same package. 2017-04-08 11:29:49 +01:00
lodici 4e96aabc66 remove unused local variables; organize imports. 2017-04-08 08:49:14 +01:00
lodici 25be3dfba9 remove unused local variables. 2017-04-08 08:48:56 +01:00
lodici 0326b42634 remove unused local variables; organize imports. 2017-04-08 08:48:03 +01:00
lodici 0c1a7d5ae8 remove unused import statements and sort. 2017-04-08 08:26:41 +01:00
lodici 0be849659e remove duplicate import. 2017-04-08 08:09:09 +01:00
melvinzhang c9ac82c1b6 compute more accurate permanent power by considering power decrease due to effect 2017-04-08 14:48:29 +08:00
lodici e414d31364 add refactor warning comment to MagicWeakenTargetPicker. 2017-04-07 20:58:45 +01:00
lodici 7bd1dc3112 Revert "remove unused constructor parameter in MagicWeakenTargetPicker."
This reverts commit dd8f67c5dd.
2017-04-07 20:52:44 +01:00
lodici 4b3cd4933a remove unused constructor. 2017-04-07 20:22:55 +01:00
lodici 81e360fe34 remove unused constructor parameter in MagicCombatCreature. 2017-04-07 20:22:53 +01:00
lodici 2a2c38795f remove unused constructor. 2017-04-07 20:22:53 +01:00
lodici dd8f67c5dd remove unused constructor parameter in MagicWeakenTargetPicker. 2017-04-07 20:22:52 +01:00
lodici ea3115b913 remove redundant modifiers from interface methods (pmd:UnusedModifier). 2017-04-07 20:22:52 +01:00
melvinzhang 8dabb983b9 fix flanking to trigger for each blocker, closes #1090 2017-03-31 10:13:55 +08:00
lodici f2291e61e6 DeckUtils.getDecksFolder() returns Path instead of String. 2017-03-12 20:01:07 +00:00
lodici cf9d8b2aff rename DeckUtils.getDeckFolder() to getDecksFolder(). 2017-03-12 19:35:59 +00:00
lodici edbaecb933 Ensure PlayerProfiles map is refreshed before use (fixes #1069). 2017-02-24 00:07:36 +00:00
lodici d221b5aeb9 Make UI text translatable in MagicFromCardListChoice. 2017-02-22 18:17:25 +00:00
lodici e569979047 remove dead code, redundant final modifier on private method; use diamond inference. 2017-02-22 18:12:21 +00:00
lodici fa83391b17 fix code formatting. 2017-02-22 18:10:49 +00:00
lodici 84570bda88 replace redundant displayMessage with call to getDescription(). 2017-02-22 18:10:20 +00:00
lodici 52edb2f0f2 Make UI text translatable in MagicFromCardFilterChoice. 2017-02-22 18:05:58 +00:00
lodici 1d5e298f72 remove dead code, redundant final modifier on private method; use diamond inference. 2017-02-22 18:00:44 +00:00
lodici 4201377a41 fix code formatting. 2017-02-22 17:58:42 +00:00
lodici 7b931ac02b replace redundant displayMessage with call to getDescription(). 2017-02-22 17:58:02 +00:00
lodici cd7352497d Make UI text translatable in MagicCardChoice. 2017-02-22 17:51:29 +00:00
lodici 5c46a64395 Make UI text translatable in MagicBasicLandChoice 2017-02-22 17:39:08 +00:00
lodici a15f6bb0d3 Make UI text translatable in MagicCoinFlipChoice & MagicOrChoice. 2017-02-22 17:34:59 +00:00
lodici 74dec310ba Make UI text translatable in MagicColorChoice (#1080). 2017-02-22 17:29:15 +00:00
lodici d3098bac0d remove dead method; redundant final modifier on private method; use diamond inference. 2017-02-22 16:56:24 +00:00
lodici fcda4002dd Make UI text translatable in MagicMayChoice (#1080). 2017-02-22 16:41:40 +00:00
lodici 40a8933228 Make UI text translatable in MagicDeclareBlockersChoice (#1080). 2017-02-22 15:52:55 +00:00
lodici f1f94c82e7 Make UI text translatable in MagicScryChoice (#1080). 2017-02-22 15:38:45 +00:00
lodici 37167f3b59 Make UI text translatable in MagicDeclareAttackersChoice (#1080). 2017-02-22 15:18:32 +00:00
lodici 8422e98f22 remove unused code; re-organize imports. 2017-02-22 14:48:04 +00:00
lodici 7499c377fd link PhaseStepViewer to MagicPhaseType (UN vs UT inconsistency); remove redundant text from MagicPhaseType. 2017-02-21 18:39:04 +00:00
ShawnieBoy d633155b93 add clarifying comment for final section of MagicCombatDamagePhase 2017-02-07 13:14:25 +00:00
ShawnieBoy d755c93aa9 correct attackerMessage length check in MagicCombatDamagePhase and
rename defender message.
2017-02-07 13:07:47 +00:00
ShawnieBoy dcd88a4c6b add Aura, Equipment or Vehicle spell to MagicTargetFilterFactory 2017-02-05 13:24:24 +00:00
lodici 966caa0f05 fix: need to click twice the first time on name column to trigger sort. 2017-02-04 14:08:13 +00:00
ShawnieBoy 22cd9a3e56 add permanentCardEqualCMC method to MagicTargetFilterFactory 2017-02-04 01:04:47 +00:00
lodici 3d97985934 core code for implementing H2 game stats database (see #1041 for more details). 2017-02-01 12:44:59 +00:00
melvinzhang 5d2543cf0b fix token cdef constructor to include abilities, fixes #1040 2017-01-31 21:47:24 +08:00
melvinzhang 6135babed0 undo snapshot should be taken after choice is made, fixes #1054 2017-01-31 14:00:32 +08:00
ShawnieBoy 4198a55b26 optimise imports 2017-01-30 20:31:44 +00:00
ShawnieBoy d837f87cfb replace instances of ChangePoisonAction with ChangeCountersAction 2017-01-30 20:31:18 +00:00
ShawnieBoy e1a6bf36e9 include Vehicles in getPowerToughnessText() 2017-01-29 14:36:49 +00:00
melvinzhang 67d987adcf improve logic of skip till EOT for checking whethre AI played something, for #1047 2017-01-29 09:05:40 +08:00
ShawnieBoy fb4e8fd1be use imports for MurmurHash3 2017-01-28 15:08:10 +00:00
ShawnieBoy 7cb0eb2fde add 'permanent card from your library' target filters 2017-01-27 16:25:42 +00:00
ShawnieBoy 430d27c55f add 'experience counters you have' to Amount Parser 2017-01-27 05:30:16 +00:00
ShawnieBoy 6e6d250c68 add CountersOnController to AmountFactory 2017-01-27 05:29:43 +00:00
ShawnieBoy ec60ae4f96 add Experience counter gain 2017-01-27 05:16:31 +00:00
ShawnieBoy 2f78ccd3df add log messages for attacker and defender for life and poison changes
#354 #1030
2017-01-27 05:12:30 +00:00
ShawnieBoy 44f2af8b0b correct hints and name for Energy RuleEventAction 2017-01-27 04:51:42 +00:00
ShawnieBoy 92bd99a0a0 enable "When SN enters the battlefield or dies, <effect>" in scripts 2017-01-27 02:24:46 +00:00
ShawnieBoy 7b3f528b04 add unity counter to MagicCounterType 2017-01-27 01:35:19 +00:00
ShawnieBoy d8636852ff correct acceptType and remove unecessary 'any' prefix for new permanentCardMaxCMC method 2017-01-26 14:47:56 +00:00
ShawnieBoy 51adfe7cd0 correct CMC value and include existing template with new method 2017-01-26 14:28:34 +00:00
ShawnieBoy a2e302f2ef add 'anyPermanentCardMaxCMC' to target filters matching others without type/subtype filter 2017-01-26 13:51:33 +00:00
ShawnieBoy df3e5a7e7f add Revolt Mechanic 2017-01-25 08:20:40 +00:00
lodici c6a34ac5d4 support '<card name>.full.jpg' pattern as a custom image file. 2017-01-21 15:49:29 +00:00
melvinzhang 239a962f12 put condition on the same condition 2017-01-15 09:54:31 +08:00
melvinzhang 552a5fdae2 use getTokenizedCardNames to generate card names when returning cards from exile, fixes #1033 2017-01-15 09:42:00 +08:00
ShawnieBoy 8e0a8cc2ad correct tense for MiracleTrigger log 2017-01-14 14:26:41 +00:00
melvinzhang be192056d6 store undo point during MagicMayChoice, for #1031 2017-01-14 11:29:57 +08:00
melvinzhang 0e81e1c672 do not show card due to Miracle unless it is revealed, for #325 2017-01-14 10:41:03 +08:00
ShawnieBoy b4a5f475fd add 'creature with power 4 or less' to MagicTargetFilterFactory 2017-01-14 02:32:39 +00:00
ShawnieBoy d9159ed005 correct target filter for 'creature card in a graveyard' 2017-01-14 01:16:40 +00:00
melvinzhang 05ec193e25 remove unused filter and choice 2017-01-14 09:01:54 +08:00
melvinzhang 64377f3a70 generalize regex for gaining energy to omit player 2017-01-14 08:54:08 +08:00
ShawnieBoy 5f60251d5a add 'creature card in a graveyard' to MagicTargetFilterFactory 2017-01-13 15:16:48 +00:00
ShawnieBoy 54eaf9dcd4 add Kaya to planeswalker subtypes 2017-01-13 15:12:50 +00:00
lodici e70a94be7f closes #699 : Option to speed up progression through the stack. 2017-01-11 20:16:50 +00:00
melvinzhang 8d82bd8ac0 use the 'Double-Checked Locking using Volatile' idiom, for #696 2017-01-11 16:03:52 +08:00
melvinzhang f3410c517c construct MagicBuilderManaCost in a single step to avoid cases where incomplete builderCost is retrieved, for #696 2017-01-11 14:52:01 +08:00
lodici 171720882f add index to assert message (see #696). 2017-01-10 19:38:11 +00:00
lodici 0c97be9215 only set non-zero checksum if original deck file on which duel deck was based has not changed since the duel was created. 2017-01-10 12:04:13 +00:00
lodici 19c2a99382 Display warning if deck editor has changes; change status of duel deck if updated via deck editor. 2017-01-10 12:04:08 +00:00
lodici 89c868ff72 Use "New deck" instead of "Unsaved Deck". 2017-01-10 12:04:06 +00:00
lodici 5ec05f502d Show deck type in duel decks screen. 2017-01-10 12:04:02 +00:00
lodici 1c8de22b3f Update deck title on duel decks screen with indication that deck is unsaved and remove redundant "Deck". 2017-01-10 12:04:02 +00:00
lodici c5f88782d1 set checksum and deck type when loading deck from file. 2017-01-10 12:04:01 +00:00
lodici d67fe0262d saving and restoring new deck checksum properties in latest.duel file. 2017-01-10 12:04:01 +00:00
ShawnieBoy 6c3c08a055 include locale in toLowerCase() 2016-12-28 00:53:29 +00:00
melvinzhang 2012ba99f9 replace groovy code with card script 2016-12-07 09:55:33 +08:00
ShawnieBoy f10a0285af add 'Scarecrow or Plains' to targetfilters 2016-11-20 14:53:34 +00:00
melvinzhang 88713b5024 fix bug where chosen is set to event.getPlayer(), should be done with processTargetPlayer 2016-11-08 17:31:18 +08:00
ShawnieBoy 48fbb56668 fix EnterChoosePlayer 2016-11-08 08:19:37 +00:00
ShawnieBoy 600d513222 add getChosenPlayer to MagicEvent 2016-11-08 08:19:20 +00:00
ShawnieBoy 65bcf49142 Generalise MagicCardList.getNrOfLands to .getNrOf(MagicType) 2016-11-08 07:55:26 +00:00
ShawnieBoy 401f26378f add EntersChoosePlayer to abilities 2016-11-08 07:28:34 +00:00
melvinzhang 025379c6b4 replace floor and ceil with intdiv 2016-11-07 16:11:01 +08:00
melvinzhang 1c805f7e38 use methods to get half life rounded up/down 2016-11-07 15:33:40 +08:00
melvinzhang bf2807389f ensure game state is updated before player gets priority, fixes #986 2016-11-07 15:30:38 +08:00
melvinzhang 7535305390 add ability Partner and Undaunted 2016-10-30 10:40:45 +08:00
ShawnieBoy e1c3963873 add additional phrasing for OpponentWasDealtDamage condition 2016-10-30 01:53:20 +00:00
melvinzhang f1b0f9b94d replace ChangePlayerStateAction with AddStaticAction for ephemeral state 2016-10-30 09:31:51 +08:00
melvinzhang 667423ced6 clean up player state on each update, fixes #962 2016-10-30 09:31:28 +08:00
ShawnieBoy e38c63ee2c add spite countertype 2016-10-29 20:11:19 +01:00
ShawnieBoy 4311952ba6 add Fury counter type 2016-10-29 01:58:27 +01:00
ShawnieBoy 4067f13c78 Hybrid was checking for colorless hybrid instead of colored - Fixes rendering of hybrid cards 2016-10-29 00:58:35 +01:00
melvinzhang ed02b99589 specify Locale.ENGLISH when comparing against hardcoded strings or doing lookup 2016-10-27 10:04:39 +08:00
lodici 6245037367 rename UiString to MText. 2016-10-26 09:46:59 +01:00
melvinzhang ed234a51ed remove support for unused "put tokens" form 2016-10-13 16:12:31 +08:00
melvinzhang 135b9c3e46 allow create token form for copying 2016-10-13 15:40:04 +08:00
melvinzhang 10c08534bf all token name to terminate at end of string 2016-10-13 14:16:13 +08:00
melvinzhang 21be1ca38f terminate tokens clause with ',' 2016-10-13 08:53:03 +08:00
melvinzhang e2bc426a96 there is always a comma before 'where' clause 2016-10-13 08:28:27 +08:00
lodici 15e999b557 Update tryDownloadingImage() to work only with IRenderableCard. 2016-10-12 19:53:28 +01:00
lodici 7d893ff28d update getImageType() to work only with IRenderableCard. 2016-10-12 19:53:28 +01:00
lodici 79ae406b44 relocate IRenderableCard into magic.model. 2016-10-06 12:26:58 +01:00
melvinzhang be58fc13c1 replace use of data.MagicIcon in IRenderableCard with model.MagicCostManaType 2016-10-06 19:00:24 +08:00
melvinzhang fc93264e99 simplify and remove cast from global prevent damage trigger 2016-10-06 17:40:55 +08:00
melvinzhang 4f6b96dc94 simplify and remove cast for isOnStack 2016-10-06 17:37:19 +08:00
melvinzhang 60976579b8 merge getPermanentImage(MagicPermanent permanent) and getCardImage(MagicCardDefinition cdef) into getCardImage(IRenderableCard face) 2016-10-06 14:12:38 +08:00
melvinzhang c2bc7a030f check for ALL_CREATURES instead of Changeling to cover Mistform Ultimus, for #623 2016-10-06 10:05:38 +08:00
melvinzhang 86bb0786fa add getSubTypeText to MagicPermanent, restore original default implementation of getSubTypeText 2016-10-06 08:54:42 +08:00
melvinzhang d0b14c71c1 simplify Goad, model it after Detain 2016-10-05 21:04:30 +08:00
lodici b55da6a394 create 'magic.cardDefinition*' and relocate classes. 2016-10-05 13:53:20 +01:00
melvinzhang 4d6c66f7c6 add effect: goad <permanents>, closes #825 2016-10-05 20:25:35 +08:00
melvinzhang fabc63fe54 replace groovy code with card script 2016-10-05 13:28:29 +08:00
melvinzhang 653b5297ab fix regex for search to hand/library top 2016-10-05 09:29:27 +08:00
melvinzhang 136dae256d make reveal optional for SearchLibraryToTopLibrary 2016-10-05 09:17:44 +08:00
melvinzhang 4b7b5659c5 merge SearchLibraryToHandHidden into SearchLibraryToHand 2016-10-05 09:11:05 +08:00
melvinzhang 3ed0fc316c add filter: legendary Spirit permanent card from your library 2016-10-05 08:33:02 +08:00
melvinzhang eb448d4db6 add variant of search library to battlefield effect with mods at the end 2016-10-05 08:16:12 +08:00
melvinzhang 8f870f1cae add effect: return <card> at random from your graveyard to your hand 2016-10-04 14:26:33 +08:00
melvinzhang bbaf401b34 add condition: enchanted creature's power is <amount> or greater 2016-10-04 13:29:30 +08:00
melvinzhang 1c144da7bc allow multiple conditions in intervening if clause 2016-10-04 12:25:45 +08:00
melvinzhang 40e3c31d3c add condition: RN has <amount> or fewer cards in hand 2016-10-04 10:57:51 +08:00
melvinzhang 4191a36395 add condition: RN has <amount> or more cards in hand 2016-10-04 10:51:59 +08:00
melvinzhang e529520ae1 add condition: that player has no cards in hand 2016-10-04 10:37:06 +08:00
melvinzhang ba938ec3e0 allow MagicCondition to check current event 2016-10-04 10:32:45 +08:00
melvinzhang e582364b6e replace generic logAppendMessage with logAppendValue or logAppendX 2016-10-04 10:10:19 +08:00
melvinzhang f6006d2f5e fix missing check for "isn't monstrous" when monstrousity resolves 2016-10-04 09:58:10 +08:00
melvinzhang 30afcab981 allow 'has' in ConditionGainGroup 2016-10-04 09:43:46 +08:00
melvinzhang dd275f085f make mana cost payment for Pact optional as 'playing mana abilities to generate the mana is optional' 2016-10-03 14:31:54 +08:00
melvinzhang 0c4fc9d3a1 remove unused filter 2016-10-03 11:30:52 +08:00
melvinzhang f43ef8a5c7 add effect: At the beginning of your next upkeep, pay <mana cost>. If you don't, you lose the game 2016-10-03 11:25:05 +08:00
ShawnieBoy bee8706a84 add green Creature card from Library to TargetFilterFactory 2016-10-02 17:04:38 +01:00
melvinzhang c6978f9987 remove genABStaticGame as permanents do not use the Game layer, fixes #928 2016-10-02 09:47:09 +08:00
ShawnieBoy c92c68eee9 Oracle Updates: Energy counter renamed for Energy Vortex 2016-10-01 13:26:07 +01:00
melvinzhang 711985d405 use custom may choice question for tribute 2016-10-01 13:45:53 +08:00
melvinzhang d170b1d2d5 replace replaceFirst in addAbilityImpl with constant in regex 2016-10-01 13:35:32 +08:00
melvinzhang 19af5b1bdc remove unnecessary custom filters 2016-10-01 09:29:43 +08:00
melvinzhang 238be0d242 add filter 'attacking or blocking <permanent>', 'attacking <permanent>', 'untapped <permanent>', 'tapped <permanent>' 2016-10-01 09:03:29 +08:00
melvinzhang 1a316a9c3c allow searching from library + graveyard/hand 2016-09-30 11:02:21 +08:00
melvinzhang 7d7d10af4c only add cards in library to showCards, prefer to show hand, graveyard, library in this order 2016-09-30 11:02:21 +08:00
melvinzhang 4f018e6eb5 fix incorrect boolean opreator for CREATURE_OR_VEHICLE, fixes #922 2016-09-29 09:18:59 +08:00
melvinzhang c0a6028e9e move morph activations to card layer as permanent no longer check game layer, fixes #921 2016-09-29 08:59:22 +08:00
melvinzhang 3a3a9722ec support create token phrasing, closes #897 2016-09-27 20:53:50 +08:00
ShawnieBoy 12e3da740d add Dovin and Saheeli to planeswalker subtypes 2016-09-26 17:52:30 +01:00
melvinzhang f0195725db reduce updates by only updating between events if the next one has a choice 2016-09-26 21:45:03 +08:00
ShawnieBoy 4911b05d2f prevent adding 'Tribal' to getLongTypeString() addition of supertypes 2016-09-24 16:22:39 +01:00
melvinzhang d72e475742 MagicPlayAuraEvent should extend MagicETBEvent 2016-09-24 20:59:38 +08:00
melvinzhang fc862a4733 create MagicETBEvent that is used by permanents, for #893 2016-09-24 20:53:25 +08:00
melvinzhang 8f1977cd24 revert PT setting token to changing of card definition so that it is copied correctly 2016-09-24 13:21:56 +08:00
melvinzhang f908b236a2 add playmod factory PT to set PT, and MagicPlayMod.FLYING 2016-09-24 10:04:34 +08:00
ShawnieBoy 6188bcb0ca add FILTER_SUBTYPES enumset for SubType filtering 2016-09-23 16:54:02 +01:00
melvinzhang cf63eec4c4 add Wily Bandar 2016-09-23 20:50:15 +08:00
melvinzhang 412251cc83 add filter 'creature or nonbasic land' 2016-09-23 00:16:15 +08:00
melvinzhang 1735c5f15a add ability '<permanents> enter the battlefield tapped' 2016-09-22 23:57:21 +08:00
melvinzhang 16b05b7689 add Hightide Hermit 2016-09-22 23:22:20 +08:00
ShawnieBoy 24384a3720 add MagicPlayMod.SPIRIT 2016-09-22 15:26:40 +01:00
ShawnieBoy da50b537d4 allow MagicManaCost.create() to accept an int for colorless mana. 2016-09-22 14:03:44 +01:00
melvinzhang c8cc32c169 add Fragmentize 2016-09-22 10:01:04 +08:00
melvinzhang 388d019b08 add Master Trinketeer 2016-09-22 09:15:51 +08:00
melvinzhang 5e2881341b add filter 'creature or vehicle' 2016-09-22 08:47:53 +08:00