public static void SelectionStateActiveProbe_CreateFiringOrders_Postfix(SelectionStateActiveProbe __instance, string button) { Mod.Log.Trace?.Write("SSSL:CFO entered"); if (button == "BTN_FireConfirm" && __instance.HasTarget) { ModState.SelectionStateActiveProbe = __instance; } }
public static void SelectionStateActiveProbe_CanActorUseThisState_Postfix(SelectionStateActiveProbe __instance, AbstractActor actor, ref bool __result) { Mod.Log.Trace?.Write("SSAP:CAUTS entered"); if (ActorHasFreeSensorLock(actor)) { Ability activeAbility = actor.ComponentAbilities.Find((Ability x) => x.Def.Targeting == AbilityDef.TargetingType.ActiveProbe); bool flag = (activeAbility != null && activeAbility.IsAvailable); Mod.Log.Debug?.Write($" Pilot has sensorLock:{activeAbility} and abilityIsAvailable:{activeAbility.IsAvailable}"); __result = flag; } }