Skip to content

Commit

Permalink
Added 8 new cards. Fixed some minor issues.
Browse files Browse the repository at this point in the history
  • Loading branch information
shiki committed Mar 11, 2018
1 parent fc43109 commit bfe7f8b
Show file tree
Hide file tree
Showing 78 changed files with 357 additions and 46 deletions.
Binary file added bin/img/cards/Gimp/BloodMagic.xcf
Binary file not shown.
Binary file added bin/img/cards/Gimp/CorruptPower.xcf
Binary file not shown.
Binary file added bin/img/cards/Gimp/Epidemic.xcf
Binary file not shown.
Binary file added bin/img/cards/Gimp/PlagueBolt.xcf
Binary file not shown.
Binary file added bin/img/cards/Gimp/ReapTheWeak.xcf
Binary file not shown.
Binary file added bin/img/cards/Gimp/SlayLiving.xcf
Binary file not shown.
Binary file added bin/img/cards/Gimp/Uncharnel.xcf
Binary file not shown.
Binary file added bin/img/cards/Gimp/ViolentNecrosis.xcf
Binary file not shown.
Binary file added bin/img/cards/blood_magic.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added bin/img/cards/blood_magic_p.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added bin/img/cards/corrupt.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added bin/img/cards/corrupt_p.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added bin/img/cards/epidemic.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added bin/img/cards/epidemic_p.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added bin/img/cards/plague_bolt.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added bin/img/cards/plague_bolt_p.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added bin/img/cards/reap_the_weak.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added bin/img/cards/reap_the_weak_p.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified bin/img/cards/slay_living.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added bin/img/cards/slay_living_p.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified bin/img/cards/uncharnel.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added bin/img/cards/uncharnel_p.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added bin/img/cards/violent_necrosis.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added bin/img/cards/violent_necrosis_p.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added bin/img/powers/blood_magic.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
17 changes: 16 additions & 1 deletion bin/localization/NecroMod-CardStrings.json
Original file line number Diff line number Diff line change
Expand Up @@ -171,7 +171,22 @@

"Blood_Magic": {
"NAME" : "Blood Magic",
"DESCRIPTION" : "Gain Blood Magic"
"DESCRIPTION" : "Gain Blood Magic."
},

"Violent_Necrosis": {
"NAME" : "Violent Necrosis",
"DESCRIPTION" : "Double all of the targets debuffs. Exhaust."
},

"Corrupt": {
"NAME" : "Corrupt Power",
"DESCRIPTION" : "Corrupt all non-unique buffs of the target. Exhaust."
},

"Epidemic": {
"NAME" : "Epidemic",
"DESCRIPTION" : "Spread all debuffs of the target to all enemies."
}

}
Binary file modified bin/necromod/NecroMod.class
Binary file not shown.
Binary file modified bin/necromod/actions/common/CheckIfDeadAction.class
Binary file not shown.
Binary file added bin/necromod/actions/common/CorruptAction.class
Binary file not shown.
Binary file not shown.
Binary file added bin/necromod/actions/unique/EpidemicAction.class
Binary file not shown.
Binary file modified bin/necromod/cards/Blood_Wake.class
Binary file not shown.
Binary file modified bin/necromod/cards/Bone_Spikes.class
Binary file not shown.
Binary file modified bin/necromod/cards/Consume_Illness.class
Binary file not shown.
Binary file added bin/necromod/cards/Corrupt_Power.class
Binary file not shown.
Binary file added bin/necromod/cards/Epidemic.class
Binary file not shown.
Binary file modified bin/necromod/cards/Fear.class
Binary file not shown.
Binary file modified bin/necromod/cards/Negative_Energy_Arrows.class
Binary file not shown.
Binary file added bin/necromod/cards/Plague_Bolt.class
Binary file not shown.
Binary file added bin/necromod/cards/Reap_The_Weak.class
Binary file not shown.
Binary file added bin/necromod/cards/Violent_Necrosis.class
Binary file not shown.
Binary file modified bin/necromod/powers/BloodMagicPower.class
Binary file not shown.
Binary file modified bin/necromod/powers/Shackles.class
Binary file not shown.
20 changes: 20 additions & 0 deletions src/main/java/necromod/NecroMod.java
Original file line number Diff line number Diff line change
Expand Up @@ -114,6 +114,9 @@ public class NecroMod implements PostInitializeSubscriber, EditCardsSubscriber,
public static final String PLAGUE_BOLT = "cards/plague_bolt.png";
public static final String BLOOD_MAGIC = "cards/blood_magic.png";
public static final String VIOLENT_NECROSIS = "cards/violent_necrosis.png";
public static final String CORRUPT = "cards/corrupt.png";
public static final String REAP_THE_WEAK = "cards/reap_the_weak.png";
public static final String EPIDEMIC = "cards/epidemic.png";

