Skip to content

Conversation

@Keshash
Copy link
Contributor

@Keshash Keshash commented Jul 17, 2025

Additions

Describe new functionality added by your code, e.g.

  • Adds low visibility warmup time penalties. These occur from target being in smoke, darkness and bad weather. Penalties are additive and increase warmup ticks count. Applies at the same time as Subsequent Shots, inspired by that system. Can be disabled in mod settings. Doesn't apply if verb doesn't require line of sight
  • Adds thermal vision stat that counters smoke and bad weather, similar to how night vision stat counters darkness. 0% by default.
  • Adds concealment stat for targets that increases visibility penalties against them. 100% by default. Can be increased or reduced, so conspicuous targets can decrease aiming penalties against them. Both stats can be applied to implants, apparel and weapons just like night vision.
  • Adds 60% thermal vision efficiency to advanced night vision goggles for testing and as usage example.
  • Adds a line to the shooting tooltp about it
  • Adds a slider to mod settings to control severity

Reasoning

Why did you choose to implement things this way, e.g.

  • Represents the time taken by shooters to figure out where the target is, made more difficult by surrounding terrain.
  • Makes weather and darkness more impactful. We've tried to do this via harsher bullet spread, but cranking that up too much can result in comically bad misses. It's better to add 2 different average penalties than 1 overdone.
  • This change makes smoke grenades, sniper rifles and melee stronger - all commonly disliked tools, as they are overshadowed by CE's strong firearms. Smoke now gives you more time between enemy shots, sniper rifles aren't as affected by visibility penalties due to their high quality scopes and meleers gets more time to reach shooters at night and bad weather.
  • Warmup time penalties are based on visibility error, which is measured in cells. Through testing, i've found that the best way to convert cells to ticks is to multiply error by 10. This value could be rebalanced as you see fit.
  • Warmup time penalties are additive, not multiplicative. The latter would punish heavy weapons too much. IMO, it shouldn't depend on existing warmup time, as it's more dependant on shooter's ability to see and think.
  • Gives more purpose to investing in night vision goggles and flares.
  • Thermal vision opens a new way to make certain items more interesting. Could be used to counteract 1.6 weather max range penalties.
  • Concealment buffs could be used to make certain enemies more elusive, forcing additional aiming errors and aiming time against them. Could be used to buff silenced weapons. Could use it to make proper ghillie suits. Or it could be used to make certain big armors more undesirable.
  • XML for 2 new stats is copied from night vision with minor tweaks.

References

Links to the associated issues or other related pull requests, e.g.

Alternatives

Describe alternative implementations you have considered, e.g.

  • Use hunting stealth instead of concealment. Don't like this option, because hunting stealth is increased by shooting skill.
  • In a separate further PR, i propose adding thermal vision stats to charge sniper rifle and adding concealment stats to VE ghillie suits.

Testing

Check tests you have performed:

  • Compiles without warnings
  • Game runs without errors
  • (For compatibility patches) ...with and without patched mod loaded
  • Playtested a colony (specify how long)

@Keshash Keshash requested review from a team as code owners July 17, 2025 12:41
@github-actions
Copy link

You can download the rebuilt assembly for this PR here: https://combatextended.lp-programming.com/CombatExtended-16345379954.zip

@github-actions github-actions bot added the Download in Comments This PR has a zipfile download available. label Jul 17, 2025
@github-actions
Copy link

You can download the rebuilt assembly for this PR here: https://combatextended.lp-programming.com/CombatExtended-16354276603.zip

@github-actions
Copy link

You can download the rebuilt assembly for this PR here: https://combatextended.lp-programming.com/CombatExtended-16354544861.zip

@github-actions
Copy link

You can download the rebuilt assembly for this PR here: https://combatextended.lp-programming.com/CombatExtended-16508600588.zip

@Keshash
Copy link
Contributor Author

Keshash commented Jul 25, 2025

Taking into account Red's comments, reduced default value to 10 (so mostly only noticeable at irons at max range at night)

Also added info about it to the shooting tooltip

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Download in Comments This PR has a zipfile download available.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants