cyborg shovies
This commit is contained in:
@@ -82,6 +82,14 @@ GLOBAL_LIST_INIT(blacklisted_borg_hats, typecacheof(list( //Hats that don't real
|
||||
if(!opened)
|
||||
return ..()
|
||||
|
||||
/mob/living/silicon/robot/shove_act(mob/living/carbon/human/H)
|
||||
visible_message(span_danger("[src]'s motors grind as they are shoved by [H]!"))
|
||||
vtec_disable(10 SECONDS)
|
||||
|
||||
/mob/living/silicon/robot/proc/vtec_disable(time)
|
||||
apply_status_effect(/datum/status_effect/vtec_disabled, time)
|
||||
update_movespeed()
|
||||
|
||||
/mob/living/silicon/robot/fire_act()
|
||||
if(!on_fire) //Silicons don't gain stacks from hotspots, but hotspots can ignite them
|
||||
IgniteMob()
|
||||
|
||||
@@ -61,7 +61,9 @@
|
||||
|
||||
var/alarms = list("Motion"=list(), "Fire"=list(), "Atmosphere"=list(), "Power"=list(), "Camera"=list(), "Burglar"=list())
|
||||
|
||||
var/speed = 0 // VTEC speed boost.
|
||||
var/vtec = 0 // VTEC speed boost.
|
||||
/// vtec shorted out
|
||||
var/vtec_disabled = FALSE
|
||||
var/magpulse = FALSE // Magboot-like effect.
|
||||
var/ionpulse = FALSE // Jetpack-like effect.
|
||||
var/ionpulse_on = FALSE // Jetpack-like effect.
|
||||
|
||||
@@ -23,4 +23,4 @@
|
||||
. = ..()
|
||||
if(!resting && !(combat_flags & COMBAT_FLAG_SPRINT_ACTIVE))
|
||||
. += 1
|
||||
. += speed
|
||||
. += vtec_disabled? 0 : vtec
|
||||
|
||||
@@ -79,6 +79,8 @@
|
||||
M.visible_message("[M] pets [src].", \
|
||||
"<span class='notice'>You pet [src].</span>", target = src,
|
||||
target_message = "[M] pets you.")
|
||||
if(INTENT_DISARM)
|
||||
shove_act(M)
|
||||
if(INTENT_GRAB)
|
||||
grabbedby(M)
|
||||
else
|
||||
@@ -88,6 +90,9 @@
|
||||
"<span class='warning'>[M] punches you, but doesn't leave a dent.</span>", null, COMBAT_MESSAGE_RANGE, null, M,
|
||||
"<span class='danger'>You punch [src], but don't leave a dent.</span>")
|
||||
|
||||
/mob/living/silicon/proc/shove_act(mob/living/carbon/human/H)
|
||||
visible_message(span_danger("[M] shoves [src], but doesn't manage to make much of an effect."))
|
||||
|
||||
/mob/living/silicon/attack_drone(mob/living/simple_animal/drone/M)
|
||||
if(M.a_intent == INTENT_HARM)
|
||||
return
|
||||
|
||||
@@ -31,6 +31,11 @@
|
||||
else if(tase_duration && (C.status_flags & CANKNOCKDOWN) && !HAS_TRAIT(C, TRAIT_STUNIMMUNE) && !HAS_TRAIT(C, TRAIT_TASED_RESISTANCE))
|
||||
C.apply_status_effect(strong_tase? STATUS_EFFECT_TASED : STATUS_EFFECT_TASED_WEAK, tase_duration)
|
||||
addtimer(CALLBACK(C, /mob/living/carbon.proc/do_jitter_animation, jitter), 5)
|
||||
else if(iscyborg(target))
|
||||
target.visible_message(span_danger("A shower of sparks emit from [target] on impact from [src]!"))
|
||||
do_sparks(1, TRUE, target)
|
||||
var/mob/living/silicon/robot/R = target
|
||||
R.vtec_disable(10 SECONDS)
|
||||
|
||||
/obj/item/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
|
||||
do_sparks(1, TRUE, src)
|
||||
|
||||
Reference in New Issue
Block a user