//power images

Expand Down Expand Up @@ -229,6 +232,10 @@ public static Texture getNegativeShieldPowerTexture() {
return new Texture(makePath(NEGATIVE_SHIELD_POWER));
}

public static Texture getBloodMagicPowerTexture() {
return new Texture(makePath(BLOOD_MAGIC_POWER));
}

/**
* Makes a full path for a resource path
* @param resource the resource, must *NOT* have a leading "/"
Expand Down Expand Up @@ -391,6 +398,15 @@ public void receiveEditCards() {
BaseMod.addCard(new Violent_Necrosis());
logger.info("added Test Case");

BaseMod.addCard(new Corrupt_Power());
logger.info("added Test Case");

BaseMod.addCard(new Epidemic());
logger.info("added Test Case");

BaseMod.addCard(new Reap_The_Weak());
logger.info("added Test Case");

/****/
/** BaseMod.addCard(new ());
logger.info("added Test Case");
Expand Down Expand Up @@ -458,6 +474,10 @@ public void receiveEditKeywords() {

BaseMod.addKeyword(BloodMagic, "If you do not have enough Energy to play a card: You can play it for 3 HP times the cost instead.");

String[] Corrupt = {"corrupt", "corrupts"};

BaseMod.addKeyword(Corrupt, "Turn a buff of the target into a debuff.");


}
/**
Expand Down
76 changes: 43 additions & 33 deletions src/main/java/necromod/actions/common/CorruptAction.java
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,12 @@

public class CorruptAction extends AbstractGameAction {

public CorruptAction(final AbstractCreature target, final AbstractCreature source) {
public String cb;

public CorruptAction(final AbstractCreature target, final AbstractCreature source, String buff) {
this.target = target;
this.source = source;

this.cb = buff;
}

@Override
Expand All @@ -41,7 +43,7 @@ public void update() {
if(this.target.hasPower("Dexterity") && (this.target.getPower("Dexterity").amount > 0)){
Buff.add("Dexterity");
}

/**
ArrayList<String> currentBuffs = new ArrayList<String>();
for(String b : Buff) {
Expand All @@ -51,64 +53,72 @@ public void update() {
}

for(String cb : currentBuffs) {
for(String cb : currentBuffs) {**/

