From 0144acd37cf0b0eba87427defb51e44ca14dad25 Mon Sep 17 00:00:00 2001 From: Aurorablade Date: Tue, 7 Aug 2018 01:30:27 -0400 Subject: [PATCH] lemons feedback...and conflict prep.. --- code/modules/admin/verbs/spawnfloorcluwne.dm | 2 ++ .../simple_animal/hostile/floorcluwne.dm | 18 ++++++++++++------ 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/code/modules/admin/verbs/spawnfloorcluwne.dm b/code/modules/admin/verbs/spawnfloorcluwne.dm index 094fd3399bf..6f3401d7625 100644 --- a/code/modules/admin/verbs/spawnfloorcluwne.dm +++ b/code/modules/admin/verbs/spawnfloorcluwne.dm @@ -9,6 +9,8 @@ var/turf/T = get_turf(usr) target = input("Any specific target in mind? Please note only live, non cluwned, human targets are valid.", "Target", target) as null|anything in player_list + if(isnull(target)) + return if(target && ishuman(target)) var/mob/living/carbon/human/H = target var/mob/living/simple_animal/hostile/floor_cluwne/FC = new /mob/living/simple_animal/hostile/floor_cluwne(T) diff --git a/code/modules/mob/living/simple_animal/hostile/floorcluwne.dm b/code/modules/mob/living/simple_animal/hostile/floorcluwne.dm index 592540dac9f..bd7c7285be5 100644 --- a/code/modules/mob/living/simple_animal/hostile/floorcluwne.dm +++ b/code/modules/mob/living/simple_animal/hostile/floorcluwne.dm @@ -36,6 +36,7 @@ var/target_area var/invalid_area_typecache = list(/area/space, /area/centcom) var/eating = FALSE + var/smiting = FALSE /mob/living/simple_animal/hostile/floor_cluwne/New() @@ -135,10 +136,12 @@ /mob/living/simple_animal/hostile/floor_cluwne/proc/Acquire_Victim(specific) - for(var/mob/living/carbon/human/I in player_list) - var/mob/living/carbon/human/H = pick(player_list)//so the check is fair + var/list/players_copy = player_list.Copy() + while(players_copy.len) + var/mob/living/carbon/human/H = pick_n_take(players_copy) if(specific) + smiting = TRUE H = specific if(H.stat != DEAD && !H.get_int_organ(/obj/item/organ/internal/honktumor/cursed) && !is_type_in_typecache(get_area(H.loc), invalid_area_typecache)) return target = current_victim @@ -331,8 +334,7 @@ H.density = FALSE H.anchored = TRUE addtimer(CALLBACK(src, /mob/living/simple_animal/hostile/floor_cluwne/.proc/Kill, H), 100) - visible_message("[src] pulls [H] under!") - to_chat(H, "[src] drags you underneath the floor!") + H.visible_message("[src] pulls [H] under the floor!") else eating = FALSE @@ -376,9 +378,13 @@ eating = FALSE switch_stage = switch_stage * 0.75 //he gets faster after each feast - Acquire_Victim() + if(smiting) + playsound(loc, 'sound/spookoween/scary_horn2.ogg', 100, 0, -4) + qdel(src) + else + Acquire_Victim() - interest = 0 + interest = 0 //manifestation animation /obj/effect/temp_visual/fcluwne_manifest