public static void SpecialPoperations(TowerModel model) { var ability = model.GetAbilites()[1]; var behavior = new ActivateAbilityOnRoundStartModel("ActivateAbilityOnRoundStartModel_SpecialPoperations", ability.Duplicate()); ability.enabled = false; model.AddBehavior(behavior); var specialPops = model.GetAbilites()[2]; model.behaviors = model.behaviors.RemoveItem(specialPops); var marine = specialPops.GetBehavior <FindDeploymentLocationModel>().towerModel; var weapon = marine.GetAttackModels()[0].weapons[0].Duplicate(); var airBehavior = model.GetAttackModels()[0].weapons[0].GetBehavior <FireFromAirUnitModel>(); weapon.behaviors = new Il2CppReferenceArray <WeaponBehaviorModel>(new WeaponBehaviorModel[] { airBehavior }); weapon.ejectX = weapon.ejectY = weapon.ejectZ = 0; weapon.emission = model.GetWeapon().emission.Duplicate(); weapon.emission.Cast <EmissionWithOffsetsModel>().throwMarkerOffsetModels = new Il2CppReferenceArray <ThrowMarkerOffsetModel>(new[] { weapon.emission.Cast <EmissionWithOffsetsModel>().throwMarkerOffsetModels[0] }); weapon.emission.Cast <EmissionWithOffsetsModel>().throwMarkerOffsetModels[0].ejectX = 0; weapon.emission.Cast <EmissionWithOffsetsModel>().projectileCount = 1; model.GetAttackModels()[0].AddWeapon(weapon); }
public static void SupportChinook(TowerModel model) { var ability = model.GetAbilites()[1]; var behavior = new ActivateAbilityOnRoundStartModel("ActivateAbilityOnRoundStartModel_SupportChinook", ability.Duplicate()); ability.enabled = false; model.AddBehavior(behavior); }