SicariusSummoned Posted March 24, 2018 Share Posted March 24, 2018 So I made a faction for a set of leveled NPCs I'm going to have the player interact with and I found that despite all being members of the same faction they spawned as hostile to each other. The only way I was able to make them stop shooting themselves was by setting the faction as its own ally. Is this the proper way to do things or did I miss something that would have kept them from behaving this way? Link to comment Share on other sites More sharing options...
werr92 Posted March 25, 2018 Share Posted March 25, 2018 There're only 3 parameters thar determine NPC's behavior. 1 - relationship between factions (neutral / ally / enemy) 2 - level of aggression (unaggressive / aggressive / very aggressive / frenzy) 3 - who they help (no one / allies / friends & allies) Link to comment Share on other sites More sharing options...
BlahBlahDEEBlahBlah Posted March 25, 2018 Share Posted March 25, 2018 Aggro radius can sometimes have a weird, unintentional and bug-like (I swear, I cannot explain why it would, so I call it bug) effect on an NPCs reaction to Neutral NPCâs, too (even if same faction). (Just throwing it out there) Link to comment Share on other sites More sharing options...
SKKmods Posted March 25, 2018 Share Posted March 25, 2018 Yes you always have to set reciprocal faction relations even on itself, and with two factions just to be double safe I always force the calls on both factions; pThisFaction.SetAlly(pThisFaction, false, false) ;ally pThisFaction.SetAlly(pThatFaction, false, false) ;ally pThatFaction.SetAlly(pThisFaction, false, false) ;allyYou have also hit the two neutral gotchas to look out for ... which is why I avoid neutral and only use deterministic friend, ally, enemy for spawns: Aggression(2) Very Aggressive will attack Enemies and NEUTRALS on sight. Aggro Radius will attack Enemies and NEUTRALS in radius Link to comment Share on other sites More sharing options...
SicariusSummoned Posted March 25, 2018 Author Share Posted March 25, 2018 Yes you always have to set reciprocal faction relations even on itself, and with two factions just to be double safe I always force the calls on both factions; pThisFaction.SetAlly(pThisFaction, false, false) ;ally pThisFaction.SetAlly(pThatFaction, false, false) ;ally pThatFaction.SetAlly(pThisFaction, false, false) ;allyYou have also hit the two neutral gotchas to look out for ... which is why I avoid neutral and only use deterministic friend, ally, enemy for spawns: Aggression(2) Very Aggressive will attack Enemies and NEUTRALS on sight. Aggro Radius will attack Enemies and NEUTRALS in radiusOh! I missed the neutrals. Thank you so much! Link to comment Share on other sites More sharing options...
Recommended Posts