From 2944586194f399d6d8a4d117c84d8939fee565e6 Mon Sep 17 00:00:00 2001 From: CornMyCob Date: Sat, 4 Aug 2018 15:35:01 +0100 Subject: [PATCH 1/4] Adds prompt for headslug --- .../gamemodes/changeling/powers/headcrab.dm | 61 ++++++++++--------- 1 file changed, 32 insertions(+), 29 deletions(-) diff --git a/code/game/gamemodes/changeling/powers/headcrab.dm b/code/game/gamemodes/changeling/powers/headcrab.dm index 60adda8f088..515045c10f0 100644 --- a/code/game/gamemodes/changeling/powers/headcrab.dm +++ b/code/game/gamemodes/changeling/powers/headcrab.dm @@ -7,34 +7,37 @@ req_human = 1 /obj/effect/proc_holder/changeling/headcrab/sting_action(mob/user) - var/datum/mind/M = user.mind - var/list/organs = user.get_organs_zone("head", 1) + if(alert("Are you sure you wish to do this? This action cannot be undone.",,"Yes","No")=="No") + return + else + var/datum/mind/M = user.mind + var/list/organs = user.get_organs_zone("head", 1) - for(var/obj/item/organ/internal/I in organs) - I.remove(user, 1) - - explosion(get_turf(user),0,0,2,0,silent=1) - for(var/mob/living/carbon/human/H in range(2,user)) - to_chat(H, "You are blinded by a shower of blood!") - H.Stun(1) - H.EyeBlurry(20) - var/obj/item/organ/internal/eyes/E = H.get_int_organ(/obj/item/organ/internal/eyes) - if(istype(E)) - E.receive_damage(5, 1) - H.AdjustConfused(3) - for(var/mob/living/silicon/S in range(2,user)) - to_chat(S, "Your sensors are disabled by a shower of blood!") - S.Weaken(3) - var/turf = get_turf(user) - spawn(5) // So it's not killed in explosion - var/mob/living/simple_animal/hostile/headcrab/crab = new(turf) for(var/obj/item/organ/internal/I in organs) - I.loc = crab - crab.origin = M - if(crab.origin) - crab.origin.active = 1 - crab.origin.transfer_to(crab) - to_chat(crab, "You burst out of the remains of your former body in a shower of gore!") - user.gib() - feedback_add_details("changeling_powers","LR") - return 1 + I.remove(user, 1) + + explosion(get_turf(user),0,0,2,0,silent=1) + for(var/mob/living/carbon/human/H in range(2,user)) + to_chat(H, "You are blinded by a shower of blood!") + H.Stun(1) + H.EyeBlurry(20) + var/obj/item/organ/internal/eyes/E = H.get_int_organ(/obj/item/organ/internal/eyes) + if(istype(E)) + E.receive_damage(5, 1) + H.AdjustConfused(3) + for(var/mob/living/silicon/S in range(2,user)) + to_chat(S, "Your sensors are disabled by a shower of blood!") + S.Weaken(3) + var/turf = get_turf(user) + spawn(5) // So it's not killed in explosion + var/mob/living/simple_animal/hostile/headcrab/crab = new(turf) + for(var/obj/item/organ/internal/I in organs) + I.loc = crab + crab.origin = M + if(crab.origin) + crab.origin.active = 1 + crab.origin.transfer_to(crab) + to_chat(crab, "You burst out of the remains of your former body in a shower of gore!") + user.gib() + feedback_add_details("changeling_powers","LR") + return 1 \ No newline at end of file From 71f560c8e4c4335bfde9e71168fd90e09995513f Mon Sep 17 00:00:00 2001 From: CornMyCob Date: Sat, 4 Aug 2018 16:30:45 +0100 Subject: [PATCH 2/4] response to feedback --- .../gamemodes/changeling/powers/headcrab.dm | 75 +++++++++---------- 1 file changed, 37 insertions(+), 38 deletions(-) diff --git a/code/game/gamemodes/changeling/powers/headcrab.dm b/code/game/gamemodes/changeling/powers/headcrab.dm index 515045c10f0..08e92484d2f 100644 --- a/code/game/gamemodes/changeling/powers/headcrab.dm +++ b/code/game/gamemodes/changeling/powers/headcrab.dm @@ -1,43 +1,42 @@ /obj/effect/proc_holder/changeling/headcrab - name = "Last Resort" - desc = "We sacrifice our current body in a moment of need, placing us in control of a vessel." - helptext = "We will be placed in control of a small, fragile creature. We may attack a corpse like this to plant an egg which will slowly mature into a new form for us." - chemical_cost = 20 - dna_cost = 1 - req_human = 1 + name = "Last Resort" + desc = "We sacrifice our current body in a moment of need, placing us in control of a vessel." + helptext = "We will be placed in control of a small, fragile creature. We may attack a corpse like this to plant an egg which will slowly mature into a new form for us." + chemical_cost = 20 + dna_cost = 1 + req_human = 1 /obj/effect/proc_holder/changeling/headcrab/sting_action(mob/user) - if(alert("Are you sure you wish to do this? This action cannot be undone.",,"Yes","No")=="No") - return - else - var/datum/mind/M = user.mind - var/list/organs = user.get_organs_zone("head", 1) + if(alert("Are you sure you wish to do this? This action cannot be undone.",,"Yes","No")=="No") + return + var/datum/mind/M = user.mind + var/list/organs = user.get_organs_zone("head", 1) - for(var/obj/item/organ/internal/I in organs) - I.remove(user, 1) + for(var/obj/item/organ/internal/I in organs) + I.remove(user, 1) - explosion(get_turf(user),0,0,2,0,silent=1) - for(var/mob/living/carbon/human/H in range(2,user)) - to_chat(H, "You are blinded by a shower of blood!") - H.Stun(1) - H.EyeBlurry(20) - var/obj/item/organ/internal/eyes/E = H.get_int_organ(/obj/item/organ/internal/eyes) - if(istype(E)) - E.receive_damage(5, 1) - H.AdjustConfused(3) - for(var/mob/living/silicon/S in range(2,user)) - to_chat(S, "Your sensors are disabled by a shower of blood!") - S.Weaken(3) - var/turf = get_turf(user) - spawn(5) // So it's not killed in explosion - var/mob/living/simple_animal/hostile/headcrab/crab = new(turf) - for(var/obj/item/organ/internal/I in organs) - I.loc = crab - crab.origin = M - if(crab.origin) - crab.origin.active = 1 - crab.origin.transfer_to(crab) - to_chat(crab, "You burst out of the remains of your former body in a shower of gore!") - user.gib() - feedback_add_details("changeling_powers","LR") - return 1 \ No newline at end of file + explosion(get_turf(user),0,0,2,0,silent=1) + for(var/mob/living/carbon/human/H in range(2,user)) + to_chat(H, "You are blinded by a shower of blood!") + H.Stun(1) + H.EyeBlurry(20) + var/obj/item/organ/internal/eyes/E = H.get_int_organ(/obj/item/organ/internal/eyes) + if(istype(E)) + E.receive_damage(5, 1) + H.AdjustConfused(3) + for(var/mob/living/silicon/S in range(2,user)) + to_chat(S, "Your sensors are disabled by a shower of blood!") + S.Weaken(3) + var/turf = get_turf(user) + spawn(5) // So it's not killed in explosion + var/mob/living/simple_animal/hostile/headcrab/crab = new(turf) + for(var/obj/item/organ/internal/I in organs) + I.loc = crab + crab.origin = M + if(crab.origin) + crab.origin.active = 1 + crab.origin.transfer_to(crab) + to_chat(crab, "You burst out of the remains of your former body in a shower of gore!") + user.gib() + feedback_add_details("changeling_powers","LR") + return 1 \ No newline at end of file From 023b06d6a6987dff9fa269ab3ac34909e748792f Mon Sep 17 00:00:00 2001 From: CornMyCob Date: Sat, 4 Aug 2018 19:23:24 +0100 Subject: [PATCH 3/4] response to feedback --- .../gamemodes/changeling/powers/headcrab.dm | 76 ++++++++++--------- 1 file changed, 39 insertions(+), 37 deletions(-) diff --git a/code/game/gamemodes/changeling/powers/headcrab.dm b/code/game/gamemodes/changeling/powers/headcrab.dm index 08e92484d2f..6c0fd57ace2 100644 --- a/code/game/gamemodes/changeling/powers/headcrab.dm +++ b/code/game/gamemodes/changeling/powers/headcrab.dm @@ -1,42 +1,44 @@ /obj/effect/proc_holder/changeling/headcrab - name = "Last Resort" - desc = "We sacrifice our current body in a moment of need, placing us in control of a vessel." - helptext = "We will be placed in control of a small, fragile creature. We may attack a corpse like this to plant an egg which will slowly mature into a new form for us." - chemical_cost = 20 - dna_cost = 1 - req_human = 1 + name = "Last Resort" + desc = "We sacrifice our current body in a moment of need, placing us in control of a vessel." + helptext = "We will be placed in control of a small, fragile creature. We may attack a corpse like this to plant an egg which will slowly mature into a new form for us." + chemical_cost = 20 + dna_cost = 1 + req_human = 1 + +/obj/effect/proc_holder/changeling/headcrab/try_to_sting(mob/user, mob/target) + if(alert("Are you sure you wish to do this? This action cannot be undone.",,"Yes","No")=="Yes") + sting_action() /obj/effect/proc_holder/changeling/headcrab/sting_action(mob/user) - if(alert("Are you sure you wish to do this? This action cannot be undone.",,"Yes","No")=="No") - return - var/datum/mind/M = user.mind - var/list/organs = user.get_organs_zone("head", 1) + var/datum/mind/M = user.mind + var/list/organs = user.get_organs_zone("head", 1) - for(var/obj/item/organ/internal/I in organs) - I.remove(user, 1) + for(var/obj/item/organ/internal/I in organs) + I.remove(user, 1) - explosion(get_turf(user),0,0,2,0,silent=1) - for(var/mob/living/carbon/human/H in range(2,user)) - to_chat(H, "You are blinded by a shower of blood!") - H.Stun(1) - H.EyeBlurry(20) - var/obj/item/organ/internal/eyes/E = H.get_int_organ(/obj/item/organ/internal/eyes) - if(istype(E)) - E.receive_damage(5, 1) - H.AdjustConfused(3) - for(var/mob/living/silicon/S in range(2,user)) - to_chat(S, "Your sensors are disabled by a shower of blood!") - S.Weaken(3) - var/turf = get_turf(user) - spawn(5) // So it's not killed in explosion - var/mob/living/simple_animal/hostile/headcrab/crab = new(turf) - for(var/obj/item/organ/internal/I in organs) - I.loc = crab - crab.origin = M - if(crab.origin) - crab.origin.active = 1 - crab.origin.transfer_to(crab) - to_chat(crab, "You burst out of the remains of your former body in a shower of gore!") - user.gib() - feedback_add_details("changeling_powers","LR") - return 1 \ No newline at end of file + explosion(get_turf(user),0,0,2,0,silent=1) + for(var/mob/living/carbon/human/H in range(2,user)) + to_chat(H, "You are blinded by a shower of blood!") + H.Stun(1) + H.EyeBlurry(20) + var/obj/item/organ/internal/eyes/E = H.get_int_organ(/obj/item/organ/internal/eyes) + if(istype(E)) + E.receive_damage(5, 1) + H.AdjustConfused(3) + for(var/mob/living/silicon/S in range(2,user)) + to_chat(S, "Your sensors are disabled by a shower of blood!") + S.Weaken(3) + var/turf = get_turf(user) + spawn(5) // So it's not killed in explosion + var/mob/living/simple_animal/hostile/headcrab/crab = new(turf) + for(var/obj/item/organ/internal/I in organs) + I.loc = crab + crab.origin = M + if(crab.origin) + crab.origin.active = 1 + crab.origin.transfer_to(crab) + to_chat(crab, "You burst out of the remains of your former body in a shower of gore!") + user.gib() + feedback_add_details("changeling_powers","LR") + return 1 \ No newline at end of file From c9d37a68341dc0d0306b8c4e2f60b8d5bd801692 Mon Sep 17 00:00:00 2001 From: CornMyCob Date: Sun, 5 Aug 2018 14:14:03 +0100 Subject: [PATCH 4/4] makes it work (thanks affected) --- code/game/gamemodes/changeling/powers/headcrab.dm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/code/game/gamemodes/changeling/powers/headcrab.dm b/code/game/gamemodes/changeling/powers/headcrab.dm index 6c0fd57ace2..96d4a784f45 100644 --- a/code/game/gamemodes/changeling/powers/headcrab.dm +++ b/code/game/gamemodes/changeling/powers/headcrab.dm @@ -7,8 +7,9 @@ req_human = 1 /obj/effect/proc_holder/changeling/headcrab/try_to_sting(mob/user, mob/target) - if(alert("Are you sure you wish to do this? This action cannot be undone.",,"Yes","No")=="Yes") - sting_action() + if(alert("Are you sure you wish to do this? This action cannot be undone.",,"Yes","No")=="No") + return + ..() /obj/effect/proc_holder/changeling/headcrab/sting_action(mob/user) var/datum/mind/M = user.mind