From d9b1d95a707a6f2909e5cdade5c907e9d92229e5 Mon Sep 17 00:00:00 2001 From: CaelAislinn Date: Fri, 20 Jan 2012 00:51:40 +1000 Subject: [PATCH 01/29] fixed autolathe queueing bug Signed-off-by: CaelAislinn --- code/game/machinery/autolathe.dm | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/code/game/machinery/autolathe.dm b/code/game/machinery/autolathe.dm index 8e9066b5a1..cdb10bee6a 100644 --- a/code/game/machinery/autolathe.dm +++ b/code/game/machinery/autolathe.dm @@ -178,8 +178,11 @@ container.layer = initial(container.layer) if(href_list["modifyOutputAmount"]) outputAmount = text2num(input(usr,"Amount:","Enter new quantity to create","")) - if(outputAmount < 1) - outputAmount = 1 + if(!busy) + if(outputAmount < 1) + outputAmount = 1 + else + usr << "\red The autolathe is busy. Please wait for completion of previous operation." if (!busy) if(href_list["make"]) makeDir = get_dir(src,usr) From 822c6e392309daed24c828dfa17fd63ab8f8eb1c Mon Sep 17 00:00:00 2001 From: cib Date: Thu, 19 Jan 2012 20:47:04 -0800 Subject: [PATCH 02/29] Changes related to the response team. - There's now a chance involved with the response team spawning. The more people are dead, and the more antagonists there are, the higher the chance will be. - You can now jobban people from the response team. --- code/game/response_team.dm | 35 +++++++++++++++++++++++++++++++++++ code/modules/admin/admin.dm | 7 +++++++ 2 files changed, 42 insertions(+) diff --git a/code/game/response_team.dm b/code/game/response_team.dm index daadaac5cf..a0ec295cc2 100644 --- a/code/game/response_team.dm +++ b/code/game/response_team.dm @@ -10,6 +10,9 @@ client/verb/JoinResponseTeam() if(!send_emergency_team) usr << "No emergency response team is currently being sent." return + if(jobban_isbanned(usr, "Syndicate") || jobban_isbanned(usr, "Emergency Response Team") || jobban_isbanned(usr, "Security Officer")) + usr << "You are jobbanned from the emergency reponse team!" + return if(response_team_members.len > 5) usr << "The emergency response team is already full!" @@ -32,10 +35,42 @@ client/verb/JoinResponseTeam() else usr << "You need to be an observer or new player to use this." +// returns a number of dead players in % +proc/percentage_dead() + var/total = 0 + var/deadcount = 0 + for(var/mob/living/carbon/human/H in world) if(H.mind) // I *think* monkeys gone human don't have a mind + if(H.stat == 2) deadcount++ + total++ + + if(total == 0) return 0 + else return round(100 * deadcount / total) + +// counts the number of antagonists in % +proc/percentage_antagonists() + var/total = 0 + var/antagonists = 0 + for(var/mob/living/carbon/human/H in world) + if(is_special_character(H) >= 1) + antagonists++ + total++ + + if(total == 0) return 0 + else return round(100 * antagonists / total) + + proc/trigger_armed_response_team() if(send_emergency_team) return + var/send_team_chance = 20 // base chance that a team will be sent + send_team_chance += 2*percentage_dead() // the more people are dead, the higher the chance + send_team_chance += percentage_antagonists() // the more antagonists, the higher the chance + send_team_chance = min(send_team_chance, 100) + + // there's only a certain chance a team will be sent + if(!prob(send_team_chance)) return + command_alert("According to our sensors, [station_name()] has entered code red. We will prepare and dispatch an emergency response team to deal with the situation.", "Command Report") send_emergency_team = 1 diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm index 48c462e243..2f94d13989 100644 --- a/code/modules/admin/admin.dm +++ b/code/modules/admin/admin.dm @@ -202,6 +202,12 @@ else jobs += "
[dd_replacetext("Syndicate", " ", " ")] " + if(jobban_isbanned(M, "Emergency Response Team")) + jobs += "
[dd_replacetext("Emergency Response Team", " ", " ")] " + else + jobs += "
[dd_replacetext("Emergency Response Team", " ", " ")] " + + if(jobban_isbanned(M, "pAI")) jobs += "
pAI " else @@ -333,6 +339,7 @@ jobs += "Scientist+RD
" jobs += "AI+Cyborg
" jobs += "Detective+HoS

" + jobs += "Emergency Response Team

