diff --git a/code/modules/holiday/halloween.dm b/code/modules/holiday/halloween.dm index 61dc44b8878..8850b6e3f4d 100644 --- a/code/modules/holiday/halloween.dm +++ b/code/modules/holiday/halloween.dm @@ -10,23 +10,23 @@ if (prob (49)) M.show_message("You hear muffled speech... but nothing is there...", 2) if(prob(20)) - playsound(src.loc, pick('sound/effects/ghost.ogg','sound/effects/ghost2.ogg'), 10, 1) + playsound(loc, pick('sound/effects/ghost.ogg','sound/effects/ghost2.ogg'), 10, 1) else M.show_message("You hear muffled speech... you can almost make out some words...", 2) // M.show_message("[stutter(message)]", 2) if(prob(30)) - playsound(src.loc, pick('sound/effects/ghost.ogg','sound/effects/ghost2.ogg'), 10, 1) + playsound(loc, pick('sound/effects/ghost.ogg','sound/effects/ghost2.ogg'), 10, 1) else if(prob(50)) return else if(prob (95)) M.show_message("You hear muffled speech... but nothing is there...", 2) if(prob(20)) - playsound(src.loc, pick('sound/effects/ghost.ogg','sound/effects/ghost2.ogg'), 10, 1) + playsound(loc, pick('sound/effects/ghost.ogg','sound/effects/ghost2.ogg'), 10, 1) else M.show_message("You hear muffled speech... you can almost make out some words...", 2) // M.show_message("[stutter(message)]", 2) - playsound(src.loc, pick('sound/effects/ghost.ogg','sound/effects/ghost2.ogg'), 10, 1)*/ + playsound(loc, pick('sound/effects/ghost.ogg','sound/effects/ghost2.ogg'), 10, 1)*/ /////////////////////////////////////// @@ -88,7 +88,7 @@ trapped = HOWLING_GHOST return else - var/mob/living/carbon/human/H = new (loc) + var/mob/living/carbon/human/H = new(loc) H.makeSkeleton() H.health = 1e5 insert(H) @@ -100,71 +100,59 @@ if(!trapped) return - if(trapped == SPOOKY_SKELETON) - src.visible_message("BOO!"); - playsound(src.loc, pick('sound/effects/xylophone1.ogg','sound/effects/xylophone2.ogg','sound/effects/xylophone3.ogg','sound/spookoween/girlscream.ogg'), 300, 1) + else if(trapped == SPOOKY_SKELETON) + visible_message("BOO!") + playsound(loc, pick('sound/effects/xylophone1.ogg','sound/effects/xylophone2.ogg','sound/effects/xylophone3.ogg','sound/spookoween/girlscream.ogg'), 300, 1) trapped = 0 - spawn(60) - if(trapped_mob && trapped_mob.loc && trapped_mob.loc != loc) - var/datum/effect/effect/system/harmless_smoke_spread/smoke = new - smoke.set_up(1,0, trapped_mob.loc, 0) + spawn(90) + if(trapped_mob && trapped_mob.loc) + var/datum/effect/effect/system/harmless_smoke_spread/smoke = new() + smoke.set_up(1, 0, trapped_mob.loc, 0) smoke.start() - trapped_mob.loc = loc - if(gc_destroyed) qdel(trapped_mob) - return - src.close() - trapped = SPOOKY_SKELETON - return - if(trapped == ANGRY_FAITHLESS) - src.visible_message("The closet bursts open!"); - src.visible_message("THIS BEING RADIATES PURE EVIL! YOU BETTER RUN !!!"); - playsound(src.loc, 'sound/hallucinations/wail.ogg', 300, 1) - var/mob/living/simple_animal/hostile/faithless/F = new (loc) - F.health =1e5 + else if(trapped == HOWLING_GHOST) + visible_message("[pick("OooOOooooOOOoOoOOooooOOOOO", "BooOOooOooooOOOO", "BOO!", "WoOOoOoooOooo")]") + playsound(loc, 'sound/spookoween/ghosty_wind.ogg', 300, 1) + new /mob/living/simple_animal/shade/howling_ghost(loc) + trapped = 0 + + else if(trapped == SCARY_BATS) + visible_message("Protect your hair!") + playsound(loc, 'sound/spookoween/bats.ogg', 300, 1) + var/number = rand(1,3) + for(var/i=0,i < number,i++) + new /mob/living/simple_animal/hostile/retaliate/bat(loc) + trapped = 0 + + else if(trapped == ANGRY_FAITHLESS) + visible_message("The closet bursts open!") + visible_message("THIS BEING RADIATES PURE EVIL! YOU BETTER RUN!!!") + playsound(loc, 'sound/hallucinations/wail.ogg', 300, 1) + var/mob/living/simple_animal/hostile/faithless/F = new(loc) F.stance = HOSTILE_STANCE_ATTACK F.GiveTarget(usr) trapped = 0 - qdel(src) spawn(120) if(F && F.loc) var/datum/effect/effect/system/harmless_smoke_spread/smoke = new smoke.set_up(1,0, F.loc, 0) smoke.start() qdel(F) - return - if(trapped == SCARY_BATS) - src.visible_message("Protect your hairs !!!"); - playsound(src.loc, 'sound/spookoween/bats.ogg', 300, 1) - var/number = rand(1,4) - for(var/i=0,i < number,i++) - new /mob/living/simple_animal/hostile/retaliate/bat (loc) - trapped = 0 - return - - if(trapped == INSANE_CLOWN) - src.visible_message("..."); - playsound(src.loc, 'sound/spookoween/scary_clown_appear.ogg', 300, 1) + else if(trapped == INSANE_CLOWN) + visible_message("...") + playsound(loc, 'sound/spookoween/scary_clown_appear.ogg', 300, 1) var/mob/living/simple_animal/hostile/retaliate/clown/insane/IC = new (loc) IC.GiveTarget(usr) trapped = 0 - return - - if(trapped == HOWLING_GHOST) - src.visible_message("Woo Woo"); - playsound(src.loc, 'sound/spookoween/ghosty_wind.ogg', 300, 1) - new /mob/living/simple_animal/shade/howling_ghost (loc) - trapped = 0 - return //don't spawn in crates /obj/structure/closet/crate/trigger_spooky_trap() - return 0 + return /obj/structure/closet/crate/set_spooky_trap() - return 0 + return //////////////////// @@ -172,8 +160,8 @@ //////////////////// /mob/living/simple_animal/shade/howling_ghost - name ="Ghost" - real_name = "Ghost" + name = "ghost" + real_name = "ghost" icon = 'icons/mob/mob.dmi' maxHealth = 1e6 health = 1e6 @@ -195,8 +183,9 @@ /mob/living/simple_animal/shade/howling_ghost/Life() ..() timer-- - if(timer == 0) + if(prob(20)) roam() + if(timer == 0) spooky_ghosty() timer = rand(1,15) @@ -211,7 +200,7 @@ /mob/living/simple_animal/shade/howling_ghost/proc/spooky_ghosty() if(prob(20)) //haunt - playsound(src.loc, pick('sound/spookoween/ghosty_wind.ogg','sound/spookoween/ghost_whisper.ogg','sound/spookoween/chain_rattling.ogg'), 300, 1) + playsound(loc, pick('sound/spookoween/ghosty_wind.ogg','sound/spookoween/ghost_whisper.ogg','sound/spookoween/chain_rattling.ogg'), 300, 1) if(prob(10)) //flickers var/obj/machinery/light/L = locate(/obj/machinery/light) in view(5, src) if(L) @@ -235,8 +224,8 @@ /////////////////////////// /mob/living/simple_animal/hostile/retaliate/clown/insane - name = "Insane Clown" - desc = "May the HonkMother have mercy..." + name = "insane clown" + desc = "Some clowns do not manage to be accepted, and go insane. This is one of them." icon_state = "scary_clown" icon_living = "scary_clown" icon_dead = "scary_clown" @@ -248,7 +237,6 @@ heat_damage_per_tick = 0 cold_damage_per_tick = 0 unsuitable_atmos_damage = 0 - var/timer /mob/living/simple_animal/hostile/retaliate/clown/insane/New() @@ -279,7 +267,6 @@ playsound(M.loc, pick('sound/spookoween/scary_horn.ogg','sound/spookoween/scary_horn2.ogg', 'sound/spookoween/scary_horn3.ogg'), 300, 1) spawn(12) loc = M.loc - return /mob/living/simple_animal/hostile/retaliate/clown/insane/MoveToTarget() return @@ -289,18 +276,15 @@ /mob/living/simple_animal/hostile/retaliate/clown/insane/adjustBruteLoss() if(prob(5)) - playsound(src.loc, 'sound/spookoween/insane_low_laugh.ogg', 300, 1) - return + playsound(loc, 'sound/spookoween/insane_low_laugh.ogg', 300, 1) /mob/living/simple_animal/hostile/retaliate/clown/insane/attackby(var/obj/item/O as obj, var/mob/user as mob) if(istype(O,/obj/item/weapon/nullrod)) if(prob(5)) - visible_message("[src] finally found the peace it deserves. HONK for the HonkMother !"); - playsound(src.loc, 'sound/spookoween/insane_low_laugh.ogg', 300, 1) + visible_message("[src] finally found the peace it deserves. You hear honks echoing off into the distance.") + playsound(loc, 'sound/spookoween/insane_low_laugh.ogg', 300, 1) qdel(src) - return else - visible_message("It seems to be resisting the effect!!!"); - return - ..() - + visible_message("[src] seems to be resisting the effect!") + else + ..()