From 897a89308f44dc0f38923bede571fc37cc683273 Mon Sep 17 00:00:00 2001 From: "mport2004@gmail.com" Date: Tue, 11 Oct 2011 10:00:05 +0000 Subject: [PATCH] Had an extra arg going into the job selection proc. Turned off the new del test on the singularity for now. Bit of work on the signalers. Jetpacks edited to use less fuel. git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2341 316c924e-a436-60f5-8080-3fe189b3f50e --- code/game/jobs/job/assistant.dm | 4 +- code/game/jobs/job/captian.dm | 2 +- code/game/jobs/job_controller.dm | 7 +- code/game/objects/tank.dm | 6 +- code/modules/assembly/signaler.dm | 72 ++++++++++--------- code/modules/mob/new_player/new_player.dm | 2 +- code/modules/power/singularity/singularity.dm | 2 +- 7 files changed, 52 insertions(+), 43 deletions(-) diff --git a/code/game/jobs/job/assistant.dm b/code/game/jobs/job/assistant.dm index 84513bef21..abbf7702bc 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 = -1 - spawn_positions = -1 + total_positions = 1000 + spawn_positions = 1000 equip(var/mob/living/carbon/human/H) diff --git a/code/game/jobs/job/captian.dm b/code/game/jobs/job/captian.dm index c21bec3d2e..3a260e367d 100644 --- a/code/game/jobs/job/captian.dm +++ b/code/game/jobs/job/captian.dm @@ -22,7 +22,7 @@ var/obj/item/weapon/implant/loyalty/L = new/obj/item/weapon/implant/loyalty(H) L.imp_in = H L.implanted = 1 - world << "[src] is the captain!" + world << "[H.real_name] is the captain!" return 1 diff --git a/code/game/jobs/job_controller.dm b/code/game/jobs/job_controller.dm index 0f5bd67c08..4ad071fdd3 100644 --- a/code/game/jobs/job_controller.dm +++ b/code/game/jobs/job_controller.dm @@ -34,7 +34,7 @@ var/global/datum/controller/occupations/job_master if((player) && (player.mind) && (job)) var/datum/job/J = GetJob(job) if(jobban_isbanned(player, job)) return 0 - if(J && ((J.title == "Assistant") || ( (J.current_positions < J.total_positions) || ((J.current_positions < J.spawn_positions) && !latejoin)) )) + if( J && ( (J.current_positions < J.total_positions) || ((J.current_positions < J.spawn_positions) && !latejoin)) ) player.mind.assigned_role = J.title unassigned -= player J.current_positions++ @@ -145,10 +145,11 @@ var/global/datum/controller/occupations/job_master if(!job) continue if(!unassigned.len) break if(job.current_positions >= job.spawn_positions) continue - var/list/candidates = FindOccupationCandidates(unassigned, job, level) + var/list/candidates = FindOccupationCandidates(job, level) while(candidates.len && (job.current_positions < job.spawn_positions)) var/mob/new_player/candidate = pick(candidates) - AssignRole(candidate, job) + if(!AssignRole(candidate, job.title)) + candidates -= candidate for(var/mob/new_player/player in unassigned) AssignRole(player, "Assistant") diff --git a/code/game/objects/tank.dm b/code/game/objects/tank.dm index 71c68278d0..aa81000293 100644 --- a/code/game/objects/tank.dm +++ b/code/game/objects/tank.dm @@ -430,16 +430,16 @@ var/datum/gas_mixture/G = src.air_contents.remove(num) - if (G.oxygen >= 0.01) + if (G.oxygen >= 0.005) return 1 if (G.toxins > 0.001) if (user) var/d = G.toxins / 2 d = min(abs(user.health + 100), d, 25) user.take_organ_damage(0,d) - return (G.oxygen >= 0.0075 ? 0.5 : 0) + return (G.oxygen >= 0.0025 ? 0.5 : 0) else - if (G.oxygen >= 0.0075) + if (G.oxygen >= 0.0025) return 0.5 else return 0 diff --git a/code/modules/assembly/signaler.dm b/code/modules/assembly/signaler.dm index 1651965af2..62b7cab4fa 100644 --- a/code/modules/assembly/signaler.dm +++ b/code/modules/assembly/signaler.dm @@ -24,13 +24,13 @@ activate() - if(!..()) return 0//Cooldown check + if(cooldown > 0) return 0 + cooldown = 2 + spawn(10) + process_cooldown() + signal() - pulse(0) - if(istype(src.loc, /obj/machinery/door/airlock) && src.airlock_wire && src.wires) - var/obj/machinery/door/airlock/A = src.loc - A.pulse(src.airlock_wire) -// pulse(1)//? + return 1 @@ -67,34 +67,32 @@ Topic(href, href_list) - //..() - if(usr.stat) + ..() + + if(get_dist(src, usr) > 1) + usr << browse(null, "window=signal") + onclose(usr, "signal") return - if ((usr.contents.Find(src) || (usr.contents.Find(src.holder) || (in_range(src, usr) && istype(src.loc, /turf))))) - usr.machine = src - if (href_list["freq"]) - src.frequency += text2num(href_list["freq"]) - src.frequency = round(src.frequency) - src.frequency = min(100, src.frequency) - src.frequency = max(1, src.frequency) - return - if(href_list["code"]) - src.code += text2num(href_list["code"]) - src.code = round(src.code) - src.code = min(100, src.code) - src.code = max(1, src.code) + if (href_list["freq"]) + src.frequency += text2num(href_list["freq"]) + src.frequency = round(src.frequency) + src.frequency = min(100, src.frequency) + src.frequency = max(1, src.frequency) - if(href_list["send"]) - spawn( 0 ) - send_signal() - return + if(href_list["code"]) + src.code += text2num(href_list["code"]) + src.code = round(src.code) + src.code = min(100, src.code) + src.code = max(1, src.code) + + if(href_list["send"]) + spawn( 0 ) + signal() + + if(usr) + attack_self(usr) -// if(href_list["listen"]) -// src.listening = text2num(href_list["listen"]) - else - usr << browse(null, "window=radio") - return return proc/signal()//will have to do for now @@ -102,6 +100,16 @@ if(!S) continue if(S == src) continue if((S.frequency == src.frequency) && (S.code == src.code)) - S.pulsed(1) + spawn(0) + S.pulse(0) return 1 - return 0 \ No newline at end of file + return 0 + + + pulse(var/radio = 0) + if(istype(src.loc, /obj/machinery/door/airlock) && src.airlock_wire && src.wires) + var/obj/machinery/door/airlock/A = src.loc + A.pulse(src.airlock_wire) + else + holder.process_activation(src, 1, 0) + return 1 \ No newline at end of file diff --git a/code/modules/mob/new_player/new_player.dm b/code/modules/mob/new_player/new_player.dm index 444242f298..4be3a35f32 100644 --- a/code/modules/mob/new_player/new_player.dm +++ b/code/modules/mob/new_player/new_player.dm @@ -217,7 +217,7 @@ proc/AttemptLateSpawn(rank) var/datum/job/job = job_master.GetJob(rank) - if(job && ((job.title == "Assistant") || (job.current_positions < job.total_positions))) + if(job && (job.current_positions < job.total_positions)) var/mob/living/carbon/human/character = create_character() var/icon/char_icon = getFlatIcon(character,0)//We're creating out own cache so it's not needed. if(job_master.AssignRole(character, rank, 1)) diff --git a/code/modules/power/singularity/singularity.dm b/code/modules/power/singularity/singularity.dm index 84f245c82f..d29d1d57d0 100644 --- a/code/modules/power/singularity/singularity.dm +++ b/code/modules/power/singularity/singularity.dm @@ -31,7 +31,7 @@ var/global/list/uneatable = list( event_chance = 15 //Prob for event each tick target = null //its target. moves towards the target if it has one last_failed_movement = 0//Will not move in the same dir if it couldnt before, will help with the getting stuck on fields thing - teleport_del = 1 + teleport_del = 0 New(loc, var/starting_energy = 50, var/temp = 0) src.energy = starting_energy