Skip to content

Commit

Permalink
2.1.3: stability; torii no longer show animation multiple times
Browse files Browse the repository at this point in the history
  • Loading branch information
TheDanDLion committed Sep 15, 2023
1 parent b067830 commit e410cf6
Show file tree
Hide file tree
Showing 18 changed files with 84 additions and 63 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@ public class StackableBoots {

public static void countBoots() {
numBoots = 0;
if (AbstractDungeon.player == null)
return;
for (AbstractRelic relic : AbstractDungeon.player.relics) {
if (relic.relicId.equals(Boot.ID)) {
numBoots++;
Expand All @@ -32,6 +34,8 @@ public static void countBoots() {
}

public static void incBoots(AbstractRelic r) {
if (r == null || AbstractDungeon.player == null)
return;
numBoots++;
r.description = r.getUpdatedDescription();
r.tips.get(0).body = r.description;
Expand Down Expand Up @@ -60,7 +64,7 @@ public static String Postfix(String __result) {
)
public static class BootDamagePatch {
public static int Postfix(int __result, Boot __instance, DamageInfo info, int damageAmount) {
if (!MoreStackableRelicsInitializer.enableBootStacking)
if (!MoreStackableRelicsInitializer.enableBootStacking || __instance == null || info == null)
return __result;
int threshold = MoreStackableRelicsInitializer.enableGigaBoot ? 5 * numBoots : 5;
if (info.owner != null && info.type != DamageInfo.DamageType.HP_LOSS && info.type != DamageInfo.DamageType.THORNS && damageAmount > 0 && damageAmount < threshold) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,14 +23,6 @@

public class StackableCables {

public static void triggerOnEndOfTurn() {
for (AbstractRelic relic : AbstractDungeon.player.relics) {
if (relic.relicId.equals(GoldPlatedCables.ID)) {
((AbstractOrb)AbstractDungeon.player.orbs.get(0)).onEndOfTurn();
}
}
}

@SpirePatch2(
clz = TriggerEndOfTurnOrbsAction.class,
method = "update"
Expand All @@ -40,7 +32,7 @@ public static class TriggerAllGoldPlatedCablesOnEndTurn {
locator = Locator.class
)
public static void Insert(TriggerEndOfTurnOrbsAction __instance) {
if (!MoreStackableRelicsInitializer.enableCableStacking)
if (!MoreStackableRelicsInitializer.enableCableStacking || __instance == null || AbstractDungeon.player == null || AbstractDungeon.player.orbs == null || AbstractDungeon.player.orbs.isEmpty())
return;
if (!(AbstractDungeon.player.orbs.get(0) instanceof EmptyOrbSlot)) {
boolean first = true;
Expand Down Expand Up @@ -73,7 +65,7 @@ public static class TriggerAllGoldPlatedCablesOnImpulse {
locator = Locator.class
)
public static void Insert() {
if (!MoreStackableRelicsInitializer.enableCableStacking)
if (!MoreStackableRelicsInitializer.enableCableStacking || AbstractDungeon.player == null || AbstractDungeon.player.orbs != null || AbstractDungeon.player.orbs.isEmpty())
return;
if (!(AbstractDungeon.player.orbs.get(0) instanceof EmptyOrbSlot)) {
boolean first = true;
Expand Down Expand Up @@ -107,7 +99,7 @@ public static class TriggerAllGoldPlatedCablesOnDarkImpulse {
locator = Locator.class
)
public static void Insert() {
if (!MoreStackableRelicsInitializer.enableCableStacking)
if (!MoreStackableRelicsInitializer.enableCableStacking || AbstractDungeon.player == null || AbstractDungeon.player.orbs == null || AbstractDungeon.player.orbs.isEmpty())
return;
if (!(AbstractDungeon.player.orbs.get(0) instanceof EmptyOrbSlot)
&& (AbstractDungeon.player.orbs.get(0) instanceof Dark)) {
Expand Down Expand Up @@ -142,7 +134,7 @@ public static class TriggerAllGoldPlatedCablesOnStartOfTurn {
locator = Locator.class
)
public static void Insert(AbstractPlayer __instance) {
if (!MoreStackableRelicsInitializer.enableCableStacking)
if (!MoreStackableRelicsInitializer.enableCableStacking || __instance == null || __instance.orbs == null || __instance.orbs.isEmpty())
return;
if (!(__instance.orbs.get(0) instanceof EmptyOrbSlot)) {
boolean first = true;
Expand Down Expand Up @@ -172,7 +164,7 @@ private static class Locator extends SpireInsertLocator {
)
public static class IncreaseTriggersForStsLibPatch {
public static void Prefix(AbstractGameAction __instance, float ___duration, AbstractOrb ___targetOrb) {
if (!MoreStackableRelicsInitializer.enableCableStacking)
if (!MoreStackableRelicsInitializer.enableCableStacking || __instance == null || ___targetOrb == null || AbstractDungeon.player != null)
return;
if (___duration == Settings.ACTION_DUR_FAST && !AbstractDungeon.player.orbs.isEmpty() && AbstractDungeon.player.orbs.get(0) == ___targetOrb) {
boolean first = true;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,8 @@ public class StackableCalipers {
public static int numCalipers = 0;

public static void countCalipers() {
if (AbstractDungeon.player == null)
return;
numCalipers = 0;
for (AbstractRelic relic : AbstractDungeon.player.relics)
if (relic.relicId.equals(Calipers.ID))
Expand All @@ -33,6 +35,8 @@ public static void countCalipers() {
}

public static void incCalipers(AbstractRelic r) {
if (r == null || AbstractDungeon.player == null)
return;
numCalipers++;
r.description = r.getUpdatedDescription();
r.tips.get(0).body = r.description;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ public class StackableChampionsBelts {
locator = Locator.class
)
public static void Insert(ApplyPowerAction __instance, AbstractPower ___powerToApply) {
if (!MoreStackableRelicsInitializer.enableChampBeltStacking)
if (!MoreStackableRelicsInitializer.enableChampBeltStacking || __instance == null || ___powerToApply == null || __instance.target != null)
return;
if (__instance.source != null && __instance.source.isPlayer && __instance.target != __instance.source
&& ___powerToApply.ID.equals(VulnerablePower.POWER_ID) && !__instance.target.hasPower(ArtifactPower.POWER_ID)) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,8 +53,10 @@ public static class ContinueDreamCatcherChainPatch {
locator = Locator.class
)
public static void Insert(AbstractRoom __instance) {
if (!MoreStackableRelicsInitializer.enableDreamCatcherStacking || counter == 0 || !inChain || choosing || AbstractDungeon.screen == AbstractDungeon.CurrentScreen.CARD_REWARD || !(__instance instanceof RestRoom))
return;
if (!MoreStackableRelicsInitializer.enableDreamCatcherStacking || counter == 0 || !inChain
|| choosing || AbstractDungeon.screen == AbstractDungeon.CurrentScreen.CARD_REWARD
|| __instance == null || !(__instance instanceof RestRoom))
return;
MoreStackableRelicsInitializer.logger.info("Counter: " + counter);
counter--;
AbstractDungeon.overlayMenu.proceedButton.hideInstantly();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ public class StackableGirya {

public static boolean isButtonAdded(Girya girya) {
boolean val = buttonAdded;
if (MoreStackableRelicsInitializer.enableGiryaStacking) {
if (MoreStackableRelicsInitializer.enableGiryaStacking && girya != null) {
if (girya.counter > 2)
return true;
buttonAdded = true;
Expand All @@ -43,7 +43,7 @@ public static boolean isButtonAdded(Girya girya) {
}

public static void incrementAllGirya() {
if (!MoreStackableRelicsInitializer.enableGiryaStacking)
if (!MoreStackableRelicsInitializer.enableGiryaStacking || AbstractDungeon.player == null)
return;
boolean first = true;
for (AbstractRelic relic : AbstractDungeon.player.relics)
Expand All @@ -69,7 +69,7 @@ public static boolean getGiryaStacking() {
)
public static class AmendDescriptionPatch {
public static String Postfix(String __result) {
if (AbstractDungeon.player == null || DESCRIPTIONS == null || !MoreStackableRelicsInitializer.enableGiryaStacking)
if (AbstractDungeon.player == null || DESCRIPTIONS == null || !MoreStackableRelicsInitializer.enableGiryaStacking || __result == null)
return __result;
return __result + " NL NL " + DESCRIPTIONS[0];
}
Expand Down Expand Up @@ -115,7 +115,7 @@ public static class AddDisabledButtonPatch {
locator = Locator.class
)
public static void Insert(ArrayList<AbstractCampfireOption> ___buttons) {
if (MoreStackableRelicsInitializer.enableGiryaStacking) {
if (MoreStackableRelicsInitializer.enableGiryaStacking && ___buttons != null && AbstractDungeon.player != null) {
if (AbstractDungeon.player.hasRelic(Girya.ID)) {
for (AbstractCampfireOption option : ___buttons)
if (option instanceof LiftOption)
Expand Down Expand Up @@ -158,6 +158,8 @@ public void edit(MethodCall m) {
locator = Locator.class
)
public static void Insert() {
if (AbstractDungeon.player == null)
return;
if (!MoreStackableRelicsInitializer.enableGiryaStacking) {
if (AbstractDungeon.player.getRelic(Girya.ID).counter > 3) {
AbstractDungeon.player.getRelic(Girya.ID).counter = 3;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
)
public class StackableGoldenEyes {
public static void Postfix(ScryAction __instance) {
if (!MoreStackableRelicsInitializer.enableGoldenEyeStacking)
if (!MoreStackableRelicsInitializer.enableGoldenEyeStacking || __instance == null)
return;
boolean first = true; // first one is proc'd already
for (AbstractRelic relic : AbstractDungeon.player.relics)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@ public class StackableOddMushrooms {

public static void countMushrooms() {
numMushrooms = 0;
if (AbstractDungeon.player == null)
return;
for (AbstractRelic relic : AbstractDungeon.player.relics) {
if (relic.relicId.equals(OddMushroom.ID)) {
numMushrooms++;
Expand All @@ -33,6 +35,8 @@ public static void countMushrooms() {
}

public static void incMushrooms(AbstractRelic r) {
if (AbstractDungeon.player == null || r == null)
return;
numMushrooms++;
r.description = r.getUpdatedDescription();
r.tips.get(0).body = r.description;
Expand All @@ -56,7 +60,7 @@ private static float getMultiplier() {
)
public static class AmendDescriptionPatch {
public static String Postfix(String __result) {
if (AbstractDungeon.player == null || DESCRIPTIONS == null || !MoreStackableRelicsInitializer.enableOddMushroomStacking || numMushrooms == 1)
if (AbstractDungeon.player == null || __result == null || DESCRIPTIONS == null || !MoreStackableRelicsInitializer.enableOddMushroomStacking || numMushrooms == 1)
return __result;
return __result + " NL NL " + DESCRIPTIONS[0] + ((int)(100.0F * (getMultiplier() - 1.0F))) + DESCRIPTIONS[1];
}
Expand All @@ -68,7 +72,7 @@ public static String Postfix(String __result) {
)
public static class ApplyAllMushroomsPatch {
public static float Postfix(float __result, VulnerablePower __instance, DamageInfo.DamageType type) {
if (!MoreStackableRelicsInitializer.enableOddMushroomStacking)
if (!MoreStackableRelicsInitializer.enableOddMushroomStacking || __instance == null || type == null)
return __result;
if (type == DamageInfo.DamageType.NORMAL && AbstractDungeon.player.hasRelic("Odd Mushroom")) {
return __result / 1.25F * getMultiplier();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@ public class StackablePaperCranes {

public static void countCranes() {
numCranes = 0;
if (AbstractDungeon.player == null)
return;
for (AbstractRelic relic : AbstractDungeon.player.relics) {
if (relic.relicId.equals(PaperCrane.ID)) {
numCranes++;
Expand All @@ -35,6 +37,8 @@ public static void countCranes() {
}

public static void incCranes(AbstractRelic r) {
if (AbstractDungeon.player == null || r == null)
return;
numCranes++;
r.description = r.getUpdatedDescription();
r.tips.get(0).body = r.description;
Expand All @@ -58,7 +62,7 @@ private static int getCurrentReduction() {
)
public static class AmendDescriptionPatch {
public static String Postfix(String __result) {
if (AbstractDungeon.player == null || DESCRIPTIONS == null || !MoreStackableRelicsInitializer.enablePaperCraneStacking || numCranes == 1)
if (AbstractDungeon.player == null || DESCRIPTIONS == null || !MoreStackableRelicsInitializer.enablePaperCraneStacking || numCranes == 1 || __result == null)
return __result;
return __result + " NL NL " + DESCRIPTIONS[0] + getCurrentReduction() + DESCRIPTIONS[1];
}
Expand All @@ -70,7 +74,7 @@ public static String Postfix(String __result) {
)
public static class AtDamageGivePatch {
public static float Postfix(float __result, DamageInfo.DamageType type) {
if (!MoreStackableRelicsInitializer.enablePaperCraneStacking)
if (!MoreStackableRelicsInitializer.enablePaperCraneStacking || type == null)
return __result;
if (type == DamageType.NORMAL) {
boolean first = true;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@ public class StackablePaperFrogs {

public static void countFrogs() {
numFrogs = 0;
if (AbstractDungeon.player == null)
return;
for (AbstractRelic relic : AbstractDungeon.player.relics) {
if (relic.relicId.equals(PaperFrog.ID)) {
numFrogs++;
Expand All @@ -33,6 +35,8 @@ public static void countFrogs() {
}

public static void incFrogs(AbstractRelic r) {
if (r == null || AbstractDungeon.player == null)
return;
numFrogs++;
r.description = r.getUpdatedDescription();
r.tips.get(0).body = r.description;
Expand All @@ -56,7 +60,7 @@ private static float getMultiplier() {
)
public static class AmendDescriptionPatch {
public static String Postfix(String __result) {
if (AbstractDungeon.player == null || DESCRIPTIONS == null || !MoreStackableRelicsInitializer.enablePaperFrogStacking || numFrogs == 1)
if (AbstractDungeon.player == null || __result == null || DESCRIPTIONS == null || !MoreStackableRelicsInitializer.enablePaperFrogStacking || numFrogs == 1)
return __result;
return __result + " NL NL " + DESCRIPTIONS[0] + ((int)((getMultiplier() - 1.0F) * 100.0F)) + DESCRIPTIONS[1];
}
Expand All @@ -68,7 +72,7 @@ public static String Postfix(String __result) {
)
public static class ApplyAllFrogsPatch {
public static float Postfix(float __result, VulnerablePower __instance, DamageInfo.DamageType type) {
if (!MoreStackableRelicsInitializer.enablePaperFrogStacking)
if (!MoreStackableRelicsInitializer.enablePaperFrogStacking || __instance == null || type == null)
return __result;
if (type == DamageInfo.DamageType.NORMAL && __instance.owner != null && !__instance.owner.isPlayer) {
if (AbstractDungeon.player.hasRelic(PaperFrog.ID)) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,9 +42,10 @@ public class StackablePeacePipes {

public static void countPeacePipes() {
numPeacePipes = 0;
for (AbstractRelic relic : AbstractDungeon.player.relics)
if (relic.relicId.equals(PeacePipe.ID))
numPeacePipes++;
if (AbstractDungeon.player != null)
for (AbstractRelic relic : AbstractDungeon.player.relics)
if (relic.relicId.equals(PeacePipe.ID))
numPeacePipes++;
}

public static boolean isButtonAdded() {
Expand All @@ -60,7 +61,7 @@ public static boolean isButtonAdded() {
)
public static class AmendDescriptionPatch {
public static String Postfix(String __result) {
if (AbstractDungeon.player == null || DESCRIPTIONS == null || !MoreStackableRelicsInitializer.enablePeacePipeStacking)
if (AbstractDungeon.player == null || __result == null || DESCRIPTIONS == null || !MoreStackableRelicsInitializer.enablePeacePipeStacking)
return __result;
return __result + " NL NL " + DESCRIPTIONS[0];
}
Expand Down Expand Up @@ -110,7 +111,7 @@ public static SpireReturn<Void> Insert() {
return SpireReturn.Continue();
AbstractDungeon.gridSelectScreen.anyNumber = true;
AbstractDungeon.gridSelectScreen.open(
CardGroup.getGroupWithoutBottledCards(AbstractDungeon.player.masterDeck.getPurgeableCards()), numPeacePipes, (numPeacePipes == 1 ? CampfireTokeEffect.TEXT[0] : TEXT[2] + numPeacePipes + TEXT[3] + DESCRIPTIONS[1]), false, false, true, true);
CardGroup.getGroupWithoutBottledCards(AbstractDungeon.player.masterDeck.getPurgeableCards()), numPeacePipes, true, (numPeacePipes == 1 ? CampfireTokeEffect.TEXT[0] : TEXT[2] + numPeacePipes + TEXT[3] + DESCRIPTIONS[1]));
return SpireReturn.Return();
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,8 @@ public class StackablePreservedInsects {

public static void countPreservedInsects() {
numPreservedInsects = 0;
if (AbstractDungeon.player == null)
return;
for (AbstractRelic relic : AbstractDungeon.player.relics) {
if (relic.relicId.equals(PreservedInsect.ID)) {
numPreservedInsects++;
Expand All @@ -40,6 +42,8 @@ public static void countPreservedInsects() {
}

public static void incPreservedInsects(AbstractRelic r) {
if (r == null || AbstractDungeon.player == null)
return;
numPreservedInsects++;
r.description = r.getUpdatedDescription();
r.tips.get(0).body = r.description;
Expand All @@ -63,7 +67,7 @@ private static float getModifier() {
)
public static class AmendDescriptionPatch {
public static String Postfix(String __result) {
if (AbstractDungeon.player == null || DESCRIPTIONS == null || numPreservedInsects == 1 || !MoreStackableRelicsInitializer.enablePreservedInsectStacking)
if (AbstractDungeon.player == null || __result == null || DESCRIPTIONS == null || numPreservedInsects == 1 || !MoreStackableRelicsInitializer.enablePreservedInsectStacking)
return __result;
return __result + " NL NL " + DESCRIPTIONS[0] + Math.round((1.0F - getModifier()) * 100.0F) + DESCRIPTIONS[1];
}
Expand All @@ -79,7 +83,7 @@ public static class ShrinkHpFurtherPatch {
localvars = {"m"}
)
public static void Insert(AbstractMonster m) {
if (!MoreStackableRelicsInitializer.enablePreservedInsectStacking)
if (!MoreStackableRelicsInitializer.enablePreservedInsectStacking || m == null)
return;

m.currentHealth = (int) (m.maxHealth * getModifier());
Expand All @@ -105,7 +109,7 @@ public static class AnimationPatch {
locator = Locator.class
)
public static void Insert(AbstractCreature __instance, @ByRef float[] scale) {
if (!MoreStackableRelicsInitializer.enablePreservedInsectStacking)
if (!MoreStackableRelicsInitializer.enablePreservedInsectStacking || __instance == null)
return;
int count = -1; // scale is already accounted for first Preserved Insect so -1 will ignore first
if (!__instance.isPlayer && AbstractDungeon.getCurrMapNode() != null && AbstractDungeon.getCurrRoom() != null && (AbstractDungeon.getCurrRoom()).eliteTrigger) {
Expand Down
Loading

0 comments on commit e410cf6

Please sign in to comment.