|
|
@@ -2,28 +2,23 @@ package xyz.luxnk.mxmmod;
|
|
|
|
|
|
import basemod.BaseMod;
|
|
|
import basemod.ModPanel;
|
|
|
-import basemod.helpers.RelicType;
|
|
|
import basemod.interfaces.*;
|
|
|
import com.badlogic.gdx.Gdx;
|
|
|
import com.badlogic.gdx.graphics.Color;
|
|
|
import com.badlogic.gdx.graphics.Texture;
|
|
|
-import com.badlogic.gdx.utils.compression.lzma.Base;
|
|
|
import com.evacipated.cardcrawl.modthespire.lib.SpireInitializer;
|
|
|
import com.google.gson.Gson;
|
|
|
import com.megacrit.cardcrawl.cards.AbstractCard;
|
|
|
import com.megacrit.cardcrawl.cards.CardGroup;
|
|
|
-import com.megacrit.cardcrawl.cards.green.*;
|
|
|
import com.megacrit.cardcrawl.cards.red.*;
|
|
|
import com.megacrit.cardcrawl.characters.AbstractPlayer;
|
|
|
+import com.megacrit.cardcrawl.dungeons.AbstractDungeon;
|
|
|
import com.megacrit.cardcrawl.helpers.CardHelper;
|
|
|
import com.megacrit.cardcrawl.helpers.ImageMaster;
|
|
|
-import com.megacrit.cardcrawl.localization.CardStrings;
|
|
|
-import com.megacrit.cardcrawl.localization.Keyword;
|
|
|
-import com.megacrit.cardcrawl.localization.RelicStrings;
|
|
|
-import com.megacrit.cardcrawl.localization.UIStrings;
|
|
|
+import com.megacrit.cardcrawl.localization.*;
|
|
|
+import com.megacrit.cardcrawl.powers.AbstractPower;
|
|
|
import com.megacrit.cardcrawl.rooms.AbstractRoom;
|
|
|
import com.megacrit.cardcrawl.unlock.UnlockTracker;
|
|
|
-import com.sun.org.apache.xpath.internal.compiler.Keywords;
|
|
|
import xyz.luxnk.mxmmod.cards.*;
|
|
|
import xyz.luxnk.mxmmod.characters.Mxm;
|
|
|
import xyz.luxnk.mxmmod.patches.AbstractCardEnum;
|
|
|
@@ -32,7 +27,7 @@ import xyz.luxnk.mxmmod.relics.Hamakagami;
|
|
|
|
|
|
import java.nio.charset.StandardCharsets;
|
|
|
import java.util.ArrayList;
|
|
|
-import java.util.Map;
|
|
|
+import java.util.Iterator;
|
|
|
|
|
|
@SpireInitializer
|
|
|
public class MxmMod implements PostInitializeSubscriber,
|
|
|
@@ -45,10 +40,13 @@ public class MxmMod implements PostInitializeSubscriber,
|
|
|
EditStringsSubscriber,
|
|
|
EditRelicsSubscriber,
|
|
|
EditCardsSubscriber,
|
|
|
- EditKeywordsSubscriber {
|
|
|
+ EditKeywordsSubscriber,
|
|
|
+ PostDungeonUpdateSubscriber,
|
|
|
+ PostPlayerUpdateSubscriber {
|
|
|
|
|
|
private static final String RELIC_STRING = "localization/mxm_relics-zh.json";
|
|
|
private static final String CARD_STRING = "localization/mxm_cards-zh.json";
|
|
|
+ private static final String POWER_STRING = "localization/mxm_powers-zh.json";
|
|
|
private static final String KEYWORD_STRING = "localization/mxm_keywords-zh.json";
|
|
|
private static final String UI_STRING = "localization/mxm_ui-zh.json";
|
|
|
|
|
|
@@ -60,14 +58,14 @@ public class MxmMod implements PostInitializeSubscriber,
|
|
|
private static final String MXM_PORTRAIT = "img/charSelect/mxmPortrait.jpg";
|
|
|
|
|
|
// 卡片背景图(暂时借用魔理沙小姐的
|
|
|
- private static final String ATTACK_CC = "img/512/bg_attack_MRS_s.png";
|
|
|
+ private static final String ATTACK_CC = "img/512/bg_attack_mxm_s.png";
|
|
|
private static final String SKILL_CC = "img/512/bg_skill_mxm_s.png";
|
|
|
- private static final String POWER_CC = "img/512/bg_power_MRS_s.png";
|
|
|
+ private static final String POWER_CC = "img/512/bg_power_mxm_s.png";
|
|
|
private static final String ENERGY_ORB_CC = "img/512/cardOrb.png";
|
|
|
|
|
|
- private static final String ATTACK_CC_PORTRAIT = "img/1024/bg_attack_MRS.png";
|
|
|
+ private static final String ATTACK_CC_PORTRAIT = "img/1024/bg_attack_mxm.png";
|
|
|
private static final String SKILL_CC_PORTRAIT = "img/1024/bg_skill_mxm.png";
|
|
|
- private static final String POWER_CC_PORTRAIT = "img/1024/bg_power_MRS.png";
|
|
|
+ private static final String POWER_CC_PORTRAIT = "img/1024/bg_power_mxm.png";
|
|
|
private static final String ENERGY_ORB_CC_PORTRAIT = "img/1024/cardOrb.png";
|
|
|
|
|
|
public static final String CARD_ENERGY_ORB = "img/UI/energyOrb.png";
|
|
|
@@ -131,6 +129,9 @@ public class MxmMod implements PostInitializeSubscriber,
|
|
|
BaseMod.loadCustomStrings(CardStrings.class, Gdx.files.internal(CARD_STRING).readString(
|
|
|
String.valueOf(StandardCharsets.UTF_8)
|
|
|
));
|
|
|
+ BaseMod.loadCustomStrings(PowerStrings.class, Gdx.files.internal(POWER_STRING).readString(
|
|
|
+ String.valueOf(StandardCharsets.UTF_8)
|
|
|
+ ));
|
|
|
BaseMod.loadCustomStrings(UIStrings.class, Gdx.files.internal(UI_STRING).readString(
|
|
|
String.valueOf(StandardCharsets.UTF_8)
|
|
|
));
|
|
|
@@ -149,50 +150,25 @@ public class MxmMod implements PostInitializeSubscriber,
|
|
|
|
|
|
@Override
|
|
|
public void receiveEditCards() {
|
|
|
+
|
|
|
+ // 攻击牌
|
|
|
BaseMod.addCard(new Strike_MXM());
|
|
|
BaseMod.addCard(new TwinStrike_MXM());
|
|
|
BaseMod.addCard(new QuickStrike_MXM());
|
|
|
- BaseMod.addCard(new Whirlwind_MXM());
|
|
|
+ BaseMod.addCard(new Stab_MXM());
|
|
|
+ BaseMod.addCard(new SavageStab_MXM());
|
|
|
+
|
|
|
+ // 技能牌
|
|
|
BaseMod.addCard(new Defend_MXM());
|
|
|
- BaseMod.addCard(new SpeedUp());
|
|
|
+ BaseMod.addCard(new WarmUp_MXM());
|
|
|
+ BaseMod.addCard(new SpeedUp_MXM());
|
|
|
BaseMod.addCard(new PoorWine_MXM());
|
|
|
BaseMod.addCard(new SadCat_MXM());
|
|
|
BaseMod.addCard(new LuckyCat_MXM());
|
|
|
|
|
|
- // 借用下卡牌
|
|
|
-
|
|
|
- // 攻击
|
|
|
- BaseMod.addCard(new Anger());
|
|
|
- BaseMod.addCard(new BodySlam());
|
|
|
- BaseMod.addCard(new DieDieDie());
|
|
|
- BaseMod.addCard(new HeelHook());
|
|
|
- BaseMod.addCard(new SuckerPunch());
|
|
|
- BaseMod.addCard(new GrandFinale());
|
|
|
- BaseMod.addCard(new Feed());
|
|
|
- BaseMod.addCard(new HeavyBlade());
|
|
|
- BaseMod.addCard(new Unload());
|
|
|
- BaseMod.addCard(new RecklessCharge());
|
|
|
- BaseMod.addCard(new Uppercut());
|
|
|
- BaseMod.addCard(new Clash());
|
|
|
-
|
|
|
- // 技能
|
|
|
- BaseMod.addCard(new SecondWind());
|
|
|
- BaseMod.addCard(new SpotWeakness());
|
|
|
- BaseMod.addCard(new Backflip());
|
|
|
- BaseMod.addCard(new DodgeAndRoll());
|
|
|
- BaseMod.addCard(new Warcry());
|
|
|
- BaseMod.addCard(new Flex());
|
|
|
- BaseMod.addCard(new Intimidate());
|
|
|
- BaseMod.addCard(new Disarm());
|
|
|
- BaseMod.addCard(new Rage());
|
|
|
- BaseMod.addCard(new Blur());
|
|
|
-
|
|
|
- // 能力
|
|
|
- BaseMod.addCard(new Inflame());
|
|
|
- BaseMod.addCard(new Berserk());
|
|
|
- BaseMod.addCard(new Footwork());
|
|
|
- BaseMod.addCard(new Caltrops());
|
|
|
- BaseMod.addCard(new AfterImage());
|
|
|
+ // 能力牌
|
|
|
+ BaseMod.addCard(new Strength_MXM());
|
|
|
+ BaseMod.addCard(new Dexterity_MXM());
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
@@ -235,6 +211,26 @@ public class MxmMod implements PostInitializeSubscriber,
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public void receivePostDungeonUpdate() {
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void receivePostPlayerUpdate() {
|
|
|
+ // 抵御诅咒
|
|
|
+ if (AbstractDungeon.player.hasRelic("Hamakagami") && AbstractDungeon.player.getRelic("Hamakagami").counter > 0) {
|
|
|
+ Iterator deck = AbstractDungeon.player.masterDeck.group.iterator();
|
|
|
+ while (deck.hasNext()) {
|
|
|
+ AbstractCard c = (AbstractCard)deck.next();
|
|
|
+ if (c.color == AbstractCard.CardColor.CURSE) {
|
|
|
+ AbstractDungeon.player.masterDeck.removeCard(c);
|
|
|
+ ((Hamakagami)AbstractDungeon.player.getRelic("Hamakagami")).use();
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
class Keywords {
|
|
|
|
|
|
Keyword[] keywords;
|