Jump to content
musurca

Guilt & Remembrance: civilian deaths, reparations, & war crimes

Recommended Posts

TxZFDeB.jpg

 

Guilt & Remembrance (v1.33a)

 

Mod for handling civilian deaths, reparations, and war crimes in Arma 3. Atone for your "collateral damage" by bringing the bodies of dead civilians back to their family — or else attempt to conceal the deaths by secretly disposing of the evidence.

 

Steam Workshop

Direct Download

Github

 

Requirements: CBA_A3, ACE3


FEATURES

Civilian Deaths

* When a player kills a civilian, a new task is generated requiring the player to deliver the body to a member of their family, who lives in a house in the AO (within 20km by default).
* Alternatively, players may attempt to conceal the death by taking the body at least 300m away from a populated center, burying it, and striking off the dead civilian’s name from the grave marker.

* Dead civilians are announced to everyone on the same side and marked on the map.

 

Burial and Exhumation
* Any corpse in a body bag can now be buried or exhumed (requires an Entrenching Tool).
* Burying any corpse produces a burial mound from which the dead person’s name and age can be read.

* The items carried by the dead are transferred to the body bag, and persist through burial and exhumation.

 

Autopsies

* Medics can perform an autopsy on any body in the field to determine cause of death (requires Surgical Kit).

*When performed near a medical facility, an autopsy can also determine the time of death, the faction of the killer — and can even reveal the identity of an unknown victim whose death had been concealed, allowing the body to be returned to his family.

 

Customization

* Mission creators can attach functions to event handlers to produce custom events upon civilian death, body delivery to next-of-kin, death concealment, or reveal of the identity of an unknown victim via autopsy.


FOR PLAYERS:
In order to deliver a dead civilian to their family member, you must first place it in a Body Bag via an ACE action (Interactions -> Place body in body bag). The Body Bag can then be loaded into the cargo of a vehicle, driven to the destination, unloaded, and then manually dragged to the relative.

(Note: while the task to deliver the body is created immediately after you have killed the civilian, you will not be notified for 20-60 seconds so as not to distract you if you happen to be in the middle of combat.)

You can also bury or exhume any body bags if you are carrying an Entrenching Tool. Autopsies can be performed if you are carrying a Surgical Kit.

 

You can change how your notifications for civilian casualties are displayed in your Addon Settings (listed under "Guilt & Remembrance."). Note that this setting may be overriden by the mission creator or server operator.

FOR MISSION CREATORS & SERVER OPERATORS:
This mod is fully signed for multiplayer use, and has been tested on both local and dedicated servers. It must be run on both the client and server.

The following mod settings are customizable from your mission scripts:

// set the civilian types that will act as next-of-kin
GR_CIV_TYPES = ["C_man_polo_1_F_asia","C_man_polo_5_F_asia"];

// set the maximum distance from murder that next-of-kin will be spawned
GR_MAX_KIN_DIST = 20000;

// Chance that a player murdering a civilian will get an "apology" mission
GR_MISSION_CHANCE = 100;

// Delay in seconds after death until player is notified of body delivery mission
GR_TASK_MIN_DELAY=20;
GR_TASK_MID_DELAY=40;
GR_TASK_MAX_DELAY=60;

// Set custom faction names to determine blame when performing an autopsy
GR_FACTIONNAME_EAST = "CSAT";
GR_FACTIONNAME_WEST = "NATO";
GR_FACTIONNAME_IND = "the Syndikat";

// You can also add/remove custom event handlers to be called upon
// certain events. 

// On civilian murder by player:
[yourCustomEvent_OnCivDeath] call GR_fnc_addCivDeathEventHandler; // args [_killer, _killed, _nextofkin]
// (NOTE: _nextofkin will be nil if a body delivery mission wasn't generated.)
[yourCustomEvent_OnCivDeath] call GR_fnc_removeCivDeathEventHandler;

// On body delivery:
[yourCustomEvent_OnDeliverBody] call GR_fnc_addDeliverBodyEventHandler; // args [_killer, _nextofkin, _body]
[yourCustomEvent_OnDeliverBody] call GR_fnc_removeDeliverBodyEventHandler;

// On successful concealment of a death:
[yourCustomEvent_OnConcealDeath] call GR_fnc_addConcealDeathEventHandler; // args [_killer, _nextofkin, _grave]
[yourCustomEvent_OnConcealDeath] call GR_fnc_removeConcealDeathEventHandler;
    
// On reveal of a concealed death via autopsy:
[yourCustomEvent_OnRevealDeath] call GR_fnc_addRevealDeathEventHandler; // args [_medic, _body, _killerSide]
[yourCustomEvent_OnRevealDeath] call GR_fnc_removeRevealDeathEventHandler;

// NOTE: if your event handler uses _nextofkin or _body, make sure to turn off garbage collection with:
// _nextofkin setVariable ["GR_WILLDELETE",false];
// _body setVariable ["GR_WILLDELETE",false];


