public override bool KeepBehaviorCheck(AiShip leader, AiShip subject) { try { // Optimize -- Make sure the target is the same as the leaders. if (leader.GetTarget() == null) return false; if (leader.GetTarget().gameObject.name != subject.GetTarget().gameObject.name) return false; Attributes subjectStats = subject.getAttributes(); // Get Percent / 100% using cross multiply double health = GetCurrentHealthPercentage(); // comparison of factions may not work, check later. if (health >= 25 && leader.GetTarget() != null) return true; } catch { if (!subject) return false; if (subject.GetMyFleet().fleetLeader is PlayerShip) return false; if (!leader) leader = (AiShip)subject.GetMyFleet().fleetLeader; } return false; }
public override bool KeepBehaviorCheck(AiShip leader, AiShip subject) { //Check if the behavior of the leader is the same as the subject. if (leader.GetBehavior().Equals(subject.GetBehavior()) && leader.ID != subject.ID) return true; AiShip enemyShip = leader.GetTarget().gameObject.GetComponent("AiShip") as AiShip; // For Leaders eyes Only if (leader.GetMyFleet().threat < (enemyShip.GetMyFleet().threat * 10)) return true; return false; }