/obj/effect/mob_spawn/human/demonic_friend name = "Essence of friendship" desc = "Oh boy! Oh boy! A friend!" mob_name = "Demonic friend" icon = 'icons/obj/cardboard_cutout.dmi' icon_state = "cutout_basic" outfit = /datum/outfit/demonic_friend death = FALSE roundstart = FALSE random = TRUE id_job = "SuperFriend" id_access = "assistant" var/obj/effect/proc_holder/spell/targeted/summon_friend/spell var/datum/mind/owner assignedrole = "SuperFriend" /obj/effect/mob_spawn/human/demonic_friend/Initialize(mapload, datum/mind/owner_mind, obj/effect/proc_holder/spell/targeted/summon_friend/summoning_spell) . = ..() owner = owner_mind flavour_text = "You have been given a reprieve from your eternity of torment, to be [owner.name]'s friend for [owner.p_their()] short mortal coil. Be aware that if you do not live up to [owner.name]'s expectations, [owner.p_they()] can send you back to hell with a single thought. [owner.name]'s death will also return you to hell." var/area/A = get_area(src) if(!mapload && A) notify_ghosts("\A friendship shell has been completed in \the [A.name].", source = src, action=NOTIFY_ATTACK, flashwindow = TRUE) objectives = "Be [owner.name]'s friend, and keep [owner.name] alive, so you don't get sent back to hell." spell = summoning_spell /obj/effect/mob_spawn/human/demonic_friend/special(mob/living/L) if(!QDELETED(owner.current) && owner.current.stat != DEAD) L.real_name = "[owner.name]'s best friend" L.name = L.real_name soullink(/datum/soullink/oneway/devilfriend, owner.current, L) spell.friend = L spell.charge_counter = spell.charge_max L.mind.hasSoul = FALSE var/mob/living/carbon/human/H = L var/obj/item/worn = H.wear_id var/obj/item/card/id/id = worn.GetID() id.registered_name = L.real_name id.update_label() to_chat(owner.current, "Your friend has arrived!") else to_chat(L, "Your owner is already dead! You will soon perish.") addtimer(CALLBACK(L, /mob.proc/dust), 150) //Give em a few seconds as a mercy. /datum/outfit/demonic_friend name = "Demonic Friend" uniform = /obj/item/clothing/under/assistantformal shoes = /obj/item/clothing/shoes/laceup r_pocket = /obj/item/radio/off back = /obj/item/storage/backpack implants = list(/obj/item/implant/mindshield) //No revolutionaries, he's MY friend. id = /obj/item/card/id