Skip to content

Commit

Permalink
Makes the mech repair droid unstackable + mech armor balance (tgstati…
Browse files Browse the repository at this point in the history
…on#88789)

## About The Pull Request
alternative to tgstation#88776
Makes the repair droid unable to be stacked and reduces armor slots to 1
on station mechs except the phazon.

## Why It's Good For The Game

You can get to some pretty heavy duty values on certain mechs,
especially the durand, with a very intense rate of healing. This makes
those items unstackable.


![image](https://github.com/user-attachments/assets/714c48ca-f9a1-4452-bc25-9d20070f43be)


## Changelog

:cl:
balance: Reduces armor slots to 1 for all station built mechs except the
phazon.
balance: melee mech armor has been increased to 20 from 15.
balance: mech bullet and laser armor has both been increased to 15 from
10.
balance: You can no longer stack the repair droid on mechs.
/:cl:
  • Loading branch information
StrangeWeirdKitten authored Jan 22, 2025
1 parent 163380a commit 17010c1
Show file tree
Hide file tree
Showing 6 changed files with 17 additions and 7 deletions.
2 changes: 1 addition & 1 deletion code/modules/vehicles/mecha/combat/durand.dm
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
MECHA_R_ARM = 1,
MECHA_UTILITY = 3,
MECHA_POWER = 1,
MECHA_ARMOR = 3,
MECHA_ARMOR = 1,
)
var/obj/durand_shield/shield

Expand Down
2 changes: 1 addition & 1 deletion code/modules/vehicles/mecha/combat/gygax.dm
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
MECHA_R_ARM = 1,
MECHA_UTILITY = 3,
MECHA_POWER = 1,
MECHA_ARMOR = 2,
MECHA_ARMOR = 1,
)
step_energy_drain = 4
can_use_overclock = TRUE
Expand Down
2 changes: 1 addition & 1 deletion code/modules/vehicles/mecha/combat/honker.dm
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@
MECHA_R_ARM = 1,
MECHA_UTILITY = 3,
MECHA_POWER = 1,
MECHA_ARMOR = 3,
MECHA_ARMOR = 2,
)

/obj/vehicle/sealed/mecha/honker/dark/loaded
Expand Down
2 changes: 1 addition & 1 deletion code/modules/vehicles/mecha/combat/savannah_ivanov.dm
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@
MECHA_R_ARM = 1,
MECHA_UTILITY = 3,
MECHA_POWER = 1,
MECHA_ARMOR = 3,
MECHA_ARMOR = 1,
)
//no tax on flying, since the power cost is in the leap itself.
phasing_energy_drain = 0
Expand Down
9 changes: 9 additions & 0 deletions code/modules/vehicles/mecha/equipment/mecha_equipment.dm
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@
var/can_be_triggered = FALSE
///Whether the module is currently active
var/active = TRUE
///Can we stack multiple types of the same item?
var/unstackable = FALSE
///Label used in the ui next to the Activate/Enable/Disable buttons
var/active_label = "Status"
///Chassis power cell quantity used on activation
Expand Down Expand Up @@ -157,6 +159,13 @@
to_chat(user, span_warning("\The [mech]'s left arm is full![mech.equip_by_category[MECHA_R_ARM] || !mech.max_equip_by_category[MECHA_R_ARM] ? "" : " Try right arm!"]"))
return FALSE
return TRUE
if(unstackable)
var/list/obj/item/mecha_parts/mecha_equipment/contents = mech.equip_by_category[equipment_slot]
for(var/obj/equipment as anything in contents)
if(src.type == equipment.type)
to_chat(user, span_warning("You can't stack more of this item ontop itself!"))
return FALSE

if(length(mech.equip_by_category[equipment_slot]) == mech.max_equip_by_category[equipment_slot])
to_chat(user, span_warning("This equipment slot is already full!"))
return FALSE
Expand Down
7 changes: 4 additions & 3 deletions code/modules/vehicles/mecha/equipment/tools/other_tools.dm
Original file line number Diff line number Diff line change
Expand Up @@ -173,7 +173,7 @@
armor_mod = /datum/armor/mecha_equipment_ccw_boost

/datum/armor/mecha_equipment_ccw_boost
melee = 15
melee = 20

/obj/item/mecha_parts/mecha_equipment/armor/antiproj_armor_booster
name = "Projectile Shielding"
Expand All @@ -184,8 +184,8 @@
armor_mod = /datum/armor/mecha_equipment_ranged_boost

/datum/armor/mecha_equipment_ranged_boost
bullet = 10
laser = 10
bullet = 15
laser = 15

////////////////////////////////// REPAIR DROID //////////////////////////////////////////////////

Expand All @@ -196,6 +196,7 @@
icon_state = "repair_droid"
energy_drain = 50
range = 0
unstackable = TRUE
can_be_toggled = TRUE
active = FALSE
equipment_slot = MECHA_UTILITY
Expand Down

0 comments on commit 17010c1

Please sign in to comment.