Skip to content

Commit

Permalink
Card Filter
Browse files Browse the repository at this point in the history
Made settings for disabling certain cards. Easier than expected.
  • Loading branch information
The-Evil-Pickle committed Apr 1, 2019
1 parent 91d3c5d commit fee7809
Show file tree
Hide file tree
Showing 26 changed files with 591 additions and 592 deletions.
5 changes: 5 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,14 +40,17 @@ Gremlin Food | All | Common | Whenever you rest, **Upgrade** a random card.
Grinning Jar | All | Common | On pickup, add a Grinning Jar card to your deck. Obtain another copy for every 12 cards added to your deck.
King of Hearts | Ironclad | Common | When you lose HP during your turn, gain twice that much block.
Lightbulb | All | Common | If you have leftover energy at the end of your turn, draw that many cards at the start of your next turn.
Mystery Machine | All | Common | Gains 1 charge each time you enter a ? room. Loses 1 charge each time you move between two non-? rooms. At the start of combat, randomly gain **Strength** and **Dexterity** equal to charges.
Rune of Simplicity | All | Common | Strikes and Defends can be **Upgraded** any number of times. On pickup, **Upgrade** 2 randomly.
Tag Bag | All | Common | Shops have all 3 kinds of sale tags. Sale tags can appear on colorless cards. On-sale cards are slightly cheaper
Tiger Marble | All | Common | At the start of combat, add a random card that **Exhausts** to your hand. It costs 0 this turn.
Pet Ghost | All | Common | At the start of each turn, add a Ghost Swipe, Ghost Defend, or Ghost Fetch to your hand (chosen randomly). Max hand size is increased by 1.
Accelerometer | All | Uncommon | Can be used once per combat. Decrease your turn-based debuffs by 1, and increase all enemy turn-based debuffs by 1.
Basket of Snakes | Silent | Uncommon | Every 5th **Attack** you play applies 2 **Necrotic** **Poison** upon dealing unblocked damage.
Bottled Eggs | All | Uncommon | On pick up, choose a card. **Upgrade** all copies of that card you have. When you add a new copy of that card to your deck, it is **Upgraded**.
Bottled Flurry | All | Uncommon | On pick up, choose a card. You **Retain** that card at the end of your turn, or Discard it if it is **Ethereal.**
Bottled Geyser | All | Uncommon | On pick up, choose a card. Each time you shuffle your deck, that card is placed on top.
Bottled Snecko | All | Uncommon | On pick up, you may choose a card. It gains **Snecko**. If you do not choose a card, you may choose one at a later rest site.
Carrot | Defect | Uncommon | Gain 3 **Focus** at the start of combat, then lose 1 **Focus** on the next 3 turns.
Chameleon Ring | All | Uncommon | Potions are ~50% more potent. You may brew 2 random potions at rest sites.
Divine Protection | All | Uncommon | Gain 8 **Shielding** at the start of combat.
Expand Down Expand Up @@ -145,6 +148,7 @@ Time Bomb | Blue | Uncommon | Skill | 1 | Gain 2 orb slots. **Channel** 2 **Glas
Mirror Shield | Blue | Rare | Skill | 2 | **Channel** 1 **Crystal.** **Channel** 1 **Frost.** Gain 5(8) **Block.** Gain 1(2) **Reflection.**
RNG | Blue | Rare | Skill | X | **Channel** X(+1) random orbs.
Omega Cannon | Blue | Rare | Attack | 2 | Deal 7(6) damage to ALL enemies 4(5) times. Add 1 **Backfire** to your draw and discard piles. **Focus** increases damage."
Might | Colorless | Uncommon | Power | X | Your attacks deal 25% extra damage for X turns. **Refund** 1(2).
Poisoned Strike | Colorless | Uncommon | Skill | 0 | Apply 3(4) **Poison**. Is affected by damage modifiers.
Specialist | Colorless | Uncommon | Power | 0 | Lose 1 Focus. All non-attack damage you deal is increased by 2. (**Innate.**)
Ssssshield | Colorless | Uncommon | Skill | ? | Gain 6 **Block**. Gain 6 **Shielding** for each energy this cost. (**Refund** 1). **Snecko**. **Exhaust**.
Expand Down Expand Up @@ -379,6 +383,7 @@ Ring of Shattering | Dead Man's Rings (as Defect) | At the start of combat gain
* If you have Honey Jar and Singing Bowl at the same time, using Singing Bowl's max hp gain option also picks a reward card at random.
* Burning Branch can now be exchanged for a different relic at rest sites.
* Fire Breathing now increases damage based on number of attacks played.
* If a Bottled card is removed from your deck, you may choose a new card to bottle at rest sites (free action).
* You can never get Ectoplasm from Neow.


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ public class BasicMightCard

