mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-23 04:51:32 +01:00
Kitchen Strikes Back: The Rattening (#7268)
This commit is contained in:
@@ -177,7 +177,7 @@
|
||||
impact_type = /obj/effect/projectile/impact/disabler
|
||||
|
||||
/obj/item/projectile/beam/mousegun
|
||||
name = "diffuse electrical arc"
|
||||
name = "electrical arc"
|
||||
icon_state = "stun"
|
||||
nodamage = 1
|
||||
damage_type = HALLOSS
|
||||
@@ -191,37 +191,78 @@
|
||||
..()
|
||||
|
||||
/obj/item/projectile/beam/mousegun/proc/mousepulse(turf/epicenter, range, log=0)
|
||||
if (!epicenter)
|
||||
if(!epicenter)
|
||||
return
|
||||
|
||||
if (!istype(epicenter, /turf))
|
||||
if(!istype(epicenter, /turf))
|
||||
epicenter = get_turf(epicenter.loc)
|
||||
|
||||
for (var/mob/living/M in range(range, epicenter))
|
||||
for(var/mob/living/M in range(range, epicenter))
|
||||
var/distance = get_dist(epicenter, M)
|
||||
if (distance < 0)
|
||||
if(distance < 0)
|
||||
distance = 0
|
||||
if (distance <= range)
|
||||
if (M.mob_size <= 2 && (M.find_type() & TYPE_ORGANIC))
|
||||
M.visible_message("<span class='danger'>[M] bursts like a balloon!</span>")
|
||||
M.gib()
|
||||
if(distance <= range)
|
||||
if (M.mob_size <= 3 && (M.find_type() & TYPE_ORGANIC))
|
||||
M.visible_message("<span class='danger'>\The [M] gets fried!</span>")
|
||||
M.color = "#4d4d4d" //get fried
|
||||
M.death()
|
||||
spark(M, 3, alldirs)
|
||||
else if (iscarbon(M) && M.contents.len)
|
||||
for (var/obj/item/weapon/holder/H in M.contents)
|
||||
if (!H.contained)
|
||||
else if(iscarbon(M) && M.contents.len)
|
||||
for(var/obj/item/weapon/holder/H in M.contents)
|
||||
if(!H.contained)
|
||||
continue
|
||||
|
||||
var/mob/living/A = H.contained
|
||||
if (!istype(A))
|
||||
if(!istype(A))
|
||||
continue
|
||||
|
||||
if (A.mob_size <= 2 && (A.find_type() & TYPE_ORGANIC))
|
||||
if(A.mob_size <= 3 && (A.find_type() & TYPE_ORGANIC))
|
||||
H.release_mob()
|
||||
A.visible_message("<span class='danger'>\The [A] gets fried!</span>")
|
||||
A.color = "#4d4d4d" //get fried
|
||||
A.death()
|
||||
|
||||
to_chat(M, 'sound/effects/basscannon.ogg')
|
||||
return TRUE
|
||||
|
||||
/obj/item/projectile/beam/mousegun/emag
|
||||
name = "diffuse electrical arc"
|
||||
|
||||
taser_effect = 1
|
||||
agony = 60
|
||||
|
||||
/obj/item/projectile/beam/mousegun/emag/mousepulse(turf/epicenter, range, log=0)
|
||||
if(!epicenter)
|
||||
return
|
||||
|
||||
if(!istype(epicenter, /turf))
|
||||
epicenter = get_turf(epicenter.loc)
|
||||
|
||||
for(var/mob/living/M in range(range, epicenter))
|
||||
var/distance = get_dist(epicenter, M)
|
||||
if(distance < 0)
|
||||
distance = 0
|
||||
if(distance <= range)
|
||||
if(M.mob_size <= 4 && (M.find_type() & TYPE_ORGANIC))
|
||||
M.visible_message("<span class='danger'>[M] bursts like a balloon!</span>")
|
||||
M.gib()
|
||||
spark(M, 3, alldirs)
|
||||
else if(iscarbon(M) && M.contents.len)
|
||||
for(var/obj/item/weapon/holder/H in M.contents)
|
||||
if(!H.contained)
|
||||
continue
|
||||
|
||||
var/mob/living/A = H.contained
|
||||
if(!istype(A))
|
||||
continue
|
||||
|
||||
if(A.mob_size <= 4 && (A.find_type() & TYPE_ORGANIC))
|
||||
H.release_mob()
|
||||
A.visible_message("<span class='danger'>[A] bursts like a balloon!</span>")
|
||||
A.gib()
|
||||
|
||||
to_chat(M, 'sound/effects/basscannon.ogg')
|
||||
return 1
|
||||
return TRUE
|
||||
|
||||
/obj/item/projectile/beam/shotgun
|
||||
name = "diffuse laser"
|
||||
|
||||
Reference in New Issue
Block a user