Repath a bunch of things to /mob/abstract childtypes (#4111)

* Repaths eyes, observers, dview, and new_players to /mob/abstract subtypes.

* Adds /mob/abstract, a base type for 'abstract' mobs that aren't meant to be directly affected by the game world.
This commit is contained in:
Lohikar
2018-01-24 04:27:14 -06:00
committed by Werner
parent 03dbee0220
commit 0abc1d2a65
139 changed files with 456 additions and 436 deletions

View File

@@ -765,8 +765,6 @@
SearchVar(base_miss_chance)
SearchVar(organ_rel_size)
SearchVar(intents)
SearchVar(ghost_darkness_images)
SearchVar(ghost_sightless_images)
SearchVar(department_radio_keys)
SearchVar(channel_to_radio_key)
SearchVar(cleanbot_types)

View File

@@ -67,10 +67,10 @@
if(!job) return 0
return job.create_record
/datum/controller/subsystem/jobs/proc/GetPlayerAltTitle(mob/new_player/player, rank)
/datum/controller/subsystem/jobs/proc/GetPlayerAltTitle(mob/abstract/new_player/player, rank)
. = player.client.prefs.GetPlayerAltTitle(GetJob(rank))
/datum/controller/subsystem/jobs/proc/AssignRole(mob/new_player/player, rank, latejoin = FALSE)
/datum/controller/subsystem/jobs/proc/AssignRole(mob/abstract/new_player/player, rank, latejoin = FALSE)
Debug("Running AR, Player: [player], Rank: [rank], LJ: [latejoin]")
if(player && player.mind && rank)
var/datum/job/job = GetJob(rank)
@@ -104,7 +104,7 @@
/datum/controller/subsystem/jobs/proc/FindOccupationCandidates(datum/job/job, level, flag)
Debug("Running FOC, Job: [job], Level: [level], Flag: [flag]")
. = list()
for(var/mob/new_player/player in unassigned)
for(var/mob/abstract/new_player/player in unassigned)
if(jobban_isbanned(player, job.title))
Debug("FOC isbanned failed, Player: [player]")
continue
@@ -115,7 +115,7 @@
Debug("FOC pass, Player: [player], Level:[level]")
. += player
/datum/controller/subsystem/jobs/proc/GiveRandomJob(mob/new_player/player)
/datum/controller/subsystem/jobs/proc/GiveRandomJob(mob/abstract/new_player/player)
Debug("GRJ Giving random job, Player: [player]")
for(var/thing in shuffle(occupations))
var/datum/job/job = thing
@@ -139,7 +139,7 @@
break
/datum/controller/subsystem/jobs/proc/ResetOccupations()
for(var/mob/new_player/player in player_list)
for(var/mob/abstract/new_player/player in player_list)
if((player) && (player.mind))
player.mind.assigned_role = null
player.mind.special_role = null
@@ -182,7 +182,7 @@
// If there's ABSOLUTELY NOBODY ELSE
if(candidates.len == 1) weightedCandidates[V] = 1
var/mob/new_player/candidate = pickweight(weightedCandidates)
var/mob/abstract/new_player/candidate = pickweight(weightedCandidates)
if(AssignRole(candidate, command_position))
return TRUE
return FALSE
@@ -195,7 +195,7 @@
if(!job) continue
var/list/candidates = FindOccupationCandidates(job, level)
if(!candidates.len) continue
var/mob/new_player/candidate = pick(candidates)
var/mob/abstract/new_player/candidate = pick(candidates)
AssignRole(candidate, command_position)
@@ -216,7 +216,7 @@
break
//Get the players who are ready
for(var/mob/new_player/player in player_list)
for(var/mob/abstract/new_player/player in player_list)
if(player.ready && player.mind && !player.mind.assigned_role)
unassigned += player
@@ -234,7 +234,7 @@
var/datum/job/assist = new DEFAULT_JOB_TYPE ()
var/list/assistant_candidates = FindOccupationCandidates(assist, 3)
Debug("AC1, Candidates: [assistant_candidates.len]")
for(var/mob/new_player/player in assistant_candidates)
for(var/mob/abstract/new_player/player in assistant_candidates)
Debug("AC1 pass, Player: [player]")
AssignRole(player, "Assistant")
assistant_candidates -= player
@@ -261,7 +261,7 @@
CheckHeadPositions(level)
// Loop through all unassigned players
for(var/mob/new_player/player in unassigned)
for(var/mob/abstract/new_player/player in unassigned)
// Loop through all jobs
for(var/datum/job/job in shuffledoccupations) // SHUFFLE ME BABY
@@ -284,7 +284,7 @@
// Hand out random jobs to the people who didn't get any in the last check
// Also makes sure that they got their preference correct
for(var/mob/new_player/player in unassigned)
for(var/mob/abstract/new_player/player in unassigned)
if(player.client.prefs.alternate_option == GET_RANDOM_JOB)
GiveRandomJob(player)
@@ -293,13 +293,13 @@
Debug("DO, Running AC2")
// For those who wanted to be assistant if their preferences were filled, here you go.
for(var/mob/new_player/player in unassigned)
for(var/mob/abstract/new_player/player in unassigned)
if(player.client.prefs.alternate_option == BE_ASSISTANT)
Debug("AC2 Assistant located, Player: [player]")
AssignRole(player, "Assistant")
//For ones returning to lobby
for(var/mob/new_player/player in unassigned)
for(var/mob/abstract/new_player/player in unassigned)
if(player.client.prefs.alternate_option == RETURN_TO_LOBBY)
player.ready = 0
player.new_player_panel_proc()
@@ -654,7 +654,7 @@
var/level3 = 0 //low
var/level4 = 0 //never
var/level5 = 0 //banned
for(var/mob/new_player/player in player_list)
for(var/mob/abstract/new_player/player in player_list)
if(!(player.ready && player.mind && !player.mind.assigned_role))
continue //This player is not ready
if(jobban_isbanned(player, job.title))

View File

@@ -13,6 +13,9 @@
var/list/greatworms = list()
var/list/greatasses = list()
var/list/ghost_darkness_images = list() //this is a list of images for things ghosts should still be able to see when they toggle darkness
var/list/ghost_sightless_images = list() //this is a list of images for things ghosts should still be able to see even without ghost sight
/datum/controller/subsystem/mobs/New()
NEW_SS_GLOBAL(SSmob)

View File

@@ -253,7 +253,7 @@
for(var/datum/paiCandidate/c in SSpai.pai_candidates)
if(c.ready)
var/found = 0
for(var/mob/dead/observer/o in player_list)
for(var/mob/abstract/observer/o in player_list)
if(o.key == c.key && o.MayRespawn())
found = 1
if(found)
@@ -365,7 +365,7 @@
/datum/controller/subsystem/pai/proc/requestRecruits(mob/user)
inquirer = user
for(var/mob/dead/observer/O in player_list)
for(var/mob/abstract/observer/O in player_list)
if(!O.MayRespawn())
continue
if(jobban_isbanned(O, "pAI"))

View File

@@ -46,7 +46,7 @@
if (config.kick_inactive)
var/inactivity_threshold = config.kick_inactive MINUTES
for (var/client/C in clients)
if (!istype(C.mob, /mob/dead))
if (!istype(C.mob, /mob/abstract))
if (C.is_afk(inactivity_threshold))
log_access("AFK: [key_name(C)]")
C << span("warning", "You have been inactive for more than [config.kick_inactive] minute\s and have been disconnected.")

View File

@@ -221,8 +221,8 @@ var/datum/controller/subsystem/ticker/SSticker
else
Player << "<font color='blue'><b>You missed the crew transfer after the events on [station_name()] as [Player.real_name].</b></font>"
else
if(istype(Player,/mob/dead/observer))
var/mob/dead/observer/O = Player
if(istype(Player,/mob/abstract/observer))
var/mob/abstract/observer/O = Player
if(!O.started_as_observer)
Player << "<font color='red'><b>You did not survive the events on [station_name()]...</b></font>"
else
@@ -536,7 +536,7 @@ var/datum/controller/subsystem/ticker/SSticker
// Round setup stuff.
/datum/controller/subsystem/ticker/proc/create_characters()
for(var/mob/new_player/player in player_list)
for(var/mob/abstract/new_player/player in player_list)
if(player && player.ready && player.mind)
if(player.mind.assigned_role=="AI")
player.close_spawn_windows()
@@ -567,7 +567,7 @@ var/datum/controller/subsystem/ticker/SSticker
CHECK_TICK
if(captainless)
for(var/mob/M in player_list)
if(!istype(M,/mob/new_player))
if(!istype(M,/mob/abstract/new_player))
M << "Captainship not forced on anyone."
// Registers a callback to run on round-start.

View File

@@ -214,7 +214,7 @@ var/datum/controller/subsystem/vote/SSvote
usr << "<span class='warning'>You must be playing or have been playing to start a vote.</span>"
return 0
else if (isobserver(usr))
var/mob/dead/observer/O = usr
var/mob/abstract/observer/O = usr
if (O.started_as_observer)
usr << "<span class='warning'>You must be playing or have been playing to start a vote.</span>"
return 0
@@ -239,7 +239,7 @@ var/datum/controller/subsystem/vote/SSvote
usr << "<span class='warning'>You must be playing or have been playing to start a vote.</span>"
return 0
else if (isobserver(usr))
var/mob/dead/observer/O = usr
var/mob/abstract/observer/O = usr
if (O.started_as_observer)
usr << "<span class='warning'>You must be playing or have been playing to start a vote.</span>"
return 0