|
|
@@ -3,6 +3,7 @@ package xyz.luxnk.mxmmod.cards;
|
|
|
import basemod.abstracts.CustomCard;
|
|
|
import basemod.helpers.BaseModCardTags;
|
|
|
import com.megacrit.cardcrawl.actions.AbstractGameAction;
|
|
|
+import com.megacrit.cardcrawl.actions.common.ApplyPowerAction;
|
|
|
import com.megacrit.cardcrawl.actions.common.DamageAction;
|
|
|
import com.megacrit.cardcrawl.cards.AbstractCard;
|
|
|
import com.megacrit.cardcrawl.cards.DamageInfo;
|
|
|
@@ -11,21 +12,21 @@ import com.megacrit.cardcrawl.core.CardCrawlGame;
|
|
|
import com.megacrit.cardcrawl.dungeons.AbstractDungeon;
|
|
|
import com.megacrit.cardcrawl.localization.CardStrings;
|
|
|
import com.megacrit.cardcrawl.monsters.AbstractMonster;
|
|
|
+import com.megacrit.cardcrawl.powers.WeakPower;
|
|
|
import xyz.luxnk.mxmmod.patches.AbstractCardEnum;
|
|
|
+import xyz.luxnk.mxmmod.util.SpeedUpUtil;
|
|
|
|
|
|
-/**
|
|
|
- * @// TODO: 2019/8/13
|
|
|
- */
|
|
|
public class Headbutt_MXM extends CustomCard {
|
|
|
|
|
|
public static final String ID = "Headbutt_MXM";
|
|
|
private static final CardStrings cardStrings = CardCrawlGame.languagePack.getCardStrings(ID);
|
|
|
public static final String NAME = cardStrings.NAME;
|
|
|
public static final String DESCRIPTION = cardStrings.DESCRIPTION;
|
|
|
- public static final String IMG_PATH = "img/cards/attack/strike_mxm.png";
|
|
|
- private static final int COST = 1;
|
|
|
- private static final int ATTACK_DMG = 4;
|
|
|
- private static final int UPGRADE_PLUS_DMG = 1;
|
|
|
+ public static final String IMG_PATH = "img/cards/attack/headbutt_mxm.png";
|
|
|
+ private static final int COST = 3;
|
|
|
+ private static final int ATTACK_DMG = 16;
|
|
|
+ private static final int UPGRADE_PLUS_DMG = 8;
|
|
|
+ private static final int WEAK_AMOUNT = 3;
|
|
|
|
|
|
public Headbutt_MXM() {
|
|
|
super(
|
|
|
@@ -39,23 +40,49 @@ public class Headbutt_MXM extends CustomCard {
|
|
|
CardRarity.COMMON,
|
|
|
CardTarget.ENEMY
|
|
|
);
|
|
|
- this.tags.add(BaseModCardTags.BASIC_STRIKE);
|
|
|
- this.baseDamage = 4;
|
|
|
+ this.baseDamage = ATTACK_DMG;
|
|
|
+ this.baseMagicNumber = WEAK_AMOUNT;
|
|
|
+ this.magicNumber = this.baseMagicNumber;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void triggerOnOtherCardPlayed(AbstractCard c) {
|
|
|
+ super.triggerOnOtherCardPlayed(c);
|
|
|
+ updateCost();
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void triggerWhenDrawn() {
|
|
|
+ super.triggerWhenDrawn();
|
|
|
+ updateCost();
|
|
|
+ }
|
|
|
+
|
|
|
+ public void updateCost() {
|
|
|
+ if (AbstractDungeon.player.hasPower("SpeedUpPower")) {
|
|
|
+ int speed = AbstractDungeon.player.getPower("SpeedUpPower").amount;
|
|
|
+ if (speed > COST) {
|
|
|
+ speed = COST;
|
|
|
+ }
|
|
|
+ this.setCostForTurn(this.cost - speed);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public void use(AbstractPlayer abstractPlayer, AbstractMonster abstractMonster) {
|
|
|
- this.baseDamage = abstractPlayer.currentBlock + 4;
|
|
|
AbstractDungeon.actionManager.addToBottom(
|
|
|
new DamageAction(
|
|
|
abstractMonster,
|
|
|
new DamageInfo(abstractPlayer, this.damage, this.damageTypeForTurn),
|
|
|
AbstractGameAction.AttackEffect.SLASH_HORIZONTAL));
|
|
|
AbstractDungeon.actionManager.addToBottom(
|
|
|
- new DamageAction(
|
|
|
+ new ApplyPowerAction(
|
|
|
abstractMonster,
|
|
|
- new DamageInfo(abstractPlayer, this.damage, this.damageTypeForTurn),
|
|
|
- AbstractGameAction.AttackEffect.SLASH_VERTICAL));
|
|
|
+ abstractPlayer,
|
|
|
+ new WeakPower(abstractMonster, this.magicNumber, false),
|
|
|
+ this.magicNumber));
|
|
|
+ /*if (this.cost < COST) {
|
|
|
+ SpeedUpUtil.useSpeed(AbstractDungeon.player, COST - this.cost);
|
|
|
+ }*/
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
@@ -68,6 +95,7 @@ public class Headbutt_MXM extends CustomCard {
|
|
|
if (!this.upgraded) {
|
|
|
upgradeName();
|
|
|
upgradeDamage(UPGRADE_PLUS_DMG);
|
|
|
+ upgradeMagicNumber(1);
|
|
|
}
|
|
|
}
|
|
|
}
|