diff --git a/code/game/objects/structures/ghost_role_spawners.dm b/code/game/objects/structures/ghost_role_spawners.dm index 69b94ab529..b675a0560d 100644 --- a/code/game/objects/structures/ghost_role_spawners.dm +++ b/code/game/objects/structures/ghost_role_spawners.dm @@ -14,6 +14,7 @@ flavour_text = "You are a sentient ecosystem - an example of the mastery over life that your creators possessed. Your masters, benevolent as they were, created uncounted \ seed vaults and spread them across the universe to every planet they could chart. You are in one such seed vault. Your goal is to cultivate and spread life wherever it will go while waiting \ for contact from your creators. Estimated time of last contact: Deployment, 5x10^3 millennia ago." + assignedrole = "Lifebringer" /obj/effect/mob_spawn/human/seed_vault/special(mob/living/new_spawn) var/plant_name = pick("Tomato", "Potato", "Broccoli", "Carrot", "Ambrosia", "Pumpkin", "Ivy", "Kudzu", "Banana", "Moss", "Flower", "Bloom", "Root", "Bark", "Glowshroom", "Petal", "Leaf", \ @@ -44,6 +45,7 @@ density = 0 flavour_text = "You are an ash walker. Your tribe worships the Necropolis. The wastes are sacred ground, its monsters a blessed bounty. \ You have seen lights in the distance... they foreshadow the arrival of outsiders that seek to tear apart the Necropolis and its domain. Fresh sacrifices for your nest." + assignedrole = "Ash Walker" /obj/effect/mob_spawn/human/ash_walker/special(mob/living/new_spawn) new_spawn.real_name = random_unique_lizard_name(gender) @@ -82,6 +84,7 @@ mob_species = /datum/species/shadow flavour_text = "You are cursed. Years ago, you sacrificed the lives of your trusted friends and the humanity of yourself to reach the Wish Granter. Though you \ did so, it has come at a cost: your very body rejects the light, dooming you to wander endlessly in this horrible wasteland." + assignedrole = "Exile" /obj/effect/mob_spawn/human/exile/Destroy() new/obj/structure/fluff/empty_sleeper(get_turf(src)) @@ -152,6 +155,10 @@ H.real_name = H.dna.species.random_name() else H.real_name = name + if(has_owner) + new_spawn.mind.assigned_role = "Servant Golem" + else + new_spawn.mind.assigned_role = "Free Golem" /obj/effect/mob_spawn/human/golem/attack_hand(mob/user) if(isgolem(user) && can_transfer) @@ -193,6 +200,7 @@ flavour_text = "You've been stranded in this godless prison of a planet for longer than you can remember. Each day you barely scrape by, and between the terrible \ conditions of your makeshift shelter, the hostile creatures, and the ash drakes swooping down from the cloudless skies, all you can wish for is the feel of soft grass between your toes and \ the fresh air of Earth. These thoughts are dispelled by yet another recollection of how you got here... " + assignedrole = "Hermit" /obj/effect/mob_spawn/human/hermit/Initialize(mapload) . = ..() @@ -239,6 +247,7 @@ flavour_text = "What...? Where are you? Where are the others? This is still the animal hospital - you should know, you've been an intern here for weeks - but \ everyone's gone. One of the cats scratched you just a few minutes ago. That's why you were in the pod - to heal the scratch. The scabs are still fresh; you see them right now. So where is \ everyone? Where did they go? What happened to the hospital? And is that smoke you smell? You need to find someone else. Maybe they can tell you what happened." + assignedrole = "Translocated Vet" //Prisoner containment sleeper: Spawns in crashed prison ships in lavaland. Ghosts become escaped prisoners and are advised to find a way out of the mess they've gotten themselves into. /obj/effect/mob_spawn/human/prisoner_transport @@ -252,6 +261,7 @@ death = FALSE flavour_text = "Good. It seems as though your ship crashed. You're a prisoner, sentenced to hard work in one of Nanotrasen's labor camps, but it seems as \ though fate has other plans for you. You remember that you were convicted of " + assignedrole = "Escaped Prisoner" /obj/effect/mob_spawn/human/prisoner_transport/special(mob/living/L) L.real_name = "NTP #LL-0[rand(111,999)]" //Nanotrasen Prisoner #Lavaland-(numbers) @@ -290,6 +300,7 @@ outfit = /datum/outfit/hotelstaff flavour_text = "You are a staff member of a top-of-the-line space hotel! Cater to guests and DON'T leave the hotel, lest the manager fire you for\ dereliction of duty!" + assignedrole = "Hotel Staff" /datum/outfit/hotelstaff name = "Hotel Staff" @@ -334,6 +345,7 @@ 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) . = ..() @@ -380,6 +392,7 @@ icon_state = "sleeper_s" id_access_list = list(GLOB.access_syndicate) outfit = /datum/outfit/syndicate_empty + assignedrole = "Space Syndicate" //I know this is really dumb, but Syndicate operative is nuke ops /datum/outfit/syndicate_empty name = "Syndicate Operative Empty" @@ -457,6 +470,7 @@ id = /obj/item/weapon/card/id/away/old/sec r_pocket = /obj/item/weapon/restraints/handcuffs l_pocket = /obj/item/device/assembly/flash/handheld + assignedrole = "Ancient Crew" /obj/effect/mob_spawn/human/oldsec/Destroy() new/obj/structure/showcase/oldpod/used(get_turf(src)) @@ -480,6 +494,7 @@ id = /obj/item/weapon/card/id/away/old/eng gloves = /obj/item/clothing/gloves/color/fyellow/old l_pocket = /obj/item/weapon/tank/internals/emergency_oxygen + assignedrole = "Ancient Crew" /obj/effect/mob_spawn/human/oldeng/Destroy() new/obj/structure/showcase/oldpod/used(get_turf(src)) @@ -502,6 +517,7 @@ shoes = /obj/item/clothing/shoes/laceup id = /obj/item/weapon/card/id/away/old/sci l_pocket = /obj/item/stack/medical/bruise_pack + assignedrole = "Ancient Crew" /obj/effect/mob_spawn/human/oldsci/Destroy() new/obj/structure/showcase/oldpod/used(get_turf(src)) diff --git a/code/modules/awaymissions/corpse.dm b/code/modules/awaymissions/corpse.dm index 0c6470a870..f2cb1c7b50 100644 --- a/code/modules/awaymissions/corpse.dm +++ b/code/modules/awaymissions/corpse.dm @@ -20,6 +20,7 @@ var/oxy_damage = 0 var/burn_damage = 0 var/mob_color //Change the mob's color + var/assignedrole density = 1 anchored = 1 var/banType = "lavaland" @@ -82,6 +83,8 @@ if(objectives) for(var/objective in objectives) MM.objectives += new/datum/objective(objective) + if(assignedrole) + M.mind.assigned_role = assignedrole special(M, name) MM.name = M.real_name if(uses > 0) @@ -100,6 +103,7 @@ var/id_job = null //Such as "Clown" or "Chef." This just determines what the ID reads as, not their access var/id_access = null //This is for access. See access.dm for which jobs give what access. Use "Captain" if you want it to be all access. var/id_access_list = null //Allows you to manually add access to an ID card. + assignedrole = "Ghost Role" var/husk = null //these vars are for lazy mappers to override parts of the outfit @@ -251,6 +255,7 @@ icon = 'icons/obj/Cryogenic2.dmi' icon_state = "sleeper" flavour_text = "You are a space doctor!" + assignedrole = "Space Doctor" /obj/effect/mob_spawn/human/doctor/alive/equip(mob/living/carbon/human/H) ..() @@ -305,6 +310,7 @@ icon = 'icons/obj/Cryogenic2.dmi' icon_state = "sleeper" flavour_text = "You are a space bartender!" + assignedrole = "Space Bartender" /datum/outfit/spacebartender name = "Space Bartender" @@ -328,6 +334,7 @@ icon = 'icons/obj/Cryogenic2.dmi' icon_state = "sleeper" flavour_text = "You are a beach bum!" + assignedrole = "Beach Bum" /datum/outfit/beachbum name = "Beach Bum" @@ -431,11 +438,13 @@ icon = 'icons/effects/blood.dmi' icon_state = "remains" flavour_text = "By unknown powers, your skeletal remains have been reanimated! Walk this mortal plain and terrorize all living adventurers who dare cross your path." + assignedrole = "Skeleton" /obj/effect/mob_spawn/human/zombie name = "rotting corpse" mob_name = "zombie" mob_species = /datum/species/zombie + assignedrole = "Zombie" /obj/effect/mob_spawn/human/zombie/alive death = FALSE @@ -465,6 +474,7 @@ permanent = TRUE uses = -1 outfit = /datum/outfit/spacebartender + assignedrole = "Space Bar Patron" /obj/effect/mob_spawn/human/alive/space_bar_patron/attack_hand(mob/user) var/despawn = alert("Return to cryosleep? (Warning, Your mob will be deleted!)",,"Yes","No") diff --git a/code/modules/research/xenobiology/xenobiology.dm b/code/modules/research/xenobiology/xenobiology.dm index 57ad808033..ae08736efa 100644 --- a/code/modules/research/xenobiology/xenobiology.dm +++ b/code/modules/research/xenobiology/xenobiology.dm @@ -534,6 +534,7 @@ to_chat(G, "You are an adamantine golem. You move slowly, but are highly resistant to heat and cold as well as blunt trauma. You are unable to wear clothes, but can still use most tools. \ Serve [user], and assist [user.p_them()] in completing their goals at any cost.") G.mind.store_memory("Serve [user.real_name], your creator.") + G.mind.assigned_role = "Servant Golem" G.mind.enslave_mind_to_creator(user) diff --git a/code/modules/ruins/lavaland_ruin_code.dm b/code/modules/ruins/lavaland_ruin_code.dm index 805d46b9c7..2fbc61c239 100644 --- a/code/modules/ruins/lavaland_ruin_code.dm +++ b/code/modules/ruins/lavaland_ruin_code.dm @@ -136,6 +136,7 @@ flavour_text = "You are a syndicate agent, employed in a top secret research facility developing biological weapons. Unfortunately, your hated enemy, Nanotrasen, has begun mining in this sector. Continue your research as best you can, and try to keep a low profile. DON'T abandon the base without good cause. The base is rigged with explosives should the worst happen, do not let the base fall into enemy hands!" id_access_list = list(GLOB.access_syndicate) outfit = /datum/outfit/lavaland_syndicate + assignedrole = "Lavaland Syndicate" /datum/outfit/lavaland_syndicate name = "Lavaland Syndicate Agent"