Skip to content

Commit

Permalink
Combat exoskeleton update (#68758)
Browse files Browse the repository at this point in the history
* updated json flags

Updated json flags to accommodate for future items

* obsoleted exoskeleton helmets

Exoskeleton helmets serve no function anymore

* Update power_armor.json

Still very much WIP but the abstract exoskeleton item should give an idea of what I'm going for.

Also implemented abstract item for armor parts.

* Revert "Merge branch 'CombatExoskeletonUpdate' of https://github.com/BalthazarArgall/Cataclysm-DDA into CombatExoskeletonUpdate"

This reverts commit 7b9b9b6, reversing
changes made to 3d13b2a.

* Update power_armor.json

* Update power_armor.json

Definitive weight and volume for exoskeleton armor parts

* Obsoleted frame and generator frame

I don't see any point in them now that you can equip a backpack alongside exoskeletons and generator frames make little sense in my opinion.

* Update power_armor.json

Almost done with exoskeletons themselves, all I have to do is descriptions, touching up the flags and the salvaged version

* Update flags.json

Deleted unused exoskeleton flags

* Update power_armor.json

Final values in place, only the descriptions to do, maybe some flags

* Create power_armor.json

Added recipes for the armor parts

* Updated recipes and power_armor.json

* Solved all errors when launching with modified files

* Fixed spelling error "micromotors" to "micro motors".

* NO_UNLOAD flag removed from abstract exoskeleton
Users can now see/remove etc. the different exoskeleton attachments

* Added a volume_encumber_modifier of 0 to exoskeleton pockets to avoid insane amounts of encumbrance when wearing the armor parts
This may be the final commit, everything looks like it works, finally. I'm probably going to polish everything up, adjust values and changes a few descriptions.

* reworked, tested and polished the final version

* adjusted power consumption

* adjusted weight

* deleted unneeded plural names

* Double spaced the descriptions, re added plural names where needed

* updated description and carry weight bonus enchantment

* Revert "Revert "Merge branch 'CombatExoskeletonUpdate' of https://github.com/BalthazarArgall/Cataclysm-DDA into CombatExoskeletonUpdate""

This reverts commit 572fe89.

* Revert "Merge branch 'CombatExoskeletonUpdate' of https://github.com/BalthazarArgall/Cataclysm-DDA into CombatExoskeletonUpdate"

This reverts commit 7b9b9b6, reversing
changes made to 3d13b2a.

* Revert "Revert "Merge branch 'CombatExoskeletonUpdate' of https://github.com/BalthazarArgall/Cataclysm-DDA into CombatExoskeletonUpdate""

This reverts commit 6e1232e.

* Revert "Merge branch 'CleverRaven:master' into CombatExoskeletonUpdate"

This reverts commit e75fd82, reversing
changes made to 0f10db9.

* Revert "Revert "Merge branch 'CombatExoskeletonUpdate' of https://github.com/BalthazarArgall/Cataclysm-DDA into CombatExoskeletonUpdate""

This reverts commit 572fe89.

* Revert "Merge branch 'CombatExoskeletonUpdate' of https://github.com/BalthazarArgall/Cataclysm-DDA into CombatExoskeletonUpdate"

This reverts commit 7b9b9b6, reversing
changes made to 3d13b2a.

* Revert "Revert "Merge branch 'CombatExoskeletonUpdate' of https://github.com/BalthazarArgall/Cataclysm-DDA into CombatExoskeletonUpdate""

This reverts commit 572fe89.

* make code content identical to master

* deleting references to power armor

* replaced references to power armor

* sort lines alphabetically

* replaced references to depowered armor

* reworked the rework

* Repalced dots with ellipsis

* modified activation message

* fixed carry weight carry over and clarified effect description

* Adjusted encumbrance values, slightly adjusted and rounded energy consumption

* Adjusted encumbrance values slightly

* adjusted pocket sizes, adjusted armored zombie drops, deleted unused recipes, fixed armor recipes, added MOLLE/tactical pockets to a few items

* fixed armor pockets access cost

* fixed typo in flags, reverted pocket access cost

* Restart tests, just to make sure

* Maybe stuff is drying at the proper rate now

* adjusted battery stuff, integrated exertion modifer, made enchantments appear in the UI

* pockets probably cannot have holster while being MAGAZINE_WELL

* pockets probably cannot have holster while being MAGAZINE_WELL

* just revert the holster change

* update test, still failing

* Give exoskeletons their own itemgroup

* Adjust encumbrance values of reinforced armor and exoskeletons

* added welding requirements to reinforced armor

* Fix missing double space in description

* fix tests

* astyle formatting try 1

* astyle formatting try 2

* Are you happy now clang?

* clang, I swear to god...

* forgot to adjust crafting difficulty, slightly increased

* Restart tests, yes I changed my mind

* Update data/json/items/armor/combat_exoskeleton.json

Applied Drew suggestion for salvaged exoskeleton description

Co-authored-by: Drew4484 <[email protected]>

* Update data/json/items/armor/combat_exoskeleton.json

remove environmental flags from salvaged exoskeleton

Co-authored-by: Drew4484 <[email protected]>

* multiple changes, rough implementation

* multiple changes smoother implementation

* updated flag descriptions to accomodate combat exoskeletons

* updated reinforced versions crafting time

* remove exosuit management menu

* multiple changes, should be quite polished

* fixe a copy paste error

* fixes descriptions for exoskeleton armor

* anti-material typo

* Reload test

---------

Co-authored-by: Drew4484 <[email protected]>
  • Loading branch information
BalthazarArgall and Drew4484 authored Apr 20, 2024
1 parent 449edb2 commit ebdd7b9
Show file tree
Hide file tree
Showing 20 changed files with 1,917 additions and 785 deletions.
48 changes: 48 additions & 0 deletions data/json/enchantments.json
Original file line number Diff line number Diff line change
Expand Up @@ -144,5 +144,53 @@
]
},
"values": [ { "value": "MOVE_COST", "multiply": -0.5 } ]
},
{
"id": "combat_exoskeleton_inactive",
"type": "enchantment",
"name": { "str": "Inactive exoskeleton" },
"description": "The exoskeleton is inactive and makes moving in it difficult and exhausting.",
"has": "WORN",
"condition": "INACTIVE",
"values": [ { "value": "MOVEMENT_EXERTION_MODIFIER", "multiply": 0.5 } ]
},
{
"id": "combat_exoskeleton_heavy_active",
"type": "enchantment",
"name": { "str": "Active combat exoskeleton mk.1" },
"description": "The exoskeleton helps you carry more weight, protects you against harmful gas, cools you down, and has reduced encumbrance.",
"has": "WORN",
"condition": "ACTIVE",
"values": [
{ "value": "MOVEMENT_EXERTION_MODIFIER", "multiply": 0.4 },
{ "value": "CARRY_WEIGHT", "multiply": 0.8 },
{ "value": "CLIMATE_CONTROL_CHILL", "add": 50 }
]
},
{
"id": "combat_exoskeleton_medium_active",
"type": "enchantment",
"name": { "str": "Active combat exoskeleton mk.2" },
"description": "The exoskeleton helps you carry more weight, protects you against harmful gas, cools you down, and has reduced encumbrance.",
"has": "WORN",
"condition": "ACTIVE",
"values": [
{ "value": "MOVEMENT_EXERTION_MODIFIER", "multiply": 0.6 },
{ "value": "CARRY_WEIGHT", "multiply": 0.6 },
{ "value": "CLIMATE_CONTROL_CHILL", "add": 50 }
]
},
{
"id": "combat_exoskeleton_light_active",
"type": "enchantment",
"name": { "str": "Active combat exoskeleton mk.3" },
"description": "The exoskeleton helps you carry more weight, protects you against harmful gas, cools you down, and has reduced encumbrance.",
"has": "WORN",
"condition": "ACTIVE",
"values": [
{ "value": "MOVEMENT_EXERTION_MODIFIER", "multiply": 0.8 },
{ "value": "CARRY_WEIGHT", "multiply": 0.4 },
{ "value": "CLIMATE_CONTROL_CHILL", "add": 50 }
]
}
]
12 changes: 6 additions & 6 deletions data/json/flags.json
Original file line number Diff line number Diff line change
Expand Up @@ -2196,32 +2196,32 @@
{
"id": "EXO_HELMET_PLATE",
"type": "json_flag",
"info": "This is meant for exosuit helmet plating."
"info": "This is meant for exoskeleton helmet plating."
},
{
"id": "EXO_TORSO_PLATE",
"type": "json_flag",
"info": "This is meant for exosuit torso plating."
"info": "This is meant for exoskeleton torso plating."
},
{
"id": "EXO_ARM_PLATE",
"type": "json_flag",
"info": "This is meant for exosuit arm plating."
"info": "This is meant for exoskeleton arm plating."
},
{
"id": "EXO_GLOVE_PLATE",
"type": "json_flag",
"info": "This is meant for exosuit arm plating."
"info": "This is meant for exoskeleton arm plating."
},
{
"id": "EXO_LEG_PLATE",
"type": "json_flag",
"info": "This is meant for exosuit leg plating."
"info": "This is meant for exoskeleton leg plating."
},
{
"id": "EXO_BOOT_PLATE",
"type": "json_flag",
"info": "This is meant for exosuit foot plating."
"info": "This is meant for exoskeleton foot plating."
},
{
"id": "ROBOFAC_ROBOT_MEDIUM",
Expand Down
2 changes: 1 addition & 1 deletion data/json/furniture_and_terrain/terrain-manufactured.json
Original file line number Diff line number Diff line change
Expand Up @@ -583,7 +583,7 @@
"name": "nanofabricator control panel",
"symbol": "&",
"description": "A small computer panel attached to a nanofabricator. It has a single slot for reading templates.",
"allowed_template_ids": [ "standard_template_construct", "debug_template" ],
"allowed_template_ids": [ "standard_template_construct", "standard_template_construct_combat_exoskeleton", "debug_template" ],
"color": "red",
"looks_like": "f_console",
"move_cost": 0,
Expand Down
27 changes: 15 additions & 12 deletions data/json/itemgroups/Labs/lab_security.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,28 +9,31 @@
"distribution": [
{
"collection": [
{ "item": "power_armor_frame" },
{ "item": "power_armor_generator" },
{ "item": "power_armor_basic" },
{ "item": "power_armor_helmet_basic" }
{ "item": "combat_exoskeleton_heavy" },
{ "item": "combat_exoskeleton_armor_head_heavy" },
{ "item": "combat_exoskeleton_armor_torso_heavy" },
{ "item": "combat_exoskeleton_armor_arm_heavy" },
{ "item": "combat_exoskeleton_armor_leg_heavy" }
],
"prob": 30
},
{
"collection": [
{ "item": "power_armor_frame" },
{ "item": "power_armor_generator" },
{ "item": "power_armor_heavy" },
{ "item": "power_armor_helmet_heavy" }
{ "item": "combat_exoskeleton_medium" },
{ "item": "combat_exoskeleton_armor_head_medium" },
{ "item": "combat_exoskeleton_armor_torso_medium" },
{ "item": "combat_exoskeleton_armor_arm_medium" },
{ "item": "combat_exoskeleton_armor_leg_medium" }
],
"prob": 10
},
{
"collection": [
{ "item": "power_armor_frame" },
{ "item": "power_armor_generator" },
{ "item": "power_armor_helmet_light" },
{ "item": "power_armor_light" }
{ "item": "combat_exoskeleton_light" },
{ "item": "combat_exoskeleton_armor_head_light" },
{ "item": "combat_exoskeleton_armor_torso_light" },
{ "item": "combat_exoskeleton_armor_arm_light" },
{ "item": "combat_exoskeleton_armor_leg_light" }
],
"prob": 55
},
Expand Down
2 changes: 2 additions & 0 deletions data/json/itemgroups/Locations_MapExtras/locations.json
Original file line number Diff line number Diff line change
Expand Up @@ -1935,6 +1935,7 @@
[ "memory_card_unread", 40 ],
[ "memory_card_science", 10 ],
[ "standard_template_construct", 5 ],
[ "standard_template_construct_combat_exoskeleton", 5 ],
{ "item": "camera", "prob": 15, "charges": [ 0, 150 ] },
{ "item": "camera_pro", "prob": 5, "charges": [ 0, 150 ] },
{ "item": "lighter", "prob": 50, "charges": [ 0, 100 ] },
Expand Down Expand Up @@ -2393,6 +2394,7 @@
[ "diamond_dental_grill", 5 ],
[ "gold_dental_grill", 5 ],
[ "standard_template_construct", 4 ],
[ "standard_template_construct_combat_exoskeleton", 4 ],
[ "briefcase", 4 ],
[ "small_relic", 3 ],
[ "holy_symbol", 3 ],
Expand Down
36 changes: 27 additions & 9 deletions data/json/itemgroups/main.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,10 @@
"type": "item_group",
"id": "debug_template_item",
"subtype": "distribution",
"entries": [ { "item": "standard_template_construct", "prob": 10 } ]
"entries": [
{ "item": "standard_template_construct", "prob": 10 },
{ "item": "standard_template_construct_combat_exoskeleton", "prob": 10 }
]
},
{
"type": "item_group",
Expand All @@ -28,20 +31,35 @@
{ "item": "plasma_rifle", "prob": 10 },
{ "item": "portal", "prob": 10 },
{ "item": "atomic_coffeepot", "prob": 10 },
{ "item": "power_armor_basic", "prob": 10 },
{ "item": "power_armor_frame", "prob": 10 },
{ "item": "power_armor_heavy", "prob": 10 },
{ "item": "power_armor_helmet_basic", "prob": 10 },
{ "item": "power_armor_helmet_heavy", "prob": 10 },
{ "item": "power_armor_helmet_light", "prob": 10 },
{ "item": "rm13_armor", "prob": 10 },
{ "item": "high_density_capacitor", "prob": 10 },
{ "item": "beam_scatterer", "prob": 10 },
{ "item": "power_armor_light", "prob": 10 },
{ "item": "rm11b_sniper_rifle", "prob": 10 },
{ "item": "rm13_armor", "prob": 10 },
{ "item": "v29", "prob": 10 }
]
},
{
"type": "item_group",
"id": "nanofab_recipes_combat_exoskeletons",
"subtype": "distribution",
"entries": [
{ "item": "combat_exoskeleton_heavy", "prob": 10 },
{ "item": "combat_exoskeleton_medium", "prob": 10 },
{ "item": "combat_exoskeleton_light", "prob": 10 },
{ "item": "combat_exoskeleton_armor_head_heavy", "prob": 1 },
{ "item": "combat_exoskeleton_armor_torso_heavy", "prob": 1 },
{ "item": "combat_exoskeleton_armor_arm_heavy", "prob": 1 },
{ "item": "combat_exoskeleton_armor_leg_heavy", "prob": 1 },
{ "item": "combat_exoskeleton_armor_head_medium", "prob": 1 },
{ "item": "combat_exoskeleton_armor_torso_medium", "prob": 1 },
{ "item": "combat_exoskeleton_armor_arm_medium", "prob": 1 },
{ "item": "combat_exoskeleton_armor_leg_medium", "prob": 1 },
{ "item": "combat_exoskeleton_armor_head_light", "prob": 1 },
{ "item": "combat_exoskeleton_armor_torso_light", "prob": 1 },
{ "item": "combat_exoskeleton_armor_arm_light", "prob": 1 },
{ "item": "combat_exoskeleton_armor_leg_light", "prob": 1 }
]
},
{
"type": "item_group",
"id": "ammo",
Expand Down
1 change: 1 addition & 0 deletions data/json/itemgroups/science_and_tech.json
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@
[ "memory_card_unread", 50 ],
[ "memory_card_science", 5 ],
[ "standard_template_construct", 5 ],
[ "standard_template_construct_combat_exoskeleton", 5 ],
{ "item": "camera", "prob": 2, "charges": [ 0, 150 ] },
{ "item": "camera", "container-item": "camera_bag", "prob": 1, "charges": [ 0, 150 ] },
{ "item": "camera_pro", "prob": 1, "charges": [ 0, 150 ] },
Expand Down
Loading

0 comments on commit ebdd7b9

Please sign in to comment.