diff --git a/forge-core/src/main/java/forge/StaticData.java b/forge-core/src/main/java/forge/StaticData.java index b412cbe215a..e2d20940067 100644 --- a/forge-core/src/main/java/forge/StaticData.java +++ b/forge-core/src/main/java/forge/StaticData.java @@ -226,7 +226,6 @@ public class StaticData { } public void attemptToLoadCard(String cardName, String setCode) { CardRules rules = cardReader.attemptToLoadCard(cardName); - CardRules customRules = null; if (rules != null) { if (rules.isVariant()) { variantCards.loadCard(cardName, setCode, rules); diff --git a/forge-gui-mobile/src/forge/adventure/data/EnemyData.java b/forge-gui-mobile/src/forge/adventure/data/EnemyData.java index 1d86cabb4ab..846d288aaa0 100644 --- a/forge-gui-mobile/src/forge/adventure/data/EnemyData.java +++ b/forge-gui-mobile/src/forge/adventure/data/EnemyData.java @@ -12,6 +12,7 @@ public class EnemyData { public String name; public String sprite; public String deck; + public String ai; public float spawnRate; public float difficulty; public float speed; @@ -27,6 +28,7 @@ public class EnemyData { name =enemyData.name; sprite =enemyData.sprite; deck =enemyData.deck; + ai =enemyData.ai; spawnRate =enemyData.spawnRate; difficulty =enemyData.difficulty ; speed =enemyData.speed; diff --git a/forge-gui-mobile/src/forge/adventure/scene/DuelScene.java b/forge-gui-mobile/src/forge/adventure/scene/DuelScene.java index 107c0eb35e1..8adc0480c90 100644 --- a/forge-gui-mobile/src/forge/adventure/scene/DuelScene.java +++ b/forge-gui-mobile/src/forge/adventure/scene/DuelScene.java @@ -107,12 +107,11 @@ public class DuelScene extends ForgeScene { humanPlayer.setStartingLife(Current.player().getLife()); Current.setLatestDeck(enemy.getData().generateDeck()); RegisteredPlayer aiPlayer = RegisteredPlayer.forVariants(2, appliedVariants, Current.latestDeck(), null, false, null, null); - LobbyPlayer enemyPlayer = GamePlayerUtil.createAiPlayer(); + LobbyPlayer enemyPlayer = GamePlayerUtil.createAiPlayer(this.enemy.getData().name, selectAI(this.enemy.getData().ai)); FSkin.getAvatars().put(90000, this.enemy.getAvatar()); enemyPlayer.setAvatarIndex(90000); - enemyPlayer.setName(this.enemy.getData().name); aiPlayer.setPlayer(enemyPlayer); aiPlayer.setStartingLife(Math.round((float)enemy.getData().life*Current.player().getDifficulty().enemyLifeFactor)); @@ -184,8 +183,6 @@ public class DuelScene extends ForgeScene { return MatchController.getView(); } - - public void setEnemy(EnemySprite data) { this.enemy = data; } @@ -193,5 +190,25 @@ public class DuelScene extends ForgeScene { public void setPlayer(PlayerSprite sprite) { this.player = sprite; } + + private String selectAI(String ai) { //Decide opponent AI. + String AI = ""; //Use user settings if it's null. + if (ai != null){ + switch (ai.toLowerCase()) { //We use this way to ensure capitalization is exact. + //We don't want misspellings here. + case "default": + AI = "Default"; break; + case "reckless": + AI = "Reckless"; break; + case "cautious": + AI = "Cautious"; break; + case "experimental": + AI = "Experimental"; break; + default: + AI = ""; //User settings. + } + } + return AI; + } } diff --git a/forge-gui/res/adventure/Shandalar/world/enemies.json b/forge-gui/res/adventure/Shandalar/world/enemies.json index a6aa8e2c6c6..aeda242a9d8 100644 --- a/forge-gui/res/adventure/Shandalar/world/enemies.json +++ b/forge-gui/res/adventure/Shandalar/world/enemies.json @@ -2999,6 +2999,7 @@ "deck": "decks/wurm.json", "spawnRate": 0.2, "difficulty": 0.1, + "ai": "reckless", "speed": 15, "life": 19, "rewards": [ @@ -3313,4 +3314,4 @@ } ] } -] \ No newline at end of file +]