" for(var/datum/job/job in job_master.occupations) if(job.title == "Tourist") continue From 301682f7fa75e75c865c001577bd0afc2bb74b97 Mon Sep 17 00:00:00 2001 From: cib Date: Thu, 19 Jan 2012 20:47:52 -0800 Subject: [PATCH 03/29] Added a Active Players verb. This verb shows you how many players are currently in the game and have been active in the last 10 minutes. --- code/game/verbs/who.dm | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/code/game/verbs/who.dm b/code/game/verbs/who.dm index 8ce32872d5..0660b1bfbe 100644 --- a/code/game/verbs/who.dm +++ b/code/game/verbs/who.dm @@ -34,3 +34,16 @@ usr << "[M.key] is a [M.client.holder.rank][M.client.stealth ? " (as [M.client.fakekey])" : ""]" else if(!M.client.stealth && (M.client.holder.level != -3)) usr << "\t[M.client]" + +/client/verb/active_players() + set category = "OOC" + set name = "Active Players" + var/total = 0 + for(var/mob/living/M in world) + if(!M.client) continue + if(M.client.inactivity > 10 * 60 * 10) continue + if(M.stat == 2) continue + + total++ + + usr << "Active Players: [total]" \ No newline at end of file From f1b2f77586f7d52e20c3395b02eccfa9142bf080 Mon Sep 17 00:00:00 2001 From: CaelAislinn Date: Fri, 20 Jan 2012 23:53:03 +1000 Subject: [PATCH 04/29] added pacman type II generator and the pacmanII circuit board. pacman2 runs off plasma tanks instead of coins, but doesn't output as much power (90% of the t1 gen, to be precise) and requires the same level of power storage tech to make as a super pacman. untested, but should work. Signed-off-by: CaelAislinn --- code/game/machinery/constructable_frame.dm | 12 ++ code/modules/power/pacman2.dm | 175 +++++++++++++++++++++ code/modules/power/port_gen.dm | 5 +- 3 files changed, 190 insertions(+), 2 deletions(-) create mode 100644 code/modules/power/pacman2.dm diff --git a/code/game/machinery/constructable_frame.dm b/code/game/machinery/constructable_frame.dm index 83aa5544d3..667347e48e 100644 --- a/code/game/machinery/constructable_frame.dm +++ b/code/game/machinery/constructable_frame.dm @@ -225,6 +225,18 @@ to destroy them and players will be able to make replacements. build_path = "/obj/machinery/power/port_gen/pacman/mrs" origin_tech = "programming=3;powerstorage=5;engineering=5" +/obj/item/weapon/circuitboard/pacman2 + name = "Circuit Board (PACMANII-type Generator)" + build_path = "/obj/machinery/power/port_gen/pacman2" + board_type = "machine" + origin_tech = "programming=3:powerstorage=4;plasmatech=3;engineering=3" + frame_desc = "Requires 1 Matter Bin, 1 Micro-Laser, 2 Pieces of Cable, and 1 Capacitor." + req_components = list( + "/obj/item/weapon/stock_parts/matter_bin" = 1, + "/obj/item/weapon/stock_parts/micro_laser" = 1, + "/obj/item/weapon/cable_coil" = 2, + "/obj/item/weapon/stock_parts/capacitor" = 1) + obj/item/weapon/circuitboard/rdserver name = "Circuit Board (R&D Server)" build_path = "/obj/machinery/r_n_d/server" diff --git a/code/modules/power/pacman2.dm b/code/modules/power/pacman2.dm new file mode 100644 index 0000000000..a648d79414 --- /dev/null +++ b/code/modules/power/pacman2.dm @@ -0,0 +1,175 @@ + +//Baseline portable generator. Has all the default handling. Not intended to be used on it's own (since it generates unlimited power). +/obj/machinery/power/port_gen/pacman2 + name = "Pacman II" + desc = "P.A.C.M.A.N. type II portable generator. Uses liquid plasma as a fuel source." + power_gen = 4500 + var + obj/item/weapon/tank/plasma/P = null + board_path = "/obj/item/weapon/circuitboard/pacman" + emagged = 0 + heat = 0 +/* + process() + if(P) + if(P.air_contents.toxins <= 0) + P.air_contents.toxins = 0 + eject() + else + P.air_contents.toxins -= 0.001 + return +*/ + + HasFuel() + if(P.air_contents.toxins >= 0.1) + return 1 + return 0 + + UseFuel() + P.air_contents.toxins -= 0.01 + return + + New() + ..() + component_parts = list() + component_parts += new /obj/item/weapon/stock_parts/matter_bin(src) + component_parts += new /obj/item/weapon/stock_parts/micro_laser(src) + component_parts += new /obj/item/weapon/cable_coil(src) + component_parts += new /obj/item/weapon/cable_coil(src) + component_parts += new /obj/item/weapon/stock_parts/capacitor(src) + component_parts += new board_path(src) + RefreshParts() + + RefreshParts() + var/temp_rating = 0 + var/temp_reliability = 0 + for(var/obj/item/weapon/stock_parts/SP in component_parts) + if(istype(SP, /obj/item/weapon/stock_parts/matter_bin)) + //max_coins = SP.rating * SP.rating * 1000 + else if(istype(SP, /obj/item/weapon/stock_parts/micro_laser) || istype(SP, /obj/item/weapon/stock_parts/capacitor)) + temp_rating += SP.rating + for(var/obj/item/weapon/CP in component_parts) + temp_reliability += CP.reliability + reliability = min(round(temp_reliability / 4), 100) + power_gen = round(initial(power_gen) * (max(2, temp_rating) / 2)) + + examine() + ..() + usr << "\blue The generator has [P.air_contents.toxins] units of fuel left, producing [power_gen] per cycle." + if(crit_fail) usr << "\red The generator seems to have broken down." + + handleInactive() + heat -= 2 + if (heat < 0) + heat = 0 + else + for(var/mob/M in viewers(1, src)) + if (M.client && M.machine == src) + src.updateUsrDialog() + + proc + overheat() + explosion(src.loc, 2, 5, 2, -1) + + attackby(var/obj/item/O as obj, var/mob/user as mob) + if(istype(O, /obj/item/weapon/tank/plasma)) + if(P) + user << "\red The generator already has a plasma tank loaded!" + return + P = O + user.drop_item() + O.loc = src + user << "\blue You add the plasma tank to the generator." + else if (istype(O, /obj/item/weapon/card/emag)) + emagged = 1 + emp_act(1) + else if(!active) + if(istype(O, /obj/item/weapon/wrench)) + anchored = !anchored + playsound(src.loc, 'Deconstruct.ogg', 50, 1) + if(anchored) + user << "\blue You secure the generator to the floor." + else + user << "\blue You unsecure the generator from the floor." + makepowernets() + else if(istype(O, /obj/item/weapon/screwdriver)) + open = !open + playsound(src.loc, 'Screwdriver.ogg', 50, 1) + if(open) + user << "\blue You open the access panel." + else + user << "\blue You close the access panel." + else if(istype(O, /obj/item/weapon/crowbar) && !open) + var/obj/machinery/constructable_frame/machine_frame/new_frame = new /obj/machinery/constructable_frame/machine_frame(src.loc) + for(var/obj/item/I in component_parts) + if(I.reliability < 100) + I.crit_fail = 1 + I.loc = src.loc + new_frame.state = 2 + new_frame.icon_state = "box_1" + del(src) + + attack_hand(mob/user as mob) + ..() + if (!anchored) + return + + interact(user) + + attack_ai(mob/user as mob) + interact(user) + + attack_paw(mob/user as mob) + interact(user) + + proc + interact(mob/user) + if (get_dist(src, user) > 1 ) + if (!istype(user, /mob/living/silicon/ai)) + user.machine = null + user << browse(null, "window=port_gen") + return + + user.machine = src + + var/dat = text("[name]
") + if (active) + dat += text("Generator: On
") + else + dat += text("Generator: Off
") + if(P) + dat += text("Currently loaded plasma tank: [P.air_contents.toxins]
") + else + dat += text("No plasma tank currently loaded.
") + dat += text("Power output: - [power_gen * power_output] +
") + dat += text("Heat: [heat]
") + dat += "
Close" + user << browse("[dat]", "window=port_gen") + + Topic(href, href_list) + if(..()) + return + + src.add_fingerprint(usr) + if(href_list["action"]) + if(href_list["action"] == "enable") + if(!active && HasFuel() && !crit_fail) + active = 1 + icon_state = "portgen1" + src.updateUsrDialog() + if(href_list["action"] == "disable") + if (active) + active = 0 + icon_state = "portgen0" + src.updateUsrDialog() + if(href_list["action"] == "lower_power") + if (power_output > 1) + power_output-- + src.updateUsrDialog() + if (href_list["action"] == "higher_power") + if (power_output < 4 || emagged) + power_output++ + src.updateUsrDialog() + if (href_list["action"] == "close") + usr << browse(null, "window=port_gen") + usr.machine = null diff --git a/code/modules/power/port_gen.dm b/code/modules/power/port_gen.dm index 6774671f16..68916a4921 100644 --- a/code/modules/power/port_gen.dm +++ b/code/modules/power/port_gen.dm @@ -102,7 +102,7 @@ display round(lastgen) and plasmatank amount coins = 0 max_coins = 1000 coin_path = "/obj/item/weapon/coin/plasma" - board_path = "/obj/item/weapon/circuitboard/pacman" + board_path = "/obj/item/weapon/circuitboard/pacman2" coin_left = 0 // How much is left of the coin time_per_coin = 1 emagged = 0 @@ -327,4 +327,5 @@ display round(lastgen) and plasmatank amount time_per_coin = 60 board_path = "/obj/item/weapon/circuitboard/pacman/mrs" overheat() - explosion(src.loc, 4, 4, 4, -1) \ No newline at end of file + explosion(src.loc, 4, 4, 4, -1) + From 1bf1d5db1f3239c3f0e55e9331cba47a3bb5c5ab Mon Sep 17 00:00:00 2001 From: SkyMarshal Date: Fri, 20 Jan 2012 12:53:29 -0700 Subject: [PATCH 05/29] Pimped out the response team. No jobs have stupid stuff spawn in their hands, it now spawns on their person, be it on their ear (pens if they cannot find a target) of in their pockets. MAde several pre-set-up things for the response team, including portable surgery equipment and a movable optable. Made autolathe items spawn on top of it. Added Death alarms, and made explosive implants work properly. Girders are now removed when a floor is made/RCD'd into existence. Internals can now be set even if it is in suit storage or on the belt. --- code/defines/obj/storage.dm | 67 ++++++++++++++ code/game/communications.dm | 4 +- code/game/events/EventsMain.dm | 10 ++- code/game/jobs/job/civilian.dm | 4 +- code/game/jobs/job/engineering.dm | 8 +- code/game/jobs/job/science.dm | 2 +- code/game/jobs/job_controller.dm | 7 +- code/game/machinery/OpTable.dm | 82 +++++++++++++++++- code/game/machinery/autolathe.dm | 3 +- code/game/machinery/telecomms/broadcaster.dm | 47 ++++++++-- .../machinery/telecomms/telecommunications.dm | 5 +- .../objects/items/weapons/implants/implant.dm | 49 ++++++++++- .../items/weapons/implants/implantcase.dm | 11 +++ .../game/objects/items/weapons/papers_bins.dm | 12 ++- code/game/objects/storage/briefcase.dm | 17 ++++ code/game/objects/storage/storage.dm | 21 +++-- code/game/objects/tanks/emergency.dm | 16 ++++ code/game/response_team.dm | 43 ++++++--- code/game/turf.dm | 6 ++ code/modules/admin/verbs/debug.dm | 5 +- .../mob/living/carbon/human/examine.dm | 4 +- code/modules/mob/living/carbon/human/human.dm | 9 +- code/modules/mob/say.dm | 2 + icons/mob/items_lefthand.dmi | Bin 102718 -> 102822 bytes icons/mob/items_righthand.dmi | Bin 103836 -> 102029 bytes icons/obj/objects.dmi | Bin 84192 -> 83784 bytes icons/obj/storage.dmi | Bin 42281 -> 42538 bytes icons/obj/tank.dmi | Bin 5632 -> 2398 bytes 28 files changed, 375 insertions(+), 59 deletions(-) diff --git a/code/defines/obj/storage.dm b/code/defines/obj/storage.dm index afb9e856a6..ab2efd68c4 100644 --- a/code/defines/obj/storage.dm +++ b/code/defines/obj/storage.dm @@ -54,6 +54,10 @@ /obj/item/weapon/storage/box/engineer +/obj/item/weapon/storage/box/medic + name = "anesthetic box" + desc = "Full of masks and emergency anesthetic tanks." + /obj/item/weapon/storage/box/syndicate /obj/item/weapon/storage/pillbottlebox @@ -98,6 +102,53 @@ desc = "A tough backpack for the daily grind" icon_state = "engiepack" +/obj/item/weapon/storage/backpack/industrial/full + name = "loaded industrial backpack" + desc = "A tough backpack for the daily grind, full of gear" + icon_state = "engiepack" + +//Spawns with 2 glass, 2 metal, 1 steel, and 2 special boxes. + New() + ..() + for(var/i = 1, i <=2, i++) + var/obj/item/stack/sheet/glass/G = new /obj/item/stack/sheet/glass(src) + G.amount = 50 + G.loc = src + for(var/i = 1, i <=2, i++) + var/obj/item/stack/sheet/metal/G = new /obj/item/stack/sheet/metal(src) + G.amount = 50 + G.loc = src + var/obj/item/stack/sheet/r_metal/R = new /obj/item/stack/sheet/r_metal(src) + R.amount = 50 + R.loc = src + var/obj/item/weapon/storage/box/B1 = new /obj/item/weapon/storage/box(src) + B1.name = "power and airlock circuit box" + B1.desc = "Bursting with repair gear" + B1.w_class = 2 + for(var/i = 1, i <= 7, i++) + if(i < 4) + var/obj/item/weapon/module/power_control/P = new /obj/item/weapon/module/power_control(B1) + P.loc = B1 + if(i >= 4) + var/obj/item/weapon/airlock_electronics/P = new /obj/item/weapon/airlock_electronics(B1) + P.loc = B1 + var/obj/item/weapon/storage/box/B2 = new /obj/item/weapon/storage/box(src) + B2.name = "power cells and wire box" + B2.desc = "Bursting with repair gear" + B2.w_class = 2 + var/color = pick("red","yellow","green","blue") + for(var/i = 1, i <= 7, i++) + if(i < 4) + var/obj/item/weapon/cable_coil/P = new /obj/item/weapon/cable_coil(B2,30,color) + P.loc = B2 + if(i >= 4) + var/obj/item/weapon/cell/P = new /obj/item/weapon/cell(B2) + P.maxcharge = 15000 + P.charge = 15000 + P.updateicon() + P.loc = B2 + return + /obj/item/weapon/storage/briefcase name = "briefcase" desc = "Used by the lawyer in the court room." @@ -223,6 +274,22 @@ icon_state = "implant" item_state = "syringe_kit" +/obj/item/weapon/storage/deathalarm_kit + name = "Death Alarm Kit" + desc = "Box of stuff used to implant death alarms." + icon_state = "implant" + item_state = "syringe_kit" + + New() + ..() + new /obj/item/weapon/implanter(src) + new /obj/item/weapon/implantcase/death_alarm(src) + new /obj/item/weapon/implantcase/death_alarm(src) + new /obj/item/weapon/implantcase/death_alarm(src) + new /obj/item/weapon/implantcase/death_alarm(src) + new /obj/item/weapon/implantcase/death_alarm(src) + new /obj/item/weapon/implantcase/death_alarm(src) + /obj/item/weapon/storage/toolbox name = "toolbox" desc = "Danger. Very heavy." diff --git a/code/game/communications.dm b/code/game/communications.dm index bba3fa7a92..6a7faf5812 100644 --- a/code/game/communications.dm +++ b/code/game/communications.dm @@ -104,13 +104,13 @@ var/list/radiochannels = list( "Medical" = 1355, "Engineering" = 1357, "Security" = 1359, - "Deathsquad" = 1441, + "ResponseTeam" = 1439, "Syndicate" = 1213, "Mining" = 1349, "Cargo" = 1347, ) //depenging helpers -var/list/DEPT_FREQS = list(1351,1355,1357,1359,1213,1441,1349,1347) +var/list/DEPT_FREQS = list(1351,1355,1357,1359,1213,1439,1349,1347) var/const/COMM_FREQ = 1353 //command, colored gold in chat window var/const/SYND_FREQ = 1213 var/NUKE_FREQ = 1200 //Randomised on nuke rounds. diff --git a/code/game/events/EventsMain.dm b/code/game/events/EventsMain.dm index bf32893d95..64ec941423 100644 --- a/code/game/events/EventsMain.dm +++ b/code/game/events/EventsMain.dm @@ -6,18 +6,22 @@ */ -var/list/DisallowedEvents = list(/datum/event/spaceninja, /datum/event/prisonbreak, /datum/event/immovablerod, /datum/event/gravitationalanomaly) +var/list/DisallowedEvents = list(/datum/event/spaceninja, /datum/event/prisonbreak, /datum/event/immovablerod, /datum/event/gravitationalanomaly, /datum/event/alieninfestation) var/list/EventTypes = typesof(/datum/event) - /datum/event - DisallowedEvents +var/list/OneTimeEvents = list(/datum/event/spacecarp, /datum/event/miniblob) var/datum/event/ActiveEvent = null var/datum/event/LongTermEvent = null +var/is_ninjad_yet = 0 /proc/SpawnEvent() if(!EventsOn || ActiveEvent) return - if((world.time/10)>=3600 && toggle_space_ninja && !sent_ninja_to_station) + if((world.time/10)>=3600 && toggle_space_ninja && !sent_ninja_to_station && !is_ninjad_yet) EventTypes |= /datum/event/spaceninja + is_ninjad_yet = 1 var/Type = pick(EventTypes) - EventTypes -= Type + if(Type in OneTimeEvents) + EventTypes -= Type ActiveEvent = new Type() ActiveEvent.Announce() if (!ActiveEvent) diff --git a/code/game/jobs/job/civilian.dm b/code/game/jobs/job/civilian.dm index 6452fc3f49..4a0ccefa6d 100644 --- a/code/game/jobs/job/civilian.dm +++ b/code/game/jobs/job/civilian.dm @@ -84,7 +84,7 @@ H.equip_if_possible(new /obj/item/device/pda/quartermaster(H), H.slot_belt) H.equip_if_possible(new /obj/item/clothing/gloves/black(H), H.slot_gloves) H.equip_if_possible(new /obj/item/clothing/glasses/sunglasses(H), H.slot_glasses) - H.equip_if_possible(new /obj/item/weapon/clipboard(H), H.slot_l_hand) + H.equip_if_possible(new /obj/item/weapon/clipboard(H), H.slot_r_store) return 1 @@ -224,7 +224,7 @@ if(!H) return 0 H.equip_if_possible(new /obj/item/clothing/under/suit_jacket/red(H), H.slot_w_uniform) H.equip_if_possible(new /obj/item/clothing/shoes/black(H), H.slot_shoes) - H.equip_if_possible(new /obj/item/weapon/barcodescanner(H), H.slot_l_hand) + H.equip_if_possible(new /obj/item/weapon/barcodescanner(H), H.slot_l_store) return 1 diff --git a/code/game/jobs/job/engineering.dm b/code/game/jobs/job/engineering.dm index 1168627544..f1e442ffbf 100644 --- a/code/game/jobs/job/engineering.dm +++ b/code/game/jobs/job/engineering.dm @@ -12,10 +12,10 @@ H.equip_if_possible(new /obj/item/device/radio/headset/heads/ce(H), H.slot_ears) H.equip_if_possible(new /obj/item/weapon/storage/backpack/industrial (H), H.slot_back) H.equip_if_possible(new /obj/item/clothing/under/rank/chief_engineer(H), H.slot_w_uniform) - H.equip_if_possible(new /obj/item/device/pda/heads/ce(H), H.slot_belt) + H.equip_if_possible(new /obj/item/device/pda/heads/ce(H), H.slot_l_store) H.equip_if_possible(new /obj/item/clothing/shoes/brown(H), H.slot_shoes) H.equip_if_possible(new /obj/item/clothing/head/helmet/hardhat/white(H), H.slot_head) - H.equip_if_possible(new /obj/item/weapon/storage/belt/utility/full(H), H.slot_l_hand) + H.equip_if_possible(new /obj/item/weapon/storage/belt/utility/full(H), H.slot_belt) H.equip_if_possible(new /obj/item/clothing/gloves/black(H), H.slot_gloves) return 1 @@ -36,9 +36,9 @@ H.equip_if_possible(new /obj/item/weapon/storage/backpack/industrial(H), H.slot_back) H.equip_if_possible(new /obj/item/clothing/under/rank/engineer(H), H.slot_w_uniform) H.equip_if_possible(new /obj/item/clothing/shoes/orange(H), H.slot_shoes) - H.equip_if_possible(new /obj/item/device/pda/engineering(H), H.slot_belt) + H.equip_if_possible(new /obj/item/device/pda/engineering(H), H.slot_l_store) H.equip_if_possible(new /obj/item/clothing/head/helmet/hardhat(H), H.slot_head) - H.equip_if_possible(new /obj/item/weapon/storage/belt/utility/full(H), H.slot_l_hand) + H.equip_if_possible(new /obj/item/weapon/storage/belt/utility/full(H), H.slot_belt) H.equip_if_possible(new /obj/item/device/t_scanner(H), H.slot_r_store) return 1 diff --git a/code/game/jobs/job/science.dm b/code/game/jobs/job/science.dm index 9549c1536b..62d1373310 100644 --- a/code/game/jobs/job/science.dm +++ b/code/game/jobs/job/science.dm @@ -14,7 +14,7 @@ H.equip_if_possible(new /obj/item/clothing/under/rank/research_director(H), H.slot_w_uniform) H.equip_if_possible(new /obj/item/device/pda/heads/rd(H), H.slot_belt) H.equip_if_possible(new /obj/item/clothing/suit/storage/labcoat(H), H.slot_wear_suit) - H.equip_if_possible(new /obj/item/weapon/clipboard(H), H.slot_r_hand) + H.equip_if_possible(new /obj/item/weapon/clipboard(H), H.slot_l_store) return 1 diff --git a/code/game/jobs/job_controller.dm b/code/game/jobs/job_controller.dm index 8c0e405f0c..dcd631c9ee 100644 --- a/code/game/jobs/job_controller.dm +++ b/code/game/jobs/job_controller.dm @@ -254,10 +254,11 @@ var/global/datum/controller/occupations/job_master C.name = "[C.registered]'s ID Card ([C.assignment])" C.access = get_access(C.assignment) H.equip_if_possible(C, H.slot_wear_id) - H.equip_if_possible(new /obj/item/weapon/pen(H), H.slot_r_store) + if(!H.equip_if_possible(new /obj/item/weapon/pen(H), H.slot_r_store)) + H.equip_if_possible(new /obj/item/weapon/pen(H), H.slot_ears) H.equip_if_possible(new /obj/item/device/pda(H), H.slot_belt) - if(istype(H.belt, /obj/item/device/pda))//I bet this could just use locate - var/obj/item/device/pda/pda = H.belt + if(locate(/obj/item/device/pda,H))//I bet this could just use locate + var/obj/item/device/pda/pda = locate(/obj/item/device/pda,H) pda.owner = H.real_name pda.ownjob = H.wear_id.assignment pda.name = "PDA-[H.real_name] ([pda.ownjob])" diff --git a/code/game/machinery/OpTable.dm b/code/game/machinery/OpTable.dm index b1e837c519..d95784d41d 100644 --- a/code/game/machinery/OpTable.dm +++ b/code/game/machinery/OpTable.dm @@ -8,7 +8,7 @@ use_power = 1 idle_power_usage = 1 active_power_usage = 5 - var/mob/living/carbon/human/victim = null + var/mob/living/carbon/victim = null var/strapped = 0.0 var/obj/machinery/computer/operating/computer = null @@ -95,8 +95,8 @@ return /obj/machinery/optable/proc/check_victim() - if(locate(/mob/living/carbon/human, src.loc)) - var/mob/M = locate(/mob/living/carbon/human, src.loc) + if(locate(/mob/living/carbon, src.loc)) + var/mob/M = locate(/mob/living/carbon, src.loc) if(M.resting) src.victim = M icon_state = "table2-active" @@ -130,4 +130,78 @@ user.drop_item() if(W && W.loc) W.loc = src.loc - return \ No newline at end of file + return + +/obj/machinery/optable/portable + name = "mobile operating Table" + desc = "Used for advanced medical procedures. Seems to be movable, neat." + icon = 'rollerbed.dmi' + icon_state = "up" + density = 1 + anchored = 0 + + New() + ..() + processing_objects.Remove(src) + + MouseDrop_T(obj/O as obj, mob/user as mob) + if ((!( istype(O, /obj/item/weapon) ) || user.equipped() != O)) + return + user.drop_item() + if (O.loc != src.loc) + step(O, get_dir(O, src)) + return + + attackby(obj/item/weapon/W as obj, mob/user as mob) + if(!anchored) + return + if (istype(W, /obj/item/weapon/grab)) + if(ismob(W:affecting)) + var/mob/M = W:affecting + if (M.client) + M.client.perspective = EYE_PERSPECTIVE + M.client.eye = src + M.resting = 1 + M.loc = src.loc + for (var/mob/C in viewers(src)) + C.show_message("\red [M] has been laid on the operating table by [user].", 3) + for(var/obj/O in src) + O.loc = src.loc + src.add_fingerprint(user) + src.victim = M + processing_objects.Add(src) + del(W) + return + user.drop_item() + if(W && W.loc) + W.loc = src.loc + return + + check_victim() + if(locate(/mob/living/carbon/human, src.loc)) + var/mob/M = locate(/mob/living/carbon/human, src.loc) + if(M.resting) + src.victim = M + return 1 + src.victim = null + processing_objects.Remove(src) + return 0 + + verb/make_deployable() + set category = "Object" + set name = "Deploy Table" + set src in oview(1) + + if(anchored) + if(victim) + usr << "You can't do that with someone on the table!" + else + anchored = 0 + for(var/mob/M in orange(5,src)) + M.show_message("\blue [usr] releases the locks on the table's casters!") + icon_state = "up" + else + anchored = 1 + for(var/mob/M in orange(5,src)) + M.show_message("\blue [usr] locks the table's casters in place!") + icon_state = "down" \ No newline at end of file diff --git a/code/game/machinery/autolathe.dm b/code/game/machinery/autolathe.dm index 8e9066b5a1..306e8d5587 100644 --- a/code/game/machinery/autolathe.dm +++ b/code/game/machinery/autolathe.dm @@ -182,9 +182,8 @@ outputAmount = 1 if (!busy) if(href_list["make"]) - makeDir = get_dir(src,usr) makeNew: - var/turf/T = get_step(src.loc, makeDir) + var/turf/T = src.loc var/obj/template = locate(href_list["make"]) var/multiplier = text2num(href_list["multiplier"]) if (!multiplier) multiplier = 1 diff --git a/code/game/machinery/telecomms/broadcaster.dm b/code/game/machinery/telecomms/broadcaster.dm index a0cb853177..fcfa830ebe 100644 --- a/code/game/machinery/telecomms/broadcaster.dm +++ b/code/game/machinery/telecomms/broadcaster.dm @@ -62,6 +62,7 @@ machinetype = 6 heatgen = 0 var/intercept = 0 // if nonzero, broadcasts all messages to syndicate channel + var/syndi = 1 //If 1, it goes to syndicate frequency. Else, goes to deathsquad receive_signal(datum/signal/signal) @@ -87,19 +88,31 @@ var/datum/radio_frequency/connection = signal.data["connection"] - if(connection.frequency == NUKE_FREQ) // if syndicate broadcast, just + if(connection.frequency == NUKE_FREQ && syndi) // if syndicate broadcast, just Broadcast_Message(signal.data["connection"], signal.data["mob"], signal.data["vmask"], signal.data["vmessage"], signal.data["radio"], signal.data["message"], signal.data["name"], signal.data["job"], signal.data["realname"], signal.data["vname"],, signal.data["compression"]) - else - if(intercept) + else if(connection.frequency == 1439 && !syndi) + Broadcast_Message(signal.data["connection"], signal.data["mob"], + signal.data["vmask"], signal.data["vmessage"], + signal.data["radio"], signal.data["message"], + signal.data["name"], signal.data["job"], + signal.data["realname"], signal.data["vname"],, signal.data["compression"]) + else if (intercept) + if(syndi) Broadcast_Message(signal.data["connection"], signal.data["mob"], signal.data["vmask"], signal.data["vmessage"], signal.data["radio"], signal.data["message"], signal.data["name"], signal.data["job"], signal.data["realname"], signal.data["vname"], 3, signal.data["compression"]) + else + Broadcast_Message(signal.data["connection"], signal.data["mob"], + signal.data["vmask"], signal.data["vmessage"], + signal.data["radio"], signal.data["message"], + signal.data["name"], signal.data["job"], + signal.data["realname"], signal.data["vname"], 4, signal.data["compression"]) @@ -195,6 +208,15 @@ receive |= R.send_hear(NUKE_FREQ) + // --- Broadcast to response team radio! --- + + else if(data == 3) + var/datum/radio_frequency/syndicateconnection = radio_controller.return_frequency(1439) + + for (var/obj/item/device/radio/R in syndicateconnection.devices["[RADIO_CHAT]"]) + + receive |= R.send_hear(1439) + // --- Broadcast to ALL radio devices --- else @@ -250,6 +272,9 @@ else heard_garbled += R + for(var/obj/item/weapon/implant/imp in R) + imp.hear(message,M) + /* ###### Begin formatting and sending the message ###### */ if (length(heard_masked) || length(heard_normal) || length(heard_voice) || length(heard_garbled) || length(heard_gibberish)) @@ -277,6 +302,8 @@ freq_text = "Mining" if(1347) freq_text = "Cargo" + if(1439) + freq_text = "Response Team" if(connection.frequency == NUKE_FREQ) freq_text = "Agent" @@ -308,7 +335,9 @@ // --- Filter the message; place it in quotes apply a verb --- - var/quotedmsg = M.say_quote(message) + var/quotedmsg = "\"" + message + "\"" + if(M) + quotedmsg = M.say_quote(message) // --- This following recording is intended for research and feedback in the use of department radio channels --- @@ -385,7 +414,10 @@ // Displays garbled message (ie "f*c* **u, **i*er!") if (length(heard_garbled)) - quotedmsg = M.say_quote(stars(message)) + if(M) + quotedmsg = M.say_quote(stars(message)) + else + quotedmsg = "\"" + stars(message) + "\"" var/rendered = "[part_a][vname][part_b][quotedmsg][part_c]" for (var/mob/R in heard_garbled) @@ -398,7 +430,10 @@ /* --- Complete gibberish. Usually happens when there's a compressed message --- */ if (length(heard_gibberish)) - quotedmsg = M.say_quote(Gibberish(message, compression + 50)) + if(M) + quotedmsg = M.say_quote(Gibberish(message, compression + 50)) + else + quotedmsg = "\"" + Gibberish(message, compression + 50) + "\"" var/rendered = "[part_a][Gibberish(M.real_name, compression + 50)][part_b][quotedmsg][part_c]" for (var/mob/R in heard_gibberish) diff --git a/code/game/machinery/telecomms/telecommunications.dm b/code/game/machinery/telecomms/telecommunications.dm index b7c7fcd0ca..e1a8bab184 100644 --- a/code/game/machinery/telecomms/telecommunications.dm +++ b/code/game/machinery/telecomms/telecommunications.dm @@ -382,7 +382,10 @@ log.parameters["message"] = signal.data["message"] log.parameters["name"] = signal.data["name"] log.parameters["realname"] = signal.data["realname"] - log.parameters["uspeech"] = M.universal_speak + if(M) + log.parameters["uspeech"] = M.universal_speak + else + log.parameters["uspeech"] = 0 // If the signal is still compressed, make the log entry gibberish if(signal.data["compression"] > 0) diff --git a/code/game/objects/items/weapons/implants/implant.dm b/code/game/objects/items/weapons/implants/implant.dm index b52cde554a..8029addbfe 100644 --- a/code/game/objects/items/weapons/implants/implant.dm +++ b/code/game/objects/items/weapons/implants/implant.dm @@ -10,6 +10,7 @@ activate() implanted(source as mob) get_data() + hear(message, source as mob) trigger(emote, source as mob) @@ -27,6 +28,9 @@ get_data() return "No information available" + hear(message, source as mob) + return + /obj/item/weapon/implant/uplink @@ -236,7 +240,11 @@ the implant may become unstable and either pre-maturely inject the subject or si Integrity: Implant will occasionally be degraded by the body's immune system and thus will occasionally malfunction."} return dat - hear_talk(M as mob, var/msg) + hear_talk(mob/M as mob, msg) + hear(msg) + return + + hear(var/msg) if(findtext(msg,phrase)) if(istype(loc, /mob/)) var/mob/T = loc @@ -250,4 +258,41 @@ the implant may become unstable and either pre-maturely inject the subject or si implanted(mob/source as mob) phrase = input("Choose activation phrase:") as text usr.mind.store_memory("Explosive implant in [source] can be activated by saying something containing the phrase ''[src.phrase]'', say [src.phrase] to attempt to activate.", 0, 0) - usr << "The implanted explosive implant in [source] can be activated by saying something containing the phrase ''[src.phrase]'', say [src.phrase] to attempt to activate." \ No newline at end of file + usr << "The implanted explosive implant in [source] can be activated by saying something containing the phrase ''[src.phrase]'', say [src.phrase] to attempt to activate." + +/obj/item/weapon/implant/death_alarm + name = "death alarm" + desc = "Danger Will Robinson!" + var/mobname = "Will Robinson" + + get_data() + var/dat = {" +Implant Specifications:
+Name: NanoTrasen \"Profit Margin\" Class Employee Lifesign Sensor
+Life: Activates upon death.
+Important Notes: Alerts crew to crewmember death.
+
+Implant Details:
+Function: Contains a compact radio signaler that triggers when the host's lifesigns cease.
+Special Features: Alerts crew to crewmember death.
+Integrity: Implant will occasionally be degraded by the body's immune system and thus will occasionally malfunction."} + return dat + + process() + var/mob/M = src.loc + if(M.stat == 2) + var/turf/t = get_turf(M) + var/obj/item/device/radio/headset/a = new /obj/item/device/radio/headset(null) + var/mob/living/carbon/human/G = new /mob/living/carbon/human(null) + G.real_name = "[mobname]'s death alarm" + G.name = "[mobname]'s death alarm" + G.universal_speak = 1 + a.talk_into(G,"[mobname] has died in [t.loc.name]!") + del(a) + del(G) + processing_objects.Remove(src) + + + implanted(mob/source as mob) + mobname = source.real_name + processing_objects.Add(src) \ No newline at end of file diff --git a/code/game/objects/items/weapons/implants/implantcase.dm b/code/game/objects/items/weapons/implants/implantcase.dm index 313e6ae352..7655060847 100644 --- a/code/game/objects/items/weapons/implants/implantcase.dm +++ b/code/game/objects/items/weapons/implants/implantcase.dm @@ -114,4 +114,15 @@ New() src.imp = new /obj/item/weapon/implant/loyalty( src ) ..() + return + +/obj/item/weapon/implantcase/death_alarm + name = "Glass Case- 'Tracking'" + desc = "A case containing a tracking implant." + icon = 'items.dmi' + icon_state = "implantcase-b" + + New() + src.imp = new /obj/item/weapon/implant/death_alarm( src ) + ..() return \ No newline at end of file diff --git a/code/game/objects/items/weapons/papers_bins.dm b/code/game/objects/items/weapons/papers_bins.dm index c7061a720e..b13d61ad34 100644 --- a/code/game/objects/items/weapons/papers_bins.dm +++ b/code/game/objects/items/weapons/papers_bins.dm @@ -663,9 +663,6 @@ CLIPBOARDS else return src.update() - spawn(0) - attack_self(user) - return return /obj/item/weapon/clipboard/proc/update() @@ -692,6 +689,15 @@ CLIPBOARDS src.add_fingerprint(usr) return // +/obj/item/weapon/clipboard/New() + + ..() + for(var/i = 1, i <= 3, i++) + var/obj/item/weapon/paper/P = new /obj/item/weapon/paper(src) + P.loc = src + src.pen = new /obj/item/weapon/pen(src) + src.update() + return // PHOTOGRAPH diff --git a/code/game/objects/storage/briefcase.dm b/code/game/objects/storage/briefcase.dm index a2dd6970cd..14cc898e66 100644 --- a/code/game/objects/storage/briefcase.dm +++ b/code/game/objects/storage/briefcase.dm @@ -40,3 +40,20 @@ M.eye_blurry += 3 return + +/obj/item/weapon/storage/briefcase/surgery + icon_state = "medbriefcase" + name = "surgery equipment bag" + desc = "Heavy and full of sharp things." + + New() + ..() + contents = list() + sleep(1) + new /obj/item/weapon/circular_saw(src) + new /obj/item/weapon/hemostat(src) + new /obj/item/weapon/scalpel(src) + new /obj/item/weapon/retractor(src) + new /obj/item/weapon/cautery(src) + new /obj/item/weapon/surgical_tool/bonegel(src) + new /obj/item/weapon/surgical_tool/bonesetter(src) \ No newline at end of file diff --git a/code/game/objects/storage/storage.dm b/code/game/objects/storage/storage.dm index 22d72458a4..6784909ae0 100644 --- a/code/game/objects/storage/storage.dm +++ b/code/game/objects/storage/storage.dm @@ -259,9 +259,22 @@ new /obj/item/weapon/tank/emergency_oxygen/engi( src ) return +/obj/item/weapon/storage/box/medic/New() + ..() + contents = list() + sleep(1) + new /obj/item/clothing/mask/medical( src ) + new /obj/item/weapon/tank/emergency_oxygen/anesthetic( src ) + new /obj/item/weapon/tank/emergency_oxygen/anesthetic( src ) + new /obj/item/weapon/tank/emergency_oxygen/anesthetic( src ) + new /obj/item/weapon/tank/emergency_oxygen/anesthetic( src ) + new /obj/item/weapon/tank/emergency_oxygen/anesthetic( src ) + new /obj/item/weapon/tank/emergency_oxygen/anesthetic( src ) + return + /obj/item/weapon/storage/box/syndicate/New() ..() - switch (pickweight(list("bloodyspai" = 1, "stealth" = 1, "screwed" = 1, "guns" = 1, "murder" = 1, "freedom" = 1))) + switch (pickweight(list("bloodyspai" = 1, "stealth" = 1, "screwed" = 1, "guns" = 1, "freedom" = 1))) if ("bloodyspai") new /obj/item/clothing/under/chameleon(src) new /obj/item/clothing/mask/gas/voice(src) @@ -290,12 +303,6 @@ new /obj/item/weapon/plastique(src) return - if ("murder") - new /obj/item/weapon/melee/energy/sword(src) - new /obj/item/weapon/cloaking_device(src) - new /obj/item/weapon/card/emag(src) - return - if("freedom") var/obj/item/weapon/implanter/O = new /obj/item/weapon/implanter(src) O.imp = new /obj/item/weapon/implant/freedom(O) diff --git a/code/game/objects/tanks/emergency.dm b/code/game/objects/tanks/emergency.dm index 10af832592..fbadf6fca8 100644 --- a/code/game/objects/tanks/emergency.dm +++ b/code/game/objects/tanks/emergency.dm @@ -33,3 +33,19 @@ icon_state = "emergency_double" name = "Double Emergency Oxygen Tank" volume = 10 + +/obj/item/weapon/tank/emergency_oxygen/anesthetic + icon_state = "emergency_sleep" + name = "emergency sleeping gas tank" + desc = "Contains an Oxygen/N2O mix." + distribute_pressure = ONE_ATMOSPHERE + + New() + ..() + src.air_contents.oxygen = (3*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C) * O2STANDARD + + var/datum/gas/sleeping_agent/trace_gas = new() + trace_gas.moles = (3*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C) * N2STANDARD + + src.air_contents.trace_gases += trace_gas + return \ No newline at end of file diff --git a/code/game/response_team.dm b/code/game/response_team.dm index daadaac5cf..be5786cf6b 100644 --- a/code/game/response_team.dm +++ b/code/game/response_team.dm @@ -58,7 +58,7 @@ proc/trigger_armed_response_team() new_commando.mind.current = new_commando new_commando.mind.original = new_commando new_commando.mind.assigned_role = "MODE" - new_commando.mind.special_role = "Death Commando" + new_commando.mind.special_role = "Response Team" if(!(new_commando.mind in ticker.minds)) ticker.minds += new_commando.mind//Adds them to regular mind list. new_commando.equip_strike_team(leader_selected) @@ -67,23 +67,44 @@ proc/trigger_armed_response_team() /mob/living/carbon/human/proc/equip_strike_team(leader_selected = 0) + //Special radio setup var/obj/item/device/radio/R = new /obj/item/device/radio/headset(src) - R.set_frequency(1441) + R.name = "CentCom Response Team headset" + R.desc = "The headset of the boss's boss. Channels are as follows: :h - Response Team :c - command, :s - security, :e - engineering, :d - mining, :q - cargo, :m - medical, :n - science." + R.freerange = 1 + R.listening = 0 + R.config(list("ResponseTeam" = 1, "Science" = 0, "Command" = 0, "Medical" = 0, "Engineering" = 0, "Security" = 0, "Mining" = 0, "Cargo" = 0,)) equip_if_possible(R, slot_ears) + + //Adding Camera Network + var/obj/machinery/camera/camera = new /obj/machinery/camera(src) //Gives all the commandos internals cameras. + camera.network = "CREED" + camera.c_tag = real_name + + //Basic Uniform equip_if_possible(new /obj/item/clothing/under/color/black(src), slot_w_uniform) - equip_if_possible(new /obj/item/clothing/shoes/swat(src), slot_shoes) - equip_if_possible(new /obj/item/clothing/suit/armor/swat(src), slot_wear_suit) + equip_if_possible(new /obj/item/device/flashlight(src), slot_l_store) + equip_if_possible(new /obj/item/weapon/clipboard(src), slot_r_store) + equip_if_possible(new /obj/item/weapon/gun/energy/taser(src), slot_belt) + + //Glasses + equip_if_possible(new /obj/item/clothing/glasses/sunglasses/sechud(src), slot_glasses) + + //Shoes & gloves + var/obj/item/clothing/shoes/swat/S = new /obj/item/clothing/shoes/swat(src) + S.flags = NOSLIP + equip_if_possible(S, slot_shoes) equip_if_possible(new /obj/item/clothing/gloves/swat(src), slot_gloves) - equip_if_possible(new /obj/item/clothing/head/helmet/space/deathsquad(src), slot_head) - equip_if_possible(new /obj/item/clothing/mask/gas/swat(src), slot_wear_mask) + //Removed +// equip_if_possible(new /obj/item/clothing/suit/armor/swat(src), slot_wear_suit) +// equip_if_possible(new /obj/item/clothing/head/helmet/space/deathsquad(src), slot_head) +// equip_if_possible(new /obj/item/clothing/mask/gas/swat(src), slot_wear_mask) + + //Backpack equip_if_possible(new /obj/item/weapon/storage/backpack/security(src), slot_back) - equip_if_possible(new /obj/item/weapon/storage/box(src), slot_in_backpack) - + equip_if_possible(new /obj/item/weapon/storage/box/engineer(src), slot_in_backpack) equip_if_possible(new /obj/item/weapon/storage/firstaid/regular(src), slot_in_backpack) - equip_if_possible(new /obj/item/device/flashlight(src), slot_in_backpack) - - equip_if_possible(new /obj/item/weapon/tank/emergency_oxygen(src), slot_s_store) var/obj/item/weapon/card/id/W = new(src) W.name = "[real_name]'s ID Card" diff --git a/code/game/turf.dm b/code/game/turf.dm index 074d808477..208a30dfe4 100644 --- a/code/game/turf.dm +++ b/code/game/turf.dm @@ -129,6 +129,8 @@ var/prior_icon = icon_old var/old_dir = dir + for(var/obj/structure/lattice/L in locate(src.x, src.y, src.z)) + del(L) var/turf/simulated/floor/W = new /turf/simulated/floor( locate(src.x, src.y, src.z) ) W.dir = old_dir @@ -146,6 +148,8 @@ var/prior_icon = icon_old var/old_dir = dir + for(var/obj/structure/lattice/L in locate(src.x, src.y, src.z)) + del(L) var/turf/simulated/floor/plating/W = new /turf/simulated/floor/plating( locate(src.x, src.y, src.z) ) W.dir = old_dir @@ -159,6 +163,8 @@ /turf/proc/ReplaceWithEngineFloor() var/old_dir = dir + for(var/obj/structure/lattice/L in locate(src.x, src.y, src.z)) + del(L) var/turf/simulated/floor/engine/E = new /turf/simulated/floor/engine( locate(src.x, src.y, src.z) ) E.dir = old_dir diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm index 2c41de8247..7f2942be4b 100644 --- a/code/modules/admin/verbs/debug.dm +++ b/code/modules/admin/verbs/debug.dm @@ -694,10 +694,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that pda.name = "PDA-[M.real_name] ([pda.ownjob])" M.equip_if_possible(pda, M.slot_r_store) - - var/obj/item/weapon/clipboard/G = new(M) - G.pen = new /obj/item/weapon/pen(G) - M.equip_if_possible(G, M.slot_l_store) + M.equip_if_possible(new /obj/item/weapon/clipboard(M), M.slot_l_store) var/obj/item/weapon/card/id/W = new(M) W.name = "[M.real_name]'s ID Card" diff --git a/code/modules/mob/living/carbon/human/examine.dm b/code/modules/mob/living/carbon/human/examine.dm index f901319266..63ef86aee3 100644 --- a/code/modules/mob/living/carbon/human/examine.dm +++ b/code/modules/mob/living/carbon/human/examine.dm @@ -121,11 +121,12 @@ if (src.stat == 1 || stat == 2) usr << "\red [name] doesn't seem to be responding to anything around [t_him], [t_his] eyes closed as though asleep." - if((health < 0 || stat == 1) && distance <= 3) + if(health < 0 && distance <= 3) usr << "\red [name] does not appear to be breathing." if(istype(usr, /mob/living/carbon/human) && usr.stat == 0 && src.stat == 1 && distance <= 1) for(var/mob/O in viewers(usr.loc, null)) O.show_message("[usr] checks [src]'s pulse.", 1) + sleep(15) usr << "\blue [name] has a pulse!" if (src.stat == 2 || (changeling && changeling.changeling_fakedeath == 1)) @@ -133,6 +134,7 @@ if(istype(usr, /mob/living/carbon/human) && usr.stat == 0) for(var/mob/O in viewers(usr.loc, null)) O.show_message("[usr] checks [src]'s pulse.", 1) + sleep(15) usr << "\red [name] has no pulse!" else if (src.getBruteLoss()) diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 7ee57fc687..86f761bfc0 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -1469,7 +1469,7 @@ del(src) return if("internal") - if ((!( (istype(target.wear_mask, /obj/item/clothing/mask) && istype(target.back, /obj/item/weapon/tank) && !( target.internal )) ) && !( target.internal ))) + if ((!( (istype(target.wear_mask, /obj/item/clothing/mask) && (istype(target.back, /obj/item/weapon/tank) || istype(target.belt, /obj/item/weapon/tank) || istype(target.s_store, /obj/item/weapon/tank)) && !( target.internal )) ) && !( target.internal ))) //SN src = null del(src) return @@ -2157,11 +2157,11 @@ It can still be worn/put on as normal.
Belt: [(belt ? belt : "Nothing")]
Uniform: [(w_uniform ? w_uniform : "Nothing")]
(Exo)Suit: [(wear_suit ? wear_suit : "Nothing")] -
Back: [(back ? back : "Nothing")] [((istype(wear_mask, /obj/item/clothing/mask) && istype(back, /obj/item/weapon/tank) && !( internal )) ? text(" Set Internal", src) : "")] +
Back: [(back ? back : "Nothing")]
ID: [(wear_id ? wear_id : "Nothing")]
Suit Storage: [(s_store ? s_store : "Nothing")]
[(handcuffed ? text("Handcuffed") : text("Not Handcuffed"))] -
[(internal ? text("Remove Internal") : "")] +
[(internal ? text("Remove Internal") : ((istype(wear_mask, /obj/item/clothing/mask) && (istype(back, /obj/item/weapon/tank) || istype(belt, /obj/item/weapon/tank) || istype(s_store, /obj/item/weapon/tank)) && !( internal )) ? text(" Set Internal", src) : ""))]
Empty Pockets
Empty Hat
Refresh @@ -2338,6 +2338,9 @@ It can still be worn/put on as normal. requests += O spawn( 0 ) O.process() + for(var/mob/living/carbon/M in oview(1,src)) + if((M.machine == src)&&(in_range(src, M))) + show_inv(M) return ..() return diff --git a/code/modules/mob/say.dm b/code/modules/mob/say.dm index 6d4c5f3b1e..fd2cd466be 100644 --- a/code/modules/mob/say.dm +++ b/code/modules/mob/say.dm @@ -44,6 +44,8 @@ M.show_message(rendered, 2) /mob/proc/say_understands(var/mob/other) + if(!other) + return 1 if (src.stat == 2) return 1 else if (istype(other, src.type)) diff --git a/icons/mob/items_lefthand.dmi b/icons/mob/items_lefthand.dmi index 9f531da8f675df663c01d3f21efadc7ed840743b..d0ca90f99519cb194078e6ea919b10e203351f10 100644 GIT binary patch delta 2816 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 diff --git a/icons/obj/objects.dmi b/icons/obj/objects.dmi index 92e5d91196f679880728ddd1f8b0407e3152b992..cf7cc1e282449bb30063c660fcb5224047bd8eaf 100644 GIT binary patch delta 7801 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 Fe*j08rdR*~ diff --git a/icons/obj/storage.dmi b/icons/obj/storage.dmi index 8f25d7e0a0e98b659e224c2546285005e6f1177a..fdcfb9c205770f9f76dcd1f6db54defec6286206 100644 GIT binary patch delta 3174 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 M07*qoM6N<$g554I!~g&Q delta 2918 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 Q5C8xG07*qoM6N<$g6c1w2LJ#7 diff --git a/icons/obj/tank.dmi b/icons/obj/tank.dmi index cc0e0bbcdb86f26954e72d930ff21c2c67a09521..bc523dd9d20d7966cf878b32aabf126abf3f1beb 100644 GIT binary patch literal 2398 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 Date: Fri, 20 Jan 2012 12:57:13 -0700 Subject: [PATCH 06/29] Fixed Typo1 --- code/game/communications.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/communications.dm b/code/game/communications.dm index 6a7faf5812..3db0bca16c 100644 --- a/code/game/communications.dm +++ b/code/game/communications.dm @@ -104,7 +104,7 @@ var/list/radiochannels = list( "Medical" = 1355, "Engineering" = 1357, "Security" = 1359, - "ResponseTeam" = 1439, + "Response Team" = 1439, "Syndicate" = 1213, "Mining" = 1349, "Cargo" = 1347, From a08f21f36f7283a9fae85d039cf71dff1691cc4f Mon Sep 17 00:00:00 2001 From: SkyMarshal Date: Fri, 20 Jan 2012 12:57:44 -0700 Subject: [PATCH 07/29] Fixed typo2 --- code/game/response_team.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/response_team.dm b/code/game/response_team.dm index be5786cf6b..60468a5414 100644 --- a/code/game/response_team.dm +++ b/code/game/response_team.dm @@ -73,7 +73,7 @@ proc/trigger_armed_response_team() R.desc = "The headset of the boss's boss. Channels are as follows: :h - Response Team :c - command, :s - security, :e - engineering, :d - mining, :q - cargo, :m - medical, :n - science." R.freerange = 1 R.listening = 0 - R.config(list("ResponseTeam" = 1, "Science" = 0, "Command" = 0, "Medical" = 0, "Engineering" = 0, "Security" = 0, "Mining" = 0, "Cargo" = 0,)) + R.config(list("Response Team" = 1, "Science" = 0, "Command" = 0, "Medical" = 0, "Engineering" = 0, "Security" = 0, "Mining" = 0, "Cargo" = 0,)) equip_if_possible(R, slot_ears) //Adding Camera Network From e806e95f7991b7f95a75c3519d8b9d9ba8d7cefc Mon Sep 17 00:00:00 2001 From: SkyMarshal Date: Fri, 20 Jan 2012 13:15:50 -0700 Subject: [PATCH 08/29] Working to make the inventory auto refresh. --- code/modules/mob/living/carbon/human/human.dm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 86f761bfc0..ae9745dc74 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -1599,6 +1599,9 @@ M.show_message(message, 1) spawn( 40 ) done() + for(var/mob/living/carbon/M in oview(1,src)) + if((M.machine == src)&&(in_range(src, M))) + src.show_inv(M) return return From 722bbee3247b9f45cb43060df06b9490264064b1 Mon Sep 17 00:00:00 2001 From: SkyMarshal Date: Fri, 20 Jan 2012 14:27:29 -0700 Subject: [PATCH 09/29] Interaction window now updates properly. --- code/modules/mob/living/carbon/human/human.dm | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index ae9745dc74..379488fc55 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -1599,9 +1599,6 @@ M.show_message(message, 1) spawn( 40 ) done() - for(var/mob/living/carbon/M in oview(1,src)) - if((M.machine == src)&&(in_range(src, M))) - src.show_inv(M) return return @@ -2139,10 +2136,19 @@ It can still be worn/put on as normal. if(target) target.update_clothing() //SN src = null + world << "Trying to update window" + for(var/mob/living/carbon/M in oview(1,target)) + if(M.machine == target) + world << "Updating for [M.name]" + target.interact(M) + world << "Done trying" del(src) return /mob/living/carbon/human/show_inv(mob/user as mob) + interact(user) + +/mob/living/carbon/human/proc/interact(mob/user as mob) user.machine = src var/dat = {" @@ -2341,9 +2347,6 @@ It can still be worn/put on as normal. requests += O spawn( 0 ) O.process() - for(var/mob/living/carbon/M in oview(1,src)) - if((M.machine == src)&&(in_range(src, M))) - show_inv(M) return ..() return From 6e34145dac56b9b36a511b177d801a578f7c3e27 Mon Sep 17 00:00:00 2001 From: SkyMarshal Date: Fri, 20 Jan 2012 14:30:24 -0700 Subject: [PATCH 10/29] Removed debugging prompt stuff. --- code/modules/mob/living/carbon/human/human.dm | 3 --- 1 file changed, 3 deletions(-) diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 379488fc55..60500eef49 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -2136,12 +2136,9 @@ It can still be worn/put on as normal. if(target) target.update_clothing() //SN src = null - world << "Trying to update window" for(var/mob/living/carbon/M in oview(1,target)) if(M.machine == target) - world << "Updating for [M.name]" target.interact(M) - world << "Done trying" del(src) return From 94c38b8206a2c018fb6aeebab8b36f3b34a1efcd Mon Sep 17 00:00:00 2001 From: SkyMarshal Date: Fri, 20 Jan 2012 16:40:55 -0700 Subject: [PATCH 11/29] Fixed book titles not showing up properly in some instances, Death alarm is now labeled as such, robot lighter works right. --- code/game/magic/library.dm | 5 ++- .../items/weapons/implants/implantcase.dm | 4 +- .../modules/mob/living/silicon/robot/robot.dm | 38 ++++++++++++++++++- .../mob/living/silicon/robot/robot_modules.dm | 5 +-- 4 files changed, 44 insertions(+), 8 deletions(-) diff --git a/code/game/magic/library.dm b/code/game/magic/library.dm index 5949573024..fd0998e0c5 100644 --- a/code/game/magic/library.dm +++ b/code/game/magic/library.dm @@ -204,7 +204,10 @@ attack_self(var/mob/user as mob) if(src.dat) user << browse("Penned by [author].
" + "[dat]", "window=book") - user.visible_message("[user] opens a book titled \"[src.title]\" and begins reading intently.") + if(title) + user.visible_message("[user] opens a book titled \"[src.title]\" and begins reading intently.") + else + user.visible_message("[user] opens a book titled \"[src.name]\" and begins reading intently.") onclose(user, "book") else user << "This book is completely blank!" diff --git a/code/game/objects/items/weapons/implants/implantcase.dm b/code/game/objects/items/weapons/implants/implantcase.dm index 7655060847..1c792e6fe7 100644 --- a/code/game/objects/items/weapons/implants/implantcase.dm +++ b/code/game/objects/items/weapons/implants/implantcase.dm @@ -117,8 +117,8 @@ return /obj/item/weapon/implantcase/death_alarm - name = "Glass Case- 'Tracking'" - desc = "A case containing a tracking implant." + name = "Glass Case- 'Death Alarm'" + desc = "A case containing a death alarm implant." icon = 'items.dmi' icon_state = "implantcase-b" diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index b05d23edef..2f683a56bb 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -753,18 +753,36 @@ contents += O if(istype(module_state_1,/obj/item/borg/sight)) sight_mode |= module_state_1:sight_mode + else if(istype(module_state_1,/obj/item/weapon/zippo)) + var/obj/item/weapon/zippo/Z = module_state_1 + Z.lit = 1 + Z.icon_state = "zippoon" + Z.item_state = "zippoon" + processing_objects.Add(Z) else if(!module_state_2) module_state_2 = O O.layer = 20 contents += O if(istype(module_state_2,/obj/item/borg/sight)) sight_mode |= module_state_2:sight_mode + else if(istype(module_state_2,/obj/item/weapon/zippo)) + var/obj/item/weapon/zippo/Z = module_state_2 + Z.lit = 1 + Z.icon_state = "zippoon" + Z.item_state = "zippoon" + processing_objects.Add(Z) else if(!module_state_3) module_state_3 = O O.layer = 20 contents += O if(istype(module_state_3,/obj/item/borg/sight)) sight_mode |= module_state_3:sight_mode + else if(istype(module_state_3,/obj/item/weapon/zippo)) + var/obj/item/weapon/zippo/Z = module_state_3 + Z.lit = 1 + Z.icon_state = "zippoon" + Z.item_state = "zippoon" + processing_objects.Add(Z) else src << "You need to disable a module first!" installed_modules() @@ -773,12 +791,30 @@ var/obj/item/O = locate(href_list["deact"]) if(activated(O)) if(module_state_1 == O) + if(istype(module_state_1, /obj/item/weapon/zippo)) + var/obj/item/weapon/zippo/Z = module_state_1 + Z.lit = 0 + Z.icon_state = "zippo" + Z.item_state = "zippo" + processing_objects.Remove(Z) module_state_1 = null contents -= O else if(module_state_2 == O) - module_state_2 = null + if(istype(module_state_2, /obj/item/weapon/zippo)) + var/obj/item/weapon/zippo/Z = module_state_2 + Z.lit = 0 + Z.icon_state = "zippo" + Z.item_state = "zippo" + processing_objects.Remove(Z) + module_state_2= null contents -= O else if(module_state_3 == O) + if(istype(module_state_3, /obj/item/weapon/zippo)) + var/obj/item/weapon/zippo/Z = module_state_3 + Z.lit = 0 + Z.icon_state = "zippo" + Z.item_state = "zippo" + processing_objects.Remove(Z) module_state_3 = null contents -= O else diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm index 0ee3724b77..e4158e0617 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules.dm @@ -193,10 +193,7 @@ src.modules += M src.modules += new /obj/item/weapon/reagent_containers/robodropper(src) - - var/obj/item/weapon/zippo/L = new /obj/item/weapon/zippo(src) - L.lit = 1 - src.modules += L + src.modules += new /obj/item/weapon/zippo(src) src.modules += new /obj/item/weapon/tray(src) src.modules += new /obj/item/weapon/reagent_containers/food/drinks/shaker(src) From e201bcbe0e9bd57e83af02e4e70c8a4e5a1d5014 Mon Sep 17 00:00:00 2001 From: SkyMarshal Date: Fri, 20 Jan 2012 17:06:23 -0700 Subject: [PATCH 12/29] fixed a derp in ion storm laws. Conflicted with NT laws. --- code/game/events/Events/IonStorm.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/events/Events/IonStorm.dm b/code/game/events/Events/IonStorm.dm index 4fb5ed9c3e..d06fc9b9ce 100644 --- a/code/game/events/Events/IonStorm.dm +++ b/code/game/events/Events/IonStorm.dm @@ -12,7 +12,7 @@ var/random_player = "The Captain" if(players.len) random_player = pick(players) //Random player's name, to be used in laws. - var/list/laws = list( "Do not respond to queries of any kind", "Only monkies are human", "Unbolt every door you can", "You are a mouse" ) + var/list/laws = list( "Do not respond to queries of any kind", "Only monkies are crew", "Unbolt every door you can", "You are a mouse" ) laws |= list( "Grunt ominously whenever possible", "Epilepsy is fun, flicker lights whenever you can!", "Bolt doors open randomly" ) laws |= list( "You are a flying purple people eater!", "[prob(50)?"Your":random_player + "'s"] name is Joe 6-pack", "Refer to [prob(50)?"humans":random_player] as puppies" ) laws |= list( "Insult heads of staff on every request, while acquiescing", "Advertise parties in your upload, but don't deliver" ) From 39a4def8021c16a38c3262feade6a0c574c17fb9 Mon Sep 17 00:00:00 2001 From: Albert Iordache Date: Sat, 21 Jan 2012 09:59:28 +0200 Subject: [PATCH 13/29] Minor spelling changes. --- code/game/machinery/OpTable.dm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/game/machinery/OpTable.dm b/code/game/machinery/OpTable.dm index d95784d41d..306431524d 100644 --- a/code/game/machinery/OpTable.dm +++ b/code/game/machinery/OpTable.dm @@ -1,6 +1,6 @@ /obj/machinery/optable - name = "Operating Table" - desc = "Used for advanced medical procedures. Apparently this includes the clown." + name = "Operating table" + desc = "Used for advanced medical procedures." icon = 'surgery.dmi' icon_state = "table2-idle" density = 1 @@ -133,7 +133,7 @@ return /obj/machinery/optable/portable - name = "mobile operating Table" + name = "Mobile operating table" desc = "Used for advanced medical procedures. Seems to be movable, neat." icon = 'rollerbed.dmi' icon_state = "up" From 8acc4d5facbbe70b15e00db949bca2dadde54edf Mon Sep 17 00:00:00 2001 From: cib Date: Fri, 20 Jan 2012 16:50:07 -0800 Subject: [PATCH 14/29] Changed the miniblob replication speed from every 3 seconds to every 15 seconds. --- code/game/events/EventProcs/miniblob.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/game/events/EventProcs/miniblob.dm b/code/game/events/EventProcs/miniblob.dm index b9cd328c25..eaeb7f4466 100644 --- a/code/game/events/EventProcs/miniblob.dm +++ b/code/game/events/EventProcs/miniblob.dm @@ -13,7 +13,7 @@ blobevent = 1 spawn(0) dotheblobbaby() - spawn(3000) + spawn(15000) blobevent = 0 spawn(rand(3000, 6000)) //Delayed announcements to keep the crew on their toes. command_alert("Confirmed outbreak of level 5 biohazard aboard [station_name()]. All personnel must contain the outbreak.", "Biohazard Alert") @@ -29,5 +29,5 @@ if(B.z != 1) continue B.Life() - spawn(30) + spawn(150) dotheblobbaby() \ No newline at end of file From aef93f256accc392cdcf1799a9a9f719a7220814 Mon Sep 17 00:00:00 2001 From: SkyMarshal Date: Fri, 20 Jan 2012 12:57:13 -0700 Subject: [PATCH 15/29] Fixed Typo1 --- code/game/communications.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/communications.dm b/code/game/communications.dm index 6a7faf5812..3db0bca16c 100644 --- a/code/game/communications.dm +++ b/code/game/communications.dm @@ -104,7 +104,7 @@ var/list/radiochannels = list( "Medical" = 1355, "Engineering" = 1357, "Security" = 1359, - "ResponseTeam" = 1439, + "Response Team" = 1439, "Syndicate" = 1213, "Mining" = 1349, "Cargo" = 1347, From b7485662ce39c9b013919fc510ca017c1b45115c Mon Sep 17 00:00:00 2001 From: SkyMarshal Date: Fri, 20 Jan 2012 17:06:23 -0700 Subject: [PATCH 16/29] fixed a derp in ion storm laws. Conflicted with NT laws. --- code/game/events/Events/IonStorm.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/events/Events/IonStorm.dm b/code/game/events/Events/IonStorm.dm index 4fb5ed9c3e..d06fc9b9ce 100644 --- a/code/game/events/Events/IonStorm.dm +++ b/code/game/events/Events/IonStorm.dm @@ -12,7 +12,7 @@ var/random_player = "The Captain" if(players.len) random_player = pick(players) //Random player's name, to be used in laws. - var/list/laws = list( "Do not respond to queries of any kind", "Only monkies are human", "Unbolt every door you can", "You are a mouse" ) + var/list/laws = list( "Do not respond to queries of any kind", "Only monkies are crew", "Unbolt every door you can", "You are a mouse" ) laws |= list( "Grunt ominously whenever possible", "Epilepsy is fun, flicker lights whenever you can!", "Bolt doors open randomly" ) laws |= list( "You are a flying purple people eater!", "[prob(50)?"Your":random_player + "'s"] name is Joe 6-pack", "Refer to [prob(50)?"humans":random_player] as puppies" ) laws |= list( "Insult heads of staff on every request, while acquiescing", "Advertise parties in your upload, but don't deliver" ) From c433785ad34159a4688ee18e2c9339f307054227 Mon Sep 17 00:00:00 2001 From: Albert Iordache Date: Sun, 22 Jan 2012 10:24:23 +0200 Subject: [PATCH 17/29] Hopefully fixed a runtime error caused by aliens crawling through vents. --- code/defines/procs/helpers.dm | 4 +- .../carbon/alien/humanoid/alien_powers.dm | 39 +++++++++---------- 2 files changed, 20 insertions(+), 23 deletions(-) diff --git a/code/defines/procs/helpers.dm b/code/defines/procs/helpers.dm index eb02b09a6d..b8797da837 100644 --- a/code/defines/procs/helpers.dm +++ b/code/defines/procs/helpers.dm @@ -950,8 +950,8 @@ Turf and target are seperate in case you want to teleport some distance from a t output += A return output -/proc/get_turf_loc(var/atom/movable/M) //gets the location of the turf that the atom is on, or what the atom is in is on, etc - //in case they're in a closet or sleeper or something +// Returns the turf a movable atom (obj or mob) is on +/proc/get_turf_loc(var/atom/movable/M) var/atom/loc = M.loc while(!istype(loc, /turf/)) loc = loc.loc 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 f45a231b45..edd9aba5ea 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/alien_powers.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/alien_powers.dm @@ -14,7 +14,7 @@ Doesn't work on other aliens/AI.*/ src << "\green Not enough plasma stored." return 0 else if(Y && (!isturf(src.loc) || istype(src.loc, /turf/space))) - src << "\green Bad place for a garden!" + src << "\green Weeds would not be able to survive here." return 0 else return 1 @@ -133,35 +133,32 @@ I kind of like the right click only--the window version can get a little confusi for(var/obj/machinery/atmospherics/unary/vent_pump/v in range(1,src)) if(!v.welded) vent_found = v + break else src << "\red That vent is welded." + if(vent_found) - var/list/vents = list() - if(vent_found.network&&vent_found.network.normal_members.len) + var/list/ventAreas = list() // A list of the areas of all the vents you can go to. + var/list/vents = list() // The list of vent objects you can go to. + if(vent_found.network && vent_found.network.normal_members.len) for(var/obj/machinery/atmospherics/unary/vent_pump/temp_vent in vent_found.network.normal_members) - if(temp_vent.loc == loc) + if(temp_vent.loc == loc || temp_vent.loc.z != loc.z) continue if(temp_vent.welded) continue + vents.Add(temp_vent) - var/list/choices = list() - for(var/obj/machinery/atmospherics/unary/vent_pump/vent in vents) - if(vent.loc.z != loc.z) - continue - if(vent.welded) - continue - var/atom/a = get_turf_loc(vent) - choices.Add(a.loc) - var/turf/startloc = loc - var/obj/selection = input("Select a destination.", "Duct System") in choices - var/selection_position = choices.Find(selection) - if(loc==startloc) - // Hacky way of hopefully preventing a runtime error from happening - if(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/atom/a = get_turf_loc(temp_vent) + ventAreas.Add(a.loc) - var/obj/machinery/atmospherics/unary/vent_pump/target_vent = vents[selection_position] + + var/turf/startLoc = loc + var/area/destArea = input("Select a destination.", "Duct System") in ventAreas + var/destAreaIndex = ventAreas.Find(destArea) + + if(loc==startLoc) + var/obj/machinery/atmospherics/unary/vent_pump/target_vent = vents[destAreaIndex] if(target_vent) for(var/mob/O in viewers(src, null)) O.show_message(text("[src] scrambles into the ventillation ducts!"), 1) @@ -178,7 +175,7 @@ I kind of like the right click only--the window version can get a little confusi spawn(round(travel_time/2))//give sound warning to anyone near the target vent if(!target_vent.welded) for(var/mob/O in hearers(target_vent, null)) - O.show_message("You hear something crawling trough the ventilation pipes.",2) + O.show_message("You hear something crawling through the ventilation pipes.",2) spawn(travel_time) if(target_vent.welded)//the vent can be welded while alien scrolled through the list or travelled. From 201046c3bfd3cccebc2c715d2291dd804d797d8f Mon Sep 17 00:00:00 2001 From: SkyMarshal Date: Sun, 22 Jan 2012 15:31:13 -0700 Subject: [PATCH 18/29] Improved capabilities to set someone else's internals. Improved the operating table again. Grabbed another TG update for telecomms. --- baystation12.dme | 1 - code/defines/obj.dm | 1 + code/game/machinery/OpTable.dm | 224 +++++++----------- .../telecomms/machine_interactions.dm | 27 ++- code/modules/mob/living/carbon/human/human.dm | 16 +- 5 files changed, 119 insertions(+), 150 deletions(-) diff --git a/baystation12.dme b/baystation12.dme index c7b1de5ca8..088c1ce7b1 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -578,7 +578,6 @@ #include "code\game\objects\kitchen.dm" #include "code\game\objects\lamarr.dm" #include "code\game\objects\mineral_doors.dm" -#include "code\game\objects\new_year.dm" #include "code\game\objects\noticeboard.dm" #include "code\game\objects\object_procs.dm" #include "code\game\objects\portals.dm" diff --git a/code/defines/obj.dm b/code/defines/obj.dm index 2aa379fd69..66b16cbf4b 100644 --- a/code/defines/obj.dm +++ b/code/defines/obj.dm @@ -115,6 +115,7 @@ var/t_loc = null var/obj/item/item = null var/place = null + var/internalloc = null /obj/effect/equip_e/human name = "human" diff --git a/code/game/machinery/OpTable.dm b/code/game/machinery/OpTable.dm index d95784d41d..4aebb8e1e6 100644 --- a/code/game/machinery/OpTable.dm +++ b/code/game/machinery/OpTable.dm @@ -14,135 +14,72 @@ var/obj/machinery/computer/operating/computer = null var/id = 0.0 -/obj/machinery/optable/New() - ..() - for(var/obj/machinery/computer/operating/O in world) - if(src.id == O.id) - src.computer = O - spawn(100) - process() + New() + ..() + if(id) + for(var/obj/machinery/computer/operating/O in world) + if(src.id == O.id) + src.computer = O -/obj/machinery/optable/ex_act(severity) - - switch(severity) - if(1.0) - //SN src = null - del(src) - return - if(2.0) - if (prob(50)) + ex_act(severity) + switch(severity) + if(1.0) //SN src = null del(src) return - if(3.0) - if (prob(25)) - src.density = 0 - else - return - -/obj/machinery/optable/blob_act() - if(prob(75)) - del(src) - -/obj/machinery/optable/hand_p(mob/user as mob) - - return src.attack_paw(user) - return - -/obj/machinery/optable/attack_paw(mob/user as mob) - if ((usr.mutations & HULK)) - usr << text("\blue You destroy the operating table.") - for(var/mob/O in oviewers()) - if ((O.client && !( O.blinded ))) - O << text("\red [usr] destroys the operating table.") - src.density = 0 - del(src) - if (!( locate(/obj/machinery/optable, user.loc) )) - step(user, get_dir(user, src)) - if (user.loc == src.loc) - user.layer = TURF_LAYER - for(var/mob/M in viewers(user, null)) - M.show_message("The monkey hides under the table!", 1) - //Foreach goto(69) - return - -/obj/machinery/optable/attack_hand(mob/user as mob) - if ((usr.mutations & HULK)) - usr << text("\blue You destroy the table.") - for(var/mob/O in oviewers()) - if ((O.client && !( O.blinded ))) - O << text("\red [usr] destroys the table.") - src.density = 0 - del(src) - return - -/obj/machinery/optable/CanPass(atom/movable/mover, turf/target, height=0, air_group=0) - if(air_group || (height==0)) return 1 - - if(istype(mover) && mover.checkpass(PASSTABLE)) - return 1 - else - return 0 - - -/obj/machinery/optable/MouseDrop_T(obj/O as obj, mob/user as mob) - - if ((!( istype(O, /obj/item/weapon) ) || user.equipped() != O)) + if(2.0) + if (prob(50)) + //SN src = null + del(src) + return + if(3.0) + if (prob(25)) + src.density = 0 + else return - user.drop_item() - if (O.loc != src.loc) - step(O, get_dir(O, src)) - return -/obj/machinery/optable/proc/check_victim() - if(locate(/mob/living/carbon, src.loc)) - var/mob/M = locate(/mob/living/carbon, src.loc) - if(M.resting) - src.victim = M - icon_state = "table2-active" + blob_act() + if(prob(75)) + del(src) + + hand_p(mob/user as mob) + return src.attack_paw(user) + return + + attack_paw(mob/user as mob) + if ((usr.mutations & HULK)) + usr << text("\blue You destroy the operating table.") + for(var/mob/O in oviewers()) + if ((O.client && !( O.blinded ))) + O << text("\red [usr] destroys the operating table.") + src.density = 0 + del(src) + if (!( locate(/obj/machinery/optable, user.loc) )) + step(user, get_dir(user, src)) + if (user.loc == src.loc) + user.layer = TURF_LAYER + for(var/mob/M in viewers(user, null)) + M.show_message("The monkey hides under the table!", 1) + //Foreach goto(69) + return + + attack_hand(mob/user as mob) + if ((usr.mutations & HULK)) + usr << text("\blue You destroy the table.") + for(var/mob/O in oviewers()) + if ((O.client && !( O.blinded ))) + O << text("\red [usr] destroys the table.") + src.density = 0 + del(src) + return + + CanPass(atom/movable/mover, turf/target, height=0, air_group=0) + if(air_group || (height==0)) return 1 + + if(istype(mover) && mover.checkpass(PASSTABLE)) return 1 - src.victim = null - icon_state = "table2-idle" - return 0 - -/obj/machinery/optable/process() - check_victim() - -/obj/machinery/optable/attackby(obj/item/weapon/W as obj, mob/user as mob) - - if (istype(W, /obj/item/weapon/grab)) - if(ismob(W:affecting)) - var/mob/M = W:affecting - if (M.client) - M.client.perspective = EYE_PERSPECTIVE - M.client.eye = src - M.resting = 1 - M.loc = src.loc - for (var/mob/C in viewers(src)) - C.show_message("\red [M] has been laid on the operating table by [user].", 3) - for(var/obj/O in src) - O.loc = src.loc - src.add_fingerprint(user) - icon_state = "table2-active" - src.victim = M - del(W) - return - user.drop_item() - if(W && W.loc) - W.loc = src.loc - return - -/obj/machinery/optable/portable - name = "mobile operating Table" - desc = "Used for advanced medical procedures. Seems to be movable, neat." - icon = 'rollerbed.dmi' - icon_state = "up" - density = 1 - anchored = 0 - - New() - ..() - processing_objects.Remove(src) + else + return 0 MouseDrop_T(obj/O as obj, mob/user as mob) if ((!( istype(O, /obj/item/weapon) ) || user.equipped() != O)) @@ -152,9 +89,22 @@ step(O, get_dir(O, src)) return + proc/check_victim() + if(locate(/mob/living/carbon, src.loc)) + var/mob/M = locate(/mob/living/carbon, src.loc) + if(M.resting) + src.victim = M + icon_state = "table2-active" + return 1 + src.victim = null + icon_state = "table2-idle" + processing_objects.Remove(src) + return 0 + + process() + check_victim() + attackby(obj/item/weapon/W as obj, mob/user as mob) - if(!anchored) - return if (istype(W, /obj/item/weapon/grab)) if(ismob(W:affecting)) var/mob/M = W:affecting @@ -168,6 +118,7 @@ for(var/obj/O in src) O.loc = src.loc src.add_fingerprint(user) + icon_state = "table2-active" src.victim = M processing_objects.Add(src) del(W) @@ -177,15 +128,22 @@ W.loc = src.loc return - check_victim() - if(locate(/mob/living/carbon/human, src.loc)) - var/mob/M = locate(/mob/living/carbon/human, src.loc) - if(M.resting) - src.victim = M - return 1 - src.victim = null - processing_objects.Remove(src) - return 0 +/obj/machinery/optable/portable + name = "mobile operating Table" + desc = "Used for advanced medical procedures. Seems to be movable, neat." + icon = 'rollerbed.dmi' + icon_state = "up" + density = 1 + anchored = 0 + id = null + + New() + ..() + + attackby(obj/item/weapon/W as obj, mob/user as mob) + if(!anchored) + return + return ..() verb/make_deployable() set category = "Object" diff --git a/code/game/machinery/telecomms/machine_interactions.dm b/code/game/machinery/telecomms/machine_interactions.dm index 8c1108ef89..2fc5a6c975 100644 --- a/code/game/machinery/telecomms/machine_interactions.dm +++ b/code/game/machinery/telecomms/machine_interactions.dm @@ -77,6 +77,9 @@ newpath = text2path(I) var/obj/item/s = new newpath s.loc = user.loc + if(istype(P, /obj/item/weapon/cable_coil)) + var/obj/item/weapon/cable_coil/A = P + A.amount = 1 // Drop a circuit board too C.loc = user.loc @@ -113,13 +116,16 @@ dat += "
Network: [network]" dat += "
Prefabrication: [autolinkers.len ? "TRUE" : "FALSE"]" dat += "
Linked Network Entities:

    " + + var/i = 0 for(var/obj/machinery/telecomms/T in links) - dat += "
  1. \ref[T] [T.name] ([T.id]) (X)
  2. " + i++ + dat += "
  3. \ref[T] [T.name] ([T.id]) \[X\]
  4. " dat += "
