diff --git a/baystation12.dme b/baystation12.dme
index bdf792e43f7..4a5685547d2 100644
--- a/baystation12.dme
+++ b/baystation12.dme
@@ -206,7 +206,6 @@
#define FILE_DIR "icons/vending_icons"
#define FILE_DIR "interface"
#define FILE_DIR "maps"
-#define FILE_DIR "maps/backup"
#define FILE_DIR "maps/RandomZLevels"
#define FILE_DIR "sound"
#define FILE_DIR "sound/AI"
@@ -1167,11 +1166,7 @@
#include "code\WorkInProgress\AI_Visibility\minimap.dm"
#include "code\WorkInProgress\AI_Visibility\util.dm"
#include "code\WorkInProgress\animusstation\atm.dm"
-#include "code\WorkInProgress\Cael_Aislinn\energy_field.dm"
-#include "code\WorkInProgress\Cael_Aislinn\external_shield_gen.dm"
#include "code\WorkInProgress\Cael_Aislinn\power_monitor.dm"
-#include "code\WorkInProgress\Cael_Aislinn\shield_capacitor.dm"
-#include "code\WorkInProgress\Cael_Aislinn\shield_gen.dm"
#include "code\WorkInProgress\Cael_Aislinn\Rust\core_field.dm"
#include "code\WorkInProgress\Cael_Aislinn\Rust\core_gen.dm"
#include "code\WorkInProgress\Cael_Aislinn\Rust\core_monitor.dm"
diff --git a/code/WorkInProgress/Cael_Aislinn/energy_field.dm b/code/WorkInProgress/Cael_Aislinn/energy_field.dm
deleted file mode 100644
index 363b1ada26b..00000000000
--- a/code/WorkInProgress/Cael_Aislinn/energy_field.dm
+++ /dev/null
@@ -1,41 +0,0 @@
-
-//---------- actual energy field
-
-/obj/effect/energy_field
- name = "energy field"
- desc = "Impenetrable field of energy, capable of blocking anything as long as it's active."
- icon = 'shielding.dmi'
- icon_state = "shieldsparkles"
- anchored = 1
- layer = 2.1
- density = 0
- invisibility = 2
- var/strength = 0
- var/obj/machinery/shield_gen/parent
- var/stress = 0
-
-/obj/effect/energy_field/ex_act(var/severity)
- Stress(2)
- //nothing
-
-/obj/effect/energy_field/meteorhit(obj/effect/meteor/M as obj)
- if(M)
- walk(M,0)
-
-/obj/effect/energy_field/proc/Stress(var/severity)
- strength -= severity
- stress += severity
-
- //if we take too much damage, drop out - the generator will bring us back up if we have enough power
- if(strength < 1)
- invisibility = 2
- density = 0
-
-/obj/effect/energy_field/CanPass(atom/movable/mover, turf/target, height=1.5, air_group = 0)
- //Purpose: Determines if the object (or airflow) can pass this atom.
- //Called by: Movement, airflow.
- //Inputs: The moving atom (optional), target turf, "height" and air group
- //Outputs: Boolean if can pass.
-
- //return (!density || !height || air_group)
- return 0
diff --git a/code/WorkInProgress/Cael_Aislinn/external_shield_gen.dm b/code/WorkInProgress/Cael_Aislinn/external_shield_gen.dm
deleted file mode 100644
index c4524ad94e0..00000000000
--- a/code/WorkInProgress/Cael_Aislinn/external_shield_gen.dm
+++ /dev/null
@@ -1,64 +0,0 @@
-
-//---------- external shield generator
-//generates an energy field that loops around any built up area in space (is useless inside) halts movement and airflow, is blocked by walls, windows, airlocks etc
-
-/obj/machinery/shield_gen/external/New()
- ..()
-
-/obj/machinery/shield_gen/external/get_shielded_turfs()
- var
- list
- open = list(get_turf(src))
- closed = list()
-
- while(open.len)
- for(var/turf/T in open)
- for(var/turf/O in orange(1, T))
- if(get_dist(O,src) > field_radius)
- continue
- var/add_this_turf = 0
- if(istype(O,/turf/space))
- for(var/turf/simulated/G in orange(1, O))
- add_this_turf = 1
- break
- for(var/obj/structure/S in orange(1, O))
- add_this_turf = 1
- break
- for(var/obj/structure/S in O)
- add_this_turf = 0
- break
-
- if(add_this_turf && !(O in open) && !(O in closed))
- open += O
- open -= T
- closed += T
-
- return closed
-
-/obj/machinery/shield_gen/external/process()
- /*if(stat & (NOPOWER|BROKEN))
- return*/
- if(!active)
- return
- /*spawn(100)
- power()*/
- /*if(src.active >= 1)
- if(src.power == 0)
- src.visible_message("\red The [src.name] shuts down due to lack of power!", \
- "You hear heavy droning fade out")
- icon_state = "generator0"
- src.active = 0*/
- ..()
-
-/obj/item/weapon/circuitboard/shield_gen/external
- name = "Circuit Board (External Shield Generator)"
- build_path = "/obj/machinery/shield_gen/external"
- board_type = "machine"
- origin_tech = "electromagnetic=3;engineering=2;power=1"
- frame_desc = "Requires, 2 Cable Coil, 2 Nano Manipulator, 1 Advanced Matter Bin, 1 Console Screen and 1 High-Power Micro-Laser. "
- req_components = list(
- "/obj/item/weapon/cable_coil" = 2,
- "/obj/item/weapon/stock_parts/manipulator/nano" = 2,
- "/obj/item/weapon/stock_parts/matter_bin/adv" = 1,
- "/obj/item/weapon/stock_parts/console_screen" = 1,
- "/obj/item/weapon/stock_parts/micro_laser/high" = 1)
diff --git a/code/WorkInProgress/Cael_Aislinn/shield_capacitor.dm b/code/WorkInProgress/Cael_Aislinn/shield_capacitor.dm
deleted file mode 100644
index 50896434d7f..00000000000
--- a/code/WorkInProgress/Cael_Aislinn/shield_capacitor.dm
+++ /dev/null
@@ -1,156 +0,0 @@
-
-//---------- shield capacitor
-//pulls energy out of a power net and charges an adjacent generator
-
-/obj/machinery/shield_capacitor
- name = "shield capacitor"
- desc = "Machine that charges a shield generator."
- icon = 'shielding.dmi'
- icon_state = "capacitor"
- var/active = 1
- density = 1
- anchored = 1
- var/obj/machinery/shield_gen/target_generator
- var/stored_charge = 0
- var/time_since_fail = 100
- var/max_charge = 1000000
- var/max_charge_rate = 100000
- var/min_charge_rate = 0
- var/locked = 0
- //
- use_power = 1 //0 use nothing
- //1 use idle power
- //2 use active power
- idle_power_usage = 10
- active_power_usage = 100
- var/charge_rate = 100
-
-/obj/machinery/shield_capacitor/New()
- ..()
- target_generator = locate() in get_step(src,dir)
- if(target_generator && !target_generator.owned_capacitor)
- target_generator.owned_capacitor = src
- /*spawn(10)
- check_powered()*/
-
-/obj/machinery/shield_capacitor/power_change()
- if(stat & BROKEN)
- icon_state = "broke"
- else
- if( powered() )
- if (src.active)
- icon_state = "capacitor"
- else
- icon_state = "capacitor"
- stat &= ~NOPOWER
- else
- spawn(rand(0, 15))
- src.icon_state = "capacitor"
- stat |= NOPOWER
-
-/obj/machinery/shield_capacitor/process()
- //
- if(active)
- use_power = 2
- if(stored_charge + charge_rate > max_charge)
- active_power_usage = max_charge - stored_charge
- else
- active_power_usage = charge_rate
- stored_charge += active_power_usage
- else
- use_power = 1
-
- time_since_fail++
- if(stored_charge < active_power_usage * 1.5)
- time_since_fail = 0
- //
- updateDialog()
-
-/obj/machinery/shield_capacitor/attackby(obj/item/W, mob/user)
- /*if(istype(W, /obj/item/weapon/wrench))
- if(active)
- user << "Turn off the field generator first."
- return
-
- else if(state == 0)
- state = 1
- playsound(src.loc, 'Ratchet.ogg', 75, 1)
- user << "You secure the external reinforcing bolts to the floor."
- src.anchored = 1
- return
-
- else if(state == 1)
- state = 0
- playsound(src.loc, 'Ratchet.ogg', 75, 1)
- user << "You undo the external reinforcing bolts."
- src.anchored = 0
- return*/
-
- if(istype(W, /obj/item/weapon/card/id)||istype(W, /obj/item/device/pda))
- if (src.allowed(user))
- src.locked = !src.locked
- user << "Controls are now [src.locked ? "locked." : "unlocked."]"
- else
- user << "\red Access denied."
-
- else
- src.add_fingerprint(user)
- user << "\red You hit the [src.name] with your [W.name]!"
- for(var/mob/M in viewers(src))
- if(M == user) continue
- M.show_message("\red The [src.name] has been hit with the [W.name] by [user.name]!")
-
-/obj/machinery/shield_capacitor/attack_hand(mob/user as mob)
- interact(user)
- src.add_fingerprint(user)
-
-/obj/machinery/shield_capacitor/Topic(href, href_list[])
- ..()
- if( href_list["close"] )
- usr << browse(null, "window=shield_capacitor")
- usr.machine = null
- return
- if( href_list["toggle"] )
- active = !active
- if(active)
- use_power = 2
- else
- use_power = 1
- if( href_list["charge_rate"] )
- charge_rate += text2num(href_list["charge_rate"])
- if(charge_rate > max_charge_rate)
- charge_rate = max_charge_rate
- else if(charge_rate < min_charge_rate)
- charge_rate = min_charge_rate
- //
- updateDialog()
-
-/obj/machinery/shield_capacitor/proc/interact(mob/user)
- if ( (get_dist(src, user) > 1 ) || (stat & (BROKEN|NOPOWER)) )
- if (!istype(user, /mob/living/silicon))
- user.machine = null
- user << browse(null, "window=shield_capacitor")
- return
- var/t = "Shield Capacitor Control Console
"
- t += "[target_generator ? "Shield generator connected." : "Unable to locate shield generator!"]
"
- t += "This capacitor is: [active ? "Online" : "Offline" ] [active ? "\[Deactivate\]" : "\[Activate\]"]
"
- t += "[time_since_fail > 2 ? "Charging stable." : "Warning, low charge!"]
"
- t += "Capacitor charge: [stored_charge] Watts ([100 * stored_charge/max_charge]%)
"
- t += "Capacitor charge rate (approx): \[min\] \[--\] \[-\][charge_rate] Watts/sec \[+\] \[++\] \[max\]
"
- t += "
"
- t += "Close
"
- user << browse(t, "window=shield_capacitor;size=500x800")
- user.machine = src
-
-/obj/item/weapon/circuitboard/shield_capacitor
- name = "Circuit Board (Shield Capacitor)"
- build_path = "/obj/machinery/shield_capacitor"
- board_type = "machine"
- origin_tech = "electromagnetic=3;engineering=2;power=1"
- frame_desc = "Requires, 2 Cable Coil, 2 Nano Manipulator, 1 Advanced Matter Bin, 1 Console Screen and 1 High-Power Micro-Laser. "
- req_components = list(
- "/obj/item/weapon/cable_coil" = 2,
- "/obj/item/weapon/stock_parts/manipulator/nano" = 2,
- "/obj/item/weapon/stock_parts/matter_bin/adv" = 1,
- "/obj/item/weapon/stock_parts/console_screen" = 1,
- "/obj/item/weapon/stock_parts/micro_laser/high" = 1)
diff --git a/code/ZAS/Creation.dm b/code/ZAS/Creation.dm
index b283cd56d43..225fc02eff7 100644
--- a/code/ZAS/Creation.dm
+++ b/code/ZAS/Creation.dm
@@ -67,10 +67,10 @@ proc/FloodFill(turf/start)
return closed
-turf/proc/ZCanPass(turf/T, var/include_space = 0)
+turf/proc/ZCanPass(turf/T)
//Fairly standard pass checks for turfs, objects and directional windows. Also stops at the edge of space.
- if(istype(T,/turf/space) && !include_space) return 0
+ if(istype(T,/turf/space)) return 0
else
if(T.blocks_air||blocks_air)
return 0
diff --git a/code/defines/obj/supplypacks.dm b/code/defines/obj/supplypacks.dm
index 98d4c78d4e0..7e39e7e50fb 100755
--- a/code/defines/obj/supplypacks.dm
+++ b/code/defines/obj/supplypacks.dm
@@ -804,8 +804,7 @@
/datum/supply_packs/randomised/contraband
num_contained = 5
- //We randomly pick 5 items from this list through the constructor, look below
- contains = list("/obj/item/weapon/contraband/poster","/obj/item/weapon/cigpacket/dromedaryco","/obj/item/clothing/mask/cigarette/cigar/havana", "/obj/item/seeds/plumphelmet", "/obj/item/seeds/libertycap", "/obj/item/seeds/bloodtomato", "/obj/item/weapon/reagent_containers/food/drinks/bottle/absinthe", "/obj/item/weapon/reagent_containers/food/drinks/bottle/deadrum" )
+ contains = list("/obj/item/weapon/contraband/poster","/obj/item/weapon/cigpacket/dromedaryco") //We randomly pick 5 items from this list through the constructor, look below
name = "Contraband crate"
cost = 30
containertype = "/obj/structure/closet/crate"
diff --git a/code/defines/procs/gamehelpers.dm b/code/defines/procs/gamehelpers.dm
index 51b4adfee44..5b5b1bc8845 100644
--- a/code/defines/procs/gamehelpers.dm
+++ b/code/defines/procs/gamehelpers.dm
@@ -295,124 +295,3 @@ proc/is_carrying(var/M as mob, var/O as obj)
return 1
O = O:loc
return 0
-
-//hackcopy from a ZAS function, first created for use with intertial_damper/new shielding
-proc/CircleFloodFill(turf/start, var/radius = 3)
- if(!istype(start))
- return list()
- var
- list
- open = list(start)
- closed = list()
- possibles = circlerange(start,radius)
-
- while(open.len)
- for(var/turf/T in open)
- //Stop if there's a door, even if it's open. These are handled by indirect connection.
- if(!T.HasDoor())
-
- for(var/d in cardinal)
- var/turf/O = get_step(T,d)
- //Simple pass check.
- if(O.ZCanPass(T, 1) && !(O in open) && !(O in closed) && O in possibles)
- open += O
-
- open -= T
- closed += T
-
- return closed
-
-//floods in a square area, flowing around any shielding but including all other turf types
-//created initially for explosion / shield interaction
-proc/ExplosionFloodFill(turf/start, var/radius = 3)
- if(!istype(start))
- return list()
- var
- list
- open = list(start)
- closed = list()
- possibles = range(start,radius)
-
- while(open.len)
- for(var/turf/T in open)
- for(var/turf/O in range(T,1))
- if( !(O in possibles) || O in open || O in closed )
- continue
- var/shield_here = 0
- for(var/obj/effect/energy_field/E in O)
- if(E.density)
- shield_here = 1
- break
- if(!shield_here)
- open += O
-
- open -= T
- closed += T
-
- return closed
-
-/*
-
-/obj/machinery/shield_gen/external/get_shielded_turfs()
- var
- list
- open = list(get_turf(src))
- closed = list()
-
- while(open.len)
- for(var/turf/T in open)
- for(var/turf/O in orange(1, T))
- if(get_dist(O,src) > field_radius)
- continue
- var/add_this_turf = 0
- if(istype(O,/turf/space))
- for(var/turf/simulated/G in orange(1, O))
- add_this_turf = 1
- break
- for(var/obj/structure/S in orange(1, O))
- add_this_turf = 1
- break
- for(var/obj/structure/S in O)
- add_this_turf = 0
- break
-
- if(add_this_turf && !(O in open) && !(O in closed))
- open += O
- open -= T
- closed += T
-
- return closed
-*/
-
-//floods in a circular area, flowing around any shielding but including all other turf types
-//created initially for explosion / shield interaction
-proc/ExplosionCircleFloodFill(turf/start, var/radius = 3)
- if(!istype(start))
- return list()
- var
- list
- open = list(start)
- closed = list()
- possibles = circlerange(start,radius)
-
- while(open.len)
- for(var/turf/T in open)
- for(var/turf/O in range(T,1))
- if(get_dist(O,start) > radius)
- continue
-
- if( !(O in possibles) || O in open || O in closed )
- continue
- var/shield_here = 0
- for(var/obj/effect/energy_field/E in O)
- if(E.density)
- shield_here = 1
- break
- if(!shield_here && (O in possibles) && !(O in open) && !(O in closed))
- open += O
-
- open -= T
- closed += T
-
- return closed
-
diff --git a/code/game/objects/explosion.dm b/code/game/objects/explosion.dm
index 658d1a26c4c..cf5fc859d66 100644
--- a/code/game/objects/explosion.dm
+++ b/code/game/objects/explosion.dm
@@ -30,91 +30,22 @@ proc/explosion(turf/epicenter, devastation_range, heavy_impact_range, light_impa
E.set_up(epicenter)
E.start()
- var/list/dTurfs = list() //Holds the turfs in devestation range.
- var/list/hTurfs = list() //Holds the turfs in heavy impact range, minus turfs in devestation range.
- var/list/lTurfs = list() //Holds the turfs in light impact range, minus turfs in devestation range and heavy impact range.
- var/list/fTurfs = list() //Holds turfs to loop through for mobs to flash. (Hehehe, dirty)
-
- //cael - replaced range() and circlerange() with FloodFill() to prevent explosions getting through shielding (ultrarealism mode)
- //also lag is pre'y bad
- /*
- if(roundExplosions)
- if(/obj/effect/energy_field in range(src, max(devastation_range, heavy_impact_range, light_impact_range)))
- fTurfs = ExplosionCircleFloodFill(epicenter,max(devastation_range, heavy_impact_range, light_impact_range, flash_range))
- dTurfs = ExplosionCircleFloodFill(epicenter,devastation_range)
- hTurfs = ExplosionCircleFloodFill(epicenter,heavy_impact_range) - dTurfs
- lTurfs = ExplosionCircleFloodFill(epicenter,light_impact_range) - dTurfs - hTurfs
- else
- fTurfs = circlerange(epicenter,max(devastation_range, heavy_impact_range, light_impact_range, flash_range))
- dTurfs = circlerange(epicenter,devastation_range)
- hTurfs = circlerange(epicenter,heavy_impact_range) - dTurfs
- lTurfs = circlerange(epicenter,light_impact_range) - dTurfs - hTurfs
-
- //add some stress to nearby shields
- for(var/obj/effect/energy_field/E in circlerange(epicenter, devastation_range))
- E.Stress(3)
- for(var/obj/effect/energy_field/E in circlerange(epicenter, heavy_impact_range))
- E.Stress(2)
- for(var/obj/effect/energy_field/E in circlerange(epicenter, light_impact_range))
- E.Stress(1)
- else
- if(/obj/effect/energy_field in range(src, max(devastation_range, heavy_impact_range, light_impact_range)))
- fTurfs = ExplosionFloodFill(epicenter,max(devastation_range, heavy_impact_range, light_impact_range, flash_range))
- dTurfs = ExplosionFloodFill(epicenter,devastation_range)
- hTurfs = ExplosionFloodFill(epicenter,heavy_impact_range) - dTurfs
- lTurfs = ExplosionFloodFill(epicenter,light_impact_range) - dTurfs - hTurfs
- else
- fTurfs = range(epicenter,max(devastation_range, heavy_impact_range, light_impact_range, flash_range))
- dTurfs = range(epicenter,devastation_range)
- hTurfs = range(epicenter,heavy_impact_range) - dTurfs
- lTurfs = range(epicenter,light_impact_range) - dTurfs - hTurfs
-
- //add some stress to nearby shields
- for(var/obj/effect/energy_field/E in range(epicenter, devastation_range))
- E.Stress(3)
- for(var/obj/effect/energy_field/E in range(epicenter, heavy_impact_range))
- E.Stress(2)
- for(var/obj/effect/energy_field/E in range(epicenter, light_impact_range))
- E.Stress(1)*/
+ var/list/dTurfs = list() //Holds the turfs in devestation range.
+ var/list/hTurfs = list() //Holds the turfs in heavy impact range, minus turfs in devestation range.
+ var/list/lTurfs = list() //Holds the turfs in light impact range, minus turfs in devestation range and heavy impact range.
+ var/list/fTurfs = list() //Holds turfs to loop through for mobs to flash. (Hehehe, dirty)
if(roundExplosions)
- if(/obj/effect/energy_field in range(src, max(devastation_range, heavy_impact_range, light_impact_range)))
- fTurfs = circlerange(epicenter,max(devastation_range, heavy_impact_range, light_impact_range, flash_range))
- dTurfs = circlerange(epicenter,devastation_range)
- hTurfs = circlerange(epicenter,heavy_impact_range) - dTurfs
- lTurfs = circlerange(epicenter,light_impact_range) - dTurfs - hTurfs
- else
- fTurfs = circlerange(epicenter,max(devastation_range, heavy_impact_range, light_impact_range, flash_range))
- dTurfs = circlerange(epicenter,devastation_range)
- hTurfs = circlerange(epicenter,heavy_impact_range) - dTurfs
- lTurfs = circlerange(epicenter,light_impact_range) - dTurfs - hTurfs
-
- //add some stress to nearby shields
- for(var/obj/effect/energy_field/E in circlerange(epicenter, devastation_range))
- E.Stress(3)
- for(var/obj/effect/energy_field/E in circlerange(epicenter, heavy_impact_range))
- E.Stress(2)
- for(var/obj/effect/energy_field/E in circlerange(epicenter, light_impact_range))
- E.Stress(1)
+ fTurfs = circlerange(epicenter,max(devastation_range, heavy_impact_range, light_impact_range, flash_range))
+ dTurfs = circlerange(epicenter,devastation_range)
+ hTurfs = circlerange(epicenter,heavy_impact_range) - dTurfs
+ lTurfs = circlerange(epicenter,light_impact_range) - dTurfs - hTurfs
else
- if(/obj/effect/energy_field in range(src, max(devastation_range, heavy_impact_range, light_impact_range)))
- fTurfs = range(epicenter,max(devastation_range, heavy_impact_range, light_impact_range, flash_range))
- dTurfs = range(epicenter,devastation_range)
- hTurfs = range(epicenter,heavy_impact_range) - dTurfs
- lTurfs = range(epicenter,light_impact_range) - dTurfs - hTurfs
- else
- fTurfs = range(epicenter,max(devastation_range, heavy_impact_range, light_impact_range, flash_range))
- dTurfs = range(epicenter,devastation_range)
- hTurfs = range(epicenter,heavy_impact_range) - dTurfs
- lTurfs = range(epicenter,light_impact_range) - dTurfs - hTurfs
+ fTurfs = range(epicenter,max(devastation_range, heavy_impact_range, light_impact_range, flash_range))
+ dTurfs = range(epicenter,devastation_range)
+ hTurfs = range(epicenter,heavy_impact_range) - dTurfs
+ lTurfs = range(epicenter,light_impact_range) - dTurfs - hTurfs
- //add some stress to nearby shields
- for(var/obj/effect/energy_field/E in range(epicenter, devastation_range))
- E.Stress(3)
- for(var/obj/effect/energy_field/E in range(epicenter, heavy_impact_range))
- E.Stress(2)
- for(var/obj/effect/energy_field/E in range(epicenter, light_impact_range))
- E.Stress(1)
for(var/turf/T in dTurfs) //Loop through the turfs in devestation range.
spawn() //Try to pop each turf into it's own thread, speed things along.
diff --git a/code/modules/chemical/Chemistry-Reagents.dm b/code/modules/chemical/Chemistry-Reagents.dm
index 21aeb9a5c0a..f033f30f5d1 100644
--- a/code/modules/chemical/Chemistry-Reagents.dm
+++ b/code/modules/chemical/Chemistry-Reagents.dm
@@ -2749,47 +2749,12 @@ datum
color = "#664300" // rgb: 102, 67, 0
dizzy_adj = 3
- absinthe
- name = "Absinthe"
- id = "absinthe"
- description = "Watch out that the Green Fairy doesn't come for you!"
- color = "#33EE00" // rgb: lots, ??, ??
- dizzy_adj = 5
- slur_start = 25
- confused_start = 100
-
- //copy paste from LSD... shoot me
- on_mob_life(var/mob/M)
- if(!M) M = holder.my_atom
- if(!data) data = 1
- data++
- M:hallucination += 5
- if(volume > REAGENTS_OVERDOSE)
- M:adjustToxLoss(1)
- // if(data >= 100)
- // M:adjustToxLoss(0.1)
- ..()
- return
-
rum
name = "Rum"
id = "rum"
description = "Yohoho and all that."
color = "#664300" // rgb: 102, 67, 0
- deadrum
- name = "Deadrum"
- id = "rum"
- description = "Popular with the sailors. Not very popular with everyone else."
- color = "#664300" // rgb: 102, 67, 0
-
- on_mob_life(var/mob/living/M as mob)
- ..()
- M.dizziness +=5
- if(volume > REAGENTS_OVERDOSE)
- M:adjustToxLoss(1)
- return
-
vodka
name = "Vodka"
id = "vodka"
diff --git a/code/modules/chemical/Chemistry-Tools.dm b/code/modules/chemical/Chemistry-Tools.dm
index 29e992315b5..26bb307ea34 100644
--- a/code/modules/chemical/Chemistry-Tools.dm
+++ b/code/modules/chemical/Chemistry-Tools.dm
@@ -3009,14 +3009,6 @@
..()
reagents.add_reagent("rum", 100)
-/obj/item/weapon/reagent_containers/food/drinks/bottle/deadrum
- name = "Deadrum Bumbo"
- desc = "Tastes a lot sweeter than ordinary rum (that's to help disguise the kick)."
- icon_state = "deadrumbottle"
- New()
- ..()
- reagents.add_reagent("deadrum", 100)
-
/obj/item/weapon/reagent_containers/food/drinks/bottle/holywater
name = "Flask of Holy Water"
desc = "A flask of the chaplain's holy water."
@@ -3065,14 +3057,6 @@
..()
reagents.add_reagent("wine", 100)
-/obj/item/weapon/reagent_containers/food/drinks/bottle/absinthe
- name = "Jailbreaker Verte"
- desc = "Twenty-fourth century Green Fairy, one sip of this and you just know you're gonna have a good time."
- icon_state = "absinthebottle"
- New()
- ..()
- reagents.add_reagent("absinthe", 100)
-
//////////////////////////JUICES AND STUFF ///////////////////////
/obj/item/weapon/reagent_containers/food/drinks/bottle/orangejuice
diff --git a/code/modules/recycling/conveyor2.dm b/code/modules/recycling/conveyor2.dm
index 9f59340ee07..c2136c8cdc7 100644
--- a/code/modules/recycling/conveyor2.dm
+++ b/code/modules/recycling/conveyor2.dm
@@ -123,7 +123,7 @@
//if it's a crate, move the item into the crate
var/turf/T = get_step(A,movedir)
for(var/obj/structure/closet/crate/C in T)
- if(C && C.opened && !istype(A, /obj/structure/closet/crate))
+ if(C && C.opened)
A.loc = C.loc
break
diff --git a/icons/obj/drinks.dmi b/icons/obj/drinks.dmi
index 37974b4b7db..730ebee281d 100644
Binary files a/icons/obj/drinks.dmi and b/icons/obj/drinks.dmi differ