From 8e385c77d0a6bec803e3fd7e26817e3293422806 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Wed, 22 Oct 2014 16:01:34 +0200 Subject: [PATCH 01/15] Generalizes the telecommunication reception check. Also happens to fix a bug where a Detomax could blow up PDAs without reception. Changes a couple of type checks to access checks. --- code/defines/procs/radio.dm | 61 +++++++++++++++++++++ code/game/objects/items/devices/PDA/PDA.dm | 64 ++++------------------ 2 files changed, 73 insertions(+), 52 deletions(-) diff --git a/code/defines/procs/radio.dm b/code/defines/procs/radio.dm index d82ddd8d2e..45326c1407 100644 --- a/code/defines/procs/radio.dm +++ b/code/defines/procs/radio.dm @@ -1,3 +1,8 @@ +#define TELECOMMS_RECEPTION_NONE 0 +#define TELECOMMS_RECEPTION_SENDER 1 +#define TELECOMMS_RECEPTION_RECEIVER 2 +#define TELECOMMS_RECEPTION_BOTH 3 + /proc/get_frequency_name(var/display_freq) var/freq_text @@ -16,3 +21,59 @@ return freq_text +/datum/reception + var/obj/machinery/message_server/message_server = null + var/telecomms_reception = TELECOMMS_RECEPTION_NONE + var/message = "" + +/datum/receptions + var/obj/machinery/message_server/message_server = null + var/sender_reception = TELECOMMS_RECEPTION_NONE + var/list/receiver_reception = new + +/proc/get_message_server() + if(message_servers) + for (var/obj/machinery/message_server/MS in message_servers) + if(MS.active) + return MS + return null + +/proc/check_signal(var/datum/signal/signal) + return signal && signal.data["done"] + +/proc/get_sender_reception(var/atom/sender, var/datum/signal/signal) + return check_signal(signal) ? TELECOMMS_RECEPTION_SENDER : TELECOMMS_RECEPTION_NONE + +/proc/get_receiver_reception(var/receiver, var/datum/signal/signal) + if(receiver && check_signal(signal)) + var/turf/pos = get_turf(receiver) + if(pos.z in signal.data["level"]) + return TELECOMMS_RECEPTION_RECEIVER + return TELECOMMS_RECEPTION_NONE + +/proc/get_reception(var/atom/sender, var/receiver, var/message = "") + var/datum/reception/reception = new + + // check if telecomms I/O route 1459 is stable + //var/telecomms_intact = telecomms_process(P.owner, owner, t) + reception.message_server = get_message_server() + + var/datum/signal/signal = sender.telecomms_process() + reception.telecomms_reception |= get_sender_reception(sender, signal) + reception.telecomms_reception |= get_receiver_reception(receiver, signal) + reception.message = signal && signal.data["compression"] > 0 ? Gibberish(message, signal.data["compression"] + 50) : message + + return reception + +/proc/get_receptions(var/atom/sender, var/list/receivers) + var/datum/receptions/receptions = new + receptions.message_server = get_message_server() + + var/datum/signal/signal = sender.telecomms_process() + receptions.sender_reception = get_sender_reception(sender, signal) + + if(receptions.sender_reception) + for(var/receiver in receivers) + receptions.receiver_reception[receiver] = get_receiver_reception(receiver, signal) + + return receptions diff --git a/code/game/objects/items/devices/PDA/PDA.dm b/code/game/objects/items/devices/PDA/PDA.dm index a2c959e33d..c63592cd08 100755 --- a/code/game/objects/items/devices/PDA/PDA.dm +++ b/code/game/objects/items/devices/PDA/PDA.dm @@ -347,7 +347,6 @@ var/global/list/obj/item/device/pda/PDAs = list() var/data[0] // This is the data that will be sent to the PDA - data["owner"] = owner // Who is your daddy... data["ownjob"] = ownjob // ...and what does he do? @@ -669,7 +668,7 @@ var/global/list/obj/item/device/pda/PDAs = list() active_conversation=P mode=21 if("Send Honk")//Honk virus - if(istype(cartridge, /obj/item/weapon/cartridge/clown))//Cartridge checks are kind of unnecessary since everything is done through switch. + if(cartridge && cartridge.access_clown)//Cartridge checks are kind of unnecessary since everything is done through switch. var/obj/item/device/pda/P = locate(href_list["target"])//Leaving it alone in case it may do something useful, I guess. if(!isnull(P)) if (!P.toff && cartridge.charges > 0) @@ -682,7 +681,7 @@ var/global/list/obj/item/device/pda/PDAs = list() ui.close() return 0 if("Send Silence")//Silent virus - if(istype(cartridge, /obj/item/weapon/cartridge/mime)) + if(cartridge && cartridge.access_mime) var/obj/item/device/pda/P = locate(href_list["target"]) if(!isnull(P)) if (!P.toff && cartridge.charges > 0) @@ -709,34 +708,15 @@ var/global/list/obj/item/device/pda/PDAs = list() M.close() if("Detonate")//Detonate PDA... maybe - // check if telecomms I/O route 1459 is stable - //var/telecomms_intact = telecomms_process(P.owner, owner, t) - var/obj/machinery/message_server/useMS = null - if(message_servers) - for (var/obj/machinery/message_server/MS in message_servers) - //PDAs are now dependant on the Message Server. - if(MS.active) - useMS = MS - break - - var/datum/signal/signal = src.telecomms_process() - - var/useTC = 0 - if(signal) - if(signal.data["done"]) - useTC = 1 - var/turf/pos = get_turf(src) - if(pos.z in signal.data["level"]) - useTC = 2 - - if(istype(cartridge, /obj/item/weapon/cartridge/syndicate)) - if(!(useMS && useTC)) + if(cartridge && cartridge.access_detonate_pda) + var/obj/item/device/pda/P = locate(href_list["target"]) + var/datum/reception/reception = get_reception(src, P, "") + if(!(reception.message_server && reception.telecomms_reception & TELECOMMS_RECEPTION_SENDER)) U.show_message("\red An error flashes on your [src]: Connection unavailable", 1) return - if(useTC != 2) // Does our recepient have a broadcaster on their level? + if(reception.telecomms_reception & TELECOMMS_RECEPTION_RECEIVER == 0) // Does our recepient have a broadcaster on their level? U.show_message("\red An error flashes on your [src]: Recipient unavailable", 1) return - var/obj/item/device/pda/P = locate(href_list["target"]) if(!isnull(P)) if (!P.toff && cartridge.charges > 0) cartridge.charges-- @@ -900,34 +880,14 @@ var/global/list/obj/item/device/pda/PDAs = list() return last_text = world.time - // check if telecomms I/O route 1459 is stable - //var/telecomms_intact = telecomms_process(P.owner, owner, t) - var/obj/machinery/message_server/useMS = null - if(message_servers) - for (var/obj/machinery/message_server/MS in message_servers) - //PDAs are now dependent on the Message Server. - if(MS.active) - useMS = MS - break + var/datum/reception/reception = get_reception(src, P, t) + t = reception.message - var/datum/signal/signal = src.telecomms_process() - - var/useTC = 0 - if(signal) - if(signal.data["done"]) - useTC = 1 - var/turf/pos = get_turf(P) - if(pos.z in signal.data["level"]) - useTC = 2 - //Let's make this barely readable - if(signal.data["compression"] > 0) - t = Gibberish(t, signal.data["compression"] + 50) - - if(useMS && useTC) // only send the message if it's stable - if(useTC != 2) // Does our recipient have a broadcaster on their level? + if(reception.message_server && reception.telecomms_reception & TELECOMMS_RECEPTION_SENDER) // only send the message if it's stable + if(reception.telecomms_reception & TELECOMMS_RECEPTION_RECEIVER == 0) // Does our recipient have a broadcaster on their level? U << "ERROR: Cannot reach recipient." return - var/send_result = useMS.send_pda_message("[P.owner]","[owner]","[t]") + var/send_result = reception.message_server.send_pda_message("[P.owner]","[owner]","[t]") if (send_result) U << "ERROR: Messaging server rejected your message. Reason: contains '[send_result]'." return From c1ddbaf895f586cdce3484ea66abccb7752753bc Mon Sep 17 00:00:00 2001 From: mwerezak Date: Sat, 25 Oct 2014 20:33:39 -0400 Subject: [PATCH 02/15] Better breaker box sprites --- icons/obj/power.dmi | Bin 25056 -> 23885 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/obj/power.dmi b/icons/obj/power.dmi index 4d2282bbcfea36624253f598c705e23abaf9c97c..519603db30e16878a17de93a6e15b1add04a4f69 100644 GIT binary patch literal 23885 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 AO8@`> From 4e7a8fac347d9ac80241671a4de646a7b602936b Mon Sep 17 00:00:00 2001 From: mwerezak Date: Sun, 26 Oct 2014 12:40:27 -0400 Subject: [PATCH 03/15] Hoverpod tweaks Hoverpods are a subtype of mecha/working again, but drills are now ripley specific. Hoverpods have increased cargo and can carry 3 tools. Hoverpod crates now come with a clamp and passenger compartment pre-installed. Brings back the combatpod, can equip weapons. --- baystation12.dme | 2 +- code/datums/supplypacks.dm | 2 +- code/game/mecha/equipment/tools/tools.dm | 4 +- code/game/mecha/equipment/weapons/weapons.dm | 2 +- .../mecha/{hoverpod => working}/hoverpod.dm | 46 ++++++++----------- .../structures/crates_lockers/largecrate.dm | 8 +++- 6 files changed, 31 insertions(+), 33 deletions(-) rename code/game/mecha/{hoverpod => working}/hoverpod.dm (76%) diff --git a/baystation12.dme b/baystation12.dme index 0a94591d2a..df7506065b 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -433,9 +433,9 @@ #include "code\game\mecha\equipment\tools\medical_tools.dm" #include "code\game\mecha\equipment\tools\tools.dm" #include "code\game\mecha\equipment\weapons\weapons.dm" -#include "code\game\mecha\hoverpod\hoverpod.dm" #include "code\game\mecha\medical\medical.dm" #include "code\game\mecha\medical\odysseus.dm" +#include "code\game\mecha\working\hoverpod.dm" #include "code\game\mecha\working\ripley.dm" #include "code\game\mecha\working\working.dm" #include "code\game\objects\empulse.dm" diff --git a/code/datums/supplypacks.dm b/code/datums/supplypacks.dm index 19fbecf36d..7be2ad953a 100755 --- a/code/datums/supplypacks.dm +++ b/code/datums/supplypacks.dm @@ -619,7 +619,7 @@ var/list/all_supply_groups = list("Operations","Security","Hospitality","Enginee /datum/supply_packs/hoverpod name = "Hoverpod Shipment" contains = list() - cost = 75 + cost = 80 containertype = /obj/structure/largecrate/hoverpod containername = "Hoverpod Crate" group = "Operations" diff --git a/code/game/mecha/equipment/tools/tools.dm b/code/game/mecha/equipment/tools/tools.dm index 42f5debc62..960f6d99c8 100644 --- a/code/game/mecha/equipment/tools/tools.dm +++ b/code/game/mecha/equipment/tools/tools.dm @@ -5,7 +5,7 @@ energy_drain = 10 var/dam_force = 20 var/obj/mecha/working/ripley/cargo_holder - required_type = list(/obj/mecha/working, /obj/mecha/hoverpod) //so that hoverpods are a bit more useful as space transportation + required_type = /obj/mecha/working attach(obj/mecha/M as obj) ..() @@ -70,7 +70,7 @@ equip_cooldown = 30 energy_drain = 10 force = 15 - required_type = list(/obj/mecha/working, /obj/mecha/combat) + required_type = list(/obj/mecha/working/ripley, /obj/mecha/combat) action(atom/target) if(!action_checks(target)) return diff --git a/code/game/mecha/equipment/weapons/weapons.dm b/code/game/mecha/equipment/weapons/weapons.dm index 50cce47271..da6188263a 100644 --- a/code/game/mecha/equipment/weapons/weapons.dm +++ b/code/game/mecha/equipment/weapons/weapons.dm @@ -10,7 +10,7 @@ var/fire_sound //Sound played while firing. var/fire_volume = 50 //How loud it is played. var/auto_rearm = 0 //Does the weapon reload itself after each shot? - required_type = /obj/mecha/combat + required_type = list(/obj/mecha/combat, /obj/mecha/working/hoverpod/combatpod) /obj/item/mecha_parts/mecha_equipment/weapon/action_checks(atom/target) if(projectiles <= 0) diff --git a/code/game/mecha/hoverpod/hoverpod.dm b/code/game/mecha/working/hoverpod.dm similarity index 76% rename from code/game/mecha/hoverpod/hoverpod.dm rename to code/game/mecha/working/hoverpod.dm index e44feccca6..43f3f554d4 100644 --- a/code/game/mecha/hoverpod/hoverpod.dm +++ b/code/game/mecha/working/hoverpod.dm @@ -1,4 +1,4 @@ -/obj/mecha/hoverpod +/obj/mecha/working/hoverpod desc = "Stubby and round, this space-capable craft is an ancient favorite." name = "Hover Pod" icon_state = "engineering_pod" @@ -11,25 +11,18 @@ infra_luminosity = 6 wreckage = /obj/effect/decal/mecha_wreckage/hoverpod var/list/cargo = new - var/cargo_capacity = 3 - max_equip = 2 + var/cargo_capacity = 5 + max_equip = 3 var/datum/effect/effect/system/ion_trail_follow/ion_trail -/obj/mecha/hoverpod/New() +/obj/mecha/working/hoverpod/New() ..() - var/turf/T = get_turf(src) - if(T.z != 2) - new /obj/item/mecha_parts/mecha_tracking(src) - ion_trail = new /datum/effect/effect/system/ion_trail_follow() ion_trail.set_up(src) ion_trail.start() -/obj/mecha/hoverpod/range_action(atom/target as obj|mob|turf) - return - //No space drifting -/obj/mecha/hoverpod/check_for_support() +/obj/mecha/working/hoverpod/check_for_support() //does the hoverpod have enough charge left to stabilize itself? if (has_charge(step_energy_drain)) if (!ion_trail.on) @@ -40,30 +33,30 @@ return ..() //these three procs overriden to play different sounds -/obj/mecha/hoverpod/mechturn(direction) +/obj/mecha/working/hoverpod/mechturn(direction) dir = direction //playsound(src,'sound/machines/hiss.ogg',40,1) return 1 -/obj/mecha/hoverpod/mechstep(direction) +/obj/mecha/working/hoverpod/mechstep(direction) var/result = step(src,direction) if(result) playsound(src,'sound/machines/hiss.ogg',40,1) return result -/obj/mecha/hoverpod/mechsteprand() +/obj/mecha/working/hoverpod/mechsteprand() var/result = step_rand(src) if(result) playsound(src,'sound/machines/hiss.ogg',40,1) return result -/obj/mecha/hoverpod/Exit(atom/movable/O) +/obj/mecha/working/hoverpod/Exit(atom/movable/O) if(O in cargo) return 0 return ..() -/obj/mecha/hoverpod/Topic(href, href_list) +/obj/mecha/working/hoverpod/Topic(href, href_list) ..() if(href_list["drop_from_cargo"]) var/obj/O = locate(href_list["drop_from_cargo"]) @@ -78,7 +71,7 @@ return -/obj/mecha/hoverpod/get_stats_part() +/obj/mecha/working/hoverpod/get_stats_part() var/output = ..() output += "Cargo Compartment Contents:
" if(src.cargo.len) @@ -89,7 +82,7 @@ output += "
" return output -/obj/mecha/hoverpod/Del() +/obj/mecha/working/hoverpod/Del() for(var/mob/M in src) if(M==src.occupant) continue @@ -106,27 +99,26 @@ return //Hoverpod variants - -/* Commented out the combatpod as they can't reattach their equipment if it ever gets dropped, - * and making a special exception for them seems lame. -/obj/mecha/hoverpod/combatpod +/obj/mecha/working/hoverpod/combatpod desc = "An ancient, run-down combat spacecraft." // Ideally would have a seperate icon. name = "Combat Hoverpod" health = 200 internal_damage_threshold = 35 + cargo_capacity = 2 + max_equip = 2 -/obj/mecha/hoverpod/combatpod/New() +/obj/mecha/working/hoverpod/combatpod/New() ..() var/obj/item/mecha_parts/mecha_equipment/ME = new /obj/item/mecha_parts/mecha_equipment/weapon/energy/laser ME.attach(src) ME = new /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/explosive ME.attach(src) -*/ -/obj/mecha/hoverpod/shuttlepod + +/obj/mecha/working/hoverpod/shuttlepod desc = "Who knew a tiny ball could fit three people?" -/obj/mecha/hoverpod/shuttlepod/New() +/obj/mecha/working/hoverpod/shuttlepod/New() ..() var/obj/item/mecha_parts/mecha_equipment/ME = new /obj/item/mecha_parts/mecha_equipment/tool/passenger ME.attach(src) diff --git a/code/game/objects/structures/crates_lockers/largecrate.dm b/code/game/objects/structures/crates_lockers/largecrate.dm index 2923ba2321..1958bac750 100644 --- a/code/game/objects/structures/crates_lockers/largecrate.dm +++ b/code/game/objects/structures/crates_lockers/largecrate.dm @@ -70,5 +70,11 @@ /obj/structure/largecrate/hoverpod/attackby(obj/item/weapon/W as obj, mob/user as mob) if(istype(W, /obj/item/weapon/crowbar)) - new /obj/mecha/hoverpod(loc) + var/obj/item/mecha_parts/mecha_equipment/ME + var/obj/mecha/working/hoverpod/H = new (loc) + + ME = new /obj/item/mecha_parts/mecha_equipment/tool/hydraulic_clamp + ME.attach(H) + ME = new /obj/item/mecha_parts/mecha_equipment/tool/passenger + ME.attach(H) ..() \ No newline at end of file From cd1d4573233b87fb12de956c446e2345f53f46fb Mon Sep 17 00:00:00 2001 From: mwerezak Date: Sun, 26 Oct 2014 12:53:58 -0400 Subject: [PATCH 04/15] Factors out common mecha/working procs Refactors a bunch of identical hoverpod and ripley procs and moves them into mecha/working --- code/game/mecha/working/hoverpod.dm | 49 +---------------------- code/game/mecha/working/ripley.dm | 55 +------------------------- code/game/mecha/working/working.dm | 60 +++++++++++++++++++++-------- 3 files changed, 45 insertions(+), 119 deletions(-) diff --git a/code/game/mecha/working/hoverpod.dm b/code/game/mecha/working/hoverpod.dm index 43f3f554d4..02e76240e3 100644 --- a/code/game/mecha/working/hoverpod.dm +++ b/code/game/mecha/working/hoverpod.dm @@ -10,8 +10,7 @@ health = 150 infra_luminosity = 6 wreckage = /obj/effect/decal/mecha_wreckage/hoverpod - var/list/cargo = new - var/cargo_capacity = 5 + cargo_capacity = 5 max_equip = 3 var/datum/effect/effect/system/ion_trail_follow/ion_trail @@ -51,52 +50,6 @@ playsound(src,'sound/machines/hiss.ogg',40,1) return result -/obj/mecha/working/hoverpod/Exit(atom/movable/O) - if(O in cargo) - return 0 - return ..() - -/obj/mecha/working/hoverpod/Topic(href, href_list) - ..() - if(href_list["drop_from_cargo"]) - var/obj/O = locate(href_list["drop_from_cargo"]) - if(O && O in src.cargo) - src.occupant_message("\blue You unload [O].") - O.loc = get_turf(src) - src.cargo -= O - var/turf/T = get_turf(O) - if(T) - T.Entered(O) - src.log_message("Unloaded [O]. Cargo compartment capacity: [cargo_capacity - src.cargo.len]") - return - - -/obj/mecha/working/hoverpod/get_stats_part() - var/output = ..() - output += "Cargo Compartment Contents:
" - if(src.cargo.len) - for(var/obj/O in src.cargo) - output += "Unload : [O]
" - else - output += "Nothing" - output += "
" - return output - -/obj/mecha/working/hoverpod/Del() - for(var/mob/M in src) - if(M==src.occupant) - continue - M.loc = get_turf(src) - M.loc.Entered(M) - step_rand(M) - for(var/atom/movable/A in src.cargo) - A.loc = get_turf(src) - var/turf/T = get_turf(A) - if(T) - T.Entered(A) - step_rand(A) - ..() - return //Hoverpod variants /obj/mecha/working/hoverpod/combatpod diff --git a/code/game/mecha/working/ripley.dm b/code/game/mecha/working/ripley.dm index e445e94465..5beb3c7244 100644 --- a/code/game/mecha/working/ripley.dm +++ b/code/game/mecha/working/ripley.dm @@ -7,14 +7,7 @@ max_temperature = 20000 health = 200 wreckage = /obj/effect/decal/mecha_wreckage/ripley - var/list/cargo = new - var/cargo_capacity = 10 - -/* -/obj/mecha/working/ripley/New() - ..() - return -*/ + cargo_capacity = 10 /obj/mecha/working/ripley/firefighter desc = "Standart APLU chassis was refitted with additional thermal protection and cistern." @@ -63,50 +56,4 @@ for(var/obj/item/mecha_parts/mecha_tracking/B in src.contents)//Deletes the beacon so it can't be found easily del (B) -/obj/mecha/working/ripley/Exit(atom/movable/O) - if(O in cargo) - return 0 - return ..() -/obj/mecha/working/ripley/Topic(href, href_list) - ..() - if(href_list["drop_from_cargo"]) - var/obj/O = locate(href_list["drop_from_cargo"]) - if(O && O in src.cargo) - src.occupant_message("\blue You unload [O].") - O.loc = get_turf(src) - src.cargo -= O - var/turf/T = get_turf(O) - if(T) - T.Entered(O) - src.log_message("Unloaded [O]. Cargo compartment capacity: [cargo_capacity - src.cargo.len]") - return - - - -/obj/mecha/working/ripley/get_stats_part() - var/output = ..() - output += "Cargo Compartment Contents:
" - if(src.cargo.len) - for(var/obj/O in src.cargo) - output += "Unload : [O]
" - else - output += "Nothing" - output += "
" - return output - -/obj/mecha/working/ripley/Del() - for(var/mob/M in src) - if(M==src.occupant) - continue - M.loc = get_turf(src) - M.loc.Entered(M) - step_rand(M) - for(var/atom/movable/A in src.cargo) - A.loc = get_turf(src) - var/turf/T = get_turf(A) - if(T) - T.Entered(A) - step_rand(A) - ..() - return \ No newline at end of file diff --git a/code/game/mecha/working/working.dm b/code/game/mecha/working/working.dm index ad66d31032..83df31f8c1 100644 --- a/code/game/mecha/working/working.dm +++ b/code/game/mecha/working/working.dm @@ -1,5 +1,7 @@ /obj/mecha/working internal_damage_threshold = 60 + var/list/cargo = new + var/cargo_capacity = 5 /obj/mecha/working/New() ..() @@ -8,27 +10,51 @@ new /obj/item/mecha_parts/mecha_tracking(src) return -/* -/obj/mecha/working/melee_action(atom/target as obj|mob|turf) - if(internal_damage&MECHA_INT_CONTROL_LOST) - target = pick(oview(1,src)) - if(selected_tool) - selected_tool.action(target) - return -*/ - -/obj/mecha/working/range_action(atom/target as obj|mob|turf) +/obj/mecha/working/Del() + for(var/mob/M in src) + if(M==src.occupant) + continue + M.loc = get_turf(src) + M.loc.Entered(M) + step_rand(M) + for(var/atom/movable/A in src.cargo) + A.loc = get_turf(src) + var/turf/T = get_turf(A) + if(T) + T.Entered(A) + step_rand(A) + ..() return -/* +/obj/mecha/working/Topic(href, href_list) + ..() + if(href_list["drop_from_cargo"]) + var/obj/O = locate(href_list["drop_from_cargo"]) + if(O && O in src.cargo) + src.occupant_message("\blue You unload [O].") + O.loc = get_turf(src) + src.cargo -= O + var/turf/T = get_turf(O) + if(T) + T.Entered(O) + src.log_message("Unloaded [O]. Cargo compartment capacity: [cargo_capacity - src.cargo.len]") + return + +/obj/mecha/working/Exit(atom/movable/O) + if(O in cargo) + return 0 + return ..() + /obj/mecha/working/get_stats_part() var/output = ..() - output += "[src.name] Tools:
" - if(equipment.len) - for(var/obj/item/mecha_parts/mecha_equipment/MT in equipment) - output += "[selected==MT?"":""][MT.get_equip_info()][selected==MT?"":""]
" + output += "Cargo Compartment Contents:
" + if(src.cargo.len) + for(var/obj/O in src.cargo) + output += "Unload : [O]
" else - output += "None" + output += "Nothing" output += "
" return output -*/ \ No newline at end of file + +/obj/mecha/working/range_action(atom/target as obj|mob|turf) + return \ No newline at end of file From a2cf18174b527fc86b88e50cc08a0fd86e001c64 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Sun, 26 Oct 2014 13:07:20 -0400 Subject: [PATCH 05/15] Allows toggling hoverpod stabilization --- code/game/mecha/working/hoverpod.dm | 31 +++++++++++++++++++++++++---- 1 file changed, 27 insertions(+), 4 deletions(-) diff --git a/code/game/mecha/working/hoverpod.dm b/code/game/mecha/working/hoverpod.dm index 02e76240e3..5f775d619b 100644 --- a/code/game/mecha/working/hoverpod.dm +++ b/code/game/mecha/working/hoverpod.dm @@ -5,7 +5,7 @@ initial_icon = "engineering_pod" internal_damage_threshold = 80 step_in = 4 - step_energy_drain = 10 + step_energy_drain = 15 max_temperature = 20000 health = 150 infra_luminosity = 6 @@ -13,6 +13,7 @@ cargo_capacity = 5 max_equip = 3 var/datum/effect/effect/system/ion_trail_follow/ion_trail + var/stabilization_enabled = 1 /obj/mecha/working/hoverpod/New() ..() @@ -20,15 +21,37 @@ ion_trail.set_up(src) ion_trail.start() +//Modified phazon code +/obj/mecha/working/hoverpod/Topic(href, href_list) + ..() + if (href_list["toggle_stabilization"]) + stabilization_enabled = !stabilization_enabled + send_byjax(src.occupant,"exosuit.browser","stabilization_command","[stabilization_enabled?"Dis":"En"]able thruster stabilization") + src.occupant_message("\blue Thruster stabilization [stabilization_enabled? "enabled" : "disabled"].") + return + +/obj/mecha/working/hoverpod/get_commands() + var/output = {" + "} + output += ..() + return output + //No space drifting /obj/mecha/working/hoverpod/check_for_support() //does the hoverpod have enough charge left to stabilize itself? - if (has_charge(step_energy_drain)) + if (!has_charge(step_energy_drain)) + ion_trail.stop() + else if (!ion_trail.on) ion_trail.start() - return 1 + if (stabilization_enabled) + return 1 - ion_trail.stop() return ..() //these three procs overriden to play different sounds From 85fb8d917c0b42210d6606f23d98bd5e4552a6eb Mon Sep 17 00:00:00 2001 From: mwerezak Date: Sun, 26 Oct 2014 15:09:42 -0400 Subject: [PATCH 06/15] Sleepers now use power when synthesizing chemicals Also, sleeper and chemmaster power usage are now both controlled by a constant in setup.dm --- code/game/machinery/Sleeper.dm | 4 ++++ code/modules/reagents/Chemistry-Machinery.dm | 10 +++++++--- code/setup.dm | 4 ++++ 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/code/game/machinery/Sleeper.dm b/code/game/machinery/Sleeper.dm index 5baa918911..047012edcb 100644 --- a/code/game/machinery/Sleeper.dm +++ b/code/game/machinery/Sleeper.dm @@ -336,8 +336,12 @@ proc/inject_chemical(mob/living/user as mob, chemical, amount) + if (stat & (BROKEN|NOPOWER)) + return + if(src.occupant && src.occupant.reagents) if(src.occupant.reagents.get_reagent_amount(chemical) + amount <= 20) + use_power(amount * CHEM_SYNTH_ENERGY) src.occupant.reagents.add_reagent(chemical, amount) user << "Occupant now has [src.occupant.reagents.get_reagent_amount(chemical)] units of [available_chemicals[chemical]] in his/her bloodstream." return diff --git a/code/modules/reagents/Chemistry-Machinery.dm b/code/modules/reagents/Chemistry-Machinery.dm index 7381a6ea16..4c6b26f19e 100644 --- a/code/modules/reagents/Chemistry-Machinery.dm +++ b/code/modules/reagents/Chemistry-Machinery.dm @@ -2,6 +2,8 @@ #define LIQUID 2 #define GAS 3 +#define CHEM_DISPENSER_ENERGY_COST 0.1 //How many energy points do we use per unit of chemical? + /obj/machinery/chem_dispenser name = "chem dispenser" density = 1 @@ -28,7 +30,7 @@ var/oldenergy = energy energy = min(energy + addenergy, max_energy) if(energy != oldenergy) - use_power(1500) // This thing uses up alot of power (this is still low as shit for creating reagents from thin air) + use_power(CHEM_SYNTH_ENERGY / CHEM_DISPENSER_ENERGY_COST) // This thing uses up "alot" of power (this is still low as shit for creating reagents from thin air) nanomanager.update_uis(src) // update all UIs attached to src /obj/machinery/chem_dispenser/power_change() @@ -137,8 +139,10 @@ var/datum/reagents/R = B.reagents var/space = R.maximum_volume - R.total_volume - R.add_reagent(href_list["dispense"], min(amount, energy * 10, space)) - energy = max(energy - min(amount, energy * 10, space) / 10, 0) + //uses 1 energy per 10 units. + var/added_amount = min(amount, energy / CHEM_DISPENSER_ENERGY_COST, space) + R.add_reagent(href_list["dispense"], added_amount) + energy = max(energy - added_amount * CHEM_DISPENSER_ENERGY_COST, 0) if(href_list["ejectBeaker"]) if(beaker) diff --git a/code/setup.dm b/code/setup.dm index 4b64a0821e..7755521026 100644 --- a/code/setup.dm +++ b/code/setup.dm @@ -853,3 +853,7 @@ var/list/hit_appends = list("-OOF", "-ACK", "-UGH", "-HRNK", "-HURGH", "-GLORF") // Reagent metabolism defines. #define FOOD_METABOLISM 0.4 #define ALCOHOL_METABOLISM 0.1 + +//Chemistry + +#define CHEM_SYNTH_ENERGY 500 //How much energy does it take to synthesize 1 unit of chemical, in J \ No newline at end of file From 66f2280159eba41374633db54652427ae6e4c3c8 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Sun, 26 Oct 2014 15:16:13 -0400 Subject: [PATCH 07/15] Gas heaters heat faster Restores a symmetry between heaters and freezers. Also they were nerfed quite a bit when their power use was lowered to 20kW, this undoes the nerf. --- code/ATMOSPHERICS/components/unary/heat_source.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/ATMOSPHERICS/components/unary/heat_source.dm b/code/ATMOSPHERICS/components/unary/heat_source.dm index 707e740f66..15d416fff0 100644 --- a/code/ATMOSPHERICS/components/unary/heat_source.dm +++ b/code/ATMOSPHERICS/components/unary/heat_source.dm @@ -1,4 +1,5 @@ //TODO: Put this under a common parent type with freezers to cut down on the copypasta +#define HEATER_PERF_MULT 2.5 /obj/machinery/atmospherics/unary/heater name = "gas heating system" @@ -72,7 +73,7 @@ if (network && air_contents.total_moles && air_contents.temperature < set_temperature) update_use_power(2) - air_contents.add_thermal_energy(active_power_usage) + air_contents.add_thermal_energy(active_power_usage * HEATER_PERF_MULT) heating = 1 network.update = 1 From e2a7710491c0cab034f49e3c2ecf7399bce5bf40 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Sun, 26 Oct 2014 22:23:55 +0100 Subject: [PATCH 08/15] The AI now has a radio channel for its private frequency. --- code/controllers/communications.dm | 3 ++- code/game/objects/items/devices/radio/encryptionkey.dm | 2 +- code/modules/mob/living/say.dm | 2 ++ code/modules/mob/living/silicon/ai/ai.dm | 4 +++- code/modules/mob/living/silicon/ai/laws.dm | 1 + code/modules/mob/transform_procs.dm | 2 ++ 6 files changed, 11 insertions(+), 3 deletions(-) diff --git a/code/controllers/communications.dm b/code/controllers/communications.dm index 7981527bea..0267aed853 100644 --- a/code/controllers/communications.dm +++ b/code/controllers/communications.dm @@ -120,7 +120,8 @@ var/list/radiochannels = list( "Response Team" = ERT_FREQ, "Special Ops" = DTH_FREQ, "Mercenary" = SYND_FREQ, - "Supply" = SUP_FREQ + "Supply" = SUP_FREQ, + "AI Private" = AI_FREQ ) // central command channels, i.e deathsquid & response teams diff --git a/code/game/objects/items/devices/radio/encryptionkey.dm b/code/game/objects/items/devices/radio/encryptionkey.dm index 47a1aa8560..e10e963b5f 100644 --- a/code/game/objects/items/devices/radio/encryptionkey.dm +++ b/code/game/objects/items/devices/radio/encryptionkey.dm @@ -79,7 +79,7 @@ name = "AI Integrated Encryption Key" desc = "Integrated encryption key" icon_state = "cap_cypherkey" - channels = list("Command" = 1, "Security" = 1, "Engineering" = 1, "Science" = 1, "Medical" = 1, "Supply" = 1) + channels = list("Command" = 1, "Security" = 1, "Engineering" = 1, "Science" = 1, "Medical" = 1, "Supply" = 1, "AI Private" = 1) /obj/item/device/encryptionkey/heads/rd name = "Research Director's Encryption Key" diff --git a/code/modules/mob/living/say.dm b/code/modules/mob/living/say.dm index 71cc5ad851..ced578e9a0 100644 --- a/code/modules/mob/living/say.dm +++ b/code/modules/mob/living/say.dm @@ -12,6 +12,7 @@ var/list/department_radio_keys = list( ":w" = "whisper", "#w" = "whisper", ".w" = "whisper", ":t" = "Mercenary", "#t" = "Mercenary", ".t" = "Mercenary", ":u" = "Supply", "#u" = "Supply", ".u" = "Supply", + ":o" = "AI Private", "#o" = "AI Private", ".o" = "AI Private", ":R" = "right ear", "#R" = "right ear", ".R" = "right ear", ":L" = "left ear", "#L" = "left ear", ".L" = "left ear", @@ -25,6 +26,7 @@ var/list/department_radio_keys = list( ":W" = "whisper", "#W" = "whisper", ".W" = "whisper", ":T" = "Mercenary", "#T" = "Mercenary", ".T" = "Mercenary", ":U" = "Supply", "#U" = "Supply", ".U" = "Supply", + ":O" = "AI Private", "#O" = "AI Private", ".O" = "AI Private", //kinda localization -- rastaf0 //same keys as above, but on russian keyboard layout. This file uses cp1251 as encoding. diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm index 91a7c92f6e..a29eb954fe 100644 --- a/code/modules/mob/living/silicon/ai/ai.dm +++ b/code/modules/mob/living/silicon/ai/ai.dm @@ -151,6 +151,8 @@ var/list/ai_verbs_default = list( src << "While observing through a camera, you can use most (networked) devices which you can see, such as computers, APCs, intercoms, doors, etc." src << "To use something, simply click on it." src << "Use say :b to speak to your cyborgs through binary." + src << "For department channels, use the following say commands:" + src << ":o AI Private, :c - Command, :s - Security, :e - Engineering, :u - Supply, :m - Medical, :n - Science." if (!(ticker && ticker.mode && (mind in ticker.mode.malf_ai))) show_laws() src << "These laws may be changed by other players, or by you being the traitor." @@ -456,7 +458,7 @@ var/list/ai_verbs_default = list( checklaws() if (href_list["lawr"]) // Selects on which channel to state laws - var/setchannel = input(usr, "Specify channel.", "Channel selection") in list("State","Common","Science","Command","Medical","Engineering","Security","Supply","Binary","Holopad", "Cancel") + var/setchannel = input(usr, "Specify channel.", "Channel selection") in list("State","Common","Science","Command","Medical","Engineering","Security","Supply","Binary","Private","Holopad", "Cancel") if(setchannel == "Cancel") return lawchannel = setchannel diff --git a/code/modules/mob/living/silicon/ai/laws.dm b/code/modules/mob/living/silicon/ai/laws.dm index e167c42f06..65b9d7ec4e 100755 --- a/code/modules/mob/living/silicon/ai/laws.dm +++ b/code/modules/mob/living/silicon/ai/laws.dm @@ -63,6 +63,7 @@ if("Security") prefix = ":s " if("Supply") prefix = ":u " if("Binary") prefix = ":b " + if("Private") prefix = ":o " if("Holopad") prefix = ":h " else prefix = "" diff --git a/code/modules/mob/transform_procs.dm b/code/modules/mob/transform_procs.dm index 1ed8bc43b1..3752464c54 100644 --- a/code/modules/mob/transform_procs.dm +++ b/code/modules/mob/transform_procs.dm @@ -116,6 +116,8 @@ O << "While observing through a camera, you can use most (networked) devices which you can see, such as computers, APCs, intercoms, doors, etc." O << "To use something, simply click on it." O << {"Use say ":b to speak to your cyborgs through binary."} + O << "For department channels, use the following say commands:" + O << ":o AI Private, :c - Command, :s - Security, :e - Engineering, :u - Supply, :m - Medical, :n - Science." if (!(ticker && ticker.mode && (O.mind in ticker.mode.malf_ai))) O.show_laws() O << "These laws may be changed by other players, or by you being the traitor." From 83426c1ad4e6d292ff32658e84d38605bd6a396b Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Mon, 27 Oct 2014 08:36:07 +0100 Subject: [PATCH 09/15] Adds some checks to ensure the AI cannot go and speak on the radio if dead or has had its power shut down. --- code/modules/mob/living/silicon/say.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/mob/living/silicon/say.dm b/code/modules/mob/living/silicon/say.dm index de697da123..dfebf7d5e0 100644 --- a/code/modules/mob/living/silicon/say.dm +++ b/code/modules/mob/living/silicon/say.dm @@ -115,7 +115,7 @@ if("general") switch(bot_type) if(IS_AI) - if (AI.aiRadio.disabledAi) + if (AI.aiRadio.disabledAi || AI.aiRestorePowerRoutine || AI.stat) src << "\red System Error - Transceiver Disabled" return else @@ -133,7 +133,7 @@ if(message_mode) switch(bot_type) if(IS_AI) - if (AI.aiRadio.disabledAi) + if (AI.aiRadio.disabledAi || AI.aiRestorePowerRoutine || AI.stat) src << "\red System Error - Transceiver Disabled" return else From 4eb4869205b3ed0fb9f137654c0148116e83f6d7 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Mon, 27 Oct 2014 23:09:16 +0100 Subject: [PATCH 10/15] Most minor spelling correction. --- code/modules/client/preferences_gear.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/client/preferences_gear.dm b/code/modules/client/preferences_gear.dm index 861fd6a92a..22219ff4a0 100644 --- a/code/modules/client/preferences_gear.dm +++ b/code/modules/client/preferences_gear.dm @@ -403,7 +403,7 @@ var/global/list/gear_datums = list() slot = slot_wear_suit /datum/gear/bomber - display_name = "bomberjacker" + display_name = "bomber jacket" path = /obj/item/clothing/suit/bomber cost = 4 slot = slot_wear_suit From 8d509d9a6d43901728d359657425125ef286052d Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Mon, 27 Oct 2014 23:23:52 +0100 Subject: [PATCH 11/15] Adds hand labeler to the Excavation tools closet. --- code/modules/research/xenoarchaeology/misc.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/modules/research/xenoarchaeology/misc.dm b/code/modules/research/xenoarchaeology/misc.dm index d431fdab54..c66e57f3de 100644 --- a/code/modules/research/xenoarchaeology/misc.dm +++ b/code/modules/research/xenoarchaeology/misc.dm @@ -104,6 +104,7 @@ new /obj/item/device/measuring_tape(src) new /obj/item/weapon/pickaxe/hand(src) new /obj/item/weapon/storage/bag/fossils(src) + new /obj/item/weapon/hand_labeler(src) return //---- Isolation room air alarms From 3c239b6e6541e08c526c6b696770913c7f426d62 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Tue, 28 Oct 2014 12:00:16 +0100 Subject: [PATCH 12/15] Hand labelers in Xenoflora. --- maps/tgstation2.dmm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/maps/tgstation2.dmm b/maps/tgstation2.dmm index e57c9db2f2..19c1366287 100644 --- a/maps/tgstation2.dmm +++ b/maps/tgstation2.dmm @@ -4145,7 +4145,7 @@ "bBK" = (/obj/structure/sign/securearea{pixel_x = -32},/turf/simulated/floor{icon_state = "warningcorner"; dir = 4},/area/rnd/mixing) "bBL" = (/obj/machinery/camera{c_tag = "Toxins Launch Room Access"; dir = 1},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor{icon_state = "warningcorner"; dir = 8},/area/rnd/mixing) "bBM" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "white"},/area/medical/patient_a) -"bBN" = (/obj/structure/table,/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/obj/machinery/light{tag = "icon-tube1 (NORTH)"; icon_state = "tube1"; dir = 1},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor{tag = "icon-whitegreen (NORTHWEST)"; icon_state = "whitegreen"; dir = 9},/area/rnd/xenobiology/xenoflora_storage) +"bBN" = (/obj/structure/table,/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/obj/machinery/light{tag = "icon-tube1 (NORTH)"; icon_state = "tube1"; dir = 1},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/item/weapon/hand_labeler,/turf/simulated/floor{tag = "icon-whitegreen (NORTHWEST)"; icon_state = "whitegreen"; dir = 9},/area/rnd/xenobiology/xenoflora_storage) "bBO" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/medical,/obj/machinery/vending/wallmed1{name = "NanoMed Wall"; pixel_x = 25; pixel_y = 0; req_access_txt = "0"},/obj/machinery/camera{c_tag = "Medbay Patient A"; dir = 8; network = list("SS13")},/turf/simulated/floor{dir = 4; icon_state = "whitered"},/area/medical/patient_a) "bBP" = (/obj/item/device/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = -27},/obj/structure/stool/bed/chair/office/dark,/turf/simulated/floor{dir = 8; icon_state = "whitered"},/area/medical/patient_b) "bBQ" = (/obj/item/device/radio/intercom{broadcasting = 0; canhear_range = 5; freerange = 0; frequency = 1485; listening = 1; name = "Station Intercom (Medbay Lobby)"; pixel_x = 0; pixel_y = -30},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/medbreak) @@ -6316,7 +6316,7 @@ "crx" = (/obj/structure/stool/bed/chair/office/dark{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/cyan,/turf/simulated/floor,/area/hallway/primary/aft) "cry" = (/obj/structure/table/reinforced,/obj/item/weapon/clipboard,/turf/simulated/floor,/area/hallway/primary/aft) "crz" = (/obj/machinery/computer/station_alert,/turf/simulated/floor,/area/hallway/primary/aft) -"crA" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/snacks/monkeycube/wrapped,/obj/item/weapon/reagent_containers/spray/cleaner,/obj/item/clothing/gloves/latex,/obj/item/device/slime_scanner,/obj/item/device/slime_scanner,/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) +"crA" = (/obj/structure/table,/obj/item/clothing/gloves/latex,/obj/item/weapon/hand_labeler,/turf/simulated/floor{icon_state = "hydrofloor"},/area/rnd/xenobiology/xenoflora) "crB" = (/obj/structure/stool/bed/chair{dir = 8},/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/purple,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) "crC" = (/obj/structure/rack{dir = 8; layer = 2.6},/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/rig/engineering,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/rig/engineering,/obj/machinery/light{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/window/southleft{name = "Engineering Hardsuits"; req_access_txt = "11"},/turf/simulated/floor,/area/engine/engine_eva) "crD" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/structure/table/reinforced,/obj/machinery/door_control{id = "chemcounter"; name = "Pharmacy Counter Lockdown Control"; pixel_y = 25},/obj/machinery/reagentgrinder,/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) @@ -8488,7 +8488,7 @@ "dhl" = (/obj/machinery/camera{c_tag = "Aft Port Solar Control"; dir = 1},/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable,/turf/simulated/floor/plating,/area/maintenance/portsolar) "dhm" = (/obj/machinery/power/rad_collector,/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/engine/engine_room) "dhn" = (/obj/structure/table,/obj/item/weapon/storage/box/syringes,/turf/simulated/floor{icon_state = "hydrofloor"},/area/rnd/xenobiology/xenoflora) -"dho" = (/obj/structure/table,/obj/item/clothing/gloves/latex,/turf/simulated/floor{icon_state = "hydrofloor"},/area/rnd/xenobiology/xenoflora) +"dho" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/snacks/monkeycube/wrapped,/obj/item/weapon/reagent_containers/spray/cleaner,/obj/item/clothing/gloves/latex,/obj/item/device/slime_scanner,/obj/item/device/slime_scanner,/obj/item/weapon/hand_labeler,/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) "dhp" = (/obj/machinery/hologram/holopad,/turf/simulated/floor{icon_state = "hydrofloor"},/area/rnd/xenobiology/xenoflora) "dhq" = (/obj/machinery/door_control{desc = "A remote control-switch for opening the engines blast doors."; id = "EngineRads"; name = "Radiation Collector Access"; pixel_x = 0; pixel_y = -25; req_access_txt = "10"},/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/engine/engine_room) "dhr" = (/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/engine/engine_room) @@ -11283,7 +11283,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaeaaaaaaaaaaaaaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabsgbsgbsgbsgbsgbsgbsgbxDbyvcvgcvgcvgcvgcvgbstbsubsvbsvbsvbsAbuNblGblFblHbtsblIbttbslbtubtEbspbtGbgXbqUbmebgMbqYbgMbxlbqZbzxbzsbzsbzsbrMbrLbPZbrGbrBbPZbrAbqJbrzbtDbiDbtAbtBbtzbwUbhebksbtJbiKbrmbrnbiGbiGbiGbiGbiGbseblEblxbtxblxbrYbsdbrYbqdbsbbscbxCbybbBNbBvbrVctibudbuhbrRbrSbudbrTbADbADbADbAGbzJbzQbAsbAvbzibzabyXdfTbvFbvubvrbnfbnfbnfbnfaaaaaeaaaaaaaaaaajaajaajaaeaaaaaaaaeaaaaaaaaeaaeaaebtrbtwbtmbtnbtybjBbjBbjSbmLbjSbjBbjBaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaeaaeaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaebsgctYctZctWctXcZgbsgcufdaRdgkdgjcwYcrCcrrcrrbuKcBVcBVcBUcBZbAkblGblFblHcnCbuKcnzcwKcnBcnwcnxcnybgXdaTddIbgMcnpbgMbsSbqZdZLdZOdZOdZOcyVbqZdYtcyYczmdYtczHdZRczodZHbiDdZGbtBcrVbwUcylcxUbxQbiKcyIcypbiKcONcdnbidcBbcugcuDcRddaUcRdcuSbqccvGbqdcvFcvEbtxbybcBrcAEcAEczIcALcAHcAMcAHcAOcANcCQcCPcCPcCRdfQdfQdgBcCUdgodgobfNdfTbYUcxPbYWbYUaaaaaaaaaaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaecrLbEQbEQbFgbtybtybjBbjBbjBbjBbEOaaeaaeaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaeaaeaaebTebTebTebTebTebTebTebTebTebTebTebTebTeaaaaaacnmcnjcnjcnjcnlcYCbsgcqqcpdcnWcnQcEzcnnctVctRctIctHctCctBctActzcujcxxcuhcuibCtbgXbgXbgXbgXbgXbgXbgXbgMbgMbgMbgMbgMbsSbqZbqZdZrdZscuobqZbqZcupcutcuxdYtbiDbiDbiDbiDbiDbwUdZydZzbwUcqXcuycqXbiKcuAcuzbiKcJLcNGbiddZVbidearblxbtxblxcYGcuEctubqbcttcvEbtxbybcvKcvLcvLcvPcvOcvNcvUcvTcvRcvQcvWdgWcBDcBzdgicBJdfQdfQdfQdfRdfSdfTculcumcunbYUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaaaaaaaaaaaaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaabTecnScqacnSbTecnOcpYcnObTecnMcpZcnMbTeaaaaaacBvcnjcnjcnlcnldhzbsgcDacxbcvgdcVddhcFHcFlcFkcFnbYpbYpcFobYpbAkblGcEUblHcpCcBscEZcpucpEcpucEPbskcBIcCncWrcCEcCJbskbsSbEaeaxbMXbMXcNicNkcNEcNFcmCcNDcNmcNscNleaeeaeeaudXBbwUbwUbwUcLscKZcLubiKbiKbiKbiKcNGcNGbidcHYbidcIfblxbtxblxdhBcDxcDxcERcEScFpdfZbybcJCcGecGecFXcGlcGjcFTcFRcFVcFUcGtcGmdfQdfQdhodhndfQdhpdfQdfRdghdfTcFKcFMcFJbYUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaabTecnScqacnSbTecnOcpYcnObTecnMcpZcnMbTeaaaaaacBvcnjcnjcnlcnldhzbsgcDacxbcvgdcVddhcFHcFlcFkcFnbYpbYpcFobYpbAkblGcEUblHcpCcBscEZcpucpEcpucEPbskcBIcCncWrcCEcCJbskbsSbEaeaxbMXbMXcNicNkcNEcNFcmCcNDcNmcNscNleaeeaeeaudXBbwUbwUbwUcLscKZcLubiKbiKbiKbiKcNGcNGbidcHYbidcIfblxbtxblxdhBcDxcDxcERcEScFpdfZbybcJCcGecGecFXcGlcGjcFTcFRcFVcFUcGtcGmdfQdfQcrAdhndfQdhpdfQdfRdghdfTcFKcFMcFJbYUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaabTecnScnRcnSbTecnOcnPcnObTecnMcnNcnMbTeaaaaaacBvcnjcnlcnlcnlddLcwXddCcvYcvgclOcClbpIcsMcsEcBscoycoEcoDdgFbAkblGcELcuhcCTcFzcFGcCKcCKcCKcCNdeCdeEdeIcBqcBmcBnbskbsSbEaeabbMXbOscEpeaaeageahcEscEtcEqeadcEreafeaeeandXBdgHdgndgacEBdgGcEBdhadhddgRdgRdgRdgYbidbidbidbidblxdfXblxdfNdfWcDzcDJcDybqhdfZbybdgPdgQdgQdgQccQbudcEebuddgTcDKcEfdgMdgMdgXdgWdgWdgVdgMdgMcDndgOdfTdeKdeZdfMbYUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaabTecFfcnicFebTecFdcnfcFcbTecFbcnccEVbTeaaaaaecBvdeMcnjcnlcnlcnlbsgdyPdybdaGdaGdaLdaGdaGdaGdaGcrzbYpcrxcrybAkcWIcWLcWQcWTcWFcWGcWHcWHcWHcQkbskcQKcPBcPVcFIcDedAXdBebEadhObMXdcMdcKdcLdbGdbNdbkdbBdcCdcEdbSdbUeaedbhdXBcHTcqzdXFdbjdbidhMdXFdfJddEddFblxdAfdgRdgRdgRdgRdgRdBPdBSdDddDudgRdgRdgRdgRdBNbybcFwcFxcFvdhTbuddcNdcQdcOdfTdhVcFrcFrcFrdhPcvudhQdhScFrcFrcFrdhYdfTdhXddxcccccdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaeaaebTecqocdMcqpbTecdWcdMcdXbTecdLcdMcdNbTeaaaaaecFqcnjcnjcnlcnldhLbsgdhFdhCcGvcGucRqcRpdjddjddhZdhRcRCcEIcsubAkcRYcRZcRQcqJcBscqCcqCcqHcCmcVibskcKYcKWcJUdaWdkQdbgdpbbEadhDbMXcVRcVSeaPbEaeaFcmCeaHdYteaIcVCcVQeaedhEdXBcHTcqzdXFeaQcWmeaQdXFaaaaaaaaablxblxblxddUddEddEddFblxblxblxblxblxblxbudbudbudbudbudbudbudbudbuddPHckXcWBdfTdfTbZPbOwcdqdfTdfTdfTdfTcoTbOwcdqdfTdfTccSdpYccSaaeaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaateaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -11293,7 +11293,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaecDocfpcfmcbDcfmcbDcfmcbDcuecbDcfmcbDcudclgclgclgcllbSZbSZcfkclccmrcmqcEKcECcuvcibclCckyckxcmecmaclPcEycExcjjclvcaTclucltcaOclscaPcaPclqcaPclpcaOckgcfgclocfgcfrcjXbsSckFbEadkwckHckIckJckKckLckMckNckOckPckQckTdkbdXBcDfcCVceLbZJbVuckEbVubZJaaaaaaaaeaaaaaaaaabVuckYccOccYbVuaaeaaeaaaaaaaaabudcfccfccfccfcckfckUcbWcbWcbWckXcbWckVbudaaaaaaaaaaaaaaaciHciHciHbCVaaeaaeaaeaaecBEaaeaaeaaeaaeaaeaaAciHciHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaeaaeaaechwciccibbSZcibciYchYcvSciabSZcibbSZbSZbSZbSZbSZcqjclgcpOcqkcpRcpOcipcpRcpPcpTcpScpWcpVcpDcpAcpFchBcpIcpGcpLchBcqdcqfcoHciRcqgciSciTcqicaPcpXcaOcqccfgchscfgcnTcjXbsScplbEacpjcpkcuLdYnbEadYtcnodYtdXBdYrcuZcpmcptdXBcReceLceLbVucprcpqcpzbVubVubVucnJbVubVubVubVucpecpfcfvbVubVubVubZJaaaaaabudcnbcmXcmYcphcpicmZcbWcbWcbWckXcbWcnkbudaaaaaaaaaaaaaaaciHaaaaaeaaaaaeaaaaaaaaaclwaaaaaeaaeaaaaaaaaaaaaciHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaeaaeaaaaaachwciccibbSZcidcuIchXchHchGchHchYcuJciachLchHchHcuFchHcuGcuHchHcpccpcchHcpbchYcfTcnudeBdcxcoWbQGchBcoZchBchBchBcoIcoQcoHchucoSchAclbcoRcaPcoGcaOcoFcfgchscfgcfgcjXcRfcUBbEabEacosbEabEabEacoAcoBcoCdXBdXBdXBcozdXBdXBcReceLaaabVuconcexcorcaZdbdcmzcmwcilcmycmxbVuceycexcevbVucomcfCbVuaaeaaebudccCccCccCcmDcmEcokcogcofcoccobcbWcmcbudbudbudbudaaaaaaciHaaachWchWchWchWchWaaeclwaaechWchWchWchWchWaaaciHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactvctvctvctvctvctvctvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaachwciccidchHchHchHchHchHchGchHchHchHchGchYcxrcxdcxebSZcxcckhckicrHcrHckickGbSZbSZcnucgAbSZcrPcrScrRcrKcrIcrOcrNcrIcsmcsicsjcshcrXcrXcsgcrXcukcsncsocskcslclHclHcjXcWDbxdcWCcWKcWKcWKcWMcWqcWicWicWicWicWicWicWicWicWPcCVceLaaacaZcrocfPdZpcaZdeNdZnbXKbXKdZmbXKdZkcrqcrtdWPdZjcjPbXKbVuaaaaaabudccCccCccCcphcrpcrucqKcrAcrvcrBcbWcbWcrEcoqcopbudaaeaaeciHaaeckwcjQcjQcjQcjQcjkciPciFciBciBciBciBckvaaeciHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactvctvctvctvctvctvctvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaachwciccidchHchHchHchHchHchGchHchHchHchGchYcxrcxdcxebSZcxcckhckicrHcrHckickGbSZbSZcnucgAbSZcrPcrScrRcrKcrIcrOcrNcrIcsmcsicsjcshcrXcrXcsgcrXcukcsncsocskcslclHclHcjXcWDbxdcWCcWKcWKcWKcWMcWqcWicWicWicWicWicWicWicWicWPcCVceLaaacaZcrocfPdZpcaZdeNdZnbXKbXKdZmbXKdZkcrqcrtdWPdZjcjPbXKbVuaaaaaabudccCccCccCcphcrpcrucqKdhocrvcrBcbWcbWcrEcoqcopbudaaeaaeciHaaeckwcjQcjQcjQcjQcjkciPciFciBciBciBciBckvaaeciHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactvctvctvctvctvctvctvctvctvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaachwcjlbSZbSZbSZbSZbSZbSZcmmbSZbSZbSZcmmbSZbSZcvVcicbSZcmmcibbSZcwAcwzbSZcwtcwrbSZcrUcwecoPcrdcwWcvXcwScwRcwFcvXcvXcracqZcGqcqYcaPcqWcmjcaPcaPcrccfgcfgcrbclHclHcjXbClckzbTBbTBbTBbTBcqDbTBbTBbTBbTBcqzcqBceLceLceLceLceLceLaaacaZcaZcVhcaZcaZdeLcqrcqvcqscqxcqwcqxcqPcqMcqNcqRcqTcqQbVuaaaaaabudcfccfccfccfccnYckUcqKcqIcqEcqLcbWcbWcnXcbWcnUbudaaaaaaciHaaecfqcfqcfqcfqcfqaaaclwaaacfqcfqcfqcfqcfqaaeciHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactvctvctvctvctvctvctvctvctvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaabCVaaaaaaaaaaaachwcicbSZbSZbSZbSZbSZbSZcmmbSZbSZbSZcmmbSZbSZcmmcicbSZcmmcidcAzclTcaiclUcljcbsbSZcwmcpJctfctebQGbQGbQGbQGcAuclrcaTctgctjciRclYcaPcmbcmjcaPcmkcaOcpKcmlctrcqGcencjXcsQckzbTBcpHbhMbhLbYhbhKcsObhPbTBcgUcgTceLaaaaaaaaaaaaaaaaaabVuctdcsZcsYcsXcsWcsVcsUcsTcsScsRcqNcsCcsDcsFdZjbVudWgbVuaaaaaabudcnbcmXcmYceAcpicrucsNcoucoucsJcsIcsLcsKcsHcsGbudaaaaaaciHaaaaaeaaaaaeaaeaaeaaaclwaaaaaeaaaaaeaaaaaeaaaciHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactvctvctvctvctvctvctvctvctvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaachwcicbSZbSZclKckickickiclBckickickiclBckickiclDclGckiclIckicznclhcljcliclhczeczecuwcpQcsAczjczicpaczlczkclxclrcaTcdJcaTclacldcaPcaPcszcaPclecaOcqhcqhclfcqGcencjXbClckzbTBbvhbvibVTbVSbvmbVSbvbbTBcWZcXdceLaaaaaaaaaaaaaaaaaabVucswcsvcstcxZdWxbsxcsrdWAcrqcssdZkdWrcrqcsqdWPbVubVubVuaaaaaabudccCcoLccCcoKcmEckUcbWcbWcspcetcbWcoxcfccfccfcbudaaaaaaciHaaachWchWchWchWchWaaeclwaaechWchWchWchWchWaaeciHaaaaaaaaaaaaaaaaaaaaaaaacmdaaaaaaaaacmdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa From 06b9881fa2645b4c92dd7ed1c14e46f6f17b2cca Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Mon, 27 Oct 2014 10:11:23 +0100 Subject: [PATCH 13/15] Code refactoring AIs and borgs now share law statement procs, rather than have 95% identical code variants. Improved handling available law-statement channels. Now lists all available radio channels + any additional variants (such as "Binary", "Holopad", etc.) Fixes a bug where synths could not state laws on the binary channel due to improper return-value. --- baystation12.dme | 1 + code/modules/mob/living/say.dm | 15 ++ code/modules/mob/living/silicon/ai/ai.dm | 22 ++- code/modules/mob/living/silicon/ai/laws.dm | 134 +----------------- code/modules/mob/living/silicon/laws.dm | 128 +++++++++++++++++ code/modules/mob/living/silicon/robot/laws.dm | 106 +------------- .../modules/mob/living/silicon/robot/robot.dm | 11 +- code/modules/mob/living/silicon/say.dm | 10 +- code/modules/mob/living/silicon/silicon.dm | 30 +++- code/modules/mob/transform_procs.dm | 2 +- 10 files changed, 197 insertions(+), 262 deletions(-) create mode 100644 code/modules/mob/living/silicon/laws.dm diff --git a/baystation12.dme b/baystation12.dme index f17fd812b4..a6894bb4c1 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -1016,6 +1016,7 @@ #include "code\modules\mob\living\carbon\monkey\update_icons.dm" #include "code\modules\mob\living\silicon\alarm.dm" #include "code\modules\mob\living\silicon\death.dm" +#include "code\modules\mob\living\silicon\laws.dm" #include "code\modules\mob\living\silicon\login.dm" #include "code\modules\mob\living\silicon\say.dm" #include "code\modules\mob\living\silicon\silicon.dm" diff --git a/code/modules/mob/living/say.dm b/code/modules/mob/living/say.dm index ced578e9a0..ba8613dcbb 100644 --- a/code/modules/mob/living/say.dm +++ b/code/modules/mob/living/say.dm @@ -44,6 +44,21 @@ var/list/department_radio_keys = list( ":é" = "Supply", "#é" = "Supply", ".é" = "Supply", ) + +var/list/channel_to_radio_key = new +proc/get_radio_key_from_channel(var/channel) + var/key = channel_to_radio_key[channel] + if(!key) + for(var/radio_key in department_radio_keys) + if(department_radio_keys[radio_key] == channel) + key = radio_key + break + if(!key) + key = "" + channel_to_radio_key[channel] = key + + return key + /mob/living/proc/binarycheck() if (istype(src, /mob/living/silicon/pai)) diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm index a29eb954fe..ccc199d2a7 100644 --- a/code/modules/mob/living/silicon/ai/ai.dm +++ b/code/modules/mob/living/silicon/ai/ai.dm @@ -16,7 +16,7 @@ var/list/ai_verbs_default = list( /mob/living/silicon/ai/proc/ai_roster, /mob/living/silicon/ai/proc/ai_statuschange, /mob/living/silicon/ai/proc/ai_store_location, - /mob/living/silicon/ai/proc/checklaws, + /mob/living/silicon/ai/proc/ai_checklaws, /mob/living/silicon/ai/proc/control_integrated_radio, /mob/living/silicon/ai/proc/core, /mob/living/silicon/ai/proc/pick_icon, @@ -49,11 +49,7 @@ var/list/ai_verbs_default = list( var/obj/machinery/camera/camera = null var/list/connected_robots = list() var/aiRestorePowerRoutine = 0 - //var/list/laws = list() var/viewalerts = 0 - var/lawcheck[1] - var/ioncheck[1] - var/lawchannel = "Common" // Default channel on which to state laws var/icon/holo_icon//Default is assigned when AI is created. var/obj/item/device/pda/ai/aiPDA = null var/obj/item/device/multitool/aiMulti = null @@ -121,7 +117,11 @@ var/list/ai_verbs_default = list( aiMulti = new(src) aiRadio = new(src) + common_radio = aiRadio aiRadio.myAi = src + additional_law_channels += "Binary" + additional_law_channels += "Holopad" + aiCamera = new/obj/item/device/camera/siliconcam/ai_camera(src) if (istype(loc, /turf)) @@ -152,7 +152,7 @@ var/list/ai_verbs_default = list( src << "To use something, simply click on it." src << "Use say :b to speak to your cyborgs through binary." src << "For department channels, use the following say commands:" - src << ":o AI Private, :c - Command, :s - Security, :e - Engineering, :u - Supply, :m - Medical, :n - Science." + src << ":o - AI Private, :c - Command, :s - Security, :e - Engineering, :u - Supply, :m - Medical, :n - Science." if (!(ticker && ticker.mode && (mind in ticker.mode.malf_ai))) show_laws() src << "These laws may be changed by other players, or by you being the traitor." @@ -429,7 +429,8 @@ var/list/ai_verbs_default = list( /mob/living/silicon/ai/Topic(href, href_list) if(usr != src) return - ..() + if(..()) + return if (href_list["mach_close"]) if (href_list["mach_close"] == "aialerts") viewalerts = 0 @@ -457,13 +458,6 @@ var/list/ai_verbs_default = list( // src << text ("Switching Law [L]'s report status to []", lawcheck[L+1]) checklaws() - if (href_list["lawr"]) // Selects on which channel to state laws - var/setchannel = input(usr, "Specify channel.", "Channel selection") in list("State","Common","Science","Command","Medical","Engineering","Security","Supply","Binary","Private","Holopad", "Cancel") - if(setchannel == "Cancel") - return - lawchannel = setchannel - checklaws() - if (href_list["lawi"]) // Toggling whether or not a law gets stated by the State Laws verb --NeoFite var/L = text2num(href_list["lawi"]) switch(ioncheck[L]) diff --git a/code/modules/mob/living/silicon/ai/laws.dm b/code/modules/mob/living/silicon/ai/laws.dm index 65b9d7ec4e..23bfd22e8f 100755 --- a/code/modules/mob/living/silicon/ai/laws.dm +++ b/code/modules/mob/living/silicon/ai/laws.dm @@ -15,22 +15,6 @@ src.laws_sanity_check() src.laws.show_laws(who) -/mob/living/silicon/ai/proc/laws_sanity_check() - if (!src.laws) - src.laws = new base_law_type - -/mob/living/silicon/ai/proc/set_zeroth_law(var/law, var/law_borg) - src.laws_sanity_check() - src.laws.set_zeroth_law(law, law_borg) - -/mob/living/silicon/ai/proc/add_inherent_law(var/law) - src.laws_sanity_check() - src.laws.add_inherent_law(law) - -/mob/living/silicon/ai/proc/clear_inherent_laws() - src.laws_sanity_check() - src.laws.clear_inherent_laws() - /mob/living/silicon/ai/proc/add_ion_law(var/law) src.laws_sanity_check() src.laws.add_ion_law(law) @@ -38,121 +22,7 @@ if(R.lawupdate && (R.connected_ai == src)) R << "\red " + law + "\red...LAWS UPDATED" -/mob/living/silicon/ai/proc/clear_ion_laws() - src.laws_sanity_check() - src.laws.clear_ion_laws() - -/mob/living/silicon/ai/proc/add_supplied_law(var/number, var/law) - src.laws_sanity_check() - src.laws.add_supplied_law(number, law) - -/mob/living/silicon/ai/proc/clear_supplied_laws() - src.laws_sanity_check() - src.laws.clear_supplied_laws() - -/mob/living/silicon/ai/proc/statelaws() // -- TLE -// set category = "AI Commands" -// set name = "State Laws" - /var/prefix = "" - switch(lawchannel) - if("Common") prefix = ";" - if("Science") prefix = ":n " - if("Command") prefix = ":c " - if("Medical") prefix = ":m " - if("Engineering") prefix = ":e " - if("Security") prefix = ":s " - if("Supply") prefix = ":u " - if("Binary") prefix = ":b " - if("Private") prefix = ":o " - if("Holopad") prefix = ":h " - else prefix = "" - - if(src.say("[prefix]Current Active Laws:") != 1) - return - - //src.laws_sanity_check() - //src.laws.show_laws(world) - var/number = 1 - sleep(10) - - if (src.laws.zeroth) - if (src.lawcheck[1] == "Yes") //This line and the similar lines below make sure you don't state a law unless you want to. --NeoFite - src.say("[prefix]0. [src.laws.zeroth]") - sleep(10) - - for (var/index = 1, index <= src.laws.ion.len, index++) - var/law = src.laws.ion[index] - var/num = ionnum() - if (length(law) > 0) - if (src.ioncheck[index] == "Yes") - src.say("[prefix][num]. [law]") - sleep(10) - - for (var/index = 1, index <= src.laws.inherent.len, index++) - var/law = src.laws.inherent[index] - - if (length(law) > 0) - if (src.lawcheck[index+1] == "Yes") - src.say("[prefix][number]. [law]") - sleep(10) - number++ - - for (var/index = 1, index <= src.laws.supplied.len, index++) - var/law = src.laws.supplied[index] - - if (length(law) > 0) - if(src.lawcheck.len >= number+1) - if (src.lawcheck[number+1] == "Yes") - src.say("[prefix][number]. [law]") - sleep(10) - number++ - -/mob/living/silicon/ai/proc/checklaws() //Gives you a link-driven interface for deciding what laws the statelaws() proc will share with the crew. --NeoFite +/mob/living/silicon/ai/proc/ai_checklaws() set category = "AI Commands" set name = "State Laws" - - var/list = "Which laws do you want to include when stating them for the crew?