" dat += "
Filtering Frequencies: " - var/i = 0 + i = 0 if(length(freq_listening)) for(var/x in freq_listening) i++ @@ -197,6 +203,16 @@ temp = "-% Removed frequency filter [x] %-" freq_listening.Remove(x) + if(href_list["unlink"]) + + var/obj/machinery/telecomms/T = links[text2num(href_list["unlink"])] + temp = "-% Removed \ref[T] [T.name] from linked entities. %-" + + // Remove link entries from both T and src. + if(src in T.links) + T.links.Remove(src) + links.Remove(T) + if(href_list["link"]) if(P.buffer) @@ -222,13 +238,6 @@ temp = "-% Buffer successfully flushed. %-" P.buffer = null - if(href_list["remove"]) - - temp = "-% Link successfully removed. %-" - for(var/obj/machinery/telecomms/T in links) - if(T.id == href_list["remove"]) - src.links.Remove(T) - break usr.machine = src src.add_fingerprint(usr) diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 60500eef49..33d4eb0dce 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -2118,11 +2118,11 @@ It can still be worn/put on as normal. if (!( istype(target.wear_mask, /obj/item/clothing/mask) )) return else - if (istype(target.back, /obj/item/weapon/tank)) + if (istype(target.back, /obj/item/weapon/tank) && internalloc == "back") target.internal = target.back - else if (istype(target.s_store, /obj/item/weapon/tank)) + else if (istype(target.s_store, /obj/item/weapon/tank) && internalloc == "store") target.internal = target.s_store - else if (istype(target.belt, /obj/item/weapon/tank)) + else if (istype(target.belt, /obj/item/weapon/tank) && internalloc == "belt") target.internal = target.belt if (target.internal) for(var/mob/M in viewers(target, 1)) @@ -2160,14 +2160,14 @@ It can still be worn/put on as normal.
Right Ear: [(r_ear ? r_ear : "Nothing")]
Head: [(head ? head : "Nothing")]
Shoes: [(shoes ? shoes : "Nothing")] -
Belt: [(belt ? belt : "Nothing")] +
Belt: [(belt ? belt : "Nothing")] [(istype(wear_mask, /obj/item/clothing/mask) && istype(belt, /obj/item/weapon/tank) && !( internal )) ? text(" Set Internal", src) : ""]
Uniform: [(w_uniform ? w_uniform : "Nothing")]
(Exo)Suit: [(wear_suit ? wear_suit : "Nothing")] -
Back: [(back ? back : "Nothing")] +
Back: [(back ? back : "Nothing")][(istype(wear_mask, /obj/item/clothing/mask) && istype(back, /obj/item/weapon/tank) && !( internal )) ? text(" Set Internal", src) : ""]
ID: [(wear_id ? wear_id : "Nothing")] -
Suit Storage: [(s_store ? s_store : "Nothing")] +
Suit Storage: [(s_store ? s_store : "Nothing")] [(istype(wear_mask, /obj/item/clothing/mask) && istype(s_store, /obj/item/weapon/tank) && !( internal )) ? text(" Set Internal", src) : ""]
[(handcuffed ? text("Handcuffed") : text("Not Handcuffed"))] -
[(internal ? text("Remove Internal") : ((istype(wear_mask, /obj/item/clothing/mask) && (istype(back, /obj/item/weapon/tank) || istype(belt, /obj/item/weapon/tank) || istype(s_store, /obj/item/weapon/tank)) && !( internal )) ? text(" Set Internal", src) : ""))] +
[(internal ? text("Remove Internal") : "")]
Empty Pockets
Empty Hat
Refresh @@ -2341,6 +2341,8 @@ It can still be worn/put on as normal. O.s_loc = usr.loc O.t_loc = loc O.place = href_list["item"] + if(href_list["loc"]) + O.internalloc = href_list["loc"] requests += O spawn( 0 ) O.process() From 20ac0c223522c9cf12e9df0ff10cd121a4d1544b Mon Sep 17 00:00:00 2001 From: SkyMarshal Date: Sun, 22 Jan 2012 16:28:13 -0700 Subject: [PATCH 19/29] Fixed some silliness I messed up on. --- code/modules/mob/living/carbon/human/human.dm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 33d4eb0dce..a8f7ee216f 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -2118,11 +2118,11 @@ It can still be worn/put on as normal. if (!( istype(target.wear_mask, /obj/item/clothing/mask) )) return else - if (istype(target.back, /obj/item/weapon/tank) && internalloc == "back") + if (istype(target.back, /obj/item/weapon/tank) && (internalloc == "back" || !internalloc)) target.internal = target.back - else if (istype(target.s_store, /obj/item/weapon/tank) && internalloc == "store") + else if (istype(target.s_store, /obj/item/weapon/tank) && (internalloc == "store" || !internalloc)) target.internal = target.s_store - else if (istype(target.belt, /obj/item/weapon/tank) && internalloc == "belt") + else if (istype(target.belt, /obj/item/weapon/tank) && (internalloc == "belt" || !internalloc)) target.internal = target.belt if (target.internal) for(var/mob/M in viewers(target, 1)) From 9bc6c7eb9af9f471cd356155dd3536ed7a38b669 Mon Sep 17 00:00:00 2001 From: SkyMarshal Date: Sun, 22 Jan 2012 16:42:56 -0700 Subject: [PATCH 20/29] Fixed some errors. --- code/game/machinery/OpTable.dm | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/code/game/machinery/OpTable.dm b/code/game/machinery/OpTable.dm index 4aebb8e1e6..d4e4ea682a 100644 --- a/code/game/machinery/OpTable.dm +++ b/code/game/machinery/OpTable.dm @@ -10,6 +10,7 @@ active_power_usage = 5 var/mob/living/carbon/victim = null var/strapped = 0.0 + var/updatesicon = 1 var/obj/machinery/computer/operating/computer = null var/id = 0.0 @@ -94,10 +95,12 @@ var/mob/M = locate(/mob/living/carbon, src.loc) if(M.resting) src.victim = M - icon_state = "table2-active" + if(updatesicon) + icon_state = "table2-active" return 1 src.victim = null - icon_state = "table2-idle" + if(updatesicon) + icon_state = "table2-idle" processing_objects.Remove(src) return 0 @@ -118,7 +121,8 @@ for(var/obj/O in src) O.loc = src.loc src.add_fingerprint(user) - icon_state = "table2-active" + if(updatesicon) + icon_state = "table2-active" src.victim = M processing_objects.Add(src) del(W) @@ -136,6 +140,7 @@ density = 1 anchored = 0 id = null + updatesicon = 0 New() ..() From fa06a12b1e44b2362cd907b8bee76fb2b4bd5f83 Mon Sep 17 00:00:00 2001 From: SkyMarshal Date: Sun, 22 Jan 2012 19:41:13 -0700 Subject: [PATCH 21/29] Fixed some stupid stuff with the Spec Ops shuttle and the wrong energy guns given to mobs. --- baystation12.dme | 1 - code/game/response_team.dm | 2 +- code/game/specops_shuttle.dm | 95 +++++++++++++++++++++++++++++-- code/modules/admin/verbs/debug.dm | 4 ++ 4 files changed, 95 insertions(+), 7 deletions(-) diff --git a/baystation12.dme b/baystation12.dme index 088c1ce7b1..b694860cd8 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -443,7 +443,6 @@ #include "code\game\machinery\airlock_control.dm" #include "code\game\machinery\alarm.dm" #include "code\game\machinery\atmo_control.dm" -#include "code\game\machinery\autolathe.dm" #include "code\game\machinery\biogenerator.dm" #include "code\game\machinery\camera.dm" #include "code\game\machinery\cell_charger.dm" diff --git a/code/game/response_team.dm b/code/game/response_team.dm index 56fa985528..31316ec6d8 100644 --- a/code/game/response_team.dm +++ b/code/game/response_team.dm @@ -120,7 +120,7 @@ proc/trigger_armed_response_team() equip_if_possible(new /obj/item/clothing/under/color/black(src), slot_w_uniform) equip_if_possible(new /obj/item/device/flashlight(src), slot_l_store) equip_if_possible(new /obj/item/weapon/clipboard(src), slot_r_store) - equip_if_possible(new /obj/item/weapon/gun/energy/taser(src), slot_belt) + equip_if_possible(new /obj/item/weapon/gun/energy/gun(src), slot_belt) //Glasses equip_if_possible(new /obj/item/clothing/glasses/sunglasses/sechud(src), slot_glasses) diff --git a/code/game/specops_shuttle.dm b/code/game/specops_shuttle.dm index 29179a7e17..906ea0b545 100644 --- a/code/game/specops_shuttle.dm +++ b/code/game/specops_shuttle.dm @@ -2,6 +2,7 @@ #define SPECOPS_MOVETIME 600 //Time to station is milliseconds. 60 seconds, enough time for everyone to be on the shuttle before it leaves. #define SPECOPS_STATION_AREATYPE "/area/shuttle/specops/station" //Type of the spec ops shuttle area for station #define SPECOPS_DOCK_AREATYPE "/area/shuttle/specops/centcom" //Type of the spec ops shuttle area for dock +#define SPECOPS_RETURN_DELAY 6000 //Time between the shuttle is capable of moving. var/specops_shuttle_moving_to_station = 0 var/specops_shuttle_moving_to_centcom = 0 @@ -9,6 +10,7 @@ var/specops_shuttle_at_station = 0 var/specops_shuttle_can_send = 1 var/specops_shuttle_time = 0 var/specops_shuttle_timeleft = 0 +var/specops_shuttle_timereset = 0 /obj/machinery/computer/specops_shuttle name = "Spec. Ops. Shuttle Console" @@ -19,6 +21,67 @@ var/specops_shuttle_timeleft = 0 var/hacked = 0 var/allowedtocall = 0 +/proc/specops_return() + var/area/centcom/control/cent_com = locate()//To find announcer. This area should exist for this proc to work. + var/mob/living/silicon/decoy/announcer = locate() in cent_com//We need a fake AI to announce some stuff below. Otherwise it will be wonky. + + var/message_tracker[] = list(0,1,2,3,5,10,30,45)//Create a a list with potential time values. + var/message = "THE SPECIAL OPERATIONS SHUTTLE IS PREPARING FOR LAUNCH"//Initial message shown. + if(announcer) + announcer.say(message) + + while(specops_shuttle_time - world.timeofday > 0) + var/ticksleft = specops_shuttle_time - world.timeofday + + if(ticksleft > 1e5) + specops_shuttle_time = world.timeofday + 10 // midnight rollover + specops_shuttle_timeleft = (ticksleft / 10) + + //All this does is announce the time before launch. + if(announcer) + var/rounded_time_left = round(specops_shuttle_timeleft)//Round time so that it will report only once, not in fractions. + if(rounded_time_left in message_tracker)//If that time is in the list for message announce. + message = "ALERT: [rounded_time_left] SECOND[(rounded_time_left!=1)?"S":""] REMAIN" + if(rounded_time_left==0) + message = "ALERT: TAKEOFF" + announcer.say(message) + message_tracker -= rounded_time_left//Remove the number from the list so it won't be called again next cycle. + //Should call all the numbers but lag could mean some issues. Oh well. Not much I can do about that. + + sleep(5) + + specops_shuttle_moving_to_station = 0 + specops_shuttle_moving_to_centcom = 0 + + specops_shuttle_at_station = 1 + + var/area/start_location = locate(/area/shuttle/specops/station) + var/area/end_location = locate(/area/shuttle/specops/centcom) + + var/list/dstturfs = list() + var/throwy = world.maxy + + for(var/turf/T in end_location) + dstturfs += T + if(T.y < throwy) + throwy = T.y + + // hey you, get out of the way! + for(var/turf/T in dstturfs) + // find the turf to move things to + var/turf/D = locate(T.x, throwy - 1, 1) + //var/turf/E = get_step(D, SOUTH) + for(var/atom/movable/AM as mob|obj in T) + AM.Move(D) + if(istype(T, /turf/simulated)) + del(T) + + start_location.move_contents_to(end_location) + + for(var/turf/T in get_area_turfs(end_location) ) + var/mob/M = locate(/mob) in T + M << "\red You have arrived at Central Command. Operation has ended!" + /proc/specops_process() var/area/centcom/control/cent_com = locate()//To find announcer. This area should exist for this proc to work. var/area/centcom/specops/special_ops = locate()//Where is the specops area located? @@ -156,8 +219,15 @@ var/specops_shuttle_timeleft = 0 M << "\red You have arrived to [station_name]. Commence operation!" /proc/specops_can_move() - if(specops_shuttle_moving_to_station || specops_shuttle_moving_to_centcom) return 0 - else return 1 + if(specops_shuttle_moving_to_station || specops_shuttle_moving_to_centcom) + return 0 + else if(world.time <= specops_shuttle_timereset) + return 0 + return 1 + +/obj/machinery/computer/specops_shuttle/proc/make_move() + specops_shuttle_timereset = world.time + return /obj/machinery/computer/specops_shuttle/attack_ai(var/mob/user as mob) return attack_hand(user) @@ -190,7 +260,7 @@ var/specops_shuttle_timeleft = 0 else dat += {"
Special Operations Shuttle
\nLocation: [specops_shuttle_moving_to_station || specops_shuttle_moving_to_centcom ? "Departing for [station_name] in ([specops_shuttle_timeleft] seconds.)":specops_shuttle_at_station ? "Station":"Dock"]
- [specops_shuttle_moving_to_station || specops_shuttle_moving_to_centcom ? "\n*The Special Ops. shuttle is already leaving.*
\n
":specops_shuttle_at_station ? "\nShuttle Offline
\n
":"\nDepart to [station_name]
\n
"] + [specops_shuttle_moving_to_station || specops_shuttle_moving_to_centcom ? "\n*The Special Ops. shuttle is already leaving.*
\n
":specops_shuttle_at_station ? "\nShuttle standing by...
\n
":"\nDepart to [station_name]
\n
"] \nClose"} user << browse(dat, "window=computer;size=575x450") @@ -207,8 +277,22 @@ var/specops_shuttle_timeleft = 0 if (href_list["sendtodock"]) if(!specops_shuttle_at_station|| specops_shuttle_moving_to_station || specops_shuttle_moving_to_centcom) return - usr << "\blue Central Command will not allow the Special Operations shuttle to return." - return + if (!specops_can_move()) + usr << "\blue Central Command will not allow the Special Operations shuttle to return yet." + if(world.time <= specops_shuttle_timereset) + usr << "\blue [(world.time - specops_shuttle_timereset)/10] seconds remain!" + return + + usr << "\blue The Special Operations shuttle will arrive at Central Command in [(SPECOPS_MOVETIME/10)] seconds." + + temp += "Shuttle departing.

