Skip to content

Commit

Permalink
Fix for v42.0
Browse files Browse the repository at this point in the history
  • Loading branch information
doombubbles committed Apr 8, 2024
1 parent a7b2578 commit 5146807
Show file tree
Hide file tree
Showing 45 changed files with 425 additions and 180 deletions.
Binary file modified Bytes/Alchemists.bytes
Binary file not shown.
Binary file modified Bytes/BananaFarms.bytes
Binary file not shown.
Binary file modified Bytes/BeastHandlers.bytes
Binary file not shown.
Binary file modified Bytes/BombShooters.bytes
Binary file not shown.
Binary file modified Bytes/BoomerangMonkeys.bytes
Binary file not shown.
Binary file modified Bytes/DartMonkeys.bytes
Binary file not shown.
Binary file modified Bytes/Druids.bytes
Binary file not shown.
Binary file modified Bytes/EngineerMonkeys.bytes
Binary file not shown.
Binary file modified Bytes/GlueGunners.bytes
Binary file not shown.
Binary file modified Bytes/HeliPilots.bytes
Binary file not shown.
Binary file modified Bytes/IceMonkeys.bytes
Binary file not shown.
Binary file modified Bytes/MonkeyAces.bytes
Binary file not shown.
Binary file modified Bytes/MonkeyBuccaneers.bytes
Binary file not shown.
Binary file modified Bytes/MonkeySubs.bytes
Binary file not shown.
Binary file modified Bytes/MortarMonkeys.bytes
Binary file not shown.
Binary file modified Bytes/NinjaMonkeys.bytes
Binary file not shown.
Binary file modified Bytes/SniperMonkeys.bytes
Binary file not shown.
Binary file modified Bytes/SpikeFactorys.bytes
Binary file not shown.
Binary file modified Bytes/SuperMonkeys.bytes
Binary file not shown.
Binary file modified Bytes/WizardMonkeys.bytes
Binary file not shown.
4 changes: 2 additions & 2 deletions LATEST.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
## See the [BTD Mod Helper Install Guide](https://github.com/gurrenm3/BTD-Mod-Helper/wiki/Install-Guide) if this is your first time downloading, and the [Common Issues](https://github.com/doombubbles/ultimate-crosspathing/blob/1.4.5/HELP.md#common-issues) page for help
## See the [BTD Mod Helper Install Guide](https://gurrenm3.github.io/BTD-Mod-Helper/wiki/Install-Guide) if this is your first time downloading, and the [Common Issues](https://github.com/doombubbles/ultimate-crosspathing/blob/1.4.5/HELP.md#common-issues) page for help
<!--Mod Browser Message Start-->
- Updated for BTD6 v41.0
- Updated for BTD6 v42.0
15 changes: 13 additions & 2 deletions Loaders/AlchemistLoader.cs
Original file line number Diff line number Diff line change
Expand Up @@ -267,12 +267,19 @@ private void Set_v_ApplyModModel_Fields(int start, int count) {
}

private void Set_v_TowerBehaviorModel_Fields(int start, int count) {
Set_v_Model_Fields(start, count);
Set_v_EntityBehaviorModel_Fields(start, count);
for (var i=0; i<count; i++) {
var v = (Il2CppAssets.Scripts.Models.Towers.TowerBehaviorModel)m[i+start];
}
}

private void Set_v_EntityBehaviorModel_Fields(int start, int count) {
Set_v_Model_Fields(start, count);
for (var i=0; i<count; i++) {
var v = (Il2CppAssets.Scripts.Models.EntityBehaviorModel)m[i+start];
}
}