" - - - - if (src.laws.zeroth) - if (!src.lawcheck[1]) - src.lawcheck[1] = "No" //Given Law 0's usual nature, it defaults to NOT getting reported. --NeoFite - list += {"[src.lawcheck[1]] 0: [src.laws.zeroth]
"} - - for (var/index = 1, index <= src.laws.ion.len, index++) - var/law = src.laws.ion[index] - - if (length(law) > 0) - - - if (!src.ioncheck[index]) - src.ioncheck[index] = "Yes" - list += {"[src.ioncheck[index]] [ionnum()]: [law]
"} - src.ioncheck.len += 1 - - var/number = 1 - for (var/index = 1, index <= src.laws.inherent.len, index++) - var/law = src.laws.inherent[index] - - if (length(law) > 0) - src.lawcheck.len += 1 - - if (!src.lawcheck[number+1]) - src.lawcheck[number+1] = "Yes" - list += {"[src.lawcheck[number+1]] [number]: [law]
"} - number++ - - for (var/index = 1, index <= src.laws.supplied.len, index++) - var/law = src.laws.supplied[index] - if (length(law) > 0) - src.lawcheck.len += 1 - if (!src.lawcheck[number+1]) - src.lawcheck[number+1] = "Yes" - list += {"[src.lawcheck[number+1]] [number]: [law]
"} - number++ - - list += {"
Channel: [src.lawchannel]
"} - list += {"State Laws"} - - usr << browse(list, "window=laws") \ No newline at end of file + checklaws() diff --git a/code/modules/mob/living/silicon/laws.dm b/code/modules/mob/living/silicon/laws.dm new file mode 100644 index 0000000000..0094d932d7 --- /dev/null +++ b/code/modules/mob/living/silicon/laws.dm @@ -0,0 +1,128 @@ +/mob/living/silicon/proc/laws_sanity_check() + if (!src.laws) + laws = new base_law_type + +/mob/living/silicon/proc/set_zeroth_law(var/law, var/law_borg) + laws_sanity_check() + laws.set_zeroth_law(law, law_borg) + +/mob/living/silicon/proc/add_inherent_law(var/law) + laws_sanity_check() + laws.add_inherent_law(law) + +/mob/living/silicon/proc/clear_inherent_laws() + laws_sanity_check() + laws.clear_inherent_laws() + +/mob/living/silicon/proc/clear_ion_laws() + laws_sanity_check() + laws.clear_ion_laws() + +/mob/living/silicon/proc/add_supplied_law(var/number, var/law) + laws_sanity_check() + laws.add_supplied_law(number, law) + +/mob/living/silicon/proc/clear_supplied_laws() + laws_sanity_check() + laws.clear_supplied_laws() + +/mob/living/silicon/proc/statelaws() // -- TLE + if(stating_laws) + src << "You are currently stating laws." + return + stating_laws = 1 + + var/prefix = "" + switch(lawchannel) + if(MAIN_CHANNEL) prefix = ";" // Apparently defines are not constant expressions? + if("Binary") prefix = ":b " + else + prefix = get_radio_key_from_channel(lawchannel == "Holopad" ? "department" : lawchannel) + " " + + if(src.say("[prefix]Current Active Laws:") != 1) + return + + //src.laws_sanity_check() + //src.laws.show_laws(world) + var/number = 1 + sleep(10) + + if (src.laws.zeroth) + if (src.lawcheck[1] == "Yes") //This line and the similar lines below make sure you don't state a law unless you want to. --NeoFite + src.say("[prefix]0. [src.laws.zeroth]") + sleep(10) + + for (var/index = 1, index <= src.laws.ion.len, index++) + var/law = src.laws.ion[index] + var/num = ionnum() + if (length(law) > 0) + if (src.ioncheck[index] == "Yes") + src.say("[prefix][num]. [law]") + sleep(10) + + for (var/index = 1, index <= src.laws.inherent.len, index++) + var/law = src.laws.inherent[index] + + if (length(law) > 0) + if (src.lawcheck[index+1] == "Yes") + src.say("[prefix][number]. [law]") + sleep(10) + number++ + + for (var/index = 1, index <= src.laws.supplied.len, index++) + var/law = src.laws.supplied[index] + + if (length(law) > 0) + if(src.lawcheck.len >= number+1) + if (src.lawcheck[number+1] == "Yes") + src.say("[prefix][number]. [law]") + sleep(10) + number++ + + stating_laws = 0 + +/mob/living/silicon/proc/checklaws() //Gives you a link-driven interface for deciding what laws the statelaws() proc will share with the crew. --NeoFite + var/list = "Which laws do you want to include when stating them for the crew?

