Stronger Mechs (#12192)

Mech ballistic and laser armor has been buffed, allowing them to function for longer in firefights. Combat armor melee armor has also been buffed.
    Fixed analyzing mechs not giving the correct integrity values.
This commit is contained in:
Geeves
2021-07-24 21:51:48 +03:00
committed by GitHub
parent b8e48ed272
commit 9dbe696d96
8 changed files with 29 additions and 21 deletions
@@ -46,7 +46,7 @@
/obj/item/mech_component/proc/return_diagnostics(var/mob/user)
to_chat(user, SPAN_NOTICE("[capitalize_first_letters(src.name)]:"))
to_chat(user, SPAN_NOTICE(" - Integrity: <b>[round(((max_damage - total_damage) / max_damage)) * 100]%</b>" ))
to_chat(user, SPAN_NOTICE(" - Integrity: <b>[round(((max_damage - total_damage) / max_damage) * 100, 0.1)]%</b>" ))
/obj/item/mech_component/proc/prebuild()
return
@@ -3,8 +3,8 @@
desc = "A pair of flexible armor plates, used to protect the internals of exosuits and its pilot."
armor = list(
melee = ARMOR_MELEE_MAJOR,
bullet = ARMOR_BALLISTIC_PISTOL,
laser = ARMOR_LASER_PISTOL,
bullet = ARMOR_BALLISTIC_MEDIUM,
laser = ARMOR_LASER_MEDIUM,
energy = ARMOR_ENERGY_MINOR,
bomb = ARMOR_BOMB_PADDED,
bio = ARMOR_BIO_SHIELDED,
@@ -23,8 +23,8 @@
icon_state_broken = "armor_r_broken"
armor = list(
melee = ARMOR_MELEE_RESISTANT,
bullet = ARMOR_BALLISTIC_PISTOL,
laser = ARMOR_LASER_PISTOL,
bullet = ARMOR_BALLISTIC_MEDIUM,
laser = ARMOR_LASER_MEDIUM,
energy = ARMOR_ENERGY_MINOR,
bomb = ARMOR_BOMB_PADDED,
bio = ARMOR_BIO_SHIELDED,
@@ -39,8 +39,8 @@
icon_state_broken = "armor_e_broken"
armor = list(
melee = ARMOR_MELEE_RESISTANT ,
bullet = ARMOR_BALLISTIC_SMALL,
laser = ARMOR_LASER_SMALL,
bullet = ARMOR_BALLISTIC_PISTOL,
laser = ARMOR_LASER_PISTOL,
energy = ARMOR_ENERGY_SHIELDED,
bomb = ARMOR_BOMB_MINOR,
bio = ARMOR_BIO_SHIELDED,
@@ -54,9 +54,9 @@
icon_state = "armor_c"
icon_state_broken = "armor_c_broken"
armor = list(
melee = ARMOR_MELEE_MAJOR,
bullet = ARMOR_BALLISTIC_MEDIUM,
laser = ARMOR_LASER_PISTOL,
melee = ARMOR_MELEE_VERY_HIGH,
bullet = ARMOR_BALLISTIC_REVOLVER,
laser = ARMOR_LASER_RIFLE,
energy = ARMOR_ENERGY_MINOR,
bomb = ARMOR_BOMB_RESISTANT,
bio = ARMOR_BIO_SHIELDED
@@ -31,9 +31,9 @@
/obj/item/mech_component/manipulators/return_diagnostics(mob/user)
..()
if(motivator)
to_chat(user, SPAN_NOTICE(" Actuator Integrity: <b>[round(((motivator.max_dam - motivator.total_dam) / motivator.max_dam)) * 100]%</b>"))
to_chat(user, SPAN_NOTICE(" - Actuator Integrity: <b>[round(((motivator.max_dam - motivator.total_dam) / motivator.max_dam) * 100, 0.1)]%</b>"))
else
to_chat(user, SPAN_WARNING(" Actuator Missing or Non-functional."))
to_chat(user, SPAN_WARNING(" - Actuator Missing or Non-functional."))
/obj/item/mech_component/manipulators/ready_to_install()
return motivator
@@ -69,13 +69,13 @@
/obj/item/mech_component/chassis/return_diagnostics(mob/user)
..()
if(diagnostics)
to_chat(user, SPAN_NOTICE(" Diagnostics Unit Integrity: <b>[round(((diagnostics.max_dam - diagnostics.total_dam) / diagnostics.max_dam)) * 100]%</b>"))
to_chat(user, SPAN_NOTICE(" - Diagnostics Unit Integrity: <b>[round(((diagnostics.max_dam - diagnostics.total_dam) / diagnostics.max_dam) * 100, 0.1)]%</b>"))
else
to_chat(user, SPAN_WARNING(" Diagnostics Unit Missing or Non-functional."))
to_chat(user, SPAN_WARNING(" - Diagnostics Unit Missing or Non-functional."))
if(mech_armor)
to_chat(user, SPAN_NOTICE(" Armor Integrity: <b>[round(((mech_armor.max_dam - mech_armor.total_dam) / mech_armor.max_dam)) * 100]%</b>"))
to_chat(user, SPAN_NOTICE(" - Armor Integrity: <b>[round(((mech_armor.max_dam - mech_armor.total_dam) / mech_armor.max_dam) * 100, 0.1)]%</b>"))
else
to_chat(user, SPAN_WARNING(" Armor Missing or Non-functional."))
to_chat(user, SPAN_WARNING(" - Armor Missing or Non-functional."))
/obj/item/mech_component/chassis/Initialize()
. = ..()
@@ -47,11 +47,11 @@
for(var/exosystem_software in software.installed_software)
to_chat(user, SPAN_NOTICE(" - <b>[capitalize_first_letters(exosystem_software)]</b>"))
else
to_chat(user, SPAN_WARNING(" Control Module Missing or Non-functional."))
to_chat(user, SPAN_WARNING(" - Control Module Missing or Non-functional."))
if(radio)
to_chat(user, SPAN_NOTICE(" Radio Integrity: <b>[round(((radio.max_dam - radio.total_dam) / radio.max_dam)) * 100]%</b>"))
to_chat(user, SPAN_NOTICE(" - Radio Integrity: <b>[round(((radio.max_dam - radio.total_dam) / radio.max_dam) * 100, 0.1)]%</b>"))
else
to_chat(user, SPAN_WARNING(" Radio Missing or Non-functional."))
to_chat(user, SPAN_WARNING(" - Radio Missing or Non-functional."))
/obj/item/mech_component/sensors/prebuild()
radio = new(src)
@@ -30,9 +30,9 @@
/obj/item/mech_component/propulsion/return_diagnostics(mob/user)
..()
if(motivator)
to_chat(user, SPAN_NOTICE(" Actuator Integrity: <b>[round(((motivator.max_dam - motivator.total_dam) / motivator.max_dam)) * 100]%</b>"))
to_chat(user, SPAN_NOTICE(" - Actuator Integrity: <b>[round(((motivator.max_dam - motivator.total_dam) / motivator.max_dam) * 100, 0.1)]%</b>"))
else
to_chat(user, SPAN_WARNING(" Actuator Missing or Non-functional."))
to_chat(user, SPAN_WARNING(" - Actuator Missing or Non-functional."))
/obj/item/mech_component/propulsion/ready_to_install()
return motivator
@@ -46,6 +46,7 @@
/obj/item/mech_component/chassis/superheavy/prebuild()
. = ..()
QDEL_NULL(cell)
cell = new /obj/item/cell/super(src)
mech_armor = new /obj/item/robot_parts/robot_component/armor/mech/combat(src)
@@ -0,0 +1,7 @@
author: Geeves
delete-after: True
changes:
- tweak: "Mech ballistic and laser armor has been buffed, allowing them to function for longer in firefights. Combat armor melee armor has also been buffed."
- bugfix: "Fixed analyzing mechs not giving the correct integrity values."