diff --git a/baystation12.dme b/baystation12.dme index 60811516597..9ccfefac5de 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -517,7 +517,7 @@ #include "code\game\machinery\computer\id.dm" #include "code\game\machinery\computer\lockdown.dm" #include "code\game\machinery\computer\medical.dm" -#include "code\game\machinery\computer\Operating.dm" +#include "code\game\machinery\computer\operating.dm" #include "code\game\machinery\computer\power.dm" #include "code\game\machinery\computer\robot.dm" #include "code\game\machinery\computer\security.dm" diff --git a/code/defines/obj/weapon.dm b/code/defines/obj/weapon.dm index 91f008508fe..cd0aaf6b0bf 100644 --- a/code/defines/obj/weapon.dm +++ b/code/defines/obj/weapon.dm @@ -558,7 +558,7 @@ flags = FPRINT | TABLEPASS| CONDUCT force = 5.0 throwforce = 7.0 - item_state = "cane" + item_state = "browncane" w_class = 2.0 m_amt = 50 diff --git a/code/game/atom_procs.dm b/code/game/atom_procs.dm index edf5b0e8433..07431ef85c4 100644 --- a/code/game/atom_procs.dm +++ b/code/game/atom_procs.dm @@ -245,6 +245,11 @@ if (!( src.flags ) & 256) return + if(!blood_DNA) + var/turf/Z = get_turf(src) + world << "\red ERROR: [src] at [Z.x], [Z.y], [Z.z] is missing it's blood_DNA list! Tell a dev!" + blood_DNA = list() + return if ( src.blood_DNA.len ) if (istype (src, /mob/living/carbon)) var/obj/item/source2 = src diff --git a/code/modules/assembly/infrared.dm b/code/modules/assembly/infrared.dm index f6091cb6023..c57c7730484 100644 --- a/code/modules/assembly/infrared.dm +++ b/code/modules/assembly/infrared.dm @@ -45,6 +45,13 @@ if(scanning) src.overlays += text("infrared_old2") src.small_icon_state_overlays += text("infrared_on") + if(master && istype(master, /obj/item/weapon/chem_grenade)) + var/obj/item/weapon/chem_grenade/M = master + M.c_state(1) + else + if(master && istype(master, /obj/item/weapon/chem_grenade)) + var/obj/item/weapon/chem_grenade/M = master + M.c_state(0) if(holder) holder.update_icon() return @@ -129,6 +136,7 @@ if (href_list["state"]) src.scanning = !(src.scanning) update_icon() + processing_objects.Add(src) if (href_list["visible"]) src.visible = !(src.visible) diff --git a/code/modules/assembly/proximity.dm b/code/modules/assembly/proximity.dm index 911ca27f022..aab24bded2d 100644 --- a/code/modules/assembly/proximity.dm +++ b/code/modules/assembly/proximity.dm @@ -90,6 +90,13 @@ if(scanning) overlays += text("prox_scanning") small_icon_state_overlays += text("prox_scanning") + if(master && istype(master, /obj/item/weapon/chem_grenade)) + var/obj/item/weapon/chem_grenade/M = master + M.c_state(1) + else + if(master && istype(master, /obj/item/weapon/chem_grenade)) + var/obj/item/weapon/chem_grenade/M = master + M.c_state(0) if(holder) holder.update_icon() @@ -126,10 +133,12 @@ if(href_list["scanning"]) toggle_scan() + processing_objects.Add(src) if(href_list["time"]) timing = text2num(href_list["time"]) update_icon() + processing_objects.Add(src) if(href_list["tp"]) var/tp = text2num(href_list["tp"]) diff --git a/code/modules/assembly/timer.dm b/code/modules/assembly/timer.dm index 4b942d4a41a..b905de1f0e2 100644 --- a/code/modules/assembly/timer.dm +++ b/code/modules/assembly/timer.dm @@ -64,6 +64,13 @@ if(timing) overlays += text("timer_timing") small_icon_state_overlays += text("timer_timing") + if(master && istype(master, /obj/item/weapon/chem_grenade)) + var/obj/item/weapon/chem_grenade/M = master + M.c_state(1) + else + if(master && istype(master, /obj/item/weapon/chem_grenade)) + var/obj/item/weapon/chem_grenade/M = master + M.c_state(0) if(holder) holder.update_icon() return @@ -92,6 +99,7 @@ if(href_list["time"]) timing = text2num(href_list["time"]) + processing_objects.Add(src) update_icon() if(href_list["tp"]) diff --git a/code/modules/chemical/Chemistry-Reagents.dm b/code/modules/chemical/Chemistry-Reagents.dm index 09c2d4850a5..9f4d99fff2d 100644 --- a/code/modules/chemical/Chemistry-Reagents.dm +++ b/code/modules/chemical/Chemistry-Reagents.dm @@ -540,6 +540,21 @@ datum description = "A colorless, odorless, tasteless gas." reagent_state = GAS color = "#808080" // rgb: 128, 128, 128 + reaction_obj(var/obj/O, var/volume) + if((!O) || (!volume)) return 0 + src = null + var/turf/the_turf = get_turf(O) + var/datum/gas_mixture/napalm = new + napalm.nitrogen = volume*10 + napalm.temperature = T0C + the_turf.assume_air(napalm) + reaction_turf(var/turf/T, var/volume) + src = null + var/datum/gas_mixture/napalm = new + napalm.nitrogen = volume*10 + napalm.temperature = T0C + T.assume_air(napalm) + return hydrogen name = "Hydrogen" diff --git a/code/modules/chemical/Chemistry-Tools.dm b/code/modules/chemical/Chemistry-Tools.dm index e962e41725e..9fef047d5f0 100644 --- a/code/modules/chemical/Chemistry-Tools.dm +++ b/code/modules/chemical/Chemistry-Tools.dm @@ -209,7 +209,7 @@ attack_self(mob/user as mob) if(active == 2) - attached_device.attack_self(usr) + attached_device.attack_self(user) return user.machine = src var/dat = {" Grenade properties: @@ -289,6 +289,13 @@ if(beaker_two) beaker_two.loc = get_turf(src.loc) + c_state(var/i = 0) + if(i) + icon_state = initial(icon_state) + "_armed" + else + icon_state = initial(icon_state) + "_locked" + return + large name = "Large Chem Grenade" desc = "An oversized grenade that affects a larger area." @@ -305,6 +312,7 @@ New() ..() + attached_device = new /obj/item/device/assembly/timer(src) var/obj/item/weapon/reagent_containers/glass/beaker/B1 = new(src) var/obj/item/weapon/reagent_containers/glass/beaker/B2 = new(src) @@ -324,6 +332,7 @@ New() ..() + attached_device = new /obj/item/device/assembly/timer(src) var/obj/item/weapon/reagent_containers/glass/beaker/B1 = new(src) var/obj/item/weapon/reagent_containers/glass/beaker/B2 = new(src) @@ -343,6 +352,7 @@ New() ..() + attached_device = new /obj/item/device/assembly/timer(src) var/obj/item/weapon/reagent_containers/glass/beaker/B1 = new(src) var/obj/item/weapon/reagent_containers/glass/beaker/B2 = new(src)