Skip to content

Commit 6e33028

Browse files
committed
Tackle buffs, Firm Fortitude buff, some text bugfixes.
Chomp's Tackle-increasing debuff buffed up to 4 (*6). The attack now hits for 4 (*6) damage twice, making it one of two multi-hit attacks in the Slimebound's kit. Slimed increases all hits of a given attack by the Slimed amount, so multi-hits have been very limited in the pool. This change to Chomp makes it a good draft for both a Tackle-oriented deck and a heavy Slimed output deck. Chomp's visual effect is now green, and the sound effect has been replaced with a chomp instead of a blunt hit. Roll Through now hits ALL enemies for 4 (6 upgraded) and increases Tackle damage to targets hit by 2 (3 upgraded) - the same debuff effect as Chomp, but to a lesser degree. This should give a little bit of AoE support, albeit it at a low damage, to Slimebound, and help out a more dedicated Tackle build, since the effect is essentially permanent. Flame Tackle no longer gives Strength and no longer exhausts, but does increase the damage of all Tackles by 3 (4 upgraded), for the rest of the combat (Tackle-Strength!). This will help make Tackle builds more draftable with a potent Uncommon, and I am satisfied with leaving Grow as the only non-Study Strength/Dex provider in the kit. Firm Fortitude (now named "Feel Our Pain") now not only prevents HP loss on your turn, but also redirects that HP loss to a random enemy. Very slight buff to the power considering you usually lose HP in small increments, but it might be a little more satisfying of a draft. Also has fun interactions with things like Constricted or Regret. With now very few Strength sources, Torch Head slimes (from Study cards) gain damage whenever you play a Power rather than scaling off of Strength. Renamed Sliming Slimes to Licking Slimes - hearing someone say Slimed from the Sliming Slimes was too much. These were named plainly to clearly communicate what they do, but the purple color palette and the new debuff text number below them I think is enough to communicate these days. Licks all apply Slimed, this slime Licks people... makes sense to me! Renamed Poisoning Slimes to Acid Slimes. Might as well go full ham on the renaming, and this one's thematic since there are actual Acid Slimes in STS. Changed Mass Feed's wording to clarify it triggers max HP gain for each enemy killed by it. Changed text on Quick Study / Study the Spire to not use the word 'powerful', clashing with the Mystic mod, and instead added a new keyword "Spire Boss" that also describes more about the cards you will receive. "My Own Minion" relic renamed to "Goop Dweller". Goop Dweller can no longer appear in the standard relic pool - it can only be acquired through the World of Goop event. A new event modifier to a vanilla event has been added. It's even better than the World of Goop one. I spent way too much time on this. Commented out some old deprecated keywords. Fixed Spiky Outer Goop only keywording 'plated', not the full 'plated armor'. Fixed Cultist Slimes' (Study card) stick attachments hanging around in the 1st slime slot if they got absorbed, not getting cleaned up. Fixed Defensive Stance (Study) stating Ethereal twice.
1 parent 967a6bb commit 6e33028

42 files changed

Lines changed: 829 additions & 96 deletions

Some content is hidden

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

SlimeboundMod.jar

215 KB
Binary file not shown.

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
<groupId>slimebound</groupId>
55
<artifactId>slimebound</artifactId>
6-
<version>v0.9.7</version>
6+
<version>v0.10.0</version>
77
<packaging>jar</packaging>
88

99
<name>Slimebound Mod</name>

src/main/java/slimebound/SlimeboundMod.java