" + + + if (src.laws.zeroth) + if (!src.lawcheck[1]) + src.lawcheck[1] = "No" //Given Law 0's usual nature, it defaults to NOT getting reported. --NeoFite + list += {"[src.lawcheck[1]] 0: [src.laws.zeroth]
"} + + for (var/index = 1, index <= src.laws.ion.len, index++) + var/law = src.laws.ion[index] + + if (length(law) > 0) + + + if (!src.ioncheck[index]) + src.ioncheck[index] = "Yes" + list += {"[src.ioncheck[index]] [ionnum()]: [law]
"} + src.ioncheck.len += 1 + + var/number = 1 + for (var/index = 1, index <= src.laws.inherent.len, index++) + var/law = src.laws.inherent[index] + + if (length(law) > 0) + src.lawcheck.len += 1 + + if (!src.lawcheck[number+1]) + src.lawcheck[number+1] = "Yes" + list += {"[src.lawcheck[number+1]] [number]: [law]
"} + number++ + + for (var/index = 1, index <= src.laws.supplied.len, index++) + var/law = src.laws.supplied[index] + if (length(law) > 0) + src.lawcheck.len += 1 + if (!src.lawcheck[number+1]) + src.lawcheck[number+1] = "Yes" + list += {"[src.lawcheck[number+1]] [number]: [law]
"} + number++ + + list += {"
Channel: [src.lawchannel]
"} + list += {"State Laws"} + + usr << browse(list, "window=laws") diff --git a/code/modules/mob/living/silicon/robot/laws.dm b/code/modules/mob/living/silicon/robot/laws.dm index 2d6a12e966..5162904cee 100644 --- a/code/modules/mob/living/silicon/robot/laws.dm +++ b/code/modules/mob/living/silicon/robot/laws.dm @@ -69,113 +69,11 @@ laws.supplied[index] = temp return -/mob/living/silicon/robot/proc/laws_sanity_check() - if (!laws) - laws = new base_law_type - -/mob/living/silicon/robot/proc/set_zeroth_law(var/law) - laws_sanity_check() - laws.set_zeroth_law(law) - -/mob/living/silicon/robot/proc/add_inherent_law(var/law) - laws_sanity_check() - laws.add_inherent_law(law) - -/mob/living/silicon/robot/proc/clear_inherent_laws() - laws_sanity_check() - laws.clear_inherent_laws() - -/mob/living/silicon/robot/proc/add_supplied_law(var/number, var/law) - laws_sanity_check() - laws.add_supplied_law(number, law) - -/mob/living/silicon/robot/proc/clear_supplied_laws() - laws_sanity_check() - laws.clear_supplied_laws() - /mob/living/silicon/robot/proc/add_ion_law(var/law) laws_sanity_check() laws.add_ion_law(law) -/mob/living/silicon/robot/proc/clear_ion_laws() - laws_sanity_check() - laws.clear_ion_laws() - -/mob/living/silicon/robot/proc/statelaws() // -- TLE -// set category = "AI Commands" -// set name = "State Laws" - src.say("Current Active Laws:") - //src.laws_sanity_check() - //src.laws.show_laws(world) - var/number = 1 - sleep(10) - - if (src.laws.zeroth) - if (src.lawcheck[1] == "Yes") //This line and the similar lines below make sure you don't state a law unless you want to. --NeoFite - src.say("0. [src.laws.zeroth]") - sleep(10) - - for (var/index = 1, index <= src.laws.ion.len, index++) - var/law = src.laws.ion[index] - var/num = ionnum() - if (length(law) > 0) - if (src.ioncheck[index] == "Yes") - src.say("[num]. [law]") - sleep(10) - - for (var/index = 1, index <= src.laws.inherent.len, index++) - var/law = src.laws.inherent[index] - if (length(law) > 0) - if (src.lawcheck[index+1] == "Yes") - src.say("[number]. [law]") - sleep(10) - number++ - - for (var/index = 1, index <= src.laws.supplied.len, index++) - var/law = src.laws.supplied[index] - - if (length(law) > 0) - if(src.lawcheck.len >= number+1) - if (src.lawcheck[number+1] == "Yes") - src.say("[number]. [law]") - sleep(10) - number++ - -/mob/living/silicon/robot/verb/checklaws() //Gives you a link-driven interface for deciding what laws the statelaws() proc will share with the crew. --NeoFite +/mob/living/silicon/robot/proc/robot_checklaws() //Gives you a link-driven interface for deciding what laws the statelaws() proc will share with the crew. --NeoFite set category = "Robot Commands" set name = "State Laws" - var/list = "Which laws do you want to include when stating them for the crew?

