Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
38 changed files
with
660 additions
and
316 deletions.
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
2 changes: 1 addition & 1 deletion
2
Bosses/RogueBloonarius.cs → Bosses/Bloonarius/RogueBloonarius.cs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
using Il2CppAssets.Scripts.Models.Bloons; | ||
using System.Collections.Generic; | ||
|
||
namespace BTD6Rogue; | ||
|
||
public static class DreadRockConfig { | ||
|
||
// General Stats | ||
public static readonly float baseMaxHealth = 10f; | ||
public static readonly float levelMaxHealthMultiplier = 1.5f; | ||
|
||
public static readonly float baseSpeed = 0.5f; | ||
public static readonly float levelSpeedAddition = 0.25f; | ||
|
||
public static readonly float baseLeakDamage = 25; | ||
public static readonly float levelLeakDamageAddition = 0; | ||
|
||
// Difficulty Multiplier | ||
public static readonly Dictionary<string, float> difficultyMultipliers = new Dictionary<string, float>() { | ||
["Poppable"] = 0.7f, | ||
["Easy"] = 0.85f, | ||
["Medium"] = 1f, | ||
["Hard"] = 1.15f, | ||
["Impoppable"] = 1.3f | ||
}; | ||
|
||
public static void ApplyDreadRockSettings(BloonModel bloonModel, string difficulty, int level) { | ||
float multiplier = difficultyMultipliers[difficulty]; | ||
|
||
bloonModel.maxHealth = baseMaxHealth * (levelMaxHealthMultiplier * level) * multiplier; | ||
if (level == 0) { bloonModel.maxHealth = baseMaxHealth * multiplier; } | ||
|
||
bloonModel.leakDamage = (baseLeakDamage + levelLeakDamageAddition * level) * multiplier; ; | ||
bloonModel.speed = (baseSpeed + levelSpeedAddition * level) * multiplier; | ||
bloonModel.Speed = (baseSpeed + levelSpeedAddition * level) * multiplier; | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,71 @@ | ||
using BTD_Mod_Helper.Extensions; | ||
using Il2CppAssets.Scripts.Models.Bloons; | ||
using Il2CppAssets.Scripts.Models.Bloons.Behaviors.Actions; | ||
using Il2CppAssets.Scripts.Models.Bloons.Behaviors; | ||
using System.Collections.Generic; | ||
using UnityEngine; | ||
|
||
namespace BTD6Rogue; | ||
|
||
public static class DreadbloonConfig { | ||
|
||
// General Stats | ||
public static readonly float baseMaxHealth = 250f; | ||
public static readonly float levelMaxHealthMultiplier = 1.5f; | ||
|
||
public static readonly float baseSpeed = 1; | ||
public static readonly float levelSpeedAddition = 0.1f; | ||
|
||
// Difficulty Multiplier | ||
public static readonly Dictionary<string, float> difficultyMultipliers = new Dictionary<string, float>() { | ||
["Poppable"] = 0.7f, | ||
["Easy"] = 0.85f, | ||
["Medium"] = 1f, | ||
["Hard"] = 1.15f, | ||
["Impoppable"] = 1.3f | ||
}; | ||
|
||
// | ||
public static readonly float baseDamageReduction = 0.5f; | ||
public static readonly float levelDamageReductionAddition = 0; | ||
|
||
// | ||
public static readonly float baseArmorAmount = 250; | ||
public static readonly float levelArmorAmountAddition = 0; | ||
public static readonly float baseSpeedMultiplier = 1f; | ||
public static readonly float levelSpeedMultiplierAddition = 0; | ||
|
||
// | ||
public static readonly float baseInitialSpawnSize = 5; | ||
public static readonly float levelInitialSpawnSizeAddition = 0; | ||
public static readonly float baseTimeBetweenSpawns = 10; | ||
public static readonly float levelTimeBetweenSpawnsAddition = 0; | ||
|
||
public static void ApplyDreadbloonSettings(BloonModel bloonModel, string difficulty, int level) { | ||
float multiplier = difficultyMultipliers[difficulty]; | ||
|
||
bloonModel.maxHealth = baseMaxHealth * (levelMaxHealthMultiplier * level) * multiplier; | ||
if (level == 0) { bloonModel.maxHealth = baseMaxHealth * multiplier; } | ||
|
||
bloonModel.leakDamage = 99999f; | ||
bloonModel.speed = (baseSpeed + levelSpeedAddition * level) * multiplier; | ||
bloonModel.Speed = (baseSpeed + levelSpeedAddition * level) * multiplier; | ||
|
||
foreach (DamageReductionModel model in bloonModel.GetBehaviors<DamageReductionModel>()) { | ||
model.amount = 0.5f; | ||
} | ||
|
||
foreach (GenerateArmourActionModel model in bloonModel.GetBehaviors<GenerateArmourActionModel>()) { | ||
model.amount = (baseArmorAmount + levelArmorAmountAddition * level) * multiplier; | ||
model.speedMultiplier = (levelArmorAmountAddition + levelSpeedMultiplierAddition * level) * multiplier; | ||
} | ||
|
||
foreach (SpawnBloonsUntilArmourBreaksActionModel model in bloonModel.GetBehaviors<SpawnBloonsUntilArmourBreaksActionModel>()) { | ||
model.bloonType = "BTD6Rogue-" + difficulty + "RogueDreadRock" + (level + 1); | ||
model.initialSpawnPackSize = Mathf.FloorToInt((baseInitialSpawnSize + levelInitialSpawnSizeAddition * level) * multiplier); | ||
model.timeBetweenSpawns = (baseTimeBetweenSpawns + levelTimeBetweenSpawnsAddition * level) * multiplier; | ||
} | ||
|
||
bloonModel.RemoveTag("Rock"); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
using BTD_Mod_Helper.Api.Bloons; | ||
using Il2CppAssets.Scripts.Models.Bloons; | ||
|
||
namespace BTD6Rogue.Bosses.Dreadbloon; | ||
|
||
public class PoppableRogueDreadRock1 : ModBloon { public override string BaseBloon => "DreadRockBloonStandard1"; public override void ModifyBaseBloonModel(BloonModel bloonModel) { DreadRockConfig.ApplyDreadRockSettings(bloonModel, "Poppable", 0); } } | ||
public class PoppableRogueDreadRock2 : ModBloon { public override string BaseBloon => "DreadRockBloonStandard1"; public override void ModifyBaseBloonModel(BloonModel bloonModel) { DreadRockConfig.ApplyDreadRockSettings(bloonModel, "Poppable", 1); } } | ||
public class PoppableRogueDreadRock3 : ModBloon { public override string BaseBloon => "DreadRockBloonStandard2"; public override void ModifyBaseBloonModel(BloonModel bloonModel) { DreadRockConfig.ApplyDreadRockSettings(bloonModel, "Poppable", 2); } } | ||
public class PoppableRogueDreadRock4 : ModBloon { public override string BaseBloon => "DreadRockBloonStandard3"; public override void ModifyBaseBloonModel(BloonModel bloonModel) { DreadRockConfig.ApplyDreadRockSettings(bloonModel, "Poppable", 3); } } | ||
public class PoppableRogueDreadRock5 : ModBloon { public override string BaseBloon => "DreadRockBloonStandard4"; public override void ModifyBaseBloonModel(BloonModel bloonModel) { DreadRockConfig.ApplyDreadRockSettings(bloonModel, "Poppable", 4); } } | ||
public class PoppableRogueDreadRock6 : ModBloon { public override string BaseBloon => "DreadRockBloonStandard5"; public override void ModifyBaseBloonModel(BloonModel bloonModel) { DreadRockConfig.ApplyDreadRockSettings(bloonModel, "Poppable", 5); } } | ||
public class EasyRogueDreadRock1 : ModBloon { public override string BaseBloon => "DreadRockBloonStandard1"; public override void ModifyBaseBloonModel(BloonModel bloonModel) { DreadRockConfig.ApplyDreadRockSettings(bloonModel, "Easy", 0); } } | ||
public class EasyRogueDreadRock2 : ModBloon { public override string BaseBloon => "DreadRockBloonStandard1"; public override void ModifyBaseBloonModel(BloonModel bloonModel) { DreadRockConfig.ApplyDreadRockSettings(bloonModel, "Easy", 1); } } | ||
public class EasyRogueDreadRock3 : ModBloon { public override string BaseBloon => "DreadRockBloonStandard2"; public override void ModifyBaseBloonModel(BloonModel bloonModel) { DreadRockConfig.ApplyDreadRockSettings(bloonModel, "Easy", 2); } } | ||
public class EasyRogueDreadRock4 : ModBloon { public override string BaseBloon => "DreadRockBloonStandard3"; public override void ModifyBaseBloonModel(BloonModel bloonModel) { DreadRockConfig.ApplyDreadRockSettings(bloonModel, "Easy", 3); } } | ||
public class EasyRogueDreadRock5 : ModBloon { public override string BaseBloon => "DreadRockBloonStandard4"; public override void ModifyBaseBloonModel(BloonModel bloonModel) { DreadRockConfig.ApplyDreadRockSettings(bloonModel, "Easy", 4); } } | ||
public class EasyRogueDreadRock6 : ModBloon { public override string BaseBloon => "DreadRockBloonStandard5"; public override void ModifyBaseBloonModel(BloonModel bloonModel) { DreadRockConfig.ApplyDreadRockSettings(bloonModel, "Easy", 5); } } | ||
public class MediumRogueDreadRock1 : ModBloon { public override string BaseBloon => "DreadRockBloonStandard1"; public override void ModifyBaseBloonModel(BloonModel bloonModel) { DreadRockConfig.ApplyDreadRockSettings(bloonModel, "Medium", 0); } } | ||
public class MediumRogueDreadRock2 : ModBloon { public override string BaseBloon => "DreadRockBloonStandard1"; public override void ModifyBaseBloonModel(BloonModel bloonModel) { DreadRockConfig.ApplyDreadRockSettings(bloonModel, "Medium", 1); } } | ||
public class MediumRogueDreadRock3 : ModBloon { public override string BaseBloon => "DreadRockBloonStandard2"; public override void ModifyBaseBloonModel(BloonModel bloonModel) { DreadRockConfig.ApplyDreadRockSettings(bloonModel, "Medium", 2); } } | ||
public class MediumRogueDreadRock4 : ModBloon { public override string BaseBloon => "DreadRockBloonStandard3"; public override void ModifyBaseBloonModel(BloonModel bloonModel) { DreadRockConfig.ApplyDreadRockSettings(bloonModel, "Medium", 3); } } | ||
public class MediumRogueDreadRock5 : ModBloon { public override string BaseBloon => "DreadRockBloonStandard4"; public override void ModifyBaseBloonModel(BloonModel bloonModel) { DreadRockConfig.ApplyDreadRockSettings(bloonModel, "Medium", 4); } } | ||
public class MediumRogueDreadRock6 : ModBloon { public override string BaseBloon => "DreadRockBloonStandard5"; public override void ModifyBaseBloonModel(BloonModel bloonModel) { DreadRockConfig.ApplyDreadRockSettings(bloonModel, "Medium", 5); } } | ||
public class HardRogueDreadRock1 : ModBloon { public override string BaseBloon => "DreadRockBloonStandard1"; public override void ModifyBaseBloonModel(BloonModel bloonModel) { DreadRockConfig.ApplyDreadRockSettings(bloonModel, "Hard", 0); } } | ||
public class HardRogueDreadRock2 : ModBloon { public override string BaseBloon => "DreadRockBloonStandard1"; public override void ModifyBaseBloonModel(BloonModel bloonModel) { DreadRockConfig.ApplyDreadRockSettings(bloonModel, "Hard", 1); } } | ||
public class HardRogueDreadRock3 : ModBloon { public override string BaseBloon => "DreadRockBloonStandard2"; public override void ModifyBaseBloonModel(BloonModel bloonModel) { DreadRockConfig.ApplyDreadRockSettings(bloonModel, "Hard", 2); } } | ||
public class HardRogueDreadRock4 : ModBloon { public override string BaseBloon => "DreadRockBloonStandard3"; public override void ModifyBaseBloonModel(BloonModel bloonModel) { DreadRockConfig.ApplyDreadRockSettings(bloonModel, "Hard", 3); } } | ||
public class HardRogueDreadRock5 : ModBloon { public override string BaseBloon => "DreadRockBloonStandard4"; public override void ModifyBaseBloonModel(BloonModel bloonModel) { DreadRockConfig.ApplyDreadRockSettings(bloonModel, "Hard", 4); } } | ||
public class HardRogueDreadRock6 : ModBloon { public override string BaseBloon => "DreadRockBloonStandard5"; public override void ModifyBaseBloonModel(BloonModel bloonModel) { DreadRockConfig.ApplyDreadRockSettings(bloonModel, "Hard", 5); } } | ||
public class ImpoppableRogueDreadRock1 : ModBloon { public override string BaseBloon => "DreadRockBloonStandard1"; public override void ModifyBaseBloonModel(BloonModel bloonModel) { DreadRockConfig.ApplyDreadRockSettings(bloonModel, "Impoppable", 0); } } | ||
public class ImpoppableRogueDreadRock2 : ModBloon { public override string BaseBloon => "DreadRockBloonStandard1"; public override void ModifyBaseBloonModel(BloonModel bloonModel) { DreadRockConfig.ApplyDreadRockSettings(bloonModel, "Impoppable", 1); } } | ||
public class ImpoppableRogueDreadRock3 : ModBloon { public override string BaseBloon => "DreadRockBloonStandard2"; public override void ModifyBaseBloonModel(BloonModel bloonModel) { DreadRockConfig.ApplyDreadRockSettings(bloonModel, "Impoppable", 2); } } | ||
public class ImpoppableRogueDreadRock4 : ModBloon { public override string BaseBloon => "DreadRockBloonStandard3"; public override void ModifyBaseBloonModel(BloonModel bloonModel) { DreadRockConfig.ApplyDreadRockSettings(bloonModel, "Impoppable", 3); } } | ||
public class ImpoppableRogueDreadRock5 : ModBloon { public override string BaseBloon => "DreadRockBloonStandard4"; public override void ModifyBaseBloonModel(BloonModel bloonModel) { DreadRockConfig.ApplyDreadRockSettings(bloonModel, "Impoppable", 4); } } | ||
public class ImpoppableRogueDreadRock6 : ModBloon { public override string BaseBloon => "DreadRockBloonStandard5"; public override void ModifyBaseBloonModel(BloonModel bloonModel) { DreadRockConfig.ApplyDreadRockSettings(bloonModel, "Impoppable", 5); } } |
Oops, something went wrong.