Commit Graph

15023 Commits (master)

Author SHA1 Message Date
melvinzhang 749c7c9900 allow 'that are still ...' for becomes 2017-08-16 12:33:45 +08:00
melvinzhang b93f47def0 allow plural for types and addition to regex 2017-08-16 12:29:57 +08:00
melvinzhang cedb9ec4b3 move regex constants into PermanentSpecParser 2017-08-16 12:18:20 +08:00
melvinzhang 2bba5e99fb allow 'whenever' for state trigger 2017-08-15 20:01:30 +08:00
melvinzhang bfe5474d3f support effect 'remove all <type> counters from <permanents>' 2017-08-15 18:40:37 +08:00
melvinzhang 3ee83bbf51 support "that player's graveyard" in effect 2017-08-15 13:16:45 +08:00
melvinzhang 769d0f7eff generalize TapParalyze to 'that <thing>' 2017-08-15 12:55:20 +08:00
melvinzhang 655b767200 add MagicPlayerTriggerEvent that works with 'that player controls' in effect 2017-08-15 12:45:31 +08:00
melvinzhang 4b1bcc4a17 merge the rules for 'deals damge' and 'deals combat damage' 2017-08-15 11:40:52 +08:00
melvinzhang 326617fa03 split large discard into groups of 3 to avoid running out of memory, for #721 2017-08-14 16:31:00 +08:00
melvinzhang 8d037d0152 ensure pending triggers go on the stack in APNAP order, fixes #423 2017-08-13 17:47:54 +08:00
melvinzhang 0747672928 add filter 'creature that has a -1/-1 counter on it' 2017-08-13 10:38:56 +08:00
melvinzhang 5b9d80ddfd use 'PN' instead of 'you' in event description 2017-08-11 20:17:42 +08:00
melvinzhang aae330dd2d use MagicETBEvent instead of trigger for 'SN enters tapped', fixes #750 2017-08-11 15:32:11 +08:00
melvinzhang 09bb897c62 include equipments/auras in permanent state, for #815
previous method of including permanent in equipment/aura state could not
distinguish between two aura on one permanent or on separate permanents
2017-08-09 22:27:01 +08:00
melvinzhang 19a2a2bc4e allow both 'cast' and 'play' in CastFreeSpell 2017-08-09 20:41:54 +08:00
melvinzhang 8487002425 add bounce picker for enchant 2017-08-09 20:25:05 +08:00
melvinzhang e3831bc7d1 merge conditions for gain/lost life 2017-08-09 18:00:04 +08:00
melvinzhang fdd59a5793 record correct solution found by MCTS-8 for TestNoxious, closes #174 2017-08-08 22:27:08 +08:00
melvinzhang 3b6ca41646 split GlobalPreventDamageToTarget into high priority ProtectionShield and low priority PreventDamageShield, fixes #153 2017-08-08 21:50:34 +08:00
melvinzhang fb053f09e2 remove setDefaultHandAct, move adding of hand activation into loadAbilities 2017-08-08 17:39:35 +08:00
melvinzhang a84088394e add method to get starting life of player 2017-08-08 13:40:27 +08:00
melvinzhang f68adc62b2 delegate isArtificial and isHuman to subclass so that parent class does not know about subclasses 2017-08-08 13:05:35 +08:00
melvinzhang 42191ad01c use boolean to track whether trigger/static was added by action 2017-08-08 11:37:39 +08:00
melvinzhang 98c28b1f85 move logic for default cast action into MagicCardDefinition 2017-08-08 09:42:44 +08:00
melvinzhang d29d24d626 casting without paying mana cost should be affected by cost modifications 2017-08-08 09:37:25 +08:00
melvinzhang 2fb4d1bb44 nonland cards without mana cost cannot be cast from hand 2017-08-08 09:37:25 +08:00
melvinzhang 53a6b939ef use present tense for log message, for #351 2017-08-07 15:08:03 +08:00
melvinzhang aa376dfc0f add message on counters left, make playing the card a separate trigger as required by the rules, for #351 2017-08-07 15:03:07 +08:00
melvinzhang 4438101f4d remove comment that casting of creature spell with suspend is not implemented, for #351 2017-08-07 13:34:44 +08:00
melvinzhang 86210e9c66 grant haste to permanent cast with suspend as long as they are under control player who cast it, for #351 2017-08-07 12:09:49 +08:00
melvinzhang 08481ebc32 store fromLocation and toLocation in a MagicTuple 2017-08-07 11:59:25 +08:00
melvinzhang 5bee5d65fd check all costs when casting 2017-08-07 11:46:38 +08:00
melvinzhang 69044b530f support effect 'exile sn with three time counters on it' 2017-08-07 11:27:30 +08:00
melvinzhang 14e94e787e add Suspend trigger for non-creature cards, for #351 2017-08-07 11:13:21 +08:00
melvinzhang af7ec09115 support effect '<permanent> has base power and toughness p/t until end of tunr' 2017-08-05 20:19:18 +08:00
melvinzhang 95f21145e7 allow 'base power and toughness p/t' syntax 2017-08-05 19:56:11 +08:00
melvinzhang b90d9e8321 allow 'legendary' in Becomes effect 2017-08-05 19:40:58 +08:00
melvinzhang 4683828832 support nested ability between ‘' in ability list 2017-08-05 19:13:29 +08:00
melvinzhang 0a19d38ee8 replace groovy code with card script 2017-08-05 19:13:29 +08:00
melvinzhang be6837044c add effect 'you get an emblem with <abilities>' 2017-08-05 19:13:29 +08:00
melvinzhang 2b11fa2af1 infer generic type from declaration 2017-08-04 12:26:12 +08:00
melvinzhang d5de4a7c33 allow static ability to be stored in MagicAbilityList 2017-08-04 12:26:12 +08:00
melvinzhang 845f9fa349 merge PumpX into Pump, WeakenX into Weaken 2017-08-04 12:26:12 +08:00
melvinzhang e8afd417cd add ARG.EACH and method to convert each text to MagicAmount 2017-08-04 10:44:02 +08:00
melvinzhang 0af029a532 allow X in DrainLifeAlt 2017-08-03 13:10:17 +08:00
melvinzhang 62715a378d allow multiplier in DrainLife 2017-08-03 13:03:19 +08:00
melvinzhang 373b3aaf6c allow 'where X is' in LoseLife 2017-08-03 12:23:44 +08:00
melvinzhang ef127bcf83 allow X in DrawLosePlayers 2017-08-03 09:45:40 +08:00
melvinzhang 23cc972e33 allow 'where X is' in Draw 2017-08-03 09:45:04 +08:00
melvinzhang ec5f99dc7a merge valid condition into single expression 2017-08-01 20:24:33 +08:00
melvinzhang 54cbaf0bca prevent cyclic references by ensuring stack item is valid target for another stack item that is later, fixes #1223 2017-08-01 20:09:09 +08:00
melvinzhang c60c30f6a3 fix changed target not triggering when targeted 2017-08-01 20:07:55 +08:00
melvinzhang ae4e0efb58 bump version to 1.88 for new dev cycle 2017-08-01 17:36:22 +08:00
melvinzhang a8af80fc9f extend Exert effect to multiple permanents 2017-07-31 22:18:37 +08:00
melvinzhang 7432026357 fix duration of trigger not copied when making a copy of MagicPermanentTrigger 2017-07-31 09:16:00 +08:00
melvinzhang f332eebeae reset score before performing action to ensure we are computing score of block 2017-07-30 22:31:18 +08:00
melvinzhang 1d9e23b9aa remove extra space before 'pay' in description of CumulativeUpkeepTrigger 2017-07-30 21:25:39 +08:00
melvinzhang 1ceec54539 remove turnTriggers, track whether triggers ends at end of turn in MagicPermanentTrigger 2017-07-30 21:11:39 +08:00
melvinzhang ac42c8acc4 make skipping phases in AI game model optional and disabled by default, for #815 2017-07-29 21:39:58 +08:00
melvinzhang 69d0e98654 add custom getStateId to commonly used MagicStatic 2017-07-29 21:33:12 +08:00
melvinzhang 2932f6ee70 pass MagicPermanentAction in MagicEvent 2017-07-29 09:33:31 +08:00
melvinzhang 0cfbac301b fix compiler error by casting long to int 2017-07-29 08:46:48 +08:00
melvinzhang f3e695eb38 move getStateId from MagicCopyable back to MagicObject 2017-07-29 08:32:47 +08:00
melvinzhang 3a3b2254be revert change to MagicObjectImpl.getStateId 2017-07-28 22:46:23 +08:00
melvinzhang cc8b98f641 add custom getStateId method for result with state 2017-07-28 20:53:05 +08:00
melvinzhang 53d65af043 add comment on why these classes need to implement MagicCopyable 2017-07-28 20:25:02 +08:00
melvinzhang 83bd9bc930 fix for result on stack not copyable 2017-07-28 19:59:36 +08:00
melvinzhang 39fb84fa3a pass amount and counterType in MagicEvent 2017-07-28 17:03:40 +08:00
melvinzhang eafc98097a simplify groovy with MagicTuple 2017-07-28 16:05:39 +08:00
melvinzhang 22e8239d71 fix crash where tuple expected but int found 2017-07-28 16:05:20 +08:00
melvinzhang 3e092912ef replace dynamic action with static action 2017-07-28 15:26:11 +08:00
melvinzhang 4514ee109f replace annonymous inner class with lambda 2017-07-28 15:26:08 +08:00
melvinzhang 3f750aef0c pass MagicChainEventFactory and MagicSourceEvent in MagicEvent 2017-07-28 14:31:14 +08:00
melvinzhang 1c525c7a5e pass trigger in MagicEvent 2017-07-28 14:12:30 +08:00
melvinzhang 68d838410b pass damage.getAmount() and damage.isCombat in MagicEvent 2017-07-28 14:07:25 +08:00
melvinzhang 032d51b4a9 use MagicObjectImpl.getStateId for MagicCopyable as it uses getId() for MagicPlayer 2017-07-28 13:52:11 +08:00
melvinzhang 9e689eb9e9 pass MagicCounterType in MagicEvent 2017-07-28 12:47:32 +08:00
melvinzhang 4d9bafc91e pass MagicManaCost in MagicEvent 2017-07-28 12:45:01 +08:00
melvinzhang a4be557011 pass MagicCounterType in MagicEvent 2017-07-28 12:44:58 +08:00
melvinzhang 58a2e0395c pass MagicCounterType in MagicEvent 2017-07-28 12:44:53 +08:00
melvinzhang c78b63ad49 pass MagicLocationType in MagicEvent 2017-07-28 12:44:44 +08:00
melvinzhang aad955d2a8 pass MagicCounterType in MagicEvent 2017-07-28 12:44:29 +08:00
melvinzhang ffaa096dd1 remove MagicIntger, add method to retrieve MagicTuple 2017-07-28 12:34:20 +08:00
melvinzhang ca1c47e758 store int, MagicCounterType in MagicTuple 2017-07-28 12:32:16 +08:00
melvinzhang f4d08ae7de made action static and provide copy method 2017-07-28 11:46:21 +08:00
melvinzhang fa979274ff made action static and provide copy method 2017-07-28 11:41:39 +08:00
melvinzhang b431baa790 move getStateId into MagicCopyable, remove MagicCopyable from MagicPayManaCostResult 2017-07-28 11:34:12 +08:00
melvinzhang 6a73b1a480 remove MagicCopyable from classes which do not need to be copied 2017-07-28 11:03:54 +08:00
melvinzhang 919dcd10fd use putOnStack method instead of storing MagicPermanentActivation in event 2017-07-28 11:03:16 +08:00
melvinzhang 522292a9c5 made action static and provide copy method 2017-07-28 10:45:23 +08:00
melvinzhang fab647ac3a made action static and provide copy method 2017-07-28 10:13:35 +08:00
melvinzhang 9403832514 made action static and provide copy method 2017-07-28 10:01:59 +08:00
melvinzhang 772d05901e made action static and provide copy method 2017-07-28 09:57:53 +08:00
melvinzhang 5f02bc7990 subclass of MagicEvent with members should implement copy method, fixed MagicRepeatedCostEvent 2017-07-28 09:57:25 +08:00
melvinzhang 005a36ed33 replace lambda with method in class 2017-07-28 09:51:56 +08:00
melvinzhang 3df71aa281 include isCost when copying MagicEvent 2017-07-27 13:42:37 +08:00
melvinzhang 1c12b11582 fix crash by passing source to filter 2017-07-27 11:33:27 +08:00
melvinzhang 1a0874fd3e fix crash by reverting back to dynamically created MagicEventAction 2017-07-27 10:55:38 +08:00
melvinzhang a35828b817 merge MagicRepeatedPermanentsEvent and MagicRepeatedCardsEvent into MagicRepeatedCostEvent 2017-07-27 10:24:57 +08:00
melvinzhang eb925c1922 add MagicGame.addNextCostEvent to be used when cost event are generated from a cost event 2017-07-26 16:30:12 +08:00
melvinzhang c71e3dde29 track player for 'does not untap turing your next untap step', closes #1106 2017-07-26 13:41:02 +08:00
melvinzhang 84bae03f04 add Willbreaker 2017-07-24 21:48:47 +08:00
melvinzhang 4cc04eec7b allow 'another' in exile card cost 2017-07-24 21:45:03 +08:00
melvinzhang 9a146a85b9 add effect 'gain control of <permanents> for as long sa you control SN' 2017-07-24 17:41:05 +08:00
melvinzhang 168b0e95ff support effect: <permanents> becomes the color of your choice until end of turn. 2017-07-24 13:44:59 +08:00
melvinzhang ee127ae5b5 move mana cost payment to just before casting card, fixes #1218 2017-07-24 10:01:46 +08:00
lodici 5b086d03ed display language version using smaller font in StartScreen. 2017-07-22 20:37:13 +01:00
lodici 2058ee11e2 fix line endings. 2017-07-22 10:45:46 +01:00
lodici 0357e99d06 replace icon for card (script) screen. 2017-07-22 10:42:59 +01:00
lodici d44222e89f Add TabsContainer to CardScreen. 2017-07-22 10:33:53 +01:00
lodici 0a0c2ecab6 move script components into self contained CardScriptPanel. 2017-07-22 10:13:16 +01:00
lodici 9cd60200b4 Rename CardScriptScreen to CardScreen and move into ui.screen.card package. 2017-07-22 10:05:39 +01:00
lodici aee0c67584 fixes #1217 : NPE on click deck stats tab. 2017-07-21 22:17:30 +01:00
lodici 2ff1fe9dc4 fixes #1217 : NPE on click deck stats tab. 2017-07-21 22:08:24 +01:00
lodici bc46cbbd05 fixes #1209 : 'P' referring to [P]layed and [P]ower might not work when translated. 2017-07-21 19:00:22 +01:00
lodici 5b616e98db move column headings enum into CardTableColumn. 2017-07-21 18:57:50 +01:00
lodici 1c85428aef Force unix line endings in translation file to stop git flagging an unchanged file as different when opened via Edit menu in Windows. 2017-07-21 16:14:49 +01:00
lodici 2a95f8b876 use <list>.sort() instead of Collections.sort(<list>). 2017-07-21 15:30:08 +01:00
melvinzhang 3bc02ad254 use <class>.<method> to call static methods 2017-07-21 18:10:25 +08:00
melvinzhang 23f6c887fc add missing override annotation 2017-07-21 18:10:11 +08:00
melvinzhang 7fd166f88a use <class>.<method> to call static methods 2017-07-21 17:55:46 +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
lodici 558852b8eb fixes #1211 : Incorrect translations sort order. 2017-07-21 07:53:16 +01: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 592e9d258e sort MagicIcon and TextImages for non-p/t counter types 2017-07-19 19:43:06 +01: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
lodici c4f22b39bb replace cardflow icon. 2017-07-18 20:27:09 +01:00
lodici 4a5026b09c Ensure cards table has focus after clicking random card button. 2017-07-18 18:19:31 +01:00
lodici 21b63bfd75 add convenience method to KeyEventAction for copy keyboard shortcut. 2017-07-18 18:05:54 +01:00
lodici c8fd7a5790 copy card name on ctrl- or command-c from selected row in explorer, deck editor, etc. 2017-07-18 18:05:44 +01:00
lodici 2b255da610 add translatable strings for card flow screen. 2017-07-18 10:00:01 +01:00
lodici ecf4cf840d Remove testing code out of CardFlowScreen into WipMenuContentPanel. 2017-07-18 10:00:01 +01:00
lodici b4de9f2030 Add option to switch on/off animation in card flow screen (on by default). 2017-07-18 10:00:01 +01:00
lodici 6555972ec3 Use specific IDialButtonHandler for image scale setting in card flow screen. 2017-07-18 10:00:01 +01:00
lodici 72c53cd63c move general config 'cardflow.screen' to StringSetting. 2017-07-18 10:00:01 +01:00
lodici 2ae7c28e7d using ¦ as delimiter in card flow screen settings. 2017-07-18 10:00:01 +01:00
lodici 36d7235087 Save Properties file using PrintWriter and UTF-8. 2017-07-18 10:00:00 +01: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
lodici 00ca3c82be layout explorer action bar buttons. 2017-07-17 18:45:31 +01:00
lodici d7b4e050e5 fix: card flow card count was greyed out. 2017-07-17 18:37:41 +01:00
lodici d9e464f4b9 Use MessageFormat instead of String.format to auto format number according to locale. 2017-07-17 18:37:30 +01:00
lodici 78c310cab5 fix: total rows (card faces) in card explorer table is not the same as the total count in screen header (printed cards). 2017-07-17 18:37:13 +01:00
lodici 1c11b93fdf add option to browse card images using card flow screen from explorer. 2017-07-17 18:36:11 +01:00
lodici 36ea1f11e3 DeckParser supports gamepedia.com deck markdown (see #1187); fix MATCH2 regex; differentiate between unrecognized lines and errors in valid lines; 2017-07-16 12:09:42 +01:00
lodici 8583bdbbb9 add deck import dialog to deck editor (see #1187). 2017-07-16 10:05:51 +01:00
lodici daa9d385c0 add deck parser regex pattern constants. 2017-07-16 10:02:29 +01: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 7fc3e28580 update deck parser to support forge duel decks format (see #1187). 2017-07-16 00:46:01 +01:00
lodici e13c453cd2 move general config 'animateGameplay' to BooleanSetting. 2017-07-15 23:40:39 +01:00
lodici d0f18cb57d move general config 'pass' to BooleanSetting. 2017-07-15 23:33:29 +01:00
lodici 0e9ef6dc5b move general config 'overlayPermanentMinHeight' to IntegerSetting. 2017-07-15 23:09:28 +01:00
lodici c220e24998 move general config 'custom.fonts' to BooleanSetting. 2017-07-15 22:50:07 +01:00
lodici 48106f4c02 remove reference to "avatars" setting from CustomTheme. 2017-07-15 22:29:22 +01:00
lodici 2e79a29003 remove obsolete code associating avatar image with a theme. 2017-07-15 22:11:40 +01:00
melvinzhang 4676453203 use LF for line endings for consistency with other files 2017-07-15 08:53:51 +08:00
lodici 433bcf0996 fixes #1188 : Choice card popup hangs around. 2017-07-14 18:37:27 +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 c0984812be add Dune Diviner and Hostile Desert to TestNoChoice show case where there is no valid Desert to tap, for #1177 2017-07-13 10:31:37 +08:00
melvinzhang 1c63b4ca31 add messages to inform player to undo, for #1177 2017-07-13 10:29:48 +08:00
lodici af36483682 implement various GeneralConfig settings using new get/set api. 2017-07-12 18:57:49 +01:00
lodici 5f93fc5dfc move 'gameVolume' to IntegerSetting. 2017-07-12 18:57:49 +01:00
lodici 3967fc1571 make get/set methods static in GeneralConfig. 2017-07-12 18:57:49 +01:00
lodici 048f251a13 move 'deckFileMaxLines' to IntegerSetting. 2017-07-12 18:57:49 +01: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 b6a1e8f475 delegate drap/drop action to MScreen instance if not handled in FileDropTargetListener. 2017-07-12 11:29:00 +01:00
lodici 91606b8ee7 remove unused (and confusing) method in CardCanvas. 2017-07-12 11:10:21 +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 e14bdcdce6 Can create a new duel with decks containing invalid cards. 2017-07-12 07:53:57 +01:00
lodici 070d2e74ce only count valid cards in DeckTiledCardsScreen header panel. 2017-07-12 07:44:36 +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
lodici 629414f471 Skip invalid cards when generating deck stats. 2017-07-12 00:14:19 +01:00
lodici 3a8493eeba Allow adding invalid deck to deck editor. 2017-07-12 00:10:18 +01:00
lodici e6c315a921 remove duplicate translation strings. 2017-07-11 23:22:02 +01:00
lodici 5e9eac507f reorganize code and add comments. 2017-07-11 11:44:34 +01:00
lodici 6389f895dd migrate general config settings to enums - introducing StringSetting. 2017-07-11 11:44:34 +01:00
lodici ae6b0e70eb migrate general config settings to enums - introducing IntegerSetting. 2017-07-11 11:44:34 +01:00
lodici 7114fafcc7 migrate general config settings to enums - introducing BooleanSetting. 2017-07-11 11:44:34 +01:00
lodici a15a52020f normalize get* methods to getProperty() - type is determined by default value. 2017-07-11 11:44:34 +01:00
lodici a1d5e68678 group properties instance setters and getters. 2017-07-11 11:44:34 +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
lodici 6c1f8a2012 re-organize code in GeneralConfig. 2017-07-10 17:24:59 +01:00
lodici 890c5239ad update import code for copying general.cfg settings. 2017-07-10 17:24:37 +01:00
lodici fc303a53d9 add magarena version to 'general.cfg' 2017-07-10 17:24:18 +01:00
lodici 3a7536d6f4 move session-only isStatsVisible out of GeneralConfig. 2017-07-10 17:23:56 +01:00
lodici 10a7db2c4e organize and sort settings. 2017-07-10 17:23:45 +01:00
lodici 6f92eb28a9 access properties map directly instead of via an intermediate field in GeneralConfig. 2017-07-10 17:22:07 +01:00
lodici f205875612 remove unused methods in GeneralConfig. 2017-07-10 17:14:16 +01:00
lodici 0669902aa0 add helper methods to reduce code verbosity in load(). 2017-07-10 17:11:30 +01:00
lodici 30edd22371 use overloaded setProperty() methods to reduce code verbosity in GeneralConfig. 2017-07-10 17:10:56 +01: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
lodici 6ab61d3a06 add "explorer.table.style" to general.cfg (closes #1173). 2017-07-10 09:11:23 +01:00
lodici dbfc0b6f1e add "hand.zone.layout" to general.cfg 2017-07-10 08:59:13 +01:00
lodici e8ef4db0b5 add "explorer.layout" to general.cfg 2017-07-10 08:44:39 +01: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 cbc1adb16f bump version to 1.87 2017-07-09 13:32:51 +01:00
lodici a7f7cba022 remove MagicDuel argument from DuelDecksScreen constructor. 2017-07-09 11:41:40 +01:00
lodici 255b9a20fe show cards loading screen for DuelDecksScreen. 2017-07-09 11:34:44 +01:00
lodici 4c46560fba move duel management from MagicFrame to MagicDuel. 2017-07-09 11:28:08 +01:00
lodici 8b14cc50b7 show cards loading screen for DownloadImagesScreen. 2017-07-09 10:02:54 +01:00
lodici ce81efdcb1 fix throbber freeze on loading missing cards when opening explorer screen. 2017-07-09 09:58:12 +01:00
lodici 7067998350 move CardsLoadingWorker reference into CardsLoadingPanel; missing cards now supported by cards loading screen. 2017-07-09 09:54:53 +01:00
lodici 074f9b191d rename ScreenLoaderWorker to CardsLoadingWorker 2017-07-09 09:43:15 +01:00
lodici f5f29b0d6a rename ScreenLoadingPanel to CardsLoadingPanel 2017-07-09 09:41:46 +01:00
lodici 230372ff09 rename useLoadingScreen() to useCardsLoadingScreen() 2017-07-09 09:39:15 +01:00
lodici 572ad57e76 rename isCardDataRequired() to needsPlayableCards() 2017-07-09 09:36:47 +01:00
lodici 4f2fd150b6 rename waitForAllCards() to waitForPlayableCards() 2017-07-09 09:30:02 +01:00
lodici f285009df7 rename FutureTask loadCards to loadPlayable 2017-07-09 09:28:20 +01:00
lodici 3176ab868e rename allPlayableCardDefs to playableCards 2017-07-09 09:25:21 +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
lodici 63beb3c689 attempt to fix occasional delay in layout of throbber in ScreenLoadingPanel. 2017-07-07 14:58:32 +01:00
lodici 5370a73c47 use HierarchyEvent.SHOWING_CHANGED to resume/suspend AbstractThrobber timeline. 2017-07-07 14:53:04 +01:00
ShawnieBoy 2d8f1da0a9 add HOU to sets 2017-07-06 19:37:36 +01:00
lodici 87e3f813a6 Move _S1 to sub-class and make private. Was partly responsible for #1155. 2017-07-03 11:49:16 +01:00
lodici cd958f60a4 fixes #1155 : Avatar button displays "Close" instead of "Avatar". 2017-07-03 11:38:08 +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