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
31 changes: 31 additions & 0 deletions src/main/java/chronoMods/coop/CoopCourierRoom.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
package chronoMods.coop;

import chronoMods.coop.courier.CoopCourier;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
import com.megacrit.cardcrawl.dungeons.AbstractDungeon;
import com.megacrit.cardcrawl.rooms.AbstractRoom;

// for downfall mod
public class CoopCourierRoom extends AbstractRoom {
private chronoMods.coop.courier.CoopCourierRoom realCoopCourierRoom;

public CoopCourierRoom() {
this.realCoopCourierRoom = new chronoMods.coop.courier.CoopCourierRoom();
}

public void onPlayerEntry() {
realCoopCourierRoom.onPlayerEntry();
}

public void update() {
realCoopCourierRoom.update();
}

public void render(SpriteBatch sb) {
realCoopCourierRoom.render(sb);
}

public void dispose() {
realCoopCourierRoom.dispose();
}
}
46 changes: 30 additions & 16 deletions src/main/java/chronoMods/coop/CoopNeowReward.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package chronoMods.coop;

import basemod.BaseMod;
import chronoMods.TogetherManager;
import chronoMods.coop.hubris.DuctTapeCard;
import chronoMods.coop.infusions.InfusionHelper;
Expand Down Expand Up @@ -53,6 +54,8 @@
import org.apache.logging.log4j.Logger;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;

public class CoopNeowReward {
public static class NeowRewardDef {
Expand Down Expand Up @@ -680,23 +683,29 @@ public void activate() {
// Safety check for shittily implemented mods
if (AbstractDungeon.player.getStartingRelics().size() == 0) { return; }

AbstractDungeon.player.loseRelic(((AbstractRelic)AbstractDungeon.player.relics.get(0)).relicId);
if (AbstractDungeon.player.getStartingRelics().get(0).equals("Burning Blood")) {
AbstractDungeon.getCurrRoom().spawnRelicAndObtain((Settings.WIDTH / 2), (Settings.HEIGHT / 2), RelicLibrary.getRelic("Black Blood").makeCopy());
AbstractDungeon.bossRelicPool.remove("Black Blood");
}
if (AbstractDungeon.player.getStartingRelics().get(0).equals("Ring of the Snake")) {
AbstractDungeon.getCurrRoom().spawnRelicAndObtain((Settings.WIDTH / 2), (Settings.HEIGHT / 2), RelicLibrary.getRelic("Ring of the Serpent").makeCopy());
AbstractDungeon.bossRelicPool.remove("Ring of the Serpent");
}
if (AbstractDungeon.player.getStartingRelics().get(0).equals("Cracked Core")) {
AbstractDungeon.getCurrRoom().spawnRelicAndObtain((Settings.WIDTH / 2), (Settings.HEIGHT / 2), RelicLibrary.getRelic("FrozenCore").makeCopy());
AbstractDungeon.bossRelicPool.remove("FrozenCore");
}
if (AbstractDungeon.player.getStartingRelics().get(0).equals("PureWater")) {
AbstractDungeon.getCurrRoom().spawnRelicAndObtain((Settings.WIDTH / 2), (Settings.HEIGHT / 2), RelicLibrary.getRelic("HolyWater").makeCopy());
AbstractDungeon.bossRelicPool.remove("HolyWater");
Map<String, String> relicUpgrade = new HashMap<>();
relicUpgrade.put("Burning Blood", "Black Blood");
relicUpgrade.put("Ring of the Snake", "Ring of the Serpent");
relicUpgrade.put("Cracked Core", "FrozenCore");
relicUpgrade.put("PureWater", "HolyWater");
relicUpgrade.put("Guardian:ModeShifter", "Guardian:ModeShifterPlus");
relicUpgrade.put("Slimebound:AbsorbEndCombat", "Slimebound:AbsorbEndCombatUpgraded");
relicUpgrade.put("champ:ChampionCrown", "champ:ChampionCrownUpgraded");
relicUpgrade.put("hermit:Momento", "hermit:ClaspedLocket");
relicUpgrade.put("bronze:BronzeCore", "bronze:PlatinumCore");
relicUpgrade.put("collector:EmeraldTorch", "collector:PrismaticTorch");
relicUpgrade.put("sneckomod:SneckoBoss", "sneckomod:SneckoCommon");
relicUpgrade.put("sneckomod:Snecko Eye", "sneckomod:SuperSneckoEye");
relicUpgrade.put("sneckomod:SneckoSoul", "sneckomod:SuperSneckoSoul");
relicUpgrade.put("hexamod:SpiritBrand", "hexamod:UnbrokenSoul");
relicUpgrade.put("Gremlin:GremlinKnob", "Gremlin:GremlinKnobUpgrade");
if (relicUpgrade.containsKey(AbstractDungeon.player.getStartingRelics().get(0))) {
AbstractDungeon.player.loseRelic(((AbstractRelic) AbstractDungeon.player.relics.get(0)).relicId);
String upgradeRelic = relicUpgrade.get(AbstractDungeon.player.getStartingRelics().get(0));
AbstractDungeon.getCurrRoom().spawnRelicAndObtain((Settings.WIDTH / 2), (Settings.HEIGHT / 2), RelicLibrary.getRelic(upgradeRelic).makeCopy());
AbstractDungeon.bossRelicPool.remove(upgradeRelic);
}

break;
case RANDOM_CLASS_RELIC:
AbstractRelic r = null;
Expand All @@ -721,6 +730,11 @@ public void activate() {
r = RelicLibrary.whiteList.get(NeowEvent.rng.random(RelicLibrary.whiteList.size()-1));
} while (r.tier == AbstractRelic.RelicTier.BOSS || r.tier == AbstractRelic.RelicTier.STARTER);
break;
default:
do {
AbstractRelic[] relicList = BaseMod.getRelicsInCustomPool(AbstractDungeon.player.getCardColor()).values().toArray(new AbstractRelic[0]);
r = relicList[NeowEvent.rng.random(relicList.length - 1)];
} while (r.tier == AbstractRelic.RelicTier.BOSS || r.tier == AbstractRelic.RelicTier.STARTER);
}
if (r != null) {
AbstractDungeon.getCurrRoom().spawnRelicAndObtain((Settings.WIDTH / 2), (Settings.HEIGHT / 2), r.makeCopy());
Expand Down