From af077de46ce1c4388dee17dac278b23cc86503cf Mon Sep 17 00:00:00 2001 From: kevinz000 Date: Sat, 7 Oct 2017 23:04:47 -0700 Subject: [PATCH] TTV code cleanup (#31262) * Update transfer_valve.dm * Update transfer_valve.dm * Update transfer_valve.dm * Update transfer_valve.dm * Update transfer_valve.dm --- .../objects/items/devices/transfer_valve.dm | 78 +++++++++---------- 1 file changed, 37 insertions(+), 41 deletions(-) diff --git a/code/game/objects/items/devices/transfer_valve.dm b/code/game/objects/items/devices/transfer_valve.dm index 045da484ed..a24f300b18 100644 --- a/code/game/objects/items/devices/transfer_valve.dm +++ b/code/game/objects/items/devices/transfer_valve.dm @@ -15,7 +15,7 @@ origin_tech = "materials=1;engineering=1" /obj/item/device/transfer_valve/IsAssemblyHolder() - return 1 + return TRUE /obj/item/device/transfer_valve/attackby(obj/item/item, mob/user, params) if(istype(item, /obj/item/tank)) @@ -76,47 +76,46 @@ /obj/item/device/transfer_valve/Topic(href, href_list) ..() - if ( usr.stat || usr.restrained() ) + if(!usr.canUseTopic(src)) return - if (src.loc == usr) - if(tank_one && href_list["tankone"]) - split_gases() - valve_open = FALSE - tank_one.loc = get_turf(src) - tank_one = null + if(tank_one && href_list["tankone"]) + split_gases() + valve_open = FALSE + tank_one.forceMove(drop_location()) + tank_one = null + update_icon() + if((!tank_two || tank_two.w_class < WEIGHT_CLASS_BULKY) && (w_class > WEIGHT_CLASS_NORMAL)) + w_class = WEIGHT_CLASS_NORMAL + else if(tank_two && href_list["tanktwo"]) + split_gases() + valve_open = FALSE + tank_two.forceMove(drop_location()) + tank_two = null + update_icon() + if((!tank_one || tank_one.w_class < WEIGHT_CLASS_BULKY) && (w_class > WEIGHT_CLASS_NORMAL)) + w_class = WEIGHT_CLASS_NORMAL + else if(href_list["open"]) + toggle_valve() + else if(attached_device) + if(href_list["rem_device"]) + attached_device.forceMove(drop_location()) + attached_device.holder = null + attached_device = null update_icon() - if((!tank_two || tank_two.w_class < WEIGHT_CLASS_BULKY) && (w_class > WEIGHT_CLASS_NORMAL)) - w_class = WEIGHT_CLASS_NORMAL - else if(tank_two && href_list["tanktwo"]) - split_gases() - valve_open = FALSE - tank_two.loc = get_turf(src) - tank_two = null - update_icon() - if((!tank_one || tank_one.w_class < WEIGHT_CLASS_BULKY) && (w_class > WEIGHT_CLASS_NORMAL)) - w_class = WEIGHT_CLASS_NORMAL - else if(href_list["open"]) - toggle_valve() - else if(attached_device) - if(href_list["rem_device"]) - attached_device.forceMove(get_turf(src)) - attached_device.holder = null - attached_device = null - update_icon() - if(href_list["device"]) - attached_device.attack_self(usr) + if(href_list["device"]) + attached_device.attack_self(usr) - src.attack_self(usr) - src.add_fingerprint(usr) - return - return + attack_self(usr) + add_fingerprint(usr) /obj/item/device/transfer_valve/proc/process_activation(obj/item/device/D) if(toggle) - toggle = 0 + toggle = FALSE toggle_valve() - spawn(50) // To stop a signal being spammed from a proxy sensor constantly going off or whatever - toggle = 1 + addtimer(CALLBACK(src, .proc/toggle_off), 5) //To stop a signal being spammed from a proxy sensor constantly going off or whatever + +/obj/item/device/transfer_valve/proc/toggle_off() + toggle = TRUE /obj/item/device/transfer_valve/update_icon() cut_overlays() @@ -196,16 +195,13 @@ message_admins(bomb_message, 0, 1) log_game("[log_str1] [A.name][COORD(bombturf)] [log_str2] [log_str3]") merge_gases() - spawn(20) // In case one tank bursts - for (var/i=0,i<5,i++) - src.update_icon() - sleep(10) - src.update_icon() + for(var/i in 1 to 6) + addtimer(CALLBACK(src, .proc/update_icon), 20 + (i - 1) * 10) else if(valve_open && tank_one && tank_two) split_gases() valve_open = FALSE - src.update_icon() + update_icon() // this doesn't do anything but the timer etc. expects it to be here // eventually maybe have it update icon to show state (timer, prox etc.) like old bombs