INCONTINENTIA'S UNDERCOVER / CIVILIAN RECRUITMENT This is a complex and performance friendly undercover simulation for players and their AI subordinates. Work as a guerrilla cell, go undercover, recruit comrades, and cause mayhem. SP / Coop and Dedi compatible. (For those of you who've used my previous undercover scripts, this release is a significant upgrade and represents a few hundred hours' work and testing over the last version, so hopefully you'll see the improvement!) Requires: CBA FEATURES General Virtually every factor that can affect your cover (within engine limitations and the caveats mentioned below) has been accounted for. Optimised to the max; should not noticably affect performance at all - no noticeable performance impact even during a stress test of 45+ undercover units simultaneously undercoverising several enemy patrols. Operates primarily on each client - server / client interaction is therefore kept to a minimum even when multiple players are undercover at the same time Compatible with RHS, ACE, ALiVE, Zeus, ASR, bCombat, TPWCAS, VCOM... pretty much everything its been tested on (some factions' helmets and bandannas may not be recognised but the overall effect of this will be minimal - if you desperately want all features, use vanilla or RHS versions of these assets) Comprehensive undercover / incognito simulation - Works on players and their AI group members Quick, easy setup: most aspects of the script are automatically implemented based on the settings you choose Can run in the background even when the mission isn't focused around undercover operations - automatically reduces checking overhead when unit isn't undercover so it should be practically unnoticeable No need to turn the script on or off - it just works No checkboxes, compromised notifications or any other "gamey" stuff; just an optional hint when you're obviously hostile and when you aren't - the rest is up to you Responds to whether the units are in vehicles or on foot, dressed as enemies or civilians, whether the unit's face fits or doesn't fit in with the faction they are pretending to be, or whether it is day or night, with each situation requiring players to behave appropriately Suspicious enemies may challenge or watch and follow undercover units if they act weirdly; the more weird stuff you do, the more likely they are to see through your disguise (you can even use this to your advantage to draw enemies attention away from another unit while they do something suspicious - just don't get too cocky or they will open fire on you) Players must "act" their role; doing weird stuff will raise suspicion and could blow your cover - if you point your weapon at an enemy and they see you doing it, they will get suspicious very quickly. Equally, if an enemy sees you crawling around or planting explosives, you're not going to stay undercover for long. Enemies will detect if undercover units are the nationality of the group they are impersonating; covering your face with a scarf or bandanna will reduce this but not as much as choosing undercover units whose faces fit in with the people they are trying to impersonate All actions have consequences, good or bad. If the MRAP you're driving gets a bit close to a patrol, moving into the back of it and out of sight of the enemy might just save your skin. Equally, putting a balaclava on when you're a civilian will attract a lot of attention - which is especially not good if you're already carrying a military rucksack. Once undercover units become compromised, enemies will remember the vehicles they are spotted in and clothes they are wearing - change your clothing (both uniform and either headgear or goggles) and if no enemies see you doing it, your new disguise may stick Easily switch disguises: take enemy uniforms from nearby crates, vehicles, dead bodies and the ground (and order AI subordinates to do the same) Quickly conceal and un-conceal your (and your subordinates') weapons if you have the inventory space - without faffing with inventories Different configurable detection systems for regular and asymetric enemy forces Stealth kills work - If nobody sees you firing a shot, your cover will remain intact BUT, enemies do remember suspicious units - if you kill someone and other enemies of that side already know who you are and that you are nearby, there is a chance your cover will be blown regardless However, your cover will return if you kill everyone who knows about you before they can spread the word Different behaviour for regular and asymmetric forces Define a side as asymmetric and they will not be able to share your identity outside of the local area, but they will be better at spotting imposters Define a side as regular and your cover will stay blown for much longer and for a much wider area once compromised... but they may not have such a good nose for imposters (Optional) Civilian Recruitment Undercover units can recruit civilians to join their group The more enemies you kill, and the more chaos you are associated with, the better your reputation will become The better your reputation, the more likely civilians are to join you Kill enemies without getting spotted and there is a chance they will lash out against civilians, with a potential to cause a civilian uprising (optional) Automatically arm ambient civilians with weapons and items which they may use if recruited or during an uprising Try to steal civilians' clothes from them (but be prepared that your reputation will take a hit or you may become compromised) (Requires ALiVE) Turn recruited units into a profiled group to be used by AI commander of the same faction as the undercover unit (add to object init: this addaction ["Profile group","[player,'profileGroup'] remoteExecCall ['INCON_ucr_fnc_ucrMain',2]",[],1,false,true]); USAGE Add all files from Incon-Undercover folder into your mission folder. If you already have a description.ext or initPlayerLocal.sqf then add the code to your existing files. (Make sure to delete any previous version of my undercover scripts). In description.ext, if the class is already defined (for instance, cfgFunctions), just add the #include line to the given class. Configure your settings in the UCR_setup.sqf file in the INC_undercover folder (pay close attention to these, one wrong setting can lead to some weird behaviour). For each out of bounds area, place a marker over the area with "INC_tre" somewhere in the marker name (e.g. "MyMarkerINC_tre" or "INC_tre_sillyMarkerName_15"). The script will handle the rest. But if you want, you can also include other markers by listing them in the relevant array in UCR_setup.sqf. Add in Incon Persistence if you want your band of merry men to persist between ALiVE sessions (this is now a separate script but automatically persists reputation). For each playable undercover unit, put this in their unit init in the editor: this setVariable ["isSneaky",true,true]; Non-player units in the undercover unit's group do not need anything; the script will run on them automatically on mission start. Caveats / Compatibility: Only one side can have undercover units at a time (so no east undercover and west undercover units undercoverising each other at the same time) Only one side can be defined as asymmetric at a time and only one side can be defined as regular - and both must be hostile to the undercover unit's side. So if having a three-way war, one side must be asym and the other regular. If having a three-way (...war), it is recommended to not have any incognito factions as an engine limitation means that incognito units (i.e. those disguised as the enemy) will be seen as friendly to all - could break the immersion if you're dressed as OPFOR and GreenFOR don't shoot at you when they should. For mission makers - just be aware that the following could affect your mission: enemy units may wander from their original positions to follow undercover units if they become suspicious. Also, when compromised by regular forces, an undercover unit's description will be shared across other enemies in the local area after some time if they don't kill everyone who knows about them Works on all tested mods. If you find an incompatibility, tell me! Credits Massive thanks to Spyderblack723 for his help creating some of the functions and correcting my mistakes / oversights on the original release. Also for generally being super helpful over the past year as I've got into modding. Grumpy Old Man, Tajin and sarogahtyp are responsible for creating a performant detection script, which I then adapted and used as a basis for the undercover script, so thank you to those guys too. Also thanks to das attorney, davidoss, Bad Benson, Tankbuster, dedmen, fn_Quiksilver, marceldev89, baermitumlaut and Duda123 for some top optimisation tips. And huge thanks to accuracythruvolume for testing and feedback.    Download version 1.21 release candidate here   CHANGELOG