diff --git a/code/modules/heavy_vehicle/components/armor.dm b/code/modules/heavy_vehicle/components/armor.dm
index 92ecc43eb54..b9a4a7feeb2 100644
--- a/code/modules/heavy_vehicle/components/armor.dm
+++ b/code/modules/heavy_vehicle/components/armor.dm
@@ -3,24 +3,24 @@
damage_flags &= ~(DAM_SHARP | DAM_EDGE)
. = ..()*/
-/obj/item/robot_parts/robot_component/armor
+/obj/item/robot_parts/robot_component/armor/mech
name = "exosuit armor plating"
armor = list(melee = 75, bullet = 33, laser = 50, energy = 10, bomb = 25, bio = 100, rad = 0)
origin_tech = list(TECH_MATERIAL = 1)
-/obj/item/robot_parts/robot_component/armor/radproof
+/obj/item/robot_parts/robot_component/armor/mech/radproof
name = "radiation-proof armor plating"
desc = "A fully enclosed radiation hardened shell designed to protect the pilot from radiation."
armor = list(melee = 75, bullet = 33, laser = 50, energy = 25, bomb = 25, bio = 100, rad = 100)
origin_tech = list(TECH_MATERIAL = 3)
-/obj/item/robot_parts/robot_component/armor/em
+/obj/item/robot_parts/robot_component/armor/mech/em
name = "EM-shielded armor plating"
desc = "A shielded plating that sorrounds the eletronics and protects them from electromagnetic radiation."
armor = list(melee = 65, bullet = 20, laser = 25, energy = 100, bomb = 10, bio = 100, rad = 60)
origin_tech = list(TECH_MATERIAL = 3)
-/obj/item/robot_parts/robot_component/armor/combat
+/obj/item/robot_parts/robot_component/armor/mech/combat
name = "heavy combat plating"
desc = "Plating designed to deflect incoming attacks and explosions."
armor = list(melee = 85, bullet = 70, laser = 60, energy = 10, bomb = 70, bio = 100, rad = 0)
diff --git a/code/modules/heavy_vehicle/components/arms.dm b/code/modules/heavy_vehicle/components/arms.dm
index 019eec51d5c..46f035a0c49 100644
--- a/code/modules/heavy_vehicle/components/arms.dm
+++ b/code/modules/heavy_vehicle/components/arms.dm
@@ -5,7 +5,7 @@
has_hardpoints = list(HARDPOINT_LEFT_HAND, HARDPOINT_RIGHT_HAND)
power_use = 50
- var/melee_damage = 15
+ var/melee_damage = 20
var/action_delay = 15
var/obj/item/robot_parts/robot_component/actuator/motivator
diff --git a/code/modules/heavy_vehicle/components/body.dm b/code/modules/heavy_vehicle/components/body.dm
index ebedbf7fa85..be4341af8d9 100644
--- a/code/modules/heavy_vehicle/components/body.dm
+++ b/code/modules/heavy_vehicle/components/body.dm
@@ -98,7 +98,7 @@
to_chat(user, "\The [src] already has a cell installed.")
return
if(install_component(thing,user)) cell = thing
- else if(istype(thing, /obj/item/robot_parts/robot_component/armor))
+ else if(istype(thing, /obj/item/robot_parts/robot_component/armor/mech))
if(mech_armor)
to_chat(user, "\The [src] already has mech_armor installed.")
return
diff --git a/code/modules/heavy_vehicle/mech_construction.dm b/code/modules/heavy_vehicle/mech_construction.dm
index 7af59732944..df240bef49c 100644
--- a/code/modules/heavy_vehicle/mech_construction.dm
+++ b/code/modules/heavy_vehicle/mech_construction.dm
@@ -39,7 +39,8 @@
target = hardpoint
break
- hardpoints[target] = null
+ if(target)
+ hardpoints[target] = null
if(target == selected_hardpoint)
clear_selected_hardpoint()
diff --git a/code/modules/heavy_vehicle/premade/combat.dm b/code/modules/heavy_vehicle/premade/combat.dm
index 46dfd3f2320..5aeaaba6ac8 100644
--- a/code/modules/heavy_vehicle/premade/combat.dm
+++ b/code/modules/heavy_vehicle/premade/combat.dm
@@ -28,7 +28,7 @@
name = "combat arms"
exosuit_desc_string = "flexible, advanced manipulators"
icon_state = "combat_arms"
- melee_damage = 5
+ melee_damage = 30
action_delay = 10
power_use = 5000
@@ -66,7 +66,7 @@
/obj/item/mech_component/chassis/combat/prebuild()
. = ..()
- mech_armor = new /obj/item/robot_parts/robot_component/armor/combat(src)
+ mech_armor = new /obj/item/robot_parts/robot_component/armor/mech/combat(src)
/obj/item/mech_component/chassis/combat/Initialize()
pilot_positions = list(
diff --git a/code/modules/heavy_vehicle/premade/heavy.dm b/code/modules/heavy_vehicle/premade/heavy.dm
index 2945ef0b2c6..1886f5b94fb 100644
--- a/code/modules/heavy_vehicle/premade/heavy.dm
+++ b/code/modules/heavy_vehicle/premade/heavy.dm
@@ -27,7 +27,7 @@
exosuit_desc_string = "super-heavy reinforced manipulators"
icon_state = "heavy_arms"
desc = "Designed to function where any other piece of equipment would have long fallen apart, the Hephaestus Superheavy Lifter series can take a beating and excel at delivering it."
- melee_damage = 25
+ melee_damage = 50
action_delay = 15
max_damage = 90
power_use = 7500
@@ -68,7 +68,7 @@
/obj/item/mech_component/chassis/heavy/prebuild()
. = ..()
- mech_armor = new /obj/item/robot_parts/robot_component/armor/combat(src)
+ mech_armor = new /obj/item/robot_parts/robot_component/armor/mech/combat(src)
/obj/item/mech_component/chassis/superheavy
name = "reinforced exosuit chassis"
@@ -84,7 +84,7 @@
/obj/item/mech_component/chassis/superheavy/prebuild()
. = ..()
cell = new /obj/item/cell/super(src)
- mech_armor = new /obj/item/robot_parts/robot_component/armor/combat(src)
+ mech_armor = new /obj/item/robot_parts/robot_component/armor/mech/combat(src)
/mob/living/heavy_vehicle/premade/superheavy
name = "Marauder"
diff --git a/code/modules/heavy_vehicle/premade/light.dm b/code/modules/heavy_vehicle/premade/light.dm
index 726ab03549a..1a4dbb9d9fd 100644
--- a/code/modules/heavy_vehicle/premade/light.dm
+++ b/code/modules/heavy_vehicle/premade/light.dm
@@ -29,7 +29,7 @@
name = "light arms"
exosuit_desc_string = "lightweight, segmented manipulators"
icon_state = "light_arms"
- melee_damage = 5
+ melee_damage = 15
action_delay = 15
max_damage = 40
power_use = 3000
@@ -76,7 +76,7 @@
/obj/item/mech_component/chassis/light/prebuild()
. = ..()
- mech_armor = new /obj/item/robot_parts/robot_component/armor/radproof(src)
+ mech_armor = new /obj/item/robot_parts/robot_component/armor/mech/radproof(src)
/obj/item/mech_component/chassis/light/Initialize()
pilot_positions = list(
diff --git a/code/modules/heavy_vehicle/premade/powerloader.dm b/code/modules/heavy_vehicle/premade/powerloader.dm
index d04514e741e..17253f7ffd6 100644
--- a/code/modules/heavy_vehicle/premade/powerloader.dm
+++ b/code/modules/heavy_vehicle/premade/powerloader.dm
@@ -16,7 +16,7 @@
body = new /obj/item/mech_component/chassis/ripley(src)
body.color = "#ffdc37"
- body.armor = new /obj/item/robot_parts/robot_component/armour(src)
+ body.armor = new /obj/item/robot_parts/robot_component/armor/mech(src)
. = ..()
@@ -65,7 +65,7 @@
/obj/item/mech_component/chassis/ripley/prebuild()
. = ..()
- armor = new /obj/item/robot_parts/robot_component/armour(src)
+ armor = new /obj/item/robot_parts/robot_component/armor/mech(src)
/obj/item/mech_component/chassis/ripley/Initialize()
pilot_positions = list(
@@ -149,7 +149,7 @@
body = new /obj/item/mech_component/chassis/ripley(src)
body.color = "#849bc1"
- body.mech_armor = new /obj/item/robot_parts/robot_component/armor/combat(src)
+ body.mech_armor = new /obj/item/robot_parts/robot_component/armor/mech/combat(src)
. = ..()
diff --git a/code/modules/mob/living/silicon/robot/component.dm b/code/modules/mob/living/silicon/robot/component.dm
index 7342f07a399..8379d50c8df 100644
--- a/code/modules/mob/living/silicon/robot/component.dm
+++ b/code/modules/mob/living/silicon/robot/component.dm
@@ -77,9 +77,9 @@
// ARMOUR
// Protects the cyborg from damage. Usually first module to be hit
// No power usage
-/datum/robot_component/armour
+/datum/robot_component/armor
name = "armour plating"
- external_type = /obj/item/robot_parts/robot_component/armour
+ external_type = /obj/item/robot_parts/robot_component/armor
max_damage = 60
// JETPACK
@@ -232,7 +232,7 @@
components["diagnosis unit"] = new/datum/robot_component/diagnosis_unit(src)
components["camera"] = new/datum/robot_component/camera(src)
components["comms"] = new/datum/robot_component/binary_communication(src)
- components["armour"] = new/datum/robot_component/armour(src)
+ components["armour"] = new/datum/robot_component/armor(src)
components["jetpack"] = new/datum/robot_component/jetpack(src)
components["surge"] = new/datum/robot_component/surge(src)
jetpackComponent = components["jetpack"]
@@ -297,8 +297,8 @@
icon_state = "motor"
icon_state_broken = "motor_broken"
-/obj/item/robot_parts/robot_component/armour
- name = "armour plating"
+/obj/item/robot_parts/robot_component/armor
+ name = "armor plating"
icon_state = "armor"
icon_state_broken = "armor_broken"
diff --git a/code/modules/mob/living/silicon/robot/robot_damage.dm b/code/modules/mob/living/silicon/robot/robot_damage.dm
index 91ce270c674..96b746fc893 100644
--- a/code/modules/mob/living/silicon/robot/robot_damage.dm
+++ b/code/modules/mob/living/silicon/robot/robot_damage.dm
@@ -91,7 +91,7 @@
to_chat(src, "Your shield absorbs some of the impact!")
if(!emp)
- var/datum/robot_component/armour/A = get_armour()
+ var/datum/robot_component/armor/A = get_armour()
if(A)
A.take_damage(brute,burn,sharp,edge)
return
@@ -136,7 +136,7 @@
burn -= absorb_burn
to_chat(src, "Your shield absorbs some of the impact!")
- var/datum/robot_component/armour/A = get_armour()
+ var/datum/robot_component/armor/A = get_armour()
if(A)
A.take_damage(brute,burn,sharp)
return
diff --git a/code/modules/research/designs/mechfab/mechs/designs_exosuits.dm b/code/modules/research/designs/mechfab/mechs/designs_exosuits.dm
index 6814b348e9f..13b85fb3a55 100644
--- a/code/modules/research/designs/mechfab/mechs/designs_exosuits.dm
+++ b/code/modules/research/designs/mechfab/mechs/designs_exosuits.dm
@@ -49,14 +49,14 @@
/datum/design/item/mechfab/exosuit/basic_armour
name = "basic exosuit armour"
id = "mech_armour_basic"
- build_path = /obj/item/robot_parts/robot_component/armour
+ build_path = /obj/item/robot_parts/robot_component/armor/mech
time = 30
materials = list(DEFAULT_WALL_MATERIAL = 7500)
/datum/design/item/mechfab/exosuit/radproof_armour
name = "radiation-proof exosuit armour"
id = "mech_armour_radproof"
- build_path = /obj/item/robot_parts/robot_component/armor/radproof
+ build_path = /obj/item/robot_parts/robot_component/armor/mech/radproof
time = 50
req_tech = list(TECH_MATERIAL = 2, TECH_ENGINEERING = 2)
materials = list(DEFAULT_WALL_MATERIAL = 12500)
@@ -64,7 +64,7 @@
/datum/design/item/mechfab/exosuit/em_armour
name = "EM-shielded exosuit armour"
id = "mech_armour_em"
- build_path = /obj/item/robot_parts/robot_component/armor/em
+ build_path = /obj/item/robot_parts/robot_component/armor/mech/em
time = 50
req_tech = list(TECH_MATERIAL = 2, TECH_POWER = 2)
materials = list(DEFAULT_WALL_MATERIAL = 12500, "silver" = 1000)
@@ -72,7 +72,7 @@
/datum/design/item/mechfab/exosuit/combat_armour
name = "combat exosuit armor"
id = "mech_armour_combat"
- build_path = /obj/item/robot_parts/robot_component/armor/combat
+ build_path = /obj/item/robot_parts/robot_component/armor/mech/combat
time = 50
req_tech = list(TECH_MATERIAL = 4, TECH_COMBAT = 3)
materials = list(DEFAULT_WALL_MATERIAL = 20000, "diamond" = 5000)
diff --git a/code/modules/research/designs/mechfab/robot/robot.dm b/code/modules/research/designs/mechfab/robot/robot.dm
index a2ddd08019b..855d358196d 100644
--- a/code/modules/research/designs/mechfab/robot/robot.dm
+++ b/code/modules/research/designs/mechfab/robot/robot.dm
@@ -97,10 +97,10 @@
id = "camera"
build_path = /obj/item/robot_parts/robot_component/camera
-/datum/design/item/mechfab/robot/component/armour
- name = "Armour plating"
- id = "armour"
- build_path = /obj/item/robot_parts/robot_component/armour
+/datum/design/item/mechfab/robot/component/armor
+ name = "Armor plating"
+ id = "armor"
+ build_path = /obj/item/robot_parts/robot_component/armor
/datum/design/item/mechfab/robot/component/surge
name = "Heavy surge prevention module"
diff --git a/html/changelogs/Sindorman-mech.yml b/html/changelogs/Sindorman-mech.yml
new file mode 100644
index 00000000000..d58960ec0af
--- /dev/null
+++ b/html/changelogs/Sindorman-mech.yml
@@ -0,0 +1,42 @@
+################################
+# Example Changelog File
+#
+# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb.
+#
+# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.)
+# When it is, any changes listed below will disappear.
+#
+# Valid Prefixes:
+# bugfix
+# wip (For works in progress)
+# tweak
+# soundadd
+# sounddel
+# rscadd (general adding of nice things)
+# rscdel (general deleting of nice things)
+# imageadd
+# imagedel
+# maptweak
+# spellcheck (typo fixes)
+# experiment
+# balance
+# admin
+# backend
+# security
+# refactor
+#################################
+
+# Your name.
+author: PoZe
+
+# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again.
+delete-after: True
+
+# Any changes you've made. See valid prefix list above.
+# INDENT WITH TWO SPACES. NOT TABS. SPACES.
+# SCREW THIS UP AND IT WON'T WORK.
+# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries.
+# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog.
+changes:
+ - bugfix: "Mech printer now prints the right type of regular armor, instead of borg armor."
+ - tweak: "Mech's melee damage has been increased. It depends on manipulator type. Light: 15, Regular: 20, Combat 30, Heavy: 50."