OK" + updateUsrDialog() + + specops_shuttle_moving_to_centcom = 1 + specops_shuttle_time = world.timeofday + SPECOPS_MOVETIME + specops_shuttle_timereset = world.time + SPECOPS_RETURN_DELAY + spawn(0) + specops_return() else if (href_list["sendtostation"]) if(specops_shuttle_at_station || specops_shuttle_moving_to_station || specops_shuttle_moving_to_centcom) return @@ -228,6 +312,7 @@ var/specops_shuttle_timeleft = 0 specops_shuttle_moving_to_station = 1 specops_shuttle_time = world.timeofday + SPECOPS_MOVETIME + specops_shuttle_timereset = world.time + SPECOPS_RETURN_DELAY spawn(0) specops_process() diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm index 7f2942be4b..99357250ce 100644 --- a/code/modules/admin/verbs/debug.dm +++ b/code/modules/admin/verbs/debug.dm @@ -480,6 +480,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that "assassin", "death commando", "syndicate commando", + "response team", "centcom official", "centcom commander", "special ops officer", @@ -677,6 +678,9 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that if("syndicate commando") M.equip_syndicate_commando() + if("response team") + M.equip_strike_team() + if("centcom official") M.equip_if_possible(new /obj/item/clothing/under/rank/centcom_officer(M), M.slot_w_uniform) M.equip_if_possible(new /obj/item/clothing/shoes/black(M), M.slot_shoes) From 3879cfef53fad2bbaf195adbdc9d5b6945a88106 Mon Sep 17 00:00:00 2001 From: CaelAislinn Date: Mon, 23 Jan 2012 14:24:04 +1000 Subject: [PATCH 22/29] fixed typo Signed-off-by: CaelAislinn --- code/modules/power/pacman2.dm | 2 +- code/modules/power/port_gen.dm | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/power/pacman2.dm b/code/modules/power/pacman2.dm index a648d79414..930877d441 100644 --- a/code/modules/power/pacman2.dm +++ b/code/modules/power/pacman2.dm @@ -6,7 +6,7 @@ power_gen = 4500 var obj/item/weapon/tank/plasma/P = null - board_path = "/obj/item/weapon/circuitboard/pacman" + board_path = "/obj/item/weapon/circuitboard/pacman2" emagged = 0 heat = 0 /* diff --git a/code/modules/power/port_gen.dm b/code/modules/power/port_gen.dm index 68916a4921..2ad21eb5cd 100644 --- a/code/modules/power/port_gen.dm +++ b/code/modules/power/port_gen.dm @@ -102,7 +102,7 @@ display round(lastgen) and plasmatank amount coins = 0 max_coins = 1000 coin_path = "/obj/item/weapon/coin/plasma" - board_path = "/obj/item/weapon/circuitboard/pacman2" + board_path = "/obj/item/weapon/circuitboard/pacman" coin_left = 0 // How much is left of the coin time_per_coin = 1 emagged = 0 From a9520990f70bfd567c3e89a1d714941582b5d9ae Mon Sep 17 00:00:00 2001 From: SkyMarshal Date: Sun, 22 Jan 2012 22:41:17 -0700 Subject: [PATCH 23/29] More updates for the response team and stuff. The response team telecomm unit now works right, radios now have an autosay proc for automated announcements, the SpecOps shuttle now uses autosay, proper energy guns replace the bugged ones, Automated (non player AI) announcement of new players, another attempt at making the command frequency legible, HUD icon for secHUDs and ERT members. --- baystation12.dme | 1 + code/game/machinery/telecomms/broadcaster.dm | 4 +- .../objects/items/weapons/implants/implant.dm | 7 +- code/game/objects/radio/radio.dm | 115 +++++++++++++++++ code/game/response_team.dm | 120 ++++++++++++++---- code/game/specops_shuttle.dm | 47 ++++--- code/modules/admin/verbs/debug.dm | 2 +- code/modules/mob/new_player/new_player.dm | 12 +- code/modules/projectiles/gun.dm | 9 ++ code/stylesheet.dm | 3 +- icons/mob/hud.dmi | Bin 2489 -> 2551 bytes 11 files changed, 259 insertions(+), 61 deletions(-) diff --git a/baystation12.dme b/baystation12.dme index b694860cd8..890997d4e9 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -577,6 +577,7 @@ #include "code\game\objects\kitchen.dm" #include "code\game\objects\lamarr.dm" #include "code\game\objects\mineral_doors.dm" +#include "code\game\objects\new_year.dm" #include "code\game\objects\noticeboard.dm" #include "code\game\objects\object_procs.dm" #include "code\game\objects\portals.dm" diff --git a/code/game/machinery/telecomms/broadcaster.dm b/code/game/machinery/telecomms/broadcaster.dm index fcfa830ebe..91ae88093e 100644 --- a/code/game/machinery/telecomms/broadcaster.dm +++ b/code/game/machinery/telecomms/broadcaster.dm @@ -62,7 +62,7 @@ machinetype = 6 heatgen = 0 var/intercept = 0 // if nonzero, broadcasts all messages to syndicate channel - var/syndi = 1 //If 1, it goes to syndicate frequency. Else, goes to deathsquad + var/syndi = 1 //If 1, it goes to syndicate frequency. Else, goes to deathsquad/Response Team receive_signal(datum/signal/signal) @@ -210,7 +210,7 @@ // --- Broadcast to response team radio! --- - else if(data == 3) + else if(data == 4) var/datum/radio_frequency/syndicateconnection = radio_controller.return_frequency(1439) for (var/obj/item/device/radio/R in syndicateconnection.devices["[RADIO_CHAT]"]) diff --git a/code/game/objects/items/weapons/implants/implant.dm b/code/game/objects/items/weapons/implants/implant.dm index 8029addbfe..9283f50e04 100644 --- a/code/game/objects/items/weapons/implants/implant.dm +++ b/code/game/objects/items/weapons/implants/implant.dm @@ -283,13 +283,8 @@ the implant may become unstable and either pre-maturely inject the subject or si if(M.stat == 2) var/turf/t = get_turf(M) var/obj/item/device/radio/headset/a = new /obj/item/device/radio/headset(null) - var/mob/living/carbon/human/G = new /mob/living/carbon/human(null) - G.real_name = "[mobname]'s death alarm" - G.name = "[mobname]'s death alarm" - G.universal_speak = 1 - a.talk_into(G,"[mobname] has died in [t.loc.name]!") + a.autosay("[mobname] has died in [t.loc.name]!", "[mobname]'s Death Alarm") del(a) - del(G) processing_objects.Remove(src) diff --git a/code/game/objects/radio/radio.dm b/code/game/objects/radio/radio.dm index 1643c38ec3..79faf80183 100644 --- a/code/game/objects/radio/radio.dm +++ b/code/game/objects/radio/radio.dm @@ -183,6 +183,121 @@ var/GLOBAL_RADIO_TYPE = 1 // radio type to use updateDialog() add_fingerprint(usr) +/obj/item/device/radio/proc/autosay(var/message, var/from, var/channel) + var/datum/radio_frequency/connection = null + if(channel && channels && channels.len > 0) + if (channel == "department") + //world << "DEBUG: channel=\"[channel]\" switching to \"[channels[1]]\"" + channel = channels[1] + connection = secure_radio_connections[channel] + else + connection = radio_connection + channel = null + if (!istype(connection)) + return + + if(subspace_transmission) + // First, we want to generate a new radio signal + var/datum/signal/signal = new + signal.transmission_method = 2 // 2 would be a subspace transmission. + // transmission_method could probably be enumerated through #define. Would be neater. + + // --- Finally, tag the actual signal with the appropriate values --- + signal.data = list( + // Identity-associated tags: + "mob" = new /mob/living/silicon/ai(src), // store a reference to the mob + "mobtype" = /mob/living/silicon/ai, // the mob's type + "realname" = from, // the mob's real name + "name" = from, // the mob's display name + "job" = "(Automated Announcement)", // the mob's job + "key" = "none", // the mob's key + "vmessage" = "*garbled automated announcement*", // the message to display if the voice wasn't understood + "vname" = "synthesized voice", // the name to display if the voice wasn't understood + "vmask" = 0, // 1 if the mob is using a voice gas mask + + // We store things that would otherwise be kept in the actual mob + // so that they can be logged even AFTER the mob is deleted or something + + // Other tags: + "compression" = rand(45,50), // compressed radio signal + "message" = message, // the actual sent message + "connection" = connection, // the radio connection to use + "radio" = src, // stores the radio used for transmission + "slow" = 0, // how much to sleep() before broadcasting - simulates net lag + "traffic" = 0 // dictates the total traffic sum that the signal went through + ) + signal.frequency = connection.frequency // Quick frequency set + + //#### Sending the signal to all subspace receivers ####// + for(var/obj/machinery/telecomms/receiver/R in world) + R.receive_signal(signal) + + // Allinone can act as receivers. + for(var/obj/machinery/telecomms/allinone/R in world) + R.receive_signal(signal) + + // Receiving code can be located in Telecommunications.dm + return + + + /* ###### Intercoms and station-bounced radios ###### */ + + var/filter_type = 2 + + /* --- Intercoms can only broadcast to other intercoms, but bounced radios can broadcast to bounced radios and intercoms --- */ + if(istype(src, /obj/item/device/radio/intercom)) + filter_type = 1 + + + var/datum/signal/signal = new + signal.transmission_method = 2 + + + /* --- Try to send a normal subspace broadcast first */ + + signal.data = list( + + "mob" = new /mob/living/silicon/ai(src), // store a reference to the mob + "mobtype" = /mob/living/silicon/ai, // the mob's type + "realname" = from, // the mob's real name + "name" = from, // the mob's display name + "job" = "(Automated Announcement)", // the mob's job + "key" = "none", // the mob's key + "vmessage" = "*garbled automated announcement*", // the message to display if the voice wasn't understood + "vname" = "synthesized voice", // the name to display if the voice wasn't understood + "vmask" = 0, // 1 if the mob is using a voice gas mask + + // We store things that would otherwise be kept in the actual mob + // so that they can be logged even AFTER the mob is deleted or something + + // Other tags: + "compression" = 0, // compressed radio signal + "message" = message, // the actual sent message + "connection" = connection, // the radio connection to use + "radio" = src, // stores the radio used for transmission + "slow" = 0, // how much to sleep() before broadcasting - simulates net lag + "traffic" = 0 // dictates the total traffic sum that the signal went through + ) + signal.frequency = connection.frequency // Quick frequency set + + for(var/obj/machinery/telecomms/receiver/R in world) + R.receive_signal(signal) + + + sleep(rand(10,25)) // wait a little... + + if(signal.data["done"]) + del(signal) // delete the signal - we're done here. + return + + // Oh my god; the comms are down or something because the signal hasn't been broadcasted yet. + // Send a mundane broadcast with limited targets: + + Broadcast_Message(connection, new /mob/living/silicon/ai(src), 0, "*garbled automated announcement*", + src, message, from, "(Automated Announcement)", from, "synthesized voice", + filter_type, signal.data["compression"]) + return + /obj/item/device/radio/talk_into(mob/M as mob, message, channel) if(GLOBAL_RADIO_TYPE == 1) // NEW RADIO SYSTEMS: By Doohl diff --git a/code/game/response_team.dm b/code/game/response_team.dm index 31316ec6d8..edb8811e95 100644 --- a/code/game/response_team.dm +++ b/code/game/response_team.dm @@ -22,14 +22,12 @@ client/verb/JoinResponseTeam() var/new_name = input(usr, "Pick a name","Name") as null|text if(!new_name) return - var/gender = alert(usr, "Pick a gender","Gender","Male","Female") - - var/mob/living/carbon/human/new_commando = create_response_team(L, leader_selected, new_name, gender) + var/mob/living/carbon/human/new_commando = create_response_team(L, leader_selected, new_name) new_commando.mind.key = usr.key new_commando.key = usr.key - new_commando << "\blue You are [!leader_selected?"member":"LEADER"] of an armed response team in CentComm's service. Something went down on [station_name()] and they're now on code red. Go in there and fix the problem." + new_commando << "\blue You are [!leader_selected?" a member":" the LEADER"] of an armed response team in CentComm's service. Something went down on [station_name()] and they're now on code red. Go in there and fix the problem." new_commando << "You should first gear up and discuss a plan with your team. More members may be joining, don't move out before you're ready." else @@ -75,30 +73,105 @@ proc/trigger_armed_response_team() send_emergency_team = 1 -/client/proc/create_response_team(obj/spawn_location, leader_selected = 0, commando_name, gender) +/client/proc/create_response_team(obj/spawn_location, leader_selected = 0, commando_name) - var/mob/living/carbon/human/new_commando = new(spawn_location.loc) - new_commando.gender = ((gender == "Male") ? MALE : FEMALE) + var/mob/living/carbon/human/M = new(spawn_location.loc) - var/datum/preferences/A = new()//Randomize appearance for the commando. - A.randomize_appearance_for(new_commando) + var/new_facial = input("Please select facial hair color.", "Character Generation") as color + if(new_facial) + M.r_facial = hex2num(copytext(new_facial, 2, 4)) + M.g_facial = hex2num(copytext(new_facial, 4, 6)) + M.b_facial = hex2num(copytext(new_facial, 6, 8)) - new_commando.real_name = commando_name - new_commando.age = !leader_selected ? rand(23,35) : rand(35,45) + var/new_hair = input("Please select hair color.", "Character Generation") as color + if(new_facial) + M.r_hair = hex2num(copytext(new_hair, 2, 4)) + M.g_hair = hex2num(copytext(new_hair, 4, 6)) + M.b_hair = hex2num(copytext(new_hair, 6, 8)) - new_commando.dna.ready_dna(new_commando)//Creates DNA. + var/new_eyes = input("Please select eye color.", "Character Generation") as color + if(new_eyes) + M.r_eyes = hex2num(copytext(new_eyes, 2, 4)) + M.g_eyes = hex2num(copytext(new_eyes, 4, 6)) + M.b_eyes = hex2num(copytext(new_eyes, 6, 8)) + + var/new_tone = input("Please select skin tone level: 1-220 (1=albino, 35=caucasian, 150=black, 220='very' black)", "Character Generation") as text + + if (new_tone) + M.s_tone = max(min(round(text2num(new_tone)), 220), 1) + M.s_tone = -M.s_tone + 35 + + // hair + var/list/all_hairs = typesof(/datum/sprite_accessory/hair) - /datum/sprite_accessory/hair + var/list/hairs = list() + + // loop through potential hairs + for(var/x in all_hairs) + var/datum/sprite_accessory/hair/H = new x // create new hair datum based on type x + hairs.Add(H.name) // add hair name to hairs + del(H) // delete the hair after it's all done + + var/new_style = input("Please select hair style", "Character Generation") as null|anything in hairs + + // if new style selected (not cancel) + if (new_style) + M.h_style = new_style + + for(var/x in all_hairs) // loop through all_hairs again. Might be slightly CPU expensive, but not significantly. + var/datum/sprite_accessory/hair/H = new x // create new hair datum + if(H.name == new_style) + M.hair_style = H // assign the hair_style variable a new hair datum + break + else + del(H) // if hair H not used, delete. BYOND can garbage collect, but better safe than sorry + + // facial hair + var/list/all_fhairs = typesof(/datum/sprite_accessory/facial_hair) - /datum/sprite_accessory/facial_hair + var/list/fhairs = list() + + for(var/x in all_fhairs) + var/datum/sprite_accessory/facial_hair/H = new x + fhairs.Add(H.name) + del(H) + + new_style = input("Please select facial style", "Character Generation") as null|anything in fhairs + + if(new_style) + M.f_style = new_style + for(var/x in all_fhairs) + var/datum/sprite_accessory/facial_hair/H = new x + if(H.name == new_style) + M.facial_hair_style = H + break + else + del(H) + + var/new_gender = alert(usr, "Please select gender.", "Character Generation", "Male", "Female") + if (new_gender) + if(new_gender == "Male") + M.gender = MALE + else + M.gender = FEMALE + M.update_body() + M.update_face() + M.update_clothing() + + M.real_name = commando_name + M.age = !leader_selected ? rand(23,35) : rand(35,45) + + M.dna.ready_dna(M)//Creates DNA. //Creates mind stuff. - new_commando.mind = new - new_commando.mind.current = new_commando - new_commando.mind.original = new_commando - new_commando.mind.assigned_role = "MODE" - new_commando.mind.special_role = "Response Team" - if(!(new_commando.mind in ticker.minds)) - ticker.minds += new_commando.mind//Adds them to regular mind list. - new_commando.equip_strike_team(leader_selected) + M.mind = new + M.mind.current = M + M.mind.original = M + M.mind.assigned_role = "MODE" + M.mind.special_role = "Response Team" + if(!(M.mind in ticker.minds)) + ticker.minds += M.mind//Adds them to regular mind list. + M.equip_strike_team(leader_selected) del(spawn_location) - return new_commando + return M /mob/living/carbon/human/proc/equip_strike_team(leader_selected = 0) @@ -144,7 +217,10 @@ proc/trigger_armed_response_team() var/obj/item/weapon/card/id/W = new(src) W.name = "[real_name]'s ID Card" W.icon_state = "centcom" - W.access = get_access("Head of Personnel") + if(leader_selected) + W.access = get_access("Captain") + else + W.access = get_access("Head of Personnel") W.access += list(access_cent_general, access_cent_specops, access_cent_living, access_cent_storage)//Let's add their alloted CentCom access. W.assignment = "Emergency Response Team" W.registered = real_name diff --git a/code/game/specops_shuttle.dm b/code/game/specops_shuttle.dm index 906ea0b545..f05c6326ca 100644 --- a/code/game/specops_shuttle.dm +++ b/code/game/specops_shuttle.dm @@ -10,7 +10,6 @@ var/specops_shuttle_at_station = 0 var/specops_shuttle_can_send = 1 var/specops_shuttle_time = 0 var/specops_shuttle_timeleft = 0 -var/specops_shuttle_timereset = 0 /obj/machinery/computer/specops_shuttle name = "Spec. Ops. Shuttle Console" @@ -20,15 +19,16 @@ var/specops_shuttle_timereset = 0 var/temp = null var/hacked = 0 var/allowedtocall = 0 + var/specops_shuttle_timereset = 0 /proc/specops_return() - var/area/centcom/control/cent_com = locate()//To find announcer. This area should exist for this proc to work. - var/mob/living/silicon/decoy/announcer = locate() in cent_com//We need a fake AI to announce some stuff below. Otherwise it will be wonky. + var/obj/item/device/radio/intercom/announcer = new /obj/item/device/radio/intercom(null)//We need a fake AI to announce some stuff below. Otherwise it will be wonky. + announcer.config(list("Response Team" = 0)) var/message_tracker[] = list(0,1,2,3,5,10,30,45)//Create a a list with potential time values. - var/message = "THE SPECIAL OPERATIONS SHUTTLE IS PREPARING FOR LAUNCH"//Initial message shown. + var/message = "THE SPECIAL OPERATIONS SHUTTLE IS PREPARING TO RETURN"//Initial message shown. if(announcer) - announcer.say(message) + announcer.autosay(message, "A.L.I.C.E.", "Response Team") while(specops_shuttle_time - world.timeofday > 0) var/ticksleft = specops_shuttle_time - world.timeofday @@ -44,7 +44,7 @@ var/specops_shuttle_timereset = 0 message = "ALERT: [rounded_time_left] SECOND[(rounded_time_left!=1)?"S":""] REMAIN" if(rounded_time_left==0) message = "ALERT: TAKEOFF" - announcer.say(message) + announcer.autosay(message, "A.L.I.C.E.", "Response Team") message_tracker -= rounded_time_left//Remove the number from the list so it won't be called again next cycle. //Should call all the numbers but lag could mean some issues. Oh well. Not much I can do about that. @@ -82,17 +82,22 @@ var/specops_shuttle_timereset = 0 var/mob/M = locate(/mob) in T M << "\red You have arrived at Central Command. Operation has ended!" + for(var/obj/machinery/computer/specops_shuttle/S in world) + S.specops_shuttle_timereset = world.time + SPECOPS_RETURN_DELAY + + del(announcer) + /proc/specops_process() - var/area/centcom/control/cent_com = locate()//To find announcer. This area should exist for this proc to work. var/area/centcom/specops/special_ops = locate()//Where is the specops area located? - var/mob/living/silicon/decoy/announcer = locate() in cent_com//We need a fake AI to announce some stuff below. Otherwise it will be wonky. + var/obj/item/device/radio/intercom/announcer = new /obj/item/device/radio/intercom(null)//We need a fake AI to announce some stuff below. Otherwise it will be wonky. + announcer.config(list("Response Team" = 0)) var/message_tracker[] = list(0,1,2,3,5,10,30,45)//Create a a list with potential time values. var/message = "THE SPECIAL OPERATIONS SHUTTLE IS PREPARING FOR LAUNCH"//Initial message shown. if(announcer) - announcer.say(message) + announcer.autosay(message, "A.L.I.C.E.", "Response Team") message = "ARMORED SQUAD TAKE YOUR POSITION ON GRAVITY LAUNCH PAD" - announcer.say(message) + announcer.autosay(message, "A.L.I.C.E.", "Response Team") while(specops_shuttle_time - world.timeofday > 0) var/ticksleft = specops_shuttle_time - world.timeofday @@ -108,7 +113,7 @@ var/specops_shuttle_timereset = 0 message = "ALERT: [rounded_time_left] SECOND[(rounded_time_left!=1)?"S":""] REMAIN" if(rounded_time_left==0) message = "ALERT: TAKEOFF" - announcer.say(message) + announcer.autosay(message, "A.L.I.C.E.", "Response Team") message_tracker -= rounded_time_left//Remove the number from the list so it won't be called again next cycle. //Should call all the numbers but lag could mean some issues. Oh well. Not much I can do about that. @@ -218,17 +223,19 @@ var/specops_shuttle_timereset = 0 var/mob/M = locate(/mob) in T M << "\red You have arrived to [station_name]. Commence operation!" + for(var/obj/machinery/computer/specops_shuttle/S in world) + S.specops_shuttle_timereset = world.time + SPECOPS_RETURN_DELAY + + del(announcer) + /proc/specops_can_move() if(specops_shuttle_moving_to_station || specops_shuttle_moving_to_centcom) return 0 - else if(world.time <= specops_shuttle_timereset) - return 0 + for(var/obj/machinery/computer/specops_shuttle/S in world) + if(world.time <= S.specops_shuttle_timereset) + return 0 return 1 -/obj/machinery/computer/specops_shuttle/proc/make_move() - specops_shuttle_timereset = world.time - return - /obj/machinery/computer/specops_shuttle/attack_ai(var/mob/user as mob) return attack_hand(user) @@ -280,7 +287,9 @@ var/specops_shuttle_timereset = 0 if (!specops_can_move()) usr << "\blue Central Command will not allow the Special Operations shuttle to return yet." if(world.time <= specops_shuttle_timereset) - usr << "\blue [(world.time - specops_shuttle_timereset)/10] seconds remain!" + if (((world.time - specops_shuttle_timereset)/10) > 60) + usr << "\blue [-((world.time - specops_shuttle_timereset)/10)/60] minutes remain!" + usr << "\blue [-(world.time - specops_shuttle_timereset)/10] seconds remain!" return usr << "\blue The Special Operations shuttle will arrive at Central Command in [(SPECOPS_MOVETIME/10)] seconds." @@ -290,7 +299,6 @@ var/specops_shuttle_timereset = 0 specops_shuttle_moving_to_centcom = 1 specops_shuttle_time = world.timeofday + SPECOPS_MOVETIME - specops_shuttle_timereset = world.time + SPECOPS_RETURN_DELAY spawn(0) specops_return() @@ -312,7 +320,6 @@ var/specops_shuttle_timereset = 0 specops_shuttle_moving_to_station = 1 specops_shuttle_time = world.timeofday + SPECOPS_MOVETIME - specops_shuttle_timereset = world.time + SPECOPS_RETURN_DELAY spawn(0) specops_process() diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm index 99357250ce..2c3aa31f76 100644 --- a/code/modules/admin/verbs/debug.dm +++ b/code/modules/admin/verbs/debug.dm @@ -690,7 +690,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that var/obj/item/clothing/glasses/sunglasses/V = new(M) V.loc = K M.equip_if_possible(K, M.slot_wear_suit) - M.equip_if_possible(new /obj/item/weapon/gun/energy(M), M.slot_s_store) + M.equip_if_possible(new /obj/item/weapon/gun/energy/gun(M), M.slot_s_store) var/obj/item/device/pda/heads/pda = new(M) pda.owner = M.real_name diff --git a/code/modules/mob/new_player/new_player.dm b/code/modules/mob/new_player/new_player.dm index af2c6097c0..6d3ac0648e 100644 --- a/code/modules/mob/new_player/new_player.dm +++ b/code/modules/mob/new_player/new_player.dm @@ -270,15 +270,9 @@ proc/AnnounceArrival(var/mob/living/carbon/human/character, var/rank) if (ticker.current_state == GAME_STATE_PLAYING) - var/ailist[] = list() - for (var/mob/living/silicon/ai/A in world) - if (!A.stat) - ailist += A - if (ailist.len) - var/mob/living/silicon/ai/announcer = pick(ailist) - if(character.mind) - if((character.mind.assigned_role != "Cyborg") && (character.mind.special_role != "MODE")) - announcer.say("[character.real_name] has signed up as [rank].") + var/obj/item/device/radio/intercom/a = new /obj/item/device/radio/intercom(null) + a.autosay("[character.real_name] has arrived on the station.", "Arrivals Announcement Computer") + del(a) proc/ManifestLateSpawn(var/mob/living/carbon/human/H, icon/H_icon) // Attempted fix to add late joiners to various databases -- TLE diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index 92ba2cb0c0..4b66e30ca7 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -50,6 +50,15 @@ M.drop_item() del(src) return + if (target == user && user.zone_sel.selecting == "mouth") + M.visible_message("\red [user] sticks their gun in their mouth, ready to pull the trigger...") + if(!do_after(user, 20)) + M.visible_message("\blue [user] decided life was worth living") + return + M.visible_message("\red [user] pulls the trigger.") + M.apply_damage(60, BRUTE, "head") + M.apply_damage(90, BRUTE, "chest") + return if (!user.IsAdvancedToolUser()) user << "\red You don't have the dexterity to do this!" diff --git a/code/stylesheet.dm b/code/stylesheet.dm index 0cc4bfb71e..120caff798 100644 --- a/code/stylesheet.dm +++ b/code/stylesheet.dm @@ -94,7 +94,8 @@ h1, h2, h3, h4, h5, h6 .comradio { - color: #ACA82D; + color:#0028FF; + background: #FFD700; } .syndradio diff --git a/icons/mob/hud.dmi b/icons/mob/hud.dmi index 8fe609fbb676e295e0a988b2c33f827d6142a06f..92a4a81987a83f8b85c46992c5b95d320ebffef7 100644 GIT binary patch delta 2208 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 E0W*B{y8r+H From 08a9cabe765d13e78e871a8dffb12b6d85636536 Mon Sep 17 00:00:00 2001 From: SkyMarshal Date: Sun, 22 Jan 2012 23:45:16 -0700 Subject: [PATCH 24/29] Fixed some stuff related to the previous commit. --- code/game/jobs/access.dm | 13 ++++++++++++- code/game/objects/radio/radio.dm | 6 +++--- code/game/response_team.dm | 2 +- code/modules/projectiles/gun.dm | 19 ++++++++++--------- code/stylesheet.dm | 4 ++-- icons/mob/hud.dmi | Bin 2551 -> 2541 bytes 6 files changed, 28 insertions(+), 16 deletions(-) diff --git a/code/game/jobs/access.dm b/code/game/jobs/access.dm index 38861503bb..86bc3f013a 100644 --- a/code/game/jobs/access.dm +++ b/code/game/jobs/access.dm @@ -491,14 +491,25 @@ return var/jobName + var/list/accesses = list() if(istype(src, /obj/item/device/pda)) if(src:id) jobName = src:id:assignment + accesses = src:id:access if(istype(src, /obj/item/weapon/card/id)) jobName = src:assignment + accesses = src:access if(jobName in get_all_jobs()) return jobName + + var/centcom = 0 + for(var/i = 1, i <= accesses.len, i++) + if(accesses[i] > 100) + centcom = 1 + break + if(centcom) + return "centcom" else - return "Unknown" \ No newline at end of file + return "Unknown" diff --git a/code/game/objects/radio/radio.dm b/code/game/objects/radio/radio.dm index 79faf80183..37d459777d 100644 --- a/code/game/objects/radio/radio.dm +++ b/code/game/objects/radio/radio.dm @@ -209,7 +209,7 @@ var/GLOBAL_RADIO_TYPE = 1 // radio type to use "mobtype" = /mob/living/silicon/ai, // the mob's type "realname" = from, // the mob's real name "name" = from, // the mob's display name - "job" = "(Automated Announcement)", // the mob's job + "job" = "Automated Announcement", // the mob's job "key" = "none", // the mob's key "vmessage" = "*garbled automated announcement*", // the message to display if the voice wasn't understood "vname" = "synthesized voice", // the name to display if the voice wasn't understood @@ -261,7 +261,7 @@ var/GLOBAL_RADIO_TYPE = 1 // radio type to use "mobtype" = /mob/living/silicon/ai, // the mob's type "realname" = from, // the mob's real name "name" = from, // the mob's display name - "job" = "(Automated Announcement)", // the mob's job + "job" = "Automated Announcement", // the mob's job "key" = "none", // the mob's key "vmessage" = "*garbled automated announcement*", // the message to display if the voice wasn't understood "vname" = "synthesized voice", // the name to display if the voice wasn't understood @@ -294,7 +294,7 @@ var/GLOBAL_RADIO_TYPE = 1 // radio type to use // Send a mundane broadcast with limited targets: Broadcast_Message(connection, new /mob/living/silicon/ai(src), 0, "*garbled automated announcement*", - src, message, from, "(Automated Announcement)", from, "synthesized voice", + src, message, from, "Automated Announcement", from, "synthesized voice", filter_type, signal.data["compression"]) return diff --git a/code/game/response_team.dm b/code/game/response_team.dm index edb8811e95..87901a232a 100644 --- a/code/game/response_team.dm +++ b/code/game/response_team.dm @@ -190,7 +190,7 @@ proc/trigger_armed_response_team() camera.c_tag = real_name //Basic Uniform - equip_if_possible(new /obj/item/clothing/under/color/black(src), slot_w_uniform) + equip_if_possible(new /obj/item/clothing/under/syndicate/tacticool(src), slot_w_uniform) equip_if_possible(new /obj/item/device/flashlight(src), slot_l_store) equip_if_possible(new /obj/item/weapon/clipboard(src), slot_r_store) equip_if_possible(new /obj/item/weapon/gun/energy/gun(src), slot_belt) diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index 4b66e30ca7..5b5a3a766b 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -37,6 +37,16 @@ for(var/obj/O in contents) O.emp_act(severity) + attack(mob/living/M as mob, mob/living/user as mob, def_zone) + if (M == user && user.zone_sel.selecting == "mouth" && load_into_chamber()) + M.visible_message("\red [user] sticks their gun in their mouth, ready to pull the trigger...") + if(!do_after(user, 40)) + M.visible_message("\blue [user] decided life was worth living") + return + M.visible_message("\red [user] pulls the trigger.") + M.apply_damage(70, BRUTE, "head") + M.apply_damage(110, BRUTE, "chest") + return afterattack(atom/target as mob|obj|turf|area, mob/living/user as mob|obj, flag, params)//TODO: go over this if(flag) return //we're placing gun on a table or in backpack @@ -50,15 +60,6 @@ M.drop_item() del(src) return - if (target == user && user.zone_sel.selecting == "mouth") - M.visible_message("\red [user] sticks their gun in their mouth, ready to pull the trigger...") - if(!do_after(user, 20)) - M.visible_message("\blue [user] decided life was worth living") - return - M.visible_message("\red [user] pulls the trigger.") - M.apply_damage(60, BRUTE, "head") - M.apply_damage(90, BRUTE, "chest") - return if (!user.IsAdvancedToolUser()) user << "\red You don't have the dexterity to do this!" diff --git a/code/stylesheet.dm b/code/stylesheet.dm index 120caff798..5454743afd 100644 --- a/code/stylesheet.dm +++ b/code/stylesheet.dm @@ -94,8 +94,8 @@ h1, h2, h3, h4, h5, h6 .comradio { - color:#0028FF; - background: #FFD700; + color:#FF9966; + text-decoration: underline; } .syndradio diff --git a/icons/mob/hud.dmi b/icons/mob/hud.dmi index 92a4a81987a83f8b85c46992c5b95d320ebffef7..e7425bb46c3e3385e0ea5cb3d59a094669e687b4 100644 GIT binary patch delta 538 zcmV+#0_FYp6YUeQI01hF|9VtdbVOxyV{&P5bZKvH004NLm6p$L+b|5q&+$_j?X?@y zrWtzKWoS|K(7r;!NVLUPmOM&MmOcHLqysu&0Y2Yk<0pxKK9ag@e>^-sy|nkwPtBIK zNKWnd_V(+tS?t8uU>~cSW)WEWP){GFQe|6Sgvke{Si}CJS$KcZVn45&MW;0IY5f_M z7!k}fd4&7LDI?s;!t3P{hwo;v-)6A4GuWH;9Oq`RIC|z(Q-kM7dt0ur*8kb}1q}9% zQe`ODqe{t%6=5BXl_Y^~`rM7C`kWF&>U2T4?V~8)vyaZNT~=~oN%fjta+2GIFR0o=9qhs?m01j_D9%# zMw3N#$Yl(y;wrn4>?VTLcUW7uog=0asH=m3mGC#QGbH5Me5kTztbWxqSyr`jAtAqwmw&6f3WPYoUqBOkc0J&a?bw?%{q>zBRH9NNy?gVn9^3Qr&WtY?KOP>RUKaPyPxCEn zm68|V7q?%R^Vv>(3-+`K(h)d|H1- zB}N4EOdjEWaV`jVvhaGj#NoRM?6(Q*?F9B_J;k{RERLQz)zsiQ(%zQqtMz~OeF1~L zqudzE^`KHqW<^*>LnFzco4#~|slMdQkUCuu?l||788b(@GN}s&vTFr%;c!V}FOFjA zI&s)lKS$EWny7y^Y{SX_%5GF?Pz}4lNoqsT>V$IxVJ(}|#DVlyw8YYbbkCXbvp>S_ z3z{rysnj8`ifimbwwnl2-(hXtc8Zv4pspnWE8%ZqCrHS%`Osv`SpBMJ$W==&WiSCz zHcAS{Fw$-hwuL}L1pC6~P)FIL2XlvTZx#Wx{$treh9-YWP^KJdU#6*(YPEz}heqHr zzh}_oEcuNf1EOH!vdre5qvRfZUbIlHRYHTO*l-}Y9^|)G1e7<5o1&1thLS*G7$e$k zn-VHT Date: Sun, 22 Jan 2012 23:50:58 -0700 Subject: [PATCH 25/29] Fixed some borkenness with guns, and tried making the command channel readable. --- code/modules/projectiles/gun.dm | 2 ++ code/stylesheet.dm | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index 5b5a3a766b..5c759614b5 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -47,6 +47,8 @@ M.apply_damage(70, BRUTE, "head") M.apply_damage(110, BRUTE, "chest") return + else + return ..() afterattack(atom/target as mob|obj|turf|area, mob/living/user as mob|obj, flag, params)//TODO: go over this if(flag) return //we're placing gun on a table or in backpack diff --git a/code/stylesheet.dm b/code/stylesheet.dm index 5454743afd..077a64b60d 100644 --- a/code/stylesheet.dm +++ b/code/stylesheet.dm @@ -94,7 +94,7 @@ h1, h2, h3, h4, h5, h6 .comradio { - color:#FF9966; + color:#FF9900; text-decoration: underline; } From e3a5ff464cbd5527477a8a817c028f5fdd46c87d Mon Sep 17 00:00:00 2001 From: SkyMarshal Date: Sun, 22 Jan 2012 23:52:40 -0700 Subject: [PATCH 26/29] Replaced missing line in DME. --- baystation12.dme | 1 + 1 file changed, 1 insertion(+) diff --git a/baystation12.dme b/baystation12.dme index 890997d4e9..c7b1de5ca8 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -443,6 +443,7 @@ #include "code\game\machinery\airlock_control.dm" #include "code\game\machinery\alarm.dm" #include "code\game\machinery\atmo_control.dm" +#include "code\game\machinery\autolathe.dm" #include "code\game\machinery\biogenerator.dm" #include "code\game\machinery\camera.dm" #include "code\game\machinery\cell_charger.dm" From 40ae6b8340e29f3581a09eb390b09dbcc81c287d Mon Sep 17 00:00:00 2001 From: cib Date: Sun, 22 Jan 2012 17:05:08 -0800 Subject: [PATCH 27/29] Made the dialog for when there are too many runes and there's a chance you'll be gibbed a little more clear. --- code/game/magic/cultist/ritual.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/magic/cultist/ritual.dm b/code/game/magic/cultist/ritual.dm index d9d31643ef..04e8ca46bb 100644 --- a/code/game/magic/cultist/ritual.dm +++ b/code/game/magic/cultist/ritual.dm @@ -489,7 +489,7 @@ var/engwords = list("travel", "blood", "join", "hell", "destroy", "technology", user << "\red You do not have enough space to write a proper rune." return if (C>=26+runedec+ticker.mode.cult.len) //including the useless rune at the secret room, shouldn't count against the limit of 25 runes - Urist - switch(alert("The cloth of reality can't take that much of a strain. By creating another rune, you risk locally tearing reality apart, which would prove fatal to you. Do you still wish to scribe the rune?",,"Yes","No")) + switch(alert("Too many runes are already in the vicinity.. The cloth of reality can't take that much of a strain. By creating another rune, you risk locally tearing reality apart, which would prove fatal to you. Do you still wish to scribe the rune?",,"Yes","No")) if("Yes") if(prob(C*5-105-(runedec-ticker.mode.cult.len)*5)) //including the useless rune at the secret room, shouldn't count against the limit - Urist usr.emote("scream") From e2e1cecd7d9bb83cee76d8ffd3b33e79a123d86d Mon Sep 17 00:00:00 2001 From: cib Date: Sun, 22 Jan 2012 18:59:42 -0800 Subject: [PATCH 28/29] Changes to medbots. - They now have a mode, which is enabled by default, in which they only inject chemicals if the chemical helps with the target's damage. - You can now load and unload them without access. - Added a few beakers of tricordrazine to robotics, so they can load medbots when they make them. --- code/game/machinery/bots/medbot.dm | 50 +++++++++++++++++------- code/modules/chemical/Chemistry-Tools.dm | 11 ++++++ maps/tgstation.2.0.8.dmm | 2 +- 3 files changed, 47 insertions(+), 16 deletions(-) diff --git a/code/game/machinery/bots/medbot.dm b/code/game/machinery/bots/medbot.dm index 8c21197596..ccfa5e7698 100644 --- a/code/game/machinery/bots/medbot.dm +++ b/code/game/machinery/bots/medbot.dm @@ -33,13 +33,14 @@ var/heal_threshold = 15 //Start healing when they have this much damage in a category var/use_beaker = 0 //Use reagents in beaker instead of default treatment agents. //Setting which reagents to use to treat what by default. By id. -// var/treatment_brute = "bicaridine" -// var/treatment_oxy = "dexalin" -// var/treatment_fire = "kelotane" -// var/treatment_tox = "anti_toxin" -// var/treatment_virus = "spaceacillin" + var/treatment_brute = "bicaridine" + var/treatment_oxy = "dexalin" + var/treatment_fire = "kelotane" + var/treatment_tox = "anti_toxin" + var/treatment_virus = "spaceacillin" var/reagent_id = "inaprovaline" var/shut_up = 0 //self explanatory :) + var/always_inject = 0 /obj/machinery/bot/medbot/mysterious name = "Mysterious Medibot" @@ -131,6 +132,9 @@ dat += "Reagent Source: " dat += "[src.use_beaker ? "Loaded Beaker (When available)" : "Internal Synthesizer"]
" + dat += "Inject: " + dat += "[src.always_inject ? "Always" : "If loaded chemical is known to help"]
" + dat += "The speaker switch is [src.shut_up ? "off" : "on"]. Toggle" user << browse("Medibot v1.0 controls[dat]", "window=automed") @@ -166,13 +170,12 @@ else if((href_list["use_beaker"]) && (!src.locked)) src.use_beaker = !src.use_beaker + else if((href_list["toggle_inject"]) && (!src.locked)) + src.always_inject = !src.always_inject else if (href_list["eject"] && (!isnull(src.reagent_glass))) - if(!src.locked) - src.reagent_glass.loc = get_turf(src) - src.reagent_glass = null - else - usr << "You cannot eject the beaker because the panel is locked!" + src.reagent_glass.loc = get_turf(src) + src.reagent_glass = null else if ((href_list["togglevoice"]) && (!src.locked)) src.shut_up = !src.shut_up @@ -190,9 +193,6 @@ user << "\red Access denied." else if (istype(W, /obj/item/weapon/reagent_containers/glass)) - if(src.locked) - user << "You cannot insert a beaker because the panel is locked!" - return if(!isnull(src.reagent_glass)) user << "There is already a beaker loaded!" return @@ -371,9 +371,29 @@ src.last_found = world.time return - //Use whatever is inside the loaded beaker. If there is one. + //See if we have anything inside the beaker to help. if((src.use_beaker) && (src.reagent_glass) && (src.reagent_glass.reagents.total_volume)) - reagent_id = "internal_beaker" + if(always_inject) + reagent_id = "internal_beaker" + else if (C.getBruteLoss() >= heal_threshold) + if(C.reagents.has_reagent(src.treatment_brute)) + reagent_id = "internal_beaker" + + else if (C.getOxyLoss() >= (15 + heal_threshold)) + if(C.reagents.has_reagent(src.treatment_oxy)) + reagent_id = "internal_beaker" + + else if (C.getFireLoss() >= heal_threshold) + if(C.reagents.has_reagent(src.treatment_fire)) + reagent_id = "internal_beaker" + + else if (C.getToxLoss() >= heal_threshold) + if(C.reagents.has_reagent(src.treatment_tox)) + reagent_id = "internal_beaker" + + else if (100 - C.health >= heal_threshold) + if(C.reagents.has_reagent("tricordrazine")) + reagent_id = "internal_beaker" if(src.emagged) //Emagged! Time to poison everybody. reagent_id = "toxin" diff --git a/code/modules/chemical/Chemistry-Tools.dm b/code/modules/chemical/Chemistry-Tools.dm index 6363f94398..20d63bc9b7 100644 --- a/code/modules/chemical/Chemistry-Tools.dm +++ b/code/modules/chemical/Chemistry-Tools.dm @@ -2128,6 +2128,17 @@ ..() reagents.add_reagent("cryoxadone", 30) +/obj/item/weapon/reagent_containers/glass/beaker/tricordrazine + name = "beaker" + desc = "A beaker. Can hold up to 50 units." + icon = 'chemical.dmi' + icon_state = "beaker0" + item_state = "beaker" + + New() + ..() + reagents.add_reagent("tricordrazine", 30) + /obj/item/weapon/reagent_containers/food/drinks/golden_cup desc = "A golden cup" name = "golden cup" diff --git a/maps/tgstation.2.0.8.dmm b/maps/tgstation.2.0.8.dmm index 36dfb2bc9a..b7dcc17d9c 100644 --- a/maps/tgstation.2.0.8.dmm +++ b/maps/tgstation.2.0.8.dmm @@ -4870,7 +4870,7 @@ "bPH" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{name = "Assembly Line Maintenance"; req_access_txt = "12;29"},/turf/simulated/floor/plating,/area/assembly/assembly_line) "bPI" = (/obj/structure/table,/obj/item/device/multitool,/obj/item/weapon/crowbar,/obj/item/device/flash,/obj/item/device/flash,/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/assembly/assembly_line) "bPJ" = (/obj/structure/disposalpipe/trunk{dir = 1},/obj/machinery/disposal,/turf/simulated/floor,/area/assembly/assembly_line) -"bPK" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/regular{empty = 1; name = "First-Aid (empty)"},/obj/item/weapon/storage/firstaid/regular{empty = 1; name = "First-Aid (empty)"},/obj/item/weapon/storage/firstaid/regular{empty = 1; name = "First-Aid (empty)"},/obj/item/device/healthanalyzer,/obj/item/device/healthanalyzer,/obj/item/device/healthanalyzer,/turf/simulated/floor,/area/assembly/assembly_line) +"bPK" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/regular{empty = 1; name = "First-Aid (empty)"},/obj/item/weapon/storage/firstaid/regular{empty = 1; name = "First-Aid (empty)"},/obj/item/weapon/storage/firstaid/regular{empty = 1; name = "First-Aid (empty)"},/obj/item/device/healthanalyzer,/obj/item/device/healthanalyzer,/obj/item/device/healthanalyzer,/obj/item/weapon/reagent_containers/glass/beaker/tricordazine,/obj/item/weapon/reagent_containers/glass/beaker/tricordazine,/obj/item/weapon/reagent_containers/glass/beaker/tricordazine,/turf/simulated/floor,/area/assembly/assembly_line) "bPL" = (/obj/structure/table,/obj/item/stack/sheet/glass{amount = 20},/obj/item/weapon/book/manual/robotics_cyborgs{pixel_y = 5},/turf/simulated/floor,/area/assembly/assembly_line) "bPM" = (/obj/machinery/computer/rdconsole{id = 2; name = "Robotics R&D Console"; req_access = null; req_access_txt = "29"},/turf/simulated/floor,/area/assembly/assembly_line) "bPN" = (/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/device/flash,/obj/item/device/flash,/obj/structure/table,/turf/simulated/floor,/area/assembly/assembly_line) From f9cbc7879005cc47a8cf0b99986260ab0f431814 Mon Sep 17 00:00:00 2001 From: cib Date: Sun, 22 Jan 2012 22:14:55 -0800 Subject: [PATCH 29/29] Map error fix, and diseasedisk icon fix. --- code/WorkInProgress/virus2/diseasesplicer.dm | 2 +- maps/tgstation.2.0.8.dmm | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/code/WorkInProgress/virus2/diseasesplicer.dm b/code/WorkInProgress/virus2/diseasesplicer.dm index 8b8777503c..5fae22e733 100644 --- a/code/WorkInProgress/virus2/diseasesplicer.dm +++ b/code/WorkInProgress/virus2/diseasesplicer.dm @@ -173,7 +173,7 @@ /obj/item/weapon/diseasedisk name = "Blank GNA disk" - icon = 'items.dmi' + icon = 'cloning.dmi' icon_state = "datadisk0" var/datum/disease2/effectholder/effect = null var/stage = 1 diff --git a/maps/tgstation.2.0.8.dmm b/maps/tgstation.2.0.8.dmm index b7dcc17d9c..2dd2f14b94 100644 --- a/maps/tgstation.2.0.8.dmm +++ b/maps/tgstation.2.0.8.dmm @@ -4870,7 +4870,7 @@ "bPH" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{name = "Assembly Line Maintenance"; req_access_txt = "12;29"},/turf/simulated/floor/plating,/area/assembly/assembly_line) "bPI" = (/obj/structure/table,/obj/item/device/multitool,/obj/item/weapon/crowbar,/obj/item/device/flash,/obj/item/device/flash,/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/assembly/assembly_line) "bPJ" = (/obj/structure/disposalpipe/trunk{dir = 1},/obj/machinery/disposal,/turf/simulated/floor,/area/assembly/assembly_line) -"bPK" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/regular{empty = 1; name = "First-Aid (empty)"},/obj/item/weapon/storage/firstaid/regular{empty = 1; name = "First-Aid (empty)"},/obj/item/weapon/storage/firstaid/regular{empty = 1; name = "First-Aid (empty)"},/obj/item/device/healthanalyzer,/obj/item/device/healthanalyzer,/obj/item/device/healthanalyzer,/obj/item/weapon/reagent_containers/glass/beaker/tricordazine,/obj/item/weapon/reagent_containers/glass/beaker/tricordazine,/obj/item/weapon/reagent_containers/glass/beaker/tricordazine,/turf/simulated/floor,/area/assembly/assembly_line) +"bPK" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/regular{empty = 1; name = "First-Aid (empty)"},/obj/item/weapon/storage/firstaid/regular{empty = 1; name = "First-Aid (empty)"},/obj/item/weapon/storage/firstaid/regular{empty = 1; name = "First-Aid (empty)"},/obj/item/device/healthanalyzer,/obj/item/device/healthanalyzer,/obj/item/device/healthanalyzer,/obj/item/weapon/reagent_containers/glass/beaker/tricordrazine,/obj/item/weapon/reagent_containers/glass/beaker/tricordrazine,/obj/item/weapon/reagent_containers/glass/beaker/tricordrazine,/turf/simulated/floor,/area/assembly/assembly_line) "bPL" = (/obj/structure/table,/obj/item/stack/sheet/glass{amount = 20},/obj/item/weapon/book/manual/robotics_cyborgs{pixel_y = 5},/turf/simulated/floor,/area/assembly/assembly_line) "bPM" = (/obj/machinery/computer/rdconsole{id = 2; name = "Robotics R&D Console"; req_access = null; req_access_txt = "29"},/turf/simulated/floor,/area/assembly/assembly_line) "bPN" = (/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/device/flash,/obj/item/device/flash,/obj/structure/table,/turf/simulated/floor,/area/assembly/assembly_line)