" - - if (src.laws.zeroth) - if (!src.lawcheck[1]) - src.lawcheck[1] = "No" //Given Law 0's usual nature, it defaults to NOT getting reported. --NeoFite - list += {"[src.lawcheck[1]] 0: [src.laws.zeroth]
"} - - for (var/index = 1, index <= src.laws.ion.len, index++) - var/law = src.laws.ion[index] - if (length(law) > 0) - if (!src.ioncheck[index]) - src.ioncheck[index] = "Yes" - list += {"[src.ioncheck[index]] [ionnum()]: [law]
"} - src.ioncheck.len += 1 - - var/number = 1 - for (var/index = 1, index <= src.laws.inherent.len, index++) - var/law = src.laws.inherent[index] - if (length(law) > 0) - src.lawcheck.len += 1 - if (!src.lawcheck[number+1]) - src.lawcheck[number+1] = "Yes" - list += {"[src.lawcheck[number+1]] [number]: [law]
"} - number++ - - for (var/index = 1, index <= src.laws.supplied.len, index++) - var/law = src.laws.supplied[index] - if (length(law) > 0) - src.lawcheck.len += 1 - if (!src.lawcheck[number+1]) - src.lawcheck[number+1] = "Yes" - list += {"[src.lawcheck[number+1]] [number]: [law]
"} - number++ - list += {"

