From 52d319a820579691d0f5bd7b502fb88ecfd9868d Mon Sep 17 00:00:00 2001 From: Dan Bjorge Date: Mon, 14 Oct 2019 00:22:44 -0700 Subject: [PATCH] fix end of turn effects --- .../stsjorbsmod/actions/EndTurnNowAction.java | 23 +++++++++++++++++++ src/main/java/stsjorbsmod/cards/Mending.java | 3 ++- src/main/java/stsjorbsmod/cards/Rest.java | 3 ++- 3 files changed, 27 insertions(+), 2 deletions(-) create mode 100644 src/main/java/stsjorbsmod/actions/EndTurnNowAction.java diff --git a/src/main/java/stsjorbsmod/actions/EndTurnNowAction.java b/src/main/java/stsjorbsmod/actions/EndTurnNowAction.java new file mode 100644 index 000000000..a592bd264 --- /dev/null +++ b/src/main/java/stsjorbsmod/actions/EndTurnNowAction.java @@ -0,0 +1,23 @@ +package stsjorbsmod.actions; + +import com.megacrit.cardcrawl.actions.AbstractGameAction; +import com.megacrit.cardcrawl.cards.AbstractCard; +import com.megacrit.cardcrawl.dungeons.AbstractDungeon; +import com.megacrit.cardcrawl.vfx.cardManip.ExhaustCardEffect; + +// Courtesy of https://github.com/Alchyr/Chen/blob/master/src/main/java/Chen/Actions/GenericActions/EndTurnNowAction.java +public class EndTurnNowAction extends AbstractGameAction { + @Override + public void update() { + AbstractDungeon.actionManager.cardQueue.clear(); + + for (AbstractCard c : AbstractDungeon.player.limbo.group) + AbstractDungeon.effectList.add(new ExhaustCardEffect(c)); + + AbstractDungeon.player.limbo.group.clear(); + AbstractDungeon.player.releaseCard(); + AbstractDungeon.overlayMenu.endTurnButton.disable(true); + + this.isDone = true; + } +} \ No newline at end of file diff --git a/src/main/java/stsjorbsmod/cards/Mending.java b/src/main/java/stsjorbsmod/cards/Mending.java index 520dd08ef..4f82fcbac 100644 --- a/src/main/java/stsjorbsmod/cards/Mending.java +++ b/src/main/java/stsjorbsmod/cards/Mending.java @@ -9,6 +9,7 @@ import com.megacrit.cardcrawl.dungeons.AbstractDungeon; import com.megacrit.cardcrawl.monsters.AbstractMonster; import stsjorbsmod.JorbsMod; +import stsjorbsmod.actions.EndTurnNowAction; import stsjorbsmod.characters.Wanderer; import stsjorbsmod.util.MemoryPowerUtils; @@ -35,7 +36,7 @@ public Mending() { public void use(AbstractPlayer p, AbstractMonster m) { int healAmount = MemoryPowerUtils.countClarities(p) * magicNumber; AbstractDungeon.actionManager.addToBottom(new HealAction(p, p, healAmount)); - AbstractDungeon.actionManager.addToBottom(new EndTurnAction()); + AbstractDungeon.actionManager.addToBottom(new EndTurnNowAction()); } @Override diff --git a/src/main/java/stsjorbsmod/cards/Rest.java b/src/main/java/stsjorbsmod/cards/Rest.java index 8bade2947..9ffe061a0 100644 --- a/src/main/java/stsjorbsmod/cards/Rest.java +++ b/src/main/java/stsjorbsmod/cards/Rest.java @@ -6,6 +6,7 @@ import com.megacrit.cardcrawl.dungeons.AbstractDungeon; import com.megacrit.cardcrawl.monsters.AbstractMonster; import stsjorbsmod.JorbsMod; +import stsjorbsmod.actions.EndTurnNowAction; import stsjorbsmod.actions.RememberSpecificMemoryAction; import stsjorbsmod.characters.Wanderer; import stsjorbsmod.powers.memories.ChastityMemoryPower; @@ -38,7 +39,7 @@ public Rest() { public void use(AbstractPlayer p, AbstractMonster m) { AbstractDungeon.actionManager.addToBottom(new RememberSpecificMemoryAction(p, p, new ChastityMemoryPower(p, p, false))); AbstractDungeon.actionManager.addToBottom(new GainBlockAction(p, p, block)); - AbstractDungeon.actionManager.addToBottom(new EndTurnAction()); + AbstractDungeon.actionManager.addToBottom(new EndTurnNowAction()); } @Override