public virtual void AdditionalNPCSetup(FactionsEnum Fenum_in, FactionLogic FL_in, int PlayerRepModifier_in) { FacEnum = Fenum_in; FL = FL_in; PlayerRepModifier = PlayerRepModifier_in; Player_Fired = false; }
////////////////////////////////////Access Vars ////////////////////////////////////Public Usable Functions public virtual void SpawnEnemy(FactionsEnum fac, bool Roam_in, Transform Spawner_Transform_in, float Roam_RangeX_in, float Roam_RangeZ_in, float Roam_cd_in, float cd_randomness_in, float roam_speed_in) { factionEnum = fac; roam = Roam_in; Spawner_Transform = Spawner_Transform_in; roam_rangeX = Roam_RangeX_in; roam_rangeZ = Roam_RangeZ_in; roam_cd = Roam_cd_in; cd_randomness = cd_randomness_in; roam_speed = roam_speed_in; }
public void RallyAllies(FactionsEnum fac_in, Transform thisTransform, int CustomRep, float EnableRange = 100) { for (int i = 1; i < STARTUP_DECLARATIONS.FactionCount; ++i) //Don't Include Player; That is above { if (ReturnIsAlly(fac_in, (FactionsEnum)i)) { foreach (Transform trans in Tranform_Holder[i]) { if (trans.gameObject.activeSelf && (trans != thisTransform)) //enabled { float dist = (trans.position - thisTransform.position).magnitude; if (dist < EnableRange) //Need to check because rogues will attack all { trans.GetComponentInChildren <EnemyTemplateMaster>().Set_customReputation(CustomRep); trans.GetComponentInChildren <EnemyTemplateMaster>().EnableAI(false); } } } } } }
public Transform FindEnemy(FactionsEnum fac_in, Transform thisTransform, int CustomMod, float FindRange = 100) { Transform ClosestEnemy = null; float min_dist = FindRange; if (ReturnIsEnemyCustomPlayer(fac_in, CustomMod)) { Transform trans = GameObject.Find("Player").transform; float dist = (trans.position - thisTransform.position).magnitude; if (dist < min_dist) { min_dist = dist; ClosestEnemy = trans; } } for (int i = 1; i < STARTUP_DECLARATIONS.FactionCount; ++i) //Don't Include Player; That is above { if (ReturnIsEnemy(fac_in, (FactionsEnum)i)) { foreach (Transform trans in Tranform_Holder[i]) { if (trans.gameObject.activeSelf && (trans != thisTransform)) //enabled { float dist = (trans.position - thisTransform.position).magnitude; if (dist < min_dist) //Need to check because rogues will attack all { min_dist = dist; ClosestEnemy = trans; } } } } } return(ClosestEnemy); }
private Factions(FactionsEnum @enum) { Value = @enum; }
public bool ReturnIsAlly(FactionsEnum Fac_caster, FactionsEnum Fac_target) { return(AccessReputationMatrix((int)Fac_caster, (int)Fac_target) >= STARTUP_DECLARATIONS.AllyNumber); }
public bool ReturnIsEnemyCustomPlayer(FactionsEnum Fac_caster, int CustomMod) //Allows some characters to have different reputations with the player { return(AccessReputationMatrix((int)Fac_caster, 0) + CustomMod <= STARTUP_DECLARATIONS.EnemyNumber); }