diff --git a/code/datums/brain_damage/creepy_trauma.dm b/code/datums/brain_damage/creepy_trauma.dm index 61093fb9dbd..cc05063a433 100644 --- a/code/datums/brain_damage/creepy_trauma.dm +++ b/code/datums/brain_damage/creepy_trauma.dm @@ -88,7 +88,7 @@ /datum/brain_trauma/special/obsessed/proc/on_failed_social_interaction() if(QDELETED(owner) || owner.stat >= UNCONSCIOUS) return - switch(rand(1, 100)) + switch(rand(1, 100)) if(1 to 40) INVOKE_ASYNC(owner, /mob.proc/emote, pick("blink", "blink_r")) owner.blur_eyes(10) @@ -126,6 +126,10 @@ continue if(!(player.mind.assigned_role.job_flags & JOB_CREW_MEMBER)) continue + // SKYRAT EDIT ADDITION START - Players in the interlink can't be obsession targets + if(SSticker.IsRoundInProgress() && istype(get_area(player), /area/centcom/interlink)) + continue + // SKYRAT EDIT END viable_minds += player.mind for(var/datum/mind/possible_target as anything in viable_minds) if(possible_target != owner && ishuman(possible_target.current)) diff --git a/code/game/gamemodes/objective.dm b/code/game/gamemodes/objective.dm index 776265839a2..c2967b8f9c0 100644 --- a/code/game/gamemodes/objective.dm +++ b/code/game/gamemodes/objective.dm @@ -136,6 +136,10 @@ GLOBAL_LIST_EMPTY(objectives) //SKYRAT EDIT ADDITION continue if(possible_target in blacklist) continue + // SKYRAT EDIT ADDITION START - Players in the interlink can't be obsession targets + if(SSticker.IsRoundInProgress() && istype(target_area, /area/centcom/interlink)) + continue + // SKYRAT EDIT END possible_targets += possible_target if(try_target_late_joiners) var/list/all_possible_targets = possible_targets.Copy() diff --git a/code/modules/antagonists/cult/cult.dm b/code/modules/antagonists/cult/cult.dm index e2d2fe71611..15e9cf6ba4e 100644 --- a/code/modules/antagonists/cult/cult.dm +++ b/code/modules/antagonists/cult/cult.dm @@ -356,11 +356,19 @@ var/datum/team/cult/cult = team var/list/target_candidates = list() for(var/mob/living/carbon/human/player in GLOB.player_list) + // SKYRAT EDIT ADDITION START - Players in the interlink can't be obsession targets + if(SSticker.IsRoundInProgress() && istype(get_area(player), /area/centcom/interlink)) + continue + // SKYRAT EDIT END if(player.mind && !player.mind.has_antag_datum(/datum/antagonist/cult) && !is_convertable_to_cult(player) && player.stat != DEAD) target_candidates += player.mind if(target_candidates.len == 0) message_admins("Cult Sacrifice: Could not find unconvertible target, checking for convertible target.") for(var/mob/living/carbon/human/player in GLOB.player_list) + // SKYRAT EDIT ADDITION START - Players in the interlink can't be obsession targets + if(SSticker.IsRoundInProgress() && istype(get_area(player), /area/centcom/interlink)) + continue + // SKYRAT EDIT END if(player.mind && !player.mind.has_antag_datum(/datum/antagonist/cult) && player.stat != DEAD) target_candidates += player.mind list_clear_nulls(target_candidates) diff --git a/modular_skyrat/modules/modular_items/lewd_items/code/lewd_quirks.dm b/modular_skyrat/modules/modular_items/lewd_items/code/lewd_quirks.dm index 8a64906f8c3..4c4e0b421ba 100644 --- a/modular_skyrat/modules/modular_items/lewd_items/code/lewd_quirks.dm +++ b/modular_skyrat/modules/modular_items/lewd_items/code/lewd_quirks.dm @@ -125,10 +125,12 @@ But i keeped it as unobtainable breain trauma, so admins can add it through VV * var/list/special_pool = list() //The special list, for quirk-based var/chosen_victim //The obsession target - for(var/mob/Player in GLOB.player_list)//prevents crewmembers falling in love with nuke ops they never met, and other annoying hijinks - if(Player.mind && Player.stat != DEAD && !isnewplayer(Player) && !isbrain(Player) && Player.client && Player != owner && SSjob.GetJob(Player.mind.assigned_role)) - if(Player.client.prefs?.read_preference(/datum/preference/toggle/erp/noncon)) - viable_minds += Player.mind + for(var/mob/player in GLOB.player_list) //prevents crewmembers falling in love with nuke ops they never met, and other annoying hijinks + if(SSticker.IsRoundInProgress() && istype(get_area(player), /area/centcom/interlink)) + continue + if(player.mind && player.stat != DEAD && !isnewplayer(player) && !isbrain(player) && player.client && player != owner && SSjob.GetJob(player.mind.assigned_role)) + if(player?.client?.prefs?.read_preference(/datum/preference/toggle/erp/noncon)) + viable_minds += player.mind for(var/datum/mind/possible_target in viable_minds) if(possible_target != owner && ishuman(possible_target.current)) possible_targets += possible_target.current