Add concealment stat - #4676
Conversation
|
You can download the rebuilt assembly for this PR here: https://combatextended.lp-programming.com/CombatExtended-30579794133.zip |
There was a problem hiding this comment.
Changes:
- The stat description should be revised to clearly state that the stat is a direct multiplier on range error. The current description notes it "increases" it, but doesn't really explain in what way.
- Do we want to add a separate debug setting to the aiming tooltip to denote the effect from concealment, similar to how we breakout other factors? It's currently captured within visibility shift.
General Remarks:
- How difficult would it be to support a stat property that can be given to a stuffable material? e.g. a futuristic "chameleon cloth" sort of thing that clothing can be made from.
- I don't know if we'd want this to apply to a longsword made out a "chameleon metal" because it doesn't make a lot of logical sense, but I'm not sure how we'd handle that.
Balance:
I'm not sure exactly how situational we're expecting this to be, but the current effect on range error (as displayed by the aiming tooltip) is negligible.
For testing purposes, I applied <ConcealmentEfficiency_Apparel>10</ConcealmentEfficiency_Apparel> to the Burka. At max range with a Normal quality bolt action rifle during artificial light (~50% brightness) with a Level 1 shooter, the observed Visibility Errors and the associated Range Error were:
- No burka: 7.40 | 31.81
- Awful quality burka: 7.40 | 31.82
- Normal quality burka: 7.40 | 31.82
- Masterwork quality burka: 7.41 | 31.85
Under the same circumstances during mid-day light (100% brightness), the visibility error on all 4 targets was 0, and the range error was identical.
So, somewhere along the line the overall impact of your concealment factor is getting crushed by the other light calculations.
Bugs:
- Pawn has no implants, but implant concealment is 100% (See image below)
Burka Example & Test Save
<Operation Class="PatchOperationAdd">
<xpath>Defs/ThingDef[defName="Apparel_Burka"]/equippedStatOffsets</xpath>
<value>
<ConcealmentEfficiency_Apparel>10</ConcealmentEfficiency_Apparel>
</value>
</Operation>
Currently doesnt affect range error. see below
I'll check
This is because it currently only applies to visibility error, which is: light, smoke and weather. Range error is a separate error. However, it makes sense that range error should be affected, I'll add that
The way it works, is that 1.0 is the default value, so that you could reduce it to between 0 and 1 and make pawn MORE visible than they normally would be (anti-concealment). E.g. if they're wearing a bright glowing red dot on their face. |
Additions
Describe new functionality added by your code, e.g.
References
Links to the associated issues or other related pull requests, e.g.
Reasoning
Why did you choose to implement things this way, e.g.
Testing
Check tests you have performed: