Skip to content

Smoke - New Component#11220

Open
BrettMayson wants to merge 24 commits intoacemod:masterfrom
BrettMayson:smoke
Open

Smoke - New Component#11220
BrettMayson wants to merge 24 commits intoacemod:masterfrom
BrettMayson:smoke

Conversation

@BrettMayson
Copy link
Member

@BrettMayson BrettMayson commented Jan 7, 2026

When merged this pull request will:

  • Smoke effects when standing in particles that have blockAIVisibility
  • Blur and over expose vision
  • Affect spo2 breathing effectiveness
  • Adds eye and breathing protection to vanilla facewear, ace arsenal stat bars
  • Unrelated hemtt launch for ADT

Considerations:

  • Should this affect AI? Could be a setting, my concern would just be performance from a lot of AI. One possible optimization would be to first check if there is a smoke grenade in X meters, but that would cause other sources of smoke to stop working and I don't like that as a "solution"
  • Coughing sound effects? Would need to source audio

IMPORTANT

  • If the contribution affects the documentation, please include your changes in this pull request so the documentation will appear on the website.
  • Development Guidelines are read, understood and applied.
  • Title of this PR uses our standard template Component - Add|Fix|Improve|Change|Make|Remove {changes}.

BrettMayson and others added 4 commits January 7, 2026 00:26
Co-authored-by: PabstMirror <pabstmirror@gmail.com>
Co-authored-by: PabstMirror <pabstmirror@gmail.com>
@BaerMitUmlaut
Copy link
Member

IMO a bit confusing to have a "smoke" addon that does not change the particles, though I can't think of a better name right now.

@Drofseh
Copy link
Contributor

Drofseh commented Jan 7, 2026

IMO a bit confusing to have a "smoke" addon that does not change the particles, though I can't think of a better name right now.

Should it go in the goggles addon where eyewear is already providing protection from other things?

Copy link
Contributor

@rautamiekka rautamiekka left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • Missing macros.
  • Inconsistent *_protection spellings.

@BrettMayson
Copy link
Member Author

Should it go in the goggles addon where eyewear is already providing protection from other things?

I agree that smoke is maybe not the best, but I also couldn't think of anything else that'd be better

I don't think this should go in goggles, just because while they are related to face wear, that's about it. There is no overlap in config, settings, or functionality.

@BrettMayson
Copy link
Member Author

BrettMayson commented Jan 12, 2026

After play testing this weekend, I found a problem with vehicles so I've just disabled it when inside one.

I also had someone get the smoke effect standing in a particular spot, so I'll debug that further this week. Otherwise everything seemed to work well

Solved

@PabstMirror
Copy link
Contributor

isInSmoke cost varies based on nearby objects
but in some cases was up to 0.3ms

I think it would be better to run this at a reduced interval instead of everyframe
5 per second should still be a smooth enough transition for the effects?

@BrettMayson
Copy link
Member Author

Reduced to 5 times per second

Fixed the issue with false positives in tight spaces.

Added back to vehicles, but not tanks, since they'd presumably have a proper filter, while most other vehicles might not? Could add more config onto that (but I don't want to make more config variables, especially just for this), or also exclude APC?

@Drofseh
Copy link
Contributor

Drofseh commented Jan 25, 2026

Added back to vehicles, but not tanks, since they'd presumably have a proper filter, while most other vehicles might not? Could add more config onto that (but I don't want to make more config variables, especially just for this), or also exclude APC?

Armoured vehicles started being NBC resistent in the 1950s and 60s, so I would by default exclude all closed vehicles regardless of type.

If you don't want to add another config var, could you use the sound attentuation of the vehicle?
If it's not letting noise in easily it seems reasonable it's not letting gas in easily.
Either attenuationEffectType or insideSoundCoef.

I think attenuationEffectType would be better, you could either just use the string to decide what the passthrough should be or you could maybe look up the class in CfgSoundEffects >> AttenuationsEffects and math something out of its values. Maybe the average of the gain array for each equalizer?
Some mods do have custom classes so lookup may be better.

insideSoundCoef could be used directly, it's just a value between 0 and 1, but it may be less reliable. I believe it's a legacy param while attenuationEffectType is new for Arma3 and a lot of vehicles may just inherit insideSoundCoef.

@BrettMayson
Copy link
Member Author

This doesn't work for vehicle that have seat both inside and out though, and I'm not sure if there is a config way to check that. Like the HEMTT transport, where the crew in the cab should be fine, but the people in the back definitely aren't

@BrettMayson
Copy link
Member Author

BrettMayson commented Feb 2, 2026

Ok, so this checks

  1. If an explicit config for the vehicle is defined
  2. If the attenuation suggests the vehicle is open (except helicopters, which are always considered enclosed unless defined otherwise explicitly)
  3. If the seat has a view of the sky

This seems to be good in most cases, and for the niche ones, either the mod or ace compats can explicitly set if the seat is exposed to smoke or not

Co-authored-by: PabstMirror <pabstmirror@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants