-
Notifications
You must be signed in to change notification settings - Fork 46
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Dm-08 branch #5 #312
base: master
Are you sure you want to change the base?
Dm-08 branch #5 #312
Conversation
return | ||
} | ||
|
||
SelectFilterSelectablesOnly( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
deprecated
c.ManaCost = 7 | ||
c.ManaRequirement = []string{civ.Fire} | ||
|
||
c.Use(fx.Creature, fx.DragonEvolution, fx.Triplebreaker, fx.WheneverThisAttacks(fx.ManaBurnX(2))) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
if my PR will be accepted first, pls make sure when merging to refactor fx.WheneverThisAttacks to fx.When(fx.AttackConfirmed, ...)
fx.Creature, | ||
fx.When(fx.TurboRushCondition, func(card *match.Card, ctx *match.Context) { turboRush = true }), | ||
fx.When(fx.EndOfMyTurn, func(card *match.Card, ctx *match.Context) { turboRush = false }), | ||
fx.When(func(c *match.Card, ctx *match.Context) bool { return turboRush }, fx.WheneverThisAttacks(fx.OpponentDiscardsHand)), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
same as above, if my PR gets approved first, when you merge you will need to refactor WheneverThisAttacks to AttackConfirmed
fx.When(fx.TurboRushCondition, func(card *match.Card, ctx *match.Context) { turboRush = true }), | ||
fx.When(fx.EndOfMyTurn, func(card *match.Card, ctx *match.Context) { turboRush = false }), | ||
fx.When(func(c *match.Card, ctx *match.Context) bool { return turboRush }, | ||
fx.When(fx.WheneverThisAttacksAndIsntBlocked, fx.DestroyOpponentCreature(true, match.DestroyedByMiscAbility))), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
same as above, if my PR gets approved first, when you merge you will need to refactor WheneverThisAttacks AndIsntBlocked to AttackConfirmed + a check for block
fx.Creature, | ||
fx.When(fx.TurboRushCondition, func(card *match.Card, ctx *match.Context) { turboRush = true }), | ||
fx.When(fx.EndOfMyTurn, func(card *match.Card, ctx *match.Context) { turboRush = false }), | ||
fx.When(func(c *match.Card, ctx *match.Context) bool { return turboRush }, fx.WheneverThisAttacks(fx.DestroyOpCreatureXPowerOrLess(4000, match.DestroyedByMiscAbility))), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
same as above with WheneverThisAttacks
fx.When(fx.TurboRushCondition, func(card *match.Card, ctx *match.Context) { turboRush = true }), | ||
func(card *match.Card, ctx *match.Context) { | ||
// NOTE: currently bugged as attack can be cancelled | ||
// need to refactor Battle so that AttackConfirmed can tell if a creature was blocked while attacking a player |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Battle event should be modified to add a boolean flag "AttackedPlayer" true/false or something like that, so we can distinguish the Battle after an AttackCreature event, from the Battle after an AttackPlayer event. And you can get rid of "attackingOpponent" flag like that, and you can check only inside the Battle event to see if this card has been blocked, and indeed destroy OP's shield. Just my opinion
card.Player, | ||
match.BATTLEZONE, | ||
).Map(func(creature *match.Card) { | ||
creature.AddUniqueSourceCondition(cnd.WheneverThisAttacks, tapOpponentCreature, card) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
WheneverThisAttacks should be replaced by AttackConfirmed if my PR will be approved before this, as per all my comments above
true, | ||
).Map(func(creature *match.Card) { | ||
creature.Tapped = true | ||
fx.RemoveBlockerFromList(creature, ctx) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fx.RemoveBlockerFromList will not be needed anymore if my PR will get approved before this PR
fx.Creature, | ||
fx.When(fx.TurboRushCondition, func(card *match.Card, ctx *match.Context) { turboRush = true }), | ||
fx.When(fx.EndOfMyTurn, func(card *match.Card, ctx *match.Context) { turboRush = false }), | ||
fx.When(func(c *match.Card, ctx *match.Context) bool { return turboRush }, fx.WheneverThisAttacks(fx.ShowXShields(2))), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
WheneverThisAttacks should be replaced by AttackConfirmed if my PR will be approved before this, as per all my comments above
event.Cards = validShields | ||
} | ||
|
||
ctx.Match.ReportActionInChat(card.Player, "Nastasha, Channeler of Suns was destoryed to protect a shield.") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
typo in text action + you can format string to use card name instead of hardcoding "nastasha, ...."
available above also
fx.Creature, | ||
fx.When(fx.TurboRushCondition, func(card *match.Card, ctx *match.Context) { turboRush = true }), | ||
fx.When(fx.EndOfMyTurn, func(card *match.Card, ctx *match.Context) { turboRush = false }), | ||
fx.When(func(c *match.Card, ctx *match.Context) bool { return turboRush }, fx.WheneverThisAttacks(fx.SearchDeckTakeXCards(1))), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
WheneverThisAttacks should be replaced by AttackConfirmed if my PR will be approved before this, as per all my comments above
return | ||
} | ||
|
||
if turboRush { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
just a question about turborush: the card description says: "If any of your other creatures broke any shields this turn, this creature gets its Turbo Rush ability until the end of the turn".
When the turn ends, turboRush flag is set to false, but the SpeedAttacker condition shouldn't be also removed on all other cards that received it from turboRush?
just a question, I might be wrong / not fully understood the implementation @jyotiskaghosh
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
All conditions are cleared at the end of turn.
c.ManaCost = 6 | ||
c.ManaRequirement = []string{civ.Darkness} | ||
|
||
c.Use(fx.Creature, fx.Doublebreaker, fx.WheneverThisAttacks(func(card *match.Card, ctx *match.Context) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
WheneverThisAttacks should be replaced by AttackConfirmed if my PR will be approved before this, as per all my comments above
Dependent on #308
Added: