/datum/game_mode var/list/datum/mind/sintouched = list() var/list/datum/mind/devils = list() var/devil_ascended = 0 // Number of arch devils on station /datum/game_mode/proc/auto_declare_completion_sintouched() var/text = "" if(sintouched.len) text += "
The sintouched were:" var/list/sintouchedUnique = uniqueList(sintouched) for(var/S in sintouchedUnique) var/datum/mind/sintouched_mind = S text += printplayer(sintouched_mind) text += printobjectives(sintouched_mind) text += "
" text += "
" to_chat(world, text) /datum/game_mode/proc/auto_declare_completion_devils() /var/text = "" if(devils.len) text += "
The devils were:" for(var/D in devils) var/datum/mind/devil = D text += printplayer(devil) text += printdevilinfo(devil) text += printobjectives(devil) text += "
" text += "
" to_chat(world, text) /datum/game_mode/proc/finalize_devil(datum/mind/devil_mind, ascendable = FALSE) set waitfor = FALSE var/trueName= randomDevilName() devil_mind.devilinfo = devilInfo(trueName, 1) devil_mind.devilinfo.ascendable = ascendable devil_mind.store_memory("Your devilic true name is [devil_mind.devilinfo.truename]
[GLOB.lawlorify[LAW][devil_mind.devilinfo.ban]]
You may not use violence to coerce someone into selling their soul.
You may not directly and knowingly physically harm a devil, other than yourself.
[GLOB.lawlorify[LAW][devil_mind.devilinfo.bane]]
[GLOB.lawlorify[LAW][devil_mind.devilinfo.obligation]]
[GLOB.lawlorify[LAW][devil_mind.devilinfo.banish]]
") devil_mind.devilinfo.owner = devil_mind devil_mind.devilinfo.give_base_spells(1) if(issilicon(devil_mind.current)) add_law_sixsixsix(devil_mind.current) sleep(10) devil_mind.devilinfo.update_hud() if(devil_mind.assigned_role == "Clown" && ishuman(devil_mind.current)) var/mob/living/carbon/human/S = devil_mind.current to_chat(S, "Your infernal nature has allowed you to overcome your clownishness.") S.dna.remove_mutation(CLOWNMUT) /datum/game_mode/proc/add_devil_objectives(datum/mind/devil_mind, quantity) var/list/validtypes = list(/datum/objective/devil/soulquantity, /datum/objective/devil/soulquality, /datum/objective/devil/sintouch, /datum/objective/devil/buy_target) for(var/i = 1 to quantity) var/type = pick(validtypes) var/datum/objective/devil/objective = new type(null) objective.owner = devil_mind devil_mind.objectives += objective if(!istype(objective, /datum/objective/devil/buy_target)) validtypes -= type //prevent duplicate objectives, EXCEPT for buy_target. else objective.find_target() /datum/mind/proc/announceDevilLaws() if(!devilinfo) return to_chat(current, "You remember your link to the infernal. You are [src.devilinfo.truename], an agent of hell, a devil. And you were sent to the plane of creation for a reason. A greater purpose. Convince the crew to sin, and embroiden Hell's grasp.") to_chat(current, "However, your infernal form is not without weaknesses.") to_chat(current, "You may not use violence to coerce someone into selling their soul.") to_chat(current, "You may not directly and knowingly physically harm a devil, other than yourself.") to_chat(current, GLOB.lawlorify[LAW][src.devilinfo.bane]) to_chat(current, GLOB.lawlorify[LAW][src.devilinfo.ban]) to_chat(current, GLOB.lawlorify[LAW][src.devilinfo.obligation]) to_chat(current, GLOB.lawlorify[LAW][src.devilinfo.banish]) to_chat(current, "

Remember, the crew can research your weaknesses if they find out your devil name.
") /datum/game_mode/proc/printdevilinfo(datum/mind/ply) if(!ply.devilinfo) return "Target is not a devil." var/text = "
The devil's true name is: [ply.devilinfo.truename]
" text += "The devil's bans were:
" text += " [GLOB.lawlorify[LORE][ply.devilinfo.ban]]
" text += " [GLOB.lawlorify[LORE][ply.devilinfo.bane]]
" text += " [GLOB.lawlorify[LORE][ply.devilinfo.obligation]]
" text += " [GLOB.lawlorify[LORE][ply.devilinfo.banish]]

" return text /datum/game_mode/proc/update_devil_icons_added(datum/mind/devil_mind) var/datum/atom_hud/antag/hud = GLOB.huds[ANTAG_HUD_DEVIL] hud.join_hud(devil_mind.current) set_antag_hud(devil_mind.current, "devil") /datum/game_mode/proc/update_devil_icons_removed(datum/mind/devil_mind) var/datum/atom_hud/antag/hud = GLOB.huds[ANTAG_HUD_DEVIL] hud.leave_hud(devil_mind.current) set_antag_hud(devil_mind.current, null) /datum/game_mode/proc/update_sintouched_icons_added(datum/mind/sintouched_mind) var/datum/atom_hud/antag/hud = GLOB.huds[ANTAG_HUD_SINTOUCHED] hud.join_hud(sintouched_mind.current) set_antag_hud(sintouched_mind.current, "sintouched") /datum/game_mode/proc/update_sintouched_icons_removed(datum/mind/sintouched_mind) var/datum/atom_hud/antag/hud = GLOB.huds[ANTAG_HUD_SINTOUCHED] hud.leave_hud(sintouched_mind.current) set_antag_hud(sintouched_mind.current, null) /datum/game_mode/proc/update_soulless_icons_added(datum/mind/soulless_mind) var/datum/atom_hud/antag/hud = GLOB.huds[ANTAG_HUD_SOULLESS] hud.join_hud(soulless_mind.current) set_antag_hud(soulless_mind.current, "soulless") /datum/game_mode/proc/update_soulless_icons_removed(datum/mind/soulless_mind) var/datum/atom_hud/antag/hud = GLOB.huds[ANTAG_HUD_SOULLESS] hud.leave_hud(soulless_mind.current) set_antag_hud(soulless_mind.current, null)