GUILT & REMEMBRANCE is licensed under APL-SA (Arma Public License - Share-Alike) and is free for non-commercial use. If you add it to your server, please tell me about it — I'm interested in how this mod will be used.

For questions, comments, or bug reports, please post below or contact me directly at nick.musurca@gmail.com.

 

-----

CHANGELOG:

v1.33a (July 30, 2020):

-fix: one-time msg repeating more than once

-assorted fixes

 

v1.33 (June 3, 2020):

-Russian localization (thanks to @Barmalei75)

-BLM

 

v1.32 (January 26, 2020):

-bugfix: doctors can now perform autopsies
-added: CBA setting to determine who can perform autopsies

 

v1.31 (January 11, 2020):

-bugfix: two events created on civilian death (related to ACE3 Medical update)

 

v1.3 (May 25, 2019):

-added: Autopsies

-added: autopsy event handler if concealed death is revealed

-added: CBA setting to automatically add bodybag to dead civilian inventory (e.g. for missions where getting a bodybag is difficult, like Antistasi)

-bugfix: next-of-kin garbage collection

 

v1.23 (May 13, 2019):

-civilian dead now marked on your map (but can be disabled from CBA settings)

-more reliable performance under heavy CPU load / adverse network conditions

 

v1.22 (May 13, 2019):
-bugfix: now supports Antistasi (as well as other mods/game types where civilians are created on the client-side)

 

v1.21 (May 11, 2019):

-bugfix: death of Zeus-placed civilians now registered on dedicated servers

 

v1.2 (May 11, 2019):
-inventory of corpse now transfers to body bag
-body bag inventory persistent through burial & exhumation
-bugfixes for dedicated server


v1.11 (May 10, 2019):
-hotfix: singleplayer scenarios should now work
-event handler init moved into preInit -- no need to sleep before adding them


v1.1 (May 10, 2019)
-added CBA setting to customize notification style
-civilian deaths now always create a new diary record
-added more possible civilian classes to default array of next-of-kin
-added settings to allow mission creators/server ops to customize delay of task notification

v1.0 (May 8, 2019)
- Initial release

  • Like 20
  • Thanks 1

Share this post


Link to post
Share on other sites

This is a nice addition.

  • Like 1

Share this post


Link to post
Share on other sites

Really glad you finished this, great work!

  • Like 1

Share this post


Link to post
Share on other sites

Thanks guys. Just released v1.1, which is a quick update that allows you to customize the death notification method and adds diary records for every dead civilian.

 

EDIT: and just released v1.11, which fixes a serious bug with singleplayer scenarios.

 

v1.2 -- bugfix with dedicated servers + corpse/body bag inventory.

Edited by musurca
  • Like 1

Share this post


Link to post
Share on other sites

Released v1.21, which fixes an issue with placing civilians via Zeus on dedicated servers.

 

2 hours ago, Nicholas Lendall said:

hey is there a way to have it show where the CIV died at? 

 

There is. Good idea, thanks. I'll look into that.

Share this post


Link to post
Share on other sites

awesome dude this mod is epic! Also can you have an option to have it pop up on everyone's screen that this player killed this/or a civilian so when my bois JDAM some Civ i can yell at them lol!

 

Share this post


Link to post
Share on other sites
12 minutes ago, Nicholas Lendall said:

awesome dude this mod is epic! Also can you have an option to have it pop up on everyone's screen that this player killed this/or a civilian so when my bois JDAM some Civ i can yell at them lol!

 

 

Thanks. And that's already the case with the current version, so yell away — the notification that pops up when a player kills a civilian gets sent to everyone on the same side, and is marked down as a record in everyone's diary.

Share this post


Link to post
Share on other sites

Released v1.22, with support for Antistasi and other MP mission types/mods where civilians are created on the client-side.

  • Like 2

Share this post


Link to post
Share on other sites

Released v1.23: per request by @Nicholas Lendall, the map is now marked where forces on your side have killed civilians. Also some bugfixes and generally more reliability under heavy CPU load / adverse network conditions.

  • Thanks 1

Share this post


Link to post
Share on other sites

Hey so when an AI in your faction kills a CIV it executes the script. Im not sure it you where aware of that or not. Would it be had to make it a player only Mod or give us the option to choose between the two? 

Share this post


Link to post
Share on other sites
11 hours ago, Nicholas Lendall said:

Hey so when an AI in your faction kills a CIV it executes the script. Im not sure it you where aware of that or not.

 

Hey, I’m aware of it. It’s a choice. The perspective that I take with this mod is that guilt isn’t just a private experience; it’s also a collective phenomenon, in the sense that you are often held responsible for the actions of others on your side, regardless of whether you feel personally culpable. The Arma AI may occasionally do things that seem bizarre or inexplicable, such as running over people or firing into crowds indiscriminately—but of course real soldiers tend to do such things, too. If you put the AI soldiers in a situation in which they're more likely to kill civilians—using grenadiers, or tanks, or mortars, or air support in an occupied town, for example—then you are in a sense responsible and should be made aware of the consequences.