State Laws"} - usr << browse(list, "window=laws") \ No newline at end of file + checklaws() diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index c158f1c0d3..880de591c9 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -1,5 +1,6 @@ var/list/robot_verbs_default = list( - /mob/living/silicon/robot/proc/sensor_mode + /mob/living/silicon/robot/proc/sensor_mode, + /mob/living/silicon/robot/proc/robot_checklaws ) #define CYBORG_POWER_USAGE_MULTIPLIER 2.5 // Multiplier for amount of power cyborgs use. @@ -68,8 +69,6 @@ var/list/robot_verbs_default = list( var/weapon_lock = 0 var/weaponlock_time = 120 var/lawupdate = 1 //Cyborgs will sync their laws with their AI by default - var/lawcheck[1] //For stating laws. - var/ioncheck[1] //Ditto. var/lockcharge //Used when locking down a borg to preserve cell charge var/speed = 0 //Cause sec borgs gotta go fast //No they dont! var/scrambledcodes = 0 // Used to determine if a borg shows up on the robotics console. Setting to one hides them. @@ -102,6 +101,7 @@ var/list/robot_verbs_default = list( init() radio = new /obj/item/device/radio/borg(src) + common_radio = radio if(!scrambledcodes && !camera) camera = new /obj/machinery/camera(src) camera.c_tag = real_name @@ -143,6 +143,7 @@ var/list/robot_verbs_default = list( /mob/living/silicon/robot/proc/init() aiCamera = new/obj/item/device/camera/siliconcam/robot_camera(src) laws = new /datum/ai_laws/nanotrasen() + additional_law_channels += "Binary" connected_ai = select_active_ai_with_fewest_borgs() if(connected_ai) connected_ai.connected_robots += src @@ -1074,10 +1075,10 @@ var/list/robot_verbs_default = list( /mob/living/silicon/robot/Topic(href, href_list) - ..() - if(usr != src) return + if(..()) + return if (href_list["showalerts"]) robot_alerts() diff --git a/code/modules/mob/living/silicon/say.dm b/code/modules/mob/living/silicon/say.dm index dfebf7d5e0..170b1503a8 100644 --- a/code/modules/mob/living/silicon/say.dm +++ b/code/modules/mob/living/silicon/say.dm @@ -76,7 +76,7 @@ if(speaking.flags & HIVEMIND) speaking.broadcast(src,trim(message)) - return + return 1 // Currently used by drones. if(local_transmit) @@ -92,11 +92,11 @@ continue else if(M.stat == 2 && M.client.prefs.toggles & CHAT_GHOSTEARS) if(M.client) M << "[src] transmits, \"[message]\"" - return + return 1 if(message_mode && bot_type == IS_ROBOT && !R.is_component_functioning("radio")) src << "\red Your radio isn't functional at this time." - return + return 0 switch(message_mode) if("department") @@ -117,7 +117,7 @@ if(IS_AI) if (AI.aiRadio.disabledAi || AI.aiRestorePowerRoutine || AI.stat) src << "\red System Error - Transceiver Disabled" - return + return 0 else log_say("[key_name(src)] : [message]") AI.aiRadio.talk_into(src,message,null,verb,speaking) @@ -135,7 +135,7 @@ if(IS_AI) if (AI.aiRadio.disabledAi || AI.aiRestorePowerRoutine || AI.stat) src << "\red System Error - Transceiver Disabled" - return + return 0 else log_say("[key_name(src)] : [message]") AI.aiRadio.talk_into(src,message,message_mode,verb,speaking) diff --git a/code/modules/mob/living/silicon/silicon.dm b/code/modules/mob/living/silicon/silicon.dm index f3cc857b17..d86e52bb70 100644 --- a/code/modules/mob/living/silicon/silicon.dm +++ b/code/modules/mob/living/silicon/silicon.dm @@ -3,6 +3,14 @@ voice_name = "synthesized voice" var/syndicate = 0 var/datum/ai_laws/laws = null//Now... THEY ALL CAN ALL HAVE LAWS + var/list/additional_law_channels = list("State") + var/const/MAIN_CHANNEL = "Main Frequency" + var/lawchannel = MAIN_CHANNEL // Default channel on which to state laws + var/lawcheck[1] + var/ioncheck[1] + var/stating_laws = 0 + var/obj/item/device/radio/common_radio + immune_to_ssd = 1 var/list/hud_list[9] var/list/speech_synthesizer_langs = list() //which languages can be vocalized by the speech synthesizer @@ -222,4 +230,24 @@ flavor_text = copytext(sanitize(input(usr, "Please enter your new flavour text.", "Flavour text", null) as text), 1) /mob/living/silicon/binarycheck() - return 1 \ No newline at end of file + return 1 + +/mob/living/silicon/Topic(href, href_list) + ..() + + if (href_list["lawr"]) // Selects on which channel to state laws + var/list/channels = list(MAIN_CHANNEL) + if(common_radio) + for (var/ch_name in common_radio.channels) + channels += ch_name + + channels += additional_law_channels + channels += "Cancel" + + var/setchannel = input(usr, "Specify channel.", "Channel selection") in channels + if(setchannel != "Cancel") + lawchannel = setchannel + checklaws() + return 1 + + return 0 diff --git a/code/modules/mob/transform_procs.dm b/code/modules/mob/transform_procs.dm index 3752464c54..cbaf3690ca 100644 --- a/code/modules/mob/transform_procs.dm +++ b/code/modules/mob/transform_procs.dm @@ -117,7 +117,7 @@ O << "To use something, simply click on it." O << {"Use say ":b to speak to your cyborgs through binary."} O << "For department channels, use the following say commands:" - O << ":o AI Private, :c - Command, :s - Security, :e - Engineering, :u - Supply, :m - Medical, :n - Science." + O << ":o - AI Private, :c - Command, :s - Security, :e - Engineering, :u - Supply, :m - Medical, :n - Science." if (!(ticker && ticker.mode && (O.mind in ticker.mode.malf_ai))) O.show_laws() O << "These laws may be changed by other players, or by you being the traitor." From 9c41148a08e568e04e9341c3174242462ee63f5e Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Thu, 23 Oct 2014 08:07:43 +0200 Subject: [PATCH 14/15] PDA newscaster One can one access and view newsfeeds from the comfort of one's PDA. Possible to change and disable the newsmessage beep. Known issues: Unlike browse() NanoUI does not appear to wait for browse_rsc(), the method which to transfers image to the client's cache, to finish. This often results in newsfeeds not always displaying their images the first time they are viewed. --- .../computer3/computers/crew.dm | 5 +- code/WorkInProgress/periodic_news.dm | 5 +- code/defines/procs/radio.dm | 17 +- code/game/gamemodes/events/ninja_equipment.dm | 6 +- code/game/gamemodes/mutiny/mutiny.dm | 2 +- code/game/machinery/computer/message.dm | 22 +-- code/game/machinery/newscaster.dm | 71 +++++-- code/game/objects/items/devices/PDA/PDA.dm | 176 ++++++++++++++---- code/modules/admin/topic.dm | 8 +- code/modules/economy/Events.dm | 7 +- code/modules/economy/Events_Mundane.dm | 14 +- code/modules/economy/economy_misc.dm | 2 +- code/modules/events/money_lotto.dm | 8 +- code/modules/events/money_spam.dm | 4 +- .../mob/living/silicon/pai/software.dm | 4 +- nano/css/shared.css | 6 + nano/templates/pda.tmpl | 59 +++++- 17 files changed, 286 insertions(+), 130 deletions(-) diff --git a/code/WorkInProgress/computer3/computers/crew.dm b/code/WorkInProgress/computer3/computers/crew.dm index b3ef9398ba..170bd92607 100644 --- a/code/WorkInProgress/computer3/computers/crew.dm +++ b/code/WorkInProgress/computer3/computers/crew.dm @@ -35,10 +35,7 @@ var/life_status = "[H.stat > 1 ? "Deceased" : "Living"]" var/damage_report = "([dam1]/[dam2]/[dam3]/[dam4])" - if(H.wear_id) - log += "[H.wear_id.name]" - else - log += "Unknown" + log += "[H.get_id_name()]" switch(C.sensor_mode) if(1) diff --git a/code/WorkInProgress/periodic_news.dm b/code/WorkInProgress/periodic_news.dm index 22335e4a67..f5219aa435 100644 --- a/code/WorkInProgress/periodic_news.dm +++ b/code/WorkInProgress/periodic_news.dm @@ -149,7 +149,4 @@ proc/announce_newscaster_news(datum/news_announcement/news) newMsg.body = news.message newMsg.message_type = news.message_type - sendto.messages += newMsg - - for(var/obj/machinery/newscaster/NEWSCASTER in allCasters) - NEWSCASTER.newsAlert(news.channel_name) + news_network.insert_message_in_channel(sendto, newMsg) diff --git a/code/defines/procs/radio.dm b/code/defines/procs/radio.dm index 45326c1407..0846502ede 100644 --- a/code/defines/procs/radio.dm +++ b/code/defines/procs/radio.dm @@ -58,22 +58,25 @@ //var/telecomms_intact = telecomms_process(P.owner, owner, t) reception.message_server = get_message_server() - var/datum/signal/signal = sender.telecomms_process() + var/datum/signal/signal = sender.telecomms_process() // Be aware that this proc calls sleep, to simulate transmition delays reception.telecomms_reception |= get_sender_reception(sender, signal) reception.telecomms_reception |= get_receiver_reception(receiver, signal) reception.message = signal && signal.data["compression"] > 0 ? Gibberish(message, signal.data["compression"] + 50) : message return reception -/proc/get_receptions(var/atom/sender, var/list/receivers) +/proc/get_receptions(var/atom/sender, var/list/atom/receivers) var/datum/receptions/receptions = new receptions.message_server = get_message_server() - var/datum/signal/signal = sender.telecomms_process() - receptions.sender_reception = get_sender_reception(sender, signal) + var/datum/signal/signal + if(sender) + signal = sender.telecomms_process() + receptions.sender_reception = get_sender_reception(sender, signal) - if(receptions.sender_reception) - for(var/receiver in receivers) - receptions.receiver_reception[receiver] = get_receiver_reception(receiver, signal) + for(var/atom/receiver in receivers) + if(!signal) + signal = receiver.telecomms_process() + receptions.receiver_reception[receiver] = get_receiver_reception(receiver, signal) return receptions diff --git a/code/game/gamemodes/events/ninja_equipment.dm b/code/game/gamemodes/events/ninja_equipment.dm index e2dba90378..48b99580fd 100644 --- a/code/game/gamemodes/events/ninja_equipment.dm +++ b/code/game/gamemodes/events/ninja_equipment.dm @@ -530,12 +530,12 @@ ________________________________________________________________________________ display_spideros() return P.tnote += "← From [!s_control?(A):"an unknown source"]:
[t]
" - if (!P.silent) + if (!P.message_silent) playsound(P.loc, 'sound/machines/twobeep.ogg', 50, 1) for (var/mob/O in hearers(3, P.loc)) O.show_message(text("\icon[P] *[P.ttone]*")) - P.overlays.Cut() - P.overlays += image('icons/obj/pda.dmi', "pda-r") + P.new_message = 1 + P.update_icon() if("Inject") if( (href_list["tag"]=="radium"? (reagents.get_reagent_amount("radium"))<=(a_boost*a_transfer) : !reagents.get_reagent_amount(href_list["tag"])) )//Special case for radium. If there are only a_boost*a_transfer radium units left. diff --git a/code/game/gamemodes/mutiny/mutiny.dm b/code/game/gamemodes/mutiny/mutiny.dm index 4e4170d02c..78e16e50a4 100644 --- a/code/game/gamemodes/mutiny/mutiny.dm +++ b/code/game/gamemodes/mutiny/mutiny.dm @@ -103,7 +103,7 @@ datum/game_mode/mutiny if (!pda) return 0 - if (!pda.silent) + if (!pda.message_silent) playsound(pda.loc, 'sound/machines/twobeep.ogg', 50, 1) for (var/mob/O in hearers(3, pda.loc)) O.show_message(text("\icon[pda] *[pda.ttone]*")) diff --git a/code/game/machinery/computer/message.dm b/code/game/machinery/computer/message.dm index 120e274e63..9a5ad3ed3b 100644 --- a/code/game/machinery/computer/message.dm +++ b/code/game/machinery/computer/message.dm @@ -458,16 +458,7 @@ //Sender isn't faking as someone who exists if(isnull(PDARec)) src.linkedServer.send_pda_message("[customrecepient.owner]", "[customsender]","[custommessage]") - if (!customrecepient.silent) - playsound(customrecepient.loc, 'sound/machines/twobeep.ogg', 50, 1) - for (var/mob/O in hearers(3, customrecepient.loc)) - O.show_message(text("\icon[customrecepient] *[customrecepient.ttone]*")) - if( customrecepient.loc && ishuman(customrecepient.loc) ) - var/mob/living/carbon/human/H = customrecepient.loc - H << "\icon[customrecepient] Message from [customsender] ([customjob]), \"[custommessage]\" (Reply)" - log_pda("[usr] (PDA: [customsender]) sent \"[custommessage]\" to [customrecepient.owner]") - customrecepient.overlays.Cut() - customrecepient.overlays += image('icons/obj/pda.dmi', "pda-r") + customrecepient.new_message(customsender, customsender, customjob, custommessage) //Sender is faking as someone who exists else @@ -477,16 +468,7 @@ if(!customrecepient.conversations.Find("\ref[PDARec]")) customrecepient.conversations.Add("\ref[PDARec]") - if (!customrecepient.silent) - playsound(customrecepient.loc, 'sound/machines/twobeep.ogg', 50, 1) - for (var/mob/O in hearers(3, customrecepient.loc)) - O.show_message(text("\icon[customrecepient] *[customrecepient.ttone]*")) - if( customrecepient.loc && ishuman(customrecepient.loc) ) - var/mob/living/carbon/human/H = customrecepient.loc - H << "\icon[customrecepient] Message from [PDARec.owner] ([customjob]), \"[custommessage]\" (Reply)" - log_pda("[usr] (PDA: [PDARec.owner]) sent \"[custommessage]\" to [customrecepient.owner]") - customrecepient.overlays.Cut() - customrecepient.overlays += image('icons/obj/pda.dmi', "pda-r") + customrecepient.new_message(PDARec, custommessage) //Finally.. ResetMessage() diff --git a/code/game/machinery/newscaster.dm b/code/game/machinery/newscaster.dm index 968d03a5e0..6d627bacbb 100644 --- a/code/game/machinery/newscaster.dm +++ b/code/game/machinery/newscaster.dm @@ -6,7 +6,7 @@ var/author ="" var/body ="" var/message_type ="Story" - //var/parent_channel + var/datum/feed_channel/parent_channel var/backup_body ="" var/backup_author ="" var/is_admin_message = 0 @@ -22,8 +22,15 @@ var/backup_author="" var/censored=0 var/is_admin_channel=0 + var/updated = 0 //var/page = null //For newspapers +/datum/feed_channel/proc/announce_news() + return "Breaking news from [channel_name]!" + +/datum/feed_channel/station/announce_news() + return "New Station Announcement Available" + /datum/feed_message/proc/clear() src.author = "" src.body = "" @@ -31,6 +38,10 @@ src.backup_author = "" src.img = null src.backup_img = null + parent_channel.update() + +/datum/feed_channel/proc/update() + updated = world.time /datum/feed_channel/proc/clear() src.channel_name = "" @@ -40,11 +51,47 @@ src.backup_author = "" src.censored = 0 src.is_admin_channel = 0 + update() /datum/feed_network var/list/datum/feed_channel/network_channels = list() var/datum/feed_message/wanted_issue +/datum/feed_network/proc/add_news(var/channel_name, var/datum/feed_message/newMsg) + for(var/datum/feed_channel/FC in news_network.network_channels) + if(FC.channel_name == channel_name) + insert_message_in_channel(FC, newMsg) + break + +/datum/feed_network/proc/insert_message_in_channel(var/datum/feed_channel/FC, var/datum/feed_message/newMsg) + FC.messages += newMsg //Adding message to the network's appropriate feed_channel + newMsg.parent_channel = FC + FC.update() + var/announcement = FC.announce_news() + alert_readers(announcement) + +/datum/feed_network/proc/alert_readers(var/annoncement) + for(var/obj/machinery/newscaster/NEWSCASTER in allCasters) + NEWSCASTER.newsAlert(annoncement) + NEWSCASTER.update_icon() + + var/list/receiving_pdas = new + for (var/obj/item/device/pda/P in PDAs) + if (!P.owner) + continue + if (P.toff) + continue + receiving_pdas += P + + spawn(0) // get_receptions sleeps further down the line, spawn of elsewhere + var/datum/receptions/receptions = get_receptions(null, receiving_pdas) // datums are not atoms, thus we have to assume the newscast network always has reception + + for(var/obj/item/device/pda/PDA in receiving_pdas) + if(!(receptions.receiver_reception[PDA] & TELECOMMS_RECEPTION_RECEIVER)) + continue + + PDA.new_news(annoncement) + var/datum/feed_network/news_network = new /datum/feed_network //The global news-network, which is coincidentally a global list. var/list/obj/machinery/newscaster/allCasters = list() //Global list that will contain reference to all newscasters in existence. @@ -506,13 +553,8 @@ var/list/obj/machinery/newscaster/allCasters = list() //Global list that will co if(photo) newMsg.img = photo.img feedback_inc("newscaster_stories",1) - for(var/datum/feed_channel/FC in news_network.network_channels) - if(FC.channel_name == src.channel_name) - FC.messages += newMsg //Adding message to the network's appropriate feed_channel - break + news_network.add_news(src.channel_name, newMsg) src.screen=4 - for(var/obj/machinery/newscaster/NEWSCASTER in allCasters) - NEWSCASTER.newsAlert(src.channel_name) src.updateUsrDialog() @@ -581,9 +623,7 @@ var/list/obj/machinery/newscaster/allCasters = list() //Global list that will co if(photo) WANTED.img = photo.img news_network.wanted_issue = WANTED - for(var/obj/machinery/newscaster/NEWSCASTER in allCasters) - NEWSCASTER.newsAlert() - NEWSCASTER.update_icon() + news_network.alert_readers() src.screen = 15 else if(news_network.wanted_issue.is_admin_message) @@ -623,6 +663,7 @@ var/list/obj/machinery/newscaster/allCasters = list() //Global list that will co FC.author = "\[REDACTED\]" else FC.author = FC.backup_author + FC.update() src.updateUsrDialog() else if(href_list["censor_channel_story_author"]) @@ -635,6 +676,7 @@ var/list/obj/machinery/newscaster/allCasters = list() //Global list that will co MSG.author = "\[REDACTED\]" else MSG.author = MSG.backup_author + MSG.parent_channel.update() src.updateUsrDialog() else if(href_list["censor_channel_story_body"]) @@ -652,6 +694,7 @@ var/list/obj/machinery/newscaster/allCasters = list() //Global list that will co MSG.body = "\[REDACTED\]" else MSG.body = MSG.backup_body + MSG.parent_channel.update() src.updateUsrDialog() else if(href_list["pick_d_notice"]) @@ -666,6 +709,7 @@ var/list/obj/machinery/newscaster/allCasters = list() //Global list that will co alert("This channel was created by a Nanotrasen Officer. You cannot place a D-Notice upon it.","Ok") return FC.censored = !FC.censored + FC.update() src.updateUsrDialog() else if(href_list["view"]) @@ -698,6 +742,7 @@ var/list/obj/machinery/newscaster/allCasters = list() //Global list that will co src.updateUsrDialog() + /obj/machinery/newscaster/attackby(obj/item/I as obj, mob/user as mob) /* if (istype(I, /obj/item/weapon/card/id) || istype(I, /obj/item/device/pda) ) //Name verification for channels or messages @@ -959,11 +1004,11 @@ obj/item/weapon/newspaper/attackby(obj/item/weapon/W as obj, mob/user as mob) ///obj/machinery/newscaster/process() //Was thinking of doing the icon update through process, but multiple iterations per second does not // return //bode well with a newscaster network of 10+ machines. Let's just return it, as it's added in the machines list. -/obj/machinery/newscaster/proc/newsAlert(channel) //This isn't Agouri's work, for it is ugly and vile. +/obj/machinery/newscaster/proc/newsAlert(var/news_call) //This isn't Agouri's work, for it is ugly and vile. var/turf/T = get_turf(src) //Who the fuck uses spawn(600) anyway, jesus christ - if(channel) + if(news_call) for(var/mob/O in hearers(world.view-1, T)) - O.show_message("[src.name] beeps, \"Breaking news from [channel]!\"",2) + O.show_message("[src.name] beeps, \"[news_call]\"",2) src.alert = 1 src.update_icon() spawn(300) diff --git a/code/game/objects/items/devices/PDA/PDA.dm b/code/game/objects/items/devices/PDA/PDA.dm index c63592cd08..ef22d80f42 100755 --- a/code/game/objects/items/devices/PDA/PDA.dm +++ b/code/game/objects/items/devices/PDA/PDA.dm @@ -21,17 +21,20 @@ var/global/list/obj/item/device/pda/PDAs = list() var/lastmode = 0 var/ui_tick = 0 + var/nanoUI[0] //Secondary variables var/scanmode = 0 //1 is medical scanner, 2 is forensics, 3 is reagent scanner. var/fon = 0 //Is the flashlight function on? var/f_lum = 2 //Luminosity for the flashlight function - var/silent = 0 //To beep or not to beep, that is the question + var/message_silent = 0 //To beep or not to beep, that is the question + var/news_silent = 0 //To beep or not to beep, that is the question var/toff = 0 //If 1, messenger disabled var/tnote[0] //Current Texts var/last_text //No text spamming var/last_honk //Also no honk spamming that's bad too - var/ttone = "beep" //The ringtone! + var/ttone = "beep" //The PDA ringtone! + var/newstone = "beep, beep" //The news ringtone! var/lock_code = "" // Lockcode to unlock uplink var/honkamt = 0 //How many honks left when infected with honk.exe var/mimeamt = 0 //How many silence left when infected with mime.exe @@ -42,7 +45,13 @@ var/global/list/obj/item/device/pda/PDAs = list() var/hidden = 0 // Is the PDA hidden from the PDA list? var/active_conversation = null // New variable that allows us to only view a single conversation. var/list/conversations = list() // For keeping up with who we have PDA messsages from. - var/newmessage = 0 //To remove hackish overlay check + var/new_message = 0 //To remove hackish overlay check + var/new_news = 0 + + var/active_feed // The selected feed + var/list/warrant // The warrant as we last knew it + var/list/feeds = list() // The list of feeds as we last knew them + var/list/feed_info = list() // The data and contents of each feed as we last knew them var/list/cartmodes = list(40, 42, 43, 433, 44, 441, 45, 451, 46, 48, 47, 49) // If you add more cartridge modes add them to this list as well. var/list/no_auto_update = list(1, 40, 43, 44, 441, 45, 451) // These modes we turn off autoupdate @@ -101,8 +110,10 @@ var/global/list/obj/item/device/pda/PDAs = list() /obj/item/device/pda/mime default_cartridge = /obj/item/weapon/cartridge/mime icon_state = "pda-mime" - silent = 1 + message_silent = 1 + news_silent = 1 ttone = "silence" + newstone = "silence" /obj/item/device/pda/heads default_cartridge = /obj/item/weapon/cartridge/head @@ -172,7 +183,8 @@ var/global/list/obj/item/device/pda/PDAs = list() icon_state = "pda-libb" desc = "A portable microcomputer by Thinktronic Systems, LTD. This is model is a WGW-11 series e-reader." note = "Congratulations, your station has chosen the Thinktronic 5290 WGW-11 Series E-reader and Personal Data Assistant!" - silent = 1 //Quiet in the library! + message_silent = 1 //Quiet in the library! + news_silent = 1 /obj/item/device/pda/clear icon_state = "pda-transp" @@ -202,6 +214,7 @@ var/global/list/obj/item/device/pda/PDAs = list() /obj/item/device/pda/ai icon_state = "NONE" ttone = "data" + newstone = "news" detonate = 0 @@ -246,8 +259,8 @@ var/global/list/obj/item/device/pda/PDAs = list() if(usr.stat == 2) usr << "You can't do that because you are dead!" return - silent=!silent - usr << "PDA ringer toggled [(silent ? "Off" : "On")]!" + message_silent=!message_silent + usr << "PDA ringer toggled [(message_silent ? "Off" : "On")]!" /obj/item/device/pda/ai/verb/cmd_show_message_log() @@ -355,7 +368,8 @@ var/global/list/obj/item/device/pda/PDAs = list() data["fon"] = fon // Flashlight on? data["pai"] = (isnull(pai) ? 0 : 1) // pAI inserted? data["note"] = note // current pda notes - data["silent"] = silent // does the pda make noise when it receives a message? + data["message_silent"] = message_silent // does the pda make noise when it receives a message? + data["news_silent"] = news_silent // does the pda make noise when it receives news? data["toff"] = toff // is the messenger function turned off? data["active_conversation"] = active_conversation // Which conversation are we following right now? @@ -402,7 +416,8 @@ var/global/list/obj/item/device/pda/PDAs = list() data["cartridge"] = cartdata data["stationTime"] = worldtime2text() - data["newMessage"] = newmessage + data["new_Message"] = new_message + data["new_News"] = new_news if(mode==2) var/convopdas[0] @@ -463,7 +478,45 @@ var/global/list/obj/item/device/pda/PDAs = list() ) if(isnull(data["aircontents"])) data["aircontents"] = list("reading" = 0) + if(mode==6) + if(news_network.network_channels.len != feeds.len) + var/datum/reception/reception = get_reception(src) + if(reception.telecomms_reception & TELECOMMS_RECEPTION_SENDER) + feeds.Cut() + for(var/datum/feed_channel/channel in news_network.network_channels) + feeds[++feeds.len] = list("name" = channel.channel_name, "censored" = channel.censored) + data["feedChannels"] = feeds + if(mode==61) + var/list/feed = feed_info[active_feed] + if(!feed) + feed = list() + feed["updated"] = -1 + feed_info[active_feed] = feed + var/datum/feed_channel/FC + for(FC in news_network.network_channels) + if(FC.channel_name == active_feed["name"]) + break + if(FC.updated > feed["updated"]) + var/datum/reception/reception = get_reception(src) + if(reception.telecomms_reception & TELECOMMS_RECEPTION_SENDER) + feed["channel"] = FC.channel_name + feed["author"] = FC.author + feed["updated"] = FC.updated + feed["censored"] = FC.censored + + var/list/messages = list() + if(!FC.censored) + var/index = 0 + for(var/datum/feed_message/FM in FC.messages) + index++ + if(FM.img) + usr << browse_rsc(FM.img, "pda_news_tmp_photo_[feed["channel"]]_[index].png") + messages[++messages.len] = list("author" = FM.author, "body" = FM.body, "message_type" = FM.message_type, "has_image" = (FM.img != null), "index" = index) + feed["messages"] = messages + data["feed"] = feed + + nanoUI = data // update the ui if it exists, returns null if no ui is passed/found ui = nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if (!ui) @@ -622,7 +675,9 @@ var/global/list/obj/item/device/pda/PDAs = list() if("Toggle Messenger") toff = !toff if("Toggle Ringer")//If viewing texts then erase them, if not then toggle silent status - silent = !silent + message_silent = !message_silent + if("Toggle News") + news_silent = !news_silent if("Clear")//Clears messages if(href_list["option"] == "All") tnote.Cut() @@ -652,6 +707,15 @@ var/global/list/obj/item/device/pda/PDAs = list() else ui.close() return 0 + if("Newstone") + var/t = input(U, "Please enter new news tone", name, newstone) as text + if (in_range(src, U) && loc == U) + if (t) + t = copytext(sanitize(t), 1, 20) + newstone = t + else + ui.close() + return 0 if("Message") var/obj/item/device/pda/P = locate(href_list["target"]) @@ -667,6 +731,12 @@ var/global/list/obj/item/device/pda/PDAs = list() if(P == n) active_conversation=P mode=21 + if("Select Feed") + var/n = href_list["name"] + for(var/f in feeds) + if(f["name"] == n) + active_feed = f + mode=61 if("Send Honk")//Honk virus if(cartridge && cartridge.access_clown)//Cartridge checks are kind of unnecessary since everything is done through switch. var/obj/item/device/pda/P = locate(href_list["target"])//Leaving it alone in case it may do something useful, I guess. @@ -687,8 +757,10 @@ var/global/list/obj/item/device/pda/PDAs = list() if (!P.toff && cartridge.charges > 0) cartridge.charges-- U.show_message("\blue Virus sent!", 1) - P.silent = 1 + P.message_silent = 1 + P.news_silent = 1 P.ttone = "silence" + P.newstone = "silence" else U << "PDA not found." else @@ -710,7 +782,7 @@ var/global/list/obj/item/device/pda/PDAs = list() if("Detonate")//Detonate PDA... maybe if(cartridge && cartridge.access_detonate_pda) var/obj/item/device/pda/P = locate(href_list["target"]) - var/datum/reception/reception = get_reception(src, P, "") + var/datum/reception/reception = get_reception(src, P, "") // get_reception calls sleep further down the line if(!(reception.message_server && reception.telecomms_reception & TELECOMMS_RECEPTION_SENDER)) U.show_message("\red An error flashes on your [src]: Connection unavailable", 1) return @@ -776,8 +848,12 @@ var/global/list/obj/item/device/pda/PDAs = list() //EXTRA FUNCTIONS=================================== if (mode == 2||mode == 21)//To clear message overlays. - overlays.Cut() - newmessage = 0 + new_message = 0 + update_icon() + + if (mode == 6||mode == 61)//To clear news overlays. + new_news = 0 + update_icon() if ((honkamt > 0) && (prob(60)))//For clown virus. honkamt-- @@ -785,6 +861,13 @@ var/global/list/obj/item/device/pda/PDAs = list() return 1 // return 1 tells it to refresh the UI in NanoUI +/obj/item/device/pda/update_icon() + ..() + + overlays.Cut() + if(new_message || new_news) + overlays += image('icons/obj/pda.dmi', "pda-r") + /obj/item/device/pda/proc/detonate_act(var/obj/item/device/pda/P) //TODO: sometimes these attacks show up on the message server var/i = rand(1,100) @@ -883,7 +966,7 @@ var/global/list/obj/item/device/pda/PDAs = list() var/datum/reception/reception = get_reception(src, P, t) t = reception.message - if(reception.message_server && reception.telecomms_reception & TELECOMMS_RECEPTION_SENDER) // only send the message if it's stable + if(reception.message_server && (reception.telecomms_reception & TELECOMMS_RECEPTION_SENDER)) // only send the message if it's stable if(reception.telecomms_reception & TELECOMMS_RECEPTION_RECEIVER == 0) // Does our recipient have a broadcaster on their level? U << "ERROR: Cannot reach recipient." return @@ -915,33 +998,48 @@ var/global/list/obj/item/device/pda/PDAs = list() if(ai.aiPDA != P && ai.aiPDA != src) ai.show_message("Intercepted message from [who]: [t]") - - if (!P.silent) - playsound(P.loc, 'sound/machines/twobeep.ogg', 50, 1) - for (var/mob/O in hearers(3, P.loc)) - if(!P.silent) O.show_message(text("\icon[P] *[P.ttone]*")) - //Search for holder of the PDA. - var/mob/living/L = null - if(P.loc && isliving(P.loc)) - L = P.loc - //Maybe they are a pAI! - else - L = get(P, /mob/living/silicon) - - - if(L) - L << "\icon[P] Message from [src.owner] ([ownjob]), \"[t]\" (Reply)" - nanomanager.update_user_uis(L, P) // Update the receiving user's PDA UI so that they can see the new message - - nanomanager.update_user_uis(U, P) // Update the sending user's PDA UI so that they can see the new message - - log_pda("[usr] (PDA: [src.name]) sent \"[t]\" to [P.name]") - P.overlays.Cut() - P.overlays += image('icons/obj/pda.dmi', "pda-r") - P.newmessage = 1 + P.new_message_from_pda(src, t) + nanomanager.update_user_uis(U, src) // Update the sending user's PDA UI so that they can see the new message else U << "ERROR: Messaging server is not responding." +/obj/item/device/pda/proc/new_info(var/beep_silent, var/message_tone, var/reception_message) + if (!beep_silent) + playsound(loc, 'sound/machines/twobeep.ogg', 50, 1) + for (var/mob/O in hearers(3, loc)) + O.show_message(text("\icon[src] *[message_tone]*")) + //Search for holder of the PDA. + var/mob/living/L = null + if(loc && isliving(loc)) + L = loc + //Maybe they are a pAI! + else + L = get(src, /mob/living/silicon) + + if(L) + if(reception_message) + L << reception_message + nanomanager.update_user_uis(L, src) // Update the receiving user's PDA UI so that they can see the new message + +/obj/item/device/pda/proc/new_news(var/message) + new_info(news_silent, newstone, news_silent ? "" : "\icon[src] [message]") + + new_news = 1 + update_icon() + +/obj/item/device/pda/ai/new_news(var/message) + // Do nothing + +/obj/item/device/pda/proc/new_message_from_pda(var/obj/item/device/pda/sending_device, var/message) + new_message(sending_device.name, sending_device.owner, sending_device.ownjob, message) + +/obj/item/device/pda/proc/new_message(var/sending_unit, var/sender, var/sender_job, var/message) + var/reception_message = "\icon[src] Message from [sender] ([sender_job]), \"[message]\" (Reply)" + new_info(news_silent, newstone, reception_message) + + log_pda("[usr] (PDA: [sending_unit]) sent \"[message]\" to [name]") + new_message = 1 + update_icon() /obj/item/device/pda/verb/verb_remove_id() set category = "Object" diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index c4dc3a0e56..e2fc6dba68 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -2566,15 +2566,9 @@ newMsg.body = src.admincaster_feed_message.body newMsg.is_admin_message = 1 feedback_inc("newscaster_stories",1) - for(var/datum/feed_channel/FC in news_network.network_channels) - if(FC.channel_name == src.admincaster_feed_channel.channel_name) - FC.messages += newMsg //Adding message to the network's appropriate feed_channel - break + news_network.add_news(src.admincaster_feed_channel.channel_name, newMsg) src.admincaster_screen=4 - for(var/obj/machinery/newscaster/NEWSCASTER in allCasters) - NEWSCASTER.newsAlert(src.admincaster_feed_channel.channel_name) - log_admin("[key_name_admin(usr)] submitted a feed story to channel: [src.admincaster_feed_channel.channel_name]!") src.access_news_network() diff --git a/code/modules/economy/Events.dm b/code/modules/economy/Events.dm index 070ba5449a..5770e95026 100644 --- a/code/modules/economy/Events.dm +++ b/code/modules/economy/Events.dm @@ -91,12 +91,7 @@ if(FESTIVAL) newMsg.body = "A [pick("festival","week long celebration","day of revelry","planet-wide holiday")] has been declared on [affected_dest.name] by [pick("Governor","Commissioner","General","Commandant","Administrator")] [random_name(pick(MALE,FEMALE))] to celebrate [pick("the birth of their [pick("son","daughter")]","coming of age of their [pick("son","daughter")]","the pacification of rogue military cell","the apprehension of a violent criminal who had been terrorising the planet")]. Massive stocks of food and meat have been bought driving up prices across the planet." - for(var/datum/feed_channel/FC in news_network.network_channels) - if(FC.channel_name == "Nyx Daily") - FC.messages += newMsg - break - for(var/obj/machinery/newscaster/NEWSCASTER in allCasters) - NEWSCASTER.newsAlert("Nyx Daily") + news_network.add_news("Nyx Daily", newMsg) /datum/event/economic_event/end() for(var/good_type in dearer_goods) diff --git a/code/modules/economy/Events_Mundane.dm b/code/modules/economy/Events_Mundane.dm index 0a381a7ce7..df2a92e01c 100644 --- a/code/modules/economy/Events_Mundane.dm +++ b/code/modules/economy/Events_Mundane.dm @@ -124,12 +124,7 @@ "a huge new ARG by a popular entertainment company","a secret tour by popular artiste [random_name(pick(MALE,FEMALE))]")]. \ Nyx Daily is offering discount tickets for two to see [random_name(pick(MALE,FEMALE))] live in return for eyewitness reports and up to the minute coverage." - for(var/datum/feed_channel/FC in news_network.network_channels) - if(FC.channel_name == "Nyx Daily") - FC.messages += newMsg - break - for(var/obj/machinery/newscaster/NEWSCASTER in allCasters) - NEWSCASTER.newsAlert("Nyx Daily") + news_network.add_news("Nyx Daily", newMsg) /datum/event/trivial_news endWhen = 10 @@ -225,9 +220,4 @@ "Broccoli discovered to be colonies of tiny aliens with murder on their minds"\ ) - for(var/datum/feed_channel/FC in news_network.network_channels) - if(FC.channel_name == "The Gibson Gazette") - FC.messages += newMsg - break - for(var/obj/machinery/newscaster/NEWSCASTER in allCasters) - NEWSCASTER.newsAlert("The Gibson Gazette") + news_network.add_news("The Gibson Gazette", newMsg) diff --git a/code/modules/economy/economy_misc.dm b/code/modules/economy/economy_misc.dm index 02d3a4e0e2..abc2c0ca91 100644 --- a/code/modules/economy/economy_misc.dm +++ b/code/modules/economy/economy_misc.dm @@ -77,7 +77,7 @@ var/global/economy_init = 0 if(economy_init) return 2 - var/datum/feed_channel/newChannel = new /datum/feed_channel + var/datum/feed_channel/newChannel = new /datum/feed_channel/station newChannel.channel_name = "Public Station Announcements" newChannel.author = "Automated Announcement Listing" newChannel.locked = 1 diff --git a/code/modules/events/money_lotto.dm b/code/modules/events/money_lotto.dm index 0c923d172e..5a518eca32 100644 --- a/code/modules/events/money_lotto.dm +++ b/code/modules/events/money_lotto.dm @@ -31,10 +31,4 @@ if(!deposit_success) newMsg.body += "
Unfortunately, we were unable to verify the account details provided, so we were unable to transfer the money. Send a cheque containing the sum of $500 to ND 'Stellar Slam' office on the Nyx gateway containing updated details, and your winnings'll be re-sent within the month." - for(var/datum/feed_channel/FC in news_network.network_channels) - if(FC.channel_name == "Nyx Daily") - FC.messages += newMsg - break - - for(var/obj/machinery/newscaster/NEWSCASTER in allCasters) - NEWSCASTER.newsAlert("Nyx Daily") + news_network.add_news("Nyx Daily", newMsg) diff --git a/code/modules/events/money_spam.dm b/code/modules/events/money_spam.dm index 584da51fcc..acb6e7f00a 100644 --- a/code/modules/events/money_spam.dm +++ b/code/modules/events/money_spam.dm @@ -104,10 +104,10 @@ //Commented out because we don't send messages like this anymore. Instead it will just popup in their chat window. //P.tnote += "← From [sender] (Unknown / spam?):
[message]
" - if (!P.silent) + if (!P.message_silent) playsound(P.loc, 'sound/machines/twobeep.ogg', 50, 1) for (var/mob/O in hearers(3, P.loc)) - if(!P.silent) O.show_message(text("\icon[P] *[P.ttone]*")) + if(!P.message_silent) O.show_message(text("\icon[P] *[P.ttone]*")) //Search for holder of the PDA. var/mob/living/L = null if(P.loc && isliving(P.loc)) diff --git a/code/modules/mob/living/silicon/pai/software.dm b/code/modules/mob/living/silicon/pai/software.dm index e5b273c060..4366b24fe9 100755 --- a/code/modules/mob/living/silicon/pai/software.dm +++ b/code/modules/mob/living/silicon/pai/software.dm @@ -223,7 +223,7 @@ if(href_list["toggler"]) pda.toff = !pda.toff else if(href_list["ringer"]) - pda.silent = !pda.silent + pda.message_silent = !pda.message_silent else if(href_list["target"]) if(silence_time) return alert("Communications circuits remain uninitialized.") @@ -668,7 +668,7 @@ dat += {"Signal/Receiver Status: [(pda.toff) ? " \[Off\]" : " \[On\]"]
Ringer Status: - [(pda.silent) ? " \[Off\]" : " \[On\]"]

