// disable AI aggression private void AIEnemyDetectionHook(On.AICEnemyDetection.orig_Update orig, AICEnemyDetection self) { if (EnemiesAggressive == true) { orig(self); return; } return; }
static void AICEnemyDetection_Detected_Post(AICEnemyDetection __instance, LockingPoint _point) { #region quit if (!_changeTargetWhenTooFar || !_point.OwnerChar.TryAssign(out var target)) { return; } #endregion Character enemy = __instance.m_characterAI.Character; enemy.AddLastDealer(target.UID); if (_changeTargetDetectAllPlayers && target.IsPlayer()) { foreach (var player in Players.Local) { enemy.AddLastDealer(player.Character.UID); } } }
static void AICEnemyDetection_Init_Pre(AICEnemyDetection __instance) => __instance.ChanceToSwitchTargetOnHurt = _changeTargetOnHit;