From 012eaec1b98b29f4e2f237ccbebcc95be2d08e43 Mon Sep 17 00:00:00 2001 From: Cyberboss Date: Mon, 13 Mar 2017 15:21:12 -0400 Subject: [PATCH] Mob Initialization (#24840) * Mob Initialization * new_player Repath * Fix the dme * Fix the shit * Fix a loc * Fix another loc * But, in my haste, I forgot the cola! * Another loc * ANOTHER LOC * Further docs * Where'd that s come from * Fix shit * Better --- code/__DEFINES/is_helpers.dm | 2 +- code/__HELPERS/unsorted.dm | 2 +- code/_globalvars/lists/mobs.dm | 6 ++-- code/_onclick/other_mobs.dm | 2 +- code/controllers/subsystem/jobs.dm | 35 +++++++++---------- code/controllers/subsystem/ticker.dm | 14 ++++---- code/datums/datacore.dm | 2 +- code/datums/hud.dm | 4 +-- code/datums/mind.dm | 2 +- code/game/atoms.dm | 3 ++ code/game/gamemodes/blob/blobs/blob_mobs.dm | 4 +-- code/game/gamemodes/blob/overmind.dm | 2 +- .../clock_cult/clock_mobs/anima_fragment.dm | 2 +- .../clock_mobs/clockwork_marauder.dm | 2 +- code/game/gamemodes/devil/imp/imp.dm | 2 +- .../gamemodes/devil/true_devil/_true_devil.dm | 2 +- code/game/gamemodes/game_mode.dm | 14 ++++---- code/game/gamemodes/miniantags/borer/borer.dm | 8 ++--- .../gamemodes/miniantags/bot_swarm/swarmer.dm | 4 +-- .../gamemodes/miniantags/revenant/revenant.dm | 2 +- .../miniantags/slaughter/slaughter.dm | 2 +- code/game/gamemodes/objective.dm | 2 +- code/game/gamemodes/revolution/revolution.dm | 4 +-- code/game/objects/items/weapons/cards_ids.dm | 2 +- code/game/objects/structures/mirror.dm | 2 +- code/modules/VR/vr_human.dm | 2 +- code/modules/admin/topic.dm | 4 +-- code/modules/events/wizard/magicarp.dm | 2 +- code/modules/holiday/halloween.dm | 4 +-- code/modules/holiday/holidays.dm | 2 +- code/modules/mining/aux_base_camera.dm | 4 +-- code/modules/mining/minebot.dm | 2 +- code/modules/mob/dead/dead.dm | 12 +++++++ code/modules/mob/dead/death.dm | 5 --- .../mob/{ => dead}/new_player/login.dm | 2 +- .../mob/{ => dead}/new_player/logout.dm | 2 +- .../mob/{ => dead}/new_player/new_player.dm | 31 ++++++++-------- .../modules/mob/{ => dead}/new_player/poll.dm | 20 +++++------ .../new_player/preferences_setup.dm | 0 .../new_player/sprite_accessories.dm | 0 code/modules/mob/dead/observer/observer.dm | 3 +- code/modules/mob/interactive.dm | 10 +++--- code/modules/mob/living/brain/brain.dm | 4 +-- code/modules/mob/living/carbon/alien/alien.dm | 2 +- .../carbon/alien/humanoid/caste/drone.dm | 2 +- .../carbon/alien/humanoid/caste/praetorian.dm | 2 +- .../carbon/alien/humanoid/caste/sentinel.dm | 2 +- .../living/carbon/alien/humanoid/humanoid.dm | 2 +- .../mob/living/carbon/alien/humanoid/queen.dm | 2 +- .../mob/living/carbon/alien/larva/larva.dm | 2 +- code/modules/mob/living/carbon/carbon.dm | 2 +- code/modules/mob/living/carbon/human/human.dm | 2 +- .../mob/living/carbon/monkey/monkey.dm | 2 +- .../mob/living/carbon/monkey/punpun.dm | 2 +- code/modules/mob/living/living.dm | 2 +- code/modules/mob/living/silicon/ai/ai.dm | 4 +-- code/modules/mob/living/silicon/pai/pai.dm | 3 +- .../modules/mob/living/silicon/robot/robot.dm | 4 +-- code/modules/mob/living/silicon/silicon.dm | 2 +- .../mob/living/simple_animal/bot/bot.dm | 4 +-- .../mob/living/simple_animal/bot/cleanbot.dm | 2 +- .../mob/living/simple_animal/bot/ed209bot.dm | 2 +- .../mob/living/simple_animal/bot/floorbot.dm | 2 +- .../mob/living/simple_animal/bot/medbot.dm | 2 +- .../mob/living/simple_animal/bot/mulebot.dm | 2 +- .../mob/living/simple_animal/bot/secbot.dm | 2 +- .../mob/living/simple_animal/constructs.dm | 2 +- .../simple_animal/friendly/butterfly.dm | 2 +- .../mob/living/simple_animal/friendly/cat.dm | 4 +-- .../mob/living/simple_animal/friendly/dog.dm | 4 +-- .../simple_animal/friendly/drone/_drone.dm | 2 +- .../friendly/drone/extra_drone_types.dm | 10 +++--- .../simple_animal/friendly/farm_animals.dm | 10 +++--- .../living/simple_animal/friendly/mouse.dm | 2 +- .../mob/living/simple_animal/friendly/pet.dm | 2 +- .../living/simple_animal/guardian/guardian.dm | 4 +-- .../simple_animal/guardian/types/assassin.dm | 2 +- .../simple_animal/guardian/types/support.dm | 2 +- .../mob/living/simple_animal/hostile/bees.dm | 8 ++--- .../simple_animal/hostile/bosses/boss.dm | 4 +-- .../mob/living/simple_animal/hostile/flan.dm | 2 +- .../living/simple_animal/hostile/hivebot.dm | 2 +- .../living/simple_animal/hostile/hostile.dm | 2 +- .../simple_animal/hostile/mecha_pilot.dm | 4 +-- .../hostile/megafauna/bubblegum.dm | 2 +- .../hostile/megafauna/colossus.dm | 6 ++-- .../simple_animal/hostile/megafauna/dragon.dm | 6 ++-- .../hostile/megafauna/hierophant.dm | 2 +- .../simple_animal/hostile/megafauna/legion.dm | 2 +- .../hostile/megafauna/swarmer.dm | 6 ++-- .../mob/living/simple_animal/hostile/mimic.dm | 4 +-- .../simple_animal/hostile/mining_mobs.dm | 14 ++++---- .../living/simple_animal/hostile/mushroom.dm | 2 +- .../simple_animal/hostile/retaliate/frog.dm | 2 +- .../simple_animal/hostile/retaliate/ghost.dm | 2 +- .../living/simple_animal/hostile/statue.dm | 2 +- .../living/simple_animal/hostile/stickman.dm | 2 +- .../living/simple_animal/hostile/wizard.dm | 2 +- .../mob/living/simple_animal/parrot.dm | 6 ++-- .../mob/living/simple_animal/simple_animal.dm | 2 +- .../mob/living/simple_animal/slime/slime.dm | 6 ++-- code/modules/mob/mob.dm | 4 +-- code/modules/mob/mob_transformation_simple.dm | 2 +- .../research/xenobiology/xenobio_camera.dm | 2 +- code/modules/shuttle/special.dm | 4 +-- code/world.dm | 2 +- tgstation.dme | 14 ++++---- 107 files changed, 233 insertions(+), 219 deletions(-) create mode 100644 code/modules/mob/dead/dead.dm delete mode 100644 code/modules/mob/dead/death.dm rename code/modules/mob/{ => dead}/new_player/login.dm (93%) rename code/modules/mob/{ => dead}/new_player/logout.dm (85%) rename code/modules/mob/{ => dead}/new_player/new_player.dm (93%) rename code/modules/mob/{ => dead}/new_player/poll.dm (95%) rename code/modules/mob/{ => dead}/new_player/preferences_setup.dm (100%) rename code/modules/mob/{ => dead}/new_player/sprite_accessories.dm (100%) diff --git a/code/__DEFINES/is_helpers.dm b/code/__DEFINES/is_helpers.dm index d8d80a8b1c5..e9a3b21bbbc 100644 --- a/code/__DEFINES/is_helpers.dm +++ b/code/__DEFINES/is_helpers.dm @@ -107,7 +107,7 @@ //Misc mobs #define isobserver(A) (istype(A, /mob/dead/observer)) -#define isnewplayer(A) (istype(A, /mob/new_player)) +#define isnewplayer(A) (istype(A, /mob/dead/new_player)) #define isovermind(A) (istype(A, /mob/camera/blob)) diff --git a/code/__HELPERS/unsorted.dm b/code/__HELPERS/unsorted.dm index 71456830e34..f46c3f05c5c 100644 --- a/code/__HELPERS/unsorted.dm +++ b/code/__HELPERS/unsorted.dm @@ -331,7 +331,7 @@ Turf and target are seperate in case you want to teleport some distance from a t moblist.Add(M) for(var/mob/dead/observer/M in sortmob) moblist.Add(M) - for(var/mob/new_player/M in sortmob) + for(var/mob/dead/new_player/M in sortmob) moblist.Add(M) for(var/mob/living/carbon/monkey/M in sortmob) moblist.Add(M) diff --git a/code/_globalvars/lists/mobs.dm b/code/_globalvars/lists/mobs.dm index 7c3da2f99c3..a2e0e1e0b5f 100644 --- a/code/_globalvars/lists/mobs.dm +++ b/code/_globalvars/lists/mobs.dm @@ -7,10 +7,10 @@ var/list/stealthminID = list() //reference list with IDs that store ckeys, //Since it didn't really belong in any other category, I'm putting this here //This is for procs to replace all the goddamn 'in world's that are chilling around the code -var/global/list/player_list = list() //all mobs **with clients attached**. Excludes /mob/new_player +var/global/list/player_list = list() //all mobs **with clients attached**. Excludes /mob/dead/new_player var/global/list/mob_list = list() //all mobs, including clientless -var/global/list/living_mob_list = list() //all alive mobs, including clientless. Excludes /mob/new_player -var/global/list/dead_mob_list = list() //all dead mobs, including clientless. Excludes /mob/new_player +var/global/list/living_mob_list = list() //all alive mobs, including clientless. Excludes /mob/dead/new_player +var/global/list/dead_mob_list = list() //all dead mobs, including clientless. Excludes /mob/dead/new_player var/global/list/joined_player_list = list() //all clients that have joined the game at round-start or as a latejoin. var/global/list/silicon_mobs = list() //all silicon mobs var/global/list/pai_list = list() \ No newline at end of file diff --git a/code/_onclick/other_mobs.dm b/code/_onclick/other_mobs.dm index 73b50c3ca6c..e16286e3a31 100644 --- a/code/_onclick/other_mobs.dm +++ b/code/_onclick/other_mobs.dm @@ -200,5 +200,5 @@ New Players: Have no reason to click on anything at all. */ -/mob/new_player/ClickOn() +/mob/dead/new_player/ClickOn() return diff --git a/code/controllers/subsystem/jobs.dm b/code/controllers/subsystem/jobs.dm index 6f8a86ce42d..454663bae13 100644 --- a/code/controllers/subsystem/jobs.dm +++ b/code/controllers/subsystem/jobs.dm @@ -68,8 +68,7 @@ var/datum/controller/subsystem/job/SSjob SetupOccupations() return type_occupations[jobtype] - -/datum/controller/subsystem/job/proc/AssignRole(mob/new_player/player, rank, latejoin=0) +/datum/controller/subsystem/job/proc/AssignRole(mob/dead/new_player/player, rank, latejoin=0) Debug("Running AR, Player: [player], Rank: [rank], LJ: [latejoin]") if(player && player.mind && rank) var/datum/job/job = GetJob(rank) @@ -94,7 +93,7 @@ var/datum/controller/subsystem/job/SSjob /datum/controller/subsystem/job/proc/FindOccupationCandidates(datum/job/job, level, flag) Debug("Running FOC, Job: [job], Level: [level], Flag: [flag]") var/list/candidates = list() - for(var/mob/new_player/player in unassigned) + for(var/mob/dead/new_player/player in unassigned) if(jobban_isbanned(player, job.title)) Debug("FOC isbanned failed, Player: [player]") continue @@ -115,7 +114,7 @@ var/datum/controller/subsystem/job/SSjob candidates += player return candidates -/datum/controller/subsystem/job/proc/GiveRandomJob(mob/new_player/player) +/datum/controller/subsystem/job/proc/GiveRandomJob(mob/dead/new_player/player) Debug("GRJ Giving random job, Player: [player]") for(var/datum/job/job in shuffle(occupations)) if(!job) @@ -151,7 +150,7 @@ var/datum/controller/subsystem/job/SSjob break /datum/controller/subsystem/job/proc/ResetOccupations() - for(var/mob/new_player/player in player_list) + for(var/mob/dead/new_player/player in player_list) if((player) && (player.mind)) player.mind.assigned_role = null player.mind.special_role = null @@ -174,7 +173,7 @@ var/datum/controller/subsystem/job/SSjob var/list/candidates = FindOccupationCandidates(job, level) if(!candidates.len) continue - var/mob/new_player/candidate = pick(candidates) + var/mob/dead/new_player/candidate = pick(candidates) if(AssignRole(candidate, command_position)) return 1 return 0 @@ -192,7 +191,7 @@ var/datum/controller/subsystem/job/SSjob var/list/candidates = FindOccupationCandidates(job, level) if(!candidates.len) continue - var/mob/new_player/candidate = pick(candidates) + var/mob/dead/new_player/candidate = pick(candidates) AssignRole(candidate, command_position) return @@ -207,7 +206,7 @@ var/datum/controller/subsystem/job/SSjob var/list/candidates = list() candidates = FindOccupationCandidates(job, level) if(candidates.len) - var/mob/new_player/candidate = pick(candidates) + var/mob/dead/new_player/candidate = pick(candidates) if(AssignRole(candidate, "AI")) ai_selected++ break @@ -231,7 +230,7 @@ var/datum/controller/subsystem/job/SSjob A.spawn_positions = 3 //Get the players who are ready - for(var/mob/new_player/player in player_list) + for(var/mob/dead/new_player/player in player_list) if(player.ready && player.mind && !player.mind.assigned_role) unassigned += player @@ -261,7 +260,7 @@ var/datum/controller/subsystem/job/SSjob var/datum/job/assist = new /datum/job/assistant() 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/dead/new_player/player in assistant_candidates) Debug("AC1 pass, Player: [player]") AssignRole(player, "Assistant") assistant_candidates -= player @@ -292,7 +291,7 @@ var/datum/controller/subsystem/job/SSjob CheckHeadPositions(level) // Loop through all unassigned players - for(var/mob/new_player/player in unassigned) + for(var/mob/dead/new_player/player in unassigned) if(PopcapReached()) RejectPlayer(player) @@ -330,13 +329,13 @@ var/datum/controller/subsystem/job/SSjob // 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/dead/new_player/player in unassigned) if(PopcapReached()) RejectPlayer(player) else if(jobban_isbanned(player, "Assistant")) GiveRandomJob(player) //you get to roll for random before everyone else just to be sure you don't get assistant. you're so speshul - for(var/mob/new_player/player in unassigned) + for(var/mob/dead/new_player/player in unassigned) if(PopcapReached()) RejectPlayer(player) else if(player.client.prefs.joblessrole == BERANDOMJOB) @@ -347,7 +346,7 @@ var/datum/controller/subsystem/job/SSjob 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/dead/new_player/player in unassigned) if(PopcapReached()) RejectPlayer(player) if(player.client.prefs.joblessrole == BEASSISTANT) @@ -356,14 +355,14 @@ var/datum/controller/subsystem/job/SSjob else // For those who don't want to play if their preference were filled, back you go. RejectPlayer(player) - for(var/mob/new_player/player in unassigned) //Players that wanted to back out but couldn't because they're antags (can you feel the edge case?) + for(var/mob/dead/new_player/player in unassigned) //Players that wanted to back out but couldn't because they're antags (can you feel the edge case?) GiveRandomJob(player) return 1 //Gives the player the stuff he should have with his rank /datum/controller/subsystem/job/proc/EquipRank(mob/M, rank, joined_late=0) - var/mob/new_player/N + var/mob/dead/new_player/N var/mob/living/H if(!joined_late) N = M @@ -473,7 +472,7 @@ var/datum/controller/subsystem/job/SSjob var/level4 = 0 //never var/level5 = 0 //banned var/level6 = 0 //account too young - for(var/mob/new_player/player in player_list) + for(var/mob/dead/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)) @@ -500,7 +499,7 @@ var/datum/controller/subsystem/job/SSjob return 1 return 0 -/datum/controller/subsystem/job/proc/RejectPlayer(mob/new_player/player) +/datum/controller/subsystem/job/proc/RejectPlayer(mob/dead/new_player/player) if(player.mind && player.mind.special_role) return if(PopcapReached()) diff --git a/code/controllers/subsystem/ticker.dm b/code/controllers/subsystem/ticker.dm index d76700699ea..9a28099bff7 100644 --- a/code/controllers/subsystem/ticker.dm +++ b/code/controllers/subsystem/ticker.dm @@ -86,7 +86,7 @@ var/datum/controller/subsystem/ticker/ticker timeLeft = max(0,start_at - world.time) totalPlayers = 0 totalPlayersReady = 0 - for(var/mob/new_player/player in player_list) + for(var/mob/dead/new_player/player in player_list) ++totalPlayers if(player.ready) ++totalPlayersReady @@ -364,7 +364,7 @@ var/datum/controller/subsystem/ticker/ticker M.gib() /datum/controller/subsystem/ticker/proc/create_characters() - for(var/mob/new_player/player in player_list) + for(var/mob/dead/new_player/player in player_list) if(player.ready && player.mind) joined_player_list += player.ckey player.create_character(FALSE) @@ -373,7 +373,7 @@ var/datum/controller/subsystem/ticker/ticker CHECK_TICK /datum/controller/subsystem/ticker/proc/collect_minds() - for(var/mob/new_player/P in player_list) + for(var/mob/dead/new_player/P in player_list) if(P.new_character && P.new_character.mind) ticker.minds += P.new_character.mind CHECK_TICK @@ -381,7 +381,7 @@ var/datum/controller/subsystem/ticker/ticker /datum/controller/subsystem/ticker/proc/equip_characters() var/captainless=1 - for(var/mob/new_player/N in player_list) + for(var/mob/dead/new_player/N in player_list) var/mob/living/carbon/human/player = N.new_character if(istype(player) && player.mind && player.mind.assigned_role) if(player.mind.assigned_role == "Captain") @@ -390,14 +390,14 @@ var/datum/controller/subsystem/ticker/ticker SSjob.EquipRank(N, player.mind.assigned_role, 0) CHECK_TICK if(captainless) - for(var/mob/new_player/N in player_list) + for(var/mob/dead/new_player/N in player_list) if(N.new_character) to_chat(N, "Captainship not forced on anyone.") CHECK_TICK /datum/controller/subsystem/ticker/proc/transfer_characters() var/list/livings = list() - for(var/mob/new_player/player in player_list) + for(var/mob/dead/new_player/player in player_list) var/mob/living = player.transfer_character() if(living) qdel(player) @@ -624,7 +624,7 @@ var/datum/controller/subsystem/ticker/ticker return queue_delay++ - var/mob/new_player/next_in_line = queued_players[1] + var/mob/dead/new_player/next_in_line = queued_players[1] switch(queue_delay) if(5) //every 5 ticks check if there is a slot available diff --git a/code/datums/datacore.dm b/code/datums/datacore.dm index 290506687bf..1aa7f126f57 100644 --- a/code/datums/datacore.dm +++ b/code/datums/datacore.dm @@ -77,7 +77,7 @@ return /datum/datacore/proc/manifest() - for(var/mob/new_player/N in player_list) + for(var/mob/dead/new_player/N in player_list) if(ishuman(N.new_character)) manifest_inject(N.new_character, N.client) CHECK_TICK diff --git a/code/datums/hud.dm b/code/datums/hud.dm index 75adb165d3a..5e91f3af126 100644 --- a/code/datums/hud.dm +++ b/code/datums/hud.dm @@ -81,11 +81,11 @@ var/datum/atom_hud/huds = list( \ if(src in hud.hudusers) hud.add_hud_to(src) -/mob/new_player/reload_huds() +/mob/dead/new_player/reload_huds() return /mob/proc/add_click_catcher() client.screen += client.void -/mob/new_player/add_click_catcher() +/mob/dead/new_player/add_click_catcher() return diff --git a/code/datums/mind.dm b/code/datums/mind.dm index 144b25494a4..a2041e4025c 100644 --- a/code/datums/mind.dm +++ b/code/datums/mind.dm @@ -1544,7 +1544,7 @@ mind_initialize() //updates the mind (or creates and initializes one if one doesn't exist) mind.active = 1 //indicates that the mind is currently synced with a client -/mob/new_player/sync_mind() +/mob/dead/new_player/sync_mind() return /mob/dead/observer/sync_mind() diff --git a/code/game/atoms.dm b/code/game/atoms.dm index 47016e218ab..8f47ae1656f 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -53,6 +53,9 @@ //Note: the following functions don't call the base for optimization and must copypasta: // /turf/Initialize // /turf/open/space/Initialize +// /mob/dead/new_player/Initialize + +//Do also note that this proc always runs in New for /mob/dead /atom/proc/Initialize(mapload, ...) if(initialized) stack_trace("Warning: [src]([type]) initialized multiple times!") diff --git a/code/game/gamemodes/blob/blobs/blob_mobs.dm b/code/game/gamemodes/blob/blobs/blob_mobs.dm index 72922cc3958..2249642bfc7 100644 --- a/code/game/gamemodes/blob/blobs/blob_mobs.dm +++ b/code/game/gamemodes/blob/blobs/blob_mobs.dm @@ -102,7 +102,7 @@ var/is_zombie = 0 gold_core_spawnable = 1 -/mob/living/simple_animal/hostile/blob/blobspore/New(loc, var/obj/structure/blob/factory/linked_node) +/mob/living/simple_animal/hostile/blob/blobspore/Initialize(mapload, var/obj/structure/blob/factory/linked_node) if(istype(linked_node)) factory = linked_node factory.spores += src @@ -222,7 +222,7 @@ see_in_dark = 8 var/independent = FALSE -/mob/living/simple_animal/hostile/blob/blobbernaut/New() +/mob/living/simple_animal/hostile/blob/blobbernaut/Initialize() ..() if(!independent) //no pulling people deep into the blob verbs -= /mob/living/verb/pulled diff --git a/code/game/gamemodes/blob/overmind.dm b/code/game/gamemodes/blob/overmind.dm index 0ce82f07667..13f868472aa 100644 --- a/code/game/gamemodes/blob/overmind.dm +++ b/code/game/gamemodes/blob/overmind.dm @@ -29,7 +29,7 @@ var/manualplace_min_time = 600 //in deciseconds //a minute, to get bearings var/autoplace_max_time = 3600 //six minutes, as long as should be needed -/mob/camera/blob/New(loc, pre_placed = 0, mode_made = 0, starting_points = 60) +/mob/camera/blob/Initialize(mapload, pre_placed = 0, mode_made = 0, starting_points = 60) blob_points = starting_points if(pre_placed) //we already have a core! manualplace_min_time = 0 diff --git a/code/game/gamemodes/clock_cult/clock_mobs/anima_fragment.dm b/code/game/gamemodes/clock_cult/clock_mobs/anima_fragment.dm index 6230c47af3c..a327211d012 100644 --- a/code/game/gamemodes/clock_cult/clock_mobs/anima_fragment.dm +++ b/code/game/gamemodes/clock_cult/clock_mobs/anima_fragment.dm @@ -19,7 +19,7 @@ opposable thumbs." var/movement_delay_time //how long the fragment is slowed after being hit -/mob/living/simple_animal/hostile/clockwork/fragment/New() +/mob/living/simple_animal/hostile/clockwork/fragment/Initialize() ..() set_light(2, 0.8) if(prob(1)) diff --git a/code/game/gamemodes/clock_cult/clock_mobs/clockwork_marauder.dm b/code/game/gamemodes/clock_cult/clock_mobs/clockwork_marauder.dm index 70edde4e500..bc57e139b3c 100644 --- a/code/game/gamemodes/clock_cult/clock_mobs/clockwork_marauder.dm +++ b/code/game/gamemodes/clock_cult/clock_mobs/clockwork_marauder.dm @@ -29,7 +29,7 @@ Stay near your host to protect and heal them; being too far from your host will rapidly cause you massive damage. Recall to your host if you are too weak and believe you cannot continue \ fighting safely. As a final note, you should probably avoid harming any fellow servants of Ratvar." -/mob/living/simple_animal/hostile/clockwork/marauder/New() +/mob/living/simple_animal/hostile/clockwork/marauder/Initialize() ..() true_name = pick(possible_true_names) set_light(2, 1.1) diff --git a/code/game/gamemodes/devil/imp/imp.dm b/code/game/gamemodes/devil/imp/imp.dm index 211a343b525..3698a391e14 100644 --- a/code/game/gamemodes/devil/imp/imp.dm +++ b/code/game/gamemodes/devil/imp/imp.dm @@ -38,7 +38,7 @@ Though you are not obligated to help, perhaps by aiding a higher ranking devil, you might just get a promotion. However, you are incapable \ of intentionally harming a fellow devil." -/mob/living/simple_animal/imp/New() +/mob/living/simple_animal/imp/Initialize() ..() boost = world.time + 30 diff --git a/code/game/gamemodes/devil/true_devil/_true_devil.dm b/code/game/gamemodes/devil/true_devil/_true_devil.dm index c8d2a178902..c7af40414b5 100644 --- a/code/game/gamemodes/devil/true_devil/_true_devil.dm +++ b/code/game/gamemodes/devil/true_devil/_true_devil.dm @@ -27,7 +27,7 @@ -/mob/living/carbon/true_devil/New() +/mob/living/carbon/true_devil/Initialize() create_bodyparts() //initialize bodyparts create_internal_organs() diff --git a/code/game/gamemodes/game_mode.dm b/code/game/gamemodes/game_mode.dm index 8834d274a66..206a3761170 100644 --- a/code/game/gamemodes/game_mode.dm +++ b/code/game/gamemodes/game_mode.dm @@ -53,7 +53,7 @@ ///Checks to see if the game can be setup and ran with the current number of players or whatnot. /datum/game_mode/proc/can_start() var/playerC = 0 - for(var/mob/new_player/player in player_list) + for(var/mob/dead/new_player/player in player_list) if((player.client)&&(player.ready)) playerC++ if(!Debug2) @@ -302,7 +302,7 @@ var/datum/mind/applicant = null // Ultimate randomizing code right here - for(var/mob/new_player/player in player_list) + for(var/mob/dead/new_player/player in player_list) if(player.client && player.ready) players += player @@ -310,7 +310,7 @@ // Goodbye antag dante players = shuffle(players) - for(var/mob/new_player/player in players) + for(var/mob/dead/new_player/player in players) if(player.client && player.ready) if(role in player.client.prefs.be_special) if(!jobban_isbanned(player, "Syndicate") && !jobban_isbanned(player, role)) //Nodrak/Carn: Antag Job-bans @@ -324,7 +324,7 @@ candidates -= player if(candidates.len < recommended_enemies) - for(var/mob/new_player/player in players) + for(var/mob/dead/new_player/player in players) if(player.client && player.ready) if(!(role in player.client.prefs.be_special)) // We don't have enough people who want to be antagonist, make a seperate list of people who don't want to be one if(!jobban_isbanned(player, "Syndicate") && !jobban_isbanned(player, role)) //Nodrak/Carn: Antag Job-bans @@ -349,7 +349,7 @@ break /* if(candidates.len < recommended_enemies && override_jobbans) //If we still don't have enough people, we're going to start drafting banned people. - for(var/mob/new_player/player in players) + for(var/mob/dead/new_player/player in players) if (player.client && player.ready) if(jobban_isbanned(player, "Syndicate") || jobban_isbanned(player, roletext)) //Nodrak/Carn: Antag Job-bans drafted += player.mind @@ -377,7 +377,7 @@ // Less if there are not enough valid players in the game entirely to make recommended_enemies. /* -/datum/game_mode/proc/check_player_role_pref(var/role, var/mob/new_player/player) +/datum/game_mode/proc/check_player_role_pref(var/role, var/mob/dead/new_player/player) if(player.preferences.be_special & role) return 1 return 0 @@ -385,7 +385,7 @@ /datum/game_mode/proc/num_players() . = 0 - for(var/mob/new_player/P in player_list) + for(var/mob/dead/new_player/P in player_list) if(P.client && P.ready) . ++ diff --git a/code/game/gamemodes/miniantags/borer/borer.dm b/code/game/gamemodes/miniantags/borer/borer.dm index cc44e537897..a4dda8145f7 100644 --- a/code/game/gamemodes/miniantags/borer/borer.dm +++ b/code/game/gamemodes/miniantags/borer/borer.dm @@ -110,8 +110,8 @@ var/total_borer_hosts_needed = 10 var/datum/action/innate/borer/punish_victim/punish_victim_action = new var/datum/action/innate/borer/jumpstart_host/jumpstart_host_action = new -/mob/living/simple_animal/borer/New(atom/newloc, var/gen=1) - ..(newloc) +/mob/living/simple_animal/borer/Initialize(mapload, gen=1) + ..() generation = gen notify_ghosts("A cortical borer has been created in [get_area(src)]!", enter_link = "(Click to enter)", source = src, action = NOTIFY_ATTACK) real_name = "Cortical Borer [rand(1000,9999)]" @@ -300,8 +300,8 @@ var/total_borer_hosts_needed = 10 message = copytext(message,2) for(var/borer in borers) to_chat(borer, "Cortical Link: [truename] sings, \"[message]\"") - for(var/mob/dead in dead_mob_list) - to_chat(dead, "Cortical Link: [truename] sings, \"[message]\"") + for(var/mob/D in dead_mob_list) + to_chat(D, "Cortical Link: [truename] sings, \"[message]\"") return if(!victim) to_chat(src, "You cannot speak without a host!") diff --git a/code/game/gamemodes/miniantags/bot_swarm/swarmer.dm b/code/game/gamemodes/miniantags/bot_swarm/swarmer.dm index d1939f458ae..cd769e1b18c 100644 --- a/code/game/gamemodes/miniantags/bot_swarm/swarmer.dm +++ b/code/game/gamemodes/miniantags/bot_swarm/swarmer.dm @@ -8,7 +8,7 @@ materials = list(MAT_METAL=10000, MAT_GLASS=4000) -/obj/item/device/unactivated_swarmer/New() +/obj/item/device/unactivated_swarmer/Initialize() if(!crit_fail) notify_ghosts("An unactivated swarmer has been created in [get_area(src)]!", enter_link = "(Click to enter)", source = src, action = NOTIFY_ATTACK) ..() @@ -118,7 +118,7 @@ ..() to_chat(src, login_text_dump) -/mob/living/simple_animal/hostile/swarmer/New() +/mob/living/simple_animal/hostile/swarmer/Initialize() ..() verbs -= /mob/living/verb/pulled var/datum/atom_hud/data/diagnostic/diag_hud = huds[DATA_HUD_DIAGNOSTIC] diff --git a/code/game/gamemodes/miniantags/revenant/revenant.dm b/code/game/gamemodes/miniantags/revenant/revenant.dm index 0a2ab17697e..3c597e7f325 100644 --- a/code/game/gamemodes/miniantags/revenant/revenant.dm +++ b/code/game/gamemodes/miniantags/revenant/revenant.dm @@ -62,7 +62,7 @@ var/image/ghostimage = null //Visible to ghost with darkness off var/generated_objectives_and_spells = FALSE -/mob/living/simple_animal/revenant/New() +/mob/living/simple_animal/revenant/Initialize() ..() ghostimage = image(src.icon,src,src.icon_state) diff --git a/code/game/gamemodes/miniantags/slaughter/slaughter.dm b/code/game/gamemodes/miniantags/slaughter/slaughter.dm index dbe7725f533..355936d9223 100644 --- a/code/game/gamemodes/miniantags/slaughter/slaughter.dm +++ b/code/game/gamemodes/miniantags/slaughter/slaughter.dm @@ -46,7 +46,7 @@ del_on_death = 1 deathmessage = "screams in anger as it collapses into a puddle of viscera!" -/mob/living/simple_animal/slaughter/New() +/mob/living/simple_animal/slaughter/Initialize() ..() var/obj/effect/proc_holder/spell/bloodcrawl/bloodspell = new AddSpell(bloodspell) diff --git a/code/game/gamemodes/objective.dm b/code/game/gamemodes/objective.dm index 6e6066ed2a2..e4b44fa4aaf 100644 --- a/code/game/gamemodes/objective.dm +++ b/code/game/gamemodes/objective.dm @@ -656,7 +656,7 @@ var/global/list/possible_items_special = list() if (ticker) var/n_p = 1 //autowin if (ticker.current_state == GAME_STATE_SETTING_UP) - for(var/mob/new_player/P in player_list) + for(var/mob/dead/new_player/P in player_list) if(P.client && P.ready && P.mind!=owner) n_p ++ else if (ticker.current_state == GAME_STATE_PLAYING) diff --git a/code/game/gamemodes/revolution/revolution.dm b/code/game/gamemodes/revolution/revolution.dm index 67d8f34ee09..e85698196bc 100644 --- a/code/game/gamemodes/revolution/revolution.dm +++ b/code/game/gamemodes/revolution/revolution.dm @@ -70,7 +70,7 @@ for(var/datum/mind/rev_mind in head_revolutionaries) //People with return to lobby may still be in the lobby. Let's pick someone else in that case. - if(istype(rev_mind.current,/mob/new_player)) + if(istype(rev_mind.current,/mob/dead/new_player)) head_revolutionaries -= rev_mind var/list/newcandidates = shuffle(antag_candidates) if(newcandidates.len == 0) @@ -79,7 +79,7 @@ var/datum/mind/lenin = M antag_candidates -= lenin newcandidates -= lenin - if(istype(lenin.current,/mob/new_player)) //We don't want to make the same mistake again + if(istype(lenin.current,/mob/dead/new_player)) //We don't want to make the same mistake again continue else var/mob/Nm = lenin.current diff --git a/code/game/objects/items/weapons/cards_ids.dm b/code/game/objects/items/weapons/cards_ids.dm index 0094275e889..c3e813f5a80 100644 --- a/code/game/objects/items/weapons/cards_ids.dm +++ b/code/game/objects/items/weapons/cards_ids.dm @@ -157,7 +157,7 @@ update_label("John Doe", "Clowny") if(user.mind.special_role || anyone) if(alert(user, "Action", "Agent ID", "Show", "Forge") == "Forge") var t = copytext(sanitize(input(user, "What name would you like to put on this card?", "Agent card name", registered_name ? registered_name : (ishuman(user) ? user.real_name : user.name))as text | null),1,26) - if(!t || t == "Unknown" || t == "floor" || t == "wall" || t == "r-wall") //Same as mob/new_player/prefrences.dm + if(!t || t == "Unknown" || t == "floor" || t == "wall" || t == "r-wall") //Same as mob/dead/new_player/prefrences.dm if (t) alert("Invalid name.") return diff --git a/code/game/objects/structures/mirror.dm b/code/game/objects/structures/mirror.dm index d7b62cf0341..a25e13e68d1 100644 --- a/code/game/objects/structures/mirror.dm +++ b/code/game/objects/structures/mirror.dm @@ -20,7 +20,7 @@ var/userloc = H.loc - //see code/modules/mob/new_player/preferences.dm at approx line 545 for comments! + //see code/modules/mob/dead/new_player/preferences.dm at approx line 545 for comments! //this is largely copypasted from there. //handle facial hair (if necessary) diff --git a/code/modules/VR/vr_human.dm b/code/modules/VR/vr_human.dm index f5d4fad7e5f..f8d59e060bb 100644 --- a/code/modules/VR/vr_human.dm +++ b/code/modules/VR/vr_human.dm @@ -6,7 +6,7 @@ var/datum/action/quit_vr/quit_action -/mob/living/carbon/human/virtual_reality/New() +/mob/living/carbon/human/virtual_reality/Initialize() ..() quit_action = new() quit_action.Grant(src) diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index 0bc2f90a697..78c6d725218 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -1339,7 +1339,7 @@ log_admin("[key_name(usr)] has sent [key_name(M)] back to the Lobby.") message_admins("[key_name(usr)] has sent [key_name(M)] back to the Lobby.") - var/mob/new_player/NP = new() + var/mob/dead/new_player/NP = new() NP.ckey = M.ckey qdel(M) @@ -1525,7 +1525,7 @@ var/mob/M = locate(href_list["makeanimal"]) if(isnewplayer(M)) - to_chat(usr, "This cannot be used on instances of type /mob/new_player.") + to_chat(usr, "This cannot be used on instances of type /mob/dead/new_player.") return usr.client.cmd_admin_animalize(M) diff --git a/code/modules/events/wizard/magicarp.dm b/code/modules/events/wizard/magicarp.dm index 81fa857f3cb..fe89f02b914 100644 --- a/code/modules/events/wizard/magicarp.dm +++ b/code/modules/events/wizard/magicarp.dm @@ -41,7 +41,7 @@ /obj/item/projectile/magic/death, /obj/item/projectile/magic/teleport, /obj/item/projectile/magic/door, /obj/item/projectile/magic/aoe/fireball, /obj/item/projectile/magic/spellblade, /obj/item/projectile/magic/arcane_barrage) -/mob/living/simple_animal/hostile/carp/ranged/New() +/mob/living/simple_animal/hostile/carp/ranged/Initialize() projectiletype = pick(allowed_projectile_types) ..() diff --git a/code/modules/holiday/halloween.dm b/code/modules/holiday/halloween.dm index 2b8058665e4..9ffcce2071c 100644 --- a/code/modules/holiday/halloween.dm +++ b/code/modules/holiday/halloween.dm @@ -129,7 +129,7 @@ layer = 4 var/timer = 0 -/mob/living/simple_animal/shade/howling_ghost/New() +/mob/living/simple_animal/shade/howling_ghost/Initialize() ..() icon_state = pick("ghost","ghostian","ghostian2","ghostking","ghost1","ghost2") icon_living = icon_state @@ -193,7 +193,7 @@ unsuitable_atmos_damage = 0 var/timer -/mob/living/simple_animal/hostile/retaliate/clown/insane/New() +/mob/living/simple_animal/hostile/retaliate/clown/insane/Initialize() ..() timer = rand(5,15) status_flags = (status_flags | GODMODE) diff --git a/code/modules/holiday/holidays.dm b/code/modules/holiday/holidays.dm index aa71708240e..27c178e466f 100644 --- a/code/modules/holiday/holidays.dm +++ b/code/modules/holiday/holidays.dm @@ -144,7 +144,7 @@ /datum/holiday/april_fools/celebrate() if(ticker) ticker.login_music = 'sound/ambience/clown.ogg' - for(var/mob/new_player/P in mob_list) + for(var/mob/dead/new_player/P in mob_list) if(P.client) P.stopLobbySound() P.client.playtitlemusic() diff --git a/code/modules/mining/aux_base_camera.dm b/code/modules/mining/aux_base_camera.dm index c0b8239aa2b..18f4deb2736 100644 --- a/code/modules/mining/aux_base_camera.dm +++ b/code/modules/mining/aux_base_camera.dm @@ -6,9 +6,9 @@ icon_state = "construction_drone" var/area/starting_area -mob/camera/aiEye/remote/base_construction/New(loc) - starting_area = get_area(loc) +/mob/camera/aiEye/remote/base_construction/Initialize() ..() + starting_area = get_area(loc) /mob/camera/aiEye/remote/base_construction/setLoc(var/t) var/area/curr_area = get_area(t) diff --git a/code/modules/mining/minebot.dm b/code/modules/mining/minebot.dm index cc7318357e6..5527cb20f24 100644 --- a/code/modules/mining/minebot.dm +++ b/code/modules/mining/minebot.dm @@ -48,7 +48,7 @@ var/datum/action/innate/minedrone/toggle_mode/toggle_mode_action var/datum/action/innate/minedrone/dump_ore/dump_ore_action -/mob/living/simple_animal/hostile/mining_drone/New() +/mob/living/simple_animal/hostile/mining_drone/Initialize() ..() toggle_light_action = new() toggle_light_action.Grant(src) diff --git a/code/modules/mob/dead/dead.dm b/code/modules/mob/dead/dead.dm new file mode 100644 index 00000000000..d218d32b055 --- /dev/null +++ b/code/modules/mob/dead/dead.dm @@ -0,0 +1,12 @@ +//Dead mobs can exist whenever. This is needful +/mob/dead/New(loc) + ..() + if(!initialized) + args[1] = FALSE + Initialize(arglist(args)) //EXIST DAMN YOU!!! + +/mob/dead/dust() //ghosts can't be vaporised. + return + +/mob/dead/gib() //ghosts can't be gibbed. + return diff --git a/code/modules/mob/dead/death.dm b/code/modules/mob/dead/death.dm deleted file mode 100644 index 7c827e55ffe..00000000000 --- a/code/modules/mob/dead/death.dm +++ /dev/null @@ -1,5 +0,0 @@ -/mob/dead/dust() //ghosts can't be vaporised. - return - -/mob/dead/gib() //ghosts can't be gibbed. - return diff --git a/code/modules/mob/new_player/login.dm b/code/modules/mob/dead/new_player/login.dm similarity index 93% rename from code/modules/mob/new_player/login.dm rename to code/modules/mob/dead/new_player/login.dm index 6361756367b..35ad9d33032 100644 --- a/code/modules/mob/new_player/login.dm +++ b/code/modules/mob/dead/new_player/login.dm @@ -1,4 +1,4 @@ -/mob/new_player/Login() +/mob/dead/new_player/Login() if(!mind) mind = new /datum/mind(key) mind.active = 1 diff --git a/code/modules/mob/new_player/logout.dm b/code/modules/mob/dead/new_player/logout.dm similarity index 85% rename from code/modules/mob/new_player/logout.dm rename to code/modules/mob/dead/new_player/logout.dm index ad1c9b3098d..fd15f5e3097 100644 --- a/code/modules/mob/new_player/logout.dm +++ b/code/modules/mob/dead/new_player/logout.dm @@ -1,4 +1,4 @@ -/mob/new_player/Logout() +/mob/dead/new_player/Logout() ready = 0 ..() if(!spawning)//Here so that if they are spawning and log out, the other procs can play out and they will have a mob to come back to. diff --git a/code/modules/mob/new_player/new_player.dm b/code/modules/mob/dead/new_player/new_player.dm similarity index 93% rename from code/modules/mob/new_player/new_player.dm rename to code/modules/mob/dead/new_player/new_player.dm index 26fe4658bfe..3a028576079 100644 --- a/code/modules/mob/new_player/new_player.dm +++ b/code/modules/mob/dead/new_player/new_player.dm @@ -1,6 +1,6 @@ -/mob/new_player +/mob/dead/new_player var/ready = 0 var/spawning = 0//Referenced when you want to delete the new_player later on in the code. @@ -15,7 +15,10 @@ anchored = 1 // don't get pushed around var/mob/living/new_character //for instant transfer once the round is set up -/mob/new_player/New() +/mob/dead/new_player/Initialize() + if(initialized) + stack_trace("Warning: [src]([type]) initialized multiple times!") + initialized = TRUE tag = "mob_[next_mob_id++]" mob_list += src @@ -28,7 +31,7 @@ else loc = locate(1,1,1) -/mob/new_player/proc/new_player_panel() +/mob/dead/new_player/proc/new_player_panel() var/output = "

Setup Character

" @@ -70,7 +73,7 @@ popup.open(0) return -/mob/new_player/Stat() +/mob/dead/new_player/Stat() ..() if(statpanel("Lobby")) @@ -88,7 +91,7 @@ stat("Players Ready:", "[ticker.totalPlayersReady]") -/mob/new_player/Topic(href, href_list[]) +/mob/dead/new_player/Topic(href, href_list[]) if(src != usr) return 0 @@ -273,7 +276,7 @@ return to_chat(src, "Vote successful.") -/mob/new_player/proc/IsJobAvailable(rank) +/mob/dead/new_player/proc/IsJobAvailable(rank) var/datum/job/job = SSjob.GetJob(rank) if(!job) return 0 @@ -295,7 +298,7 @@ return 1 -/mob/new_player/proc/AttemptLateSpawn(rank) +/mob/dead/new_player/proc/AttemptLateSpawn(rank) if(!IsJobAvailable(rank)) to_chat(src, alert("[rank] is not available. Please try another.")) return 0 @@ -369,7 +372,7 @@ ticker.mode.make_antag_chance(humanc) qdel(src) -/mob/new_player/proc/AddEmploymentContract(mob/living/carbon/human/employee) +/mob/dead/new_player/proc/AddEmploymentContract(mob/living/carbon/human/employee) //TODO: figure out a way to exclude wizards/nukeops/demons from this. sleep(30) for(var/C in employmentCabinets) @@ -378,7 +381,7 @@ employmentCabinet.addFile(employee) -/mob/new_player/proc/LateChoices() +/mob/dead/new_player/proc/LateChoices() var/mills = world.time - round_start_time // 1/10 of a second, not real milliseconds but whatever //var/secs = ((mills % 36000) % 600) / 10 //Not really needed, but I'll leave it here for refrence.. or something var/mins = (mills % 36000) / 600 @@ -439,7 +442,7 @@ popup.open(0) // 0 is passed to open so that it doesn't use the onclose() proc -/mob/new_player/proc/create_character(transfer_after) +/mob/dead/new_player/proc/create_character(transfer_after) spawning = 1 close_spawn_windows() @@ -461,24 +464,24 @@ if(transfer_after) transfer_character() -/mob/new_player/proc/transfer_character() +/mob/dead/new_player/proc/transfer_character() . = new_character if(.) new_character.key = key //Manually transfer the key to log them in new_character.stopLobbySound() -/mob/new_player/proc/ViewManifest() +/mob/dead/new_player/proc/ViewManifest() var/dat = "" dat += "

Crew Manifest

" dat += data_core.get_manifest(OOC = 1) src << browse(dat, "window=manifest;size=387x420;can_close=1") -/mob/new_player/Move() +/mob/dead/new_player/Move() return 0 -/mob/new_player/proc/close_spawn_windows() +/mob/dead/new_player/proc/close_spawn_windows() src << browse(null, "window=latechoices") //closes late choices window src << browse(null, "window=playersetup") //closes the player setup window diff --git a/code/modules/mob/new_player/poll.dm b/code/modules/mob/dead/new_player/poll.dm similarity index 95% rename from code/modules/mob/new_player/poll.dm rename to code/modules/mob/dead/new_player/poll.dm index 80a43d5be40..2f77767558f 100644 --- a/code/modules/mob/new_player/poll.dm +++ b/code/modules/mob/dead/new_player/poll.dm @@ -2,7 +2,7 @@ var/optionid var/optiontext -/mob/new_player/proc/handle_player_polling() +/mob/dead/new_player/proc/handle_player_polling() if(!dbcon.IsConnected()) to_chat(usr, "Failed to establish database connection.") return @@ -19,7 +19,7 @@ output += "" src << browse(output,"window=playerpolllist;size=500x300") -/mob/new_player/proc/poll_player(pollid) +/mob/dead/new_player/proc/poll_player(pollid) if(!pollid) return if (!dbcon.Connect()) @@ -323,7 +323,7 @@ src << browse(output,"window=playerpoll;size=500x500") return -/mob/new_player/proc/poll_check_voted(pollid, text = FALSE) +/mob/dead/new_player/proc/poll_check_voted(pollid, text = FALSE) var/table = "poll_vote" if (text) table = "poll_textreply" @@ -342,7 +342,7 @@ return . -/mob/new_player/proc/vote_rig_check() +/mob/dead/new_player/proc/vote_rig_check() if (usr != src) if (!usr || !src) return 0 @@ -354,7 +354,7 @@ return 0 return 1 -/mob/new_player/proc/vote_valid_check(pollid, holder, type) +/mob/dead/new_player/proc/vote_valid_check(pollid, holder, type) if (!dbcon.Connect()) to_chat(src, "Failed to establish database connection.") return 0 @@ -369,7 +369,7 @@ return 0 return 1 -/mob/new_player/proc/vote_on_irv_poll(pollid, list/votelist) +/mob/dead/new_player/proc/vote_on_irv_poll(pollid, list/votelist) if (!dbcon.Connect()) to_chat(src, "Failed to establish database connection.") return 0 @@ -438,7 +438,7 @@ return 1 -/mob/new_player/proc/vote_on_poll(pollid, optionid) +/mob/dead/new_player/proc/vote_on_poll(pollid, optionid) if (!dbcon.Connect()) to_chat(src, "Failed to establish database connection.") return 0 @@ -458,7 +458,7 @@ usr << browse(null,"window=playerpoll") return 1 -/mob/new_player/proc/log_text_poll_reply(pollid, replytext) +/mob/dead/new_player/proc/log_text_poll_reply(pollid, replytext) if (!dbcon.Connect()) to_chat(src, "Failed to establish database connection.") return 0 @@ -485,7 +485,7 @@ usr << browse(null,"window=playerpoll") return 1 -/mob/new_player/proc/vote_on_numval_poll(pollid, optionid, rating) +/mob/dead/new_player/proc/vote_on_numval_poll(pollid, optionid, rating) if (!dbcon.Connect()) to_chat(src, "Failed to establish database connection.") return 0 @@ -512,7 +512,7 @@ usr << browse(null,"window=playerpoll") return 1 -/mob/new_player/proc/vote_on_multi_poll(pollid, optionid) +/mob/dead/new_player/proc/vote_on_multi_poll(pollid, optionid) if (!dbcon.Connect()) to_chat(src, "Failed to establish database connection.") return 0 diff --git a/code/modules/mob/new_player/preferences_setup.dm b/code/modules/mob/dead/new_player/preferences_setup.dm similarity index 100% rename from code/modules/mob/new_player/preferences_setup.dm rename to code/modules/mob/dead/new_player/preferences_setup.dm diff --git a/code/modules/mob/new_player/sprite_accessories.dm b/code/modules/mob/dead/new_player/sprite_accessories.dm similarity index 100% rename from code/modules/mob/new_player/sprite_accessories.dm rename to code/modules/mob/dead/new_player/sprite_accessories.dm diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index 93710f783f5..a24809bbb20 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -59,7 +59,7 @@ var/global/static/observer_default_invisibility = INVISIBILITY_OBSERVER // of the mob var/deadchat_name -/mob/dead/observer/New(mob/body) +/mob/dead/observer/Initialize() invisibility = observer_default_invisibility verbs += /mob/dead/observer/proc/dead_tele @@ -79,6 +79,7 @@ var/global/static/observer_default_invisibility = INVISIBILITY_OBSERVER updateallghostimages() var/turf/T + var/mob/body = loc if(ismob(body)) T = get_turf(body) //Where is the body located? logging = body.logging //preserve our logs by copying them to our ghost diff --git a/code/modules/mob/interactive.dm b/code/modules/mob/interactive.dm index e07c95b7f94..0363520f4c8 100644 --- a/code/modules/mob/interactive.dm +++ b/code/modules/mob/interactive.dm @@ -381,7 +381,7 @@ faction -= "neutral" faction += "hostile" -/mob/living/carbon/human/interactive/New() +/mob/living/carbon/human/interactive/Initialize() ..() set_species(/datum/species/synth) @@ -1605,13 +1605,13 @@ nearby += M //END OF MODULES -/mob/living/carbon/human/interactive/angry/New() +/mob/living/carbon/human/interactive/angry/Initialize() TRAITS |= TRAIT_ROBUST TRAITS |= TRAIT_MEAN faction += "bot_angry" ..() -/mob/living/carbon/human/interactive/friendly/New() +/mob/living/carbon/human/interactive/friendly/Initialize() TRAITS |= TRAIT_FRIENDLY TRAITS |= TRAIT_UNROBUST faction += "bot_friendly" @@ -1619,7 +1619,7 @@ functions -= "combat" ..() -/mob/living/carbon/human/interactive/greytide/New() +/mob/living/carbon/human/interactive/greytide/Initialize() TRAITS |= TRAIT_ROBUST TRAITS |= TRAIT_MEAN TRAITS |= TRAIT_THIEVING @@ -1631,7 +1631,7 @@ ..() //Walk softly and carry a big stick -/mob/living/carbon/human/interactive/robust/New() +/mob/living/carbon/human/interactive/robust/Initialize() TRAITS |= TRAIT_FRIENDLY TRAITS |= TRAIT_ROBUST TRAITS |= TRAIT_SMART diff --git a/code/modules/mob/living/brain/brain.dm b/code/modules/mob/living/brain/brain.dm index 0b0fa0ccc91..8a30c1e2c8e 100644 --- a/code/modules/mob/living/brain/brain.dm +++ b/code/modules/mob/living/brain/brain.dm @@ -10,13 +10,13 @@ stat = DEAD //we start dead by default see_invisible = SEE_INVISIBLE_MINIMUM -/mob/living/brain/New(loc) +/mob/living/brain/Initialize() ..() create_dna(src) stored_dna.initialize_dna(random_blood_type()) if(isturf(loc)) //not spawned in an MMI or brain organ (most likely adminspawned) var/obj/item/organ/brain/OB = new(loc) //we create a new brain organ for it. - src.loc = OB + loc = OB OB.brainmob = src diff --git a/code/modules/mob/living/carbon/alien/alien.dm b/code/modules/mob/living/carbon/alien/alien.dm index d0d36c18e9e..3dd354050f9 100644 --- a/code/modules/mob/living/carbon/alien/alien.dm +++ b/code/modules/mob/living/carbon/alien/alien.dm @@ -33,7 +33,7 @@ var/static/regex/alien_name_regex = new("alien (larva|sentinel|drone|hunter|praetorian|queen)( \\(\\d+\\))?") -/mob/living/carbon/alien/New() +/mob/living/carbon/alien/Initialize() verbs += /mob/living/proc/mob_sleep verbs += /mob/living/proc/lay_down diff --git a/code/modules/mob/living/carbon/alien/humanoid/caste/drone.dm b/code/modules/mob/living/carbon/alien/humanoid/caste/drone.dm index e68e80cc0c3..6069f5e444c 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/caste/drone.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/caste/drone.dm @@ -6,7 +6,7 @@ icon_state = "aliend" -/mob/living/carbon/alien/humanoid/drone/New() +/mob/living/carbon/alien/humanoid/drone/Initialize() AddAbility(new/obj/effect/proc_holder/alien/evolve(null)) ..() diff --git a/code/modules/mob/living/carbon/alien/humanoid/caste/praetorian.dm b/code/modules/mob/living/carbon/alien/humanoid/caste/praetorian.dm index c2a63144b11..90d4ced85fc 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/caste/praetorian.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/caste/praetorian.dm @@ -7,7 +7,7 @@ -/mob/living/carbon/alien/humanoid/royal/praetorian/New() +/mob/living/carbon/alien/humanoid/royal/praetorian/Initialize() real_name = name diff --git a/code/modules/mob/living/carbon/alien/humanoid/caste/sentinel.dm b/code/modules/mob/living/carbon/alien/humanoid/caste/sentinel.dm index 7183730c5e7..f3acaa9d529 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/caste/sentinel.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/caste/sentinel.dm @@ -6,7 +6,7 @@ icon_state = "aliens" -/mob/living/carbon/alien/humanoid/sentinel/New() +/mob/living/carbon/alien/humanoid/sentinel/Initialize() AddAbility(new /obj/effect/proc_holder/alien/sneak) ..() diff --git a/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm b/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm index 5ebb00e0092..6393ad49695 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm @@ -21,7 +21,7 @@ //This is fine right now, if we're adding organ specific damage this needs to be updated -/mob/living/carbon/alien/humanoid/New() +/mob/living/carbon/alien/humanoid/Initialize() AddAbility(new/obj/effect/proc_holder/alien/regurgitate(null)) ..() diff --git a/code/modules/mob/living/carbon/alien/humanoid/queen.dm b/code/modules/mob/living/carbon/alien/humanoid/queen.dm index ef4c85a58b6..2ce6ea31926 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/queen.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/queen.dm @@ -44,7 +44,7 @@ owner.remove_alt_appearance("smallqueen") small = 0 -/mob/living/carbon/alien/humanoid/royal/queen/New() +/mob/living/carbon/alien/humanoid/royal/queen/Initialize() //there should only be one queen for(var/mob/living/carbon/alien/humanoid/royal/queen/Q in living_mob_list) if(Q == src) diff --git a/code/modules/mob/living/carbon/alien/larva/larva.dm b/code/modules/mob/living/carbon/alien/larva/larva.dm index 52ffa8bdf7c..2bbc0308808 100644 --- a/code/modules/mob/living/carbon/alien/larva/larva.dm +++ b/code/modules/mob/living/carbon/alien/larva/larva.dm @@ -18,7 +18,7 @@ //This is fine right now, if we're adding organ specific damage this needs to be updated -/mob/living/carbon/alien/larva/New() +/mob/living/carbon/alien/larva/Initialize() AddAbility(new/obj/effect/proc_holder/alien/hide(null)) AddAbility(new/obj/effect/proc_holder/alien/larva_evolve(null)) diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index 3e276c31d2f..f21aff65d10 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -1,7 +1,7 @@ /mob/living/carbon blood_volume = BLOOD_VOLUME_NORMAL -/mob/living/carbon/New() +/mob/living/carbon/Initialize() create_reagents(1000) update_body_parts() //to update the carbon's new bodyparts appearance ..() diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index cfa0a04136f..f401a62889b 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -13,7 +13,7 @@ -/mob/living/carbon/human/New() +/mob/living/carbon/human/Initialize() verbs += /mob/living/proc/mob_sleep verbs += /mob/living/proc/lay_down diff --git a/code/modules/mob/living/carbon/monkey/monkey.dm b/code/modules/mob/living/carbon/monkey/monkey.dm index 548b5aab3ad..156ac27da66 100644 --- a/code/modules/mob/living/carbon/monkey/monkey.dm +++ b/code/modules/mob/living/carbon/monkey/monkey.dm @@ -18,7 +18,7 @@ -/mob/living/carbon/monkey/New() +/mob/living/carbon/monkey/Initialize() verbs += /mob/living/proc/mob_sleep verbs += /mob/living/proc/lay_down diff --git a/code/modules/mob/living/carbon/monkey/punpun.dm b/code/modules/mob/living/carbon/monkey/punpun.dm index 995c30f6fed..073a0634518 100644 --- a/code/modules/mob/living/carbon/monkey/punpun.dm +++ b/code/modules/mob/living/carbon/monkey/punpun.dm @@ -9,7 +9,7 @@ var/list/pet_monkey_names = list("Pun Pun", "Bubbles", "Mojo", "George", "Darwin", "Aldo", "Caeser", "Kanzi", "Kong", "Terk", "Grodd", "Mala", "Bojangles", "Coco", "Able", "Baker", "Scatter", "Norbit", "Travis") var/list/rare_pet_monkey_names = list("Professor Bobo", "Deempisi's Revenge", "Furious George", "King Louie", "Dr. Zaius", "Jimmy Rustles", "Dinner", "Lanky") -/mob/living/carbon/monkey/punpun/New() +/mob/living/carbon/monkey/punpun/Initialize() Read_Memory() if(ancestor_name) name = ancestor_name diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index b59082133b3..51554f848f1 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -1,4 +1,4 @@ -/mob/living/New() +/mob/living/Initialize() . = ..() generateStaticOverlay() if(staticOverlays.len) diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm index 6e681dd0f09..d1dcecca359 100644 --- a/code/modules/mob/living/silicon/ai/ai.dm +++ b/code/modules/mob/living/silicon/ai/ai.dm @@ -85,7 +85,7 @@ var/list/ai_list = list() var/obj/structure/AIcore/deactivated/linked_core //For exosuit control -/mob/living/silicon/ai/New(loc, datum/ai_laws/L, mob/target_ai) +/mob/living/silicon/ai/Initialize(mapload, datum/ai_laws/L, mob/target_ai) ..() if(!target_ai) //If there is no player/brain inside. new/obj/structure/AIcore/deactivated(loc) //New empty terminal. @@ -910,7 +910,7 @@ var/list/ai_list = list() /mob/living/silicon/ai/resist() return -/mob/living/silicon/ai/spawned/New(loc, datum/ai_laws/L, mob/target_ai) +/mob/living/silicon/ai/spawned/Initialize(mapload, datum/ai_laws/L, mob/target_ai) if(!target_ai) target_ai = src //cheat! just give... ourselves as the spawned AI, because that's technically correct ..() diff --git a/code/modules/mob/living/silicon/pai/pai.dm b/code/modules/mob/living/silicon/pai/pai.dm index e80506e418c..59d901cb88b 100644 --- a/code/modules/mob/living/silicon/pai/pai.dm +++ b/code/modules/mob/living/silicon/pai/pai.dm @@ -81,7 +81,8 @@ pai_list -= src ..() -/mob/living/silicon/pai/New(var/obj/item/device/paicard/P) +/mob/living/silicon/pai/Initialize() + var/obj/item/device/paicard/P = loc START_PROCESSING(SSfastprocess, src) pai_list += src make_laws() diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index 4ec42454fea..97c4fb5c98b 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -93,7 +93,7 @@ buckle_lying = FALSE can_ride_typecache = list(/mob/living/carbon/human) -/mob/living/silicon/robot/New(loc) +/mob/living/silicon/robot/Initialize(mapload) spark_system = new /datum/effect_system/spark_spread() spark_system.set_up(5, 0, src) spark_system.attach(src) @@ -816,7 +816,7 @@ Help the operatives secure the disk at all costs!" var/set_module = /obj/item/weapon/robot_module/syndicate -/mob/living/silicon/robot/syndicate/New(loc) +/mob/living/silicon/robot/syndicate/Initialize() ..() cell.maxcharge = 25000 cell.charge = 25000 diff --git a/code/modules/mob/living/silicon/silicon.dm b/code/modules/mob/living/silicon/silicon.dm index eb188bb3662..ed001610136 100644 --- a/code/modules/mob/living/silicon/silicon.dm +++ b/code/modules/mob/living/silicon/silicon.dm @@ -39,7 +39,7 @@ var/law_change_counter = 0 -/mob/living/silicon/New() +/mob/living/silicon/Initialize() ..() silicon_mobs += src var/datum/atom_hud/data/diagnostic/diag_hud = huds[DATA_HUD_DIAGNOSTIC] diff --git a/code/modules/mob/living/simple_animal/bot/bot.dm b/code/modules/mob/living/simple_animal/bot/bot.dm index 99f25ef33d6..9f746c0f5b5 100644 --- a/code/modules/mob/living/simple_animal/bot/bot.dm +++ b/code/modules/mob/living/simple_animal/bot/bot.dm @@ -114,7 +114,7 @@ bot_reset() //Resets an AI's call, should it exist. update_icon() -/mob/living/simple_animal/bot/New() +/mob/living/simple_animal/bot/Initialize() ..() access_card = new /obj/item/weapon/card/id(src) //This access is so bots can be immediately set to patrol and leave Robotics, instead of having to be let out first. @@ -800,7 +800,7 @@ Pass a positive integer as an argument to override a bot's default speed. use_power = 0 var/mob/living/simple_animal/bot/owner = null -/obj/machinery/bot_core/New(loc) +/obj/machinery/bot_core/Initialize() ..() owner = loc if(!istype(owner)) diff --git a/code/modules/mob/living/simple_animal/bot/cleanbot.dm b/code/modules/mob/living/simple_animal/bot/cleanbot.dm index 0a221d8fd82..15612fa82c2 100644 --- a/code/modules/mob/living/simple_animal/bot/cleanbot.dm +++ b/code/modules/mob/living/simple_animal/bot/cleanbot.dm @@ -31,7 +31,7 @@ var/next_dest var/next_dest_loc -/mob/living/simple_animal/bot/cleanbot/New() +/mob/living/simple_animal/bot/cleanbot/Initialize() ..() get_targets() icon_state = "cleanbot[on]" diff --git a/code/modules/mob/living/simple_animal/bot/ed209bot.dm b/code/modules/mob/living/simple_animal/bot/ed209bot.dm index 136527098b1..fc67908f46d 100644 --- a/code/modules/mob/living/simple_animal/bot/ed209bot.dm +++ b/code/modules/mob/living/simple_animal/bot/ed209bot.dm @@ -42,7 +42,7 @@ var/shoot_sound = 'sound/weapons/Taser.ogg' -/mob/living/simple_animal/bot/ed209/New(loc,created_name,created_lasercolor) +/mob/living/simple_animal/bot/ed209/Initialize(mapload,created_name,created_lasercolor) ..() if(created_name) name = created_name diff --git a/code/modules/mob/living/simple_animal/bot/floorbot.dm b/code/modules/mob/living/simple_animal/bot/floorbot.dm index 75425e0981a..61fe93792b3 100644 --- a/code/modules/mob/living/simple_animal/bot/floorbot.dm +++ b/code/modules/mob/living/simple_animal/bot/floorbot.dm @@ -38,7 +38,7 @@ #define REPLACE_TILE 6 #define TILE_EMAG 7 -/mob/living/simple_animal/bot/floorbot/New() +/mob/living/simple_animal/bot/floorbot/Initialize() ..() update_icon() var/datum/job/engineer/J = new/datum/job/engineer diff --git a/code/modules/mob/living/simple_animal/bot/medbot.dm b/code/modules/mob/living/simple_animal/bot/medbot.dm index d51d45b85b6..0f6c3a76d83 100644 --- a/code/modules/mob/living/simple_animal/bot/medbot.dm +++ b/code/modules/mob/living/simple_animal/bot/medbot.dm @@ -85,7 +85,7 @@ else icon_state = "medibot1" -/mob/living/simple_animal/bot/medbot/New() +/mob/living/simple_animal/bot/medbot/Initialize() ..() update_icon() diff --git a/code/modules/mob/living/simple_animal/bot/mulebot.dm b/code/modules/mob/living/simple_animal/bot/mulebot.dm index c1bd34f028f..50fe9bc4102 100644 --- a/code/modules/mob/living/simple_animal/bot/mulebot.dm +++ b/code/modules/mob/living/simple_animal/bot/mulebot.dm @@ -48,7 +48,7 @@ var/global/mulebot_count = 0 var/obj/item/weapon/stock_parts/cell/cell var/bloodiness = 0 -/mob/living/simple_animal/bot/mulebot/New() +/mob/living/simple_animal/bot/mulebot/Initialize() ..() wires = new /datum/wires/mulebot(src) var/datum/job/cargo_tech/J = new/datum/job/cargo_tech diff --git a/code/modules/mob/living/simple_animal/bot/secbot.dm b/code/modules/mob/living/simple_animal/bot/secbot.dm index 60854b5be06..3478458d40f 100644 --- a/code/modules/mob/living/simple_animal/bot/secbot.dm +++ b/code/modules/mob/living/simple_animal/bot/secbot.dm @@ -52,7 +52,7 @@ desc = "It's Officer Pingsky! Delegated to satellite guard duty for harbouring anti-human sentiment." radio_channel = "AI Private" -/mob/living/simple_animal/bot/secbot/New() +/mob/living/simple_animal/bot/secbot/Initialize() ..() icon_state = "secbot[on]" spawn(3) diff --git a/code/modules/mob/living/simple_animal/constructs.dm b/code/modules/mob/living/simple_animal/constructs.dm index 390a875ea96..886c7db33e7 100644 --- a/code/modules/mob/living/simple_animal/constructs.dm +++ b/code/modules/mob/living/simple_animal/constructs.dm @@ -32,7 +32,7 @@ var/playstyle_string = "You are a generic construct! Your job is to not exist, and you should probably adminhelp this." -/mob/living/simple_animal/hostile/construct/New() +/mob/living/simple_animal/hostile/construct/Initialize() ..() for(var/spell in construct_spells) AddSpell(new spell(null)) diff --git a/code/modules/mob/living/simple_animal/friendly/butterfly.dm b/code/modules/mob/living/simple_animal/friendly/butterfly.dm index 869d067cd79..36ad869b051 100644 --- a/code/modules/mob/living/simple_animal/friendly/butterfly.dm +++ b/code/modules/mob/living/simple_animal/friendly/butterfly.dm @@ -24,7 +24,7 @@ verb_exclaim = "flutters intensely" verb_yell = "flutters intensely" -/mob/living/simple_animal/butterfly/New() +/mob/living/simple_animal/butterfly/Initialize() ..() var/newcolor = rgb(rand(0, 255), rand(0, 255), rand(0, 255)) add_atom_colour(newcolor, FIXED_COLOUR_PRIORITY) diff --git a/code/modules/mob/living/simple_animal/friendly/cat.dm b/code/modules/mob/living/simple_animal/friendly/cat.dm index 46c53a0132b..29143ac6999 100644 --- a/code/modules/mob/living/simple_animal/friendly/cat.dm +++ b/code/modules/mob/living/simple_animal/friendly/cat.dm @@ -30,7 +30,7 @@ var/mob/living/simple_animal/mouse/movement_target gold_core_spawnable = 2 -/mob/living/simple_animal/pet/cat/New() +/mob/living/simple_animal/pet/cat/Initialize() ..() verbs += /mob/living/proc/lay_down @@ -85,7 +85,7 @@ var/cats_deployed = 0 var/memory_saved = 0 -/mob/living/simple_animal/pet/cat/Runtime/New() +/mob/living/simple_animal/pet/cat/Runtime/Initialize() if(prob(5)) icon_state = "original" icon_living = "original" diff --git a/code/modules/mob/living/simple_animal/friendly/dog.dm b/code/modules/mob/living/simple_animal/friendly/dog.dm index 2a7338c5eaa..377acecd613 100644 --- a/code/modules/mob/living/simple_animal/friendly/dog.dm +++ b/code/modules/mob/living/simple_animal/friendly/dog.dm @@ -43,7 +43,7 @@ butcher_results = list(/obj/item/weapon/reagent_containers/food/snacks/meat/slab/pug = 3) gold_core_spawnable = 2 -/mob/living/simple_animal/pet/dog/corgi/New() +/mob/living/simple_animal/pet/dog/corgi/Initialize() ..() regenerate_icons() @@ -281,7 +281,7 @@ var/memory_saved = 0 var/saved_head //path -/mob/living/simple_animal/pet/dog/corgi/Ian/New() +/mob/living/simple_animal/pet/dog/corgi/Ian/Initialize() ..() //parent call must happen first to ensure IAN //is not in nullspace when child puppies spawn diff --git a/code/modules/mob/living/simple_animal/friendly/drone/_drone.dm b/code/modules/mob/living/simple_animal/friendly/drone/_drone.dm index 53d9f359391..6d23f54150a 100644 --- a/code/modules/mob/living/simple_animal/friendly/drone/_drone.dm +++ b/code/modules/mob/living/simple_animal/friendly/drone/_drone.dm @@ -68,7 +68,7 @@ var/hacked = 0 //If we have laws to destroy the station var/can_be_held = TRUE //if assholes can pick us up -/mob/living/simple_animal/drone/New() +/mob/living/simple_animal/drone/Initialize() . = ..() access_card = new /obj/item/weapon/card/id(src) diff --git a/code/modules/mob/living/simple_animal/friendly/drone/extra_drone_types.dm b/code/modules/mob/living/simple_animal/friendly/drone/extra_drone_types.dm index e2a991ba265..c56d679a627 100644 --- a/code/modules/mob/living/simple_animal/friendly/drone/extra_drone_types.dm +++ b/code/modules/mob/living/simple_animal/friendly/drone/extra_drone_types.dm @@ -30,7 +30,7 @@ seeStatic = 0 //Our programming is superior. hacked = TRUE -/mob/living/simple_animal/drone/syndrone/New() +/mob/living/simple_animal/drone/syndrone/Initialize() ..() internal_storage.hidden_uplink.telecrystals = 10 @@ -43,7 +43,7 @@ default_hatmask = /obj/item/clothing/head/helmet/space/hardsuit/syndi/elite default_storage = /obj/item/device/radio/uplink/nuclear -/mob/living/simple_animal/drone/syndrone/badass/New() +/mob/living/simple_animal/drone/syndrone/badass/Initialize() ..() internal_storage.hidden_uplink.telecrystals = 30 var/obj/item/weapon/implant/weapons_auth/W = new/obj/item/weapon/implant/weapons_auth(src) @@ -52,7 +52,7 @@ /mob/living/simple_animal/drone/snowflake default_hatmask = /obj/item/clothing/head/chameleon/drone -/mob/living/simple_animal/drone/snowflake/New() +/mob/living/simple_animal/drone/snowflake/Initialize() ..() desc += " This drone appears to have a complex holoprojector built on its 'head'." @@ -76,7 +76,7 @@ default_hatmask = null picked = TRUE -/mob/living/simple_animal/drone/polymorphed/New() +/mob/living/simple_animal/drone/polymorphed/Initialize() . = ..() liberate() visualAppearence = pick(MAINTDRONE, REPAIRDRONE, SCOUTDRONE) @@ -126,7 +126,7 @@ /mob/living/simple_animal/drone/cogscarab/admin //an admin-only subtype of cogscarab with a no-cost proselytizer and slab in its box default_storage = /obj/item/weapon/storage/toolbox/brass/prefilled/ratvar/admin -/mob/living/simple_animal/drone/cogscarab/New() +/mob/living/simple_animal/drone/cogscarab/Initialize() . = ..() set_light(2, 0.5) qdel(access_card) //we don't have free access diff --git a/code/modules/mob/living/simple_animal/friendly/farm_animals.dm b/code/modules/mob/living/simple_animal/friendly/farm_animals.dm index 4035b06a9be..6a132cf8d0e 100644 --- a/code/modules/mob/living/simple_animal/friendly/farm_animals.dm +++ b/code/modules/mob/living/simple_animal/friendly/farm_animals.dm @@ -29,7 +29,7 @@ blood_volume = BLOOD_VOLUME_NORMAL var/obj/item/udder/udder = null -/mob/living/simple_animal/hostile/retaliate/goat/New() +/mob/living/simple_animal/hostile/retaliate/goat/Initialize() udder = new() ..() /mob/living/simple_animal/hostile/retaliate/goat/Destroy() @@ -106,7 +106,7 @@ gold_core_spawnable = 2 blood_volume = BLOOD_VOLUME_NORMAL -/mob/living/simple_animal/cow/New() +/mob/living/simple_animal/cow/Initialize() udder = new() ..() @@ -181,7 +181,7 @@ mob_size = MOB_SIZE_TINY gold_core_spawnable = 2 -/mob/living/simple_animal/chick/New() +/mob/living/simple_animal/chick/Initialize() ..() pixel_x = rand(-6, 6) pixel_y = rand(0, 10) @@ -238,7 +238,7 @@ var/global/chicken_count = 0 var/list/validColors = list("brown","black","white") gold_core_spawnable = 2 -/mob/living/simple_animal/chicken/New() +/mob/living/simple_animal/chicken/Initialize() ..() if(!body_color) body_color = pick(validColors) @@ -297,7 +297,7 @@ var/global/chicken_count = 0 /obj/item/udder name = "udder" -/obj/item/udder/New() +/obj/item/udder/Initialize() reagents = new(50) reagents.my_atom = src reagents.add_reagent("milk", 20) diff --git a/code/modules/mob/living/simple_animal/friendly/mouse.dm b/code/modules/mob/living/simple_animal/friendly/mouse.dm index e22590b56b5..1189273adbe 100644 --- a/code/modules/mob/living/simple_animal/friendly/mouse.dm +++ b/code/modules/mob/living/simple_animal/friendly/mouse.dm @@ -25,7 +25,7 @@ gold_core_spawnable = 2 var/chew_probability = 1 -/mob/living/simple_animal/mouse/New() +/mob/living/simple_animal/mouse/Initialize() ..() if(!body_color) body_color = pick( list("brown","gray","white") ) diff --git a/code/modules/mob/living/simple_animal/friendly/pet.dm b/code/modules/mob/living/simple_animal/friendly/pet.dm index 229218ea7da..baad2da95cf 100644 --- a/code/modules/mob/living/simple_animal/friendly/pet.dm +++ b/code/modules/mob/living/simple_animal/friendly/pet.dm @@ -29,7 +29,7 @@ else ..() -/mob/living/simple_animal/pet/New() +/mob/living/simple_animal/pet/Initialize() ..() if(pcollar) pcollar = new(src) diff --git a/code/modules/mob/living/simple_animal/guardian/guardian.dm b/code/modules/mob/living/simple_animal/guardian/guardian.dm index 5a83efc67f6..665a227a4ee 100644 --- a/code/modules/mob/living/simple_animal/guardian/guardian.dm +++ b/code/modules/mob/living/simple_animal/guardian/guardian.dm @@ -50,7 +50,7 @@ var/global/list/parasites = list() //all currently existing/living guardians var/tech_fluff_string = "BOOT SEQUENCE COMPLETE. ERROR MODULE LOADED. THIS SHOULDN'T HAPPEN. Submit a bug report!" var/carp_fluff_string = "CARP CARP CARP SOME SORT OF HORRIFIC BUG BLAME THE CODERS CARP CARP CARP" -/mob/living/simple_animal/hostile/guardian/New(loc, theme) +/mob/living/simple_animal/hostile/guardian/Initialize(mapload, theme) parasites |= src setthemename(theme) @@ -659,7 +659,7 @@ var/global/list/parasites = list() //all currently existing/living guardians /obj/item/weapon/storage/box/syndie_kit/guardian name = "holoparasite injector kit" -/obj/item/weapon/storage/box/syndie_kit/guardian/New() +/obj/item/weapon/storage/box/syndie_kit/guardian/Initialize() ..() new /obj/item/weapon/guardiancreator/tech/choose/traitor(src) new /obj/item/weapon/paper/guardian(src) diff --git a/code/modules/mob/living/simple_animal/guardian/types/assassin.dm b/code/modules/mob/living/simple_animal/guardian/types/assassin.dm index a794a9420a1..3baafb6c797 100644 --- a/code/modules/mob/living/simple_animal/guardian/types/assassin.dm +++ b/code/modules/mob/living/simple_animal/guardian/types/assassin.dm @@ -16,7 +16,7 @@ var/obj/screen/alert/canstealthalert var/obj/screen/alert/instealthalert -/mob/living/simple_animal/hostile/guardian/assassin/New() +/mob/living/simple_animal/hostile/guardian/assassin/Initialize() ..() stealthcooldown = 0 diff --git a/code/modules/mob/living/simple_animal/guardian/types/support.dm b/code/modules/mob/living/simple_animal/guardian/types/support.dm index afffb626506..9313d1311a7 100644 --- a/code/modules/mob/living/simple_animal/guardian/types/support.dm +++ b/code/modules/mob/living/simple_animal/guardian/types/support.dm @@ -15,7 +15,7 @@ var/beacon_cooldown = 0 var/toggle = FALSE -/mob/living/simple_animal/hostile/guardian/healer/New() +/mob/living/simple_animal/hostile/guardian/healer/Initialize() ..() var/datum/atom_hud/medsensor = huds[DATA_HUD_MEDICAL_ADVANCED] medsensor.add_hud_to(src) diff --git a/code/modules/mob/living/simple_animal/hostile/bees.dm b/code/modules/mob/living/simple_animal/hostile/bees.dm index f01ff29a220..fba21e36637 100644 --- a/code/modules/mob/living/simple_animal/hostile/bees.dm +++ b/code/modules/mob/living/simple_animal/hostile/bees.dm @@ -56,7 +56,7 @@ return 1 -/mob/living/simple_animal/hostile/poison/bees/New() +/mob/living/simple_animal/hostile/poison/bees/Initialize() ..() generate_bee_visuals() @@ -209,7 +209,7 @@ BB.bees |= src beehome = BB -/mob/living/simple_animal/hostile/poison/bees/toxin/New() +/mob/living/simple_animal/hostile/poison/bees/toxin/Initialize() . = ..() var/datum/reagent/R = pick(typesof(/datum/reagent/toxin)) assign_reagent(chemical_reagents_list[initial(R.id)]) @@ -283,12 +283,12 @@ ..() -/obj/item/queen_bee/bought/New() +/obj/item/queen_bee/bought/Initialize() ..() queen = new(src) /obj/item/queen_bee/Destroy() - qdel(queen) + QDEL_NULL(queen) return ..() diff --git a/code/modules/mob/living/simple_animal/hostile/bosses/boss.dm b/code/modules/mob/living/simple_animal/hostile/bosses/boss.dm index 77209751fb9..154afc47bc9 100644 --- a/code/modules/mob/living/simple_animal/hostile/bosses/boss.dm +++ b/code/modules/mob/living/simple_animal/hostile/bosses/boss.dm @@ -11,7 +11,7 @@ var/point_regen_delay = 1 -/mob/living/simple_animal/hostile/boss/New() +/mob/living/simple_animal/hostile/boss/Initialize() ..() atb = new() @@ -90,7 +90,7 @@ /datum/boss_active_timed_battle/New() ..() - SSobj.processing.Add(src) + START_PROCESSING(SSobj, src) /datum/boss_active_timed_battle/proc/assign_abilities(list/L) diff --git a/code/modules/mob/living/simple_animal/hostile/flan.dm b/code/modules/mob/living/simple_animal/hostile/flan.dm index 1d0bfd9aac8..c77fff881e2 100644 --- a/code/modules/mob/living/simple_animal/hostile/flan.dm +++ b/code/modules/mob/living/simple_animal/hostile/flan.dm @@ -34,7 +34,7 @@ var/spelldamage = 15 var/spellcasttime = 15 //if you varedit this also varedit ranged_cooldown_time else the mob will attack again before the spell hits, looking weird but still working -/mob/living/simple_animal/hostile/flan/New() //Required for the inheritance of casting animations. +/mob/living/simple_animal/hostile/flan/Initialize() //Required for the inheritance of casting animations. ..() casting = 0 icon_state = "[initial(icon_state)][casting]" diff --git a/code/modules/mob/living/simple_animal/hostile/hivebot.dm b/code/modules/mob/living/simple_animal/hostile/hivebot.dm index c4f00da7866..7c751f70f4d 100644 --- a/code/modules/mob/living/simple_animal/hostile/hivebot.dm +++ b/code/modules/mob/living/simple_animal/hostile/hivebot.dm @@ -28,7 +28,7 @@ del_on_death = 1 loot = list(/obj/effect/decal/cleanable/robot_debris) -/mob/living/simple_animal/hostile/hivebot/New() +/mob/living/simple_animal/hostile/hivebot/Initialize() ..() deathmessage = "[src] blows apart!" diff --git a/code/modules/mob/living/simple_animal/hostile/hostile.dm b/code/modules/mob/living/simple_animal/hostile/hostile.dm index b653bdcb4cc..13fb015cdac 100644 --- a/code/modules/mob/living/simple_animal/hostile/hostile.dm +++ b/code/modules/mob/living/simple_animal/hostile/hostile.dm @@ -54,7 +54,7 @@ var/lose_patience_timeout = 300 //30 seconds by default, so there's no major changes to AI behaviour, beyond actually bailing if stuck forever -/mob/living/simple_animal/hostile/New() +/mob/living/simple_animal/hostile/Initialize() ..() if(!targets_from) diff --git a/code/modules/mob/living/simple_animal/hostile/mecha_pilot.dm b/code/modules/mob/living/simple_animal/hostile/mecha_pilot.dm index 7f6419fc2fe..5335cd7e350 100644 --- a/code/modules/mob/living/simple_animal/hostile/mecha_pilot.dm +++ b/code/modules/mob/living/simple_animal/hostile/mecha_pilot.dm @@ -39,7 +39,7 @@ spawn_mecha_type = null search_objects = 2 -/mob/living/simple_animal/hostile/syndicate/mecha_pilot/no_mech/New() +/mob/living/simple_animal/hostile/syndicate/mecha_pilot/no_mech/Initialize() ..() wanted_objects = typecacheof(/obj/mecha/combat, ignore_root_path=TRUE) @@ -59,7 +59,7 @@ faction = list("nanotrasen") -/mob/living/simple_animal/hostile/syndicate/mecha_pilot/New() +/mob/living/simple_animal/hostile/syndicate/mecha_pilot/Initialize() ..() if(spawn_mecha_type) var/obj/mecha/M = new spawn_mecha_type (get_turf(src)) diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm index fff83e9ecdd..3516cb14927 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm @@ -103,7 +103,7 @@ Difficulty: Hard INVOKE_ASYNC(src, .proc/warp_charge) -/mob/living/simple_animal/hostile/megafauna/bubblegum/New() +/mob/living/simple_animal/hostile/megafauna/bubblegum/Initialize() ..() for(var/mob/living/simple_animal/hostile/megafauna/bubblegum/B in mob_list) if(B != src) diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm index 3adfb7f328c..20aa46db2e7 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm @@ -91,7 +91,7 @@ Difficulty: Very Hard INVOKE_ASYNC(src, .proc/alternating_dir_shots) -/mob/living/simple_animal/hostile/megafauna/colossus/New() +/mob/living/simple_animal/hostile/megafauna/colossus/Initialize() ..() internal = new/obj/item/device/gps/internal/colossus(src) @@ -105,7 +105,7 @@ Difficulty: Very Hard duration = 8 var/target -/obj/effect/overlay/temp/at_shield/New(new_loc, new_target) +/obj/effect/overlay/temp/at_shield/Initialize(mapload, new_target) ..() target = new_target INVOKE_ASYNC(src, /atom/movable/proc/orbit, target, 0, FALSE, 0, 0, FALSE, TRUE) @@ -631,7 +631,7 @@ Difficulty: Very Hard stop_automated_movement = 1 var/heal_power = 5 -/mob/living/simple_animal/hostile/lightgeist/New() +/mob/living/simple_animal/hostile/lightgeist/Initialize() ..() verbs -= /mob/living/verb/pulled verbs -= /mob/verb/me_verb diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/dragon.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/dragon.dm index 35cdf5102fd..b3fb02394a9 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/dragon.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/dragon.dm @@ -53,7 +53,7 @@ Difficulty: Medium deathmessage = "collapses into a pile of bones, its flesh sloughing away." death_sound = 'sound/magic/demon_dies.ogg' -/mob/living/simple_animal/hostile/megafauna/dragon/New() +/mob/living/simple_animal/hostile/megafauna/dragon/Initialize() ..() internal = new/obj/item/device/gps/internal/dragon(src) @@ -96,7 +96,7 @@ Difficulty: Medium duration = 12 pixel_z = 500 -/obj/effect/overlay/temp/fireball/New(loc) +/obj/effect/overlay/temp/fireball/Initialize(loc) ..() animate(src, pixel_z = 0, time = 12) @@ -121,7 +121,7 @@ Difficulty: Medium /obj/effect/overlay/temp/target/ex_act() return -/obj/effect/overlay/temp/target/New(loc) +/obj/effect/overlay/temp/target/Initialize(loc) ..() INVOKE_ASYNC(src, .proc/fall) diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm index b289fd2b934..8a7344e2625 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm @@ -73,7 +73,7 @@ Difficulty: Hard del_on_death = TRUE death_sound = 'sound/magic/Repulse.ogg' -/mob/living/simple_animal/hostile/megafauna/hierophant/New() +/mob/living/simple_animal/hostile/megafauna/hierophant/Initialize() ..() internal = new/obj/item/device/gps/internal/hierophant(src) spawned_beacon = new(loc) diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/legion.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/legion.dm index 49d516a5ac8..061d11d2e58 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/legion.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/legion.dm @@ -50,7 +50,7 @@ Difficulty: Medium appearance_flags = 0 mouse_opacity = 1 -/mob/living/simple_animal/hostile/megafauna/legion/New() +/mob/living/simple_animal/hostile/megafauna/legion/Initialize() ..() internal = new/obj/item/device/gps/internal/legion(src) diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/swarmer.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/swarmer.dm index 940b673ea85..9ac4acd88ce 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/swarmer.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/swarmer.dm @@ -65,7 +65,7 @@ var/global/list/AISwarmerCapsByType = list(/mob/living/simple_animal/hostile/swa var/static/list/swarmer_caps -/mob/living/simple_animal/hostile/megafauna/swarmer_swarm_beacon/New() +/mob/living/simple_animal/hostile/megafauna/swarmer_swarm_beacon/Initialize() ..() swarmer_caps = AISwarmerCapsByType //for admin-edits internal = new/obj/item/device/gps/internal/swarmer_beacon(src) @@ -108,7 +108,7 @@ var/global/list/AISwarmerCapsByType = list(/mob/living/simple_animal/hostile/swa AIStatus = AI_ON -/mob/living/simple_animal/hostile/swarmer/ai/New() +/mob/living/simple_animal/hostile/swarmer/ai/Initialize() ..() ToggleLight() //so you can see them eating you out of house and home/shooting you/stunlocking you for eternity LAZYINITLIST(AISwarmersByType[type]) @@ -178,7 +178,7 @@ var/global/list/AISwarmerCapsByType = list(/mob/living/simple_animal/hostile/swa var/static/list/sharedIgnore = list() -/mob/living/simple_animal/hostile/swarmer/ai/resource/New() +/mob/living/simple_animal/hostile/swarmer/ai/resource/Initialize() ..() sharedWanted = typecacheof(sharedWanted) sharedIgnore = typecacheof(sharedIgnore) diff --git a/code/modules/mob/living/simple_animal/hostile/mimic.dm b/code/modules/mob/living/simple_animal/hostile/mimic.dm index 374e0d62c05..a2f49cc2cf8 100644 --- a/code/modules/mob/living/simple_animal/hostile/mimic.dm +++ b/code/modules/mob/living/simple_animal/hostile/mimic.dm @@ -110,8 +110,8 @@ var/global/list/protected_objects = list(/obj/structure/table, /obj/structure/ca var/image/googly_eyes = null gold_core_spawnable = 0 -/mob/living/simple_animal/hostile/mimic/copy/New(loc, obj/copy, mob/living/creator, destroy_original = 0) - ..(loc) +/mob/living/simple_animal/hostile/mimic/copy/Initialize(mapload, obj/copy, mob/living/creator, destroy_original = 0) + ..() CopyObject(copy, creator, destroy_original) /mob/living/simple_animal/hostile/mimic/copy/Life() diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs.dm index e7ed85ad01a..3cf5529c25a 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs.dm @@ -141,7 +141,7 @@ var/chase_time = 100 var/will_burrow = TRUE -/mob/living/simple_animal/hostile/asteroid/goldgrub/New() +/mob/living/simple_animal/hostile/asteroid/goldgrub/Initialize() ..() var/i = rand(1,3) while(i) @@ -249,7 +249,7 @@ var/inert = 0 var/preserved = 0 -/obj/item/organ/hivelord_core/New() +/obj/item/organ/hivelord_core/Initialize() ..() addtimer(CALLBACK(src, .proc/inert_check), 2400) @@ -337,7 +337,7 @@ pass_flags = PASSTABLE del_on_death = 1 -/mob/living/simple_animal/hostile/asteroid/hivelordbrood/New() +/mob/living/simple_animal/hostile/asteroid/hivelordbrood/Initialize() ..() addtimer(CALLBACK(src, .proc/death), 100) @@ -355,7 +355,7 @@ reagents.reaction(get_turf(src)) ..() -/mob/living/simple_animal/hostile/asteroid/hivelordbrood/blood/New() +/mob/living/simple_animal/hostile/asteroid/hivelordbrood/blood/Initialize() create_reagents(30) ..() @@ -896,7 +896,7 @@ wanted_objects = list(/obj/effect/decal/cleanable/xenoblood/xgibs, /obj/effect/decal/cleanable/blood/gibs/) var/obj/item/udder/gutlunch/udder = null -/mob/living/simple_animal/hostile/asteroid/gutlunch/New() +/mob/living/simple_animal/hostile/asteroid/gutlunch/Initialize() udder = new() ..() @@ -946,7 +946,7 @@ name = "gubbuck" gender = MALE -/mob/living/simple_animal/hostile/asteroid/gutlunch/gubbuck/New() +/mob/living/simple_animal/hostile/asteroid/gutlunch/gubbuck/Initialize() ..() add_atom_colour(pick("#E39FBB", "#D97D64", "#CF8C4A"), FIXED_COLOUR_PRIORITY) resize = 0.85 @@ -993,7 +993,7 @@ del_on_death = 1 var/gps = null -/mob/living/simple_animal/hostile/spawner/lavaland/New() +/mob/living/simple_animal/hostile/spawner/lavaland/Initialize() ..() for(var/F in RANGE_TURFS(1, src)) if(ismineralturf(F)) diff --git a/code/modules/mob/living/simple_animal/hostile/mushroom.dm b/code/modules/mob/living/simple_animal/hostile/mushroom.dm index e21a863e1db..94941a0508e 100644 --- a/code/modules/mob/living/simple_animal/hostile/mushroom.dm +++ b/code/modules/mob/living/simple_animal/hostile/mushroom.dm @@ -48,7 +48,7 @@ if(!stat)//Mushrooms slowly regenerate if conscious, for people who want to save them from being eaten adjustBruteLoss(-2) -/mob/living/simple_animal/hostile/mushroom/New()//Makes every shroom a little unique +/mob/living/simple_animal/hostile/mushroom/Initialize()//Makes every shroom a little unique melee_damage_lower += rand(3, 5) melee_damage_upper += rand(10,20) maxHealth += rand(40,60) diff --git a/code/modules/mob/living/simple_animal/hostile/retaliate/frog.dm b/code/modules/mob/living/simple_animal/hostile/retaliate/frog.dm index 0d93a7f2b46..7162e4ff0c0 100644 --- a/code/modules/mob/living/simple_animal/hostile/retaliate/frog.dm +++ b/code/modules/mob/living/simple_animal/hostile/retaliate/frog.dm @@ -25,7 +25,7 @@ mob_size = MOB_SIZE_TINY gold_core_spawnable = 1 -/mob/living/simple_animal/hostile/retaliate/frog/New() +/mob/living/simple_animal/hostile/retaliate/frog/Initialize() ..() if(prob(1)) name = "rare frog" diff --git a/code/modules/mob/living/simple_animal/hostile/retaliate/ghost.dm b/code/modules/mob/living/simple_animal/hostile/retaliate/ghost.dm index 5321cce2af1..0353b6b3a04 100644 --- a/code/modules/mob/living/simple_animal/hostile/retaliate/ghost.dm +++ b/code/modules/mob/living/simple_animal/hostile/retaliate/ghost.dm @@ -38,7 +38,7 @@ var/image/ghost_facial_hair = null var/random = TRUE //if you want random names for ghosts or not -/mob/living/simple_animal/hostile/retaliate/ghost/New() +/mob/living/simple_animal/hostile/retaliate/ghost/Initialize() ..() if(!random) give_hair() diff --git a/code/modules/mob/living/simple_animal/hostile/statue.dm b/code/modules/mob/living/simple_animal/hostile/statue.dm index 01dfa7f9f42..faa9b13ffd6 100644 --- a/code/modules/mob/living/simple_animal/hostile/statue.dm +++ b/code/modules/mob/living/simple_animal/hostile/statue.dm @@ -51,7 +51,7 @@ // No movement while seen code. -/mob/living/simple_animal/hostile/statue/New(loc, var/mob/living/creator) +/mob/living/simple_animal/hostile/statue/Initialize(mapload, var/mob/living/creator) ..() // Give spells mob_spell_list += new /obj/effect/proc_holder/spell/aoe_turf/flicker_lights(src) diff --git a/code/modules/mob/living/simple_animal/hostile/stickman.dm b/code/modules/mob/living/simple_animal/hostile/stickman.dm index 3fcdc3e37a7..3f4267e164b 100644 --- a/code/modules/mob/living/simple_animal/hostile/stickman.dm +++ b/code/modules/mob/living/simple_animal/hostile/stickman.dm @@ -50,7 +50,7 @@ icon_living = "stickdog" icon_dead = "stickdog_dead" -/mob/living/simple_animal/hostile/stickman/New(var/turf/loc, var/wizard_summoned) +/mob/living/simple_animal/hostile/stickman/Initialize(mapload, var/wizard_summoned) ..() new /obj/effect/overlay/temp/paper_scatter(src) summoned_by_wizard = wizard_summoned diff --git a/code/modules/mob/living/simple_animal/hostile/wizard.dm b/code/modules/mob/living/simple_animal/hostile/wizard.dm index cae6f7c6f64..efd5ee47c4a 100644 --- a/code/modules/mob/living/simple_animal/hostile/wizard.dm +++ b/code/modules/mob/living/simple_animal/hostile/wizard.dm @@ -37,7 +37,7 @@ var/next_cast = 0 -/mob/living/simple_animal/hostile/wizard/New() +/mob/living/simple_animal/hostile/wizard/Initialize() ..() fireball = new /obj/effect/proc_holder/spell/aimed/fireball fireball.clothes_req = 0 diff --git a/code/modules/mob/living/simple_animal/parrot.dm b/code/modules/mob/living/simple_animal/parrot.dm index 3161901e593..b66dd111666 100644 --- a/code/modules/mob/living/simple_animal/parrot.dm +++ b/code/modules/mob/living/simple_animal/parrot.dm @@ -99,7 +99,7 @@ var/obj/item/held_item = null -/mob/living/simple_animal/parrot/New() +/mob/living/simple_animal/parrot/Initialize() ..() if(!ears) var/headset = pick(/obj/item/device/radio/headset/headset_sec, \ @@ -876,7 +876,7 @@ var/longest_survival = 0 var/longest_deathstreak = 0 -/mob/living/simple_animal/parrot/Poly/New() +/mob/living/simple_animal/parrot/Poly/Initialize() ears = new /obj/item/device/radio/headset/headset_eng(src) available_channels = list(":e") Read_Memory() @@ -949,7 +949,7 @@ incorporeal_move = 1 butcher_results = list(/obj/item/weapon/ectoplasm = 1) -/mob/living/simple_animal/parrot/Poly/ghost/New() +/mob/living/simple_animal/parrot/Poly/ghost/Initialize() memory_saved = 1 //At this point nothing is saved ..() diff --git a/code/modules/mob/living/simple_animal/simple_animal.dm b/code/modules/mob/living/simple_animal/simple_animal.dm index eb469fd4674..afaf7718e0d 100644 --- a/code/modules/mob/living/simple_animal/simple_animal.dm +++ b/code/modules/mob/living/simple_animal/simple_animal.dm @@ -85,7 +85,7 @@ //domestication var/tame = 0 -/mob/living/simple_animal/New() +/mob/living/simple_animal/Initialize() ..() handcrafting = new() if(gender == PLURAL) diff --git a/code/modules/mob/living/simple_animal/slime/slime.dm b/code/modules/mob/living/simple_animal/slime/slime.dm index 4c8c33f087e..023aea68da3 100644 --- a/code/modules/mob/living/simple_animal/slime/slime.dm +++ b/code/modules/mob/living/simple_animal/slime/slime.dm @@ -78,7 +78,7 @@ var/list/slime_colours = list("rainbow", "grey", "purple", "metal", "orange", var/coretype = /obj/item/slime_extract/grey var/list/slime_mutation[4] -/mob/living/simple_animal/slime/New(loc, new_colour="grey", new_is_adult=FALSE) +/mob/living/simple_animal/slime/Initialize(mapload, new_colour="grey", new_is_adult=FALSE) var/datum/action/innate/slime/feed/F = new F.Grant(src) @@ -422,5 +422,5 @@ var/list/slime_colours = list("rainbow", "grey", "purple", "metal", "orange", if(..()) return 3 -/mob/living/simple_animal/slime/random/New(loc, new_colour, new_is_adult) - . = ..(loc, pick(slime_colours), prob(50)) +/mob/living/simple_animal/slime/random/Initialize(mapload, new_colour, new_is_adult) + . = ..(mapload, pick(slime_colours), prob(50)) \ No newline at end of file diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index a00ef03f93d..4a7ebfecf9a 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -20,7 +20,7 @@ return QDEL_HINT_HARDDEL var/next_mob_id = 0 -/mob/New() +/mob/Initialize() tag = "mob_[next_mob_id++]" mob_list += src if(stat == DEAD) @@ -448,7 +448,7 @@ var/next_mob_id = 0 log_game("[usr.key] AM failed due to disconnect.") return - var/mob/new_player/M = new /mob/new_player() + var/mob/dead/new_player/M = new /mob/dead/new_player() if(!client) log_game("[usr.key] AM failed due to disconnect.") qdel(M) diff --git a/code/modules/mob/mob_transformation_simple.dm b/code/modules/mob/mob_transformation_simple.dm index fd07279e830..f53287ee6b5 100644 --- a/code/modules/mob/mob_transformation_simple.dm +++ b/code/modules/mob/mob_transformation_simple.dm @@ -18,7 +18,7 @@ to_chat(usr, "Invalid type path (new_type = [new_type]) in change_mob_type(). Contact a coder.") return - if(ispath(new_type, /mob/new_player)) + if(ispath(new_type, /mob/dead/new_player)) to_chat(usr, "Cannot convert into a new_player mob type.") return diff --git a/code/modules/research/xenobiology/xenobio_camera.dm b/code/modules/research/xenobiology/xenobio_camera.dm index 1938588222d..35895dfdac2 100644 --- a/code/modules/research/xenobiology/xenobio_camera.dm +++ b/code/modules/research/xenobiology/xenobio_camera.dm @@ -5,7 +5,7 @@ icon_state = "camera_target" var/allowed_area = null -/mob/camera/aiEye/remote/xenobio/New(loc) +/mob/camera/aiEye/remote/xenobio/Initialize() var/area/A = get_area(loc) allowed_area = A.name ..() diff --git a/code/modules/shuttle/special.dm b/code/modules/shuttle/special.dm index 650de473283..d039929d2fc 100644 --- a/code/modules/shuttle/special.dm +++ b/code/modules/shuttle/special.dm @@ -150,7 +150,7 @@ status_flags = GODMODE // Please don't punch the barkeeper unique_name = FALSE // disables the (123) number suffix -/mob/living/simple_animal/drone/snowflake/bardrone/New() +/mob/living/simple_animal/drone/snowflake/bardrone/Initialize() . = ..() access_card.access |= access_cent_bar @@ -166,7 +166,7 @@ AIStatus = AI_OFF stop_automated_movement = TRUE -/mob/living/simple_animal/hostile/alien/maid/barmaid/New() +/mob/living/simple_animal/hostile/alien/maid/barmaid/Initialize() . = ..() access_card = new /obj/item/weapon/card/id(src) var/datum/job/captain/C = new /datum/job/captain diff --git a/code/world.dm b/code/world.dm index 2b7ef6c93e7..986049afeaf 100644 --- a/code/world.dm +++ b/code/world.dm @@ -1,5 +1,5 @@ /world - mob = /mob/new_player + mob = /mob/dead/new_player turf = /turf/basic area = /area/space view = "15x15" diff --git a/tgstation.dme b/tgstation.dme index 68c913e2106..5dda89d7cd2 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -1414,7 +1414,13 @@ #include "code\modules\mob\transform_procs.dm" #include "code\modules\mob\update_icons.dm" #include "code\modules\mob\camera\camera.dm" -#include "code\modules\mob\dead\death.dm" +#include "code\modules\mob\dead\dead.dm" +#include "code\modules\mob\dead\new_player\login.dm" +#include "code\modules\mob\dead\new_player\logout.dm" +#include "code\modules\mob\dead\new_player\new_player.dm" +#include "code\modules\mob\dead\new_player\poll.dm" +#include "code\modules\mob\dead\new_player\preferences_setup.dm" +#include "code\modules\mob\dead\new_player\sprite_accessories.dm" #include "code\modules\mob\dead\observer\login.dm" #include "code\modules\mob\dead\observer\logout.dm" #include "code\modules\mob\dead\observer\observer.dm" @@ -1669,12 +1675,6 @@ #include "code\modules\mob\living\simple_animal\slime\say.dm" #include "code\modules\mob\living\simple_animal\slime\slime.dm" #include "code\modules\mob\living\simple_animal\slime\subtypes.dm" -#include "code\modules\mob\new_player\login.dm" -#include "code\modules\mob\new_player\logout.dm" -#include "code\modules\mob\new_player\new_player.dm" -#include "code\modules\mob\new_player\poll.dm" -#include "code\modules\mob\new_player\preferences_setup.dm" -#include "code\modules\mob\new_player\sprite_accessories.dm" #include "code\modules\modular_computers\laptop_vendor.dm" #include "code\modules\modular_computers\computers\item\computer.dm" #include "code\modules\modular_computers\computers\item\computer_components.dm"