Lines changed: 21 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@ public class SlimeboundMod implements PostDungeonInitializeSubscriber, PostBattl
7171
private static final String CHAR_PORTRAIT = "charSelect/portrait.png";
7272
public static int powersPlayedThisCombat;
7373
public static boolean slimeDelay;
74+
public static boolean scrapping;
7475
public static SlimeboundCharacter slimeboundCharacter;
7576
public static boolean slimeTalked = false;
7677
public static boolean slimeTalkedAcidL = false;
@@ -170,22 +171,21 @@ public static int getAcidTongueBonus(AbstractCreature source) {
170171

171172
public void receivePostPowerApplySubscriber(AbstractPower power, AbstractCreature target, AbstractCreature source) {
172173

173-
if (power.ID == "Strength") {
174174

175175
if (target == AbstractDungeon.player) {
176176

177177
for (AbstractOrb o : AbstractDungeon.player.orbs) {
178178

179179
if (o.ID == TorchHeadSlime.ID) {
180-
logger.info("Sending power amount" + power.amount);
181-
((TorchHeadSlime) o).applyUniqueFocus(power.amount);
180+
logger.info("Sending power amount" + 1);
181+
((TorchHeadSlime) o).applyUniqueFocus(1);
182182
}
183183
}
184184

185185

186186
}
187187
;
188-
}
188+
189189
}
190190

191191
public static String printString(String s) {
@@ -203,6 +203,8 @@ public void receiveEditRelics() {
203203
BaseMod.addRelicToCustomPool(new SlimedTailRelic(), AbstractCardEnum.SLIMEBOUND);
204204
BaseMod.addRelicToCustomPool(new StudyCardRelic(), AbstractCardEnum.SLIMEBOUND);
205205
BaseMod.addRelicToCustomPool(new SlimedSkullRelic(), AbstractCardEnum.SLIMEBOUND);
206+
BaseMod.addRelicToCustomPool(new ScrapOozeRelic(), AbstractCardEnum.SLIMEBOUND);
207+
206208
}
207209

208210

@@ -418,27 +420,28 @@ public void receiveEditKeywords() {
418420
BaseMod.addKeyword(new String[]{"slimed"}, "The next attack deals increased damage, consuming the Slimed effect, and healing you for half the amount consumed. Half of Slimed is removed at end of turn.");
419421

420422
BaseMod.addKeyword(new String[]{"potency"}, "Increases the damage of ALL of your Spawned Slimes.");
421-
BaseMod.addKeyword(new String[]{"torch-head"}, "Attacks for 9 each turn, and gains damage when you gain Strength.");
422-
BaseMod.addKeyword(new String[]{"bruiser"}, "Attacks for 4 each turn.");
423-
BaseMod.addKeyword(new String[]{"cultist"}, "Attacks for 6 each turn, then increases it's damage by 2.");
424-
BaseMod.addKeyword(new String[]{"leeching"}, "Attacks for 2 and grants you 2 Block each turn.");
425-
BaseMod.addKeyword(new String[]{"poisoning"}, "Attacks for 1 and applies 2 Poison each turn .");
426-
BaseMod.addKeyword(new String[]{"sliming"}, "Attacks for 1 and applies 2 Slimed each turn .");
427-
BaseMod.addKeyword(new String[]{"plated"}, "Increases Block each turn. Reduced when you take damage.");
423+
BaseMod.addKeyword("Torch Head Slime",new String[]{"torch head slime","torch_head_slime"}, "Attacks for 9 each turn, and gains 1 damage when you play a Power.");
424+
BaseMod.addKeyword("Bruiser Slime",new String[]{"bruiser slime","bruiser_slime","bruiser slimes","bruiser_slimes"}, "Attacks for 4 each turn.");
425+
BaseMod.addKeyword("Cultist Slime",new String[]{"cultist slime","cultist_slime"}, "Attacks for 6 each turn, then increases it's damage by 2.");
426+
BaseMod.addKeyword("Leeching Slime",new String[]{"leeching slime","leeching_slime","leeching slimes","leeching_slimes"}, "Attacks for 2 and grants you 2 Block each turn.");
427+
BaseMod.addKeyword("Acid Slime",new String[]{"acid slime","acid_slime","acid slimes","acid_slimes"}, "Attacks for 1 and applies 2 Poison each turn.");
428+
BaseMod.addKeyword("Licking Slime",new String[]{"licking slime","licking_slime","licking slimes","licking_slimes"}, "Attacks for 1 and applies 2 Slimed each turn.");
429+
BaseMod.addKeyword("Plated Armor", new String[]{"plated armor","plated_armor"}, "Increases Block each turn. Reduced when you take damage.");
428430
BaseMod.addKeyword(new String[]{"self-forming"}, "Taking damage from enemy attacks grants Block for next turn.");
429-
BaseMod.addKeyword(new String[]{"bronze"}, "Attacks for 6 and grants you 6 Block each turn.");
430-
BaseMod.addKeyword(new String[]{"tag-team"}, "Gain 1 Energy and draw 1 card per turn.");
431+
BaseMod.addKeyword("Bronze Slime",new String[]{"bronze slime","bronze_slime"}, "Attacks for 6 and grants you 6 Block each turn.");
432+
//BaseMod.addKeyword(new String[]{"tag-team"}, "Gain 1 Energy and draw 1 card per turn.");
431433
BaseMod.addKeyword(new String[]{"halved"}, "Your Max HP is cut in half this combat, losing HP if you are currently above half, and preventing healing beyond half.");
432434
BaseMod.addKeyword(new String[]{"lick"}, "0-cost cards that apply a variety of debuffs.");
433435

434-
BaseMod.addKeyword(new String[]{"useful"}, "1-cost card that grants 2 energy.");
435-
BaseMod.addKeyword(new String[]{"ghostflame"}, "Does not attack and is unaffected by Potency. Provides 1 Strength, 1 Dexterity, and 3 Potency.");
436-
BaseMod.addKeyword(new String[]{"burn"}, "Deals damage each turn. Does not decay.");
436+
//BaseMod.addKeyword(new String[]{"useful"}, "1-cost card that grants 2 energy.");
437+
BaseMod.addKeyword("Ghostflame Slime",new String[]{"ghostflame slime","ghostflame_slime"}, "Does not attack and is unaffected by Potency. Provides 1 Strength, 1 Dexterity, and 3 Potency.");
438+
//BaseMod.addKeyword(new String[]{"burn"}, "Deals damage each turn. Does not decay.");
437439
BaseMod.addKeyword(new String[]{"morph"}, "Replace with a random new card of your class, regardless of type. It costs 1 less.");
438-
BaseMod.addKeyword(new String[]{"regen"}, "Heal HP equal to Regen amount at end of turn, then reduce Regen by 1.");
439-
BaseMod.addKeyword(new String[]{"purge"}, "Removed from the game entirely when played (not Exhausted).");
440+
//BaseMod.addKeyword(new String[]{"regen"}, "Heal HP equal to Regen amount at end of turn, then reduce Regen by 1.");
441+
//BaseMod.addKeyword(new String[]{"purge"}, "Removed from the game entirely when played (not Exhausted).");
440442
BaseMod.addKeyword(new String[]{"slow"}, "Receives 10% more damage per card played in a turn.");
441443
BaseMod.addKeyword(new String[]{"tackle"}, "High-damage Attacks that also deal a small amount of damage to you.");
444+
BaseMod.addKeyword("Spire Boss", new String[]{"spire boss","spire_boss"}, "Powerful cards with Ethereal and Exhaust, costing between 0 and 2 energy, inspired by the bosses of the Spire.");
442445

443446

444447
}

src/main/java/slimebound/cards/Chomp.java

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

33

44

5+
import com.badlogic.gdx.graphics.Color;
56
import com.megacrit.cardcrawl.actions.AbstractGameAction;
7+
import com.megacrit.cardcrawl.actions.animations.VFXAction;
68
import com.megacrit.cardcrawl.actions.common.ApplyPowerAction;
79
import com.megacrit.cardcrawl.actions.common.DamageAction;
810
import com.megacrit.cardcrawl.actions.unique.VampireDamageAction;
@@ -43,12 +45,12 @@ public Chomp() {
4345
super(ID, NAME, SlimeboundMod.getResourcePath(IMG_PATH), COST, DESCRIPTION, TYPE, AbstractCardEnum.SLIMEBOUND, RARITY, TARGET);
4446

4547

46-
this.baseDamage = this.originalDamage = 8;
48+
this.baseDamage = this.originalDamage = 4;
4749
this.baseBlock = this.originalBlock = 2;
48-
this.upgradeDamage = 3;
50+
this.upgradeDamage = 2;
4951
// this.exhaust = true;
5052

51-
this.magicNumber = this.baseMagicNumber = 3;
53+
this.magicNumber = this.baseMagicNumber = 4;
5254

5355

5456
}
@@ -57,9 +59,13 @@ public Chomp() {
5759
public void use(AbstractPlayer p, AbstractMonster m) {
5860

5961

60-
AbstractDungeon.effectList.add(new BiteEffect(m.hb.cX, m.hb.cY));
62+
AbstractDungeon.actionManager.addToBottom(new VFXAction(new BiteEffect(m.hb.cX, m.hb.cY, Color.GREEN),0.2F));
63+
64+
AbstractDungeon.actionManager.addToBottom(new DamageAction(m, new com.megacrit.cardcrawl.cards.DamageInfo(p, this.damage, this.damageTypeForTurn), AbstractGameAction.AttackEffect.NONE));
65+
AbstractDungeon.actionManager.addToBottom(new VFXAction(new BiteEffect(m.hb.cX, m.hb.cY, Color.GREEN)));
66+
67+
AbstractDungeon.actionManager.addToBottom(new DamageAction(m, new com.megacrit.cardcrawl.cards.DamageInfo(p, this.damage, this.damageTypeForTurn), AbstractGameAction.AttackEffect.NONE));
6168

62-
AbstractDungeon.actionManager.addToBottom(new DamageAction(m, new com.megacrit.cardcrawl.cards.DamageInfo(p, this.damage, this.damageTypeForTurn), AbstractGameAction.AttackEffect.BLUNT_HEAVY));
6369
AbstractDungeon.actionManager.addToBottom(new ApplyPowerAction(m, p, new TackleDebuffPower(m, p,this.magicNumber), this.magicNumber, true, AbstractGameAction.AttackEffect.NONE));
6470

6571

@@ -80,7 +86,7 @@ public void upgrade() {
8086
upgradeName();
8187

8288
upgradeDamage(upgradeDamage);
83-
upgradeMagicNumber(1);
89+
upgradeMagicNumber(2);
8490

8591

8692
}

src/main/java/slimebound/cards/ComboTackle.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ public void use(AbstractPlayer p, AbstractMonster m) {
7474
if (upgraded)
7575
AbstractDungeon.actionManager.addToBottom(new UpgradeRandomCardAction());
7676

77-
AbstractDungeon.actionManager.addToBottom(new RemoveSpecificPowerAction(p,p,TackleBuffPower.POWER_ID));
77+
//AbstractDungeon.actionManager.addToBottom(new RemoveSpecificPowerAction(p,p,TackleBuffPower.POWER_ID));
7878

7979
}
8080

src/main/java/slimebound/cards/FinishingTackle.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ public void use(AbstractPlayer p, AbstractMonster m) {
6262
AbstractDungeon.actionManager.addToBottom(new DamageAction(p, new com.megacrit.cardcrawl.cards.DamageInfo(p, this.selfDamage, this.damageTypeForTurn), AbstractGameAction.AttackEffect.SMASH));
6363
// AbstractDungeon.actionManager.addToBottom(new ApplyPowerAction(m, p, new WeakPower(m, this.magicNumber, false), this.magicNumber, true, AbstractGameAction.AttackEffect.NONE));
6464

65-
AbstractDungeon.actionManager.addToBottom(new RemoveSpecificPowerAction(p,p,TackleBuffPower.POWER_ID));
65+
//AbstractDungeon.actionManager.addToBottom(new RemoveSpecificPowerAction(p,p,TackleBuffPower.POWER_ID));
6666

6767
}
6868

src/main/java/slimebound/cards/FlameTackle.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -50,8 +50,8 @@ public FlameTackle() {
5050
this.selfDamage = 4;
5151
this.upgradeDamage = 3;
5252

53-
this.magicNumber = this.baseMagicNumber = 2;
54-
this.exhaust = true;
53+
this.magicNumber = this.baseMagicNumber = 3;
54+
//this.exhaust = true;
5555

5656

5757
}
@@ -64,8 +64,8 @@ public void use(AbstractPlayer p, AbstractMonster m) {
6464
AbstractDungeon.actionManager.addToBottom(new DamageAction(p, new com.megacrit.cardcrawl.cards.DamageInfo(p, this.selfDamage, this.damageTypeForTurn), AbstractGameAction.AttackEffect.SMASH));
6565

6666
AbstractDungeon.actionManager.addToBottom(new VFXAction(p, new InflameEffect(p), 0.5F));
67-
AbstractDungeon.actionManager.addToBottom(new ApplyPowerAction(p, p, new StrengthPower(p, this.magicNumber), this.magicNumber, true, AbstractGameAction.AttackEffect.NONE));
68-
AbstractDungeon.actionManager.addToBottom(new RemoveSpecificPowerAction(p,p,TackleBuffPower.POWER_ID));
67+
AbstractDungeon.actionManager.addToBottom(new ApplyPowerAction(p, p, new TackleBuffPower(p,p, this.magicNumber), this.magicNumber, true, AbstractGameAction.AttackEffect.NONE));
68+
//AbstractDungeon.actionManager.addToBottom(new RemoveSpecificPowerAction(p,p,TackleBuffPower.POWER_ID));
6969

7070

7171
}

src/main/java/slimebound/cards/GoopTackle.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ public void use(AbstractPlayer p, AbstractMonster m) {
9090

9191
AbstractDungeon.actionManager.addToBottom(new MakeTempCardInHandAction(c));
9292

93-
AbstractDungeon.actionManager.addToBottom(new RemoveSpecificPowerAction(p,p,TackleBuffPower.POWER_ID));
93+
//AbstractDungeon.actionManager.addToBottom(new RemoveSpecificPowerAction(p,p,TackleBuffPower.POWER_ID));
9494

9595

9696
}

src/main/java/slimebound/cards/HungryTackle.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ public void use(AbstractPlayer p, AbstractMonster m) {
7373
// AbstractDungeon.actionManager.addToBottom(new ApplyPowerAction(m, p, new WeakPower(m, this.magicNumber, false), this.magicNumber, true, AbstractGameAction.AttackEffect.NONE));
7474

7575
AbstractDungeon.actionManager.addToBottom(new ReturnRandom0Cost(this.magicNumber));
76-
AbstractDungeon.actionManager.addToBottom(new RemoveSpecificPowerAction(p,p,TackleBuffPower.POWER_ID));
76+
//AbstractDungeon.actionManager.addToBottom(new RemoveSpecificPowerAction(p,p,TackleBuffPower.POWER_ID));
7777

7878
}
7979

src/main/java/slimebound/cards/RollThrough.java

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,19 @@
55
import com.megacrit.cardcrawl.actions.AbstractGameAction;
66
import com.megacrit.cardcrawl.actions.common.ApplyPowerAction;
77
import com.megacrit.cardcrawl.actions.common.DamageAction;
8+
import com.megacrit.cardcrawl.actions.common.DamageAllEnemiesAction;
89
import com.megacrit.cardcrawl.cards.AbstractCard;
910
import com.megacrit.cardcrawl.characters.AbstractPlayer;
1011
import com.megacrit.cardcrawl.core.CardCrawlGame;
1112
import com.megacrit.cardcrawl.dungeons.AbstractDungeon;
1213
import com.megacrit.cardcrawl.localization.CardStrings;
1314
import com.megacrit.cardcrawl.monsters.AbstractMonster;
15+
import com.megacrit.cardcrawl.powers.PoisonPower;
1416
import slimebound.SlimeboundMod;
1517
import slimebound.patches.AbstractCardEnum;
18+
import slimebound.powers.SlimedPower;
1619
import slimebound.powers.TackleBuffPower;
20+
import slimebound.powers.TackleDebuffPower;
1721

1822

1923
public class RollThrough extends AbstractSlimeboundCard {
@@ -24,7 +28,7 @@ public class RollThrough extends AbstractSlimeboundCard {
2428
public static final String IMG_PATH = "cards/bodyblow.png";
2529
private static final CardType TYPE = CardType.ATTACK;
2630
private static final CardRarity RARITY = CardRarity.COMMON;
27-
private static final CardTarget TARGET = CardTarget.ENEMY;
31+
private static final CardTarget TARGET = CardTarget.ALL_ENEMY;
2832

2933
private static final CardStrings cardStrings;
3034
private static final int COST = 1;
@@ -36,9 +40,10 @@ public RollThrough() {
3640
super(ID, NAME, SlimeboundMod.getResourcePath(IMG_PATH), COST, DESCRIPTION, TYPE, AbstractCardEnum.SLIMEBOUND, RARITY, TARGET);
3741

3842

39-
this.baseDamage = 7;
40-
this.magicNumber=this.baseMagicNumber=3;
43+
this.baseDamage = 4;
44+
this.magicNumber=this.baseMagicNumber=2;
4145
this.selfDamage= 2;
46+
this.isMultiDamage=true;
4247

4348

4449
}
@@ -47,10 +52,17 @@ public RollThrough() {
4752

4853
public void use(AbstractPlayer p, AbstractMonster m) {
4954

50-
AbstractDungeon.actionManager.addToBottom(new com.megacrit.cardcrawl.actions.common.DamageAction(m, new com.megacrit.cardcrawl.cards.DamageInfo(p, this.damage, com.megacrit.cardcrawl.cards.DamageInfo.DamageType.NORMAL), com.megacrit.cardcrawl.actions.AbstractGameAction.AttackEffect.BLUNT_HEAVY));
55+
AbstractDungeon.actionManager.addToBottom(new DamageAllEnemiesAction(p, this.multiDamage, this.damageTypeForTurn, AbstractGameAction.AttackEffect.BLUNT_HEAVY));
5156

52-
AbstractDungeon.actionManager.addToBottom(new ApplyPowerAction(p, p, new TackleBuffPower(p, p, this.magicNumber), this.magicNumber, true, AbstractGameAction.AttackEffect.NONE));
57+
for (AbstractMonster monster : AbstractDungeon.getMonsters().monsters) {
58+
if ((!monster.isDead) && (!monster.isDying)) {
5359

60+
AbstractDungeon.actionManager.addToBottom(new ApplyPowerAction(monster, p, new TackleDebuffPower(monster, p,this.magicNumber), this.magicNumber, true, AbstractGameAction.AttackEffect.NONE));
61+
62+
63+
}
64+
65+
}
5466
}
5567

5668

@@ -69,7 +81,7 @@ public void upgrade() {
6981

7082
upgradeName();
7183
upgradeDamage(2);
72-
upgradeMagicNumber(2);
84+
upgradeMagicNumber(1);
7385
}
7486

7587
}

0 commit comments

Comments
 (0)