]> git.seodisparate.com - TurnBasedMinecraftMod/commitdiff
Change how silly music is triggered
authorStephen Seo <seo.disparate@gmail.com>
Fri, 28 Sep 2018 03:02:39 +0000 (12:02 +0900)
committerStephen Seo <seo.disparate@gmail.com>
Fri, 28 Sep 2018 03:02:39 +0000 (12:02 +0900)
Can now specify in config what minimum percentage of silly entities
trigger silly music in battle.

src/main/java/com/seodisparate/TurnBasedMinecraft/client/ClientProxy.java
src/main/java/com/seodisparate/TurnBasedMinecraft/common/BattleManager.java
src/main/java/com/seodisparate/TurnBasedMinecraft/common/Config.java
src/main/java/com/seodisparate/TurnBasedMinecraft/common/TurnBasedMinecraftMod.java
src/main/resources/assets/TurnBasedMinecraft/TBM_Config.xml

index 63142f126fd56c57cf59aa803b2293012232f0cb..dd9c7ba078337b5e1b1eafca52129d3b11864db9 100644 (file)
@@ -181,7 +181,21 @@ public class ClientProxy extends CommonProxy
     
     private void checkBattleTypes()
     {
-        if(battleMusicCount <= 1 && sillyMusicCount > 0)
+        float percentage = 0.0f;
+        if(sillyMusicCount == 0 && battleMusicCount == 0)
+        {
+            percentage = 0.0f;
+        }
+        else if(battleMusicCount == 0)
+        {
+            percentage = 100.0f;
+        }
+        else
+        {
+            percentage = 100.0f * (float)sillyMusicCount / (float)(sillyMusicCount + battleMusicCount);
+        }
+        
+        if(percentage >= (float)TurnBasedMinecraftMod.getConfig().getSillyMusicThreshold())
         {
             if(battleMusic.isPlaying())
             {
index a8f6e8e4b309fbf39fc4c5285f204b19b6a89d97..c248d0d629c084cfbd5dd77beef45b8443b5572e 100644 (file)
@@ -142,7 +142,7 @@ public class BattleManager
             // battle limit reached, cannot add to battle
             return true;
         }
-        if(battle.hasCombatantInSideA(inBattle.getEntityId()))
+        else if(battle.hasCombatantInSideA(inBattle.getEntityId()))
         {
             battle.addCombatantToSideB(notInBattle);
         }
index 476442ef401cf0151f3126b16745091774564a5f..42d7ee20ad6a232d71db9767d37048d6c6b8aa5a 100644 (file)
@@ -38,6 +38,7 @@ public class Config
     private Set<String> musicBattleTypes;
     private Set<String> musicSillyTypes;
     private boolean freezeCombatantsInBattle = false;
+    private int sillyMusicThreshold = 40;
     
     public Config(Logger logger)
     {
@@ -277,6 +278,18 @@ public class Config
                         TurnBasedMinecraftMod.setBattleDurationSeconds(TurnBasedMinecraftMod.BATTLE_DECISION_DURATION_NANO_DEFAULT / 1000000000L);
                     }
                 }
+                else if(xmlReader.getLocalName().equals("SillyMusicThreshold"))
+                {
+                    sillyMusicThreshold = Integer.parseInt(xmlReader.getElementText());
+                    if(sillyMusicThreshold < 0)
+                    {
+                        sillyMusicThreshold = 0;
+                    }
+                    else if(sillyMusicThreshold > 100)
+                    {
+                        sillyMusicThreshold = 100;
+                    }
+                }
                 else if(xmlReader.getLocalName().equals("EntityEntry"))
                 {
                     EntityInfo eInfo = new EntityInfo();
@@ -521,4 +534,9 @@ public class Config
     {
         return freezeCombatantsInBattle;
     }
+    
+    public int getSillyMusicThreshold()
+    {
+        return sillyMusicThreshold;
+    }
 }
index c56e4fa30e20441ed2accece11a5356a17295441..b23cb8678eeadca27f23853c4f0dcf6cbf7670ac 100644 (file)
@@ -165,4 +165,9 @@ public class TurnBasedMinecraftMod
             BATTLE_DECISION_DURATION_NANOSECONDS = BATTLE_DECISION_DURATION_NANO_MAX;
         }
     }
+    
+    public static Config getConfig()
+    {
+        return config;
+    }
 }
index ffbf5147fe688b0e62666fa60a598baadb3356e5..fb217c058637a54b6258d4670bbd1d69f925c525 100644 (file)
@@ -40,6 +40,8 @@
        <MinimumHitPercentage>4</MinimumHitPercentage>
        <!-- Number of seconds to wait in battle for all players to make a decision. Minimum of 5 and maximum of 60. -->
        <BattleTurnTimeSeconds>15</BattleTurnTimeSeconds>
+       <!-- Minimum percentage of silly entities in battle to use silly music -->
+       <SillyMusicThreshold>40</SillyMusicThreshold>
        
        <!-- Battle stats for entities should be specified here. If an entity is not listed it cannot enter battle. -->
        <!-- Name: The full class name of an entity. -->