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