mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-18 02:24:11 +01:00
Nukes undead event (#30002)
This commit is contained in:
@@ -1,40 +0,0 @@
|
||||
/datum/event/undead
|
||||
var/spawn_prob = 10
|
||||
startWhen = 2
|
||||
announceWhen = 3
|
||||
|
||||
/datum/event/undead/start()
|
||||
var/datum/event/electrical_storm/RS = new
|
||||
RS.lightsoutAmount = pick(2,2,3)
|
||||
RS.start()
|
||||
RS.kill()
|
||||
for(var/area/A in GLOB.all_areas)
|
||||
if(!is_station_level(A.z)) continue //Spook on main station only.
|
||||
if(A.luminosity) continue
|
||||
// if(A.lighting_space) continue
|
||||
if(A.type == /area) continue
|
||||
var/list/turflist = list()
|
||||
for(var/turf/T in A)
|
||||
if(isspaceturf(T) || T.density) continue
|
||||
if(locate(/mob/living) in T) continue
|
||||
var/okay = 1
|
||||
for(var/obj/O in T)
|
||||
if(O.density)
|
||||
okay = 0
|
||||
break
|
||||
if(okay)
|
||||
turflist += T
|
||||
|
||||
if(!length(turflist)) continue
|
||||
var/turfs = round(length(turflist) * spawn_prob/100,1)
|
||||
while(turfs > 0 && length(turflist)) // safety
|
||||
turfs--
|
||||
var/turf/T = pick_n_take(turflist)
|
||||
var/undeadtype = pick(/mob/living/simple_animal/hostile/retaliate/skeleton,
|
||||
80;/mob/living/simple_animal/hostile/retaliate/zombie,
|
||||
60;/mob/living/simple_animal/hostile/retaliate/ghost)
|
||||
new undeadtype(T)
|
||||
|
||||
/datum/event/undead/announce()
|
||||
for(var/mob/living/M in GLOB.player_list)
|
||||
to_chat(M, "You feel [pick("a chill","a deathly chill","the undead","dirty", "creeped out","afraid","fear")]!")
|
||||
@@ -1,91 +0,0 @@
|
||||
/mob/living/simple_animal/hostile/retaliate/ghost
|
||||
icon = 'icons/mob/mob.dmi'
|
||||
name = "ghost"
|
||||
icon_state = "ghost2"
|
||||
icon_living = "ghost2"
|
||||
icon_dead = "ghost"
|
||||
mob_biotypes = MOB_SPIRIT
|
||||
density = FALSE // ghost
|
||||
invisibility = 60 // no seriously ghost
|
||||
|
||||
|
||||
response_help = "passes through" // by the way ghost
|
||||
turns_per_move = 10
|
||||
speed = 0
|
||||
|
||||
emote_taunt = list("wails")
|
||||
taunt_chance = 20
|
||||
|
||||
harm_intent_damage = 10
|
||||
melee_damage_lower = 2
|
||||
melee_damage_upper = 3
|
||||
attacktext = "grips"
|
||||
attack_sound = 'sound/hallucinations/growl1.ogg'
|
||||
|
||||
atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0)
|
||||
minbodytemp = 0
|
||||
pressure_resistance = 300
|
||||
faction = list("undead") // did I mention ghost
|
||||
loot = list(/obj/item/food/ectoplasm)
|
||||
del_on_death = TRUE
|
||||
|
||||
initial_traits = list(TRAIT_FLYING)
|
||||
|
||||
/mob/living/simple_animal/hostile/retaliate/ghost/Process_Spacemove(movement_dir = 0, continuous_move = FALSE)
|
||||
return 1
|
||||
|
||||
/mob/living/simple_animal/hostile/retaliate/ghost/Life(seconds, times_fired)
|
||||
if(target)
|
||||
invisibility = pick(0,0,60,invisibility)
|
||||
else
|
||||
invisibility = pick(0,60,60,invisibility)
|
||||
..()
|
||||
|
||||
/mob/living/simple_animal/hostile/retaliate/skeleton
|
||||
name = "skeleton"
|
||||
icon = 'icons/mob/human.dmi'
|
||||
icon_state = "skeleton_s"
|
||||
icon_living = "skeleton_s"
|
||||
icon_dead = "skeleton_l"
|
||||
mob_biotypes = MOB_UNDEAD | MOB_HUMANOID
|
||||
turns_per_move = 10
|
||||
response_help = "shakes hands with"
|
||||
speed = 0
|
||||
|
||||
harm_intent_damage = 10
|
||||
melee_damage_lower = 5
|
||||
melee_damage_upper = 10
|
||||
attacktext = "claws"
|
||||
attack_sound = 'sound/hallucinations/growl1.ogg'
|
||||
|
||||
atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0)
|
||||
minbodytemp = 0
|
||||
|
||||
faction = list("undead")
|
||||
loot = list(/obj/effect/decal/remains/human)
|
||||
del_on_death = TRUE
|
||||
footstep_type = FOOTSTEP_MOB_SHOE
|
||||
|
||||
/mob/living/simple_animal/hostile/retaliate/zombie
|
||||
name = "zombie"
|
||||
icon = 'icons/mob/human.dmi'
|
||||
icon_state = "zombie_s"
|
||||
icon_living = "zombie_s"
|
||||
icon_dead = "zombie_l"
|
||||
mob_biotypes = MOB_UNDEAD | MOB_HUMANOID
|
||||
turns_per_move = 10
|
||||
response_help = "gently prods"
|
||||
speed = -1
|
||||
|
||||
harm_intent_damage = 10
|
||||
melee_damage_lower = 5
|
||||
melee_damage_upper = 10
|
||||
attacktext = "claws"
|
||||
attack_sound = 'sound/hallucinations/growl1.ogg'
|
||||
|
||||
atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0)
|
||||
minbodytemp = 0
|
||||
|
||||
faction = list("undead")
|
||||
loot = list(/obj/effect/decal/cleanable/blood/gibs)
|
||||
del_on_death = TRUE
|
||||
Reference in New Issue
Block a user