diff --git a/code/modules/assembly/assembly.dm b/code/modules/assembly/assembly.dm index 3a70880a7ec..0efdcf412ba 100644 --- a/code/modules/assembly/assembly.dm +++ b/code/modules/assembly/assembly.dm @@ -103,12 +103,6 @@ user << "\The [src] can now be attached!" return ..() - return - - -/obj/item/device/assembly/process() - SSobj.processing.Remove(src) - return /obj/item/device/assembly/examine(mob/user) diff --git a/code/modules/assembly/infrared.dm b/code/modules/assembly/infrared.dm index e470324cdf3..ca37fbcb036 100644 --- a/code/modules/assembly/infrared.dm +++ b/code/modules/assembly/infrared.dm @@ -10,6 +10,16 @@ var/obj/effect/beam/i_beam/first = null var/obj/effect/beam/i_beam/last = null + +/obj/item/device/assembly/infra/New() + ..() + SSobj.processing |= src + +/obj/item/device/assembly/infra/Destroy() + if(first) + qdel(first) + return ..() + /obj/item/device/assembly/infra/describe() return "The infrared trigger is [on?"on":"off"]." @@ -25,7 +35,8 @@ SSobj.processing |= src else on = 0 - if(first) qdel(first) + if(first) + qdel(first) SSobj.processing.Remove(src) update_icon() return secured @@ -45,7 +56,7 @@ if(!on) if(first) qdel(first) - return + return if(!secured) return if(first && last) @@ -96,7 +107,7 @@ /obj/item/device/assembly/infra/interact(mob/user)//TODO: change this this to the wire control panel if(is_secured(user)) user.set_machine(src) - var/dat = text("Infrared Laser\nStatus: []
\nVisibility: []
\n
", (on ? text("On", src) : text("Off", src)), (src.visible ? text("Visible", src) : text("Invisible", src))) + var/dat = "Infrared Laser\nStatus: [on ? "On" : "Off"]
\nVisibility: [visible ? "Visible" : "Invisible"]
\n
" dat += "

Refresh" dat += "

Close" user << browse(dat, "window=infra") @@ -105,7 +116,7 @@ /obj/item/device/assembly/infra/Topic(href, href_list) ..() - if(!usr.canmove || usr.stat || usr.restrained() || !in_range(loc, usr)) + if(usr.incapacitated() || !in_range(loc, usr)) usr << browse(null, "window=infra") onclose(usr, "infra") return @@ -127,7 +138,7 @@ set category = "Object" set src in usr - if(usr.stat || !usr.canmove || usr.restrained()) + if(usr.incapacitated()) return dir = turn(dir, 90) diff --git a/code/modules/assembly/proximity.dm b/code/modules/assembly/proximity.dm index 656e927716e..53990197caa 100644 --- a/code/modules/assembly/proximity.dm +++ b/code/modules/assembly/proximity.dm @@ -15,6 +15,11 @@ /obj/item/device/assembly/prox_sensor/proc/sense() + +/obj/item/device/assembly/prox_sensor/New() + ..() + SSobj.processing |= src + /obj/item/device/assembly/prox_sensor/describe() if(timing) return "The proximity sensor is arming." @@ -24,7 +29,7 @@ if(!..()) return 0//Cooldown check timing = !timing update_icon() - return 0 + return 1 /obj/item/device/assembly/prox_sensor/toggle_secure() @@ -55,13 +60,12 @@ /obj/item/device/assembly/prox_sensor/process() - if(timing && (time >= 0)) + if(timing) time-- - if(timing && time <= 0) - timing = 0 - toggle_scan() - time = 10 - return + if(time <= 0) + timing = 0 + toggle_scan() + time = initial(time) /obj/item/device/assembly/prox_sensor/dropped() @@ -113,7 +117,7 @@ /obj/item/device/assembly/prox_sensor/Topic(href, href_list) ..() - if(!usr.canmove || usr.stat || usr.restrained() || !in_range(loc, usr)) + if(usr.incapacitated() || !in_range(loc, usr)) usr << browse(null, "window=prox") onclose(usr, "prox") return @@ -137,5 +141,3 @@ if(usr) attack_self(usr) - - return diff --git a/code/modules/assembly/timer.dm b/code/modules/assembly/timer.dm index 7760900ac56..4e1e0e213ac 100644 --- a/code/modules/assembly/timer.dm +++ b/code/modules/assembly/timer.dm @@ -10,6 +10,10 @@ var/time = 5 +/obj/item/device/assembly/timer/New() + ..() + SSobj.processing |= src + /obj/item/device/assembly/timer/describe() if(timing) return "The timer is counting down from [time]!" @@ -20,7 +24,7 @@ if(!..()) return 0//Cooldown check timing = !timing update_icon() - return 0 + return 1 /obj/item/device/assembly/timer/toggle_secure() @@ -42,17 +46,16 @@ cooldown = 2 spawn(10) process_cooldown() - return + update_icon() /obj/item/device/assembly/timer/process() - if(timing && (time > 0)) + if(timing) time-- - if(timing && time <= 0) - timing = 0 - timer_end() - time = initial(time) - return + if(time <= 0) + timing = 0 + timer_end() + time = initial(time) /obj/item/device/assembly/timer/update_icon() @@ -63,7 +66,6 @@ attached_overlays += "timer_timing" if(holder) holder.update_icon() - return /obj/item/device/assembly/timer/interact(mob/user)//TODO: Have this use the wires @@ -76,7 +78,6 @@ var/datum/browser/popup = new(user, "timer", name) popup.set_content(dat) popup.open() - return /obj/item/device/assembly/timer/Topic(href, href_list) @@ -107,4 +108,3 @@ if(usr) attack_self(usr) - return diff --git a/code/modules/reagents/Chemistry-Reagents.dm b/code/modules/reagents/Chemistry-Reagents.dm index 7a58c099077..dad745e7936 100644 --- a/code/modules/reagents/Chemistry-Reagents.dm +++ b/code/modules/reagents/Chemistry-Reagents.dm @@ -43,7 +43,7 @@ if(method == VAPOR) //smoke, foam, spray if(M.reagents) var/modifier = Clamp((1 - touch_protection), 0, 1) - var/amount = round(volume*modifier, 0.1) + var/amount = round(reac_volume*modifier, 0.1) if(amount >= 1) M.reagents.add_reagent(self.id, amount) return 1 diff --git a/code/modules/reagents/Chemistry-Reagents/Toxin-Reagents.dm b/code/modules/reagents/Chemistry-Reagents/Toxin-Reagents.dm index e13de807739..319b0e4a944 100644 --- a/code/modules/reagents/Chemistry-Reagents/Toxin-Reagents.dm +++ b/code/modules/reagents/Chemistry-Reagents/Toxin-Reagents.dm @@ -639,10 +639,11 @@ /datum/reagent/toxin/acid/reaction_turf(turf/T, reac_volume) if (!istype(T)) return + var/datum/reagent/toxin/acid/self = src src = null reac_volume = round(reac_volume,0.1) for(var/obj/O in T) - O.acid_act(acidpwr, reac_volume) + O.acid_act(self.acidpwr, reac_volume) /datum/reagent/toxin/acid/fluacid name = "Fluorosulfuric acid" diff --git a/icons/obj/assemblies/new_assemblies.dmi b/icons/obj/assemblies/new_assemblies.dmi index ae869fa9094..660a99c185b 100644 Binary files a/icons/obj/assemblies/new_assemblies.dmi and b/icons/obj/assemblies/new_assemblies.dmi differ