"} + [(pda.message_silent) ? " \[Off\]" : " \[On\]"]

"} dat += "
    " if(!pda.toff) for (var/obj/item/device/pda/P in sortAtom(PDAs)) diff --git a/nano/css/shared.css b/nano/css/shared.css index 632e76b699..18af9678f7 100644 --- a/nano/css/shared.css +++ b/nano/css/shared.css @@ -412,6 +412,12 @@ div.notice { float: left; } +.fixedLeftWiderRed { + width: 220px; + float: left; + background: #ee0000; +} + .floatRight { float: right; } diff --git a/nano/templates/pda.tmpl b/nano/templates/pda.tmpl index 5df27d9efa..70e6817fb7 100644 --- a/nano/templates/pda.tmpl +++ b/nano/templates/pda.tmpl @@ -67,8 +67,9 @@ Used In File(s): \code\game\objects\items\devices\PDA\PDA.dm
{{:helper.link('Notekeeper', 'note', {'choice' : "1"}, null, 'fixedLeftWide')}} - {{:helper.link('Messenger', data.newMessage ? 'mail-closed' : 'mail-open', {'choice' : "2"}, null, 'fixedLeftWide')}} + {{:helper.link('Messenger', data.new_Message ? 'mail-closed' : 'mail-open', {'choice' : "2"}, null, 'fixedLeftWide')}} {{:helper.link('Crew Manifest', 'contact', {'choice' : "41"}, null, 'fixedLeftWide')}} + {{:helper.link('News', data.new_News ? 'mail-closed' : 'mail-open', {'choice' : "6"}, null, 'fixedLeftWide')}}

