From 40e43922df158e3cc0adfc9d648d956b7fd9c83a Mon Sep 17 00:00:00 2001 From: Aurorablade Date: Tue, 7 Aug 2018 02:11:36 -0400 Subject: [PATCH] Tweaks --- code/modules/admin/topic.dm | 1 + code/modules/admin/verbs/spawnfloorcluwne.dm | 27 +++++++++++-------- .../simple_animal/hostile/floorcluwne.dm | 7 ++++- 3 files changed, 23 insertions(+), 12 deletions(-) diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index d099b00ba8c..109670d6c4b 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -1965,6 +1965,7 @@ logmsg = "floor cluwne" var/turf/T = get_turf(M) var/mob/living/simple_animal/hostile/floor_cluwne/FC = new /mob/living/simple_animal/hostile/floor_cluwne(T) + FC.smiting = TRUE FC.Acquire_Victim(M) if(logmsg) log_admin("[key_name(owner)] answered [key_name(M)]'s prayer with a smiting: [logmsg]") diff --git a/code/modules/admin/verbs/spawnfloorcluwne.dm b/code/modules/admin/verbs/spawnfloorcluwne.dm index 6f3401d7625..6726727a48f 100644 --- a/code/modules/admin/verbs/spawnfloorcluwne.dm +++ b/code/modules/admin/verbs/spawnfloorcluwne.dm @@ -7,15 +7,20 @@ if(!check_rights(R_EVENT)) return - 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) - FC.Acquire_Victim(H) + var/confirm = alert("Are you sure you want to release a floor cluwne and kill alot of people?", "Confirm Massacre", "Yes", "No") + if(confirm == "Yes") + + 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) + FC.Acquire_Victim(H) + else + new /mob/living/simple_animal/hostile/floor_cluwne(T) + log_admin("[key_name(usr)] spawned floor cluwne.") + message_admins("[key_name(usr)] spawned floor cluwne.") else - new /mob/living/simple_animal/hostile/floor_cluwne(T) - log_admin("[key_name(usr)] spawned floor cluwne.") - message_admins("[key_name(usr)] spawned floor cluwne.") + return diff --git a/code/modules/mob/living/simple_animal/hostile/floorcluwne.dm b/code/modules/mob/living/simple_animal/hostile/floorcluwne.dm index bd7c7285be5..f2b09add658 100644 --- a/code/modules/mob/living/simple_animal/hostile/floorcluwne.dm +++ b/code/modules/mob/living/simple_animal/hostile/floorcluwne.dm @@ -19,6 +19,7 @@ del_on_death = TRUE pass_flags = PASSTABLE | PASSGRILLE | PASSMOB | LETPASSTHROW | PASSGLASS | PASSBLOB//it's practically a ghost when unmanifested (under the floor) loot = list(/obj/item/clothing/mask/cursedclown) + a_intent = INTENT_HARM wander = FALSE minimum_distance = 2 move_to_delay = 1 @@ -141,7 +142,6 @@ 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 @@ -356,6 +356,11 @@ if(prob(75)) + if(smiting)//if we are smiting we might as well cluwne them ANYWAY + H.makeCluwne() + H.adjustBruteLoss(30) + H.adjustBrainLoss(100) + //..and THEN dismember them... for(var/I in H.bodyparts) var/obj/item/organ/external/O = I if(O.name == "head")//irksome runtimes