Merge branch 'master' into Yeehaw
This commit is contained in:
@@ -190,3 +190,21 @@
|
||||
var/mob/living/carbon/M = target
|
||||
M.visible_message("<span class='danger'>[M] explodes into a shower of gibs!</span>")
|
||||
M.gib()
|
||||
|
||||
//a shrink ray that shrinks stuff, which grows back after a short while.
|
||||
/obj/item/projectile/beam/shrink
|
||||
name = "shrink ray"
|
||||
icon_state = "blue_laser"
|
||||
hitsound = 'sound/weapons/shrink_hit.ogg'
|
||||
damage = 0
|
||||
damage_type = STAMINA
|
||||
flag = "energy"
|
||||
impact_effect_type = /obj/effect/temp_visual/impact_effect/shrink
|
||||
light_color = LIGHT_COLOR_BLUE
|
||||
var/shrink_time = 90
|
||||
|
||||
/obj/item/projectile/beam/shrink/on_hit(atom/target, blocked = FALSE)
|
||||
. = ..()
|
||||
if(isopenturf(target) || istype(target, /turf/closed/indestructible))//shrunk floors wouldnt do anything except look weird, i-walls shouldnt be bypassable
|
||||
return
|
||||
target.AddComponent(/datum/component/shrink, shrink_time)
|
||||
@@ -23,6 +23,7 @@
|
||||
var/mob/living/carbon/C = target
|
||||
SEND_SIGNAL(C, COMSIG_ADD_MOOD_EVENT, "tased", /datum/mood_event/tased)
|
||||
SEND_SIGNAL(C, COMSIG_LIVING_MINOR_SHOCK)
|
||||
C.IgniteMob()
|
||||
if(C.dna && C.dna.check_mutation(HULK))
|
||||
C.say(pick(";RAAAAAAAARGH!", ";HNNNNNNNNNGGGGGGH!", ";GWAAAAAAAARRRHHH!", "NNNNNNNNGGGGGGGGHH!", ";AAAAAAARRRGH!" ), forced = "hulk")
|
||||
else if((C.status_flags & CANKNOCKDOWN) && !HAS_TRAIT(C, TRAIT_STUNIMMUNE))
|
||||
|
||||
@@ -507,4 +507,32 @@
|
||||
return
|
||||
var/turf/T = get_turf(target)
|
||||
for(var/i=0, i<50, i+=10)
|
||||
addtimer(CALLBACK(GLOBAL_PROC, .proc/explosion, T, -1, exp_heavy, exp_light, exp_flash, FALSE, FALSE, exp_fire), i)
|
||||
addtimer(CALLBACK(GLOBAL_PROC, .proc/explosion, T, -1, exp_heavy, exp_light, exp_flash, FALSE, FALSE, exp_fire), i)
|
||||
|
||||
/obj/item/projectile/magic/nuclear
|
||||
name = "\proper blazing manliness"
|
||||
icon_state = "nuclear"
|
||||
nodamage = TRUE
|
||||
var/mob/living/victim = null
|
||||
var/used = 0
|
||||
|
||||
/obj/item/projectile/magic/nuclear/on_hit(target)
|
||||
if(used)
|
||||
return
|
||||
new/obj/effect/temp_visual/slugboom(get_turf(src))
|
||||
if(ismob(target))
|
||||
if(target == victim)
|
||||
return
|
||||
used = 1
|
||||
visible_message("<span class='danger'>[victim] slams into [target] with explosive force!</span>")
|
||||
explosion(src, 2, 3, 4, -1, TRUE, FALSE, 5)
|
||||
else
|
||||
used = 1
|
||||
victim.take_overall_damage(30,30)
|
||||
victim.Knockdown(60)
|
||||
explosion(src, -1, -1, -1, -1, FALSE, FALSE, 5)
|
||||
|
||||
/obj/item/projectile/magic/nuclear/Destroy()
|
||||
for(var/atom/movable/AM in contents)
|
||||
AM.forceMove(get_turf(src))
|
||||
. = ..()
|
||||
Reference in New Issue
Block a user