Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package buffingTheBasics.patches;
- import basemod.BaseMod;
- import buffingTheBasics.BuffingTheBasicsMod;
- import buffingTheBasics.actions.ModifiedApplyPowerAction;
- import buffingTheBasics.cards.AbstractDualCard;
- import com.badlogic.gdx.Gdx;
- import com.badlogic.gdx.graphics.Texture;
- import com.badlogic.gdx.graphics.g2d.SpriteBatch;
- import com.evacipated.cardcrawl.modthespire.lib.*;
- import com.evacipated.cardcrawl.modthespire.patcher.PatchingException;
- import com.megacrit.cardcrawl.actions.common.ApplyPowerAction;
- import com.megacrit.cardcrawl.actions.common.ReducePowerAction;
- import com.megacrit.cardcrawl.actions.common.RemoveSpecificPowerAction;
- import com.megacrit.cardcrawl.actions.utility.TextAboveCreatureAction;
- import com.megacrit.cardcrawl.cards.AbstractCard;
- import com.megacrit.cardcrawl.core.CardCrawlGame;
- import com.megacrit.cardcrawl.core.Settings;
- import com.megacrit.cardcrawl.dungeons.AbstractDungeon;
- import com.megacrit.cardcrawl.helpers.ImageMaster;
- import com.megacrit.cardcrawl.powers.AbstractPower;
- import com.megacrit.cardcrawl.screens.SingleCardViewPopup;
- import javassist.CannotCompileException;
- import javassist.CtBehavior;
- import org.apache.logging.log4j.LogManager;
- import org.apache.logging.log4j.Logger;
- import java.lang.reflect.Field;
- import java.util.ArrayList;
- import java.util.Arrays;
- import java.util.Map;
- public class HalfBgPatch {
- @SpirePatch(
- clz = SingleCardViewPopup.class,
- method = "renderCardBack"
- )
- public static class HalfBgTexture {
- public HalfBgTexture() {
- }
- public static void Postfix(Object __obj_instance, Object sbObject) {
- try {
- SingleCardViewPopup popup = (SingleCardViewPopup) __obj_instance;
- SpriteBatch sb = (SpriteBatch) sbObject;
- Gdx.gl.glColorMask(false, false, false, true);
- Field cardField = popup.getClass().getDeclaredField("card");
- cardField.setAccessible(true);
- AbstractCard card = (AbstractCard) cardField.get(popup);
- if (card instanceof AbstractDualCard) {
- AbstractDualCard dualCard = (AbstractDualCard) card;
- AbstractCard.CardColor color = dualCard.secondaryColor;
- Texture bgTexture;
- switch (dualCard.type) {
- case ATTACK:
- bgTexture = dualCard.getHalfBackgroundLargeTexture();
- if (bgTexture == null) {
- bgTexture = BuffingTheBasicsMod.getAttackHalfBgPortraitTexture(color);
- if (bgTexture == null) {
- bgTexture = ImageMaster.loadImage(BuffingTheBasicsMod.getAttackHalfBgPortrait(color));
- BuffingTheBasicsMod.saveAttackHalfBgPortraitTexture(color, bgTexture);
- }
- }
- sb.draw(bgTexture, (float) Settings.WIDTH / 2.0F - 512.0F, (float) Settings.HEIGHT / 2.0F - 512.0F, 512.0F, 512.0F, 1024.0F, 1024.0F, Settings.scale, Settings.scale, 0.0F, 0, 0, 1024, 1024, false, false);
- break;
- case POWER:
- bgTexture = dualCard.getHalfBackgroundLargeTexture();
- if (bgTexture == null) {
- bgTexture = BuffingTheBasicsMod.getPowerHalfBgPortraitTexture(color);
- if (bgTexture == null) {
- bgTexture = ImageMaster.loadImage(BuffingTheBasicsMod.getPowerHalfBgPortrait(color));
- BuffingTheBasicsMod.savePowerHalfBgPortraitTexture(color, bgTexture);
- }
- }
- sb.draw(bgTexture, (float) Settings.WIDTH / 2.0F - 512.0F, (float) Settings.HEIGHT / 2.0F - 512.0F, 512.0F, 512.0F, 1024.0F, 1024.0F, Settings.scale, Settings.scale, 0.0F, 0, 0, 1024, 1024, false, false);
- break;
- default:
- bgTexture = dualCard.getHalfBackgroundLargeTexture();
- if (bgTexture == null) {
- bgTexture = BuffingTheBasicsMod.getSkillHalfBgPortraitTexture(color);
- if (bgTexture == null) {
- bgTexture = ImageMaster.loadImage(BuffingTheBasicsMod.getSkillHalfBgPortrait(color));
- BuffingTheBasicsMod.saveSkillHalfBgPortraitTexture(color, bgTexture);
- }
- }
- sb.draw(bgTexture, (float) Settings.WIDTH / 2.0F - 512.0F, (float) Settings.HEIGHT / 2.0F - 512.0F, 512.0F, 512.0F, 1024.0F, 1024.0F, Settings.scale, Settings.scale, 0.0F, 0, 0, 1024, 1024, false, false);
- }
- }
- } catch (SecurityException | IllegalAccessException | NoSuchFieldException var8) {
- var8.printStackTrace();
- }
- }
- }
- }
Advertisement
RAW Paste Data
Copied
Advertisement