CleverRaven / Cataclysm-DDA

Cataclysm - Dark Days Ahead. A turn-based survival game set in a post-apocalyptic world.
http://cataclysmdda.org
Other
10.59k stars 4.17k forks source link

The Heavy Balistic vest is pissed it can't be worn under my gray fur. #75856

Open catrock31 opened 2 months ago

catrock31 commented 2 months ago

Describe the bug

The Heavy Ballistic vest is saying, Wearing this clothing outside of your gray fur is adding extra encumbrance to your arms, head, and legs.

Attach save file

NA

Steps to reproduce

  1. Have Gray fur
  2. Put on a Fully loaded Heavy Ballistics Vest
  3. Check the armour layering menu

Expected behavior

To not be upset about it is being worn over gray fur in those areas

Screenshots

image

Versions and configuration

Additional context

No response

Hyperseeker commented 2 months ago

I assume you also have deltoid and/or groin protectors in the vest? I seem to remember this making the vest want to crawl under everything but your own skin, due to how protectors (and, presumably, other "worn" parts of one's gear) are calculated. As such, I believe this bug has been reported many a time before: it's very much not new.

I wonder if taking out the protectors' OUTER flag, but assigning the layer in the armor field, will fix this. Will test later.

catrock31 commented 2 months ago

I assume you also have deltoid and/or groin protectors in the vest?

Yes that's what I meant by a full vest

Psithief commented 2 months ago

image A ballistic collar over a padded coif does this too. I tried moving the "outer" flag from "flags" to "armor"."layers" as Hyperseeker suggested, but it didn't change anything.

IdleSol commented 1 month ago

To solve this problem, you need to add additional body parts to the armor section of the vest. More precisely, those sub-parts that are covered by additional elements:

      {
        "material": [
          { "type": "nylon", "covered_by_mat": 100, "thickness": 1.0 }
        ],
        "encumbrance": 0,
        "coverage": 100,
        "covers": [ "head" ],
        "specifically_covers": [ "head_throat", "head_nape" ],
        "volume_encumber_modifier": 0
      },
      {
        "material": [
          { "type": "nylon", "covered_by_mat": 100, "thickness": 1.0 }
        ],
        "encumbrance": 0,
        "coverage": 100,
        "covers": [ "leg_l", "leg_r" ],
        "specifically_covers": [ "leg_hip_l", "leg_hip_r" ],
        "volume_encumber_modifier": 0
      },
      {
        "material": [
          { "type": "nylon", "covered_by_mat": 100, "thickness": 1.0 }
        ],
        "encumbrance": 0,
        "coverage": 100,
        "covers": [ "arm_l", "arm_r" ],
        "specifically_covers": [ "arm_shoulder_l", "arm_shoulder_r", "arm_upper_l", "arm_upper_r" ],
        "volume_encumber_modifier": 0
      }

This is for a quick check. Additionally, you can reduce the coverage: "coverage": 0,

Details ``` { "id": "ballistic_vest_heavy", "type": "ARMOR", "category": "armor", "//": "Based on US Army IOTV. Weight from size M base piece plus lower back protector, data from: https://www.moore.army.mil/tenant/lrc/content/pdf/IOTV%20GEN%20III%20TM%2010-8470-210-10.pdf ", "name": { "str": "US heavy ballistic vest" }, "description": "Heavier ballistic armor used by the US Army, known as the IOTV. It has pockets on the front, back, and sides for armor plates; additional protection for the lower back; and attachment points for optional shoulder, groin, and neck protection.", "weight": "4976 g", "volume": "6 L", "variant_type": "generic", "variants": [ { "id": "ballistic_vest_heavy_military", "name": { "str": "heavy ballistic vest" }, "description": "It's a dark olive color.", "color": "light_green", "weight": 4, "append": true }, { "id": "ballistic_vest_heavy_xedra", "name": { "str": "XEDRA containment armor" }, "description": "It's black with IR reflective markings and a large XE on the right shoulder.", "color": "light_green", "weight": 0, "append": true } ], "price": "1600 USD", "price_postapoc": "10 USD", "symbol": "[", "material": [ "nylon", "kevlar_layered" ], "color": "light_gray", "warmth": 15, "flags": [ "STURDY", "OUTER", "WATER_FRIENDLY" ], "use_action": [ { "type": "attach_molle", "size": 10 }, { "type": "detach_molle" } ], "pocket_data": [ { "pocket_type": "CONTAINER", "ablative": true, "volume_encumber_modifier": 0, "max_contains_volume": "2000 ml", "max_contains_weight": "5 kg", "max_item_length": "33 cm", "moves": 800, "description": "Pocket for a large armor plate.", "//": "Should fit a medium ESAPI plate snugly", "flag_restriction": [ "ABLATIVE_LARGE" ] }, { "pocket_type": "CONTAINER", "ablative": true, "volume_encumber_modifier": 0, "max_contains_volume": "2000 ml", "max_contains_weight": "5 kg", "max_item_length": "33 cm", "moves": 800, "description": "Pocket for a large armor plate.", "flag_restriction": [ "ABLATIVE_LARGE" ] }, { "pocket_type": "CONTAINER", "ablative": true, "volume_encumber_modifier": 0, "max_contains_volume": "800 ml", "max_contains_weight": "2 kg", "max_item_length": "21 cm", "moves": 800, "description": "Pocket for a medium armor plate.", "flag_restriction": [ "ABLATIVE_MEDIUM" ] }, { "pocket_type": "CONTAINER", "ablative": true, "volume_encumber_modifier": 0, "max_contains_volume": "800 ml", "max_contains_weight": "2 kg", "max_item_length": "21 cm", "moves": 800, "description": "Pocket for a medium armor plate.", "flag_restriction": [ "ABLATIVE_MEDIUM" ] }, { "pocket_type": "CONTAINER", "ablative": true, "volume_encumber_modifier": 0, "max_contains_volume": "1000 ml", "max_contains_weight": "1200 kg", "max_item_length": "21 cm", "moves": 800, "description": "Attachment for shoulder protectors.", "item_restriction": [ "iotv_shoulder_plate" ] }, { "pocket_type": "CONTAINER", "ablative": true, "volume_encumber_modifier": 0, "max_contains_volume": "800 ml", "max_contains_weight": "800 g", "max_item_length": "21 cm", "moves": 800, "description": "Attachment for a groin protector.", "item_restriction": [ "iotv_groin_plate" ] }, { "pocket_type": "CONTAINER", "ablative": true, "volume_encumber_modifier": 0, "max_contains_volume": "800 ml", "max_contains_weight": "800 g", "max_item_length": "21 cm", "moves": 800, "description": "Attachment for a collar.", "item_restriction": [ "iotv_neck_plate" ] } ], "armor": [ { "material": [ { "type": "nylon", "covered_by_mat": 100, "thickness": 1.0 }, { "type": "kevlar_layered", "covered_by_mat": 95, "thickness": 4.4 } ], "encumbrance": 6, "coverage": 100, "cover_vitals": 90, "covers": [ "torso" ], "specifically_covers": [ "torso_upper" ], "volume_encumber_modifier": 0.3 }, { "material": [ { "type": "nylon", "covered_by_mat": 100, "thickness": 1.0 }, { "type": "kevlar_layered", "covered_by_mat": 95, "thickness": 4.4 } ], "encumbrance": 0, "coverage": 90, "cover_vitals": 90, "covers": [ "torso" ], "specifically_covers": [ "torso_lower" ], "volume_encumber_modifier": 0 }, { "material": [ { "type": "nylon", "covered_by_mat": 100, "thickness": 1.0 } ], "encumbrance": 0, "coverage": 0, "covers": [ "head" ], "specifically_covers": [ "head_throat", "head_nape" ], "volume_encumber_modifier": 0 }, { "material": [ { "type": "nylon", "covered_by_mat": 100, "thickness": 1.0 } ], "encumbrance": 0, "coverage": 0, "covers": [ "leg_l", "leg_r" ], "specifically_covers": [ "leg_hip_l", "leg_hip_r" ], "volume_encumber_modifier": 0 }, { "material": [ { "type": "nylon", "covered_by_mat": 100, "thickness": 1.0 } ], "encumbrance": 0, "coverage": 0, "covers": [ "arm_l", "arm_r" ], "specifically_covers": [ "arm_shoulder_l", "arm_shoulder_r", "arm_upper_l", "arm_upper_r" ], "volume_encumber_modifier": 0 } ] }, ```
IdleSol commented 3 weeks ago

That option works, too.

      {
        "material": [
          { "type": "nylon", "covered_by_mat": 100, "thickness": 0.0 }
        ],
        "encumbrance": 0,
        "coverage": 0,
        "covers": [ "arm_l", "arm_r", "head", "leg_l", "leg_r" ],
        "volume_encumber_modifier": 0
      }

Doesn't give any armor. But still shows up on the body coverage map.