Skip to content

Commit fc43ab8

Browse files
authored
Merge branch 'mikemayhemdev:master' into master
2 parents 02fb0a3 + 51a9a25 commit fc43ab8

299 files changed

Lines changed: 11127 additions & 6035 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

src/main/java/automaton/cards/BugBarrage.java

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
import automaton.AutomatonMod;
44
import basemod.BaseMod;
5-
import basemod.devcommands.draw.Draw;
65
import com.megacrit.cardcrawl.actions.AbstractGameAction;
76
import com.megacrit.cardcrawl.actions.common.DamageAction;
87
import com.megacrit.cardcrawl.actions.common.DiscardSpecificCardAction;
@@ -23,7 +22,7 @@ public class BugBarrage extends AbstractBronzeCard {
2322
//stupid intellij stuff attack, enemy, common
2423

2524
private static final int DAMAGE = 7;
26-
private static final int UPG_DAMAGE = 2;
25+
private static final int UPG_DAMAGE = 3;
2726

2827
public BugBarrage() {
2928
super(ID, 1, CardType.ATTACK, CardRarity.COMMON, CardTarget.ENEMY);
@@ -86,8 +85,6 @@ public void onMoveToDiscard() {
8685

8786

8887
public void upp() {
89-
upgradeMagicNumber(1);
90-
rawDescription = UPGRADE_DESCRIPTION;
91-
initializeDescription();
88+
upgradeDamage(UPG_DAMAGE);
9289
}
9390
}

src/main/java/champ/cards/FanOfKnives.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ public class FanOfKnives extends AbstractChampCard {
1818
//stupid intellij stuff attack, enemy, common
1919

2020
private static final int DAMAGE = 5;
21-
private static final int UPG_DAMAGE = 3;
21+
private static final int UPG_DAMAGE = 2;
2222

2323
public FanOfKnives() {
2424
super(ID, 1, CardType.ATTACK, CardRarity.COMMON, CardTarget.ALL_ENEMY);

src/main/java/charbosses/bosses/Watcher/NewAge/ArchetypeAct2CalmNewAge.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,9 @@ public ArrayList<AbstractCard> getThisTurnCards() {
155155
}
156156

157157
if (AbstractCharBoss.boss.powerhouseTurn){
158-
AbstractCharBoss.boss.getPower(WatcherCripplePower.POWER_ID).onSpecificTrigger();
158+
if( AbstractCharBoss.boss.hasPower(WatcherCripplePower.POWER_ID) ){
159+
AbstractCharBoss.boss.getPower(WatcherCripplePower.POWER_ID).onSpecificTrigger();
160+
}
159161
}
160162
return cardsList;
161163

src/main/java/charbosses/cards/other/Antidote.java

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package charbosses.cards.other;
22

3-
import com.megacrit.cardcrawl.actions.common.ApplyPowerAction;
3+
import charbosses.powers.general.EnemyPoisonPower;
4+
import com.megacrit.cardcrawl.actions.common.ReducePowerAction;
45
import com.megacrit.cardcrawl.actions.common.RemoveSpecificPowerAction;
56
import com.megacrit.cardcrawl.characters.AbstractPlayer;
67
import com.megacrit.cardcrawl.core.CardCrawlGame;
@@ -10,7 +11,6 @@
1011
import com.megacrit.cardcrawl.powers.PoisonPower;
1112
import expansioncontent.cards.AbstractDownfallCard;
1213
import expansioncontent.expansionContentMod;
13-
import theHexaghost.powers.EnhancePower;
1414

1515
import static expansioncontent.cards.AbstractExpansionCard.makeID;
1616

@@ -22,13 +22,14 @@ public class Antidote extends AbstractDownfallCard {
2222
public Antidote() {
2323
super(ID, cardStrings.NAME, IMG_PATH, 1, cardStrings.DESCRIPTION, CardType.SKILL, CardColor.COLORLESS, CardRarity.SPECIAL, CardTarget.SELF);
2424
baseMagicNumber = magicNumber = 12;
25+
selfRetain = true;
2526
}
2627

2728
public void use(AbstractPlayer p, AbstractMonster m) {
28-
if(AbstractDungeon.player.getPower(PoisonPower.POWER_ID).amount <= this.magicNumber){
29-
atb(new RemoveSpecificPowerAction(p, p, PoisonPower.POWER_ID));
29+
if(AbstractDungeon.player.hasPower(EnemyPoisonPower.POWER_ID) && AbstractDungeon.player.getPower(EnemyPoisonPower.POWER_ID).amount <= this.magicNumber){
30+
atb(new RemoveSpecificPowerAction(p, p, EnemyPoisonPower.POWER_ID));
3031
}else{
31-
addToBot(new ApplyPowerAction(AbstractDungeon.player, AbstractDungeon.player, new PoisonPower(AbstractDungeon.player, AbstractDungeon.player,-this.magicNumber), -this.magicNumber));
32+
addToBot(new ReducePowerAction(AbstractDungeon.player, AbstractDungeon.player, EnemyPoisonPower.POWER_ID, this.magicNumber));
3233
}
3334

3435
}

src/main/java/charbosses/powers/bossmechanicpowers/SilentPoisonPower.java

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
1-
//
2-
// Source code recreated from a .class file by IntelliJ IDEA
3-
// (powered by Fernflower decompiler)
4-
//
5-
61
package charbosses.powers.bossmechanicpowers;
72

3+
import charbosses.actions.unique.EnemyPoisonDamageAction;
4+
import charbosses.powers.general.EnemyPoisonPower;
5+
import com.megacrit.cardcrawl.actions.AbstractGameAction;
86
import com.megacrit.cardcrawl.core.AbstractCreature;
97
import com.megacrit.cardcrawl.core.CardCrawlGame;
8+
import com.megacrit.cardcrawl.dungeons.AbstractDungeon;
109
import com.megacrit.cardcrawl.localization.PowerStrings;
1110
import com.megacrit.cardcrawl.powers.AbstractPower;
11+
import com.megacrit.cardcrawl.rooms.AbstractRoom;
1212

1313
public class SilentPoisonPower extends AbstractBossMechanicPower {
1414
public static final String POWER_ID = "downfall:SilentPoisonPower";
@@ -26,6 +26,17 @@ public SilentPoisonPower(AbstractCreature owner) {
2626
this.type = PowerType.BUFF;
2727
}
2828

29+
public void atStartOfTurn() {
30+
if(AbstractDungeon.player.hasPower(EnemyPoisonPower.POWER_ID)){
31+
if (AbstractDungeon.getCurrRoom().phase == AbstractRoom.RoomPhase.COMBAT && !AbstractDungeon.getMonsters().areMonstersBasicallyDead()) {
32+
AbstractPower poison = AbstractDungeon.player.getPower(EnemyPoisonPower.POWER_ID);
33+
poison.flashWithoutSound();
34+
this.addToBot(new EnemyPoisonDamageAction(poison.owner, this.owner, poison.amount, AbstractGameAction.AttackEffect.POISON));
35+
}
36+
}
37+
}
38+
39+
2940
public void updateDescription() {
3041
this.description = DESC[0];
3142
}

src/main/java/charbosses/powers/general/EnemyPoisonPower.java

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ public EnemyPoisonPower(AbstractCreature owner, AbstractCreature source, int poi
4040
@Override
4141
public void stackPower(int stackAmount) {
4242
this.amount += stackAmount; // without the positive check, your antidote will reduce 1 less, because it will apply a negative amount, which would get + 1
43+
// by snecko skull
4344
if( (stackAmount >= 0) && AbstractCharBoss.boss.hasRelic(CBR_SneckoSkull.ID) ){
4445
this.amount ++;
4546
}
@@ -53,18 +54,17 @@ public void updateDescription() {
5354
this.description = DESCRIPTIONS[0] + this.amount + DESCRIPTIONS[1];
5455
}
5556

56-
@Override
57-
public void atEndOfTurn(boolean isPlayer) {
58-
if (isPlayer) {
59-
if (AbstractDungeon.getCurrRoom().phase == RoomPhase.COMBAT && !AbstractDungeon.getMonsters().areMonstersBasicallyDead()) {
60-
this.flashWithoutSound();
61-
this.addToBot(new EnemyPoisonDamageAction(this.owner, this.source, this.amount, AttackEffect.POISON));
62-
//Poison reduction/removal handled in damage action
63-
}
64-
65-
}
66-
}
67-
57+
// Damage action moved to SilentPoisonPower so that it happens after Afterlife activation
58+
// @Override
59+
// public void atEndOfTurn(boolean isPlayer) {
60+
// if (isPlayer) {
61+
// if (AbstractDungeon.getCurrRoom().phase == RoomPhase.COMBAT && !AbstractDungeon.getMonsters().areMonstersBasicallyDead()) {
62+
// this.flashWithoutSound();
63+
// this.addToBot(new EnemyPoisonDamageAction(this.owner, this.source, this.amount, AttackEffect.POISON));
64+
// //Poison reduction/removal handled in damage action
65+
// }
66+
// }
67+
// }
6868

6969
static {
7070
powerStrings = CardCrawlGame.languagePack.getPowerStrings("Poison");

src/main/java/collector/actions/ScorchingRayAction.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ public void update() {
2727
isDone = true;
2828
AbstractMonster q = AbstractDungeon.getMonsters().getRandomMonster(null, true, AbstractDungeon.cardRandomRng);
2929
if (q != null) {
30+
card.applyPowers();
3031
card.calculateCardDamage(q);
3132
att(new DamageAction(q, new DamageInfo(AbstractDungeon.player, card.damage, card.damageTypeForTurn), AttackEffect.NONE));
3233
att(new VFXAction(new ColoredVerticalAttackEffect(q.hb.x + MathUtils.random(q.hb.width / 3, ((q.hb.width / 3) * 2)), q.hb.cY, true, new Color(MathUtils.random(), MathUtils.random(), MathUtils.random(), 1))));
Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
package downfall.actions;
2+
3+
import basemod.BaseMod;
4+
import basemod.abstracts.AbstractCardModifier;
5+
import basemod.helpers.CardModifierManager;
6+
import com.megacrit.cardcrawl.actions.AbstractGameAction;
7+
import com.megacrit.cardcrawl.cards.AbstractCard;
8+
import com.megacrit.cardcrawl.core.Settings;
9+
import com.megacrit.cardcrawl.dungeons.AbstractDungeon;
10+
import com.megacrit.cardcrawl.screens.CardRewardScreen;
11+
import com.megacrit.cardcrawl.unlock.UnlockTracker;
12+
import com.megacrit.cardcrawl.vfx.cardManip.ShowCardAndAddToDiscardEffect;
13+
import com.megacrit.cardcrawl.vfx.cardManip.ShowCardAndAddToHandEffect;
14+
15+
import java.util.ArrayList;
16+
import java.util.function.Consumer;
17+
18+
@Deprecated
19+
public class FlexibleDiscoveryAction extends AbstractGameAction {
20+
private boolean retrieveCard = false;
21+
private final ArrayList<AbstractCard> cards;
22+
private boolean costsZeroThisTurn;
23+
private Consumer<AbstractCard> callback;
24+
private AbstractCardModifier cardModifier;
25+
private boolean skippable;
26+
27+
public FlexibleDiscoveryAction(ArrayList<AbstractCard> cards, boolean costsZeroThisTurn) {
28+
this(cards, costsZeroThisTurn, false, null, null);
29+
}
30+
31+
public FlexibleDiscoveryAction(ArrayList<AbstractCard> cards, boolean costsZeroThisTurn, AbstractCardModifier cardModifier) {
32+
this(cards, costsZeroThisTurn, false, null, cardModifier);
33+
}
34+
35+
public FlexibleDiscoveryAction(ArrayList<AbstractCard> cards, Consumer<AbstractCard> callback, boolean costsZeroThisTurn) {
36+
this(cards,costsZeroThisTurn, false, callback, null);
37+
}
38+
public FlexibleDiscoveryAction(ArrayList<AbstractCard> cards, boolean costsZeroThisTurn, boolean skippable, AbstractCardModifier cardModifier)
39+
{
40+
this(cards, costsZeroThisTurn, skippable,null, cardModifier);
41+
}
42+
43+
public FlexibleDiscoveryAction(ArrayList<AbstractCard> cards, boolean costsZeroThisTurn, boolean skippable, Consumer<AbstractCard> callback, AbstractCardModifier cardModifier) {
44+
this.actionType = ActionType.CARD_MANIPULATION;
45+
this.duration = Settings.ACTION_DUR_FAST;
46+
this.cards = cards;
47+
this.costsZeroThisTurn = costsZeroThisTurn;
48+
this.cardModifier = cardModifier;
49+
this.callback = callback;
50+
this.skippable = skippable;
51+
}
52+
53+
54+
public void update() {
55+
if (this.duration == Settings.ACTION_DUR_FAST) {
56+
AbstractDungeon.cardRewardScreen.customCombatOpen(cards, CardRewardScreen.TEXT[1], skippable);
57+
AbstractDungeon.cardRewardScreen.rewardGroup = cards;
58+
59+
for (AbstractCard tmp : AbstractDungeon.cardRewardScreen.rewardGroup) {
60+
UnlockTracker.markCardAsSeen(tmp.cardID);
61+
}
62+
this.tickDuration();
63+
} else {
64+
if (!this.retrieveCard) {
65+
if (AbstractDungeon.cardRewardScreen.discoveryCard != null) {
66+
AbstractCard disCard = AbstractDungeon.cardRewardScreen.discoveryCard.makeStatEquivalentCopy();
67+
if (callback != null)
68+
{
69+
callback.accept(disCard);
70+
}
71+
if (costsZeroThisTurn) {
72+
disCard.modifyCostForCombat(-9);
73+
}
74+
if (cardModifier!=null){
75+
CardModifierManager.addModifier(disCard, cardModifier);
76+
}
77+
disCard.current_x = -1000.0F * Settings.scale;
78+
if (AbstractDungeon.player.hand.size() < BaseMod.MAX_HAND_SIZE) {
79+
AbstractDungeon.effectList.add(new ShowCardAndAddToHandEffect(disCard, (float)Settings.WIDTH / 2.0F, (float)Settings.HEIGHT / 2.0F));
80+
} else {
81+
AbstractDungeon.effectList.add(new ShowCardAndAddToDiscardEffect(disCard, (float)Settings.WIDTH / 2.0F, (float)Settings.HEIGHT / 2.0F));
82+
}
83+
84+
AbstractDungeon.cardRewardScreen.discoveryCard = null;
85+
}
86+
87+
this.retrieveCard = true;
88+
}
89+
90+
this.tickDuration();
91+
}
92+
}
93+
}
Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
package downfall.actions;
2+
3+
import basemod.BaseMod;
4+
import com.badlogic.gdx.graphics.Color;
5+
import com.megacrit.cardcrawl.actions.AbstractGameAction;
6+
import com.megacrit.cardcrawl.cards.AbstractCard;
7+
import com.megacrit.cardcrawl.cards.CardGroup;
8+
import com.megacrit.cardcrawl.characters.AbstractPlayer;
9+
import com.megacrit.cardcrawl.core.Settings;
10+
import com.megacrit.cardcrawl.dungeons.AbstractDungeon;
11+
import org.apache.logging.log4j.LogManager;
12+
import org.apache.logging.log4j.Logger;
13+
import slimebound.SlimeboundMod;
14+
15+
import java.util.ArrayList;
16+
import java.util.List;
17+
18+
@Deprecated
19+
public class NeowExhumeAction extends AbstractGameAction {
20+
public static final Logger logger = LogManager.getLogger(SlimeboundMod.class.getName());
21+
private AbstractPlayer p;
22+
23+
public NeowExhumeAction() {
24+
25+
this.p = AbstractDungeon.player;
26+
27+
setValues(this.p, AbstractDungeon.player, this.amount);
28+
29+
this.actionType = ActionType.CARD_MANIPULATION;
30+
31+
this.duration = Settings.ACTION_DUR_FAST;
32+
33+
}
34+
35+
36+
public void update() {
37+
38+
int cardsReturned = 0;
39+
if (this.duration == Settings.ACTION_DUR_FAST) {
40+
41+
if (this.p.exhaustPile.isEmpty()) {
42+
43+
logger.info("Exhaust is empty");
44+
this.isDone = true;
45+
return;
46+
47+
}
48+
49+
logger.info("Add to hand");
50+
AbstractCard c = AbstractDungeon.player.exhaustPile.getRandomCard(AbstractDungeon.cardRandomRng);
51+
52+
this.p.drawPile.addToTop(c);
53+
54+
c.unfadeOut();
55+
c.unhover();
56+
this.p.exhaustPile.removeCard(c);
57+
58+
c.flash(Color.GOLD.cpy());
59+
60+
61+
this.isDone = true;
62+
63+
return;
64+
65+
}
66+
67+
tickDuration();
68+
}
69+
}
70+
71+
72+

0 commit comments

Comments
 (0)