From 9a2ee43b5958fb3c00eb6b40a0f9748bcdf407e1 Mon Sep 17 00:00:00 2001 From: "mport2004@gmail.com" Date: Sun, 30 Oct 2011 07:14:17 +0000 Subject: [PATCH] Fixed some runtimes. Job system once again has -1 as unlimited. git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2451 316c924e-a436-60f5-8080-3fe189b3f50e --- code/game/gamemodes/cult/cult.dm | 4 +++- code/game/jobs/job/assistant.dm | 4 ++-- code/game/jobs/job_controller.dm | 8 +++++--- code/game/machinery/kitchen/microwave.dm | 3 ++- code/modules/admin/admin.dm | 2 +- code/modules/admin/verbs/adminhelp.dm | 4 +++- code/modules/food/recipes_microwave.dm | 2 +- .../mob/living/carbon/alien/humanoid/alien_powers.dm | 2 +- code/modules/mob/new_player/new_player.dm | 6 +++--- code/modules/projectiles/gun.dm | 2 +- code/modules/research/designs.dm | 2 ++ 11 files changed, 24 insertions(+), 15 deletions(-) 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)"