public BasicMightCard()
{
super(ID, NAME, "cards/replay/replayBetaPower.png", BasicMightCard.COST, DESCRIPTION, AbstractCard.CardType.POWER, AbstractCard.CardColor.COLORLESS, AbstractCard.CardRarity.RARE, AbstractCard.CardTarget.NONE);
super(ID, NAME, "cards/replay/replayBetaPower.png", BasicMightCard.COST, DESCRIPTION, AbstractCard.CardType.POWER, AbstractCard.CardColor.COLORLESS, AbstractCard.CardRarity.UNCOMMON, AbstractCard.CardTarget.NONE);
RefundVariable.setBaseValue(this, 1);
}

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
package com.megacrit.cardcrawl.mod.replay.modifiers;

import com.megacrit.cardcrawl.core.CardCrawlGame;
import com.megacrit.cardcrawl.daily.mods.AbstractDailyMod;
import com.megacrit.cardcrawl.helpers.ImageMaster;
import com.megacrit.cardcrawl.localization.RunModStrings;
import com.megacrit.cardcrawl.mod.replay.relics.HoneyJar;

import HalationCode.relics.ddlc.CatFaceCupcake;

public class HoneycakeModifier extends AbstractDailyMod
{
public static final String ID = "replay:honeycakes";
private static final RunModStrings modStrings = CardCrawlGame.languagePack.getRunModString(ID);
public static final String NAME = modStrings.NAME;
public static final String DESC = modStrings.DESCRIPTION;

public HoneycakeModifier() {
super(ID, NAME, DESC, null, true);//DESC.replaceAll("{A}", (new HoneyJar()).name).replaceAll("{B}", (new CatFaceCupcake()).name)
this.img = ImageMaster.loadImage("images/relics/cursedBlood.png");
}
}
Original file line number Diff line number Diff line change
@@ -1,19 +1,23 @@
package com.megacrit.cardcrawl.mod.replay.powers;

import com.evacipated.cardcrawl.mod.stslib.fields.cards.AbstractCard.AlwaysRetainField;
import com.evacipated.cardcrawl.mod.stslib.fields.cards.AbstractCard.AutoplayField;
import com.evacipated.cardcrawl.mod.stslib.fields.cards.AbstractCard.FleetingField;
import com.evacipated.cardcrawl.mod.stslib.fields.cards.AbstractCard.SoulboundField;
import com.megacrit.cardcrawl.core.AbstractCreature;
import com.megacrit.cardcrawl.core.CardCrawlGame;
import com.megacrit.cardcrawl.dungeons.AbstractDungeon;
import com.megacrit.cardcrawl.localization.PowerStrings;
import com.megacrit.cardcrawl.mod.replay.actions.common.EchoToDrawAction;
import com.megacrit.cardcrawl.mod.replay.cards.curses.LoomingEvil;
import com.megacrit.cardcrawl.powers.AbstractPower;

import basemod.interfaces.CloneablePowerInterface;

import com.megacrit.cardcrawl.actions.common.MakeTempCardInDrawPileAction;
import com.megacrit.cardcrawl.actions.common.RemoveSpecificPowerAction;
import com.megacrit.cardcrawl.cards.AbstractCard;
import com.megacrit.cardcrawl.cards.AbstractCard.CardType;

