Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New armor system #170

Merged
merged 1 commit into from
Jan 10, 2024
Merged

New armor system #170

merged 1 commit into from
Jan 10, 2024

Conversation

morphy2k
Copy link
Member

@morphy2k morphy2k commented Jan 10, 2024

This implements the properties for the new armor system.

Components represent the integrated armor. Compatible plates are listed under slots.

Body armor example
{
  "_id": "5b44d22286f774172b0c9de8",
  "name": "BNTI Kirasa-N body armor",
  "shortName": "Kirasa-N",
  "description": "The \"Kirasa N\" body armor is designed for the army and police special forces of the Russian Federation. The bulletproof vest provides circular protection of the human torso. Elements of the damper provide ventilation of the under armor space and reduce the blunt damage.",
  "price": 0,
  "weight": 3,
  "maxStack": 1,
  "rarity": "none",
  "grid": {
    "color": {
      "r": 28,
      "g": 65,
      "b": 86,
      "a": 255
    },
    "height": 3,
    "width": 3
  },
  "type": "body",
  "components": [
    {
      "class": 2,
      "durability": 56,
      "material": {
        "name": "aramid",
        "destructibility": 0.1875
      },
      "bluntThroughput": 0.33,
      "zones": ["thorax", "stomach"]
    },
    {
      "class": 2,
      "durability": 56,
      "material": {
        "name": "aramid",
        "destructibility": 0.1875
      },
      "bluntThroughput": 0.33,
      "zones": ["backUpper", "backLower"]
    },
    {
      "class": 2,
      "durability": 12,
      "material": {
        "name": "aramid",
        "destructibility": 0.1875
      },
      "bluntThroughput": 0.33,
      "zones": ["sideLeft"]
    },
    {
      "class": 2,
      "durability": 12,
      "material": {
        "name": "aramid",
        "destructibility": 0.1875
      },
      "bluntThroughput": 0.33,
      "zones": ["sideRight"]
    },
    {
      "class": 2,
      "durability": 14,
      "material": {
        "name": "aramid",
        "destructibility": 0.1875
      },
      "bluntThroughput": 0.33,
      "zones": ["throat", "neck"]
    }
  ],
  "penalties": {
    "ergonomicsFP": -1,
    "deafness": "none"
  },
  "blocking": [],
  "slots": {
    "backPlate": {
      "filter": {
        "armor": [
          "656f9d5900d62bcd2e02407c",
          "656fa8d700d62bcd2e024084",
          "656fa99800d62bcd2e024088",
          "656fae5f7c2d57afe200c0d7",
          "656faf0ca0dce000a2020f77",
          "656fafe3498d1b7e3e071da4",
          "656fa0fb498d1b7e3e071d9c",
          "656fa25e94b480b8a500c0e0",
          "656fa76500d62bcd2e024080",
          "656fad8c498d1b7e3e071da0",
          "656fa61e94b480b8a500c0e8",
          "656fb21fa0dce000a2020f7c",
          "656fac30c6baea13cd07e10c",
          "656fb0bd7c2d57afe200c0dc",
          "656f9fa0498d1b7e3e071d98",
          "656fa53d94b480b8a500c0e4",
          "65573fa5655447403702a816",
          "64afc71497cf3a403c01ff38",
          "655746010177119f4a097ff7",
          "64afdcb83efdfea28601d041"
        ]
      },
      "required": false
    },
    "frontPlate": {
      "filter": {
        "armor": [
          "656f9d5900d62bcd2e02407c",
          "656fa8d700d62bcd2e024084",
          "656fa99800d62bcd2e024088",
          "64afdcb83efdfea28601d041",
          "655746010177119f4a097ff7",
          "656fae5f7c2d57afe200c0d7",
          "656faf0ca0dce000a2020f77",
          "656fa0fb498d1b7e3e071d9c",
          "656fafe3498d1b7e3e071da4",
          "656fa76500d62bcd2e024080",
          "656fa25e94b480b8a500c0e0",
          "656fad8c498d1b7e3e071da0",
          "656fa61e94b480b8a500c0e8",
          "656fb21fa0dce000a2020f7c",
          "656fac30c6baea13cd07e10c",
          "656fb0bd7c2d57afe200c0dc",
          "656f9fa0498d1b7e3e071d98",
          "656fa53d94b480b8a500c0e4",
          "65573fa5655447403702a816",
          "64afc71497cf3a403c01ff38"
        ]
      },
      "required": false
    }
  },
  "compatibility": {},
  "_kind": "armor"
}
Armor plate example
{
  "_id": "656fa8d700d62bcd2e024084",
  "name": "Cult Locust ballistic plate",
  "shortName": "Cult Locust",
  "description": "A titanium plate for torso front and back pouches of plate carrier.",
  "price": 0,
  "weight": 2.56,
  "maxStack": 1,
  "rarity": "none",
  "grid": {
    "color": {
      "r": 28,
      "g": 65,
      "b": 86,
      "a": 255
    },
    "height": 2,
    "width": 2
  },
  "_kind": "armor",
  "type": "plate",
  "armor": {
    "class": 5,
    "durability": 60,
    "material": {
      "name": "titanium",
      "destructibility": 0.4125
    },
    "bluntThroughput": 0.14,
    "zones": [
      "front",
      "back"
    ]
  },
  "components": null,
  "ricochetChance": "medium",
  "penalties": {
    "mouse": -1,
    "speed": -1.5,
    "ergonomicsFP": -1,
    "ergonomics": -1,
    "deafness": "none"
  },
  "blocking": [],
  "slots": {},
  "compatibility": {
    "armor": [
      "63737f448b28897f2802b874",
      "64abd93857958b4249003418",
      "5fd4c474dd870108a754b241",
      "5b44cd8b86f774503d30cba2",
      "5e4abb5086f77406975c9342",
      "545cdb794bdc2d3a198b456a",
      "5c0e625a86f7742d77340f62",
      "5ca2151486f774244a3b8d30",
      "5b44d0de86f774503d30cba8",
      "5c0e5edb86f77461f55ed1f7",
      "5b44d22286f774172b0c9de8",
      "5c0e655586f774045612eeb2",
      "5b44cf1486f77431723e3d05",
      "60a283193cb70855c43a381d",
      "5e9dacf986f774054d6b89f4",
      "6038b4b292ec1c3103795a0b",
      "6038b4ca92ec1c3103795a0d",
      "609e8540d5c319764c2bc2e9",
      "5ab8e79e86f7742d8b372e78",
      "5ca21c6986f77479963115a7"
    ],
    "tacticalrig": [
      "64a5366719bab53bd203bf33",
      "628dc750b910320f4c27a732",
      "61bcc89aef0f505f0c6cd0fc",
      "64a536392d2c4e6e970f4121",
      "639343fce101f4caa40a4ef3",
      "5c0e722886f7740458316a57",
      "5ab8dced86f774646209ec87",
      "544a5caa4bdc2d1a388b4568",
      "60a3c70cde5f453f634816a3",
      "628b9784bcf6e2659e09b8a2",
      "60a3c68c37ea821725773ef5",
      "5e4ac41886f77406a511c9a8",
      "5b44cad286f77402a54ae7e5",
      "5c0e746986f7741453628fe5",
      "5d5d87f786f77427997cfaef",
      "628b9c7d45122232a872358f",
      "609e860ebd219504d8507525",
      "628cd624459354321c4b7fa2",
      "61bc85697113f767765c7fe7"
    ]
  }
}

@morphy2k morphy2k merged commit 5773785 into master Jan 10, 2024
8 checks passed
@morphy2k morphy2k deleted the feature/armor-rework branch January 10, 2024 23:48
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.

None yet

1 participant