diff --git a/code/game/machinery/autolathe.dm b/code/game/machinery/autolathe.dm index b31ebab786f..2f3a569a6d0 100644 --- a/code/game/machinery/autolathe.dm +++ b/code/game/machinery/autolathe.dm @@ -67,9 +67,9 @@ var/global/list/autolathe_recipes_hidden = list( \ new /obj/item/ammo_box/c9mm(), \ new /obj/item/ammo_casing/shotgun(), \ new /obj/item/ammo_casing/shotgun/buckshot(), \ + new /obj/item/ammo_casing/shotgun/dart(), \ new /obj/item/ammo_casing/shotgun/incendiary(), \ - /*new /obj/item/ammo_casing/shotgun/dart(), \ - new /obj/item/weapon/shield/riot(), */ \ +/* new /obj/item/weapon/shield/riot(),*/ \ ) /obj/machinery/autolathe name = "autolathe" diff --git a/code/game/machinery/bots/medbot.dm b/code/game/machinery/bots/medbot.dm index 624453380d3..2c437492097 100644 --- a/code/game/machinery/bots/medbot.dm +++ b/code/game/machinery/bots/medbot.dm @@ -50,8 +50,8 @@ treatment_oxy = "dexalin" treatment_brute = "bicaridine" treatment_fire = "kelotane" - treatment_tox = "anti_toxin" - + treatment_tox = "anti_toxin" + /obj/machinery/bot/medbot/mysterious name = "\improper Mysterious Medibot" desc = "International Medibot of mystery." @@ -327,12 +327,17 @@ return //Patient has moved away from us! - else if(patient && path && path.len && (get_dist(patient,path[path.len]) > 2)) + else if(patient && path.len && (get_dist(patient,path[path.len]) > 2)) path = list() mode = BOT_IDLE last_found = world.time - if(!stationary_mode && patient && path.len == 0 && (get_dist(src,patient) > 1)) + else if(stationary_mode && patient) + patient = null + mode = BOT_IDLE + last_found = world.time + return + if(patient && path.len == 0 && (get_dist(src,patient) > 1)) spawn(0) path = AStar(loc, get_turf(patient), /turf/proc/CardinalTurfsWithAccess, /turf/proc/Distance_cardinal, 0, 30,id=botcard) if(!path) @@ -368,10 +373,10 @@ if(emagged == 2) //Everyone needs our medicine. (Our medicine is toxins) return 1 - + if((skin == "bezerk") && (!("syndicate" in C.faction))) return 0 - + if(declare_crit && C.health <= 0) //Critical condition! Call for help! declare(C) @@ -394,7 +399,7 @@ if((C.getToxLoss() >= heal_threshold) && (!C.reagents.has_reagent(treatment_tox))) return 1 - if((C.virus2.len) && (!C.reagents.has_reagent(treatment_virus))) + if((C.virus2.len) && (!C.reagents.has_reagent(treatment_virus))) for (var/ID in C.virus2) if (ID in virusDB) // If the virus is known, the medbot is aware of it return 1 @@ -423,20 +428,20 @@ var/reagent_id = null if(emagged == 2) //Emagged! Time to poison everybody. - reagent_id = "toxin" - + reagent_id = "toxin" + else if(treat_virus) var/virus = 0 - if(C:virus2.len) + if(C:virus2.len) for (var/ID in C.virus2) if (ID in virusDB) // If the virus is known, the medbot is aware of it and will try to cure it - virus = 1 - + virus = 1 + if (!reagent_id && (virus)) if(!C.reagents.has_reagent(treatment_virus)) - reagent_id = treatment_virus - + reagent_id = treatment_virus + if (!reagent_id && (C.getBruteLoss() >= heal_threshold)) if(!C.reagents.has_reagent(treatment_brute)) reagent_id = treatment_brute @@ -529,7 +534,7 @@ speak("Medical emergency! [crit_patient ? "[crit_patient]" : "A patient"] is in critical condition at [location]!",radio_frequency, radio_name) declare_cooldown = 1 spawn(200) //Twenty seconds - declare_cooldown = 0 + declare_cooldown = 0 /* * Medbot Assembly -- Can be made out of all three medkits. diff --git a/code/game/mecha/equipment/tools/tools.dm b/code/game/mecha/equipment/tools/tools.dm index 32c150e23eb..cf3cd0022a6 100644 --- a/code/game/mecha/equipment/tools/tools.dm +++ b/code/game/mecha/equipment/tools/tools.dm @@ -732,7 +732,7 @@ name = "Energy Relay" desc = "Wirelessly drains energy from any available power channel in area. The performance index is quite low." icon_state = "tesla" - origin_tech = "magnets=4;syndicate=2" + origin_tech = "magnets=4;powerstorage=3" equip_cooldown = 10 energy_drain = 0 range = 0 diff --git a/code/game/objects/effects/decals/misc.dm b/code/game/objects/effects/decals/misc.dm index 0e170b1ddc0..3f42dab850f 100644 --- a/code/game/objects/effects/decals/misc.dm +++ b/code/game/objects/effects/decals/misc.dm @@ -17,6 +17,11 @@ anchored = 1 layer = 50 +/obj/effect/decal/chempuff + name = "chemicals" + icon = 'icons/obj/chempuff.dmi' + pass_flags = PASSTABLE | PASSGRILLE + /obj/effect/decal/snow name="snow" density=0 diff --git a/code/game/objects/items/devices/flash.dm b/code/game/objects/items/devices/flash.dm index 224de285a1c..9c17c585b39 100644 --- a/code/game/objects/items/devices/flash.dm +++ b/code/game/objects/items/devices/flash.dm @@ -18,7 +18,6 @@ /obj/item/device/flash/proc/clown_check(mob/user) if(user && (M_CLUMSY in user.mutations) && prob(50)) flash_carbon(user, user, 15, 0) - user.visible_message("[user] blinds [user] with the flash!") return 0 return 1 @@ -42,7 +41,7 @@ times_used = max(0, times_used) //sanity -/obj/item/device/flash/proc/try_use_flash(var/mob/user) +/obj/item/device/flash/proc/try_use_flash(var/mob/user = null) flash_recharge(user) if(broken) @@ -67,6 +66,11 @@ if(user && convert) terrible_conversion_proc(M, user) M.Stun(1) + user.visible_message("[user] blinds [M] with the flash!") + return 1 + else + user.visible_message("[user] fails to blind [M] with the flash!") + return 0 /obj/item/device/flash/attack(mob/living/M, mob/user) if(!try_use_flash(user)) @@ -74,7 +78,6 @@ if(iscarbon(M)) flash_carbon(M, user, 5, 1) - user.visible_message("[user] blinds [M] with the flash!") return 1 else if(issilicon(M)) diff --git a/code/game/objects/items/weapons/grenades/chem_grenade.dm b/code/game/objects/items/weapons/grenades/chem_grenade.dm index 6a9bdbd81f9..2a6def07dca 100644 --- a/code/game/objects/items/weapons/grenades/chem_grenade.dm +++ b/code/game/objects/items/weapons/grenades/chem_grenade.dm @@ -417,7 +417,7 @@ B1.reagents.add_reagent("fuel",20) B2.reagents.add_reagent("plasma", 15) B2.reagents.add_reagent("sacid", 15) - B1.reagents.add_reagent("fuel",20) + B1.reagents.add_reagent("incendiaryfuel",20) beakers += B1 beakers += B2 diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm index 7f97febc907..65eb6900e5e 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules.dm @@ -136,6 +136,8 @@ src.emag.reagents.add_reagent("pacid", 250) src.emag.name = "Polyacid spray" + var/obj/item/weapon/reagent_containers/spray/S = emag + S.banned_reagents = list() return /obj/item/weapon/robot_module/crisis/respawn_consumable(var/mob/living/silicon/robot/R) diff --git a/code/modules/projectiles/ammunition/ammo_casings.dm b/code/modules/projectiles/ammunition/ammo_casings.dm index 1ec564a7c9c..27a669cf98f 100644 --- a/code/modules/projectiles/ammunition/ammo_casings.dm +++ b/code/modules/projectiles/ammunition/ammo_casings.dm @@ -109,12 +109,12 @@ desc = "A high-tech shotgun shell which can be loaded with materials to produce unique effects." icon_state = "cshell" projectile_type = null -/* + /obj/item/ammo_casing/shotgun/dart name = "shotgun dart" desc = "A dart for use in shotguns. Can be injected with up to 30 units of any chemical." icon_state = "cshell" - projectile_type = /obj/item/projectile/bullet/dart + projectile_type = "/obj/item/projectile/bullet/dart" /obj/item/ammo_casing/shotgun/dart/New() ..() @@ -124,7 +124,6 @@ /obj/item/ammo_casing/shotgun/dart/attackby() return -*/ /obj/item/ammo_casing/shotgun/fakebeanbag name = "beanbag shell" diff --git a/code/modules/projectiles/ammunition/magazines.dm b/code/modules/projectiles/ammunition/magazines.dm index a7410abdad3..9e333f5c82a 100644 --- a/code/modules/projectiles/ammunition/magazines.dm +++ b/code/modules/projectiles/ammunition/magazines.dm @@ -127,7 +127,7 @@ caliber = ".45" max_ammo = 20 -/obj/item/ammo_box/magazine/smgm/update_icon() +/obj/item/ammo_box/magazine/smgm45/update_icon() ..() icon_state = "[initial(icon_state)]-[round(ammo_count(),2)]" diff --git a/code/modules/projectiles/guns/energy.dm b/code/modules/projectiles/guns/energy.dm index 8b8e41f2f4c..0a3c1be180a 100644 --- a/code/modules/projectiles/guns/energy.dm +++ b/code/modules/projectiles/guns/energy.dm @@ -46,7 +46,7 @@ else icon_state = "energy0" - +/* attackby(obj/item/weapon/W, mob/user) if(istype(W, /obj/item/weapon/cell)) if(!power_supply) @@ -73,4 +73,4 @@ set src in view(1) ..() if(!power_supply) - usr <<"The weapon does not have a power source installed." \ No newline at end of file + usr <<"The weapon does not have a power source installed." */ \ No newline at end of file diff --git a/code/modules/projectiles/projectile/bullets.dm b/code/modules/projectiles/projectile/bullets.dm index 0f0491d63ac..82ecb903230 100644 --- a/code/modules/projectiles/projectile/bullets.dm +++ b/code/modules/projectiles/projectile/bullets.dm @@ -136,7 +136,7 @@ var/mob/living/carbon/M = target M.silent = max(M.silent, 10) -/* + /obj/item/projectile/bullet/dart @@ -161,7 +161,7 @@ flags &= ~NOREACT reagents.handle_reactions() return 1 -*/ + /obj/item/projectile/bullet/dart/metalfoam New() ..() diff --git a/code/modules/reagents/Chemistry-Reagents.dm b/code/modules/reagents/Chemistry-Reagents.dm index 3c4f66e399e..526a631ef36 100644 --- a/code/modules/reagents/Chemistry-Reagents.dm +++ b/code/modules/reagents/Chemistry-Reagents.dm @@ -1398,6 +1398,35 @@ datum return + incendiary_fuel //copy-pasta of welding fuel; allow incendiary grenades to function better without the headache of people spraying fuel everywhere with regular welding fuel. + name = "Incendiary fuel" + id = "incendiaryfuel" + description = "A highly flammable compound used in incendiary grenades." + reagent_state = LIQUID + color = "#660000" // rgb: 102, 0, 0 + + reaction_mob(var/mob/living/M, var/method=TOUCH, var/volume)//Splashing people with welding fuel to make them easy to ignite! + if(!istype(M, /mob/living)) + return + if(method == TOUCH) + M.adjust_fire_stacks(volume / 10) + return + + reaction_obj(var/obj/O, var/volume) + var/turf/the_turf = get_turf(O) + if(!the_turf) + return //No sense trying to start a fire if you don't have a turf to set on fire. --NEO + new /obj/effect/decal/cleanable/liquid_fuel(the_turf, volume) + reaction_turf(var/turf/T, var/volume) + new /obj/effect/decal/cleanable/liquid_fuel(T, volume) + return + + on_mob_life(var/mob/living/M as mob) + if(!M) M = holder.my_atom + M.adjustToxLoss(1) + ..() + return + space_cleaner name = "Space cleaner" id = "cleaner" diff --git a/code/modules/reagents/Chemistry-Recipes.dm b/code/modules/reagents/Chemistry-Recipes.dm index 42578ff4704..3ae96df6c17 100644 --- a/code/modules/reagents/Chemistry-Recipes.dm +++ b/code/modules/reagents/Chemistry-Recipes.dm @@ -402,7 +402,7 @@ datum flick("e_flash", M.flash) M.Stun(5) -/* + napalm name = "Napalm" id = "napalm" @@ -425,7 +425,7 @@ datum spawn (0) target_tile.hotspot_expose(700, 400) holder.del_reagent("napalm") return -*/ + /* smoke name = "Smoke" diff --git a/code/modules/reagents/reagent_containers.dm b/code/modules/reagents/reagent_containers.dm index 1bcebc87116..61d35feaa7e 100644 --- a/code/modules/reagents/reagent_containers.dm +++ b/code/modules/reagents/reagent_containers.dm @@ -7,6 +7,7 @@ var/amount_per_transfer_from_this = 5 var/possible_transfer_amounts = list(5,10,15,25,30) var/volume = 30 + var/list/banned_reagents = list() //List of reagent IDs we reject. /obj/item/weapon/reagent_containers/verb/set_APTFT() //set amount_per_transfer_from_this set name = "Set transfer amount" diff --git a/code/modules/reagents/reagent_containers/drugs.dm b/code/modules/reagents/reagent_containers/drugs.dm index f717929c9f9..1f9dced0500 100644 --- a/code/modules/reagents/reagent_containers/drugs.dm +++ b/code/modules/reagents/reagent_containers/drugs.dm @@ -59,6 +59,13 @@ user << "\red [target] is full." return + if(istype(target, /obj/item/weapon/reagent_containers)) + var/obj/item/weapon/reagent_containers/RC = target + for(var/bad_reg in RC.banned_reagents) + if(reagents.has_reagent(bad_reg, 1)) //Message is a bit "Game-y" but I can't think up a better one. + user << "A chemical in [src] is far too dangerous to transfer to [RC]!" + return + // /vg/: Logging transfers of bad things if(target.reagents_to_log.len) var/list/badshit=list() diff --git a/code/modules/reagents/reagent_containers/glass.dm b/code/modules/reagents/reagent_containers/glass.dm index 6f95851c7a7..0d1b64dacd3 100644 --- a/code/modules/reagents/reagent_containers/glass.dm +++ b/code/modules/reagents/reagent_containers/glass.dm @@ -121,6 +121,13 @@ user << "\red [target] is full." return + if(istype(target, /obj/item/weapon/reagent_containers)) + var/obj/item/weapon/reagent_containers/RC = target + for(var/bad_reg in RC.banned_reagents) + if(reagents.has_reagent(bad_reg, 1)) //Message is a bit "Game-y" but I can't think up a better one. + user << "A chemical in [src] is far too dangerous to transfer to [RC]!" + return + // /vg/: Logging transfers of bad things if(target.reagents_to_log.len) var/list/badshit=list() diff --git a/code/modules/reagents/reagent_containers/spray.dm b/code/modules/reagents/reagent_containers/spray.dm index a391fa727c0..4f53ce68f19 100644 --- a/code/modules/reagents/reagent_containers/spray.dm +++ b/code/modules/reagents/reagent_containers/spray.dm @@ -6,13 +6,16 @@ item_state = "cleaner" flags = TABLEPASS|OPENCONTAINER|FPRINT|NOBLUDGEON slot_flags = SLOT_BELT - throwforce = 3 + throwforce = 0 w_class = 2.0 - throw_speed = 2 - throw_range = 10 - amount_per_transfer_from_this = 10 + throw_speed = 3 + throw_range = 7 + var/spray_maxrange = 3 //what the sprayer will set spray_currentrange to in the attack_self. + var/spray_currentrange = 3 //the range of tiles the sprayer will reach when in fixed mode. + amount_per_transfer_from_this = 5 volume = 250 possible_transfer_amounts = null + banned_reagents = list("pacid","sacid") /obj/item/weapon/reagent_containers/spray/afterattack(atom/A as mob|obj, mob/user as mob) @@ -40,31 +43,7 @@ user << "\The [src] is empty!" return - var/obj/effect/decal/D = new/obj/effect/decal(get_turf(src)) - D.create_reagents(amount_per_transfer_from_this) - reagents.trans_to(D, amount_per_transfer_from_this, 1/3) - - D.name = "chemicals" - D.icon = 'icons/obj/chempuff.dmi' - - D.icon += mix_color_from_reagents(D.reagents.reagent_list) - - var/turf/A_turf = get_turf(A) - - spawn(0) - for(var/i=0, i<3, i++) - step_towards(D,A) - D.reagents.reaction(get_turf(D)) - for(var/atom/T in get_turf(D)) - D.reagents.reaction(T) - - // When spraying against the wall, also react with the wall, but - // not its contents. - if(get_dist(D, A_turf) == 1 && A_turf.density) - D.reagents.reaction(A_turf) - sleep(2) - sleep(3) - del(D) + spray(A) playsound(src.loc, 'sound/effects/spray2.ogg', 50, 1, -6) @@ -79,34 +58,52 @@ log_game("[key_name(user)] fired Space lube from \a [src].") return + +/obj/item/weapon/reagent_containers/spray/proc/spray(var/atom/A) + var/obj/effect/decal/chempuff/D = new /obj/effect/decal/chempuff(get_turf(src)) + D.create_reagents(amount_per_transfer_from_this) + reagents.trans_to(D, amount_per_transfer_from_this, 1/spray_currentrange) + D.icon += mix_color_from_reagents(D.reagents.reagent_list) + spawn(0) + for(var/i=0, iYou switched [amount_per_transfer_from_this == 10 ? "on" : "off"] the pressure nozzle. You'll now use [amount_per_transfer_from_this] units per spray." - - -/obj/item/weapon/reagent_containers/spray/examine() - set src in usr - ..() - usr << "[round(src.reagents.total_volume)] units left." - return + spray_currentrange = (spray_currentrange == 1 ? spray_maxrange : 1) + user << "You [amount_per_transfer_from_this == 10 ? "remove" : "fix"] the nozzle. You'll now use [amount_per_transfer_from_this] units per spray." /obj/item/weapon/reagent_containers/spray/verb/empty() set name = "Empty Spray Bottle" set category = "Object" set src in usr - - if(isturf(usr.loc)) + if(usr.stat || !usr.canmove || usr.restrained()) + return + if (alert(usr, "Are you sure you want to empty that?", "Empty Bottle:", "Yes", "No") != "Yes") + return + if(isturf(usr.loc) && src.loc == usr) usr << "You empty \the [src] onto the floor." reagents.reaction(usr.loc) - spawn(5) src.reagents.clear_reagents() + src.reagents.clear_reagents() //space cleaner /obj/item/weapon/reagent_containers/spray/cleaner name = "space cleaner" desc = "BLAM!-brand non-foaming space cleaner!" + +/obj/item/weapon/reagent_containers/spray/cleaner/New() + ..() + reagents.add_reagent("cleaner", 250) + /obj/item/weapon/reagent_containers/spray/cleaner/drone name = "space cleaner" desc = "BLAM!-brand non-foaming space cleaner!" @@ -115,6 +112,7 @@ /obj/item/weapon/reagent_containers/spray/cleaner/New() ..() reagents.add_reagent("cleaner", src.volume) + //pepperspray /obj/item/weapon/reagent_containers/spray/pepper name = "pepperspray" @@ -123,7 +121,8 @@ icon_state = "pepperspray" item_state = "pepperspray" volume = 40 - amount_per_transfer_from_this = 10 + spray_maxrange = 4 + amount_per_transfer_from_this = 5 /obj/item/weapon/reagent_containers/spray/pepper/New() @@ -147,56 +146,32 @@ /obj/item/weapon/reagent_containers/spray/waterflower/attack_self(var/mob/user) //Don't allow changing how much the flower sprays return - //chemsprayer /obj/item/weapon/reagent_containers/spray/chemsprayer name = "chem sprayer" - desc = "A utility used to spray large amounts of reagent in a given area." + desc = "A utility used to spray large amounts of reagents in a given area." icon = 'icons/obj/gun.dmi' icon_state = "chemsprayer" item_state = "chemsprayer" - throwforce = 3 + throwforce = 0 w_class = 3.0 + spray_maxrange = 7 + spray_currentrange = 7 + amount_per_transfer_from_this = 10 volume = 600 origin_tech = "combat=3;materials=3;engineering=3" + banned_reagents = list()//the safeties are off, spray and pay! -//this is a big copypasta clusterfuck, but it's still better than it used to be! -/obj/item/weapon/reagent_containers/spray/chemsprayer/afterattack(atom/A as mob|obj, mob/user as mob) - if(istype(A, /obj/item/weapon/storage) || istype(A, /obj/structure/table) || istype(A, /obj/structure/rack) || istype(A, /obj/structure/closet) \ - || istype(A, /obj/item/weapon/reagent_containers) || istype(A, /obj/structure/sink)) - return - - if(istype(A, /obj/effect/proc_holder/spell)) - return - - if(istype(A, /obj/structure/reagent_dispensers) && get_dist(src,A) <= 1) //this block copypasted from reagent_containers/glass, for lack of a better solution - if(!A.reagents.total_volume && A.reagents) - user << "\The [A] is empty." - return - - if(reagents.total_volume >= reagents.maximum_volume) - user << "\The [src] is full." - return - - var/trans = A.reagents.trans_to(src, A:amount_per_transfer_from_this) - user << "You fill \the [src] with [trans] units of the contents of \the [A]." - return - - if(reagents.total_volume < amount_per_transfer_from_this) - user << "\The [src] is empty!" - return - +/obj/item/weapon/reagent_containers/spray/chemsprayer/spray(var/atom/A) var/Sprays[3] for(var/i=1, i<=3, i++) // intialize sprays if(src.reagents.total_volume < 1) break - var/obj/effect/decal/D = new/obj/effect/decal(get_turf(src)) - D.name = "chemicals" - D.icon = 'icons/obj/chempuff.dmi' + var/obj/effect/decal/chempuff/D = new/obj/effect/decal/chempuff(get_turf(src)) D.create_reagents(amount_per_transfer_from_this) src.reagents.trans_to(D, amount_per_transfer_from_this) - D.icon += mix_color_from_reagents(D.reagents.reagent_list) + D.color = mix_color_from_reagents(D.reagents.reagent_list) Sprays[i] = D @@ -208,14 +183,14 @@ for(var/i=1, i<=Sprays.len, i++) spawn() - var/obj/effect/decal/D = Sprays[i] + var/obj/effect/decal/chempuff/D = Sprays[i] if(!D) continue // Spreads the sprays a little bit var/turf/my_target = pick(the_targets) the_targets -= my_target - for(var/j=1, j<=rand(6,8), j++) + for(var/j=0, j<=spray_currentrange, j++) step_towards(D, my_target) D.reagents.reaction(get_turf(D)) for(var/atom/t in get_turf(D)) @@ -223,18 +198,12 @@ sleep(2) del(D) - playsound(src.loc, 'sound/effects/spray2.ogg', 50, 1, -6) - if(reagents.has_reagent("sacid")) - message_admins("[key_name_admin(user)] fired sulphuric acid from a chem sprayer.") - log_game("[key_name(user)] fired sulphuric acid from a chem sprayer.") - if(reagents.has_reagent("pacid")) - message_admins("[key_name_admin(user)] fired Polyacid from a chem sprayer.") - log_game("[key_name(user)] fired Polyacid from a chem sprayer.") - if(reagents.has_reagent("lube")) - message_admins("[key_name_admin(user)] fired Space lube from a chem sprayer.") - log_game("[key_name(user)] fired Space lube from a chem sprayer.") - return + +/obj/item/weapon/reagent_containers/spray/chemsprayer/attack_self(var/mob/user) + + amount_per_transfer_from_this = (amount_per_transfer_from_this == 10 ? 5 : 10) + user << "You adjust the output switch. You'll now use [amount_per_transfer_from_this] units per spray." /obj/item/weapon/reagent_containers/spray/chemsprayer/bioterror/New() ..() @@ -268,4 +237,4 @@ if (istype(A, /obj/effect/blob)) // blob damage in blob code return - ..() + ..() \ No newline at end of file diff --git a/code/modules/reagents/reagent_dispenser.dm b/code/modules/reagents/reagent_dispenser.dm index f4736a33fdd..e1af57cda76 100644 --- a/code/modules/reagents/reagent_dispenser.dm +++ b/code/modules/reagents/reagent_dispenser.dm @@ -185,7 +185,7 @@ amount = min(amount, reagents.total_volume) reagents.remove_reagent("fuel",amount) - new /obj/effect/decal/cleanable/liquid_fuel(src.loc, amount) +// new /obj/effect/decal/cleanable/liquid_fuel(src.loc, amount) /obj/structure/reagent_dispensers/fueltank/HasProximity(atom/movable/AM) if(rig) diff --git a/code/modules/research/designs.dm b/code/modules/research/designs.dm index aeb58ad68db..fb226832d22 100644 --- a/code/modules/research/designs.dm +++ b/code/modules/research/designs.dm @@ -1737,7 +1737,7 @@ datum/design/decloner materials = list("$gold" = 5000,"$uranium" = 10000, "mutagen" = 40) build_path = "/obj/item/weapon/gun/energy/decloner" locked = 1 - +/* datum/design/chemsprayer name = "Chem Sprayer" desc = "An advanced chem spraying device." @@ -1747,7 +1747,7 @@ datum/design/chemsprayer materials = list("$metal" = 5000, "$glass" = 1000) reliability_base = 100 build_path = "/obj/item/weapon/reagent_containers/spray/chemsprayer" - +*/ datum/design/rapidsyringe name = "Rapid Syringe Gun" desc = "A gun that fires many syringes." @@ -1766,6 +1766,7 @@ datum/design/largecrossbow build_type = PROTOLATHE materials = list("$metal" = 5000, "$glass" = 1500, "$uranium" = 1500, "$silver" = 1500) build_path = "/obj/item/weapon/gun/energy/crossbow/largecrossbow" + locked = 1 datum/design/temp_gun name = "Temperature Gun" diff --git a/icons/obj/gun.dmi b/icons/obj/gun.dmi index 4b79d29367c..d8a1dce90fa 100644 Binary files a/icons/obj/gun.dmi and b/icons/obj/gun.dmi differ