mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-07-11 08:06:33 +01:00
Prevents mech RCD from being used with mesons, doubles R-wall deconstruction time (#88589)
## About The Pull Request Mech RCD has a unique quality of being usable at range, but does not check for LoS which allows you to instantly bore holes in multilayered walls with no warning. R-walls won't save you either, since they can be deconstructed by it just fine. Now, mech RCDs need LoS on turfs you click and deconstructs r-walls twice as slowly (the same time it'd take a normal RCD to deconstruct a normal wall). ## Why It's Good For The Game  Screen from a recent round - this can be done in 6 seconds, as with correct mech positioning that's as long as you need to deconstruct all the walls and doors. This is incredibly oppressive and I won't be surprised if this started getting abused like hell. This should prevent further issues while still keeping it a good (but not absurdly overpowered) option for when you need to breach into somewhere, since its still quicker (and safer) than thermite. ## Changelog 🆑 balance: Mech-mounted RCD no longer has wallhacks balance: Reinforced walls now take double the time to get deconstructed when using an RCD /🆑 Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
This commit is contained in:
@@ -51,3 +51,6 @@
|
||||
#define RCD_MEMORY_COST_BUFF 8
|
||||
/// If set to TRUE in rcd_vals, will bypass the cooldown on slowing down frequent use
|
||||
#define RCD_RESULT_BYPASS_FREQUENT_USE_COOLDOWN "bypass_frequent_use_cooldown"
|
||||
|
||||
/// How much longer does it take to deconstruct rwalls?
|
||||
#define RCD_RWALL_DELAY_MULT 2
|
||||
|
||||
@@ -215,9 +215,13 @@
|
||||
dismantle_wall()
|
||||
|
||||
/turf/closed/wall/r_wall/rcd_vals(mob/user, obj/item/construction/rcd/the_rcd)
|
||||
if(the_rcd.canRturf || the_rcd.construction_mode == RCD_WALLFRAME)
|
||||
if (the_rcd.construction_mode == RCD_WALLFRAME)
|
||||
return ..()
|
||||
|
||||
if(!the_rcd.canRturf)
|
||||
return
|
||||
. = ..()
|
||||
if (.)
|
||||
.["delay"] *= RCD_RWALL_DELAY_MULT
|
||||
|
||||
/turf/closed/wall/r_wall/rcd_act(mob/user, obj/item/construction/rcd/the_rcd, list/rcd_data)
|
||||
if(the_rcd.canRturf || rcd_data["[RCD_DESIGN_MODE]"] == RCD_WALLFRAME)
|
||||
|
||||
@@ -293,6 +293,9 @@
|
||||
/obj/item/mecha_parts/mecha_equipment/rcd/action(mob/source, atom/target, list/modifiers)
|
||||
if(!action_checks(target))
|
||||
return
|
||||
// No meson action!
|
||||
if (!(target in view(RCD_RANGE, get_turf(chassis))))
|
||||
return
|
||||
if(get_dist(chassis, target) > RCD_RANGE)
|
||||
balloon_alert(source, "out of range!")
|
||||
return
|
||||
|
||||
Reference in New Issue
Block a user