mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2025-12-11 10:11:09 +00:00
S.W.A.T part 3 (#3534)
## About The Pull Request You're in my way, sir. Readds hybrid tasers. ## Why It's Good For The Game About four months ago, tasers were heavily reworked on TG. This made them work more like actual tasers. They do stamina damage over time, can be resisted against, and if someone else walks in the way it fucks everything up. You can also walk out of range. Here, I've readded them with some tweaks. For one, energy armor now applies. MOST vests have high energy armor, so they counter tasers pretty well. I've also made tasers take more energy to use. Before you say this is op, if you're running, this has a range of about...2 tiles? I really really encourage you to try this on your own local branch before forming an opinion. I think this is good for the game as it gives sec another nonlethal option. What you should know: Currently, unarmored, it takes 8-10 seconds of constant tasing to full stun someone. They will then be on the ground for about 3 seconds, before getting back up. Armored, this is even more, far more. All these numbers are subject to change, of course, but for now I'm intentionally making them pretty weak as we see how this affects balance. I've also talked to our resident antag main, Kyle, about this change to ensure that I'm not just doing this due to my sec bias. ## Proof Of Testing Works on my machine <details> <summary>Screenshots/Videos</summary> </details> ## Changelog 🆑 The spirit of secoffs long past add: Readds the golden bolt /🆑 --------- Co-authored-by: Ian Yanik <Iwantpornspam@gmail.com> Co-authored-by: Roxy <75404941+TealSeer@users.noreply.github.com>
This commit is contained in:
committed by
GitHub
parent
8ebd26a87a
commit
33395ff3bc
@@ -58,6 +58,8 @@
|
||||
/*energy_drain = */STANDARD_CELL_CHARGE * 0.05,
|
||||
/*electrode_name = */"\the [src]\s",
|
||||
/*tase_range = */maximum_range + 1,
|
||||
def_zone //BUBBER ADDITION
|
||||
|
||||
)
|
||||
|
||||
/obj/projectile/energy/electrode/on_range() //to ensure the bolt sparks when it reaches the end of its range if it didn't hit a target yet
|
||||
@@ -88,6 +90,7 @@
|
||||
VAR_FINAL/electrode_name
|
||||
/// How far can the taser reach?
|
||||
VAR_FINAL/tase_range = 6
|
||||
var/def_zone = CHEST //BUBBER ADDITION
|
||||
|
||||
/datum/status_effect/tased/on_creation(
|
||||
mob/living/new_owner,
|
||||
@@ -97,6 +100,7 @@
|
||||
energy_drain = STANDARD_CELL_CHARGE * 0.05,
|
||||
electrode_name = "the electrodes",
|
||||
tase_range = 6,
|
||||
def_zone, //BUBBER ADDITION
|
||||
)
|
||||
if(isnull(fired_from) || isnull(firer) || !can_tase_with(fired_from))
|
||||
qdel(src)
|
||||
@@ -106,6 +110,7 @@
|
||||
src.energy_drain = energy_drain
|
||||
src.electrode_name = electrode_name
|
||||
src.tase_range = tase_range
|
||||
src.def_zone = def_zone //BUBBER ADDITION
|
||||
|
||||
. = ..()
|
||||
if(!.)
|
||||
@@ -238,7 +243,10 @@
|
||||
|
||||
// the actual stunning is here
|
||||
if(!owner.check_stun_immunity(CANSTUN|CANKNOCKDOWN))
|
||||
owner.apply_damage(stamina_per_second * seconds_between_ticks, STAMINA)
|
||||
if(taser == firer) //bubber addition
|
||||
owner.apply_damage(stamina_per_second * seconds_between_ticks, STAMINA)
|
||||
else // Bubber addition
|
||||
owner.apply_damage(stamina_per_second * seconds_between_ticks, STAMINA, def_zone, owner.run_armor_check(def_zone, ENERGY)) //bubber addition
|
||||
|
||||
/// Sets the passed atom as the "taser"
|
||||
/datum/status_effect/tased/proc/set_taser(datum/new_taser)
|
||||
@@ -258,7 +266,7 @@
|
||||
/datum/status_effect/tased/proc/set_firer(atom/new_firer)
|
||||
firer = new_firer
|
||||
if(taser != firer) // Turrets, notably, are both
|
||||
RegisterSignal(firer, COMSIG_QDELETING, PROC_REF(end_tase))
|
||||
RegisterSignal(firer, list(COMSIG_QDELETING, COMSIG_MOB_SWAP_HANDS), PROC_REF(end_tase))
|
||||
|
||||
RegisterSignal(firer, COMSIG_MOB_CLICKON, PROC_REF(user_cancel_tase))
|
||||
|
||||
|
||||
Reference in New Issue
Block a user