switch(cb){
switch(this.cb){
case "Metallicize" :
amount = this.target.getPower("Metallicize").amount;
AbstractDungeon.actionManager.addToTop(new RemoveSpecificPowerAction(this.target, this.source, cb));
AbstractDungeon.actionManager.addToTop(new RemoveSpecificPowerAction(this.target, this.source, this.cb));
AbstractDungeon.actionManager.addToBottom(new ApplyPowerAction(this.target, this.source, new FrailPower(this.target, amount, false),amount, true, AbstractGameAction.AttackEffect.NONE));
break;

case "Weakened" :
amount = this.target.getPower("Weakened").amount;
AbstractDungeon.actionManager.addToBottom(new ApplyPowerAction(this.target, this.source, new WeakPower(this.target, amount, false), amount));
case "Curl Up" :
amount = this.target.getPower("Curl Up").amount;
AbstractDungeon.actionManager.addToTop(new RemoveSpecificPowerAction(this.target, this.source, this.cb));
AbstractDungeon.actionManager.addToBottom(new ApplyPowerAction(this.target, this.source, new FrailPower(this.target, amount, false),amount, true, AbstractGameAction.AttackEffect.NONE));
break;

case "Frail" :
amount = this.target.getPower("Frail").amount;
AbstractDungeon.actionManager.addToTop(new RemoveSpecificPowerAction(this.target, this.source, this.cb));
AbstractDungeon.actionManager.addToBottom(new ApplyPowerAction(this.target, this.source, new FrailPower(this.target, amount, false),amount, true, AbstractGameAction.AttackEffect.NONE));
break;

case "Vulnerable" :
amount = this.target.getPower("Vulnerable").amount;
AbstractDungeon.actionManager.addToBottom(new ApplyPowerAction(this.target, this.source, new VulnerablePower(this.target, amount, false), amount));
case "Plated Armor" :
amount = this.target.getPower("Plated Armor").amount;
AbstractDungeon.actionManager.addToTop(new RemoveSpecificPowerAction(this.target, this.source, this.cb));
AbstractDungeon.actionManager.addToBottom(new ApplyPowerAction(this.target, this.source, new DexterityPower(this.target, -amount), -amount));
break;

case "Strength" :
amount = -1*(this.target.getPower("Strength").amount);
AbstractDungeon.actionManager.addToBottom(new ApplyPowerAction(this.target, this.source, new StrengthPower(this.target, -amount), -amount));
case "Thorns" :
amount = -1*(this.target.getPower("Thorns").amount);
AbstractDungeon.actionManager.addToTop(new RemoveSpecificPowerAction(this.target, this.source, this.cb));
AbstractDungeon.actionManager.addToBottom(new ApplyPowerAction(this.target, this.source, new PoisonPower(this.target, this.source, amount), amount, AbstractGameAction.AttackEffect.POISON));
break;

case "Dexterity" :
amount = -1*(this.target.getPower("Dexterity").amount);
AbstractDungeon.actionManager.addToBottom(new ApplyPowerAction(this.target, this.source, new DexterityPower(this.target, -amount), -amount));
case "Explosive" :
amount = -1*(this.target.getPower("Explosive").amount);
AbstractDungeon.actionManager.addToTop(new RemoveSpecificPowerAction(this.target, this.source, this.cb));
AbstractDungeon.actionManager.addToBottom(new ApplyPowerAction(this.target, this.source, new HellFlamePower(this.target, this.source, 2), 2));
break;

case "HellFlamePower" :
amount = this.target.getPower("HellFlamePower").amount;
AbstractDungeon.actionManager.addToBottom(new ApplyPowerAction(this.target, this.source, new HellFlamePower(this.target, this.source, amount), amount));
case "Artifact" :
amount = this.target.getPower("Artifact").amount;
AbstractDungeon.actionManager.addToTop(new RemoveSpecificPowerAction(this.target, this.source, this.cb));
AbstractDungeon.actionManager.addToBottom(new ApplyPowerAction(this.target, this.source, new VulnerablePower(this.target, amount, false), amount));
break;

case "GraspHeartPower" :
amount = this.target.getPower("GraspHeartPower").amount;
AbstractDungeon.actionManager.addToBottom(new ApplyPowerAction(this.target, this.source, new GraspHeartPower(this.target, this.source, amount), amount));
case "Barricade" :
amount = this.target.getPower("Barricade").amount;
AbstractDungeon.actionManager.addToTop(new RemoveSpecificPowerAction(this.target, this.source, this.cb));
AbstractDungeon.actionManager.addToBottom(new ApplyPowerAction(this.target, this.source, new GraspHeartPower(this.target, this.source, 1), 1));
break;

case "NegativeLevelsPower" :
amount = this.target.getPower("NegativeLevelsPower").amount;
AbstractDungeon.actionManager.addToBottom(new ApplyPowerAction(this.target, this.source, new NegativeLevelsPower(this.target, this.source, amount), amount));
case "Strength" :
amount = this.target.getPower("Strength").amount;
AbstractDungeon.actionManager.addToTop(new RemoveSpecificPowerAction(this.target, this.source, this.cb));
AbstractDungeon.actionManager.addToBottom(new ApplyPowerAction(this.target, this.source, new StrengthPower(this.target, -amount), -amount));
break;

case "OfPain" :
amount = this.target.getPower("OfPain").amount;
AbstractDungeon.actionManager.addToBottom(new ApplyPowerAction(this.target, this.source, new OfPain(this.target, amount), amount));
AbstractDungeon.actionManager.addToBottom(new ApplyPowerAction(this.source, this.source, new Shackles(this.source, this.target, amount), amount));
case "Dexterity" :
amount = this.target.getPower("Dexterity").amount;
AbstractDungeon.actionManager.addToTop(new RemoveSpecificPowerAction(this.target, this.source, this.cb));
AbstractDungeon.actionManager.addToBottom(new ApplyPowerAction(this.target, this.source, new DexterityPower(this.target, -amount), -amount));
break;

}
}
//}

