diff --git a/code/game/objects/structures.dm b/code/game/objects/structures.dm
index 0866e82ad..4dd299fb7 100644
--- a/code/game/objects/structures.dm
+++ b/code/game/objects/structures.dm
@@ -84,6 +84,17 @@
else
user.visible_message("[user] starts climbing over [src].", \
"You start climbing over [src]...")
+
+ var/obj/structure/railing/target = src
+
+ if(target.shock(user, 100))
+ return
+
+ // Ensures player is in the proper place for climbing.
+ if(user.loc != src.loc)
+ if(user.loc == (get_step(src, get_dir(src.loc, user))))
+ step(user, get_dir(user.loc,src.loc))
+
var/adjusted_climb_time = climb_time
if(user.restrained()) //climbing takes twice as long when restrained.
adjusted_climb_time *= 2
diff --git a/hyperstation/code/game/objects/structures/railings.dm b/hyperstation/code/game/objects/structures/railings.dm
index 76b6fbb24..b527238c5 100644
--- a/hyperstation/code/game/objects/structures/railings.dm
+++ b/hyperstation/code/game/objects/structures/railings.dm
@@ -234,27 +234,36 @@
else if(istype(W, /obj/item/shard) || !shock(user, 70))
return ..()
-/obj/structure/grille/attack_paw(mob/user)
+/obj/structure/railing/attack_paw(mob/user)
return attack_hand(user)
-/obj/structure/grille/hulk_damage()
- return 60
+/obj/structure/railing/hitby(atom/movable/AM, skipcatch, hitpush, blocked, datum/thrownthing/throwingdatum)
+ if(isobj(AM))
+ if(prob(50) && anchored && !broken)
+ var/obj/O = AM
+ if(O.throwforce != 0 && O.damtype != STAMINA)//don't want to let people spam tesla bolts, this way it will break after time
+ var/turf/T = get_turf(src)
+ var/obj/structure/cable/C = T.get_cable_node()
+ if(C)
+ playsound(src, 'sound/magic/lightningshock.ogg', 100, 1, extrarange = 5)
+ tesla_zap(src, 3, C.newavail() * 0.01, TESLA_MOB_DAMAGE | TESLA_OBJ_DAMAGE | TESLA_MOB_STUN | TESLA_ALLOW_DUPLICATES) //Zap for 1/100 of the amount of power. At a million watts in the grid, it will be as powerful as a tesla revolver shot.
+ C.add_delayedload(C.newavail() * 0.0375) // you can gain up to 3.5 via the 4x upgrades power is halved by the pole so thats 2x then 1X then .5X for 3.5x the 3 bounces shock.
+ return ..()
-/obj/structure/grille/attack_hulk(mob/living/carbon/human/user, does_attack_animation = 0)
+/obj/structure/railing/attack_hulk(mob/living/carbon/human/user, does_attack_animation = 0)
if(user.a_intent == INTENT_HARM)
if(!shock(user, 70))
..(user, 1)
return TRUE
-/obj/structure/grille/attack_hand(mob/living/user)
+/obj/structure/railing/attack_hand(mob/living/user)
. = ..()
if(.)
return
if(!shock(user, 70))
user.visible_message("[user] gets shocked by [src]!", null, null, COMBAT_MESSAGE_RANGE)
- take_damage(rand(5,10), BRUTE, "melee", 1)
-/obj/structure/grille/attack_alien(mob/living/user)
+/obj/structure/railing/attack_alien(mob/living/user)
user.do_attack_animation(src)
user.changeNext_move(CLICK_CD_MELEE)
user.visible_message("[user] mangles [src].", null, null, COMBAT_MESSAGE_RANGE)