Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 27 additions & 0 deletions src/main/java/automaton/FunctionHelper.java
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,17 @@
import com.megacrit.cardcrawl.cards.CardGroup;
import com.megacrit.cardcrawl.core.Settings;
import com.megacrit.cardcrawl.dungeons.AbstractDungeon;
import com.megacrit.cardcrawl.monsters.AbstractMonster;
import com.megacrit.cardcrawl.monsters.MonsterGroup;
import com.megacrit.cardcrawl.powers.AbstractPower;
import com.megacrit.cardcrawl.relics.AbstractRelic;
import com.megacrit.cardcrawl.rooms.AbstractRoom;
import com.megacrit.cardcrawl.rooms.MonsterRoom;
import com.megacrit.cardcrawl.vfx.BobEffect;
import downfall.util.TextureLoader;
import expansioncontent.util.DownfallAchievementUnlocker;
import expansioncontent.util.DownfallAchievementVariables;
import sneckomod.TheSnecko;

import java.util.HashMap;

Expand Down Expand Up @@ -139,6 +146,26 @@ public static void addToSequence(AbstractCard c) {
((AbstractBronzeCard) c).onInput();
}
if (held.size() == max()) {
boolean bossPresent = false;
AbstractRoom currentRoom = AbstractDungeon.getCurrRoom();
if (currentRoom instanceof MonsterRoom) {
MonsterGroup monsters = currentRoom.monsters;
for (AbstractMonster monster : monsters.monsters) {
if (monster.type == AbstractMonster.EnemyType.BOSS) {
bossPresent = true;
break;
}
}
}

if (bossPresent) {
DownfallAchievementVariables.functionCreated = true;
}

if (AbstractDungeon.player instanceof TheSnecko) {
DownfallAchievementUnlocker.unlockAchievement("NOODLE_CODE");
}

output();
}
secretStorage = makeFunction(false);
Expand Down
6 changes: 6 additions & 0 deletions src/main/java/automaton/cards/Mutator.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@
import com.megacrit.cardcrawl.characters.AbstractPlayer;
import com.megacrit.cardcrawl.monsters.AbstractMonster;
import com.megacrit.cardcrawl.powers.StrengthPower;
import expansioncontent.util.DownfallAchievementUnlocker;
import expansioncontent.util.DownfallAchievementVariables;

import static automaton.AutomatonMod.makeBetaCardPath;

Expand All @@ -28,6 +30,10 @@ public void use(AbstractPlayer p, AbstractMonster m) {
atb(new SelectCardsInHandAction(1, masterUI.TEXT[6], c -> c.type == CardType.STATUS, (cards) -> {
att(new MakeTempCardInHandAction(q.makeStatEquivalentCopy(), true));
att(new ExhaustSpecificCardAction(cards.get(0), p.hand, true));
DownfallAchievementVariables.statusesMutated++;
if (DownfallAchievementVariables.statusesMutated >= 3) {
DownfallAchievementUnlocker.unlockAchievement("TRIPLE_SETTER");
}
}));
}

Expand Down
14 changes: 5 additions & 9 deletions src/main/java/automaton/events/ShapeFactory.java
Original file line number Diff line number Diff line change
@@ -1,27 +1,20 @@
package automaton.events;


import automaton.cards.DazingPulse;
import automaton.cards.Explode;
import automaton.cards.Spike;
import automaton.util.DazingPulseReward;
import automaton.util.DonuBeamReward;
import automaton.util.ExplodeReward;
import automaton.util.SpikeReward;
import com.megacrit.cardcrawl.core.CardCrawlGame;
import com.megacrit.cardcrawl.dungeons.AbstractDungeon;
import com.megacrit.cardcrawl.events.AbstractImageEvent;
import com.megacrit.cardcrawl.helpers.MonsterHelper;
import com.megacrit.cardcrawl.localization.EventStrings;
import com.megacrit.cardcrawl.monsters.MonsterGroup;
import com.megacrit.cardcrawl.monsters.beyond.Exploder;
import com.megacrit.cardcrawl.monsters.beyond.Repulsor;
import com.megacrit.cardcrawl.monsters.beyond.Spiker;
import com.megacrit.cardcrawl.monsters.exordium.SlaverBlue;
import com.megacrit.cardcrawl.relics.ChampionsBelt;
import com.megacrit.cardcrawl.relics.CloakClasp;
import com.megacrit.cardcrawl.relics.WristBlade;
import slimebound.SlimeboundMod;
import expansioncontent.util.DownfallAchievementVariables;