To avoid this you may have to adjust your tactics and operational stance in the game—as, for example, the US Army did in Sadr City—but my strong feeling is that once we decide to behave as if we wish to avoid the death of artificial "life," then we should not discriminate as to how it occurs. (I see that this is not a very practical position, but nothing about this mod is.) Hope that explanation makes sense.

 

5 hours ago, froggyluv said:

I like the concept -is it ACE only?

 

Thanks—yes, ACE-only for the foreseeable future.

  • Like 1

Share this post


Link to post
Share on other sites
56 minutes ago, musurca said:

 

Hey, I’m aware of it. It’s a choice. The perspective that I take with this mod is that guilt isn’t just a private experience; it’s also a collective phenomenon, in the sense that you are often held responsible for the actions of others on your side, regardless of whether you feel personally culpable. The Arma AI may occasionally do things that seem bizarre or inexplicable, such as running over people or firing into crowds indiscriminately—but of course real soldiers tend to do such things, too. If you put the AI soldiers in a situation in which they're more likely to kill civilians—using grenadiers, or tanks, or mortars, or air support in an occupied town, for example—then you are in a sense responsible and should be made aware of the consequences.

To avoid this you may have to adjust your tactics and operational stance in the game—as, for example, the US Army did in Sadr City—but my strong feeling is that once we decide to behave as if we wish to avoid the death of artificial "life," then we should not discriminate as to how it occurs. (I see that this is not a very practical position, but nothing about this mod is.) Hope that explanation makes sense.

 

 

Thanks—yes, ACE-only for the foreseeable future.

Your right i never looked at it like that ok sweet!

Share this post


Link to post
Share on other sites

Thank you for creating this mod.  I have a couple of animals in my group that don't care about murdering civilians.  I have been looking for more ways to encourage them to properly identify targets, as we use Arma for a testing and training grounds for other games.  Now we just need a mod that will spawn escalating responses, from protesters - angry mobs - police intervention and then of course the military response in response to tensions with the unit.

  • Like 1

Share this post


Link to post
Share on other sites

Released v1.3: you can now perform autopsies on corpses if you're carrying a Surgical Kit. In the field, you can only determine the rough cause of death...

 

bxiU7jR.jpg

 

...but if you're near a medical facility, you can also determine the faction of the killer, the time of death, and even discover the identity of unknown victims whose deaths had been concealed. You will then be given a task to return the body to their family.

 

LY70KxO.jpg

 

  • Like 3

Share this post


Link to post
Share on other sites

Ok so far this has been great, really enjoying the mod thanks @musurca

Only think is I'm not smart enough to understand how to use the EH's 😂
For instance if I wanted to run the code

15 call btc_fnc_rep_change;

when the body has been delivered to next of kin, what would the syntax be? Also where would I place the code?

Share this post


Link to post
Share on other sites

Glad you like it. The easiest way to add a custom event handler would be to put something like the following in the init.sqf of your mission:

if(isServer) then {
	[{
 		params["_killer", "_nextofkin", "_body"]; // in case you need to access these
 		// now add your code here, e.g.
 		15 call btc_fnc_rep_change;
	}] call GR_fnc_addDeliverBodyEventHandler;
};

You could also pass in the name of a custom function if you wanted the ability to remove the event handler later.

  • Thanks 1

Share this post


Link to post
Share on other sites

I've pushed out a small update (v1.31) that should fix an issue with the ACE3 Medical update causing duplicate civilian death events. There will probably be another small update in the future as I work through some issues related to determining the cause of death via the autopsy module, but for now everything should be more or less functional. Please let me know if you notice any other problems as you play.

  • Like 3

Share this post


Link to post
Share on other sites

Another small update (v1.32) to fix a bug that prevented the Doctor class from performing autopsies. There's now also a CBA setting which lets you customize which classes (Anyone, Medics+Doctors, or Doctors only) can perform the basic autopsy.

  • Like 2

Share this post


Link to post
Share on other sites

If I run this on ALiVE with all persistence options turned on, you do think concealed grave sites would save to the server? I.E. their position, the name of the individual buried, why they died, etc?

Share this post


Link to post
Share on other sites
11 hours ago, keIIy said:

If I run this on ALiVE with all persistence options turned on, you do think concealed grave sites would save to the server? I.E. their position, the name of the individual buried, why they died, etc? 

 

I'm no ALiVExpert but I suspect it wouldn't work automatically—you'd have to do a little bit of scripting. I think you could register a custom event handler to add concealed graves to the ALiVE Logistics module. You'd write something like this in your mission's init.sqf:

[{
 params["_player", "_nextofkin", "_grave"];
 [ALiVE_SYS_LOGISTICS,"updateObject",[_grave]] call ALIVE_fnc_logistics;
}] call GR_fnc_addConcealDeathEventHandler;

I haven't tested this code, so I'm not sure if it will automatically save all of the grave object's required custom variables. Any ALiVE script mavens out there who would know?

 

(Also, if anyone wants to add ALiVE persistence, I'd be happy to merge any pull requests on the GR Github.)

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

×