From 8ce058a593e3d3f9f7949696f90a503db4548f67 Mon Sep 17 00:00:00 2001 From: Artur Date: Mon, 9 Nov 2020 14:39:51 +0200 Subject: [PATCH] Fixes stupid mistakes --- code/game/machinery/doors/airlock_types.dm | 2 +- code/modules/antagonists/cult/runes.dm | 4 ---- .../antagonists/wizard/equipment/soulstone.dm | 24 ++++++------------- code/modules/mob/living/carbon/carbon.dm | 2 +- .../mob/living/simple_animal/constructs.dm | 6 ++--- 5 files changed, 12 insertions(+), 26 deletions(-) diff --git a/code/game/machinery/doors/airlock_types.dm b/code/game/machinery/doors/airlock_types.dm index 8f56e07980..8941c540ae 100644 --- a/code/game/machinery/doors/airlock_types.dm +++ b/code/game/machinery/doors/airlock_types.dm @@ -508,7 +508,7 @@ /obj/machinery/door/airlock/cult/allowed(mob/living/L) if(!density) return 1 - if(friendly || iscultist(L) || isshade(L)) || isconstruct(L)) + if(friendly || iscultist(L) || isshade(L) || isconstruct(L)) if(!stealthy) new openingoverlaytype(loc) return 1 diff --git a/code/modules/antagonists/cult/runes.dm b/code/modules/antagonists/cult/runes.dm index a82eef40b8..276729b359 100644 --- a/code/modules/antagonists/cult/runes.dm +++ b/code/modules/antagonists/cult/runes.dm @@ -213,7 +213,6 @@ structure_check() searches for nearby cultist structures required for the invoca visible_message("[src] pulses blood red!") var/oldcolor = color color = RUNE_COLOR_DARKRED - var/mob/living/L = pick(myriad_targets) var/is_clock = is_servant_of_ratvar(L) var/mob/living/F = invokers[1] @@ -324,9 +323,6 @@ structure_check() searches for nearby cultist structures required for the invoca playsound(sacrificial, 'sound/magic/disintegrate.ogg', 100, TRUE) var/mob/living/carbon/human/H = sacrificial H.spew_organ(2, 6) - else - playsound(sacrificial, 'sound/magic/disintegrate.ogg', 100, TRUE) - sacrifical.gib() return TRUE /obj/effect/rune/empower diff --git a/code/modules/antagonists/wizard/equipment/soulstone.dm b/code/modules/antagonists/wizard/equipment/soulstone.dm index 1a0f207ebc..abef18ade0 100644 --- a/code/modules/antagonists/wizard/equipment/soulstone.dm +++ b/code/modules/antagonists/wizard/equipment/soulstone.dm @@ -185,12 +185,7 @@ var/obj/structure/constructshell/T = target var/mob/living/simple_animal/hostile/construct/shade/A = locate() in src if(A) - var/list/constructs = list( - "Juggernaut" = image(icon = 'icons/mob/cult.dmi', icon_state = "juggernaut"), - "Wraith" = image(icon = 'icons/mob/cult.dmi', icon_state = "wraith"), - "Artificer" = image(icon = 'icons/mob/cult.dmi', icon_state = "artificer") - ) - var/construct_class = show_radial_menu(user, src, constructs, custom_check = CALLBACK(src, .proc/check_menu, user), require_near = TRUE, tooltips = TRUE) + var/construct_class = alert(user, "Please choose which type of construct you wish to create.",,"Juggernaut","Wraith","Artificer") if(!T || !T.loc) return switch(construct_class) @@ -204,7 +199,7 @@ if(iscultist(user) || iswizard(user)) makeNewConstruct(/mob/living/simple_animal/hostile/construct/builder, A, user, 0, T.loc) - else + else return for(var/datum/mind/B in SSticker.mode.cult) if(B == A.mind) @@ -220,10 +215,6 @@ if(QDELETED(target)) return var/mob/living/simple_animal/hostile/construct/newstruct = new ctype((loc_override) ? (loc_override) : (get_turf(target))) - var/makeicon = newstruct.icon_state - var/holyness = newstruct.holy - flick("make_[makeicon][holyness]", newstruct) - playsound(newstruct, 'sound/effects/constructform.ogg', 50) if(stoner) newstruct.faction |= "[REF(stoner)]" newstruct.master = stoner @@ -247,9 +238,7 @@ newstruct.cancel_camera() -/obj/item/soulstone/proc/init_shade(mob/living/carbon/human/T, mob/user) - if(!shade_controller) - shade_controller = T +/obj/item/soulstone/proc/init_shade(mob/living/carbon/human/T, mob/user, vic = 0) if(HAS_TRAIT_FROM(T, TRAIT_SACRIFICED, "sacrificed")) if(user) to_chat(user, "This body has already been harvested!") @@ -259,7 +248,7 @@ var/mob/living/simple_animal/hostile/construct/shade/S = new /mob/living/simple_animal/hostile/construct/shade(src) S.name = "Shade of [T.real_name]" S.real_name = "Shade of [T.real_name]" - S.key = shade_controller.key + T.transfer_ckey(S) S.original_mind = T.mind.current S.copy_languages(T, LANGUAGE_MIND)//Copies the old mobs languages into the new mob holder. S.update_atom_languages() @@ -294,11 +283,12 @@ if(!T) return FALSE if(!chosen_ghost) - to_chat(U, "There were no spirits willing to become a shade.") + to_chat(user, "There were no spirits willing to become a shade.") return FALSE if(contents.len) //If they used the soulstone on someone else in the meantime return FALSE + T.ckey = chosen_ghost.ckey for(var/obj/item/W in T) T.dropItemToGround(W) - init_shade(T, U) + init_shade(T, user) return TRUE diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index 26486f255a..ebe5372e63 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -611,7 +611,7 @@ update_mobility() UpdateStaminaBuffer() update_health_hud() - + /mob/living/carbon/update_sight() if(!client) return diff --git a/code/modules/mob/living/simple_animal/constructs.dm b/code/modules/mob/living/simple_animal/constructs.dm index 68eb9543c5..af8382a82b 100644 --- a/code/modules/mob/living/simple_animal/constructs.dm +++ b/code/modules/mob/living/simple_animal/constructs.dm @@ -44,7 +44,7 @@ var/can_repair_constructs = FALSE var/can_repair_self = FALSE var/runetype - var/original_body + var/original_mind /mob/living/simple_animal/hostile/construct/Initialize() . = ..() @@ -68,8 +68,8 @@ CR.button.moved = "6:[pos],4:-2" /mob/living/simple_animal/hostile/construct/death() - if(original_body) - transfer_ckey(original_body) + if(original_mind) + transfer_ckey(original_mind) ..() /mob/living/simple_animal/hostile/construct/Login()