private void Set_v_CreateEffectOnPlaceModel_Fields(int start, int count) {
Set_v_TowerBehaviorModel_Fields(start, count);
for (var i=0; i<count; i++) {
Expand Down Expand Up @@ -469,6 +476,8 @@ private void Set_v_AcidPoolEmissionModel_Fields(int start, int count) {

private void Set_v_ProjectileModel_Fields(int start, int count) {
Set_v_Model_Fields(start, count);
var t = Il2CppType.Of<Il2CppAssets.Scripts.Models.Towers.Projectiles.ProjectileModel>();
var checkCollisionIntervalField = t.GetField("checkCollisionInterval", bindFlags);
for (var i=0; i<count; i++) {
var v = (Il2CppAssets.Scripts.Models.Towers.Projectiles.ProjectileModel)m[i+start];
v.display = ModContent.CreatePrefabReference(br.ReadString());
Expand All @@ -487,7 +496,7 @@ private void Set_v_ProjectileModel_Fields(int start, int count) {
v.vsBlockerRadius = br.ReadSingle();
v.hasDamageModifiers = br.ReadBoolean();
v.dontUseCollisionChecker = br.ReadBoolean();
v.checkCollisionFrames = br.ReadInt32();
checkCollisionIntervalField.SetValue(v,br.ReadSingle().ToIl2Cpp());
v.ignoreNonTargetable = br.ReadBoolean();
v.ignorePierceExhaustion = br.ReadBoolean();
v.saveId = br.ReadBoolean() ? null : br.ReadString();
Expand Down Expand Up @@ -1325,6 +1334,7 @@ protected override Il2CppAssets.Scripts.Models.Towers.TowerModel Load(byte[] byt
CreateArraySet<Il2CppAssets.Scripts.Models.Towers.Behaviors.Emissions.EmissionBehaviorModel>();
CreateArraySet<Il2CppAssets.Scripts.Models.Towers.Filters.FilterModel>();
CreateArraySet<Il2CppAssets.Scripts.Models.Bloons.BloonBehaviorModel>();
CreateArraySet<Il2CppAssets.Scripts.Models.Towers.Projectiles.DamageModifierModel>();
Read_a_String_Array();
Read_a_Single_Array();
CreateArraySet<Il2CppAssets.Scripts.Models.Towers.Upgrades.UpgradePathModel>();
Expand Down Expand Up @@ -1499,6 +1509,7 @@ protected override Il2CppAssets.Scripts.Models.Towers.TowerModel Load(byte[] byt
LinkArray<Il2CppAssets.Scripts.Models.Towers.Behaviors.Emissions.EmissionBehaviorModel>();
LinkArray<Il2CppAssets.Scripts.Models.Towers.Filters.FilterModel>();
LinkArray<Il2CppAssets.Scripts.Models.Bloons.BloonBehaviorModel>();
LinkArray<Il2CppAssets.Scripts.Models.Towers.Projectiles.DamageModifierModel>();
LinkArray<Il2CppAssets.Scripts.Models.Towers.Upgrades.UpgradePathModel>();
LinkArray<Il2CppAssets.Scripts.Models.Towers.Behaviors.Attack.AttackModel>();
LinkArray<Il2CppAssets.Scripts.Models.Towers.Weapons.WeaponBehaviorModel>();
Expand Down
13 changes: 11 additions & 2 deletions Loaders/BananaFarmLoader.cs
Original file line number Diff line number Diff line change
Expand Up @@ -229,12 +229,19 @@ private void Set_v_ApplyModModel_Fields(int start, int count) {
}

private void Set_v_TowerBehaviorModel_Fields(int start, int count) {
Set_v_Model_Fields(start, count);
Set_v_EntityBehaviorModel_Fields(start, count);
for (var i=0; i<count; i++) {
var v = (Il2CppAssets.Scripts.Models.Towers.TowerBehaviorModel)m[i+start];
}
}

private void Set_v_EntityBehaviorModel_Fields(int start, int count) {
Set_v_Model_Fields(start, count);
for (var i=0; i<count; i++) {
var v = (Il2CppAssets.Scripts.Models.EntityBehaviorModel)m[i+start];
}
}

private void Set_v_CreateEffectOnPlaceModel_Fields(int start, int count) {
Set_v_TowerBehaviorModel_Fields(start, count);
for (var i=0; i<count; i++) {
Expand Down Expand Up @@ -423,6 +430,8 @@ private void Set_v_SendToBankModel_Fields(int start, int count) {

private void Set_v_ProjectileModel_Fields(int start, int count) {
Set_v_Model_Fields(start, count);
var t = Il2CppType.Of<Il2CppAssets.Scripts.Models.Towers.Projectiles.ProjectileModel>();
var checkCollisionIntervalField = t.GetField("checkCollisionInterval", bindFlags);
for (var i=0; i<count; i++) {
var v = (Il2CppAssets.Scripts.Models.Towers.Projectiles.ProjectileModel)m[i+start];
v.display = ModContent.CreatePrefabReference(br.ReadString());
Expand All @@ -441,7 +450,7 @@ private void Set_v_ProjectileModel_Fields(int start, int count) {
v.vsBlockerRadius = br.ReadSingle();
v.hasDamageModifiers = br.ReadBoolean();
v.dontUseCollisionChecker = br.ReadBoolean();
v.checkCollisionFrames = br.ReadInt32();
checkCollisionIntervalField.SetValue(v,br.ReadSingle().ToIl2Cpp());
v.ignoreNonTargetable = br.ReadBoolean();
v.ignorePierceExhaustion = br.ReadBoolean();
v.saveId = br.ReadBoolean() ? null : br.ReadString();
Expand Down
14 changes: 12 additions & 2 deletions Loaders/BeastHandlerLoader.cs
Original file line number Diff line number Diff line change
Expand Up @@ -241,12 +241,19 @@ private void Set_v_ApplyModModel_Fields(int start, int count) {
}

private void Set_v_TowerBehaviorModel_Fields(int start, int count) {
Set_v_Model_Fields(start, count);
Set_v_EntityBehaviorModel_Fields(start, count);
for (var i=0; i<count; i++) {
var v = (Il2CppAssets.Scripts.Models.Towers.TowerBehaviorModel)m[i+start];
}
}

private void Set_v_EntityBehaviorModel_Fields(int start, int count) {
Set_v_Model_Fields(start, count);
for (var i=0; i<count; i++) {
var v = (Il2CppAssets.Scripts.Models.EntityBehaviorModel)m[i+start];
}
}

private void Set_v_SyncTargetPriorityWithSubTowersModel_Fields(int start, int count) {
Set_v_TowerBehaviorModel_Fields(start, count);
for (var i=0; i<count; i++) {
Expand Down Expand Up @@ -509,6 +516,8 @@ private void Set_v_InstantDamageEmissionModel_Fields(int start, int count) {

private void Set_v_ProjectileModel_Fields(int start, int count) {
Set_v_Model_Fields(start, count);
var t = Il2CppType.Of<Il2CppAssets.Scripts.Models.Towers.Projectiles.ProjectileModel>();
var checkCollisionIntervalField = t.GetField("checkCollisionInterval", bindFlags);
for (var i=0; i<count; i++) {
var v = (Il2CppAssets.Scripts.Models.Towers.Projectiles.ProjectileModel)m[i+start];
v.display = ModContent.CreatePrefabReference(br.ReadString());
Expand All @@ -527,7 +536,7 @@ private void Set_v_ProjectileModel_Fields(int start, int count) {
v.vsBlockerRadius = br.ReadSingle();
v.hasDamageModifiers = br.ReadBoolean();
v.dontUseCollisionChecker = br.ReadBoolean();
v.checkCollisionFrames = br.ReadInt32();
checkCollisionIntervalField.SetValue(v,br.ReadSingle().ToIl2Cpp());
v.ignoreNonTargetable = br.ReadBoolean();
v.ignorePierceExhaustion = br.ReadBoolean();
v.saveId = br.ReadBoolean() ? null : br.ReadString();
Expand Down Expand Up @@ -1041,6 +1050,7 @@ private void Set_v_SlowModel_Fields(int start, int count) {
v.dontRefreshDuration = br.ReadBoolean();
v.cascadeMutators = br.ReadBoolean();
v.removeMutatorIfNotMatching = br.ReadBoolean();
v.matchLayersWithDamage = br.ReadBoolean();
v.mutationId = br.ReadBoolean() ? null : br.ReadString();
v.countGlueAchievement = br.ReadBoolean();
lifespanField.SetValue(v,br.ReadSingle().ToIl2Cpp());
Expand Down
14 changes: 12 additions & 2 deletions Loaders/BombShooterLoader.cs
Original file line number Diff line number Diff line change
Expand Up @@ -229,12 +229,19 @@ private void Set_v_ApplyModModel_Fields(int start, int count) {
}

private void Set_v_TowerBehaviorModel_Fields(int start, int count) {
Set_v_Model_Fields(start, count);
Set_v_EntityBehaviorModel_Fields(start, count);
for (var i=0; i<count; i++) {
var v = (Il2CppAssets.Scripts.Models.Towers.TowerBehaviorModel)m[i+start];
}
}

private void Set_v_EntityBehaviorModel_Fields(int start, int count) {
Set_v_Model_Fields(start, count);
for (var i=0; i<count; i++) {
var v = (Il2CppAssets.Scripts.Models.EntityBehaviorModel)m[i+start];
}
}

private void Set_v_CreateEffectOnPlaceModel_Fields(int start, int count) {
Set_v_TowerBehaviorModel_Fields(start, count);
for (var i=0; i<count; i++) {
Expand Down Expand Up @@ -383,6 +390,8 @@ private void Set_v_SingleEmissionModel_Fields(int start, int count) {

private void Set_v_ProjectileModel_Fields(int start, int count) {
Set_v_Model_Fields(start, count);
var t = Il2CppType.Of<Il2CppAssets.Scripts.Models.Towers.Projectiles.ProjectileModel>();
var checkCollisionIntervalField = t.GetField("checkCollisionInterval", bindFlags);
for (var i=0; i<count; i++) {
var v = (Il2CppAssets.Scripts.Models.Towers.Projectiles.ProjectileModel)m[i+start];
v.display = ModContent.CreatePrefabReference(br.ReadString());
Expand All @@ -401,7 +410,7 @@ private void Set_v_ProjectileModel_Fields(int start, int count) {
v.vsBlockerRadius = br.ReadSingle();
v.hasDamageModifiers = br.ReadBoolean();
v.dontUseCollisionChecker = br.ReadBoolean();
v.checkCollisionFrames = br.ReadInt32();
checkCollisionIntervalField.SetValue(v,br.ReadSingle().ToIl2Cpp());
v.ignoreNonTargetable = br.ReadBoolean();
v.ignorePierceExhaustion = br.ReadBoolean();
v.saveId = br.ReadBoolean() ? null : br.ReadString();
Expand Down Expand Up @@ -951,6 +960,7 @@ private void Set_v_SlowModel_Fields(int start, int count) {
v.dontRefreshDuration = br.ReadBoolean();
v.cascadeMutators = br.ReadBoolean();
v.removeMutatorIfNotMatching = br.ReadBoolean();
v.matchLayersWithDamage = br.ReadBoolean();
v.mutationId = br.ReadBoolean() ? null : br.ReadString();
v.countGlueAchievement = br.ReadBoolean();
lifespanField.SetValue(v,br.ReadSingle().ToIl2Cpp());
Expand Down
14 changes: 12 additions & 2 deletions Loaders/BoomerangMonkeyLoader.cs
Original file line number Diff line number Diff line change
Expand Up @@ -253,12 +253,19 @@ private void Set_v_ApplyModModel_Fields(int start, int count) {
}

private void Set_v_TowerBehaviorModel_Fields(int start, int count) {
Set_v_Model_Fields(start, count);
Set_v_EntityBehaviorModel_Fields(start, count);
for (var i=0; i<count; i++) {
var v = (Il2CppAssets.Scripts.Models.Towers.TowerBehaviorModel)m[i+start];
}
}

private void Set_v_EntityBehaviorModel_Fields(int start, int count) {
Set_v_Model_Fields(start, count);
for (var i=0; i<count; i++) {
var v = (Il2CppAssets.Scripts.Models.EntityBehaviorModel)m[i+start];
}
}

private void Set_v_CreateSoundOnSellModel_Fields(int start, int count) {
Set_v_TowerBehaviorModel_Fields(start, count);
for (var i=0; i<count; i++) {
Expand Down Expand Up @@ -407,6 +414,8 @@ private void Set_v_SingleEmissionModel_Fields(int start, int count) {

private void Set_v_ProjectileModel_Fields(int start, int count) {
Set_v_Model_Fields(start, count);
var t = Il2CppType.Of<Il2CppAssets.Scripts.Models.Towers.Projectiles.ProjectileModel>();
var checkCollisionIntervalField = t.GetField("checkCollisionInterval", bindFlags);
for (var i=0; i<count; i++) {
var v = (Il2CppAssets.Scripts.Models.Towers.Projectiles.ProjectileModel)m[i+start];
v.display = ModContent.CreatePrefabReference(br.ReadString());
Expand All @@ -425,7 +434,7 @@ private void Set_v_ProjectileModel_Fields(int start, int count) {
v.vsBlockerRadius = br.ReadSingle();
v.hasDamageModifiers = br.ReadBoolean();
v.dontUseCollisionChecker = br.ReadBoolean();
v.checkCollisionFrames = br.ReadInt32();
checkCollisionIntervalField.SetValue(v,br.ReadSingle().ToIl2Cpp());
v.ignoreNonTargetable = br.ReadBoolean();
v.ignorePierceExhaustion = br.ReadBoolean();
v.saveId = br.ReadBoolean() ? null : br.ReadString();
Expand Down Expand Up @@ -749,6 +758,7 @@ private void Set_v_SlowModel_Fields(int start, int count) {
v.dontRefreshDuration = br.ReadBoolean();
v.cascadeMutators = br.ReadBoolean();
v.removeMutatorIfNotMatching = br.ReadBoolean();
v.matchLayersWithDamage = br.ReadBoolean();
v.mutationId = br.ReadBoolean() ? null : br.ReadString();
v.countGlueAchievement = br.ReadBoolean();
lifespanField.SetValue(v,br.ReadSingle().ToIl2Cpp());
Expand Down
13 changes: 11 additions & 2 deletions Loaders/DartMonkeyLoader.cs
Original file line number Diff line number Diff line change
Expand Up @@ -229,12 +229,19 @@ private void Set_v_ApplyModModel_Fields(int start, int count) {
}

private void Set_v_TowerBehaviorModel_Fields(int start, int count) {
Set_v_Model_Fields(start, count);
Set_v_EntityBehaviorModel_Fields(start, count);
for (var i=0; i<count; i++) {
var v = (Il2CppAssets.Scripts.Models.Towers.TowerBehaviorModel)m[i+start];
}
}

private void Set_v_EntityBehaviorModel_Fields(int start, int count) {
Set_v_Model_Fields(start, count);
for (var i=0; i<count; i++) {
var v = (Il2CppAssets.Scripts.Models.EntityBehaviorModel)m[i+start];
}
}

private void Set_v_CreateEffectOnPlaceModel_Fields(int start, int count) {
Set_v_TowerBehaviorModel_Fields(start, count);
for (var i=0; i<count; i++) {
Expand Down Expand Up @@ -390,6 +397,8 @@ private void Set_v_ArcEmissionModel_Fields(int start, int count) {

private void Set_v_ProjectileModel_Fields(int start, int count) {
Set_v_Model_Fields(start, count);
var t = Il2CppType.Of<Il2CppAssets.Scripts.Models.Towers.Projectiles.ProjectileModel>();
var checkCollisionIntervalField = t.GetField("checkCollisionInterval", bindFlags);
for (var i=0; i<count; i++) {
var v = (Il2CppAssets.Scripts.Models.Towers.Projectiles.ProjectileModel)m[i+start];
v.display = ModContent.CreatePrefabReference(br.ReadString());
Expand All @@ -408,7 +417,7 @@ private void Set_v_ProjectileModel_Fields(int start, int count) {
v.vsBlockerRadius = br.ReadSingle();
v.hasDamageModifiers = br.ReadBoolean();
v.dontUseCollisionChecker = br.ReadBoolean();
v.checkCollisionFrames = br.ReadInt32();
checkCollisionIntervalField.SetValue(v,br.ReadSingle().ToIl2Cpp());
v.ignoreNonTargetable = br.ReadBoolean();
v.ignorePierceExhaustion = br.ReadBoolean();
v.saveId = br.ReadBoolean() ? null : br.ReadString();
Expand Down
13 changes: 11 additions & 2 deletions Loaders/DartlingGunnerLoader.cs
Original file line number Diff line number Diff line change
Expand Up @@ -229,12 +229,19 @@ private void Set_v_ApplyModModel_Fields(int start, int count) {
}

private void Set_v_TowerBehaviorModel_Fields(int start, int count) {
Set_v_Model_Fields(start, count);
Set_v_EntityBehaviorModel_Fields(start, count);
for (var i=0; i<count; i++) {
var v = (Il2CppAssets.Scripts.Models.Towers.TowerBehaviorModel)m[i+start];
}
}

private void Set_v_EntityBehaviorModel_Fields(int start, int count) {
Set_v_Model_Fields(start, count);
for (var i=0; i<count; i++) {
var v = (Il2CppAssets.Scripts.Models.EntityBehaviorModel)m[i+start];
}
}

private void Set_v_CreateEffectOnSellModel_Fields(int start, int count) {
Set_v_TowerBehaviorModel_Fields(start, count);
for (var i=0; i<count; i++) {
Expand Down Expand Up @@ -398,6 +405,8 @@ private void Set_v_RandomEmissionModel_Fields(int start, int count) {

private void Set_v_ProjectileModel_Fields(int start, int count) {
Set_v_Model_Fields(start, count);
var t = Il2CppType.Of<Il2CppAssets.Scripts.Models.Towers.Projectiles.ProjectileModel>();
var checkCollisionIntervalField = t.GetField("checkCollisionInterval", bindFlags);
for (var i=0; i<count; i++) {
var v = (Il2CppAssets.Scripts.Models.Towers.Projectiles.ProjectileModel)m[i+start];
v.display = ModContent.CreatePrefabReference(br.ReadString());
Expand All @@ -416,7 +425,7 @@ private void Set_v_ProjectileModel_Fields(int start, int count) {
v.vsBlockerRadius = br.ReadSingle();
v.hasDamageModifiers = br.ReadBoolean();
v.dontUseCollisionChecker = br.ReadBoolean();
v.checkCollisionFrames = br.ReadInt32();
checkCollisionIntervalField.SetValue(v,br.ReadSingle().ToIl2Cpp());
v.ignoreNonTargetable = br.ReadBoolean();
v.ignorePierceExhaustion = br.ReadBoolean();
v.saveId = br.ReadBoolean() ? null : br.ReadString();
Expand Down
Loading

0 comments on commit 5146807

Please sign in to comment.