@@ -207,7 +208,7 @@ Used In File(s): \code\game\objects\items\devices\PDA\PDA.dm Messenger Functions:
- {{:helper.link(data.silent==1 ? 'Ringer: Off' : 'Ringer: On', data.silent==1 ? 'volume-off' : 'volume-on', {'choice' : "Toggle Ringer"}, null, 'fixedLeftWide')}} + {{:helper.link(data.message_silent==1 ? 'Ringer: Off' : 'Ringer: On', data.message_silent==1 ? 'volume-off' : 'volume-on', {'choice' : "Toggle Ringer"}, null, 'fixedLeftWide')}} {{:helper.link(data.toff==1 ? 'Messenger: Off' : 'Messenger: On',data.toff==1 ? 'close':'check', {'choice' : "Toggle Messenger"}, null, 'fixedLeftWide')}} {{:helper.link('Set Ringtone', 'comment', {'choice' : "Ringtone"}, null, 'fixedLeftWide')}} {{:helper.link('Delete all Conversations', 'trash', {'choice' : "Clear", 'option' : "All"}, null, 'fixedLeftWider')}} @@ -946,7 +947,61 @@ Used In File(s): \code\game\objects\items\devices\PDA\PDA.dm ({{:value.x}} / {{:value.y}}) - {{:value.dir}} - Status: {{:value.status}}
{{/if}} {{/for}} + + {{else data.mode == 6}} +

