Jump to content
avibird 1

How can you make civilian hostility to Blufor Opfor and IND. I want a four way battle.

Recommended Posts

I know the old trick to get a group of civilians to fight one side using group and presence zero trick but I want the whole side of civilians to fight all other groups a four way battle. 

 

 

I found this information. 

 

Two way hostility with civilians

To make a civilian a potential target to other sides, you can either:

make the civilian a renegade by using the addRating command. This will make him a renegade, meaning an enemy to everyone including other civilians.

_civilian addRating -10000; // this will cause sides to shoot civilian, but not civilian to shoot back - for that, use setFriend

the renegade rating threshold is below -2000 (e.g -2001, -5000 etc).

Share this post


Link to post
Share on other sites

I found this code setup. 

// Sets civilians hostile towards blufor civilian setFriend [blufor, 0];

// Sets blufor hostile towards civilians blufor setFriend [civilian, 0];

You can execute that from init.sqf for example.

 

Why can't this work for all three bluefor Opfor and IND.  I don't see where it says you can only use for one group. I don't know if something is hardcoded that will prevent the use of this code for multiple groups.  Can't test now. Does anyone know the answer to this. 

Share this post


Link to post
Share on other sites
1 hour ago, avibird 1 said:

Why can't this work for all three bluefor Opfor and IND.

 

Why do you think it can't?

civilian setFriend [blufor, 0];
blufor setFriend [civilian, 0];

civilian setFriend [opfor, 0];
opfor setFriend [civilian, 0];

civilian setFriend [independent, 0];
independent setFriend [civilian, 0];

*edit* - You will still need to set your civilian units as renegade.

Share this post


Link to post
Share on other sites

Harzach I understand that but then civilians will fight each other. I don't understand why an option was never initiated by Bohemia to set civilian faction as you see fit. 

Share this post


Link to post
Share on other sites
7 minutes ago, avibird 1 said:

but then civilians will fight each other

 

Yeah, I've been testing and this is a problem. 

It's understandable that the devs wanted to keep a "side" that was non-combatant - I'm pretty sure civ units use different FSM. It sure would be nice to be able to create a true fourth side. Not sure if anyone has ever cracked this nut.

 

Of course, this is only an issue where AI is concerned.

  • Like 1

Share this post


Link to post
Share on other sites

No matter the setFriend you choose, civilian will never be fired. It's the untouchable side (captive's one). But armed civilian can fire at any declared enemy.

renegade falls into sideEnemy

There is no way for changing that.

 

Little workaround, not sure  worth it:

 

[] spawn {
  private ["_ts","_t"];
  while {TRUE} do {
    sleep 3;
    {
       _ts = (_x neartargets 300) select {alive (_x#4) && side (_x#4) == CIVILIAN && (_x#4) isKindOf "CAMANBASE"};
       _t = [_ts #0 #4,objNull] select (_ts isEqualTo []);
       if (!isNull _t) then {_x doSuppressiveFire _t}
    } forEach units player
  };
};

Here tested for units player (as blufor). You can loop for allUnits not civilian:  ...forEach  (allUnits select {side _x isNotEqualTo civilian}). May be resource consuming!

For players (killing civilian), mind for rating. You can be quickly renegade if not tweaked.

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×