this.isDone = true;
}
Expand Down
128 changes: 128 additions & 0 deletions src/main/java/necromod/actions/unique/EpidemicAction.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,128 @@
package necromod.actions.unique;

import java.util.ArrayList;

import com.megacrit.cardcrawl.actions.AbstractGameAction;
import com.megacrit.cardcrawl.actions.common.ApplyPowerAction;
import com.megacrit.cardcrawl.core.AbstractCreature;
import com.megacrit.cardcrawl.dungeons.AbstractDungeon;
import com.megacrit.cardcrawl.monsters.AbstractMonster;
import com.megacrit.cardcrawl.powers.DexterityPower;
import com.megacrit.cardcrawl.powers.FrailPower;
import com.megacrit.cardcrawl.powers.PoisonPower;
import com.megacrit.cardcrawl.powers.StrengthPower;
import com.megacrit.cardcrawl.powers.VulnerablePower;
import com.megacrit.cardcrawl.powers.WeakPower;

import necromod.powers.GraspHeartPower;
import necromod.powers.HellFlamePower;
import necromod.powers.NegativeLevelsPower;
import necromod.powers.OfPain;
import necromod.powers.Shackles;

public class EpidemicAction extends AbstractGameAction{

public EpidemicAction(final AbstractCreature target, final AbstractCreature source) {
this.target = target;
this.source = source;

}

@Override
public void update() {
ArrayList<String> Debuff = new ArrayList<String>();
Debuff.add("Poison");
Debuff.add("Weakened");
Debuff.add("Frail");
Debuff.add("Vulnerable");
Debuff.add("HellFlamePower");
Debuff.add("GraspHeartPower");
Debuff.add("NegativeLevelsPower");
Debuff.add("OfPain");

int amount;


if(this.target.hasPower("Strength") && (this.target.getPower("Strength").amount < 0)){
Debuff.add("Strength");
}

if(this.target.hasPower("Dexterity") && (this.target.getPower("Dexterity").amount < 0)){
Debuff.add("Dexterity");
}

ArrayList<String> currentDebuffs = new ArrayList<String>();

for(String d : Debuff) {
if(this.target.getPower(d) != null) {
currentDebuffs.add(d);
}

}

for (final AbstractMonster mo : AbstractDungeon.getCurrRoom().monsters.monsters) {
if(!mo.equals(this.target)) {
for(String cd : currentDebuffs) {

switch(cd){
case "Poison" :
amount = this.target.getPower("Poison").amount;
AbstractDungeon.actionManager.addToBottom(new ApplyPowerAction(mo, this.source, new PoisonPower(mo, this.source, amount), amount, AbstractGameAction.AttackEffect.POISON));
break;

case "Weakened" :
amount = this.target.getPower("Weakened").amount;
AbstractDungeon.actionManager.addToBottom(new ApplyPowerAction(mo, this.source, new WeakPower(mo, amount, false), amount));
break;

case "Frail" :
amount = this.target.getPower("Frail").amount;
AbstractDungeon.actionManager.addToBottom(new ApplyPowerAction(mo, this.source, new FrailPower(mo, amount, false),amount, true, AbstractGameAction.AttackEffect.NONE));
break;

case "Vulnerable" :
amount = this.target.getPower("Vulnerable").amount;
AbstractDungeon.actionManager.addToBottom(new ApplyPowerAction(mo, this.source, new VulnerablePower(mo, amount, false), amount));
break;

case "Strength" :
amount = -1*(this.target.getPower("Strength").amount);
AbstractDungeon.actionManager.addToBottom(new ApplyPowerAction(mo, this.source, new StrengthPower(mo, -amount), -amount));
break;

case "Dexterity" :
amount = -1*(this.target.getPower("Dexterity").amount);
AbstractDungeon.actionManager.addToBottom(new ApplyPowerAction(mo, this.source, new DexterityPower(mo, -amount), -amount));
break;

case "HellFlamePower" :
amount = this.target.getPower("HellFlamePower").amount;
AbstractDungeon.actionManager.addToBottom(new ApplyPowerAction(mo, this.source, new HellFlamePower(mo, this.source, amount), amount));
break;

case "GraspHeartPower" :
amount = this.target.getPower("GraspHeartPower").amount;
AbstractDungeon.actionManager.addToBottom(new ApplyPowerAction(mo, this.source, new GraspHeartPower(mo, this.source, amount), amount));
break;

case "NegativeLevelsPower" :
amount = this.target.getPower("NegativeLevelsPower").amount;
AbstractDungeon.actionManager.addToBottom(new ApplyPowerAction(mo, this.source, new NegativeLevelsPower(mo, this.source, amount), amount));
break;

case "OfPain" :
amount = this.target.getPower("OfPain").amount;
AbstractDungeon.actionManager.addToBottom(new ApplyPowerAction(mo, this.source, new OfPain(mo, amount), amount));
AbstractDungeon.actionManager.addToBottom(new ApplyPowerAction(this.source, this.source, new Shackles(this.source, this.source, amount), amount));
break;

}
}
}
}


this.isDone = true;
}

}
2 changes: 0 additions & 2 deletions src/main/java/necromod/cards/Blood_Wake.java
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,6 @@
import com.megacrit.cardcrawl.actions.animations.*;
import com.megacrit.cardcrawl.actions.utility.*;


