MIL_ExplosiveBreaching is a set of scripts that allows designated players to breach urban walls, fences and building doors using vanilla Explosive Charges. Anyone in the same group as a breacher can be within 2m of a charge. Anyone else within 5m of a charge and not in cover may be knocked down for a short time. Any AI up to 10m and not knocked over will have their skills severely reduced for a short time.

In a hosted MP environment please allow up to 30 seconds before trying to breach anything, otherwise breaching won't occur.

Features:
- Easy-to-use GUI system for managing breaching charges.

- Uses explosive charges as breaching charges.
- Optional Red/Green indicator on each charge to indicate a player's safe distance from a charge.
- Specific players can be used as designated breachers.
- All players (including non-breachers) can see effects/features of the system.
- Disorientating effects for anyone, human or AI, caught by the explosive breach.
- Single/Multiple charges can be used together

***Mission makers***

- Two variables to check if a unit's lifeState == "INCAPACITATED" have been added to account for conflicts with other lifeState checks that may be in use on other scripts.
- e.g. Running custom revive scripts when lifeState == "INCAPACITATED".
- In this case, it would be wrong to run the custom revive if a player was a bit too close to the breaching charge and got knocked out.
- When being affected by breaching, a unit's lifeState will return "INCAPACITATED" for a few seconds.
- This system makes use of publicVariables to return if a unit has been scripted into being unconscious.
- The variables are:
- MIL_ExplosiveBreaching_Stunned_Player & MIL_ExplosiveBreaching_Stunned_AI.
- Each variable is a 4 index array:
- _array select 0/1/2/3 will return number of unconscious units for BLUFOR/OPFOR/INDI/CIV respectivelyExample:
- If a BluFor player stands too close to a door on breaching, and there's 2 AI OpFor on the other side and close enough to get knocked down the returns would be:
- MIL_ExplosiveBreaching_Stunned_Player - [1,0,0,0];
- MIL_ExplosiveBreaching_Stunned_AI ------- [0,2,0,0];
- This might take some tweaking, but suits my purpose for what this breaching function was originally being made for, and so that's where it stands for now unless someone needs it changed/improved.

- Copy the folder MIL_ExplosiveBreaching to your mission folder.
- Anyone assigned as a breacher will require Explosive Charges ("DemoCharge_Remote_Mag") to breach.
- To avoid damage, the better the ballistic protection of a player's vest, the safer they will be.

- In MP, breaching will not work immediately. Likely only in hosted MP, and should be ready after 30 seconds game time.

To do:

- Add ability to change the minimum safe distance to avoid being knocked down (both breacher's group and for other nearby units).
- Add default compatability for charges from common mods to be used for breaching.
- Add ability to designate custom array of charge/s to be used for breaching.
- Add ACE menu compatability.
- Add a 2-second timer to stunned AI to delay reactionary firing.
- Adjust chance of being knocked if needed.

If anyone happens across any bugs, or has any suggestions, please let me know. I would like to implement door breaching in the future too, so I'll see where that takes me.

Thank you.

Change log:

Spoiler

v2.1:

Added - GUI for user handling of setting and detonating breaching charges.
Added - Doors will now lock when a charge is placed on them.

Changed - AddAction commands changed and/or removed in favour of GUI.
Changed - Detonating all breaching charges now handled in their own door/wall lists (i.e. all door charges & all wall charges, instead of all charges).
Changed - Multiple charges on the same wall/door will now detonate simultaneously when one of them is detonated.
Changed - Action menu command colour.
Changed - Damage from breaching charge explosion is now handled differently. No damage should be taken regardless of armour equiped or distance to the explosion (please let me know if this IS NOT the case).
Changed - The breaching player, plus any players in the breacher's group, now only need to be 2m away from the charge to avoid being knocked down.
Changed - Breaching charges set too far away from a door will still detonate when the nearest door to them is breached (be warned!).

Fixed - Rubble will be less likely to spawn above ground on slopped terrain (please let me know if this IS NOT the case, and if you can, exactly where it occured so I can tighten up the maths).
Fixed - Damage blocking handling now works properly in MP.

Added - Two variables to check if a unit's lifeState == "INCAPACITATED" have been added to account for conflicts with other lifeState checks that may be in use on other scripts (see OP for more detail).

Added - More crazy arse ArmA magic to facilitate door breaching.

There have been a number of other changes, fixes and additions that don't necessarily need mentioning, but have improved the function none-the-less.

v1.1:

Added - Option to turn green/red indicators on or off (via initServer.sqf - see readMe.txt).

Fixed - Client would attempt to run initialisation even if server had not yet compiled functions.

Share this post

Link to post

Share on other sites

Slight addition to the post concerning the missions. Mission #2 requires Advanced Rappelling to be run on the host/server only. Otherwise peeps are gonna get stuck in the helicopter with nothing to do.

Share on other sites

- Copy the folder MIL_WallBreaching to your mission folder.
- Anyone assigned as a breacher will require Explosive Charges ("DemoCharge_Remote_Mag") to breach.
- To avoid damage, the better the ballistic protection of a player's vest, the safer they will be.

Share this post

Link to post

Share on other sites

Ever thought of expanding it to door/gates breaching? There's some scripts out there that does that, but none are appealing as yours could be. The only real problem that I see is that democharges are too powerful for door: you'll take down the whole building with those. Any way to lower charges damage with a script?

Briefly, but originally when I started this ArmA doors weren't lockable in-editor, so for me to work that one out at that time was out of scope. However, now that doors are lockable, and with the breaching system in place it shouldn't be too much of a stretch to add.

21 hours ago, zagor64bz said:

Any way to lower charges damage with a script?

They already do ZERO damage *magic*

Edit: DISCLAIMER - some damage is done, but not by the charges. Again *magic*

Share this post

Link to post

Share on other sites

@Jnr4817 Can you please post your initServer.sqf and initPlayerLocal.sqf files? At this stage my best guess is that your problem is in your initServer.sqf. The only way I get that error is if the function hasn't been initialised on the server when the client runs, which is what that change to initPlayerLocal.sqf would've fixed that I suggested trying (that bug will be updated soon anyway).

Share this post

Link to post

Share on other sites

@Jnr4817 Can you please post your initServer.sqf and initPlayerLocal.sqf files? At this stage my best guess is that your problem is in your initServer.sqf. The only way I get that error is if the function hasn't been initialised on the server when the client runs, which is what that change to initPlayerLocal.sqf would've fixed that I suggested trying (that bug will be updated soon anyway).