public class ShapeFactory extends AbstractImageEvent {
public static final String ID = "bronze:ShapeFactory";
Expand Down Expand Up @@ -167,6 +160,9 @@ private void beginFight(){
if (fightExploder){
AbstractDungeon.getCurrRoom().rewards.add(new ExplodeReward());
}
if (fightSpiker && fightRepulsor && fightExploder) {
DownfallAchievementVariables.threeShapesFought = true;
}
int numShapes = AbstractDungeon.getCurrRoom().rewards.size();
logMetric(ID, "Fought " + numShapes + " shapes");

Expand Down Expand Up @@ -207,4 +203,4 @@ private enum CurScreen {
CurScreen() {
}
}
}
}
5 changes: 0 additions & 5 deletions src/main/java/champ/stances/BerserkerStance.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,18 +8,13 @@
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.graphics.Color;
import com.badlogic.gdx.math.MathUtils;
import com.megacrit.cardcrawl.actions.AbstractGameAction;
import com.megacrit.cardcrawl.actions.common.ApplyPowerAction;
import com.megacrit.cardcrawl.actions.common.HealAction;
import com.megacrit.cardcrawl.actions.common.RemoveSpecificPowerAction;
import com.megacrit.cardcrawl.core.Settings;
import com.megacrit.cardcrawl.dungeons.AbstractDungeon;
import com.megacrit.cardcrawl.powers.AbstractPower;
import com.megacrit.cardcrawl.powers.StrengthPower;
import com.megacrit.cardcrawl.vfx.stance.StanceAuraEffect;
import guardian.vfx.DefensiveModeStanceParticleEffect;

import static champ.ChampMod.fatigue;
import static champ.ChampMod.vigor;

public class BerserkerStance extends AbstractChampStance {
Expand Down
6 changes: 6 additions & 0 deletions src/main/java/champ/stances/UltimateStance.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
import champ.ChampChar;
import champ.ChampMod;
import com.megacrit.cardcrawl.stances.AbstractStance;
import expansioncontent.util.DownfallAchievementUnlocker;
import expansioncontent.util.DownfallAchievementVariables;

public class UltimateStance extends AbstractChampStance {

Expand Down Expand Up @@ -47,6 +49,10 @@ public void onEnterStance() {
super.onEnterStance();
ChampMod.enteredBerserkerThisTurn = true;
ChampMod.enteredDefensiveThisTurn = true;
DownfallAchievementVariables.enteredUltimateStance++;
if (DownfallAchievementVariables.enteredUltimateStance >= 3) {
DownfallAchievementUnlocker.unlockAchievement("I_AM_THE_ONE");
}
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@
import com.megacrit.cardcrawl.ui.panels.energyorb.EnergyOrbRed;
import downfall.downfallMod;
import downfall.monsters.NeowBoss;
import expansioncontent.util.DownfallAchievementUnlocker;
import guardian.powers.ConstructPower;
import hermit.util.TextureLoader;
import slimebound.SlimeboundMod;
Expand Down Expand Up @@ -193,6 +194,11 @@ public void die() {
}
}
}

if (AbstractDungeon.player instanceof ChampChar && AbstractDungeon.actNum == 1) {
DownfallAchievementUnlocker.unlockAchievement("MY_BELT");
}

}

@Override
Expand Down
20 changes: 17 additions & 3 deletions src/main/java/collector/cards/Goodbye.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,14 @@
import com.megacrit.cardcrawl.characters.AbstractPlayer;
import com.megacrit.cardcrawl.monsters.AbstractMonster;
import com.megacrit.cardcrawl.vfx.combat.VerticalAuraEffect;
import expansioncontent.util.DownfallAchievementUnlocker;

import static collector.CollectorMod.makeID;
import static collector.util.Wiz.applyToEnemyTop;
import static collector.util.Wiz.atb;

