33import basemod .BaseMod ;
44import basemod .helpers .RelicType ;
55import basemod .interfaces .*;
6+ import com .badlogic .gdx .Gdx ;
67import com .evacipated .cardcrawl .modthespire .lib .SpireInitializer ;
8+ import com .google .gson .Gson ;
9+ import com .google .gson .reflect .TypeToken ;
710import com .megacrit .cardcrawl .cards .AbstractCard ;
811import com .megacrit .cardcrawl .localization .CardStrings ;
12+ import com .megacrit .cardcrawl .localization .Keyword ;
913import com .megacrit .cardcrawl .localization .PowerStrings ;
1014import com .megacrit .cardcrawl .localization .RelicStrings ;
1115import com .megacrit .cardcrawl .unlock .UnlockTracker ;
1620import upgradeddefectmod .relics .Kaleidoscope ;
1721import upgradeddefectmod .relics .Stalactite ;
1822
23+ import java .lang .reflect .Type ;
24+ import java .nio .charset .StandardCharsets ;
25+ import java .util .Map ;
26+
1927@ SpireInitializer
2028public class UpgradedDefect implements EditKeywordsSubscriber , EditRelicsSubscriber , EditCardsSubscriber , EditStringsSubscriber {
2129
2230 private static final String ASSETS_FOLDER = "img/" ;
2331
24- private static final Logger logger = LogManager .getLogger (UpgradedDefect .class .getName ());
32+ public static final Logger logger = LogManager .getLogger (UpgradedDefect .class .getName ());
2533
2634 public UpgradedDefect () {
2735 BaseMod .subscribe (this );
@@ -59,7 +67,13 @@ public void receiveEditCards() {
5967 BaseMod .addCard (new CustomChill ());
6068 BaseMod .addCard (new CustomMachineLearning ());
6169 BaseMod .addCard (new Discharge ());
70+ BaseMod .addCard (new ClawCounter ());
71+ BaseMod .addCard (new Clawrd ());
72+ BaseMod .addCard (new CleanUp ());
6273
74+ UnlockTracker .unlockCard (CleanUp .ID );
75+ UnlockTracker .unlockCard (Clawrd .ID );
76+ UnlockTracker .unlockCard (ClawCounter .ID );
6377 UnlockTracker .unlockCard (Discharge .ID );
6478 UnlockTracker .unlockCard (CustomMachineLearning .ID );
6579 UnlockTracker .unlockCard (CustomChill .ID );
@@ -87,6 +101,9 @@ public void receiveEditCards() {
87101 UnlockTracker .unlockCard (IceBeam .ID );
88102
89103
104+ BaseMod .removeCard ("Meteor Strike" , AbstractCard .CardColor .BLUE );
105+ BaseMod .removeCard ("Multi-Cast" , AbstractCard .CardColor .BLUE );
106+ BaseMod .removeCard ("Streamline" , AbstractCard .CardColor .BLUE );
90107 BaseMod .removeCard ("Melter" , AbstractCard .CardColor .BLUE );
91108 BaseMod .removeCard ("Machine Learning" , AbstractCard .CardColor .BLUE );
92109 BaseMod .removeCard ("Chill" , AbstractCard .CardColor .BLUE );
@@ -160,11 +177,21 @@ public void receiveEditRelics() {
160177
161178 @ Override
162179 public void receiveEditKeywords () {
163- String [] host = {"host" };
164- BaseMod .addKeyword (host , "The parasite eats away at the host, who loses HP every turn." );
165- String [] claw = {"claw" };
166- BaseMod .addKeyword (claw , "Increase the damage of ALL Claw cards by 1 this combat." );
167180
181+ Type typeToken = new TypeToken <Map <String , Keyword >>(){}.getType ();
182+ Gson gson = new Gson ();
183+ String strings = loadJson ("localization/UpgradedDefect-keywordStrings.json" );
184+ Map <String ,Keyword > keywords = gson .fromJson (strings , typeToken );
185+ for (Keyword kw : keywords .values ()) {
186+ BaseMod .addKeyword (kw .NAMES , kw .DESCRIPTION );
187+ }
188+ logger .info ("done editing keywords" );
189+
190+
191+ }
192+
193+ private static String loadJson (String jsonPath ) {
194+ return Gdx .files .internal (jsonPath ).readString (String .valueOf (StandardCharsets .UTF_8 ));
168195 }
169196
170197}
0 commit comments