public class WhispersOfEvilPower extends AbstractPower implements CloneablePowerInterface
{
Expand Down Expand Up @@ -59,12 +63,22 @@ public void updateDescription()
this.description = DESCRIPTIONS[0] + this.amount + DESCRIPTIONS[1] + this.amount + DESCRIPTIONS[2];
}
}
//ban certain types of curses
private boolean isCurseValid(AbstractCard card) {
if (FleetingField.fleeting.get(card) || SoulboundField.soulbound.get(card) || (AutoplayField.autoplay.get(card) && card.type != CardType.POWER) || card.cardID.equals("conspire:Blindness") || card.cardID.equals("hubris:Disease") || card.cardID.equals(LoomingEvil.ID))
return false;
return true;
}

@Override
public void atEndOfTurn(boolean isPlayer)
{
this.flash();
for (int i = 0; i < this.amount; i++) {
final AbstractCard card = AbstractDungeon.returnRandomCurse().makeStatEquivalentCopy();
AbstractCard card = AbstractDungeon.returnRandomCurse().makeStatEquivalentCopy();
while (!isCurseValid(card)) {
card = AbstractDungeon.returnRandomCurse().makeStatEquivalentCopy();
}
AbstractDungeon.actionManager.addToBottom(new EchoToDrawAction(card, 1));
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
import com.megacrit.cardcrawl.actions.common.RelicAboveCreatureAction;
import com.megacrit.cardcrawl.actions.defect.IncreaseMaxOrbAction;
import com.megacrit.cardcrawl.cards.AbstractCard;
import com.megacrit.cardcrawl.cards.AbstractCard.CardColor;
import com.megacrit.cardcrawl.cards.blue.BeamCell;
import com.megacrit.cardcrawl.cards.blue.Capacitor;
import com.megacrit.cardcrawl.cards.blue.Claw;
Expand Down Expand Up @@ -44,15 +45,15 @@
import com.megacrit.cardcrawl.cards.red.Whirlwind;
import com.megacrit.cardcrawl.characters.*;

public class IronCore extends AbstractRelic
public class IronCore extends M_MistRelic
{
public static final String ID = "Iron Core";
private boolean hasBlues;
private boolean hasReds;
private boolean firstTurn;

public IronCore() {
super("Iron Core", "ironCoreOrb.png", RelicTier.STARTER, LandingSound.CLINK);
super("Iron Core", "ironCoreOrb.png", LandingSound.CLINK, CardColor.RED, CardColor.BLUE, 2);
this.hasReds = false;
this.hasBlues = false;
this.firstTurn = true;
Expand Down Expand Up @@ -106,7 +107,6 @@ public AbstractRelic makeCopy() {

@Override
public void onEquip() {
final long startTime = System.currentTimeMillis();
final ArrayList<AbstractCard> tmpPool = new ArrayList<AbstractCard>();
if (!(AbstractDungeon.player instanceof Ironclad)) {
AbstractDungeon.rareRelicPool.add("Magic Flower");
Expand Down Expand Up @@ -184,4 +184,50 @@ public void onEquip() {
}
}
}

@Override
ArrayList<AbstractCard> getNewCards() {
final ArrayList<AbstractCard> tmpPool = new ArrayList<AbstractCard>();
tmpPool.add(new Anger());
tmpPool.add(new Barricade());
tmpPool.add(new Clash());
tmpPool.add(new DoubleTap());
tmpPool.add(new DualWield());
tmpPool.add(new FireBreathing());
tmpPool.add(new Flex());
tmpPool.add(new Headbutt());
tmpPool.add(new HeavyBlade());
tmpPool.add(new Inflame());
tmpPool.add(new IronWave());
tmpPool.add(new Juggernaut());
tmpPool.add(new LimitBreak());
tmpPool.add(new Offering());
tmpPool.add(new Reaper());
tmpPool.add(new SeeingRed());
tmpPool.add(new Warcry());
tmpPool.add(new Whirlwind());
tmpPool.add(new MuscleTraining());tmpPool.add(new BeamCell());
tmpPool.add(new Capacitor());
tmpPool.add(new Claw());
tmpPool.add(new ColdSnap());
tmpPool.add(new Defragment());
tmpPool.add(new FTL());
tmpPool.add(new ForceField());
tmpPool.add(new GeneticAlgorithm());
tmpPool.add(new Glacier());
tmpPool.add(new Hologram());
tmpPool.add(new Overclock());
tmpPool.add(new Rebound());
tmpPool.add(new Recycle());
tmpPool.add(new RipAndTear());
tmpPool.add(new Turbo());
tmpPool.add(new ReplayGoodbyeWorld());
tmpPool.add(new ReplayRepulse());
tmpPool.add(new MirrorShield());
tmpPool.add(new SystemScan());
tmpPool.add(new WeaponsOverheat());
tmpPool.add(new IC_ScorchingBeam());
tmpPool.add(new IC_FireWall());
return tmpPool;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@

import com.megacrit.cardcrawl.actions.common.RelicAboveCreatureAction;
import com.megacrit.cardcrawl.cards.AbstractCard;
import com.megacrit.cardcrawl.cards.AbstractCard.CardColor;
import com.megacrit.cardcrawl.cards.red.*;
import com.megacrit.cardcrawl.characters.AbstractPlayer;
import com.megacrit.cardcrawl.dungeons.AbstractDungeon;
Expand All @@ -13,12 +14,12 @@

import slimebound.orbs.SpawnedSlime;

public class M_BurningSludge extends AbstractRelic
public class M_BurningSludge extends M_MistRelic
{
public static final String ID = "m_BurningSludge";

public M_BurningSludge() {
super(ID, "burningBlood_green.png", RelicTier.STARTER, LandingSound.MAGICAL);
super(ID, "burningBlood_green.png", LandingSound.MAGICAL, slimebound.patches.AbstractCardEnum.SLIMEBOUND, CardColor.RED);
}

@Override
Expand All @@ -39,9 +40,15 @@ public void onVictory() {
p.heal(slimeCount * 2);
}
}

@Override
public AbstractRelic makeCopy() {
return new M_BurningSludge();
}

@Override
public void onEquip() {
final ArrayList<AbstractCard> tmpPool = new ArrayList<AbstractCard>();
ArrayList<AbstractCard> getNewCards() {
final ArrayList<AbstractCard> tmpPool = new ArrayList<AbstractCard>();
tmpPool.add(new Offering());
tmpPool.add(new Hemogenesis());
tmpPool.add(new Pummel());
Expand All @@ -52,35 +59,7 @@ public void onEquip() {
tmpPool.add(new BloodForBlood());
tmpPool.add(new Rupture());
tmpPool.add(new Evolve());
for (final AbstractCard c : tmpPool) {
switch (c.rarity) {
case COMMON: {
AbstractDungeon.commonCardPool.addToTop(c);
AbstractDungeon.srcCommonCardPool.addToBottom(c);
continue;
}
case UNCOMMON: {
AbstractDungeon.uncommonCardPool.addToTop(c);
AbstractDungeon.srcUncommonCardPool.addToBottom(c);
continue;
}
case RARE: {
AbstractDungeon.rareCardPool.addToTop(c);
AbstractDungeon.srcRareCardPool.addToBottom(c);
continue;
}
default: {
AbstractDungeon.uncommonCardPool.addToTop(c);
AbstractDungeon.srcUncommonCardPool.addToBottom(c);
continue;
}
}
}
}

@Override
public AbstractRelic makeCopy() {
return new M_BurningSludge();
}
return tmpPool;
}
}

Original file line number Diff line number Diff line change
Expand Up @@ -7,19 +7,23 @@
import com.megacrit.cardcrawl.actions.common.HealAction;
import com.megacrit.cardcrawl.actions.common.RelicAboveCreatureAction;
import com.megacrit.cardcrawl.cards.AbstractCard;
import com.megacrit.cardcrawl.cards.AbstractCard.CardColor;
import com.megacrit.cardcrawl.cards.red.*;
import com.megacrit.cardcrawl.rooms.*;

import beaked.cards.*;

import com.megacrit.cardcrawl.characters.AbstractPlayer;
import com.megacrit.cardcrawl.dungeons.AbstractDungeon;
import com.megacrit.cardcrawl.mod.replay.cards.red.*;
import com.megacrit.cardcrawl.relics.*;

public class M_ByrdBlood extends AbstractRelic
public class M_ByrdBlood extends M_MistRelic
{
public static final String ID = "m_ByrdBlood";

public M_ByrdBlood() {
super(ID, "burningBlood_yellow.png", RelicTier.STARTER, LandingSound.MAGICAL);
super(ID, "burningBlood_yellow.png", LandingSound.MAGICAL, beaked.patches.AbstractCardEnum.BEAKED_YELLOW, CardColor.RED);
}

@Override
Expand All @@ -36,42 +40,7 @@ public void onGainStrength(ApplyPowerAction __instance) {
@Override
public void onEquip() {
AbstractDungeon.rareRelicPool.add("Magic Flower");
final long startTime = System.currentTimeMillis();
final ArrayList<AbstractCard> tmpPool = new ArrayList<AbstractCard>();
tmpPool.add(new Reaper());
tmpPool.add(new Feed());
tmpPool.add(new Hemogenesis());
tmpPool.add(new Flex());
tmpPool.add(new HeavyBlade());
tmpPool.add(new Massacre());
tmpPool.add(new Inflame());
tmpPool.add(new SpotWeakness());
tmpPool.add(new DemonForm());
tmpPool.add(new MuscleTraining());
for (final AbstractCard c : tmpPool) {
switch (c.rarity) {
case COMMON: {
AbstractDungeon.commonCardPool.addToTop(c);
AbstractDungeon.srcCommonCardPool.addToBottom(c);
continue;
}
case UNCOMMON: {
AbstractDungeon.uncommonCardPool.addToTop(c);
AbstractDungeon.srcUncommonCardPool.addToBottom(c);
continue;
}
case RARE: {
AbstractDungeon.rareCardPool.addToTop(c);
AbstractDungeon.srcRareCardPool.addToBottom(c);
continue;
}
default: {
AbstractDungeon.uncommonCardPool.addToTop(c);
AbstractDungeon.srcUncommonCardPool.addToBottom(c);
continue;
}
}
}
super.onEquip();
}
@Override
public int onPlayerHeal(final int healAmount) {
Expand All @@ -95,5 +64,31 @@ public void onVictory() {
public AbstractRelic makeCopy() {
return new M_ByrdBlood();
}

@Override
ArrayList<AbstractCard> getNewCards() {
final ArrayList<AbstractCard> tmpPool = new ArrayList<AbstractCard>();
tmpPool.add(new Reaper());
tmpPool.add(new Feed());
tmpPool.add(new Hemogenesis());
tmpPool.add(new Flex());
tmpPool.add(new HeavyBlade());
tmpPool.add(new Massacre());
tmpPool.add(new Inflame());
tmpPool.add(new SpotWeakness());
tmpPool.add(new DemonForm());
tmpPool.add(new MuscleTraining());

tmpPool.add(new BloodRitual());
tmpPool.add(new WarriorEssence());
tmpPool.add(new DesperateSwing());
tmpPool.add(new Resilience());
tmpPool.add(new SacrificialScars());
tmpPool.add(new WildInstinct());
tmpPool.add(new BloodForTheGods());
tmpPool.add(new DigDeeper());
tmpPool.add(new FeelMyPain());
return tmpPool;
}
}

Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ public class M_GuardianBlood extends M_MistRelic
public static final String ID = "m_GuardianBlood";

public M_GuardianBlood() {
super(ID, "burningBlood_orange.png", RelicTier.STARTER, LandingSound.MAGICAL, guardian.patches.AbstractCardEnum.GUARDIAN, CardColor.RED);
super(ID, "burningBlood_orange.png", LandingSound.MAGICAL, guardian.patches.AbstractCardEnum.GUARDIAN, CardColor.RED);
}

@Override
Expand Down
Loading

0 comments on commit fee7809

Please sign in to comment.