public class Goodbye extends AbstractCollectorCard {
public final static String ID = makeID(Goodbye.class.getSimpleName());
// intellij stuff skill, enemy, rare, , , , , 2, 1

public Goodbye() {
super(ID, 2, CardType.SKILL, CardRarity.RARE, CardTarget.ENEMY);
Expand All @@ -33,8 +33,22 @@ public void use(AbstractPlayer p, AbstractMonster m) {
public void update() {
isDone = true;
if (m.hasPower(DoomPower.POWER_ID)) {
int count = m.getPower(DoomPower.POWER_ID).amount;
applyToEnemyTop(m, new DoomPower(m, count * magicNumber));
int initialDoom = m.getPower(DoomPower.POWER_ID).amount;
int doomToApply = initialDoom * magicNumber;
applyToEnemyTop(m, new DoomPower(m, doomToApply));

addToBot(new AbstractGameAction() {
@Override
public void update() {
isDone = true;
if (m.hasPower(DoomPower.POWER_ID)) {
int finalDoom = m.getPower(DoomPower.POWER_ID).amount;
if (finalDoom - initialDoom >= 100) {
DownfallAchievementUnlocker.unlockAchievement("SAYONARA");
}
}
}
});
}
}
});
Expand Down
2 changes: 2 additions & 0 deletions src/main/java/collector/cards/collectibles/FinalBossCard.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
import com.megacrit.cardcrawl.characters.AbstractPlayer;
import com.megacrit.cardcrawl.monsters.AbstractMonster;
import com.megacrit.cardcrawl.powers.InvinciblePower;
import expansioncontent.util.DownfallAchievementUnlocker;

import static collector.CollectorMod.makeID;
import static collector.util.Wiz.atb;
Expand All @@ -20,6 +21,7 @@ public FinalBossCard() {
public void use(AbstractPlayer p, AbstractMonster m) {
atb(new RemoveSpecificPowerAction(m, p, InvinciblePower.POWER_ID));
atb(new StunMonsterAction(m, p));
DownfallAchievementUnlocker.unlockAchievement("THE_BIGGER_THEY_ARE");
}

public void upp() {
Expand Down
6 changes: 5 additions & 1 deletion src/main/java/downfall/downfallMod.java
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,7 @@
import guardian.rewards.GemReward;
import guardian.rewards.GemRewardAllRarities;
import hermit.HermitMod;
import hermit.characters.hermit;
import slimebound.SlimeboundMod;
import slimebound.characters.SlimeboundCharacter;
import slimebound.potions.ThreeZeroPotion;
Expand Down Expand Up @@ -1367,6 +1368,9 @@ public void receiveStartGame() {
AbstractDungeon.player.increaseMaxOrbSlots(1, false);
}
}
// if (CardCrawlGame.loadingSave && (EvilModeCharacterSelect.evilMode || downfallMod.contentSharing_events)) {
// addPotions();
// }
}

@Override
Expand Down Expand Up @@ -1403,7 +1407,7 @@ public void receiveStartAct() {


public static boolean isDownfallCharacter(AbstractPlayer p) {
if (p instanceof SlimeboundCharacter || p instanceof TheHexaghost || p instanceof GuardianCharacter || p instanceof TheSnecko || p instanceof ChampChar || p instanceof AutomatonChar || p instanceof GremlinCharacter || p instanceof hermit.characters.hermit || p instanceof CollectorChar) {
if (p instanceof SlimeboundCharacter || p instanceof TheHexaghost || p instanceof GuardianCharacter || p instanceof TheSnecko || p instanceof ChampChar || p instanceof AutomatonChar || p instanceof GremlinCharacter || p instanceof hermit || p instanceof CollectorChar) {
return true;
}
return false;
Expand Down
2 changes: 2 additions & 0 deletions src/main/java/downfall/events/Beggar_Evil.java
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
import com.megacrit.cardcrawl.vfx.cardManip.PurgeCardEffect;
import com.megacrit.cardcrawl.vfx.cardManip.ShowCardAndObtainEffect;
import downfall.downfallMod;
import expansioncontent.util.DownfallAchievementUnlocker;
import slimebound.SlimeboundMod;

import java.util.ArrayList;
Expand Down Expand Up @@ -193,6 +194,7 @@ protected void buttonEffect(int buttonPressed) {
this.imageEventText.clearAllDialogs();
this.imageEventText.updateBodyText(DESCRIPTIONSALT[7]);
AbstractDungeon.gridSelectScreen.open(CardGroup.getGroupWithoutBottledCards(AbstractDungeon.player.masterDeck.getPurgeableCards()), 2, OPTIONSOG[3], false, false, false, true);
DownfallAchievementUnlocker.unlockAchievement("BULLY");
this.screen = CurScreen.END;
this.imageEventText.setDialogOption(OPTIONS[5]);
break;
Expand Down
1 change: 1 addition & 0 deletions src/main/java/downfall/patches/BanStuffPatch.java
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@

package downfall.patches;

import com.evacipated.cardcrawl.modthespire.lib.SpirePatch;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -85,4 +85,4 @@ public void edit(MethodCall m) throws CannotCompileException {
}
}

}
}
Loading