diff --git a/code/game/gamemodes/cult/cult.dm b/code/game/gamemodes/cult/cult.dm
index 92da69b9b7..72950da028 100644
--- a/code/game/gamemodes/cult/cult.dm
+++ b/code/game/gamemodes/cult/cult.dm
@@ -306,8 +306,10 @@
else
if(sacrificed.Find(sacrifice_target))
explanation = "Sacrifice [sacrifice_target.current.real_name], the [sacrifice_target.assigned_role]. \green Success!"
- else
+ else if(sacrifice_target && sacrifice_target.current)
explanation = "Sacrifice [sacrifice_target.current.real_name], the [sacrifice_target.assigned_role]. \red Failed."
+ else
+ explanation = "Sacrifice Unknown, the Unknown whos body was likely gibbed. \red Failed."
if("eldergod")
if(!eldergod)
explanation = "Summon Nar-Sie. \green Success!"
diff --git a/code/game/jobs/job/assistant.dm b/code/game/jobs/job/assistant.dm
index abbf7702bc..84513bef21 100644
--- a/code/game/jobs/job/assistant.dm
+++ b/code/game/jobs/job/assistant.dm
@@ -3,8 +3,8 @@
flag = ASSISTANT
department_flag = CIVILIAN
faction = "Station"
- total_positions = 1000
- spawn_positions = 1000
+ total_positions = -1
+ spawn_positions = -1
equip(var/mob/living/carbon/human/H)
diff --git a/code/game/jobs/job_controller.dm b/code/game/jobs/job_controller.dm
index 7c989a68b4..df35f882a3 100644
--- a/code/game/jobs/job_controller.dm
+++ b/code/game/jobs/job_controller.dm
@@ -53,7 +53,7 @@ var/global/datum/controller/occupations/job_master
var/position_limit = job.total_positions
if(!latejoin)
position_limit = job.spawn_positions
- if(job.current_positions < position_limit)
+ if((job.current_positions < position_limit) || position_limit == -1)
Debug("Player: [player] is now Rank: [rank], JCP:[job.current_positions], JPL:[position_limit]")
player.mind.assigned_role = rank
unassigned -= player
@@ -179,9 +179,9 @@ var/global/datum/controller/occupations/job_master
Debug("Checking job: [job]")
if(!job) continue
if(!unassigned.len) break
- if(job.current_positions >= job.spawn_positions) continue
+ if((job.current_positions >= job.spawn_positions) && job.spawn_positions != -1) continue
var/list/candidates = FindOccupationCandidates(job, level)
- while(candidates.len && (job.current_positions < job.spawn_positions))
+ while(candidates.len && ((job.current_positions < job.spawn_positions) || job.spawn_positions == -1))
var/mob/new_player/candidate = pick(candidates)
Debug("Selcted: [candidate], for: [job.title]")
AssignRole(candidate, job.title)
@@ -297,5 +297,7 @@ var/global/datum/controller/occupations/job_master
if(!J) continue
J.total_positions = text2num(value)
J.spawn_positions = text2num(value)
+ if(name == "AI" || name == "Cyborg")//I dont like this here but it will do for now
+ J.total_positions = 0
return 1
\ No newline at end of file
diff --git a/code/game/machinery/kitchen/microwave.dm b/code/game/machinery/kitchen/microwave.dm
index 525a0d6154..f01665210e 100644
--- a/code/game/machinery/kitchen/microwave.dm
+++ b/code/game/machinery/kitchen/microwave.dm
@@ -269,7 +269,8 @@
return
cooked = recipe.make_food(src)
stop()
- cooked.loc = src.loc
+ if(cooked)
+ cooked.loc = src.loc
return
/obj/machinery/microwave/proc/wzhzhzh(var/seconds as num)
diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm
index 297b4cb941..e2ea577a2b 100644
--- a/code/modules/admin/admin.dm
+++ b/code/modules/admin/admin.dm
@@ -654,7 +654,7 @@
if (href_list["revive"])
if ((src.rank in list( "Trial Admin", "Badmin", "Game Admin", "Game Master" )))
var/mob/living/M = locate(href_list["revive"])
- if (ismob(M))
+ if (isliving(M))
if(config.allow_admin_rev)
M.revive()
message_admins("\red Admin [key_name_admin(usr)] healed / revived [key_name_admin(M)]!", 1)
diff --git a/code/modules/admin/verbs/adminhelp.dm b/code/modules/admin/verbs/adminhelp.dm
index 84d5ccb12f..c64d19da58 100644
--- a/code/modules/admin/verbs/adminhelp.dm
+++ b/code/modules/admin/verbs/adminhelp.dm
@@ -21,4 +21,6 @@
usr << "Your message has been broadcast to administrators."
log_admin("HELP: [key_name(src)]: [msg]")
- tension_master.new_adminhelp()
+ if(tension_master)
+ tension_master.new_adminhelp()
+ return
diff --git a/code/modules/food/recipes_microwave.dm b/code/modules/food/recipes_microwave.dm
index 69683daca5..e3050ca865 100644
--- a/code/modules/food/recipes_microwave.dm
+++ b/code/modules/food/recipes_microwave.dm
@@ -182,7 +182,7 @@
result = /obj/item/weapon/reagent_containers/food/snacks/donkpocket //SPECIAL
make_food(var/obj/container as obj)
var/obj/item/weapon/reagent_containers/food/snacks/donkpocket/being_cooked = locate() in container
- if (!being_cooked.warm)
+ if(being_cooked && !being_cooked.warm)
warm_up(being_cooked)
return being_cooked
diff --git a/code/modules/mob/living/carbon/alien/humanoid/alien_powers.dm b/code/modules/mob/living/carbon/alien/humanoid/alien_powers.dm
index b1b1734a1c..bcbd5ede40 100644
--- a/code/modules/mob/living/carbon/alien/humanoid/alien_powers.dm
+++ b/code/modules/mob/living/carbon/alien/humanoid/alien_powers.dm
@@ -159,7 +159,7 @@ I kind of like the right click only--the window version can get a little confusi
// Hacky way of hopefully preventing a runtime error from happening
if(vents.len < selection_position)
- vents.len = selection_position
+ vents.len = selection_position//What the fuck is this I dont even, Right will likely have to fix this later
var/obj/machinery/atmospherics/unary/vent_pump/target_vent = vents[selection_position]
if(target_vent)
diff --git a/code/modules/mob/new_player/new_player.dm b/code/modules/mob/new_player/new_player.dm
index 8520524c5c..bd3cdf4a91 100644
--- a/code/modules/mob/new_player/new_player.dm
+++ b/code/modules/mob/new_player/new_player.dm
@@ -151,7 +151,7 @@
return 1
if(href_list["ready"])
- if (!src.client.authenticated)
+ if (!client.authenticated)
src << "You are not authorized to enter the game."
return
@@ -165,7 +165,7 @@
new_player_panel_proc()
if(href_list["observe"])
- if (!usr.client.authenticated)
+ if (!client.authenticated)
src << "You are not authorized to enter the game."
return
@@ -191,7 +191,7 @@
LateChoices()
if(href_list["SelectedJob"])
- if(!usr.client.authenticated)
+ if(!client.authenticated)
src << "You are not authorized to enter the game."
return
diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm
index b674361086..0827ffe455 100644
--- a/code/modules/projectiles/gun.dm
+++ b/code/modules/projectiles/gun.dm
@@ -95,7 +95,7 @@
in_chamber.yo = targloc.y - curloc.y
in_chamber.xo = targloc.x - curloc.x
spawn()
- in_chamber.process()
+ if(in_chamber) in_chamber.process()
sleep(1)
in_chamber = null
diff --git a/code/modules/research/designs.dm b/code/modules/research/designs.dm
index da096e22c2..5cd027f891 100644
--- a/code/modules/research/designs.dm
+++ b/code/modules/research/designs.dm
@@ -202,6 +202,7 @@ datum
materials = list("$glass" = 2000, "acid" = 20)
build_path = "/obj/item/weapon/circuitboard/air_management"
+/* Uncomment if someone makes these buildable
general_alert
name = "Circuit Design (General Alert Console)"
desc = "Allows for the construction of circuit boards used to build a General Alert console."
@@ -210,6 +211,7 @@ datum
build_type = IMPRINTER
materials = list("$glass" = 2000, "acid" = 20)
build_path = "/obj/item/weapon/circuitboard/general_alert"
+*/
robocontrol
name = "Circuit Design (Robotics Control Console)"