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 84513bef214..abbf7702bc7 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 c21bec3d2e8..3a260e367df 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 0f5bd67c08e..4ad071fdd3b 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 71c68278d0a..aa810002935 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 1651965af2d..62b7cab4fa4 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 444242f298c..4be3a35f32a 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 84f245c82f7..d29d1d57d00 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