Skip to content

Commit

Permalink
UPDATE STRIKE TEXT
Browse files Browse the repository at this point in the history
  • Loading branch information
Jedi515 committed Dec 25, 2018
1 parent 2ec1f5d commit 53b67c2
Show file tree
Hide file tree
Showing 8 changed files with 210 additions and 3 deletions.
26 changes: 26 additions & 0 deletions src/jedi.java
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,15 @@
import com.megacrit.cardcrawl.dungeons.AbstractDungeon;
import com.megacrit.cardcrawl.dungeons.TheCity;
import com.megacrit.cardcrawl.helpers.CardLibrary;
import com.megacrit.cardcrawl.helpers.RelicLibrary;
import com.megacrit.cardcrawl.localization.*;
import gluttonmod.patches.AbstractCardEnum;
import mod.jedi.cards.blue.*;
import mod.jedi.cards.colorless.Cleanse;
import mod.jedi.cards.colorless.Forcepull;
import mod.jedi.cards.colorless.Forcepush;
import mod.jedi.cards.curses.Frostbite;
import mod.jedi.cards.red.OneStrike;
import mod.jedi.cards.red.StrikingStrike;
import mod.jedi.events.SwordDojo;
import mod.jedi.potions.CoolantLeak;
Expand All @@ -38,11 +41,17 @@ public class jedi
{

public static boolean isReplayLoaded;
public static boolean isConspireLoaded;
public static boolean isGluttonLoaded;
public static boolean isBeakedLoaded;

public static void initialize()
{
BaseMod.subscribe(new jedi());
isReplayLoaded = Loader.isModLoaded("ReplayTheSpireMod");
isConspireLoaded = Loader.isModLoaded("conspire");
isGluttonLoaded = Loader.isModLoaded("GluttonMod");
isBeakedLoaded = Loader.isModLoaded("beakedthecultist-sts");

}

Expand Down Expand Up @@ -85,6 +94,7 @@ public void receiveEditCards()

//Red
BaseMod.addCard(new StrikingStrike());
BaseMod.addCard(new OneStrike());

//Curses
BaseMod.addCard(new Frostbite());
Expand All @@ -100,6 +110,7 @@ public void receiveEditRelics()
BaseMod.addRelic(new FakeMustache(), RelicType.SHARED);
BaseMod.addRelic(new FirstAidKit(), RelicType.SHARED);
BaseMod.addRelic(new CrownOfSimplicity(), RelicType.SHARED);
BaseMod.addRelic(new HeavyJacket(), RelicType.SHARED);

BaseMod.addRelic(new LaserPointer(), RelicType.BLUE);
BaseMod.addRelic(new Superconductor(), RelicType.BLUE);
Expand All @@ -111,6 +122,21 @@ public void receiveEditRelics()

BaseMod.addRelic(new Zontanonomicon(), RelicType.SHARED);

if (isGluttonLoaded)
{
Leech glutLeech = new Leech();
BaseMod.addRelicToCustomPool(glutLeech, AbstractCardEnum.GLUTTON);
RelicLibrary.uncommonList.remove(glutLeech);
}

if (isBeakedLoaded)
{
Leech beakedLeech = new Leech();
BaseMod.addRelicToCustomPool(beakedLeech, beaked.patches.AbstractCardEnum.BEAKED_YELLOW);
RelicLibrary.uncommonList.remove(beakedLeech);
}


// if (isReplayLoaded) {
// BaseMod.addRelic(new OtherSneckoEye(), RelicType.SHARED);
// }
Expand Down
95 changes: 95 additions & 0 deletions src/mod/jedi/cards/red/OneStrike.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
package mod.jedi.cards.red;

import basemod.abstracts.CustomCard;
import com.evacipated.cardcrawl.mod.stslib.fields.cards.AbstractCard.FleetingField;
import com.megacrit.cardcrawl.actions.animations.TalkAction;
import com.megacrit.cardcrawl.actions.common.DamageAction;
import com.megacrit.cardcrawl.actions.common.RemoveSpecificPowerAction;
import com.megacrit.cardcrawl.cards.AbstractCard;
import com.megacrit.cardcrawl.cards.DamageInfo;
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 com.megacrit.cardcrawl.powers.*;
import conspire.powers.GhostlyPower;
import conspire.powers.HolyPower;
import sts_jedi.jedi;

public class OneStrike
extends CustomCard
{

public static final String ID = "jedi:onestrike";
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 UPGRADE_DESCRIPTION = cardStrings.UPGRADE_DESCRIPTION;
public static final int COST = 3;
public static final String IMG_PATH = "resources/images/cards/jedi_beta_attack.png";

public OneStrike()
{
super(ID, NAME, IMG_PATH, COST, DESCRIPTION, CardType.ATTACK, CardColor.RED, CardRarity.SPECIAL, CardTarget.ENEMY);
this.tags.add(CardTags.STRIKE);
this.exhaust = true;
this.cantUseMessage = "Cannot be used on bosses.";
FleetingField.fleeting.set(this, true);
}


public void use(AbstractPlayer p, AbstractMonster m) {
// AbstractDungeon.actionManager.addToBottom(new RemoveAllTemporaryHPAction(m, p));
// AbstractDungeon.actionManager.addToBottom(new ReplayLoseAllShieldingAction(m, p));
// There's no monster that uses temp.hp or shielding, so why bother.

// AbstractDungeon.actionManager.addToBottom(new RemoveSpecificPowerAction(m, p, BufferPower.POWER_ID));
// AbstractDungeon.actionManager.addToBottom(new RemoveSpecificPowerAction(m, p, IntangiblePower.POWER_ID));
// AbstractDungeon.actionManager.addToBottom(new RemoveSpecificPowerAction(m, p, IntangiblePlayerPower.POWER_ID));
// AbstractDungeon.actionManager.addToBottom(new RemoveSpecificPowerAction(m, p, InvinciblePower.POWER_ID));
// if (jedi.isConspireLoaded)
// {
// AbstractDungeon.actionManager.addToBottom(new RemoveSpecificPowerAction(m, p, GhostlyPower.POWER_ID));
// AbstractDungeon.actionManager.addToBottom(new RemoveSpecificPowerAction(m, p, HolyPower.POWER_ID));
// }

for (AbstractPower pow : m.powers)
{
AbstractDungeon.actionManager.addToBottom(new RemoveSpecificPowerAction(m, p, pow.ID));
}

AbstractDungeon.actionManager.addToBottom(new DamageAction(m, new DamageInfo(p, m.maxHealth * 2, DamageInfo.DamageType.HP_LOSS)));
AbstractDungeon.actionManager.addToBottom(new TalkAction(true, "ONE STRIKE!", 1.0F, 2.0F));
}

@Override
public void upgrade()
{
if (!this.upgraded) {
this.name += " Plus Ultra";
initializeTitle();
this.rawDescription = UPGRADE_DESCRIPTION;
initializeDescription();
}
}


public boolean canUse(AbstractPlayer p, AbstractMonster m)
{
boolean canUse = false;
if (m != null) {
if (m.type != AbstractMonster.EnemyType.BOSS) {
canUse = true;
}
}

return canUse;
}

public AbstractCard makeCopy()
{
return new OneStrike();
}

}
1 change: 1 addition & 0 deletions src/mod/jedi/cards/red/StrikingStrike.java
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@ public void upgrade()
{
if (!this.upgraded) {
upgradeName();
upgradeDamage(3);
this.rawDescription = UPGRADE_DESCRIPTION;
initializeDescription();
}
Expand Down
38 changes: 38 additions & 0 deletions src/mod/jedi/patches/StrikingStrikePatch.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
package mod.jedi.patches;

import com.evacipated.cardcrawl.modthespire.lib.SpirePatch;
import com.megacrit.cardcrawl.cards.AbstractCard;
import com.megacrit.cardcrawl.cards.red.PerfectedStrike;
import com.megacrit.cardcrawl.dungeons.AbstractDungeon;
import mod.jedi.cards.red.StrikingStrike;

@SpirePatch(clz = PerfectedStrike.class, method = "countCards")
public class StrikingStrikePatch
{
public static int Postfix(int __result)
{
for (AbstractCard c : AbstractDungeon.player.hand.group)
{
if (c instanceof StrikingStrike) {
__result++;
}
}

for (AbstractCard c : AbstractDungeon.player.drawPile.group)
{
if (c instanceof StrikingStrike) {
__result++;
}
}

for (AbstractCard c : AbstractDungeon.player.discardPile.group)
{
if (c instanceof StrikingStrike) {
__result++;
}
}

return __result;
}

}
31 changes: 31 additions & 0 deletions src/mod/jedi/relics/HeavyJacket.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
package mod.jedi.relics;

import basemod.abstracts.CustomRelic;
import com.badlogic.gdx.graphics.Texture;
import com.megacrit.cardcrawl.actions.common.ApplyPowerAction;
import com.megacrit.cardcrawl.dungeons.AbstractDungeon;
import com.megacrit.cardcrawl.powers.PlatedArmorPower;

public class HeavyJacket
extends CustomRelic
{

public static final String ID = "jedi:heavyjacket";
public static final String IMG_PATH = "resources/images/relics/beta_rock.png";

public HeavyJacket()
{
super(ID, new Texture(IMG_PATH), RelicTier.UNCOMMON, LandingSound.FLAT);
}

public void atBattleStart()
{
int PA = AbstractDungeon.player.relics.size() / 2;
AbstractDungeon.actionManager.addToBottom(new ApplyPowerAction(AbstractDungeon.player, AbstractDungeon.player, new PlatedArmorPower(AbstractDungeon.player, PA), PA));
}

public String getUpdatedDescription()
{
return this.DESCRIPTIONS[0];
}
}
2 changes: 2 additions & 0 deletions src/mod/jedi/relics/PaperFaux.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@
import com.badlogic.gdx.graphics.Texture;
import com.megacrit.cardcrawl.relics.AbstractRelic;

// If you wonder how this works, go check paper patches in patches folder.

public class PaperFaux
extends CustomRelic
{
Expand Down
12 changes: 9 additions & 3 deletions src/resources/localization/cardStrings.json
Original file line number Diff line number Diff line change
Expand Up @@ -94,8 +94,14 @@
},
"jedi:strikingstrike":
{
"NAME": "Striking Strike",
"DESCRIPTION": "Deal !D! damage. NL Play a random Strike card on the same enemy. NL Exhaust.",
"UPGRADE_DESCRIPTION" : "Deal !D! damage. NL Play a random upgraded Strike card on the same enemy. NL Exhaust."
"NAME": "Strikeing Strike",
"DESCRIPTION": "Deal !D! damage. NL Play a random Strike on the same enemy. NL Exhaust.",
"UPGRADE_DESCRIPTION" : "Deal !D! damage. NL Play a random upgraded Strike on the same enemy. NL Exhaust."
},
"jedi:onestrike":
{
"NAME": "One Strike",
"DESCRIPTION": "Kill a non-boss enemy. NL Fleeting.",
"UPGRADE_DESCRIPTION": "Kill a non-boss enemy. NL Realize you wasted an [#FFFFFF]upgrade[]. NL Fleeting."
}
}
8 changes: 8 additions & 0 deletions src/resources/localization/relicStrings.json
Original file line number Diff line number Diff line change
Expand Up @@ -112,5 +112,13 @@
"DESCRIPTIONS": [
"#yStarter cards are played twice."
]
},
"jedi:heavyjacket":
{
"NAME": "Heavy Jacket",
"FLAVOR": "That's a lot of pockets for a single jacket.",
"DESCRIPTIONS": [
"At the start of each combat, gain #b1 #yPlated #yArmor for every #b2 relics you have."
]
}
}

0 comments on commit 53b67c2

Please sign in to comment.