Commit Graph

137 Commits (master)

Author SHA1 Message Date
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
Martin Petricek bd5ae5fd7a Refactoring (#1543)
* Fix typos.

* Remove unnecessary boxing/unboxing.

* Replace traditional 'for' loops with 'foreach' loops.

* Replace explicit types with <> (diamonds) where they can be inferred.

* Collapse identical catch branches.

* Replace statement lambda with expression lambda for short statements.

* Remove unnecessary imports.

* Replace some lambdas with Comparator.comparing

* Replace Runnables with lambdas.

* Use addAll instead of adding whole collection manually.

* Simplify boolean expressions.

* Remove redundant 'else'.

* Simplify some boolean conditions that are always true or false.

* Inline redundant local variables.

* Remove extraneous semicolons.

* Fix Javadoc errors.

* Replace anonymous classes with lambdas.

* Replace chain of 'if's with switch.

* Remove delaration of exception that is never thrown.

* Use String/StringBuilder properly.
2018-04-08 08:59:14 +08:00
melvinzhang f0d44cbb9b add missing priority after combat damage step for damage triggers to be put on the stack, fixes #978 2017-10-03 17:18:59 +08:00
melvinzhang c64f8c6dfd End of Combat triggers should fire before the active player gets priority, fixes #1284 2017-08-30 15:39:18 +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 c71e3dde29 track player for 'does not untap turing your next untap step', closes #1106 2017-07-26 13:41:02 +08:00
lodici 8ffa3676bb remove unused field in MagicPhase. 2017-06-19 12:52:51 +01:00
melvinzhang bbbdcac9ef add override annotation to overridden methods 2017-06-17 11:19:03 +08:00
ShawnieBoy 2c3c6b8a5c add non-creature spell count 2017-04-25 16:20:00 +01:00
lodici 25be3dfba9 remove unused local variables. 2017-04-08 08:48:56 +01:00
lodici 0c1a7d5ae8 remove unused import statements and sort. 2017-04-08 08:26:41 +01: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 2f78ccd3df add log messages for attacker and defender for life and poison changes
#354 #1030
2017-01-27 05:12:30 +00:00
melvinzhang bf2807389f ensure game state is updated before player gets priority, fixes #986 2016-11-07 15:30:38 +08:00
melvinzhang 6fac4bc4bb include CombatDamage in combat phase check 2016-09-21 19:15:17 +08:00
melvinzhang b709c43094 replace MagicPlayerState.Exhausted used by a single card with MagicStatic 2016-09-19 15:12:19 +08:00
melvinzhang f7efeca48c use game triggers to implement Monarch triggers, for #826 2016-09-19 11:00:00 +08:00
ShawnieBoy 2f98ecfff0 Monarch attempt (Non-functional) with TestMonarch and sample card. 2016-09-18 16:43:02 +01:00
melvinzhang 77bc02b2f9 Revert "Move AttacksUnblocked triggers to after fast effects" as it fires the trigger before blockers are declared
This reverts commit 4076301597.
2016-06-17 08:28:16 +08:00
ShawnieBoy 4076301597 Move AttacksUnblocked triggers to after fast effects 2016-06-16 12:42:58 +01:00
lodici 357dbaa510 remove reference to MagicGame from MagicSound. 2016-01-03 19:33:53 +00:00
lodici 1de0ad731f refactor rename Enums and comments. 2016-01-03 13:51:26 +00:00
lodici b20101e641 Play gameplay sound directly from MagicSound instance. 2016-01-03 13:51:25 +00:00
lodici d3e369fcc4 play all sound effects using MagicSound. 2016-01-03 13:51:24 +00:00
lodici 3aa76cdc92 play new turn sound using MagicSound. 2016-01-03 13:51:23 +00:00
melvinzhang c8f1262b45 remove trailing space from java code 2015-12-31 18:54:52 +08:00
melvinzhang 9b776e3d54 at end of mulligan phase, players scry 1 if they have less cards than their starting hand, closes #557 2015-12-13 09:15:12 +08:00
melvinzhang c386cc132f perform update before calling check state, fixes issue #50 2015-06-12 10:10:02 +08:00
melvinzhang 46d5cb2158 fix skip till end of turn not stopping at end of turn. fixes issue #318 2015-05-30 11:49:58 +08:00
melvinzhang 93a1317612 remove custom next step for AI game, always go back to active player step after resolving an item on stack
fixes issue #212 as game does not move to next phase with pending triggers
2015-04-20 13:37:27 +08:00
melvinzhang e15dcc0b92 replace getTurnPlayer().getOpponent() with 2015-04-20 09:44:33 +08:00
melvinzhang 4e1133a41f rename MagicGame.checkState to checkStatePutTriggers 2015-04-18 22:17:05 +08:00
ShawnieBoy 936a7ccbb5 refactor MagicUntapAction -> UntapAction 2015-04-14 16:00:43 +01:00
ShawnieBoy d484c60f97 refactor MagicStackResolveAction -> StackResolveAction 2015-04-14 15:52:56 +01:00
ShawnieBoy e04d413f89 refactor MagicReturnExiledAction -> ReturnExiledAction 2015-04-14 15:00:52 +01:00
ShawnieBoy ef33a77ebb refactor MagicRemoveFromCombatAction -> RemoveFromCombatAction 2015-04-14 14:21:39 +01:00
ShawnieBoy 60898d8f49 refactor MagicPayDelayedCostsAction -> PayDelayedCostsAction 2015-04-14 13:03:58 +01:00
ShawnieBoy f17e0d48ef refactor MagicDrawAction -> DrawAction 2015-04-14 11:39:30 +01:00
melvinzhang 596c4a6e81 replace MagicEvent.NO_SOURCE with MagicSource.NONE 2015-04-14 17:35:45 +08:00
ShawnieBoy 8fef4a95e1 refactor MagicCleanupTurnTriggersAction -> CleanupTurnTriggersAction 2015-04-13 12:45:19 +01:00
ShawnieBoy 7b3b09009d refactor MagicCleanupTurnStaticsAction -> CleanupTurnStaticsAction 2015-04-13 12:44:33 +01:00
ShawnieBoy 39d400707e refactor MagicCombatDamageAction -> CombatDamageAction 2015-04-13 12:43:00 +01:00
ShawnieBoy 4b05cd6fb8 refactor MagicCleanupPlayerAction -> CleanupPlayerAction 2015-04-13 12:41:35 +01:00
ShawnieBoy 26ae19374c refactor MagicChangeStateAction -> ChangeStateAction 2015-04-13 10:22:38 +01:00
ShawnieBoy 146beee29d refactor MagicChangeExtraTurnsAction -> ChangeExtraTurnsAction 2015-04-13 08:55:19 +01:00
melvinzhang 8f1bbdda95 replace player.getPlayerDefinition().isArtificial() with player.isArtificial() 2015-04-05 16:34:40 +08:00
melvinzhang a03c70fce6 rename playClip to playGameSound, add playUISound 2014-11-29 10:31:06 +08:00
lodici 2ac2a68ca9 simplify enum class. 2014-11-05 15:29:23 +00:00