From 751adf718799e7322cecbf26342c0bcc651fe01b Mon Sep 17 00:00:00 2001 From: Cael_Aislinn Date: Sun, 19 May 2013 19:05:51 +1000 Subject: [PATCH] miscellaneous rusk tweaks and fixes including: resolved assembly sprite hiding under things, resolved compressor not producing assemblies with the right amount of matter, made injectors able to be rotated, removed cooldown from injector to port assembly swap, made ejected/created assemblies not appear in the middle of walls (being created from wall-mounted machinery), Signed-off-by: Cael_Aislinn --- .../Cael_Aislinn/Rust/core_gen.dm | 4 +-- .../Cael_Aislinn/Rust/fuel_assembly.dm | 1 + .../Cael_Aislinn/Rust/fuel_assembly_port.dm | 27 ++++--------------- .../Cael_Aislinn/Rust/fuel_compressor.dm | 10 ++++--- .../Cael_Aislinn/Rust/fuel_injector.dm | 26 ++++++++++++++---- .../Rust/virtual_particle_catcher.dm | 6 ++--- 6 files changed, 39 insertions(+), 35 deletions(-) diff --git a/code/WorkInProgress/Cael_Aislinn/Rust/core_gen.dm b/code/WorkInProgress/Cael_Aislinn/Rust/core_gen.dm index 438894ca865..72dddd6fe06 100644 --- a/code/WorkInProgress/Cael_Aislinn/Rust/core_gen.dm +++ b/code/WorkInProgress/Cael_Aislinn/Rust/core_gen.dm @@ -282,6 +282,6 @@ max volume of plasma storeable by the field = the total volume of a number of ti return 0 /obj/machinery/power/rust_core/bullet_act(var/obj/item/projectile/Proj) - if(Proj.flag != "bullet" && owned_field) - owned_field.AddEnergy(Proj.damage, 0, 1) + if(owned_field) + return owned_field.bullet_act(Proj) return 0 diff --git a/code/WorkInProgress/Cael_Aislinn/Rust/fuel_assembly.dm b/code/WorkInProgress/Cael_Aislinn/Rust/fuel_assembly.dm index bbd374a21e4..d8ca364cb20 100644 --- a/code/WorkInProgress/Cael_Aislinn/Rust/fuel_assembly.dm +++ b/code/WorkInProgress/Cael_Aislinn/Rust/fuel_assembly.dm @@ -5,6 +5,7 @@ name = "Fuel Rod Assembly" var/list/rod_quantities var/percent_depleted = 1 + layer = 3.1 // New() rod_quantities = new/list diff --git a/code/WorkInProgress/Cael_Aislinn/Rust/fuel_assembly_port.dm b/code/WorkInProgress/Cael_Aislinn/Rust/fuel_assembly_port.dm index 3d88307242e..7c976ac9564 100644 --- a/code/WorkInProgress/Cael_Aislinn/Rust/fuel_assembly_port.dm +++ b/code/WorkInProgress/Cael_Aislinn/Rust/fuel_assembly_port.dm @@ -64,14 +64,14 @@ /obj/machinery/rust_fuel_assembly_port/proc/eject_assembly() if(cur_assembly) - cur_assembly.loc = get_step(get_turf(src), src.dir) + cur_assembly.loc = src.loc//get_step(get_turf(src), src.dir) cur_assembly = null icon_state = "port0" return 1 /obj/machinery/rust_fuel_assembly_port/proc/try_draw_assembly() var/success = 0 - if(cur_assembly) + if(!cur_assembly) var/turf/check_turf = get_step(get_turf(src), src.dir) check_turf = get_step(check_turf, src.dir) for(var/obj/machinery/power/rust_fuel_injector/I in check_turf) @@ -89,31 +89,14 @@ I.cur_assembly = null icon_state = "port1" success = 1 + break return success -/* -/obj/machinery/rust_fuel_assembly_port/verb/try_insert_assembly_verb() - set name = "Attempt to insert assembly from port into injector" - set category = "Object" - set src in oview(1) - - if(!busy) - try_insert_assembly() - /obj/machinery/rust_fuel_assembly_port/verb/eject_assembly_verb() - set name = "Attempt to eject assembly from port" + set name = "Eject assembly from port" set category = "Object" set src in oview(1) - if(!busy) - eject_assembly() + eject_assembly() -/obj/machinery/rust_fuel_assembly_port/verb/try_draw_assembly_verb() - set name = "Draw assembly from injector" - set category = "Object" - set src in oview(1) - - if(!busy) - try_draw_assembly() -*/ diff --git a/code/WorkInProgress/Cael_Aislinn/Rust/fuel_compressor.dm b/code/WorkInProgress/Cael_Aislinn/Rust/fuel_compressor.dm index cfade3ab2ac..526742aac94 100644 --- a/code/WorkInProgress/Cael_Aislinn/Rust/fuel_compressor.dm +++ b/code/WorkInProgress/Cael_Aislinn/Rust/fuel_compressor.dm @@ -4,7 +4,7 @@ var/const/max_assembly_amount = 300 icon = 'code/WorkInProgress/Cael_Aislinn/Rust/rust.dmi' icon_state = "fuel_compressor1" name = "Fuel Compressor" - var/list/new_assembly_quantities = list("Deuterium" = 200,"Tritium" = 100,"Helium-3" = 0,"Lithium-6" = 0,"Silver" = 0) + var/list/new_assembly_quantities = list("Deuterium" = 150,"Tritium" = 150,"Rodinium-6" = 0,"Stravium-7" = 0, "Pergium" = 0, "Dilithium" = 0) var/compressed_matter = 0 anchored = 1 layer = 2.9 @@ -79,12 +79,16 @@ var/const/max_assembly_amount = 300 var/fail = 0 var/old_matter = compressed_matter for(var/reagent in new_assembly_quantities) - var/req_matter = new_assembly_quantities[reagent] / 30 + var/req_matter = round(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 + if(compressed_matter < 1) + compressed_matter = 0 else + /*world << "bad reagent: [reagent], [req_matter > compressed_matter ? "req_matter > compressed_matter"\ + : (req_matter < compressed_matter ? "req_matter < compressed_matter" : "req_matter == compressed_matter")]"*/ fail = 1 break //world << "\blue [reagent]: new_assembly_quantities[reagent]
" @@ -93,7 +97,7 @@ var/const/max_assembly_amount = 300 compressed_matter = old_matter usr << "\red \icon[src] [src] flashes red: \'Out of matter.\'" else - F.loc = get_step(get_turf(src), src.dir) + F.loc = src.loc//get_step(get_turf(src), src.dir) F.percent_depleted = 0 if(compressed_matter < 0.034) compressed_matter = 0 diff --git a/code/WorkInProgress/Cael_Aislinn/Rust/fuel_injector.dm b/code/WorkInProgress/Cael_Aislinn/Rust/fuel_injector.dm index 6d18b71f4cb..5047ab1a5d1 100644 --- a/code/WorkInProgress/Cael_Aislinn/Rust/fuel_injector.dm +++ b/code/WorkInProgress/Cael_Aislinn/Rust/fuel_injector.dm @@ -179,11 +179,7 @@ id_tag = input("Enter new ID tag", "Modifying ID tag") as text|null if( href_list["fuel_assembly"] ) - if(!trying_to_swap_fuel) - trying_to_swap_fuel = 1 - spawn(50) - attempt_fuel_swap() - trying_to_swap_fuel = 0 + attempt_fuel_swap() if( href_list["emergency_fuel_assembly"] ) if(cur_assembly) @@ -290,3 +286,23 @@ updateDialog() else src.visible_message("\red \icon[src] a red light flashes on [src].") + +/obj/machinery/power/rust_fuel_injector/verb/rotate_clock() + set category = "Object" + set name = "Rotate Generator (Clockwise)" + set src in view(1) + + if (usr.stat || usr.restrained() || anchored) + return + + src.dir = turn(src.dir, 90) + +/obj/machinery/power/rust_fuel_injector/verb/rotate_anticlock() + set category = "Object" + set name = "Rotate Generator (Counterclockwise)" + set src in view(1) + + if (usr.stat || usr.restrained() || anchored) + return + + src.dir = turn(src.dir, -90) \ No newline at end of file diff --git a/code/WorkInProgress/Cael_Aislinn/Rust/virtual_particle_catcher.dm b/code/WorkInProgress/Cael_Aislinn/Rust/virtual_particle_catcher.dm index 60301334736..39110653848 100644 --- a/code/WorkInProgress/Cael_Aislinn/Rust/virtual_particle_catcher.dm +++ b/code/WorkInProgress/Cael_Aislinn/Rust/virtual_particle_catcher.dm @@ -34,16 +34,16 @@ /obj/effect/rust_particle_catcher/proc/UpdateSize() if(parent.size >= mysize) density = 1 - invisibility = 0 + //invisibility = 0 name = "collector [mysize] ON" else density = 0 - invisibility = 101 + //invisibility = 101 name = "collector [mysize] OFF" /obj/effect/rust_particle_catcher/bullet_act(var/obj/item/projectile/Proj) if(Proj.flag != "bullet" && parent) - parent.AddEnergy(Proj.damage, 0, 1) + parent.AddEnergy(Proj.damage * 20, 0, 1) update_icon() return 0