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