import basemod.abstracts.CustomCard;
import necromod.NecroMod;
import necromod.patches.AbstractCardEnum;
import necromod.actions.common.BloodAction;
Expand Down
23 changes: 16 additions & 7 deletions src/main/java/necromod/cards/Corrupt_Power.java
Original file line number Diff line number Diff line change
Expand Up @@ -6,21 +6,22 @@
import com.megacrit.cardcrawl.monsters.*;
import com.megacrit.cardcrawl.dungeons.*;
import com.megacrit.cardcrawl.core.*;
import com.megacrit.cardcrawl.powers.*;

import necromod.NecroMod;
import necromod.actions.common.DoubleDebuffAction;
import necromod.actions.common.CorruptAction;
import necromod.patches.AbstractCardEnum;

public class Corrupt_Power extends AbstractNecromancerCards {
public static final String ID = "Corrupt_Power";
public static final String ID = "Corrupt";
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 = 2;
private static final int COST = 3;
private static final int POOL = 1;

public Corrupt_Power() {
super(ID, NAME, NecroMod.makePath(NecroMod.VIOLENT_NECROSIS), COST, DESCRIPTION, AbstractCard.CardType.SKILL,
super(ID, NAME, NecroMod.makePath(NecroMod.CORRUPT), COST, DESCRIPTION, AbstractCard.CardType.SKILL,
AbstractCardEnum.WHITE, AbstractCard.CardRarity.UNCOMMON, AbstractCard.CardTarget.ENEMY, POOL);
this.baseMagicNumber = this.magicNumber = 2;
this.exhaust = true;
Expand All @@ -29,18 +30,26 @@ public Corrupt_Power() {

public void use(AbstractPlayer p, AbstractMonster m) {

AbstractDungeon.actionManager.addToBottom(new DoubleDebuffAction(m, p));
if(m.powers != null) {
for(AbstractPower power : m.powers) {
String currentPower = power.ID;
AbstractDungeon.actionManager.addToBottom(new CorruptAction(m, p, currentPower));
}

}



}

public AbstractCard makeCopy() {
return new Violent_Necrosis();
return new Corrupt_Power();
}

public void upgrade() {
if (!this.upgraded) {
this.upgradeName();
this.upgradeBaseCost(1);
this.upgradeBaseCost(2);
}
}

Expand Down
Loading

0 comments on commit bfe7f8b

Please sign in to comment.