diff --git a/bin/img/cards/Gimp/BloodCurse.xcf b/bin/img/cards/Gimp/BloodCurse.xcf new file mode 100644 index 0000000..fb9fcfe Binary files /dev/null and b/bin/img/cards/Gimp/BloodCurse.xcf differ diff --git a/bin/img/cards/Gimp/Consume_Illness.xcf b/bin/img/cards/Gimp/Consume_Illness.xcf new file mode 100644 index 0000000..f6c53bf Binary files /dev/null and b/bin/img/cards/Gimp/Consume_Illness.xcf differ diff --git a/bin/img/cards/Gimp/NegativeEnergyMist.xcf b/bin/img/cards/Gimp/NegativeEnergyMist.xcf new file mode 100644 index 0000000..0e9767f Binary files /dev/null and b/bin/img/cards/Gimp/NegativeEnergyMist.xcf differ diff --git a/bin/img/cards/Gimp/NegativeEnergyShield.xcf b/bin/img/cards/Gimp/NegativeEnergyShield.xcf new file mode 100644 index 0000000..f8fb808 Binary files /dev/null and b/bin/img/cards/Gimp/NegativeEnergyShield.xcf differ diff --git a/bin/img/cards/blood_curse.png b/bin/img/cards/blood_curse.png new file mode 100644 index 0000000..4f7a04b Binary files /dev/null and b/bin/img/cards/blood_curse.png differ diff --git a/bin/img/cards/blood_curse_p.png b/bin/img/cards/blood_curse_p.png new file mode 100644 index 0000000..313a420 Binary files /dev/null and b/bin/img/cards/blood_curse_p.png differ diff --git a/bin/img/cards/consume_illness.png b/bin/img/cards/consume_illness.png new file mode 100644 index 0000000..1560df9 Binary files /dev/null and b/bin/img/cards/consume_illness.png differ diff --git a/bin/img/cards/consume_illness_p.png b/bin/img/cards/consume_illness_p.png new file mode 100644 index 0000000..8aa4fd7 Binary files /dev/null and b/bin/img/cards/consume_illness_p.png differ diff --git a/bin/img/cards/negative_energy_mist.png b/bin/img/cards/negative_energy_mist.png new file mode 100644 index 0000000..80ccbeb Binary files /dev/null and b/bin/img/cards/negative_energy_mist.png differ diff --git a/bin/img/cards/negative_energy_mist_p.png b/bin/img/cards/negative_energy_mist_p.png new file mode 100644 index 0000000..c13df3b Binary files /dev/null and b/bin/img/cards/negative_energy_mist_p.png differ diff --git a/bin/img/cards/negative_energy_shield.png b/bin/img/cards/negative_energy_shield.png new file mode 100644 index 0000000..b7e04d4 Binary files /dev/null and b/bin/img/cards/negative_energy_shield.png differ diff --git a/bin/img/cards/negative_energy_shield_p.png b/bin/img/cards/negative_energy_shield_p.png new file mode 100644 index 0000000..325876e Binary files /dev/null and b/bin/img/cards/negative_energy_shield_p.png differ diff --git a/bin/img/charSelect/necromancerPortrait.jpg b/bin/img/charSelect/necromancerPortrait.jpg index 5cd6b72..1ee8fb9 100644 Binary files a/bin/img/charSelect/necromancerPortrait.jpg and b/bin/img/charSelect/necromancerPortrait.jpg differ diff --git a/bin/img/powers/negative_shield.png b/bin/img/powers/negative_shield.png new file mode 100644 index 0000000..2c92aeb Binary files /dev/null and b/bin/img/powers/negative_shield.png differ diff --git a/bin/localization/NecroMod-CardStrings.json b/bin/localization/NecroMod-CardStrings.json index 5aaf71d..c92e03a 100644 --- a/bin/localization/NecroMod-CardStrings.json +++ b/bin/localization/NecroMod-CardStrings.json @@ -11,7 +11,7 @@ "Negative_Energy_Arrows": { "NAME" : "Negative Energy Arrows", - "DESCRIPTION": "Deal !D! damage !M! times. NL Apply !M! Negative Level." + "DESCRIPTION": "Deal !D! damage !M! times. NL Apply !M! NegativeLevel." }, "Bone_Wall": { @@ -21,7 +21,7 @@ "Negative_Energy_Javelin": { "NAME" : "Negative Energy Javelin", - "DESCRIPTION" : "Deal !D! damage. NL Apply !M! Negative Level." + "DESCRIPTION" : "Deal !D! damage. NL Apply !M! NegativeLevel." }, "Thousand_Bone_Knives": { @@ -51,7 +51,7 @@ "Negative_Energy_Bomb": { "NAME" : "Negative Energy Bomb", - "DESCRIPTION" : "Deal !D! damage each stack of NegativeLevel." + "DESCRIPTION" : "Deal !D! damage for each stack of NegativeLevel." }, "Summon_Death_Knight": { @@ -147,6 +147,21 @@ "Detonate_Bones": { "NAME" : "Detonate Bones", "DESCRIPTION" : "Remove all bones. Apply !D! damage times the amount of stacks removed." + }, + + "Negative_Energy_Mist": { + "NAME" : "Negative Energy Mist", + "DESCRIPTION" : "Apply 2 NegativeLevels." + }, + + "Consume_Illness": { + "NAME" : "Consume Illness", + "DESCRIPTION" : "Remove a negative effect. If you do : Heal 3 HP. Exhaust." + }, + + "Negative_Energy_Shield": { + "NAME" : "Negative Energy Shield", + "DESCRIPTION" : "Gain !B! Block. Gain 1 Negative Energy Shield." } } \ No newline at end of file diff --git a/bin/necromod/NecroMod.class b/bin/necromod/NecroMod.class index b4c2f2d..39d08ef 100644 Binary files a/bin/necromod/NecroMod.class and b/bin/necromod/NecroMod.class differ diff --git a/bin/necromod/cards/Blood_Curse.class b/bin/necromod/cards/Blood_Curse.class new file mode 100644 index 0000000..464b2da Binary files /dev/null and b/bin/necromod/cards/Blood_Curse.class differ diff --git a/bin/necromod/cards/Bone_Prison.class b/bin/necromod/cards/Bone_Prison.class index 85e8cbd..2478897 100644 Binary files a/bin/necromod/cards/Bone_Prison.class and b/bin/necromod/cards/Bone_Prison.class differ diff --git a/bin/necromod/cards/Consume_Illness.class b/bin/necromod/cards/Consume_Illness.class new file mode 100644 index 0000000..36189c6 Binary files /dev/null and b/bin/necromod/cards/Consume_Illness.class differ diff --git a/bin/necromod/cards/Negative_Energy_Mist.class b/bin/necromod/cards/Negative_Energy_Mist.class new file mode 100644 index 0000000..28e8915 Binary files /dev/null and b/bin/necromod/cards/Negative_Energy_Mist.class differ diff --git a/bin/necromod/cards/Negative_Energy_Shield.class b/bin/necromod/cards/Negative_Energy_Shield.class new file mode 100644 index 0000000..0345c78 Binary files /dev/null and b/bin/necromod/cards/Negative_Energy_Shield.class differ diff --git a/bin/necromod/cards/Summon_Lich.class b/bin/necromod/cards/Summon_Lich.class index 21ef22f..3a12e59 100644 Binary files a/bin/necromod/cards/Summon_Lich.class and b/bin/necromod/cards/Summon_Lich.class differ diff --git a/bin/necromod/powers/ElderLichPower.class b/bin/necromod/powers/ElderLichPower.class index 125ee3d..2f047ca 100644 Binary files a/bin/necromod/powers/ElderLichPower.class and b/bin/necromod/powers/ElderLichPower.class differ diff --git a/bin/necromod/powers/LichPower.class b/bin/necromod/powers/LichPower.class index 46c97f0..c085008 100644 Binary files a/bin/necromod/powers/LichPower.class and b/bin/necromod/powers/LichPower.class differ diff --git a/bin/necromod/powers/NegativeLevelsPower.class b/bin/necromod/powers/NegativeLevelsPower.class index ca1586e..5137e73 100644 Binary files a/bin/necromod/powers/NegativeLevelsPower.class and b/bin/necromod/powers/NegativeLevelsPower.class differ diff --git a/bin/necromod/powers/NegativeShieldPower.class b/bin/necromod/powers/NegativeShieldPower.class new file mode 100644 index 0000000..93f3196 Binary files /dev/null and b/bin/necromod/powers/NegativeShieldPower.class differ diff --git a/bin/necromod/powers/NegativeShieldPower2.class b/bin/necromod/powers/NegativeShieldPower2.class new file mode 100644 index 0000000..9311900 Binary files /dev/null and b/bin/necromod/powers/NegativeShieldPower2.class differ diff --git a/src/main/java/necromod/NecroMod.java b/src/main/java/necromod/NecroMod.java index 87f2e84..5acb739 100644 --- a/src/main/java/necromod/NecroMod.java +++ b/src/main/java/necromod/NecroMod.java @@ -105,6 +105,10 @@ public class NecroMod implements PostInitializeSubscriber, EditCardsSubscriber, public static final String DETONATE_BONES = "cards/detonate_bones.png"; public static final String SPECTRAL_ARMOR = "cards/spectral_armor.png"; public static final String GRASP_HEART = "cards/grasp_heart.png"; + public static final String NEGATIVE_ENERGY_MIST = "cards/negative_energy_mist.png"; + public static final String CONSUME_ILLNESS = "cards/consume_illness.png"; + public static final String BLOOD_CURSE = "cards/blood_curse.png"; + public static final String NEGATIVE_ENERGY_SHIELD = "cards/negative_energy_shield.png"; //power images @@ -124,8 +128,8 @@ public class NecroMod implements PostInitializeSubscriber, EditCardsSubscriber, public static final String VAMPIRE_PRINCESS_POWER = "powers/vampire_princess.png"; public static final String ZOMBIE_POWER = "powers/zombie.png"; public static final String BONE_PRISON_POWER ="powers/bone_prison.png"; - public static final String GRASP_HEART_POWER = "powers/grasp_heart.png"; - + public static final String GRASP_HEART_POWER = "powers/crushed_heart.png"; + public static final String NEGATIVE_SHIELD_POWER = "powers/negative_shield.png"; //relic images @@ -216,6 +220,10 @@ public static Texture getGraspHeartPowerTexture() { return new Texture(makePath(GRASP_HEART_POWER)); } + public static Texture getNegativeShieldPowerTexture() { + return new Texture(makePath(NEGATIVE_SHIELD_POWER)); + } + /** * Makes a full path for a resource path * @param resource the resource, must *NOT* have a leading "/" @@ -368,6 +376,19 @@ public void receiveEditCards() { BaseMod.addCard(new Grasp_Heart()); logger.info("added Test Case"); + BaseMod.addCard(new Consume_Illness()); + logger.info("added Test Case"); + + BaseMod.addCard(new Negative_Energy_Mist()); + logger.info("added Test Case"); + + BaseMod.addCard(new Blood_Curse()); + logger.info("added Test Case"); + + BaseMod.addCard(new Negative_Energy_Shield()); + logger.info("added Test Case"); + + /****/ /** BaseMod.addCard(new ()); logger.info("added Test Case"); **/ diff --git a/src/main/java/necromod/cards/Blood_Curse.java b/src/main/java/necromod/cards/Blood_Curse.java new file mode 100644 index 0000000..6b1dfc8 --- /dev/null +++ b/src/main/java/necromod/cards/Blood_Curse.java @@ -0,0 +1,64 @@ +package necromod.cards; + +import com.megacrit.cardcrawl.cards.AbstractCard; +import com.megacrit.cardcrawl.characters.AbstractPlayer; +import com.megacrit.cardcrawl.dungeons.AbstractDungeon; +import com.megacrit.cardcrawl.monsters.AbstractMonster; +import com.megacrit.cardcrawl.powers.VulnerablePower; +import com.megacrit.cardcrawl.powers.WeakPower; +import com.megacrit.cardcrawl.core.*; +//import com.megacrit.cardcrawl.powers.*; +import com.megacrit.cardcrawl.actions.common.*; +import com.megacrit.cardcrawl.actions.AbstractGameAction; +import com.megacrit.cardcrawl.cards.DamageInfo; + +import basemod.abstracts.CustomCard; +import necromod.NecroMod; +import necromod.patches.AbstractCardEnum; + +public class Blood_Curse extends CustomCard { + public static final String ID = "Blood_Curse"; + public static final String NAME = "Blood Curse"; + private static final int COST = 1; + private static final int ATTACK_DMG = 4; + public static final String DESCRIPTION = "Deal !D! damage. NL Apply !M! Weak. Apply !M! Vulnerable."; + private static final int UPGRADE_PLUS_DMG = 3; + private static final int POOL = 1; + public final int AMOUNT = 1; + + public Blood_Curse() { + super (ID, NAME, NecroMod.makePath(NecroMod.BLOOD_CURSE), COST, DESCRIPTION, + AbstractCard.CardType.ATTACK, AbstractCardEnum.WHITE, + AbstractCard.CardRarity.COMMON, AbstractCard.CardTarget.ENEMY, POOL); + + this.baseDamage = this.damage = ATTACK_DMG; + this.baseMagicNumber = this.magicNumber = AMOUNT; + + } + + @Override + public void use(AbstractPlayer p, AbstractMonster m) { + + + AbstractDungeon.actionManager.addToBottom(new DamageAction((AbstractCreature)m, new DamageInfo(p, this.damage, this.damageTypeForTurn), AbstractGameAction.AttackEffect.POISON)); + AbstractDungeon.actionManager.addToBottom(new ApplyPowerAction(m, p, new VulnerablePower(m, this.magicNumber, false), this.magicNumber)); + AbstractDungeon.actionManager.addToBottom(new ApplyPowerAction(m, p, new WeakPower(m, this.magicNumber, false), this.magicNumber)); + + } + + @Override + public AbstractCard makeCopy() { + return new Blood_Curse(); + } + + @Override + public void upgrade() { + if (!this.upgraded) { + this.upgradeName(); + this.upgradeDamage(UPGRADE_PLUS_DMG); + this.upgradeMagicNumber(1); + } + + } + +} diff --git a/src/main/java/necromod/cards/Bone_Prison.java b/src/main/java/necromod/cards/Bone_Prison.java index 3f53fa5..4e66dfa 100644 --- a/src/main/java/necromod/cards/Bone_Prison.java +++ b/src/main/java/necromod/cards/Bone_Prison.java @@ -28,6 +28,7 @@ public class Bone_Prison extends CustomCard { public Bone_Prison() { super(ID, NAME, NecroMod.makePath(NecroMod.BONE_PRISON), COST, DESCRIPTION, AbstractCard.CardType.SKILL, AbstractCardEnum.WHITE, AbstractCard.CardRarity.COMMON, AbstractCard.CardTarget.ENEMY, POOL); + this.exhaust = true; } diff --git a/src/main/java/necromod/cards/Consume_Illness.java b/src/main/java/necromod/cards/Consume_Illness.java new file mode 100644 index 0000000..611c362 --- /dev/null +++ b/src/main/java/necromod/cards/Consume_Illness.java @@ -0,0 +1,100 @@ +package necromod.cards; + +import com.megacrit.cardcrawl.cards.*; +import com.megacrit.cardcrawl.localization.*; +import com.megacrit.cardcrawl.characters.*; +import com.megacrit.cardcrawl.monsters.*; +import com.megacrit.cardcrawl.powers.StrengthPower; +import com.megacrit.cardcrawl.vfx.ThoughtBubble; +import com.megacrit.cardcrawl.dungeons.*; +import com.megacrit.cardcrawl.actions.common.*; +import com.megacrit.cardcrawl.core.*; +import com.megacrit.cardcrawl.powers.DexterityPower; +import java.util.*; + +import basemod.abstracts.CustomCard; +import necromod.NecroMod; +import necromod.patches.AbstractCardEnum; + +public class Consume_Illness extends CustomCard{ + + public static final String ID = "Consume_Illness"; + private static final CardStrings cardStrings = CardCrawlGame.languagePack.getCardStrings(ID); + public static final String NAME = cardStrings.NAME; + public static final String DESCRIPTION = cardStrings.DESCRIPTION; + private static final int COST = 1; + private static final int POOL = 1; + public static final String[] EXTENDED_DESCRIPTION = new String[] { + "I do not have any negative effects." + }; + + public Consume_Illness() { + super(ID, NAME, NecroMod.makePath(NecroMod.CONSUME_ILLNESS), COST, DESCRIPTION, AbstractCard.CardType.SKILL, + AbstractCardEnum.WHITE, AbstractCard.CardRarity.COMMON, AbstractCard.CardTarget.SELF, POOL); + this.baseMagicNumber = this.magicNumber = 1; + this.exhaust = true; + + } + + public void use(AbstractPlayer p, AbstractMonster m) { + + ArrayList Debuff = new ArrayList(); + Debuff.add("Poison"); + Debuff.add("Weakened"); + Debuff.add("Frail"); + Debuff.add("Vulnerable"); + + ArrayList Random = new ArrayList(); + + for(String d : Debuff) { + if (p.hasPower(d)){ + Random.add(d); + } + } + if(p.hasPower("Strength") && (p.getPower("Strength").amount < 0)){ + Random.add("Strength"); + } + + if(p.hasPower("Dexterity") && (p.getPower("Dexterity").amount < 0)){ + Random.add("Dexterity"); + } + + if(!Random.isEmpty()) { + int i = Random.size(); + int r = (int) Math.random()*i; + + if(!Random.get(r).equals("Strength") && !Random.get(r).equals("Dexterity")) { + AbstractDungeon.actionManager.addToTop(new RemoveSpecificPowerAction(p, p, Random.get(r))); + AbstractDungeon.actionManager.addToBottom(new HealAction(p, p, 3)); + } + else if(Random.get(r).equals("Strength")){ + int amount = -1*(p.getPower("Strength").amount); + AbstractDungeon.actionManager.addToBottom(new ApplyPowerAction(p, p, new StrengthPower(p, amount), amount)); + AbstractDungeon.actionManager.addToBottom(new HealAction(p, p, 3)); + } + else { + int amount = -1*(p.getPower("Strength").amount); + AbstractDungeon.actionManager.addToBottom(new ApplyPowerAction(p, p, new DexterityPower(p, amount), amount)); + AbstractDungeon.actionManager.addToBottom(new HealAction(p, p, 3)); + } + + + } + else { + AbstractDungeon.effectList.add(new ThoughtBubble(p.dialogX, p.dialogY, 3.0f, Consume_Illness.EXTENDED_DESCRIPTION[0], true)); + } + + } + + public AbstractCard makeCopy() { + return new Consume_Illness(); + } + + public void upgrade() { + if (!this.upgraded) { + this.upgradeName(); + this.upgradeBaseCost(0); + } + } + +} \ No newline at end of file diff --git a/src/main/java/necromod/cards/Negative_Energy_Mist.java b/src/main/java/necromod/cards/Negative_Energy_Mist.java new file mode 100644 index 0000000..b5b5a45 --- /dev/null +++ b/src/main/java/necromod/cards/Negative_Energy_Mist.java @@ -0,0 +1,54 @@ +package necromod.cards; + +import com.megacrit.cardcrawl.cards.*; +import com.megacrit.cardcrawl.localization.*; +import com.megacrit.cardcrawl.characters.*; +import com.megacrit.cardcrawl.monsters.*; +import com.megacrit.cardcrawl.dungeons.*; +import com.megacrit.cardcrawl.vfx.combat.*; +import com.megacrit.cardcrawl.actions.animations.*; +import com.megacrit.cardcrawl.actions.common.*; +import com.megacrit.cardcrawl.core.*; + +import basemod.abstracts.CustomCard; +import necromod.NecroMod; +import necromod.actions.common.NegativeLevelAction; +import necromod.patches.AbstractCardEnum; +import necromod.powers.NegativeLevelsPower; + +public class Negative_Energy_Mist extends CustomCard { + public static final String ID = "Negative_Energy_Mist"; + private static final CardStrings cardStrings = CardCrawlGame.languagePack.getCardStrings(ID); + public static final String NAME = cardStrings.NAME; + public static final String DESCRIPTION = cardStrings.DESCRIPTION; + private static final int COST = 1; + private static final int POOL = 1; + + public Negative_Energy_Mist() { + super(ID, NAME, NecroMod.makePath(NecroMod.NEGATIVE_ENERGY_MIST), COST, DESCRIPTION, AbstractCard.CardType.SKILL, + AbstractCardEnum.WHITE, AbstractCard.CardRarity.COMMON, AbstractCard.CardTarget.ALL_ENEMY, POOL); + this.baseMagicNumber = this.magicNumber = 2; + this.exhaust = true; + } + + public void use(AbstractPlayer p, AbstractMonster m) { + AbstractDungeon.actionManager.addToBottom(new VFXAction(p, new ShockWaveEffect(p.hb.cX, p.hb.cY, Settings.GREEN_TEXT_COLOR, ShockWaveEffect.ShockWaveType.CHAOTIC), 1.5f)); + for (final AbstractMonster mo : AbstractDungeon.getCurrRoom().monsters.monsters) { + AbstractDungeon.actionManager.addToBottom(new NegativeLevelAction(mo, p, this.baseMagicNumber)); + AbstractDungeon.actionManager.addToBottom(new ApplyPowerAction(mo, p, new NegativeLevelsPower(mo, p, this.baseMagicNumber), this.baseMagicNumber)); + } + + } + + public AbstractCard makeCopy() { + return new Negative_Energy_Mist(); + } + + public void upgrade() { + if (!this.upgraded) { + this.upgradeName(); + this.exhaust = false; + } + } + +} diff --git a/src/main/java/necromod/cards/Negative_Energy_Shield.java b/src/main/java/necromod/cards/Negative_Energy_Shield.java new file mode 100644 index 0000000..78cb6c2 --- /dev/null +++ b/src/main/java/necromod/cards/Negative_Energy_Shield.java @@ -0,0 +1,51 @@ +package necromod.cards; + +import com.megacrit.cardcrawl.actions.common.ApplyPowerAction; +import com.megacrit.cardcrawl.actions.common.GainBlockAction; +import com.megacrit.cardcrawl.cards.AbstractCard; +import com.megacrit.cardcrawl.characters.AbstractPlayer; +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 basemod.abstracts.CustomCard; +import necromod.NecroMod; +import necromod.patches.AbstractCardEnum; +import necromod.powers.NegativeShieldPower; + +public class Negative_Energy_Shield extends CustomCard { + public static final String ID = "Negative_Energy_Shield"; + private static final CardStrings cardStrings = CardCrawlGame.languagePack.getCardStrings(ID); + public static final String NAME = cardStrings.NAME; + public static final String DESCRIPTION = cardStrings.DESCRIPTION; + private static final int COST = 1; + private static final int BLOCK_AMT = 8; + private static final int UPGRADE_PLUS_BLOCK = 3; + private static final int POOL = 0; + + public Negative_Energy_Shield() { + super(ID, NAME, NecroMod.makePath(NecroMod.NEGATIVE_ENERGY_SHIELD), COST, DESCRIPTION, AbstractCard.CardType.SKILL, + AbstractCardEnum.WHITE, AbstractCard.CardRarity.BASIC, AbstractCard.CardTarget.SELF, POOL); + this.baseBlock = BLOCK_AMT; + + } + + public void use(AbstractPlayer p, AbstractMonster m) { + + AbstractDungeon.actionManager.addToBottom(new GainBlockAction(p, p, this.block)); + AbstractDungeon.actionManager.addToBottom(new ApplyPowerAction(p, p, new NegativeShieldPower(p, 1), 1)); + } + + public AbstractCard makeCopy() { + return new Negative_Energy_Shield(); + } + + public void upgrade() { + if (!this.upgraded) { + upgradeName(); + upgradeBlock(UPGRADE_PLUS_BLOCK); + } + } + +} diff --git a/src/main/java/necromod/cards/Summon_Lich.java b/src/main/java/necromod/cards/Summon_Lich.java index d1e1036..ca65581 100644 --- a/src/main/java/necromod/cards/Summon_Lich.java +++ b/src/main/java/necromod/cards/Summon_Lich.java @@ -27,17 +27,17 @@ public class Summon_Lich extends CustomCard{ public Summon_Lich() { super(ID, NAME, NecroMod.makePath(NecroMod.SUMMON_LICH), COST, DESCRIPTION, AbstractCard.CardType.POWER, AbstractCardEnum.WHITE, AbstractCard.CardRarity.UNCOMMON, AbstractCard.CardTarget.SELF, POOL); - this.baseDamage = this.damage = 3; + //this.baseDamage = this.damage = 3; } public void use(AbstractPlayer p, AbstractMonster m) { if(this.name.equals("Summon Lich")){ - AbstractDungeon.actionManager.addToBottom(new ApplyPowerAction(p, p, new LichPower(p, 1, this.upgraded, this.damage), 1)); + AbstractDungeon.actionManager.addToBottom(new ApplyPowerAction(p, p, new LichPower(p, 1, this.upgraded, 3), 1)); } else { - AbstractDungeon.actionManager.addToBottom(new ApplyPowerAction(p, p, new ElderLichPower(p, 1, this.upgraded, this.damage), 1)); + AbstractDungeon.actionManager.addToBottom(new ApplyPowerAction(p, p, new ElderLichPower(p, 1, this.upgraded, 5), 1)); } diff --git a/src/main/java/necromod/powers/ElderLichPower.java b/src/main/java/necromod/powers/ElderLichPower.java index a827058..e9e9ba7 100644 --- a/src/main/java/necromod/powers/ElderLichPower.java +++ b/src/main/java/necromod/powers/ElderLichPower.java @@ -17,7 +17,7 @@ public class ElderLichPower extends AbstractPower { public static final String POWER_ID = "ElderLichPower"; public static final String NAME = "Elder Lich"; public static final String[] DESCRIPTIONS = new String[] { - "A powerful undead mage. Deals !D! damge to ALL enemies at the end of each turn." + "A powerful undead mage. Deals 5 damge to ALL enemies at the end of each turn." }; public int DAMAGE_AMT; @@ -49,7 +49,7 @@ public void atEndOfTurn(boolean isPlayer) { this.flash(); AbstractDungeon.actionManager.addToBottom(new SFXAction("ATTACK_HEAVY")); - AbstractDungeon.actionManager.addToBottom(new VFXAction(this.owner, new CleaveEffect(), 0.25f)); + //AbstractDungeon.actionManager.addToBottom(new VFXAction(this.owner, new CleaveEffect(), 0.25f)); AbstractDungeon.actionManager.addToBottom(new DamageAllEnemiesAction(this.owner, DamageInfo.createDamageMatrix(this.DAMAGE_AMT, true), DamageInfo.DamageType.THORNS, AbstractGameAction.AttackEffect.FIRE)); } diff --git a/src/main/java/necromod/powers/LichPower.java b/src/main/java/necromod/powers/LichPower.java index bed7d3b..47945f5 100644 --- a/src/main/java/necromod/powers/LichPower.java +++ b/src/main/java/necromod/powers/LichPower.java @@ -17,7 +17,7 @@ public class LichPower extends AbstractPower { public static final String POWER_ID = "LichPower"; public static final String NAME = "Lich"; public static final String[] DESCRIPTIONS = new String[] { - "A powerful undead mage. Deals !D! damge to ALL enemies at the end of each turn." + "A powerful undead mage. Deals 3 damge to ALL enemies at the end of each turn." }; public int DAMAGE_AMT; diff --git a/src/main/java/necromod/powers/NegativeLevelsPower.java b/src/main/java/necromod/powers/NegativeLevelsPower.java index 9215c71..f9001f3 100644 --- a/src/main/java/necromod/powers/NegativeLevelsPower.java +++ b/src/main/java/necromod/powers/NegativeLevelsPower.java @@ -38,7 +38,7 @@ public void updateDescription() { @Override public void atEndOfTurn(final boolean isPlayer) { - this.amount = (int) (this.amount/2); + this.amount -= 1; this.flash(); diff --git a/src/main/java/necromod/powers/NegativeShieldPower.java b/src/main/java/necromod/powers/NegativeShieldPower.java new file mode 100644 index 0000000..511c027 --- /dev/null +++ b/src/main/java/necromod/powers/NegativeShieldPower.java @@ -0,0 +1,59 @@ +package necromod.powers; + +import com.megacrit.cardcrawl.cards.DamageInfo; +import com.megacrit.cardcrawl.core.AbstractCreature; +import com.megacrit.cardcrawl.dungeons.AbstractDungeon; +import com.megacrit.cardcrawl.powers.AbstractPower; + +import necromod.NecroMod; +import necromod.actions.common.NegativeLevelAction; +import necromod.powers.NegativeLevelsPower; + +import com.megacrit.cardcrawl.actions.common.*; + +public class NegativeShieldPower extends AbstractPower { + public static final String POWER_ID = "NegativeShieldPower"; + public static final String NAME = "Negative Energy Shield"; + public static final String[] DESCRIPTIONS = new String[] { + "When attacked : Apply 1 Negative level to the attacker." + }; + + public int DAMAGE_AMT; + public int TOTAL_DAMAGE = 0; + + + public NegativeShieldPower(AbstractCreature owner, int amount){ + this.name = NAME; + this.ID = POWER_ID; + this.owner = owner; + this.amount = amount; + this.DAMAGE_AMT= 5; + updateDescription(); + this.type = AbstractPower.PowerType.BUFF; + this.isTurnBased = false; + this.img = NecroMod.getNegativeShieldPowerTexture(); + + } + @Override + public int onAttacked(final DamageInfo info, int damageAmount) { + if (info.type != DamageInfo.DamageType.THORNS && info.type != DamageInfo.DamageType.HP_LOSS && info.owner != null && info.owner != this.owner) { + this.flash(); + AbstractDungeon.actionManager.addToTop(new ApplyPowerAction(info.owner, this.owner, new NegativeShieldPower2(info.owner, this.owner, 1), 1)); + } + + damageAmount = 0; + return damageAmount; + } + + @Override + public void atStartOfTurn() { + this.flash(); + AbstractDungeon.actionManager.addToBottom(new RemoveSpecificPowerAction(this.owner, this.owner, "NegativeShieldPower")); + } + + + @Override + public void updateDescription() { + this.description = DESCRIPTIONS[0]; + } +} diff --git a/src/main/java/necromod/powers/NegativeShieldPower2.java b/src/main/java/necromod/powers/NegativeShieldPower2.java new file mode 100644 index 0000000..862e04d --- /dev/null +++ b/src/main/java/necromod/powers/NegativeShieldPower2.java @@ -0,0 +1,52 @@ +package necromod.powers; + +import com.megacrit.cardcrawl.cards.DamageInfo; +import com.megacrit.cardcrawl.core.AbstractCreature; +import com.megacrit.cardcrawl.dungeons.AbstractDungeon; +import com.megacrit.cardcrawl.powers.AbstractPower; + +import necromod.NecroMod; +import necromod.actions.common.NegativeLevelAction; +import necromod.powers.NegativeLevelsPower; + +import com.megacrit.cardcrawl.actions.common.*; + +public class NegativeShieldPower2 extends AbstractPower { + public static final String POWER_ID = "NegativeShieldPower2"; + public static final String NAME = "Negative Energy Shield"; + public static final String[] DESCRIPTIONS = new String[] { + "When attacked : Apply 1 Negative level to the attacker." + }; + + public int DAMAGE_AMT; + public int TOTAL_DAMAGE = 0; + public AbstractCreature target; + + public NegativeShieldPower2(AbstractCreature target, AbstractCreature owner, int amount){ + this.name = NAME; + this.ID = POWER_ID; + this.owner = owner; + this.amount = amount; + this.DAMAGE_AMT= 5; + updateDescription(); + this.type = AbstractPower.PowerType.BUFF; + this.isTurnBased = false; + this.img = NecroMod.getNegativeShieldPowerTexture(); + this.target = target; + + } + + @Override + public void atEndOfTurn(boolean isPlayer) { + this.flash(); + AbstractDungeon.actionManager.addToTop(new NegativeLevelAction(this.target, this.owner, 1)); + AbstractDungeon.actionManager.addToBottom(new ApplyPowerAction(this.target, this.owner, new NegativeLevelsPower(this.target, this.owner, 1), 1)); + AbstractDungeon.actionManager.addToBottom(new RemoveSpecificPowerAction(this.target, this.target, "NegativeShieldPower2")); + } + + + @Override + public void updateDescription() { + this.description = DESCRIPTIONS[0]; + } +} diff --git a/src/main/resources/img/cards/Gimp/BloodCurse.xcf b/src/main/resources/img/cards/Gimp/BloodCurse.xcf new file mode 100644 index 0000000..fb9fcfe Binary files /dev/null and b/src/main/resources/img/cards/Gimp/BloodCurse.xcf differ diff --git a/src/main/resources/img/cards/Gimp/Consume_Illness.xcf b/src/main/resources/img/cards/Gimp/Consume_Illness.xcf new file mode 100644 index 0000000..f6c53bf Binary files /dev/null and b/src/main/resources/img/cards/Gimp/Consume_Illness.xcf differ diff --git a/src/main/resources/img/cards/Gimp/NegativeEnergyMist.xcf b/src/main/resources/img/cards/Gimp/NegativeEnergyMist.xcf new file mode 100644 index 0000000..0e9767f Binary files /dev/null and b/src/main/resources/img/cards/Gimp/NegativeEnergyMist.xcf differ diff --git a/src/main/resources/img/cards/Gimp/NegativeEnergyShield.xcf b/src/main/resources/img/cards/Gimp/NegativeEnergyShield.xcf new file mode 100644 index 0000000..f8fb808 Binary files /dev/null and b/src/main/resources/img/cards/Gimp/NegativeEnergyShield.xcf differ diff --git a/src/main/resources/img/cards/blood_curse.png b/src/main/resources/img/cards/blood_curse.png new file mode 100644 index 0000000..4f7a04b Binary files /dev/null and b/src/main/resources/img/cards/blood_curse.png differ diff --git a/src/main/resources/img/cards/blood_curse_p.png b/src/main/resources/img/cards/blood_curse_p.png new file mode 100644 index 0000000..313a420 Binary files /dev/null and b/src/main/resources/img/cards/blood_curse_p.png differ diff --git a/src/main/resources/img/cards/consume_illness.png b/src/main/resources/img/cards/consume_illness.png new file mode 100644 index 0000000..1560df9 Binary files /dev/null and b/src/main/resources/img/cards/consume_illness.png differ diff --git a/src/main/resources/img/cards/consume_illness_p.png b/src/main/resources/img/cards/consume_illness_p.png new file mode 100644 index 0000000..8aa4fd7 Binary files /dev/null and b/src/main/resources/img/cards/consume_illness_p.png differ diff --git a/src/main/resources/img/cards/negative_energy_mist.png b/src/main/resources/img/cards/negative_energy_mist.png new file mode 100644 index 0000000..80ccbeb Binary files /dev/null and b/src/main/resources/img/cards/negative_energy_mist.png differ diff --git a/src/main/resources/img/cards/negative_energy_mist_p.png b/src/main/resources/img/cards/negative_energy_mist_p.png new file mode 100644 index 0000000..c13df3b Binary files /dev/null and b/src/main/resources/img/cards/negative_energy_mist_p.png differ diff --git a/src/main/resources/img/cards/negative_energy_shield.png b/src/main/resources/img/cards/negative_energy_shield.png new file mode 100644 index 0000000..b7e04d4 Binary files /dev/null and b/src/main/resources/img/cards/negative_energy_shield.png differ diff --git a/src/main/resources/img/cards/negative_energy_shield_p.png b/src/main/resources/img/cards/negative_energy_shield_p.png new file mode 100644 index 0000000..325876e Binary files /dev/null and b/src/main/resources/img/cards/negative_energy_shield_p.png differ diff --git a/src/main/resources/img/charSelect/necromancerPortrait.jpg b/src/main/resources/img/charSelect/necromancerPortrait.jpg index 5cd6b72..1ee8fb9 100644 Binary files a/src/main/resources/img/charSelect/necromancerPortrait.jpg and b/src/main/resources/img/charSelect/necromancerPortrait.jpg differ diff --git a/src/main/resources/img/powers/negative_shield.png b/src/main/resources/img/powers/negative_shield.png new file mode 100644 index 0000000..2c92aeb Binary files /dev/null and b/src/main/resources/img/powers/negative_shield.png differ diff --git a/src/main/resources/localization/NecroMod-CardStrings.json b/src/main/resources/localization/NecroMod-CardStrings.json index 5aaf71d..c92e03a 100644 --- a/src/main/resources/localization/NecroMod-CardStrings.json +++ b/src/main/resources/localization/NecroMod-CardStrings.json @@ -11,7 +11,7 @@ "Negative_Energy_Arrows": { "NAME" : "Negative Energy Arrows", - "DESCRIPTION": "Deal !D! damage !M! times. NL Apply !M! Negative Level." + "DESCRIPTION": "Deal !D! damage !M! times. NL Apply !M! NegativeLevel." }, "Bone_Wall": { @@ -21,7 +21,7 @@ "Negative_Energy_Javelin": { "NAME" : "Negative Energy Javelin", - "DESCRIPTION" : "Deal !D! damage. NL Apply !M! Negative Level." + "DESCRIPTION" : "Deal !D! damage. NL Apply !M! NegativeLevel." }, "Thousand_Bone_Knives": { @@ -51,7 +51,7 @@ "Negative_Energy_Bomb": { "NAME" : "Negative Energy Bomb", - "DESCRIPTION" : "Deal !D! damage each stack of NegativeLevel." + "DESCRIPTION" : "Deal !D! damage for each stack of NegativeLevel." }, "Summon_Death_Knight": { @@ -147,6 +147,21 @@ "Detonate_Bones": { "NAME" : "Detonate Bones", "DESCRIPTION" : "Remove all bones. Apply !D! damage times the amount of stacks removed." + }, + + "Negative_Energy_Mist": { + "NAME" : "Negative Energy Mist", + "DESCRIPTION" : "Apply 2 NegativeLevels." + }, + + "Consume_Illness": { + "NAME" : "Consume Illness", + "DESCRIPTION" : "Remove a negative effect. If you do : Heal 3 HP. Exhaust." + }, + + "Negative_Energy_Shield": { + "NAME" : "Negative Energy Shield", + "DESCRIPTION" : "Gain !B! Block. Gain 1 Negative Energy Shield." } } \ No newline at end of file