From e511bf954e35e2f43dd9cf26a7cf573025eabc67 Mon Sep 17 00:00:00 2001 From: Cael_Aislinn Date: Tue, 5 Mar 2013 16:23:59 +1000 Subject: [PATCH] fixed icon + useability + construction issues for misc rust components, removed debug output for TEGs, made injectors no longer directwired Signed-off-by: Cael_Aislinn --- .../Cael_Aislinn/Rust/core_control.dm | 3 +- .../Cael_Aislinn/Rust/core_gen.dm | 2 +- .../Cael_Aislinn/Rust/fuel_assembly_port.dm | 43 +++++++------------ .../Rust/fuel_assembly_port_construction.dm | 2 +- .../Cael_Aislinn/Rust/fuel_compressor.dm | 35 ++++++++------- .../Rust/fuel_compressor_construction.dm | 4 +- .../Cael_Aislinn/Rust/fuel_control.dm | 2 +- .../Cael_Aislinn/Rust/fuel_injector.dm | 11 ++--- .../Rust/virtual_particle_catcher.dm | 4 +- code/modules/power/generator.dm | 2 +- 10 files changed, 49 insertions(+), 59 deletions(-) diff --git a/code/WorkInProgress/Cael_Aislinn/Rust/core_control.dm b/code/WorkInProgress/Cael_Aislinn/Rust/core_control.dm index 9cee19cea8f..f20f33a7ac4 100644 --- a/code/WorkInProgress/Cael_Aislinn/Rust/core_control.dm +++ b/code/WorkInProgress/Cael_Aislinn/Rust/core_control.dm @@ -1,7 +1,8 @@ /obj/machinery/computer/rust_core_control + name = "RUST Core Control" icon = 'code/WorkInProgress/Cael_Aislinn/Rust/rust.dmi' - icon_state = "core" + icon_state = "core_control" var/list/connected_devices = list() var/id_tag = "allan remember to update this before you leave" var/scan_range = 25 diff --git a/code/WorkInProgress/Cael_Aislinn/Rust/core_gen.dm b/code/WorkInProgress/Cael_Aislinn/Rust/core_gen.dm index a7cb88708f0..4626542ab36 100644 --- a/code/WorkInProgress/Cael_Aislinn/Rust/core_gen.dm +++ b/code/WorkInProgress/Cael_Aislinn/Rust/core_gen.dm @@ -180,7 +180,7 @@ max volume of plasma storeable by the field = the total volume of a number of ti return var/dat = "" - if(!powernet || locked) + if(stat & NOPOWER || locked) dat += "The console is dark and nonresponsive." else dat += "RUST Tokamak pattern Electromagnetic Field Generator
" diff --git a/code/WorkInProgress/Cael_Aislinn/Rust/fuel_assembly_port.dm b/code/WorkInProgress/Cael_Aislinn/Rust/fuel_assembly_port.dm index 67935b9ad1f..3d88307242e 100644 --- a/code/WorkInProgress/Cael_Aislinn/Rust/fuel_assembly_port.dm +++ b/code/WorkInProgress/Cael_Aislinn/Rust/fuel_assembly_port.dm @@ -6,7 +6,6 @@ icon_state = "port2" density = 0 var/obj/item/weapon/fuel_assembly/cur_assembly - layer = 4 var/busy = 0 anchored = 1 @@ -22,26 +21,25 @@ user.drop_item() I.loc = src icon_state = "port1" + user << "\blue You insert [I] into [src]. Touch the panel again to insert [I] into the injector." /obj/machinery/rust_fuel_assembly_port/attack_hand(mob/user) add_fingerprint(user) if(stat & (BROKEN|NOPOWER) || opened) return - if(!busy) - busy = 1 - if(cur_assembly) - spawn(30) - if(!try_insert_assembly()) - spawn(30) - eject_assembly() - busy = 0 - else - busy = 0 + if(cur_assembly) + if(try_insert_assembly()) + user << "\blue \icon[src] [src] inserts it's fuel rod assembly into an injector." else - spawn(30) - try_draw_assembly() - busy = 0 + if(eject_assembly()) + user << "\red \icon[src] [src] ejects it's fuel assembly. Check the fuel injector status." + else if(try_draw_assembly()) + user << "\blue \icon[src] [src] draws a fuel rod assembly from an injector." + else if(try_draw_assembly()) + user << "\blue \icon[src] [src] draws a fuel rod assembly from an injector." + else + user << "\red \icon[src] [src] was unable to draw a fuel rod assembly from an injector." /obj/machinery/rust_fuel_assembly_port/proc/try_insert_assembly() var/success = 0 @@ -53,6 +51,8 @@ break if(I.cur_assembly) break + if(I.state != 2) + break I.cur_assembly = cur_assembly cur_assembly.loc = I @@ -60,21 +60,14 @@ icon_state = "port0" success = 1 - if(success) - src.visible_message("\blue \icon[src] a green light flashes on [src] as it inserts it's fuel rod assembly into an injector.") - else - src.visible_message("\red \icon[src] a red light flashes on [src] as it attempts to insert it's fuel rod assembly into an injector.") return success /obj/machinery/rust_fuel_assembly_port/proc/eject_assembly() if(cur_assembly) - var/turf/check_turf = get_step(get_turf(src), src.dir) - cur_assembly.loc = check_turf + cur_assembly.loc = get_step(get_turf(src), src.dir) cur_assembly = null icon_state = "port0" return 1 - else - src.visible_message("\red \icon[src] a red light flashes on [src] as it attempts to eject it's fuel rod assembly.") /obj/machinery/rust_fuel_assembly_port/proc/try_draw_assembly() var/success = 0 @@ -88,7 +81,7 @@ break if(I.injecting) break - if(I.stat != 2) + if(I.state != 2) break cur_assembly = I.cur_assembly @@ -97,10 +90,6 @@ icon_state = "port1" success = 1 - if(success) - src.visible_message("\icon[src] a blue light flashes on [src] as it draws a fuel rod assembly from an injector.") - else - src.visible_message("\red \icon[src] a red light flashes on [src] as it attempts to draw a fuel rod assembly from an injector.") return success /* diff --git a/code/WorkInProgress/Cael_Aislinn/Rust/fuel_assembly_port_construction.dm b/code/WorkInProgress/Cael_Aislinn/Rust/fuel_assembly_port_construction.dm index 0e7aa477cd6..f13780c280d 100644 --- a/code/WorkInProgress/Cael_Aislinn/Rust/fuel_assembly_port_construction.dm +++ b/code/WorkInProgress/Cael_Aislinn/Rust/fuel_assembly_port_construction.dm @@ -42,7 +42,7 @@ dir = ndir else has_electronics = 3 - opened = 1 + opened = 0 icon_state = "port0" //20% easier to read than apc code diff --git a/code/WorkInProgress/Cael_Aislinn/Rust/fuel_compressor.dm b/code/WorkInProgress/Cael_Aislinn/Rust/fuel_compressor.dm index 273d2298f01..cfade3ab2ac 100644 --- a/code/WorkInProgress/Cael_Aislinn/Rust/fuel_compressor.dm +++ b/code/WorkInProgress/Cael_Aislinn/Rust/fuel_compressor.dm @@ -2,26 +2,17 @@ var/const/max_assembly_amount = 300 /obj/machinery/rust_fuel_compressor icon = 'code/WorkInProgress/Cael_Aislinn/Rust/rust.dmi' - icon_state = "fuel_compressor0" + icon_state = "fuel_compressor1" name = "Fuel Compressor" - var/list/new_assembly_quantities + var/list/new_assembly_quantities = list("Deuterium" = 200,"Tritium" = 100,"Helium-3" = 0,"Lithium-6" = 0,"Silver" = 0) var/compressed_matter = 0 anchored = 1 + layer = 2.9 var/opened = 1 //0=closed, 1=opened var/locked = 0 var/has_electronics = 0 // 0 - none, bit 1 - circuitboard, bit 2 - wires -/obj/machinery/rust_fuel_compressor/New() - new_assembly_quantities = new/list - spawn(0) - new_assembly_quantities["Deuterium"] = 200 - new_assembly_quantities["Tritium"] = 100 - // - new_assembly_quantities["Helium-3"] = 0 - new_assembly_quantities["Lithium-6"] = 0 - new_assembly_quantities["Silver"] = 0 - /obj/machinery/rust_fuel_compressor/attack_ai(mob/user) attack_hand(user) @@ -50,7 +41,7 @@ var/const/max_assembly_amount = 300 if(locked) t += "Swipe your ID to unlock this console." else - t += "Compressed matter in storage: [compressed_matter] \[Eject all\]" + t += "Compressed matter in storage: [compressed_matter] \[Eject all\]
" t += "Activate Fuel Synthesis
(fuel assemblies require no more than [max_assembly_amount] rods).
" t += "
" t += "- New fuel assembly constituents:-
" @@ -72,10 +63,15 @@ var/const/max_assembly_amount = 300 usr.machine = null if( href_list["eject_matter"] ) + var/ejected = 0 while(compressed_matter > 10) - new /obj/item/weapon/rcd_ammo(src.loc) + new /obj/item/weapon/rcd_ammo(get_step(get_turf(src), src.dir)) compressed_matter -= 10 - src.visible_message("\blue \icon[src] [src] ejects some compressed matter units.") + ejected = 1 + if(ejected) + usr << "\blue \icon[src] [src] ejects some compressed matter units." + else + usr << "\red \icon[src] there are no more compressed matter units in [src]." if( href_list["activate"] ) //world << "\blue New fuel rod assembly" @@ -83,7 +79,8 @@ var/const/max_assembly_amount = 300 var/fail = 0 var/old_matter = compressed_matter for(var/reagent in new_assembly_quantities) - var/req_matter = F.rod_quantities[reagent] / 10 + var/req_matter = new_assembly_quantities[reagent] / 30 + //world << "[reagent] matter: [req_matter]/[compressed_matter]" if(req_matter <= compressed_matter) F.rod_quantities[reagent] = new_assembly_quantities[reagent] compressed_matter -= req_matter @@ -94,10 +91,12 @@ var/const/max_assembly_amount = 300 if(fail) del(F) compressed_matter = old_matter - src.visible_message("\red \icon[src] [src] flashes red: \'Out of matter.\'") + usr << "\red \icon[src] [src] flashes red: \'Out of matter.\'" else - F.loc = src.loc + F.loc = get_step(get_turf(src), src.dir) F.percent_depleted = 0 + if(compressed_matter < 0.034) + compressed_matter = 0 if( href_list["change_reagent"] ) var/cur_reagent = href_list["change_reagent"] diff --git a/code/WorkInProgress/Cael_Aislinn/Rust/fuel_compressor_construction.dm b/code/WorkInProgress/Cael_Aislinn/Rust/fuel_compressor_construction.dm index 068301a59c7..5d1c272016a 100644 --- a/code/WorkInProgress/Cael_Aislinn/Rust/fuel_compressor_construction.dm +++ b/code/WorkInProgress/Cael_Aislinn/Rust/fuel_compressor_construction.dm @@ -42,9 +42,9 @@ dir = ndir else has_electronics = 3 - opened = 1 + opened = 0 locked = 0 - icon_state = "port0" + icon_state = "fuel_compressor1" //20% easier to read than apc code pixel_x = (dir & 3)? 0 : (dir == 4 ? 32 : -32) diff --git a/code/WorkInProgress/Cael_Aislinn/Rust/fuel_control.dm b/code/WorkInProgress/Cael_Aislinn/Rust/fuel_control.dm index 3c72a216a1f..17c8fccfc71 100644 --- a/code/WorkInProgress/Cael_Aislinn/Rust/fuel_control.dm +++ b/code/WorkInProgress/Cael_Aislinn/Rust/fuel_control.dm @@ -1,6 +1,6 @@ /obj/machinery/computer/rust_fuel_control - name = "Fuel Injection Control" + name = "RUST Fuel Injection Control" icon = 'code/WorkInProgress/Cael_Aislinn/Rust/rust.dmi' icon_state = "fuel" var/list/connected_injectors = list() diff --git a/code/WorkInProgress/Cael_Aislinn/Rust/fuel_injector.dm b/code/WorkInProgress/Cael_Aislinn/Rust/fuel_injector.dm index ef819a300a9..64e9f46535e 100644 --- a/code/WorkInProgress/Cael_Aislinn/Rust/fuel_injector.dm +++ b/code/WorkInProgress/Cael_Aislinn/Rust/fuel_injector.dm @@ -4,7 +4,7 @@ icon = 'code/WorkInProgress/Cael_Aislinn/Rust/rust.dmi' icon_state = "injector0" density = 1 - var/state = 0 + var/state = 2 var/locked = 0 var/obj/item/weapon/fuel_assembly/cur_assembly var/fuel_usage = 0.0001 //percentage of available fuel to use per cycle @@ -17,13 +17,14 @@ use_power = 1 idle_power_usage = 10 active_power_usage = 500 + directwired = 0 var/remote_access_enabled = 1 var/cached_power_avail = 0 var/emergency_insert_ready = 0 /obj/machinery/power/rust_fuel_injector/process() if(injecting) - if(stat & BROKEN || !powernet) + if(stat & (BROKEN|NOPOWER)) StopInjecting() else Inject() @@ -74,7 +75,7 @@ state = 2 user << "You weld the [src] to the floor." connect_to_network() - src.directwired = 1 + //src.directwired = 1 else user << "\red You need more welding fuel to complete this task." if(2) @@ -88,7 +89,7 @@ state = 1 user << "You cut the [src] free from the floor." disconnect_from_network() - src.directwired = 0 + //src.directwired = 0 else user << "\red You need more welding fuel to complete this task." return @@ -140,7 +141,7 @@ return var/dat = "" - if (!powernet || locked || state != 2) + if (stat & NOPOWER || locked || state != 2) dat += "The console is dark and nonresponsive." else dat += "Reactor Core Fuel Injector
" diff --git a/code/WorkInProgress/Cael_Aislinn/Rust/virtual_particle_catcher.dm b/code/WorkInProgress/Cael_Aislinn/Rust/virtual_particle_catcher.dm index f7a282ee6c9..60301334736 100644 --- a/code/WorkInProgress/Cael_Aislinn/Rust/virtual_particle_catcher.dm +++ b/code/WorkInProgress/Cael_Aislinn/Rust/virtual_particle_catcher.dm @@ -2,14 +2,14 @@ //gimmicky hack to collect particles and direct them into the field /obj/effect/rust_particle_catcher icon = 'effects.dmi' - icon_state = "energynet" density = 0 anchored = 1 - invisibility = 101 layer = 4 var/obj/effect/rust_em_field/parent var/mysize = 0 + invisibility = 101 + /*/obj/effect/rust_particle_catcher/New() for(var/obj/machinery/rust/em_field/field in range(6)) parent = field diff --git a/code/modules/power/generator.dm b/code/modules/power/generator.dm index 0d1aad17c71..e7e1f1e657d 100644 --- a/code/modules/power/generator.dm +++ b/code/modules/power/generator.dm @@ -93,7 +93,7 @@ hot_air.temperature = hot_air.temperature - energy_transfer/hot_air_heat_capacity cold_air.temperature = cold_air.temperature + heat/cold_air_heat_capacity - world << "POWER: [lastgen] W generated at [efficiency*100]% efficiency and sinks sizes [cold_air_heat_capacity], [hot_air_heat_capacity]" + //world << "POWER: [lastgen] W generated at [efficiency*100]% efficiency and sinks sizes [cold_air_heat_capacity], [hot_air_heat_capacity]" add_avail(lastgen) // update icon overlays only if displayed level has changed