InstaNews ED 2.0.9

+ +
+
+ Functions:
+
+ {{:helper.link(data.news_silent==1 ? 'Ringer: Off' : 'Ringer: On', data.news_silent==1 ? 'volume-off' : 'volume-on', {'choice' : "Toggle News"}, null, 'fixedLeftWide')}} + {{:helper.link('Set news tone', 'comment', {'choice' : "Newstone"}, null, 'fixedLeftWide')}} +
+
+ +
+
+ {{for data.feedChannels}} + {{if value.censored}} + {{:helper.link(value.name, 'circle-arrow-s', {'choice' : "Select Feed", 'feed' : value.feed, 'name' : value.name } , null, 'fixedLeftWiderRed')}} + {{else}} + {{:helper.link(value.name, 'circle-arrow-s', {'choice' : "Select Feed", 'feed' : value.feed, 'name' : value.name } , null, 'fixedLeftWider')}} + {{/if}} + {{empty}} + No active channels found... + {{/for}} +
+
+ + {{else data.mode == 61}} +

{{:data.feed.channel}}

+ Created by: {{:data.feed.author}} +
+
+
+ {{if data.feed.censored}} +

Attention

+ This channel has been deemed as threatening to the welfare of the station, and marked with a Nanotrasen D-Notice.
+ No further feed story additions are allowed while the D-Notice is in effect.
+ {{else}} + {{for data.feed.messages}} + -{{:value.body}}
+ {{if value.has_image}} + pda_news_tmp_photo_{{:data.feed.channel}}_{{:value.index}}.png
+
+ {{/if}} + [{{:value.message_type}} by {{:value.author}}]
+
+ {{empty}} + No feed messages found in channel... + {{/for}} + {{/if}} +
+
+
+ {{/if}} {{else}}
From b8805a493f77ee0966fe9c0acb14d058c8a775c5 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Sun, 26 Oct 2014 23:09:24 -0400 Subject: [PATCH 15/15] Adds two new poncho types, adjusts bomber jacket cold protection Adjusted the cold protection so it might actually be noticable now, forgot earlier that it was mitigated by uncovered areas. --- code/modules/client/preferences_gear.dm | 12 +++++++++++ code/modules/clothing/suits/miscellaneous.dm | 20 +++++++++++++++---- icons/mob/suit.dmi | Bin 247089 -> 249362 bytes icons/obj/clothing/suits.dmi | Bin 89687 -> 90272 bytes 4 files changed, 28 insertions(+), 4 deletions(-) diff --git a/code/modules/client/preferences_gear.dm b/code/modules/client/preferences_gear.dm index 861fd6a92a..e5ef081c0d 100644 --- a/code/modules/client/preferences_gear.dm +++ b/code/modules/client/preferences_gear.dm @@ -427,12 +427,24 @@ var/global/list/gear_datums = list() cost = 2 slot = slot_wear_suit +/datum/gear/gponcho + display_name = "poncho, blue" + path = /obj/item/clothing/suit/poncho/blue + cost = 4 + slot = slot_wear_suit + /datum/gear/gponcho display_name = "poncho, green" path = /obj/item/clothing/suit/poncho/green cost = 4 slot = slot_wear_suit +/datum/gear/rponcho + display_name = "poncho, purple" + path = /obj/item/clothing/suit/poncho/purple + cost = 4 + slot = slot_wear_suit + /datum/gear/rponcho display_name = "poncho, red" path = /obj/item/clothing/suit/poncho/red diff --git a/code/modules/clothing/suits/miscellaneous.dm b/code/modules/clothing/suits/miscellaneous.dm index 6eca3f99a1..71eb40b2f6 100644 --- a/code/modules/clothing/suits/miscellaneous.dm +++ b/code/modules/clothing/suits/miscellaneous.dm @@ -356,16 +356,28 @@ /obj/item/clothing/suit/poncho/green name = "green poncho" - desc = "Your classic, non-racist poncho. This one is green." + desc = "A simple, comfortable cloak without sleeves. This one is green." icon_state = "greenponcho" item_state = "greenponcho" /obj/item/clothing/suit/poncho/red name = "red poncho" - desc = "Your classic, non-racist poncho. This one is red." + desc = "A simple, comfortable cloak without sleeves. This one is red." icon_state = "redponcho" item_state = "redponcho" +/obj/item/clothing/suit/poncho/purple + name = "purple poncho" + desc = "A simple, comfortable cloak without sleeves. This one is purple." + icon_state = "purpleponcho" + item_state = "purpleponcho" + +/obj/item/clothing/suit/poncho/blue + name = "blue poncho" + desc = "A simple, comfortable cloak without sleeves. This one is blue." + icon_state = "blueponcho" + item_state = "blueponcho" + /obj/item/clothing/suit/bomber name = "bomber jacker" desc = "A well-worn WW2 leather bomber jacket." @@ -374,5 +386,5 @@ flags = FPRINT | TABLEPASS body_parts_covered = UPPER_TORSO|ARMS cold_protection = UPPER_TORSO|ARMS - min_cold_protection_temperature = T0C - siemens_coefficient = 0.7 \ No newline at end of file + min_cold_protection_temperature = T0C - 20 + siemens_coefficient = 0.7 diff --git a/icons/mob/suit.dmi b/icons/mob/suit.dmi index fc72210f5c226412c8bfaeeae19005ffadcb9c5c..761a76a0837dd59a4659a69b2222498e5d5f8077 100644 GIT binary patch delta 15744 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 bfg<#@(9wz{TLk~p5kyAvlSGx6;n)8M2f8l1 diff --git a/icons/obj/clothing/suits.dmi b/icons/obj/clothing/suits.dmi index b2b2675ebdc5b2d596dbecf3d880a70480d78e02..d164facd5af404354732a29ee638123cff4c47f9 100644 GIT binary patch literal 90272 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 z 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 QBLp3HKIQb}DE-&}0WVgbl>h($ literal 89687 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%0AR+?x)yNRKr1OgAthy(rWNRDadS_c3LSbc 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 P00000NkvXXu0mjf_?zTU