diff --git a/code/modules/events/meaty_gore.dm b/code/modules/events/meaty_gore.dm new file mode 100644 index 00000000000..2306e13dbd0 --- /dev/null +++ b/code/modules/events/meaty_gore.dm @@ -0,0 +1,47 @@ +/datum/event/dust/gore/announce() + command_announcement.Announce("Unknown biological debris have been detected near [station_name()], please stand-by.", "Debris Alert") + +/datum/event/dust/gore/setup() + qnty = rand(45,125) + +/datum/event/dust/gore/start() + while(qnty-- > 0) + new /obj/effect/space_dust/gore() + if(prob(10)) + sleep(rand(10,15)) + +/obj/effect/space_dust/gore + icon = 'icons/mob/human.dmi' + icon_state = "body_m_s" + + strength = 1 + life = 1 + +/obj/effect/space_dust/gore/Bump(atom/A) + if(prob(20)) + spawn(1) + for(var/mob/M in range(10, src)) + if(!M.stat && !istype(M, /mob/living/silicon/ai)) + shake_camera(M, 3, 1) + if (A) + playsound(src.loc, 'sound/effects/meteorimpact.ogg', 40, 1) + walk(src,0) + invisibility = 101 + new /obj/effect/decal/cleanable/blood(get_turf(A)) + if(ismob(A)) + A.ex_act(strength) + else + spawn(0) + if(A) + A.ex_act(strength) + if(src) + walk_towards(src,goal,1) + life-- + if(!life) + if(prob(80)) + gibs(loc) + if(prob(45)) + new /obj/item/weapon/reagent_containers/food/snacks/meat(loc) + new /obj/effect/decal/cleanable/blood/gibs(loc) + + qdel(src) \ No newline at end of file diff --git a/code/modules/events/meaty_ops.dm b/code/modules/events/meaty_ops.dm new file mode 100644 index 00000000000..569b65413e9 --- /dev/null +++ b/code/modules/events/meaty_ops.dm @@ -0,0 +1,48 @@ +/datum/event/dust/goreop/announce() + var/meteor_declaration = "MeteorOps have declared thier intent to utterly destroy [station_name()] with thier own bodies, and dares the crew to try and stop them." + command_announcement.Announce(meteor_declaration, "Declaration of 'War'", 'sound/effects/siren.ogg') + +/datum/event/dust/goreop/setup() + qnty = rand(45,125) + +/datum/event/dust/goreop/start() + while(qnty-- > 0) + new /obj/effect/space_dust/gore() + if(prob(10)) + sleep(rand(10,15)) + +/obj/effect/space_dust/goreop + icon = 'icons/mob/animal.dmi' + icon_state = "syndicaterangedpsace" + + strength = 1 + life = 1 + +/obj/effect/space_dust/goreop/Bump(atom/A) + if(prob(20)) + spawn(1) + for(var/mob/M in range(10, src)) + if(!M.stat && !istype(M, /mob/living/silicon/ai)) + shake_camera(M, 3, 1) + if (A) + playsound(src.loc, 'sound/effects/meteorimpact.ogg', 40, 1) + walk(src,0) + invisibility = 101 + new /obj/effect/decal/cleanable/blood(get_turf(A)) + if(ismob(A)) + A.ex_act(strength) + else + spawn(0) + if(A) + A.ex_act(strength) + if(src) + walk_towards(src,goal,1) + life-- + if(!life) + if(prob(80)) + gibs(loc) + if(prob(45)) + new /obj/item/weapon/reagent_containers/food/snacks/meat(loc) + new /obj/effect/decal/cleanable/blood/gibs(loc) + + qdel(src) \ No newline at end of file diff --git a/icons/obj/meteor.dmi b/icons/obj/meteor.dmi index cd113fe5fa5..83a0a98a49a 100644 Binary files a/icons/obj/meteor.dmi and b/icons/obj/meteor.dmi differ diff --git a/paradise.dme b/paradise.dme index 4a673c9da4a..486223637e0 100644 --- a/paradise.dme +++ b/paradise.dme @@ -1186,6 +1186,8 @@ #include "code\modules\events\infestation.dm" #include "code\modules\events\ion_storm.dm" #include "code\modules\events\mass_hallucination.dm" +#include "code\modules\events\meaty_gore.dm" +#include "code\modules\events\meaty_ops.dm" #include "code\modules\events\meaty_ores.dm" #include "code\modules\events\meteors.dm" #include "code\modules\events\money_hacker.dm"