From aeb1f5ae689379872b246e5817fcd8fb254bdc30 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Thu, 14 May 2015 01:39:49 -0400 Subject: [PATCH 01/45] Updates instances of if(cell.use(...)) --- code/game/machinery/rechargestation.dm | 3 ++- code/game/objects/items/weapons/stunbaton.dm | 3 ++- code/modules/mob/living/silicon/robot/robot.dm | 6 ++++-- code/modules/projectiles/guns/energy.dm | 2 +- 4 files changed, 9 insertions(+), 5 deletions(-) diff --git a/code/game/machinery/rechargestation.dm b/code/game/machinery/rechargestation.dm index 22612983a8..db7b9d0e45 100644 --- a/code/game/machinery/rechargestation.dm +++ b/code/game/machinery/rechargestation.dm @@ -167,7 +167,8 @@ return if(!R.cell.fully_charged()) var/diff = min(R.cell.maxcharge - R.cell.charge, charge_rate) // Capped at charge_rate charge / tick - if (cell.use(diff)) + if (cell.charge >= diff) + cell.use(diff) R.cell.give(diff) if(weld_rate && R.getBruteLoss()) R.adjustBruteLoss(-1) diff --git a/code/game/objects/items/weapons/stunbaton.dm b/code/game/objects/items/weapons/stunbaton.dm index 62890d849c..ca495ee263 100644 --- a/code/game/objects/items/weapons/stunbaton.dm +++ b/code/game/objects/items/weapons/stunbaton.dm @@ -35,7 +35,8 @@ /obj/item/weapon/melee/baton/proc/deductcharge(var/chrgdeductamt) if(bcell) - if(bcell.use(chrgdeductamt)) + if(bcell.charge >= chrgdeductamt) + bcell.use(chrgdeductamt) return 1 else status = 0 diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index b762ec79c1..71171212a2 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -1233,8 +1233,10 @@ var/list/robot_verbs_default = list( if(cell.charge == 0) return 0 - if(cell.use(amount * CELLRATE * CYBORG_POWER_USAGE_MULTIPLIER)) - used_power_this_tick += amount * CYBORG_POWER_USAGE_MULTIPLIER + var/power_use = amount * CYBORG_POWER_USAGE_MULTIPLIER + if(cell.charge >= CELLRATE * power_use) + cell.use(CELLRATE * power_use) + used_power_this_tick += power_use return 1 return 0 diff --git a/code/modules/projectiles/guns/energy.dm b/code/modules/projectiles/guns/energy.dm index 994256b12a..f85f41276f 100644 --- a/code/modules/projectiles/guns/energy.dm +++ b/code/modules/projectiles/guns/energy.dm @@ -57,7 +57,7 @@ /obj/item/weapon/gun/energy/consume_next_projectile() if(!power_supply) return null if(!ispath(projectile_type)) return null - if(!power_supply.use(charge_cost)) return null + if(power_supply.charge < charge_cost || !power_supply.use(charge_cost)) return null return new projectile_type(src) /obj/item/weapon/gun/energy/proc/get_external_power_supply() From 966d797e0712eab4db4647051dfc905acf1c1063 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Sat, 16 May 2015 19:59:21 +0930 Subject: [PATCH 02/45] Converts bat to use the material system. --- baystation12.dme | 1 + code/game/objects/items/weapons/bats.dm | 80 ++++++++++++++++++++ code/game/objects/items/weapons/twohanded.dm | 63 ++++----------- code/game/objects/structures/window.dm | 4 +- code/modules/materials/materials.dm | 50 ++++++++++-- 5 files changed, 142 insertions(+), 56 deletions(-) create mode 100644 code/game/objects/items/weapons/bats.dm diff --git a/baystation12.dme b/baystation12.dme index e79d4b43af..fad46ccc34 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -605,6 +605,7 @@ #include "code\game\objects\items\stacks\tiles\tile_types.dm" #include "code\game\objects\items\weapons\AI_modules.dm" #include "code\game\objects\items\weapons\autopsy.dm" +#include "code\game\objects\items\weapons\bats.dm" #include "code\game\objects\items\weapons\candle.dm" #include "code\game\objects\items\weapons\cards_ids.dm" #include "code\game\objects\items\weapons\cigs_lighters.dm" diff --git a/code/game/objects/items/weapons/bats.dm b/code/game/objects/items/weapons/bats.dm new file mode 100644 index 0000000000..563cc7d161 --- /dev/null +++ b/code/game/objects/items/weapons/bats.dm @@ -0,0 +1,80 @@ +/obj/item/weapon/twohanded/baseballbat + name = "wooden bat" + desc = "HOME RUN!" + icon_state = "metalbat0" + base_icon = "metalbat" + item_state = "metalbat" + sharp = 0 + edge = 0 + w_class = 3 + force = 10 + throw_speed = 3 + throw_range = 7 + throwforce = 7 + attack_verb = list("smashed", "beaten", "slammed", "smacked", "struck", "battered", "bonked") + hitsound = 'sound/weapons/genhit3.ogg' + force_wielded = 20 + health = 10 + var/material/material + +/obj/item/weapon/twohanded/baseballbat/New(var/newloc, var/material_key) + ..(newloc) + if(!material_key) + material_key = "wood" + material = get_material_by_name(material_key) + if(!material) + qdel(src) + else + name = "[material.display_name] bat" + base_name = name + health = round(material.integrity/10) + force = round(material.get_blunt_damage()/2) + force_unwielded = force + force_wielded = material.get_blunt_damage() + color = material.icon_colour + if(material.products_need_process()) + processing_objects |= src + +/obj/item/weapon/twohanded/baseballbat/Destroy() + processing_objects -= src + ..() + +/obj/item/weapon/twohanded/baseballbat/attack() + if(!..()) + return + if(!prob(material.hardness)) + health-- + if(health<=0) + shatter() + +/obj/item/weapon/twohanded/baseballbat/proc/shatter() + var/turf/T = get_turf(src) + T.visible_message("\The [src] shatters!") + if(istype(loc, /mob/living)) + var/mob/living/M = loc + M.drop_from_inventory(src) + playsound(src, "shatter", 70, 1) + new material.shard_type(T) + qdel(src) + +/obj/item/weapon/twohanded/baseballbat/process() + if(!material.radioactivity) + return + for(var/mob/living/L in range(1,src)) + L.apply_effect(round(material.radioactivity/3),IRRADIATE,0) + +//Predefined materials go here. +/obj/item/weapon/twohanded/baseballbat/metal/New(var/newloc) + ..(newloc,"steel") + +/obj/item/weapon/twohanded/baseballbat/uranium/New(var/newloc) + ..(newloc,"uranium") + +/obj/item/weapon/twohanded/baseballbat/gold/New(var/newloc) + ..(newloc,"gold") + +/obj/item/weapon/twohanded/baseballbat/platinum/New(var/newloc) + ..(newloc,"platinum") + +/obj/item/weapon/twohanded/baseballbat/diamond/New(var/newloc) + ..(newloc,"diamond") \ No newline at end of file diff --git a/code/game/objects/items/weapons/twohanded.dm b/code/game/objects/items/weapons/twohanded.dm index edf09f6ea8..e4a42d3f33 100644 --- a/code/game/objects/items/weapons/twohanded.dm +++ b/code/game/objects/items/weapons/twohanded.dm @@ -19,30 +19,34 @@ /obj/item/weapon/twohanded var/wielded = 0 var/force_wielded = 0 + var/force_unwielded var/wieldsound = null var/unwieldsound = null var/base_icon + var/base_name /obj/item/weapon/twohanded/proc/unwield() wielded = 0 - force = initial(force) - name = "[initial(name)]" + force = force_unwielded + name = "[base_name]" update_icon() /obj/item/weapon/twohanded/proc/wield() wielded = 1 force = force_wielded - name = "[initial(name)] (Wielded)" + name = "[base_name] (Wielded)" update_icon() /obj/item/weapon/twohanded/New() ..() update_icon() + force_unwielded = force + base_name = name /obj/item/weapon/twohanded/mob_can_equip(M as mob, slot) //Cannot equip wielded items. if(wielded) - M << "Unwield the [initial(name)] first!" + M << "Unwield the [base_name] first!" return 0 return ..() @@ -89,13 +93,13 @@ user << "You need your other hand to be empty" return wield() - user << "You grab the [initial(name)] with both hands." + user << "You grab the [base_name] with both hands." if (src.wieldsound) playsound(src.loc, wieldsound, 50, 1) var/obj/item/weapon/twohanded/offhand/O = new(user) ////Let's reserve his other hand~ - O.name = "[initial(name)] - offhand" - O.desc = "Your second grip on the [initial(name)]" + O.name = "[base_name] - offhand" + O.desc = "Your second grip on the [base_name]" user.put_in_inactive_hand(O) if(istype(user,/mob/living/carbon/human)) @@ -111,11 +115,11 @@ icon_state = "offhand" name = "offhand" - unwield() - qdel(src) +/obj/item/weapon/twohanded/offhand/unwield() + qdel(src) - wield() - qdel(src) +/obj/item/weapon/twohanded/offhand/wield() + qdel(src) /obj/item/weapon/twohanded/offhand/update_icon() return @@ -142,15 +146,7 @@ if(A && wielded && (istype(A,/obj/structure/window) || istype(A,/obj/structure/grille))) //destroys windows and grilles in one hit if(istype(A,/obj/structure/window)) //should just make a window.Break() proc but couldn't bother with it var/obj/structure/window/W = A - - new /obj/item/weapon/shard( W.loc ) - if(W.reinf) PoolOrNew(/obj/item/stack/rods, W.loc) - - if (W.dir == SOUTHWEST) - new /obj/item/weapon/shard( W.loc ) - if(W.reinf) PoolOrNew(/obj/item/stack/rods, W.loc) - qdel(A) - + W.shatter() /* * Double-Bladed Energy Swords - Cheridan @@ -209,30 +205,3 @@ flags = NOSHIELD hitsound = 'sound/weapons/bladeslice.ogg' attack_verb = list("attacked", "poked", "jabbed", "torn", "gored") - -/obj/item/weapon/twohanded/baseballbat - name = "wooden bat" - desc = "HOME RUN!" - icon_state = "woodbat0" - base_icon = "woodbat" - item_state = "woodbat" - sharp = 0 - edge = 0 - w_class = 3 - force = 10 - throw_speed = 3 - throw_range = 7 - throwforce = 7 - attack_verb = list("smashed", "beaten", "slammed", "smacked", "struck", "battered", "bonked") - hitsound = 'sound/weapons/genhit3.ogg' - force_wielded = 20 - -/obj/item/weapon/twohanded/baseballbat/metal - name = "metal bat" - desc = "A shiny metal bat." - icon_state = "metalbat0" - base_icon = "metalbat" - item_state = "metalbat" - force = 15 - w_class = 3.0 - force_wielded = 25 \ No newline at end of file diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm index 387c76eb69..5c51758380 100644 --- a/code/game/objects/structures/window.dm +++ b/code/game/objects/structures/window.dm @@ -87,11 +87,11 @@ var/index = null index = 0 while(index < 2) - new shardtype(loc) + new shardtype(loc) //todo pooling? if(reinf) PoolOrNew(/obj/item/stack/rods, loc) index++ else - new shardtype(loc) + new shardtype(loc) //todo pooling? if(reinf) PoolOrNew(/obj/item/stack/rods, loc) qdel(src) return diff --git a/code/modules/materials/materials.dm b/code/modules/materials/materials.dm index d2fa4bcab1..1e49ff8742 100644 --- a/code/modules/materials/materials.dm +++ b/code/modules/materials/materials.dm @@ -13,7 +13,6 @@ var/list/name_to_material /proc/get_material_by_name(name) if(!name_to_material) populate_material_list() - return name_to_material[name] /* @@ -28,23 +27,30 @@ var/list/name_to_material var/name // Tag for use in overlay generation/list population . var/display_name var/flags = 0 - var/icon_base = "metal" + var/rotting_touch_message = "crumbles under your touch" + + // Shards/tables/structures + var/tableslam_noise = 'sound/weapons/tablehit1.ogg' + var/shard_type = SHARD_SHRAPNEL + var/shard_icon + var/shard_can_repair = 1 + + // Icons var/icon_colour + var/icon_base = "metal" var/icon_reinf = "reinf_metal" var/stack_type + + // Attributes var/cut_delay = 0 var/radioactivity var/ignition_point var/melting_point = 1800 // K, walls will take damage if they're next to a fire hotter than this var/integrity = 150 // Damage before wall falls apart, essentially. var/hardness = 60 // Used to determine if a hulk can punch through this wall. - var/rotting_touch_message = "crumbles under your touch" var/opacity = 1 var/explosion_resistance = 5 - var/shard_type = SHARD_SHRAPNEL - var/shard_icon - var/shard_can_repair = 1 - var/tableslam_noise = 'sound/weapons/tablehit1.ogg' + var/weight = 20 /material/New() ..() @@ -53,6 +59,15 @@ var/list/name_to_material if(!shard_icon) shard_icon = shard_type +/material/proc/get_blunt_damage() + return weight //todo + +/material/proc/get_edge_damage() + return round(hardness/4) //todo + +/material/proc/products_need_process() + return (radioactivity>0) //todo + /material/placeholder name = "placeholder" @@ -84,6 +99,7 @@ var/list/name_to_material icon_base = "stone" icon_reinf = "reinf_stone" icon_colour = "#007A00" + weight = 22 /material/diamond name = "diamond" @@ -94,16 +110,21 @@ var/list/name_to_material opacity = 0.4 shard_type = SHARD_SHARD tableslam_noise = 'sound/effects/Glasshit.ogg' + hardness = 100 /material/gold name = "gold" stack_type = /obj/item/stack/sheet/mineral/gold icon_colour = "#EDD12F" + weight = 24 + hardness = 40 /material/silver name = "silver" stack_type = /obj/item/stack/sheet/mineral/silver icon_colour = "#D1E6E3" + weight = 22 + hardness = 50 /material/phoron name = "phoron" @@ -112,6 +133,7 @@ var/list/name_to_material icon_base = "stone" icon_colour = "#FC2BC5" shard_type = SHARD_SHARD + hardness = 30 /material/sandstone name = "sandstone" @@ -120,6 +142,8 @@ var/list/name_to_material icon_reinf = "reinf_stone" icon_colour = "#D9C179" shard_type = SHARD_STONE_PIECE + weight = 22 + hardness = 55 /material/steel name = DEFAULT_WALL_MATERIAL @@ -143,6 +167,8 @@ var/list/name_to_material icon_reinf = "reinf_over" icon_colour = "#777777" explosion_resistance = 25 + hardness = 80 + weight = 23 /material/glass name = "glass" @@ -153,6 +179,8 @@ var/list/name_to_material integrity = 100 shard_type = SHARD_SHARD tableslam_noise = 'sound/effects/Glasshit.ogg' + hardness = 15 + weight = 15 /material/glass/phoron name = "phoron glass" @@ -161,6 +189,8 @@ var/list/name_to_material ignition_point = 300 integrity = 200 // idk why but phoron windows are strong, so. icon_colour = "#FC2BC5" + hardness = 10 + weight = 10 /material/plastic name = "plastic" @@ -169,6 +199,8 @@ var/list/name_to_material icon_base = "solid" icon_reinf = "reinf_over" icon_colour = "#CCCCCC" + hardness = 10 + weight = 12 /material/osmium name = "osmium" @@ -189,11 +221,13 @@ var/list/name_to_material name = "platinum" stack_type = /obj/item/stack/sheet/mineral/platinum icon_colour = "#9999FF" + weight = 27 /material/iron name = "iron" stack_type = /obj/item/stack/sheet/mineral/iron icon_colour = "#5C5454" + weight = 22 /material/wood name = "wood" @@ -204,6 +238,8 @@ var/list/name_to_material explosion_resistance = 2 shard_type = SHARD_SPLINTER shard_can_repair = 0 // you can't weld splinters back into planks + hardness = 15 + weight = 18 /material/wood/holographic name = "holographic wood" From f27ddd548fd444a876fa61e6692c67e99f4e9c5c Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Sat, 16 May 2015 20:09:28 +0930 Subject: [PATCH 03/45] Restructuring a bunch of files in prep for widespread path changes. --- baystation12.dme | 12 +- .../items/weapons/improvised_components.dm | 68 +++ code/game/objects/items/weapons/kitchen.dm | 468 ------------------ .../items/weapons/{ => material}/bats.dm | 0 .../objects/items/weapons/material/kitchen.dm | 392 +++++++++++++++ .../objects/items/weapons/material/knives.dm | 106 ++++ .../objects/items/weapons/material/misc.dm | 11 + .../items/weapons/{ => material}/shards.dm | 240 ++++----- .../objects/items/weapons/material/swords.dm | 49 ++ .../objects/items/weapons/material/thrown.dm | 31 ++ .../items/weapons/{ => material}/twohanded.dm | 0 code/game/objects/items/weapons/weaponry.dm | 209 -------- 12 files changed, 786 insertions(+), 800 deletions(-) create mode 100644 code/game/objects/items/weapons/improvised_components.dm rename code/game/objects/items/weapons/{ => material}/bats.dm (100%) create mode 100644 code/game/objects/items/weapons/material/kitchen.dm create mode 100644 code/game/objects/items/weapons/material/knives.dm create mode 100644 code/game/objects/items/weapons/material/misc.dm rename code/game/objects/items/weapons/{ => material}/shards.dm (96%) create mode 100644 code/game/objects/items/weapons/material/swords.dm create mode 100644 code/game/objects/items/weapons/material/thrown.dm rename code/game/objects/items/weapons/{ => material}/twohanded.dm (100%) diff --git a/baystation12.dme b/baystation12.dme index fad46ccc34..7b3e8565e8 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -605,7 +605,6 @@ #include "code\game\objects\items\stacks\tiles\tile_types.dm" #include "code\game\objects\items\weapons\AI_modules.dm" #include "code\game\objects\items\weapons\autopsy.dm" -#include "code\game\objects\items\weapons\bats.dm" #include "code\game\objects\items\weapons\candle.dm" #include "code\game\objects\items\weapons\cards_ids.dm" #include "code\game\objects\items\weapons\cigs_lighters.dm" @@ -618,6 +617,7 @@ #include "code\game\objects\items\weapons\flamethrower.dm" #include "code\game\objects\items\weapons\gift_wrappaper.dm" #include "code\game\objects\items\weapons\handcuffs.dm" +#include "code\game\objects\items\weapons\improvised_components.dm" #include "code\game\objects\items\weapons\kitchen.dm" #include "code\game\objects\items\weapons\manuals.dm" #include "code\game\objects\items\weapons\mop.dm" @@ -628,7 +628,6 @@ #include "code\game\objects\items\weapons\RCD.dm" #include "code\game\objects\items\weapons\RSF.dm" #include "code\game\objects\items\weapons\scrolls.dm" -#include "code\game\objects\items\weapons\shards.dm" #include "code\game\objects\items\weapons\shields.dm" #include "code\game\objects\items\weapons\stunbaton.dm" #include "code\game\objects\items\weapons\surgery_tools.dm" @@ -636,7 +635,6 @@ #include "code\game\objects\items\weapons\tape.dm" #include "code\game\objects\items\weapons\teleportation.dm" #include "code\game\objects\items\weapons\tools.dm" -#include "code\game\objects\items\weapons\twohanded.dm" #include "code\game\objects\items\weapons\weaponry.dm" #include "code\game\objects\items\weapons\weldbackpack.dm" #include "code\game\objects\items\weapons\wires.dm" @@ -674,6 +672,14 @@ #include "code\game\objects\items\weapons\implants\implantfreedom.dm" #include "code\game\objects\items\weapons\implants\implantpad.dm" #include "code\game\objects\items\weapons\implants\implantuplink.dm" +#include "code\game\objects\items\weapons\material\bats.dm" +#include "code\game\objects\items\weapons\material\kitchen.dm" +#include "code\game\objects\items\weapons\material\knives.dm" +#include "code\game\objects\items\weapons\material\misc.dm" +#include "code\game\objects\items\weapons\material\shards.dm" +#include "code\game\objects\items\weapons\material\swords.dm" +#include "code\game\objects\items\weapons\material\thrown.dm" +#include "code\game\objects\items\weapons\material\twohanded.dm" #include "code\game\objects\items\weapons\melee\energy.dm" #include "code\game\objects\items\weapons\melee\misc.dm" #include "code\game\objects\items\weapons\storage\backpack.dm" diff --git a/code/game/objects/items/weapons/improvised_components.dm b/code/game/objects/items/weapons/improvised_components.dm new file mode 100644 index 0000000000..31a6e8d6a9 --- /dev/null +++ b/code/game/objects/items/weapons/improvised_components.dm @@ -0,0 +1,68 @@ +/obj/item/butterflyconstruction + name = "unfinished concealed knife" + desc = "An unfinished concealed knife, it looks like the screws need to be tightened." + icon = 'icons/obj/buildingobject.dmi' + icon_state = "butterflystep1" + +/obj/item/butterflyconstruction/attackby(obj/item/W as obj, mob/user as mob) + if(istype(W,/obj/item/weapon/screwdriver)) + user << "You finish the concealed blade weapon." + new /obj/item/weapon/butterfly(user.loc) + qdel(src) + return + +/obj/item/butterflyblade + name = "knife blade" + desc = "A knife blade. Unusable as a weapon without a grip." + icon = 'icons/obj/buildingobject.dmi' + icon_state = "butterfly2" + matter = list(DEFAULT_WALL_MATERIAL = 5000) + +/obj/item/butterflyhandle + name = "concealed knife grip" + desc = "A plasteel grip with screw fittings for a blade." + icon = 'icons/obj/buildingobject.dmi' + icon_state = "butterfly1" + matter = list(DEFAULT_WALL_MATERIAL = 4000) + +/obj/item/butterflyhandle/attackby(obj/item/W as obj, mob/user as mob) + if(istype(W,/obj/item/butterflyblade)) + user << "You attach the two concealed blade parts." + new /obj/item/butterflyconstruction(user.loc) + qdel(W) + qdel(src) + return + update_icon(user) + +/obj/item/weapon/wirerod + name = "wired rod" + desc = "A rod with some wire wrapped around the top. It'd be easy to attach something to the top bit." + icon_state = "wiredrod" + item_state = "rods" + flags = CONDUCT + force = 8 + throwforce = 10 + w_class = 3 + attack_verb = list("hit", "bludgeoned", "whacked", "bonked") + + +/obj/item/weapon/wirerod/attackby(var/obj/item/I, mob/user as mob) + ..() + if(istype(I, /obj/item/weapon/shard)) + var/obj/item/weapon/twohanded/spear/S = new /obj/item/weapon/twohanded/spear + + user.put_in_hands(S) + user << "You fasten the glass shard to the top of the rod with the cable." + qdel(I) + qdel(src) + update_icon(user) + + else if(istype(I, /obj/item/weapon/wirecutters)) + var/obj/item/weapon/melee/baton/cattleprod/P = new /obj/item/weapon/melee/baton/cattleprod + + user.put_in_hands(P) + user << "You fasten the wirecutters to the top of the rod with the cable, prongs outward." + qdel(I) + qdel(src) + update_icon(user) + update_icon(user) diff --git a/code/game/objects/items/weapons/kitchen.dm b/code/game/objects/items/weapons/kitchen.dm index 3a1496939e..e69de29bb2 100644 --- a/code/game/objects/items/weapons/kitchen.dm +++ b/code/game/objects/items/weapons/kitchen.dm @@ -1,468 +0,0 @@ -/* Kitchen tools - * Contains: - * Utensils - * Spoons - * Forks - * Knives - * Kitchen knives - * Butcher's cleaver - * Rolling Pins - * Trays - */ - -/obj/item/weapon/kitchen - icon = 'icons/obj/kitchen.dmi' - -/* - * Utensils - */ -/obj/item/weapon/kitchen/utensil - force = 5.0 - w_class = 1.0 - throwforce = 5.0 - throw_speed = 3 - throw_range = 5 - flags = CONDUCT - origin_tech = "materials=1" - attack_verb = list("attacked", "stabbed", "poked") - sharp = 0 - - var/loaded //Descriptive string for currently loaded food object. - -/obj/item/weapon/kitchen/utensil/New() - if (prob(60)) - src.pixel_y = rand(0, 4) - - create_reagents(5) - return - -/obj/item/weapon/kitchen/utensil/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob) - if(!istype(M)) - return ..() - - if(user.a_intent != I_HELP) - if(user.zone_sel.selecting == "head" || user.zone_sel.selecting == "eyes") - if((CLUMSY in user.mutations) && prob(50)) - M = user - return eyestab(M,user) - else - return ..() - - if (reagents.total_volume > 0) - reagents.trans_to_mob(M, reagents.total_volume, CHEM_INGEST) - if(M == user) - for(var/mob/O in viewers(M, null)) - O.show_message(text("\blue [] eats some [] from \the [].", user, loaded, src), 1) - M.reagents.add_reagent("nutriment", 1) - else - for(var/mob/O in viewers(M, null)) - O.show_message(text("\blue [] feeds [] some [] from \the []", user, M, loaded, src), 1) - M.reagents.add_reagent("nutriment", 1) - playsound(M.loc,'sound/items/eatfood.ogg', rand(10,40), 1) - overlays.Cut() - return - else - ..() - -/obj/item/weapon/kitchen/utensil/fork - name = "fork" - desc = "It's a fork. Sure is pointy." - icon_state = "fork" - -/obj/item/weapon/kitchen/utensil/pfork - name = "plastic fork" - desc = "Yay, no washing up to do." - icon_state = "pfork" - -/obj/item/weapon/kitchen/utensil/spoon - name = "spoon" - desc = "It's a spoon. You can see your own upside-down face in it." - icon_state = "spoon" - attack_verb = list("attacked", "poked") - -/obj/item/weapon/kitchen/utensil/pspoon - name = "plastic spoon" - desc = "It's a plastic spoon. How dull." - icon_state = "pspoon" - attack_verb = list("attacked", "poked") - -/* - * Knives - */ -/obj/item/weapon/kitchen/utensil/knife - name = "knife" - desc = "Can cut through any food." - icon_state = "knife" - force = 10.0 - throwforce = 10.0 - sharp = 1 - edge = 1 - - suicide_act(mob/user) - viewers(user) << pick("\red [user] is slitting \his wrists with the [src.name]! It looks like \he's trying to commit suicide.", \ - "\red [user] is slitting \his throat with the [src.name]! It looks like \he's trying to commit suicide.", \ - "\red [user] is slitting \his stomach open with the [src.name]! It looks like \he's trying to commit seppuku.") - return (BRUTELOSS) - -/obj/item/weapon/kitchen/utensil/knife/attack(target as mob, mob/living/user as mob) - if ((CLUMSY in user.mutations) && prob(50)) - user << "\red You accidentally cut yourself with the [src]." - user.take_organ_damage(20) - return - playsound(loc, 'sound/weapons/bladeslice.ogg', 50, 1, -1) - return ..() - -/obj/item/weapon/kitchen/utensil/pknife - name = "plastic knife" - desc = "The bluntest of blades." - icon_state = "pknife" - force = 1 - throwforce = 1 - sharp = 0 - edge = 1 //for cutting pizzas - -/obj/item/weapon/kitchen/utensil/knife/attack(target as mob, mob/living/user as mob) - if ((CLUMSY in user.mutations) && prob(50)) - user << "\red You somehow managed to cut yourself with the [src]." - user.take_organ_damage(20) - return - playsound(loc, 'sound/weapons/bladeslice.ogg', 50, 1, -1) - return ..() - -/* - * Kitchen knives - */ -/obj/item/weapon/kitchenknife - name = "kitchen knife" - icon = 'icons/obj/kitchen.dmi' - icon_state = "knife" - desc = "A general purpose Chef's Knife made by SpaceCook Incorporated. Guaranteed to stay sharp for years to come." - flags = CONDUCT - sharp = 1 - edge = 1 - force = 10.0 - w_class = 3.0 - throwforce = 6.0 - throw_speed = 3 - throw_range = 6 - matter = list(DEFAULT_WALL_MATERIAL = 12000) - origin_tech = "materials=1" - attack_verb = list("slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") - - suicide_act(mob/user) - viewers(user) << pick("\red [user] is slitting \his wrists with the [src.name]! It looks like \he's trying to commit suicide.", \ - "\red [user] is slitting \his throat with the [src.name]! It looks like \he's trying to commit suicide.", \ - "\red [user] is slitting \his stomach open with the [src.name]! It looks like \he's trying to commit seppuku.") - return (BRUTELOSS) - -/obj/item/weapon/kitchenknife/hook - name = "meat hook" - desc = "A sharp, metal hook what sticks into things." - icon_state = "hook_knife" - item_state = "hook_knife" - -/obj/item/weapon/kitchenknife/ritual - name = "ritual knife" - desc = "The unearthly energies that once powered this blade are now dormant." - icon = 'icons/obj/wizard.dmi' - icon_state = "render" - -/* - * Bucher's cleaver - */ -/obj/item/weapon/butch - name = "butcher's cleaver" - icon = 'icons/obj/kitchen.dmi' - icon_state = "butch" - desc = "A huge thing used for chopping and chopping up meat. This includes clowns and clown-by-products." - flags = CONDUCT - force = 15.0 - w_class = 2.0 - throwforce = 8.0 - throw_speed = 3 - throw_range = 6 - matter = list(DEFAULT_WALL_MATERIAL = 12000) - origin_tech = "materials=1" - attack_verb = list("cleaved", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") - sharp = 1 - edge = 1 - -/obj/item/weapon/butch/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob) - playsound(loc, 'sound/weapons/bladeslice.ogg', 50, 1, -1) - return ..() - -/* - * Rolling Pins - */ - -/obj/item/weapon/kitchen/rollingpin - name = "rolling pin" - desc = "Used to knock out the Bartender." - icon_state = "rolling_pin" - force = 8.0 - throwforce = 10.0 - throw_speed = 2 - throw_range = 7 - w_class = 3.0 - attack_verb = list("bashed", "battered", "bludgeoned", "thrashed", "whacked") //I think the rollingpin attackby will end up ignoring this anyway. - -/obj/item/weapon/kitchen/rollingpin/attack(mob/living/M as mob, mob/living/user as mob) - if ((CLUMSY in user.mutations) && prob(50)) - user << "\red The [src] slips out of your hand and hits your head." - user.take_organ_damage(10) - user.Paralyse(2) - return - - M.attack_log += text("\[[time_stamp()]\] Has been attacked with [src.name] by [user.name] ([user.ckey])") - user.attack_log += text("\[[time_stamp()]\] Used the [src.name] to attack [M.name] ([M.ckey])") - msg_admin_attack("[user.name] ([user.ckey]) used the [src.name] to attack [M.name] ([M.ckey]) (JMP)") - - var/t = user:zone_sel.selecting - if (t == "head") - if(ishuman(M)) - var/mob/living/carbon/human/H = M - if (H.stat < 2 && H.health < 50 && prob(90)) - // ******* Check - if (istype(H, /obj/item/clothing/head) && H.flags & 8 && prob(80)) - H << "\red The helmet protects you from being hit hard in the head!" - return - var/time = rand(2, 6) - if (prob(75)) - H.Paralyse(time) - else - H.Stun(time) - if(H.stat != 2) H.stat = 1 - user.visible_message("\red [H] has been knocked unconscious!", "\red You knock [H] unconscious!") - return - else - H.visible_message("\red [user] tried to knock [H] unconscious!", "\red [user] tried to knock you unconscious!") - H.eye_blurry += 3 - return ..() - -/* - * Trays - Agouri - */ -/obj/item/weapon/tray - name = "tray" - icon = 'icons/obj/food.dmi' - icon_state = "tray" - desc = "A metal tray to lay food on." - throwforce = 12.0 - throwforce = 10.0 - throw_speed = 1 - throw_range = 5 - w_class = 3.0 - flags = CONDUCT - matter = list(DEFAULT_WALL_MATERIAL = 3000) - /* // NOPE - var/food_total= 0 - var/burger_amt = 0 - var/cheese_amt = 0 - var/fries_amt = 0 - var/classyalcdrink_amt = 0 - var/alcdrink_amt = 0 - var/bottle_amt = 0 - var/soda_amt = 0 - var/carton_amt = 0 - var/pie_amt = 0 - var/meatbreadslice_amt = 0 - var/salad_amt = 0 - var/miscfood_amt = 0 - */ - var/list/carrying = list() // List of things on the tray. - Doohl - var/max_carry = 10 // w_class = 1 -- takes up 1 - // w_class = 2 -- takes up 3 - // w_class = 3 -- takes up 5 - -/obj/item/weapon/tray/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob) - - // Drop all the things. All of them. - overlays.Cut() - for(var/obj/item/I in carrying) - I.loc = M.loc - carrying.Remove(I) - if(isturf(I.loc)) - spawn() - for(var/i = 1, i <= rand(1,2), i++) - if(I) - step(I, pick(NORTH,SOUTH,EAST,WEST)) - sleep(rand(2,4)) - - - if((CLUMSY in user.mutations) && prob(50)) //What if he's a clown? - M << "\red You accidentally slam yourself with the [src]!" - M.Weaken(1) - user.take_organ_damage(2) - if(prob(50)) - playsound(M, 'sound/items/trayhit1.ogg', 50, 1) - return - else - playsound(M, 'sound/items/trayhit2.ogg', 50, 1) //sound playin' - return //it always returns, but I feel like adding an extra return just for safety's sakes. EDIT; Oh well I won't :3 - - var/mob/living/carbon/human/H = M ///////////////////////////////////// /Let's have this ready for later. - - - if(!(user.zone_sel.selecting == ("eyes" || "head"))) //////////////hitting anything else other than the eyes - if(prob(33)) - src.add_blood(H) - var/turf/location = H.loc - if (istype(location, /turf/simulated)) - location.add_blood(H) ///Plik plik, the sound of blood - - M.attack_log += text("\[[time_stamp()]\] Has been attacked with [src.name] by [user.name] ([user.ckey])") - user.attack_log += text("\[[time_stamp()]\] Used the [src.name] to attack [M.name] ([M.ckey])") - msg_admin_attack("[user.name] ([user.ckey]) used the [src.name] to attack [M.name] ([M.ckey]) (JMP)") - - if(prob(15)) - M.Weaken(3) - M.take_organ_damage(3) - else - M.take_organ_damage(5) - if(prob(50)) - playsound(M, 'sound/items/trayhit1.ogg', 50, 1) - for(var/mob/O in viewers(M, null)) - O.show_message(text("\red [] slams [] with the tray!", user, M), 1) - return - else - playsound(M, 'sound/items/trayhit2.ogg', 50, 1) //we applied the damage, we played the sound, we showed the appropriate messages. Time to return and stop the proc - for(var/mob/O in viewers(M, null)) - O.show_message(text("\red [] slams [] with the tray!", user, M), 1) - return - - - - - if(istype(M, /mob/living/carbon/human) && ((H.head && H.head.flags & HEADCOVERSEYES) || (H.wear_mask && H.wear_mask.flags & MASKCOVERSEYES) || (H.glasses && H.glasses.flags & GLASSESCOVERSEYES))) - M << "\red You get slammed in the face with the tray, against your mask!" - if(prob(33)) - src.add_blood(H) - if (H.wear_mask) - H.wear_mask.add_blood(H) - if (H.head) - H.head.add_blood(H) - if (H.glasses && prob(33)) - H.glasses.add_blood(H) - var/turf/location = H.loc - if (istype(location, /turf/simulated)) //Addin' blood! At least on the floor and item :v - location.add_blood(H) - - if(prob(50)) - playsound(M, 'sound/items/trayhit1.ogg', 50, 1) - for(var/mob/O in viewers(M, null)) - O.show_message(text("\red [] slams [] with the tray!", user, M), 1) - else - playsound(M, 'sound/items/trayhit2.ogg', 50, 1) //sound playin' - for(var/mob/O in viewers(M, null)) - O.show_message(text("\red [] slams [] with the tray!", user, M), 1) - if(prob(10)) - M.Stun(rand(1,3)) - M.take_organ_damage(3) - return - else - M.take_organ_damage(5) - return - - else //No eye or head protection, tough luck! - M << "\red You get slammed in the face with the tray!" - if(prob(33)) - src.add_blood(M) - var/turf/location = H.loc - if (istype(location, /turf/simulated)) - location.add_blood(H) - - if(prob(50)) - playsound(M, 'sound/items/trayhit1.ogg', 50, 1) - for(var/mob/O in viewers(M, null)) - O.show_message(text("\red [] slams [] in the face with the tray!", user, M), 1) - else - playsound(M, 'sound/items/trayhit2.ogg', 50, 1) //sound playin' again - for(var/mob/O in viewers(M, null)) - O.show_message(text("\red [] slams [] in the face with the tray!", user, M), 1) - if(prob(30)) - M.Stun(rand(2,4)) - M.take_organ_damage(4) - return - else - M.take_organ_damage(8) - if(prob(30)) - M.Weaken(2) - return - return - -/obj/item/weapon/tray/var/cooldown = 0 //shield bash cooldown. based on world.time - -/obj/item/weapon/tray/attackby(obj/item/weapon/W as obj, mob/user as mob) - if(istype(W, /obj/item/weapon/kitchen/rollingpin)) - if(cooldown < world.time - 25) - user.visible_message("[user] bashes [src] with [W]!") - playsound(user.loc, 'sound/effects/shieldbash.ogg', 50, 1) - cooldown = world.time - else - ..() - -/* -===============~~~~~================================~~~~~==================== -= = -= Code for trays carrying things. By Doohl for Doohl erryday Doohl Doohl~ = -= = -===============~~~~~================================~~~~~==================== -*/ -/obj/item/weapon/tray/proc/calc_carry() - // calculate the weight of the items on the tray - var/val = 0 // value to return - - for(var/obj/item/I in carrying) - if(I.w_class == 1.0) - val ++ - else if(I.w_class == 2.0) - val += 3 - else - val += 5 - - return val - -/obj/item/weapon/tray/pickup(mob/user) - - if(!isturf(loc)) - return - - for(var/obj/item/I in loc) - if( I != src && !I.anchored && !istype(I, /obj/item/clothing/under) && !istype(I, /obj/item/clothing/suit) && !istype(I, /obj/item/projectile) ) - var/add = 0 - if(I.w_class == 1.0) - add = 1 - else if(I.w_class == 2.0) - add = 3 - else - add = 5 - if(calc_carry() + add >= max_carry) - break - - I.loc = src - carrying.Add(I) - overlays += image("icon" = I.icon, "icon_state" = I.icon_state, "layer" = 30 + I.layer) - -/obj/item/weapon/tray/dropped(mob/user) - - var/mob/living/M - for(M in src.loc) //to handle hand switching - return - - var/foundtable = 0 - for(var/obj/structure/table/T in loc) - foundtable = 1 - break - - overlays.Cut() - - for(var/obj/item/I in carrying) - I.loc = loc - carrying.Remove(I) - if(!foundtable && isturf(loc)) - // if no table, presume that the person just shittily dropped the tray on the ground and made a mess everywhere! - spawn() - for(var/i = 1, i <= rand(1,2), i++) - if(I) - step(I, pick(NORTH,SOUTH,EAST,WEST)) - sleep(rand(2,4)) diff --git a/code/game/objects/items/weapons/bats.dm b/code/game/objects/items/weapons/material/bats.dm similarity index 100% rename from code/game/objects/items/weapons/bats.dm rename to code/game/objects/items/weapons/material/bats.dm diff --git a/code/game/objects/items/weapons/material/kitchen.dm b/code/game/objects/items/weapons/material/kitchen.dm new file mode 100644 index 0000000000..f2f383bba9 --- /dev/null +++ b/code/game/objects/items/weapons/material/kitchen.dm @@ -0,0 +1,392 @@ +/obj/item/weapon/kitchen + icon = 'icons/obj/kitchen.dmi' + +/* + * Utensils + */ +/obj/item/weapon/kitchen/utensil + force = 5.0 + w_class = 1.0 + throwforce = 5.0 + throw_speed = 3 + throw_range = 5 + flags = CONDUCT + origin_tech = "materials=1" + attack_verb = list("attacked", "stabbed", "poked") + sharp = 0 + + var/loaded //Descriptive string for currently loaded food object. + +/obj/item/weapon/kitchen/utensil/New() + if (prob(60)) + src.pixel_y = rand(0, 4) + + create_reagents(5) + return + +/obj/item/weapon/kitchen/utensil/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob) + if(!istype(M)) + return ..() + + if(user.a_intent != I_HELP) + if(user.zone_sel.selecting == "head" || user.zone_sel.selecting == "eyes") + if((CLUMSY in user.mutations) && prob(50)) + M = user + return eyestab(M,user) + else + return ..() + + if (reagents.total_volume > 0) + reagents.trans_to_mob(M, reagents.total_volume, CHEM_INGEST) + if(M == user) + for(var/mob/O in viewers(M, null)) + O.show_message(text("\blue [] eats some [] from \the [].", user, loaded, src), 1) + M.reagents.add_reagent("nutriment", 1) + else + for(var/mob/O in viewers(M, null)) + O.show_message(text("\blue [] feeds [] some [] from \the []", user, M, loaded, src), 1) + M.reagents.add_reagent("nutriment", 1) + playsound(M.loc,'sound/items/eatfood.ogg', rand(10,40), 1) + overlays.Cut() + return + else + ..() + +/obj/item/weapon/kitchen/utensil/fork + name = "fork" + desc = "It's a fork. Sure is pointy." + icon_state = "fork" + +/obj/item/weapon/kitchen/utensil/pfork + name = "plastic fork" + desc = "Yay, no washing up to do." + icon_state = "pfork" + +/obj/item/weapon/kitchen/utensil/spoon + name = "spoon" + desc = "It's a spoon. You can see your own upside-down face in it." + icon_state = "spoon" + attack_verb = list("attacked", "poked") + +/obj/item/weapon/kitchen/utensil/pspoon + name = "plastic spoon" + desc = "It's a plastic spoon. How dull." + icon_state = "pspoon" + attack_verb = list("attacked", "poked") + +/* + * Knives + */ +/obj/item/weapon/kitchen/utensil/knife + name = "knife" + desc = "Can cut through any food." + icon_state = "knife" + force = 10.0 + throwforce = 10.0 + sharp = 1 + edge = 1 + + suicide_act(mob/user) + viewers(user) << pick("\red [user] is slitting \his wrists with the [src.name]! It looks like \he's trying to commit suicide.", \ + "\red [user] is slitting \his throat with the [src.name]! It looks like \he's trying to commit suicide.", \ + "\red [user] is slitting \his stomach open with the [src.name]! It looks like \he's trying to commit seppuku.") + return (BRUTELOSS) + +/obj/item/weapon/kitchen/utensil/knife/attack(target as mob, mob/living/user as mob) + if ((CLUMSY in user.mutations) && prob(50)) + user << "\red You accidentally cut yourself with the [src]." + user.take_organ_damage(20) + return + playsound(loc, 'sound/weapons/bladeslice.ogg', 50, 1, -1) + return ..() + +/obj/item/weapon/kitchen/utensil/pknife + name = "plastic knife" + desc = "The bluntest of blades." + icon_state = "pknife" + force = 1 + throwforce = 1 + sharp = 0 + edge = 1 //for cutting pizzas + +/obj/item/weapon/kitchen/utensil/knife/attack(target as mob, mob/living/user as mob) + if ((CLUMSY in user.mutations) && prob(50)) + user << "\red You somehow managed to cut yourself with the [src]." + user.take_organ_damage(20) + return + playsound(loc, 'sound/weapons/bladeslice.ogg', 50, 1, -1) + return ..() + +/* + * Rolling Pins + */ + +/obj/item/weapon/kitchen/rollingpin + name = "rolling pin" + desc = "Used to knock out the Bartender." + icon_state = "rolling_pin" + force = 8.0 + throwforce = 10.0 + throw_speed = 2 + throw_range = 7 + w_class = 3.0 + attack_verb = list("bashed", "battered", "bludgeoned", "thrashed", "whacked") //I think the rollingpin attackby will end up ignoring this anyway. + +/obj/item/weapon/kitchen/rollingpin/attack(mob/living/M as mob, mob/living/user as mob) + if ((CLUMSY in user.mutations) && prob(50)) + user << "\red The [src] slips out of your hand and hits your head." + user.take_organ_damage(10) + user.Paralyse(2) + return + + M.attack_log += text("\[[time_stamp()]\] Has been attacked with [src.name] by [user.name] ([user.ckey])") + user.attack_log += text("\[[time_stamp()]\] Used the [src.name] to attack [M.name] ([M.ckey])") + msg_admin_attack("[user.name] ([user.ckey]) used the [src.name] to attack [M.name] ([M.ckey]) (JMP)") + + var/t = user:zone_sel.selecting + if (t == "head") + if(ishuman(M)) + var/mob/living/carbon/human/H = M + if (H.stat < 2 && H.health < 50 && prob(90)) + // ******* Check + if (istype(H, /obj/item/clothing/head) && H.flags & 8 && prob(80)) + H << "\red The helmet protects you from being hit hard in the head!" + return + var/time = rand(2, 6) + if (prob(75)) + H.Paralyse(time) + else + H.Stun(time) + if(H.stat != 2) H.stat = 1 + user.visible_message("\red [H] has been knocked unconscious!", "\red You knock [H] unconscious!") + return + else + H.visible_message("\red [user] tried to knock [H] unconscious!", "\red [user] tried to knock you unconscious!") + H.eye_blurry += 3 + return ..() + +/* + * Trays - Agouri + */ +/obj/item/weapon/tray + name = "tray" + icon = 'icons/obj/food.dmi' + icon_state = "tray" + desc = "A metal tray to lay food on." + throwforce = 12.0 + throwforce = 10.0 + throw_speed = 1 + throw_range = 5 + w_class = 3.0 + flags = CONDUCT + matter = list(DEFAULT_WALL_MATERIAL = 3000) + /* // NOPE + var/food_total= 0 + var/burger_amt = 0 + var/cheese_amt = 0 + var/fries_amt = 0 + var/classyalcdrink_amt = 0 + var/alcdrink_amt = 0 + var/bottle_amt = 0 + var/soda_amt = 0 + var/carton_amt = 0 + var/pie_amt = 0 + var/meatbreadslice_amt = 0 + var/salad_amt = 0 + var/miscfood_amt = 0 + */ + var/list/carrying = list() // List of things on the tray. - Doohl + var/max_carry = 10 // w_class = 1 -- takes up 1 + // w_class = 2 -- takes up 3 + // w_class = 3 -- takes up 5 + +/obj/item/weapon/tray/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob) + + // Drop all the things. All of them. + overlays.Cut() + for(var/obj/item/I in carrying) + I.loc = M.loc + carrying.Remove(I) + if(isturf(I.loc)) + spawn() + for(var/i = 1, i <= rand(1,2), i++) + if(I) + step(I, pick(NORTH,SOUTH,EAST,WEST)) + sleep(rand(2,4)) + + + if((CLUMSY in user.mutations) && prob(50)) //What if he's a clown? + M << "\red You accidentally slam yourself with the [src]!" + M.Weaken(1) + user.take_organ_damage(2) + if(prob(50)) + playsound(M, 'sound/items/trayhit1.ogg', 50, 1) + return + else + playsound(M, 'sound/items/trayhit2.ogg', 50, 1) //sound playin' + return //it always returns, but I feel like adding an extra return just for safety's sakes. EDIT; Oh well I won't :3 + + var/mob/living/carbon/human/H = M ///////////////////////////////////// /Let's have this ready for later. + + + if(!(user.zone_sel.selecting == ("eyes" || "head"))) //////////////hitting anything else other than the eyes + if(prob(33)) + src.add_blood(H) + var/turf/location = H.loc + if (istype(location, /turf/simulated)) + location.add_blood(H) ///Plik plik, the sound of blood + + M.attack_log += text("\[[time_stamp()]\] Has been attacked with [src.name] by [user.name] ([user.ckey])") + user.attack_log += text("\[[time_stamp()]\] Used the [src.name] to attack [M.name] ([M.ckey])") + msg_admin_attack("[user.name] ([user.ckey]) used the [src.name] to attack [M.name] ([M.ckey]) (JMP)") + + if(prob(15)) + M.Weaken(3) + M.take_organ_damage(3) + else + M.take_organ_damage(5) + if(prob(50)) + playsound(M, 'sound/items/trayhit1.ogg', 50, 1) + for(var/mob/O in viewers(M, null)) + O.show_message(text("\red [] slams [] with the tray!", user, M), 1) + return + else + playsound(M, 'sound/items/trayhit2.ogg', 50, 1) //we applied the damage, we played the sound, we showed the appropriate messages. Time to return and stop the proc + for(var/mob/O in viewers(M, null)) + O.show_message(text("\red [] slams [] with the tray!", user, M), 1) + return + + + if(istype(M, /mob/living/carbon/human) && ((H.head && H.head.flags & HEADCOVERSEYES) || (H.wear_mask && H.wear_mask.flags & MASKCOVERSEYES) || (H.glasses && H.glasses.flags & GLASSESCOVERSEYES))) + M << "\red You get slammed in the face with the tray, against your mask!" + if(prob(33)) + src.add_blood(H) + if (H.wear_mask) + H.wear_mask.add_blood(H) + if (H.head) + H.head.add_blood(H) + if (H.glasses && prob(33)) + H.glasses.add_blood(H) + var/turf/location = H.loc + if (istype(location, /turf/simulated)) //Addin' blood! At least on the floor and item :v + location.add_blood(H) + + if(prob(50)) + playsound(M, 'sound/items/trayhit1.ogg', 50, 1) + for(var/mob/O in viewers(M, null)) + O.show_message(text("\red [] slams [] with the tray!", user, M), 1) + else + playsound(M, 'sound/items/trayhit2.ogg', 50, 1) //sound playin' + for(var/mob/O in viewers(M, null)) + O.show_message(text("\red [] slams [] with the tray!", user, M), 1) + if(prob(10)) + M.Stun(rand(1,3)) + M.take_organ_damage(3) + return + else + M.take_organ_damage(5) + return + + else //No eye or head protection, tough luck! + M << "\red You get slammed in the face with the tray!" + if(prob(33)) + src.add_blood(M) + var/turf/location = H.loc + if (istype(location, /turf/simulated)) + location.add_blood(H) + + if(prob(50)) + playsound(M, 'sound/items/trayhit1.ogg', 50, 1) + for(var/mob/O in viewers(M, null)) + O.show_message(text("\red [] slams [] in the face with the tray!", user, M), 1) + else + playsound(M, 'sound/items/trayhit2.ogg', 50, 1) //sound playin' again + for(var/mob/O in viewers(M, null)) + O.show_message(text("\red [] slams [] in the face with the tray!", user, M), 1) + if(prob(30)) + M.Stun(rand(2,4)) + M.take_organ_damage(4) + return + else + M.take_organ_damage(8) + if(prob(30)) + M.Weaken(2) + return + return + +/obj/item/weapon/tray/var/cooldown = 0 //shield bash cooldown. based on world.time + +/obj/item/weapon/tray/attackby(obj/item/weapon/W as obj, mob/user as mob) + if(istype(W, /obj/item/weapon/kitchen/rollingpin)) + if(cooldown < world.time - 25) + user.visible_message("[user] bashes [src] with [W]!") + playsound(user.loc, 'sound/effects/shieldbash.ogg', 50, 1) + cooldown = world.time + else + ..() + +/* +===============~~~~~================================~~~~~==================== += = += Code for trays carrying things. By Doohl for Doohl erryday Doohl Doohl~ = += = +===============~~~~~================================~~~~~==================== +*/ +/obj/item/weapon/tray/proc/calc_carry() + // calculate the weight of the items on the tray + var/val = 0 // value to return + + for(var/obj/item/I in carrying) + if(I.w_class == 1.0) + val ++ + else if(I.w_class == 2.0) + val += 3 + else + val += 5 + + return val + +/obj/item/weapon/tray/pickup(mob/user) + + if(!isturf(loc)) + return + + for(var/obj/item/I in loc) + if( I != src && !I.anchored && !istype(I, /obj/item/clothing/under) && !istype(I, /obj/item/clothing/suit) && !istype(I, /obj/item/projectile) ) + var/add = 0 + if(I.w_class == 1.0) + add = 1 + else if(I.w_class == 2.0) + add = 3 + else + add = 5 + if(calc_carry() + add >= max_carry) + break + + I.loc = src + carrying.Add(I) + overlays += image("icon" = I.icon, "icon_state" = I.icon_state, "layer" = 30 + I.layer) + +/obj/item/weapon/tray/dropped(mob/user) + + var/mob/living/M + for(M in src.loc) //to handle hand switching + return + + var/foundtable = 0 + for(var/obj/structure/table/T in loc) + foundtable = 1 + break + + overlays.Cut() + + for(var/obj/item/I in carrying) + I.loc = loc + carrying.Remove(I) + if(!foundtable && isturf(loc)) + // if no table, presume that the person just shittily dropped the tray on the ground and made a mess everywhere! + spawn() + for(var/i = 1, i <= rand(1,2), i++) + if(I) + step(I, pick(NORTH,SOUTH,EAST,WEST)) + sleep(rand(2,4)) diff --git a/code/game/objects/items/weapons/material/knives.dm b/code/game/objects/items/weapons/material/knives.dm new file mode 100644 index 0000000000..341ebb36cb --- /dev/null +++ b/code/game/objects/items/weapons/material/knives.dm @@ -0,0 +1,106 @@ +/obj/item/weapon/butterfly + name = "butterfly knife" + desc = "A basic metal blade concealed in a lightweight plasteel grip. Small enough when folded to fit in a pocket." + icon_state = "butterflyknife" + item_state = null + hitsound = null + var/active = 0 + w_class = 2 + force = 2 + sharp = 0 + edge = 0 + throw_speed = 3 + throw_range = 4 + throwforce = 7 + attack_verb = list("patted", "tapped") + +/obj/item/weapon/butterfly/switchblade + name = "switchblade" + desc = "A classic switchblade with gold engraving. Just holding it makes you feel like a gangster." + icon_state = "switchblade" + +/obj/item/weapon/butterfly/attack_self(mob/user) + active = !active + if(active) + user << "You flip out your [src]." + playsound(user, 'sound/weapons/flipblade.ogg', 15, 1) + force = 15 //bay adjustments + throwforce = 12 + edge = 1 + sharp = 1 + hitsound = 'sound/weapons/bladeslice.ogg' + icon_state += "_open" + w_class = 3 + attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") + else + user << "The butterfly knife can now be concealed." + force = initial(force) + edge = 0 + sharp = 0 + hitsound = initial(hitsound) + icon_state = initial(icon_state) + w_class = initial(w_class) + attack_verb = initial(attack_verb) + add_fingerprint(user) + +/* + * Kitchen knives + */ +/obj/item/weapon/kitchenknife + name = "kitchen knife" + icon = 'icons/obj/kitchen.dmi' + icon_state = "knife" + desc = "A general purpose Chef's Knife made by SpaceCook Incorporated. Guaranteed to stay sharp for years to come." + flags = CONDUCT + sharp = 1 + edge = 1 + force = 10.0 + w_class = 3.0 + throwforce = 6.0 + throw_speed = 3 + throw_range = 6 + matter = list(DEFAULT_WALL_MATERIAL = 12000) + origin_tech = "materials=1" + attack_verb = list("slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") + + suicide_act(mob/user) + viewers(user) << pick("\red [user] is slitting \his wrists with the [src.name]! It looks like \he's trying to commit suicide.", \ + "\red [user] is slitting \his throat with the [src.name]! It looks like \he's trying to commit suicide.", \ + "\red [user] is slitting \his stomach open with the [src.name]! It looks like \he's trying to commit seppuku.") + return (BRUTELOSS) + +/obj/item/weapon/kitchenknife/hook + name = "meat hook" + desc = "A sharp, metal hook what sticks into things." + icon_state = "hook_knife" + item_state = "hook_knife" + +/obj/item/weapon/kitchenknife/ritual + name = "ritual knife" + desc = "The unearthly energies that once powered this blade are now dormant." + icon = 'icons/obj/wizard.dmi' + icon_state = "render" + +/* + * Bucher's cleaver + */ +/obj/item/weapon/butch + name = "butcher's cleaver" + icon = 'icons/obj/kitchen.dmi' + icon_state = "butch" + desc = "A huge thing used for chopping and chopping up meat. This includes clowns and clown-by-products." + flags = CONDUCT + force = 15.0 + w_class = 2.0 + throwforce = 8.0 + throw_speed = 3 + throw_range = 6 + matter = list(DEFAULT_WALL_MATERIAL = 12000) + origin_tech = "materials=1" + attack_verb = list("cleaved", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") + sharp = 1 + edge = 1 + +/obj/item/weapon/butch/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob) + playsound(loc, 'sound/weapons/bladeslice.ogg', 50, 1, -1) + return ..() \ No newline at end of file diff --git a/code/game/objects/items/weapons/material/misc.dm b/code/game/objects/items/weapons/material/misc.dm new file mode 100644 index 0000000000..8099e626db --- /dev/null +++ b/code/game/objects/items/weapons/material/misc.dm @@ -0,0 +1,11 @@ +/obj/item/weapon/harpoon + name = "harpoon" + sharp = 1 + edge = 0 + desc = "Tharr she blows!" + icon_state = "harpoon" + item_state = "harpoon" + force = 20 + throwforce = 15 + w_class = 3 + attack_verb = list("jabbed","stabbed","ripped") \ No newline at end of file diff --git a/code/game/objects/items/weapons/shards.dm b/code/game/objects/items/weapons/material/shards.dm similarity index 96% rename from code/game/objects/items/weapons/shards.dm rename to code/game/objects/items/weapons/material/shards.dm index 593b3d019d..8fea29b4f2 100644 --- a/code/game/objects/items/weapons/shards.dm +++ b/code/game/objects/items/weapons/material/shards.dm @@ -1,120 +1,120 @@ -// Glass shards - -/obj/item/weapon/shard - name = "shard" - icon = 'icons/obj/shards.dmi' - icon_state = "large" - sharp = 1 - edge = 1 - desc = "Made of nothing. How does this even exist?" // set based on material, if this desc is visible it's a bug (shards default to being made of glass) - w_class = 2.0 - force = 5.0 - throwforce = 8.0 - item_state = "shard-glass" - //matter = list("glass" = 3750) // Weld it into sheets before you use it! - attack_verb = list("stabbed", "slashed", "sliced", "cut") - - gender = "neuter" - var/material/material = null - -/obj/item/weapon/shard/suicide_act(mob/user) - viewers(user) << pick("\red [user] is slitting \his wrists with \the [src]! It looks like \he's trying to commit suicide.", \ - "\red [user] is slitting \his throat with \the [src]! It looks like \he's trying to commit suicide.") - return (BRUTELOSS) - -/obj/item/weapon/shard/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob) - playsound(loc, 'sound/weapons/bladeslice.ogg', 50, 1, -1) - return ..() - -/obj/item/weapon/shard/Bump() - - spawn( 0 ) - if (prob(20)) - src.force = 15 - else - src.force = 4 - ..() - return - return - -/obj/item/weapon/shard/New(loc, material/material) - ..(loc) - - if(!material || !istype(material)) // We either don't have a material or we've been passed an invalid material. Use glass instead. - material = get_material_by_name("glass") - - set_material(material) - -/obj/item/weapon/shard/proc/set_material(material/material) - if(istype(material)) - src.material = material - icon_state = "[material.shard_icon][pick("large", "medium", "small")]" - pixel_x = rand(-8, 8) - pixel_y = rand(-8, 8) - update_material() - update_icon() - -/obj/item/weapon/shard/proc/update_material() - if(material) - if(material.shard_type) - name = "[material.display_name] [material.shard_type]" - desc = "A small piece of [material.display_name]. It looks sharp, you wouldn't want to step on it barefoot. Could probably be used as ... a throwing weapon?" - switch(material.shard_type) - if(SHARD_SPLINTER, SHARD_SHRAPNEL) - gender = "plural" - else - gender = "neuter" - else - qdel(src) - return - else - name = initial(name) - desc = initial(desc) - -/obj/item/weapon/shard/update_icon() - if(material) - color = material.icon_colour - // 1-(1-x)^2, so that glass shards with 0.3 opacity end up somewhat visible at 0.51 opacity - alpha = 255 * (1 - (1 - material.opacity)*(1 - material.opacity)) - else - color = "#ffffff" - alpha = 255 - -/obj/item/weapon/shard/attackby(obj/item/weapon/W as obj, mob/user as mob) - if(istype(W, /obj/item/weapon/weldingtool) && material.shard_can_repair) - var/obj/item/weapon/weldingtool/WT = W - if(WT.remove_fuel(0, user)) - material.place_sheet(loc) - qdel(src) - return - return ..() - -/obj/item/weapon/shard/Crossed(AM as mob|obj) - if(ismob(AM)) - var/mob/M = AM - M << "\red You step on \the [src]!" - playsound(src.loc, 'sound/effects/glass_step.ogg', 50, 1) // not sure how to handle metal shards with sounds - if(ishuman(M)) - var/mob/living/carbon/human/H = M - - if(H.species.flags & IS_SYNTHETIC || (H.species.siemens_coefficient<0.5)) //Thick skin. - return - - if( !H.shoes && ( !H.wear_suit || !(H.wear_suit.body_parts_covered & FEET) ) ) - var/obj/item/organ/external/affecting = H.get_organ(pick("l_foot", "r_foot")) - if(affecting.status & ORGAN_ROBOT) - return - if(affecting.take_damage(5, 0)) - H.UpdateDamageIcon() - H.updatehealth() - if(!(H.species && (H.species.flags & NO_PAIN))) - H.Weaken(3) - ..() - -// Preset types - left here for the code that uses them - -/obj/item/weapon/shard/shrapnel/New(loc) - ..(loc, get_material_by_name("steel")) - -/obj/item/weapon/shard/phoron/New(loc) - ..(loc, get_material_by_name("phoron glass")) +// Glass shards + +/obj/item/weapon/shard + name = "shard" + icon = 'icons/obj/shards.dmi' + icon_state = "large" + sharp = 1 + edge = 1 + desc = "Made of nothing. How does this even exist?" // set based on material, if this desc is visible it's a bug (shards default to being made of glass) + w_class = 2.0 + force = 5.0 + throwforce = 8.0 + item_state = "shard-glass" + //matter = list("glass" = 3750) // Weld it into sheets before you use it! + attack_verb = list("stabbed", "slashed", "sliced", "cut") + + gender = "neuter" + var/material/material = null + +/obj/item/weapon/shard/suicide_act(mob/user) + viewers(user) << pick("\red [user] is slitting \his wrists with \the [src]! It looks like \he's trying to commit suicide.", \ + "\red [user] is slitting \his throat with \the [src]! It looks like \he's trying to commit suicide.") + return (BRUTELOSS) + +/obj/item/weapon/shard/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob) + playsound(loc, 'sound/weapons/bladeslice.ogg', 50, 1, -1) + return ..() + +/obj/item/weapon/shard/Bump() + + spawn( 0 ) + if (prob(20)) + src.force = 15 + else + src.force = 4 + ..() + return + return + +/obj/item/weapon/shard/New(loc, material/material) + ..(loc) + + if(!material || !istype(material)) // We either don't have a material or we've been passed an invalid material. Use glass instead. + material = get_material_by_name("glass") + + set_material(material) + +/obj/item/weapon/shard/proc/set_material(material/material) + if(istype(material)) + src.material = material + icon_state = "[material.shard_icon][pick("large", "medium", "small")]" + pixel_x = rand(-8, 8) + pixel_y = rand(-8, 8) + update_material() + update_icon() + +/obj/item/weapon/shard/proc/update_material() + if(material) + if(material.shard_type) + name = "[material.display_name] [material.shard_type]" + desc = "A small piece of [material.display_name]. It looks sharp, you wouldn't want to step on it barefoot. Could probably be used as ... a throwing weapon?" + switch(material.shard_type) + if(SHARD_SPLINTER, SHARD_SHRAPNEL) + gender = "plural" + else + gender = "neuter" + else + qdel(src) + return + else + name = initial(name) + desc = initial(desc) + +/obj/item/weapon/shard/update_icon() + if(material) + color = material.icon_colour + // 1-(1-x)^2, so that glass shards with 0.3 opacity end up somewhat visible at 0.51 opacity + alpha = 255 * (1 - (1 - material.opacity)*(1 - material.opacity)) + else + color = "#ffffff" + alpha = 255 + +/obj/item/weapon/shard/attackby(obj/item/weapon/W as obj, mob/user as mob) + if(istype(W, /obj/item/weapon/weldingtool) && material.shard_can_repair) + var/obj/item/weapon/weldingtool/WT = W + if(WT.remove_fuel(0, user)) + material.place_sheet(loc) + qdel(src) + return + return ..() + +/obj/item/weapon/shard/Crossed(AM as mob|obj) + if(ismob(AM)) + var/mob/M = AM + M << "\red You step on \the [src]!" + playsound(src.loc, 'sound/effects/glass_step.ogg', 50, 1) // not sure how to handle metal shards with sounds + if(ishuman(M)) + var/mob/living/carbon/human/H = M + + if(H.species.flags & IS_SYNTHETIC || (H.species.siemens_coefficient<0.5)) //Thick skin. + return + + if( !H.shoes && ( !H.wear_suit || !(H.wear_suit.body_parts_covered & FEET) ) ) + var/obj/item/organ/external/affecting = H.get_organ(pick("l_foot", "r_foot")) + if(affecting.status & ORGAN_ROBOT) + return + if(affecting.take_damage(5, 0)) + H.UpdateDamageIcon() + H.updatehealth() + if(!(H.species && (H.species.flags & NO_PAIN))) + H.Weaken(3) + ..() + +// Preset types - left here for the code that uses them + +/obj/item/weapon/shard/shrapnel/New(loc) + ..(loc, get_material_by_name("steel")) + +/obj/item/weapon/shard/phoron/New(loc) + ..(loc, get_material_by_name("phoron glass")) diff --git a/code/game/objects/items/weapons/material/swords.dm b/code/game/objects/items/weapons/material/swords.dm new file mode 100644 index 0000000000..ea8c259004 --- /dev/null +++ b/code/game/objects/items/weapons/material/swords.dm @@ -0,0 +1,49 @@ +/obj/item/weapon/claymore + name = "claymore" + desc = "What are you standing around staring at this for? Get to killing!" + icon_state = "claymore" + item_state = "claymore" + flags = CONDUCT + slot_flags = SLOT_BELT + force = 40 + throwforce = 10 + sharp = 1 + edge = 1 + w_class = 3 + attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") + + IsShield() + return 1 + + suicide_act(mob/user) + viewers(user) << "[user] is falling on the [src.name]! It looks like \he's trying to commit suicide." + return(BRUTELOSS) + +/obj/item/weapon/claymore/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob) + playsound(loc, 'sound/weapons/bladeslice.ogg', 50, 1, -1) + return ..() + +/obj/item/weapon/katana + name = "katana" + desc = "Woefully underpowered in D20" + icon_state = "katana" + item_state = "katana" + flags = CONDUCT + slot_flags = SLOT_BELT | SLOT_BACK + force = 40 + throwforce = 10 + sharp = 1 + edge = 1 + w_class = 3 + attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") + + suicide_act(mob/user) + viewers(user) << "[user] is slitting \his stomach open with the [src.name]! It looks like \he's trying to commit seppuku." + return(BRUTELOSS) + +/obj/item/weapon/katana/IsShield() + return 1 + +/obj/item/weapon/katana/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob) + playsound(loc, 'sound/weapons/bladeslice.ogg', 50, 1, -1) + return ..() diff --git a/code/game/objects/items/weapons/material/thrown.dm b/code/game/objects/items/weapons/material/thrown.dm new file mode 100644 index 0000000000..ffba72c4cb --- /dev/null +++ b/code/game/objects/items/weapons/material/thrown.dm @@ -0,0 +1,31 @@ +/obj/item/weapon/star + name = "shuriken" + desc = "A sharp, perfectly weighted piece of metal." + icon_state = "star" + force = 5 + throw_speed = 10 + throwforce = 15 + throw_range = 15 + sharp = 1 + edge = 1 + matter = list(DEFAULT_WALL_MATERIAL = 500) + + var/poisoned = 0 + +/obj/item/weapon/star/New() + ..() + src.pixel_x = rand(-12, 12) + src.pixel_y = rand(-12, 12) + +//TODO: consider making this something done with reagents. +/obj/item/weapon/star/throw_impact(atom/hit_atom) + ..() + if(poisoned && istype(hit_atom,/mob/living)) + var/mob/living/M = hit_atom + M.adjustToxLoss(rand(20,40)) + poisoned = 0 + color = null + +/obj/item/weapon/star/ninja + color = "#007700" + poisoned = 1 \ No newline at end of file diff --git a/code/game/objects/items/weapons/twohanded.dm b/code/game/objects/items/weapons/material/twohanded.dm similarity index 100% rename from code/game/objects/items/weapons/twohanded.dm rename to code/game/objects/items/weapons/material/twohanded.dm diff --git a/code/game/objects/items/weapons/weaponry.dm b/code/game/objects/items/weapons/weaponry.dm index fbbc731f2a..867c5155e0 100644 --- a/code/game/objects/items/weapons/weaponry.dm +++ b/code/game/objects/items/weapons/weaponry.dm @@ -89,215 +89,6 @@ playsound(loc, 'sound/weapons/bladeslice.ogg', 50, 1, -1) return ..() -/obj/item/weapon/claymore - name = "claymore" - desc = "What are you standing around staring at this for? Get to killing!" - icon_state = "claymore" - item_state = "claymore" - flags = CONDUCT - slot_flags = SLOT_BELT - force = 40 - throwforce = 10 - sharp = 1 - edge = 1 - w_class = 3 - attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") - - IsShield() - return 1 - - suicide_act(mob/user) - viewers(user) << "[user] is falling on the [src.name]! It looks like \he's trying to commit suicide." - return(BRUTELOSS) - -/obj/item/weapon/claymore/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob) - playsound(loc, 'sound/weapons/bladeslice.ogg', 50, 1, -1) - return ..() - -/obj/item/weapon/katana - name = "katana" - desc = "Woefully underpowered in D20" - icon_state = "katana" - item_state = "katana" - flags = CONDUCT - slot_flags = SLOT_BELT | SLOT_BACK - force = 40 - throwforce = 10 - sharp = 1 - edge = 1 - w_class = 3 - attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") - - suicide_act(mob/user) - viewers(user) << "[user] is slitting \his stomach open with the [src.name]! It looks like \he's trying to commit seppuku." - return(BRUTELOSS) - -/obj/item/weapon/katana/IsShield() - return 1 - -/obj/item/weapon/katana/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob) - playsound(loc, 'sound/weapons/bladeslice.ogg', 50, 1, -1) - return ..() - -/obj/item/weapon/harpoon - name = "harpoon" - sharp = 1 - edge = 0 - desc = "Tharr she blows!" - icon_state = "harpoon" - item_state = "harpoon" - force = 20 - throwforce = 15 - w_class = 3 - attack_verb = list("jabbed","stabbed","ripped") - -/obj/item/weapon/butterfly - name = "butterfly knife" - desc = "A basic metal blade concealed in a lightweight plasteel grip. Small enough when folded to fit in a pocket." - icon_state = "butterflyknife" - item_state = null - hitsound = null - var/active = 0 - w_class = 2 - force = 2 - sharp = 0 - edge = 0 - throw_speed = 3 - throw_range = 4 - throwforce = 7 - attack_verb = list("patted", "tapped") - -/obj/item/butterflyconstruction - name = "unfinished concealed knife" - desc = "An unfinished concealed knife, it looks like the screws need to be tightened." - icon = 'icons/obj/buildingobject.dmi' - icon_state = "butterflystep1" - -/obj/item/butterflyconstruction/attackby(obj/item/W as obj, mob/user as mob) - if(istype(W,/obj/item/weapon/screwdriver)) - user << "You finish the concealed blade weapon." - new /obj/item/weapon/butterfly(user.loc) - qdel(src) - return - -/obj/item/butterflyblade - name = "knife blade" - desc = "A knife blade. Unusable as a weapon without a grip." - icon = 'icons/obj/buildingobject.dmi' - icon_state = "butterfly2" - matter = list(DEFAULT_WALL_MATERIAL = 5000) - -/obj/item/butterflyhandle - name = "concealed knife grip" - desc = "A plasteel grip with screw fittings for a blade." - icon = 'icons/obj/buildingobject.dmi' - icon_state = "butterfly1" - matter = list(DEFAULT_WALL_MATERIAL = 4000) - -/obj/item/butterflyhandle/attackby(obj/item/W as obj, mob/user as mob) - if(istype(W,/obj/item/butterflyblade)) - user << "You attach the two concealed blade parts." - new /obj/item/butterflyconstruction(user.loc) - qdel(W) - qdel(src) - return - update_icon(user) - -/obj/item/weapon/butterfly/switchblade - name = "switchblade" - desc = "A classic switchblade with gold engraving. Just holding it makes you feel like a gangster." - icon_state = "switchblade" - -/obj/item/weapon/butterfly/attack_self(mob/user) - active = !active - if(active) - user << "You flip out your [src]." - playsound(user, 'sound/weapons/flipblade.ogg', 15, 1) - force = 15 //bay adjustments - throwforce = 12 - edge = 1 - sharp = 1 - hitsound = 'sound/weapons/bladeslice.ogg' - icon_state += "_open" - w_class = 3 - attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") - else - user << "The butterfly knife can now be concealed." - force = initial(force) - edge = 0 - sharp = 0 - hitsound = initial(hitsound) - icon_state = initial(icon_state) - w_class = initial(w_class) - attack_verb = initial(attack_verb) - add_fingerprint(user) - - -obj/item/weapon/wirerod - name = "wired rod" - desc = "A rod with some wire wrapped around the top. It'd be easy to attach something to the top bit." - icon_state = "wiredrod" - item_state = "rods" - flags = CONDUCT - force = 8 - throwforce = 10 - w_class = 3 - attack_verb = list("hit", "bludgeoned", "whacked", "bonked") - - -obj/item/weapon/wirerod/attackby(var/obj/item/I, mob/user as mob) - ..() - if(istype(I, /obj/item/weapon/shard)) - var/obj/item/weapon/twohanded/spear/S = new /obj/item/weapon/twohanded/spear - - user.put_in_hands(S) - user << "You fasten the glass shard to the top of the rod with the cable." - qdel(I) - qdel(src) - update_icon(user) - - else if(istype(I, /obj/item/weapon/wirecutters)) - var/obj/item/weapon/melee/baton/cattleprod/P = new /obj/item/weapon/melee/baton/cattleprod - - user.put_in_hands(P) - user << "You fasten the wirecutters to the top of the rod with the cable, prongs outward." - qdel(I) - qdel(src) - update_icon(user) - update_icon(user) - -/obj/item/weapon/star - name = "shuriken" - desc = "A sharp, perfectly weighted piece of metal." - icon_state = "star" - force = 5 - throw_speed = 10 - throwforce = 15 - throw_range = 15 - sharp = 1 - edge = 1 - matter = list(DEFAULT_WALL_MATERIAL = 500) - - var/poisoned = 0 - -/obj/item/weapon/star/New() - ..() - src.pixel_x = rand(-12, 12) - src.pixel_y = rand(-12, 12) - -//TODO: consider making this something done with reagents. -/obj/item/weapon/star/throw_impact(atom/hit_atom) - ..() - if(poisoned && istype(hit_atom,/mob/living)) - var/mob/living/M = hit_atom - M.adjustToxLoss(rand(20,40)) - poisoned = 0 - color = null - -/obj/item/weapon/star/ninja - color = "#007700" - poisoned = 1 - /obj/item/weapon/energy_net name = "energy net" desc = "It's a net made of green energy." From 0fb27e83b0ac270b9c5479dcafd40f93548a43f8 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Sat, 16 May 2015 20:14:35 +0930 Subject: [PATCH 04/45] Preliminary file for material weapon system. --- .../weapons/material/material_weapons.dm | 46 +++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 code/game/objects/items/weapons/material/material_weapons.dm diff --git a/code/game/objects/items/weapons/material/material_weapons.dm b/code/game/objects/items/weapons/material/material_weapons.dm new file mode 100644 index 0000000000..0d781ee570 --- /dev/null +++ b/code/game/objects/items/weapons/material/material_weapons.dm @@ -0,0 +1,46 @@ +/obj/item/weapon/material + health = 10 + var/material/material + +/obj/item/weapon/material/New(var/newloc, var/material_key) + ..(newloc) + if(!material_key) + material_key = "wood" + material = get_material_by_name(material_key) + if(!material) + qdel(src) + else + name = "[material.display_name] bat" + health = round(material.integrity/10) + force = round(material.get_blunt_damage()/2) + color = material.icon_colour + if(material.products_need_process()) + processing_objects |= src + +/obj/item/weapon/material/Destroy() + processing_objects -= src + ..() + +/obj/item/weapon/material/attack() + if(!..()) + return + if(!prob(material.hardness)) + health-- + if(health<=0) + shatter() + +/obj/item/weapon/material/proc/shatter() + var/turf/T = get_turf(src) + T.visible_message("\The [src] shatters!") + if(istype(loc, /mob/living)) + var/mob/living/M = loc + M.drop_from_inventory(src) + playsound(src, "shatter", 70, 1) + new material.shard_type(T) + qdel(src) + +/obj/item/weapon/material/process() + if(!material.radioactivity) + return + for(var/mob/living/L in range(1,src)) + L.apply_effect(round(material.radioactivity/3),IRRADIATE,0) \ No newline at end of file From 8aa24b86bb8a0160141b3cbad4c3484f6a5cbe41 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Sat, 16 May 2015 20:36:33 +0930 Subject: [PATCH 05/45] Renamed shards, katanas, claymores. --- baystation12.dme | 1 + code/game/machinery/computer/computer.dm | 2 +- code/game/machinery/computer/pod.dm | 2 +- code/game/machinery/computer/prisonshuttle.dm | 2 +- code/game/machinery/doors/windowdoor.dm | 2 +- code/game/machinery/telecomms/logbrowser.dm | 2 +- code/game/machinery/telecomms/telemonitor.dm | 2 +- .../machinery/telecomms/traffic_control.dm | 2 +- .../items/weapons/improvised_components.dm | 2 +- .../weapons/material/material_weapons.dm | 24 +++-- .../objects/items/weapons/material/misc.dm | 5 +- .../objects/items/weapons/material/shards.dm | 99 +++++++------------ .../objects/items/weapons/material/swords.dm | 32 +++--- code/game/objects/structures/displaycase.dm | 8 +- code/game/objects/structures/grille.dm | 2 +- code/game/objects/structures/lamarr_cage.dm | 8 +- code/game/objects/structures/window.dm | 6 +- code/modules/materials/materials.dm | 2 +- code/modules/mining/abandonedcrates.dm | 2 +- code/modules/mining/mine_turfs.dm | 4 +- code/modules/mob/living/carbon/human/human.dm | 2 +- .../mob/living/carbon/human/human_defense.dm | 2 +- .../living/silicon/robot/drone/drone_items.dm | 4 +- .../simple_animal/hostile/retaliate/drone.dm | 8 +- code/modules/power/solar.dm | 10 +- code/modules/power/turbine.dm | 2 +- .../projectiles/guns/launcher/crossbow.dm | 2 +- .../reagent_containers/food/drinks/bottle.dm | 2 +- .../reagent_containers/food/sandwich.dm | 6 +- .../artifact/artifact_crystal.dm | 12 +-- .../research/xenoarchaeology/finds/finds.dm | 6 +- code/modules/surgery/eye.dm | 2 +- code/modules/surgery/face.dm | 2 +- code/modules/surgery/generic.dm | 2 +- code/modules/surgery/organs_internal.dm | 4 +- code/modules/surgery/other.dm | 2 +- code/modules/surgery/slimes.dm | 4 +- code/modules/tables/interactions.dm | 2 +- code/modules/tables/tables.dm | 6 +- maps/exodus-1.dmm | 24 ++--- maps/exodus-2.dmm | 2 +- maps/exodus-3.dmm | 6 +- maps/exodus-5.dmm | 42 ++++---- maps/exodus-6.dmm | 3 +- 44 files changed, 171 insertions(+), 195 deletions(-) diff --git a/baystation12.dme b/baystation12.dme index 7b3e8565e8..cd2c4461be 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -675,6 +675,7 @@ #include "code\game\objects\items\weapons\material\bats.dm" #include "code\game\objects\items\weapons\material\kitchen.dm" #include "code\game\objects\items\weapons\material\knives.dm" +#include "code\game\objects\items\weapons\material\material_weapons.dm" #include "code\game\objects\items\weapons\material\misc.dm" #include "code\game\objects\items\weapons\material\shards.dm" #include "code\game\objects\items\weapons\material\swords.dm" diff --git a/code/game/machinery/computer/computer.dm b/code/game/machinery/computer/computer.dm index 37cb62c5cb..baa75fed05 100644 --- a/code/game/machinery/computer/computer.dm +++ b/code/game/machinery/computer/computer.dm @@ -125,7 +125,7 @@ C.loc = src.loc if (src.stat & BROKEN) user << "\blue The broken glass falls out." - new /obj/item/weapon/shard( src.loc ) + new /obj/item/weapon/material/shard( src.loc ) A.state = 3 A.icon_state = "3" else diff --git a/code/game/machinery/computer/pod.dm b/code/game/machinery/computer/pod.dm index 257e76ede8..7e23437e25 100644 --- a/code/game/machinery/computer/pod.dm +++ b/code/game/machinery/computer/pod.dm @@ -58,7 +58,7 @@ if(stat & BROKEN) user << "\blue The broken glass falls out." var/obj/structure/computerframe/A = new /obj/structure/computerframe( loc ) - new /obj/item/weapon/shard( loc ) + new /obj/item/weapon/material/shard( loc ) //generate appropriate circuitboard. Accounts for /pod/old computer types var/obj/item/weapon/circuitboard/pod/M = null diff --git a/code/game/machinery/computer/prisonshuttle.dm b/code/game/machinery/computer/prisonshuttle.dm index 0fd1a2df05..59aa575a5b 100644 --- a/code/game/machinery/computer/prisonshuttle.dm +++ b/code/game/machinery/computer/prisonshuttle.dm @@ -38,7 +38,7 @@ var/prison_shuttle_timeleft = 0 if (src.stat & BROKEN) user << "\blue The broken glass falls out." - new /obj/item/weapon/shard( src.loc ) + new /obj/item/weapon/material/shard( src.loc ) A.state = 3 A.icon_state = "3" else diff --git a/code/game/machinery/doors/windowdoor.dm b/code/game/machinery/doors/windowdoor.dm index d693f848eb..692662e6d2 100644 --- a/code/game/machinery/doors/windowdoor.dm +++ b/code/game/machinery/doors/windowdoor.dm @@ -25,7 +25,7 @@ return /obj/machinery/door/window/proc/shatter(var/display_message = 1) - new /obj/item/weapon/shard(src.loc) + new /obj/item/weapon/material/shard(src.loc) var/obj/item/stack/cable_coil/CC = new /obj/item/stack/cable_coil(src.loc) CC.amount = 2 var/obj/item/weapon/airlock_electronics/ae diff --git a/code/game/machinery/telecomms/logbrowser.dm b/code/game/machinery/telecomms/logbrowser.dm index 50fa8b185b..cdcd98beba 100644 --- a/code/game/machinery/telecomms/logbrowser.dm +++ b/code/game/machinery/telecomms/logbrowser.dm @@ -192,7 +192,7 @@ if (src.stat & BROKEN) user << "\blue The broken glass falls out." var/obj/structure/computerframe/A = new /obj/structure/computerframe( src.loc ) - new /obj/item/weapon/shard( src.loc ) + new /obj/item/weapon/material/shard( src.loc ) var/obj/item/weapon/circuitboard/comm_server/M = new /obj/item/weapon/circuitboard/comm_server( A ) for (var/obj/C in src) C.loc = src.loc diff --git a/code/game/machinery/telecomms/telemonitor.dm b/code/game/machinery/telecomms/telemonitor.dm index a0f7b351ef..10ebe3dabc 100644 --- a/code/game/machinery/telecomms/telemonitor.dm +++ b/code/game/machinery/telecomms/telemonitor.dm @@ -130,7 +130,7 @@ if (src.stat & BROKEN) user << "\blue The broken glass falls out." var/obj/structure/computerframe/A = new /obj/structure/computerframe( src.loc ) - new /obj/item/weapon/shard( src.loc ) + new /obj/item/weapon/material/shard( src.loc ) var/obj/item/weapon/circuitboard/comm_monitor/M = new /obj/item/weapon/circuitboard/comm_monitor( A ) for (var/obj/C in src) C.loc = src.loc diff --git a/code/game/machinery/telecomms/traffic_control.dm b/code/game/machinery/telecomms/traffic_control.dm index 287577626c..459ae15da0 100644 --- a/code/game/machinery/telecomms/traffic_control.dm +++ b/code/game/machinery/telecomms/traffic_control.dm @@ -213,7 +213,7 @@ if (src.stat & BROKEN) user << "\blue The broken glass falls out." var/obj/structure/computerframe/A = new /obj/structure/computerframe( src.loc ) - new /obj/item/weapon/shard( src.loc ) + new /obj/item/weapon/material/shard( src.loc ) var/obj/item/weapon/circuitboard/comm_traffic/M = new /obj/item/weapon/circuitboard/comm_traffic( A ) for (var/obj/C in src) C.loc = src.loc diff --git a/code/game/objects/items/weapons/improvised_components.dm b/code/game/objects/items/weapons/improvised_components.dm index 31a6e8d6a9..d00ca141f6 100644 --- a/code/game/objects/items/weapons/improvised_components.dm +++ b/code/game/objects/items/weapons/improvised_components.dm @@ -48,7 +48,7 @@ /obj/item/weapon/wirerod/attackby(var/obj/item/I, mob/user as mob) ..() - if(istype(I, /obj/item/weapon/shard)) + if(istype(I, /obj/item/weapon/material/shard)) var/obj/item/weapon/twohanded/spear/S = new /obj/item/weapon/twohanded/spear user.put_in_hands(S) diff --git a/code/game/objects/items/weapons/material/material_weapons.dm b/code/game/objects/items/weapons/material/material_weapons.dm index 0d781ee570..84aa0799ba 100644 --- a/code/game/objects/items/weapons/material/material_weapons.dm +++ b/code/game/objects/items/weapons/material/material_weapons.dm @@ -1,18 +1,27 @@ /obj/item/weapon/material health = 10 + hitsound = 'sound/weapons/bladeslice.ogg' + gender = NEUTER + + var/unbreakable + var/damage_divisor = 0.5 + var/default_material = DEFAULT_WALL_MATERIAL var/material/material /obj/item/weapon/material/New(var/newloc, var/material_key) ..(newloc) if(!material_key) - material_key = "wood" - material = get_material_by_name(material_key) + material_key = default_material + set_material(material_key) + +/obj/item/weapon/material/proc/set_material(var/new_material) + material = get_material_by_name(new_material) if(!material) qdel(src) else name = "[material.display_name] bat" health = round(material.integrity/10) - force = round(material.get_blunt_damage()/2) + force = round(material.get_blunt_damage()*damage_divisor) color = material.icon_colour if(material.products_need_process()) processing_objects |= src @@ -24,10 +33,11 @@ /obj/item/weapon/material/attack() if(!..()) return - if(!prob(material.hardness)) - health-- - if(health<=0) - shatter() + if(!unbreakable) + if(!prob(material.hardness)) + health-- + if(health<=0) + shatter() /obj/item/weapon/material/proc/shatter() var/turf/T = get_turf(src) diff --git a/code/game/objects/items/weapons/material/misc.dm b/code/game/objects/items/weapons/material/misc.dm index 8099e626db..e09e01c0ea 100644 --- a/code/game/objects/items/weapons/material/misc.dm +++ b/code/game/objects/items/weapons/material/misc.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/harpoon +/obj/item/weapon/material/harpoon name = "harpoon" sharp = 1 edge = 0 @@ -8,4 +8,5 @@ force = 20 throwforce = 15 w_class = 3 - attack_verb = list("jabbed","stabbed","ripped") \ No newline at end of file + attack_verb = list("jabbed","stabbed","ripped") + default_material = "steel" \ No newline at end of file diff --git a/code/game/objects/items/weapons/material/shards.dm b/code/game/objects/items/weapons/material/shards.dm index 8fea29b4f2..3df8181cdd 100644 --- a/code/game/objects/items/weapons/material/shards.dm +++ b/code/game/objects/items/weapons/material/shards.dm @@ -1,77 +1,49 @@ // Glass shards -/obj/item/weapon/shard +/obj/item/weapon/material/shard name = "shard" icon = 'icons/obj/shards.dmi' icon_state = "large" sharp = 1 edge = 1 desc = "Made of nothing. How does this even exist?" // set based on material, if this desc is visible it's a bug (shards default to being made of glass) - w_class = 2.0 - force = 5.0 - throwforce = 8.0 + w_class = 2 + force = 5 + throwforce = 8 item_state = "shard-glass" - //matter = list("glass" = 3750) // Weld it into sheets before you use it! attack_verb = list("stabbed", "slashed", "sliced", "cut") + default_material = "glass" + unbreakable = 1 //It's already broken. + damage_divisor = 0.1 //So tiny. - gender = "neuter" - var/material/material = null +/obj/item/weapon/material/shard/suicide_act(mob/user) + viewers(user) << pick("\red [user] is slitting \his wrists with \the [src]! It looks like \he's trying to commit suicide.", \ + "\red [user] is slitting \his throat with \the [src]! It looks like \he's trying to commit suicide.") + return (BRUTELOSS) -/obj/item/weapon/shard/suicide_act(mob/user) - viewers(user) << pick("\red [user] is slitting \his wrists with \the [src]! It looks like \he's trying to commit suicide.", \ - "\red [user] is slitting \his throat with \the [src]! It looks like \he's trying to commit suicide.") - return (BRUTELOSS) - -/obj/item/weapon/shard/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob) - playsound(loc, 'sound/weapons/bladeslice.ogg', 50, 1, -1) - return ..() - -/obj/item/weapon/shard/Bump() - - spawn( 0 ) - if (prob(20)) - src.force = 15 - else - src.force = 4 - ..() +/obj/item/weapon/material/shard/set_material(var/new_material) + ..(new_material) + if(!istype(material)) return - return -/obj/item/weapon/shard/New(loc, material/material) - ..(loc) + icon_state = "[material.shard_icon][pick("large", "medium", "small")]" + pixel_x = rand(-8, 8) + pixel_y = rand(-8, 8) + update_icon() - if(!material || !istype(material)) // We either don't have a material or we've been passed an invalid material. Use glass instead. - material = get_material_by_name("glass") - - set_material(material) - -/obj/item/weapon/shard/proc/set_material(material/material) - if(istype(material)) - src.material = material - icon_state = "[material.shard_icon][pick("large", "medium", "small")]" - pixel_x = rand(-8, 8) - pixel_y = rand(-8, 8) - update_material() - update_icon() - -/obj/item/weapon/shard/proc/update_material() - if(material) - if(material.shard_type) - name = "[material.display_name] [material.shard_type]" - desc = "A small piece of [material.display_name]. It looks sharp, you wouldn't want to step on it barefoot. Could probably be used as ... a throwing weapon?" - switch(material.shard_type) - if(SHARD_SPLINTER, SHARD_SHRAPNEL) - gender = "plural" - else - gender = "neuter" - else - qdel(src) - return + if(material.shard_type) + name = "[material.display_name] [material.shard_type]" + desc = "A small piece of [material.display_name]. It looks sharp, you wouldn't want to step on it barefoot. Could probably be used as ... a throwing weapon?" + switch(material.shard_type) + if(SHARD_SPLINTER, SHARD_SHRAPNEL) + gender = PLURAL + else + gender = NEUTER else - name = initial(name) - desc = initial(desc) + qdel(src) -/obj/item/weapon/shard/update_icon() + +/obj/item/weapon/material/shard/update_icon() if(material) color = material.icon_colour // 1-(1-x)^2, so that glass shards with 0.3 opacity end up somewhat visible at 0.51 opacity @@ -80,7 +52,7 @@ color = "#ffffff" alpha = 255 -/obj/item/weapon/shard/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/item/weapon/material/shard/attackby(obj/item/weapon/W as obj, mob/user as mob) if(istype(W, /obj/item/weapon/weldingtool) && material.shard_can_repair) var/obj/item/weapon/weldingtool/WT = W if(WT.remove_fuel(0, user)) @@ -89,7 +61,7 @@ return return ..() -/obj/item/weapon/shard/Crossed(AM as mob|obj) +/obj/item/weapon/material/shard/Crossed(AM as mob|obj) if(ismob(AM)) var/mob/M = AM M << "\red You step on \the [src]!" @@ -112,9 +84,8 @@ ..() // Preset types - left here for the code that uses them +/obj/item/weapon/material/shard/shrapnel/New(loc) + ..(loc, "steel") -/obj/item/weapon/shard/shrapnel/New(loc) - ..(loc, get_material_by_name("steel")) - -/obj/item/weapon/shard/phoron/New(loc) - ..(loc, get_material_by_name("phoron glass")) +/obj/item/weapon/material/shard/phoron/New(loc) + ..(loc, "phoron glass") diff --git a/code/game/objects/items/weapons/material/swords.dm b/code/game/objects/items/weapons/material/swords.dm index ea8c259004..aaa3d4f9fa 100644 --- a/code/game/objects/items/weapons/material/swords.dm +++ b/code/game/objects/items/weapons/material/swords.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/claymore +/obj/item/weapon/material/claymore name = "claymore" desc = "What are you standing around staring at this for? Get to killing!" icon_state = "claymore" @@ -11,19 +11,16 @@ edge = 1 w_class = 3 attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") + hitsound = 'sound/weapons/bladeslice.ogg' - IsShield() - return 1 +/obj/item/weapon/material/claymore/IsShield() + return 1 - suicide_act(mob/user) - viewers(user) << "[user] is falling on the [src.name]! It looks like \he's trying to commit suicide." - return(BRUTELOSS) +/obj/item/weapon/material/claymore/suicide_act(mob/user) + viewers(user) << "[user] is falling on the [src.name]! It looks like \he's trying to commit suicide." + return(BRUTELOSS) -/obj/item/weapon/claymore/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob) - playsound(loc, 'sound/weapons/bladeslice.ogg', 50, 1, -1) - return ..() - -/obj/item/weapon/katana +/obj/item/weapon/material/katana name = "katana" desc = "Woefully underpowered in D20" icon_state = "katana" @@ -36,14 +33,11 @@ edge = 1 w_class = 3 attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") + hitsound = 'sound/weapons/bladeslice.ogg' - suicide_act(mob/user) - viewers(user) << "[user] is slitting \his stomach open with the [src.name]! It looks like \he's trying to commit seppuku." - return(BRUTELOSS) +/obj/item/weapon/material/katana/suicide_act(mob/user) + viewers(user) << "[user] is slitting \his stomach open with the [src.name]! It looks like \he's trying to commit seppuku." + return(BRUTELOSS) -/obj/item/weapon/katana/IsShield() +/obj/item/weapon/material/katana/IsShield() return 1 - -/obj/item/weapon/katana/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob) - playsound(loc, 'sound/weapons/bladeslice.ogg', 50, 1, -1) - return ..() diff --git a/code/game/objects/structures/displaycase.dm b/code/game/objects/structures/displaycase.dm index 5150319f15..d343e41159 100644 --- a/code/game/objects/structures/displaycase.dm +++ b/code/game/objects/structures/displaycase.dm @@ -13,7 +13,7 @@ /obj/structure/displaycase/ex_act(severity) switch(severity) if (1) - new /obj/item/weapon/shard( src.loc ) + new /obj/item/weapon/material/shard( src.loc ) if (occupied) new /obj/item/weapon/gun/energy/captain( src.loc ) occupied = 0 @@ -37,7 +37,7 @@ /obj/structure/displaycase/blob_act() if (prob(75)) - new /obj/item/weapon/shard( src.loc ) + new /obj/item/weapon/material/shard( src.loc ) if (occupied) new /obj/item/weapon/gun/energy/captain( src.loc ) occupied = 0 @@ -45,7 +45,7 @@ /obj/structure/displaycase/meteorhit(obj/O as obj) - new /obj/item/weapon/shard( src.loc ) + new /obj/item/weapon/material/shard( src.loc ) new /obj/item/weapon/gun/energy/captain( src.loc ) qdel(src) @@ -55,7 +55,7 @@ if (!( src.destroyed )) src.density = 0 src.destroyed = 1 - new /obj/item/weapon/shard( src.loc ) + new /obj/item/weapon/material/shard( src.loc ) playsound(src, "shatter", 70, 1) update_icon() else diff --git a/code/game/objects/structures/grille.dm b/code/game/objects/structures/grille.dm index b18658d4a6..619021c45e 100644 --- a/code/game/objects/structures/grille.dm +++ b/code/game/objects/structures/grille.dm @@ -153,7 +153,7 @@ return //window placing end - else if(istype(W, /obj/item/weapon/shard)) + else if(istype(W, /obj/item/weapon/material/shard)) health -= W.force * 0.1 else if(!shock(user, 70)) playsound(loc, 'sound/effects/grillehit.ogg', 80, 1) diff --git a/code/game/objects/structures/lamarr_cage.dm b/code/game/objects/structures/lamarr_cage.dm index 3c32052d72..1ab233a3ba 100644 --- a/code/game/objects/structures/lamarr_cage.dm +++ b/code/game/objects/structures/lamarr_cage.dm @@ -13,7 +13,7 @@ /obj/structure/lamarr/ex_act(severity) switch(severity) if (1) - new /obj/item/weapon/shard( src.loc ) + new /obj/item/weapon/material/shard( src.loc ) Break() qdel(src) if (2) @@ -35,13 +35,13 @@ /obj/structure/lamarr/blob_act() if (prob(75)) - new /obj/item/weapon/shard( src.loc ) + new /obj/item/weapon/material/shard( src.loc ) Break() qdel(src) /obj/structure/lamarr/meteorhit(obj/O as obj) - new /obj/item/weapon/shard( src.loc ) + new /obj/item/weapon/material/shard( src.loc ) Break() qdel(src) @@ -51,7 +51,7 @@ if (!( src.destroyed )) src.density = 0 src.destroyed = 1 - new /obj/item/weapon/shard( src.loc ) + new /obj/item/weapon/material/shard( src.loc ) playsound(src, "shatter", 70, 1) Break() else diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm index 5c51758380..656ea7e781 100644 --- a/code/game/objects/structures/window.dm +++ b/code/game/objects/structures/window.dm @@ -13,7 +13,7 @@ var/state = 2 var/reinf = 0 var/basestate - var/shardtype = /obj/item/weapon/shard + var/shardtype = /obj/item/weapon/material/shard var/glasstype = null // Set this in subtypes. Null is assumed strange or otherwise impossible to dismantle, such as for shuttle glass. var/silicate = 0 // number of units of silicate @@ -406,7 +406,7 @@ desc = "A phoron-glass alloy window. It looks insanely tough to break. It appears it's also insanely tough to burn through." basestate = "phoronwindow" icon_state = "phoronwindow" - shardtype = /obj/item/weapon/shard/phoron + shardtype = /obj/item/weapon/material/shard/phoron glasstype = /obj/item/stack/sheet/glass/phoronglass maxhealth = 120 @@ -420,7 +420,7 @@ desc = "A phoron-glass alloy window, with rods supporting it. It looks hopelessly tough to break. It also looks completely fireproof, considering how basic phoron windows are insanely fireproof." basestate = "phoronrwindow" icon_state = "phoronrwindow" - shardtype = /obj/item/weapon/shard/phoron + shardtype = /obj/item/weapon/material/shard/phoron glasstype = /obj/item/stack/sheet/glass/phoronrglass reinf = 1 maxhealth = 160 diff --git a/code/modules/materials/materials.dm b/code/modules/materials/materials.dm index 1e49ff8742..15a989f949 100644 --- a/code/modules/materials/materials.dm +++ b/code/modules/materials/materials.dm @@ -87,7 +87,7 @@ var/list/name_to_material /material/proc/place_shard(var/turf/target) if(shard_type) - return new /obj/item/weapon/shard(target, src) + return new /obj/item/weapon/material/shard(target, src.name) /material/proc/is_brittle() return !!(flags & MATERIAL_BRITTLE) diff --git a/code/modules/mining/abandonedcrates.dm b/code/modules/mining/abandonedcrates.dm index 7376ed2851..2bff18cbea 100644 --- a/code/modules/mining/abandonedcrates.dm +++ b/code/modules/mining/abandonedcrates.dm @@ -109,7 +109,7 @@ if(91) new/obj/item/device/soulstone(src) if(92) - new/obj/item/weapon/katana(src) + new/obj/item/weapon/material/katana(src) if(93) new/obj/item/weapon/dnainjector/xraymut(src) // Probably the least OP if(94) // Why the hell not diff --git a/code/modules/mining/mine_turfs.dm b/code/modules/mining/mine_turfs.dm index 80a19e7b96..98a7a8df9e 100644 --- a/code/modules/mining/mine_turfs.dm +++ b/code/modules/mining/mine_turfs.dm @@ -356,12 +356,12 @@ if(5) var/quantity = rand(1,3) for(var/i=0, i class) && !istype(O,/obj/item/weapon/shard/shrapnel)) + if(!istype(O,/obj/item/weapon/implant) && (O.w_class > class) && !istype(O,/obj/item/weapon/material/shard/shrapnel)) visible_implants += O return(visible_implants) diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index f409bee147..994cab11f6 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -43,7 +43,7 @@ emp_act if(P.can_embed()) var/armor = getarmor_organ(organ, "bullet") if(prob(20 + max(P.damage - armor, -10))) - var/obj/item/weapon/shard/shrapnel/SP = new() + var/obj/item/weapon/material/shard/shrapnel/SP = new() SP.name = (P.name != "shrapnel")? "[P.name] shrapnel" : "shrapnel" SP.desc = "[SP.desc] It looks like it was fired from [P.shot_from]." SP.loc = organ diff --git a/code/modules/mob/living/silicon/robot/drone/drone_items.dm b/code/modules/mob/living/silicon/robot/drone/drone_items.dm index 7452514f17..3f10d4f899 100644 --- a/code/modules/mob/living/silicon/robot/drone/drone_items.dm +++ b/code/modules/mob/living/silicon/robot/drone/drone_items.dm @@ -328,10 +328,10 @@ else if(istype(W,/obj/item/ammo_casing)) if(metal) metal.add_charge(1000) - else if(istype(W,/obj/item/weapon/shard/shrapnel)) + else if(istype(W,/obj/item/weapon/material/shard/shrapnel)) if(metal) metal.add_charge(1000) - else if(istype(W,/obj/item/weapon/shard)) + else if(istype(W,/obj/item/weapon/material/shard)) if(glass) glass.add_charge(1000) else if(istype(W,/obj/item/weapon/reagent_containers/food/snacks/grown)) diff --git a/code/modules/mob/living/simple_animal/hostile/retaliate/drone.dm b/code/modules/mob/living/simple_animal/hostile/retaliate/drone.dm index a2e9e21f75..d99d8ddcf7 100644 --- a/code/modules/mob/living/simple_animal/hostile/retaliate/drone.dm +++ b/code/modules/mob/living/simple_animal/hostile/retaliate/drone.dm @@ -170,16 +170,16 @@ var/obj/O //shards - O = new /obj/item/weapon/shard(src.loc) + O = new /obj/item/weapon/material/shard(src.loc) step_to(O, get_turf(pick(view(7, src)))) if(prob(75)) - O = new /obj/item/weapon/shard(src.loc) + O = new /obj/item/weapon/material/shard(src.loc) step_to(O, get_turf(pick(view(7, src)))) if(prob(50)) - O = new /obj/item/weapon/shard(src.loc) + O = new /obj/item/weapon/material/shard(src.loc) step_to(O, get_turf(pick(view(7, src)))) if(prob(25)) - O = new /obj/item/weapon/shard(src.loc) + O = new /obj/item/weapon/material/shard(src.loc) step_to(O, get_turf(pick(view(7, src)))) //rods diff --git a/code/modules/power/solar.dm b/code/modules/power/solar.dm index 6bdef2c273..8f3366e7c1 100644 --- a/code/modules/power/solar.dm +++ b/code/modules/power/solar.dm @@ -91,8 +91,8 @@ var/list/solars_list = list() if(!(stat & BROKEN)) broken() else - new /obj/item/weapon/shard(src.loc) - new /obj/item/weapon/shard(src.loc) + new /obj/item/weapon/material/shard(src.loc) + new /obj/item/weapon/material/shard(src.loc) qdel(src) return return @@ -153,13 +153,13 @@ var/list/solars_list = list() switch(severity) if(1.0) if(prob(15)) - new /obj/item/weapon/shard( src.loc ) + new /obj/item/weapon/material/shard( src.loc ) qdel(src) return if(2.0) if (prob(25)) - new /obj/item/weapon/shard( src.loc ) + new /obj/item/weapon/material/shard( src.loc ) qdel(src) return @@ -420,7 +420,7 @@ var/list/solars_list = list() if (src.stat & BROKEN) user << "\blue The broken glass falls out." var/obj/structure/computerframe/A = new /obj/structure/computerframe( src.loc ) - new /obj/item/weapon/shard( src.loc ) + new /obj/item/weapon/material/shard( src.loc ) var/obj/item/weapon/circuitboard/solar_control/M = new /obj/item/weapon/circuitboard/solar_control( A ) for (var/obj/C in src) C.loc = src.loc diff --git a/code/modules/power/turbine.dm b/code/modules/power/turbine.dm index 10d6d8238d..0119de8308 100644 --- a/code/modules/power/turbine.dm +++ b/code/modules/power/turbine.dm @@ -234,7 +234,7 @@ if (src.stat & BROKEN) user << "\blue The broken glass falls out." var/obj/structure/computerframe/A = new /obj/structure/computerframe( src.loc ) - new /obj/item/weapon/shard( src.loc ) + new /obj/item/weapon/material/shard( src.loc ) var/obj/item/weapon/circuitboard/turbine_control/M = new /obj/item/weapon/circuitboard/turbine_control( A ) for (var/obj/C in src) C.loc = src.loc diff --git a/code/modules/projectiles/guns/launcher/crossbow.dm b/code/modules/projectiles/guns/launcher/crossbow.dm index 4736fc0c7b..fb453dbb4e 100644 --- a/code/modules/projectiles/guns/launcher/crossbow.dm +++ b/code/modules/projectiles/guns/launcher/crossbow.dm @@ -41,7 +41,7 @@ /obj/item/weapon/arrow/rod/removed(mob/user) if(throwforce == 15) // The rod has been superheated - we don't want it to be useable when removed from the bow. user << "[src] shatters into a scattering of overstressed metal shards as it leaves the crossbow." - var/obj/item/weapon/shard/shrapnel/S = new() + var/obj/item/weapon/material/shard/shrapnel/S = new() S.loc = get_turf(src) qdel(src) diff --git a/code/modules/reagents/reagent_containers/food/drinks/bottle.dm b/code/modules/reagents/reagent_containers/food/drinks/bottle.dm index 8b7de10bcd..e6b1308603 100644 --- a/code/modules/reagents/reagent_containers/food/drinks/bottle.dm +++ b/code/modules/reagents/reagent_containers/food/drinks/bottle.dm @@ -16,7 +16,7 @@ var/obj/item/weapon/broken_bottle/B = new /obj/item/weapon/broken_bottle(user.loc) user.put_in_active_hand(B) if(prob(33)) - new/obj/item/weapon/shard(target.loc) // Create a glass shard at the target's location! + new/obj/item/weapon/material/shard(target.loc) // Create a glass shard at the target's location! B.icon_state = src.icon_state var/icon/I = new('icons/obj/drinks.dmi', src.icon_state) diff --git a/code/modules/reagents/reagent_containers/food/sandwich.dm b/code/modules/reagents/reagent_containers/food/sandwich.dm index b3e3ce9d1f..c853706ad5 100644 --- a/code/modules/reagents/reagent_containers/food/sandwich.dm +++ b/code/modules/reagents/reagent_containers/food/sandwich.dm @@ -1,6 +1,6 @@ /obj/item/weapon/reagent_containers/food/snacks/breadslice/attackby(obj/item/W as obj, mob/user as mob) - if(istype(W,/obj/item/weapon/shard) || istype(W,/obj/item/weapon/reagent_containers/food/snacks)) + if(istype(W,/obj/item/weapon/material/shard) || istype(W,/obj/item/weapon/reagent_containers/food/snacks)) var/obj/item/weapon/reagent_containers/food/snacks/csandwich/S = new(get_turf(src)) S.attackby(W,user) qdel(src) @@ -25,7 +25,7 @@ if(src.contents.len > sandwich_limit) user << "\red If you put anything else on \the [src] it's going to collapse." return - else if(istype(W,/obj/item/weapon/shard)) + else if(istype(W,/obj/item/weapon/material/shard)) user << "\blue You hide [W] in \the [src]." user.drop_item() W.loc = src @@ -87,7 +87,7 @@ var/obj/item/shard for(var/obj/item/O in contents) - if(istype(O,/obj/item/weapon/shard)) + if(istype(O,/obj/item/weapon/material/shard)) shard = O break diff --git a/code/modules/research/xenoarchaeology/artifact/artifact_crystal.dm b/code/modules/research/xenoarchaeology/artifact/artifact_crystal.dm index 44f257060a..081683b044 100644 --- a/code/modules/research/xenoarchaeology/artifact/artifact_crystal.dm +++ b/code/modules/research/xenoarchaeology/artifact/artifact_crystal.dm @@ -20,17 +20,17 @@ /obj/structure/crystal/Destroy() src.visible_message("\red[src] shatters!") if(prob(75)) - new /obj/item/weapon/shard/phoron(src.loc) + new /obj/item/weapon/material/shard/phoron(src.loc) if(prob(50)) - new /obj/item/weapon/shard/phoron(src.loc) + new /obj/item/weapon/material/shard/phoron(src.loc) if(prob(25)) - new /obj/item/weapon/shard/phoron(src.loc) + new /obj/item/weapon/material/shard/phoron(src.loc) if(prob(75)) - new /obj/item/weapon/shard(src.loc) + new /obj/item/weapon/material/shard(src.loc) if(prob(50)) - new /obj/item/weapon/shard(src.loc) + new /obj/item/weapon/material/shard(src.loc) if(prob(25)) - new /obj/item/weapon/shard(src.loc) + new /obj/item/weapon/material/shard(src.loc) ..() //todo: laser_act diff --git a/code/modules/research/xenoarchaeology/finds/finds.dm b/code/modules/research/xenoarchaeology/finds/finds.dm index 7de8474aef..fe2bbe7afa 100644 --- a/code/modules/research/xenoarchaeology/finds/finds.dm +++ b/code/modules/research/xenoarchaeology/finds/finds.dm @@ -315,9 +315,9 @@ apply_material_decorations = 0 if(22) if(prob(50)) - new_item = new /obj/item/weapon/shard(src.loc) + new_item = new /obj/item/weapon/material/shard(src.loc) else - new_item = new /obj/item/weapon/shard/phoron(src.loc) + new_item = new /obj/item/weapon/material/shard/phoron(src.loc) apply_prefix = 0 apply_image_decorations = 0 apply_material_decorations = 0 @@ -337,7 +337,7 @@ apply_material_decorations = 0 if(25) apply_prefix = 0 - new_item = new /obj/item/weapon/katana(src.loc) + new_item = new /obj/item/weapon/material/katana(src.loc) new_item.force = 10 item_type = new_item.name if(26) diff --git a/code/modules/surgery/eye.dm b/code/modules/surgery/eye.dm index edc1c54c67..cb3c5af7b7 100644 --- a/code/modules/surgery/eye.dm +++ b/code/modules/surgery/eye.dm @@ -21,7 +21,7 @@ allowed_tools = list( /obj/item/weapon/scalpel = 100, \ /obj/item/weapon/kitchenknife = 75, \ - /obj/item/weapon/shard = 50, \ + /obj/item/weapon/material/shard = 50, \ ) min_duration = 90 diff --git a/code/modules/surgery/face.dm b/code/modules/surgery/face.dm index e25291eba5..8517a7b98d 100644 --- a/code/modules/surgery/face.dm +++ b/code/modules/surgery/face.dm @@ -18,7 +18,7 @@ allowed_tools = list( /obj/item/weapon/scalpel = 100, \ /obj/item/weapon/kitchenknife = 75, \ - /obj/item/weapon/shard = 50, \ + /obj/item/weapon/material/shard = 50, \ ) min_duration = 90 diff --git a/code/modules/surgery/generic.dm b/code/modules/surgery/generic.dm index f6352f6b74..7ff50ae15b 100644 --- a/code/modules/surgery/generic.dm +++ b/code/modules/surgery/generic.dm @@ -111,7 +111,7 @@ allowed_tools = list( /obj/item/weapon/scalpel = 100, \ /obj/item/weapon/kitchenknife = 75, \ - /obj/item/weapon/shard = 50, \ + /obj/item/weapon/material/shard = 50, \ ) min_duration = 90 diff --git a/code/modules/surgery/organs_internal.dm b/code/modules/surgery/organs_internal.dm index 182c3eac2a..b8b5d3f2ec 100644 --- a/code/modules/surgery/organs_internal.dm +++ b/code/modules/surgery/organs_internal.dm @@ -212,7 +212,7 @@ allowed_tools = list( /obj/item/weapon/scalpel = 100, \ /obj/item/weapon/kitchenknife = 75, \ - /obj/item/weapon/shard = 50, \ + /obj/item/weapon/material/shard = 50, \ ) min_duration = 90 @@ -448,7 +448,7 @@ // allowed_tools = list( // /obj/item/weapon/scalpel = 100, \ // /obj/item/weapon/kitchenknife = 75, \ -// /obj/item/weapon/shard = 50, \ +// /obj/item/weapon/material/shard = 50, \ // ) // min_duration = 30 diff --git a/code/modules/surgery/other.dm b/code/modules/surgery/other.dm index f81baa4468..7625de5893 100644 --- a/code/modules/surgery/other.dm +++ b/code/modules/surgery/other.dm @@ -57,7 +57,7 @@ allowed_tools = list( /obj/item/weapon/scalpel = 100, \ /obj/item/weapon/kitchenknife = 75, \ - /obj/item/weapon/shard = 50, \ + /obj/item/weapon/material/shard = 50, \ ) can_infect = 1 diff --git a/code/modules/surgery/slimes.dm b/code/modules/surgery/slimes.dm index 048c6d3e3c..c62afde296 100644 --- a/code/modules/surgery/slimes.dm +++ b/code/modules/surgery/slimes.dm @@ -13,7 +13,7 @@ allowed_tools = list( /obj/item/weapon/scalpel = 100, \ /obj/item/weapon/kitchenknife = 75, \ - /obj/item/weapon/shard = 50, \ + /obj/item/weapon/material/shard = 50, \ ) min_duration = 30 @@ -39,7 +39,7 @@ allowed_tools = list( /obj/item/weapon/scalpel = 100, \ /obj/item/weapon/kitchenknife = 75, \ - /obj/item/weapon/shard = 50, \ + /obj/item/weapon/material/shard = 50, \ ) min_duration = 30 diff --git a/code/modules/tables/interactions.dm b/code/modules/tables/interactions.dm index 09e32deebe..00d75e69a0 100644 --- a/code/modules/tables/interactions.dm +++ b/code/modules/tables/interactions.dm @@ -89,7 +89,7 @@ playsound(loc, 'sound/weapons/tablehit1.ogg', 50, 1) var/list/L = take_damage(rand(1,5)) // Shards. Extra damage, plus potentially the fact YOU LITERALLY HAVE A PIECE OF GLASS/METAL/WHATEVER IN YOUR FACE - for(var/obj/item/weapon/shard/S in L) + for(var/obj/item/weapon/material/shard/S in L) if(prob(50)) M.visible_message("\The [S] slices [M]'s face messily!", "\The [S] slices your face messily!") diff --git a/code/modules/tables/tables.dm b/code/modules/tables/tables.dm index 88042181a1..61326574ba 100644 --- a/code/modules/tables/tables.dm +++ b/code/modules/tables/tables.dm @@ -1,5 +1,3 @@ - - /obj/structure/table name = "table frame" icon = 'icons/obj/tables.dmi' @@ -255,7 +253,7 @@ qdel(src) return -// Returns a list of /obj/item/weapon/shard objects that were created as a result of this table's breakage. +// Returns a list of /obj/item/weapon/material/shard objects that were created as a result of this table's breakage. // Used for !fun! things such as embedding shards in the faces of tableslammed people. // The repeated @@ -265,7 +263,7 @@ /obj/structure/table/proc/break_to_parts(full_return = 0) var/list/shards = list() - var/obj/item/weapon/shard/S = null + var/obj/item/weapon/material/shard/S = null if(reinforced) if(reinforced.stack_type && (full_return || prob(20))) reinforced.place_sheet(loc) diff --git a/maps/exodus-1.dmm b/maps/exodus-1.dmm index 2c87632d48..e748ece98b 100644 --- a/maps/exodus-1.dmm +++ b/maps/exodus-1.dmm @@ -15,7 +15,7 @@ "aao" = (/turf/simulated/floor/airless{icon_state = "damaged2"},/area/space) "aap" = (/turf/simulated/floor/airless,/area/space) "aaq" = (/obj/structure/grille/broken,/obj/structure/lattice,/turf/space,/area/space) -"aar" = (/obj/structure/grille/broken,/obj/item/weapon/shard{icon_state = "small"},/turf/simulated/floor/airless{icon_state = "circuit"},/area/space) +"aar" = (/obj/structure/grille/broken,/obj/item/weapon/material/shard{icon_state = "small"},/turf/simulated/floor/airless{icon_state = "circuit"},/area/space) "aas" = (/obj/item/clothing/suit/ianshirt,/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/space) "aat" = (/turf/simulated/wall/r_wall,/area/space) "aau" = (/turf/space,/area/skipjack_station/northwest_solars) @@ -262,7 +262,7 @@ "afb" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "red"},/area/security/main) "afc" = (/obj/structure/disposalpipe/sortjunction/flipped{dir = 1; name = "Security"; sortType = "Security"},/turf/simulated/floor{icon_state = "red"},/area/security/main) "afd" = (/turf/simulated/floor{icon_state = "red"},/area/security/main) -"afe" = (/obj/structure/grille/broken,/obj/item/weapon/shard,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/maintenance/security_port) +"afe" = (/obj/structure/grille/broken,/obj/item/weapon/material/shard,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/maintenance/security_port) "aff" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/cable/green,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plating,/area/security/main) "afg" = (/obj/machinery/photocopier,/turf/simulated/floor{dir = 8; icon_state = "redcorner"},/area/security/main) "afh" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/security/main) @@ -2479,7 +2479,7 @@ "aVI" = (/obj/machinery/door/airlock/external{frequency = 1331; icon_state = "door_locked"; id_tag = "nuke_shuttle_dock_inner"; locked = 1; name = "Docking Port Airlock"; req_access = list(13)},/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor/plating,/area/hallway/secondary/entry/port) "aVJ" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/research_port) "aVK" = (/turf/simulated/floor/plating,/area/storage/emergency2) -"aVL" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/cobweb,/obj/item/weapon/shard{icon_state = "small"},/turf/simulated/floor/plating,/area/maintenance/locker) +"aVL" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/cobweb,/obj/item/weapon/material/shard{icon_state = "small"},/turf/simulated/floor/plating,/area/maintenance/locker) "aVM" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor,/area/storage/tools) "aVN" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor,/area/storage/tools) "aVO" = (/obj/machinery/light_switch{pixel_y = 28},/turf/simulated/floor,/area/storage/tools) @@ -3527,7 +3527,7 @@ "bpQ" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_x = 0; pixel_y = -29},/obj/machinery/light/small,/turf/simulated/floor/plating,/area/maintenance/disposal) "bpR" = (/obj/machinery/light_switch{pixel_y = -25},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating,/area/maintenance/disposal) "bpS" = (/obj/machinery/light/small{dir = 8},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/locker) -"bpT" = (/obj/effect/decal/cleanable/generic,/obj/item/weapon/shard{icon_state = "medium"},/turf/simulated/floor/plating,/area/maintenance/locker) +"bpT" = (/obj/item/weapon/material/shard,/mob/living/simple_animal/mouse,/turf/simulated/floor/plating,/area/maintenance/research_port) "bpU" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/firedoor,/turf/simulated/floor/plating,/area/maintenance/locker) "bpV" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/plating,/area/maintenance/locker) "bpW" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/locker) @@ -4641,9 +4641,9 @@ "bLm" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "cmooffice"; name = "CMO Office Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/medical/medbay4) "bLn" = (/obj/machinery/ai_status_display{pixel_y = 32},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "warningcorner"; dir = 4},/area/hallway/primary/central_three) "bLo" = (/turf/simulated/wall,/area/medical/genetics_cloning) -"bLp" = (/obj/structure/computerframe,/obj/item/weapon/shard{icon_state = "medium"},/turf/simulated/floor{icon_state = "floorgrime"},/area/medical/genetics) +"bLp" = (/obj/item/weapon/material/shard{icon_state = "medium"},/turf/simulated/floor{icon_state = "floorgrime"},/area/medical/genetics) "bLq" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/constructable_frame/machine_frame,/turf/simulated/floor/plating,/area/medical/genetics) -"bLr" = (/obj/item/weapon/shard,/turf/simulated/floor{icon_state = "floorgrime"},/area/medical/genetics) +"bLr" = (/obj/item/weapon/material/shard,/turf/simulated/floor{icon_state = "floorgrime"},/area/medical/genetics) "bLs" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/medical/genetics) "bLt" = (/obj/structure/window/reinforced,/obj/structure/computerframe,/turf/simulated/floor{icon_state = "floorgrime"},/area/medical/genetics) "bLu" = (/obj/structure/disposalpipe/segment,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/research_port) @@ -4716,7 +4716,7 @@ "bMJ" = (/obj/machinery/light{dir = 1},/obj/structure/bookcase/manuals/medical,/obj/item/weapon/book/manual/stasis,/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/medbreak) "bMK" = (/turf/simulated/wall,/area/crew_quarters/medbreak) "bML" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/cobweb,/turf/simulated/floor{icon_state = "floorgrime"},/area/medical/genetics) -"bMM" = (/obj/item/weapon/shard{icon_state = "medium"},/turf/simulated/floor{icon_state = "floorgrime"},/area/medical/genetics) +"bMM" = (/obj/structure/computerframe,/obj/item/weapon/material/shard{icon_state = "medium"},/turf/simulated/floor{icon_state = "floorgrime"},/area/medical/genetics) "bMN" = (/obj/structure/disposalpipe/segment,/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/research_port) "bMO" = (/turf/simulated/wall/r_wall,/area/rnd/misc_lab) "bMP" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/shuttle/plating,/area/rnd/docking) @@ -5674,7 +5674,7 @@ "cff" = (/obj/structure/sign/securearea,/turf/simulated/wall,/area/rnd/xenobiology) "cfg" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/disposalpipe/trunk,/obj/machinery/disposal,/obj/structure/sign/deathsposal{pixel_x = 0; pixel_y = 32},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor{dir = 8; icon_state = "whitegreen"},/area/rnd/xenobiology/xenoflora) "cfh" = (/obj/machinery/atmospherics/portables_connector,/obj/machinery/portable_atmospherics/hydroponics{closed_system = 1; name = "isolation tray"},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology/xenoflora) -"cfi" = (/obj/item/weapon/shard,/mob/living/simple_animal/mouse,/turf/simulated/floor/plating,/area/maintenance/research_port) +"cfi" = (/obj/effect/decal/cleanable/generic,/obj/item/weapon/material/shard{icon_state = "medium"},/turf/simulated/floor/plating,/area/maintenance/locker) "cfj" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/maintenance{req_one_access = list(12,47)},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/rnd/xenobiology) "cfk" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/maintenance{req_one_access = list(12,47)},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 4},/turf/simulated/floor/plating,/area/rnd/xenobiology) "cfl" = (/obj/structure/table/standard,/obj/item/weapon/hand_labeler,/obj/item/weapon/pen,/obj/item/weapon/packageWrap,/obj/item/weapon/packageWrap,/obj/item/device/radio/intercom{freerange = 0; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 29},/turf/simulated/floor{icon_state = "white"},/area/rnd/lab) @@ -7509,7 +7509,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaT aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaabhObhObhObhObhObhObhObhObhObhObhOaZSaZTbjmbjnbjobgrbjpbjpbjZbjpbjpbjpbjrbajbajbajbajbaibbZbdDbjsbjtbgybbZbkZbkZbkZaTSaTSaTSaTSbkkaTSbjxbdObdPbjybjzbgDbjAbkxbdPbkAbfmbkHbgGbgGbgGbjDaMbbjEaSzbctbkKbkLbgObhdbjIbjJbhfbjLblybdYbjNbkMbjPbiybkNbiybgVbkPbjSbedbjTbjUbizbjWbjWbjWbjXbkVaJibkXbkabkbbkcbkdbkebbFbkfbkgbkhbkibkjbkYbklbkmbknbknbkobewbewbewbewbewbkpbkqbkrbewbksbktcsfbkvbewbkpbkwcLYbkybhFbewbewbkzbewbewbllbkBbewbkpbewbewbewbewbewbewbewbewbewbhqbewbewbhFbkCbkDbkEbkFbkGblmbkIbkJaafaaaaafaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaabhObhObhObhObhObhObhObhObhObhObhObQDblrblEbQLbkObgrblTbkQbkRbkRbkSbkTbkUbmdbmlbmlbmAbmxbbZbbZbbZbeZbmBbbZbajbajbajbajblaaXeaXeblbblcbldbleblfblgblhblibljblkbdPbmEbfmbmFbgGblnbgGbloblpblqaSzbctbdYbmHblsbltblublvblwblxbdYbdYbebblzblAbmUbmNblDblAbiDbebbedbedblFblGblHblIbiCblJblKaJiblLblMblNaJiblOblOblOblOblOblOaZzaZzblPblQbZNcdMblQblPaZzaZzaZzaZzaZzaZzaZzaZzaZzaZzbmVaZzaZzaZzaZzaZzaZzbmXaZzbewbewblVblWbiFblOblOblOblOblOblXblYblYblZblYbewblYblZbmablYbmbblObmcbmcbmcbnbaRZbmeaRZaRZaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaabhObhObhObhObhObhObhObhObhObhObhObdubdvbjmbjnbmfbgrbmgbjpbmhbmibjpbjpbjpbnsbmjbmkbmkbnwbbZbdDbmmbeZbmnbbZbmobmpbmqbmrbmsbmtbmtbmubmtbmtbmvbdPbmwbnNbfgbmybmzblfbnRbnPbnSbgGbgGbjHbmDbnUblqaSzbnVbmGbmGbmGbmGbmGbmGbmGbnWbmGaafbebbmIbmJbmKbmLbmKbmMbjKbebaafbedbmObnXbmQbmRbiCbiGbmSaJibcKaRqaRpaJibmTbohboibmWbojbmYbmZbPMbolbjRbndbnebjRbopbmCbnhbnibnjbmPboKbnmbnnbPLbnpbnqbnrboWbntbntbnubYfaVJblOblObpmblObZMbZMblObnzbPKbnBblObZtbpobZtblOblXblYbmbblObZnbprbZnblObnGbPJbnIbnJbnKbnLbnMaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaabhObhObhObhObhObhObhObhObhObhOaaaaaabnObpwbeQbnQbgrbpLbpBbpMbnTbpPbpNbjpbpSbpTbnYbnZbnwbbZbbZbbZbbZbbZbbZboabobbocbodboebdPbdPbdPbdPbdPbdPbdPbWqbdPbdPbdPbogbdPbfmbqcbnSbgGbgGbgGbokblpblqaSzbqgbmGbombonbncbOIbvGbotbosbotaafbebboubovbowboxboybozbnfbebaafbedboBboCboDboEbiCbiGboFaJiboGboHaRpbXHboJbngboLboMbnkbPZboPboQboRboRboSboTboUboUboVbnlboXboYboZbpabpbbnnbPGbpdbpebpfbpgbphbpfbpibYfaVJbpjbpkbplbOJbpnbnybppbnCbnDbpqbqxbptboobqyblOaZzbqBbpxblObPeboqbPEbqGbpCbpDbnIbpEbpFbpGbnMaaaaaaaaaaacaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaabhObhObhObhObhObhObhObhObhObhOaaaaaabnObpwbeQbnQbgrbpLbpBbpMbnTbpPbpNbjpbpScfibnYbnZbnwbbZbbZbbZbbZbbZbbZboabobbocbodboebdPbdPbdPbdPbdPbdPbdPbWqbdPbdPbdPbogbdPbfmbqcbnSbgGbgGbgGbokblpblqaSzbqgbmGbombonbncbOIbvGbotbosbotaafbebboubovbowboxboybozbnfbebaafbedboBboCboDboEbiCbiGboFaJiboGboHaRpbXHboJbngboLboMbnkbPZboPboQboRboRboSboTboUboUboVbnlboXboYboZbpabpbbnnbPGbpdbpebpfbpgbphbpfbpibYfaVJbpjbpkbplbOJbpnbnybppbnCbnDbpqbqxbptboobqyblOaZzbqBbpxblObPeboqbPEbqGbpCbpDbnIbpEbpFbpGbnMaaaaaaaaaaacaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaaaaTDaTDaTDaTDaTDaaaaTDaTDaTDaTDaTDaaaaaaaaaaaaaaabgnbgobgpbgqbdvbpHbpHbpHbpIbpHbpJaZVbpKbqKbgrbqQbjpbrkbrcbpQbpRbrvbrubrwbrwbrwbrxbkWbpUbkWbkWbkWbkWbpVbpWbpWbpXbpYbdPcfycfocfzbrybqdbqebqfbrCbqhbqibqjbqkbqkbrDbrIbgGbgGbqmbfmaMbblqbqnbqoaJubqqbqrbqrbxqborbrPbxsbotaafbebbebbebbebbshbebbebbebbebaafbedbqzboCbqAbsjbqCbqDbqEaJibqFaRqaRpaJibskbqHbqIbqJaJDbqLboPbqNboUboUboUboUboUboUbqObqPbslboYbqRbqSboNbnnbqUbqVbqWbsnbpgbphbpfbqXbYfaVJbpjbqYbqZbqZbrabrbbsobrdbrdbrdbrebrdbrfboObrhbribrjbsqbnIbrlbpCbrmbrnbrobsrbnIbrqbpFbrrbnMaaaaaaaaaaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaaaaTDaTDaTDaTDaTDaaaaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaaaaaaaaaaaabrsbrtbsvbsBcaLbsHbsHbthbrzbrAbgrbtkbtlcaMbtmbjpbjpbjpbajbrEbrFbrGbrHbrGbrGbrGbrHbrGbajbajbdPbdPbdPbtBbdPbrJbrJbrJbrJbrJbrJbqfbrKbrLbrMbrNbrObtIbrQbrRbrSbrTbrUbrVbrWbrXbrYbrZaHBbsbbqvbsabYZcanbotbosbotaafbsibZibtKbtTbsmbtXbtKcaJbsiaafbedbspbuibspbedbedbedbujaJibssaRqaRpbXHboJbngbstbsubuobqLbswbqNcbQcdpcbdcbkceobsCbqObsDbnicevbsFcepcdGbnncdtbqVbpebpfbpgbphbpfbpibYfaVJbpjbsJbsKbsLbsMbplbsNceZbsPbsQbsRbsSbsTbsUbrhbsVbsWbsXbnIbsYbsZbtabtbbtccflbnIbrqbpFbtebnMaaaaaaaaaaaaaaaaaaaaaaaaaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaaaaacaaaaaaaaaaaaaaaaaaaaabrsbtfbtgbuYbtibtibtibtjbtibtibgrbvabuZboAbvjbjpaaaaaaaaaaafaafbtnbtnbtnbtnbtnbtnbtnaaaaaabtobtpbtqbtrbtsbrJbrJbrJbrJbrJbrJbttbtubvqbtwbtxbtybtzbtAbfmbfmbvCbfmbfmbtCbtDbtEbtFbmGbtHbmGbmGbmGbmGbmGbvEbmGaafbtJbvFbtLbtMbtNbtMbtLbvIbtPaafbspbtQbtRbtSbvObtUbspbtVaJlbtWbbmbvZaJibtYbohbtZbuabwcbucbudbuebufbwgbWIbXnbwnbukbulbumbnibnnbunbpubVVbnnbuqburbusbutbuubuubuvbuwbYfaXqbpjbwxbplbplbsMbuybuzbVzbpvbuCbuDbuEbuFbVybrhbuHbuIbuJbnIbuKbuLbuMbtbbpCbVebnIbpEbpFbUAbnMaaaaaaaaaaaacHOaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -7523,8 +7523,8 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbGlbGmbGnbdPbdPbGobwNbwNbwNbGpbdPbdPbGqbGrbGsbdPbGtbGtbGtbITbGtbGvbGwbGxbGybGzbtCbvtbAbbIAbGBbtCbtGbtGbtGbtGbtGbIBbtGbtGbtGbIRbtGbIUbIMbIXbtGbJbbtGbtGbtGbtGbtGbtGbtGaJiaJiaJiaJibxwaRqaRpbHMbJqbFkbCSbGGbCWbGIbGJbGKbGLbGMbGNbCjbGObGPbGQbGRbGSbGTbGUbGVbIDbGXbGYbGZbJDbHbbHcbHdbHecLVbCpbUSbUfbwwbwwbwwbwwbwwbJVbwwbwwbwwbzAbKfbzAbzAbHkbBhbCubCvbHRbIvbKzbHnbHobHpbHqbGabGbbGcbHraaaaaabCJbHsbHtbEobCIbBybKBbKUbCJaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnaaaaaaaaaaaaaaaaaaaafaaaaaaaaabHuaafaaaaaaaaaaaabGtbIubHwbHxbHybGvbHzbKVbHBbHCbtCbvtbAbbAcbAabHDbHEbHFbHGbHHbHIbHJbHKbHLbLabLxbLnbLzbAabAabLIbMhbLYbAabHTbAabzZbHHbKJbHWbHXbHYbMibxwaRqbDsaJlbDtbDubDtbDCbDPbxCbIbbIcbIdbIebMlbIgbIhbIibIjbIkbwmbIlbImbInbDJbDTbElbIpbIqcLUbFDbIsbItbHObCpbHSbIwbIxbIybUdbLybMqbICbMCbUcbIFbIGbIHbIIbIJbzAbIKbCubCvbMHbMFbINbIObIPbIQbHvbGabGbbISbEnbEnbEnbCJbCJbCJbMSbMPbCJbCJbBybCJaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaaaaaaaaaaaaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnaaaaaaaaaaaaaaaaaabMZaaaaaaaaaaaaaaaaaaaaaaaaaaabGtbuObEmbIVbIWbNdbuNbuGbuAbNfbtCbvtbJcbJdbJebJebJfbJgbJhbJibJjbJgbJfbJebJebNkbJkbJlbNqbJnbJobNBbJebJebJpbJgbJhbJibJjbJsbJtbJubJtbJvbJwbvUaJlbEtbEqbFHbGFbNLbGHbDzbHAbFibDVbxFbNQbCFbDSbDEbJGbwkbJHbJIbJJbDJbJKbJLbJMbJNbJObFDbJPbItbJObCpbJQbJRbIxbJSbJTbJUbNZbJWbObbJYbIFbJZbKabKbbKbbzAbKcbKdbKebOcbKgbKhbKibKjbKjbKkbGabGbbKlbEnbKmbOdbKnbEnaafaafaafaafaafaafaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbKpbKqbKqbKrbKsbKsbKtbKtbKtbKtbKuaafaafaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnaaaaaaaaaaaaaaaaaaaaaaaabKvbKwbKxbKwbKyaaaaaaaaabGtbGtbOfbKAbIVbKAbOibKCbOnbKDbKEbtCbKFbvtbKGbKHbAabKIbAabzZbHHbKJbAabKKbKLbKMbKNbKObAcbAabKPbKQbHLbKRbHLbHLbKSbKTbODbOtbKWbKXbcLbKYaRpaRpaRpaJlbOEbFlbFnbOFbJmbOGbJybJxbFIbLgbLhbLibLjbHgbDEbIkbIabIzbHhbDJbDJbLobLobLobCpbLpbLqbLrbLsbLtbCpbLubLvbIxbLwbFGbLybOHbLAbLBbLCbIFbJCbLEbKbbKbbzAbRsbLFbCvbwwbLGbuTbuUbLJbLKbLLbGabLMbLNbLObLObLObLPbGdaaaaaaaaaaaaaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafbLQbLRbLSbLRbKsbKtbKtbLTbLUbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabLVbsObLXbtdbLVbLZbMabMbbGtbMcbMdbMebMfbMgbOLbOKbMjbMjbMkbtCbtCbtCbOMbtCbtCbtCbtCbtCbtCbtCbtCbtCbtCbtCbtCbtCbMmbMnbMobtCbtCbtCbtCbtCbONbtCbtCbtCaJlaJlbOQaJlaKSaMpbMraJlbKZbJXbORbGFbLdbxCbDzbLDbxCbtvbMzbMAbMBbwkbOTbMDbMEbOUbMGbPubMIbMJbMKbMLbItbJObFDbFDbMMbJObCpbMNbMObMObMObMObMObMObMObMObMObMObPvbMQbMRbMRbzAbPAbMTbMUbwwbMVbMVbMVbMWbMXbMYbMVbMVbMVbMVbMVbMVbNabNbaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymbPCbLRbLRbNebKtbKtbLTbLTbPDbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnaaaaaaaaaaaaaaaaaaaaaaaabKvbKwbKxbKwbKyaaaaaaaaabGtbGtbOfbKAbIVbKAbOibKCbOnbKDbKEbtCbKFbvtbKGbKHbAabKIbAabzZbHHbKJbAabKKbKLbKMbKNbKObAcbAabKPbKQbHLbKRbHLbHLbKSbKTbODbOtbKWbKXbcLbKYaRpaRpaRpaJlbOEbFlbFnbOFbJmbOGbJybJxbFIbLgbLhbLibLjbHgbDEbIkbIabIzbHhbDJbDJbLobLobLobCpbMMbLqbLrbLsbLtbCpbLubLvbIxbLwbFGbLybOHbLAbLBbLCbIFbJCbLEbKbbKbbzAbRsbLFbCvbwwbLGbuTbuUbLJbLKbLLbGabLMbLNbLObLObLObLPbGdaaaaaaaaaaaaaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafbLQbLRbLSbLRbKsbKtbKtbLTbLUbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabLVbsObLXbtdbLVbLZbMabMbbGtbMcbMdbMebMfbMgbOLbOKbMjbMjbMkbtCbtCbtCbOMbtCbtCbtCbtCbtCbtCbtCbtCbtCbtCbtCbtCbtCbMmbMnbMobtCbtCbtCbtCbtCbONbtCbtCbtCaJlaJlbOQaJlaKSaMpbMraJlbKZbJXbORbGFbLdbxCbDzbLDbxCbtvbMzbMAbMBbwkbOTbMDbMEbOUbMGbPubMIbMJbMKbMLbItbJObFDbFDbLpbJObCpbMNbMObMObMObMObMObMObMObMObMObMObPvbMQbMRbMRbzAbPAbMTbMUbwwbMVbMVbMVbMWbMXbMYbMVbMVbMVbMVbMVbMVbNabNbaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymbPCbLRbLRbNebKtbKtbLTbLTbPDbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabKxbNgbMsbNgbKxbNibNjbPFbNlbNmbNnbKAbNobNpbGvbPHbNrbubbtObGvbNubNvbNwbNxaaaaaaaaaaaabNybuhbNAbPSbNDbNCbNEbNFbNGbNHbNIbNFbNJbNKbPXbNMbNNbNObNPbqsbNRbNSbNTbNUbNUbNUbNUbDtbDtbDtbDtbMtbMtbxCbQabOabQbbMzbMvbMubOebQcbOgbOhbQdbOjbMxbMwbOmbNhbMKbOobFDbFDbNVbJObJObOobCpbMNbMObOqbOrbOsbQebOubOvbOwbupbMObOybOzbOAbOAbzAbOBbOCbCvbzIbQgbQpbQjbQBbQubRdbQXbRvbRebRxbVFbMVbuxbEnbOObOObOObOObOOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabOPbKtbPCbKtbKtbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabLVbNgbNgbNgbRAbRzbKAbOSbRDbRBbKAbRFbOVbOWbGvbGvbGvbGvbGvbGvbOXbOYbOZbPaaaabPbbPcbPcbPdbvYbPfbPgbPhbPfbPibNFbPjbPkbPlbNFbPmbNXbPobPpbPqbPrbPsbPtbPtbNSbRWbRJbPwbPxbPybDtbNYbLbbScbGFbGFbSgbDzbSibxCbSnbwZbwYbwlbwkbSubPIbwkbOkbwDbwKbOlbPNbMKbCpbCpbCpbCpbCpbCpbCpbCpbPObMObPPbQYbPRbOsbOsbOsbOsbwjbMObPTbLEbPUbPUbzAbBhbPVbPWbwbbPYbPYbSMbSObSNbSQbSPbSSbSRbSSbSVbMVbQfbSWbOObQhbTgbOpbQkaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbKsbKtbQlbQmbQmbLTbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabKxbMsbMsbMsbKxbQnbQobTAbQqbQrbKAbKAbQsbQtbTObQvbQvbQvbQvbQvbQvbQwbQxbQyaaabQzbQAbUbbQCbxbbPfbQEbQGbQFbPfbNFbQIbQJbQKbNFbxxbxhbQNbQObQPbQQbQRbPtbQSbPxbQTbNUbPxbPxbQUbDtbPnbGFbQVbUkbGFbPzbDzbLebRCbQZbPBbUobyhbRGbDEbIkbSpbOkbwKbwKbOlbRfbMKbRgbRhbygbRjbRkbRlbybbRnbPObMObOsbOsbRobOsbOsbOsbOsbyabMObRqbLEbRrbRrbzAbRsbRtbRubyfbRwbUGbUwbUPbUObUWbURbVkbVjbVvbVmbxIbREbVGbxHbRHbRIbQibRKaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabKtbKtbRLbLTbLTbLTbLTbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -7535,7 +7535,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabXmcbfbWmcbgbRScbibXrbRSbXsbNxaaKaaaaaaaaabNybNybNybNybNybNybNybNFbUDbUEbXtbNFbSUbWnbWJbWHbWHbWJbWRbSUbhVbWUbWUbXocaqbXBbDtbDtbXCbXDbXEbXFbXGblRbXIbXJbXKbXLbXMbXNbXObXPbXQbXRbXSbXTbXUbznbzpbzobAPbzqbARbAQbATbAScbjbAUbYfbYgbIwbYhbVobCqbWObWNbWPbYmbYnbgJbYpbYqbYrbYscbmbYrbYubYvbILaafbnxcbncbrbrBbVBcbtcbAcbycbDbYAbMVbVHbYBbYCbUnaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbKtbLTbLTbLTbLTbLTbLTbTbbLTbXlbLTbLTbLTbLTbLTbKtbKtaafaaaaaaaaaaaaabgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabYDbVQbVQbVRbYEbYFbYGbNxcbJbNxbYIbYJbYKbYIbYIbYLcbLbYNbYObYPcbObXwbXzbXybYebXAbYjbWJbYybYxbYRbYQbYTbidbYVbYUbYXbYWcaqbZhbNScbWbZjbZkbZlbZlbZmbnEbZobZpbTJbTJbZqcccbTJbTJccncceccrcaIcctbWQbZxbZyccubZybZAbZaccvbZabZAccEbYfbMNbIwbZEbXWbXVbZdccGbZJbZKbMObMObwwbwwbwwbwwbwwboIbnFbofbwwbMVbMVbMVbMVbMVbMVbMVbMVbMVbMVbMVbMVccJbZQbZRbUnaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabKtbKtbRLbLTbLTbLTbLTbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaamccMaamaamaamaamaamaaaaaaaaaaaaaaaaaaaafaafaaabZfbZgbZgbZgbZHbZgbZgbZTbZIbYIbZYbZZbYIccQcabccScadbZWcafccYbZXcaecaccahcagcaibWJbYycajcakbYQcalbSUcaqcaqcaqcaqcaqcarbNSbDtcascatcdjcamcawcdmcaycazbTJcaocaBcaCcaDcaEcaFcaGcaHcaIbZxbWQcapbZycaKbsEbZAbsGcaNcaObZAbXXbYfbPObIwbXYbsAbXZbXYbXYbIwbIwbIwcaRcaScaTcaUcaVbwwbwwcdBbwwbwwcaXcaYcaucaAcavcdNcaZcbacbccdUcdTcdZcdYcbhbUnbUnbUnaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbKsbKtbUubUsbUsbLTbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabgaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafcbbceccebcblcedceicefcbpcbobYIcelcbsbYIbYIcercbucbvcbwcbxceucbqbXzbXybYecbzbsIbWJbWJcbBcbCbWJcexbSUcbFcbGcaqcbHcaqbTFcbIcbIcbIcbIcbIcbIcbIbTJceCcbEbTJcbKcbMcbNceHcaEcbPceIceKcaIbZxbWQcbRbZycbScbTbZAcbUcbVcfebZAccqbYfbYbbYdbYcbYiccsccAbYccfibYkbYlcktbZDbZwbZFcktcfjbZGccCccBcfkccDccPccFcfscfmcfGcfucfmcfIcfMcfLcfRccwccxccycczbUnbUnbUnbUnaaaaafaaaaaaaaaaahaahaahaafaaaaaaaafaaaaaaaafaaaaaabOPbKtbPCbKtbKtbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabgaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafcbbceccebcblcedceicefcbpcbobYIcelcbsbYIbYIcercbucbvcbwcbxceucbqbXzbXybYecbzbsIbWJbWJcbBcbCbWJcexbSUcbFcbGcaqcbHcaqbTFcbIcbIcbIcbIcbIcbIcbIbTJceCcbEbTJcbKcbMcbNceHcaEcbPceIceKcaIbZxbWQcbRbZycbScbTbZAcbUcbVcfebZAccqbYfbYbbYdbYcbYiccsccAbYcbpTbYkbYlcktbZDbZwbZFcktcfjbZGccCccBcfkccDccPccFcfscfmcfGcfucfmcfIcfMcfLcfRccwccxccycczbUnbUnbUnbUnaaaaafaaaaaaaaaaahaahaahaafaaaaaaaafaaaaaaaafaaaaaabOPbKtbPCbKtbKtbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafccRccRcebccTcfZceiccUccWccVbYIcgeccHccIcgfccKccLcgmccNccOcgoccXcdaccZcdecdbbqTcdycdQcdFcekceecembsccdccddaJEcdfcaqbTFcbIcdgcdhcdicgOcdkcdlcgRcdncdocgWcdqcdrcdsbqtcaEcducdvcdwcaIbZxbWQcenbZycdxbqbbZAcdzcdAbqabZAcaPbYfbYfcaQbYccbYcbXcbZbYcchBccacjfcdLcdLbyFbBucdLcdOcdPceqcdRcdOcdSbBpbyebydcdScdScdScdScgXbyebydcdScdSbXjcdXbpZbpAceachabpybpsbycbycbycbycbycbycbycbycbycbycbycbycbycbycbycbycchicegcegcehbKtbKtbLTbLTchnbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacejcejcejcejcejcejcejcetcesbYIbYIbYIbYIbYIchpchuchqchqchqchzcewbXzbXybYeceybYjceEceTceSceWceUceXbSUcezaJFceYaJFcaqbTFcbIceDcfacfacfaceFceGbTJchPchLbTJcbKcbNceJceHcaEchSceLceMcaIbZxbWQceNbZyceOcePbZAbZAbZAbZAbZAccbceRbYfcaQbYcccdbszbYcbYcchBcifcjfcdLbsycfbcfbcfccdOcfdciycffcdOcfgcfhcfhcfhciCciLciKbsxciPcfnbsecfpcdScfqcfrciQbUnbUnbUnbUnaaaaafaaaaaaaaaaahaahaahaafaaaaaaaafaaaaaaaafaafaafcftcfBcfvbNebKsbKtbKtbLTbLUbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafaafaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafcejcfwcfxcvbcvccwfcejcfDcfCcfFcfEcfHciVcjacjacfKcfJcfJcjlcjpcbqbXzbXybYecfNcaicfOcfQcfPcvtcwecggbSUaJFaJFcaqceBcaqbTFcbIcfVcfWcfWcfWcfXcbIcfYcjtcgacfYcgbcgccgdcjvcaEcjCceLcgicaIcghccfcwEbZycgkcglbZycjIbLvbVicgnccgcchbYfccjcciccicckcclcclcclcclccmcdLckncgycgycgzcgActscgrcgpcgucgtcgGcgGcgGcgxcgIcgIcgJckocgLcgDcgMcdScgNcwDcgPcgNaaaaaaaaaaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafcgQbKqbKqbKrbKsbKsbKtbKtbKtbKtbKuaafaafaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa diff --git a/maps/exodus-2.dmm b/maps/exodus-2.dmm index 54f5f95db4..331980dfd8 100644 --- a/maps/exodus-2.dmm +++ b/maps/exodus-2.dmm @@ -1991,7 +1991,7 @@ "Mo" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/skipjack/station) "Mp" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{frequency = 1331; id_tag = "vox_west_vent"},/turf/simulated/shuttle/plating,/area/shuttle/skipjack/station) "Mq" = (/obj/machinery/door/airlock/medical{name = "Operating Theatre"; req_access = list(45)},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/holding) -"Mr" = (/obj/structure/table/rack,/obj/item/weapon/gun/energy/ionrifle,/obj/item/weapon/harpoon,/obj/item/clothing/suit/space/void/merc,/obj/item/clothing/head/helmet/space/void/merc,/obj/item/clothing/head/helmet/space/void/engineering,/obj/item/clothing/suit/space/void/engineering,/obj/item/weapon/tank/oxygen,/obj/item/weapon/tank/oxygen,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/weapon/rig/light/stealth,/turf/simulated/shuttle/plating,/area/shuttle/skipjack/station) +"Mr" = (/obj/structure/table/rack,/obj/item/weapon/gun/energy/ionrifle,/obj/item/weapon/material/harpoon,/obj/item/clothing/suit/space/void/merc,/obj/item/clothing/head/helmet/space/void/merc,/obj/item/clothing/head/helmet/space/void/engineering,/obj/item/clothing/suit/space/void/engineering,/obj/item/weapon/tank/oxygen,/obj/item/weapon/tank/oxygen,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/weapon/rig/light/stealth,/turf/simulated/shuttle/plating,/area/shuttle/skipjack/station) "Ms" = (/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/shuttle/plating,/area/shuttle/skipjack/station) "Mt" = (/obj/structure/table/standard,/obj/item/seeds/potatoseed,/obj/item/seeds/potatoseed,/obj/item/seeds/ambrosiavulgarisseed,/obj/item/weapon/minihoe,/turf/simulated/shuttle/plating,/area/shuttle/skipjack/station) "Mu" = (/obj/structure/table/standard,/obj/machinery/microwave{pixel_x = -1; pixel_y = 8},/turf/simulated/shuttle/plating,/area/shuttle/skipjack/station) diff --git a/maps/exodus-3.dmm b/maps/exodus-3.dmm index caf3272970..f747f6627b 100644 --- a/maps/exodus-3.dmm +++ b/maps/exodus-3.dmm @@ -78,8 +78,8 @@ "bz" = (/turf/simulated/shuttle/wall{icon_state = "swall_s5"; dir = 2},/area/space) "bA" = (/turf/simulated/shuttle/wall{icon_state = "swall13"; dir = 2},/area/space) "bB" = (/turf/simulated/shuttle/wall{icon_state = "swall_s9"; dir = 2},/area/space) -"bC" = (/obj/item/weapon/shard{icon_state = "medium"},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship) -"bD" = (/obj/item/weapon/shard,/obj/structure/bed/chair,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship) +"bC" = (/obj/item/weapon/material/shard{icon_state = "medium"},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship) +"bD" = (/obj/item/weapon/material/shard,/obj/structure/bed/chair,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship) "bE" = (/obj/structure/bed/chair,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship) "bF" = (/obj/structure/cable,/obj/structure/computerframe{anchored = 1},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship) "bG" = (/obj/structure/cable,/obj/structure/computerframe{anchored = 1},/obj/item/stack/cable_coil/cut,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship) @@ -380,7 +380,7 @@ "hp" = (/obj/structure/computerframe,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating/airless,/area/AIsattele) "hq" = (/obj/machinery/teleport/station,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating/airless,/area/AIsattele) "hr" = (/turf/simulated/floor/plating/airless,/area/AIsattele) -"hs" = (/obj/item/weapon/shard{icon_state = "medium"},/turf/simulated/floor/plating/airless,/area/AIsattele) +"hs" = (/obj/item/weapon/material/shard{icon_state = "medium"},/turf/simulated/floor/plating/airless,/area/AIsattele) "ht" = (/obj/structure/cable,/turf/simulated/floor/plating/airless,/area/AIsattele) "hu" = (/obj/structure/table/rack,/obj/item/clothing/gloves/yellow,/turf/simulated/floor/plating/airless,/area/AIsattele) "hv" = (/obj/structure/girder,/turf/simulated/floor/plating/airless,/area/AIsattele) diff --git a/maps/exodus-5.dmm b/maps/exodus-5.dmm index 22cbab0b9a..8c16d0792d 100644 --- a/maps/exodus-5.dmm +++ b/maps/exodus-5.dmm @@ -39,7 +39,7 @@ "aM" = (/obj/structure/sign/botany{pixel_x = 32},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "warningcorner"; dir = 1},/area/outpost/research/chemistry) "aN" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/glass/bucket,/turf/simulated/floor{icon_state = "white"},/area/outpost/research/analysis) "aO" = (/obj/structure/reagent_dispensers/coolanttank,/turf/simulated/floor{dir = 4; icon_state = "whitegreen"},/area/outpost/research/analysis) -"aP" = (/obj/structure/window/reinforced{dir = 4},/obj/item/weapon/shard{icon_state = "small"},/turf/simulated/floor/plating/airless,/area/outpost/abandoned) +"aP" = (/obj/structure/window/reinforced{dir = 4},/obj/item/weapon/material/shard{icon_state = "small"},/turf/simulated/floor/plating/airless,/area/outpost/abandoned) "aQ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/outpost/abandoned) "aR" = (/obj/item/stack/rods,/obj/structure/door_assembly/door_assembly_ext{name = "Broken External Airlock"},/turf/simulated/floor,/area/outpost/abandoned) "aS" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/outpost/abandoned) @@ -79,7 +79,7 @@ "bA" = (/turf/simulated/floor{icon_state = "white"},/area/outpost/research/chemistry) "bB" = (/obj/structure/table/standard,/obj/effect/landmark{name = "bluespacerift"},/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/outpost/research/kitchen) "bC" = (/turf/simulated/floor/airless{icon_state = "damaged5"},/area/outpost/abandoned) -"bD" = (/obj/item/weapon/shard{icon_state = "medium"},/obj/effect/alien/weeds{icon_state = "weeds"},/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/outpost/abandoned) +"bD" = (/obj/item/weapon/material/shard{icon_state = "medium"},/obj/effect/alien/weeds{icon_state = "weeds"},/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/outpost/abandoned) "bE" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/outpost/abandoned) "bF" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock"},/obj/machinery/door/airlock/research{name = "Sample Preparation"; req_access = list(65)},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "white"},/area/outpost/research/hallway) "bG" = (/obj/machinery/artifact_analyser,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/turf/simulated/floor/bluegrid,/area/outpost/research/lab) @@ -116,7 +116,7 @@ "cl" = (/obj/machinery/chem_master,/turf/simulated/floor{dir = 2; icon_state = "whiteblue"},/area/outpost/research/chemistry) "cm" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "whitegreen"},/area/outpost/research/analysis) "cn" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{dir = 6; icon_state = "whitegreen"},/area/outpost/research/analysis) -"co" = (/obj/item/stack/rods,/obj/structure/window/reinforced{dir = 4},/obj/item/weapon/shard,/turf/simulated/floor/plating/airless,/area/outpost/abandoned) +"co" = (/obj/item/stack/rods,/obj/structure/window/reinforced{dir = 4},/obj/item/weapon/material/shard,/turf/simulated/floor/plating/airless,/area/outpost/abandoned) "cp" = (/turf/simulated/floor/airless{icon_state = "damaged2"},/area/outpost/abandoned) "cq" = (/obj/item/stack/rods,/obj/effect/alien/weeds{icon_state = "weeds2"},/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/outpost/abandoned) "cr" = (/turf/simulated/wall,/area/outpost/abandoned) @@ -143,7 +143,7 @@ "cM" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{dir = 1; icon_state = "whitepurple"},/area/outpost/research/lab) "cN" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/glass/beaker/water,/obj/item/weapon/reagent_containers/glass/beaker/fuel,/obj/item/weapon/reagent_containers/glass/bottle/toxin,/obj/item/weapon/reagent_containers/glass/beaker/sulphuric{name = "beaker 'sulphuric acid'"},/obj/machinery/camera/network/research_outpost{c_tag = "Research Outpost Sample Preparation"; dir = 1},/turf/simulated/floor{dir = 2; icon_state = "whiteblue"},/area/outpost/research/chemistry) "cO" = (/obj/machinery/vending/snack,/turf/simulated/floor/wood,/area/outpost/research/kitchen) -"cP" = (/obj/item/weapon/shard,/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/outpost/abandoned) +"cP" = (/obj/item/weapon/material/shard,/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/outpost/abandoned) "cQ" = (/obj/machinery/alarm{dir = 2; pixel_y = 25},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/outpost/research/hallway) "cR" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/outpost/research/hallway) "cS" = (/obj/structure/sign/science{desc = "A warning sign which reads 'MASS SPECTROMETRY'"; name = "\improper MASS SPECTROMETRY"; pixel_x = 0; pixel_y = 32},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{dir = 1; icon_state = "whitegreencorner"},/area/outpost/research/hallway) @@ -261,8 +261,8 @@ "fa" = (/obj/effect/alien/weeds{icon_state = "weeds1"},/turf/simulated/floor/plating,/area/outpost/abandoned) "fb" = (/obj/effect/alien/weeds,/turf/simulated/floor/plating,/area/outpost/abandoned) "fc" = (/obj/item/stack/rods,/turf/simulated/floor/plating/airless,/area/outpost/abandoned) -"fd" = (/obj/item/weapon/shard{icon_state = "small"},/obj/item/clothing/suit/space/syndicate,/turf/simulated/floor/plating/airless,/area/outpost/abandoned) -"fe" = (/obj/item/weapon/shard,/obj/item/stack/rods,/turf/simulated/floor/plating/airless,/area/outpost/abandoned) +"fd" = (/obj/structure/lattice,/obj/item/weapon/material/shard{icon_state = "medium"},/turf/space,/area/space) +"fe" = (/obj/item/weapon/material/shard{icon_state = "small"},/obj/item/clothing/suit/space/syndicate,/turf/simulated/floor/plating/airless,/area/outpost/abandoned) "ff" = (/turf/simulated/floor/airless{icon_state = "damaged3"},/area/outpost/abandoned) "fg" = (/obj/machinery/newscaster{layer = 3.3; pixel_x = 0; pixel_y = -27},/turf/simulated/floor/wood,/area/outpost/research/hallway) "fh" = (/obj/structure/bookcase/manuals/xenoarchaeology,/turf/simulated/floor/wood,/area/outpost/research/hallway) @@ -281,7 +281,7 @@ "fu" = (/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/washing_machine,/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/outpost/research/hallway) "fv" = (/obj/machinery/vending/coffee,/turf/simulated/floor/wood,/area/outpost/research/hallway) "fw" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor{icon_state = "white"},/area/outpost/research/hallway) -"fx" = (/obj/structure/lattice,/obj/item/weapon/shard{icon_state = "medium"},/turf/space,/area/space) +"fx" = (/obj/item/weapon/material/shard,/obj/item/stack/rods,/turf/simulated/floor/plating/airless,/area/outpost/abandoned) "fy" = (/turf/simulated/floor/plating/airless,/turf/simulated/shuttle/wall{icon_state = "pwall"; dir = 6},/area/shuttle/alien/mine) "fz" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{dir = 5; icon_state = "whitehall"},/area/outpost/research/hallway) "fA" = (/turf/simulated/floor/plating,/area/outpost/research/disposal) @@ -328,10 +328,10 @@ "gp" = (/obj/effect/alien/weeds{icon_state = "weeds1"},/turf/simulated/floor/airless{icon_state = "damaged5"},/area/outpost/abandoned) "gq" = (/obj/effect/alien/weeds,/turf/simulated/floor/airless{icon_state = "floorscorched2"},/area/outpost/abandoned) "gr" = (/obj/machinery/door/airlock,/turf/simulated/floor,/area/outpost/abandoned) -"gs" = (/obj/structure/lattice,/obj/item/weapon/shard{icon_state = "small"},/obj/item/clothing/mask/facehugger{icon_state = "facehugger_dead"; stat = 2},/turf/space,/area/outpost/abandoned) +"gs" = (/obj/structure/lattice,/obj/item/weapon/material/shard{icon_state = "small"},/obj/item/clothing/mask/facehugger{icon_state = "facehugger_dead"; stat = 2},/turf/space,/area/outpost/abandoned) "gt" = (/obj/structure/lattice,/turf/space,/area/outpost/abandoned) "gu" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area/outpost/abandoned) -"gv" = (/obj/item/weapon/shard,/turf/simulated/floor/plating/airless,/area/outpost/abandoned) +"gv" = (/obj/item/weapon/material/shard,/turf/simulated/floor/plating/airless,/area/outpost/abandoned) "gw" = (/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/outpost/research/eva) "gx" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock"},/obj/machinery/door/airlock/research{name = "Anomalous Materials Sample Preparation"; req_access = list(65)},/turf/simulated/floor{icon_state = "white"},/area/outpost/research/chemistry) "gy" = (/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored) @@ -363,7 +363,7 @@ "gY" = (/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/outpost/research/eva) "gZ" = (/turf/simulated/floor{tag = "icon-vault (NORTH)"; icon_state = "vault"; dir = 1},/area/outpost/research/eva) "ha" = (/obj/structure/table/standard,/obj/item/weapon/storage/firstaid/regular,/obj/item/weapon/storage/firstaid/toxin,/turf/simulated/floor{icon_state = "white"},/area/outpost/research/medical) -"hb" = (/obj/item/weapon/shard{icon_state = "small"},/turf/simulated/floor/plating/airless,/area/outpost/abandoned) +"hb" = (/obj/item/weapon/material/shard{icon_state = "small"},/turf/simulated/floor/plating/airless,/area/outpost/abandoned) "hc" = (/obj/effect/alien/weeds{icon_state = "weeds1"},/obj/effect/decal/remains/xeno,/turf/simulated/floor/plating,/area/outpost/abandoned) "hd" = (/obj/effect/gibspawner/human,/turf/simulated/floor/airless{icon_state = "damaged2"},/area/outpost/abandoned) "he" = (/obj/effect/gibspawner/robot,/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/outpost/abandoned) @@ -406,7 +406,7 @@ "hP" = (/obj/effect/decal/remains/human,/turf/simulated/floor/airless{icon_state = "damaged5"},/area/outpost/abandoned) "hQ" = (/obj/effect/alien/weeds,/turf/simulated/floor/plating/airless,/area/outpost/abandoned) "hR" = (/turf/simulated/floor/airless{icon_state = "damaged4"},/area/outpost/abandoned) -"hS" = (/obj/item/weapon/shard,/obj/structure/lattice,/turf/space,/area/space) +"hS" = (/obj/item/weapon/material/shard,/obj/structure/lattice,/turf/space,/area/space) "hT" = (/obj/effect/alien/weeds,/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/outpost/abandoned) "hU" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/outpost/research/dock) "hV" = (/obj/structure/disposalpipe/trunk{dir = 4},/obj/machinery/disposal,/obj/structure/sign/deathsposal{pixel_x = 32},/turf/simulated/floor/wood,/area/outpost/research/kitchen) @@ -632,7 +632,7 @@ "mh" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{tag = "icon-intact (SOUTHWEST)"; icon_state = "intact"; dir = 10},/turf/simulated/floor,/area/outpost/research/isolation_monitoring) "mi" = (/obj/structure/table/rack,/obj/item/weapon/storage/box/monkeycubes,/obj/item/weapon/storage/box/monkeycubes,/obj/item/weapon/storage/box/monkeycubes,/obj/item/weapon/reagent_containers/spray/cleaner,/turf/simulated/floor/plating,/area/outpost/research/emergency_storage) "mj" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/outpost/abandoned) -"mk" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/item/weapon/shard,/turf/simulated/floor/plating/airless,/area/outpost/abandoned) +"mk" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/item/weapon/material/shard,/turf/simulated/floor/plating/airless,/area/outpost/abandoned) "ml" = (/obj/machinery/light/small{dir = 8},/obj/machinery/embedded_controller/radio/airlock/airlock_controller{tag_airpump = "research_pump"; tag_exterior_door = "research_outer"; frequency = 1379; id_tag = "research_airlock"; tag_interior_door = "research_inner"; pixel_x = -25; pixel_y = 0; tag_chamber_sensor = "research_sensor"},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1379; id_tag = "research_pump"},/turf/simulated/floor,/area/outpost/research/eva) "mm" = (/obj/effect/alien/weeds,/turf/simulated/floor/airless{icon_state = "damaged4"},/area/outpost/abandoned) "mn" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area/outpost/abandoned) @@ -720,9 +720,9 @@ "nR" = (/obj/machinery/disposal/deliveryChute{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/disposalpipe/trunk,/turf/simulated/floor/plating,/area/outpost/research/eva) "nS" = (/obj/machinery/conveyor{dir = 2; id = "anotempload"},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/outpost/research/eva) "nT" = (/obj/machinery/conveyor{dir = 5; id = "anosample"},/obj/machinery/light/small{dir = 1},/obj/structure/sign/securearea{desc = "A warning sign which reads 'MOVING PARTS'."; name = "\improper MOVING PARTS"; pixel_y = 32},/turf/simulated/floor/plating,/area/outpost/research/eva) -"nU" = (/obj/item/weapon/shard{icon_state = "small"},/turf/simulated/floor/airless,/area/outpost/abandoned) +"nU" = (/obj/item/weapon/material/shard{icon_state = "small"},/turf/simulated/floor/airless,/area/outpost/abandoned) "nV" = (/obj/structure/table/rack,/turf/simulated/floor/airless{icon_state = "damaged5"},/area/outpost/abandoned) -"nW" = (/obj/item/weapon/shard,/turf/simulated/floor/airless{icon_state = "floorscorched2"},/area/outpost/abandoned) +"nW" = (/obj/item/weapon/material/shard,/turf/simulated/floor/airless{icon_state = "floorscorched2"},/area/outpost/abandoned) "nX" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/meter,/turf/simulated/floor/plating,/area/outpost/research/power) "nY" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor{dir = 5; icon_state = "warning"},/area/outpost/research/eva) "nZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/outpost/research/eva) @@ -755,16 +755,16 @@ "oA" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/blue{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/outpost/research/anomaly_storage) "oB" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/structure/cable/blue{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/outpost/research/anomaly_storage) "oC" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/closet/walllocker/emerglocker/west,/turf/simulated/floor/plating,/area/outpost/research/emergency_storage) -"oD" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/item/weapon/shard{icon_state = "medium"},/turf/simulated/floor/plating/airless,/area/outpost/abandoned) +"oD" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/item/weapon/material/shard{icon_state = "medium"},/turf/simulated/floor/plating/airless,/area/outpost/abandoned) "oE" = (/obj/structure/table/standard,/turf/simulated/floor,/area/outpost/research/isolation_monitoring) "oF" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/outpost/abandoned) "oG" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area/outpost/abandoned) "oH" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/outpost/abandoned) -"oI" = (/obj/item/weapon/shard{icon_state = "medium"},/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 2},/area/outpost/abandoned) +"oI" = (/obj/item/weapon/material/shard{icon_state = "medium"},/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 2},/area/outpost/abandoned) "oJ" = (/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 2},/area/outpost/abandoned) "oK" = (/obj/structure/cable/blue{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/outpost/research/power) -"oL" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille/broken,/obj/item/stack/rods,/obj/item/weapon/shard,/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"},/area/outpost/abandoned) -"oM" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/grille/broken,/obj/item/weapon/shard{icon_state = "small"},/obj/item/stack/rods,/turf/simulated/floor/plating/airless,/area/outpost/abandoned) +"oL" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille/broken,/obj/item/stack/rods,/obj/item/weapon/material/shard,/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"},/area/outpost/abandoned) +"oM" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/grille/broken,/obj/item/weapon/material/shard{icon_state = "small"},/obj/item/stack/rods,/turf/simulated/floor/plating/airless,/area/outpost/abandoned) "oN" = (/obj/structure/table/standard,/obj/item/weapon/paper/crumpled,/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/outpost/abandoned) "oO" = (/obj/machinery/artifact_scanpad,/obj/machinery/light,/turf/simulated/floor/bluegrid,/area/outpost/research/isolation_a) "oP" = (/obj/machinery/artifact_analyser,/turf/simulated/floor/bluegrid,/area/outpost/research/isolation_a) @@ -1680,10 +1680,10 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadQdRdSdTbDbCbEaeaeababababababababababababababababababababababababababababababababababababababababababababababababababalalalaeaeaeaeaeaeaeaebTaGaGaGaGaGaGbUaGaGaGaGbFaGaGbIbQbGbLbKbJaGbPbObNbMbSbYbRhVjeiYalaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaetdldlfycPbVcrabababababababababababababababababababababababababababababababababababababababababababababababababababalalalaaaaaaexexexexexexexaicWcXcUjBcScTcQcRdcdbdejIaGcYdadEdidhdjaGdgdfbNbMbMbMbMbMazalalaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaecocqcpcrabababababababababababababababababababababababababababababababababababababababababababababababababababababalaaaaaaexexexexexexexcscwcxcyctctcucvctcycFcEcDcCcBcAczcMcMcLcKcJcIcHcGcOdDddazazalalalaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaefxemelekcrababababababababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaexexexexexexexejcwdAdBdCeifFdFdGdYaGeadZaGebedecehdNjQaGdVdUaidWdWdWdWeeefegalalaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaefdemelekcrababababababababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaexexexexexexexejcwdAdBdCeifFdFdGdYaGeadZaGebedecehdNjQaGdVdUaidWdWdWdWeeefegalalaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaedLdKdMcrdJdIcrcrcrcrabababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaaexexexexexexexdHcwdAdBdCdOdPdFdGdyaGdxdwaGkaaGaGaGaGcCaGkoduaidtdodpdmdndqdrdqdqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacaaacacacacacaaacacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaegzfefEfHgVfGafbCeYcrfbfacrabababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaaexexexexexexexaifkflfjdCfhfidFfgfvaGfzfwfsfrfuftfoaGeLeKfmeRaifnfAfBfCfDdqalalalaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacaaacacacacacaaacacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaefcfdfeffeUeTeWeVeYeXfaeZfbcrabababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaeAereseyezeresevewepeqeneneneoeoeoeoeoeSeReQePeOeNeMaGfqfpeJeIaieHeFeGeDeEeCaGaGeBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacaaaaaaaaaaaaaaacacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaegzfxfEfHgVfGafbCeYcrfbfacrabababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaaexexexexexexexaifkflfjdCfhfidFfgfvaGfzfwfsfrfuftfoaGeLeKfmeRaifnfAfBfCfDdqalalalaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacaaacacacacacaaacacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaefcfefxffeUeTeWeVeYeXfaeZfbcrabababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaeAereseyezeresevewepeqeneneneoeoeoeoeoeSeReQePeOeNeMaGfqfpeJeIaieHeFeGeDeEeCaGaGeBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacaaaaaaaaaaaaaaacacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahSfchbfcfEfEdJheeUcrekhdcrfahccrabababababababababababababababababababababababababababababababababababababababababababababababdXaaaaaaaaaagMgPgQgNgOgTgQgRgSgWgXgUhahfeogYgZgweoloeRgBgAgDgCgEaGgGgFgIgHaiaigJaiaiaieReRgKeBeBeBeBgLeBeBeBeBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaegugvfEgsgtfEcpgqeTgrgpgocrcrcrcrcrcrababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaagngbgcgcgcgcgdgegfggghgigjgkeoglgmfVfUfTeIfXfWeReRfYfweReReJeIgafZfKfLfIlyeReRfMeBfOfPeBfNfRfSfQeBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaeiCiBhRfEgtiDffiGeUiFcriIiHcriWhKbCiEcrabababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaagngQgQgQhWgQlzhUgQibgXhZiahYeogmhXihigijiiidicifieillQimmrikieieieirisitiuinioipiqixiyiziAivmFjceBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa diff --git a/maps/exodus-6.dmm b/maps/exodus-6.dmm index 25a83f2dc9..df2be4562e 100644 --- a/maps/exodus-6.dmm +++ b/maps/exodus-6.dmm @@ -1,5 +1,5 @@ "a" = (/turf/space,/area/space) - + (1,1,1) = {" aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -257,3 +257,4 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa "} + From a32179a0626a1d82860102fa2d5f4af141cf4250 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Sat, 16 May 2015 20:54:34 +0930 Subject: [PATCH 06/45] Renamed knives. --- code/defines/obj/weapon.dm | 4 +- code/game/machinery/autolathe_datums.dm | 6 +- code/game/machinery/vending.dm | 4 +- .../objects/items/stacks/sheets/leather.dm | 2 +- .../items/weapons/improvised_components.dm | 2 +- .../objects/items/weapons/material/knives.dm | 83 +++++++++---------- .../weapons/material/material_weapons.dm | 5 +- code/game/objects/random/random.dm | 4 +- code/modules/admin/verbs/debug.dm | 10 +-- code/modules/clothing/suits/jobs.dm | 4 +- .../clothing/under/accessories/storage.dm | 4 +- code/modules/hydroponics/grown_inedible.dm | 2 +- code/modules/library/lib_items.dm | 2 +- .../living/simple_animal/hostile/russian.dm | 2 +- .../mob/living/simple_animal/simple_animal.dm | 2 +- .../reagent_containers/food/snacks/meat.dm | 2 +- .../artifact/artifact_replicator.dm | 4 +- .../research/xenoarchaeology/finds/finds.dm | 2 +- code/modules/surgery/eye.dm | 2 +- code/modules/surgery/face.dm | 2 +- code/modules/surgery/generic.dm | 2 +- code/modules/surgery/organs_internal.dm | 4 +- code/modules/surgery/other.dm | 2 +- code/modules/surgery/slimes.dm | 4 +- maps/exodus-2.dmm | 10 +-- 25 files changed, 82 insertions(+), 88 deletions(-) diff --git a/code/defines/obj/weapon.dm b/code/defines/obj/weapon.dm index 99ff26c89a..dfecfcb914 100644 --- a/code/defines/obj/weapon.dm +++ b/code/defines/obj/weapon.dm @@ -91,7 +91,7 @@ /obj/item/weapon/cane/concealed/New() ..() - var/obj/item/weapon/butterfly/switchblade/temp_blade = new(src) + var/obj/item/weapon/material/butterfly/switchblade/temp_blade = new(src) concealed_blade = temp_blade temp_blade.attack_self() @@ -109,7 +109,7 @@ else ..() -/obj/item/weapon/cane/concealed/attackby(var/obj/item/weapon/butterfly/W, var/mob/user) +/obj/item/weapon/cane/concealed/attackby(var/obj/item/weapon/material/butterfly/W, var/mob/user) if(!src.concealed_blade && istype(W)) user.visible_message("[user] has sheathed \a [W] into \his [src]!", "You sheathe \the [W] into \the [src].") user.drop_from_inventory(W) diff --git a/code/game/machinery/autolathe_datums.dm b/code/game/machinery/autolathe_datums.dm index 3b323cd69f..90486e64eb 100644 --- a/code/game/machinery/autolathe_datums.dm +++ b/code/game/machinery/autolathe_datums.dm @@ -81,12 +81,12 @@ name = "wrench" path = /obj/item/weapon/wrench category = "Tools" - + /datum/autolathe/recipe/hatchet name = "hatchet" path = /obj/item/weapon/hatchet category = "Tools" - + /datum/autolathe/recipe/minihoe name = "mini hoe" path = /obj/item/weapon/minihoe @@ -133,7 +133,7 @@ /datum/autolathe/recipe/knife name = "kitchen knife" - path = /obj/item/weapon/kitchenknife + path = /obj/item/weapon/material/knife category = "General" /datum/autolathe/recipe/taperecorder diff --git a/code/game/machinery/vending.dm b/code/game/machinery/vending.dm index 6895124593..ff604d0b2c 100644 --- a/code/game/machinery/vending.dm +++ b/code/game/machinery/vending.dm @@ -910,8 +910,8 @@ desc = "A kitchen and restaurant equipment vendor." product_ads = "Mm, food stuffs!;Food and food accessories.;Get your plates!;You like forks?;I like forks.;Woo, utensils.;You don't really need these..." icon_state = "dinnerware" - products = list(/obj/item/weapon/tray = 8,/obj/item/weapon/kitchen/utensil/fork = 6,/obj/item/weapon/kitchenknife = 3,/obj/item/weapon/reagent_containers/food/drinks/drinkingglass = 8,/obj/item/clothing/suit/chef/classic = 2) - contraband = list(/obj/item/weapon/kitchen/utensil/spoon = 2,/obj/item/weapon/kitchen/utensil/knife = 2,/obj/item/weapon/kitchen/rollingpin = 2, /obj/item/weapon/butch = 2) + products = list(/obj/item/weapon/tray = 8,/obj/item/weapon/kitchen/utensil/fork = 6,/obj/item/weapon/material/knife = 3,/obj/item/weapon/reagent_containers/food/drinks/drinkingglass = 8,/obj/item/clothing/suit/chef/classic = 2) + contraband = list(/obj/item/weapon/kitchen/utensil/spoon = 2,/obj/item/weapon/kitchen/utensil/knife = 2,/obj/item/weapon/kitchen/rollingpin = 2, /obj/item/weapon/material/knife/butch = 2) /obj/machinery/vending/sovietsoda name = "BODA" diff --git a/code/game/objects/items/stacks/sheets/leather.dm b/code/game/objects/items/stacks/sheets/leather.dm index a3e7ed53e2..344a991935 100644 --- a/code/game/objects/items/stacks/sheets/leather.dm +++ b/code/game/objects/items/stacks/sheets/leather.dm @@ -91,7 +91,7 @@ //Step one - dehairing. /obj/item/stack/sheet/animalhide/attackby(obj/item/weapon/W as obj, mob/user as mob) - if( istype(W, /obj/item/weapon/kitchenknife) || \ + if( istype(W, /obj/item/weapon/material/knife) || \ istype(W, /obj/item/weapon/kitchen/utensil/knife) || \ istype(W, /obj/item/weapon/twohanded/fireaxe) || \ istype(W, /obj/item/weapon/hatchet) ) diff --git a/code/game/objects/items/weapons/improvised_components.dm b/code/game/objects/items/weapons/improvised_components.dm index d00ca141f6..7222ae87b4 100644 --- a/code/game/objects/items/weapons/improvised_components.dm +++ b/code/game/objects/items/weapons/improvised_components.dm @@ -7,7 +7,7 @@ /obj/item/butterflyconstruction/attackby(obj/item/W as obj, mob/user as mob) if(istype(W,/obj/item/weapon/screwdriver)) user << "You finish the concealed blade weapon." - new /obj/item/weapon/butterfly(user.loc) + new /obj/item/weapon/material/butterfly(user.loc) qdel(src) return diff --git a/code/game/objects/items/weapons/material/knives.dm b/code/game/objects/items/weapons/material/knives.dm index 341ebb36cb..0aab729ad2 100644 --- a/code/game/objects/items/weapons/material/knives.dm +++ b/code/game/objects/items/weapons/material/knives.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/butterfly +/obj/item/weapon/material/butterfly name = "butterfly knife" desc = "A basic metal blade concealed in a lightweight plasteel grip. Small enough when folded to fit in a pocket." icon_state = "butterflyknife" @@ -14,39 +14,45 @@ throwforce = 7 attack_verb = list("patted", "tapped") -/obj/item/weapon/butterfly/switchblade - name = "switchblade" - desc = "A classic switchblade with gold engraving. Just holding it makes you feel like a gangster." - icon_state = "switchblade" - -/obj/item/weapon/butterfly/attack_self(mob/user) - active = !active +/obj/item/weapon/material/butterfly/update_force() if(active) - user << "You flip out your [src]." - playsound(user, 'sound/weapons/flipblade.ogg', 15, 1) - force = 15 //bay adjustments - throwforce = 12 + ..() //Updates force. + throwforce = max(3,force-3) edge = 1 sharp = 1 - hitsound = 'sound/weapons/bladeslice.ogg' + hitsound = initial(hitsound) icon_state += "_open" w_class = 3 attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") else - user << "The butterfly knife can now be concealed." - force = initial(force) + force = 3 edge = 0 sharp = 0 - hitsound = initial(hitsound) + hitsound = null icon_state = initial(icon_state) w_class = initial(w_class) attack_verb = initial(attack_verb) - add_fingerprint(user) + +/obj/item/weapon/material/butterfly/switchblade + name = "switchblade" + desc = "A classic switchblade with gold engraving. Just holding it makes you feel like a gangster." + icon_state = "switchblade" + unbreakable = 1 + +/obj/item/weapon/material/butterfly/attack_self(mob/user) + active = !active + if(active) + user << "You flip out your [src]." + playsound(user, 'sound/weapons/flipblade.ogg', 15, 1) + else + user << "The butterfly knife can now be concealed." + update_force() + add_fingerprint(user) /* * Kitchen knives */ -/obj/item/weapon/kitchenknife +/obj/item/weapon/material/knife name = "kitchen knife" icon = 'icons/obj/kitchen.dmi' icon_state = "knife" @@ -54,53 +60,38 @@ flags = CONDUCT sharp = 1 edge = 1 - force = 10.0 - w_class = 3.0 - throwforce = 6.0 + force = 10 + w_class = 3 + throwforce = 8 throw_speed = 3 throw_range = 6 matter = list(DEFAULT_WALL_MATERIAL = 12000) origin_tech = "materials=1" attack_verb = list("slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") + unbreakable = 1 - suicide_act(mob/user) - viewers(user) << pick("\red [user] is slitting \his wrists with the [src.name]! It looks like \he's trying to commit suicide.", \ - "\red [user] is slitting \his throat with the [src.name]! It looks like \he's trying to commit suicide.", \ - "\red [user] is slitting \his stomach open with the [src.name]! It looks like \he's trying to commit seppuku.") - return (BRUTELOSS) +/obj/item/weapon/material/knife/suicide_act(mob/user) + viewers(user) << pick("\red [user] is slitting \his wrists with the [src.name]! It looks like \he's trying to commit suicide.", \ + "\red [user] is slitting \his throat with the [src.name]! It looks like \he's trying to commit suicide.", \ + "\red [user] is slitting \his stomach open with the [src.name]! It looks like \he's trying to commit seppuku.") + return (BRUTELOSS) -/obj/item/weapon/kitchenknife/hook +/obj/item/weapon/material/knife/hook name = "meat hook" desc = "A sharp, metal hook what sticks into things." icon_state = "hook_knife" item_state = "hook_knife" -/obj/item/weapon/kitchenknife/ritual +/obj/item/weapon/material/knife/ritual name = "ritual knife" desc = "The unearthly energies that once powered this blade are now dormant." icon = 'icons/obj/wizard.dmi' icon_state = "render" -/* - * Bucher's cleaver - */ -/obj/item/weapon/butch +/obj/item/weapon/material/knife/butch name = "butcher's cleaver" icon = 'icons/obj/kitchen.dmi' icon_state = "butch" desc = "A huge thing used for chopping and chopping up meat. This includes clowns and clown-by-products." - flags = CONDUCT - force = 15.0 - w_class = 2.0 - throwforce = 8.0 - throw_speed = 3 - throw_range = 6 - matter = list(DEFAULT_WALL_MATERIAL = 12000) - origin_tech = "materials=1" + force = 15 attack_verb = list("cleaved", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") - sharp = 1 - edge = 1 - -/obj/item/weapon/butch/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob) - playsound(loc, 'sound/weapons/bladeslice.ogg', 50, 1, -1) - return ..() \ No newline at end of file diff --git a/code/game/objects/items/weapons/material/material_weapons.dm b/code/game/objects/items/weapons/material/material_weapons.dm index 84aa0799ba..9cc9455a9c 100644 --- a/code/game/objects/items/weapons/material/material_weapons.dm +++ b/code/game/objects/items/weapons/material/material_weapons.dm @@ -14,6 +14,9 @@ material_key = default_material set_material(material_key) +/obj/item/weapon/material/proc/update_force() + force = round(material.get_blunt_damage()*damage_divisor) + /obj/item/weapon/material/proc/set_material(var/new_material) material = get_material_by_name(new_material) if(!material) @@ -21,10 +24,10 @@ else name = "[material.display_name] bat" health = round(material.integrity/10) - force = round(material.get_blunt_damage()*damage_divisor) color = material.icon_colour if(material.products_need_process()) processing_objects |= src + update_force() /obj/item/weapon/material/Destroy() processing_objects -= src diff --git a/code/game/objects/random/random.dm b/code/game/objects/random/random.dm index 18e0c75e1a..34e646a1cf 100644 --- a/code/game/objects/random/random.dm +++ b/code/game/objects/random/random.dm @@ -162,11 +162,11 @@ prob(2);/obj/item/weapon/storage/pill_bottle/happy,\ prob(2);/obj/item/weapon/storage/pill_bottle/zoom,\ prob(5);/obj/item/weapon/contraband/poster,\ - prob(2);/obj/item/weapon/butterfly,\ + prob(2);/obj/item/weapon/material/butterfly,\ prob(3);/obj/item/butterflyblade,\ prob(3);/obj/item/butterflyhandle,\ prob(3);/obj/item/weapon/wirerod,\ - prob(1);/obj/item/weapon/butterfly/switchblade,\ + prob(1);/obj/item/weapon/material/butterfly/switchblade,\ prob(1);/obj/item/weapon/reagent_containers/syringe/drugs) diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm index 1012883781..c85fa2eac1 100644 --- a/code/modules/admin/verbs/debug.dm +++ b/code/modules/admin/verbs/debug.dm @@ -597,7 +597,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that M.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/thunderdome(M), slot_head) M.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/pulse_rifle/destroyer(M), slot_r_hand) - M.equip_to_slot_or_del(new /obj/item/weapon/kitchenknife(M), slot_l_hand) + M.equip_to_slot_or_del(new /obj/item/weapon/material/knife(M), slot_l_hand) M.equip_to_slot_or_del(new /obj/item/weapon/grenade/smokebomb(M), slot_r_store) @@ -621,9 +621,9 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that M.equip_to_slot_or_del(new /obj/item/clothing/head/chefhat(M), slot_head) M.equip_to_slot_or_del(new /obj/item/weapon/kitchen/rollingpin(M), slot_r_hand) - M.equip_to_slot_or_del(new /obj/item/weapon/kitchenknife(M), slot_l_hand) - M.equip_to_slot_or_del(new /obj/item/weapon/kitchenknife(M), slot_r_store) - M.equip_to_slot_or_del(new /obj/item/weapon/kitchenknife(M), slot_s_store) + M.equip_to_slot_or_del(new /obj/item/weapon/material/knife(M), slot_l_hand) + M.equip_to_slot_or_del(new /obj/item/weapon/material/knife(M), slot_r_store) + M.equip_to_slot_or_del(new /obj/item/weapon/material/knife(M), slot_s_store) if ("tournament janitor") M.equip_to_slot_or_del(new /obj/item/clothing/under/rank/janitor(M), slot_w_uniform) @@ -699,7 +699,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that M.equip_to_slot_or_del(new /obj/item/device/radio/headset(M), slot_l_ear) M.equip_to_slot_or_del(new /obj/item/clothing/glasses/thermal/plain/monocle(M), slot_glasses) M.equip_to_slot_or_del(new /obj/item/clothing/suit/apron(M), slot_wear_suit) - M.equip_to_slot_or_del(new /obj/item/weapon/kitchenknife(M), slot_l_store) + M.equip_to_slot_or_del(new /obj/item/weapon/material/knife(M), slot_l_store) M.equip_to_slot_or_del(new /obj/item/weapon/scalpel(M), slot_r_store) var/obj/item/weapon/twohanded/fireaxe/fire_axe = new(M) diff --git a/code/modules/clothing/suits/jobs.dm b/code/modules/clothing/suits/jobs.dm index e0fa47f64f..c4584e7416 100644 --- a/code/modules/clothing/suits/jobs.dm +++ b/code/modules/clothing/suits/jobs.dm @@ -51,14 +51,14 @@ //Chef /obj/item/clothing/suit/chef - name = "Chef's apron" + name = "chef's apron" desc = "An apron used by a high class chef." icon_state = "chef" item_state = "chef" gas_transfer_coefficient = 0.90 permeability_coefficient = 0.50 body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS - allowed = list (/obj/item/weapon/kitchenknife,/obj/item/weapon/butch) + allowed = list (/obj/item/weapon/material/knife) sprite_sheets = list("Vox" = 'icons/mob/species/vox/suit.dmi') //Chef diff --git a/code/modules/clothing/under/accessories/storage.dm b/code/modules/clothing/under/accessories/storage.dm index 7f13449d16..adae7aac8c 100644 --- a/code/modules/clothing/under/accessories/storage.dm +++ b/code/modules/clothing/under/accessories/storage.dm @@ -75,8 +75,8 @@ hold.can_hold = list(/obj/item/weapon/hatchet/unathiknife,\ /obj/item/weapon/kitchen/utensil/knife,\ /obj/item/weapon/kitchen/utensil/pknife,\ - /obj/item/weapon/kitchenknife,\ - /obj/item/weapon/kitchenknife/ritual) + /obj/item/weapon/material/knife,\ + /obj/item/weapon/material/knife/ritual) new /obj/item/weapon/hatchet/unathiknife(hold) new /obj/item/weapon/hatchet/unathiknife(hold) diff --git a/code/modules/hydroponics/grown_inedible.dm b/code/modules/hydroponics/grown_inedible.dm index 680a7a5ec8..e69d8a67fc 100644 --- a/code/modules/hydroponics/grown_inedible.dm +++ b/code/modules/hydroponics/grown_inedible.dm @@ -45,7 +45,7 @@ /obj/item/weapon/corncob/attackby(obj/item/weapon/W as obj, mob/user as mob) ..() - if(istype(W, /obj/item/weapon/circular_saw) || istype(W, /obj/item/weapon/hatchet) || istype(W, /obj/item/weapon/kitchen/utensil/knife) || istype(W, /obj/item/weapon/kitchenknife) || istype(W, /obj/item/weapon/kitchenknife/ritual)) + if(istype(W, /obj/item/weapon/circular_saw) || istype(W, /obj/item/weapon/hatchet) || istype(W, /obj/item/weapon/kitchen/utensil/knife) || istype(W, /obj/item/weapon/material/knife) || istype(W, /obj/item/weapon/material/knife/ritual)) user << "You use [W] to fashion a pipe out of the corn cob!" new /obj/item/clothing/mask/smokable/pipe/cobpipe (user.loc) qdel(src) diff --git a/code/modules/library/lib_items.dm b/code/modules/library/lib_items.dm index 354d674215..f9292dc1b1 100644 --- a/code/modules/library/lib_items.dm +++ b/code/modules/library/lib_items.dm @@ -226,7 +226,7 @@ return scanner.computer.inventory.Add(src) user << "[W]'s screen flashes: 'Book stored in buffer. Title added to general inventory.'" - else if(istype(W, /obj/item/weapon/kitchenknife) || istype(W, /obj/item/weapon/wirecutters)) + else if(istype(W, /obj/item/weapon/material/knife) || istype(W, /obj/item/weapon/wirecutters)) if(carved) return user << "You begin to carve out [title]." if(do_after(user, 30)) diff --git a/code/modules/mob/living/simple_animal/hostile/russian.dm b/code/modules/mob/living/simple_animal/hostile/russian.dm index ab044a02f0..da2599aeb7 100644 --- a/code/modules/mob/living/simple_animal/hostile/russian.dm +++ b/code/modules/mob/living/simple_animal/hostile/russian.dm @@ -20,7 +20,7 @@ attacktext = "punched" a_intent = I_HURT var/corpse = /obj/effect/landmark/mobcorpse/russian - var/weapon1 = /obj/item/weapon/kitchenknife + var/weapon1 = /obj/item/weapon/material/knife min_oxy = 5 max_oxy = 0 min_tox = 0 diff --git a/code/modules/mob/living/simple_animal/simple_animal.dm b/code/modules/mob/living/simple_animal/simple_animal.dm index aec9fd1894..0b35ae45ea 100644 --- a/code/modules/mob/living/simple_animal/simple_animal.dm +++ b/code/modules/mob/living/simple_animal/simple_animal.dm @@ -281,7 +281,7 @@ else user << "\The [src] is dead, medical items won't bring it back to life." if(meat_type && (stat == DEAD)) //if the animal has a meat, and if it is dead. - if(istype(O, /obj/item/weapon/kitchenknife) || istype(O, /obj/item/weapon/butch)) + if(istype(O, /obj/item/weapon/material/knife) || istype(O, /obj/item/weapon/material/knife/butch)) harvest(user) else user.changeNext_move(8) diff --git a/code/modules/reagents/reagent_containers/food/snacks/meat.dm b/code/modules/reagents/reagent_containers/food/snacks/meat.dm index 797f605b08..46bf9e4baf 100644 --- a/code/modules/reagents/reagent_containers/food/snacks/meat.dm +++ b/code/modules/reagents/reagent_containers/food/snacks/meat.dm @@ -10,7 +10,7 @@ src.bitesize = 3 /obj/item/weapon/reagent_containers/food/snacks/meat/attackby(obj/item/weapon/W as obj, mob/user as mob) - if(istype(W,/obj/item/weapon/kitchenknife)) + if(istype(W,/obj/item/weapon/material/knife)) new /obj/item/weapon/reagent_containers/food/snacks/rawcutlet(src) new /obj/item/weapon/reagent_containers/food/snacks/rawcutlet(src) new /obj/item/weapon/reagent_containers/food/snacks/rawcutlet(src) diff --git a/code/modules/research/xenoarchaeology/artifact/artifact_replicator.dm b/code/modules/research/xenoarchaeology/artifact/artifact_replicator.dm index 8e6097a39b..8cfd141c28 100644 --- a/code/modules/research/xenoarchaeology/artifact/artifact_replicator.dm +++ b/code/modules/research/xenoarchaeology/artifact/artifact_replicator.dm @@ -43,7 +43,7 @@ /obj/item/weapon/autopsy_scanner,\ /obj/item/weapon/bikehorn,\ /obj/item/weapon/bonesetter,\ - /obj/item/weapon/butch,\ + /obj/item/weapon/material/knife/butch,\ /obj/item/weapon/caution,\ /obj/item/weapon/caution/cone,\ /obj/item/weapon/crowbar,\ @@ -53,7 +53,7 @@ /obj/item/weapon/hatchet,\ /obj/item/weapon/handcuffs,\ /obj/item/weapon/hemostat,\ - /obj/item/weapon/kitchenknife,\ + /obj/item/weapon/material/knife,\ /obj/item/weapon/flame/lighter,\ /obj/item/weapon/light/bulb,\ /obj/item/weapon/light/tube,\ diff --git a/code/modules/research/xenoarchaeology/finds/finds.dm b/code/modules/research/xenoarchaeology/finds/finds.dm index fe2bbe7afa..1a09521e1a 100644 --- a/code/modules/research/xenoarchaeology/finds/finds.dm +++ b/code/modules/research/xenoarchaeology/finds/finds.dm @@ -167,7 +167,7 @@ "You wonder what kind of music was made with it")]." if(6) item_type = "[pick("bladed knife","serrated blade","sharp cutting implement")]" - new_item = new /obj/item/weapon/kitchenknife(src.loc) + new_item = new /obj/item/weapon/material/knife(src.loc) additional_desc = "[pick("It doesn't look safe.",\ "It looks wickedly jagged",\ "There appear to be [pick("dark red","dark purple","dark green","dark blue")] stains along the edges")]." diff --git a/code/modules/surgery/eye.dm b/code/modules/surgery/eye.dm index cb3c5af7b7..250aea6693 100644 --- a/code/modules/surgery/eye.dm +++ b/code/modules/surgery/eye.dm @@ -20,7 +20,7 @@ /datum/surgery_step/eye/cut_open allowed_tools = list( /obj/item/weapon/scalpel = 100, \ - /obj/item/weapon/kitchenknife = 75, \ + /obj/item/weapon/material/knife = 75, \ /obj/item/weapon/material/shard = 50, \ ) diff --git a/code/modules/surgery/face.dm b/code/modules/surgery/face.dm index 8517a7b98d..4b983eb247 100644 --- a/code/modules/surgery/face.dm +++ b/code/modules/surgery/face.dm @@ -17,7 +17,7 @@ /datum/surgery_step/generic/cut_face allowed_tools = list( /obj/item/weapon/scalpel = 100, \ - /obj/item/weapon/kitchenknife = 75, \ + /obj/item/weapon/material/knife = 75, \ /obj/item/weapon/material/shard = 50, \ ) diff --git a/code/modules/surgery/generic.dm b/code/modules/surgery/generic.dm index 7ff50ae15b..0552ee800c 100644 --- a/code/modules/surgery/generic.dm +++ b/code/modules/surgery/generic.dm @@ -110,7 +110,7 @@ /datum/surgery_step/generic/cut_open allowed_tools = list( /obj/item/weapon/scalpel = 100, \ - /obj/item/weapon/kitchenknife = 75, \ + /obj/item/weapon/material/knife = 75, \ /obj/item/weapon/material/shard = 50, \ ) diff --git a/code/modules/surgery/organs_internal.dm b/code/modules/surgery/organs_internal.dm index b8b5d3f2ec..d25d9fc5f2 100644 --- a/code/modules/surgery/organs_internal.dm +++ b/code/modules/surgery/organs_internal.dm @@ -211,7 +211,7 @@ allowed_tools = list( /obj/item/weapon/scalpel = 100, \ - /obj/item/weapon/kitchenknife = 75, \ + /obj/item/weapon/material/knife = 75, \ /obj/item/weapon/material/shard = 50, \ ) @@ -447,7 +447,7 @@ // /datum/surgery_step/ribcage/heart/cut // allowed_tools = list( // /obj/item/weapon/scalpel = 100, \ -// /obj/item/weapon/kitchenknife = 75, \ +// /obj/item/weapon/material/knife = 75, \ // /obj/item/weapon/material/shard = 50, \ // ) diff --git a/code/modules/surgery/other.dm b/code/modules/surgery/other.dm index 7625de5893..50e6c3bcfb 100644 --- a/code/modules/surgery/other.dm +++ b/code/modules/surgery/other.dm @@ -56,7 +56,7 @@ priority = 2 allowed_tools = list( /obj/item/weapon/scalpel = 100, \ - /obj/item/weapon/kitchenknife = 75, \ + /obj/item/weapon/material/knife = 75, \ /obj/item/weapon/material/shard = 50, \ ) diff --git a/code/modules/surgery/slimes.dm b/code/modules/surgery/slimes.dm index c62afde296..2f9629bade 100644 --- a/code/modules/surgery/slimes.dm +++ b/code/modules/surgery/slimes.dm @@ -12,7 +12,7 @@ /datum/surgery_step/slime/cut_flesh allowed_tools = list( /obj/item/weapon/scalpel = 100, \ - /obj/item/weapon/kitchenknife = 75, \ + /obj/item/weapon/material/knife = 75, \ /obj/item/weapon/material/shard = 50, \ ) @@ -38,7 +38,7 @@ /datum/surgery_step/slime/cut_innards allowed_tools = list( /obj/item/weapon/scalpel = 100, \ - /obj/item/weapon/kitchenknife = 75, \ + /obj/item/weapon/material/knife = 75, \ /obj/item/weapon/material/shard = 50, \ ) diff --git a/maps/exodus-2.dmm b/maps/exodus-2.dmm index 331980dfd8..3d78230a67 100644 --- a/maps/exodus-2.dmm +++ b/maps/exodus-2.dmm @@ -1699,7 +1699,7 @@ "GI" = (/turf/simulated/floor{icon_state = "red"; dir = 8},/area/tdome) "GJ" = (/turf/simulated/floor{icon_state = "green"; dir = 4},/area/tdome) "GK" = (/obj/effect/landmark{name = "tdome1"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome1) -"GL" = (/obj/structure/table/rack,/obj/item/weapon/kitchenknife/ritual,/turf/unsimulated/floor{dir = 1; icon_state = "chapel"},/area/wizard_station) +"GL" = (/obj/item/weapon/material/knife/ritual,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/wizard_station) "GM" = (/obj/machinery/recharger{pixel_y = 4},/obj/effect/landmark{name = "tdome2"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome2) "GN" = (/obj/machinery/recharger{pixel_y = 4},/obj/effect/landmark{name = "tdome1"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome1) "GO" = (/obj/machinery/porta_turret{anchored = 0; check_records = 0; enabled = 0; req_one_access = list(103); use_power = 0},/turf/unsimulated/floor{icon_state = "bot"},/area/centcom/holding) @@ -1723,7 +1723,7 @@ "Hg" = (/obj/machinery/door/blast/regular{id = "thunderdomeaxe"; name = "Axe Supply"},/turf/unsimulated/floor{icon_state = "dark"},/area/tdome) "Hh" = (/obj/effect/overlay/coconut,/turf/unsimulated/beach/sand,/area/beach) "Hi" = (/turf/unsimulated/floor{icon_state = "redcorner"; dir = 8},/area/tdome) -"Hj" = (/obj/structure/table/rack,/obj/item/weapon/kitchenknife/ritual,/turf/unsimulated/floor{dir = 4; icon_state = "chapel"},/area/wizard_station) +"Hj" = (/obj/structure/table/rack,/obj/item/weapon/material/knife/ritual,/turf/unsimulated/floor{dir = 1; icon_state = "chapel"},/area/wizard_station) "Hk" = (/obj/item/tape/engineering{tag = "icon-engineering_v"; icon_state = "engineering_v"},/turf/unsimulated/floor{tag = "icon-asteroid"; icon_state = "asteroid"},/area/syndicate_mothership{name = "\improper Raider Base"}) "Hl" = (/obj/structure/window/reinforced{dir = 5; health = 1e+007},/obj/effect/forcefield{desc = "You can't get in. Heh."; layer = 1; name = "Blocker"},/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/floor,/area/tdome) "Hm" = (/turf/unsimulated/wall{tag = "icon-iron1"; icon_state = "iron1"},/area/syndicate_mothership{name = "\improper Raider Base"}) @@ -1906,7 +1906,7 @@ "KH" = (/obj/structure/flora/ausbushes/grassybush,/turf/unsimulated/floor{icon_state = "grass1"; name = "grass"},/area/wizard_station) "KI" = (/mob/living/simple_animal/hostile/retaliate/goat{name = "Experiment 97d"},/turf/unsimulated/floor{icon_state = "grass1"; name = "grass"},/area/wizard_station) "KJ" = (/obj/item/weapon/caution,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/wizard_station) -"KK" = (/obj/item/weapon/kitchenknife/ritual,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/wizard_station) +"KK" = (/obj/structure/table/rack,/obj/item/weapon/material/knife/ritual,/turf/unsimulated/floor{dir = 4; icon_state = "chapel"},/area/wizard_station) "KL" = (/obj/machinery/computer/station_alert,/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/syndicate_mothership{name = "\improper Raider Base"}) "KM" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/obj/item/weapon/tank/nitrogen,/turf/unsimulated/floor{tag = "icon-asteroid"; icon_state = "asteroid"},/area/syndicate_mothership{name = "\improper Raider Base"}) "KN" = (/obj/item/clothing/head/philosopher_wig,/turf/unsimulated/floor{tag = "icon-asteroid"; icon_state = "asteroid"},/area/syndicate_mothership{name = "\improper Raider Base"}) @@ -2397,14 +2397,14 @@ aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMHYIcIcIcIcIcIxHYIyIyIzHYIAIBICIDHYaMaMaMaM aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMHYIEIEIcIcIcIFHYIyIyIyIGIyIyIyIHHYaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMHYIcIcIcIcIcOUHYIMINIOHYIPIQIRIDHYaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMOVaMaMaMOVaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMHYIcIcIcIcIcItHYHYHYHYHYHYHYHYHYHYaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMOVOVOVOVOVaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMHYIcJdJeJfJgIcJhJiJjJhJkGLJmJnHjHYaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMOVaMaMOVaMaMOVOVOVOVOVOVOVaMaMOVaMaMOVaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMHYIcJdJeJfJgIcJhJiJjJhJkHjJmJnKKHYaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMOVaMaMOVaMaMOVOVOVOVOVOVOVaMaMOVaMaMOVaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMHYIcJdJsJtJgIcJuJuJuJuJvJwJxJwJxHYaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMOVOVOVOVaMOVOVOVOVOVOVOVOVOVaMOVOVOVOVaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMHYIcJdJGOWJgIcJuJuJuJuJuJuJuJuJuHYaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMOVOVOVOVaMOVOVOVOVOVOVOVOVOVaMOVOVOVOVaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMHYIcJdJPJQJgIcJuJuJuJuJuJuJRJSJTHYaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMOVOVOVOVaMOVOVOVOVOVOVOVOVOVaMOVOVOVOVaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMHYIcIcIcIcIcIcJuJuJuJuJuJuJuJuJuHYaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMOVOVOVOVOVOVOVOVOVOVOVOVOVOVOVOVOVOVOVaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMHYKeKfKfKgKfKfKfKgKfKfKfKgKfKfKhHYaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMOVOVOVOVOVOVOVOVOVOVOVOVOVOVOVOVOVOVOVaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMHYKkKlKlJkKmKoKnJkKpKpKqJkKrOXKtHYaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMOVOVOVOVOVOVOVOVOVOVOVOVOVOVOVOVOVOVOVaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMHYKlKEKkJvKGLvLuJvKHKIKpJvKJKtKKHYaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMOVOVOVOVOVOVOVOVOVOVOVOVOVOVOVOVOVOVOVaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMHYKlKEKkJvKGLvLuJvKHKIKpJvKJKtGLHYaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMOVOVOVOVOVOVOVOVOVOVOVOVOVOVOVOVOVOVOVaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMHYHYHYHYHYHYHYHYHYHYHYHYHYHYHYHYHYaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMOVOVOVOVOVOVOVOVOVOVOVOVOVOVOVOVOVOVOVOVOVaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMOVOVOVOVOVOVOVOVOVOVOVOVOVOVOVOVOVOVOVOVOVaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMOVOVOVOVaMaMOVOVOVOVOVOVOVaMaMOVOVOVOVaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM From f4923e2a20f9090b54b3c11f7f729f0a702abf9c Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Sat, 16 May 2015 21:12:54 +0930 Subject: [PATCH 07/45] Renamed twohanded weapons, collapsed bats. --- code/game/machinery/doors/airlock.dm | 6 +- code/game/machinery/doors/blast_door.dm | 2 +- code/game/machinery/doors/firedoor.dm | 6 +- .../objects/items/stacks/sheets/leather.dm | 2 +- .../items/stacks/sheets/sheet_types.dm | 4 +- .../items/weapons/improvised_components.dm | 2 +- .../objects/items/weapons/material/bats.dm | 62 +++---------------- .../objects/items/weapons/material/knives.dm | 2 + .../weapons/material/material_weapons.dm | 4 +- .../objects/items/weapons/material/misc.dm | 1 - .../items/weapons/material/twohanded.dm | 53 +++++++++------- .../crates_lockers/closets/fireaxe.dm | 6 +- code/modules/admin/verbs/debug.dm | 4 +- code/modules/mob/living/carbon/carbon.dm | 10 +-- 14 files changed, 63 insertions(+), 101 deletions(-) diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index 2211fced44..4418ceff30 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -805,18 +805,18 @@ About the new airlock wires panel: else spawn(0) close(1) - else if(istype(C, /obj/item/weapon/twohanded/fireaxe) && !arePowerSystemsOn()) + else if(istype(C, /obj/item/weapon/material/twohanded/fireaxe) && !arePowerSystemsOn()) if(locked) user << "\blue The airlock's bolts prevent it from being forced." else if( !welded && !operating ) if(density) - var/obj/item/weapon/twohanded/fireaxe/F = C + var/obj/item/weapon/material/twohanded/fireaxe/F = C if(F.wielded) spawn(0) open(1) else user << "\red You need to be wielding \the [C] to do that." else - var/obj/item/weapon/twohanded/fireaxe/F = C + var/obj/item/weapon/material/twohanded/fireaxe/F = C if(F.wielded) spawn(0) close(1) else diff --git a/code/game/machinery/doors/blast_door.dm b/code/game/machinery/doors/blast_door.dm index 374f0426ad..5f6a16cc58 100644 --- a/code/game/machinery/doors/blast_door.dm +++ b/code/game/machinery/doors/blast_door.dm @@ -90,7 +90,7 @@ // This only works on broken doors or doors without power. Also allows repair with Plasteel. /obj/machinery/door/blast/attackby(obj/item/weapon/C as obj, mob/user as mob) src.add_fingerprint(user) - if(istype(C, /obj/item/weapon/crowbar) || (istype(C, /obj/item/weapon/twohanded/fireaxe) && C:wielded == 1)) + if(istype(C, /obj/item/weapon/crowbar) || (istype(C, /obj/item/weapon/material/twohanded/fireaxe) && C:wielded == 1)) if(((stat & NOPOWER) || (stat & BROKEN)) && !( src.operating )) force_toggle() else diff --git a/code/game/machinery/doors/firedoor.dm b/code/game/machinery/doors/firedoor.dm index a3fca76a44..0c0d23b52a 100644 --- a/code/game/machinery/doors/firedoor.dm +++ b/code/game/machinery/doors/firedoor.dm @@ -238,7 +238,7 @@ user << "\The [src] is welded shut!" return - if(istype(C, /obj/item/weapon/crowbar) || istype(C,/obj/item/weapon/twohanded/fireaxe)) + if(istype(C, /obj/item/weapon/crowbar) || istype(C,/obj/item/weapon/material/twohanded/fireaxe)) if(operating) return @@ -248,8 +248,8 @@ "You hear someone struggle and metal straining.") return - if(istype(C,/obj/item/weapon/twohanded/fireaxe)) - var/obj/item/weapon/twohanded/fireaxe/F = C + if(istype(C,/obj/item/weapon/material/twohanded/fireaxe)) + var/obj/item/weapon/material/twohanded/fireaxe/F = C if(!F.wielded) return diff --git a/code/game/objects/items/stacks/sheets/leather.dm b/code/game/objects/items/stacks/sheets/leather.dm index 344a991935..61ab2f0ca4 100644 --- a/code/game/objects/items/stacks/sheets/leather.dm +++ b/code/game/objects/items/stacks/sheets/leather.dm @@ -93,7 +93,7 @@ /obj/item/stack/sheet/animalhide/attackby(obj/item/weapon/W as obj, mob/user as mob) if( istype(W, /obj/item/weapon/material/knife) || \ istype(W, /obj/item/weapon/kitchen/utensil/knife) || \ - istype(W, /obj/item/weapon/twohanded/fireaxe) || \ + istype(W, /obj/item/weapon/material/twohanded/fireaxe) || \ istype(W, /obj/item/weapon/hatchet) ) //visible message on mobs is defined as visible_message(var/message, var/self_message, var/blind_message) diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm index 4ba9ae9913..a1240042ba 100644 --- a/code/game/objects/items/stacks/sheets/sheet_types.dm +++ b/code/game/objects/items/stacks/sheets/sheet_types.dm @@ -33,7 +33,7 @@ var/global/list/datum/stack_recipe/metal_recipes = list ( \ null, \ new/datum/stack_recipe("table frame", /obj/structure/table, 1, time = 10, one_per_turf = 1, on_floor = 1), \ new/datum/stack_recipe("rack", /obj/structure/table/rack, 1, time = 5, one_per_turf = 1, on_floor = 1), \ - new/datum/stack_recipe("metal baseball bat", /obj/item/weapon/twohanded/baseballbat/metal, 10, time = 20, one_per_turf = 0, on_floor = 1), \ + new/datum/stack_recipe("metal baseball bat", /obj/item/weapon/material/twohanded/baseballbat/metal, 10, time = 20, one_per_turf = 0, on_floor = 1), \ new/datum/stack_recipe("closet", /obj/structure/closet, 2, time = 15, one_per_turf = 1, on_floor = 1), \ null, \ new/datum/stack_recipe("canister", /obj/machinery/portable_atmospherics/canister, 10, time = 15, one_per_turf = 1, on_floor = 1), \ @@ -152,7 +152,7 @@ var/global/list/datum/stack_recipe/wood_recipes = list ( \ new/datum/stack_recipe("crossbow frame", /obj/item/weapon/crossbowframe, 5, time = 25, one_per_turf = 0, on_floor = 0), \ new/datum/stack_recipe("wooden door", /obj/structure/mineral_door/wood, 10, time = 20, one_per_turf = 1, on_floor = 1), \ new/datum/stack_recipe("coffin", /obj/structure/closet/coffin, 5, time = 15, one_per_turf = 1, on_floor = 1), \ - new/datum/stack_recipe("baseball bat", /obj/item/weapon/twohanded/baseballbat, 10, time = 20, one_per_turf = 0, on_floor = 1) \ + new/datum/stack_recipe("baseball bat", /obj/item/weapon/material/twohanded/baseballbat, 10, time = 20, one_per_turf = 0, on_floor = 1) \ // new/datum/stack_recipe("apiary", /obj/item/apiary, 10, time = 25, one_per_turf = 0, on_floor = 0) ) diff --git a/code/game/objects/items/weapons/improvised_components.dm b/code/game/objects/items/weapons/improvised_components.dm index 7222ae87b4..6296fa99fc 100644 --- a/code/game/objects/items/weapons/improvised_components.dm +++ b/code/game/objects/items/weapons/improvised_components.dm @@ -49,7 +49,7 @@ /obj/item/weapon/wirerod/attackby(var/obj/item/I, mob/user as mob) ..() if(istype(I, /obj/item/weapon/material/shard)) - var/obj/item/weapon/twohanded/spear/S = new /obj/item/weapon/twohanded/spear + var/obj/item/weapon/material/twohanded/spear/S = new /obj/item/weapon/material/twohanded/spear user.put_in_hands(S) user << "You fasten the glass shard to the top of the rod with the cable." diff --git a/code/game/objects/items/weapons/material/bats.dm b/code/game/objects/items/weapons/material/bats.dm index 563cc7d161..5de3ba46c3 100644 --- a/code/game/objects/items/weapons/material/bats.dm +++ b/code/game/objects/items/weapons/material/bats.dm @@ -1,5 +1,5 @@ -/obj/item/weapon/twohanded/baseballbat - name = "wooden bat" +/obj/item/weapon/material/twohanded/baseballbat + name = "bat" desc = "HOME RUN!" icon_state = "metalbat0" base_icon = "metalbat" @@ -15,66 +15,20 @@ hitsound = 'sound/weapons/genhit3.ogg' force_wielded = 20 health = 10 - var/material/material - -/obj/item/weapon/twohanded/baseballbat/New(var/newloc, var/material_key) - ..(newloc) - if(!material_key) - material_key = "wood" - material = get_material_by_name(material_key) - if(!material) - qdel(src) - else - name = "[material.display_name] bat" - base_name = name - health = round(material.integrity/10) - force = round(material.get_blunt_damage()/2) - force_unwielded = force - force_wielded = material.get_blunt_damage() - color = material.icon_colour - if(material.products_need_process()) - processing_objects |= src - -/obj/item/weapon/twohanded/baseballbat/Destroy() - processing_objects -= src - ..() - -/obj/item/weapon/twohanded/baseballbat/attack() - if(!..()) - return - if(!prob(material.hardness)) - health-- - if(health<=0) - shatter() - -/obj/item/weapon/twohanded/baseballbat/proc/shatter() - var/turf/T = get_turf(src) - T.visible_message("\The [src] shatters!") - if(istype(loc, /mob/living)) - var/mob/living/M = loc - M.drop_from_inventory(src) - playsound(src, "shatter", 70, 1) - new material.shard_type(T) - qdel(src) - -/obj/item/weapon/twohanded/baseballbat/process() - if(!material.radioactivity) - return - for(var/mob/living/L in range(1,src)) - L.apply_effect(round(material.radioactivity/3),IRRADIATE,0) + default_material = "wood" //Predefined materials go here. -/obj/item/weapon/twohanded/baseballbat/metal/New(var/newloc) +/obj/item/weapon/material/twohanded/baseballbat/metal/New(var/newloc) ..(newloc,"steel") -/obj/item/weapon/twohanded/baseballbat/uranium/New(var/newloc) +/obj/item/weapon/material/twohanded/baseballbat/uranium/New(var/newloc) ..(newloc,"uranium") -/obj/item/weapon/twohanded/baseballbat/gold/New(var/newloc) +/obj/item/weapon/material/twohanded/baseballbat/gold/New(var/newloc) ..(newloc,"gold") -/obj/item/weapon/twohanded/baseballbat/platinum/New(var/newloc) +/obj/item/weapon/material/twohanded/baseballbat/platinum/New(var/newloc) ..(newloc,"platinum") -/obj/item/weapon/twohanded/baseballbat/diamond/New(var/newloc) +/obj/item/weapon/material/twohanded/baseballbat/diamond/New(var/newloc) ..(newloc,"diamond") \ No newline at end of file diff --git a/code/game/objects/items/weapons/material/knives.dm b/code/game/objects/items/weapons/material/knives.dm index 0aab729ad2..2c37ec6c5a 100644 --- a/code/game/objects/items/weapons/material/knives.dm +++ b/code/game/objects/items/weapons/material/knives.dm @@ -13,6 +13,7 @@ throw_range = 4 throwforce = 7 attack_verb = list("patted", "tapped") + applies_material_colour = 1 /obj/item/weapon/material/butterfly/update_force() if(active) @@ -69,6 +70,7 @@ origin_tech = "materials=1" attack_verb = list("slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") unbreakable = 1 + applies_material_colour = 1 /obj/item/weapon/material/knife/suicide_act(mob/user) viewers(user) << pick("\red [user] is slitting \his wrists with the [src.name]! It looks like \he's trying to commit suicide.", \ diff --git a/code/game/objects/items/weapons/material/material_weapons.dm b/code/game/objects/items/weapons/material/material_weapons.dm index 9cc9455a9c..980f4fb02f 100644 --- a/code/game/objects/items/weapons/material/material_weapons.dm +++ b/code/game/objects/items/weapons/material/material_weapons.dm @@ -3,6 +3,7 @@ hitsound = 'sound/weapons/bladeslice.ogg' gender = NEUTER + var/applies_material_colour var/unbreakable var/damage_divisor = 0.5 var/default_material = DEFAULT_WALL_MATERIAL @@ -24,7 +25,8 @@ else name = "[material.display_name] bat" health = round(material.integrity/10) - color = material.icon_colour + if(applies_material_colour) + color = material.icon_colour if(material.products_need_process()) processing_objects |= src update_force() diff --git a/code/game/objects/items/weapons/material/misc.dm b/code/game/objects/items/weapons/material/misc.dm index e09e01c0ea..697410626d 100644 --- a/code/game/objects/items/weapons/material/misc.dm +++ b/code/game/objects/items/weapons/material/misc.dm @@ -9,4 +9,3 @@ throwforce = 15 w_class = 3 attack_verb = list("jabbed","stabbed","ripped") - default_material = "steel" \ No newline at end of file diff --git a/code/game/objects/items/weapons/material/twohanded.dm b/code/game/objects/items/weapons/material/twohanded.dm index e4a42d3f33..fdddd16425 100644 --- a/code/game/objects/items/weapons/material/twohanded.dm +++ b/code/game/objects/items/weapons/material/twohanded.dm @@ -16,7 +16,7 @@ /* * Twohanded */ -/obj/item/weapon/twohanded +/obj/item/weapon/material/twohanded var/wielded = 0 var/force_wielded = 0 var/force_unwielded @@ -25,25 +25,28 @@ var/base_icon var/base_name -/obj/item/weapon/twohanded/proc/unwield() +/obj/item/weapon/material/twohanded/proc/unwield() wielded = 0 force = force_unwielded name = "[base_name]" update_icon() -/obj/item/weapon/twohanded/proc/wield() +/obj/item/weapon/material/twohanded/proc/wield() wielded = 1 force = force_wielded name = "[base_name] (Wielded)" update_icon() -/obj/item/weapon/twohanded/New() +/obj/item/weapon/material/twohanded/update_force() + base_name = name + force_unwielded = force + force_wielded = material.get_blunt_damage() + +/obj/item/weapon/material/twohanded/New() ..() update_icon() - force_unwielded = force - base_name = name -/obj/item/weapon/twohanded/mob_can_equip(M as mob, slot) +/obj/item/weapon/material/twohanded/mob_can_equip(M as mob, slot) //Cannot equip wielded items. if(wielded) M << "Unwield the [base_name] first!" @@ -51,22 +54,22 @@ return ..() -/obj/item/weapon/twohanded/dropped(mob/user as mob) +/obj/item/weapon/material/twohanded/dropped(mob/user as mob) //handles unwielding a twohanded weapon when dropped as well as clearing up the offhand if(user) - var/obj/item/weapon/twohanded/O = user.get_inactive_hand() + var/obj/item/weapon/material/twohanded/O = user.get_inactive_hand() if(istype(O)) O.unwield() return unwield() -/obj/item/weapon/twohanded/update_icon() +/obj/item/weapon/material/twohanded/update_icon() icon_state = "[base_icon][wielded]" item_state = icon_state -/obj/item/weapon/twohanded/pickup(mob/user) +/obj/item/weapon/material/twohanded/pickup(mob/user) unwield() -/obj/item/weapon/twohanded/attack_self(mob/user as mob) +/obj/item/weapon/material/twohanded/attack_self(mob/user as mob) ..() @@ -84,7 +87,7 @@ if (src.unwieldsound) playsound(src.loc, unwieldsound, 50, 1) - var/obj/item/weapon/twohanded/offhand/O = user.get_inactive_hand() + var/obj/item/weapon/material/twohanded/offhand/O = user.get_inactive_hand() if(O && istype(O)) O.unwield() @@ -97,7 +100,7 @@ if (src.wieldsound) playsound(src.loc, wieldsound, 50, 1) - var/obj/item/weapon/twohanded/offhand/O = new(user) ////Let's reserve his other hand~ + var/obj/item/weapon/material/twohanded/offhand/O = new(user) ////Let's reserve his other hand~ O.name = "[base_name] - offhand" O.desc = "Your second grip on the [base_name]" user.put_in_inactive_hand(O) @@ -110,24 +113,25 @@ return ///////////OFFHAND/////////////// -/obj/item/weapon/twohanded/offhand +/obj/item/weapon/material/twohanded/offhand w_class = 5.0 icon_state = "offhand" name = "offhand" + default_material = "placeholder" -/obj/item/weapon/twohanded/offhand/unwield() +/obj/item/weapon/material/twohanded/offhand/unwield() qdel(src) -/obj/item/weapon/twohanded/offhand/wield() +/obj/item/weapon/material/twohanded/offhand/wield() qdel(src) -/obj/item/weapon/twohanded/offhand/update_icon() +/obj/item/weapon/material/twohanded/offhand/update_icon() return /* * Fireaxe */ -/obj/item/weapon/twohanded/fireaxe // DEM AXES MAN, marker -Agouri +/obj/item/weapon/material/twohanded/fireaxe // DEM AXES MAN, marker -Agouri icon_state = "fireaxe0" base_icon = "fireaxe" name = "fire axe" @@ -140,7 +144,7 @@ force_wielded = 30 attack_verb = list("attacked", "chopped", "cleaved", "torn", "cut") -/obj/item/weapon/twohanded/fireaxe/afterattack(atom/A as mob|obj|turf|area, mob/user as mob, proximity) +/obj/item/weapon/material/twohanded/fireaxe/afterattack(atom/A as mob|obj|turf|area, mob/user as mob, proximity) if(!proximity) return ..() if(A && wielded && (istype(A,/obj/structure/window) || istype(A,/obj/structure/grille))) //destroys windows and grilles in one hit @@ -151,7 +155,7 @@ /* * Double-Bladed Energy Swords - Cheridan */ -/obj/item/weapon/twohanded/dualsaber +/obj/item/weapon/material/twohanded/dualsaber icon_state = "dualsaber0" base_icon = "dualsaber" name = "double-bladed energy sword" @@ -170,7 +174,7 @@ sharp = 1 edge = 1 -/obj/item/weapon/twohanded/dualsaber/attack(target as mob, mob/living/user as mob) +/obj/item/weapon/material/twohanded/dualsaber/attack(target as mob, mob/living/user as mob) ..() if((CLUMSY in user.mutations) && (wielded) &&prob(40)) user << "\red You twirl around a bit before losing your balance and impaling yourself on the [src]." @@ -182,14 +186,14 @@ user.set_dir(i) sleep(1) -/obj/item/weapon/twohanded/dualsaber/IsShield() +/obj/item/weapon/material/twohanded/dualsaber/IsShield() if(wielded) return 1 else return 0 //spears, bay edition -/obj/item/weapon/twohanded/spear +/obj/item/weapon/material/twohanded/spear icon_state = "spearglass0" base_icon = "spearglass" name = "spear" @@ -205,3 +209,4 @@ flags = NOSHIELD hitsound = 'sound/weapons/bladeslice.ogg' attack_verb = list("attacked", "poked", "jabbed", "torn", "gored") + default_material = "glass" diff --git a/code/game/objects/structures/crates_lockers/closets/fireaxe.dm b/code/game/objects/structures/crates_lockers/closets/fireaxe.dm index 8dacfa4c40..481371b424 100644 --- a/code/game/objects/structures/crates_lockers/closets/fireaxe.dm +++ b/code/game/objects/structures/crates_lockers/closets/fireaxe.dm @@ -2,7 +2,7 @@ /obj/structure/closet/fireaxecabinet name = "fire axe cabinet" desc = "There is small label that reads \"For Emergency use only\" along with details for safe use of the axe. As if." - var/obj/item/weapon/twohanded/fireaxe/fireaxe + var/obj/item/weapon/material/twohanded/fireaxe/fireaxe icon_state = "fireaxe1000" icon_closed = "fireaxe1000" icon_opened = "fireaxe1100" @@ -16,7 +16,7 @@ New() ..() - fireaxe = new /obj/item/weapon/twohanded/fireaxe(src) + fireaxe = new /obj/item/weapon/material/twohanded/fireaxe(src) attackby(var/obj/item/O as obj, var/mob/user as mob) //Marker -Agouri //..() //That's very useful, Erro @@ -55,7 +55,7 @@ src.localopened = 1 update_icon() return - if (istype(O, /obj/item/weapon/twohanded/fireaxe) && src.localopened) + if (istype(O, /obj/item/weapon/material/twohanded/fireaxe) && src.localopened) if(!fireaxe) if(O:wielded) user << "\red Unwield the axe first." diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm index c85fa2eac1..af350efec4 100644 --- a/code/modules/admin/verbs/debug.dm +++ b/code/modules/admin/verbs/debug.dm @@ -687,7 +687,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that W.registered_name = M.real_name M.equip_to_slot_or_del(W, slot_wear_id) - var/obj/item/weapon/twohanded/fireaxe/fire_axe = new(M) + var/obj/item/weapon/material/twohanded/fireaxe/fire_axe = new(M) M.equip_to_slot_or_del(fire_axe, slot_r_hand) if("masked killer") @@ -702,7 +702,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that M.equip_to_slot_or_del(new /obj/item/weapon/material/knife(M), slot_l_store) M.equip_to_slot_or_del(new /obj/item/weapon/scalpel(M), slot_r_store) - var/obj/item/weapon/twohanded/fireaxe/fire_axe = new(M) + var/obj/item/weapon/material/twohanded/fireaxe/fire_axe = new(M) M.equip_to_slot_or_del(fire_axe, slot_r_hand) for(var/obj/item/carried_item in M.contents) diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index 56d0a1718f..eb559a0231 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -132,7 +132,7 @@ /mob/living/carbon/proc/swap_hand() var/obj/item/item_in_hand = src.get_active_hand() if(item_in_hand) //this segment checks if the item in your hand is twohanded. - if(istype(item_in_hand,/obj/item/weapon/twohanded)) + if(istype(item_in_hand,/obj/item/weapon/material/twohanded)) if(item_in_hand:wielded == 1) usr << "Your other hand is too busy holding the [item_in_hand.name]" return @@ -452,17 +452,17 @@ Stun(stun_duration) Weaken(Floor(stun_duration/2)) return 1 - + /mob/living/carbon/proc/add_chemical_effect(var/effect, var/magnitude = 1) if(effect in chem_effects) chem_effects[effect] += magnitude else - chem_effects[effect] = magnitude - + chem_effects[effect] = magnitude + /mob/living/carbon/get_default_language() if(default_language) return default_language if(!species) return null - return species.default_language ? all_languages[species.default_language] : null + return species.default_language ? all_languages[species.default_language] : null From 150b24023e427cbd6f8c6968bbfb945c3d11a8d5 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Sat, 16 May 2015 21:24:36 +0930 Subject: [PATCH 08/45] Renamed kitchen utensils. --- baystation12.dme | 1 + code/game/machinery/vending.dm | 4 +- .../objects/items/stacks/sheets/leather.dm | 2 +- .../objects/items/stacks/sheets/mineral.dm | 6 +- .../objects/items/weapons/material/kitchen.dm | 273 ++---------------- .../objects/items/weapons/material/thrown.dm | 18 +- code/game/objects/items/weapons/tools.dm | 4 +- code/game/objects/items/weapons/trays.dm | 208 +++++++++++++ code/modules/admin/verbs/debug.dm | 2 +- .../clothing/spacesuits/rig/modules/combat.dm | 2 +- .../clothing/under/accessories/storage.dm | 4 +- code/modules/hydroponics/grown_inedible.dm | 2 +- .../reagent_containers/food/snacks.dm | 18 +- .../research/xenoarchaeology/finds/finds.dm | 6 +- code/modules/surgery/brainrepair.dm | 2 +- code/modules/surgery/eye.dm | 2 +- code/modules/surgery/face.dm | 2 +- code/modules/surgery/generic.dm | 2 +- code/modules/surgery/implant.dm | 2 +- code/modules/surgery/organs_internal.dm | 4 +- maps/exodus-1.dmm | 10 +- maps/exodus-2.dmm | 4 +- 22 files changed, 272 insertions(+), 306 deletions(-) create mode 100644 code/game/objects/items/weapons/trays.dm diff --git a/baystation12.dme b/baystation12.dme index cd2c4461be..fc7fe2da8e 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -635,6 +635,7 @@ #include "code\game\objects\items\weapons\tape.dm" #include "code\game\objects\items\weapons\teleportation.dm" #include "code\game\objects\items\weapons\tools.dm" +#include "code\game\objects\items\weapons\trays.dm" #include "code\game\objects\items\weapons\weaponry.dm" #include "code\game\objects\items\weapons\weldbackpack.dm" #include "code\game\objects\items\weapons\wires.dm" diff --git a/code/game/machinery/vending.dm b/code/game/machinery/vending.dm index ff604d0b2c..5d290a6aa4 100644 --- a/code/game/machinery/vending.dm +++ b/code/game/machinery/vending.dm @@ -910,8 +910,8 @@ desc = "A kitchen and restaurant equipment vendor." product_ads = "Mm, food stuffs!;Food and food accessories.;Get your plates!;You like forks?;I like forks.;Woo, utensils.;You don't really need these..." icon_state = "dinnerware" - products = list(/obj/item/weapon/tray = 8,/obj/item/weapon/kitchen/utensil/fork = 6,/obj/item/weapon/material/knife = 3,/obj/item/weapon/reagent_containers/food/drinks/drinkingglass = 8,/obj/item/clothing/suit/chef/classic = 2) - contraband = list(/obj/item/weapon/kitchen/utensil/spoon = 2,/obj/item/weapon/kitchen/utensil/knife = 2,/obj/item/weapon/kitchen/rollingpin = 2, /obj/item/weapon/material/knife/butch = 2) + products = list(/obj/item/weapon/tray = 8,/obj/item/weapon/material/kitchen/utensil/fork = 6,/obj/item/weapon/material/knife = 3,/obj/item/weapon/reagent_containers/food/drinks/drinkingglass = 8,/obj/item/clothing/suit/chef/classic = 2) + contraband = list(/obj/item/weapon/material/kitchen/utensil/spoon = 2,/obj/item/weapon/material/kitchen/utensil/knife = 2,/obj/item/weapon/material/kitchen/rollingpin = 2, /obj/item/weapon/material/knife/butch = 2) /obj/machinery/vending/sovietsoda name = "BODA" diff --git a/code/game/objects/items/stacks/sheets/leather.dm b/code/game/objects/items/stacks/sheets/leather.dm index 61ab2f0ca4..56ce1dba67 100644 --- a/code/game/objects/items/stacks/sheets/leather.dm +++ b/code/game/objects/items/stacks/sheets/leather.dm @@ -92,7 +92,7 @@ /obj/item/stack/sheet/animalhide/attackby(obj/item/weapon/W as obj, mob/user as mob) if( istype(W, /obj/item/weapon/material/knife) || \ - istype(W, /obj/item/weapon/kitchen/utensil/knife) || \ + istype(W, /obj/item/weapon/material/kitchen/utensil/knife) || \ istype(W, /obj/item/weapon/material/twohanded/fireaxe) || \ istype(W, /obj/item/weapon/hatchet) ) diff --git a/code/game/objects/items/stacks/sheets/mineral.dm b/code/game/objects/items/stacks/sheets/mineral.dm index 1e6fd887f5..70ab7722f9 100644 --- a/code/game/objects/items/stacks/sheets/mineral.dm +++ b/code/game/objects/items/stacks/sheets/mineral.dm @@ -42,9 +42,9 @@ var/global/list/datum/stack_recipe/phoron_recipes = list ( \ var/global/list/datum/stack_recipe/plastic_recipes = list ( \ new/datum/stack_recipe("plastic crate", /obj/structure/closet/crate/plastic, 10, one_per_turf = 1, on_floor = 1), \ new/datum/stack_recipe("plastic ashtray", /obj/item/ashtray/plastic, 2, one_per_turf = 1, on_floor = 1), \ - new/datum/stack_recipe("plastic fork", /obj/item/weapon/kitchen/utensil/pfork, 1, on_floor = 1), \ - new/datum/stack_recipe("plastic spoon", /obj/item/weapon/kitchen/utensil/pspoon, 1, on_floor = 1), \ - new/datum/stack_recipe("plastic knife", /obj/item/weapon/kitchen/utensil/pknife, 1, on_floor = 1), \ + new/datum/stack_recipe("plastic fork", /obj/item/weapon/material/kitchen/utensil/fork/plastic, 1, on_floor = 1), \ + new/datum/stack_recipe("plastic spoon", /obj/item/weapon/material/kitchen/utensil/spoon/plastic, 1, on_floor = 1), \ + new/datum/stack_recipe("plastic knife", /obj/item/weapon/material/kitchen/utensil/knife/plastic, 1, on_floor = 1), \ new/datum/stack_recipe("plastic bag", /obj/item/weapon/storage/bag/plasticbag, 3, on_floor = 1), \ new/datum/stack_recipe("blood pack", /obj/item/weapon/reagent_containers/blood/empty, 4, on_floor = 0), \ new/datum/stack_recipe("reagent dispenser cartridge (large)", /obj/item/weapon/reagent_containers/chem_disp_cartridge, 5, on_floor=0), // 500u diff --git a/code/game/objects/items/weapons/material/kitchen.dm b/code/game/objects/items/weapons/material/kitchen.dm index f2f383bba9..30ecd4a2b3 100644 --- a/code/game/objects/items/weapons/material/kitchen.dm +++ b/code/game/objects/items/weapons/material/kitchen.dm @@ -1,10 +1,10 @@ -/obj/item/weapon/kitchen +/obj/item/weapon/material/kitchen icon = 'icons/obj/kitchen.dmi' /* * Utensils */ -/obj/item/weapon/kitchen/utensil +/obj/item/weapon/material/kitchen/utensil force = 5.0 w_class = 1.0 throwforce = 5.0 @@ -14,17 +14,16 @@ origin_tech = "materials=1" attack_verb = list("attacked", "stabbed", "poked") sharp = 0 - var/loaded //Descriptive string for currently loaded food object. -/obj/item/weapon/kitchen/utensil/New() +/obj/item/weapon/material/kitchen/utensil/New() if (prob(60)) src.pixel_y = rand(0, 4) create_reagents(5) return -/obj/item/weapon/kitchen/utensil/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob) +/obj/item/weapon/material/kitchen/utensil/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob) if(!istype(M)) return ..() @@ -52,32 +51,27 @@ else ..() -/obj/item/weapon/kitchen/utensil/fork +/obj/item/weapon/material/kitchen/utensil/fork name = "fork" desc = "It's a fork. Sure is pointy." icon_state = "fork" -/obj/item/weapon/kitchen/utensil/pfork - name = "plastic fork" - desc = "Yay, no washing up to do." - icon_state = "pfork" +/obj/item/weapon/material/kitchen/utensil/fork/plastic + default_material = "plastic" -/obj/item/weapon/kitchen/utensil/spoon +/obj/item/weapon/material/kitchen/utensil/spoon name = "spoon" desc = "It's a spoon. You can see your own upside-down face in it." icon_state = "spoon" attack_verb = list("attacked", "poked") -/obj/item/weapon/kitchen/utensil/pspoon - name = "plastic spoon" - desc = "It's a plastic spoon. How dull." - icon_state = "pspoon" - attack_verb = list("attacked", "poked") +/obj/item/weapon/material/kitchen/utensil/spoon/plastic + default_material = "plastic" /* * Knives */ -/obj/item/weapon/kitchen/utensil/knife +/obj/item/weapon/material/kitchen/utensil/knife name = "knife" desc = "Can cut through any food." icon_state = "knife" @@ -92,7 +86,7 @@ "\red [user] is slitting \his stomach open with the [src.name]! It looks like \he's trying to commit seppuku.") return (BRUTELOSS) -/obj/item/weapon/kitchen/utensil/knife/attack(target as mob, mob/living/user as mob) +/obj/item/weapon/material/kitchen/utensil/knife/attack(target as mob, mob/living/user as mob) if ((CLUMSY in user.mutations) && prob(50)) user << "\red You accidentally cut yourself with the [src]." user.take_organ_damage(20) @@ -100,16 +94,7 @@ playsound(loc, 'sound/weapons/bladeslice.ogg', 50, 1, -1) return ..() -/obj/item/weapon/kitchen/utensil/pknife - name = "plastic knife" - desc = "The bluntest of blades." - icon_state = "pknife" - force = 1 - throwforce = 1 - sharp = 0 - edge = 1 //for cutting pizzas - -/obj/item/weapon/kitchen/utensil/knife/attack(target as mob, mob/living/user as mob) +/obj/item/weapon/material/kitchen/utensil/knife/attack(target as mob, mob/living/user as mob) if ((CLUMSY in user.mutations) && prob(50)) user << "\red You somehow managed to cut yourself with the [src]." user.take_organ_damage(20) @@ -117,11 +102,14 @@ playsound(loc, 'sound/weapons/bladeslice.ogg', 50, 1, -1) return ..() +/obj/item/weapon/material/kitchen/utensil/knife/plastic + default_material = "plastic" + /* * Rolling Pins */ -/obj/item/weapon/kitchen/rollingpin +/obj/item/weapon/material/kitchen/rollingpin name = "rolling pin" desc = "Used to knock out the Bartender." icon_state = "rolling_pin" @@ -132,7 +120,7 @@ w_class = 3.0 attack_verb = list("bashed", "battered", "bludgeoned", "thrashed", "whacked") //I think the rollingpin attackby will end up ignoring this anyway. -/obj/item/weapon/kitchen/rollingpin/attack(mob/living/M as mob, mob/living/user as mob) +/obj/item/weapon/material/kitchen/rollingpin/attack(mob/living/M as mob, mob/living/user as mob) if ((CLUMSY in user.mutations) && prob(50)) user << "\red The [src] slips out of your hand and hits your head." user.take_organ_damage(10) @@ -165,228 +153,3 @@ H.eye_blurry += 3 return ..() -/* - * Trays - Agouri - */ -/obj/item/weapon/tray - name = "tray" - icon = 'icons/obj/food.dmi' - icon_state = "tray" - desc = "A metal tray to lay food on." - throwforce = 12.0 - throwforce = 10.0 - throw_speed = 1 - throw_range = 5 - w_class = 3.0 - flags = CONDUCT - matter = list(DEFAULT_WALL_MATERIAL = 3000) - /* // NOPE - var/food_total= 0 - var/burger_amt = 0 - var/cheese_amt = 0 - var/fries_amt = 0 - var/classyalcdrink_amt = 0 - var/alcdrink_amt = 0 - var/bottle_amt = 0 - var/soda_amt = 0 - var/carton_amt = 0 - var/pie_amt = 0 - var/meatbreadslice_amt = 0 - var/salad_amt = 0 - var/miscfood_amt = 0 - */ - var/list/carrying = list() // List of things on the tray. - Doohl - var/max_carry = 10 // w_class = 1 -- takes up 1 - // w_class = 2 -- takes up 3 - // w_class = 3 -- takes up 5 - -/obj/item/weapon/tray/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob) - - // Drop all the things. All of them. - overlays.Cut() - for(var/obj/item/I in carrying) - I.loc = M.loc - carrying.Remove(I) - if(isturf(I.loc)) - spawn() - for(var/i = 1, i <= rand(1,2), i++) - if(I) - step(I, pick(NORTH,SOUTH,EAST,WEST)) - sleep(rand(2,4)) - - - if((CLUMSY in user.mutations) && prob(50)) //What if he's a clown? - M << "\red You accidentally slam yourself with the [src]!" - M.Weaken(1) - user.take_organ_damage(2) - if(prob(50)) - playsound(M, 'sound/items/trayhit1.ogg', 50, 1) - return - else - playsound(M, 'sound/items/trayhit2.ogg', 50, 1) //sound playin' - return //it always returns, but I feel like adding an extra return just for safety's sakes. EDIT; Oh well I won't :3 - - var/mob/living/carbon/human/H = M ///////////////////////////////////// /Let's have this ready for later. - - - if(!(user.zone_sel.selecting == ("eyes" || "head"))) //////////////hitting anything else other than the eyes - if(prob(33)) - src.add_blood(H) - var/turf/location = H.loc - if (istype(location, /turf/simulated)) - location.add_blood(H) ///Plik plik, the sound of blood - - M.attack_log += text("\[[time_stamp()]\] Has been attacked with [src.name] by [user.name] ([user.ckey])") - user.attack_log += text("\[[time_stamp()]\] Used the [src.name] to attack [M.name] ([M.ckey])") - msg_admin_attack("[user.name] ([user.ckey]) used the [src.name] to attack [M.name] ([M.ckey]) (JMP)") - - if(prob(15)) - M.Weaken(3) - M.take_organ_damage(3) - else - M.take_organ_damage(5) - if(prob(50)) - playsound(M, 'sound/items/trayhit1.ogg', 50, 1) - for(var/mob/O in viewers(M, null)) - O.show_message(text("\red [] slams [] with the tray!", user, M), 1) - return - else - playsound(M, 'sound/items/trayhit2.ogg', 50, 1) //we applied the damage, we played the sound, we showed the appropriate messages. Time to return and stop the proc - for(var/mob/O in viewers(M, null)) - O.show_message(text("\red [] slams [] with the tray!", user, M), 1) - return - - - if(istype(M, /mob/living/carbon/human) && ((H.head && H.head.flags & HEADCOVERSEYES) || (H.wear_mask && H.wear_mask.flags & MASKCOVERSEYES) || (H.glasses && H.glasses.flags & GLASSESCOVERSEYES))) - M << "\red You get slammed in the face with the tray, against your mask!" - if(prob(33)) - src.add_blood(H) - if (H.wear_mask) - H.wear_mask.add_blood(H) - if (H.head) - H.head.add_blood(H) - if (H.glasses && prob(33)) - H.glasses.add_blood(H) - var/turf/location = H.loc - if (istype(location, /turf/simulated)) //Addin' blood! At least on the floor and item :v - location.add_blood(H) - - if(prob(50)) - playsound(M, 'sound/items/trayhit1.ogg', 50, 1) - for(var/mob/O in viewers(M, null)) - O.show_message(text("\red [] slams [] with the tray!", user, M), 1) - else - playsound(M, 'sound/items/trayhit2.ogg', 50, 1) //sound playin' - for(var/mob/O in viewers(M, null)) - O.show_message(text("\red [] slams [] with the tray!", user, M), 1) - if(prob(10)) - M.Stun(rand(1,3)) - M.take_organ_damage(3) - return - else - M.take_organ_damage(5) - return - - else //No eye or head protection, tough luck! - M << "\red You get slammed in the face with the tray!" - if(prob(33)) - src.add_blood(M) - var/turf/location = H.loc - if (istype(location, /turf/simulated)) - location.add_blood(H) - - if(prob(50)) - playsound(M, 'sound/items/trayhit1.ogg', 50, 1) - for(var/mob/O in viewers(M, null)) - O.show_message(text("\red [] slams [] in the face with the tray!", user, M), 1) - else - playsound(M, 'sound/items/trayhit2.ogg', 50, 1) //sound playin' again - for(var/mob/O in viewers(M, null)) - O.show_message(text("\red [] slams [] in the face with the tray!", user, M), 1) - if(prob(30)) - M.Stun(rand(2,4)) - M.take_organ_damage(4) - return - else - M.take_organ_damage(8) - if(prob(30)) - M.Weaken(2) - return - return - -/obj/item/weapon/tray/var/cooldown = 0 //shield bash cooldown. based on world.time - -/obj/item/weapon/tray/attackby(obj/item/weapon/W as obj, mob/user as mob) - if(istype(W, /obj/item/weapon/kitchen/rollingpin)) - if(cooldown < world.time - 25) - user.visible_message("[user] bashes [src] with [W]!") - playsound(user.loc, 'sound/effects/shieldbash.ogg', 50, 1) - cooldown = world.time - else - ..() - -/* -===============~~~~~================================~~~~~==================== -= = -= Code for trays carrying things. By Doohl for Doohl erryday Doohl Doohl~ = -= = -===============~~~~~================================~~~~~==================== -*/ -/obj/item/weapon/tray/proc/calc_carry() - // calculate the weight of the items on the tray - var/val = 0 // value to return - - for(var/obj/item/I in carrying) - if(I.w_class == 1.0) - val ++ - else if(I.w_class == 2.0) - val += 3 - else - val += 5 - - return val - -/obj/item/weapon/tray/pickup(mob/user) - - if(!isturf(loc)) - return - - for(var/obj/item/I in loc) - if( I != src && !I.anchored && !istype(I, /obj/item/clothing/under) && !istype(I, /obj/item/clothing/suit) && !istype(I, /obj/item/projectile) ) - var/add = 0 - if(I.w_class == 1.0) - add = 1 - else if(I.w_class == 2.0) - add = 3 - else - add = 5 - if(calc_carry() + add >= max_carry) - break - - I.loc = src - carrying.Add(I) - overlays += image("icon" = I.icon, "icon_state" = I.icon_state, "layer" = 30 + I.layer) - -/obj/item/weapon/tray/dropped(mob/user) - - var/mob/living/M - for(M in src.loc) //to handle hand switching - return - - var/foundtable = 0 - for(var/obj/structure/table/T in loc) - foundtable = 1 - break - - overlays.Cut() - - for(var/obj/item/I in carrying) - I.loc = loc - carrying.Remove(I) - if(!foundtable && isturf(loc)) - // if no table, presume that the person just shittily dropped the tray on the ground and made a mess everywhere! - spawn() - for(var/i = 1, i <= rand(1,2), i++) - if(I) - step(I, pick(NORTH,SOUTH,EAST,WEST)) - sleep(rand(2,4)) diff --git a/code/game/objects/items/weapons/material/thrown.dm b/code/game/objects/items/weapons/material/thrown.dm index ffba72c4cb..6ffac637c4 100644 --- a/code/game/objects/items/weapons/material/thrown.dm +++ b/code/game/objects/items/weapons/material/thrown.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/star +/obj/item/weapon/material/star name = "shuriken" desc = "A sharp, perfectly weighted piece of metal." icon_state = "star" @@ -10,22 +10,16 @@ edge = 1 matter = list(DEFAULT_WALL_MATERIAL = 500) - var/poisoned = 0 - -/obj/item/weapon/star/New() +/obj/item/weapon/material/star/New() ..() src.pixel_x = rand(-12, 12) src.pixel_y = rand(-12, 12) -//TODO: consider making this something done with reagents. -/obj/item/weapon/star/throw_impact(atom/hit_atom) +/obj/item/weapon/material/star/throw_impact(atom/hit_atom) ..() - if(poisoned && istype(hit_atom,/mob/living)) + if(material.radioactivity>0 && istype(hit_atom,/mob/living)) var/mob/living/M = hit_atom M.adjustToxLoss(rand(20,40)) - poisoned = 0 - color = null -/obj/item/weapon/star/ninja - color = "#007700" - poisoned = 1 \ No newline at end of file +/obj/item/weapon/material/star/ninja + default_material = "uranium" \ No newline at end of file diff --git a/code/game/objects/items/weapons/tools.dm b/code/game/objects/items/weapons/tools.dm index 1066c4e8db..59be97631e 100644 --- a/code/game/objects/items/weapons/tools.dm +++ b/code/game/objects/items/weapons/tools.dm @@ -492,8 +492,8 @@ /obj/item/weapon/screwdriver, /obj/item/weapon/wrench, /obj/item/weapon/wirecutters, - /obj/item/weapon/kitchen/utensil/knife, - /obj/item/weapon/kitchen/utensil/fork, + /obj/item/weapon/material/kitchen/utensil/knife, + /obj/item/weapon/material/kitchen/utensil/fork, /obj/item/weapon/hatchet ) var/list/tools = list() diff --git a/code/game/objects/items/weapons/trays.dm b/code/game/objects/items/weapons/trays.dm new file mode 100644 index 0000000000..c52961eda5 --- /dev/null +++ b/code/game/objects/items/weapons/trays.dm @@ -0,0 +1,208 @@ +/* + * Trays - Agouri + */ +/obj/item/weapon/tray + name = "tray" + icon = 'icons/obj/food.dmi' + icon_state = "tray" + desc = "A metal tray to lay food on." + throwforce = 12.0 + throwforce = 10.0 + throw_speed = 1 + throw_range = 5 + w_class = 3.0 + flags = CONDUCT + matter = list(DEFAULT_WALL_MATERIAL = 3000) + var/list/carrying = list() // List of things on the tray. - Doohl + var/max_carry = 10 + +/obj/item/weapon/tray/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob) + + // Drop all the things. All of them. + overlays.Cut() + for(var/obj/item/I in carrying) + I.loc = M.loc + carrying.Remove(I) + if(isturf(I.loc)) + spawn() + for(var/i = 1, i <= rand(1,2), i++) + if(I) + step(I, pick(NORTH,SOUTH,EAST,WEST)) + sleep(rand(2,4)) + + + if((CLUMSY in user.mutations) && prob(50)) //What if he's a clown? + M << "\red You accidentally slam yourself with the [src]!" + M.Weaken(1) + user.take_organ_damage(2) + if(prob(50)) + playsound(M, 'sound/items/trayhit1.ogg', 50, 1) + return + else + playsound(M, 'sound/items/trayhit2.ogg', 50, 1) //sound playin' + return //it always returns, but I feel like adding an extra return just for safety's sakes. EDIT; Oh well I won't :3 + + var/mob/living/carbon/human/H = M ///////////////////////////////////// /Let's have this ready for later. + + + if(!(user.zone_sel.selecting == ("eyes" || "head"))) //////////////hitting anything else other than the eyes + if(prob(33)) + src.add_blood(H) + var/turf/location = H.loc + if (istype(location, /turf/simulated)) + location.add_blood(H) ///Plik plik, the sound of blood + + M.attack_log += text("\[[time_stamp()]\] Has been attacked with [src.name] by [user.name] ([user.ckey])") + user.attack_log += text("\[[time_stamp()]\] Used the [src.name] to attack [M.name] ([M.ckey])") + msg_admin_attack("[user.name] ([user.ckey]) used the [src.name] to attack [M.name] ([M.ckey]) (JMP)") + + if(prob(15)) + M.Weaken(3) + M.take_organ_damage(3) + else + M.take_organ_damage(5) + if(prob(50)) + playsound(M, 'sound/items/trayhit1.ogg', 50, 1) + for(var/mob/O in viewers(M, null)) + O.show_message(text("\red [] slams [] with the tray!", user, M), 1) + return + else + playsound(M, 'sound/items/trayhit2.ogg', 50, 1) //we applied the damage, we played the sound, we showed the appropriate messages. Time to return and stop the proc + for(var/mob/O in viewers(M, null)) + O.show_message(text("\red [] slams [] with the tray!", user, M), 1) + return + + + if(istype(M, /mob/living/carbon/human) && ((H.head && H.head.flags & HEADCOVERSEYES) || (H.wear_mask && H.wear_mask.flags & MASKCOVERSEYES) || (H.glasses && H.glasses.flags & GLASSESCOVERSEYES))) + M << "\red You get slammed in the face with the tray, against your mask!" + if(prob(33)) + src.add_blood(H) + if (H.wear_mask) + H.wear_mask.add_blood(H) + if (H.head) + H.head.add_blood(H) + if (H.glasses && prob(33)) + H.glasses.add_blood(H) + var/turf/location = H.loc + if (istype(location, /turf/simulated)) //Addin' blood! At least on the floor and item :v + location.add_blood(H) + + if(prob(50)) + playsound(M, 'sound/items/trayhit1.ogg', 50, 1) + for(var/mob/O in viewers(M, null)) + O.show_message(text("\red [] slams [] with the tray!", user, M), 1) + else + playsound(M, 'sound/items/trayhit2.ogg', 50, 1) //sound playin' + for(var/mob/O in viewers(M, null)) + O.show_message(text("\red [] slams [] with the tray!", user, M), 1) + if(prob(10)) + M.Stun(rand(1,3)) + M.take_organ_damage(3) + return + else + M.take_organ_damage(5) + return + + else //No eye or head protection, tough luck! + M << "\red You get slammed in the face with the tray!" + if(prob(33)) + src.add_blood(M) + var/turf/location = H.loc + if (istype(location, /turf/simulated)) + location.add_blood(H) + + if(prob(50)) + playsound(M, 'sound/items/trayhit1.ogg', 50, 1) + for(var/mob/O in viewers(M, null)) + O.show_message(text("\red [] slams [] in the face with the tray!", user, M), 1) + else + playsound(M, 'sound/items/trayhit2.ogg', 50, 1) //sound playin' again + for(var/mob/O in viewers(M, null)) + O.show_message(text("\red [] slams [] in the face with the tray!", user, M), 1) + if(prob(30)) + M.Stun(rand(2,4)) + M.take_organ_damage(4) + return + else + M.take_organ_damage(8) + if(prob(30)) + M.Weaken(2) + return + return + +/obj/item/weapon/tray/var/cooldown = 0 //shield bash cooldown. based on world.time + +/obj/item/weapon/tray/attackby(obj/item/weapon/W as obj, mob/user as mob) + if(istype(W, /obj/item/weapon/material/kitchen/rollingpin)) + if(cooldown < world.time - 25) + user.visible_message("[user] bashes [src] with [W]!") + playsound(user.loc, 'sound/effects/shieldbash.ogg', 50, 1) + cooldown = world.time + else + ..() + +/* +===============~~~~~================================~~~~~==================== += = += Code for trays carrying things. By Doohl for Doohl erryday Doohl Doohl~ = += = +===============~~~~~================================~~~~~==================== +*/ +/obj/item/weapon/tray/proc/calc_carry() + // calculate the weight of the items on the tray + var/val = 0 // value to return + + for(var/obj/item/I in carrying) + if(I.w_class == 1.0) + val ++ + else if(I.w_class == 2.0) + val += 3 + else + val += 5 + + return val + +/obj/item/weapon/tray/pickup(mob/user) + + if(!isturf(loc)) + return + + for(var/obj/item/I in loc) + if( I != src && !I.anchored && !istype(I, /obj/item/clothing/under) && !istype(I, /obj/item/clothing/suit) && !istype(I, /obj/item/projectile) ) + var/add = 0 + if(I.w_class == 1.0) + add = 1 + else if(I.w_class == 2.0) + add = 3 + else + add = 5 + if(calc_carry() + add >= max_carry) + break + + I.loc = src + carrying.Add(I) + overlays += image("icon" = I.icon, "icon_state" = I.icon_state, "layer" = 30 + I.layer) + +/obj/item/weapon/tray/dropped(mob/user) + + var/mob/living/M + for(M in src.loc) //to handle hand switching + return + + var/foundtable = 0 + for(var/obj/structure/table/T in loc) + foundtable = 1 + break + + overlays.Cut() + + for(var/obj/item/I in carrying) + I.loc = loc + carrying.Remove(I) + if(!foundtable && isturf(loc)) + // if no table, presume that the person just shittily dropped the tray on the ground and made a mess everywhere! + spawn() + for(var/i = 1, i <= rand(1,2), i++) + if(I) + step(I, pick(NORTH,SOUTH,EAST,WEST)) + sleep(rand(2,4)) diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm index af350efec4..9ab952de64 100644 --- a/code/modules/admin/verbs/debug.dm +++ b/code/modules/admin/verbs/debug.dm @@ -620,7 +620,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that M.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(M), slot_shoes) M.equip_to_slot_or_del(new /obj/item/clothing/head/chefhat(M), slot_head) - M.equip_to_slot_or_del(new /obj/item/weapon/kitchen/rollingpin(M), slot_r_hand) + M.equip_to_slot_or_del(new /obj/item/weapon/material/kitchen/rollingpin(M), slot_r_hand) M.equip_to_slot_or_del(new /obj/item/weapon/material/knife(M), slot_l_hand) M.equip_to_slot_or_del(new /obj/item/weapon/material/knife(M), slot_r_store) M.equip_to_slot_or_del(new /obj/item/weapon/material/knife(M), slot_s_store) diff --git a/code/modules/clothing/spacesuits/rig/modules/combat.dm b/code/modules/clothing/spacesuits/rig/modules/combat.dm index d40f74202e..b367a5369f 100644 --- a/code/modules/clothing/spacesuits/rig/modules/combat.dm +++ b/code/modules/clothing/spacesuits/rig/modules/combat.dm @@ -212,7 +212,7 @@ interface_name = "death blossom launcher" interface_desc = "An integrated microfactory that produces poisoned throwing stars from thin air and electricity." - var/fabrication_type = /obj/item/weapon/star/ninja + var/fabrication_type = /obj/item/weapon/material/star/ninja var/fire_force = 30 var/fire_distance = 10 diff --git a/code/modules/clothing/under/accessories/storage.dm b/code/modules/clothing/under/accessories/storage.dm index adae7aac8c..53cc648eb5 100644 --- a/code/modules/clothing/under/accessories/storage.dm +++ b/code/modules/clothing/under/accessories/storage.dm @@ -73,8 +73,8 @@ ..() hold.max_storage_space = 4 hold.can_hold = list(/obj/item/weapon/hatchet/unathiknife,\ - /obj/item/weapon/kitchen/utensil/knife,\ - /obj/item/weapon/kitchen/utensil/pknife,\ + /obj/item/weapon/material/kitchen/utensil/knife,\ + /obj/item/weapon/material/kitchen/utensil/knife/plastic,\ /obj/item/weapon/material/knife,\ /obj/item/weapon/material/knife/ritual) diff --git a/code/modules/hydroponics/grown_inedible.dm b/code/modules/hydroponics/grown_inedible.dm index e69d8a67fc..94e8e5a0e1 100644 --- a/code/modules/hydroponics/grown_inedible.dm +++ b/code/modules/hydroponics/grown_inedible.dm @@ -45,7 +45,7 @@ /obj/item/weapon/corncob/attackby(obj/item/weapon/W as obj, mob/user as mob) ..() - if(istype(W, /obj/item/weapon/circular_saw) || istype(W, /obj/item/weapon/hatchet) || istype(W, /obj/item/weapon/kitchen/utensil/knife) || istype(W, /obj/item/weapon/material/knife) || istype(W, /obj/item/weapon/material/knife/ritual)) + if(istype(W, /obj/item/weapon/circular_saw) || istype(W, /obj/item/weapon/hatchet) || istype(W, /obj/item/weapon/material/kitchen/utensil/knife) || istype(W, /obj/item/weapon/material/knife) || istype(W, /obj/item/weapon/material/knife/ritual)) user << "You use [W] to fashion a pipe out of the corn cob!" new /obj/item/clothing/mask/smokable/pipe/cobpipe (user.loc) qdel(src) diff --git a/code/modules/reagents/reagent_containers/food/snacks.dm b/code/modules/reagents/reagent_containers/food/snacks.dm index faca2e1fb0..a63fbdd46b 100644 --- a/code/modules/reagents/reagent_containers/food/snacks.dm +++ b/code/modules/reagents/reagent_containers/food/snacks.dm @@ -48,12 +48,12 @@ if(H.species.flags & IS_SYNTHETIC) H << "You have a monitor for a head, where do you think you're going to put that?" return - + var/obj/item/blocked = H.check_mouth_coverage() if(blocked) user << "\The [blocked] is in the way!" return - + if (fullness <= 50) M << "You hungrily chew out a piece of [src] and gobble it!" if (fullness > 50 && fullness <= 150) @@ -71,7 +71,7 @@ if(H.species.flags & IS_SYNTHETIC) user << "They have a monitor for a head, where do you think you're going to put that?" return - + var/obj/item/blocked = H.check_mouth_coverage() if(blocked) user << "\The [blocked] is in the way!" @@ -128,8 +128,8 @@ return // Eating with forks - if(istype(W,/obj/item/weapon/kitchen/utensil)) - var/obj/item/weapon/kitchen/utensil/U = W + if(istype(W,/obj/item/weapon/material/kitchen/utensil)) + var/obj/item/weapon/material/kitchen/utensil/U = W if(!U.reagents) U.create_reagents(5) @@ -186,9 +186,9 @@ var/reagents_per_slice = reagents.total_volume/slices_num for(var/i=1 to (slices_num-slices_lost)) - var/obj/slice = new slice_path (src.loc) + var/obj/slice = new slice_path (src.loc) reagents.trans_to_obj(slice, reagents_per_slice) - qdel(src) + qdel(src) return /obj/item/weapon/reagent_containers/food/snacks/proc/is_sliceable() @@ -2819,7 +2819,7 @@ // Dough + rolling pin = flat dough /obj/item/weapon/reagent_containers/food/snacks/dough/attackby(obj/item/weapon/W as obj, mob/user as mob) - if(istype(W,/obj/item/weapon/kitchen/rollingpin)) + if(istype(W,/obj/item/weapon/material/kitchen/rollingpin)) new /obj/item/weapon/reagent_containers/food/snacks/sliceable/flatdough(src) user << "You flatten the dough." qdel(src) @@ -2964,7 +2964,7 @@ // potato + knife = raw sticks /obj/item/weapon/reagent_containers/food/snacks/grown/potato/attackby(obj/item/weapon/W as obj, mob/user as mob) - if(istype(W,/obj/item/weapon/kitchen/utensil/knife)) + if(istype(W,/obj/item/weapon/material/kitchen/utensil/knife)) new /obj/item/weapon/reagent_containers/food/snacks/rawsticks(src) user << "You cut the potato." qdel(src) diff --git a/code/modules/research/xenoarchaeology/finds/finds.dm b/code/modules/research/xenoarchaeology/finds/finds.dm index 1a09521e1a..d8cac01219 100644 --- a/code/modules/research/xenoarchaeology/finds/finds.dm +++ b/code/modules/research/xenoarchaeology/finds/finds.dm @@ -136,11 +136,11 @@ if(3) item_type = "[pick("fork","spoon","knife")]" if(prob(25)) - new_item = new /obj/item/weapon/kitchen/utensil/fork(src.loc) + new_item = new /obj/item/weapon/material/kitchen/utensil/fork(src.loc) else if(prob(50)) - new_item = new /obj/item/weapon/kitchen/utensil/knife(src.loc) + new_item = new /obj/item/weapon/material/kitchen/utensil/knife(src.loc) else - new_item = new /obj/item/weapon/kitchen/utensil/spoon(src.loc) + new_item = new /obj/item/weapon/material/kitchen/utensil/spoon(src.loc) additional_desc = "[pick("It's like no [item_type] you've ever seen before",\ "It's a mystery how anyone is supposed to eat with this",\ "You wonder what the creator's mouth was shaped like")]." diff --git a/code/modules/surgery/brainrepair.dm b/code/modules/surgery/brainrepair.dm index 60fdffe31d..6935b09d24 100644 --- a/code/modules/surgery/brainrepair.dm +++ b/code/modules/surgery/brainrepair.dm @@ -6,7 +6,7 @@ allowed_tools = list( /obj/item/weapon/hemostat = 100, \ /obj/item/weapon/wirecutters = 75, \ - /obj/item/weapon/kitchen/utensil/fork = 20 + /obj/item/weapon/material/kitchen/utensil/fork = 20 ) priority = 3 diff --git a/code/modules/surgery/eye.dm b/code/modules/surgery/eye.dm index 250aea6693..7b69fea7ff 100644 --- a/code/modules/surgery/eye.dm +++ b/code/modules/surgery/eye.dm @@ -52,7 +52,7 @@ /datum/surgery_step/eye/lift_eyes allowed_tools = list( /obj/item/weapon/retractor = 100, \ - /obj/item/weapon/kitchen/utensil/fork = 50 + /obj/item/weapon/material/kitchen/utensil/fork = 50 ) min_duration = 30 diff --git a/code/modules/surgery/face.dm b/code/modules/surgery/face.dm index 4b983eb247..0a42f7c137 100644 --- a/code/modules/surgery/face.dm +++ b/code/modules/surgery/face.dm @@ -76,7 +76,7 @@ allowed_tools = list( /obj/item/weapon/retractor = 100, \ /obj/item/weapon/crowbar = 55, \ - /obj/item/weapon/kitchen/utensil/fork = 75) + /obj/item/weapon/material/kitchen/utensil/fork = 75) min_duration = 80 max_duration = 100 diff --git a/code/modules/surgery/generic.dm b/code/modules/surgery/generic.dm index 0552ee800c..31c7cbb78f 100644 --- a/code/modules/surgery/generic.dm +++ b/code/modules/surgery/generic.dm @@ -185,7 +185,7 @@ allowed_tools = list( /obj/item/weapon/retractor = 100, \ /obj/item/weapon/crowbar = 75, \ - /obj/item/weapon/kitchen/utensil/fork = 50 + /obj/item/weapon/material/kitchen/utensil/fork = 50 ) min_duration = 30 diff --git a/code/modules/surgery/implant.dm b/code/modules/surgery/implant.dm index df394fcd43..9397a2e26a 100644 --- a/code/modules/surgery/implant.dm +++ b/code/modules/surgery/implant.dm @@ -150,7 +150,7 @@ allowed_tools = list( /obj/item/weapon/hemostat = 100, \ /obj/item/weapon/wirecutters = 75, \ - /obj/item/weapon/kitchen/utensil/fork = 20 + /obj/item/weapon/material/kitchen/utensil/fork = 20 ) min_duration = 80 diff --git a/code/modules/surgery/organs_internal.dm b/code/modules/surgery/organs_internal.dm index d25d9fc5f2..a97184f35c 100644 --- a/code/modules/surgery/organs_internal.dm +++ b/code/modules/surgery/organs_internal.dm @@ -19,7 +19,7 @@ allowed_tools = list( /obj/item/weapon/hemostat = 100, \ /obj/item/weapon/wirecutters = 75, \ - /obj/item/weapon/kitchen/utensil/fork = 20 + /obj/item/weapon/material/kitchen/utensil/fork = 20 ) blood_level = 2 @@ -267,7 +267,7 @@ allowed_tools = list( /obj/item/weapon/hemostat = 100, \ /obj/item/weapon/wirecutters = 75, \ - /obj/item/weapon/kitchen/utensil/fork = 20 + /obj/item/weapon/material/kitchen/utensil/fork = 20 ) min_duration = 60 diff --git a/maps/exodus-1.dmm b/maps/exodus-1.dmm index e748ece98b..26b71475eb 100644 --- a/maps/exodus-1.dmm +++ b/maps/exodus-1.dmm @@ -2504,7 +2504,7 @@ "aWh" = (/obj/structure/bed/chair/wood/wings{icon_state = "wooden_chair_wings"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/wood,/area/crew_quarters/bar) "aWi" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/wood,/area/crew_quarters/bar) "aWj" = (/obj/item/weapon/stool{pixel_y = 8},/obj/effect/landmark/start{name = "Gardener"},/turf/simulated/floor{icon_state = "green"; dir = 8},/area/hydroponics/garden) -"aWk" = (/obj/structure/table/woodentable,/obj/item/weapon/kitchen/utensil/fork,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/wood,/area/crew_quarters/bar) +"aWk" = (/obj/structure/table/woodentable,/obj/item/weapon/material/kitchen/utensil/fork,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/wood,/area/crew_quarters/bar) "aWl" = (/obj/structure/bed/chair/comfy/black,/turf/simulated/floor/wood,/area/library) "aWm" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/wood,/area/crew_quarters/bar) "aWn" = (/obj/structure/table/reinforced,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar) @@ -2555,7 +2555,7 @@ "aXg" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/structure/closet/wardrobe/white,/turf/simulated/floor,/area/crew_quarters/locker) "aXh" = (/obj/item/weapon/stool,/turf/simulated/floor{icon_state = "chapel"},/area/chapel/main) "aXi" = (/obj/structure/table/standard,/obj/machinery/chemical_dispenser/bar_soft/full,/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen) -"aXj" = (/obj/structure/table/standard,/obj/item/weapon/kitchen/rollingpin,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen) +"aXj" = (/obj/structure/table/woodentable,/obj/item/weapon/material/kitchen/utensil/fork,/turf/simulated/floor/wood,/area/crew_quarters/bar) "aXk" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/food/snacks/mint,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen) "aXl" = (/obj/machinery/door/morgue{dir = 2; name = "Private Study"; req_access = list(37)},/turf/simulated/floor{icon_state = "cult"; dir = 2},/area/library) "aXm" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "centcom_shuttle_dock_airlock"; name = "interior access button"; pixel_x = -28; pixel_y = 26; req_one_access = list(13)},/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/turf/simulated/floor,/area/hallway/secondary/entry/aft) @@ -2586,7 +2586,7 @@ "aXL" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/hallway/primary/central_two) "aXM" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/hallway/primary/central_two) "aXN" = (/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/door/airlock/glass{name = "Kitchen"; req_access = list(28)},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen) -"aXO" = (/obj/structure/table/woodentable,/obj/item/weapon/kitchen/utensil/fork,/turf/simulated/floor/wood,/area/crew_quarters/bar) +"aXO" = (/obj/structure/table/standard,/obj/item/weapon/material/kitchen/rollingpin,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen) "aXP" = (/obj/structure/disposalpipe/segment,/obj/structure/table/woodentable,/turf/simulated/floor/wood,/area/crew_quarters/bar) "aXQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/table/woodentable,/obj/item/weapon/deck{pixel_y = 4},/turf/simulated/floor/wood,/area/crew_quarters/bar) "aXR" = (/obj/item/weapon/stool,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{dir = 8; icon_state = "chapel"},/area/chapel/main) @@ -7498,9 +7498,9 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaT aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaGeaGgaGgaGiaSUaGhaSdaOYaLDaDPaHxaHxaSfaLDaOYaLDaHyaHAaHzaLEaSkaPiaPiaNkaPiaNlaIAaSmaNnaSnaIAaLKaLKaSZaLKaLKaLKaLKaLKaLKaSpaSqaLKaLKaLKaLKaLKaLKaSraSsaSraLKaTPaLKaNraQPawbauoaSwaSxaNraReaUlaMbaMbaMkaSzaKOaSAaMnaMnaSBaSBaSBaSBaSCaJeasfasNarVarXarXavParXarXarVasNawFaJeaSJaSKaSKaSKaSKaSLaSLaSMaSNaRqaRpaJlaQqaQaaQaaQaaQaaQaaQaaSQaSRaSSaSTaUOaSVaSWaSXaSYaKZaKZaVeaTaaTbaTcaTdaTeaTeaTeaTfaTgaTfaTeaTeaTeaTeaJRaIgaThaONaRLaRMaONaONaTiaIgaTjaQzaTlaGGaIoaTmaTnaToaTpaTqaIoaTraQKaGGaTtaTuaRZaTvaTwaTxaafaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaVfaVraVkaVIazkaSgaSeaSiaShaSjaSiaTzaTyaTBaTAaTEaTCaTAaTFcozaTIaTJaTKaTLaTLaTLaTMaTLaTNaTOaIAaVLaTQaTRaTSaTTaTUaTVaTWaTXaTUaTYaTZaUaaUbaUcaUdaUeazBaUgaUhaUeaUiaLKaLKaWoaLKaLKaLKaLKaUkaWwaLKaUmaMbaUnaSzaKOaUoaaaaaaaaaaaaaaaaaaaaaaUpaUqaUraUsaUtaUvaUuaUxaUwaUzaUyaVUaUpaaaaaaaaaaaaaaaaaaaaaaUAaSNaRqaUBaUCaUDaUEaUFaUFaUFaUFaUGaUHaUIaUFaUFaUFaUJaUKaULaUMaUNaWFaUPaUQayOaySaUTaTfaUUaUVaRCaUXaUYaUZaVaaVbaTeaJRaIgaVcaVcaRLaRMaVdaVdaWKaIgaIgaXlaIgaGGaVgaVhaViaViaViaVjaXnaGGaGGaGGaVlaVmaVnaVoaVpaVqaafaafaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDawdcmVaXzaXCaDPaVsaVsaVtaVsaVsaVsaVDaVsaVsaVtaVsaVsaYEaWYaVuaVvaKdaKdaKdaKdaKdaVwaVxaVyaXGaIAaTQaTQaVAaTSaVBaTUaTUaTUaTUaTUaTYaVCaTUaTUaTUaUdaUeawgaVEaVFaUeaUiaVGaVHaKeaKcaVKaUmaXIaVMaVNaVOaxwaVQaMkaSzaKOaUoaaaaaaaaaaaaaUpaUpaUpaUpaVRaSlaVTaXEaVVaSDaVXaXFaVZaSOaWbaUpaUpaUpaUpaaaaaaaaaaaaaUAaSNaRqaRpaWcaSSaSPaWeaTkaSSaTsaUWaWiaVSaWkaVWaWmaWnaQbaXNaWpaWqaWraWsaWtaWtaWuaWvaXXaWaaWyaWdaWAaWBaWCaWDaWEaTeaJRaIgaThaONaRLaRMaONaONaONaYqaWGaONaWHaGGaWIaWJaToaToaToaTqaIoaYsaGGaWfaVoaLuaWQaVoaWRaWSaWTaWTaWUaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTGaGgaTHaGiaBIaBIaBIaWVaWWaWWaWWaWWaWWaWWaWWaWXaBIaBLcpSaWZaIAaXcaXbaXbaXbaYraXdaIAaIAaIAaIAaTQaXeaXfaTSaXgaTUaTUaWgaNXaHIaQlaWgaTUaTUaTUaYwaUeaRyaUfaSvaUeaUiaVGaXpaKfaXraXsaUmaXtaxwaURaXvaUjaXxaMkaSzaKOaMmaSCaMbaXyaUpaUpaVYaXAaYyaYAaXDaXDaXEaXFaYMaXEaXFaXDaXDaXHaYVaXJaXBaUpaUpaXyaJlaXLaXMaSNaRqaRpaJlaZgaSPaXOaTkaSSaXPaXQaSSaWhaXSaTkaSSaXTaOtaXUaXVaUQaXkaXiaXjaVPaYaaYbaYcaYdaYeaWjaYgaWBaYhaWDaYiaTeaJRaIgaYjaYjaRLaRMaWlaONaONaYlaONaWzaWxaGGaIoaXRaXhaToaYfaYkaZXaWLbaOaYmaWOaZcaVoaYvaUSbaBbanaYzaVzaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTGaGgaTHaGiaBIaBIaBIaWVaWWaWWaWWaWWaWWaWWaWWaWXaBIaBLcpSaWZaIAaXcaXbaXbaXbaYraXdaIAaIAaIAaIAaTQaXeaXfaTSaXgaTUaTUaWgaNXaHIaQlaWgaTUaTUaTUaYwaUeaRyaUfaSvaUeaUiaVGaXpaKfaXraXsaUmaXtaxwaURaXvaUjaXxaMkaSzaKOaMmaSCaMbaXyaUpaUpaVYaXAaYyaYAaXDaXDaXEaXFaYMaXEaXFaXDaXDaXHaYVaXJaXBaUpaUpaXyaJlaXLaXMaSNaRqaRpaJlaZgaSPaXjaTkaSSaXPaXQaSSaWhaXSaTkaSSaXTaOtaXUaXVaUQaXkaXiaXOaVPaYaaYbaYcaYdaYeaWjaYgaWBaYhaWDaYiaTeaJRaIgaYjaYjaRLaRMaWlaONaONaYlaONaWzaWxaGGaIoaXRaXhaToaYfaYkaZXaWLbaOaYmaWOaZcaVoaYvaUSbaBbanaYzaVzaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaafaYCaYDcpKaYFaWPaEfaEfaYIaKpaKQaYLbaPaKxaYOaYPaYQaYRaYSaTSaYTaTUaTUaWgaHIaIKaISaWgaTUaTUaYWaUdaUeaUeaUeaUeaUeaUiaVGaVGaVGaVGaVGaUmaYYaXvaYZaXvaXvaXxaMkaSzaKOaNSaNSaZaaZbaWNaUpaZdaYnaZfbaTbaSbaVbaUbaXbaWbaZbaYbbbbbabbcaZfaYoaZjaUpaWMaZbaZlaZmbbeaSNaRqaRpaWcaSSaSSaSSaSSaSSaXPaZoaSSaWhaZpaTkaSSaXTaOtaZqaXVaUQaNcaNeaNPaLwaYaaYpaZwaYdaYeaWjaYgaWBaYhaZxaZyaZzbbfaZzaZzaZzaZBaZCaZDaYtaOOaZFaZGaZHaZIaGGaZJaYXaYGaToaZeaYGaIoaIoaXaaZiaVoaYuaVoaZNaZOaZPaZQaWTaZRaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaZSaZTaZUbjnaZWaSFaXwaZkbaaaZvaXWbadbaeaXYaYObagbahbaibajaTSbakbalbambbhbaobapbaqbarbarbarbasbataTSbaubavbawbaxaKgbajbnZaKhbajbkZaUmbaDbaEbaFbaGbaHbaIaMkbaJbaKaMkbaLbaMbbDbcybbPbbLbaRbaQbbQaUpaUpaUpaUpaUpbcDaUpaUpaUpbbRbaQbbdbbSbbWbeobcabbibbjbbkbblbbmbbnaJlaUDaSPbboaTkaSSaZAaZEbbraZKaXOaTkaSSaXTbbtaULaXVbbubbvbbwaUQaUQaYaaXZbbybbzbbAbbBaYgaWBbbCaWDbcuaZzaZLbbFbbFbbGbbHbbIaRLaRLaRLaRLaRLaRLaRLaGGbbJaXRaXhaToaYfaXhaIobbKaGGbcBaVoaYuaVoaZNbbMbbNbbOaafaafaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaZSaZTaZUbjnaZWaSFaXwaZkbaaaZvaXWbadbaeaXYaYObagbahbaibajaTSbakbalbambbhbaobapbaqbarbarbarbasbataTSbaubavbawbaxaKgbajbnZaKhbajbkZaUmbaDbaEbaFbaGbaHbaIaMkbaJbaKaMkbaLbaMbbDbcybbPbbLbaRbaQbbQaUpaUpaUpaUpaUpbcDaUpaUpaUpbbRbaQbbdbbSbbWbeobcabbibbjbbkbblbbmbbnaJlaUDaSPbboaTkaSSaZAaZEbbraZKaXjaTkaSSaXTbbtaULaXVbbubbvbbwaUQaUQaYaaXZbbybbzbbAbbBaYgaWBbbCaWDbcuaZzaZLbbFbbFbbGbbHbbIaRLaRLaRLaRLaRLaRLaRLaGGbbJaXRaXhaToaYfaXhaIobbKaGGbcBaVoaYuaVoaZNbbMbbNbbOaafaafaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaXubcFbcZaXmbbUaSFbaabaabaabaabaabbVbaaaXoaYObbXbbYbaibbZbbZbbZbbZbdKbbZbcbaTUbccbcdbcebcebcfbcgaTSaXebchbcibcjaKibdQblcaKkbcobcobcpbcpbcpbcpbcpbcqaMbbcrbcsbctbeabcvbcwbcxbbgaUpbczbcAbeeaUpaUpaaaaaaaafaafbekaaaaaaaUpaUpbezbcGbczaUpbbgbcxbcHbcIbcJbcKbcLaRpaWcaSSaSSaSSaSSaSSaGpbcMaSSbcNaSSbcObcObcObcObeBbcQbcRbcSaUQaUQaUQbeMbcUaTeaZMbcWbcXaYgaWBaYhaWDbcYaZzaZZbdabdbbdcbddbdebddbddbddbddbddbdfbdgbdhbdibdjbdkbdlbdmbdnbdobdpbdqbdraVoaYubdsaZNaVobeNbbOaafaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBbdubdvaZUbdwbdxaSFaEfbabbaaaZvaDobbVbaabdAaYObbpbdCbaibbZbdDbdEbdFbdGbbZaEgbdIbdJaTSbeRbdLbdMbdNaTSaXebdObdPbdPbeVbdPbdPbdPbdPbdRbdSbdSbdSbdTbdSbdUaMbbdVbdWbdXbdYbdYbdYbdYbdYbdYbdZbeWbdZbdYbebbebbebbebbebbecbebbebbebbedbedbfobedaUpaUpaUpaJiaJiaJibcKbcLaRpaJlbefbegaDmbehaSSbeibcMbejbfqbelbcObcObembenaZzaZzaZzbfwaSGaSGaSGaZzaZzaZzbeqberbesbetaWBaYhaYhbeuaZzbevbewbbqaZzbeybbsbeAaYtbfxbbEbeDbcmaONaGGaIobeFbeGbeHbeFbeIaIoaIoaGGbeJaVoaYuaVoaZNbeKbeLbbOaafaafaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaafbeObePbeQbfWaRtaEfaEdbeUaEcaDobbVbgNbgMaYObeXbeYbaibbZbbZbbZbeZbfabbZbfbbdIbfcaTSbeRbdLbdMbfdaTSaXebdObdPbfebffbfgbfgbfhbdPbfibcVbfkbflbfmbfmbfmaMbaMkbcsbctbdYbfnbgUbfpbgWbfrbfsbftbfubdYbebbfvbgXbfvbhebhCbfvbdybebbedbfCbfDbfEbfFbfGbfHbfIbfJaJibfKbfLbfMaJlaZzaZzaZzaZzbfNbfObfPbfQaZzaZzbfRaZzaZzaZzaZzbfSbfTbfUbfVbfVbfVbhJbfXaZzbfYbfZbgabgbbgcbgcbgcbgdaZzbevbewbdBaZzaZzaZzaZzaZzaZzaZzaZzaZzaZzaZzbgfbggbghbgibgjbgfbggaZzaRZbgkaVoaYuaVoaZNaZObglbgmaWTaZRaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa diff --git a/maps/exodus-2.dmm b/maps/exodus-2.dmm index 3d78230a67..c3f06346e7 100644 --- a/maps/exodus-2.dmm +++ b/maps/exodus-2.dmm @@ -802,7 +802,7 @@ "pv" = (/obj/item/device/multitool,/obj/item/weapon/reagent_containers/spray/cleaner,/obj/structure/table/reinforced{icon_state = "table"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) "pw" = (/obj/item/weapon/storage/toolbox/mechanical,/obj/structure/table/reinforced{icon_state = "table"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) "px" = (/obj/machinery/vending/cigarette{name = "hacked cigarette machine"; prices = list(); products = list(/obj/item/weapon/storage/fancy/cigarettes = 10, /obj/item/weapon/storage/box/matches = 10, /obj/item/weapon/flame/lighter/zippo = 4, /obj/item/clothing/mask/smokable/cigarette/cigar/havana = 2)},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"py" = (/obj/structure/table/standard,/obj/item/weapon/kitchen/utensil/knife{pixel_x = -6},/obj/item/weapon/reagent_containers/syringe/drugs{pixel_x = 3; pixel_y = -1},/obj/item/weapon/reagent_containers/syringe/drugs{pixel_x = 3; pixel_y = 4},/obj/item/weapon/reagent_containers/syringe/drugs{pixel_x = 3; pixel_y = 9},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"py" = (/obj/structure/table/standard,/obj/item/weapon/material/kitchen/utensil/knife{pixel_x = -6},/obj/item/weapon/reagent_containers/syringe/drugs{pixel_x = 3; pixel_y = -1},/obj/item/weapon/reagent_containers/syringe/drugs{pixel_x = 3; pixel_y = 4},/obj/item/weapon/reagent_containers/syringe/drugs{pixel_x = 3; pixel_y = 9},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) "pz" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/shuttle/plating,/area/syndicate_station/start) "pA" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "admin_shuttle_hatch"; locked = 1; name = "Shuttle Hatch"; req_access = list(13)},/turf/simulated/floor/plating,/area/shuttle/administration/centcom) "pB" = (/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) @@ -963,7 +963,7 @@ "sA" = (/obj/structure/mirror{pixel_y = 28},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/living) "sB" = (/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/living) "sC" = (/obj/machinery/computer/card/centcom,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/living) -"sD" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/weapon/kitchen/rollingpin,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/living) +"sD" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/weapon/material/kitchen/rollingpin,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/living) "sE" = (/obj/machinery/conveyor{dir = 4; id = "QMLoad"},/turf/simulated/shuttle/floor,/area/supply/dock) "sF" = (/obj/machinery/conveyor{dir = 4; id = "QMLoad"},/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "supply_shuttle_hatch"; locked = 1; name = "Shuttle Hatch"; req_access = list(13)},/turf/simulated/shuttle/plating,/area/supply/dock) "sG" = (/obj/machinery/light/small{dir = 8},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) From b8ca15f54107b368eb2e08e2db9db8e54514b8d9 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Sat, 16 May 2015 23:55:18 +0930 Subject: [PATCH 09/45] Tweaks/fixes and greyscale icons. --- code/game/antagonist/station/highlander.dm | 2 +- code/game/gamemodes/cult/cultify/obj.dm | 2 +- .../objects/items/weapons/material/kitchen.dm | 19 ++++++++---------- .../objects/items/weapons/material/knives.dm | 3 +-- .../weapons/material/material_weapons.dm | 4 ++-- .../items/weapons/material/twohanded.dm | 4 +++- .../research/xenoarchaeology/finds/finds.dm | 2 +- icons/obj/kitchen.dmi | Bin 13154 -> 12341 bytes 8 files changed, 17 insertions(+), 19 deletions(-) diff --git a/code/game/antagonist/station/highlander.dm b/code/game/antagonist/station/highlander.dm index 9b82b15852..a33af1b5a3 100644 --- a/code/game/antagonist/station/highlander.dm +++ b/code/game/antagonist/station/highlander.dm @@ -37,7 +37,7 @@ var/datum/antagonist/highlander/highlanders player.equip_to_slot_or_del(new /obj/item/clothing/under/kilt(player), slot_w_uniform) player.equip_to_slot_or_del(new /obj/item/device/radio/headset/heads/captain(player), slot_l_ear) player.equip_to_slot_or_del(new /obj/item/clothing/head/beret(player), slot_head) - player.equip_to_slot_or_del(new /obj/item/weapon/claymore(player), slot_l_hand) + player.equip_to_slot_or_del(new /obj/item/weapon/material/claymore(player), slot_l_hand) player.equip_to_slot_or_del(new /obj/item/clothing/shoes/combat(player), slot_shoes) player.equip_to_slot_or_del(new /obj/item/weapon/pinpointer(get_turf(player)), slot_l_store) diff --git a/code/game/gamemodes/cult/cultify/obj.dm b/code/game/gamemodes/cult/cultify/obj.dm index cbc3571896..d019300314 100644 --- a/code/game/gamemodes/cult/cultify/obj.dm +++ b/code/game/gamemodes/cult/cultify/obj.dm @@ -21,7 +21,7 @@ new /obj/item/weapon/book/tome(loc) ..() -/obj/item/weapon/claymore/cultify() +/obj/item/weapon/material/claymore/cultify() new /obj/item/weapon/melee/cultblade(loc) ..() diff --git a/code/game/objects/items/weapons/material/kitchen.dm b/code/game/objects/items/weapons/material/kitchen.dm index 30ecd4a2b3..e640664c74 100644 --- a/code/game/objects/items/weapons/material/kitchen.dm +++ b/code/game/objects/items/weapons/material/kitchen.dm @@ -5,9 +5,9 @@ * Utensils */ /obj/item/weapon/material/kitchen/utensil - force = 5.0 - w_class = 1.0 - throwforce = 5.0 + force = 5 + w_class = 1 + throwforce = 5 throw_speed = 3 throw_range = 5 flags = CONDUCT @@ -17,9 +17,9 @@ var/loaded //Descriptive string for currently loaded food object. /obj/item/weapon/material/kitchen/utensil/New() + ..() if (prob(60)) src.pixel_y = rand(0, 4) - create_reagents(5) return @@ -38,13 +38,9 @@ if (reagents.total_volume > 0) reagents.trans_to_mob(M, reagents.total_volume, CHEM_INGEST) if(M == user) - for(var/mob/O in viewers(M, null)) - O.show_message(text("\blue [] eats some [] from \the [].", user, loaded, src), 1) - M.reagents.add_reagent("nutriment", 1) + M.visible_message("\The [user] eats some [loaded] from \the [src].") else - for(var/mob/O in viewers(M, null)) - O.show_message(text("\blue [] feeds [] some [] from \the []", user, M, loaded, src), 1) - M.reagents.add_reagent("nutriment", 1) + M.visible_message("\The [user] feeds some [loaded] to \the [M] with \the [src].") playsound(M.loc,'sound/items/eatfood.ogg', rand(10,40), 1) overlays.Cut() return @@ -80,7 +76,7 @@ sharp = 1 edge = 1 - suicide_act(mob/user) +/obj/item/weapon/material/kitchen/utensil/knife/suicide_act(mob/user) viewers(user) << pick("\red [user] is slitting \his wrists with the [src.name]! It looks like \he's trying to commit suicide.", \ "\red [user] is slitting \his throat with the [src.name]! It looks like \he's trying to commit suicide.", \ "\red [user] is slitting \his stomach open with the [src.name]! It looks like \he's trying to commit seppuku.") @@ -119,6 +115,7 @@ throw_range = 7 w_class = 3.0 attack_verb = list("bashed", "battered", "bludgeoned", "thrashed", "whacked") //I think the rollingpin attackby will end up ignoring this anyway. + default_material = "wood" /obj/item/weapon/material/kitchen/rollingpin/attack(mob/living/M as mob, mob/living/user as mob) if ((CLUMSY in user.mutations) && prob(50)) diff --git a/code/game/objects/items/weapons/material/knives.dm b/code/game/objects/items/weapons/material/knives.dm index 2c37ec6c5a..1eb5640157 100644 --- a/code/game/objects/items/weapons/material/knives.dm +++ b/code/game/objects/items/weapons/material/knives.dm @@ -13,7 +13,6 @@ throw_range = 4 throwforce = 7 attack_verb = list("patted", "tapped") - applies_material_colour = 1 /obj/item/weapon/material/butterfly/update_force() if(active) @@ -70,7 +69,6 @@ origin_tech = "materials=1" attack_verb = list("slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") unbreakable = 1 - applies_material_colour = 1 /obj/item/weapon/material/knife/suicide_act(mob/user) viewers(user) << pick("\red [user] is slitting \his wrists with the [src.name]! It looks like \he's trying to commit suicide.", \ @@ -89,6 +87,7 @@ desc = "The unearthly energies that once powered this blade are now dormant." icon = 'icons/obj/wizard.dmi' icon_state = "render" + applies_material_colour = 0 /obj/item/weapon/material/knife/butch name = "butcher's cleaver" diff --git a/code/game/objects/items/weapons/material/material_weapons.dm b/code/game/objects/items/weapons/material/material_weapons.dm index 980f4fb02f..3f8732cd2b 100644 --- a/code/game/objects/items/weapons/material/material_weapons.dm +++ b/code/game/objects/items/weapons/material/material_weapons.dm @@ -3,7 +3,7 @@ hitsound = 'sound/weapons/bladeslice.ogg' gender = NEUTER - var/applies_material_colour + var/applies_material_colour = 1 var/unbreakable var/damage_divisor = 0.5 var/default_material = DEFAULT_WALL_MATERIAL @@ -23,7 +23,7 @@ if(!material) qdel(src) else - name = "[material.display_name] bat" + name = "[material.display_name] [initial(name)]" health = round(material.integrity/10) if(applies_material_colour) color = material.icon_colour diff --git a/code/game/objects/items/weapons/material/twohanded.dm b/code/game/objects/items/weapons/material/twohanded.dm index fdddd16425..759712416b 100644 --- a/code/game/objects/items/weapons/material/twohanded.dm +++ b/code/game/objects/items/weapons/material/twohanded.dm @@ -102,7 +102,7 @@ var/obj/item/weapon/material/twohanded/offhand/O = new(user) ////Let's reserve his other hand~ O.name = "[base_name] - offhand" - O.desc = "Your second grip on the [base_name]" + O.desc = "Your second grip on the [base_name]." user.put_in_inactive_hand(O) if(istype(user,/mob/living/carbon/human)) @@ -143,6 +143,7 @@ slot_flags = SLOT_BACK force_wielded = 30 attack_verb = list("attacked", "chopped", "cleaved", "torn", "cut") + applies_material_colour = 0 /obj/item/weapon/material/twohanded/fireaxe/afterattack(atom/A as mob|obj|turf|area, mob/user as mob, proximity) if(!proximity) return @@ -173,6 +174,7 @@ attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") sharp = 1 edge = 1 + applies_material_colour = 0 /obj/item/weapon/material/twohanded/dualsaber/attack(target as mob, mob/living/user as mob) ..() diff --git a/code/modules/research/xenoarchaeology/finds/finds.dm b/code/modules/research/xenoarchaeology/finds/finds.dm index d8cac01219..fcf060165f 100644 --- a/code/modules/research/xenoarchaeology/finds/finds.dm +++ b/code/modules/research/xenoarchaeology/finds/finds.dm @@ -294,7 +294,7 @@ new_item.desc = "" if(19) apply_prefix = 0 - new_item = new /obj/item/weapon/claymore(src.loc) + new_item = new /obj/item/weapon/material/claymore(src.loc) new_item.force = 10 item_type = new_item.name if(20) diff --git a/icons/obj/kitchen.dmi b/icons/obj/kitchen.dmi index 6d39c35541ecd476a41c2098b54e75461a2a8c78..1a9d80bb13e4c8d6455b2671dc6c9b83ccdd40a6 100644 GIT binary patch literal 12341 zcmZX5byQSc^!5xL(%mH@BB6kEBcMpAG)jXsh;)w9AthZy2&i;-H;8oS&@tq|5HrAc zdB63=TE9PL?wWh=+2@>n_IdWR_dXM@sjf^!Ku-VyfrwtID82)(tM?x~9N?Rt*A@l> zfpxvL^jsA!znHt&IJ??7If6i*8JSbVj)4LXK&ygY5x-j0-v_vFKCemhwl)T1uLa3Q z#C_HALoww#&YMWF;$CapSoJ3_lF~Doh zoEQ>Hr*r+SJ3;HM_q!7(&GmQPA7_iw*sOp*;_UOGTo5)cNKMeQkPcn**o~JPi3)rA zlO!D{nIdF=iNf4wnjqQj_SjY&0yW+JIA=ler#}*e;vTL<6bk5dU`gUHoJ^(`$?{SJ zNJ?Tecx^q_;gszcFHCg+sq*L8x)S`nh!>yw4R7QSN&!?>;>bn@>4=-7vzUlc0m%?aHvL$kQ z*4vQR(QSx5OUFw=@-e+~;yC{Dm+&H)J99g~X2vs^?>p$raAPr_l*djW5G&}FqMVjz z#zCf+E2Z}QT^lcEtE_nBS6KlJcEbm=Di9pOHyDgcq@)RQ>o^gANwi2m;3yeiN?Q z7j@{L(u3azh9h5`mKtL?BqSIZiTmjN^IiywNEnLh8Q6NRV_u&t7$}8w?Ob=?BGn`; zw_~7^uicn=P)hhy(tXQ63kwOw#KhP>8f$|w+Tn9mOfO%)l()70b7<=5UQ0Uoj|{aS zazN?LRk-H-imaa$6!L(Moj_AO012P_3peyaGy245W$_8UcoEXf6l#Fi=zVT`g7f6* z<92~ML&n!{(`0;*_FWob+;tWN>s&DyAp4c-_h+7YeZ1{6#;v87P@_-lH2NV2hJJt~ z`N*xAc z(S_ttGCxiK$ey1K_vmt2ZS9MVgI)4fUg9GuUaBCYuRE4|O-JGdi}Bnh;L(;o6<_xS zXwRq%FxKc1M^u#_Uxtfn0rwi}^9=?pW=0FvcTR}auzq*{6Z!DSce?g_x$l*W=};2y z3`*>cSSrnNXEy$=OP?bFGJmGfY)R5)sRO z{@uF4%Xb#ny1}wX(lTp>$|MmJT|@^bI>mZlU;TIl11us%CO|sN_w>~k>MVT)t%RJjSDc*VFx}euOenCK^d`sAUf67m>V8$j*H^+2C2M0F7LxW~KmP8MaNDD_8cwrJ zyTp6@_N|GZ!XBHr`26#QV$Cy1@vTe;pDCO>OmqeY3Wl4e3z z0(-bm=P>xPOu4)Ie%x^4GMZ+)b*(lw8*GjeY@(^wv&*(782DarlT@2rQ#>&UqK3)0 zmi+H_KhzuDf%mA@W7(^(`gmgfL{!{$2Xu%rWbo!GxwXEMLR;;(KtdAIP1De6gAii?3wqm%76Zvy`*p{q;`4 zp+zNz>u93vUdaAJO;@DD{3=O$UHkdAedsnn-M7Wlrxk&hqVRG*y4a9r7tL?P3d8fE zJkHo@MGUbrZcqMU^rt+>1|2IZg~&#ZKB&JmU?$^~O=~*LjEIpw3(2v~_-$qQcJ(Si zcQyEhgJ!iQVIv_%M6G>?;PCL8Z01S}=LpG@?oF(s~f50@y{3`PD{t@-?2ao24S&QD?gVXZm|?4L zgMe8#-qVkbl&PtyAAEVE!j2(s15>mC(nOi@rM(p})F}6^?WC|)UTF?}Uy{!qW_!gZ zY82RPz*}z)C{Bd4W<$Xz+sALd2o~I2^MF>LfcS-lOgfkXM?KA09GP)8bV$t1Jg!bR zJAp-c=CYv@#VAIuudiQA2Av|x@j2h)9PM(B{qbY{@slSmfIZ}?rN6km+J-7DTPfll zmrA{VE4@L3{_vTguI`GEIGHjBKI^Xql?s^Xaj@lj2eU1hlf*~PuOb{!1|%$;p`T4(R_xr4*;O*>W|}i`{BcbcJC2gBco`j z|1~~ff=RP6k&y_7kjO|Hegf3RQC~EZgy#GA6sJgbdB~=Me@7Pf0tjRra3!u3W4J03 za8{3fS$s7DYPM`YWor{y2`yI0JYGXV#hKOAd+$zK4pj7ZJKqlv&${Q=(alF51?=^U zPll%slW{1mraQIbU;ga3Jps!?rTs?pRcQdU>?240e9-&nX+h$@ObK)NYz3`^`%`g` zLq^|V*4f4fDxx3WZQN|&EqnN7iZgWxj!1I+JDS9&eJ2DCWr*nB99}KKCJYjJ{d#os zyB0j)jFmAEH%Il5HTxHy2#v7dxwmW2kfBpca4;ba2CxMYyfiGU=a8|nv7{R8?~#!T zetv$lQYLC@M98BR5|GN9H{FT4gLUBPh!Uw)!1uhZn{Sg85k0qs^NMrc-o7|>0v5`M zHp9DS#l@|tD77VwgjJZz!7nd>u@y%}?d5v7-=Cr#xkDdm@{oBsU(f}lSkgoj95PQm z`FP`IDR!pCuiYNaK2!l@yuox$@hNXdk~Lm%{Uq#WsTUcsXOY(8yL_- z)X9I?OuxH0vN9W9A&4`S!Yga>BLO*iRj4Wil6_%U^hIosC>t20tq*WPU1wkV%I@=G zPESs*u66{%crXp7xKw>-h}S%q_Vystygu>Gmh$YHX@HklOD4CF*kF)vk@qz>eM+2c z9NJvyy*hMp`!&?~!XJXNc6ol7p&cgiiE6D#{wSH;xb=c$Luv{$bf~P0fzaHIxkBb* z$pgB(f(VwkLqafd9^g6AjqcTED;Pl`UB~=0M8A&-oJPJm?A%_dOu4Dl1zY$I@}_>9 zPCmDbNIU86)GOw;rEYWAy@u~JHW_;q>$l0W4l(qU=H}T9TehdA(Q9dI*Px%Xu9j%V z6=}sGAc|V!Zt9G8IDi+DJ=)NE8)ndO@8_y7_4rwS&vszG5D`&s#?^wST-=k3)QQ5- zGpPlL|4q5ok~r;d@$UUy!6_OH@dfPWM8S=r&_gMuh|JS*#DMq7M~TZC+^M~*V(D8v zIgrU*MSej6L5_QrUC{lu06A|a>W0`G>OjthX=rz8xCUF$E|CaYJkz z-_XD?$Nr5CjIj$@BJQug&n64m*fLMmdI(UpQE!UZ2m9P*W25`QW>9Qz_!k43KMic6 zjL{9Vt>htHHUrLJ7g6d??0%RY9t~@#Iok&aV|4KUyBX#n)9<$tr~Kww? zakgH%^E+N0n9LoV9nKL+AdnGvWxLbb8N{H_810CKoR~hoJ|_th72;Oa98SN<&OI^I5SXkFG>;lPhZ*As$RIBHwPFlCXt zh9@V$f6M0zE7mScYBm1d0sZ$NWcCU={1tZnfJfv^wWT^hy%O!;=cKtgIj0P0|f1Ts%c%Vn$aydp{DV`d5rYyaW#gs#$X8 zaf_w=c@BO!p8|TIlfL6{+=)crScbqUl1c|L-n~Qjir6mFwDdWtf-z(P7Xhmiv}1J4HYE@U3w2Y371KDZ`H9aa24PDxK+=zYKB`_LFcY; zV^70R5CL0%>D2an`ub2e{7TOnvvwo)E^U9Z_LSu+4Wr29#csKKdM=@#{3rr50u~5J zkKKJVjg0u*ePny{6`pG(ZJ#YH){V49cFZQUOMe1omvG22mWkENxzn{EZE$W)x&Npd zDa~xifFYuMOc?E7HJ~pXRltw7S0HM;S57mfOym?4+A|XV=z1t#_+*Jm~$(!Ttz zFWdjPoh!&n*sURJccikLlK>$77HI9|msUKr@tcb3S`U zrmd~LGgHR$T2*zd%vh%F%7sZmyH6LF%2Xh%{ZDW7ODf2%gnPCvTuH=zef8|-;iHIpA$`JmIQ!KOM0wp!!%0`$ zVM!wDv5C-Ye4>iD?=N4&q#?5G4C`>INrdl1J%pG^eDxUC)o70~KZqZs+G%5jv;p)@ z-NFdcKjHS0rA8jO-iB{;uxn8mKStW5g%T;`jtpsob9czOHE4z1?N#~!1->4l^Ui7) zS@z5mE#1c0IfuNatH z;Pe+TJCMzYG(!W%Bm%3zZWY8TBBEO-)sRG{^vujSLWe}uX8A%iV0pKWj}QfuzH=!f zu~yO7Fu=irFiUw~)?jK^mFa*H`#esOWvpqOma@OM^Q2hCZh=+CdG}6J)ctAhH#jaU z*=iE6VNgLq0VH_7&WWUOBK$#!RIrWQK1F?HCHX{wS{E1e19APt_;~kc??!q6PJ43{ zLeWVw`jt#vs*eGDImolB^>Bmy^;D+IKDNxrCRo(>l=+XZxkIIcx&zF*x#fH zz0wW>tm2)XC#W6e?{Hl0LFt5?O^CDJS7~3?uhjn}w%=2rCKKtjThGDFMP z+s4*bUSFRsEiG+ybaeHi?avl0EIBYi;qX5gC@* zwM@sASD`7%_z&))<_mKc+-$%0oJ`DaqE#0>>6ch|kv5%fXn)K0T8D+fvK+E^ArGid z^<(Mwi!yyHnQyRsz11HPv%Ke1tg0@vyh*YT=qB>(vHUslO|CUaMqi)kRG&gB2K~to zZQOeL;u=(c7#=EA!e7Jh{)&u=Y4|5e)b+J@7u&DIn^+YG9=~a`B)?2%_(G)yt;BIZM+~09pbFy`Yu;@rVQg0g=`#Q0|H&r)C&jS-@-IV-qx^ce z0`;#u92y5*l-zZ3LG0YQEWnOwPHMOQrV4h>*Vv^xIQ2%+g~i0oEH-v?(ThO7=^NH9 zGh5L0^KwyTjk_E0MEG@9Z@GuNmuqxiOlZhFtEzK9F!-DDOkwm%=l#34_wvccM%Uvv zOLZ1-^k;Vb>ntp!vNKP+YLrk|Ev9+Y4?JZ-v?L}H&iV-!8BYs^J~pZyf^YDTA?`yY zGxKl?YF>kft_Zh=?WkztdEq8{z)x5opFh^o*XC?K8&^$}VqHDD+8Fey{`GU{bI0#> zE?J(_yw9l9`-jBr^6bnU>mQUTvp@JZTc&eCZ6xNAvM8czZcJKDNeQR2s%os^%cl$} zAL>sdSyRn?IRyncbaZsT{`?tl;p_W=f%SNJq_%!G-Rd_Dgc-YvN~C(Cg?0fsohqAz%@tX!}0z$&EB3*t)F_(uw{Z>;HAfR+YLdk};=qLO?248GnP_#`OUfV&m#)SpMV;^Pqm~ck*ELDJMf}6| z;*-ZjCj%d^RR3Dy^Oc$mGzFzC9}&wwk}<>+7$E73?d+7_TG-H2l~ql7@myohm_epn z6I9wu0tPAgP4MFvvSr-S_-7|24#!xLvbU;ZSH0Cme-~9JapF$-4v4fwu}Ol$+H(QV zJT+UfCi=?oWr*vAD;O!pNcGLT{cUSGLU#~xvq!N8`{nal3bKK?BNy!68;&W!A)BW; zoTA0aCT$nEuyuWs@*VoylnwG#nuOLw1}kMFR4^QHtUUiDKCcD+t`&phk(w|VYqb5` zUd}w6s;4MAv0D!{yA-1|k~1P%#RatlPt5Kb9dLc1zM9K*Z#qVdPN{s=@NM12Kb!)H zmo!;)>zc$QCF;VJk^2g^p;v7kS3q;@czklQ;mwcrcLi8MpW1`vSLUhwmB}n+Iu2t%;&3Z{0W6xRz6ZPop`GqdC;_s z%J>bPBNIDR`~lZ1Bm{6G)7C{>gB+e`t;j?$xa^X^uPfj>q#H9!CctRXDG7;s&m61% zis~g1g9qHitgW_|x~8UP%~K#EGV=3UcQ|APU<0m9{OyJ%df`ye=4lm>%5eF53lcu? zUb)O{-TmFVxmD`R%<%qQtmPtR z92pmU6CY2WkdP3z4(pzA{33a0#)igHd+Wyqxq$HolJN^YNNyoLf!rk&e-e^mWWtCy z&~$o9+C9Vckdc#FAOUS}`@c11W@d(#Onw)i5fMS~kdrefHx~o&5oUbRKYu7ytZ)S7&R>DL7fEk(9s zHs7s)7s3YJ=M$4ZhSp$=vb?kyKh_6ih!7xUigE_y z$U~XJtLL8Ahg_X>X0oU|N?(zG%bEtTp)JQXgCg}3Uz1N}0iorYzwHCcV&NA;2{ki) z8tT!2D4nhcr~O}Cqrb&g7*c}AcUt?`Y9jK+^x~ky>d1U+2eLfeTi)yzO*mCa&BmuH zo{hl8?ruf4vsm_aX^}DBPkjg9_UvI^MW=r^UTm1gew`B)6&0g1;g@DdZ7YNm+S+nU7bRy%~&&o12pZR#R)9 zD0ik{VL3{9W{&ftcSlLmq#mxE0UCbD#s)5Hy?*lOO^V5RX|=cfaE!GOms$M*;sU~G zcsj1iFZRUmWmw3y_s1T5YB91dODN$eYoU5(XTz6mtpLXL*pZ5;Fj+pX+>Zwc(n$~} zC#PAA1>=`zX)JNt>WWndU%-1Cz{FJ4)u*fBC+2;Bmr`{)0monAviVx_BBNGIS2gKr zN3$0qrQD(fJl65B#LffwG`jA!_VLCFkx?(z7Y&MRe+7CE4()_px5zn zhZiBj&$w_};t_+=Mesr^D`M`!!FlsUzpCGW5zaTdi4tdJ zMn2Mu=&hk)q?>tfHh?wn3*K~WLjxSsN?Lp_)&_aX9$XW0Y5bIVhSz@4YC8LB_%9=d zNuATInHaGw-<@;ZQ6bGE=26=t8g;&pjX@oOxON6e)$a|rqH%I&X6#Q2H2SEHNrWjV zC{B9McGv2e4c^d^f*xJXJE!4)B&3Jig*l(T{>OvLQVCd7Dv}?~EiRV&otmm(=z>S^ znD9;6F&?iH#5L9aWUYt#@D=O$5zTPt;3>;0RZb$3BaWIw_L}f~XUAGmS=s!;(aGIM z5X*UQk{fW!vkZc#g0-~Z5Q=5W5;rp?e>bEv=E7#>mCw)g-zV6$XOG7eeL&RkWYc~=Ng8uYc457IS?PO!IJiX3H}E#J?Z zE@EdSBgGL&$d4uN4u2eSq=Y3~Ynq^m5VRc_p#3amp8iVRy>|4gxT&J&2NlMuRg8q# zADO(~dVG@6bN{8%#?7Ra*PPko!u|wR5b`Cf*0A@lpH%ORPVKGN%}c9#;{74J&J__7 zYTtDQwql19-SgpH*N6%BT`SG5z4hc-erNGaM{E?fdg1%OVdfWz5$s>!m8C#wb{*}Coz^E3NNnbkllw9j^Z}{+sMsK9DBbM;4KQw3D=Gn7n{vshj zX;LqI^v`->Z8(RU&*$Pl4`M7^e>D!zRA$MKbhqwMNzn2o^E_;_f(E<<-;eI!s7MNR z|NFQ^+G656ASDXCI9>x#owi(1$-faRE}-1hbs@x~qM_ljy|H242>!^Iys&Q*q~}L!Fh5crm?kBNBa-tU)-s9#RAX^&yjCwP&~{7l^XQvZrE7b=`_@ zRSaJCv&%4SKL?t+F#cZPX*w{f2vjS>6KlOIek|1BRs0NrF7j^ozq!t-uBP;U`8b)S zBtJ}mi%U6~#w47qskp1`;zdgc?jxD4TW{^8adyXcNj5(HbJF_(Bo%x2M-Af!yInG! z2?qg+HIQ(YX(VaH?@LY}gj!sl5a>>s%s|HBM{K$Im&Y zTIp?Jbvmy9wY2T->B#}S6XY&9wik&t&6S0;)tS}h;N~7sdqN){AHVo6rXK@94_j1+ z$y@5lr?OS2dB5elY2fms<&r1eR^_-~^^y6broY}?s?vi6idJ(JY z0q0o(J?g1D8{H%%&`%=`5yjs_`qTxCV0YBlJ_RQ|_A(idDR(>4g7(PtwAU=oa?2KI$yg(f>Ea z9P$&44QF<`tgI*?VZkR$+$V3pKx;@;M3JE905#`*S{Bfq0Cq@%mQHQr+8?C2-Ehc5 zUJPh_O7)AbN%6XI3(a=NZ!1>U95+B<*1DsxbY_fyfV})0r!!f~YZkZ`3NOGWUv2^k zM&W2{g9>rE@V@m9?Zkc3g)gER0~1=w4v(*}-1=I(<{T#+pwQ@rnGpR8XpVtqQI|{+ zVnR5(J0UOGm;i5+DNFqV zT%GklgKm{vYxZ@!1s;Sew||%;*zE(fNw$y%c9&`kWkdb#(jY{jFK#_MA8{b4+v-!g z_uZ7GMSs@9EZqL%1@w?~a__7iSK6C&*P~@$I<;(6Uql)hlKl`ZuA?2Yz13VY&t(?FP%006IxGG> zw}R0O11ejrkP0p0qW}~KOi=eMHYbs?t(QeAp%_?kHTaVO(M$v)TY z`3$El&jhBABy*@8nx}Jjar5y4GHR{okw~BLy0K{%^xtOMBcTM}Z$GXAE-08<_$?Mw zCBI*(!hj*jY&)BTv#yFMUoud8Nir*YJCu-8(1hAkp*COwziM?R0O9w8ND5qB)sYUy zx6O(XHt2E!8L>4QnYNM`bUF!+gc@AF+Dbpb9zX_q!Q|-c3RNNQDkN|43P<7A#)Q1Q z=zri?w$y@0;(|vqI`T7%vLXp0sCx~}R9uJKZ zdX2KK@e|&0Nud-+zo>e@Xu@myx0a=t^UbeK8L1iLMt;O^3weXGwvr);Y%JP0-aXuO zgoG9cW&105#cG0n5CXYAPp(xJcDW%U6kuGd5|_!CLI#@VgABaINbyF_XO_4gd>$)4 z&Es}}D)I6rCTLD*={v~KTHGact~k5lo7VW{AM=kN%5-HuuNaIea6^GcG?dMe_q(dg z?QX7BSExiD4`)Q9@7cGx3+Ms1ihzOJ2x8*1p2_ri3~>CU_#erq8UQ@XTW`s@WWP;a z!HR1~DyVg4WX!Nt%KsaV*fjaxd5kAem5qC#q0#$)%CaG8xpSOyIH44~*3{WdB-6O zct4&Ah3(Bvd|hKd;Sgdb0#N)AhP88KC*Je zG{%a=TKn6Brj5{{p&^PFj*DU3?+aM@_=tgkh}y|Btt*sdee(DF+4|2MAiQEllN!IK zxa4H6*s%S@hA(8O@@JF)VP)+aL_0IbD7)PP!9pM(#Q^eqEELKQY7ZmhNRf(iY&qA- zkoKd;$H(s^v?eam$JLavO_w!JId+M~OvvMrJG|}v-uF*d*Owh)wv!c!zc1_#{Gd;yE9imu$ass$+J;~ zXb$CQyf0gSJAiW_l*tT0Mir2NF|C`RU1 z6gV$}`LAp_G|CZdkjjc#{z7K?D<-ah^Qx@t&M0``lYi%Nz6PvCcN*)d!p>BY?ypBw z2hg2bnw4erqeFjwUu0m;!{+n-8BEaqc{>v6OI8bhJWzgqel96E8(=$=YPP)|8I^sj z6a`xjyN(eBfNiN3|BF!;^g6Y`ZRiN)_aj)5Iyk`H2I@6yWq@e_wU87^ujdFZN{73J z^p$R>wloGE)a#AyZ9-u7@++-=nBBTMIw4+&t#B0iAKj?%@Q$tF^tjkqP&-feaJmQw zCua|Jq5zOc_*1&+<|8Zdu-_z+S(Gwtn?pn@$FRe2TEmf{p<>=@fci=*=_{YLjj%)RNYrY385U*EzzMOb$^sKg7A zOCpHq8r#^~N^7{v*3!|5C}a6+wmF#Cx#Y3JE1^+zZ2d?*BMe9gDP`ad?BlkSF(iyW zlr16plg}KdP4rWL_pAQ>9$L%tIV8Jdk@OTO<`t~0tSt9Lw4n>c9B-uBSFz6r6M3*f zw9hT@rpt^;41$z`l;=y8*b^>OJ{oF+|7u(!b^K4?W4e#KsI;|seq@;ldF63#HdBh40)NuxIimL+_~&CR``G!839hhrrrXy+TkLTiIP%_#OuDOUKh(0NV7(+@6rM zSq^*h7h19G-!NG2*OY1hHy~v>xvv7B*Azj#L+im5J$&4r{*nPI{1yPvwiRp+%oW&HFngAC*xLxUlQ3W8moG;aVH4HB>%q*NP1H3pd=)kkenj9>5!@D+j-2;atB zvVZi%is{1yQU}Yk1~aBtFPjsQVq4k!c6iz6TYZA>3e5G1tLLTr7*jUGxT*n_JpE9w zsms+>Y}f-Z;;yXNi619uPsZra^4H9ytDWo4@~}J1&^gRCAyI5r;O_vSS1;8SOXW?z F{Vyk@Scw1t literal 13154 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 AT>t<8 From a101855343baa6fdfd77af554de8742146225b89 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Sun, 17 May 2015 00:15:46 +0930 Subject: [PATCH 10/45] Converted over hatchets and scythes. --- code/datums/supplypacks.dm | 10 +-- code/game/machinery/autolathe_datums.dm | 6 +- .../objects/items/stacks/sheets/leather.dm | 2 +- .../objects/items/weapons/material/misc.dm | 62 +++++++++++++++++ .../objects/items/weapons/storage/belt.dm | 4 +- code/game/objects/items/weapons/tools.dm | 2 +- .../closets/secure/hydroponics.dm | 4 +- .../structures/crates_lockers/crates.dm | 2 +- code/modules/clothing/suits/jobs.dm | 2 +- .../clothing/under/accessories/storage.dm | 6 +- code/modules/hydroponics/grown.dm | 2 +- code/modules/hydroponics/grown_inedible.dm | 2 +- code/modules/hydroponics/trays/tray.dm | 2 +- code/modules/hydroponics/trays/tray_apiary.dm | 2 +- .../hydroponics/trays/tray_reagents.dm | 2 +- code/modules/hydroponics/trays/tray_tools.dm | 66 ------------------- code/modules/mob/living/bot/farmbot.dm | 4 +- .../mob/living/silicon/robot/robot_modules.dm | 4 +- .../artifact/artifact_replicator.dm | 2 +- code/modules/surgery/encased.dm | 2 +- code/modules/surgery/generic.dm | 2 +- code/modules/surgery/slimes.dm | 2 +- maps/exodus-1.dmm | 10 +-- maps/exodus-2.dmm | 2 +- maps/exodus-5.dmm | 2 +- 25 files changed, 101 insertions(+), 105 deletions(-) diff --git a/code/datums/supplypacks.dm b/code/datums/supplypacks.dm index 1a7a9b8ae0..288f318b1c 100644 --- a/code/datums/supplypacks.dm +++ b/code/datums/supplypacks.dm @@ -271,12 +271,12 @@ var/list/all_supply_groups = list("Operations","Security","Hospitality","Enginee /obj/item/weapon/reagent_containers/spray/plantbgone, /obj/item/weapon/reagent_containers/glass/bottle/ammonia, /obj/item/weapon/reagent_containers/glass/bottle/ammonia, - /obj/item/weapon/hatchet, - /obj/item/weapon/minihoe, + /obj/item/weapon/material/hatchet, + /obj/item/weapon/material/minihoe, /obj/item/device/analyzer/plant_analyzer, /obj/item/clothing/gloves/botanic_leather, /obj/item/clothing/suit/apron, - /obj/item/weapon/minihoe, + /obj/item/weapon/material/minihoe, /obj/item/weapon/storage/box/botanydisk ) // Updated with new things cost = 15 @@ -337,8 +337,8 @@ var/list/all_supply_groups = list("Operations","Security","Hospitality","Enginee /datum/supply_packs/weedcontrol name = "Weed control crate" - contains = list(/obj/item/weapon/hatchet, - /obj/item/weapon/hatchet, + contains = list(/obj/item/weapon/material/hatchet, + /obj/item/weapon/material/hatchet, /obj/item/weapon/reagent_containers/spray/plantbgone, /obj/item/weapon/reagent_containers/spray/plantbgone, /obj/item/weapon/reagent_containers/spray/plantbgone, diff --git a/code/game/machinery/autolathe_datums.dm b/code/game/machinery/autolathe_datums.dm index 90486e64eb..d1f8ccf892 100644 --- a/code/game/machinery/autolathe_datums.dm +++ b/code/game/machinery/autolathe_datums.dm @@ -84,12 +84,12 @@ /datum/autolathe/recipe/hatchet name = "hatchet" - path = /obj/item/weapon/hatchet + path = /obj/item/weapon/material/hatchet category = "Tools" /datum/autolathe/recipe/minihoe name = "mini hoe" - path = /obj/item/weapon/minihoe + path = /obj/item/weapon/material/minihoe category = "Tools" /datum/autolathe/recipe/radio_headset @@ -369,7 +369,7 @@ /datum/autolathe/recipe/tacknife name = "tactical knife" - path = /obj/item/weapon/hatchet/tacknife + path = /obj/item/weapon/material/hatchet/tacknife hidden = 1 category = "Arms and Ammunition" diff --git a/code/game/objects/items/stacks/sheets/leather.dm b/code/game/objects/items/stacks/sheets/leather.dm index 56ce1dba67..4090b9d2f2 100644 --- a/code/game/objects/items/stacks/sheets/leather.dm +++ b/code/game/objects/items/stacks/sheets/leather.dm @@ -94,7 +94,7 @@ if( istype(W, /obj/item/weapon/material/knife) || \ istype(W, /obj/item/weapon/material/kitchen/utensil/knife) || \ istype(W, /obj/item/weapon/material/twohanded/fireaxe) || \ - istype(W, /obj/item/weapon/hatchet) ) + istype(W, /obj/item/weapon/material/hatchet) ) //visible message on mobs is defined as visible_message(var/message, var/self_message, var/blind_message) usr.visible_message("\blue \the [usr] starts cutting hair off \the [src]", "\blue You start cutting the hair off \the [src]", "You hear the sound of a knife rubbing against flesh") diff --git a/code/game/objects/items/weapons/material/misc.dm b/code/game/objects/items/weapons/material/misc.dm index 697410626d..61570ef0fa 100644 --- a/code/game/objects/items/weapons/material/misc.dm +++ b/code/game/objects/items/weapons/material/misc.dm @@ -9,3 +9,65 @@ throwforce = 15 w_class = 3 attack_verb = list("jabbed","stabbed","ripped") + +/obj/item/weapon/material/hatchet + name = "hatchet" + desc = "A very sharp axe blade upon a short fibremetal handle. It has a long history of chopping things, but now it is used for chopping wood." + icon = 'icons/obj/weapons.dmi' + icon_state = "hatchet" + flags = CONDUCT + force = 12.0 + w_class = 2 + throwforce = 15 + throw_speed = 4 + throw_range = 4 + sharp = 1 + edge = 1 + matter = list(DEFAULT_WALL_MATERIAL = 15000) + origin_tech = "materials=2;combat=1" + attack_verb = list("chopped", "torn", "cut") + applies_material_colour = 0 + +/obj/item/weapon/material/hatchet/unathiknife + name = "duelling knife" + desc = "A length of leather-bound wood studded with razor-sharp teeth. How crude." + icon = 'icons/obj/weapons.dmi' + icon_state = "unathiknife" + attack_verb = list("ripped", "torn", "cut") + default_material = "bone" + +/obj/item/weapon/material/hatchet/tacknife + name = "tactical knife" + desc = "You'd be killing loads of people if this was Medal of Valor: Heroes of Nyx." + icon = 'icons/obj/weapons.dmi' + icon_state = "tacknife" + item_state = "knife" + attack_verb = list("stabbed", "chopped", "cut") + applies_material_colour = 1 + +/obj/item/weapon/material/minihoe // -- Numbers + name = "mini hoe" + desc = "It's used for removing weeds or scratching your back." + icon = 'icons/obj/weapons.dmi' + icon_state = "hoe" + item_state = "hoe" + flags = CONDUCT | NOBLUDGEON + force = 5 + throwforce = 7 + w_class = 2 + matter = list(DEFAULT_WALL_MATERIAL = 50) + attack_verb = list("slashed", "sliced", "cut", "clawed") + +/obj/item/weapon/material/scythe + icon_state = "scythe0" + name = "scythe" + desc = "A sharp and curved blade on a long fibremetal handle, this tool makes it easy to reap what you sow." + force = 13 + throwforce = 5 + throw_speed = 1 + throw_range = 3 + w_class = 4 + flags = NOSHIELD + slot_flags = SLOT_BACK + origin_tech = "materials=2;combat=2" + attack_verb = list("chopped", "sliced", "cut", "reaped") diff --git a/code/game/objects/items/weapons/storage/belt.dm b/code/game/objects/items/weapons/storage/belt.dm index 79b1852e7b..7080cd1931 100644 --- a/code/game/objects/items/weapons/storage/belt.dm +++ b/code/game/objects/items/weapons/storage/belt.dm @@ -33,8 +33,8 @@ /obj/item/device/analyzer, /obj/item/taperoll/engineering, /obj/item/device/robotanalyzer, - /obj/item/weapon/minihoe, - /obj/item/weapon/hatchet, + /obj/item/weapon/material/minihoe, + /obj/item/weapon/material/hatchet, /obj/item/device/analyzer/plant_analyzer, /obj/item/weapon/extinguisher/mini ) diff --git a/code/game/objects/items/weapons/tools.dm b/code/game/objects/items/weapons/tools.dm index 59be97631e..41d1f8d63f 100644 --- a/code/game/objects/items/weapons/tools.dm +++ b/code/game/objects/items/weapons/tools.dm @@ -494,7 +494,7 @@ /obj/item/weapon/wirecutters, /obj/item/weapon/material/kitchen/utensil/knife, /obj/item/weapon/material/kitchen/utensil/fork, - /obj/item/weapon/hatchet + /obj/item/weapon/material/hatchet ) var/list/tools = list() var/current_tool = 1 diff --git a/code/game/objects/structures/crates_lockers/closets/secure/hydroponics.dm b/code/game/objects/structures/crates_lockers/closets/secure/hydroponics.dm index 019d4873bc..bf7aa92fa6 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/hydroponics.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/hydroponics.dm @@ -21,8 +21,8 @@ new /obj/item/device/analyzer/plant_analyzer(src) new /obj/item/device/radio/headset/headset_service(src) new /obj/item/clothing/head/greenbandana(src) - new /obj/item/weapon/minihoe(src) - new /obj/item/weapon/hatchet(src) + new /obj/item/weapon/material/minihoe(src) + new /obj/item/weapon/material/hatchet(src) new /obj/item/weapon/wirecutters/clippers(src) new /obj/item/weapon/reagent_containers/spray/plantbgone(src) // new /obj/item/weapon/bee_net(src) //No more bees, March 2014 diff --git a/code/game/objects/structures/crates_lockers/crates.dm b/code/game/objects/structures/crates_lockers/crates.dm index 95e8c06e85..96bdae2336 100644 --- a/code/game/objects/structures/crates_lockers/crates.dm +++ b/code/game/objects/structures/crates_lockers/crates.dm @@ -486,7 +486,7 @@ ..() new /obj/item/weapon/reagent_containers/spray/plantbgone(src) new /obj/item/weapon/reagent_containers/spray/plantbgone(src) - new /obj/item/weapon/minihoe(src) + new /obj/item/weapon/material/minihoe(src) // new /obj/item/weapon/weedspray(src) // new /obj/item/weapon/weedspray(src) // new /obj/item/weapon/pestspray(src) diff --git a/code/modules/clothing/suits/jobs.dm b/code/modules/clothing/suits/jobs.dm index c4584e7416..e4188212c7 100644 --- a/code/modules/clothing/suits/jobs.dm +++ b/code/modules/clothing/suits/jobs.dm @@ -10,7 +10,7 @@ item_state = "apron" blood_overlay_type = "armor" body_parts_covered = 0 - allowed = list (/obj/item/weapon/reagent_containers/spray/plantbgone,/obj/item/device/analyzer/plant_analyzer,/obj/item/seeds,/obj/item/weapon/reagent_containers/glass/fertilizer,/obj/item/weapon/minihoe) + allowed = list (/obj/item/weapon/reagent_containers/spray/plantbgone,/obj/item/device/analyzer/plant_analyzer,/obj/item/seeds,/obj/item/weapon/reagent_containers/glass/fertilizer,/obj/item/weapon/material/minihoe) sprite_sheets = list("Vox" = 'icons/mob/species/vox/suit.dmi') //Captain /obj/item/clothing/suit/captunic diff --git a/code/modules/clothing/under/accessories/storage.dm b/code/modules/clothing/under/accessories/storage.dm index 53cc648eb5..8ef17ca0b1 100644 --- a/code/modules/clothing/under/accessories/storage.dm +++ b/code/modules/clothing/under/accessories/storage.dm @@ -72,11 +72,11 @@ /obj/item/clothing/accessory/storage/knifeharness/New() ..() hold.max_storage_space = 4 - hold.can_hold = list(/obj/item/weapon/hatchet/unathiknife,\ + hold.can_hold = list(/obj/item/weapon/material/hatchet/unathiknife,\ /obj/item/weapon/material/kitchen/utensil/knife,\ /obj/item/weapon/material/kitchen/utensil/knife/plastic,\ /obj/item/weapon/material/knife,\ /obj/item/weapon/material/knife/ritual) - new /obj/item/weapon/hatchet/unathiknife(hold) - new /obj/item/weapon/hatchet/unathiknife(hold) + new /obj/item/weapon/material/hatchet/unathiknife(hold) + new /obj/item/weapon/material/hatchet/unathiknife(hold) diff --git a/code/modules/hydroponics/grown.dm b/code/modules/hydroponics/grown.dm index 2f6dc0ad73..0f8d214c8e 100644 --- a/code/modules/hydroponics/grown.dm +++ b/code/modules/hydroponics/grown.dm @@ -192,7 +192,7 @@ qdel(src) return else if(seed.chems) - if(istype(W,/obj/item/weapon/hatchet) && !isnull(seed.chems["woodpulp"])) + if(istype(W,/obj/item/weapon/material/hatchet) && !isnull(seed.chems["woodpulp"])) user.show_message("You make planks out of \the [src]!", 1) for(var/i=0,i<2,i++) var/obj/item/stack/sheet/wood/NG = new (user.loc) diff --git a/code/modules/hydroponics/grown_inedible.dm b/code/modules/hydroponics/grown_inedible.dm index 94e8e5a0e1..01fd8764d8 100644 --- a/code/modules/hydroponics/grown_inedible.dm +++ b/code/modules/hydroponics/grown_inedible.dm @@ -45,7 +45,7 @@ /obj/item/weapon/corncob/attackby(obj/item/weapon/W as obj, mob/user as mob) ..() - if(istype(W, /obj/item/weapon/circular_saw) || istype(W, /obj/item/weapon/hatchet) || istype(W, /obj/item/weapon/material/kitchen/utensil/knife) || istype(W, /obj/item/weapon/material/knife) || istype(W, /obj/item/weapon/material/knife/ritual)) + if(istype(W, /obj/item/weapon/circular_saw) || istype(W, /obj/item/weapon/material/hatchet) || istype(W, /obj/item/weapon/material/kitchen/utensil/knife) || istype(W, /obj/item/weapon/material/knife) || istype(W, /obj/item/weapon/material/knife/ritual)) user << "You use [W] to fashion a pipe out of the corn cob!" new /obj/item/clothing/mask/smokable/pipe/cobpipe (user.loc) qdel(src) diff --git a/code/modules/hydroponics/trays/tray.dm b/code/modules/hydroponics/trays/tray.dm index ea20f2c0e3..7726775a1d 100644 --- a/code/modules/hydroponics/trays/tray.dm +++ b/code/modules/hydroponics/trays/tray.dm @@ -475,7 +475,7 @@ else user << "\The [src] already has seeds in it!" - else if (istype(O, /obj/item/weapon/minihoe)) // The minihoe + else if (istype(O, /obj/item/weapon/material/minihoe)) // The minihoe if(weedlevel > 0) user.visible_message("[user] starts uprooting the weeds.", "You remove the weeds from the [src].") diff --git a/code/modules/hydroponics/trays/tray_apiary.dm b/code/modules/hydroponics/trays/tray_apiary.dm index 4ac67613a6..80280fecde 100644 --- a/code/modules/hydroponics/trays/tray_apiary.dm +++ b/code/modules/hydroponics/trays/tray_apiary.dm @@ -63,7 +63,7 @@ else user << "\blue You insert [O] into [src]. Now it just needs some bees." qdel(O) - else if(istype(O, /obj/item/weapon/minihoe)) + else if(istype(O, /obj/item/weapon/material/minihoe)) if(health > 0) user << "\red You begin to dislodge the apiary from the tray, the bees don't like that." angry_swarm(user) diff --git a/code/modules/hydroponics/trays/tray_reagents.dm b/code/modules/hydroponics/trays/tray_reagents.dm index 8dac48ca8a..7583deae41 100644 --- a/code/modules/hydroponics/trays/tray_reagents.dm +++ b/code/modules/hydroponics/trays/tray_reagents.dm @@ -48,7 +48,7 @@ toxicity = 8 pest_kill_str = 7 -/obj/item/weapon/minihoe // -- Numbers +/obj/item/weapon/material/minihoe // -- Numbers name = "mini hoe" desc = "It's used for removing weeds or scratching your back." icon = 'icons/obj/weapons.dmi' diff --git a/code/modules/hydroponics/trays/tray_tools.dm b/code/modules/hydroponics/trays/tray_tools.dm index 912d06b3d1..42fa0fb626 100644 --- a/code/modules/hydroponics/trays/tray_tools.dm +++ b/code/modules/hydroponics/trays/tray_tools.dm @@ -204,69 +204,3 @@ user << browse(dat,"window=plant_analyzer") return - -/obj/item/weapon/minihoe // -- Numbers - name = "mini hoe" - desc = "It's used for removing weeds or scratching your back." - icon = 'icons/obj/weapons.dmi' - icon_state = "hoe" - item_state = "hoe" - flags = CONDUCT | NOBLUDGEON - force = 5.0 - throwforce = 7.0 - w_class = 2.0 - matter = list(DEFAULT_WALL_MATERIAL = 50) - attack_verb = list("slashed", "sliced", "cut", "clawed") - -//Hatchets and things to kill kudzu -/obj/item/weapon/hatchet - name = "hatchet" - desc = "A very sharp axe blade upon a short fibremetal handle. It has a long history of chopping things, but now it is used for chopping wood." - icon = 'icons/obj/weapons.dmi' - icon_state = "hatchet" - flags = CONDUCT - force = 12.0 - w_class = 2 - throwforce = 15.0 - throw_speed = 4 - throw_range = 4 - sharp = 1 - edge = 1 - matter = list(DEFAULT_WALL_MATERIAL = 15000) - origin_tech = "materials=2;combat=1" - attack_verb = list("chopped", "torn", "cut") - -/obj/item/weapon/hatchet/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob) - playsound(loc, 'sound/weapons/bladeslice.ogg', 50, 1, -1) - return ..() - -//If it's a hatchet it goes here. I guess -/obj/item/weapon/hatchet/unathiknife - name = "duelling knife" - desc = "A length of leather-bound wood studded with razor-sharp teeth. How crude." - icon = 'icons/obj/weapons.dmi' - icon_state = "unathiknife" - attack_verb = list("ripped", "torn", "cut") - -/obj/item/weapon/hatchet/tacknife - name = "tactical knife" - desc = "You'd be killing loads of people if this was Medal of Valor: Heroes of Nyx." - icon = 'icons/obj/weapons.dmi' - icon_state = "tacknife" - item_state = "knife" - attack_verb = list("stabbed", "chopped", "cut") - - -/obj/item/weapon/scythe - icon_state = "scythe0" - name = "scythe" - desc = "A sharp and curved blade on a long fibremetal handle, this tool makes it easy to reap what you sow." - force = 13.0 - throwforce = 5.0 - throw_speed = 1 - throw_range = 3 - w_class = 4.0 - flags = NOSHIELD - slot_flags = SLOT_BACK - origin_tech = "materials=2;combat=2" - attack_verb = list("chopped", "sliced", "cut", "reaped") diff --git a/code/modules/mob/living/bot/farmbot.dm b/code/modules/mob/living/bot/farmbot.dm index f1c84f3866..489a856eb8 100644 --- a/code/modules/mob/living/bot/farmbot.dm +++ b/code/modules/mob/living/bot/farmbot.dm @@ -241,7 +241,7 @@ visible_message("[src] blows apart!") var/turf/Tsec = get_turf(src) - new /obj/item/weapon/minihoe(Tsec) + new /obj/item/weapon/material/minihoe(Tsec) new /obj/item/weapon/reagent_containers/glass/bucket(Tsec) new /obj/item/device/assembly/prox_sensor(Tsec) new /obj/item/device/analyzer/plant_analyzer(Tsec) @@ -326,7 +326,7 @@ user.remove_from_mob(W) qdel(W) - else if((istype(W, /obj/item/weapon/minihoe)) && (build_step == 2)) + else if((istype(W, /obj/item/weapon/material/minihoe)) && (build_step == 2)) build_step++ user << "You add a minihoe to [src]." name = "farmbot assembly with bucket and minihoe" diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm index 1b15a3681f..decf9304a0 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules.dm @@ -484,8 +484,8 @@ var/global/list/robot_modules = list( src.modules += new /obj/item/device/flash(src) src.modules += new /obj/item/weapon/gripper/service(src) src.modules += new /obj/item/weapon/reagent_containers/glass/bucket(src) - src.modules += new /obj/item/weapon/minihoe(src) - src.modules += new /obj/item/weapon/hatchet(src) + src.modules += new /obj/item/weapon/material/minihoe(src) + src.modules += new /obj/item/weapon/material/hatchet(src) src.modules += new /obj/item/device/analyzer/plant_analyzer(src) src.modules += new /obj/item/weapon/storage/bag/plants(src) src.modules += new /obj/item/weapon/robot_harvester(src) diff --git a/code/modules/research/xenoarchaeology/artifact/artifact_replicator.dm b/code/modules/research/xenoarchaeology/artifact/artifact_replicator.dm index 8cfd141c28..66b5f7dc7d 100644 --- a/code/modules/research/xenoarchaeology/artifact/artifact_replicator.dm +++ b/code/modules/research/xenoarchaeology/artifact/artifact_replicator.dm @@ -50,7 +50,7 @@ /obj/item/weapon/clipboard,\ /obj/item/weapon/cell,\ /obj/item/weapon/circular_saw,\ - /obj/item/weapon/hatchet,\ + /obj/item/weapon/material/hatchet,\ /obj/item/weapon/handcuffs,\ /obj/item/weapon/hemostat,\ /obj/item/weapon/material/knife,\ diff --git a/code/modules/surgery/encased.dm b/code/modules/surgery/encased.dm index fedf5bbc1c..8e1a516384 100644 --- a/code/modules/surgery/encased.dm +++ b/code/modules/surgery/encased.dm @@ -18,7 +18,7 @@ /datum/surgery_step/open_encased/saw allowed_tools = list( /obj/item/weapon/circular_saw = 100, \ - /obj/item/weapon/hatchet = 75 + /obj/item/weapon/material/hatchet = 75 ) min_duration = 50 diff --git a/code/modules/surgery/generic.dm b/code/modules/surgery/generic.dm index 31c7cbb78f..c1e51d9c4d 100644 --- a/code/modules/surgery/generic.dm +++ b/code/modules/surgery/generic.dm @@ -276,7 +276,7 @@ /datum/surgery_step/generic/amputate allowed_tools = list( /obj/item/weapon/circular_saw = 100, \ - /obj/item/weapon/hatchet = 75 + /obj/item/weapon/material/hatchet = 75 ) min_duration = 110 diff --git a/code/modules/surgery/slimes.dm b/code/modules/surgery/slimes.dm index 2f9629bade..3d9865c511 100644 --- a/code/modules/surgery/slimes.dm +++ b/code/modules/surgery/slimes.dm @@ -64,7 +64,7 @@ /datum/surgery_step/slime/saw_core allowed_tools = list( /obj/item/weapon/circular_saw = 100, \ - /obj/item/weapon/hatchet = 75 + /obj/item/weapon/material/hatchet = 75 ) min_duration = 50 diff --git a/maps/exodus-1.dmm b/maps/exodus-1.dmm index a8fb728b9c..96ee3f159e 100644 --- a/maps/exodus-1.dmm +++ b/maps/exodus-1.dmm @@ -1144,7 +1144,7 @@ "avZ" = (/obj/machinery/light/small,/obj/structure/mopbucket,/obj/item/weapon/mop,/turf/simulated/floor{icon_state = "freezerfloor"},/area/security/prison) "awa" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/structure/mirror{pixel_x = 30},/obj/item/weapon/soap/nanotrasen,/turf/simulated/floor{icon_state = "freezerfloor"},/area/security/prison) "awb" = (/obj/structure/table/standard,/obj/machinery/camera/network/exodus{c_tag = "Primary Hallway Port - East"; dir = 1},/turf/simulated/floor,/area/hallway/primary/port) -"awc" = (/obj/structure/table/standard,/obj/item/weapon/hatchet,/obj/item/weapon/minihoe,/turf/simulated/floor{icon_state = "green"; dir = 8},/area/hydroponics) +"awc" = (/obj/structure/table/standard,/obj/item/weapon/material/hatchet,/obj/item/weapon/material/minihoe,/turf/simulated/floor{icon_state = "green"; dir = 8},/area/hydroponics) "awd" = (/obj/machinery/door/airlock/external{frequency = 1331; icon_state = "door_locked"; id_tag = "nuke_shuttle_dock_outer"; locked = 1; name = "Docking Port Airlock"; req_access = list(13)},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1331; master_tag = "nuke_shuttle_dock_airlock"; name = "exterior access button"; pixel_x = -5; pixel_y = -26; req_one_access = list(13)},/turf/simulated/floor/plating,/area/hallway/secondary/entry/port) "awe" = (/obj/machinery/vending/hydronutrients,/turf/simulated/floor,/area/security/prison) "awf" = (/obj/item/weapon/stool,/turf/simulated/floor{icon_state = "blue"; dir = 4},/area/crew_quarters/fitness) @@ -2634,7 +2634,7 @@ "aYH" = (/obj/structure/table/standard,/obj/structure/bedsheetbin,/turf/simulated/floor,/area/security/prison) "aYI" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor,/area/security/vacantoffice) "aYJ" = (/obj/structure/table/standard,/obj/machinery/light{dir = 8},/obj/machinery/microwave,/turf/simulated/floor,/area/security/prison) -"aYK" = (/obj/structure/table/standard,/obj/item/weapon/minihoe,/obj/item/device/analyzer/plant_analyzer,/obj/item/clothing/head/greenbandana,/turf/simulated/floor,/area/security/prison) +"aYK" = (/obj/structure/table/reinforced,/obj/item/weapon/material/hatchet,/obj/item/weapon/material/minihoe,/turf/simulated/floor{icon_state = "grimy"},/area/hydroponics/garden) "aYL" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/turf/simulated/floor,/area/security/vacantoffice) "aYM" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/hologram/holopad,/turf/simulated/floor,/area/bridge) "aYN" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/donkpockets,/obj/item/weapon/storage/box/donkpockets{pixel_x = -3; pixel_y = -3},/turf/simulated/floor,/area/security/prison) @@ -2780,7 +2780,7 @@ "bbx" = (/obj/structure/table/standard,/obj/machinery/requests_console{department = "Tool Storage"; departmentType = 0; pixel_y = 30},/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/machinery/camera/network/civilian_west{c_tag = "Tool Storage - Primary"},/turf/simulated/floor,/area/storage/primary) "bby" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/hydroponics/garden) "bbz" = (/obj/structure/table/reinforced,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "grimy"},/area/hydroponics/garden) -"bbA" = (/obj/structure/table/reinforced,/obj/item/weapon/hatchet,/obj/item/weapon/minihoe,/turf/simulated/floor{icon_state = "grimy"},/area/hydroponics/garden) +"bbA" = (/obj/structure/table/standard,/obj/item/weapon/material/minihoe,/obj/item/device/analyzer/plant_analyzer,/obj/item/clothing/head/greenbandana,/turf/simulated/floor,/area/security/prison) "bbB" = (/turf/simulated/floor{icon_state = "green"; dir = 8},/area/hydroponics/garden) "bbC" = (/obj/structure/flora/ausbushes/fernybush,/turf/simulated/floor/grass,/area/hydroponics/garden) "bbD" = (/obj/machinery/door/airlock/glass_command{name = "Bridge"; req_access = list(19)},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/bridge) @@ -7478,7 +7478,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatkatlatmaaaatnatoatpaaaaafatqatWatqaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaafaaaaaaaaaalkaaaaaaaaaaafaaaaaaaaaaamaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaanXatsattagDagDagDagWagWagWagWalWalWalWalWalWatuaonaoratvaqEatwalWalWalWatxatxatxarAatyatzatAarEatBasZasZasZasZatCatDatEatFatGatHavTavUatKatLatMatNatOatPatPatPatPatPatPatPatPatPatPatRatRatRatRatRatRatRatRatRatRaumaafaaaaaaaaaaaaaamaaaapIapIapIapIapIaafalJaafapIapIapIapIapIaaaaaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaihaihaihaihaihaihaihaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatSatTaLAatTatSatVaLBatVatSaafatqawvatYaaaaaaaaaaaaaaaaaaaaaaaIaafanVanVanVanVanVaafalkaafanVanVanVanVanVaafaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafatZauaanYaubaucanXaafaafalWaudaueaufaugauhawMaonapnaonasJaqEaujaukaulawRaunauKauparAauqaurausarEatBasZauLaxdauMatCauxauyatFatGauzauAauBauCauDatMatNauEauFauGauHauIauHauJauwauOauPaxsatRatRatRatRatRatRatRatRatRatRavcaafaaaaaaaaaaaaaamaaaaafaaaaafaafaaaaaabepaaaaaaaafaaaaaaaafaaaaaIaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauNatTavmatTauNatVavyatVauNauQauRaxuauTauUauUauVauQauQaafaaaaaIaafalzalyalyalyalyalAalkallaivaivaivaivagEaafaaIaaaaaaaaaaaaaaaaaaaaaaaaanXanXanXauWanXanXapbaucanXaaaaaaalWauXalWauYauZavaalWaZYavzaonavdaveaveavfavgaveavhaviavjarAavkauravlarEatBasZavAavoavJatCawravqatFatGauzauAavravsavtatMatNavuavvauGauHauHauHauJavwavQawfavVatRatRatRatRatRatRatRatRatRatRavcaafaaaaaaaaaaaaaamaamaaIaaaaaaaafaaaaaaabpaaaaafaafaafaafaaIaaIaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauNavBaxyavDauNavEaxAavGauNavHavIaxCavKavLavMavNavOauQaaaaaaaaqaaaapJapJapJapJapJaafbeSaafapJapJapJapJapJaaaaaIaaaaaaaaaaaaaaaaaaaaaaaaawkaxGavSayqaxOawoavWavXanXaaaaaaalWalWalWavYavZawaalWaYJaYNaYKaweawpaYHaukawhawxautawyawlarAawmaurayzarEatBasZawzawUawYaxaaxbawZatFatFatFawsawtawuatFatFatNayNawwauGauHauHauHauJawAavxawfaykatRatRatRatRatRatRatRatRatRatRavcaafaaaaaaaaaaaaaaaaaaaafaafaaaaafaaaaaaaYxaaaaaaaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauNavBaxyavDauNavEaxAavGauNavHavIaxCavKavLavMavNavOauQaaaaaaaaqaaaapJapJapJapJapJaafbeSaafapJapJapJapJapJaaaaaIaaaaaaaaaaaaaaaaaaaaaaaaawkaxGavSayqaxOawoavWavXanXaaaaaaalWalWalWavYavZawaalWaYJaYNbbAaweawpaYHaukawhawxautawyawlarAawmaurayzarEatBasZawzawUawYaxaaxbawZatFatFatFawsawtawuatFatFatNayNawwauGauHauHauHauJawAavxawfaykatRatRatRatRatRatRatRatRatRatRavcaafaaaaaaaaaaaaaaaaaaaafaafaaaaafaaaaaaaYxaaaaaaaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauNawGawHawIauNawGawHawIauNawJavHavHavHavHavHavHavHasAaaaaaaaaIaaaaafaaaaafaafaaaaaaaZhaaaaaaaafaaaaaaaafaaaaaIaafaaaaaaaafaafaaaaaaaafawPaxGawQazgaxOawSaucawTanXaafaaLcqTatxatxatxatxatxatxatxatxatxatxatxatxatxatxatxatxatxatxarAawVaurawWarEatBasZawBaxjawCatCaxVavnazpaxcaxfaxeaxhaxgaxhaxiaxkaxlaxmaxnaxoaxoaxoaxnaxmavxawEawDatRatRatRatRatRatRatRatRatRatRavcaafaaaaaaaaaaaaaaaaaaaaaaafaafaafaaaazoaYUazoaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaatSauNazFaxxatSauNazUaxxatSauNaAbauNauNauNauNauNavHatqaaaaaaaaIaaIaaIaaaaaaaafaaaaxBaZnaxBaafaafaafaafaaIaaIaaIaafanXanXanXanXaxDaxEaxEaxFanXanXanXanXaAvaucaucanXaxHaxIanXanXaxJaxKaxLaxMaxMaxMaxMaxMaxMaxMaxMaxNaxMaxMaxMaxMaxMaAHaxPaxQaxRaAHavpasZaxSawjcfSatCaxVaxXaxXaxXaxZaxYayaawLaxXavqaydayeayfaygayhayhayhayhawXavxawEawDatRatRatRatRatRatRatRatRatRatRavcaafaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaaAuaBaaAuaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaynayoaypayoaBcayoayrayoaysaytayvayvayvayvaywauNawNatqaaaaafaafaaaaaaaaaaaaaafaaaayyaBkayAaafaaaaafaaaaaaaaaaaaaaaanXayBayCayDayCayCayCayCayEayCayCayFayGayDayHayIaxMaxMaxMaxMaxMaxMayJayKayLayLayLayLayMayLayLaZsayLayMayLayLayLarAaBEayPayQarEaAiasZcfSaycaxUatCayUayTayWaxpayYayXayYaxqayTazaazbazcazdazeazdazdazfaxraBOaxtaxTaxvatRatRatRatRatRatRatRatRatRatRavcaafaaaaaaaaaaaaaaaaaaaaaaaaaafaafaBuaBvaZraBxaByaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -7500,7 +7500,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaT aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDawdcmVaXzaXCaDPaVsaVsaVtaVsaVsaVsaVDaVsaVsaVtaVsaVsaYEaWYaVuaVvaKdaKdaKdaKdaKdaVwaVxaVyaXGaIAaTQaTQaVAaTSaVBaTUaTUaTUaTUaTUaTYaVCaTUaTUaTUaUdaUeawgaVEaVFaUeaUiaVGaVHaKeaKcaVKaUmaXIaVMaVNaVOaxwaVQaMkaSzaKOaUoaaaaaaaaaaaaaUpaUpaUpaUpaVRaSlaVTaXEaVVaSDaVXaXFaVZaSOaWbaUpaUpaUpaUpaaaaaaaaaaaaaUAaSNaRqaRpaWcaSSaSPaWeaTkaSSaTsaUWaWiaVSaVLaVWaWmaWnaQbaXNaWpaWqaWraWsaWtaWtaWuaWvaXXaWaaWyaWdaWAaWBaWCaWDaWEaTeaJRaIgaThaONaRLaRMaONaONaONaYqaWGaONaWHaGGaWIaWJaToaToaToaTqaIoaYsaGGaWfaVoaLuaWQaVoaWRaWSaWTaWTaWUaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTGaGgaTHaGiaBIaBIaBIaWVaWWaWWaWWaWWaWWaWWaWWaWXaBIaBLcpSaWZaIAaXcaXbaXbaXbaYraXdaIAaIAaIAaIAaTQaXeaXfaTSaXgaTUaTUaWgaNXaHIaQlaWgaTUaTUaTUaYwaUeaRyaUfaSvaUeaUiaVGaXpaKfaXraXsaUmaXtaxwaURaXvaUjaXxaMkaSzaKOaMmaSCaMbaXyaUpaUpaVYaXAaYyaYAaXDaXDaXEaXFaYMaXEaXFaXDaXDaXHaYVaXJaXBaUpaUpaXyaJlaXLaXMaSNaRqaRpaJlaZgaSPaXjaTkaSSaXPaXQaSSaWhaXSaTkaSSaXTaOtaXUaXVaUQaXkaXiaXOaVPaYaaYbaYcaYdaYeaWjaYgaWBaYhaWDaYiaTeaJRaIgaYjaYjaRLaRMaWlaONaONaYlaONaWzaWxaGGaIoaXRaXhaToaYfaYkaZXaWLbaOaYmaWOaZcaVoaYvaUSbaBbanaYzaVzaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaafaYCaYDcpKaYFaWPaEfaEfaYIaKpaKQaYLbaPaKxaYOaYPaYQaYRaYSaTSaYTaTUaTUaWgaHIaIKaISaWgaTUaTUaYWaUdaUeaUeaUeaUeaUeaUiaVGaVGaVGaVGaVGaUmaYYaXvaYZaXvaXvaXxaMkaSzaKOaNSaNSaZaaZbaWNaUpaZdaYnaZfbaTbaSbaVbaUbaXbaWbaZbaYbbbbbabbcaZfaYoaZjaUpaWMaZbaZlaZmbbeaSNaRqaRpaWcaSSaSSaSSaSSaSSaXPaZoaSSaWhaZpaTkaSSaXTaOtaZqaXVaUQaNcaNeaNPaLwaYaaYpaZwaYdaYeaWjaYgaWBaYhaZxaZyaZzbbfaZzaZzaZzaZBaZCaZDaYtaOOaZFaZGaZHaZIaGGaZJaYXaYGaToaZeaYGaIoaIoaXaaZiaVoaYuaVoaZNaZOaZPaZQaWTaZRaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaZSaZTaZUbjnaZWaSFaXwaZkbaaaZvaXWbadbaeaXYaYObagbahbaibajaTSbakbalbambbhbaobapbaqbarbarbarbasbataTSbaubavbawbaxaKgbajbnZaKhbajbkZaUmbaDbaEbaFbaGbaHbaIaMkbaJbaKaMkbaLbaMbbDbcybbPbbLbaRbaQbbQaUpaUpaUpaUpaUpbcDaUpaUpaUpbbRbaQbbdbbSbbWbeobcabbibbjbbkbblbbmbbnaJlaUDaSPbboaTkaSSaZAaZEbbraZKaXjaTkaSSaXTbbtaULaXVbbubbvbbwaUQaUQaYaaXZbbybbzbbAbbBaYgaWBbbCaWDbcuaZzaZLbbFbbFbbGbbHbbIaRLaRLaRLaRLaRLaRLaRLaGGbbJaXRaXhaToaYfaXhaIobbKaGGbcBaVoaYuaVoaZNbbMbbNbbOaafaafaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaZSaZTaZUbjnaZWaSFaXwaZkbaaaZvaXWbadbaeaXYaYObagbahbaibajaTSbakbalbambbhbaobapbaqbarbarbarbasbataTSbaubavbawbaxaKgbajbnZaKhbajbkZaUmbaDbaEbaFbaGbaHbaIaMkbaJbaKaMkbaLbaMbbDbcybbPbbLbaRbaQbbQaUpaUpaUpaUpaUpbcDaUpaUpaUpbbRbaQbbdbbSbbWbeobcabbibbjbbkbblbbmbbnaJlaUDaSPbboaTkaSSaZAaZEbbraZKaXjaTkaSSaXTbbtaULaXVbbubbvbbwaUQaUQaYaaXZbbybbzaYKbbBaYgaWBbbCaWDbcuaZzaZLbbFbbFbbGbbHbbIaRLaRLaRLaRLaRLaRLaRLaGGbbJaXRaXhaToaYfaXhaIobbKaGGbcBaVoaYuaVoaZNbbMbbNbbOaafaafaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaXubcFbcZaXmbbUaSFbaabaabaabaabaabbVbaaaXoaYObbXbbYbaibbZbbZbbZbbZbdKbbZbcbaTUbccbcdbcebcebcfbcgaTSaXebchbcibcjaKibdQblcaKkbcobcobcpbcpbcpbcpbcpbcqaMbbcrbcsbctbeabcvbcwbcxbbgaUpbczbcAbeeaUpaUpaaaaaaaafaafbekaaaaaaaUpaUpbezbcGbczaUpbbgbcxbcHbcIbcJbcKbcLaRpaWcaSSaSSaSSaSSaSSaGpbcMaSSbcNaSSbcObcObcObcObeBbcQbcRbcSaUQaUQaUQbeMbcUaTeaZMbcWbcXaYgaWBaYhaWDbcYaZzaZZbdabdbbdcbddbdebddbddbddbddbddbdfbdgbdhbdibdjbdkbdlbdmbdnbdobdpbdqbdraVoaYubdsaZNaVobeNbbOaafaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBbdubdvaZUbdwbdxaSFaEfbabbaaaZvaDobbVbaabdAaYObbpbdCbaibbZbdDbdEbdFbdGbbZaEgbdIbdJaTSbeRbdLbdMbdNaTSaXebdObdPbdPbeVbdPbdPbdPbdPbdRbdSbdSbdSbdTbdSbdUaMbbdVbdWbdXbdYbdYbdYbdYbdYbdYbdZbeWbdZbdYbebbebbebbebbebbecbebbebbebbedbedbfobedaUpaUpaUpaJiaJiaJibcKbcLaRpaJlbefbegaDmbehaSSbeibcMbejbfqbelbcObcObembenaZzaZzaZzbfwaSGaSGaSGaZzaZzaZzbeqberbesbetaWBaYhaYhbeuaZzbevbewbbqaZzbeybbsbeAaYtbfxbbEbeDbcmaONaGGaIobeFbeGbeHbeFbeIaIoaIoaGGbeJaVoaYuaVoaZNbeKbeLbbOaafaafaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaafbeObePbeQbfWaRtaEfaEdbeUaEcaDobbVbgNbgMaYObeXbeYbaibbZbbZbbZbeZbfabbZbfbbdIbfcaTSbeRbdLbdMbfdaTSaXebdObdPbfebffbfgbfgbfhbdPbfibcVbfkbflbfmbfmbfmaMbaMkbcsbctbdYbfnbgUbfpbgWbfrbfsbftbfubdYbebbfvbgXbfvbhebhCbfvbdybebbedbfCbfDbfEbfFbfGbfHbfIbfJaJibfKbfLbfMaJlaZzaZzaZzaZzbfNbfObfPbfQaZzaZzbfRaZzaZzaZzaZzbfSbfTbfUbfVbfVbfVbhJbfXaZzbfYbfZbgabgbbgcbgcbgcbgdaZzbevbewbdBaZzaZzaZzaZzaZzaZzaZzaZzaZzaZzaZzbgfbggbghbgibgjbgfbggaZzaRZbgkaVoaYuaVoaZNaZObglbgmaWTaZRaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa diff --git a/maps/exodus-2.dmm b/maps/exodus-2.dmm index c3f06346e7..efa20f88d2 100644 --- a/maps/exodus-2.dmm +++ b/maps/exodus-2.dmm @@ -1993,7 +1993,7 @@ "Mq" = (/obj/machinery/door/airlock/medical{name = "Operating Theatre"; req_access = list(45)},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/holding) "Mr" = (/obj/structure/table/rack,/obj/item/weapon/gun/energy/ionrifle,/obj/item/weapon/material/harpoon,/obj/item/clothing/suit/space/void/merc,/obj/item/clothing/head/helmet/space/void/merc,/obj/item/clothing/head/helmet/space/void/engineering,/obj/item/clothing/suit/space/void/engineering,/obj/item/weapon/tank/oxygen,/obj/item/weapon/tank/oxygen,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/weapon/rig/light/stealth,/turf/simulated/shuttle/plating,/area/shuttle/skipjack/station) "Ms" = (/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/shuttle/plating,/area/shuttle/skipjack/station) -"Mt" = (/obj/structure/table/standard,/obj/item/seeds/potatoseed,/obj/item/seeds/potatoseed,/obj/item/seeds/ambrosiavulgarisseed,/obj/item/weapon/minihoe,/turf/simulated/shuttle/plating,/area/shuttle/skipjack/station) +"Mt" = (/obj/structure/table/standard,/obj/item/seeds/potatoseed,/obj/item/seeds/potatoseed,/obj/item/seeds/ambrosiavulgarisseed,/obj/item/weapon/material/minihoe,/turf/simulated/shuttle/plating,/area/shuttle/skipjack/station) "Mu" = (/obj/structure/table/standard,/obj/machinery/microwave{pixel_x = -1; pixel_y = 8},/turf/simulated/shuttle/plating,/area/shuttle/skipjack/station) "Mv" = (/obj/machinery/vending/hydroseeds,/turf/simulated/shuttle/plating,/area/shuttle/skipjack/station) "Mw" = (/obj/machinery/airlock_sensor{frequency = 1331; id_tag = "vox_west_sensor"; pixel_x = 25},/turf/simulated/shuttle/plating,/area/shuttle/skipjack/station) diff --git a/maps/exodus-5.dmm b/maps/exodus-5.dmm index 82aaceacae..700ab1b105 100644 --- a/maps/exodus-5.dmm +++ b/maps/exodus-5.dmm @@ -481,7 +481,7 @@ "jm" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/carpet,/area/outpost/research/hallway) "jn" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock"},/obj/machinery/door/airlock{id_tag = "rddorm1"; name = "Dorm 1"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "carpet"},/area/outpost/research/hallway) "jo" = (/obj/structure/table/standard,/obj/item/device/analyzer/plant_analyzer,/obj/item/weapon/cell,/obj/item/stack/cable_coil/random,/obj/item/stack/cable_coil/random,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/outpost/research/chemistry) -"jp" = (/obj/structure/closet/crate/hydroponics,/obj/item/weapon/shovel/spade,/obj/item/weapon/reagent_containers/glass/bucket,/obj/item/weapon/minihoe,/obj/item/weapon/reagent_containers/spray/plantbgone{pixel_x = 13; pixel_y = 5},/obj/item/weedkiller/triclopyr,/obj/item/weapon/reagent_containers/glass/fertilizer/ez,/turf/simulated/floor/plating,/area/outpost/research/chemistry) +"jp" = (/obj/structure/closet/crate/hydroponics,/obj/item/weapon/shovel/spade,/obj/item/weapon/reagent_containers/glass/bucket,/obj/item/weapon/material/minihoe,/obj/item/weapon/reagent_containers/spray/plantbgone{pixel_x = 13; pixel_y = 5},/obj/item/weedkiller/triclopyr,/obj/item/weapon/reagent_containers/glass/fertilizer/ez,/turf/simulated/floor/plating,/area/outpost/research/chemistry) "jq" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"},/area/mine/explored) "jr" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock"},/obj/machinery/door/airlock/maintenance{name = "Auxiliary Storage"; req_one_access = list(65,12)},/turf/simulated/floor{icon_state = "white"},/area/outpost/research/chemistry) "js" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"},/area/mine/explored) From 358867f3b5d2696ace17bf1b3b186055c86a7527 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Sun, 17 May 2015 01:30:46 +0930 Subject: [PATCH 11/45] Major sheet and material refactor. --- baystation12.dme | 5 +- code/TriDimension/Structures.dm | 2 +- code/datums/supplypacks.dm | 10 +- code/game/gamemodes/cult/cultify/obj.dm | 2 +- code/game/gamemodes/objective.dm | 16 +- code/game/machinery/autolathe.dm | 2 +- code/game/machinery/autolathe_datums.dm | 6 +- code/game/machinery/bioprinter.dm | 4 +- code/game/machinery/camera/camera_assembly.dm | 2 +- code/game/machinery/camera/presets.dm | 4 +- code/game/machinery/computer/ai_core.dm | 8 +- .../game/machinery/computer/buildandrepair.dm | 8 +- .../machinery/computer3/buildandrepair.dm | 6 +- code/game/machinery/constructable_frame.dm | 2 +- code/game/machinery/deployable.dm | 22 +- code/game/machinery/doors/blast_door.dm | 4 +- code/game/machinery/doors/door.dm | 8 +- .../game/machinery/doors/firedoor_assembly.dm | 2 +- code/game/machinery/pipe/pipelayer.dm | 6 +- code/game/machinery/portable_turret.dm | 16 +- code/game/machinery/robot_fabricator.dm | 4 +- code/game/machinery/wall_frames.dm | 4 +- code/game/machinery/washing_machine.dm | 8 +- code/game/mecha/equipment/tools/tools.dm | 16 +- code/game/mecha/mech_fabricator.dm | 46 ++-- code/game/mecha/mecha_construction_paths.dm | 36 +-- code/game/mecha/mecha_wreckage.dm | 2 +- code/game/objects/items/apc_frame.dm | 2 +- .../objects/items/devices/lightreplacer.dm | 4 +- code/game/objects/items/robot/robot_parts.dm | 4 +- code/game/objects/items/stacks/rods.dm | 2 +- .../game/objects/items/stacks/sheets/glass.dm | 67 ++---- .../objects/items/stacks/sheets/leather.dm | 32 +-- .../game/objects/items/stacks/sheets/light.dm | 6 +- .../objects/items/stacks/sheets/mineral.dm | 209 ---------------- .../items/stacks/sheets/sheet_types.dm | 223 ------------------ .../objects/items/stacks/sheets/sheets.dm | 25 -- code/game/objects/items/stacks/stack.dm | 11 +- code/game/objects/items/stacks/tiles/light.dm | 2 +- .../objects/items/weapons/storage/bags.dm | 20 +- .../objects/items/weapons/storage/boxes.dm | 2 +- .../objects/items/weapons/storage/misc.dm | 2 +- .../structures/crates_lockers/closets.dm | 10 +- .../crates_lockers/closets/syndicate.dm | 34 +-- .../structures/crates_lockers/largecrate.dm | 2 +- code/game/objects/structures/door_assembly.dm | 16 +- code/game/objects/structures/girders.dm | 12 +- code/game/objects/structures/grille.dm | 4 +- code/game/objects/structures/mineral_doors.dm | 2 +- .../structures/stool_bed_chair_nest/bed.dm | 4 +- .../structures/stool_bed_chair_nest/chairs.dm | 2 +- .../structures/stool_bed_chair_nest/stools.dm | 8 +- .../objects/structures/windoor_assembly.dm | 4 +- code/game/objects/structures/window.dm | 10 +- code/game/supplyshuttle.dm | 8 +- code/game/turfs/simulated/floor.dm | 4 +- code/modules/clothing/spacesuits/breaches.dm | 8 +- .../clothing/spacesuits/rig/rig_attackby.dm | 2 +- code/modules/examine/descriptions/stacks.dm | 12 +- code/modules/hydroponics/grown.dm | 4 +- code/modules/materials/material_recipes.dm | 146 ++++++++++++ code/modules/materials/material_sheets.dm | 172 ++++++++++++++ code/modules/materials/materials.dm | 92 ++++++-- code/modules/mining/alloys.dm | 4 +- code/modules/mining/machine_stacking.dm | 12 +- code/modules/mining/mine_turfs.dm | 6 +- code/modules/mining/mint.dm | 16 +- code/modules/mob/living/bot/floorbot.dm | 6 +- .../living/silicon/robot/drone/drone_items.dm | 2 +- .../mob/living/silicon/robot/robot_items.dm | 4 +- .../mob/living/silicon/robot/robot_modules.dm | 22 +- .../simple_animal/hostile/retaliate/drone.dm | 8 +- .../mob/living/simple_animal/hostile/tree.dm | 2 +- code/modules/mob/living/simple_animal/worm.dm | 8 +- code/modules/power/apc.dm | 4 +- code/modules/power/lighting.dm | 2 +- code/modules/power/port_gen.dm | 8 +- code/modules/power/solar.dm | 10 +- code/modules/power/tracker.dm | 2 +- .../projectiles/guns/launcher/crossbow.dm | 4 +- .../projectiles/guns/launcher/pneumatic.dm | 6 +- code/modules/reagents/Chemistry-Machinery.dm | 14 +- code/modules/reagents/Chemistry-Recipes.dm | 64 ++--- code/modules/research/circuitprinter.dm | 22 +- code/modules/research/protolathe.dm | 34 +-- code/modules/research/rdconsole.dm | 16 +- .../research/xenoarchaeology/finds/finds.dm | 20 +- .../xenoarchaeology/tools/tools_pickaxe.dm | 2 +- code/modules/tables/tables.dm | 16 +- maps/exodus-1.dmm | 66 +++--- maps/exodus-2.dmm | 16 +- maps/exodus-4.dmm | 10 +- maps/exodus-5.dmm | 26 +- 93 files changed, 868 insertions(+), 982 deletions(-) delete mode 100644 code/game/objects/items/stacks/sheets/mineral.dm delete mode 100644 code/game/objects/items/stacks/sheets/sheet_types.dm delete mode 100644 code/game/objects/items/stacks/sheets/sheets.dm create mode 100644 code/modules/materials/material_recipes.dm create mode 100644 code/modules/materials/material_sheets.dm diff --git a/baystation12.dme b/baystation12.dme index 99d8019516..3c8de428d3 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -597,9 +597,6 @@ #include "code\game\objects\items\stacks\sheets\glass.dm" #include "code\game\objects\items\stacks\sheets\leather.dm" #include "code\game\objects\items\stacks\sheets\light.dm" -#include "code\game\objects\items\stacks\sheets\mineral.dm" -#include "code\game\objects\items\stacks\sheets\sheet_types.dm" -#include "code\game\objects\items\stacks\sheets\sheets.dm" #include "code\game\objects\items\stacks\tiles\light.dm" #include "code\game\objects\items\stacks\tiles\plasteel.dm" #include "code\game\objects\items\stacks\tiles\tile_types.dm" @@ -1049,6 +1046,8 @@ #include "code\modules\maps\reader.dm" #include "code\modules\maps\swapmaps.dm" #include "code\modules\maps\writer.dm" +#include "code\modules\materials\material_recipes.dm" +#include "code\modules\materials\material_sheets.dm" #include "code\modules\materials\materials.dm" #include "code\modules\mining\abandonedcrates.dm" #include "code\modules\mining\alloys.dm" diff --git a/code/TriDimension/Structures.dm b/code/TriDimension/Structures.dm index 9224facba2..cf216274bb 100644 --- a/code/TriDimension/Structures.dm +++ b/code/TriDimension/Structures.dm @@ -114,7 +114,7 @@ sleep(60) if(!user || !WT || !WT.isOn()) return - var/obj/item/stack/sheet/metal/S = new /obj/item/stack/sheet/metal( src ) + var/obj/item/stack/material/steel/S = new /obj/item/stack/material/steel( src ) S.amount = 2 user << "You remove the ladder and close the hole." qdel(src) diff --git a/code/datums/supplypacks.dm b/code/datums/supplypacks.dm index 288f318b1c..fa408d1b8f 100644 --- a/code/datums/supplypacks.dm +++ b/code/datums/supplypacks.dm @@ -445,7 +445,7 @@ var/list/all_supply_groups = list("Operations","Security","Hospitality","Enginee /datum/supply_packs/metal50 name = "50 metal sheets" - contains = list(/obj/item/stack/sheet/metal) + contains = list(/obj/item/stack/material/steel) amount = 50 cost = 10 containertype = /obj/structure/closet/crate @@ -454,7 +454,7 @@ var/list/all_supply_groups = list("Operations","Security","Hospitality","Enginee /datum/supply_packs/glass50 name = "50 glass sheets" - contains = list(/obj/item/stack/sheet/glass) + contains = list(/obj/item/stack/material/glass) amount = 50 cost = 10 containertype = /obj/structure/closet/crate @@ -463,7 +463,7 @@ var/list/all_supply_groups = list("Operations","Security","Hospitality","Enginee /datum/supply_packs/wood50 name = "50 wooden planks" - contains = list(/obj/item/stack/sheet/wood) + contains = list(/obj/item/stack/material/wood) amount = 50 cost = 10 containertype = /obj/structure/closet/crate @@ -472,7 +472,7 @@ var/list/all_supply_groups = list("Operations","Security","Hospitality","Enginee /datum/supply_packs/plastic50 name = "50 plastic sheets" - contains = list(/obj/item/stack/sheet/mineral/plastic) + contains = list(/obj/item/stack/material/plastic) amount = 50 cost = 10 containertype = /obj/structure/closet/crate @@ -1255,7 +1255,7 @@ var/list/all_supply_groups = list("Operations","Security","Hospitality","Enginee group = "Hydroponics" /datum/supply_packs/cardboard_sheets - contains = list(/obj/item/stack/sheet/cardboard) + contains = list(/obj/item/stack/material/cardboard) name = "50 cardboard sheets" amount = 50 cost = 10 diff --git a/code/game/gamemodes/cult/cultify/obj.dm b/code/game/gamemodes/cult/cultify/obj.dm index d019300314..c29c4044cb 100644 --- a/code/game/gamemodes/cult/cultify/obj.dm +++ b/code/game/gamemodes/cult/cultify/obj.dm @@ -14,7 +14,7 @@ new /obj/structure/cult/pylon(loc) ..() -/obj/item/stack/sheet/wood/cultify() +/obj/item/stack/material/wood/cultify() return /obj/item/weapon/book/cultify() diff --git a/code/game/gamemodes/objective.dm b/code/game/gamemodes/objective.dm index d13f90d2be..0ad6e7fc5f 100644 --- a/code/game/gamemodes/objective.dm +++ b/code/game/gamemodes/objective.dm @@ -513,9 +513,9 @@ datum/objective/steal "diamond drill" = /obj/item/weapon/pickaxe/diamonddrill, "bag of holding" = /obj/item/weapon/storage/backpack/holding, "hyper-capacity cell" = /obj/item/weapon/cell/hyper, - "10 diamonds" = /obj/item/stack/sheet/mineral/diamond, - "50 gold bars" = /obj/item/stack/sheet/mineral/gold, - "25 refined uranium bars" = /obj/item/stack/sheet/mineral/uranium, + "10 diamonds" = /obj/item/stack/material/diamond, + "50 gold bars" = /obj/item/stack/material/gold, + "25 refined uranium bars" = /obj/item/stack/material/uranium, ) @@ -830,13 +830,13 @@ datum/objective/heist/salvage for(var/obj/item/O in locate(/area/shuttle/skipjack/station)) - var/obj/item/stack/sheet/S - if(istype(O,/obj/item/stack/sheet)) + var/obj/item/stack/material/S + if(istype(O,/obj/item/stack/material)) if(O.name == target) S = O total_amount += S.get_amount() for(var/obj/I in O.contents) - if(istype(I,/obj/item/stack/sheet)) + if(istype(I,/obj/item/stack/material)) if(I.name == target) S = I total_amount += S.get_amount() @@ -844,9 +844,9 @@ datum/objective/heist/salvage for(var/datum/mind/raider in raiders.current_antagonists) if(raider.current) for(var/obj/item/O in raider.current.get_contents()) - if(istype(O,/obj/item/stack/sheet)) + if(istype(O,/obj/item/stack/material)) if(O.name == target) - var/obj/item/stack/sheet/S = O + var/obj/item/stack/material/S = O total_amount += S.get_amount() if(total_amount >= target_amount) return 1 diff --git a/code/game/machinery/autolathe.dm b/code/game/machinery/autolathe.dm index 40db18e42f..e3b161b6fb 100644 --- a/code/game/machinery/autolathe.dm +++ b/code/game/machinery/autolathe.dm @@ -293,7 +293,7 @@ var/material/M = name_to_material[mat] if(!istype(M)) continue - var/obj/item/stack/sheet/S = new M.stack_type(get_turf(src)) + var/obj/item/stack/material/S = new M.stack_type(get_turf(src)) if(stored_material[mat] > S.perunit) S.amount = round(stored_material[mat] / S.perunit) else diff --git a/code/game/machinery/autolathe_datums.dm b/code/game/machinery/autolathe_datums.dm index d1f8ccf892..56442b3e1c 100644 --- a/code/game/machinery/autolathe_datums.dm +++ b/code/game/machinery/autolathe_datums.dm @@ -109,19 +109,19 @@ /datum/autolathe/recipe/metal name = "steel sheets" - path = /obj/item/stack/sheet/metal + path = /obj/item/stack/material/steel category = "General" is_stack = 1 /datum/autolathe/recipe/glass name = "glass sheets" - path = /obj/item/stack/sheet/glass + path = /obj/item/stack/material/glass category = "General" is_stack = 1 /datum/autolathe/recipe/rglass name = "reinforced glass sheets" - path = /obj/item/stack/sheet/glass/reinforced + path = /obj/item/stack/material/glass/reinforced category = "General" is_stack = 1 diff --git a/code/game/machinery/bioprinter.dm b/code/game/machinery/bioprinter.dm index 5a8b25bb84..9f144c23b1 100644 --- a/code/game/machinery/bioprinter.dm +++ b/code/game/machinery/bioprinter.dm @@ -73,8 +73,8 @@ qdel(W) return // Steel for matter. - else if(prints_prosthetics && istype(W, /obj/item/stack/sheet/metal)) - var/obj/item/stack/sheet/metal/M = W + else if(prints_prosthetics && istype(W, /obj/item/stack/material/steel)) + var/obj/item/stack/material/steel/M = W stored_matter += M.amount * 10 user.drop_item() user << "\The [src] processes \the [W]. Levels of stored matter now: [stored_matter]" diff --git a/code/game/machinery/camera/camera_assembly.dm b/code/game/machinery/camera/camera_assembly.dm index 28691004f3..75397278c0 100644 --- a/code/game/machinery/camera/camera_assembly.dm +++ b/code/game/machinery/camera/camera_assembly.dm @@ -9,7 +9,7 @@ matter = list(DEFAULT_WALL_MATERIAL = 700,"glass" = 300) // Motion, EMP-Proof, X-Ray - var/list/obj/item/possible_upgrades = list(/obj/item/device/assembly/prox_sensor, /obj/item/stack/sheet/mineral/osmium, /obj/item/weapon/stock_parts/scanning_module) + var/list/obj/item/possible_upgrades = list(/obj/item/device/assembly/prox_sensor, /obj/item/stack/material/osmium, /obj/item/weapon/stock_parts/scanning_module) var/list/upgrades = list() var/state = 0 var/busy = 0 diff --git a/code/game/machinery/camera/presets.dm b/code/game/machinery/camera/presets.dm index d4b795730f..24588582e5 100644 --- a/code/game/machinery/camera/presets.dm +++ b/code/game/machinery/camera/presets.dm @@ -144,7 +144,7 @@ var/global/list/engineering_networks = list( // CHECKS /obj/machinery/camera/proc/isEmpProof() - var/O = locate(/obj/item/stack/sheet/mineral/osmium) in assembly.upgrades + var/O = locate(/obj/item/stack/material/osmium) in assembly.upgrades return O /obj/machinery/camera/proc/isXRay() @@ -160,7 +160,7 @@ var/global/list/engineering_networks = list( // UPGRADE PROCS /obj/machinery/camera/proc/upgradeEmpProof() - assembly.upgrades.Add(new /obj/item/stack/sheet/mineral/osmium(assembly)) + assembly.upgrades.Add(new /obj/item/stack/material/osmium(assembly)) setPowerUsage() /obj/machinery/camera/proc/upgradeXRay() diff --git a/code/game/machinery/computer/ai_core.dm b/code/game/machinery/computer/ai_core.dm index 028f1ba307..53416cd2b3 100644 --- a/code/game/machinery/computer/ai_core.dm +++ b/code/game/machinery/computer/ai_core.dm @@ -29,7 +29,7 @@ if(do_after(user, 20)) if(!src || !WT.remove_fuel(0, user)) return user << "\blue You deconstruct the frame." - new /obj/item/stack/sheet/plasteel( loc, 4) + new /obj/item/stack/material/plasteel( loc, 4) qdel(src) if(1) if(istype(P, /obj/item/weapon/wrench)) @@ -88,8 +88,8 @@ var/obj/item/stack/cable_coil/A = new /obj/item/stack/cable_coil( loc ) A.amount = 5 - if(istype(P, /obj/item/stack/sheet/glass/reinforced)) - var/obj/item/stack/sheet/glass/reinforced/RG = P + if(istype(P, /obj/item/stack/material/glass/reinforced)) + var/obj/item/stack/material/glass/reinforced/RG = P if (RG.get_amount() < 2) user << "You need two sheets of glass to put in the glass panel." return @@ -162,7 +162,7 @@ icon_state = "3b" else icon_state = "3" - new /obj/item/stack/sheet/glass/reinforced( loc, 2 ) + new /obj/item/stack/material/glass/reinforced( loc, 2 ) return if(istype(P, /obj/item/weapon/screwdriver)) diff --git a/code/game/machinery/computer/buildandrepair.dm b/code/game/machinery/computer/buildandrepair.dm index a325ab90f3..7cae6c6d93 100644 --- a/code/game/machinery/computer/buildandrepair.dm +++ b/code/game/machinery/computer/buildandrepair.dm @@ -28,7 +28,7 @@ if(do_after(user, 20)) if(!src || !WT.isOn()) return user << "\blue You deconstruct the frame." - new /obj/item/stack/sheet/metal( src.loc, 5 ) + new /obj/item/stack/material/steel( src.loc, 5 ) qdel(src) if(1) if(istype(P, /obj/item/weapon/wrench)) @@ -87,8 +87,8 @@ var/obj/item/stack/cable_coil/A = new /obj/item/stack/cable_coil( src.loc ) A.amount = 5 - if(istype(P, /obj/item/stack/sheet/glass)) - var/obj/item/stack/sheet/glass/G = P + if(istype(P, /obj/item/stack/material/glass)) + var/obj/item/stack/material/glass/G = P if (G.get_amount() < 2) user << "You need two sheets of glass to put in the glass panel." return @@ -105,7 +105,7 @@ user << "\blue You remove the glass panel." src.state = 3 src.icon_state = "3" - new /obj/item/stack/sheet/glass( src.loc, 2 ) + new /obj/item/stack/material/glass( src.loc, 2 ) if(istype(P, /obj/item/weapon/screwdriver)) playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1) user << "\blue You connect the monitor." diff --git a/code/game/machinery/computer3/buildandrepair.dm b/code/game/machinery/computer3/buildandrepair.dm index eef7503f97..5e5c8af856 100644 --- a/code/game/machinery/computer3/buildandrepair.dm +++ b/code/game/machinery/computer3/buildandrepair.dm @@ -93,7 +93,7 @@ if(do_after(user, 20)) if(!src || !WT.isOn()) return user << "\blue You deconstruct the frame." - new /obj/item/stack/sheet/metal( src.loc, 5 ) + new /obj/item/stack/material/steel( src.loc, 5 ) qdel(src) if(1) if(istype(P, /obj/item/weapon/wrench)) @@ -178,7 +178,7 @@ if(istype(P, /obj/item/weapon/crowbar)) // complicated check remove_peripheral() - if(istype(P, /obj/item/stack/sheet/glass)) + if(istype(P, /obj/item/stack/material/glass)) if(P:amount >= 2) playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1) if(do_after(user, 20)) @@ -193,7 +193,7 @@ user << "\blue You remove the glass panel." src.state = 3 src.icon_state = "3" - new /obj/item/stack/sheet/glass( src.loc, 2 ) + new /obj/item/stack/material/glass( src.loc, 2 ) if(istype(P, /obj/item/weapon/screwdriver)) playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1) user << "\blue You connect the monitor." diff --git a/code/game/machinery/constructable_frame.dm b/code/game/machinery/constructable_frame.dm index e01c3e4b8e..9ebe4a6ec2 100644 --- a/code/game/machinery/constructable_frame.dm +++ b/code/game/machinery/constructable_frame.dm @@ -48,7 +48,7 @@ if(istype(P, /obj/item/weapon/wrench)) playsound(src.loc, 'sound/items/Ratchet.ogg', 75, 1) user << "\blue You dismantle the frame" - new /obj/item/stack/sheet/metal(src.loc, 5) + new /obj/item/stack/material/steel(src.loc, 5) qdel(src) if(2) if(istype(P, /obj/item/weapon/circuitboard)) diff --git a/code/game/machinery/deployable.dm b/code/game/machinery/deployable.dm index e49fb26283..df3abac14d 100644 --- a/code/game/machinery/deployable.dm +++ b/code/game/machinery/deployable.dm @@ -66,8 +66,8 @@ for reference: var/maxhealth = 100.0 attackby(obj/item/W as obj, mob/user as mob) - if (istype(W, /obj/item/stack/sheet/wood)) - var/obj/item/stack/sheet/wood/D = W + if (istype(W, /obj/item/stack/material/wood)) + var/obj/item/stack/material/wood/D = W if (health < maxhealth) if (D.get_amount() < 1) user << "You need one plank of wood to repair \the [src]." @@ -88,9 +88,9 @@ for reference: else if (src.health <= 0) visible_message("\red The barricade is smashed apart!") - new /obj/item/stack/sheet/wood(get_turf(src)) - new /obj/item/stack/sheet/wood(get_turf(src)) - new /obj/item/stack/sheet/wood(get_turf(src)) + new /obj/item/stack/material/wood(get_turf(src)) + new /obj/item/stack/material/wood(get_turf(src)) + new /obj/item/stack/material/wood(get_turf(src)) qdel(src) ..() @@ -104,17 +104,17 @@ for reference: src.health -= 25 if (src.health <= 0) visible_message("\red The barricade is blown apart!") - new /obj/item/stack/sheet/wood(get_turf(src)) - new /obj/item/stack/sheet/wood(get_turf(src)) - new /obj/item/stack/sheet/wood(get_turf(src)) + new /obj/item/stack/material/wood(get_turf(src)) + new /obj/item/stack/material/wood(get_turf(src)) + new /obj/item/stack/material/wood(get_turf(src)) qdel(src) return meteorhit() visible_message("\red The barricade is smashed apart!") - new /obj/item/stack/sheet/wood(get_turf(src)) - new /obj/item/stack/sheet/wood(get_turf(src)) - new /obj/item/stack/sheet/wood(get_turf(src)) + new /obj/item/stack/material/wood(get_turf(src)) + new /obj/item/stack/material/wood(get_turf(src)) + new /obj/item/stack/material/wood(get_turf(src)) qdel(src) return diff --git a/code/game/machinery/doors/blast_door.dm b/code/game/machinery/doors/blast_door.dm index 5f6a16cc58..2c5c00caaa 100644 --- a/code/game/machinery/doors/blast_door.dm +++ b/code/game/machinery/doors/blast_door.dm @@ -96,12 +96,12 @@ else usr << "[src]'s motors resist your effort." return - if(istype(C, /obj/item/stack/sheet/plasteel)) + if(istype(C, /obj/item/stack/material/plasteel)) var/amt = repair_price() if(!amt) usr << "\The [src] is already fully repaired." return - var/obj/item/stack/sheet/plasteel/P = C + var/obj/item/stack/material/plasteel/P = C if(P.amount < amt) usr << "You don't have enough sheets to repair this! You need at least [amt] sheets." return diff --git a/code/game/machinery/doors/door.dm b/code/game/machinery/doors/door.dm index 0f3760009d..7c14b0ff99 100644 --- a/code/game/machinery/doors/door.dm +++ b/code/game/machinery/doors/door.dm @@ -26,7 +26,7 @@ var/destroy_hits = 10 //How many strong hits it takes to destroy the door var/min_force = 10 //minimum amount of force needed to damage the door with a melee weapon var/hitsound = 'sound/weapons/smash.ogg' //sound door makes when hit with a weapon - var/obj/item/stack/sheet/metal/repairing + var/obj/item/stack/material/steel/repairing var/block_air_zones = 1 //If set, air zones cannot merge across the door even when it is opened. var/close_door_at = 0 //When to automatically close the door, if possible @@ -163,7 +163,7 @@ visible_message("\red \The [src.name] disintegrates!") switch (Proj.damage_type) if(BRUTE) - new /obj/item/stack/sheet/metal(src.loc, 2) + new /obj/item/stack/material/steel(src.loc, 2) PoolOrNew(/obj/item/stack/rods, list(src.loc, 3)) if(BURN) new /obj/effect/decal/cleanable/ash(src.loc) // Turn it to ashes! @@ -205,7 +205,7 @@ if(src.operating > 0 || isrobot(user)) return //borgs can't attack doors open because it conflicts with their AI-like interaction with them. src.add_fingerprint(user) - if(istype(I, /obj/item/stack/sheet/metal)) + if(istype(I, /obj/item/stack/material/steel)) if(stat & BROKEN) user << "It looks like \the [src] is pretty busted. It's going to need more than just patching up now." return @@ -220,7 +220,7 @@ var/amount_needed = (maxhealth - health) / DOOR_REPAIR_AMOUNT amount_needed = (round(amount_needed) == amount_needed)? amount_needed : round(amount_needed) + 1 //Why does BYOND not have a ceiling proc? - var/obj/item/stack/sheet/metal/metalstack = I + var/obj/item/stack/material/steel/metalstack = I var/transfer if (repairing) transfer = metalstack.transfer_to(repairing, amount_needed - repairing.amount) diff --git a/code/game/machinery/doors/firedoor_assembly.dm b/code/game/machinery/doors/firedoor_assembly.dm index d3a70fe85e..c01fff5bed 100644 --- a/code/game/machinery/doors/firedoor_assembly.dm +++ b/code/game/machinery/doors/firedoor_assembly.dm @@ -61,7 +61,7 @@ obj/structure/firedoor_assembly/attackby(C as obj, mob/user as mob) if(!src || !WT.isOn()) return user.visible_message("[user] has dissassembled \the [src].", "You have dissassembled \the [src].") - new /obj/item/stack/sheet/metal(src.loc, 2) + new /obj/item/stack/material/steel(src.loc, 2) qdel(src) else user << "You need more welding fuel." diff --git a/code/game/machinery/pipe/pipelayer.dm b/code/game/machinery/pipe/pipelayer.dm index 32aafb21cd..0f2dc3c855 100644 --- a/code/game/machinery/pipe/pipelayer.dm +++ b/code/game/machinery/pipe/pipelayer.dm @@ -50,7 +50,7 @@ user.visible_message("[user] has [!a_dis?"de":""]activated auto-dismantling.", "You [!a_dis?"de":""]activate auto-dismantling.") return - if(istype(W, /obj/item/stack/sheet/metal)) + if(istype(W, /obj/item/stack/material/steel)) var/result = load_metal(W) if(isnull(result)) @@ -70,7 +70,7 @@ m = round(m) if(m) use_metal(m) - var/obj/item/stack/sheet/metal/MM = new (get_turf(src)) + var/obj/item/stack/material/steel/MM = new (get_turf(src)) MM.amount = m user.visible_message("[user] removes [m] sheet\s of metal from the \the [src].", "You remove [m] sheet\s of metal from \the [src]") else @@ -86,7 +86,7 @@ on=0 return -/obj/machinery/pipelayer/proc/load_metal(var/obj/item/stack/sheet/metal/MM) +/obj/machinery/pipelayer/proc/load_metal(var/obj/item/stack/material/steel/MM) if(istype(MM) && MM.get_amount()) var/cur_amount = metal var/to_load = max(max_metal - round(cur_amount),0) diff --git a/code/game/machinery/portable_turret.dm b/code/game/machinery/portable_turret.dm index 3709f2dac6..5476d9f6fa 100644 --- a/code/game/machinery/portable_turret.dm +++ b/code/game/machinery/portable_turret.dm @@ -267,7 +267,7 @@ Gun.power_supply.charge = gun_charge Gun.update_icon() if(prob(50)) - new /obj/item/stack/sheet/metal(loc, rand(1,4)) + new /obj/item/stack/material/steel(loc, rand(1,4)) if(prob(50)) new /obj/item/device/assembly/prox_sensor(loc) else @@ -671,13 +671,13 @@ else if(istype(I, /obj/item/weapon/crowbar) && !anchored) playsound(loc, 'sound/items/Crowbar.ogg', 75, 1) user << "You dismantle the turret construction." - new /obj/item/stack/sheet/metal( loc, 5) + new /obj/item/stack/material/steel( loc, 5) qdel(src) // qdel return if(1) - if(istype(I, /obj/item/stack/sheet/metal)) - var/obj/item/stack/sheet/metal/M = I + if(istype(I, /obj/item/stack/material/steel)) + var/obj/item/stack/material/steel/M = I if(M.use(2)) user << "You add some metal armor to the interior frame." build_step = 2 @@ -714,7 +714,7 @@ if(!src || !WT.remove_fuel(5, user)) return build_step = 1 user << "You remove the turret's interior metal armor." - new /obj/item/stack/sheet/metal( loc, 2) + new /obj/item/stack/material/steel( loc, 2) return @@ -768,8 +768,8 @@ //attack_hand() removes the prox sensor if(6) - if(istype(I, /obj/item/stack/sheet/metal)) - var/obj/item/stack/sheet/metal/M = I + if(istype(I, /obj/item/stack/material/steel)) + var/obj/item/stack/material/steel/M = I if(M.use(2)) user << "You add some metal armor to the exterior frame." build_step = 7 @@ -813,7 +813,7 @@ else if(istype(I, /obj/item/weapon/crowbar)) playsound(loc, 'sound/items/Crowbar.ogg', 75, 1) user << "You pry off the turret's exterior armor." - new /obj/item/stack/sheet/metal(loc, 2) + new /obj/item/stack/material/steel(loc, 2) build_step = 6 return diff --git a/code/game/machinery/robot_fabricator.dm b/code/game/machinery/robot_fabricator.dm index 6b0cb71fbd..b2461f1d7f 100644 --- a/code/game/machinery/robot_fabricator.dm +++ b/code/game/machinery/robot_fabricator.dm @@ -12,8 +12,8 @@ active_power_usage = 10000 /obj/machinery/robotic_fabricator/attackby(var/obj/item/O as obj, var/mob/user as mob) - if (istype(O, /obj/item/stack/sheet/metal)) - var/obj/item/stack/sheet/metal/M = O + if (istype(O, /obj/item/stack/material/steel)) + var/obj/item/stack/material/steel/M = O if (src.metal_amount < 150000.0) var/count = 0 src.overlays += "fab-load-metal" diff --git a/code/game/machinery/wall_frames.dm b/code/game/machinery/wall_frames.dm index 36e37cb9c6..7f9bedbd9d 100644 --- a/code/game/machinery/wall_frames.dm +++ b/code/game/machinery/wall_frames.dm @@ -6,7 +6,7 @@ flags = CONDUCT var/build_machine_type var/refund_amt = 2 - var/refund_type = /obj/item/stack/sheet/metal + var/refund_type = /obj/item/stack/material/steel /obj/item/frame/attackby(obj/item/weapon/W as obj, mob/user as mob) if (istype(W, /obj/item/weapon/wrench)) @@ -73,7 +73,7 @@ icon = 'icons/rust.dmi' icon_state = "fuel_compressor0" w_class = 4 - refund_type = /obj/item/stack/sheet/plasteel + refund_type = /obj/item/stack/material/plasteel refund_amt = 12 build_machine_type = /obj/machinery/rust_fuel_compressor diff --git a/code/game/machinery/washing_machine.dm b/code/game/machinery/washing_machine.dm index 8f2e6aaee2..be0a0e6d3a 100644 --- a/code/game/machinery/washing_machine.dm +++ b/code/game/machinery/washing_machine.dm @@ -47,11 +47,11 @@ I.decontaminate() //Tanning! - for(var/obj/item/stack/sheet/hairlesshide/HH in contents) - var/obj/item/stack/sheet/wetleather/WL = new(src) + for(var/obj/item/stack/material/hairlesshide/HH in contents) + var/obj/item/stack/material/wetleather/WL = new(src) WL.amount = HH.amount qdel(HH) - + if( locate(/mob,contents) ) state = 7 gibs_ready = 1 @@ -95,7 +95,7 @@ state = 3 else ..() - else if(istype(W,/obj/item/stack/sheet/hairlesshide) || \ + else if(istype(W,/obj/item/stack/material/hairlesshide) || \ istype(W,/obj/item/clothing/under) || \ istype(W,/obj/item/clothing/mask) || \ istype(W,/obj/item/clothing/head) || \ diff --git a/code/game/mecha/equipment/tools/tools.dm b/code/game/mecha/equipment/tools/tools.dm index b765a32e68..073c807be9 100644 --- a/code/game/mecha/equipment/tools/tools.dm +++ b/code/game/mecha/equipment/tools/tools.dm @@ -200,9 +200,9 @@ set_ready_state(0) if(do_after_cooldown(target)) if( istype(target, /obj/structure/reagent_dispensers/watertank) && get_dist(chassis,target) <= 1) - var/obj/o = target + var/obj/o = target var/amount = o.reagents.trans_to_obj(src, 200) - occupant_message("[amount] units transferred into internal tank.") + occupant_message("[amount] units transferred into internal tank.") playsound(chassis, 'sound/effects/refill.ogg', 50, 1, -6) return @@ -221,7 +221,7 @@ var/list/the_targets = list(T,T1,T2) for(var/a = 1 to 5) - spawn(0) + spawn(0) var/obj/effect/effect/water/W = PoolOrNew(/obj/effect/effect/water, get_turf(chassis)) var/turf/my_target if(a == 1) @@ -237,7 +237,7 @@ return reagents.trans_to_obj(W, spray_amount) W.set_color() - W.set_up(my_target) + W.set_up(my_target) return 1 get_equip_info() @@ -842,7 +842,7 @@ construction_cost = list(DEFAULT_WALL_MATERIAL=10000,"silver"=500,"glass"=1000) var/datum/global_iterator/pr_mech_generator var/coeff = 100 - var/obj/item/stack/sheet/fuel + var/obj/item/stack/material/fuel var/max_fuel = 150000 var/fuel_per_cycle_idle = 100 var/fuel_per_cycle_active = 500 @@ -860,7 +860,7 @@ ..() proc/init() - fuel = new /obj/item/stack/sheet/mineral/phoron(src) + fuel = new /obj/item/stack/material/phoron(src) fuel.amount = 0 pr_mech_generator = new /datum/global_iterator/mecha_generator(list(src),0) pr_mech_generator.set_delay(equip_cooldown) @@ -903,7 +903,7 @@ occupant_message(message) return - proc/load_fuel(var/obj/item/stack/sheet/P) + proc/load_fuel(var/obj/item/stack/material/P) if(P.type == fuel.type && P.amount) var/to_load = max(max_fuel - fuel.amount*fuel.perunit,0) if(to_load) @@ -988,7 +988,7 @@ reliability = 1000 init() - fuel = new /obj/item/stack/sheet/mineral/uranium(src) + fuel = new /obj/item/stack/material/uranium(src) fuel.amount = 0 pr_mech_generator = new /datum/global_iterator/mecha_generator/nuclear(list(src),0) pr_mech_generator.set_delay(equip_cooldown) diff --git a/code/game/mecha/mech_fabricator.dm b/code/game/mecha/mech_fabricator.dm index 9dadd13554..9013e0b8a6 100644 --- a/code/game/mecha/mech_fabricator.dm +++ b/code/game/mecha/mech_fabricator.dm @@ -720,23 +720,23 @@ var/type switch(mat_string) if(DEFAULT_WALL_MATERIAL) - type = /obj/item/stack/sheet/metal + type = /obj/item/stack/material/steel if("glass") - type = /obj/item/stack/sheet/glass + type = /obj/item/stack/material/glass if("gold") - type = /obj/item/stack/sheet/mineral/gold + type = /obj/item/stack/material/gold if("silver") - type = /obj/item/stack/sheet/mineral/silver + type = /obj/item/stack/material/silver if("diamond") - type = /obj/item/stack/sheet/mineral/diamond + type = /obj/item/stack/material/diamond if("phoron") - type = /obj/item/stack/sheet/mineral/phoron + type = /obj/item/stack/material/phoron if("uranium") - type = /obj/item/stack/sheet/mineral/uranium + type = /obj/item/stack/material/uranium else return 0 var/result = 0 - var/obj/item/stack/sheet/res = new type(src) + var/obj/item/stack/material/res = new type(src) // amount available to take out var/total_amount = round(resources[mat_string]/res.perunit) @@ -775,25 +775,25 @@ I.crit_fail = 1 I.loc = src.loc if(src.resources[DEFAULT_WALL_MATERIAL] >= 3750) - var/obj/item/stack/sheet/metal/G = new /obj/item/stack/sheet/metal(src.loc) + var/obj/item/stack/material/steel/G = new /obj/item/stack/material/steel(src.loc) G.amount = round(src.resources[DEFAULT_WALL_MATERIAL] / G.perunit) if(src.resources["glass"] >= 3750) - var/obj/item/stack/sheet/glass/G = new /obj/item/stack/sheet/glass(src.loc) + var/obj/item/stack/material/glass/G = new /obj/item/stack/material/glass(src.loc) G.amount = round(src.resources["glass"] / G.perunit) if(src.resources["phoron"] >= 2000) - var/obj/item/stack/sheet/mineral/phoron/G = new /obj/item/stack/sheet/mineral/phoron(src.loc) + var/obj/item/stack/material/phoron/G = new /obj/item/stack/material/phoron(src.loc) G.amount = round(src.resources["phoron"] / G.perunit) if(src.resources["silver"] >= 2000) - var/obj/item/stack/sheet/mineral/silver/G = new /obj/item/stack/sheet/mineral/silver(src.loc) + var/obj/item/stack/material/silver/G = new /obj/item/stack/material/silver(src.loc) G.amount = round(src.resources["silver"] / G.perunit) if(src.resources["gold"] >= 2000) - var/obj/item/stack/sheet/mineral/gold/G = new /obj/item/stack/sheet/mineral/gold(src.loc) + var/obj/item/stack/material/gold/G = new /obj/item/stack/material/gold(src.loc) G.amount = round(src.resources["gold"] / G.perunit) if(src.resources["uranium"] >= 2000) - var/obj/item/stack/sheet/mineral/uranium/G = new /obj/item/stack/sheet/mineral/uranium(src.loc) + var/obj/item/stack/material/uranium/G = new /obj/item/stack/material/uranium(src.loc) G.amount = round(src.resources["uranium"] / G.perunit) if(src.resources["diamond"] >= 2000) - var/obj/item/stack/sheet/mineral/diamond/G = new /obj/item/stack/sheet/mineral/diamond(src.loc) + var/obj/item/stack/material/diamond/G = new /obj/item/stack/material/diamond(src.loc) G.amount = round(src.resources["diamond"] / G.perunit) qdel(src) return 1 @@ -807,19 +807,19 @@ var/material switch(W.type) - if(/obj/item/stack/sheet/mineral/gold) + if(/obj/item/stack/material/gold) material = "gold" - if(/obj/item/stack/sheet/mineral/silver) + if(/obj/item/stack/material/silver) material = "silver" - if(/obj/item/stack/sheet/mineral/diamond) + if(/obj/item/stack/material/diamond) material = "diamond" - if(/obj/item/stack/sheet/mineral/phoron) + if(/obj/item/stack/material/phoron) material = "phoron" - if(/obj/item/stack/sheet/metal) + if(/obj/item/stack/material/steel) material = DEFAULT_WALL_MATERIAL - if(/obj/item/stack/sheet/glass) + if(/obj/item/stack/material/glass) material = "glass" - if(/obj/item/stack/sheet/mineral/uranium) + if(/obj/item/stack/material/uranium) material = "uranium" else return ..() @@ -828,7 +828,7 @@ user << "The fabricator is currently processing. Please wait until completion." return - var/obj/item/stack/sheet/stack = W + var/obj/item/stack/material/stack = W var/sname = "[stack.name]" var/amnt = stack.perunit diff --git a/code/game/mecha/mecha_construction_paths.dm b/code/game/mecha/mecha_construction_paths.dm index 167b9f63d0..98e81cb83f 100644 --- a/code/game/mecha/mecha_construction_paths.dm +++ b/code/game/mecha/mecha_construction_paths.dm @@ -108,7 +108,7 @@ "backkey"=/obj/item/weapon/crowbar, "desc"="External armor is installed."), //3 - list("key"=/obj/item/stack/sheet/plasteel, + list("key"=/obj/item/stack/material/plasteel, "backkey"=/obj/item/weapon/weldingtool, "desc"="Internal armor is welded."), //4 @@ -120,7 +120,7 @@ "backkey"=/obj/item/weapon/crowbar, "desc"="Internal armor is installed"), //6 - list("key"=/obj/item/stack/sheet/metal, + list("key"=/obj/item/stack/material/steel, "backkey"=/obj/item/weapon/screwdriver, "desc"="Peripherals control module is secured"), //7 @@ -236,7 +236,7 @@ holder.icon_state = "ripley10" else user.visible_message("[user] pries internal armor layer from [holder].", "You prie internal armor layer from [holder].") - var/obj/item/stack/sheet/metal/MS = new /obj/item/stack/sheet/metal(get_turf(holder)) + var/obj/item/stack/material/steel/MS = new /obj/item/stack/material/steel(get_turf(holder)) MS.amount = 5 holder.icon_state = "ripley8" if(4) @@ -259,7 +259,7 @@ holder.icon_state = "ripley13" else user.visible_message("[user] pries external armor layer from [holder].", "You prie external armor layer from [holder].") - var/obj/item/stack/sheet/plasteel/MS = new /obj/item/stack/sheet/plasteel(get_turf(holder)) + var/obj/item/stack/material/plasteel/MS = new /obj/item/stack/material/plasteel(get_turf(holder)) MS.amount = 5 holder.icon_state = "ripley11" if(1) @@ -330,7 +330,7 @@ "backkey"=/obj/item/weapon/crowbar, "desc"="Internal armor is installed"), //6 - list("key"=/obj/item/stack/sheet/metal, + list("key"=/obj/item/stack/material/steel, "backkey"=/obj/item/weapon/screwdriver, "desc"="Advanced capacitor is secured"), //7 @@ -518,7 +518,7 @@ holder.icon_state = "gygax16" else user.visible_message("[user] pries internal armor layer from [holder].", "You prie internal armor layer from [holder].") - var/obj/item/stack/sheet/metal/MS = new /obj/item/stack/sheet/metal(get_turf(holder)) + var/obj/item/stack/material/steel/MS = new /obj/item/stack/material/steel(get_turf(holder)) MS.amount = 5 holder.icon_state = "gygax14" if(4) @@ -599,11 +599,11 @@ "backkey"=/obj/item/weapon/crowbar, "desc"="External armor is installed."), //3 - list("key"=/obj/item/stack/sheet/plasteel, + list("key"=/obj/item/stack/material/plasteel, "backkey"=/obj/item/weapon/crowbar, "desc"="External armor is being installed."), //4 - list("key"=/obj/item/stack/sheet/plasteel, + list("key"=/obj/item/stack/material/plasteel, "backkey"=/obj/item/weapon/weldingtool, "desc"="Internal armor is welded."), //5 @@ -616,7 +616,7 @@ "desc"="Internal armor is installed"), //7 - list("key"=/obj/item/stack/sheet/plasteel, + list("key"=/obj/item/stack/material/plasteel, "backkey"=/obj/item/weapon/screwdriver, "desc"="Peripherals control module is secured"), //8 @@ -733,7 +733,7 @@ holder.icon_state = "fireripley10" else user.visible_message("[user] pries internal armor layer from [holder].", "You prie internal armor layer from [holder].") - var/obj/item/stack/sheet/plasteel/MS = new /obj/item/stack/sheet/plasteel(get_turf(holder)) + var/obj/item/stack/material/plasteel/MS = new /obj/item/stack/material/plasteel(get_turf(holder)) MS.amount = 5 holder.icon_state = "fireripley8" if(5) @@ -756,7 +756,7 @@ holder.icon_state = "fireripley13" else user.visible_message("[user] removes the external armor from [holder].", "You remove the external armor from [holder].") - var/obj/item/stack/sheet/plasteel/MS = new /obj/item/stack/sheet/plasteel(get_turf(holder)) + var/obj/item/stack/material/plasteel/MS = new /obj/item/stack/material/plasteel(get_turf(holder)) MS.amount = 5 holder.icon_state = "fireripley11" if(2) @@ -765,7 +765,7 @@ holder.icon_state = "fireripley14" else user.visible_message("[user] pries external armor layer from [holder].", "You prie external armor layer from [holder].") - var/obj/item/stack/sheet/plasteel/MS = new /obj/item/stack/sheet/plasteel(get_turf(holder)) + var/obj/item/stack/material/plasteel/MS = new /obj/item/stack/material/plasteel(get_turf(holder)) MS.amount = 5 holder.icon_state = "fireripley12" if(1) @@ -833,7 +833,7 @@ "backkey"=/obj/item/weapon/crowbar, "desc"="Internal armor is installed"), //6 - list("key"=/obj/item/stack/sheet/metal, + list("key"=/obj/item/stack/material/steel, "backkey"=/obj/item/weapon/screwdriver, "desc"="Advanced capacitor is secured"), //7 @@ -1022,7 +1022,7 @@ holder.icon_state = "durand16" else user.visible_message("[user] pries internal armor layer from [holder].", "You prie internal armor layer from [holder].") - var/obj/item/stack/sheet/metal/MS = new /obj/item/stack/sheet/metal(get_turf(holder)) + var/obj/item/stack/material/steel/MS = new /obj/item/stack/material/steel(get_turf(holder)) MS.amount = 5 holder.icon_state = "durand14" if(4) @@ -1125,7 +1125,7 @@ "backkey"=/obj/item/weapon/crowbar, "desc"="External armor is installed."), //3 - list("key"=/obj/item/stack/sheet/plasteel, + list("key"=/obj/item/stack/material/plasteel, "backkey"=/obj/item/weapon/weldingtool, "desc"="Internal armor is welded."), //4 @@ -1137,7 +1137,7 @@ "backkey"=/obj/item/weapon/crowbar, "desc"="Internal armor is installed"), //6 - list("key"=/obj/item/stack/sheet/metal, + list("key"=/obj/item/stack/material/steel, "backkey"=/obj/item/weapon/screwdriver, "desc"="Peripherals control module is secured"), //7 @@ -1253,7 +1253,7 @@ holder.icon_state = "odysseus10" else user.visible_message("[user] pries internal armor layer from [holder].", "You prie internal armor layer from [holder].") - var/obj/item/stack/sheet/metal/MS = new /obj/item/stack/sheet/metal(get_turf(holder)) + var/obj/item/stack/material/steel/MS = new /obj/item/stack/material/steel(get_turf(holder)) MS.amount = 5 holder.icon_state = "odysseus8" if(4) @@ -1276,7 +1276,7 @@ user.visible_message("[user] secures external armor layer.", "You secure external reinforced armor layer.") holder.icon_state = "odysseus13" else - var/obj/item/stack/sheet/plasteel/MS = new /obj/item/stack/sheet/plasteel(get_turf(holder)) + var/obj/item/stack/material/plasteel/MS = new /obj/item/stack/material/plasteel(get_turf(holder)) MS.amount = 5 user.visible_message("[user] pries [MS] from [holder].", "You prie [MS] from [holder].") holder.icon_state = "odysseus11" diff --git a/code/game/mecha/mecha_wreckage.dm b/code/game/mecha/mecha_wreckage.dm index 8bbeb03fd7..d9e96bca19 100644 --- a/code/game/mecha/mecha_wreckage.dm +++ b/code/game/mecha/mecha_wreckage.dm @@ -10,7 +10,7 @@ density = 1 anchored = 0 opacity = 0 - var/list/welder_salvage = list(/obj/item/stack/sheet/plasteel,/obj/item/stack/sheet/metal,/obj/item/stack/rods) + var/list/welder_salvage = list(/obj/item/stack/material/plasteel,/obj/item/stack/material/steel,/obj/item/stack/rods) var/list/wirecutters_salvage = list(/obj/item/stack/cable_coil) var/list/crowbar_salvage var/salvage_num = 5 diff --git a/code/game/objects/items/apc_frame.dm b/code/game/objects/items/apc_frame.dm index 208a2111da..0f3fdde0d8 100644 --- a/code/game/objects/items/apc_frame.dm +++ b/code/game/objects/items/apc_frame.dm @@ -10,7 +10,7 @@ /obj/item/apc_frame/attackby(obj/item/weapon/W as obj, mob/user as mob) ..() if (istype(W, /obj/item/weapon/wrench)) - new /obj/item/stack/sheet/metal( get_turf(src.loc), 2 ) + new /obj/item/stack/material/steel( get_turf(src.loc), 2 ) qdel(src) /obj/item/apc_frame/proc/try_build(turf/on_wall) diff --git a/code/game/objects/items/devices/lightreplacer.dm b/code/game/objects/items/devices/lightreplacer.dm index e9c3687fe4..cd930cc577 100644 --- a/code/game/objects/items/devices/lightreplacer.dm +++ b/code/game/objects/items/devices/lightreplacer.dm @@ -71,8 +71,8 @@ Emag() return - if(istype(W, /obj/item/stack/sheet/glass)) - var/obj/item/stack/sheet/glass/G = W + if(istype(W, /obj/item/stack/material/glass)) + var/obj/item/stack/material/glass/G = W if(uses >= max_uses) user << "[src.name] is full." return diff --git a/code/game/objects/items/robot/robot_parts.dm b/code/game/objects/items/robot/robot_parts.dm index e1ebc9fdc1..563df642ef 100644 --- a/code/game/objects/items/robot/robot_parts.dm +++ b/code/game/objects/items/robot/robot_parts.dm @@ -125,8 +125,8 @@ /obj/item/robot_parts/robot_suit/attackby(obj/item/W as obj, mob/user as mob) ..() - if(istype(W, /obj/item/stack/sheet/metal) && !l_arm && !r_arm && !l_leg && !r_leg && !chest && !head) - var/obj/item/stack/sheet/metal/M = W + if(istype(W, /obj/item/stack/material/steel) && !l_arm && !r_arm && !l_leg && !r_leg && !chest && !head) + var/obj/item/stack/material/steel/M = W if (M.use(1)) var/obj/item/weapon/secbot_assembly/ed209_assembly/B = new /obj/item/weapon/secbot_assembly/ed209_assembly B.loc = get_turf(src) diff --git a/code/game/objects/items/stacks/rods.dm b/code/game/objects/items/stacks/rods.dm index e3bbce8386..ff5514a3db 100644 --- a/code/game/objects/items/stacks/rods.dm +++ b/code/game/objects/items/stacks/rods.dm @@ -32,7 +32,7 @@ return if(WT.remove_fuel(0,user)) - var/obj/item/stack/sheet/metal/new_item = new(usr.loc) + var/obj/item/stack/material/steel/new_item = new(usr.loc) new_item.add_to_stacks(usr) for (var/mob/M in viewers(src)) M.show_message("\red [src] is shaped into metal by [user.name] with the weldingtool.", 3, "\red You hear welding.", 2) diff --git a/code/game/objects/items/stacks/sheets/glass.dm b/code/game/objects/items/stacks/sheets/glass.dm index cac3fffad7..8fb7493b8c 100644 --- a/code/game/objects/items/stacks/sheets/glass.dm +++ b/code/game/objects/items/stacks/sheets/glass.dm @@ -10,32 +10,19 @@ /* * Glass sheets */ -/obj/item/stack/sheet/glass +/obj/item/stack/material/glass name = "glass" - desc = "HOLY SHEET! That is a lot of glass." singular_name = "glass sheet" icon_state = "sheet-glass" - matter = list("glass" = 3750) - origin_tech = "materials=1" var/created_window = /obj/structure/window/basic var/is_reinforced = 0 var/list/construction_options = list("One Direction", "Full Window") - sheettype = "glass" + default_type = "glass" -/obj/item/stack/sheet/glass/cyborg - name = "glass synthesizer" - desc = "A device that makes glass." - gender = NEUTER - singular_name = "glass" - matter = null - uses_charge = 1 - charge_costs = list(1000) - stacktype = /obj/item/stack/sheet/glass - -/obj/item/stack/sheet/glass/attack_self(mob/user as mob) +/obj/item/stack/material/glass/attack_self(mob/user as mob) construct_window(user) -/obj/item/stack/sheet/glass/attackby(obj/item/W, mob/user) +/obj/item/stack/material/glass/attackby(obj/item/W, mob/user) ..() if(!is_reinforced) if(istype(W,/obj/item/stack/cable_coil)) @@ -54,10 +41,10 @@ user << "You need one rod and one sheet of glass to make reinforced glass." return - var/obj/item/stack/sheet/glass/reinforced/RG = new (user.loc) + var/obj/item/stack/material/glass/reinforced/RG = new (user.loc) RG.add_fingerprint(user) RG.add_to_stacks(user) - var/obj/item/stack/sheet/glass/G = src + var/obj/item/stack/material/glass/G = src src = null var/replace = (user.get_inactive_hand()==G) V.use(1) @@ -65,7 +52,7 @@ if (!G && replace) user.put_in_hands(RG) -/obj/item/stack/sheet/glass/proc/construct_window(mob/user as mob) +/obj/item/stack/material/glass/proc/construct_window(mob/user as mob) if(!user || !src) return 0 if(!istype(user.loc,/turf)) return 0 if(!user.IsAdvancedToolUser()) @@ -139,53 +126,34 @@ /* * Reinforced glass sheets */ -/obj/item/stack/sheet/glass/reinforced +/obj/item/stack/material/glass/reinforced name = "reinforced glass" - desc = "Glass which has been reinforced with metal rods." singular_name = "reinforced glass sheet" icon_state = "sheet-rglass" - - matter = list(DEFAULT_WALL_MATERIAL = 1875,"glass" = 3750) - origin_tech = "materials=2" - + default_type = "reinforced glass" created_window = /obj/structure/window/reinforced is_reinforced = 1 construction_options = list("One Direction", "Full Window", "Windoor") -/obj/item/stack/sheet/glass/reinforced/cyborg - name = "reinforced glass synthesizer" - desc = "A device that makes reinforced glass." - gender = NEUTER - matter = null - uses_charge = 2 - charge_costs = list(1000) - singular_name = "reinforced glass sheet" - icon_state = "sheet-rglass" - charge_costs = list(500, 1000) - stacktype = /obj/item/stack/sheet/glass/reinforced - /* * Phoron Glass sheets */ -/obj/item/stack/sheet/glass/phoronglass +/obj/item/stack/material/glass/phoronglass name = "phoron glass" - desc = "A very strong and very resistant sheet of a phoron-glass alloy." singular_name = "phoron glass sheet" icon_state = "sheet-phoronglass" - matter = list("glass" = 7500) - origin_tech = "materials=3;phorontech=2" created_window = /obj/structure/window/phoronbasic - sheettype = "phoronglass" + default_type = "phoronglass" -/obj/item/stack/sheet/glass/phoronglass/attackby(obj/item/W, mob/user) +/obj/item/stack/material/glass/phoronglass/attackby(obj/item/W, mob/user) ..() if( istype(W, /obj/item/stack/rods) ) var/obj/item/stack/rods/V = W - var/obj/item/stack/sheet/glass/phoronrglass/RG = new (user.loc) + var/obj/item/stack/material/glass/phoronrglass/RG = new (user.loc) RG.add_fingerprint(user) RG.add_to_stacks(user) V.use(1) - var/obj/item/stack/sheet/glass/G = src + var/obj/item/stack/material/glass/G = src src = null var/replace = (user.get_inactive_hand()==G) G.use(1) @@ -197,13 +165,10 @@ /* * Reinforced phoron glass sheets */ -/obj/item/stack/sheet/glass/phoronrglass +/obj/item/stack/material/glass/phoronrglass name = "reinforced phoron glass" - desc = "Phoron glass which has been reinforced with metal rods." singular_name = "reinforced phoron glass sheet" icon_state = "sheet-phoronrglass" - matter = list("glass" = 7500,DEFAULT_WALL_MATERIAL = 1875) - - origin_tech = "materials=4;phorontech=2" + default_type = "reinforced phoron glass" created_window = /obj/structure/window/phoronreinforced is_reinforced = 1 diff --git a/code/game/objects/items/stacks/sheets/leather.dm b/code/game/objects/items/stacks/sheets/leather.dm index 4090b9d2f2..b0de81ff55 100644 --- a/code/game/objects/items/stacks/sheets/leather.dm +++ b/code/game/objects/items/stacks/sheets/leather.dm @@ -1,39 +1,39 @@ -/obj/item/stack/sheet/animalhide/human +/obj/item/stack/material/animalhide/human name = "human skin" desc = "The by-product of human farming." singular_name = "human skin piece" icon_state = "sheet-hide" origin_tech = "" -/obj/item/stack/sheet/animalhide/corgi +/obj/item/stack/material/animalhide/corgi name = "corgi hide" desc = "The by-product of corgi farming." singular_name = "corgi hide piece" icon_state = "sheet-corgi" origin_tech = "" -/obj/item/stack/sheet/animalhide/cat +/obj/item/stack/material/animalhide/cat name = "cat hide" desc = "The by-product of cat farming." singular_name = "cat hide piece" icon_state = "sheet-cat" origin_tech = "" -/obj/item/stack/sheet/animalhide/monkey +/obj/item/stack/material/animalhide/monkey name = "monkey hide" desc = "The by-product of monkey farming." singular_name = "monkey hide piece" icon_state = "sheet-monkey" origin_tech = "" -/obj/item/stack/sheet/animalhide/lizard +/obj/item/stack/material/animalhide/lizard name = "lizard skin" desc = "Sssssss..." singular_name = "lizard skin piece" icon_state = "sheet-lizard" origin_tech = "" -/obj/item/stack/sheet/animalhide/xeno +/obj/item/stack/material/animalhide/xeno name = "alien hide" desc = "The skin of a terrible creature." singular_name = "alien hide piece" @@ -41,7 +41,7 @@ origin_tech = "" //don't see anywhere else to put these, maybe together they could be used to make the xenos suit? -/obj/item/stack/sheet/xenochitin +/obj/item/stack/material/xenochitin name = "alien chitin" desc = "A piece of the hide of a terrible creature." singular_name = "alien hide piece" @@ -63,14 +63,14 @@ icon_state = "weed_extract" origin_tech = "" -/obj/item/stack/sheet/hairlesshide +/obj/item/stack/material/hairlesshide name = "hairless hide" desc = "This hide was stripped of it's hair, but still needs tanning." singular_name = "hairless hide piece" icon_state = "sheet-hairlesshide" origin_tech = "" -/obj/item/stack/sheet/wetleather +/obj/item/stack/material/wetleather name = "wet leather" desc = "This leather has been cleaned but still needs to be dried." singular_name = "wet leather piece" @@ -79,7 +79,7 @@ var/wetness = 30 //Reduced when exposed to high temperautres var/drying_threshold_temperature = 500 //Kelvin to start drying -/obj/item/stack/sheet/leather +/obj/item/stack/material/leather name = "leather" desc = "The by-product of mob grinding." singular_name = "leather piece" @@ -90,7 +90,7 @@ //Step one - dehairing. -/obj/item/stack/sheet/animalhide/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/item/stack/material/animalhide/attackby(obj/item/weapon/W as obj, mob/user as mob) if( istype(W, /obj/item/weapon/material/knife) || \ istype(W, /obj/item/weapon/material/kitchen/utensil/knife) || \ istype(W, /obj/item/weapon/material/twohanded/fireaxe) || \ @@ -101,13 +101,13 @@ if(do_after(user,50)) usr << "\blue You cut the hair from this [src.singular_name]" //Try locating an exisitng stack on the tile and add to there if possible - for(var/obj/item/stack/sheet/hairlesshide/HS in usr.loc) + for(var/obj/item/stack/material/hairlesshide/HS in usr.loc) if(HS.amount < 50) HS.amount++ src.use(1) break //If it gets to here it means it did not find a suitable stack on the tile. - var/obj/item/stack/sheet/hairlesshide/HS = new(usr.loc) + var/obj/item/stack/material/hairlesshide/HS = new(usr.loc) HS.amount = 1 src.use(1) else @@ -117,20 +117,20 @@ //Step two - washing..... it's actually in washing machine code. //Step three - drying -/obj/item/stack/sheet/wetleather/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume) +/obj/item/stack/material/wetleather/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume) ..() if(exposed_temperature >= drying_threshold_temperature) wetness-- if(wetness == 0) //Try locating an exisitng stack on the tile and add to there if possible - for(var/obj/item/stack/sheet/leather/HS in src.loc) + for(var/obj/item/stack/material/leather/HS in src.loc) if(HS.amount < 50) HS.amount++ src.use(1) wetness = initial(wetness) break //If it gets to here it means it did not find a suitable stack on the tile. - var/obj/item/stack/sheet/leather/HS = new(src.loc) + var/obj/item/stack/material/leather/HS = new(src.loc) HS.amount = 1 wetness = initial(wetness) src.use(1) diff --git a/code/game/objects/items/stacks/sheets/light.dm b/code/game/objects/items/stacks/sheets/light.dm index f43d7ae320..b32cb54def 100644 --- a/code/game/objects/items/stacks/sheets/light.dm +++ b/code/game/objects/items/stacks/sheets/light.dm @@ -17,13 +17,13 @@ var/obj/item/stack/cable_coil/CC = new/obj/item/stack/cable_coil(user.loc) CC.amount = 5 amount-- - new/obj/item/stack/sheet/glass(user.loc) + new/obj/item/stack/material/glass(user.loc) if(amount <= 0) user.drop_from_inventory(src) qdel(src) - if(istype(O,/obj/item/stack/sheet/metal)) - var/obj/item/stack/sheet/metal/M = O + if(istype(O,/obj/item/stack/material/steel)) + var/obj/item/stack/material/steel/M = O if (M.use(1)) use(1) new/obj/item/stack/tile/light(get_turf(user)) diff --git a/code/game/objects/items/stacks/sheets/mineral.dm b/code/game/objects/items/stacks/sheets/mineral.dm deleted file mode 100644 index 70ab7722f9..0000000000 --- a/code/game/objects/items/stacks/sheets/mineral.dm +++ /dev/null @@ -1,209 +0,0 @@ -/* -Mineral Sheets - Contains: - - Sandstone - - Diamond - - Uranium - - Phoron - - Gold - - Silver - - Enriched Uranium - - Platinum - - Metallic Hydrogen - - Tritium - - Osmium -*/ - -var/global/list/datum/stack_recipe/sandstone_recipes = list ( \ - new/datum/stack_recipe("pile of dirt", /obj/machinery/portable_atmospherics/hydroponics/soil, 3, time = 10, one_per_turf = 1, on_floor = 1), \ - new/datum/stack_recipe("sandstone door", /obj/structure/mineral_door/sandstone, 10, one_per_turf = 1, on_floor = 1), \ - ) - -var/global/list/datum/stack_recipe/silver_recipes = list ( \ - new/datum/stack_recipe("silver door", /obj/structure/mineral_door/silver, 10, one_per_turf = 1, on_floor = 1), \ - ) - -var/global/list/datum/stack_recipe/diamond_recipes = list ( \ - new/datum/stack_recipe("diamond door", /obj/structure/mineral_door/transparent/diamond, 10, one_per_turf = 1, on_floor = 1), \ - ) - -var/global/list/datum/stack_recipe/uranium_recipes = list ( \ - new/datum/stack_recipe("uranium door", /obj/structure/mineral_door/uranium, 10, one_per_turf = 1, on_floor = 1), \ - ) - -var/global/list/datum/stack_recipe/gold_recipes = list ( \ - new/datum/stack_recipe("golden door", /obj/structure/mineral_door/gold, 10, one_per_turf = 1, on_floor = 1), \ - ) - -var/global/list/datum/stack_recipe/phoron_recipes = list ( \ - new/datum/stack_recipe("phoron door", /obj/structure/mineral_door/transparent/phoron, 10, one_per_turf = 1, on_floor = 1), \ - ) - -var/global/list/datum/stack_recipe/plastic_recipes = list ( \ - new/datum/stack_recipe("plastic crate", /obj/structure/closet/crate/plastic, 10, one_per_turf = 1, on_floor = 1), \ - new/datum/stack_recipe("plastic ashtray", /obj/item/ashtray/plastic, 2, one_per_turf = 1, on_floor = 1), \ - new/datum/stack_recipe("plastic fork", /obj/item/weapon/material/kitchen/utensil/fork/plastic, 1, on_floor = 1), \ - new/datum/stack_recipe("plastic spoon", /obj/item/weapon/material/kitchen/utensil/spoon/plastic, 1, on_floor = 1), \ - new/datum/stack_recipe("plastic knife", /obj/item/weapon/material/kitchen/utensil/knife/plastic, 1, on_floor = 1), \ - new/datum/stack_recipe("plastic bag", /obj/item/weapon/storage/bag/plasticbag, 3, on_floor = 1), \ - new/datum/stack_recipe("blood pack", /obj/item/weapon/reagent_containers/blood/empty, 4, on_floor = 0), \ - new/datum/stack_recipe("reagent dispenser cartridge (large)", /obj/item/weapon/reagent_containers/chem_disp_cartridge, 5, on_floor=0), // 500u - new/datum/stack_recipe("reagent dispenser cartridge (med)", /obj/item/weapon/reagent_containers/chem_disp_cartridge/medium, 3, on_floor=0), // 250u - new/datum/stack_recipe("reagent dispenser cartridge (small)", /obj/item/weapon/reagent_containers/chem_disp_cartridge/small, 1, on_floor=0) // 100u - ) - -var/global/list/datum/stack_recipe/iron_recipes = list ( \ - new/datum/stack_recipe("iron door", /obj/structure/mineral_door/iron, 20, one_per_turf = 1, on_floor = 1), \ - null, \ -) - -/obj/item/stack/sheet/mineral - force = 5.0 - throwforce = 5 - w_class = 3.0 - throw_speed = 3 - throw_range = 3 - -/obj/item/stack/sheet/mineral/New() - ..() - pixel_x = rand(0,4)-4 - pixel_y = rand(0,4)-4 - -obj/item/stack/sheet/mineral/iron - name = "iron" - icon_state = "sheet-silver" - origin_tech = "materials=1" - sheettype = "iron" - color = "#333333" - perunit = 3750 - -obj/item/stack/sheet/mineral/iron/New() - ..() - recipes = iron_recipes - -/obj/item/stack/sheet/mineral/sandstone - name = "sandstone brick" - desc = "This appears to be a combination of both sand and stone." - singular_name = "sandstone brick" - icon_state = "sheet-sandstone" - throw_speed = 4 - throw_range = 5 - origin_tech = "materials=1" - sheettype = "sandstone" - -/obj/item/stack/sheet/mineral/sandstone/New() - ..() - recipes = sandstone_recipes - -/obj/item/stack/sheet/mineral/diamond - name = "diamond" - icon_state = "sheet-diamond" - origin_tech = "materials=6" - perunit = 3750 - sheettype = "diamond" - - -/obj/item/stack/sheet/mineral/diamond/New() - ..() - recipes = diamond_recipes - -/obj/item/stack/sheet/mineral/uranium - name = "uranium" - icon_state = "sheet-uranium" - origin_tech = "materials=5" - perunit = 2000 - sheettype = "uranium" - -/obj/item/stack/sheet/mineral/uranium/New() - ..() - recipes = uranium_recipes - -/obj/item/stack/sheet/mineral/phoron - name = "solid phoron" - icon_state = "sheet-phoron" - origin_tech = "phorontech=2;materials=2" - perunit = 2000 - sheettype = "phoron" - -/obj/item/stack/sheet/mineral/phoron/New() - ..() - recipes = phoron_recipes - -/obj/item/stack/sheet/mineral/plastic - name = "Plastic" - icon_state = "sheet-plastic" - origin_tech = "materials=3" - perunit = 2000 - sheettype = "plastic" - -/obj/item/stack/sheet/mineral/plastic/New() - ..() - recipes = plastic_recipes - -/obj/item/stack/sheet/mineral/plastic/cyborg - name = "plastic sheets synthesizer" - gender = NEUTER - uses_charge = 1 - charge_costs = list(1000) - stacktype = /obj/item/stack/sheet/mineral/plastic - -/obj/item/stack/sheet/mineral/gold - name = "gold" - icon_state = "sheet-gold" - origin_tech = "materials=4" - perunit = 2000 - sheettype = "gold" - -/obj/item/stack/sheet/mineral/gold/New() - ..() - recipes = gold_recipes - -/obj/item/stack/sheet/mineral/silver - name = "silver" - icon_state = "sheet-silver" - origin_tech = "materials=3" - perunit = 2000 - sheettype = "silver" - -/obj/item/stack/sheet/mineral/silver/New() - ..() - recipes = silver_recipes - -/obj/item/stack/sheet/mineral/enruranium - name = "enriched uranium" - icon_state = "sheet-enruranium" - origin_tech = "materials=5" - perunit = 1000 - -//Valuable resource, cargo can sell it. -/obj/item/stack/sheet/mineral/platinum - name = "platinum" - icon_state = "sheet-adamantine" - origin_tech = "materials=2" - sheettype = "platinum" - perunit = 2000 - -//Extremely valuable to Research. -/obj/item/stack/sheet/mineral/mhydrogen - name = "metallic hydrogen" - icon_state = "sheet-mythril" - origin_tech = "materials=6;powerstorage=5;magnets=5" - sheettype = "mhydrogen" - perunit = 2000 - -//Fuel for MRSPACMAN generator. -/obj/item/stack/sheet/mineral/tritium - name = "tritium" - icon_state = "sheet-silver" - sheettype = "tritium" - origin_tech = "materials=5" - color = "#777777" - perunit = 2000 - -/obj/item/stack/sheet/mineral/osmium - name = "osmium" - icon_state = "sheet-silver" - sheettype = "osmium" - origin_tech = "materials=5" - color = "#9999FF" - perunit = 2000 diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm deleted file mode 100644 index a1240042ba..0000000000 --- a/code/game/objects/items/stacks/sheets/sheet_types.dm +++ /dev/null @@ -1,223 +0,0 @@ -/* Diffrent misc types of sheets - * Contains: - * Metal - * Plasteel - * Wood - * Cloth - * Cardboard - */ - -/* - * Metal - */ -var/global/list/datum/stack_recipe/metal_recipes = list ( \ - new/datum/stack_recipe("stool", /obj/item/weapon/stool, one_per_turf = 1, on_floor = 1), \ - new/datum/stack_recipe("chair", /obj/structure/bed/chair, one_per_turf = 1, on_floor = 1), \ - new/datum/stack_recipe("bed", /obj/structure/bed, 2, one_per_turf = 1, on_floor = 1), \ - null, \ - new/datum/stack_recipe_list("office chairs",list( \ - new/datum/stack_recipe("dark office chair", /obj/structure/bed/chair/office/dark, 5, one_per_turf = 1, on_floor = 1), \ - new/datum/stack_recipe("light office chair", /obj/structure/bed/chair/office/light, 5, one_per_turf = 1, on_floor = 1), \ - ), 5), \ - new/datum/stack_recipe_list("comfy chairs", list( \ - new/datum/stack_recipe("beige comfy chair", /obj/structure/bed/chair/comfy/beige, 2, one_per_turf = 1, on_floor = 1), \ - new/datum/stack_recipe("black comfy chair", /obj/structure/bed/chair/comfy/black, 2, one_per_turf = 1, on_floor = 1), \ - new/datum/stack_recipe("brown comfy chair", /obj/structure/bed/chair/comfy/brown, 2, one_per_turf = 1, on_floor = 1), \ - new/datum/stack_recipe("lime comfy chair", /obj/structure/bed/chair/comfy/lime, 2, one_per_turf = 1, on_floor = 1), \ - new/datum/stack_recipe("teal comfy chair", /obj/structure/bed/chair/comfy/teal, 2, one_per_turf = 1, on_floor = 1), \ - new/datum/stack_recipe("red comfy chair", /obj/structure/bed/chair/comfy/red, 2, one_per_turf = 1, on_floor = 1), \ - new/datum/stack_recipe("blue comfy chair", /obj/structure/bed/chair/comfy/blue, 2, one_per_turf = 1, on_floor = 1), \ - new/datum/stack_recipe("purple comfy chair", /obj/structure/bed/chair/comfy/purp, 2, one_per_turf = 1, on_floor = 1), \ - new/datum/stack_recipe("green comfy chair", /obj/structure/bed/chair/comfy/green, 2, one_per_turf = 1, on_floor = 1), \ - ), 2), \ - null, \ - new/datum/stack_recipe("table frame", /obj/structure/table, 1, time = 10, one_per_turf = 1, on_floor = 1), \ - new/datum/stack_recipe("rack", /obj/structure/table/rack, 1, time = 5, one_per_turf = 1, on_floor = 1), \ - new/datum/stack_recipe("metal baseball bat", /obj/item/weapon/material/twohanded/baseballbat/metal, 10, time = 20, one_per_turf = 0, on_floor = 1), \ - new/datum/stack_recipe("closet", /obj/structure/closet, 2, time = 15, one_per_turf = 1, on_floor = 1), \ - null, \ - new/datum/stack_recipe("canister", /obj/machinery/portable_atmospherics/canister, 10, time = 15, one_per_turf = 1, on_floor = 1), \ - null, \ - new/datum/stack_recipe("cannon frame", /obj/item/weapon/cannonframe, 10, time = 15, one_per_turf = 0, on_floor = 0), \ - null, \ - new/datum/stack_recipe("floor tile", /obj/item/stack/tile/plasteel, 1, 4, 20), \ - new/datum/stack_recipe("metal rod", /obj/item/stack/rods, 1, 2, 60), \ - null, \ - new/datum/stack_recipe("computer frame", /obj/structure/computerframe, 5, time = 25, one_per_turf = 1, on_floor = 1), \ - new/datum/stack_recipe("wall girders", /obj/structure/girder, 2, time = 50, one_per_turf = 1, on_floor = 1), \ - new/datum/stack_recipe("machine frame", /obj/machinery/constructable_frame/machine_frame, 5, time = 25, one_per_turf = 1, on_floor = 1), \ - new/datum/stack_recipe("turret frame", /obj/machinery/porta_turret_construct, 5, time = 25, one_per_turf = 1, on_floor = 1), \ - null, \ - new/datum/stack_recipe_list("airlock assemblies", list( \ - new/datum/stack_recipe("standard airlock assembly", /obj/structure/door_assembly, 4, time = 50, one_per_turf = 1, on_floor = 1), \ - new/datum/stack_recipe("command airlock assembly", /obj/structure/door_assembly/door_assembly_com, 4, time = 50, one_per_turf = 1, on_floor = 1), \ - new/datum/stack_recipe("security airlock assembly", /obj/structure/door_assembly/door_assembly_sec, 4, time = 50, one_per_turf = 1, on_floor = 1), \ - new/datum/stack_recipe("engineering airlock assembly", /obj/structure/door_assembly/door_assembly_eng, 4, time = 50, one_per_turf = 1, on_floor = 1), \ - new/datum/stack_recipe("mining airlock assembly", /obj/structure/door_assembly/door_assembly_min, 4, time = 50, one_per_turf = 1, on_floor = 1), \ - new/datum/stack_recipe("atmospherics airlock assembly", /obj/structure/door_assembly/door_assembly_atmo, 4, time = 50, one_per_turf = 1, on_floor = 1), \ - new/datum/stack_recipe("research airlock assembly", /obj/structure/door_assembly/door_assembly_research, 4, time = 50, one_per_turf = 1, on_floor = 1), \ -/* new/datum/stack_recipe("science airlock assembly", /obj/structure/door_assembly/door_assembly_science, 4, time = 50, one_per_turf = 1, on_floor = 1), \ */ - new/datum/stack_recipe("medical airlock assembly", /obj/structure/door_assembly/door_assembly_med, 4, time = 50, one_per_turf = 1, on_floor = 1), \ - new/datum/stack_recipe("maintenance airlock assembly", /obj/structure/door_assembly/door_assembly_mai, 4, time = 50, one_per_turf = 1, on_floor = 1), \ - new/datum/stack_recipe("external airlock assembly", /obj/structure/door_assembly/door_assembly_ext, 4, time = 50, one_per_turf = 1, on_floor = 1), \ - new/datum/stack_recipe("freezer airlock assembly", /obj/structure/door_assembly/door_assembly_fre, 4, time = 50, one_per_turf = 1, on_floor = 1), \ - new/datum/stack_recipe("airtight hatch assembly", /obj/structure/door_assembly/door_assembly_hatch, 4, time = 50, one_per_turf = 1, on_floor = 1), \ - new/datum/stack_recipe("maintenance hatch assembly", /obj/structure/door_assembly/door_assembly_mhatch, 4, time = 50, one_per_turf = 1, on_floor = 1), \ - new/datum/stack_recipe("high security airlock assembly", /obj/structure/door_assembly/door_assembly_highsecurity, 4, time = 50, one_per_turf = 1, on_floor = 1), \ - new/datum/stack_recipe("emergency shutter", /obj/structure/firedoor_assembly, 4, time = 50, one_per_turf = 1, on_floor = 1), \ - new/datum/stack_recipe("multi-tile airlock assembly", /obj/structure/door_assembly/multi_tile, 4, time = 50, one_per_turf = 1, on_floor = 1), \ - ), 4), \ - null, \ - new/datum/stack_recipe("grenade casing", /obj/item/weapon/grenade/chem_grenade), \ - new/datum/stack_recipe("light fixture frame", /obj/item/frame/light, 2), \ - new/datum/stack_recipe("small light fixture frame", /obj/item/frame/light/small, 1), \ - null, \ - new/datum/stack_recipe("apc frame", /obj/item/apc_frame, 2), \ - new/datum/stack_recipe("air alarm frame", /obj/item/frame/air_alarm, 2), \ - new/datum/stack_recipe("fire alarm frame", /obj/item/frame/fire_alarm, 2), \ - null, \ - new/datum/stack_recipe("knife blade", /obj/item/butterflyblade, 6, time = 20, one_per_turf = 0, on_floor = 1) \ -) - -/obj/item/stack/sheet/metal - name = DEFAULT_WALL_MATERIAL - desc = "Sheets made out off steel." - singular_name = "metal sheet" - icon_state = "sheet-metal" - matter = list(DEFAULT_WALL_MATERIAL = 3750) - throwforce = 14.0 - flags = CONDUCT - origin_tech = "materials=1" - sheettype = DEFAULT_WALL_MATERIAL - -/obj/item/stack/sheet/metal/cyborg - name = "steel synthesizer" - desc = "A device that makes steel sheets." - gender = NEUTER - matter = null - uses_charge = 1 - charge_costs = list(1000) - stacktype = /obj/item/stack/sheet/metal - -/obj/item/stack/sheet/metal/New(var/loc, var/amount=null) - recipes = metal_recipes - return ..() - - -/* - * Plasteel - */ -var/global/list/datum/stack_recipe/plasteel_recipes = list ( \ - new/datum/stack_recipe("AI core", /obj/structure/AIcore, 4, time = 50, one_per_turf = 1), \ - new/datum/stack_recipe("Metal crate", /obj/structure/closet/crate, 10, time = 50, one_per_turf = 1), \ - new/datum/stack_recipe("RUST fuel assembly port frame", /obj/item/frame/rust/assembly, 12, time = 50, one_per_turf = 1), \ - new/datum/stack_recipe("RUST fuel compressor frame", /obj/item/frame/rust, 12, time = 50, one_per_turf = 1), \ - new/datum/stack_recipe("knife grip", /obj/item/butterflyhandle, 4, time = 20, one_per_turf = 0, on_floor = 1), - ) - -/obj/item/stack/sheet/plasteel - name = "plasteel" - singular_name = "plasteel sheet" - desc = "This sheet is an alloy of iron and platinum." - icon_state = "sheet-plasteel" - item_state = "sheet-metal" - matter = list(DEFAULT_WALL_MATERIAL = 7500) - throwforce = 15.0 - flags = CONDUCT - origin_tech = "materials=2" - sheettype = "plasteel" - -/obj/item/stack/sheet/plasteel/cyborg - name = "plasteel synthesizer" - desc = "A device that makes plasteel sheets." - gender = NEUTER - singular_name = "plasteel sheet" - matter = null - uses_charge = 1 - charge_costs = list(1000) - stacktype = /obj/item/stack/sheet/plasteel - -/obj/item/stack/sheet/plasteel/New(var/loc, var/amount=null) - recipes = plasteel_recipes - return ..() - -/* - * Wood - */ -var/global/list/datum/stack_recipe/wood_recipes = list ( \ - new/datum/stack_recipe("wooden sandals", /obj/item/clothing/shoes/sandal, 1), \ - new/datum/stack_recipe("wood floor tile", /obj/item/stack/tile/wood, 1, 4, 20), \ - new/datum/stack_recipe("wooden chair", /obj/structure/bed/chair/wood, 3, time = 10, one_per_turf = 1, on_floor = 1), \ - new/datum/stack_recipe("wooden barricade", /obj/structure/barricade/wooden, 5, time = 50, one_per_turf = 1, on_floor = 1), \ - new/datum/stack_recipe("crossbow frame", /obj/item/weapon/crossbowframe, 5, time = 25, one_per_turf = 0, on_floor = 0), \ - new/datum/stack_recipe("wooden door", /obj/structure/mineral_door/wood, 10, time = 20, one_per_turf = 1, on_floor = 1), \ - new/datum/stack_recipe("coffin", /obj/structure/closet/coffin, 5, time = 15, one_per_turf = 1, on_floor = 1), \ - new/datum/stack_recipe("baseball bat", /obj/item/weapon/material/twohanded/baseballbat, 10, time = 20, one_per_turf = 0, on_floor = 1) \ -// new/datum/stack_recipe("apiary", /obj/item/apiary, 10, time = 25, one_per_turf = 0, on_floor = 0) - ) - -/obj/item/stack/sheet/wood - name = "wooden plank" - desc = "One can only guess that this is a bunch of wood." - singular_name = "wood plank" - icon_state = "sheet-wood" - origin_tech = "materials=1;biotech=1" - sheettype = "wood" - -/obj/item/stack/sheet/wood/cyborg - name = "wood synthesizer" - desc = "A device that makes wooden planks." - gender = NEUTER - singular_name = "wood plank" - icon_state = "sheet-wood" - uses_charge = 1 - charge_costs = list(1000) - stacktype = /obj/item/stack/sheet/wood - -/obj/item/stack/sheet/wood/New(var/loc, var/amount=null) - recipes = wood_recipes - return ..() - -/* - * Cloth - */ -/obj/item/stack/sheet/cloth - name = "cloth" - desc = "This roll of cloth is made from only the finest chemicals and bunny rabbits." - singular_name = "cloth roll" - icon_state = "sheet-cloth" - origin_tech = "materials=2" - -/* - * Cardboard - */ -var/global/list/datum/stack_recipe/cardboard_recipes = list ( \ - new/datum/stack_recipe("box", /obj/item/weapon/storage/box), \ - new/datum/stack_recipe("donut box", /obj/item/weapon/storage/box/donut/empty), \ - new/datum/stack_recipe("egg box", /obj/item/weapon/storage/fancy/egg_box), \ - new/datum/stack_recipe("light tubes", /obj/item/weapon/storage/box/lights/tubes), \ - new/datum/stack_recipe("light bulbs", /obj/item/weapon/storage/box/lights/bulbs), \ - new/datum/stack_recipe("mouse traps", /obj/item/weapon/storage/box/mousetraps), \ - new/datum/stack_recipe("cardborg suit", /obj/item/clothing/suit/cardborg, 3), \ - new/datum/stack_recipe("cardborg helmet", /obj/item/clothing/head/cardborg), \ - new/datum/stack_recipe("pizza box", /obj/item/pizzabox), \ - null, \ - new/datum/stack_recipe_list("folders",list( \ - new/datum/stack_recipe("blue folder", /obj/item/weapon/folder/blue), \ - new/datum/stack_recipe("grey folder", /obj/item/weapon/folder), \ - new/datum/stack_recipe("red folder", /obj/item/weapon/folder/red), \ - new/datum/stack_recipe("white folder", /obj/item/weapon/folder/white), \ - new/datum/stack_recipe("yellow folder", /obj/item/weapon/folder/yellow), \ - )) \ -) - -/obj/item/stack/sheet/cardboard //BubbleWrap - name = "cardboard" - desc = "Large sheets of card, like boxes folded flat." - singular_name = "cardboard sheet" - icon_state = "sheet-card" - origin_tech = "materials=1" - -/obj/item/stack/sheet/cardboard/New(var/loc, var/amount=null) - recipes = cardboard_recipes - return ..() diff --git a/code/game/objects/items/stacks/sheets/sheets.dm b/code/game/objects/items/stacks/sheets/sheets.dm deleted file mode 100644 index ed0a9d2a31..0000000000 --- a/code/game/objects/items/stacks/sheets/sheets.dm +++ /dev/null @@ -1,25 +0,0 @@ -/obj/item/stack/sheet - name = "sheet" - w_class = 3.0 - force = 5 - throwforce = 5 - max_amount = 50 - throw_speed = 3 - throw_range = 3 - attack_verb = list("bashed", "battered", "bludgeoned", "thrashed", "smashed") - var/perunit = 3750 - var/sheettype = null //this is used for girders in the creation of walls/false walls - - -// Since the sheetsnatcher was consolidated into weapon/storage/bag we now use -// item/attackby() properly, making this unnecessary - -/*/obj/item/stack/sheet/attackby(obj/item/weapon/W as obj, mob/user as mob) - if (istype(W, /obj/item/weapon/storage/bag/sheetsnatcher)) - var/obj/item/weapon/storage/bag/sheetsnatcher/S = W - if(!S.mode) - S.add(src,user) - else - for (var/obj/item/stack/sheet/stack in locate(src.x,src.y,src.z)) - S.add(stack,user) - ..()*/ diff --git a/code/game/objects/items/stacks/stack.dm b/code/game/objects/items/stacks/stack.dm index a34e39ab9a..e7dc25fae5 100644 --- a/code/game/objects/items/stacks/stack.dm +++ b/code/game/objects/items/stacks/stack.dm @@ -129,7 +129,11 @@ return if (use(required)) - var/atom/O = new recipe.result_type(user.loc) + var/atom/O + if(recipe.use_material) + O = new recipe.result_type(user.loc, recipe.use_material) + else + O = new recipe.result_type(user.loc) O.set_dir(user.dir) O.add_fingerprint(user) @@ -338,7 +342,9 @@ var/time = 0 var/one_per_turf = 0 var/on_floor = 0 - New(title, result_type, req_amount = 1, res_amount = 1, max_res_amount = 1, time = 0, one_per_turf = 0, on_floor = 0) + var/use_material + + New(title, result_type, req_amount = 1, res_amount = 1, max_res_amount = 1, time = 0, one_per_turf = 0, on_floor = 0, supplied_material = null) src.title = title src.result_type = result_type src.req_amount = req_amount @@ -347,6 +353,7 @@ src.time = time src.one_per_turf = one_per_turf src.on_floor = on_floor + src.use_material = supplied_material /* * Recipe list datum diff --git a/code/game/objects/items/stacks/tiles/light.dm b/code/game/objects/items/stacks/tiles/light.dm index dc57abc513..9785d04bb7 100644 --- a/code/game/objects/items/stacks/tiles/light.dm +++ b/code/game/objects/items/stacks/tiles/light.dm @@ -28,7 +28,7 @@ /obj/item/stack/tile/light/attackby(var/obj/item/O as obj, var/mob/user as mob) ..() if(istype(O,/obj/item/weapon/crowbar)) - new/obj/item/stack/sheet/metal(user.loc) + new/obj/item/stack/material/steel(user.loc) amount-- new/obj/item/stack/light_w(user.loc) if(amount <= 0) diff --git a/code/game/objects/items/weapons/storage/bags.dm b/code/game/objects/items/weapons/storage/bags.dm index 52eaa4510d..d91ecb463c 100644 --- a/code/game/objects/items/weapons/storage/bags.dm +++ b/code/game/objects/items/weapons/storage/bags.dm @@ -119,12 +119,12 @@ //verbs += /obj/item/weapon/storage/bag/sheetsnatcher/quick_empty can_be_inserted(obj/item/W as obj, stop_messages = 0) - if(!istype(W,/obj/item/stack/sheet) || istype(W,/obj/item/stack/sheet/mineral/sandstone) || istype(W,/obj/item/stack/sheet/wood)) + if(!istype(W,/obj/item/stack/material) || istype(W,/obj/item/stack/material/sandstone) || istype(W,/obj/item/stack/material/wood)) if(!stop_messages) usr << "The snatcher does not accept [W]." return 0 //I don't care, but the existing code rejects them for not being "sheets" *shrug* -Sayu var/current = 0 - for(var/obj/item/stack/sheet/S in contents) + for(var/obj/item/stack/material/S in contents) current += S.amount if(capacity == current)//If it's full, you're done if(!stop_messages) @@ -135,20 +135,20 @@ // Modified handle_item_insertion. Would prefer not to, but... handle_item_insertion(obj/item/W as obj, prevent_warning = 0) - var/obj/item/stack/sheet/S = W + var/obj/item/stack/material/S = W if(!istype(S)) return 0 var/amount var/inserted = 0 var/current = 0 - for(var/obj/item/stack/sheet/S2 in contents) + for(var/obj/item/stack/material/S2 in contents) current += S2.amount if(capacity < current + S.amount)//If the stack will fill it up amount = capacity - current else amount = S.amount - for(var/obj/item/stack/sheet/sheet in contents) + for(var/obj/item/stack/material/sheet in contents) if(S.type == sheet.type) // we are violating the amount limitation because these are not sane objects sheet.amount += amount // they should only be removed through procs in this file, which split them up. S.amount -= amount @@ -183,7 +183,7 @@ if(display_contents_with_number) numbered_contents = list() adjusted_contents = 0 - for(var/obj/item/stack/sheet/I in contents) + for(var/obj/item/stack/material/I in contents) adjusted_contents++ var/datum/numbered_display/D = new/datum/numbered_display(I) D.number = I.amount @@ -200,9 +200,9 @@ // Modified quick_empty verb drops appropriate sized stacks quick_empty() var/location = get_turf(src) - for(var/obj/item/stack/sheet/S in contents) + for(var/obj/item/stack/material/S in contents) while(S.amount) - var/obj/item/stack/sheet/N = new S.type(location) + var/obj/item/stack/material/N = new S.type(location) var/stacksize = min(S.amount,N.max_amount) N.amount = stacksize S.amount -= stacksize @@ -215,7 +215,7 @@ // Instead of removing remove_from_storage(obj/item/W as obj, atom/new_location) - var/obj/item/stack/sheet/S = W + var/obj/item/stack/material/S = W if(!istype(S)) return 0 //I would prefer to drop a new stack, but the item/attack_hand code @@ -224,7 +224,7 @@ // -Sayu if(S.amount > S.max_amount) - var/obj/item/stack/sheet/temp = new S.type(src) + var/obj/item/stack/material/temp = new S.type(src) temp.amount = S.amount - S.max_amount S.amount = S.max_amount diff --git a/code/game/objects/items/weapons/storage/boxes.dm b/code/game/objects/items/weapons/storage/boxes.dm index d5af4b2bc7..0f8cbcc10f 100644 --- a/code/game/objects/items/weapons/storage/boxes.dm +++ b/code/game/objects/items/weapons/storage/boxes.dm @@ -598,7 +598,7 @@ icon_state = "light" desc = "This box is shaped on the inside so that only light tubes and bulbs fit." item_state = "syringe_kit" - foldable = /obj/item/stack/sheet/cardboard //BubbleWrap + foldable = /obj/item/stack/material/cardboard //BubbleWrap storage_slots=21 can_hold = list(/obj/item/weapon/light/tube, /obj/item/weapon/light/bulb) max_storage_space = 42 //holds 21 items of w_class 2 diff --git a/code/game/objects/items/weapons/storage/misc.dm b/code/game/objects/items/weapons/storage/misc.dm index 65e1bfea37..6bd9495714 100644 --- a/code/game/objects/items/weapons/storage/misc.dm +++ b/code/game/objects/items/weapons/storage/misc.dm @@ -18,7 +18,7 @@ storage_slots = 6 var/startswith = 6 can_hold = list(/obj/item/weapon/reagent_containers/food/snacks/donut) - foldable = /obj/item/stack/sheet/cardboard + foldable = /obj/item/stack/material/cardboard /obj/item/weapon/storage/box/donut/New() ..() diff --git a/code/game/objects/structures/crates_lockers/closets.dm b/code/game/objects/structures/crates_lockers/closets.dm index 5e1a551cec..71c8dd4c4d 100644 --- a/code/game/objects/structures/crates_lockers/closets.dm +++ b/code/game/objects/structures/crates_lockers/closets.dm @@ -202,7 +202,7 @@ if(!WT.remove_fuel(0,user)) user << "You need more welding fuel to complete this task." return - new /obj/item/stack/sheet/metal(src.loc) + new /obj/item/stack/material/steel(src.loc) for(var/mob/M in viewers(src)) M.show_message("\The [src] has been cut apart by [user] with \the [WT].", 3, "You hear welding.", 2) qdel(src) @@ -329,25 +329,25 @@ escapee.next_move = world.time + 100 escapee.last_special = world.time + 100 escapee << "You lean on the back of \the [src] and start pushing the door open. (this will take about [breakout_time] minutes)" - + visible_message("The [src] begins to shake violently!") breakout = 1 //can't think of a better way to do this right now. for(var/i in 1 to (6*breakout_time * 2)) //minutes * 6 * 5seconds * 2 playsound(src.loc, 'sound/effects/grillehit.ogg', 100, 1) animate_shake() - + if(!do_after(escapee, 50)) //5 seconds breakout = 0 return - if(!escapee || escapee.stat || escapee.loc != src) + if(!escapee || escapee.stat || escapee.loc != src) breakout = 0 return //closet/user destroyed OR user dead/unconcious OR user no longer in closet OR closet opened //Perform the same set of checks as above for weld and lock status to determine if there is even still a point in 'resisting'... if(!req_breakout()) breakout = 0 return - + //Well then break it! breakout = 0 escapee << "You successfully break out!" diff --git a/code/game/objects/structures/crates_lockers/closets/syndicate.dm b/code/game/objects/structures/crates_lockers/closets/syndicate.dm index 2f6b66e5ce..2214a17f8e 100644 --- a/code/game/objects/structures/crates_lockers/closets/syndicate.dm +++ b/code/game/objects/structures/crates_lockers/closets/syndicate.dm @@ -41,7 +41,7 @@ /obj/structure/closet/syndicate/nuclear/New() ..() - + new /obj/item/ammo_magazine/a12mm(src) new /obj/item/ammo_magazine/a12mm(src) new /obj/item/ammo_magazine/a12mm(src) @@ -86,35 +86,35 @@ //Metal (common ore) if(pickednum >= 2) - new /obj/item/stack/sheet/metal(src, rand(common_min, common_max)) + new /obj/item/stack/material/steel(src, rand(common_min, common_max)) //Glass (common ore) if(pickednum >= 5) - new /obj/item/stack/sheet/glass(src, rand(common_min, common_max)) + new /obj/item/stack/material/glass(src, rand(common_min, common_max)) //Plasteel (common ore) Because it has a million more uses then phoron if(pickednum >= 10) - new /obj/item/stack/sheet/plasteel(src, rand(common_min, common_max)) + new /obj/item/stack/material/plasteel(src, rand(common_min, common_max)) //Phoron (rare ore) if(pickednum >= 15) - new /obj/item/stack/sheet/mineral/phoron(src, rand(rare_min, rare_max)) + new /obj/item/stack/material/phoron(src, rand(rare_min, rare_max)) //Silver (rare ore) if(pickednum >= 20) - new /obj/item/stack/sheet/mineral/silver(src, rand(rare_min, rare_max)) + new /obj/item/stack/material/silver(src, rand(rare_min, rare_max)) //Gold (rare ore) if(pickednum >= 30) - new /obj/item/stack/sheet/mineral/gold(src, rand(rare_min, rare_max)) + new /obj/item/stack/material/gold(src, rand(rare_min, rare_max)) //Uranium (rare ore) if(pickednum >= 40) - new /obj/item/stack/sheet/mineral/uranium(src, rand(rare_min, rare_max)) + new /obj/item/stack/material/uranium(src, rand(rare_min, rare_max)) //Diamond (rare HONK) if(pickednum >= 45) - new /obj/item/stack/sheet/mineral/diamond(src, rand(rare_min, rare_max)) + new /obj/item/stack/material/diamond(src, rand(rare_min, rare_max)) //Jetpack (You hit the jackpot!) if(pickednum == 50) @@ -127,14 +127,14 @@ New() var/list/resources = list( - /obj/item/stack/sheet/metal, - /obj/item/stack/sheet/glass, - /obj/item/stack/sheet/mineral/gold, - /obj/item/stack/sheet/mineral/silver, - /obj/item/stack/sheet/mineral/phoron, - /obj/item/stack/sheet/mineral/uranium, - /obj/item/stack/sheet/mineral/diamond, - /obj/item/stack/sheet/plasteel, + /obj/item/stack/material/steel, + /obj/item/stack/material/glass, + /obj/item/stack/material/gold, + /obj/item/stack/material/silver, + /obj/item/stack/material/phoron, + /obj/item/stack/material/uranium, + /obj/item/stack/material/diamond, + /obj/item/stack/material/plasteel, /obj/item/stack/rods ) diff --git a/code/game/objects/structures/crates_lockers/largecrate.dm b/code/game/objects/structures/crates_lockers/largecrate.dm index a0ef655579..54a9fc8092 100644 --- a/code/game/objects/structures/crates_lockers/largecrate.dm +++ b/code/game/objects/structures/crates_lockers/largecrate.dm @@ -11,7 +11,7 @@ /obj/structure/largecrate/attackby(obj/item/weapon/W as obj, mob/user as mob) if(istype(W, /obj/item/weapon/crowbar)) - new /obj/item/stack/sheet/wood(src) + new /obj/item/stack/material/wood(src) var/turf/T = get_turf(src) for(var/obj/O in contents) O.loc = T diff --git a/code/game/objects/structures/door_assembly.dm b/code/game/objects/structures/door_assembly.dm index a15650405e..169b1deebd 100644 --- a/code/game/objects/structures/door_assembly.dm +++ b/code/game/objects/structures/door_assembly.dm @@ -150,7 +150,7 @@ if(do_after(user, 40)) if(!src || !WT.isOn()) return user << "\blue You welded the [glass] plating off!" - var/M = text2path("/obj/item/stack/sheet/mineral/[glass]") + var/M = text2path("/obj/item/stack/material/[glass]") new M(src.loc, 2) glass = 0 else if(glass == 1) @@ -158,14 +158,14 @@ if(do_after(user, 40)) if(!src || !WT.isOn()) return user << "\blue You welded the glass panel out!" - new /obj/item/stack/sheet/glass/reinforced(src.loc) + new /obj/item/stack/material/glass/reinforced(src.loc) glass = 0 else if(!anchored) user.visible_message("[user] dissassembles the airlock assembly.", "You start to dissassemble the airlock assembly.") if(do_after(user, 40)) if(!src || !WT.isOn()) return user << "\blue You dissasembled the airlock assembly!" - new /obj/item/stack/sheet/metal(src.loc, 4) + new /obj/item/stack/material/steel(src.loc, 4) qdel (src) else user << "\blue You need more welding fuel." @@ -235,19 +235,19 @@ electronics.loc = src.loc electronics = null - else if(istype(W, /obj/item/stack/sheet) && !glass) - var/obj/item/stack/sheet/S = W + else if(istype(W, /obj/item/stack/material) && !glass) + var/obj/item/stack/material/S = W if (S) if (S.get_amount() >= 1) - if(istype(S, /obj/item/stack/sheet/glass/reinforced)) + if(istype(S, /obj/item/stack/material/glass/reinforced)) playsound(src.loc, 'sound/items/Crowbar.ogg', 100, 1) user.visible_message("[user] adds [S.name] to the airlock assembly.", "You start to install [S.name] into the airlock assembly.") if(do_after(user, 40) && !glass) if (S.use(1)) user << "You installed reinforced glass windows into the airlock assembly." glass = 1 - else if(istype(S, /obj/item/stack/sheet/mineral) && S.sheettype) - var/M = S.sheettype + else if(istype(S, /obj/item/stack/material) && S.default_type) + var/M = S.default_type // Ugly hack, will suffice for now. Need to fix it upstream as well, may rewrite mineral walls. ~Z if(M in list("mhydrogen","osmium","tritium","platinum","iron")) user << "You cannot make an airlock out of that material." diff --git a/code/game/objects/structures/girders.dm b/code/game/objects/structures/girders.dm index e8cb65a33d..dc894a6474 100644 --- a/code/game/objects/structures/girders.dm +++ b/code/game/objects/structures/girders.dm @@ -105,13 +105,13 @@ health = 50 cover = 25 - else if(istype(W, /obj/item/stack/sheet)) + else if(istype(W, /obj/item/stack/material)) - var/obj/item/stack/sheet/S = W + var/obj/item/stack/material/S = W if(S.get_amount() < 2) return ..() - var/material/M = name_to_material[S.sheettype] + var/material/M = name_to_material[S.default_type] if(!istype(M)) return ..() @@ -171,7 +171,7 @@ user << "\The [src] is already reinforced." return - var/obj/item/stack/sheet/S = user.l_hand + var/obj/item/stack/material/S = user.l_hand if(!istype(S)) S = user.r_hand if(!istype(S)) @@ -182,7 +182,7 @@ user << "There is not enough material here to reinforce the girder." return - var/material/M = name_to_material[S.sheettype] + var/material/M = name_to_material[S.default_type] if(!istype(M) || M.integrity < 50) user << "You cannot reinforce \the [src] with that; it is too soft." return @@ -197,7 +197,7 @@ /obj/structure/girder/proc/dismantle() - new /obj/item/stack/sheet/metal(get_turf(src)) + new /obj/item/stack/material/steel(get_turf(src)) qdel(src) /obj/structure/girder/attack_hand(mob/user as mob) diff --git a/code/game/objects/structures/grille.dm b/code/game/objects/structures/grille.dm index 619021c45e..12090ee077 100644 --- a/code/game/objects/structures/grille.dm +++ b/code/game/objects/structures/grille.dm @@ -114,8 +114,8 @@ return //window placing begin - else if(istype(W,/obj/item/stack/sheet/glass)) - var/obj/item/stack/sheet/glass/ST = W + else if(istype(W,/obj/item/stack/material/glass)) + var/obj/item/stack/material/glass/ST = W var/dir_to_set = 1 if(loc == user.loc) dir_to_set = user.dir diff --git a/code/game/objects/structures/mineral_doors.dm b/code/game/objects/structures/mineral_doors.dm index 695b11db95..63ef8fe31f 100644 --- a/code/game/objects/structures/mineral_doors.dm +++ b/code/game/objects/structures/mineral_doors.dm @@ -224,7 +224,7 @@ Dismantle(devastated = 0) if(!devastated) for(var/i = 1, i <= oreAmount, i++) - new/obj/item/stack/sheet/wood(get_turf(src)) + new/obj/item/stack/material/wood(get_turf(src)) qdel(src) /obj/structure/mineral_door/resin diff --git a/code/game/objects/structures/stool_bed_chair_nest/bed.dm b/code/game/objects/structures/stool_bed_chair_nest/bed.dm index 586a11d181..fb13813970 100644 --- a/code/game/objects/structures/stool_bed_chair_nest/bed.dm +++ b/code/game/objects/structures/stool_bed_chair_nest/bed.dm @@ -33,13 +33,13 @@ /obj/structure/bed/blob_act() if(prob(75)) - new /obj/item/stack/sheet/metal(src.loc) + new /obj/item/stack/material/steel(src.loc) qdel(src) /obj/structure/bed/attackby(obj/item/weapon/W as obj, mob/user as mob) if(istype(W, /obj/item/weapon/wrench)) playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1) - new /obj/item/stack/sheet/metal(src.loc) + new /obj/item/stack/material/steel(src.loc) qdel(src) else if(istype(W, /obj/item/weapon/grab)) user.visible_message("[user] attempts to buckle [W:affecting] into \the [src]!") diff --git a/code/game/objects/structures/stool_bed_chair_nest/chairs.dm b/code/game/objects/structures/stool_bed_chair_nest/chairs.dm index b811294a07..c49e6f8b86 100644 --- a/code/game/objects/structures/stool_bed_chair_nest/chairs.dm +++ b/code/game/objects/structures/stool_bed_chair_nest/chairs.dm @@ -78,7 +78,7 @@ /obj/structure/bed/chair/wood/attackby(obj/item/weapon/W as obj, mob/user as mob) if(istype(W, /obj/item/weapon/wrench)) playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1) - new /obj/item/stack/sheet/wood(src.loc) + new /obj/item/stack/material/wood(src.loc) qdel(src) else ..() diff --git a/code/game/objects/structures/stool_bed_chair_nest/stools.dm b/code/game/objects/structures/stool_bed_chair_nest/stools.dm index 8de3bcf0a5..77d20c1f7a 100644 --- a/code/game/objects/structures/stool_bed_chair_nest/stools.dm +++ b/code/game/objects/structures/stool_bed_chair_nest/stools.dm @@ -11,7 +11,7 @@ if (prob(5) && istype(M,/mob/living)) user.visible_message("\red [user] breaks [src] over [M]'s back!") user.remove_from_mob(src) - var/obj/item/stack/sheet/metal/m = new/obj/item/stack/sheet/metal + var/obj/item/stack/material/steel/m = new/obj/item/stack/material/steel m.loc = get_turf(src) qdel(src) var/mob/living/T = M @@ -36,12 +36,12 @@ /obj/item/weapon/stool/blob_act() if(prob(75)) - new /obj/item/stack/sheet/metal(src.loc) + new /obj/item/stack/material/steel(src.loc) qdel(src) /obj/item/weapon/stool/attackby(obj/item/weapon/W as obj, mob/user as mob) if(istype(W, /obj/item/weapon/wrench)) playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1) - new /obj/item/stack/sheet/metal(src.loc) - qdel(src) + new /obj/item/stack/material/steel(src.loc) + qdel(src) ..() diff --git a/code/game/objects/structures/windoor_assembly.dm b/code/game/objects/structures/windoor_assembly.dm index 36135a775e..7d49acba97 100644 --- a/code/game/objects/structures/windoor_assembly.dm +++ b/code/game/objects/structures/windoor_assembly.dm @@ -34,7 +34,7 @@ obj/structure/windoor_assembly/New(Loc, start_dir=NORTH, constructed=0) set_dir(start_dir) else //If the user is facing northeast. northwest, southeast, southwest or north, default to north set_dir(NORTH) - + update_nearby_tiles(need_rebuild=1) obj/structure/windoor_assembly/Destroy() @@ -76,7 +76,7 @@ obj/structure/windoor_assembly/Destroy() if(do_after(user, 40)) if(!src || !WT.isOn()) return user << "\blue You dissasembled the windoor assembly!" - new /obj/item/stack/sheet/glass/reinforced(get_turf(src), 5) + new /obj/item/stack/material/glass/reinforced(get_turf(src), 5) if(secure) PoolOrNew(/obj/item/stack/rods, list(get_turf(src), 4)) qdel(src) diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm index 656ea7e781..ffb4f641b6 100644 --- a/code/game/objects/structures/window.dm +++ b/code/game/objects/structures/window.dm @@ -262,7 +262,7 @@ else visible_message("[user] dismantles \the [src].") if(dir == SOUTHWEST) - var/obj/item/stack/sheet/mats = new glasstype(loc) + var/obj/item/stack/material/mats = new glasstype(loc) mats.amount = is_fulltile() ? 4 : 2 else new glasstype(loc) @@ -398,7 +398,7 @@ desc = "It looks thin and flimsy. A few knocks with... anything, really should shatter it." icon_state = "window" basestate = "window" - glasstype = /obj/item/stack/sheet/glass + glasstype = /obj/item/stack/material/glass /obj/structure/window/phoronbasic @@ -407,7 +407,7 @@ basestate = "phoronwindow" icon_state = "phoronwindow" shardtype = /obj/item/weapon/material/shard/phoron - glasstype = /obj/item/stack/sheet/glass/phoronglass + glasstype = /obj/item/stack/material/glass/phoronglass maxhealth = 120 /obj/structure/window/phoronbasic/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume) @@ -421,7 +421,7 @@ basestate = "phoronrwindow" icon_state = "phoronrwindow" shardtype = /obj/item/weapon/material/shard/phoron - glasstype = /obj/item/stack/sheet/glass/phoronrglass + glasstype = /obj/item/stack/material/glass/phoronrglass reinf = 1 maxhealth = 160 @@ -435,7 +435,7 @@ basestate = "rwindow" maxhealth = 40 reinf = 1 - glasstype = /obj/item/stack/sheet/glass/reinforced + glasstype = /obj/item/stack/material/glass/reinforced /obj/structure/window/New(Loc, constructed=0) ..() diff --git a/code/game/supplyshuttle.dm b/code/game/supplyshuttle.dm index 2b39256e5b..dbf52d81b2 100644 --- a/code/game/supplyshuttle.dm +++ b/code/game/supplyshuttle.dm @@ -205,13 +205,13 @@ var/list/mechtoys = list( continue // Sell phoron - if(istype(A, /obj/item/stack/sheet/mineral/phoron)) - var/obj/item/stack/sheet/mineral/phoron/P = A + if(istype(A, /obj/item/stack/material/phoron)) + var/obj/item/stack/material/phoron/P = A phoron_count += P.get_amount() // Sell platinum - if(istype(A, /obj/item/stack/sheet/mineral/platinum)) - var/obj/item/stack/sheet/mineral/platinum/P = A + if(istype(A, /obj/item/stack/material/platinum)) + var/obj/item/stack/material/platinum/P = A plat_count += P.get_amount() qdel(MA) diff --git a/code/game/turfs/simulated/floor.dm b/code/game/turfs/simulated/floor.dm index bb7d93fbf1..b34144fc39 100644 --- a/code/game/turfs/simulated/floor.dm +++ b/code/game/turfs/simulated/floor.dm @@ -84,12 +84,12 @@ var/list/wood_icons = list("wood","wood-broken") if(2.0) switch(pick(40;1,40;2,3)) if (1) - if(prob(33)) new /obj/item/stack/sheet/metal(src) + if(prob(33)) new /obj/item/stack/material/steel(src) src.ReplaceWithLattice() if(2) src.ChangeTurf(/turf/space) if(3) - if(prob(33)) new /obj/item/stack/sheet/metal(src) + if(prob(33)) new /obj/item/stack/material/steel(src) if(prob(80)) src.break_tile_to_plating() else diff --git a/code/modules/clothing/spacesuits/breaches.dm b/code/modules/clothing/spacesuits/breaches.dm index 495f7b9f24..6789a50dfc 100644 --- a/code/modules/clothing/spacesuits/breaches.dm +++ b/code/modules/clothing/spacesuits/breaches.dm @@ -178,7 +178,7 @@ var/global/list/breach_burn_descriptors = list( //Handles repairs (and also upgrades). /obj/item/clothing/suit/space/attackby(obj/item/W as obj, mob/user as mob) - if(istype(W,/obj/item/stack/sheet/mineral/plastic) || istype(W,/obj/item/stack/sheet/metal)) + if(istype(W,/obj/item/stack/material/plastic) || istype(W,/obj/item/stack/material/steel)) if(istype(src.loc,/mob/living)) user << "\red How do you intend to patch a hardsuit while someone is wearing it?" @@ -188,13 +188,13 @@ var/global/list/breach_burn_descriptors = list( user << "There is no surface damage on \the [src] to repair." return - var/obj/item/stack/sheet/P = W + var/obj/item/stack/material/P = W if(P.get_amount() < 3) P.use(P.get_amount()) - repair_breaches(BURN, ( istype(P,/obj/item/stack/sheet/mineral/plastic) ? P.get_amount() : (P.get_amount()*2) ), user) + repair_breaches(BURN, ( istype(P,/obj/item/stack/material/plastic) ? P.get_amount() : (P.get_amount()*2) ), user) else P.use(3) - repair_breaches(BURN, ( istype(P,/obj/item/stack/sheet/mineral/plastic) ? 3 : 5), user) + repair_breaches(BURN, ( istype(P,/obj/item/stack/material/plastic) ? 3 : 5), user) return else if(istype(W, /obj/item/weapon/weldingtool)) diff --git a/code/modules/clothing/spacesuits/rig/rig_attackby.dm b/code/modules/clothing/spacesuits/rig/rig_attackby.dm index e7a59ea305..effa64087e 100644 --- a/code/modules/clothing/spacesuits/rig/rig_attackby.dm +++ b/code/modules/clothing/spacesuits/rig/rig_attackby.dm @@ -9,7 +9,7 @@ return // Pass repair items on to the chestpiece. - if(chest && (istype(W,/obj/item/stack/sheet/mineral/plastic) || istype(W,/obj/item/stack/sheet/metal) || istype(W, /obj/item/weapon/weldingtool))) + if(chest && (istype(W,/obj/item/stack/material/plastic) || istype(W,/obj/item/stack/material/steel) || istype(W, /obj/item/weapon/weldingtool))) return chest.attackby(W,user) // Lock or unlock the access panel. diff --git a/code/modules/examine/descriptions/stacks.dm b/code/modules/examine/descriptions/stacks.dm index 431e5c37b9..e1e5b66616 100644 --- a/code/modules/examine/descriptions/stacks.dm +++ b/code/modules/examine/descriptions/stacks.dm @@ -2,23 +2,23 @@ description_info = "Made from metal sheets. You can build a grille by using it in your hand. \ Clicking on a floor without any tiles will reinforce the floor. You can make reinforced glass by combining rods and normal glass sheets." -/obj/item/stack/sheet/glass +/obj/item/stack/material/glass description_info = "Use in your hand to build a window. Can be upgraded to reinforced glass by adding metal rods, which are made from metal sheets." -/obj/item/stack/sheet/glass/cyborg +/obj/item/stack/material/glass/cyborg description_info = "Use in your hand to build a window. Can be upgraded to reinforced glass by adding metal rods, which are made from metal sheets.
\ As a synthetic, you can acquire more sheets of glass by recharging." -/obj/item/stack/sheet/glass/reinforced +/obj/item/stack/material/glass/reinforced description_info = "Use in your hand to build a window. Reinforced glass is much stronger against damage." -/obj/item/stack/sheet/glass/reinforced/cyborg +/obj/item/stack/material/glass/reinforced/cyborg description_info = "Use in your hand to build a window. Reinforced glass is much stronger against damage.
\ As a synthetic, you can gain more reinforced glass by recharging." -/obj/item/stack/sheet/metal/cyborg +/obj/item/stack/material/steel/cyborg description_info = "Use in your hand to bring up the recipe menu. If you have enough sheets, click on something on the list to build it.
\ You can replenish your supply of metal as a synthetic by recharging." -/obj/item/stack/sheet +/obj/item/stack/material description_info = "Use in your hand to bring up the recipe menu. If you have enough sheets, click on something on the list to build it." \ No newline at end of file diff --git a/code/modules/hydroponics/grown.dm b/code/modules/hydroponics/grown.dm index 0f8d214c8e..8b7678f19f 100644 --- a/code/modules/hydroponics/grown.dm +++ b/code/modules/hydroponics/grown.dm @@ -195,9 +195,9 @@ if(istype(W,/obj/item/weapon/material/hatchet) && !isnull(seed.chems["woodpulp"])) user.show_message("You make planks out of \the [src]!", 1) for(var/i=0,i<2,i++) - var/obj/item/stack/sheet/wood/NG = new (user.loc) + var/obj/item/stack/material/wood/NG = new (user.loc) NG.color = seed.get_trait(TRAIT_PRODUCT_COLOUR) - for (var/obj/item/stack/sheet/wood/G in user.loc) + for (var/obj/item/stack/material/wood/G in user.loc) if(G==NG) continue if(G.amount>=G.max_amount) diff --git a/code/modules/materials/material_recipes.dm b/code/modules/materials/material_recipes.dm new file mode 100644 index 0000000000..480bed617f --- /dev/null +++ b/code/modules/materials/material_recipes.dm @@ -0,0 +1,146 @@ +/material/proc/get_recipes() + if(!recipes) + generate_recipes() + return recipes + +/material/proc/generate_recipes() + recipes = list() + recipes += new/datum/stack_recipe("[display_name] ashtray", /obj/item/ashtray/plastic, 2, one_per_turf = 1, on_floor = 1, supplied_material = "[name]") + recipes += new/datum/stack_recipe("[display_name] fork", /obj/item/weapon/material/kitchen/utensil/fork/plastic, 1, on_floor = 1, supplied_material = "[name]") + recipes += new/datum/stack_recipe("[display_name] spoon", /obj/item/weapon/material/kitchen/utensil/spoon/plastic, 1, on_floor = 1, supplied_material = "[name]") + recipes += new/datum/stack_recipe("[display_name] knife", /obj/item/weapon/material/kitchen/utensil/knife/plastic, 1, on_floor = 1, supplied_material = "[name]") + recipes += new/datum/stack_recipe("[display_name] baseball bat", /obj/item/weapon/material/twohanded/baseballbat/metal, 10, time = 20, one_per_turf = 0, on_floor = 1, supplied_material = "[name]") + recipes += new/datum/stack_recipe("stool", /obj/item/weapon/stool, one_per_turf = 1, on_floor = 1, supplied_material = "[name]") + recipes += new/datum/stack_recipe("chair", /obj/structure/bed/chair, one_per_turf = 1, on_floor = 1, supplied_material = "[name]") + recipes += new/datum/stack_recipe("bed", /obj/structure/bed, 2, one_per_turf = 1, on_floor = 1, supplied_material = "[name]") + +/material/steel/generate_recipes() + ..() + recipes += new/datum/stack_recipe_list("office chairs",list( \ + new/datum/stack_recipe("dark office chair", /obj/structure/bed/chair/office/dark, 5, one_per_turf = 1, on_floor = 1), \ + new/datum/stack_recipe("light office chair", /obj/structure/bed/chair/office/light, 5, one_per_turf = 1, on_floor = 1) \ + ), 5) + recipes += new/datum/stack_recipe_list("comfy chairs", list( \ + new/datum/stack_recipe("beige comfy chair", /obj/structure/bed/chair/comfy/beige, 2, one_per_turf = 1, on_floor = 1), \ + new/datum/stack_recipe("black comfy chair", /obj/structure/bed/chair/comfy/black, 2, one_per_turf = 1, on_floor = 1), \ + new/datum/stack_recipe("brown comfy chair", /obj/structure/bed/chair/comfy/brown, 2, one_per_turf = 1, on_floor = 1), \ + new/datum/stack_recipe("lime comfy chair", /obj/structure/bed/chair/comfy/lime, 2, one_per_turf = 1, on_floor = 1), \ + new/datum/stack_recipe("teal comfy chair", /obj/structure/bed/chair/comfy/teal, 2, one_per_turf = 1, on_floor = 1), \ + new/datum/stack_recipe("red comfy chair", /obj/structure/bed/chair/comfy/red, 2, one_per_turf = 1, on_floor = 1), \ + new/datum/stack_recipe("blue comfy chair", /obj/structure/bed/chair/comfy/blue, 2, one_per_turf = 1, on_floor = 1), \ + new/datum/stack_recipe("purple comfy chair", /obj/structure/bed/chair/comfy/purp, 2, one_per_turf = 1, on_floor = 1), \ + new/datum/stack_recipe("green comfy chair", /obj/structure/bed/chair/comfy/green, 2, one_per_turf = 1, on_floor = 1), \ + ), 2) + + recipes += new/datum/stack_recipe("table frame", /obj/structure/table, 1, time = 10, one_per_turf = 1, on_floor = 1) + recipes += new/datum/stack_recipe("rack", /obj/structure/table/rack, 1, time = 5, one_per_turf = 1, on_floor = 1) + recipes += new/datum/stack_recipe("closet", /obj/structure/closet, 2, time = 15, one_per_turf = 1, on_floor = 1) + recipes += new/datum/stack_recipe("canister", /obj/machinery/portable_atmospherics/canister, 10, time = 15, one_per_turf = 1, on_floor = 1) + recipes += new/datum/stack_recipe("cannon frame", /obj/item/weapon/cannonframe, 10, time = 15, one_per_turf = 0, on_floor = 0) + recipes += new/datum/stack_recipe("floor tile", /obj/item/stack/tile/plasteel, 1, 4, 20) + recipes += new/datum/stack_recipe("metal rod", /obj/item/stack/rods, 1, 2, 60) + recipes += new/datum/stack_recipe("computer frame", /obj/structure/computerframe, 5, time = 25, one_per_turf = 1, on_floor = 1) + recipes += new/datum/stack_recipe("wall girders", /obj/structure/girder, 2, time = 50, one_per_turf = 1, on_floor = 1) + recipes += new/datum/stack_recipe("machine frame", /obj/machinery/constructable_frame/machine_frame, 5, time = 25, one_per_turf = 1, on_floor = 1) + recipes += new/datum/stack_recipe("turret frame", /obj/machinery/porta_turret_construct, 5, time = 25, one_per_turf = 1, on_floor = 1) + recipes += new/datum/stack_recipe_list("airlock assemblies", list( \ + new/datum/stack_recipe("standard airlock assembly", /obj/structure/door_assembly, 4, time = 50, one_per_turf = 1, on_floor = 1), \ + new/datum/stack_recipe("command airlock assembly", /obj/structure/door_assembly/door_assembly_com, 4, time = 50, one_per_turf = 1, on_floor = 1), \ + new/datum/stack_recipe("security airlock assembly", /obj/structure/door_assembly/door_assembly_sec, 4, time = 50, one_per_turf = 1, on_floor = 1), \ + new/datum/stack_recipe("engineering airlock assembly", /obj/structure/door_assembly/door_assembly_eng, 4, time = 50, one_per_turf = 1, on_floor = 1), \ + new/datum/stack_recipe("mining airlock assembly", /obj/structure/door_assembly/door_assembly_min, 4, time = 50, one_per_turf = 1, on_floor = 1), \ + new/datum/stack_recipe("atmospherics airlock assembly", /obj/structure/door_assembly/door_assembly_atmo, 4, time = 50, one_per_turf = 1, on_floor = 1), \ + new/datum/stack_recipe("research airlock assembly", /obj/structure/door_assembly/door_assembly_research, 4, time = 50, one_per_turf = 1, on_floor = 1), \ + new/datum/stack_recipe("medical airlock assembly", /obj/structure/door_assembly/door_assembly_med, 4, time = 50, one_per_turf = 1, on_floor = 1), \ + new/datum/stack_recipe("maintenance airlock assembly", /obj/structure/door_assembly/door_assembly_mai, 4, time = 50, one_per_turf = 1, on_floor = 1), \ + new/datum/stack_recipe("external airlock assembly", /obj/structure/door_assembly/door_assembly_ext, 4, time = 50, one_per_turf = 1, on_floor = 1), \ + new/datum/stack_recipe("freezer airlock assembly", /obj/structure/door_assembly/door_assembly_fre, 4, time = 50, one_per_turf = 1, on_floor = 1), \ + new/datum/stack_recipe("airtight hatch assembly", /obj/structure/door_assembly/door_assembly_hatch, 4, time = 50, one_per_turf = 1, on_floor = 1), \ + new/datum/stack_recipe("maintenance hatch assembly", /obj/structure/door_assembly/door_assembly_mhatch, 4, time = 50, one_per_turf = 1, on_floor = 1), \ + new/datum/stack_recipe("high security airlock assembly", /obj/structure/door_assembly/door_assembly_highsecurity, 4, time = 50, one_per_turf = 1, on_floor = 1), \ + new/datum/stack_recipe("emergency shutter", /obj/structure/firedoor_assembly, 4, time = 50, one_per_turf = 1, on_floor = 1), \ + new/datum/stack_recipe("multi-tile airlock assembly", /obj/structure/door_assembly/multi_tile, 4, time = 50, one_per_turf = 1, on_floor = 1), \ + ), 4) + + new/datum/stack_recipe("grenade casing", /obj/item/weapon/grenade/chem_grenade) + new/datum/stack_recipe("light fixture frame", /obj/item/frame/light, 2) + new/datum/stack_recipe("small light fixture frame", /obj/item/frame/light/small, 1) + new/datum/stack_recipe("apc frame", /obj/item/apc_frame, 2) + new/datum/stack_recipe("air alarm frame", /obj/item/frame/air_alarm, 2) + new/datum/stack_recipe("fire alarm frame", /obj/item/frame/fire_alarm, 2) + new/datum/stack_recipe("knife blade", /obj/item/butterflyblade, 6, time = 20, one_per_turf = 0, on_floor = 1) + +/material/plasteel/generate_recipes() + ..() + recipes += new/datum/stack_recipe("AI core", /obj/structure/AIcore, 4, time = 50, one_per_turf = 1) + recipes += new/datum/stack_recipe("Metal crate", /obj/structure/closet/crate, 10, time = 50, one_per_turf = 1) + recipes += new/datum/stack_recipe("RUST fuel assembly port frame", /obj/item/frame/rust/assembly, 12, time = 50, one_per_turf = 1) + recipes += new/datum/stack_recipe("RUST fuel compressor frame", /obj/item/frame/rust, 12, time = 50, one_per_turf = 1) + recipes += new/datum/stack_recipe("knife grip", /obj/item/butterflyhandle, 4, time = 20, one_per_turf = 0, on_floor = 1) + +/material/sandstone/generate_recipes() + ..() + recipes += new/datum/stack_recipe("pile of dirt", /obj/machinery/portable_atmospherics/hydroponics/soil, 3, time = 10, one_per_turf = 1, on_floor = 1) + recipes += new/datum/stack_recipe("sandstone door", /obj/structure/mineral_door/sandstone, 10, one_per_turf = 1, on_floor = 1) + +/material/silver/generate_recipes() + ..() + recipes += new/datum/stack_recipe("silver door", /obj/structure/mineral_door/silver, 10, one_per_turf = 1, on_floor = 1) + +/material/diamond/generate_recipes() + ..() + recipes += new/datum/stack_recipe("diamond door", /obj/structure/mineral_door/transparent/diamond, 10, one_per_turf = 1, on_floor = 1) + +/material/uranium/generate_recipes() + ..() + recipes += new/datum/stack_recipe("uranium door", /obj/structure/mineral_door/uranium, 10, one_per_turf = 1, on_floor = 1) + +/material/gold/generate_recipes() + ..() + recipes += new/datum/stack_recipe("golden door", /obj/structure/mineral_door/gold, 10, one_per_turf = 1, on_floor = 1) + +/material/phoron/generate_recipes() + ..() + recipes += new/datum/stack_recipe("phoron door", /obj/structure/mineral_door/transparent/phoron, 10, one_per_turf = 1, on_floor = 1) + +/material/plastic/generate_recipes() + ..() + recipes += new/datum/stack_recipe("plastic crate", /obj/structure/closet/crate/plastic, 10, one_per_turf = 1, on_floor = 1) + recipes += new/datum/stack_recipe("plastic bag", /obj/item/weapon/storage/bag/plasticbag, 3, on_floor = 1) + recipes += new/datum/stack_recipe("blood pack", /obj/item/weapon/reagent_containers/blood/empty, 4, on_floor = 0) + recipes += new/datum/stack_recipe("reagent dispenser cartridge (large)", /obj/item/weapon/reagent_containers/chem_disp_cartridge, 5, on_floor=0) // 500u + recipes += new/datum/stack_recipe("reagent dispenser cartridge (med)", /obj/item/weapon/reagent_containers/chem_disp_cartridge/medium, 3, on_floor=0) // 250u + recipes += new/datum/stack_recipe("reagent dispenser cartridge (small)", /obj/item/weapon/reagent_containers/chem_disp_cartridge/small, 1, on_floor=0) // 100u + +/material/iron/generate_recipes() + ..() + recipes += new/datum/stack_recipe("iron door", /obj/structure/mineral_door/iron, 20, one_per_turf = 1, on_floor = 1) + +/material/wood/generate_recipes() + ..() + recipes += new/datum/stack_recipe("wooden sandals", /obj/item/clothing/shoes/sandal, 1) + recipes += new/datum/stack_recipe("wood floor tile", /obj/item/stack/tile/wood, 1, 4, 20) + recipes += new/datum/stack_recipe("wooden chair", /obj/structure/bed/chair/wood, 3, time = 10, one_per_turf = 1, on_floor = 1) + recipes += new/datum/stack_recipe("wooden barricade", /obj/structure/barricade/wooden, 5, time = 50, one_per_turf = 1, on_floor = 1) + recipes += new/datum/stack_recipe("crossbow frame", /obj/item/weapon/crossbowframe, 5, time = 25, one_per_turf = 0, on_floor = 0) + recipes += new/datum/stack_recipe("wooden door", /obj/structure/mineral_door/wood, 10, time = 20, one_per_turf = 1, on_floor = 1) + recipes += new/datum/stack_recipe("coffin", /obj/structure/closet/coffin, 5, time = 15, one_per_turf = 1, on_floor = 1) + +/material/cardboard/generate_recipes() + ..() + recipes += new/datum/stack_recipe("box", /obj/item/weapon/storage/box) + recipes += new/datum/stack_recipe("donut box", /obj/item/weapon/storage/box/donut/empty) + recipes += new/datum/stack_recipe("egg box", /obj/item/weapon/storage/fancy/egg_box) + recipes += new/datum/stack_recipe("light tubes box", /obj/item/weapon/storage/box/lights/tubes) + recipes += new/datum/stack_recipe("light bulbs box", /obj/item/weapon/storage/box/lights/bulbs) + recipes += new/datum/stack_recipe("mouse traps box", /obj/item/weapon/storage/box/mousetraps) + recipes += new/datum/stack_recipe("cardborg suit", /obj/item/clothing/suit/cardborg, 3) + recipes += new/datum/stack_recipe("cardborg helmet", /obj/item/clothing/head/cardborg) + recipes += new/datum/stack_recipe("pizza box", /obj/item/pizzabox) + recipes += new/datum/stack_recipe_list("folders",list( \ + new/datum/stack_recipe("blue folder", /obj/item/weapon/folder/blue), \ + new/datum/stack_recipe("grey folder", /obj/item/weapon/folder), \ + new/datum/stack_recipe("red folder", /obj/item/weapon/folder/red), \ + new/datum/stack_recipe("white folder", /obj/item/weapon/folder/white), \ + new/datum/stack_recipe("yellow folder", /obj/item/weapon/folder/yellow), \ + ), 3) \ No newline at end of file diff --git a/code/modules/materials/material_sheets.dm b/code/modules/materials/material_sheets.dm new file mode 100644 index 0000000000..b3688322c2 --- /dev/null +++ b/code/modules/materials/material_sheets.dm @@ -0,0 +1,172 @@ +// Stacked resources. +/obj/item/stack/material + force = 5.0 + throwforce = 5 + w_class = 3.0 + throw_speed = 3 + throw_range = 3 + var/default_type = DEFAULT_WALL_MATERIAL + var/material/material + var/perunit + var/apply_colour //temp pending icon rewrite + +/obj/item/stack/material/New() + ..() + pixel_x = rand(0,4)-4 + pixel_y = rand(0,4)-4 + + if(!default_type) + default_type = DEFAULT_WALL_MATERIAL + material = get_material_by_name("[default_type]") + if(!material) + qdel(src) + return 0 + + // Update from material datum. + name = "[material.display_name] sheets" + desc = "A stack of sheets of [material.display_name]." + recipes = material.get_recipes() + stacktype = material.stack_type + origin_tech = material.stack_origin_tech + perunit = material.stack_per_sheet + + if(apply_colour) + color = material.icon_colour + + if(material.conductive) + flags |= CONDUCT + + if(!islist(matter)) + matter = list() + if(material.composite_material) + for(var/material_string in material.composite_material) + matter[material_string] = material.composite_material[material_string] + else + matter[material.name] = material.stack_per_sheet + return 1 + +/obj/item/stack/material/cyborg + uses_charge = 1 + charge_costs = list(1000) + gender = NEUTER + matter = null + +/obj/item/stack/material/cyborg/New() + if(..()) + name = "[material.display_name] synthesiser" + desc = "A device that synthesises [material.display_name]." + +/obj/item/stack/material/cyborg/plastic + default_type = "plastic" + +/obj/item/stack/material/cyborg/steel + default_type = "steel" + +/obj/item/stack/material/cyborg/plasteel + default_type = "plasteel" + +/obj/item/stack/material/cyborg/wood + default_type = "wood" + +/obj/item/stack/material/cyborg/glass + default_type = "glass" + +/obj/item/stack/material/cyborg/glass/reinforced + default_type = "reinforced glass" + charge_costs = list(500, 1000) + +obj/item/stack/material/iron + name = "iron" + icon_state = "sheet-silver" + default_type = "iron" + +/obj/item/stack/material/sandstone + name = "sandstone brick" + singular_name = "sandstone brick" + icon_state = "sheet-sandstone" + default_type = "sandstone" + +/obj/item/stack/material/diamond + name = "diamond" + icon_state = "sheet-diamond" + default_type = "diamond" + +/obj/item/stack/material/uranium + name = "uranium" + icon_state = "sheet-uranium" + default_type = "uranium" + +/obj/item/stack/material/phoron + name = "solid phoron" + icon_state = "sheet-phoron" + default_type = "phoron" + +/obj/item/stack/material/plastic + name = "Plastic" + icon_state = "sheet-plastic" + default_type = "plastic" + +/obj/item/stack/material/gold + name = "gold" + icon_state = "sheet-gold" + default_type = "gold" + +/obj/item/stack/material/silver + name = "silver" + icon_state = "sheet-silver" + default_type = "silver" + +//Valuable resource, cargo can sell it. +/obj/item/stack/material/platinum + name = "platinum" + icon_state = "sheet-adamantine" + default_type = "platinum" + +//Extremely valuable to Research. +/obj/item/stack/material/mhydrogen + name = "metallic hydrogen" + icon_state = "sheet-mythril" + default_type = "mhydrogen" + +//Fuel for MRSPACMAN generator. +/obj/item/stack/material/tritium + name = "tritium" + icon_state = "sheet-silver" + default_type = "tritium" + apply_colour = 1 + +/obj/item/stack/material/osmium + name = "osmium" + icon_state = "sheet-silver" + default_type = "osmium" + apply_colour = 1 + +/obj/item/stack/material/steel + name = DEFAULT_WALL_MATERIAL + singular_name = "steel sheet" + icon_state = "sheet-metal" + default_type = DEFAULT_WALL_MATERIAL + +/obj/item/stack/material/plasteel + name = "plasteel" + singular_name = "plasteel sheet" + icon_state = "sheet-plasteel" + item_state = "sheet-metal" + default_type = "plasteel" + +/obj/item/stack/material/wood + name = "wooden plank" + singular_name = "wood plank" + icon_state = "sheet-wood" + default_type = "wood" + +/obj/item/stack/material/cloth + name = "cloth" + singular_name = "cloth roll" + icon_state = "sheet-cloth" + +/obj/item/stack/material/cardboard + name = "cardboard" + singular_name = "cardboard sheet" + icon_state = "sheet-card" + default_type = "cardboard" diff --git a/code/modules/materials/materials.dm b/code/modules/materials/materials.dm index 15a989f949..99700dbcc1 100644 --- a/code/modules/materials/materials.dm +++ b/code/modules/materials/materials.dm @@ -34,12 +34,15 @@ var/list/name_to_material var/shard_type = SHARD_SHRAPNEL var/shard_icon var/shard_can_repair = 1 + var/list/recipes // Icons var/icon_colour var/icon_base = "metal" var/icon_reinf = "reinf_metal" - var/stack_type + var/stack_type = /obj/item/stack/material/steel + var/stack_origin_tech = "materials=1" + var/stack_per_sheet = 2000 // Attributes var/cut_delay = 0 @@ -51,6 +54,8 @@ var/list/name_to_material var/opacity = 1 var/explosion_resistance = 5 var/weight = 20 + var/conductive = 1 + var/list/composite_material /material/New() ..() @@ -94,16 +99,17 @@ var/list/name_to_material /material/uranium name = "uranium" - stack_type = /obj/item/stack/sheet/mineral/uranium + stack_type = /obj/item/stack/material/uranium radioactivity = 12 icon_base = "stone" icon_reinf = "reinf_stone" icon_colour = "#007A00" weight = 22 + stack_origin_tech = "materials=5" /material/diamond name = "diamond" - stack_type = /obj/item/stack/sheet/mineral/diamond + stack_type = /obj/item/stack/material/diamond flags = MATERIAL_UNMELTABLE cut_delay = 60 icon_colour = "#00FFE1" @@ -111,33 +117,38 @@ var/list/name_to_material shard_type = SHARD_SHARD tableslam_noise = 'sound/effects/Glasshit.ogg' hardness = 100 + stack_origin_tech = "materials=6" + stack_per_sheet = 3750 /material/gold name = "gold" - stack_type = /obj/item/stack/sheet/mineral/gold + stack_type = /obj/item/stack/material/gold icon_colour = "#EDD12F" weight = 24 hardness = 40 + stack_origin_tech = "materials=4" /material/silver name = "silver" - stack_type = /obj/item/stack/sheet/mineral/silver + stack_type = /obj/item/stack/material/silver icon_colour = "#D1E6E3" weight = 22 hardness = 50 + stack_origin_tech = "materials=3" /material/phoron name = "phoron" - stack_type = /obj/item/stack/sheet/mineral/phoron + stack_type = /obj/item/stack/material/phoron ignition_point = 300 icon_base = "stone" icon_colour = "#FC2BC5" shard_type = SHARD_SHARD hardness = 30 + stack_origin_tech = "phorontech=2;materials=2" /material/sandstone name = "sandstone" - stack_type = /obj/item/stack/sheet/mineral/sandstone + stack_type = /obj/item/stack/material/sandstone icon_base = "stone" icon_reinf = "reinf_stone" icon_colour = "#D9C179" @@ -147,7 +158,7 @@ var/list/name_to_material /material/steel name = DEFAULT_WALL_MATERIAL - stack_type = /obj/item/stack/sheet/metal + stack_type = /obj/item/stack/material/steel icon_base = "solid" icon_reinf = "reinf_over" icon_colour = "#666666" @@ -160,7 +171,7 @@ var/list/name_to_material /material/plasteel name = "plasteel" - stack_type = /obj/item/stack/sheet/plasteel + stack_type = /obj/item/stack/material/plasteel integrity = 800 melting_point = 6000 icon_base = "solid" @@ -169,10 +180,12 @@ var/list/name_to_material explosion_resistance = 25 hardness = 80 weight = 23 + stack_origin_tech = "materials=2" + composite_material = list() //todo /material/glass name = "glass" - stack_type = /obj/item/stack/sheet/glass + stack_type = /obj/item/stack/material/glass flags = MATERIAL_BRITTLE icon_colour = "#00E1FF" opacity = 0.3 @@ -184,54 +197,81 @@ var/list/name_to_material /material/glass/phoron name = "phoron glass" - stack_type = /obj/item/stack/sheet/glass/phoronglass + stack_type = /obj/item/stack/material/glass/phoronglass flags = MATERIAL_BRITTLE ignition_point = 300 integrity = 200 // idk why but phoron windows are strong, so. icon_colour = "#FC2BC5" hardness = 10 weight = 10 + stack_origin_tech = "materials=3;phorontech=2" + +/material/glass/phoron/reinforced + name = "reinforced phoron glass" + stack_type = /obj/item/stack/material/glass/phoronrglass + stack_origin_tech = "materials=4;phorontech=2" + composite_material = list() //todo + +/material/glass/reinforced + name = "reinforced glass" + stack_type = /obj/item/stack/material/glass/reinforced + flags = MATERIAL_BRITTLE + icon_colour = "#00E1FF" + opacity = 0.3 + integrity = 100 + shard_type = SHARD_SHARD + tableslam_noise = 'sound/effects/Glasshit.ogg' + hardness = 15 + weight = 15 + stack_origin_tech = "materials=2" + composite_material = list() //todo /material/plastic name = "plastic" - stack_type = /obj/item/stack/sheet/mineral/plastic + stack_type = /obj/item/stack/material/plastic flags = MATERIAL_BRITTLE icon_base = "solid" icon_reinf = "reinf_over" icon_colour = "#CCCCCC" hardness = 10 weight = 12 + stack_origin_tech = "materials=3" /material/osmium name = "osmium" - stack_type = /obj/item/stack/sheet/mineral/osmium + stack_type = /obj/item/stack/material/osmium icon_colour = "#9999FF" + stack_origin_tech = "materials=5" /material/tritium name = "tritium" - stack_type = /obj/item/stack/sheet/mineral/tritium + stack_type = /obj/item/stack/material/tritium icon_colour = "#777777" + stack_origin_tech = "materials=5" /material/mhydrogen name = "mhydrogen" - stack_type = /obj/item/stack/sheet/mineral/mhydrogen + stack_type = /obj/item/stack/material/mhydrogen icon_colour = "#E6C5DE" + stack_origin_tech = "materials=6;powerstorage=5;magnets=5" /material/platinum name = "platinum" - stack_type = /obj/item/stack/sheet/mineral/platinum + stack_type = /obj/item/stack/material/platinum icon_colour = "#9999FF" weight = 27 + stack_origin_tech = "materials=2" /material/iron name = "iron" - stack_type = /obj/item/stack/sheet/mineral/iron + stack_type = /obj/item/stack/material/iron icon_colour = "#5C5454" weight = 22 + stack_per_sheet = 3750 /material/wood name = "wood" - stack_type = /obj/item/stack/sheet/wood + stack_type = /obj/item/stack/material/wood icon_colour = "#824B28" integrity = 25 icon_base = "solid" @@ -240,6 +280,7 @@ var/list/name_to_material shard_can_repair = 0 // you can't weld splinters back into planks hardness = 15 weight = 18 + stack_origin_tech = "materials=1;biotech=1" /material/wood/holographic name = "holographic wood" @@ -247,6 +288,21 @@ var/list/name_to_material stack_type = null shard_type = SHARD_NONE +/material/cardboard + name = "cardboard" + stack_type = /obj/item/stack/material/cardboard + flags = MATERIAL_BRITTLE + icon_base = "solid" + icon_reinf = "reinf_over" + icon_colour = "#AAAAAA" + hardness = 1 + weight = 1 + stack_origin_tech = "materials=1" + +/material/cloth //todo + name = "cloth" + stack_origin_tech = "materials=2" + /material/cult name = "cult" display_name = "disturbing stone" diff --git a/code/modules/mining/alloys.dm b/code/modules/mining/alloys.dm index 6495d706b4..9461c1e6b9 100644 --- a/code/modules/mining/alloys.dm +++ b/code/modules/mining/alloys.dm @@ -16,7 +16,7 @@ "hematite" = 2 ) product_mod = 0.3 - product = /obj/item/stack/sheet/plasteel + product = /obj/item/stack/material/plasteel /datum/alloy/steel metaltag = DEFAULT_WALL_MATERIAL @@ -24,4 +24,4 @@ "coal" = 1, "hematite" = 1 ) - product = /obj/item/stack/sheet/metal \ No newline at end of file + product = /obj/item/stack/material/steel \ No newline at end of file diff --git a/code/modules/mining/machine_stacking.dm b/code/modules/mining/machine_stacking.dm index e9f193cd73..6e548c6aa5 100644 --- a/code/modules/mining/machine_stacking.dm +++ b/code/modules/mining/machine_stacking.dm @@ -53,7 +53,7 @@ if(href_list["release_stack"]) if(machine.stack_storage[href_list["release_stack"]] > 0) var/stacktype = machine.stack_paths[href_list["release_stack"]] - var/obj/item/stack/sheet/S = new stacktype (get_turf(machine.output)) + var/obj/item/stack/material/S = new stacktype (get_turf(machine.output)) S.amount = machine.stack_storage[href_list["release_stack"]] machine.stack_storage[href_list["release_stack"]] = 0 @@ -81,18 +81,18 @@ /obj/machinery/mineral/stacking_machine/New() ..() - for(var/stacktype in typesof(/obj/item/stack/sheet/mineral)-/obj/item/stack/sheet/mineral) + for(var/stacktype in typesof(/obj/item/stack/material)-/obj/item/stack/material) var/obj/item/stack/S = new stacktype(src) stack_storage[S.name] = 0 stack_paths[S.name] = stacktype qdel(S) stack_storage["glass"] = 0 - stack_paths["glass"] = /obj/item/stack/sheet/glass + stack_paths["glass"] = /obj/item/stack/material/glass stack_storage[DEFAULT_WALL_MATERIAL] = 0 - stack_paths[DEFAULT_WALL_MATERIAL] = /obj/item/stack/sheet/metal + stack_paths[DEFAULT_WALL_MATERIAL] = /obj/item/stack/material/steel stack_storage["plasteel"] = 0 - stack_paths["plasteel"] = /obj/item/stack/sheet/plasteel + stack_paths["plasteel"] = /obj/item/stack/material/plasteel spawn( 5 ) for (var/dir in cardinal) @@ -122,7 +122,7 @@ for(var/sheet in stack_storage) if(stack_storage[sheet] >= stack_amt) var/stacktype = stack_paths[sheet] - var/obj/item/stack/sheet/S = new stacktype (get_turf(output)) + var/obj/item/stack/material/S = new stacktype (get_turf(output)) S.amount = stack_amt stack_storage[sheet] -= stack_amt diff --git a/code/modules/mining/mine_turfs.dm b/code/modules/mining/mine_turfs.dm index 98a7a8df9e..0ca011ee63 100644 --- a/code/modules/mining/mine_turfs.dm +++ b/code/modules/mining/mine_turfs.dm @@ -346,11 +346,11 @@ R.amount = rand(1,5) if(3) - var/obj/item/stack/sheet/metal/R = new(src) + var/obj/item/stack/material/steel/R = new(src) R.amount = rand(5,25) if(4) - var/obj/item/stack/sheet/plasteel/R = new(src) + var/obj/item/stack/material/plasteel/R = new(src) R.amount = rand(5,25) if(5) @@ -364,7 +364,7 @@ new /obj/item/weapon/material/shard/phoron(src) if(7) - var/obj/item/stack/sheet/mineral/uranium/R = new(src) + var/obj/item/stack/material/uranium/R = new(src) R.amount = rand(5,25) /turf/simulated/mineral/random diff --git a/code/modules/mining/mint.dm b/code/modules/mining/mint.dm index 5d989d1ce1..96f6fb480c 100644 --- a/code/modules/mining/mint.dm +++ b/code/modules/mining/mint.dm @@ -37,25 +37,25 @@ /obj/machinery/mineral/mint/process() if ( src.input) - var/obj/item/stack/sheet/O - O = locate(/obj/item/stack/sheet, input.loc) + var/obj/item/stack/material/O + O = locate(/obj/item/stack/material, input.loc) if(O) - if (istype(O,/obj/item/stack/sheet/mineral/gold)) + if (istype(O,/obj/item/stack/material/gold)) amt_gold += 100 * O.get_amount() qdel(O) - if (istype(O,/obj/item/stack/sheet/mineral/silver)) + if (istype(O,/obj/item/stack/material/silver)) amt_silver += 100 * O.get_amount() qdel(O) - if (istype(O,/obj/item/stack/sheet/mineral/diamond)) + if (istype(O,/obj/item/stack/material/diamond)) amt_diamond += 100 * O.get_amount() qdel(O) - if (istype(O,/obj/item/stack/sheet/mineral/phoron)) + if (istype(O,/obj/item/stack/material/phoron)) amt_phoron += 100 * O.get_amount() qdel(O) - if (istype(O,/obj/item/stack/sheet/mineral/uranium)) + if (istype(O,/obj/item/stack/material/uranium)) amt_uranium += 100 * O.get_amount() qdel(O) - if (istype(O,/obj/item/stack/sheet/metal)) + if (istype(O,/obj/item/stack/material/steel)) amt_iron += 100 * O.get_amount() qdel(O) diff --git a/code/modules/mob/living/bot/floorbot.dm b/code/modules/mob/living/bot/floorbot.dm index 08c5ac1c4b..8d61d0bb03 100644 --- a/code/modules/mob/living/bot/floorbot.dm +++ b/code/modules/mob/living/bot/floorbot.dm @@ -154,7 +154,7 @@ target = T break if(maketiles && !target) - for(var/obj/item/stack/sheet/metal/T in view(src)) + for(var/obj/item/stack/material/steel/T in view(src)) if(T in ignorelist) continue target = T @@ -249,8 +249,8 @@ target = null repairing = 0 update_icons() - else if(istype(A, /obj/item/stack/sheet/metal) && amount + 3 < maxAmount) - var/obj/item/stack/sheet/metal/M = A + else if(istype(A, /obj/item/stack/material/steel) && amount + 3 < maxAmount) + var/obj/item/stack/material/steel/M = A visible_message("[src] begins to make tiles.") repairing = 1 update_icons() diff --git a/code/modules/mob/living/silicon/robot/drone/drone_items.dm b/code/modules/mob/living/silicon/robot/drone/drone_items.dm index 3f10d4f899..d859810ea1 100644 --- a/code/modules/mob/living/silicon/robot/drone/drone_items.dm +++ b/code/modules/mob/living/silicon/robot/drone/drone_items.dm @@ -92,7 +92,7 @@ icon_state = "gripper-sheet" can_hold = list( - /obj/item/stack/sheet + /obj/item/stack/material ) /obj/item/weapon/gripper/attack_self(mob/user as mob) diff --git a/code/modules/mob/living/silicon/robot/robot_items.dm b/code/modules/mob/living/silicon/robot/robot_items.dm index 3bc0dd9a15..4ef063d98a 100644 --- a/code/modules/mob/living/silicon/robot/robot_items.dm +++ b/code/modules/mob/living/silicon/robot/robot_items.dm @@ -37,8 +37,8 @@ for(var/obj/I in contents) for(var/mob/M in I.contents) M.death() - if(istype(I,/obj/item/stack/sheet))//Only deconsturcts one sheet at a time instead of the entire stack - var/obj/item/stack/sheet/S = I + if(istype(I,/obj/item/stack/material))//Only deconsturcts one sheet at a time instead of the entire stack + var/obj/item/stack/material/S = I if(S.get_amount() > 1) S.use(1) loaded_item = S diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm index decf9304a0..6515bcdc0e 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules.dm @@ -310,7 +310,7 @@ var/global/list/robot_modules = list( synths += plasteel synths += glass - var/obj/item/stack/sheet/metal/cyborg/M = new /obj/item/stack/sheet/metal/cyborg(src) + var/obj/item/stack/material/steel/cyborg/M = new /obj/item/stack/material/steel/cyborg(src) M.synths = list(metal) src.modules += M @@ -318,11 +318,11 @@ var/global/list/robot_modules = list( R.synths = list(metal) src.modules += R - var/obj/item/stack/sheet/plasteel/cyborg/S = new /obj/item/stack/sheet/plasteel/cyborg(src) + var/obj/item/stack/material/cyborg/plasteel/S = new (src) S.synths = list(plasteel) src.modules += S - var/obj/item/stack/sheet/glass/reinforced/cyborg/RG = new /obj/item/stack/sheet/glass/reinforced/cyborg(src) + var/obj/item/stack/material/glass/reinforced/cyborg/RG = new /obj/item/stack/material/glass/reinforced/cyborg(src) RG.synths = list(metal, glass) src.modules += RG @@ -356,11 +356,11 @@ var/global/list/robot_modules = list( MD.glass = glass src.modules += MD - var/obj/item/stack/sheet/metal/cyborg/M = new /obj/item/stack/sheet/metal/cyborg(src) + var/obj/item/stack/material/steel/cyborg/M = new /obj/item/stack/material/steel/cyborg(src) M.synths = list(metal) src.modules += M - var/obj/item/stack/sheet/glass/cyborg/G = new /obj/item/stack/sheet/glass/cyborg(src) + var/obj/item/stack/material/glass/cyborg/G = new /obj/item/stack/material/glass/cyborg(src) G.synths = list(glass) src.modules += G @@ -376,7 +376,7 @@ var/global/list/robot_modules = list( S.synths = list(metal) src.modules += S - var/obj/item/stack/sheet/glass/reinforced/cyborg/RG = new /obj/item/stack/sheet/glass/reinforced/cyborg(src) + var/obj/item/stack/material/glass/reinforced/cyborg/RG = new /obj/item/stack/material/glass/reinforced/cyborg(src) RG.synths = list(metal, glass) src.modules += RG @@ -676,11 +676,11 @@ var/global/list/robot_modules = list( MD.plastic = plastic src.modules += MD - var/obj/item/stack/sheet/metal/cyborg/M = new /obj/item/stack/sheet/metal/cyborg(src) + var/obj/item/stack/material/steel/cyborg/M = new /obj/item/stack/material/steel/cyborg(src) M.synths = list(metal) src.modules += M - var/obj/item/stack/sheet/glass/cyborg/G = new /obj/item/stack/sheet/glass/cyborg(src) + var/obj/item/stack/material/glass/cyborg/G = new /obj/item/stack/material/glass/cyborg(src) G.synths = list(glass) src.modules += G @@ -696,7 +696,7 @@ var/global/list/robot_modules = list( S.synths = list(metal) src.modules += S - var/obj/item/stack/sheet/glass/reinforced/cyborg/RG = new /obj/item/stack/sheet/glass/reinforced/cyborg(src) + var/obj/item/stack/material/glass/reinforced/cyborg/RG = new /obj/item/stack/material/glass/reinforced/cyborg(src) RG.synths = list(metal, glass) src.modules += RG @@ -704,11 +704,11 @@ var/global/list/robot_modules = list( WT.synths = list(wood) src.modules += WT - var/obj/item/stack/sheet/wood/cyborg/W = new /obj/item/stack/sheet/wood/cyborg(src) + var/obj/item/stack/material/cyborg/wood/W = new (src) W.synths = list(wood) src.modules += W - var/obj/item/stack/sheet/mineral/plastic/cyborg/P = new /obj/item/stack/sheet/mineral/plastic/cyborg(src) + var/obj/item/stack/material/cyborg/plastic/P = new (src) P.synths = list(plastic) src.modules += P diff --git a/code/modules/mob/living/simple_animal/hostile/retaliate/drone.dm b/code/modules/mob/living/simple_animal/hostile/retaliate/drone.dm index d99d8ddcf7..869bf93b8e 100644 --- a/code/modules/mob/living/simple_animal/hostile/retaliate/drone.dm +++ b/code/modules/mob/living/simple_animal/hostile/retaliate/drone.dm @@ -196,16 +196,16 @@ step_to(O, get_turf(pick(view(7, src)))) //plasteel - O = new /obj/item/stack/sheet/plasteel(src.loc) + O = new /obj/item/stack/material/plasteel(src.loc) step_to(O, get_turf(pick(view(7, src)))) if(prob(75)) - O = new /obj/item/stack/sheet/plasteel(src.loc) + O = new /obj/item/stack/material/plasteel(src.loc) step_to(O, get_turf(pick(view(7, src)))) if(prob(50)) - O = new /obj/item/stack/sheet/plasteel(src.loc) + O = new /obj/item/stack/material/plasteel(src.loc) step_to(O, get_turf(pick(view(7, src)))) if(prob(25)) - O = new /obj/item/stack/sheet/plasteel(src.loc) + O = new /obj/item/stack/material/plasteel(src.loc) step_to(O, get_turf(pick(view(7, src)))) //also drop dummy circuit boards deconstructable for research (loot) diff --git a/code/modules/mob/living/simple_animal/hostile/tree.dm b/code/modules/mob/living/simple_animal/hostile/tree.dm index 56bcafd6f5..1c438d2bc8 100644 --- a/code/modules/mob/living/simple_animal/hostile/tree.dm +++ b/code/modules/mob/living/simple_animal/hostile/tree.dm @@ -52,5 +52,5 @@ /mob/living/simple_animal/hostile/tree/death() ..(null,"is hacked into pieces!") - new /obj/item/stack/sheet/wood(loc) + new /obj/item/stack/material/wood(loc) qdel(src) \ No newline at end of file diff --git a/code/modules/mob/living/simple_animal/worm.dm b/code/modules/mob/living/simple_animal/worm.dm index 20a8ee499c..9775a68c9c 100644 --- a/code/modules/mob/living/simple_animal/worm.dm +++ b/code/modules/mob/living/simple_animal/worm.dm @@ -175,18 +175,18 @@ for(var/atom/movable/stomachContent in contents) if(prob(digestionProbability)) if(istype(stomachContent,/obj/item/stack)) //converts to plasma, keeping the stack value - if(!istype(stomachContent,/obj/item/stack/sheet/mineral/phoron)) + if(!istype(stomachContent,/obj/item/stack/material/phoron)) var/obj/item/stack/oldStack = stomachContent - new /obj/item/stack/sheet/mineral/phoron(src, oldStack.get_amount()) + new /obj/item/stack/material/phoron(src, oldStack.get_amount()) qdel(oldStack) continue else if(istype(stomachContent,/obj/item)) //converts to plasma, keeping the w_class var/obj/item/oldItem = stomachContent - new /obj/item/stack/sheet/mineral/phoron(src, oldItem.w_class) + new /obj/item/stack/material/phoron(src, oldItem.w_class) qdel(oldItem) continue else - new /obj/item/stack/sheet/mineral/phoron(src, flatPlasmaValue) //just flat amount + new /obj/item/stack/material/phoron(src, flatPlasmaValue) //just flat amount qdel(stomachContent) continue diff --git a/code/modules/power/apc.dm b/code/modules/power/apc.dm index 34f3525191..f21db9327d 100644 --- a/code/modules/power/apc.dm +++ b/code/modules/power/apc.dm @@ -452,7 +452,7 @@ if(W.w_class != 3) user << "\The [W] is too [W.w_class < 3? "small" : "large"] to fit here." return - + user.drop_item() W.loc = src cell = W @@ -590,7 +590,7 @@ if(do_after(user, 50)) if(!src || !WT.remove_fuel(3, user)) return if (emagged || malfhack || (stat & BROKEN) || opened==2) - new /obj/item/stack/sheet/metal(loc) + new /obj/item/stack/material/steel(loc) user.visible_message(\ "[src] has been cut apart by [user.name] with the weldingtool.",\ "You disassembled the broken APC frame.",\ diff --git a/code/modules/power/lighting.dm b/code/modules/power/lighting.dm index ba3c539c77..4a23d9f01a 100644 --- a/code/modules/power/lighting.dm +++ b/code/modules/power/lighting.dm @@ -50,7 +50,7 @@ usr << "You begin deconstructing [src]." if (!do_after(usr, 30)) return - new /obj/item/stack/sheet/metal( get_turf(src.loc), sheets_refunded ) + new /obj/item/stack/material/steel( get_turf(src.loc), sheets_refunded ) user.visible_message("[user.name] deconstructs [src].", \ "You deconstruct [src].", "You hear a noise.") playsound(src.loc, 'sound/items/Deconstruct.ogg', 75, 1) diff --git a/code/modules/power/port_gen.dm b/code/modules/power/port_gen.dm index bd113ff268..a631c8279c 100644 --- a/code/modules/power/port_gen.dm +++ b/code/modules/power/port_gen.dm @@ -87,7 +87,7 @@ desc = "A power generator that runs on solid phoron sheets. Rated for 80 kW max safe output." var/sheet_name = "Phoron Sheets" - var/sheet_path = /obj/item/stack/sheet/mineral/phoron + var/sheet_path = /obj/item/stack/material/phoron var/board_path = "/obj/item/weapon/circuitboard/pacman" /* @@ -162,7 +162,7 @@ //Removes one stack's worth of material from the generator. /obj/machinery/power/port_gen/pacman/DropFuel() if(sheets) - var/obj/item/stack/sheet/S = new sheet_path(loc) + var/obj/item/stack/material/S = new sheet_path(loc) var/amount = min(sheets, S.max_amount) S.amount = amount sheets -= amount @@ -403,7 +403,7 @@ name = "S.U.P.E.R.P.A.C.M.A.N.-type Portable Generator" desc = "A power generator that utilizes uranium sheets as fuel. Can run for much longer than the standard PACMAN type generators. Rated for 80 kW max safe output." icon_state = "portgen1" - sheet_path = /obj/item/stack/sheet/mineral/uranium + sheet_path = /obj/item/stack/material/uranium sheet_name = "Uranium Sheets" time_per_sheet = 576 //same power output, but a 50 sheet stack will last 2 hours at max safe power board_path = "/obj/item/weapon/circuitboard/pacman/super" @@ -430,7 +430,7 @@ name = "M.R.S.P.A.C.M.A.N.-type Portable Generator" desc = "An advanced power generator that runs on tritium. Rated for 200 kW maximum safe output!" icon_state = "portgen2" - sheet_path = /obj/item/stack/sheet/mineral/tritium + sheet_path = /obj/item/stack/material/tritium sheet_name = "Tritium Fuel Sheets" //I don't think tritium has any other use, so we might as well make this rewarding for players diff --git a/code/modules/power/solar.dm b/code/modules/power/solar.dm index 8f3366e7c1..eb8bb66b72 100644 --- a/code/modules/power/solar.dm +++ b/code/modules/power/solar.dm @@ -50,10 +50,10 @@ var/list/solars_list = list() /obj/machinery/power/solar/proc/Make(var/obj/item/solar_assembly/S) if(!S) S = new /obj/item/solar_assembly(src) - S.glass_type = /obj/item/stack/sheet/glass + S.glass_type = /obj/item/stack/material/glass S.anchored = 1 S.loc = src - if(S.glass_type == /obj/item/stack/sheet/glass/reinforced) //if the panel is in reinforced glass + if(S.glass_type == /obj/item/stack/material/glass/reinforced) //if the panel is in reinforced glass health *= 2 //this need to be placed here, because panels already on the map don't have an assembly linked to update_icon() @@ -231,7 +231,7 @@ var/list/solars_list = list() // Give back the glass type we were supplied with /obj/item/solar_assembly/proc/give_glass() if(glass_type) - var/obj/item/stack/sheet/S = new glass_type(src.loc) + var/obj/item/stack/material/S = new glass_type(src.loc) S.amount = 2 glass_type = null @@ -251,8 +251,8 @@ var/list/solars_list = list() playsound(src.loc, 'sound/items/Ratchet.ogg', 75, 1) return 1 - if(istype(W, /obj/item/stack/sheet/glass)) - var/obj/item/stack/sheet/S = W + if(istype(W, /obj/item/stack/material/glass)) + var/obj/item/stack/material/S = W if(S.use(2)) glass_type = W.type playsound(src.loc, 'sound/machines/click.ogg', 50, 1) diff --git a/code/modules/power/tracker.dm b/code/modules/power/tracker.dm index ea572a2b97..34e20d499c 100644 --- a/code/modules/power/tracker.dm +++ b/code/modules/power/tracker.dm @@ -41,7 +41,7 @@ /obj/machinery/power/tracker/proc/Make(var/obj/item/solar_assembly/S) if(!S) S = new /obj/item/solar_assembly(src) - S.glass_type = /obj/item/stack/sheet/glass + S.glass_type = /obj/item/stack/material/glass S.tracker = 1 S.anchored = 1 S.loc = src diff --git a/code/modules/projectiles/guns/launcher/crossbow.dm b/code/modules/projectiles/guns/launcher/crossbow.dm index fb453dbb4e..bffd0ff48c 100644 --- a/code/modules/projectiles/guns/launcher/crossbow.dm +++ b/code/modules/projectiles/guns/launcher/crossbow.dm @@ -243,9 +243,9 @@ else user << "\blue You need at least five segments of cable coil to complete this task." return - else if(istype(W,/obj/item/stack/sheet/mineral/plastic)) + else if(istype(W,/obj/item/stack/material/plastic)) if(buildstate == 3) - var/obj/item/stack/sheet/mineral/plastic/P = W + var/obj/item/stack/material/plastic/P = W if(P.use(3)) user << "\blue You assemble and install a heavy plastic lath onto the crossbow." buildstate++ diff --git a/code/modules/projectiles/guns/launcher/pneumatic.dm b/code/modules/projectiles/guns/launcher/pneumatic.dm index 863d3348e5..53996c4a09 100644 --- a/code/modules/projectiles/guns/launcher/pneumatic.dm +++ b/code/modules/projectiles/guns/launcher/pneumatic.dm @@ -119,7 +119,7 @@ if(tank) var/lost_gas_amount = tank.air_contents.total_moles*(pressure_setting/100) var/datum/gas_mixture/removed = tank.air_contents.remove(lost_gas_amount) - + var/turf/T = get_turf(src.loc) if(T) T.assume_air(removed) ..() @@ -155,9 +155,9 @@ buildstate++ update_icon() return - else if(istype(W,/obj/item/stack/sheet/metal)) + else if(istype(W,/obj/item/stack/material/steel)) if(buildstate == 2) - var/obj/item/stack/sheet/metal/M = W + var/obj/item/stack/material/steel/M = W if(M.use(5)) user << "\blue You assemble a chassis around the cannon frame." buildstate++ diff --git a/code/modules/reagents/Chemistry-Machinery.dm b/code/modules/reagents/Chemistry-Machinery.dm index 83aaf915fb..7f6da07d67 100644 --- a/code/modules/reagents/Chemistry-Machinery.dm +++ b/code/modules/reagents/Chemistry-Machinery.dm @@ -587,12 +587,12 @@ var/limit = 10 var/list/holdingitems = list() var/list/sheet_reagents = list( - /obj/item/stack/sheet/mineral/iron = "iron", - /obj/item/stack/sheet/mineral/uranium = "uranium", - /obj/item/stack/sheet/mineral/phoron = "phoron", - /obj/item/stack/sheet/mineral/gold = "gold", - /obj/item/stack/sheet/mineral/silver = "silver", - /obj/item/stack/sheet/mineral/mhydrogen = "hydrogen" + /obj/item/stack/material/iron = "iron", + /obj/item/stack/material/uranium = "uranium", + /obj/item/stack/material/phoron = "phoron", + /obj/item/stack/material/gold = "gold", + /obj/item/stack/material/silver = "silver", + /obj/item/stack/material/mhydrogen = "hydrogen" ) /obj/machinery/reagentgrinder/New() @@ -798,4 +798,4 @@ if (beaker.reagents.total_volume >= beaker.reagents.maximum_volume) break -#undef REAGENTS_PER_SHEET +#undef REAGENTS_PER_SHEET diff --git a/code/modules/reagents/Chemistry-Recipes.dm b/code/modules/reagents/Chemistry-Recipes.dm index 2912a392cb..72ce607065 100644 --- a/code/modules/reagents/Chemistry-Recipes.dm +++ b/code/modules/reagents/Chemistry-Recipes.dm @@ -439,7 +439,7 @@ result_amount = 1 /datum/chemical_reaction/phoronsolidification/on_reaction(var/datum/reagents/holder, var/created_volume) - new /obj/item/stack/sheet/mineral/phoron(get_turf(holder.my_atom), created_volume) + new /obj/item/stack/material/phoron(get_turf(holder.my_atom), created_volume) return /datum/chemical_reaction/plastication @@ -450,7 +450,7 @@ result_amount = 1 /datum/chemical_reaction/plastication/on_reaction(var/datum/reagents/holder, var/created_volume) - new /obj/item/stack/sheet/mineral/plastic(get_turf(holder.my_atom), created_volume) + new /obj/item/stack/material/plastic(get_turf(holder.my_atom), created_volume) return /* Grenade reactions */ @@ -884,7 +884,7 @@ if(T.Uses <= 0) T.visible_message("\icon[T]\The [T]'s power is consumed in the reaction.") T.name = "used slime extract" - T.desc = "This extract has been used up." + T.desc = "This extract has been used up." //Grey /datum/chemical_reaction/slime/spawn @@ -934,10 +934,10 @@ required = /obj/item/slime_extract/metal /datum/chemical_reaction/slime/metal/on_reaction(var/datum/reagents/holder) - var/obj/item/stack/sheet/metal/M = new /obj/item/stack/sheet/metal + var/obj/item/stack/material/steel/M = new /obj/item/stack/material/steel M.amount = 15 M.loc = get_turf(holder.my_atom) - var/obj/item/stack/sheet/plasteel/P = new /obj/item/stack/sheet/plasteel + var/obj/item/stack/material/plasteel/P = new /obj/item/stack/material/plasteel P.amount = 5 P.loc = get_turf(holder.my_atom) ..() @@ -1104,7 +1104,7 @@ /datum/chemical_reaction/slime/plasma/on_reaction(var/datum/reagents/holder) ..() - var/obj/item/stack/sheet/mineral/phoron/P = new /obj/item/stack/sheet/mineral/phoron + var/obj/item/stack/material/phoron/P = new /obj/item/stack/material/phoron P.amount = 10 P.loc = get_turf(holder.my_atom) @@ -1145,7 +1145,7 @@ var/obj/item/weapon/slimepotion/P = new /obj/item/weapon/slimepotion P.loc = get_turf(holder.my_atom) -//Black +//Black /datum/chemical_reaction/slime/mutate2 name = "Advanced Mutation Toxin" id = "mutationtoxin2" @@ -1154,7 +1154,7 @@ result_amount = 1 required = /obj/item/slime_extract/black -//Oil +//Oil /datum/chemical_reaction/slime/explosion name = "Slime Explosion" id = "m_explosion" @@ -1167,7 +1167,7 @@ /datum/chemical_reaction/slime/explosion/on_reaction(var/datum/reagents/holder) ..() sleep(50) - explosion(get_turf(holder.my_atom), 1, 3, 6) + explosion(get_turf(holder.my_atom), 1, 3, 6) //Light Pink /datum/chemical_reaction/slime/potion2 @@ -1266,32 +1266,32 @@ var/location = get_turf(holder.my_atom) for(var/i = 1, i <= created_volume, i++) new /obj/item/weapon/reagent_containers/food/snacks/sliceable/cheesewheel(location) - return - -/datum/chemical_reaction/meatball - name = "Meatball" - id = "meatball" - result = null - required_reagents = list("protein" = 3, "flour" = 5) - result_amount = 3 - + return + +/datum/chemical_reaction/meatball + name = "Meatball" + id = "meatball" + result = null + required_reagents = list("protein" = 3, "flour" = 5) + result_amount = 3 + /datum/chemical_reaction/meatball/on_reaction(var/datum/reagents/holder, var/created_volume) var/location = get_turf(holder.my_atom) - for(var/i = 1, i <= created_volume, i++) - new /obj/item/weapon/reagent_containers/food/snacks/meatball(location) - return - -/datum/chemical_reaction/dough - name = "Dough" - id = "dough" - result = null - required_reagents = list("egg" = 3, "flour" = 10) - result_amount = 1 - + for(var/i = 1, i <= created_volume, i++) + new /obj/item/weapon/reagent_containers/food/snacks/meatball(location) + return + +/datum/chemical_reaction/dough + name = "Dough" + id = "dough" + result = null + required_reagents = list("egg" = 3, "flour" = 10) + result_amount = 1 + /datum/chemical_reaction/dough/on_reaction(var/datum/reagents/holder, var/created_volume) var/location = get_turf(holder.my_atom) - for(var/i = 1, i <= created_volume, i++) - new /obj/item/weapon/reagent_containers/food/snacks/dough(location) + for(var/i = 1, i <= created_volume, i++) + new /obj/item/weapon/reagent_containers/food/snacks/dough(location) return /datum/chemical_reaction/syntiflesh @@ -1941,4 +1941,4 @@ datum required_reagents = list("density_separated_sample" = 5) result_amount = 4 requires_heating = 1 -*/ +*/ diff --git a/code/modules/research/circuitprinter.dm b/code/modules/research/circuitprinter.dm index 986f3a6291..d0cfe226f6 100644 --- a/code/modules/research/circuitprinter.dm +++ b/code/modules/research/circuitprinter.dm @@ -68,16 +68,16 @@ using metal and glass, it uses glass and reagents (usually sulfuric acis). if(istype(I, /obj/item/weapon/reagent_containers/glass/beaker)) reagents.trans_to_obj(I, reagents.total_volume) if(g_amount >= 3750) - var/obj/item/stack/sheet/glass/G = new /obj/item/stack/sheet/glass(loc) + var/obj/item/stack/material/glass/G = new /obj/item/stack/material/glass(loc) G.amount = round(g_amount / 3750) if(gold_amount >= 2000) - var/obj/item/stack/sheet/mineral/gold/G = new /obj/item/stack/sheet/mineral/gold(loc) + var/obj/item/stack/material/gold/G = new /obj/item/stack/material/gold(loc) G.amount = round(gold_amount / 2000) if(diamond_amount >= 2000) - var/obj/item/stack/sheet/mineral/diamond/G = new /obj/item/stack/sheet/mineral/diamond(loc) + var/obj/item/stack/material/diamond/G = new /obj/item/stack/material/diamond(loc) G.amount = round(diamond_amount / 2000) if(uranium_amount >= 2000) - var/obj/item/stack/sheet/mineral/uranium/G = new /obj/item/stack/sheet/mineral/uranium(loc) + var/obj/item/stack/material/uranium/G = new /obj/item/stack/material/uranium(loc) G.amount = round(uranium_amount / 2000) ..() @@ -104,7 +104,7 @@ using metal and glass, it uses glass and reagents (usually sulfuric acis). return 1 if(O.is_open_container()) return 0 -// if(!istype(O, /obj/item/stack/sheet/glass) && !istype(O, /obj/item/stack/sheet/mineral/gold) && !istype(O, /obj/item/stack/sheet/mineral/diamond) && !istype(O, /obj/item/stack/sheet/mineral/uranium)) +// if(!istype(O, /obj/item/stack/material/glass) && !istype(O, /obj/item/stack/material/gold) && !istype(O, /obj/item/stack/material/diamond) && !istype(O, /obj/item/stack/material/uranium)) // user << "You cannot insert this item into \the [src]!" // return 1 if(stat) @@ -113,9 +113,9 @@ using metal and glass, it uses glass and reagents (usually sulfuric acis). user << "\The [src] is busy. Please wait for completion of previous operation." return 1 - if(istype(O, /obj/item/stack/sheet/glass) || istype(O, /obj/item/stack/sheet/mineral/gold) || istype(O, /obj/item/stack/sheet/mineral/diamond) || istype(O, /obj/item/stack/sheet/mineral/uranium)) + if(istype(O, /obj/item/stack/material/glass) || istype(O, /obj/item/stack/material/gold) || istype(O, /obj/item/stack/material/diamond) || istype(O, /obj/item/stack/material/uranium)) - var/obj/item/stack/sheet/stack = O + var/obj/item/stack/material/stack = O if((TotalMaterials() + stack.perunit) > max_material_amount) user << "\The [src] is full. Please remove glass from \the [src] in order to insert more." return 1 @@ -135,13 +135,13 @@ using metal and glass, it uses glass and reagents (usually sulfuric acis). if(do_after(usr, 16)) user << "You add [amount] sheets to \the [src]." switch(stacktype) - if(/obj/item/stack/sheet/glass) + if(/obj/item/stack/material/glass) g_amount += amount * 3750 - if(/obj/item/stack/sheet/mineral/gold) + if(/obj/item/stack/material/gold) gold_amount += amount * 2000 - if(/obj/item/stack/sheet/mineral/diamond) + if(/obj/item/stack/material/diamond) diamond_amount += amount * 2000 - if(/obj/item/stack/sheet/mineral/uranium) + if(/obj/item/stack/material/uranium) uranium_amount += amount * 2000 else new stacktype(loc, amount) diff --git a/code/modules/research/protolathe.dm b/code/modules/research/protolathe.dm index 086cd80c9b..c35d820372 100644 --- a/code/modules/research/protolathe.dm +++ b/code/modules/research/protolathe.dm @@ -63,25 +63,25 @@ Note: Must be placed west/left of and R&D console to function. if(istype(I, /obj/item/weapon/reagent_containers/glass/beaker)) reagents.trans_to_obj(I, reagents.total_volume) if(m_amount >= 3750) - var/obj/item/stack/sheet/metal/G = new /obj/item/stack/sheet/metal(loc) + var/obj/item/stack/material/steel/G = new /obj/item/stack/material/steel(loc) G.amount = round(m_amount / G.perunit) if(g_amount >= 3750) - var/obj/item/stack/sheet/glass/G = new /obj/item/stack/sheet/glass(loc) + var/obj/item/stack/material/glass/G = new /obj/item/stack/material/glass(loc) G.amount = round(g_amount / G.perunit) if(phoron_amount >= 2000) - var/obj/item/stack/sheet/mineral/phoron/G = new /obj/item/stack/sheet/mineral/phoron(loc) + var/obj/item/stack/material/phoron/G = new /obj/item/stack/material/phoron(loc) G.amount = round(phoron_amount / G.perunit) if(silver_amount >= 2000) - var/obj/item/stack/sheet/mineral/silver/G = new /obj/item/stack/sheet/mineral/silver(loc) + var/obj/item/stack/material/silver/G = new /obj/item/stack/material/silver(loc) G.amount = round(silver_amount / G.perunit) if(gold_amount >= 2000) - var/obj/item/stack/sheet/mineral/gold/G = new /obj/item/stack/sheet/mineral/gold(loc) + var/obj/item/stack/material/gold/G = new /obj/item/stack/material/gold(loc) G.amount = round(gold_amount / G.perunit) if(uranium_amount >= 2000) - var/obj/item/stack/sheet/mineral/uranium/G = new /obj/item/stack/sheet/mineral/uranium(loc) + var/obj/item/stack/material/uranium/G = new /obj/item/stack/material/uranium(loc) G.amount = round(uranium_amount / G.perunit) if(diamond_amount >= 2000) - var/obj/item/stack/sheet/mineral/diamond/G = new /obj/item/stack/sheet/mineral/diamond(loc) + var/obj/item/stack/material/diamond/G = new /obj/item/stack/material/diamond(loc) G.amount = round(diamond_amount / G.perunit) ..() @@ -118,13 +118,13 @@ Note: Must be placed west/left of and R&D console to function. return 1 if(stat) return 1 - if(istype(O,/obj/item/stack/sheet)) - var/obj/item/stack/sheet/S = O + if(istype(O,/obj/item/stack/material)) + var/obj/item/stack/material/S = O if(TotalMaterials() + S.perunit > max_material_storage) user << "\The [src]'s material bin is full. Please remove material before adding more." return 1 - var/obj/item/stack/sheet/stack = O + var/obj/item/stack/material/stack = O var/amount = round(input("How many sheets do you want to add?") as num)//No decimals if(!O) return @@ -150,19 +150,19 @@ Note: Must be placed west/left of and R&D console to function. user << "You add [amount] sheets to \the [src]." icon_state = "protolathe" switch(stacktype) - if(/obj/item/stack/sheet/metal) + if(/obj/item/stack/material/steel) m_amount += amount * 3750 - if(/obj/item/stack/sheet/glass) + if(/obj/item/stack/material/glass) g_amount += amount * 3750 - if(/obj/item/stack/sheet/mineral/gold) + if(/obj/item/stack/material/gold) gold_amount += amount * 2000 - if(/obj/item/stack/sheet/mineral/silver) + if(/obj/item/stack/material/silver) silver_amount += amount * 2000 - if(/obj/item/stack/sheet/mineral/phoron) + if(/obj/item/stack/material/phoron) phoron_amount += amount * 2000 - if(/obj/item/stack/sheet/mineral/uranium) + if(/obj/item/stack/material/uranium) uranium_amount += amount * 2000 - if(/obj/item/stack/sheet/mineral/diamond) + if(/obj/item/stack/material/diamond) diamond_amount += amount * 2000 else new stacktype(loc, amount) diff --git a/code/modules/research/rdconsole.dm b/code/modules/research/rdconsole.dm index 8f1113043d..4f0178ed3d 100644 --- a/code/modules/research/rdconsole.dm +++ b/code/modules/research/rdconsole.dm @@ -269,8 +269,8 @@ won't update every console in existence) but it's more of a hassle to do. Also, for(var/obj/I in linked_destroy.contents) for(var/mob/M in I.contents) M.death() - if(istype(I,/obj/item/stack/sheet))//Only deconsturcts one sheet at a time instead of the entire stack - var/obj/item/stack/sheet/S = I + if(istype(I,/obj/item/stack/material))//Only deconsturcts one sheet at a time instead of the entire stack + var/obj/item/stack/material/S = I if(S.get_amount() > 1) S.use(1) linked_destroy.loaded_item = S @@ -460,7 +460,7 @@ won't update every console in existence) but it's more of a hassle to do. Also, res_amount = "diamond_amount" if(ispath(type) && hasvar(linked_lathe, res_amount)) - var/obj/item/stack/sheet/sheet = new type(linked_lathe.loc) + var/obj/item/stack/material/sheet = new type(linked_lathe.loc) var/available_num_sheets = round(linked_lathe.vars[res_amount]/sheet.perunit) if(available_num_sheets>0) sheet.amount = min(available_num_sheets, desired_num_sheets) @@ -472,19 +472,19 @@ won't update every console in existence) but it's more of a hassle to do. Also, var/res_amount, type switch(href_list["imprinter_ejectsheet"]) if("glass") - type = /obj/item/stack/sheet/glass + type = /obj/item/stack/material/glass res_amount = "g_amount" if("gold") - type = /obj/item/stack/sheet/mineral/gold + type = /obj/item/stack/material/gold res_amount = "gold_amount" if("diamond") - type = /obj/item/stack/sheet/mineral/diamond + type = /obj/item/stack/material/diamond res_amount = "diamond_amount" if("uranium") - type = /obj/item/stack/sheet/mineral/uranium + type = /obj/item/stack/material/uranium res_amount = "uranium_amount" if(ispath(type) && hasvar(linked_imprinter, res_amount)) - var/obj/item/stack/sheet/sheet = new type(linked_imprinter.loc) + var/obj/item/stack/material/sheet = new type(linked_imprinter.loc) var/available_num_sheets = round(linked_imprinter.vars[res_amount]/sheet.perunit) if(available_num_sheets>0) sheet.amount = min(available_num_sheets, desired_num_sheets) diff --git a/code/modules/research/xenoarchaeology/finds/finds.dm b/code/modules/research/xenoarchaeology/finds/finds.dm index fcf060165f..cb77346ac6 100644 --- a/code/modules/research/xenoarchaeology/finds/finds.dm +++ b/code/modules/research/xenoarchaeology/finds/finds.dm @@ -236,16 +236,16 @@ if(14) apply_material_decorations = 0 var/list/possible_spawns = list() - possible_spawns += /obj/item/stack/sheet/metal - possible_spawns += /obj/item/stack/sheet/plasteel - possible_spawns += /obj/item/stack/sheet/glass - possible_spawns += /obj/item/stack/sheet/glass/reinforced - possible_spawns += /obj/item/stack/sheet/mineral/phoron - possible_spawns += /obj/item/stack/sheet/mineral/gold - possible_spawns += /obj/item/stack/sheet/mineral/silver - possible_spawns += /obj/item/stack/sheet/mineral/enruranium - possible_spawns += /obj/item/stack/sheet/mineral/sandstone - possible_spawns += /obj/item/stack/sheet/mineral/silver + possible_spawns += /obj/item/stack/material/steel + possible_spawns += /obj/item/stack/material/plasteel + possible_spawns += /obj/item/stack/material/glass + possible_spawns += /obj/item/stack/material/glass/reinforced + possible_spawns += /obj/item/stack/material/phoron + possible_spawns += /obj/item/stack/material/gold + possible_spawns += /obj/item/stack/material/silver + possible_spawns += /obj/item/stack/material/uranium + possible_spawns += /obj/item/stack/material/sandstone + possible_spawns += /obj/item/stack/material/silver var/new_type = pick(possible_spawns) new_item = new new_type(src.loc) diff --git a/code/modules/research/xenoarchaeology/tools/tools_pickaxe.dm b/code/modules/research/xenoarchaeology/tools/tools_pickaxe.dm index 1762cfbb0d..e8bedc0987 100644 --- a/code/modules/research/xenoarchaeology/tools/tools_pickaxe.dm +++ b/code/modules/research/xenoarchaeology/tools/tools_pickaxe.dm @@ -107,7 +107,7 @@ icon_state = "excavation" desc = "A set of picks for excavation." item_state = "syringe_kit" - foldable = /obj/item/stack/sheet/cardboard //BubbleWrap + foldable = /obj/item/stack/material/cardboard //BubbleWrap storage_slots = 7 w_class = 2 can_hold = list(/obj/item/weapon/pickaxe/brush,\ diff --git a/code/modules/tables/tables.dm b/code/modules/tables/tables.dm index 61326574ba..1ee34e9d80 100644 --- a/code/modules/tables/tables.dm +++ b/code/modules/tables/tables.dm @@ -20,7 +20,7 @@ var/material/material = null var/material/reinforced = null - // Gambling tables. I'd prefer reinforced with carpet/felt/cloth/whatever, but AFAIK it's either harder or impossible to get /obj/item/stack/sheet of those. + // Gambling tables. I'd prefer reinforced with carpet/felt/cloth/whatever, but AFAIK it's either harder or impossible to get /obj/item/stack/material of those. // Convert if/when you can easily get stacks of these. var/carpeted = 0 @@ -146,7 +146,7 @@ health = max(health+(maxhealth/5), maxhealth) // 20% repair per application return 1 - if(!material && can_plate && istype(W, /obj/item/stack/sheet)) + if(!material && can_plate && istype(W, /obj/item/stack/material)) material = common_material_add(W, user, "plat") if(material) update_connections(1) @@ -157,13 +157,13 @@ return ..() -/obj/structure/table/MouseDrop_T(obj/item/stack/sheet/what) +/obj/structure/table/MouseDrop_T(obj/item/stack/material/what) if(can_reinforce && isliving(usr) && (!usr.stat) && istype(what) && usr.get_active_hand() == what && Adjacent(usr)) reinforce_table(what, usr) else return ..() -/obj/structure/table/proc/reinforce_table(obj/item/stack/sheet/S, mob/user) +/obj/structure/table/proc/reinforce_table(obj/item/stack/material/S, mob/user) if(reinforced) user << "\The [src] is already reinforced!" return @@ -195,8 +195,8 @@ desc = initial(desc) // Returns the material to set the table to. -/obj/structure/table/proc/common_material_add(obj/item/stack/sheet/S, mob/user, verb) // Verb is actually verb without 'e' or 'ing', which is added. Works for 'plate'/'plating' and 'reinforce'/'reinforcing'. - var/material/M = name_to_material[S.sheettype] +/obj/structure/table/proc/common_material_add(obj/item/stack/material/S, mob/user, verb) // Verb is actually verb without 'e' or 'ing', which is added. Works for 'plate'/'plating' and 'reinforce'/'reinforcing'. + var/material/M = name_to_material[S.default_type] if(!istype(M)) user << "You cannot [verb]e \the [src] with \the [S]." return null @@ -249,7 +249,7 @@ return user.visible_message("\The [user] dismantles \the [src].", "You dismantle \the [src].") - new /obj/item/stack/sheet/metal(src.loc) + new /obj/item/stack/material/steel(src.loc) qdel(src) return @@ -279,7 +279,7 @@ if(carpeted && (full_return || prob(50))) // Higher chance to get the carpet back intact, since there's no non-intact option new /obj/item/stack/tile/carpet(src.loc) if(full_return || prob(20)) - new /obj/item/stack/sheet/metal(src.loc) + new /obj/item/stack/material/steel(src.loc) else var/material/M = get_material_by_name(DEFAULT_WALL_MATERIAL) S = M.place_shard(loc) diff --git a/maps/exodus-1.dmm b/maps/exodus-1.dmm index 96ee3f159e..b61cf138c2 100644 --- a/maps/exodus-1.dmm +++ b/maps/exodus-1.dmm @@ -1398,7 +1398,7 @@ "aAT" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/ai_monitored/storage/eva) "aAU" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva) "aAV" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva) -"aAW" = (/obj/structure/table/reinforced,/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/ai_monitored/storage/eva) +"aAW" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/stack/rods{amount = 50},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor{icon_state = "floorgrime"},/area/quartermaster/storage) "aAX" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plating,/area/ai_monitored/storage/eva) "aAY" = (/turf/simulated/floor/carpet{tag = "icon-carpet3-0"; icon_state = "carpet3-0"},/area/crew_quarters/sleep/bedrooms) "aAZ" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/crew_quarters/fitness) @@ -1525,12 +1525,12 @@ "aDq" = (/obj/structure/disposalpipe/segment,/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/bar) "aDr" = (/obj/item/weapon/stool{pixel_y = 8},/obj/effect/landmark/start{name = "Assistant"},/turf/simulated/floor,/area/storage/primary) "aDs" = (/turf/simulated/wall,/area/maintenance/bar) -"aDt" = (/obj/structure/closet/crate,/obj/item/stack/sheet/mineral/gold,/obj/item/stack/sheet/mineral/gold,/obj/item/stack/sheet/mineral/gold,/obj/item/stack/sheet/mineral/gold,/obj/item/stack/sheet/mineral/gold,/obj/item/weapon/storage/belt/champion,/turf/simulated/floor{icon_state = "vault"; dir = 1},/area/security/nuke_storage) +"aDt" = (/obj/structure/closet/crate,/obj/item/stack/material/gold,/obj/item/weapon/storage/belt/champion,/turf/simulated/floor{icon_state = "vault"; dir = 1},/area/security/nuke_storage) "aDu" = (/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Substation - Civilian East"},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/maintenance/substation/civilian_east) "aDv" = (/obj/machinery/power/breakerbox/activated{RCon_tag = "Civilian East Substation Bypass"},/turf/simulated/floor/plating,/area/maintenance/substation/civilian_east) "aDw" = (/obj/structure/cable/green,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/turf/simulated/floor/plating,/area/maintenance/substation/civilian_east) "aDx" = (/obj/machinery/requests_console{department = "EVA"; pixel_x = -32; pixel_y = 0},/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/structure/table/reinforced,/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/obj/item/device/multitool,/obj/machinery/camera/network/security{c_tag = "EVA Northwest"; dir = 4},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/ai_monitored/storage/eva) -"aDy" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/table/reinforced,/obj/item/stack/sheet/glass/reinforced{amount = 50},/obj/item/stack/rods{amount = 50},/obj/machinery/camera/network/security{c_tag = "EVA Northeast"; dir = 8},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/ai_monitored/storage/eva) +"aDy" = (/obj/structure/table/reinforced,/obj/item/stack/material/glass{amount = 50},/obj/item/stack/material/glass{amount = 50},/obj/item/stack/material/glass{amount = 50},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/ai_monitored/storage/eva) "aDz" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "neutral"; dir = 4},/area/crew_quarters/sleep) "aDA" = (/obj/effect/decal/cleanable/dirt,/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard) "aDB" = (/obj/machinery/power/terminal,/obj/machinery/light/small{dir = 4},/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard) @@ -1586,7 +1586,7 @@ "aEz" = (/obj/structure/table/reinforced{icon_state = "table"},/obj/item/weapon/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 6},/obj/item/weapon/storage/briefcase/inflatable{pixel_y = 3},/obj/item/weapon/storage/briefcase/inflatable{pixel_x = -3},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/ai_monitored/storage/eva) "aEA" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/ai_monitored/storage/eva) "aEB" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/weapon/tank/jetpack/carbondioxide,/obj/item/clothing/shoes/magboots,/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/ai_monitored/storage/eva) -"aEC" = (/obj/structure/table/reinforced,/obj/item/stack/sheet/plasteel{amount = 10},/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/structure/extinguisher_cabinet{pixel_x = 25; pixel_y = 0},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/ai_monitored/storage/eva) +"aEC" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/table/reinforced,/obj/item/stack/rods{amount = 50},/obj/machinery/camera/network/security{c_tag = "EVA Northeast"; dir = 8},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/ai_monitored/storage/eva) "aED" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor{dir = 1; icon_state = "bluecorner"},/area/hallway/primary/central_one) "aEE" = (/turf/simulated/floor{dir = 5; icon_state = "blue"},/area/hallway/primary/central_one) "aEF" = (/obj/structure/table/woodentable,/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/item/weapon/tape_roll,/turf/simulated/floor/wood,/area/library) @@ -2966,7 +2966,7 @@ "bfb" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor{dir = 8; icon_state = "barber"},/area/crew_quarters/locker) "bfc" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor{dir = 8; icon_state = "barber"},/area/crew_quarters/locker) "bfd" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/crew_quarters/locker) -"bfe" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/stack/sheet/cardboard,/obj/item/stack/rods{amount = 50},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor{icon_state = "floorgrime"},/area/quartermaster/storage) +"bfe" = (/obj/structure/table/reinforced,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/structure/extinguisher_cabinet{pixel_x = 25; pixel_y = 0},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/ai_monitored/storage/eva) "bff" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor{icon_state = "floorgrime"},/area/quartermaster/storage) "bfg" = (/turf/simulated/floor{icon_state = "floorgrime"},/area/quartermaster/storage) "bfh" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/weapon/module/power_control,/obj/item/weapon/cell{maxcharge = 2000},/turf/simulated/floor{icon_state = "floorgrime"},/area/quartermaster/storage) @@ -3196,7 +3196,7 @@ "bjx" = (/obj/structure/disposalpipe/tagger/partial{name = "Sorting Office"; sort_tag = "Sorting Office"},/turf/simulated/floor/plating,/area/maintenance/locker) "bjy" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "floorgrime"},/area/quartermaster/storage) "bjz" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "floorgrime"},/area/quartermaster/storage) -"bjA" = (/obj/item/stack/sheet/cardboard,/turf/simulated/floor{icon_state = "floorgrime"},/area/quartermaster/storage) +"bjA" = (/obj/structure/table/standard,/turf/simulated/floor/engine,/area/rnd/misc_lab) "bjB" = (/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating,/area/maintenance/locker) "bjC" = (/obj/structure/closet/emcloset,/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor/plating,/area/maintenance/locker) "bjD" = (/obj/structure/filingcabinet/filingcabinet,/turf/simulated/floor{icon_state = "arrival"; dir = 4},/area/quartermaster/office) @@ -3340,7 +3340,7 @@ "bml" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/maintenance/locker) "bmm" = (/obj/machinery/door/airlock{name = "Unit 4"},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/locker/locker_toilet) "bmn" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/locker/locker_toilet) -"bmo" = (/obj/item/stack/sheet/glass/reinforced,/obj/effect/decal/cleanable/cobweb,/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/plating,/area/maintenance/locker) +"bmo" = (/obj/structure/table/standard,/obj/machinery/requests_console{department = "Cargo Bay"; departmentType = 2; pixel_x = -30; pixel_y = 0},/obj/item/device/multitool,/obj/machinery/camera/network/civilian_west{c_tag = "Cargo Office"; dir = 4},/turf/simulated/floor,/area/quartermaster/office) "bmp" = (/obj/item/weapon/screwdriver,/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/maintenance/locker) "bmq" = (/obj/item/device/flashlight,/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/maintenance/locker) "bmr" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/maintenance/locker) @@ -3374,7 +3374,7 @@ "bmT" = (/obj/structure/table/reinforced,/obj/item/weapon/reagent_containers/dropper,/obj/machinery/light{dir = 8},/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) "bmU" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/machinery/light/small{dir = 1},/obj/structure/cable/cyan{d2 = 4; icon_state = "0-4"},/obj/machinery/power/apc/super/equipment{dir = 1; name = "north bump"; pixel_y = 24},/turf/simulated/floor/bluegrid,/area/turret_protected/ai) "bmV" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{name = "Morgue"; req_access = list(6)},/turf/simulated/floor,/area/hallway/primary/starboard) -"bmW" = (/obj/structure/table/reinforced,/obj/item/stack/sheet/mineral/phoron,/obj/item/stack/sheet/mineral/phoron,/obj/item/stack/sheet/mineral/phoron,/obj/item/stack/sheet/mineral/phoron,/obj/item/stack/sheet/mineral/phoron,/obj/item/stack/sheet/mineral/phoron,/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) +"bmW" = (/obj/structure/table/standard,/obj/item/clothing/glasses/welding,/turf/simulated/floor{dir = 1; icon_state = "whitepurple"},/area/rnd/lab) "bmX" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_one_access = list(5,12,47)},/turf/simulated/floor/plating,/area/hallway/primary/starboard) "bmY" = (/obj/structure/sign/chemistry,/turf/simulated/wall/r_wall,/area/medical/chemistry) "bmZ" = (/obj/structure/reagent_dispensers/water_cooler,/obj/machinery/computer/security/telescreen/entertainment{pixel_x = 0; pixel_y = 32},/turf/simulated/floor{tag = "icon-whiteblue (NORTHWEST)"; icon_state = "whiteblue"; dir = 9},/area/medical/reception) @@ -3757,7 +3757,7 @@ "bum" = (/obj/structure/sign/redcross{desc = "The Star of Life, a symbol of Medical Aid."; icon_state = "lifestar"; name = "Medbay"; pixel_x = 32},/turf/simulated/floor{tag = "icon-whiteblue (SOUTHEAST)"; icon_state = "whiteblue"; dir = 6},/area/medical/reception) "bun" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/medical/exam_room) "buo" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/syringes,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/item/weapon/screwdriver,/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) -"bup" = (/obj/structure/table/standard,/obj/item/stack/sheet/metal{amount = 10},/turf/simulated/floor/engine,/area/rnd/misc_lab) +"bup" = (/obj/effect/decal/cleanable/cobweb,/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/plating,/area/maintenance/locker) "buq" = (/obj/structure/morgue,/turf/simulated/floor{icon_state = "blue"; dir = 10},/area/medical/morgue) "bur" = (/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 0; pixel_y = -22},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/medical/morgue) "bus" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor,/area/medical/morgue) @@ -4168,7 +4168,7 @@ "bCh" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor{tag = "icon-whiteblue (EAST)"; icon_state = "whiteblue"; dir = 4},/area/medical/medbay) "bCi" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor{tag = "icon-whiteblue (WEST)"; icon_state = "whiteblue"; dir = 8},/area/medical/medbay3) "bCj" = (/turf/simulated/floor{icon_state = "white"},/area/medical/medbay3) -"bCk" = (/obj/structure/table/standard,/obj/machinery/requests_console{department = "Cargo Bay"; departmentType = 2; pixel_x = -30; pixel_y = 0},/obj/item/stack/sheet/glass{amount = 50; pixel_x = 3; pixel_y = 3},/obj/item/stack/sheet/metal{amount = 50},/obj/item/device/multitool,/obj/machinery/camera/network/civilian_west{c_tag = "Cargo Office"; dir = 4},/turf/simulated/floor,/area/quartermaster/office) +"bCk" = (/obj/structure/table/reinforced,/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) "bCl" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{tag = "icon-whiteblue (WEST)"; icon_state = "whiteblue"; dir = 8},/area/medical/medbay2) "bCm" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) "bCn" = (/obj/structure/table/standard,/obj/item/device/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = -27},/obj/item/weapon/reagent_containers/glass/bottle/stoxin{pixel_x = -6; pixel_y = 10},/obj/item/weapon/reagent_containers/glass/bottle/antitoxin{pixel_x = 5; pixel_y = 5},/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline{pixel_x = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/random/medical,/turf/simulated/floor{dir = 8; icon_state = "whiteyellow"},/area/medical/chemistry) @@ -4838,7 +4838,7 @@ "bPb" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating,/area/storage/tech) "bPc" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/storage/tech) "bPd" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/storage/tech) -"bPe" = (/obj/structure/table/standard,/obj/item/stack/sheet/glass{amount = 50; pixel_x = 3; pixel_y = 3},/obj/item/stack/sheet/metal{amount = 50},/obj/item/clothing/glasses/welding,/turf/simulated/floor{dir = 1; icon_state = "whitepurple"},/area/rnd/lab) +"bPe" = (/obj/structure/table/standard,/obj/item/stack/cable_coil,/obj/item/device/flash,/obj/item/device/flash,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/assembly/robotics) "bPf" = (/turf/simulated/floor/plating,/area/storage/tech) "bPg" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/storage/tech) "bPh" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/plating,/area/storage/tech) @@ -5171,7 +5171,7 @@ "bVw" = (/obj/machinery/vending/cigarette{pixel_x = 0; pixel_y = 2},/turf/simulated/floor{icon_state = "white"},/area/rnd/research) "bVx" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/rnd/research) "bVy" = (/obj/structure/table/standard,/obj/machinery/cell_charger,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/device/radio/intercom{freerange = 0; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 29},/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics) -"bVz" = (/obj/structure/table/standard,/obj/item/stack/sheet/plasteel{amount = 10},/obj/item/stack/cable_coil,/obj/item/device/flash,/obj/item/device/flash,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/assembly/robotics) +"bVz" = (/obj/structure/table/standard,/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/assembly/robotics) "bVA" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "bot"},/area/rnd/research) "bVB" = (/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/wall/r_wall,/area/rnd/mixing) "bVC" = (/obj/structure/table/woodentable,/obj/item/weapon/book/manual/engineering_guide{pixel_x = 3; pixel_y = 2},/obj/item/weapon/book/manual/atmospipes,/obj/machinery/light{dir = 1},/turf/simulated/floor/carpet,/area/engineering/break_room) @@ -5665,7 +5665,7 @@ "ceW" = (/obj/machinery/hologram/holopad,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/engineering/break_room) "ceX" = (/obj/structure/noticeboard{pixel_x = 32; pixel_y = 0},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/engineering/break_room) "ceY" = (/obj/machinery/light,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/sleep/engi_wash) -"ceZ" = (/obj/structure/table/standard,/obj/item/stack/sheet/glass{amount = 20; pixel_x = -3; pixel_y = 6},/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/assembly/robotics) +"ceZ" = (/obj/structure/table/standard,/obj/item/clothing/head/welding{pixel_x = -5; pixel_y = 3},/obj/item/clothing/glasses/welding,/obj/structure/closet/fireaxecabinet{pixel_y = 32},/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/engineering/atmos) "cfa" = (/obj/structure/bed/chair,/turf/simulated/floor,/area/medical/surgeryobs) "cfb" = (/obj/structure/closet/secure_closet/hydroponics{req_access = list(47)},/turf/simulated/floor{dir = 1; icon_state = "whitegreen"},/area/rnd/xenobiology/xenoflora_storage) "cfc" = (/obj/machinery/light{tag = "icon-tube1 (NORTH)"; icon_state = "tube1"; dir = 1},/obj/machinery/light_switch{pixel_x = 27},/obj/machinery/smartfridge/drying_rack,/turf/simulated/floor{tag = "icon-whitegreen_v (NORTHEAST)"; icon_state = "whitegreen_v"; dir = 5},/area/rnd/xenobiology/xenoflora_storage) @@ -6083,7 +6083,7 @@ "cmY" = (/obj/machinery/door/blast/regular{desc = "By gods, release the hounds!"; id = "xenobioout6"; name = "Containment Release"},/turf/simulated/floor/engine,/area/rnd/xenobiology) "cmZ" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating/airless,/area/solar/starboard) "cna" = (/obj/structure/cable/yellow,/turf/simulated/floor/plating/airless,/area/solar/starboard) -"cnb" = (/obj/structure/table/standard,/obj/item/stack/sheet/glass{amount = 50},/obj/item/clothing/head/welding{pixel_x = -5; pixel_y = 3},/obj/item/clothing/glasses/welding,/obj/structure/closet/fireaxecabinet{pixel_y = 32},/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/engineering/atmos) +"cnb" = (/obj/structure/table/standard,/obj/machinery/newscaster{pixel_y = 30},/obj/item/clothing/gloves/black,/obj/item/clothing/gloves/black,/obj/item/weapon/storage/belt/utility/atmostech,/obj/item/weapon/storage/belt/utility/atmostech,/turf/simulated/floor,/area/engineering/atmos) "cnc" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) "cnd" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) "cne" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering EVA Storage"; req_one_access = list(11,24)},/turf/simulated/floor,/area/engineering/engine_eva) @@ -6128,7 +6128,7 @@ "cnR" = (/turf/simulated/wall/r_wall,/area/engineering/locker_room) "cnS" = (/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating{dir = 4; icon_state = "warnplatecorner"},/area/maintenance/engineering) "cnT" = (/obj/structure/table/standard,/obj/item/device/t_scanner,/obj/item/device/multitool{pixel_x = 5},/obj/item/device/radio/headset/headset_eng,/obj/item/weapon/cartridge/atmos,/obj/item/weapon/cartridge/atmos,/obj/item/device/pipe_painter,/obj/machinery/requests_console{department = "Atmospherics"; departmentType = 4; name = "Atmos RC"; pixel_x = 0; pixel_y = 28},/turf/simulated/floor,/area/engineering/atmos) -"cnU" = (/obj/structure/table/standard,/obj/machinery/newscaster{pixel_y = 30},/obj/item/stack/sheet/metal{amount = 50; pixel_x = 2; pixel_y = 2},/obj/item/clothing/gloves/black,/obj/item/clothing/gloves/black,/obj/item/weapon/storage/belt/utility/atmostech,/obj/item/weapon/storage/belt/utility/atmostech,/turf/simulated/floor,/area/engineering/atmos) +"cnU" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/table/reinforced,/turf/simulated/floor,/area/engineering/workshop) "cnV" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/syringes,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) "cnW" = (/obj/machinery/computer/med_data,/obj/machinery/light,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) "cnX" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/beakers{pixel_x = 2; pixel_y = 2},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/glass_jar,/obj/item/glass_jar,/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) @@ -6158,7 +6158,7 @@ "cov" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/engineering/atmos) "cow" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/engineering/atmos) "cox" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/turf/simulated/floor/plating,/area/engineering/atmos) -"coy" = (/obj/structure/table/standard,/obj/item/stack/sheet/mineral/phoron{amount = 5; layer = 2.9},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) +"coy" = (/obj/structure/window/reinforced{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/table/reinforced,/turf/simulated/floor,/area/engineering/workshop) "coz" = (/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/hallway/secondary/entry/port) "coA" = (/obj/machinery/door/airlock/maintenance{name = "Engineering EVA Storage Maintainance"; req_access = list(12); req_one_access = list(11,24)},/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/red,/turf/simulated/floor,/area/engineering/engine_eva) "coB" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering Locker Room"; req_one_access = list(11,24)},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/engineering/locker_room) @@ -6378,7 +6378,7 @@ "csH" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor{icon_state = "freezerfloor"},/area/medical/surgery2) "csI" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/medbay) "csJ" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor{dir = 9; icon_state = "warnwhite"},/area/medical/virology) -"csK" = (/obj/structure/closet/crate,/obj/item/stack/sheet/mineral/phoron{amount = 25},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = 28},/turf/simulated/floor/plating,/area/engineering/storage) +"csK" = (/obj/structure/closet/crate,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = 28},/turf/simulated/floor/plating,/area/engineering/storage) "csL" = (/obj/machinery/atmospherics/pipe/simple/visible/green,/turf/simulated/floor{dir = 9; icon_state = "blue"},/area/engineering/atmos) "csM" = (/obj/machinery/computer/general_air_control/large_tank_control{frequency = 1441; input_tag = "o2_in"; name = "Oxygen Supply Control"; output_tag = "o2_out"; sensors = list("o2_sensor" = "Tank")},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/light{dir = 1},/obj/machinery/camera/network/engineering{c_tag = "Atmospherics Northwest"},/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/engineering/atmos) "csN" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/purple,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) @@ -6408,17 +6408,15 @@ "ctl" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor,/area/engineering) "ctm" = (/obj/effect/decal/cleanable/blood/oil,/turf/simulated/floor/plating,/area/maintenance/medbay) "ctn" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/engineering/workshop) -"cto" = (/obj/structure/window/reinforced{dir = 1},/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/structure/table/reinforced,/turf/simulated/floor,/area/engineering/workshop) +"cto" = (/obj/structure/table/standard,/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) "ctp" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "surgeryobs"; name = "Operating Theatre Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/medical/surgeryobs) "ctq" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "surgeryobs"; name = "Operating Theatre Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/medical/surgeryobs) "ctr" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "surgeryobs"; name = "Operating Theatre Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/medical/surgeryobs) "cts" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) "ctt" = (/obj/structure/window/reinforced{dir = 1},/obj/item/stack/rods{amount = 50},/obj/item/weapon/airlock_electronics,/obj/item/weapon/airlock_electronics,/obj/item/weapon/cell/high,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/table/reinforced,/turf/simulated/floor,/area/engineering/workshop) -"ctu" = (/obj/structure/window/reinforced{dir = 1},/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/table/reinforced,/turf/simulated/floor,/area/engineering/workshop) "ctv" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/engineering) "ctw" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/engineering) "ctx" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/machinery/light,/obj/machinery/button/remote/blast_door{desc = "A remote control-switch for shutters."; id = "virologyquar"; name = "Virology Emergency Lockdown Control"; pixel_x = 0; pixel_y = -28; req_access = list(5)},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "greencorner"},/area/medical/virologyaccess) -"cty" = (/obj/structure/window/reinforced{dir = 1},/obj/item/stack/sheet/plasteel{amount = 10},/obj/item/stack/sheet/plasteel{amount = 10},/obj/item/stack/sheet/mineral/plastic{amount = 10},/obj/structure/table/reinforced,/turf/simulated/floor,/area/engineering/workshop) "ctz" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/maintenance/medbay) "ctA" = (/obj/machinery/light/small{dir = 1},/obj/item/weapon/cigbutt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/maintenance/medbay) "ctB" = (/obj/structure/table/reinforced,/obj/machinery/button/remote/blast_door{id = "xenobio3"; name = "Containment Blast Doors"; pixel_x = 0; pixel_y = 4; req_access = list(55)},/obj/structure/window/reinforced{dir = 1},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{dir = 6; icon_state = "warning"},/area/rnd/xenobiology) @@ -7483,9 +7481,9 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaatSauNazFaxxatSauNazUaxxatSauNaAbauNauNauNauNauNavHatqaaaaaaaaIaaIaaIaaaaaaaafaaaaxBaZnaxBaafaafaafaafaaIaaIaaIaafanXanXanXanXaxDaxEaxEaxFanXanXanXanXaAvaucaucanXaxHaxIanXanXaxJaxKaxLaxMaxMaxMaxMaxMaxMaxMaxMaxNaxMaxMaxMaxMaxMaAHaxPaxQaxRaAHavpasZaxSawjcfSatCaxVaxXaxXaxXaxZaxYayaawLaxXavqaydayeayfaygayhayhayhayhawXavxawEawDatRatRatRatRatRatRatRatRatRatRavcaafaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaaAuaBaaAuaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaynayoaypayoaBcayoayrayoaysaytayvayvayvayvaywauNawNatqaaaaafaafaaaaaaaaaaaaaafaaaayyaBkayAaafaaaaafaaaaaaaaaaaaaaaanXayBayCayDayCayCayCayCayEayCayCayFayGayDayHayIaxMaxMaxMaxMaxMaxMayJayKayLayLayLayLayMayLayLaZsayLayMayLayLayLarAaBEayPayQarEaAiasZcfSaycaxUatCayUayTayWaxpayYayXayYaxqayTazaazbazcazdazeazdazdazfaxraBOaxtaxTaxvatRatRatRatRatRatRatRatRatRatRavcaafaaaaaaaaaaaaaaaaaaaaaaaaaafaafaBuaBvaZraBxaByaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazqazrazsaztazuazvazwazxazyazwazzazAazwazwaCeauNavHauRaafaafaaaaaaaaaaaaaaaaafazDazEbdHazGazHaaaaafaaaaaaaaaaaaaaaanXazIanXazJazKazLazLazLazMazLazLazLazNazJazOazPazPazPazPazPazPazPazQazRayLazSazTazTazVazWazXazYazZaAabeTazTaAcarAaAdayPayQarEaAiasZaybaAeauMatCaxWaxXaxXaxXaxXayiayjaAlaAmaAnaxkaAoaylaApaApaApaAqayVatPayZatPatPatRatRatRatRatRatRatRatRatRatRavcaafaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaCvaCwbfyaCyaCvaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafauNaAwaAxaAwaAyazsazsaAzaAwaAxaAwaAAaABaACaADauNavHauQauQaAEauUauUauUauUauVauQaAFaAGbfAaAIaAFanXanXaxHaAJaxIanXanXanXazIaAKazJaaaaafaaaaafaaaaafaaaaafaaaazJazOazPaALaAMaANaAOaAPazPazQaucayLaAQaAQaARaASaATaAUaAVaATaAWaAXazTaAcarAaAdayPaDdarEaAiasZawzaAgaAhaBbayRaBdaBeazhaBgaBhaBiaBjaBjaCLaBjatPaBlaBmaBnaBoaBpaBraxvazibguazjatRatRatRatRatRatRatRatRatRatRavcaafaaaaaaaaaaaaaaaaacaaaaaaaafaaaaCvazlaDAaDBaCvaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaBzatSaBAawHaBBaBCaBDaDcaBFaBBawHaBGaBHaBIaBJaBKaBLavHavHavHavHavHavHavHavHaDnaBPaAFazmaBRaBSaAFaBTaBUayCayCayCayCayCaBVaBWaBXazJaafaBYaBYaBYaBYaBYaBYaBYaafazJazOazPaBZaCaaCbaCcaBZazPazQaCdayLayLayLayLaDxaCfaCgaChaCfaDyaCjazTaCkarAaAdayPaClarEaJCasZaznaAYazCatCaxWavqatEaBjaBjaBjaBjaBjaCqaCraCsaBjatPatPatPatPaDQatPatPaAfaAkaAjatRatRatRatRatRatRatRatRatRatRaumaafaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaCvaEXaEYaDYaCvaaaaaaaaaaafaafaaaaaaaaaaaaaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazqaAxaCzaCAaCAaCAaCAaCBaAxazqaaaaBIaCCaxzaBLaCEaCEaCEaCEaCEaCEaCEavHaCFaCGaAFaEeaCIaAsaAFaCKaEvaCKaCKaCKaCKaCKaCKaCKaCKaCMaaaaBYaCNaCOaCPaCQaCRaBYaaaazJazOazPaBZaCSaCTaCUaBZazPazQanXayLaCVaCWaARaCXaCYaCZaDaaDbaECayLayLayLarAaAdayPayQarEaAiasZaAtaEMauMatCaDgavqatEaDhaDiaDjaDkaBjaCqaDlaCsaBjaDmaESbgIaDpaDqaGwaDsatPatPatPaAZatjatjatjatjaEVatjatjatjatjaBfaafaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaCvaCvbgHaGyaCvaDCaDDaDEaDCaDCaDCaDCaDCaDCaDCaDFaDGaDGaDGaDHaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafauNaAwaAxaAwaAyazsazsaAzaAwaAxaAwaAAaABaACaADauNavHauQauQaAEauUauUauUauUauVauQaAFaAGbfAaAIaAFanXanXaxHaAJaxIanXanXanXazIaAKazJaaaaafaaaaafaaaaafaaaaafaaaazJazOazPaALaAMaANaAOaAPazPazQaucayLaAQaAQaARaASaATaAUaAVaATaDyaAXazTaAcarAaAdayPaDdarEaAiasZawzaAgaAhaBbayRaBdaBeazhaBgaBhaBiaBjaBjaCLaBjatPaBlaBmaBnaBoaBpaBraxvazibguazjatRatRatRatRatRatRatRatRatRatRavcaafaaaaaaaaaaaaaaaaacaaaaaaaafaaaaCvazlaDAaDBaCvaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaBzatSaBAawHaBBaBCaBDaDcaBFaBBawHaBGaBHaBIaBJaBKaBLavHavHavHavHavHavHavHavHaDnaBPaAFazmaBRaBSaAFaBTaBUayCayCayCayCayCaBVaBWaBXazJaafaBYaBYaBYaBYaBYaBYaBYaafazJazOazPaBZaCaaCbaCcaBZazPazQaCdayLayLayLayLaDxaCfaCgaChaCfaECaCjazTaCkarAaAdayPaClarEaJCasZaznaAYazCatCaxWavqatEaBjaBjaBjaBjaBjaCqaCraCsaBjatPatPatPatPaDQatPatPaAfaAkaAjatRatRatRatRatRatRatRatRatRatRaumaafaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaCvaEXaEYaDYaCvaaaaaaaaaaafaafaaaaaaaaaaaaaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazqaAxaCzaCAaCAaCAaCAaCBaAxazqaaaaBIaCCaxzaBLaCEaCEaCEaCEaCEaCEaCEavHaCFaCGaAFaEeaCIaAsaAFaCKaEvaCKaCKaCKaCKaCKaCKaCKaCKaCMaaaaBYaCNaCOaCPaCQaCRaBYaaaazJazOazPaBZaCSaCTaCUaBZazPazQanXayLaCVaCWaARaCXaCYaCZaDaaDbbfeayLayLayLarAaAdayPayQarEaAiasZaAtaEMauMatCaDgavqatEaDhaDiaDjaDkaBjaCqaDlaCsaBjaDmaESbgIaDpaDqaGwaDsatPatPatPaAZatjatjatjatjaEVatjatjatjatjaBfaafaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaCvaCvbgHaGyaCvaDCaDDaDEaDCaDCaDCaDCaDCaDCaDCaDFaDGaDGaDGaDHaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaaaaaaaaaaaaaDIaDJaDKaDJaDJaDLaDMaDJaDJaDKaDNaDOaBIaDPaFEaBLaDRaDSaDTaDUaDVaDWaCEavHaDXauQaAFaAFbaNaDZaCMaEaaEbbcCbbTbbxbaCbafbacaEiaEjaCMaafaBYaEkaElaEmaEnaEoaBYaafazJazOazPaEpaEqaEraEsaEtazPazQaEuayLazSazTaFSaEwaCfaExaEyaATaEzaEAaEBaEBarAaAdayPayQarEaAiaCmaCmaCmaCmaCmaEHaEIatEaEJaEKaEKaELaFZaEKaENaEOaBjaEPaEQaERaGfaETaCnaDsaaaaafaafaafaaaaaaaafaafaafaafaaaaaaaafaafaafaaaaaaaaaaaaaaaaaaaaaaDCaBsaBqaDCaBtaCpaGkaFdaFdaFdaFdaFeaFfaFgaFgaFgaFgaFgaFgaFgaGqaFiaFjaafaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaDIaDNaDJaFkawiaFlaFmbIraFoaFpbHfaFlawnaFraFsaFtaDPayuaBLaFvayxaBMaCxaBMaBNaGravHaFuaGxaFxaGHaFzaDfaGPaFJaFKaFLaFLaFLaDraFLaFLaFNaFOaCMaaaaBYaDtaElaFQaEnaFRaBYaaaazJazOazPaGVaFTaFUaFTaFVazPazQaFWayLayLayLayLaFXaCfaCgazTaCfaFYbcEazTaGaarAaGbaGcaGdarEaAiaDeaDvaDuaCoaDeaHJaDzaHYaGlaGmaBjaBjaBjaBjaBjaBjaGnaGoaGpaIcaDpaIkaIhaDsaDsaDsaDsaDsaDsaDsaDsaDsaFaaFbaDsaDsaFaaGtaDsaDsaaaaaaaDCaDCaDCaDCaDCaEZaEWaFdaFcaFwaDCaDCaDCaDCaDCaGDaGEaGFaGFaGFaGFaGFaGFaGGaGGaIlaGGaGGaGGaGGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaFraGIaFyaGKaFlaFMaFlaFMaFlaFMaFlaFMaFlaGMaGNaGOaDPayuaBLaInaFAaGRaGSaGTaGUaCEaFBaFDaFCaFCaFCbazaIzaFCbcTaFLaFLaFLaFLaFLaFLaFLaFNbcPaCMaafaBYaHeaHfaHgaHhaHiaBYaafazJazOazPaHjaFPaFUaHlaHmazPaHnaHoayLaHpazTaARaHqaATaHrazTaCfaFYaHsazTaHtarAaHuaHvaHwarEaGuaIDaEUaGvaDwaIIaGzaGjatEaHCaHDaBjaHEaBjaHFaBjaHGaBjaHHaGpaIZaDpaJsaJjaHLaHMaHMaHNaHOaHKaHKaHKaHKaHKaHPaHKaHKaHKaHQaHVaDsaDsaDsaDCaGBaGAaGCaGCaGLaGJaDCaDCaJwaDCaIdaIeaIfaIgaGFaJBaGFaIiaIjaJHaKjbinaKlaIoaIpaIqaKHaIsbjFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaaaaa @@ -7503,20 +7501,20 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaT aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaZSaZTaZUbjnaZWaSFaXwaZkbaaaZvaXWbadbaeaXYaYObagbahbaibajaTSbakbalbambbhbaobapbaqbarbarbarbasbataTSbaubavbawbaxaKgbajbnZaKhbajbkZaUmbaDbaEbaFbaGbaHbaIaMkbaJbaKaMkbaLbaMbbDbcybbPbbLbaRbaQbbQaUpaUpaUpaUpaUpbcDaUpaUpaUpbbRbaQbbdbbSbbWbeobcabbibbjbbkbblbbmbbnaJlaUDaSPbboaTkaSSaZAaZEbbraZKaXjaTkaSSaXTbbtaULaXVbbubbvbbwaUQaUQaYaaXZbbybbzaYKbbBaYgaWBbbCaWDbcuaZzaZLbbFbbFbbGbbHbbIaRLaRLaRLaRLaRLaRLaRLaGGbbJaXRaXhaToaYfaXhaIobbKaGGbcBaVoaYuaVoaZNbbMbbNbbOaafaafaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaXubcFbcZaXmbbUaSFbaabaabaabaabaabbVbaaaXoaYObbXbbYbaibbZbbZbbZbbZbdKbbZbcbaTUbccbcdbcebcebcfbcgaTSaXebchbcibcjaKibdQblcaKkbcobcobcpbcpbcpbcpbcpbcqaMbbcrbcsbctbeabcvbcwbcxbbgaUpbczbcAbeeaUpaUpaaaaaaaafaafbekaaaaaaaUpaUpbezbcGbczaUpbbgbcxbcHbcIbcJbcKbcLaRpaWcaSSaSSaSSaSSaSSaGpbcMaSSbcNaSSbcObcObcObcObeBbcQbcRbcSaUQaUQaUQbeMbcUaTeaZMbcWbcXaYgaWBaYhaWDbcYaZzaZZbdabdbbdcbddbdebddbddbddbddbddbdfbdgbdhbdibdjbdkbdlbdmbdnbdobdpbdqbdraVoaYubdsaZNaVobeNbbOaafaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBbdubdvaZUbdwbdxaSFaEfbabbaaaZvaDobbVbaabdAaYObbpbdCbaibbZbdDbdEbdFbdGbbZaEgbdIbdJaTSbeRbdLbdMbdNaTSaXebdObdPbdPbeVbdPbdPbdPbdPbdRbdSbdSbdSbdTbdSbdUaMbbdVbdWbdXbdYbdYbdYbdYbdYbdYbdZbeWbdZbdYbebbebbebbebbebbecbebbebbebbedbedbfobedaUpaUpaUpaJiaJiaJibcKbcLaRpaJlbefbegaDmbehaSSbeibcMbejbfqbelbcObcObembenaZzaZzaZzbfwaSGaSGaSGaZzaZzaZzbeqberbesbetaWBaYhaYhbeuaZzbevbewbbqaZzbeybbsbeAaYtbfxbbEbeDbcmaONaGGaIobeFbeGbeHbeFbeIaIoaIoaGGbeJaVoaYuaVoaZNbeKbeLbbOaafaafaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaafbeObePbeQbfWaRtaEfaEdbeUaEcaDobbVbgNbgMaYObeXbeYbaibbZbbZbbZbeZbfabbZbfbbdIbfcaTSbeRbdLbdMbfdaTSaXebdObdPbfebffbfgbfgbfhbdPbfibcVbfkbflbfmbfmbfmaMbaMkbcsbctbdYbfnbgUbfpbgWbfrbfsbftbfubdYbebbfvbgXbfvbhebhCbfvbdybebbedbfCbfDbfEbfFbfGbfHbfIbfJaJibfKbfLbfMaJlaZzaZzaZzaZzbfNbfObfPbfQaZzaZzbfRaZzaZzaZzaZzbfSbfTbfUbfVbfVbfVbhJbfXaZzbfYbfZbgabgbbgcbgcbgcbgdaZzbevbewbdBaZzaZzaZzaZzaZzaZzaZzaZzaZzaZzaZzbgfbggbghbgibgjbgfbggaZzaRZbgkaVoaYuaVoaZNaZObglbgmaWTaZRaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaafbeObePbeQbfWaRtaEfaEdbeUaEcaDobbVbgNbgMaYObeXbeYbaibbZbbZbbZbeZbfabbZbfbbdIbfcaTSbeRbdLbdMbfdaTSaXebdObdPaAWbffbfgbfgbfhbdPbfibcVbfkbflbfmbfmbfmaMbaMkbcsbctbdYbfnbgUbfpbgWbfrbfsbftbfubdYbebbfvbgXbfvbhebhCbfvbdybebbedbfCbfDbfEbfFbfGbfHbfIbfJaJibfKbfLbfMaJlaZzaZzaZzaZzbfNbfObfPbfQaZzaZzbfRaZzaZzaZzaZzbfSbfTbfUbfVbfVbfVbhJbfXaZzbfYbfZbgabgbbgcbgcbgcbgdaZzbevbewbdBaZzaZzaZzaZzaZzaZzaZzaZzaZzaZzaZzbgfbggbghbgibgjbgfbggaZzaRZbgkaVoaYuaVoaZNaZObglbgmaWTaZRaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaaabgnbgobgpbgqaZUbgrbgrbgrbgrbgrbgrbgsbgtbgraYOaYOaYOaYOaYObhKaYOaYOaYObgvbgvbgwbbZbdDbgxbeZbgybbZbgzbgAbgzaTSbeRbdLbdMbfdaTSaXebdObdPbgBbgCbgDbfgbgDbdPbfibgEbgFbgGaFIaFGaFhaMbbgKbgLbctbhLbivbgObgPbexbexbgRbgSbgTbdYbebbmIbgVbhRbhNbfzbgYbhSbebbedbhabhbbhcbeCbhTbeEbhgbhhaJibhibhjaRpbhkbhlbhmbewbewbhnbewbhobewbewbewbewbhpbewbewbewbewbhqbewbewbewbewbewbewbhmbewbewbhrbhsbhsbhtbhsbhsbhubhvbewbhqbhwbhxbhpbewbhybewbewbewbhzbhAbhBbhUbewbhDbewbhEbewbewbhFbhGbhHaVoaYuaVobhIaHdbhXbhWbhMaHcaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaabhObhObhObhObhObhObhObhObhObhOaaaaafbhPaYDbhQbitbiqbjubjqbjwbjvbjubjBbjGbjCbjObhYbhZbgwbbZbbZbbZbiabfabbZaTSaTSaTSaTSbeRbibbicbjQaTSbiebifbdPbigbihbiibgDbijbdPbfibikbgFbgGbgGbgGaEhaMbbimaSzbctbjVbiobipbfjbirbisbfBbiubjMbdYbebbiwbixbiybjYbiybgYbgebebbedbiAbiBbiCbgQbiEbgZbiGbiHaJibiIbiJbiKbiLbiMbiNbiObiObiPbiQbiRbiSbiSbiSbiTbiSbiSbiSbiSbiSbiUbiVbiVbiVbiWbiObiObiNbiObiObiXbiVbiVbiYbiSbiZbjabjbbiSbjcbiObiObiObiObiObiObiObiObiObiObiObiObiObjdbiTbjebiSbjfbjgbjhbjibjibjjbjkaZNaWRbjlaWTaWTaWUaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaabhObhObhObhObhObhObhObhObhObhObhOaZSaZTbjmbjnbjobgrbjpbjpbjZbjpbjpbjpbjrbajbajbajbajbaibbZbdDbjsbjtbgybbZbkZbkZbkZaTSaTSaTSaTSbkkaTSbjxbdObdPbjybjzbgDbjAbkxbdPbkAbfmbkHbgGbgGbgGbjDaMbbjEaSzbctbkKbkLbgObhdbjIbjJbhfbjLblybdYbjNbkMbjPbiybkNbiybgVbkPbjSbedbjTbjUbizbjWbjWbjWbjXbkVaJibkXbkabkbbkcbkdbkebbFbkfbkgbkhbkibkjbkYbklbkmbknbknbkobewbewbewbewbewbkpbkqbkrbewbksbktcsfbkvbewbkpbkwcLYbkybhFbewbewbkzbewbewbllbkBbewbkpbewbewbewbewbewbewbewbewbewbhqbewbewbhFbkCbkDbkEbkFbkGblmbkIbkJaafaaaaafaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaabhObhObhObhObhObhObhObhObhObhObhOaZSaZTbjmbjnbjobgrbjpbjpbjZbjpbjpbjpbjrbajbajbajbajbaibbZbdDbjsbjtbgybbZbkZbkZbkZaTSaTSaTSaTSbkkaTSbjxbdObdPbjybjzbgDbfgbkxbdPbkAbfmbkHbgGbgGbgGbjDaMbbjEaSzbctbkKbkLbgObhdbjIbjJbhfbjLblybdYbjNbkMbjPbiybkNbiybgVbkPbjSbedbjTbjUbizbjWbjWbjWbjXbkVaJibkXbkabkbbkcbkdbkebbFbkfbkgbkhbkibkjbkYbklbkmbknbknbkobewbewbewbewbewbkpbkqbkrbewbksbktcsfbkvbewbkpbkwcLYbkybhFbewbewbkzbewbewbllbkBbewbkpbewbewbewbewbewbewbewbewbewbhqbewbewbhFbkCbkDbkEbkFbkGblmbkIbkJaafaaaaafaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaabhObhObhObhObhObhObhObhObhObhObhObQDblrblEbQLbkObgrblTbkQbkRbkRbkSbkTbkUbmdbmlbmlbmAbmxbbZbbZbbZbeZbmBbbZbajbajbajbajblaaXeaXeblbblcbldbleblfblgblhblibljblkbdPbmEbfmbmFbgGblnbgGbloblpblqaSzbctbdYbmHblsbltblublvblwblxbdYbdYbebblzblAbmUbmNblDblAbiDbebbedbedblFblGblHblIbiCblJblKaJiblLblMblNaJiblOblOblOblOblOblOaZzaZzblPblQbZNcdMblQblPaZzaZzaZzaZzaZzaZzaZzaZzaZzaZzbmVaZzaZzaZzaZzaZzaZzbmXaZzbewbewblVblWbiFblOblOblOblOblOblXblYblYblZblYbewblYblZbmablYbmbblObmcbmcbmcbnbaRZbmeaRZaRZaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaabhObhObhObhObhObhObhObhObhObhObhObdubdvbjmbjnbmfbgrbmgbjpbmhbmibjpbjpbjpbnsbmjbmkbmkbnwbbZbdDbmmbeZbmnbbZbmobmpbmqbmrbmsbmtbmtbmubmtbmtbmvbdPbmwbnNbfgbmybmzblfbnRbnPbnSbgGbgGbjHbmDbnUblqaSzbnVbmGbmGbmGbmGbmGbmGbmGbnWbmGaafbebbmIbmJbmKbmLbmKbmMbjKbebaafbedbmObnXbmQbmRbiCbiGbmSaJibcKaRqaRpaJibmTbohboibmWbojbmYbmZbPMbolbjRbndbnebjRbopbmCbnhbnibnjbmPboKbnmbnnbPLbnpbnqbnrboWbntbntbnubYfaVJblOblObpmblObZMbZMblObnzbPKbnBblObZtbpobZtblOblXblYbmbblObZnbprbZnblObnGbPJbnIbnJbnKbnLbnMaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaabhObhObhObhObhObhObhObhObhObhOaaaaaabnObpwbeQbnQbgrbpLbpBbpMbnTbpPbpNbjpbpScfibnYbnZbnwbbZbbZbbZbbZbbZbbZboabobbocbodboebdPbdPbdPbdPbdPbdPbdPbWqbdPbdPbdPbogbdPbfmbqcbnSbgGbgGbgGbokblpblqaSzbqgbmGbombonbncbOIbvGbotbosbotaafbebboubovbowboxboybozbnfbebaafbedboBboCboDboEbiCbiGboFaJiboGboHaRpbXHboJbngboLboMbnkbPZboPboQboRboRboSboTboUboUboVbnlboXboYboZbpabpbbnnbPGbpdbpebpfbpgbphbpfbpibYfaVJbpjbpkbplbOJbpnbnybppbnCbnDbpqbqxbptboobqyblOaZzbqBbpxblObPeboqbPEbqGbpCbpDbnIbpEbpFbpGbnMaaaaaaaaaaacaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaabhObhObhObhObhObhObhObhObhObhObhObdubdvbjmbjnbmfbgrbmgbjpbmhbmibjpbjpbjpbnsbmjbmkbmkbnwbbZbdDbmmbeZbmnbbZbupbmpbmqbmrbmsbmtbmtbmubmtbmtbmvbdPbmwbnNbfgbmybmzblfbnRbnPbnSbgGbgGbjHbmDbnUblqaSzbnVbmGbmGbmGbmGbmGbmGbmGbnWbmGaafbebbmIbmJbmKbmLbmKbmMbjKbebaafbedbmObnXbmQbmRbiCbiGbmSaJibcKaRqaRpaJibmTbohboibCkbojbmYbmZbPMbolbjRbndbnebjRbopbmCbnhbnibnjbmPboKbnmbnnbPLbnpbnqbnrboWbntbntbnubYfaVJblOblObpmblObZMbZMblObnzbPKbnBblObZtbpobZtblOblXblYbmbblObZnbprbZnblObnGbPJbnIbnJbnKbnLbnMaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaabhObhObhObhObhObhObhObhObhObhOaaaaaabnObpwbeQbnQbgrbpLbpBbpMbnTbpPbpNbjpbpScfibnYbnZbnwbbZbbZbbZbbZbbZbbZboabobbocbodboebdPbdPbdPbdPbdPbdPbdPbWqbdPbdPbdPbogbdPbfmbqcbnSbgGbgGbgGbokblpblqaSzbqgbmGbombonbncbOIbvGbotbosbotaafbebboubovbowboxboybozbnfbebaafbedboBboCboDboEbiCbiGboFaJiboGboHaRpbXHboJbngboLboMbnkbPZboPboQboRboRboSboTboUboUboVbnlboXboYboZbpabpbbnnbPGbpdbpebpfbpgbphbpfbpibYfaVJbpjbpkbplbOJbpnbnybppbnCbnDbpqbqxbptboobqyblOaZzbqBbpxblObmWboqbPEbqGbpCbpDbnIbpEbpFbpGbnMaaaaaaaaaaacaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaaaaTDaTDaTDaTDaTDaaaaTDaTDaTDaTDaTDaaaaaaaaaaaaaaabgnbgobgpbgqbdvbpHbpHbpHbpIbpHbpJaZVbpKbqKbgrbqQbjpbrkbrcbpQbpRbrvbrubrwbrwbrwbrxbkWbpUbkWbkWbkWbkWbpVbpWbpWbpXbpYbdPcfycfocfzbrybqdbqebqfbrCbqhbqibqjbqkbqkbrDbrIbgGbgGbqmbfmaMbblqbqnbqoaJubqqbqrbqrbxqborbrPbxsbotaafbebbebbebbebbshbebbebbebbebaafbedbqzboCbqAbsjbqCbqDbqEaJibqFaRqaRpaJibskbqHbqIbqJaJDbqLboPbqNboUboUboUboUboUboUbqObqPbslboYbqRbqSboNbnnbqUbqVbqWbsnbpgbphbpfbqXbYfaVJbpjbqYbqZbqZbrabrbbsobrdbrdbrdbrebrdbrfboObrhbribrjbsqbnIbrlbpCbrmbrnbrobsrbnIbrqbpFbrrbnMaaaaaaaaaaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaaaaTDaTDaTDaTDaTDaaaaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaaaaaaaaaaaabrsbrtbsvbsBcaLbsHbsHbthbrzbrAbgrbtkbtlcaMbtmbjpbjpbjpbajbrEbrFbrGbrHbrGbrGbrGbrHbrGbajbajbdPbdPbdPbtBbdPbrJbrJbrJbrJbrJbrJbqfbrKbrLbrMbrNbrObtIbrQbrRbrSbrTbrUbrVbrWbrXbrYbrZaHBbsbbqvbsabYZcanbotbosbotaafbsibZibtKbtTbsmbtXbtKcaJbsiaafbedbspbuibspbedbedbedbujaJibssaRqaRpbXHboJbngbstbsubuobqLbswbqNcbQcdpcbdcbkceobsCbqObsDbnicevbsFcepcdGbnncdtbqVbpebpfbpgbphbpfbpibYfaVJbpjbsJbsKbsLbsMbplbsNceZbsPbsQbsRbsSbsTbsUbrhbsVbsWbsXbnIbsYbsZbtabtbbtccflbnIbrqbpFbtebnMaaaaaaaaaaaaaaaaaaaaaaaaaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaaaaacaaaaaaaaaaaaaaaaaaaaabrsbtfbtgbuYbtibtibtibtjbtibtibgrbvabuZboAbvjbjpaaaaaaaaaaafaafbtnbtnbtnbtnbtnbtnbtnaaaaaabtobtpbtqbtrbtsbrJbrJbrJbrJbrJbrJbttbtubvqbtwbtxbtybtzbtAbfmbfmbvCbfmbfmbtCbtDbtEbtFbmGbtHbmGbmGbmGbmGbmGbvEbmGaafbtJbvFbtLbtMbtNbtMbtLbvIbtPaafbspbtQbtRbtSbvObtUbspbtVaJlbtWbbmbvZaJibtYbohbtZbuabwcbucbudbuebufbwgbWIbXnbwnbukbulbumbnibnnbunbpubVVbnnbuqburbusbutbuubuubuvbuwbYfaXqbpjbwxbplbplbsMbuybuzbVzbpvbuCbuDbuEbuFbVybrhbuHbuIbuJbnIbuKbuLbuMbtbbpCbVebnIbpEbpFbUAbnMaaaaaaaaaaaacHOaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaaaaTDaTDaTDaTDaTDaaaaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaaaaaaaaaaaabrsbrtbsvbsBcaLbsHbsHbthbrzbrAbgrbtkbtlcaMbtmbjpbjpbjpbajbrEbrFbrGbrHbrGbrGbrGbrHbrGbajbajbdPbdPbdPbtBbdPbrJbrJbrJbrJbrJbrJbqfbrKbrLbrMbrNbrObtIbrQbrRbrSbrTbrUbrVbrWbrXbrYbrZaHBbsbbqvbsabYZcanbotbosbotaafbsibZibtKbtTbsmbtXbtKcaJbsiaafbedbspbuibspbedbedbedbujaJibssaRqaRpbXHboJbngbstbsubuobqLbswbqNcbQcdpcbdcbkceobsCbqObsDbnicevbsFcepcdGbnncdtbqVbpebpfbpgbphbpfbpibYfaVJbpjbsJbsKbsLbsMbplbsNbVzbsPbsQbsRbsSbsTbsUbrhbsVbsWbsXbnIbsYbsZbtabtbbtccflbnIbrqbpFbtebnMaaaaaaaaaaaaaaaaaaaaaaaaaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaaaaacaaaaaaaaaaaaaaaaaaaaabrsbtfbtgbuYbtibtibtibtjbtibtibgrbvabuZboAbvjbjpaaaaaaaaaaafaafbtnbtnbtnbtnbtnbtnbtnaaaaaabtobtpbtqbtrbtsbrJbrJbrJbrJbrJbrJbttbtubvqbtwbtxbtybtzbtAbfmbfmbvCbfmbfmbtCbtDbtEbtFbmGbtHbmGbmGbmGbmGbmGbvEbmGaafbtJbvFbtLbtMbtNbtMbtLbvIbtPaafbspbtQbtRbtSbvObtUbspbtVaJlbtWbbmbvZaJibtYbohbtZbuabwcbucbudbuebufbwgbWIbXnbwnbukbulbumbnibnnbunbpubVVbnnbuqburbusbutbuubuubuvbuwbYfaXqbpjbwxbplbplbsMbuybuzbPebpvbuCbuDbuEbuFbVybrhbuHbuIbuJbnIbuKbuLbuMbtbbpCbVebnIbpEbpFbUAbnMaaaaaaaaaaaacHOaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabeObSwbxmbuVbpHbuWbgnbgobuXbuWbgrbxpbjpbxvbvbbjpaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnaaaaaabvcbvdbrJbvebvfbvfbvfbvfbvfbvgbvhbvfbvibxzbvkbvlbvmbSlbSrbfmbvpbgGbxDbpzbvsbvtbvubvvbmGbmGbmGbRcbQMbvzbvAbvBbvwaafbpObRpbvHbvJbvKbvMbvNbRybpOaafbspbqMbvQbxnbedbvRbspbvSaJlbvTbcLbvUaJibvVbvWbvXbTTbxObucbyobxTbyKbwdbwebwebwfbyMcdWcdVbUqbwkbTWbwmbwkbwkbwkbwkbyQbwkbwkaXKaXKaXKaXKaVJbpjbsJbsKbsLbwobwpbwqbwrbwsbwsbwsbsSbwtbTsbwvbwwbyUbwybnIbwzbwAbwBbwCbpCbSEbnIbwEbwFbnMbnMaaaaaaaaaaaaaafbuPbuQbuRbuQbuRbuQbuSaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbwMbwNbwObwPbrJbwQbrJbwRbwRbwRbwSbwTbrKbrJbrJbrLbwUbwVbwWbwXbrpbzcbxabgGbgGbugbxcbvtbvubxdbxebxfbzrbzHbxibxjbxkbxlbvwaafbxrbzNbzJbzObyLbxobzPbzVbxraafbspbqwbAebuBbedbAibspbtVaJlbxwbcLaRpaJibDDbxybAobxAbxBbxCbAtbxEbxCbxFbxGbDIbxFbwkbAxbxJbwkbwkbxKbxLbxMbxNbAAbxPbxQbxRbxSaXKbaybvraXKaVJbpjbxXbqZbqZbxYbxZbppbDQbwsbwsbwsbsSbwtbEFbwwbvDbUabTQbwwbESbFbbEZbyibpCbFybnIbrqbykbnMaaaaaaaaaaaaaaaaafbwGbwHbrgcLebwJbFUbwGaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbAFbypbAFbyqbyrbwQbrJbrJbrJbysbrJbwTbrKbytbdPbdPbyubgGbrNbwXbyvbywbyxbyybyybyzbyAbyBbyCbyDbvsbyEbvPbyGbxkbyHbyIbyJbvwaafbxrbxrbxrbxrbALbxrbxrbxrbxraafbyNbyNbyNbyNbyNbyNbyNbAVaJibyPblMblNaJibCnbyRbyRbySbyTbxCbAXbyVbyWbCobyYbyZbzabwmbzbbBqbzdbzebzfbzgbzgbzhbzibzgbzjbzkbckbaAbwubclbBsbcnbCQbzsbztbzubzvbzwbppbCXbpqbpqbDBbsSbwtbCLbzAbzBbzCbzDbzAbzEbzFbzGbBwbzIbwwbwwbBxbnMbnMbzKbzLbzLbzLbzMbCJbylbymbrgbwJbrgbynbuRaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaacaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbBAbzQbBAbzRbrJbwQbrJbzSbzSbzSbzSbwTbrKbzTbzUbdPbCkbgGbrNbBJbzWbzXbzYbgGblnbgGbzZbAabAbbAcbAdbyEbwIbAfbxkbxkbxkbAgbvwbAhbAhbBKbAhbBRbBQbBSbAjbBUbAjbAjbyNbCcbCdbAmbAnbBXbApbAqaJibAraRqaRpaJibAlbAsbAubAvbAwbBtbAybAzbBabABbACbADbAEbBEbAGbAHbAIbAJbAKbAIbxtbAMbANbAObnvblUbsdbBGbsgbsfbaAbPObpjbxubxUbAYbAZbAZbppbAkbBbbBcbppbBdbBebBfbBgbBhbBibBjbBkbBlbBlbBmbBnbBobTHbCrbBrbCwbCAbTIbBvbCEbCIbCHbCKbwGbwJbrgbwJbwJbBNbwGaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaacaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbBAbzQbBAbzRbrJbwQbrJbzSbzSbzSbzSbwTbrKbzTbzUbdPbmobgGbrNbBJbzWbzXbzYbgGblnbgGbzZbAabAbbAcbAdbyEbwIbAfbxkbxkbxkbAgbvwbAhbAhbBKbAhbBRbBQbBSbAjbBUbAjbAjbyNbCcbCdbAmbAnbBXbApbAqaJibAraRqaRpaJibAlbAsbAubAvbAwbBtbAybAzbBabABbACbADbAEbBEbAGbAHbAIbAJbAKbAIbxtbAMbANbAObnvblUbsdbBGbsgbsfbaAbPObpjbxubxUbAYbAZbAZbppbAkbBbbBcbppbBdbBebBfbBgbBhbBibBjbBkbBlbBlbBmbBnbBobTHbCrbBrbCwbCAbTIbBvbCEbCIbCHbCKbwGbwJbrgbwJbwJbBNbwGaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbBCbwNbBDbCYbrJbwQbrJbrJbrJbrJbrJbwTbrKbzTbBFbdPbzzbgGbBHbBIbgGbCZbgFbgGbgGbyjbvsbvtbAbbAcbAdbyEbvwbBLbBMbzybBMbBObvwbDbbDabDdbDcbDfbDebDhbDgbDjbDibBVbyNbBWbzmbBYbBZbCabCabCbbDwbAraRqaRpaJibzxbCebCebySbCfbxCbCgbChbxCbCibCjbCjbyObwkbClbCmbwkbwkbwkbwkbwkbwkbyXbwkbwkbwmbDKaXKaXKaXKaXKbDYbpjbwwbzAbzAbzAbzAbzAbzAbzAbzAbzAbzIbEibCsbCtbBhbCubCvbEjbCxbCxbCxbCybCzbEkbCBbCCbCDbEpbTGbCGbErbCGbEsbEubBzbuQbuRbEwbuRbuQbBBaafaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbBAbzQbBAbCMbCNbCObrJbrJbrJbCNbrJbwTbrKbzTbCPbdPbNzbgGbrNbwXbgGbqlbCRbgGbgGbECbxcbvtbAbbCTbxcbCUbvwbCVbEKbOxbAWbxlbvwbEMbELbERbAhbEUbEUbEUbAjbEWbEVbEXbyNbDkbDlbDlbDmbDnbDobDpaJibDqbDrbDsaJibDtbEYbDvbMpbDxbDybDzbDAbyWbLWbFabCjbMybwmbDEbDFbwmbDGbDHbNsbDJbFobDLbDMbCpbDNbDObBTbNtbDRbCpbVLbVMbDUbVAbDWbDXbDXbFrbDZbEabEbbEcbEdbEebEfbEabEgbEhbCvbFVbFFbGfbwwbwwbwwbwwbwwbGhbGgbEnbzKbzMbCJbEobGibCJbzKbzLbzMbGjbCJbGkaafcHOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbGubExbGubEybEzbEAbEAbEAbEAbEAbEBbGAbEDbzTbEEbdPbKobEGbEHbEIbEJbGDbGCbGWbGEbGvbtCbENbAbbEObEPbyEbvwbEQbHabLHbBMbETbvwbBPbHibHjbAhaaaaaaaaabAjbHmbHlbFcbyNbFdbFebFfbFgbDnbDobFhaJibxwaRqaRpbHMbFjbFkbFlbFmbFnbHNbFpbFqbxCbxFbxFbIZbxFbwkbFsbFtbFubFvbFwbFxbDJbIYbDLbFzbFAbFBbDObFCbFDbFEbHPbVlbDXbHQbVAbFJbDXbDXbFKbFLbFMbFLbFLbFNbFObFPbFQbFRbFSbCvbHRbJrbJabFWbFXbFYbFZbGabGbbGcbGdaafaafbCJbGebHUbHUbHVbIfbHZbIobEvaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -7525,7 +7523,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnaaaaaaaaaaaaaaaaaabMZaaaaaaaaaaaaaaaaaaaaaaaaaaabGtbuObEmbIVbIWbNdbuNbuGbuAbNfbtCbvtbJcbJdbJebJebJfbJgbJhbJibJjbJgbJfbJebJebNkbJkbJlbNqbJnbJobNBbJebJebJpbJgbJhbJibJjbJsbJtbJubJtbJvbJwbvUaJlbEtbEqbFHbGFbNLbGHbDzbHAbFibDVbxFbNQbCFbDSbDEbJGbwkbJHbJIbJJbDJbJKbJLbJMbJNbJObFDbJPbItbJObCpbJQbJRbIxbJSbJTbJUbNZbJWbObbJYbIFbJZbKabKbbKbbzAbKcbKdbKebOcbKgbKhbKibKjbKjbKkbGabGbbKlbEnbKmbOdbKnbEnaafaafaafaafaafaafaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbKpbKqbKqbKrbKsbKsbKtbKtbKtbKtbKuaafaafaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnaaaaaaaaaaaaaaaaaaaaaaaabKvbKwbKxbKwbKyaaaaaaaaabGtbGtbOfbKAbIVbKAbOibKCbOnbKDbKEbtCbKFbvtbKGbKHbAabKIbAabzZbHHbKJbAabKKbKLbKMbKNbKObAcbAabKPbKQbHLbKRbHLbHLbKSbKTbODbOtbKWbKXbcLbKYaRpaRpaRpaJlbOEbFlbFnbOFbJmbOGbJybJxbFIbLgbLhbLibLjbHgbDEbIkbIabIzbHhbDJbDJbLobLobLobCpbMMbLqbLrbLsbLtbCpbLubLvbIxbLwbFGbLybOHbLAbLBbLCbIFbJCbLEbKbbKbbzAbRsbLFbCvbwwbLGbuTbuUbLJbLKbLLbGabLMbLNbLObLObLObLPbGdaaaaaaaaaaaaaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafbLQbLRbLSbLRbKsbKtbKtbLTbLUbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabLVbsObLXbtdbLVbLZbMabMbbGtbMcbMdbMebMfbMgbOLbOKbMjbMjbMkbtCbtCbtCbOMbtCbtCbtCbtCbtCbtCbtCbtCbtCbtCbtCbtCbtCbMmbMnbMobtCbtCbtCbtCbtCbONbtCbtCbtCaJlaJlbOQaJlaKSaMpbMraJlbKZbJXbORbGFbLdbxCbDzbLDbxCbtvbMzbMAbMBbwkbOTbMDbMEbOUbMGbPubMIbMJbMKbMLbItbJObFDbFDbLpbJObCpbMNbMObMObMObMObMObMObMObMObMObMObPvbMQbMRbMRbzAbPAbMTbMUbwwbMVbMVbMVbMWbMXbMYbMVbMVbMVbMVbMVbMVbNabNbaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymbPCbLRbLRbNebKtbKtbLTbLTbPDbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabKxbNgbMsbNgbKxbNibNjbPFbNlbNmbNnbKAbNobNpbGvbPHbNrbubbtObGvbNubNvbNwbNxaaaaaaaaaaaabNybuhbNAbPSbNDbNCbNEbNFbNGbNHbNIbNFbNJbNKbPXbNMbNNbNObNPbqsbNRbNSbNTbNUbNUbNUbNUbDtbDtbDtbDtbMtbMtbxCbQabOabQbbMzbMvbMubOebQcbOgbOhbQdbOjbMxbMwbOmbNhbMKbOobFDbFDbNVbJObJObOobCpbMNbMObOqbOrbOsbQebOubOvbOwbupbMObOybOzbOAbOAbzAbOBbOCbCvbzIbQgbQpbQjbQBbQubRdbQXbRvbRebRxbVFbMVbuxbEnbOObOObOObOObOOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabOPbKtbPCbKtbKtbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabKxbNgbMsbNgbKxbNibNjbPFbNlbNmbNnbKAbNobNpbGvbPHbNrbubbtObGvbNubNvbNwbNxaaaaaaaaaaaabNybuhbNAbPSbNDbNCbNEbNFbNGbNHbNIbNFbNJbNKbPXbNMbNNbNObNPbqsbNRbNSbNTbNUbNUbNUbNUbDtbDtbDtbDtbMtbMtbxCbQabOabQbbMzbMvbMubOebQcbOgbOhbQdbOjbMxbMwbOmbNhbMKbOobFDbFDbNVbJObJObOobCpbMNbMObOqbOrbOsbQebOubOvbOwbjAbMObOybOzbOAbOAbzAbOBbOCbCvbzIbQgbQpbQjbQBbQubRdbQXbRvbRebRxbVFbMVbuxbEnbOObOObOObOObOOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabOPbKtbPCbKtbKtbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabLVbNgbNgbNgbRAbRzbKAbOSbRDbRBbKAbRFbOVbOWbGvbGvbGvbGvbGvbGvbOXbOYbOZbPaaaabPbbPcbPcbPdbvYbPfbPgbPhbPfbPibNFbPjbPkbPlbNFbPmbNXbPobPpbPqbPrbPsbPtbPtbNSbRWbRJbPwbPxbPybDtbNYbLbbScbGFbGFbSgbDzbSibxCbSnbwZbwYbwlbwkbSubPIbwkbOkbwDbwKbOlbPNbMKbCpbCpbCpbCpbCpbCpbCpbCpbPObMObPPbQYbPRbOsbOsbOsbOsbwjbMObPTbLEbPUbPUbzAbBhbPVbPWbwbbPYbPYbSMbSObSNbSQbSPbSSbSRbSSbSVbMVbQfbSWbOObQhbTgbOpbQkaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbKsbKtbQlbQmbQmbLTbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabKxbMsbMsbMsbKxbQnbQobTAbQqbQrbKAbKAbQsbQtbTObQvbQvbQvbQvbQvbQvbQwbQxbQyaaabQzbQAbUbbQCbxbbPfbQEbQGbQFbPfbNFbQIbQJbQKbNFbxxbxhbQNbQObQPbQQbQRbPtbQSbPxbQTbNUbPxbPxbQUbDtbPnbGFbQVbUkbGFbPzbDzbLebRCbQZbPBbUobyhbRGbDEbIkbSpbOkbwKbwKbOlbRfbMKbRgbRhbygbRjbRkbRlbybbRnbPObMObOsbOsbRobOsbOsbOsbOsbyabMObRqbLEbRrbRrbzAbRsbRtbRubyfbRwbUGbUwbUPbUObUWbURbVkbVjbVvbVmbxIbREbVGbxHbRHbRIbQibRKaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabKtbKtbRLbLTbLTbLTbLTbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaabLVbRMbRNbRObLVbRPbMabMbbGtbGtbRQbRQbRQbGtbGtbNxbRRbRRbRSbRSbRSbRSbNwbQyaaabRTbRUbRVbVObRXbRYbRZbSabSbbSbbWgbSdbSebWibNFbPtbPtbPtbPtbPtbWkbPtbPtbShbWobSjbNUbPxbSkbvnbDtbQHbLbbQVbSmbWMbPzbSobJAbJBbSqbRabSsbStbJzbFsbSvbIEbSxbRibRbbSAbSBbMKbRmbSDbWVbRjbSfbSGbXabRnbPObMObMObMObRobOsbOsbOsbMObMObMObSIbSJbRrbRrbzAbSKbSLbCvbzIbXcbXfbXebSQbXibXqbXpbXvbXubYabXxbMVbQfbYobOObSXbSYbSybTaaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbKtbLTbLTbLTbLTbLTbLTbTbbLTbTcbLTbLTbLTbLTbLTbKtbKtaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -7546,12 +7544,12 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaafaafcgEclXcmmcmjcgEcmtcmmcEgcgEcmtcmmcEgcgEaaaaafcmzcgTcgTcgUcgUcmAcejcmvcmucmxcpocprcmycmCcmCcmEcmDcmCcmFcyXcbqcmIcmHcmKcmJcimcmLcmLcmMcljcmNczJczeczeciAcibceVcCgcqgciGcClciIcnccndcpCciGcmSciNcmWcfYcpGcnicnjciScCOciUclLclMclNcnlcpHcnlclNaaaaaaaaabYfbYfbYfcnnclSclSclTbYfbYfaaaaaaaaaaaacdOcdOcdOcdOcdOcdOcdOcdOcdOcnocnpcnqcdScdScnrcnscntcdScdScdScdScpIcnscntcdScdScnvcpNcnvaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaccMaafaafaafaaaaafcnxaafcnxaafcKAaafcpOaafcKAaafcpOaafaafaaacejcnAcnBcgUcgUcnCcnDcpRcpPcnycnmcpUcnzcnzcqecnzcnGcqrcnHcnGcnJcjscDXcEjcnMcnOcnOcnOcnOcqIcqDcnRcnRcnRcgscgscgscgscnSciGcKCcJpcnccEZcnWciGcmSciNcEXciUcnYcEJcnjcEBcEqciUclLclMclNcoccodcoeclNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaacdOcofcogcohcwlcojcokcqLcomcqNcopcoocdOaaLaafaafaafaafaaaaaaaaacqOaaaaaaaaaaafcoscKGcosaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaafcoucrvcracoxcovcowcrzcoxcrQcrUcrzcoDcrVcrXcoEcnycnycnycnycnycnycnycnycoHcoGcrZcoIcsacoKcoNcoMcoOcnGcoQcoPcoRcnGcoTcoScoUcnOcoWcoVcoYcoXcpacoZcpjcpbcpbcpkcpncpncpjcsbciGciGcpccscciGciGciGcpeciNcDIciUciUciUcsecphciUciUclLcpiclNcvmcpscvmclNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaafaafcdOcplcpmcplcsgcLZcppcpqcomcomcsicomcdOcdOaaaaaaaaaaafaafaaaaacaaaaaaaaaaaaaafaaacDLaaaaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaaaaaaaaaaafcptcsDcpucpxcpwcpFcsLcsMcpzcsWcsQcpEcpDcsXcpFcpLcpJcsYcnTcnbcnkcnUcpTcpWcpVcpYcpXcqacpZcqccqbctccqdcticqfctkcqzcoTcqJcqKcnOcpacpacpacpacpacqMcpjcqPcqPcqPcpncpncpjbTFcrYciGcqhcqicqjcqkciGcqlciNcmOciUcqncqocqpcqqciUctmclLcpiclNctxcqQcquclNaaaaaaaaaaaaaaaaaacqvcqwcqxcqycqvaafaaaaaaaaaaaacdOcplcplcplcoictBcqBcqCctIcqEcqFcqGcqHcdOaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaafaaacmZaaaaafaafaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaaaaaaaaaaafcptcsDcpucpxcpwcpFcsLcsMcpzcsWcsQcpEcpDcsXcpFcpLcpJcsYcnTceZcnkcnbcpTcpWcpVcpYcpXcqacpZcqccqbctccqdcticqfctkcqzcoTcqJcqKcnOcpacpacpacpacpacqMcpjcqPcqPcqPcpncpncpjbTFcrYciGcqhcqicqjcqkciGcqlciNcmOciUcqncqocqpcqqciUctmclLcpiclNctxcqQcquclNaaaaaaaaaaaaaaaaaacqvcqwcqxcqycqvaafaaaaaaaaaaaacdOcplcplcplcoictBcqBcqCctIcqEcqFcqGcqHcdOaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaafaaacmZaaaaafaafaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaafcqRcqYcqScqVcqUcpFcqXcpFcvWcqYcqXcpFcvWcqYcpFcpFcpFcpFcpFcqZcpFcpFcpFcrbctOcrdcrcctScpZcrfcrecrhcrgcrjcricrlcrkcoTcqJcrmcnOcrncpacpacrocpacrpcpjcrIcrKcrJcrKcrLcpjbTFcrqciGcrrcrscrtcructTcrwcrxcryctVcrAcrBcrCcrDciUcrEcrFcrGcrHcqvcuacqvcrHaaaaaaaafaaaaaaaaacqvcrRcrTcrScqvaafaafaaaaaaaaacdOcomcomcomcomcrMcppcrNcrNcrNcnpcrNcrOcdOaaaaaaaaaaaaaaacrPcrPcrPccMaafaafaafaafcnaaafaafaafaafaafaaqcrPcrPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaafaafaafcptcpFcrccpFcrccpFcqXcpFcuecxacufcxaculcxacxacuycurcpFcpFcuLcuEcuEcuEcuYcuUcvkcvkcvlcpZcvncshcsjcnGcsmcskcvscnGcspcsocsrcsqcstcsscsvcsucpacswcpjcsxcrKcsycrKcsKcpjbTFcizciGcszcsAcsBcsCciGcfYcoacfYciUcsEcsFcsGcsHciUcsIcrGcrGcqvcsJcsNcvvcqvcqvcqvcqvcqvcqvcqvcqvctMctDctNcqvcqvcqvcrHaaaaaacdOcofcogcohcslcsRcqBcrNcrNcrNcnpcrNcsScdOaaaaaaaaaaaaaaacrPaaaaafaaaaafaaaaaaaaackxaaaaafaafaaaaaaaaaaaacrPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafaafaaaaaacptcpFcrccpFcsOcsTcvEcsVcsUcvGcufcxacvOcxacxacvXcvRcwmcwacwzctacwUcwHcwHcwWcrccrccthctgctjcwXcnzcnGcwYcnGcnGcnGcwZctlcsrctncttctoctyctucpacxdcpjcxocrKcsycrKcxpcpjctvctwciGciGcxqciGciGciGciBctzctAciUciUciUcxrciUciUcsIcrGaaacqvctCctZctEctFcnZctHcxsctJctKctLcqvcuVcxtcuVcqvcxFctPcqvaafaafcdOcplcplcplcxHcLZctRcuccnXcnVcudcrNctWcdOcdOcdOcdOaaaaaacrPaaactXctXctXctXctXaafckxaafctXctXctXctXctXaaacrPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafaafaaaaaacptcpFcrccpFcsOcsTcvEcsVcsUcvGcufcxacvOcxacxacvXcvRcwmcwacwzctacwUcwHcwHcwWcrccrccthctgctjcwXcnzcnGcwYcnGcnGcnGcwZctlcsrctncttcnUcnUcoycpacxdcpjcxocrKcsycrKcxpcpjctvctwciGciGcxqciGciGciGciBctzctAciUciUciUcxrciUciUcsIcrGaaacqvctCctZctEctFcnZctHcxsctJctKctLcqvcuVcxtcuVcqvcxFctPcqvaafaafcdOcplcplcplcxHcLZctRcuccnXcnVcudcrNctWcdOcdOcdOcdOaaaaaacrPaaactXctXctXctXctXaafckxaafctXctXctXctXctXaaacrPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaacptcpFcsOcsTcsTcsTcvEcsTcsTcsTcvEcsTcsTcsTcsTcsTcxVcyacsTcybcsTcyccsTcsTcsTcuhcugcuicpvcpFcujcygcukcuncumcupcuocumcuqcuscyhcuucutcutcuvcutcuwcyicuxcuAcuzcuBcuBcpjcuCcuDcymcuFcuFcuGcuHcuIcuJcuJcuJcuJcuJcuJcuJcuJcuKcrFcrGaaactFcypcuPcuNctFcpycuRcuQcuQcvdcvacuQcuQcvhcuQcuVcuXcuQcqvaaaaaacdOcplcplcplcslcyrcuZcvicpBcpAcvjcrNcrNcvecvfcvgcdOaafaafcrPaafckVckSckSckSckSckyckxckwckvckvckvckvckUaafcrPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaacptcpFcpFcpFcpFcpFcqXcpFcpFcpFcqXcpFcpFcpFcpFcpFcvWcpFcpFctScpFcyucpFcyEcyzcvpcvocvrcvqcyFcvqcyHcvucvxcvwcvycvucvucvzcvAcqIcvBcpacvDcvCcpacpacyJcrKcrKcvFcuBcuBcpjbPxcAscvNcvNcvNcvNcyKcvNcvNcvNcvNclMcvPcrGcrGcrGcrGcrGcrGaaactFctFcyRctFctFcobcvScvTcvUcvVcvHcvJcvIcvLcvKcyZcwbcwccqvaaaaaacdOcomcomcomcomcwdcppcvicpgcoycvQcrNcrNcwhcrNcwicdOaaaaaacrPaafcwjcwjcwjcwjcwjaaackxaaacwjcwjcwjcwjcwjaafcrPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaacptcpFcpFcpFcpFcpFcqXcpFcpFcpFcqXcpFcpFcpFcpFcpFcvWcpFcpFctScpFcyucpFcyEcyzcvpcvocvrcvqcyFcvqcyHcvucvxcvwcvycvucvucvzcvAcqIcvBcpacvDcvCcpacpacyJcrKcrKcvFcuBcuBcpjbPxcAscvNcvNcvNcvNcyKcvNcvNcvNcvNclMcvPcrGcrGcrGcrGcrGcrGaaactFctFcyRctFctFcobcvScvTcvUcvVcvHcvJcvIcvLcvKcyZcwbcwccqvaaaaaacdOcomcomcomcomcwdcppcvicpgctocvQcrNcrNcwhcrNcwicdOaaaaaacrPaafcwjcwjcwjcwjcwjaaackxaaacwjcwjcwjcwjcwjaafcrPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaccMaaaaaaaaaaaacptcpFcpFcpFcpFcpFcqXcpFcpFcpFcqXcpFcpFcpFcpFcpFcvWcpFcpFctScpFczncpFcpFczncznczocpFcpFcvZcvYcwgcwgcwgcwgczqcwkcoTcwocwpcsqcwqcpacwscvCcpacwtcpjcwucrKcwvcwxcwwcpjczrcvMcvNcwIcwJcwKcwLcwMcwNcwOcvNcwPcwQcrGaaaaaaaaaaaaaaaaaacqvcwRcwycwAczBcwCcwBcqWcqAcqtcwFcwTcwScwVczFcuWcuQcqmcqvaaaaaacdOcofcogcohckXcsRcuZcxgcxhcxhcxicxjcxkczLcxmcqscdOaaaaaacrPaaaaafaaaaafaafaafaaackxaaaaafaaaaafaaaaafaaacrPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaacptcpFcpFcpFcpFcpFczMcpFcpFcpFczMcpFcpFcpFcpFcpFcvWcpFcpFczXczVcAhctdctdcAhcAtcAhcxlcAvcAwctdcAAcAxcAHcADcAJcwkcoTcxucoTcxvcpQcpacpacxAcpacxBcpjcxCcxCcxDcwxcwwcpjbPxcvMcvNcxKcxLcxMcxNcxOcxNcxPcvNcxQcxRcrGaaaaaaaaaaaaaaaaaacqvcxScxTcxUcAUcxWcxXcpMcxZcuTcBkcuScxEcuTcBmcqvcqvcqvcqvaaaaaacdOcplcpmcplcBncLZcppcrNcrNcyecyfcrNcBqcomcomcomcdOaaaaaacrPaaactXctXctXctXctXaafckxaafctXctXctXctXctXaafcrPaaacBsaaaaaacBsaaaaaaaaacBsaaaaaaaaaaaaaaacBsaaaaaaaaacBsaaaaaacBsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafaaaaaaaaacptcpFczmcrWcrWczpcxGcrWczpcrWcxIcBucuEcuEcBzcuEcBAcuEcuEcuYcBDczncpFcpFcyjcylcykcyncBEcyocpFcBHcyqcyscyscBIcytcoTcxucyvcnOchbcpacyxcpacBKcyycpjcpjcpjcpjcpjcpjcpjbPxcvMcvNcyMcyNcxLcyOcxLcxNcyPcvNcyQcBLcrGaaaaaaaaaaaaaaaaaacqvcuVcBOctFctFchdcyAchmcyWctMctDctNcyBctMcvhcyYcqvaaaaaaaaaaaacdOcplcplcplckXcBRczacrNcrNcrNcyfcrNczbcrNczccrNczdaafaafcrPaafckVckSckSckSckSckyckxckwckvckvckvckvckUaafcrPaaacBscBscBscBsaaaaaaaaacBscBscBscBscBscBscBsaaaaaaaaacBscBscBscBsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa diff --git a/maps/exodus-2.dmm b/maps/exodus-2.dmm index efa20f88d2..8154a2b9a2 100644 --- a/maps/exodus-2.dmm +++ b/maps/exodus-2.dmm @@ -517,7 +517,7 @@ "jW" = (/obj/structure/table/reinforced,/obj/item/weapon/paper_bin,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor4"},/area/centcom/evac) "jX" = (/obj/structure/table/reinforced,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor4"},/area/centcom/evac) "jY" = (/obj/structure/table/reinforced,/obj/item/weapon/pen,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor4"},/area/centcom/evac) -"jZ" = (/obj/structure/table/standard,/obj/item/stack/sheet/glass{amount = 15},/obj/item/weapon/cell{charge = 100; maxcharge = 15000},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) +"jZ" = (/obj/structure/table/standard,/obj/item/stack/material/glass{amount = 15},/obj/item/weapon/cell{charge = 100; maxcharge = 15000},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) "ka" = (/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; freerange = 1; frequency = 1213; name = "Syndicate Intercom"; pixel_y = -32; subspace_transmission = 1; syndie = 1},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) "kb" = (/obj/structure/closet/syndicate/personal,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) "kc" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows2"; dir = 1},/area/syndicate_mothership) @@ -731,7 +731,7 @@ "oc" = (/obj/machinery/door/airlock/centcom{name = "Bathroom"; opacity = 1},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership) "od" = (/obj/machinery/shower{dir = 1},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership) "oe" = (/obj/structure/table/rack,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/tank/emergency_oxygen/double,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) -"of" = (/obj/structure/table/standard,/obj/item/stack/sheet/glass{amount = 15},/obj/item/weapon/cell{charge = 100; maxcharge = 15000},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"of" = (/obj/item/stack/material/steel{amount = 50},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) "og" = (/obj/machinery/light{dir = 4},/turf/simulated/shuttle/floor,/area/supply/dock) "oh" = (/obj/structure/table/standard,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 8},/obj/item/weapon/pen{pixel_y = 4},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) "oi" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/structure/window/reinforced,/turf/unsimulated/floor{icon_state = "floor5"},/area/syndicate_mothership) @@ -821,8 +821,8 @@ "pO" = (/obj/item/weapon/flame/lighter/zippo,/obj/structure/table/reinforced{icon_state = "table"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) "pP" = (/obj/item/weapon/storage/fancy/cigarettes,/obj/structure/table/reinforced{icon_state = "table"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) "pQ" = (/obj/machinery/door/airlock/glass,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) -"pR" = (/obj/item/stack/sheet/glass{amount = 50},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) -"pS" = (/obj/item/stack/sheet/metal{amount = 50},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) +"pR" = (/obj/item/stack/material/glass{amount = 50},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) +"pS" = (/obj/structure/table/standard,/obj/item/stack/material/glass{amount = 15},/obj/item/weapon/cell{charge = 100; maxcharge = 15000},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) "pT" = (/obj/structure/table/standard,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/living) "pU" = (/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/living) "pV" = (/obj/structure/closet/secure_closet/personal,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/living) @@ -1135,7 +1135,7 @@ "vQ" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/handcuffs,/obj/item/clothing/glasses/night{pixel_x = -1; pixel_y = -3},/obj/item/clothing/glasses/night{pixel_x = -1; pixel_y = -3},/obj/item/clothing/glasses/night{pixel_x = -1; pixel_y = -3},/obj/item/clothing/glasses/night,/obj/item/weapon/storage/box/handcuffs,/obj/item/clothing/glasses/sunglasses/sechud/tactical,/obj/item/clothing/glasses/sunglasses/sechud/tactical,/obj/item/clothing/glasses/sunglasses/sechud/tactical,/obj/item/clothing/glasses/sunglasses/sechud/tactical,/obj/item/clothing/glasses/sunglasses/sechud/tactical,/obj/item/clothing/glasses/sunglasses/sechud/tactical,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) "vR" = (/obj/structure/table/rack,/obj/item/weapon/rig/ert/security,/obj/item/clothing/accessory/storage/black_vest,/obj/item/weapon/rig/ert/security,/obj/item/clothing/accessory/storage/black_vest,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) "vS" = (/obj/structure/table/rack,/obj/item/rig_module/mounted,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) -"vT" = (/obj/structure/table/reinforced,/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/metal{amount = 50; pixel_x = 2; pixel_y = 2},/obj/item/stack/sheet/metal{amount = 50; pixel_x = 2; pixel_y = 2},/obj/item/stack/sheet/metal{amount = 50; pixel_x = 2; pixel_y = 2},/obj/item/stack/sheet/metal{amount = 50; pixel_x = 2; pixel_y = 2},/obj/item/stack/sheet/plasteel{amount = 50},/obj/item/stack/sheet/plasteel{amount = 50},/obj/item/stack/sheet/plasteel{amount = 50},/obj/item/stack/sheet/plasteel{amount = 50},/obj/item/stack/sheet/glass/reinforced{amount = 50},/obj/item/stack/sheet/glass/reinforced{amount = 50},/obj/item/stack/sheet/glass/reinforced{amount = 50},/obj/item/weapon/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 3},/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) +"vT" = (/obj/structure/table/reinforced,/obj/item/stack/material/glass{amount = 50},/obj/item/stack/material/glass{amount = 50},/obj/item/stack/material/glass{amount = 50},/obj/item/stack/material/glass{amount = 50},/obj/item/stack/material/steel{amount = 50; pixel_x = 2; pixel_y = 2},/obj/item/stack/material/steel{amount = 50; pixel_x = 2; pixel_y = 2},/obj/item/stack/material/steel{amount = 50; pixel_x = 2; pixel_y = 2},/obj/item/stack/material/steel{amount = 50; pixel_x = 2; pixel_y = 2},/obj/item/stack/material/plasteel{amount = 50},/obj/item/stack/material/plasteel{amount = 50},/obj/item/stack/material/plasteel{amount = 50},/obj/item/stack/material/plasteel{amount = 50},/obj/item/stack/material/glass/reinforced{amount = 50},/obj/item/stack/material/glass/reinforced{amount = 50},/obj/item/stack/material/glass/reinforced{amount = 50},/obj/item/weapon/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 3},/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) "vU" = (/obj/structure/table/standard,/obj/item/weapon/scalpel,/obj/item/weapon/circular_saw{pixel_y = 8},/obj/machinery/light/small{dir = 8},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) "vV" = (/turf/unsimulated/floor{icon_state = "green"; dir = 4},/area/centcom/control) "vW" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/control) @@ -2001,7 +2001,7 @@ "My" = (/obj/structure/table/rack,/obj/item/weapon/storage/belt/utility/full,/obj/item/weapon/storage/belt/utility/full,/obj/item/device/multitool,/obj/item/device/multitool,/obj/item/clothing/shoes/magboots,/turf/simulated/shuttle/plating,/area/shuttle/skipjack/station) "Mz" = (/obj/structure/table/rack,/obj/item/weapon/gun/energy/sniperrifle,/obj/item/clothing/suit/space/void/mining,/obj/item/clothing/head/helmet/space/void/mining,/obj/item/clothing/head/helmet/space/void/atmos,/obj/item/clothing/suit/space/void/atmos,/obj/item/weapon/tank/oxygen,/obj/item/weapon/tank/oxygen,/turf/simulated/shuttle/plating,/area/shuttle/skipjack/station) "MA" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/north/shuttlespace_ns12,/area/space) -"MB" = (/obj/structure/table/standard,/obj/item/weapon/storage/fancy/cigarettes,/obj/structure/table/reinforced{icon_state = "table"},/obj/item/weapon/flame/lighter/zippo,/obj/item/clothing/gloves/yellow,/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/weapon/card/emag,/turf/simulated/shuttle/plating,/area/shuttle/skipjack/station) +"MB" = (/obj/structure/table/standard,/obj/item/weapon/storage/fancy/cigarettes,/obj/structure/table/reinforced{icon_state = "table"},/obj/item/weapon/flame/lighter/zippo,/obj/item/clothing/gloves/yellow,/obj/item/stack/material/steel{amount = 50},/obj/item/stack/material/glass{amount = 50},/obj/item/weapon/card/emag,/turf/simulated/shuttle/plating,/area/shuttle/skipjack/station) "MC" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/machinery/vending/wallmed1{name = "Emergency NanoMed"; pixel_x = 28},/turf/unsimulated/floor{tag = "icon-whitecorner (NORTH)"; icon_state = "whitecorner"; dir = 1},/area/centcom/holding) "MD" = (/turf/simulated/shuttle/plating,/area/shuttle/skipjack/station) "ME" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 1},/obj/machinery/airlock_sensor{frequency = 1331; id_tag = "merc_shuttle_sensor"; pixel_x = 8; pixel_y = 25},/obj/machinery/light/small{dir = 1},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) @@ -2261,7 +2261,7 @@ aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMmumumumumuaMaMaMaMaMaMaMaMaMnvnHnInJninLnnnHnzaMndnenmnmnenenenenCnonononpihihihihihmumumumumumumumumumu aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMmumumumuaMaMaMaMaMaMaMaMaMnHnQnRnRnSnRnRnLnHaMndnqnrnsntneneneihnonononuihbOkQbTihmumumumumumumumumumu aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMmumuaMaMaMaMaMaMaMaMaMaMnHDgnRnRnRnRoaDqnHaMndnenAnAnenenepaihnKnonDnEihbLkQmkihmumumumumumumumumumu -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMnHofnRnRLqnRnRohnHaMndnenenenenenenMihihihihihihbPkQnGihmumumumumumumumumumu +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMnHpSnRnRLqnRnRohnHaMndnenenenenenenMihihihihihihbPkQnGihmumumumumumumumumumu aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMomnHonnHnHnHnHnHooaMnTnananUihkdkdkdihkTkTnVnWihcikQrcihmumumumumumumumumumu aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMnHoCoyNpounFnHaMaMaMaMaMaMobkdkdkdoclalaododihcikQrcihmumumumumumumumumumu aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMnHoBoAoanRornHaMaMaMaMaMaMoikdkdkdihojlaihihihokolokihihihihmumumumumumumu @@ -2274,7 +2274,7 @@ aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoToUoVoVoVpdpepepepepApApepepepepgoVoVoVoVoNaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMmumumumuaMaMaMaMnHpynRnRnRpCnRnRnRpJnRnRnRoXnHmKmKmKmKaMaMaMaMmumumuihoEkQoEihmumumumumumumumumumu aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoToUoVoVpdpppqprpspeqbpupepvpwpepepepgoVoVoNaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMmumumumumuaMaMaMaMnHqCnRnRnRqcnRnRnRqpnRnRnRqFnHaMaMaMaMaMaMaMaMaMmumuihoEkQoEihmumumumumumumumumumu aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoToUoVpdpepBpBpBpBpeqDqDpepBpBpDpEpepepgoVpFpFpFpFpFaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMmumumumuaMaMaMaMnvnHnHnHnHnHnHnRnRnRnHnHnHnHnHnHnzaMaMaMaMaMmAaMmBmumuihoEkQoEihmumumumumumumumumumu -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoToUpdpepepMpNpOpPpepBpBpQpBpBpBpBpRpSpeoVpFpTpUpVpFpFpFpFpFpWpXpXpYpFpFaMaMaMaMaMaMaMaMpZpZpZpZpZpZpZpZpZpZpZaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMmumumumuaMaMaMaMnHqZrasesrqEnHqanRqdnHsurfrfrgscnHaMaMaMaMaMmAmBmumumuihoEkQoEihmumumumumumumumumumu +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoToUpdpepepMpNpOpPpepBpBpQpBpBpBpBpRofpeoVpFpTpUpVpFpFpFpFpFpWpXpXpYpFpFaMaMaMaMaMaMaMaMpZpZpZpZpZpZpZpZpZpZpZaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMmumumumuaMaMaMaMnHqZrasesrqEnHqanRqdnHsurfrfrgscnHaMaMaMaMaMmAmBmumumuihoEkQoEihmumumumumumumumumumu aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoToUqeqfqgpBqhqhqhpepBpBpeqiqjqkqlqmqnpeoVpFqopUpUqIqqqrqsqtquqsqvqwqxpFpFpFpFpFpFpFpFpFpFqyqzqzqzqzqzqzqzqAqBaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMmumumuaMaMaMaMaMnxrjrjrjrjrjnHnRnRnRnHrenRnRnRrknwaMaMaMaMaMmPaMmumumuihihyxihihmumumumumumumumumumu aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoToUqGqfpBpBpBpBpBpQpBpBpepepepepepepeqHrdpFpFpFpFpFqqqvqsqJOaqsqvqvqvqLqMqMqMqMqMqMqMqMqNqyqOqPqPqPqPqPqQqAqBaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMmumuaMaMaMaMaMaMnhrCrDrjrjrjrinRnRnRrqnRnRnRrGrHmiaMaMaMaMaMmAmBmBmumumuihihihmumumumumumumumumumumu aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoToUqRpeqSpBqSpBqSpepBpBpBqTqUoVoVoVoVoVqVqWqMqMqMqLqvqvqvqvqvqvqvqvqvqLqMqMqMqMqMqMqMqMqNqyqXqYqYqYqYqYqXqAqBaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMnyrjrjrjrjrjrtnRnRnRrAnRnRnRnRrSnBaMaMaMaMaMmAaMaMmBmumumumumumumumumumumumumumumumu diff --git a/maps/exodus-4.dmm b/maps/exodus-4.dmm index 3819e505cb..9a4353df6b 100644 --- a/maps/exodus-4.dmm +++ b/maps/exodus-4.dmm @@ -27,9 +27,9 @@ "aA" = (/obj/machinery/shieldgen,/obj/structure/window/basic{tag = "icon-window (EAST)"; icon_state = "window"; dir = 4},/obj/structure/window/basic{tag = "icon-window (NORTH)"; icon_state = "window"; dir = 1},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/constructionsite/teleporter) "aB" = (/obj/machinery/portable_atmospherics/canister/air,/obj/structure/window/basic{tag = "icon-window (WEST)"; icon_state = "window"; dir = 8},/obj/structure/window/basic{tag = "icon-window (NORTH)"; icon_state = "window"; dir = 1},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/constructionsite/teleporter) "aC" = (/obj/machinery/portable_atmospherics/canister/air,/obj/structure/window/basic{tag = "icon-window (EAST)"; icon_state = "window"; dir = 4},/obj/structure/window/basic{tag = "icon-window (NORTH)"; icon_state = "window"; dir = 1},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/constructionsite/teleporter) -"aD" = (/obj/structure/table/reinforced,/obj/machinery/light{tag = "icon-tube1 (NORTH)"; icon_state = "tube1"; dir = 1},/obj/item/stack/sheet/metal{amount = 50; pixel_x = 0; pixel_y = 0},/obj/item/stack/sheet/metal{amount = 50; pixel_x = 0; pixel_y = 0},/obj/item/stack/sheet/metal{amount = 50; pixel_x = 0; pixel_y = 0},/obj/item/stack/sheet/metal{amount = 50; pixel_x = 0; pixel_y = 0},/obj/item/stack/sheet/metal{amount = 50; pixel_x = 0; pixel_y = 0},/obj/random/tech_supply,/turf/simulated/floor,/area/constructionsite/teleporter) -"aE" = (/obj/structure/table/reinforced,/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/random/tech_supply,/obj/machinery/camera/motion/engineering_outpost,/turf/simulated/floor,/area/constructionsite/teleporter) -"aF" = (/obj/structure/table/reinforced,/obj/item/stack/sheet/plasteel{amount = 50},/obj/random/tech_supply,/turf/simulated/floor,/area/constructionsite/teleporter) +"aD" = (/obj/structure/table/reinforced,/obj/item/stack/material/plasteel{amount = 50},/obj/random/tech_supply,/turf/simulated/floor,/area/constructionsite/teleporter) +"aE" = (/obj/structure/table/reinforced,/obj/machinery/light{tag = "icon-tube1 (NORTH)"; icon_state = "tube1"; dir = 1},/obj/item/stack/material/steel{amount = 50; pixel_x = 0; pixel_y = 0},/obj/item/stack/material/steel{amount = 50; pixel_x = 0; pixel_y = 0},/obj/item/stack/material/steel{amount = 50; pixel_x = 0; pixel_y = 0},/obj/item/stack/material/steel{amount = 50; pixel_x = 0; pixel_y = 0},/obj/item/stack/material/steel{amount = 50; pixel_x = 0; pixel_y = 0},/obj/random/tech_supply,/turf/simulated/floor,/area/constructionsite/teleporter) +"aF" = (/obj/structure/table/reinforced,/obj/item/stack/material/glass{amount = 50},/obj/item/stack/material/glass{amount = 50},/obj/item/stack/material/glass{amount = 50},/obj/item/stack/material/glass{amount = 50},/obj/item/stack/material/glass{amount = 50},/obj/random/tech_supply,/obj/machinery/camera/motion/engineering_outpost,/turf/simulated/floor,/area/constructionsite/teleporter) "aG" = (/obj/structure/table/reinforced,/obj/random/powercell,/obj/random/tech_supply,/obj/random/tech_supply,/turf/simulated/floor,/area/constructionsite/teleporter) "aH" = (/obj/machinery/shieldgen,/obj/structure/window/basic{tag = "icon-window (WEST)"; icon_state = "window"; dir = 8},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/constructionsite/teleporter) "aI" = (/obj/machinery/shieldgen,/obj/structure/window/basic{tag = "icon-window (EAST)"; icon_state = "window"; dir = 4},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/constructionsite/teleporter) @@ -37,7 +37,7 @@ "aK" = (/obj/machinery/portable_atmospherics/canister/air,/obj/structure/window/basic{tag = "icon-window (EAST)"; icon_state = "window"; dir = 4},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/constructionsite/teleporter) "aL" = (/turf/simulated/floor,/area/constructionsite/teleporter) "aM" = (/obj/structure/table/reinforced,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/void/engineering,/obj/item/clothing/glasses/meson,/obj/item/clothing/head/helmet/space/void/engineering,/obj/item/weapon/tank/oxygen,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/turf/simulated/floor,/area/constructionsite/teleporter) -"aN" = (/obj/structure/table/reinforced,/obj/item/stack/sheet/mineral/phoron{amount = 10},/obj/random/powercell,/obj/random/tech_supply,/obj/random/tech_supply,/turf/simulated/floor,/area/constructionsite/teleporter) +"aN" = (/obj/structure/table/reinforced,/obj/item/stack/material/phoron{amount = 10},/obj/random/powercell,/obj/random/tech_supply,/obj/random/tech_supply,/turf/simulated/floor,/area/constructionsite/teleporter) "aO" = (/obj/machinery/access_button/airlock_exterior{master_tag = "constructionsite_airlock"; pixel_x = 20; pixel_y = 0; req_access = list(10)},/turf/simulated/floor/airless,/area/constructionsite/hallway/fore) "aP" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'VACUUM'"; icon_state = "space"; layer = 4; name = "VACUUM"; pixel_x = -32; pixel_y = 0},/obj/machinery/access_button/airlock_interior{master_tag = "constructionsite_airlock"; pixel_x = -20; pixel_y = 0; req_access = list(10)},/turf/simulated/floor,/area/constructionsite/teleporter) "aQ" = (/obj/structure/cable/blue{d2 = 2; icon_state = "0-2"},/obj/machinery/power/port_gen/pacman,/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/constructionsite/teleporter) @@ -243,7 +243,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaavababaaaaaaabanaoaoaoaoapapapapaqapapapapapapapapapapaoaoaoapapapapapapapapapapaqapapapapauauauauanabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababaaaaabapapaoaoapapaeaeaeaeaeaeaeaeaeaeaeaeaeapaoaoaoapaeaeaeaeaeaeaeaeaeaeaeaeaeapapauauapapabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababaaaaabababanaoaoapaeaeawawawawawawawawawawaeaeapaoaoaoapaeaeaxaxaxaxaxaxaxaxaxaxaeaeapauaoanabababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabavabababaaaaaaabanaoaoapaeawawayayayayayayayayawaeaeapaoaoaoapaeaeaxazaAaBaCaDaEaFaGaxaxaeapauaoanabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabavabababaaaaaaabanaoaoapaeawawayayayayayayayayawaeaeapaoaoaoapaeaeaxazaAaBaCaEaFaDaGaxaxaeapauaoanabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababaaaaaaaaabanaoaoapaeawayayayayayayayayayawaeaeapaoaoaoapaeaeaxaHaIaJaKaLaLaLaMaNaxaeapauaoanabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabavabababaaabababanaoaoapaeawayayayayayayayayayawawawapaoaoaOaxaxaxaxaPaLaLaLaLaLaLaLaQaxaeapaoaoanabababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaavababavaaaaaaabanaoaoapaeawayayayayayayayayayaRayayaSaoaoaoaTaUaVaWaLaLaLaLaLaLaLaLaXaxaeapaoaoanabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa diff --git a/maps/exodus-5.dmm b/maps/exodus-5.dmm index 700ab1b105..9ba2de46e1 100644 --- a/maps/exodus-5.dmm +++ b/maps/exodus-5.dmm @@ -467,7 +467,7 @@ "iY" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored) "iZ" = (/obj/structure/bed,/obj/item/weapon/bedsheet/brown,/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/turf/simulated/floor/carpet,/area/outpost/research/hallway) "ja" = (/obj/machinery/button/remote/airlock{id = "rdorm2"; name = "Door Bolt Control"; pixel_x = -25; pixel_y = 0; specialfunctions = 4},/obj/machinery/light/small{dir = 1},/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/carpet,/area/outpost/research/hallway) -"jb" = (/obj/structure/table/rack,/obj/item/stack/sheet/metal{amount = 50; pixel_x = 5; pixel_y = 5},/obj/item/stack/sheet/glass{amount = 50},/obj/item/weapon/storage/belt/utility{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/toolbox/mechanical,/obj/item/weapon/storage/toolbox/emergency{pixel_x = 5; pixel_y = 5},/turf/simulated/floor/plating,/area/outpost/research/chemistry) +"jb" = (/obj/structure/table/rack,/obj/item/stack/material/steel{amount = 50; pixel_x = 5; pixel_y = 5},/obj/item/stack/material/glass{amount = 50},/obj/item/weapon/storage/belt/utility{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/toolbox/mechanical,/obj/item/weapon/storage/toolbox/emergency{pixel_x = 5; pixel_y = 5},/turf/simulated/floor/plating,/area/outpost/research/chemistry) "jc" = (/obj/structure/table/standard,/obj/item/weapon/anodevice{pixel_x = 3; pixel_y = 3},/obj/item/weapon/anodevice,/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/outpost/research/anomaly_analysis) "jd" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/outpost/research/chemistry) "je" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall/r_wall,/area/outpost/research/kitchen) @@ -520,7 +520,7 @@ "jZ" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor{icon_state = "floorgrime"},/area/outpost/mining_north) "ka" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock"},/obj/structure/disposalpipe/segment,/obj/machinery/door/airlock/research{name = "Anomalous Materials Locker Room"; req_access = list(65)},/turf/simulated/floor{icon_state = "white"},/area/outpost/research/hallway) "kb" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/plating,/area/outpost/mining_north) -"kc" = (/obj/effect/decal/cleanable/cobweb,/obj/item/stack/sheet/metal{amount = 10},/obj/item/weapon/storage/toolbox/mechanical,/obj/item/clothing/glasses/meson,/obj/item/weapon/storage/box/lights/mixed,/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/plating,/area/outpost/mining_north) +"kc" = (/obj/structure/table,/obj/structure/table/rack,/obj/item/stack/material/glass/reinforced{amount = 8},/obj/item/stack/rods{amount = 6},/turf/simulated/floor{icon_state = "floorgrime"},/area/outpost/mining_north) "kd" = (/obj/structure/table/standard,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/carpet,/area/outpost/research/hallway) "ke" = (/obj/machinery/recharge_station,/turf/simulated/floor{icon_state = "floorgrime"},/area/outpost/mining_north) "kf" = (/obj/structure/bed/chair,/obj/effect/decal/cleanable/dirt,/obj/item/weapon/storage/box/donkpockets,/turf/simulated/floor{icon_state = "floorgrime"},/area/outpost/mining_north) @@ -555,7 +555,7 @@ "kI" = (/obj/machinery/disposal/deliveryChute{dir = 1},/obj/structure/disposalpipe/trunk,/turf/simulated/floor{icon_state = "floorgrime"},/area/outpost/research/eva) "kJ" = (/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"},/area/outpost/abandoned) "kK" = (/obj/structure/table/rack,/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"},/area/outpost/abandoned) -"kL" = (/obj/structure/table,/obj/structure/table/rack,/obj/item/stack/sheet/glass/reinforced{amount = 8},/obj/item/stack/rods{amount = 6},/turf/simulated/floor{icon_state = "floorgrime"},/area/outpost/mining_north) +"kL" = (/obj/effect/decal/cleanable/cobweb,/obj/item/stack/material/steel{amount = 10},/obj/item/weapon/storage/toolbox/mechanical,/obj/item/clothing/glasses/meson,/obj/item/weapon/storage/box/lights/mixed,/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/plating,/area/outpost/mining_north) "kM" = (/obj/effect/alien/weeds{icon_state = "weeds2"},/turf/simulated/floor/airless{icon_state = "damaged4"},/area/outpost/abandoned) "kN" = (/obj/effect/alien/weeds{icon_state = "weeds"},/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/outpost/abandoned) "kO" = (/obj/effect/decal/remains/human,/obj/item/clothing/mask/facehugger{icon_state = "facehugger_dead"; stat = 2},/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/outpost/abandoned) @@ -764,6 +764,7 @@ "oJ" = (/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 2},/area/outpost/abandoned) "oK" = (/obj/structure/cable/blue{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/outpost/research/power) "oL" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/grille/broken,/obj/item/weapon/material/shard{icon_state = "small"},/obj/item/stack/rods,/turf/simulated/floor/plating/airless,/area/outpost/abandoned) +"oM" = (/obj/machinery/light_construct/small,/obj/structure/table/rack,/obj/item/stack/material/steel{amount = 10},/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored) "oN" = (/obj/structure/table/standard,/obj/item/weapon/paper/crumpled,/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/outpost/abandoned) "oO" = (/obj/machinery/artifact_scanpad,/obj/machinery/light,/turf/simulated/floor/bluegrid,/area/outpost/research/isolation_a) "oP" = (/obj/machinery/artifact_analyser,/turf/simulated/floor/bluegrid,/area/outpost/research/isolation_a) @@ -904,7 +905,7 @@ "ru" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 1},/area/mine/explored) "rv" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/outpost/research/power) "rw" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock"},/turf/simulated/floor/plating,/area/outpost/engineering/hallway) -"rx" = (/obj/machinery/light_construct/small,/obj/structure/table/rack,/obj/item/stack/sheet/metal{amount = 10},/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored) +"rx" = (/obj/structure/table/standard,/obj/item/stack/material/plasteel{amount = 10},/obj/item/stack/material/wood{amount = 30},/obj/item/stack/material/plastic{amount = 10},/turf/simulated/floor,/area/outpost/engineering/storage) "ry" = (/obj/structure/table/rack,/obj/item/weapon/pickaxe,/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored) "rz" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock"},/turf/simulated/floor/plating,/area/outpost/engineering/hallway) "rA" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock"},/turf/simulated/floor/plating,/area/outpost/engineering/hallway) @@ -1060,7 +1061,7 @@ "uu" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock"},/turf/simulated/floor/plating,/area/outpost/engineering/hallway) "uv" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "eoutpost_main_outer"; locked = 1; name = "Engineering Outpost"},/turf/simulated/floor,/area/outpost/engineering/hallway) "uw" = (/turf/simulated/floor,/area/outpost/engineering/storage) -"ux" = (/obj/structure/table/standard,/obj/item/stack/sheet/plasteel{amount = 10},/obj/item/stack/sheet/wood{amount = 30},/obj/item/stack/sheet/mineral/plastic{amount = 10},/turf/simulated/floor,/area/outpost/engineering/storage) +"ux" = (/obj/structure/table/standard,/obj/item/stack/material/steel{amount = 50},/obj/item/stack/material/steel{amount = 50},/obj/item/stack/material/steel{amount = 50},/turf/simulated/floor,/area/outpost/engineering/storage) "uy" = (/turf/simulated/wall/r_wall,/area/outpost/engineering/storage) "uz" = (/obj/structure/table/rack,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/turf/simulated/floor,/area/outpost/engineering/storage) "uA" = (/turf/simulated/floor/wood,/area/outpost/engineering/meeting) @@ -1160,7 +1161,7 @@ "wq" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating/airless,/area/space) "wr" = (/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating/airless,/area/space) "ws" = (/obj/machinery/power/tracker,/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating/airless,/area/space) -"wt" = (/obj/structure/table/standard,/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/turf/simulated/floor,/area/outpost/engineering/storage) +"wt" = (/obj/structure/table/standard,/obj/item/stack/material/glass{amount = 50},/obj/item/stack/material/glass{amount = 50},/obj/item/stack/material/glass{amount = 50},/turf/simulated/floor,/area/outpost/engineering/storage) "wu" = (/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/machinery/power/apc/super{dir = 1; pixel_y = 24},/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"},/area/mine/explored) "wv" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan{tag = "icon-intact (SOUTHWEST)"; icon_state = "intact"; dir = 10},/turf/simulated/floor,/area/outpost/engineering/hallway) "ww" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact-f (EAST)"},/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock"},/turf/simulated/floor/plating,/area/outpost/engineering/hallway) @@ -1194,7 +1195,6 @@ "wY" = (/obj/structure/cable/blue{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/turf/simulated/floor{icon_state = "white"},/area/outpost/mining_main/medbay) "wZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/blue{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor{icon_state = "white"},/area/outpost/mining_main/medbay) "xa" = (/obj/machinery/door/firedoor/border_only{dir = 2},/obj/effect/decal/cleanable/dirt,/obj/structure/sign/securearea{desc = "A warning sign which reads 'MOVING PARTS'."; name = "\improper MOVING PARTS"; pixel_y = -32},/turf/simulated/floor{dir = 8; icon_state = "loadingarea"},/area/outpost/mining_north) -"xb" = (/obj/structure/table/standard,/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/turf/simulated/floor,/area/outpost/engineering/storage) "xc" = (/obj/structure/cable/blue{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/outpost/mining_main/maintenance) "xd" = (/obj/structure/cable/blue{d2 = 8; icon_state = "0-8"},/obj/structure/cable/blue{d2 = 4; icon_state = "0-4"},/obj/machinery/power/sensor{long_range = 1; name_tag = "Mining Outpost"},/turf/simulated/floor/plating,/area/outpost/mining_main/maintenance) "xe" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "eoutpost_solar_airlock"; name = "exterior access button"; pixel_x = -25; pixel_y = -25; req_access = list(10)},/turf/simulated/floor/plating/airless,/area/outpost/engineering/hallway) @@ -1700,17 +1700,17 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqL aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLababababababababababababababababcrcrcrcrcrcrcrcrcrcrcrcrcrcrmjrOoLcrcradababababababababababababababababababababababababababababalgygygygygygygygygygygygygyqwqCrdrerererererereqwqCgygygygygyuXpBrSpCvcpcpeoVoVoVxVoUsyoZkUpboOoPkUoWoRoSlboQphpalbabababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLabababababababababababababababababababababababababababadadadcrkJkJeUcradadababababababababababababababababababababababababababababallTpTgygygygygygygygygygyaaaaaaaaaaaaaaaaalalalalalalalalgygygygygygypBpgpCgygyalhGhGhGhGkUkUkUkUkUpfpfpflblblblblbabababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLabababababababababababababababababababababababababababadadadcroJoDoJcradabababababababababababababababababababababababababababababallTgygygygygygygygygygygyaaaaaaaaaaaaaaaaalalalababababalalalalalalalgyjHgygyalalababababababababababababababababababababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLabababababababababababababababababababababababababababababadadcroIrOmjcradabababababababababababababababababababababababababababababalalpVryrxgygygygygyalalalaaaaaaaaaaaaaaaaaaababababababababalalalalalgyjHgygyalabababababababababababababababababababababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLabababababababababababababababababababababababababababababadadcroIrOmjcradabababababababababababababababababababababababababababababalalpVryoMgygygygygyalalalaaaaaaaaaaaaaaaaaaababababababababalalalalalgyjHgygyalabababababababababababababababababababababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLqLqLqLqLqLqLababqLqLqLqLqLqLqLqLqLqLqLqLqLqLababababababababababababababababababababababababababababababadadadrBrCrDadadababababababababababababababababababababababababababababababalalalmRalgygymQmQalababaaaaaaaaaaaaaaaaaaababababababababababalalalgyjHgygyalababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLqLqLqLqLqLqLqLabababqLqLqLqLqLqLqLqLqLqLqLqLqLababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababalalalalalalababaaaaaaaaaaaaaaaaaaabababababababababababalalgyjHgygyalababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLqLqLqLqLqLababababababqLqLqLqLqLqLqLqLqLqLqLqLqLababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaababaaaaaaaaababababababababababalalgyjqkhgyalababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLqLqLqLqLababababababqLqLqLqLqLqLqLqLqLqLqLqLqLabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaabababaaaaaaababababababababababalalgygyjHgyalabababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLqLqLqLqLqLababqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaababaaaaaaababababababababababalalalgyjHgyalalalalalababababababababababababababababababababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLqLqLqLqLqLqLababqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaaaaaaaaabababababababababalalalgyjHgygygygyrHjFjFjFjFjFjFjFjFjFjFjFjFabababababababababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLqLqLqLqLqLqLababqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaaaaaaabababababababababalalalgyjHgygygygyrJvtkQjYjXkgkfkelsjFkckbjFababababababababababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLqLqLqLqLqLqLababqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaaaaaaabababababababababalalalgyjHgygygygyrJvtkQjYjXkgkfkelsjFkLkbjFababababababababababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLqLqLqLqLqLqLababqLqLqLqLqLqLqLabababqLqLqLqLqLqLqLqLqLabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaaaaabababababababababalalalgykHjSjSjSoVjVjOjNvHmekqjZkxktjWjRjTjFababababababababababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLababababqLqLqLqLqLqLqLqLqLqLababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaaaaaaabaaaaaaaaababababababababababalalgykigygygygyjFjFjFjFjFjFjKjJwOjFjMjLjFababababababababababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLababababqLqLqLqLqLqLqLqLqLqLababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaaaaaaabababaaaaababababababababababalalgyqqjsjujtjtjvjxjwjzjyxajAjUkLjEjDjGjFababababababababababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLababababqLqLqLqLqLqLqLqLqLqLababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaaaaaaabababaaaaababababababababababalalgyqqjsjujtjtjvjxjwjzjyxajAjUkcjEjDjGjFababababababababababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLqLqLabqLqLqLqLqLqLqLqLqLqLqLqLqLababababqLqLqLqLqLqLqLqLqLqLqLabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaaaaaaabababaaaaaaabababababababababalalgygygykigygyjFjFjFjFkljFjFjFjFjFjFjFjFabababababababababababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLqLqLabababqLqLqLqLqLqLqLqLqLqLqLqLqLabababqLqLqLqLqLqLqLqLqLqLqLqLababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaaaaaaabababababababababalalalalgykigygygygysAkRsCsCalababababababababababababababababababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLqLqLabababqLqLqLqLqLqLqLqLqLqLqLqLqLabababqLqLqLqLqLqLqLqLqLqLqLqLababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaaaaaaaaabababababababababalalalrJkkrigygygygygygygyalababababababababababababababababababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -1754,9 +1754,9 @@ aaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLababababqLqLqLqL aaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLqLabababqLqLqLqLqLqLqLababababababqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLababababababqLqLqLqLqLqLqLqLqLababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaaaaaaaaaaababababababababalalgygygykigygygygygyalalababababababababababababababababababababababababuyuyuyuyuyvewkveveveqjqjqjabalaaaeaaaeaeaaaaaeaaaaaaaaaaaaaaqgqcqbaaqgqcqbaaqgqcqbaaqaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLababababqLqLqLqLqLqLababababqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLababababqLqLqLqLqLqLqLqLqLabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababalalalaeaeaeaeaeaeaeaeaeaeaealalalalabababababalalgygyqqjsjsqngygygyalalababababababalalalababababababababababababababuyvbuZEqvJEpuVEoxnvKuOuOqjalalxyaeaaaeaaaaaaaeaeaeaeaeaeaeaeqgqcqbaeqgqcqbaeqgqcqbaeqaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLababababqLqLqLqLqLababababqLqLqLqLqLqLqLqLqLqLqLqLqLabababqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababalalalalsHsHsHsHsHsHsHsHsHsHsHsHsHsHalalalalababababalgygygygygykigygygygyalalabababalalalgyalababababababababababababababuyuQuRxDuTuUuAuPuNuMuPxLypxMxMiYaeaaaaaaaaaaaeaaaaaeaaaaaaaaqgqcqbaaqgqcqbaaqgqcqbaaaeaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLabababqLqLqLqLqLabababababqLqLqLqLqLqLqLqLqLqLqLqLqLababababqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababalaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaealalabababababalalgygygygyqqjsjsqngygyalabalalalgygygyalababababababababababababababuyuzuwuxuFuGuAuBuKuJuIuHqjuLuLuLuLuLrMrLrLrNrtrMrNrtaaaaaaaaqgqcqbaaqgqcqbaaqgqcqbaaqaqaqaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLabababqLqLqLqLqLababababqLqLqLqLqLqLqLqLqLqLqLqLqLqLabababababqLqLqLqLqLabqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababalalalalgysMgygykigygyalalalgygygygygypzpzpzpzabababababababvMvMvMvMuywJuwxbwHwIEBuPwKwFuIwGvewBwDyqwywxwAwzshwawwwvECrMrLrNaaaaaewLaeaaaewLaeaaaewLaeaaaeaaqaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLabababqLqLqLqLqLababababqLqLqLqLqLqLqLqLqLqLababababababababqLqLqLqLqLqLababqLqLqLqLqLqLqLqLqLqLqLqLqLqLabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaababababababababababalalmRgygykigygygygygygygygygygyAwwuwEpzabababababababvMvXvVvWuyvUuwwtvRvTuAuPwjwiuPwhvewgwfwewdwcwbtEshwavZvYxlxmzoxqxewlsNsNsNsNsNsNsNsNsNsNwrwqwsaeqaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLabababqLqLqLqLqLabababababqLqLqLqLqLqLqLqLqLqLqLqLqLababababqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababalaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaealalabababababalalgygygygyqqjsjsqngygyalabalalalgygygyalababababababababababababababuyuzuwrxuFuGuAuBuKuJuIuHqjuLuLuLuLuLrMrLrLrNrtrMrNrtaaaaaaaaqgqcqbaaqgqcqbaaqgqcqbaaqaqaqaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLabababqLqLqLqLqLababababqLqLqLqLqLqLqLqLqLqLqLqLqLqLabababababqLqLqLqLqLabqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababalalalalgysMgygykigygyalalalgygygygygypzpzpzpzabababababababvMvMvMvMuywJuwwtwHwIEBuPwKwFuIwGvewBwDyqwywxwAwzshwawwwvECrMrLrNaaaaaewLaeaaaewLaeaaaewLaeaaaeaaqaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLabababqLqLqLqLqLababababqLqLqLqLqLqLqLqLqLqLababababababababqLqLqLqLqLqLababqLqLqLqLqLqLqLqLqLqLqLqLqLqLabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaababababababababababalalmRgygykigygygygygygygygygygyAwwuwEpzabababababababvMvXvVvWuyvUuwuxvRvTuAuPwjwiuPwhvewgwfwewdwcwbtEshwavZvYxlxmzoxqxewlsNsNsNsNsNsNsNsNsNsNwrwqwsaeqaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLababababqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLababababababqLqLabqLqLqLqLqLqLabababqLqLqLqLqLqLqLqLqLqLqLqLababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaabababababababaaaaaaaaaaaaaaababababababababababababalalgyqqjsqngygygygygygygygyAwAevSpzababrtrtrtrtabvMvNvOztuyAfvIAyuTvQuAvLvCvBuAvDvevEvGvFvwvvvgvxvzvysvqGEvrMrLrNaaaaaevuaeaaaevuaeaaaevuaeaaaeaaqaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLabababqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLabababababqLqLqLqLqLqLqLqLqLqLabababqLqLqLqLqLqLqLqLqLqLqLababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaababababababababaaaaaaaaaaaaaaabababababababababababababalgygygyqygygygygygygygygyAwAeACrtrtrtrtviAWrtrtrtrtwnrtrtrGrGrGrGvhrNrGwRrGvhrNrGvsvrrGwpEtvlvkvpvorGqHEsrtaaaaaaaaqgrgqbaaqgrgqbaaqgrgqbaaqaqaqaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLabababababqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLabababqLqLqLqLqLqLqLqLqLqLqLababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaabababababababaaaaaaaaaaaaaaaaabababababababababababababalalalrJqzrigygygygygygygypBAzuDuvvPsxulwosJBawCwmsDsFsGtdtetctfsYtctctctrtqtctcxCtktntmtAzgtDtCtvtuBbsptEtFaaaeaaaaqgrgqbaaqgrgqbaaqgrgqbaaaeaaaaaaaaaaaaaaaaaaaaaaaaaa From 8f6666a32e86dfc98f13b9b5a8d27c7020f7f748 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Sun, 17 May 2015 01:57:39 +0930 Subject: [PATCH 12/45] Converted barricades to material system. --- code/game/machinery/deployable.dm | 154 +++++++++++---------- code/modules/materials/material_recipes.dm | 2 +- icons/obj/structures.dmi | Bin 173929 -> 173898 bytes maps/exodus-1.dmm | 2 +- 4 files changed, 85 insertions(+), 73 deletions(-) diff --git a/code/game/machinery/deployable.dm b/code/game/machinery/deployable.dm index df3abac14d..d198e81989 100644 --- a/code/game/machinery/deployable.dm +++ b/code/game/machinery/deployable.dm @@ -53,89 +53,101 @@ for reference: */ - -//Barricades, maybe there will be a metal one later... -/obj/structure/barricade/wooden - name = "wooden barricade" - desc = "This space is blocked off by a wooden barricade." +//Barricades! +/obj/structure/barricade + name = "barricade" + desc = "This space is blocked off by a barricade." icon = 'icons/obj/structures.dmi' - icon_state = "woodenbarricade" + icon_state = "barricade" anchored = 1.0 density = 1.0 - var/health = 100.0 - var/maxhealth = 100.0 + var/health = 100 + var/maxhealth = 100 + var/material/material - attackby(obj/item/W as obj, mob/user as mob) - if (istype(W, /obj/item/stack/material/wood)) - var/obj/item/stack/material/wood/D = W - if (health < maxhealth) - if (D.get_amount() < 1) - user << "You need one plank of wood to repair \the [src]." - return - visible_message("[user] begins to repair \the [src].") - if(do_after(user,20) && health < maxhealth) - if (D.use(1)) - health = maxhealth - visible_message("[user] repairs \the [src].") - return - return - else - switch(W.damtype) - if("fire") - src.health -= W.force * 1 - if("brute") - src.health -= W.force * 0.75 - else - if (src.health <= 0) - visible_message("\red The barricade is smashed apart!") - new /obj/item/stack/material/wood(get_turf(src)) - new /obj/item/stack/material/wood(get_turf(src)) - new /obj/item/stack/material/wood(get_turf(src)) - qdel(src) - ..() - - ex_act(severity) - switch(severity) - if(1.0) - visible_message("\red The barricade is blown apart!") - qdel(src) - return - if(2.0) - src.health -= 25 - if (src.health <= 0) - visible_message("\red The barricade is blown apart!") - new /obj/item/stack/material/wood(get_turf(src)) - new /obj/item/stack/material/wood(get_turf(src)) - new /obj/item/stack/material/wood(get_turf(src)) - qdel(src) - return - - meteorhit() - visible_message("\red The barricade is smashed apart!") - new /obj/item/stack/material/wood(get_turf(src)) - new /obj/item/stack/material/wood(get_turf(src)) - new /obj/item/stack/material/wood(get_turf(src)) +/obj/structure/barricade/New(var/newloc, var/material_name) + ..(newloc) + if(!material_name) + material_name = "wood" + material = get_material_by_name("[material_name]") + if(!material) qdel(src) return + name = "[material.display_name] barricade" + desc = "This space is blocked off by a barricade made of [material.display_name]." + color = material.icon_colour + maxhealth = material.integrity + health = maxhealth - blob_act() - src.health -= 25 - if (src.health <= 0) - visible_message("\red The blob eats through the barricade!") - qdel(src) +/obj/structure/barricade/attackby(obj/item/W as obj, mob/user as mob) + if (istype(W, /obj/item/stack/material)) + var/obj/item/stack/material/D = W + if(D.material != material) + user << "That is the wrong material needed to repair \the [src]." + return + if (health < maxhealth) + if (D.get_amount() < 1) + user << "You need one sheet of [material.display_name] to repair \the [src]." + return + visible_message("[user] begins to repair \the [src].") + if(do_after(user,20) && health < maxhealth) + if (D.use(1)) + health = maxhealth + visible_message("[user] repairs \the [src].") + return return + else + switch(W.damtype) + if("fire") + src.health -= W.force * 1 + if("brute") + src.health -= W.force * 0.75 + else + if (src.health <= 0) + visible_message("The barricade is smashed apart!") + dismantle() + qdel(src) + return + ..() +/obj/structure/barricade/proc/dismantle() + material.place_dismantled_product(get_turf(src)) + qdel(src) + return - CanPass(atom/movable/mover, turf/target, height=0, air_group=0)//So bullets will fly over and stuff. - if(air_group || (height==0)) - return 1 - if(istype(mover) && mover.checkpass(PASSTABLE)) - return 1 - else - return 0 +/obj/structure/barricade/ex_act(severity) + switch(severity) + if(1.0) + visible_message("\The [src] is blown apart!") + qdel(src) + return + if(2.0) + src.health -= 25 + if (src.health <= 0) + visible_message("\The [src] is blown apart!") + dismantle() + return +/obj/structure/barricade/meteorhit() + visible_message("\The [src] is smashed apart!") + dismantle() + return + +/obj/structure/barricade/blob_act() + src.health -= 25 + if (src.health <= 0) + visible_message("The blob eats through \the [src]!") + qdel(src) + return + +/obj/structure/barricade/CanPass(atom/movable/mover, turf/target, height=0, air_group=0)//So bullets will fly over and stuff. + if(air_group || (height==0)) + return 1 + if(istype(mover) && mover.checkpass(PASSTABLE)) + return 1 + else + return 0 //Actual Deployable machinery stuff - /obj/machinery/deployable name = "deployable" desc = "deployable" diff --git a/code/modules/materials/material_recipes.dm b/code/modules/materials/material_recipes.dm index 480bed617f..c5d5c39d5c 100644 --- a/code/modules/materials/material_recipes.dm +++ b/code/modules/materials/material_recipes.dm @@ -5,6 +5,7 @@ /material/proc/generate_recipes() recipes = list() + recipes += new/datum/stack_recipe("[display_name] barricade", /obj/structure/barricade, 5, time = 50, one_per_turf = 1, on_floor = 1, supplied_material = "[name]") recipes += new/datum/stack_recipe("[display_name] ashtray", /obj/item/ashtray/plastic, 2, one_per_turf = 1, on_floor = 1, supplied_material = "[name]") recipes += new/datum/stack_recipe("[display_name] fork", /obj/item/weapon/material/kitchen/utensil/fork/plastic, 1, on_floor = 1, supplied_material = "[name]") recipes += new/datum/stack_recipe("[display_name] spoon", /obj/item/weapon/material/kitchen/utensil/spoon/plastic, 1, on_floor = 1, supplied_material = "[name]") @@ -121,7 +122,6 @@ recipes += new/datum/stack_recipe("wooden sandals", /obj/item/clothing/shoes/sandal, 1) recipes += new/datum/stack_recipe("wood floor tile", /obj/item/stack/tile/wood, 1, 4, 20) recipes += new/datum/stack_recipe("wooden chair", /obj/structure/bed/chair/wood, 3, time = 10, one_per_turf = 1, on_floor = 1) - recipes += new/datum/stack_recipe("wooden barricade", /obj/structure/barricade/wooden, 5, time = 50, one_per_turf = 1, on_floor = 1) recipes += new/datum/stack_recipe("crossbow frame", /obj/item/weapon/crossbowframe, 5, time = 25, one_per_turf = 0, on_floor = 0) recipes += new/datum/stack_recipe("wooden door", /obj/structure/mineral_door/wood, 10, time = 20, one_per_turf = 1, on_floor = 1) recipes += new/datum/stack_recipe("coffin", /obj/structure/closet/coffin, 5, time = 15, one_per_turf = 1, on_floor = 1) diff --git a/icons/obj/structures.dmi b/icons/obj/structures.dmi index c3fdbcdb3333f4b2e576bb151b57f7ef7157901b..d947725e034f941981dbe5f78fb4865963685a83 100644 GIT binary patch delta 137437 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 z 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

!;vn(3 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

    xHUe% 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 delta 137814 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

    wsUfd z%CLF)!&N!1yYwBcsWMLT64-8`kfR!u6eSAQ#lyx{Lo}DKzjP(ekdOmrIBd;%w;MY# zU1FovKF;)@1kJrB6g;Co{susR%^u)>zfsHv^%0VDARZHv!=SypxbB4A+re4C@eG;J zt4mzqD9%=t4vzMVZvUTP;X(*VIwCi9Ov+>oTQdBC#d47MVNPwgwjzML6qe<^)x`18 zKsuDgazXKWpUe;y28@PWY+<_MhFTqG zMjDOplKoVUrH4*AJ01&UfAQJV`SFy8hgx?7LxMURhlYm)E$}*)wZ&{xo_owF$82g? z<6N|DF|%;wxS)kDUj{3E;50K3JJ%RSmzY@tk`6lII)I~5h=KVgl5_MqD+-4TUu9~> zl+I}r>hPng<)W#s!x#n*PwV(fmnarf$4!2KuWEM$^UhTy&^Ty6?ED%rtSxFfDR|lD zMv5hbp3e~jgq6M=WIt@Bs$C`nt|EtmV`X0tXDW`c-61(SRnpR3gWmU>@nCWcVe;Jb|Un(h%1l*>6k1}L@Q_oGsLm#ctH@!6|N^y(wMz0 z-UR5`uKjWeZHiauqjSU2lEBAPCZO|pU-HdaJi>qweX>(YG^HcEtV^!&r(8eW$*ouF zsRmvz-M^R`gTLTcECT26Z0M=|;#*dCs0V>wWOAMXH7rf_Ln=5e&tFbG!< zTE8WIc8snLp@A6E=TE%z^Xm<izSr`{jvTlo5TeIe4Vfy2zF2R;bxvW1_yJZO31U zgaY4)OiPO-*HULpf%6ym>p6 zYNPS%Cjsm^-$$AH_usVV66uGF^B_|ODStF#LGcOFoSo&n*mk;(Z7L*mT${SecaJc+^P?AU=#_Thu-g;M3S#Tq zt;L_E+4L-YHhbG#U#L!0T)oRmi}kbobQ;!T;NDoY6NYR>URn+KtB3FZl!|cXV zvE0cGyvn_44AuT6Ayg5RGLT#pppvqNMulGOZH3>^5#t#c+AX0%4K!Do7oUF60Z^Tv zn_~VKBrYp>DlYTzWj1f7=UZ>m6bD|Wv2}8XbK+)r(|Ie319ZgjWYEoCf#xsoBep?M z1TW5Kd@>G>^(0NOt?0K5j*~sV%46NnOufk~4q16K2(X*eVTZ|(ZbSel-0^EZ1?+`f zFZ_BH8v>!^im?W0w*E!w5=FvVnC$xz^rCi+Rbz;hGW*y*S*gGyTivEfCJa_roR>u8 zt&Eb6xg(}n=i+P+?VU02)KmgHrzn>_=ZI5`Yqkh?gsS0yB19`BNTAaieuTILhT`m; z98e1O$rKm0WXrpTi55_8kEXEkPPtd)%V^N0uo)oI?MgTy4i$ZrXiIYR()Em1bsjw- zj>}sq@^-HOe+1--L+0m)9d1@xx7LJ5{{^l;%(H^H#=x2IPkF+&rtJjleUxKAFM*X+ zRpBd=Z zWLmR_LCgwv=aI8+RTNDsGiH`pVIf?NY({@VSN}k~CX~-9C4HG}F zQHX8c_AY2+i&G>CitFw$`vrupA8%i?sO+vni5i^ICj6a1-WmM z>(DE2zugP72c)J@hMNIT^{uRk=BT$lPFY|JS#dwy%_*&Dk+>ia@$oTy8Qr8Z&S|^I zUekX`KY$yDW36APo33(2QbpJzvgE6CBhF7_qG|n{z(2;ay!9SSfy0nvF<)x~|Mw|| zU+E&bG`YtwC+KiK!SG;_=Ud0WixXB?66A?NGc)k;xVTV_)NkQ9cj_@&rNZm(ZWe(d z{>Uh7B|t5UFDsj{{2gQe`P0oFV{4!7ufTU(?!**|52Y?LNzXj6aib=PHQ6IK^+Dtf zI6H3axkGQop&_wN3Oy@{3K&`$RQCvKSnacNjce5zLQoE&i}M$5d&;RMcV584_hQ}R z)z8+z(-I88E9wmUT3E}TS8W5!T*Ak$s+%569>KkoHWd6C#5z~ z0(SPOh(v6y`z<1PIqIr<-lER1G(&O=smD0D>@PO+{nl1XwaG=?@}TYse7QfWC#LXD zEw%Y)Ju{o?DKztXdH?osA2r!+N^T zziGA0x8T{{OuhU2P^{}cC&iqg{Vx}byD8+a85u_9PKSnqI}iM7aX=lHtM5Rt)2-39 z7@qv!DXOnu1IiKb8_|^~EjcIrCzjkx;>`AP4D6GFLs?U4|FV9x#?&k&0{{M=2WsT+9;@4_4bav|PPzFQ+m$oGBstIZrNv#lB#$H~;|t9(WDaXcCj1Az_So;`$q+NJouC_5$52i zzM@9wAHufn4lJa@G3EP-30lB4fc~NF`jQ+#FS>^!ct*xilyCBhKSGj$wa$TBge+d; zh5HE`NK|Q($@3ohrzL(7r?-sz+*@R-P8-EgBh_idO4(_xazxgipmG>}IZI@;FiS#G z*$C;>EPp+3lux$Ja2a_$&5ZN_MZdsZO}gqNu1Li0N8*1E==T?cM&(P>cLVv1fW`CU z^&cr|Ypg6XFPx{{NSPndX4x~WW-Nc=(OZs}J*c~bPZy^)wkJtUfOk%p^*$~^0u+X< zyhj2helm5lW7;{s)8I-kJN+Xwc@15?nleaPiTBB z|9(fFN?|sM@zU5vl1L9_l=UApP`061iS8>vqVy^1vC#e&!nHTbFA{#=ER8sCr_Z&^}=*X(Ac7qcJJoDtFV1i;E03@ z14j<2UEu6ud3>h<@|rl^xAv;JK1q!3p%nFkQmK7zY4%rl4riW8zb^~{;6B{s=frhX zEUMfLQBQC>_%_GDLds$4#e8&ehOz!?bP2h5bf1dY=nhu~SZb-WG@b1+rnZe1Mtl}c zvayuymixajiIxjK!~y4r+gO{SV8}WjJ5X`yCIqoZ+(@Q`iE}17r_=0Tu#B!C*Sq@ z6BWeMmw{s03pXillK zqXB?UbWbSn4%#JKjp(}xO0GFlsv^PksiXUYU5rHB;MsuAP_kZA1kL;OF=JxML4}Kg z!dyF|M=vo6Pl}*D^zFPvcfQ>EBc7`7IFBs|59!q-%-4vVM#!zH^Tz-J2Z^8h+tDIO zZI8w~1XABw-ncH)!Dn&F8NH;qJLoC*fKCS)mRY$=1_hN4nzd2OpWvrLg%#X^EGI-D z`>px1ybM0s?j%Nv$YM+HFwTI^b3GryC&D?3bd3BK6YC?A>hVl2syG)@b6!HB);U)_ z)1PVOyj~G(x&LlD2TLju49b>k-uTtyf$B)ft6e~ZbxlpLFvLjiG#FA|>XO_KY~0Fx z5--u#5>P`LS6HjSx0G3_RRYjb+0G(i6TaUMVD>LCaUwK_jvJ#l%*m$4R=UL?qjNJb z_DNX-=o@Fz?+mss;mNk?!|eU!9^NZ=MVRvW=ZrFA@fa;vhKV9xftQ55rfj?XsgG-X zpb#)ajCa2L_l->*(abJDEa}{CoQadP%t0rL(?jefiMNX|GEY*^+x+)01e(FVMNBWR z>}QTrCi&|3%>Kn`I>wVBw^vO>xX&VAKP1fbkx5$0CkMOanAwpS2l-h3eB}J_`Od?`ZwM^ikJ>2XF(b5> zHfM(=I>QB@9oGy=M0g8Ts)E~iL$23YYhPRh?HxNURJz@s@P3S7_^sy*VW6zLP?RUf zFwlWby@b(Hf26dcQCDt!zV0=5`(D~U{qc;XdyT}lMYNmLGd>WTV{d9pysdu0^K3H5 z>Ut11f!jEty+T`T|> z3N6-^BvND`Lrqq$T(}T*biPxlL*!@uhu7FoHo}u+*>fuK?L3+#Tr@lqw#E6~2zfCp zKNdk(;Jb>SNtov2b>@qv(?q9V%+)KHZ6A|bkJ*)h9Vcae^xY;-Hs>}3;%)Yv@niNL zSZ=Yg-m_zrCgr(VM?FCcZn0nUlVV_@0>RdW+08Bf@mj=9n>q40Zmk=*fn(YQJ)Sp; zYwTn^07dQQMyPal$_);gT%ySE4==S8{Xs7sDpnyxpff@q+3^q005JwP@WGA=$<>2h z-EgB#KdvshE3v7t^-;fiNR=e-#Wv{fx~wqMfURS(FX&@(I#@;!MMMh-UhdAi2+m6* zm^}q`vY|&e+Bwh{)f*l})7HNDfyk|_M)Mpi@lt}Y<36F)W#cHT=Q)uL{d>oEa=N-@v29oS4k=Urb=ZPL z?cASiWA0AkH3<-&3WEax7N7mHHCt(^&H!4&>#7CT7$>}T{tC?*<_A3E!`wo!kR=%L zTJ=GmY*^PyhyFdY3R(!-0wkyXjK@^0ET@dHl>{-@NLC#E4(30XPv>0XI-B8C?HfwF zIPExawt)(Dt7Wry&>r!8?SFs^!t*V+lnAzYaR2M(UnO6zb5emDMbw%i#Q#t<@HA&> z-UX%mAIh|WK!pyycK1DoGukb3zgFIU!fGSCWHf7_hm_V@R%1JGfyefI9e zlp30L+`0hX+SrU>21u{C%$i^RtFu#-1Lv^|23o+#1vX+yOG%Qf^$6zD4m>l>ZKsNB z>-s76AMZ&ht4JuxmH*y*a@cXtYK=Ob*nMv)Q(uY??|J-iuZs^j*F`HkBDd_`6v(am zcqE|H_uQnl=9EPtWCm!^wa@c!Y&)uwFG*>TW!0wpGN7VeQ26EyIf#Rp6-0( z%||1_2fU>Fs{Rd_cMM!m;F?2)0FVr$w5d8_VCs@eue{7j(4qjB}mZ4cB%D-*}yH*;_S z9pIvUNj}M>x$0f=N>H<;pms#SU@(SC>^dElCo9F%z@x;NosHf5IKrRNzC^e@Jp8yY zMZ>Km%*Em%VT{T>a#`$`?%o>%jvPv=jn5x{mw_po=1jSh1hapOvL_R zPK9YK3vbc#%eV@$aEBvb<2YPW+~V6 z`FrLvAGDR1mBxg^e1Uduc*`w4Q?Y;v6-m5z}Qu2m`mcj|$@a z+@!7%`_BQk}Z&P>-X+jVcxsyi_CX>L3tpWDCCZ-;Sk z$K$N1Y(7;-f%8a0jR6`0LPyf22l z=d_p@_xjnAfa-Ov?$AEi^aCW5;Ba_ut~A3p=cgJD)c9oZzIMc^f3HY$OUtpT&2^&Q`P^2nJ!Qv6A`o?i0Z25MZ3J4lYRG zc2u09bLb1ZSJ-$`K;<&-@|P%{3=c<G3TW{TX}t65s7+?XY?DOVS~ou>e#_7LB>YZ8 zu!uM8-!{JgkE2b1K6}Z0lg!VxVv8LfE6No}Gm&7a^F58v)U^dU+v3Gql1imV zw&-h#HylMhE@-Oqzf;CF{H5n=Ka)9j)`4MQ| zla42*-hskPXh$D3t%GQk^6oE-`wU%Q*Q)t~`RX}H(kO2vs&x?Smg%_GLd zWJPps%0-r1$_0MCg3QbOqUrF z_g?A3XzeP^WI}10SSgv_d#&K<4SV!;wgLe{TC$LEdsr%VzS@c}Lt)e9wGYtF^lO1d zL*`P;z5>N_+nD+Z$jMhlcLH9;-;~Z)z4)cq*faoE6qoY270)C+r^DMh1U)|+nUq6i zkdqMy!iB%NDS+siWLjM;0>c~4nAf}s_jPw=T^LizHZM@&kHXO zw*$7 zYyP(JVP~mz;J62JN`HQmx9v=r99Xg-ppg@O?ZgqMf@ntO%+BSXmQyag$HHTNdu`+LBDJ$NgAM$e)Rq_CFS#BM*hU-w752^{P*vl_#csHw zQBzkJ7W{Z?VJC=i0UMp?+=q;f8T%UjK?{NlfRudd316$+E#LhliJ4s zCvL*ndW3r{Lj}c^a^WpAYky%~Trfr?Xz9=Q#?kUf8B3)d^P0~x$@ZJ-_1!nJvs4+H|#@q7?sQwdEESF=TccBH*a@3W)8Ug+#4XVK(|dN^|=92zVVh zjSB;gYNKV#xN48d-9!BTCwp223g%)#>dWX6LJwNxWQToAZAL@_dTvv}T9t1QP}wlU z>`qU%XMeVe^u+99(*Lu%%Ty;~tpEIUIV#Gx8;}=y;xl;+e!`RvL7B`NzH(HjMir<4 zy++7wL=-%~-J0I$qiFdh@Mg@>!ysuSp>jjoR<VeO zlY&W}HE-j#yB`t1eVF?C1#%w?`LTWq3 zE@Navgq}7v54pr~vlO5`KZ|&KE>FJf=GSXHUrCfUf{aKJI-;898>HnVkC(8`sDm=~Cm`Ek$z4Oh6T7sBv z0)3mh(=wIpJM@K^oDHkKBlB{c&e}Tdp-)vEw@WS4W}@Dh@H)-qpnC9Ko8LCodUU#3 zh(BX61CINuQ89X*rIT=ul!85*Rq@8e;0`L~<)y)0mMz}XE-$b+@WR{!N20-Xb`x7! zPF3BDb#}j7T4JPN*HWw?0V%kK>2Z5vU<@A((ZE|S&@u8I{49S)NE77w^jmZeJiqL? zGgT}y)(FALaV%uR`lq?pDcoTZ^MP+^kzKO$w;P>S&Ukz7^k1PMy8kG4 zdKLTl@hT90lE~wi!M88t-pMg2RdtkB;{|F9w(LJ?W*NVs6WrJUofp|HH7#Kx@#gBH zc2^r!=!5sVx)^bsdR4?%-{1eugk4-xxi%x{RT;CZR1>2$f4ObI^#od@Z<{{6{ATfK z678TBP$A!YL#qzbKPF8}tjhznztPk*d=YW7xXub4qyvI{#GD5B``at2ob!ZSKs(GD zAZ4YOU#`QN+PN;aO)1f4VCm>XlYfX6>!^G`ej!?}NoKVJMj8JXJ|2Kq<|ZmZ2cwwM z)X<-k7(5NQU#-#0)K*dDc;4lB1C^->=cYu{sbPX~;U`*K|3u{WC8KmpE19QhBp7Xig!k@0RERjL{{yAv20 zxvsmW0fG`Kn%N*^`T{k=<>Wt8T0P4Sg^6cx<-(ykOF{yt?RL>9hW z8DAIhm5`e_Qv&ggqIS0WT7nkwnfa%L*KGT96d2G2pqN_~?`;264W7Z(X!;?lS~S^V zxNy?eO7O0aGq+EfjW})}%G8Je{Jc*HQneP@nP6BSWRX=!c8P_eSOPh1gWX}*EY&aNk{d_zKANV_r(N1RGqnN&5LuK@kJ70^#B^Zp-EjYuHpg3z<`hEb=zpcO_o0nn#{9U9XOUoe5G@H^vkVrwSG zX>5iHmF?ReN@HtP(V_iqT~Nl%fFWRN%FwBb-yF@Nc0CW~yp{DeSbLI!{!th9+Mn%G zlL15Fa}kePg4E@D zCtOWrxq-9E5*+M^oPrbI+QF6e_5`h!7t+r?1^Z(zT#B;WIAzGP2}<) z`U>m}5j@SgJA)j>(yZd7)(QXWd-LD{?JpII>Sjqw~&pnqMzSWP&Cm!KBCB?lev-Uo6iS;y8b(G zom7+Mb9_{oGp6Zd8d|CS0$vU6ym>I&Sn7Dob3*blsqRh;ll|7LdM0bUp?LQj9UuU` zOdo!#lYN=y&*L)!Gymr2$Qar^QZ2Dkt&g7A5e3{s!rr+3q+gN$n=**_ze4&{nt(_D z1JKjKX5U{4MWVuqRf%d^`ec;ouR=fP!fszxL^n4YkW1;HTcE)*&N}0tREynf9Wh2v zUqPBqtw~C3N2DXN?2l$soxLN9I9`nN;)smHU&1eA`tgg&L@wnxETYbCQ_t4(6_9Z; zqJAxu(;TsrK3F@RwYm$8a5t$Kmls51tv|oqt+LRf_B`^uli3pErJz=5uT!9%`jR2C zjQE5+wcJKVnC>jav>o5KqOX{b*Iespb+ISX;jop-!N6mM(!TL?;$ok%Gyu$%qxKT>a(a-GNJ#UI2yS?=XZ- zQApwc#$YL zlOpA7hYlf;&ja&+yZZ{%yT-!LighO8_=tQeW9X4W?D@ZHZA#o-3@!){;A|g1S8m?oz@gw| zD5&6->Ze9ierAj{AnE(nGNvs?&T}re9}7q5Bh7%q;8Qp_JX`|+rCd$$trOZ?KWtFF zfyTso72$m%5svyn@2gil+J_8s%S4AYFXE=a&T!5;(jwdxLSl8UD9wgbgF_}IS z$lgyw^PVri7HsTHyOK6&OKoCY#Xjt;8o`$sa?M^_qRZJk+{!y~3JVFnATlVFC zHP1|BVk^;&hfV}daS@mn?0Ry(zL?;Eo)e;k3MpNvvmjo_p#RLcKODn*(hM=UfNmO< z_C`O|x>RG_(tcL)FipU2$=27ReiOzix8~_5VsF)ss@+$I6%t9!-pDJ27#?osbLR~n z#o{&o#tg7AT0Vz!d1Lh9f>ZFV@u~j~K~Ah(%6BnbM+~#9Fj7{Y6H}#F{aPZLeEoQ8 zVSZwfrc{E1m&D13fb#%;hXx`P*8wUlCPVnt!suJWxYyD+PNvZdUH`~mzho-=6iOny zmG0I-Qj!PIHog4i_16D&wNd**zm!vr?T`_F1;qafRJG{9o{ajuw8rBdqWR35;7VTe z8WryH*oK?Z7I>gfCSfBF1p;=hJi}Gd&?+G3Vct*oH)^O*gXg&|L6SL)l9Vwktog2K z0|S-obNv12&AeG&_NYRU<+3TkeFly>el>R%_9Zi+Uq@g`c&fgytn-p1Tfn^%SC3RR z0NF&PN=wa?U+|#rF*y=j=Fy}NWr>MMDrf3uwM-@#CnUCP6dUIF$*+L?#YH}*r-Jd| zJ=A{{#TnRgS}nGtRP~ab-Rv4)aY4y}xO)`2fSQD>J%=|PdAn4`zDkOYd*fFXr#nLZJg{nuZ5}i43P27>APE*zD)QTY}Gf>z^!XS?k3GAtT8! z)9|Sq!cv>ApA+>Tgla$7aL2kHxYgY`W0rrMgXdR0*S~&nBX?N=JinQGsL~8Hf4{l; zjKm{ZdfmI#R62A)aEFJH$oDcHZPx$7YI8QRZY5;xm#5AP7(IPzMI}c!+Gbz{P(!hh zIiGwtW7&h``8iU6nga%BAxuEqP2fl=E(ayNR>e?gNq$T4Ck2B-F*?ce*Vm|83kHhL zNX;!R6k~sDi*YO1arrm*cb`Dj$t+*=P~xAp9Tc>9C4OIvdDWQT2`2h`#TteAWj2#YC#%e5XKrn? zL_KMejWI?iia`z)U)O|o8D!e-=dtSyDk74ZC8LMlrjD)9H$KNZr?f*O18?nph8T&U zfe(0JfO}i%%uidG(bT~1&%?q$DYI+y*Ly7l%4Itw4W7ktYgXXKX%s@Z(lMrv<5Zv2 zwTjMJs>qx%!;HZ#$5o!*rIuecN^X9_e?Ai~9@EyDGQ2)`zryw{o{C)Yp3^^0d%xVx zge7hw&_Awn7ROx#F<*DC?|RRX!oF`J>j{$lS*jf%P8s7z#sCtn)q(rrc%2`kvjXFq zowBE2*@hw;{KrzmS9%|0Yc8voJK{>T5nahvF>6L5RJ@q0mR9=Ug!=Cmf1MOs3OfM| zA7<>v-YGlD4x-Dtz1)bryk*9T?~;FZ_edyH-;hRcL|~D5T>L6$#8ZDgNLcDLc}c&e z-|j2DEl=^yLDBKE|th9S}yxt<7lYvlRUfU_Q#BP_O*%95c*-uh)n{ zfq5=5^u3Z$9|_x+?C>kPS^n>^Y#5WMl&HncIr?r43K^xpWc$D;zB2@ZX+dy`k35O8 z)WUA04=S+Gih~>U(F6%w*iVEakXE$7?{GNN0~sas5aH+QUYr6rm=qs0JnG-|#*pir)I*l31iMRVKtTBe?j;*RXO=0qS9y6xcH1 zSe^Li!Auawap$-Nz5Df)Eic)PE6$%J#<2cLz#7O%br`h~sOaIyMBX+0y^s4Jjx#WO>EI+o>_R4h5a#-*h*+CDhV0zVIe;|H`n!m{AknLP%T)OR4C|dGl`D z6WuhuM$aE{d~Uy+hh0K?F@gN6F|iFbtth_rRo|kuTFEHLzBz>KJx-JU;nN*H92Oza z{jA1!#CaT4%=_&IBKk{Go2Ygv`^t?H5%3Jf@>4b=NRsyXK!m=BmzzhBv48>l6)&WX zm@9jKO)&=y=duKWz|E4mPW^qo5{-+#oeaaK1AE_PQuj=EyWd$grYvpdwGANb9Xq3R zJ3X(^bTQYGZ0>Q08R>V42Ec0Z zd(yL=w4=@MC_f|zo6-vYG5aGplQYp28}A1?A4(5yb;p4|$P3oh%BCX2v6gwh{cUlz zT|RpTUa8Fu)2_M?xhN0J8SXqpo*`MHw)DP{<_I!xmDi^;?(3|K_&jm_-<^El&6}r= zqT-G87cML%f-j@#=J zl)gQirtIbp87g@%y1zSp74EOQD>x+OyNbaBdxbl@8AFQ@dP)&~akL9yvl*Xs;Fxr8 z?H=P-_0*L}7g~-J>BI%|wb9VADU&Lq|6qg)pj%8fxAcb@UM$2Fylwupip}IkbYjQc z*`ANE(0E)G?_h1~5GDt)slKsA*MxT9)Uu9SCXksYga=suQRa}5U;89DEt+{Qjydt1 znYgGLc|P1RJuK$M6>bE)OK+~V(f73$at_Sk4ZLC3Kxnmu=?29+us ziPa2No5vITM=^$xT~Rh}6sy^GOvHL0NAKf7$6$8Pth&(fYJW>@_$bxxlr2eH*Ly5^ zCke6QUt%Sl#+mpBjqK`oH-ZiJMF^(%Rp65?V|^6Sec;q}?>(bjvYg!588H&eU}psn zwqZZnkFVM}o4{8|qRmNL9#}@yo}#4FFD2wHY%=B0_CI0DpAZ{ZaB{~z$6-=|=d{*` znyVP_?0CJSiMFY=yzN)p%#mx^ETJNz^*=f%8QTPxo|34uq<^Kf4))lp~cg!iv4P-~biMn}LP2B7O;DxjfN`RMHES5?(r$KB)A z30)@Zb&%PrU59JfgQCgZ+IbSI`dhV^D>ws%@2-65bC805UK((B@2l`{gFfa2Ri9EA zriX8ETCyi~h*qkB6^JOg=o&UAbfjn`7W3N#YF6MhleXnq!*BQ=^zOm5jC&wS*MWU* zKL79ZIY2sS6zpisM-Sc4*!pxv;L+`+uL5fK>5bE*Mcm3;_WUhmoMDvib+35l6TOc-AWTUCGytnCi|mWWi+^A3*TW>`8+vXM-2dp2cwG8JcGR`gI4eH4=)xf|bLv>YU z7dai+RRI--@OL3K$<6m367(WTPb4-AHWAUiDN);v!IbB^z3lk0(EgTN#p+|{@UyS} z6R@1)s#62HV}tn2oZgSYHTB)pZiNs#gSpF98Fl?>|MglF@-8epQ;@(#Po{tr-!m*i zfcO3dqPi4$wou0YjR%+yxm63X!ZsDXMvNZitb6gzOiN3fbc5yPzC{M%U(>Sd^_j=< z$3a_^X{HZ~0Lid7(~!rzbGPh?(~SuLF3#L>1LxJrMA7dd~SH#A7^f78p_nS*fA6A=sVdc`*|IJgY3Nh3xW z7>J;d+x=W6`B4{u2HWGoOmyKws|4xk>bhV49Jx-IsxiU$iGd{@S1qS{0f}Yq_A2&g zVX3f_6Rre!`-xMl&l6+gk@XM7!md3g>Lwx|Pm(^m^ho(sw#wM62riXZ7d1GsX(ggCLp!Soh3c*^y z1rNC81-`1f=T?u_?}!KveMZ}(mQEjH**m0{jDZ^PujS*{+eDK)Z*FQ}fXb*3zfJx# zZ%D;xZx9~mkwsd@J`zMvv172&_8TP$MeQWEb-Bt#i(+K#7WyEM3<2Kn@BQ>P65jt4 zr@?Q&Qip^Gp7Nj&h_VAQR#ZaAwJ3>)(&gOS@#b9LI855~qSHQ^k{TqlyBQ~n`_A(4 z;Cm=IY#N*+TEumaZc-#-kTeHV-V$E%TuK3(p|E1xIY<7I=OWaSF=g}Qmp$g1%?l}? zlZE1@r5t1tdtBt2G@!EEfrCTuftM_#$*?lP;YQi<3uTqd4U;JSElhwnw;RtCwoZHa zy4cK7?`4_6Ae-M}&#`|2w}vn^HMLt68}p}_ zm)&y&u)%YLh{mtbTM!pmn&jx$#t*KRWV*O!1`Z}&^8Y860sK434i<4zgTR&RIVD|0YP$U5Gwg96QoiMk6T4JfQeoA=r11m?I)5&DGxnooiZ{Ri;;slgDuTh`+gyfq=SbB+scxlffHc&_b4 zY#BhBb4RaJR6z}>+WKv!$Ttc_WYm=n+^i_NSYZJsxk9+GQ+pRgOSu&3c2KdRjua6Z zMC)#(zkZl!IKySeSLsYredKbvjH1u*!Bm4 zyNe6XoFNknLZGyxY|^jHw4FbUYUtz^a|go1{kcCRsMrK`m2v_a?9XlJvx{k{o!n~1=UNFocMWI1<0kP+PJ@7C-Wau zu*Q<(@?!iI9n+Z84d9)O3UMuEc2m4NP^8FvV8umM5~-JXvOqDrcft*Wiac%5#eL(K zSN^9@U-7Q4$A+NcHc#le!R<*5bhC>{Aiw~$5#;xzXyR9+k4jEni|zD$dL1gm<=;T1 zIU9Y_uO+87!xe5Xgn}Q28W>v^zC~W6=|u?&)8qDVKSlqYQDE^gSU#35Geh>f4hGQ| z7i1=x;QWa@d3Jwx%Mp*xZf8U`p8a4Avgjzf5WgS$fS<#o?)UOcSYGhcc3alVtQs8v z9a0cB8ENvzk96*wa{FgAZa0zpUqgh;W4Z^8%?I^ItIp6ljk)L=e8LoWB}uY6aL^$xl*RY`*MO0){S$E)>J6x?;bCBHZ-y+o>(6}Tmm_!P$Tgy}CHE+1Fc+5f z(@I-L+?Xe|h<0hb&v30NwAECrNDc&TNy;cu*~M+0^u1YZG%pVzK@8$g58l7h8yE13l-GjFQ7 zIvA{^qvMaw@GgT=dEa?0>yWCXrrZBXEwPp|=Zkwp!*bd}uf~zyHJ=3Gvzj9(HX|pt zBAl}l+2C}t<8yLHd|)r31I|4}F%2rlezRfFAAjzIFe(#YAz!ngP#;-I*UmAH@C#;- zHI75|1avq^K9=hgI<$7UiyHORO4v87+PuJ9s;^;&(K$Nq^VDk#EtR+9QHxHdozsu~ zFfnb~LJF#cSt*l1v|Vf@b|FMpX63NelG?Wib1!0D>A$*STYH<<^Aj z$25pCwfSX}Mw+t6Cb|FtO@%CyeyHYQxYeiLPt@yr(mML@Y6iNGI42yje((GSoh_-x zpdu4Ea}Nj7Va*xsZW2iIIQS)?Yp@s7PwFFCF(7nUa;KrvcJU}vupf)P-=OR1bNR5S zPWnI%n#g?m6+g)Rpe{dZTsdvUsfG<}>yTYUgL zgk&lHDsD%1-smvSpaiG3^?^TdHA^FRaVY9(RM*5agA&U#K(b}lLJ9M|A{@gf zal-@$qy@I_8K+4cV0+bc;-F5pIn+{s3?0<`e7pP@a*GyotAgMuWpa760l<5Vox7Tb zfc`Ayl(hgpqNRHN>1bUvVrpbzf4nMT3QNOE?#o519I%jGh%PKp!6taJ1NJSH4)X^I zw%M?bIo8AeuY8vc_56^X^DQK7krMaPQL_S&Y0N7^*4-Z;YOi@EwJXSN!75&X=xHV` zG12?O9N9XQo6{vSggCO{c)Tt)hmZqtO;FF7vIp?9sG@_|u#`A7t32YkSVPQ$B8*xw z^$NS6xk{S@3S-wdW;jtqoxomu^OT!e8Gv!VOAe%RM5+>8Xh8 z8Ajw#mDQ-{=WuJ}y;I=V54VX*rX?zOojUly(Am_bzF$u}+O-yP!da8!Y8?i;#>ke7 zhHn3mI}lmL&xrL*zPRh>?}E3<8yOjaE5)6W@&%s_D^WoU_JVv`_3-`ep7 z+MM+c!h|bty?EW81GTk`N<$p4x#{?D@8RnjPj_W|-OZwM$rbC*H%TzV=X0FY8=1`E zXDR2Qy94ZZZ|zfRQQhQV#yG%(p8fHC9RQUGjEe0&W$_I=F#OTYic}P@n=GSCSL@7s z{s3c=A)I3-s)oPj!nPno?}xh<<#811jGWlA>_Ur zetQ0BG~;mVpMxljiK(b`QcLAaJvw;dXfz?Q*-j%h=%;@H@zlLQOWA z-tZtHIR(9}y1Xp2Kgt{zPTyEuxfwaPaEKl@h0VyNd-Co>p8ktZ4WlPD!d632&46De z?9p>M|B5a}JQaYM{sAgq?jli-V3sqOd6&ka_7w##hyP6+@$RP2QfP^gHZ0^rv!hlR zEmz7J+V`ofXOBU2`w5D$?cl$*4_BTLkj)Ky4F1*^;_~xw{Ff$BXqeSKctrpE2v?{u z4!Cft0@s(6wn%lO$z7ENHDJWn-A>~vDD(A>#}yGhaND1c+lgN;Vf>1X!(2}x3>%Cm z^~9G!0gp>vU7e`c0Y1Eo2cLjI*y5rAwWJ?D{L9k$Y zAu*(sIR60oNy7n?DK&y3EqFt#XJKno^v_Z!$NA9(TLg%v>X*0wCT4#CpHDac%koYT z^Di=eM59?7`@<;z8H^!#1!y?6Ga(E?>tnk4J5uZ!3l~4WhKJy>rRrK!&8Tw( zx(@Ft-qj^cL6g@4^Yuya$%eswsu<=@HtUB0P2vu|&yE|_K$*MaOd1zBr_6Y5>U88e z!EUy|Js6)O9cL1zq(A=vB>DV$dMq;Cb&Ffn`JaGj8PIth!BQOFKK~Pv zj_BpSyyrjad9bH_EWGdH-d}E%m>#%}4i6pj9DK2Jab*S&!2D_H>6&!aR{k~=+czFv zh`=RK2I+$5E!D&FenLqpu(q`uH84hbIcG-3LR9K334E;uMQ<#3JBgsA6cK>o%WRRV zods-hP-;yNdX5Z3@4D$gpOcXfOs_xOnF^)hKE6b`(sfJ2h~N^qr`UkECTn(qE;qp7 z$WcD;3kXx-?jnA7rbl$MT$dx_>BJibI0+m+krMR^6$WIKq8j9@(zc%_Zy(MkR4sSJ%KXyXFDxD}@{w zm2ghaI(rbuTfKOnl1t1-u|<7=IDu*s3{O9NGh|ILx!cm_H5SFq-c{xe>C{!laXiL( z4S$+q0tq5@1yI{c_ggv8G*FfoYf<4*xv(h_%EvGj|1V3xEhXS4p5Wc0i@@ccI&}WJ zfwC!M@%<9Fb@t7Kt`#sFew@qE;IZsjk>zF0^+}aEEuxqN@77oO#e0TDe#*Y8K)2(s zitZex!SzFC7$>iZekqdl?XxfICLtMt&pDv<(Y9rLu63fuuq)&+ zY|2GzQSIe(^y3cQ7qA=*{d^D)?7#7J;syI=RgXc~@m|g3A4X)rhRG&uLhAOnOdl+t z$;qYW~iRdAyAF-Ty+R;X1i>b@0czneX^?c?ZqwW{_UQMSI_w!s6=3B$x2T8&%W9~QMcIiR3G5*B zsh%HIz^J&7P_ws7_wN^(=^U(NBzr>5T*RSFek+w}e2p?4Hak-_Eq;fh4|9g!Y%+$p z5}Q18ODlCRDknzyrgRu!R~)Q=d8dhum4GBFF<{uL~N)PEH>;# z=#5@Ol3f$cNZK(Br^`ABDv|QK_J*rj2CPsC%{F*(g>>BXY0=XG3~nNS%7}!U~1I7q1`kuy$ur z>qV#|VcGTBQ6CMVQ3h^AJ{w|E377Hc;l3YMPcXp}W-tqtllw?J#o8Cqxb`h_3_vGV zQ^7I^bPg@)LoKy@m4@k$9!h6AY7gEE3#2GBWPK>poW-vMM@=qcE|5MUfEKA^IjJhy zzN380-_=n&@+QwFSTJ;~Z!gE7_^9=9GwYN4_=?D>u9 z4~M6UZ3+cQ@9KLx&Qxci0XU@GJ-`O?^Z13D2 zx!a(dF~d}aqi-t=ird7dCm-1;OwJe$&0NIS98j_(lH(K0R=YFos+xm|JL*7liye0F z|Gf+F2*K!)Iu)I4pw?xI1BXFVms#F2)}<6Rd#%|`!Z9OJN>~1 zAiE!gAjUD<=3f`w-k~fk*$aY@?HsVmg$ECU{9-vYFA(THzR0lME8leIapO~8E4w1s zAkw3a%)9=Rx{^+N^Q#DC-tScac>&+REI4yJ?;jCa`ux&D8D>s1X#HaYU!VE6d378P z%wh<%zUg3BpdC7RLqn67-hN;M)>_*J!Znr*@k^EEF$In?^jDxrziWL2L8WS97qUC} z_vejRA4KM3HwGz$^|Nk@0Sprtp|651a9)$ePb|yCkG>Y7}APq-fV0aG(Qgg2+Il_Y=VYD2?U# z6$u`X9mrVp?VHz_=29S9sW7!U=s;h`b-&Yy*jO@&)yL60 zU%e2I&mgcPqIjSK#obDP7w`iAN5eU+)ymVKLQ1SfFejozaB;H0HQ|*F!ZUHd9|;dQ zSJ7&|$r7TMdDkpZ{(NC))c&F;n{)GPorqPfzN3@-g}C|;ik6#b!%>xfn$?e-pG?P; z8J{AgYuJbfKh78TkXu(aX~~mChwPq5G2#5tR)4`nx1XfGCX<8Vv;nY~*wB+w8+zwl zVoo;->~kjAMLTv)l2QA?qy;jOCr0wutuE?8%d5qG)rE>7`-~@>mc>VNIj$(g3}jOe zjCZB948dd99^T{>ntlmwp?mmp+QKt^BCirKdIp}Hy5)2cy^1HpF%=r_Ko>jLa)p@G zUqn7GmOkCP|6mCG=m#{tYAX+g=x=WN8~L1ZI&*UgRE#B|-DObE8Sb?Be*44inccR& zh5BuOD6_leeVU#5x##TSDR-;%K^Asp<~!fPMvl-J54m(z8FP+j9<9{q?h{DsTahz&$7N&o-hWrI zwBF$pSe|W&%%L=)lYsEoGAQ9Eb+p&>n2RrT@9PL^Uv13wMR%^X-bIm@ZE*E?zv6J6f?tF*};X31Cca`hqoFAe6HK;b?R7vUT; zyYT%-&-QEbcE$k%USXt}Fq*egk+~zCRiR$_@RJ&EMQpWS8!J z0ma+$2Jsr&5_Zr-Eofvz`P~_@$oi~{J`2)Ps;WjxjyKPEjs)u))L(dV!)c*}H<&_z zq~6D39xRV8OCfN29ldhn<`F)0#3S)ErU#H=hVw9Sb2;h8>BZMDcWS|Z zH})h+wO1JW_fzsX)EYm?T08n}0{?({_W$P=uVkb@A2%z-|8A5?&Rl76C*^0>Pp%bN zlu_Vw?Qnt$yXuPfTn5)8pom*feg!b@WymjEW!-nX^{o?}BZnX$EXf(dYDUuM&1y8$ zkFupZFy5*O`XDUsIhTzSY3Itn0gT}sbbks^A>zC*)2X@a6^qL=wun}f> zq((u|oa}B#y5auEUy-$%4;ifj8>= zzXEnc^&3;0+`gZL^Arpy`ZMWINoZ#k7q=y2&ZrZEy+NGr(xnJCC^Y5df(UV6XOedt zyq68liihu!^$7We>ypisrLAT*tE|`%YrI9tqGg^mm@#|Bvh8$0d;{(S25c$$!&2hi zJjzw4s_}wVPJ)U%=jJ(7(Lh4}b!4Me*V+&rSNA5voy41vr{+4f&jh|@Z3*LvW57}8 zJZ5KEAj;-Tv&`$g@ZPwFI``J=NL=pLkDR6mW%5tNsk1UN9IgV*rIQ}g`Epu`{`OB2 ziOUYh$FH6)#pTgxr-GiEdIbdd_;v0KSjp-J@@7tsi(*ZeaDhZ@OdtRuQI>)X6v?$5 z*=>6NDvmF%nOKQFJkbaQGV0PF4TppDeS%EW)V$5^W|#*NDr8XsXdl}nvVK;Z@xEM@ zcbW0HC&6YXVT_UUHjFRBQ|o~u_k)D#Gm6#J}umfW6S{co4@{X&vHt=$8$GPUW|Ycbx0%0U+}~`S*vBPZ7WDhQ5F- zVe5v@F{nn1!2m*A-Sqb z$a&RV<&xS9!}O|&9ZyW4TEr;xwXjI$Zd@kD9Iin~eU=y(MTLvtbv%po_*HO)Dy4*4 zpbiW%1m%9%4Vd39%>`c*Sv(dfLHRGp}-sA2?vjZO=K@4ILk z#thY_2vNo)a@Hj2Wl@7bKtSv1BPK-F{M}H=a9yKxS#@HP_`u1{7mc;~C8y{oA;lDU ztN5RYlskAt8P0454*HuuPdcS$wjG%YP0O3tcs3%1z>A3U3knF`?X ->7BA$Yz=7 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’fR(`ce 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

    7qH>?Z4%x=7El}t%qDubI z?)r8Vz6MQrWipLQ6SgXp2ojFdSV+#ybn!`G*0MBsO;)^4-)zc;?+PR;tF`q9${vNP z;3?!T__3ut5XwyTSnzRhhs@&s4`C;4rDhadM+k`@50D8u?G3yucbcF81rM;J-H{E+ zDU0;z@Wb0x+EMgx_#~Q6HjMeJVn+wq@@8B5OFcclO}Sth1TU4jXQi&;?g z?QNyI0Oa^0yVw>*Gfo#{M+353y?UMHqvbm9WbNyRPEnWfWC71)q*4g>m zum1r~x9I$sWJJY8QuWk6?+4pG*%U23op)&fGVhjfDYD{klj%6VAOIZDCLnvjs>h>` zHnI_ ziu7IHS=df`;`+xbn%6eOS2wV@b$K!Mg!aHYweU0`Qf`b~szZi|u{DXCw%sg|{aDr= zL)`T~`|RIOLl7kB=+4tWyEJ<*5(6M@;rpj6fdyoxrwD>Z-wT4$ky(v5z^Ii8XnB;$(ciLUz3jRCnx{_i=N0{bE^db`xQnU%_*4qB&3}m57~?tt@e)$hdzw^&NUGvf;{H&r%!Z)KJOc; z(>D+7=bT2I+|C^(^;%6=?3X1XuJ&P}@?oIGc8Zgx%6Hzx0rc)<-WE1Gv?J~CSdp;9 z0^jmx)T2vmU%+It&znCG5DJYcZfcNxUdhhuHB_?NjUd`-MBXhIrc;om<)&QmN`Cu5CLN)t%2aXg=?tL^ulMGzJWr&siWI;JTQ; z|Fm(a6v&)*VZb^9z>HzJW-HxOKyos;)`$!Iy$4{5pVteZ#xSBPMD83d#G0_|5Nrlr zAs!V6vD(0{gPCx@d+mW{v)enzuGuW^nVOQ_RVN=f6IllxqjGt+SdBmx)>Z}6G*pVv z*><~tx$VlSt($4j5074*gvJ~RvOS|9B_?-k@WxeA#U6S$E~GlF0`Pp=#Sl_uhVL`j zKC3d?+pm@4$;%E948t!7(c$MN*uh+3m>(PXfUMtBH7N*#`BjL~1$U|Z;I zp`ALh)8q>j zs=u>uKB_&(#%4ix%P3#hkms%$sQB)OMK6%_tkOeq!`Z*!$FN1+rwvj;%pNUp@{F1|t{_kJJ*r%DcJBZ+mAy>FzWr`xRwj z9Fyepc}ClRCe%rSdAm-2t|`Rn6W)wC+r2`A1qW0$|2{Ca(PlnAnMUM^Ruk#L`<^Wf z17K&W>6k|J)?*9(Sl755+Dnw&PnArI{ly#(BbBv<9o?(+=c+QB77#>F@M|JAkRaJl zH!?5dhel<-?2CqqVRK-c)RiChna9>VQ9tkhR!rF?90qy~MAG7EiAZML3K2Pq~VS?*iAt zcFyM=Pa@ha5Ez5oC*T85JWvCd61_g*Jqf$>6&-rYr&YA4FI#Z5VEHFQ-vg16C3W5I zMmL&I;7)C@ukH5XBzvqK4_nqDHy(L6JqjP{Vafu38i}q|xiQY@I(X-i@=|-AnWl4( zPHAf+*No=Fo}5{w{QKBmP3w=j9o5-)^5xntMkdF#&PH&Zw8gCF_2Ev@&Fan+xi43# zxlYkz!KVt1oZZGIwysi&JvxdoCH(F2c5*N9yL5h2oJc+w>gLIX z;<(w$x;v+=%#y@bbgj^2?aLeej1p1LBv5+suB@1i9C68sXmo4ayYy>8OXc0`f#x^% z$BuRDjQtn3bn8<#=nNG}pEgbv__D2Yu;^747ZK6w)AjAsh)@Nk%gDQpGtXhOg=Q6t z7%fq%+uy36*kRi)&(58*yORI(Q<~akZLfuw3$xRWGqdaTLY?gBd0RVJr<2W;ZR0$J zlO!eQQQakH$B{3CqFG4f?iaWSrT-1iY)7%?Habh_?yE-RuP=9(V))*MVR}FgW9+M>*6f5Z7Tdv(VM3!1ywT`E{#x z>j})A4U(#A@-b?eb}r>z9J8wQ%WeP zcEaIIwai^#-PA>*@qUD=1q#!*p)+4M>P};9vf~tBiEhMI()TE9KI(bzBQW|MjLfO` z>KCIe!1WLK7t#^{mDbEG-cU8)X z&EI5`N_P7%gMeXuT0!8Kr;g}|b%4#@e-WKz3u_OCVriyDFz1m%4oeh>n z(O^$#NN9A|)TGZw;T5@T?wsra8}Z!#-%|z*jA%VC!!owmo)*bW=ZNi(X6`#p|2^ag z3_SQLZSbM%=EYixSNBR{gUkwQY~drweCeN6$%Rbc!^*YYO9pUHeVm+VH$j1(E7bC= zwco;)>#>FARkA$WW$vj1J618$7d6tLW`-PgaTh+3w=&w-F1QuwQ6|rwHd5Y7(z)4G z^z(qKr9tI&3Ertywi93C)cYf8{@9PNO66(U2O@-ISVVeUW~@_7{!Sb_Z%zo`f(TnyiYgHiu>@yQ!>5xnT_ z3|^^4+U*~#s^n2gP)^y4+^|JRtL`Fn_%UuU0x&UN{E2aQ^$gNPyPLXh)ISzD@wg-x zaAMs+r%z!_ABb`=aR6Kd$N0SO7ji(LwTrg~>sOe>E#)ZgIgQ^OXvM|5mepp_DF&O| zOuI?`bKA_L_{M=eS#nVh=3Cs?zhxDG-v8c(lxj6f z-Q8vntbgY=^5Rw)e#NPmmhm3A(KfKiKwP|Tzxl@T_(_?k2sSU6D?=fqzG%%X0KM#2 z6=A~B+Px8mnmxqf`%eDl&Sfx}w;Q5H7UymnN7US<)Jv5SEPHt*$H6ZVq?CrBd$EYG zuCY7=4Nw4S%-5yZjC zo_MegYROl4`IMUZf;Rk>^f$lSE{JPm*v=TIIJl+f$J3Ap6smHPXD+@sM|;m@DP(iU zk{dLeqwu8~vgOYyue@d-Lq*+|B9pKy95&`fdS^V2cBMHOp ztY^IaMY0fU_`?9^X@Y%ap^MB5K5t!)?hh6gtB>=*iP;J#j7p|V{Ko@&ehh~8>2s&l zXhm(MPw#4<2AA~2GY@?C-lpD!>4_;f_8OJ82F^G1P3goNgoQ+IohmcSjwfAMddi@v zbqmwNa+Zah#%4PmUjAB8eeJH&^!?TyKiI)JuqE0p)<41{o(UF-yw+m-<^Kn z>FFCJI{5Lph~N6q_?r)=8RU9Tu&ipi@y&{3j)~}}_hrdrcd}6`s)wf$CIzi1o8t{{{Fr9#VKRGhN5`+BQLT6H)JZ;9wT+F#Eu zM2dgjg$KwJ&368C*5Xk~VGrXQRjdEBta!uex`zO2?DS=II`uDQct8N|&<2MHT1Rez zT!j#)6vPPV%fE`~mxp5gjyhXzYQ-Z0Kkt1{_dT3G@l$zB7iOD;{yvVz?!&`lxK2yO zy*%N4*=XYJJmO<3RZ_{UZ&#ow)c{e->*6*9v`^?pZ^l{mOB`rSM@Ed zHq10>^*|lZL~m^HE{-wsHN_UAUZEr=(Y;crVaMZgVR7$mK%MqWg6Yv*_Q40;efblk zKOZZ|YMbcH9Omxj&|rxd7xdshtFcGQ=dzJRQHGoY)Qz zTf+sd?_LT5Wz1bfJz(j99t}YBQO}`0^k~lfWK$@YZ%M_Ls_-lZJgMOpmis(I{~n%K zWYhFv>@h`_CoY`q3qOY!v}V-TFS5a9u~_&+M)e{3invbwOOo`RMWP${m6LRZQmc>G z9<@T&__(gwiq8_2cQSjO&E=lUEz+!4CE&c)?@`Z0uC6XixfOeOs(%{$?(n4cG2c{ZhIX`0F7rO#OXbF-7t2v46s zC0A??AYcHCxu?IJ&5o28FFNRlbbDXMEYHjPxly&9)x?PeeD zZ29jm?zy?tjG7kom&hH7qB>^KWEvBSZ?~nqZ-QRS%&+fP`L|*=#arBg)^=DTw^vq` z!(jA9%z2;ri=I?h_DvUO6R6qi)uOM3u~b873mbFxM;P*8KR89*v(Ldy(h_f$Lv61@ zby64`cp49WF)NfGqAsPq4iza%_LMLxM}4Q#BeHK&JsGpqq4j z)Ytjy5KO6Av&l!sdww4~D``14-fGADu=Z+Ns9sN?e+IMXXO2J+R1xyPF1+B!hgzeb zzfZq_KMNxXT#zb!s?O8YF!M5j3bM7iy8zoeD$@cyvq9Ka(P%ciQ~{z3>X)r^wH|GA zt7{+6f7SS9@Y>l(W|mLAr`3YVJa_gi7()=eFQ~}7kNyL`lef#C-SS1<)VfGp-(|JI zrPgov-i;-{7@h=P*4@3_?OYP(y8V=RQwIJ`-HX7sueODlLHZ5KlGH>}2U_R2qMyNCbo|7`Re$#IKJo>kAr9D(yZ6jQ_! zMj@yJ)KnT>db3)J*!F^N@HhWB_hIq6GnL0n?DQTA4y(SGHkkFmHfk4AiP2RH^k?Wn z!Bs9PxU7!PmAT(Vg>g98y~3?z%Jqz$8Y{31Jkc9imb)_i0*fO28Q|Tv%f^M5==sr+ z;zgYS#(MCcV!KaY^k}6){BEIZw-F2>fkNh9a$E+>!P?OG!KV`7uKgDOLUMlR$wqJ6 zRFeHY-E{wH!TQF}^^XOjW}TYbmj)PHku8=hqo~vPq}M(0mctt4iH`GUcWe2%n9?ch z=?|I84?1qgd#!Xgp7xoWQ_&Z>pKmg0?b4b+<2wR;wuS*LJInGxyRT)z#MmP_6CD_VrS?DLm9iZ_?Oz;=&{Fqf8xKiZBg0yc7?*)9;If9qN5 zIpR-E+b}b_ZKe^~3%u9Ndqvca`|-#dmrUi4iPxq=lx{$Y@W|nj&XvF%wPkT#K<&b# ztz`=&ANc&Z&~bFkv`xKjjX0j`bh;a@7SG2h@IU3p2T-GmKj{wvi+WI@onRN_eRbRb>Y%Q8# z9%H1m5$Kw;%Uqv!-Ly(pS7}C+5z;s|wZUGN=~=&c@XqhnNL`xoxO39!HlR(=L}HqD zErg_Fcop!h;kU^53S3Hev=Y6TrJg$$g~K;f^e2s;oVoDlO8k{013rXrA*k|M%5O4Y-i)I#jd;1pI>rDB`_Wu z8ONr>Z2#})56;fHmK5YZ*nx^RpJoFHoC9y_k1pFDzmc#xS~R zXQH0I@bjj3z>T|nrb0731Ulso&8L|SPh!lrP?P;&hXN1ZTT7JT^MaWQctzIlyQE(& z%}dJw1X}D4V~mKTo$3XE4++)gkZwzE1=nSv(C3oO5YGL>`zD6rpq_uG2$oG>r@{8K zDAv~5^jus!qRxgIJ6$F(1t;CCq5>l)(zf?EIb6GYwv0+EXsiXawj9Og@dvjYnlWd@ ztlm~tH=^BhHf)nORI}U8W-ttVcJ%yJ(>`Yfe1&@vMH?w~&w|tBYDYwwpKosZ`K|Z9 z$SQEb`;Qza4kGOyewBsaeR|JzoTV&vm+44`%l;d)6cZ;8o40)233J@r_{%=~t1(N0 zdm}Xi{$g!Y9*+mJpY>G&a6XhFT^8r#+Ba4E8vW_GZTqamNO0QNaVml>)LP!(&>ihW zNVw3_5?>mqezR^WU2J>-lNarpGs2=2l|J2+GW9N*BT_QC`fx?3TI46ehta9Vh6c5Q zX`9P;BS)G8bF=sBzON4HGdABE`gv{KOgTp+r$EMf?p-#rsqv}E35T<9G&h`&9rg}L z-2mPpCN+!MR=+HTCe_a!McK< z-M{a7l7|>?NV*)_@<(JGNF)Q^0alvaEb@#>d>)vj*n}o`_`Otq9U(CQg@b_ zee!+hPsP1{eRb03{r3*4!3dmdTr6j5gf) z|M6>NNckHd^z&9zeEM?M8!RpCeY_k$Hs3UyXV5CmumSZbls$oy_^!_~wPepPTrM+K z4r8Yt%YOd<%sff7GxTB!Pqx+likNMZ-*T_)2|@A8 z4ECFkml0!0)@Y4_z+vg|EqvO;v$Qr``NY%2PR6+QXoYh!4A=0#xE3xum>>82XI1fA zKzy!U?DkHIJ}y*(X10X@aHYy18gbt$8$ChZ%7l>!DYOiUe) zf=TxEb=al_`47jVcX6429tCB0JUrX?+#$X*X%%ZhY%C)r;}`a>LY1y>p}C<;RH(tk zQ7Hf0=H`e+^HZ=2l16Ww!^D)!xn9`h zk)rw4!4~a8+u+w-p&J|7kIL%g)hqpegR8*azK{MeAAO<8aVHj~VNsSJP`k<%gX$(? z4Y$|TZNgak-4}1P@oehlWec`%Ch}KdNnTv#ya_k#QNtJteBPu5IHCF~Nw%Vaq`!C1 ze#1|__faOzBv~dVt9Wo&p+&Uu8!_M`x~m0U$@pnMmp??dRq(kER#W5sfvZe(Sh$7ZPGjQlJ4lfnOu%lD0{tvD!*=$-xlmWhoa03 z`zishlTPhr&KSKZB!#tJ<|seFF=u;U#56&acKpHFa0AD_6EF8K5=8ginqjb8H(7Dz zj{f*$o%8#n_)k@b{49THJ)KZ4`&4_+ebj@-!_D{7tJYuV{JAP9sMkSp_p#=AHjakq z>e&`-BNo=|YGr;@=8j1KRBB@TNS(xiPo8VB3eAZ;Zq$gtyEjX!Dx@=}g~Oc9^J;9M zVA(q@&N&(Z4%35$&qct{3<@P1eGxB2hi-g&`iWk9e44=3 zyx^y_haBR)&edNSEAnJiu3mgc0<)rnM^!?3CHpihVej0>9EH9*?~{UyF($i(A0AyX zmLu+ZHlNaC3cq0NFukxfGt54-;lOdBI4^ki3==|nGms@}E%@V2a%%#Q!rH{H7u%

    rR&pGw0PUt-qEaQv`m-ExIg;Pd-)Rl9;|OOxosF1rc^<5 zp?DBmMkDV2@VVU^(VHaB1ue+(4jB>j#*CosiP`LTw}<>m;K>)RI!d*TIst-=*Xh6Fv0RF@<%uS4NyhQ?K)9R(M8-S|0VCE^9#P}r21Kw_)M5!Ko?O|^57r*h*OR9dygst#I(+`J{r0U9~AfAKb zg^LLv2@>=!5VcV*NA3vvWi^0xI*#JYhTPK6mk&}&Z@X`K-8n}VSt5#Rh+O1vSfcPO zQMD`Dz)j_ce#Kr6^SLvp^iM4F9{vp}=x{5{QupRl`7wF+C89ieMBx7QvUvFl4KNV)VNU?hJJ~3vmZPx*!E5%A}sw8 zOkMODp3FCsqrN><{AOP1M+&5VN!5{7v!^;Edow3|PtT=h%vjoNI_@owooJ!7zi;uN zsFR#LgG^5LJ?O&mlL--?bK&QPZMPT=kd79QMw92bvqRob5)@Ht+NXTT!<9-}_le^n z$P(dZ?Y~1i;*<3im-e${(CDu>?_+RhYj=JqYQDv>N+^fGw_{6$H%_E^x)%^wgb<`S zRYvN@L71PQlD9}6nqz}93fPBSNZ$z8!BKl?9qwe!Y^aW&lHvPG%% zX8vtWoJfq(!Hw0s0s5%iVz~mT|7G(IdRS1@P5eT+8*Fgd`T1dUts< zNGzLfj4+Md^j+WddT~dKVf^D!0qK3Z+k?VCc8yH6Wp2U%h!gX4cW5O_u8lXXTvJ1s zf}p}The2#CAsq0%!!cI_((x~E`s^8#cZfk9iC*W-vF?f}*HLNhzQTo<&E)|~j1!0g zkAETUTT&RWMR>$aCM^SoQti@e7H9Ikmolc?Zt(48GSyF?($&?}SrZjrE(V|H1N9-) z&DM(_enKw5b|+X4q)=(C2$FR0tkb_zp1ow>h{Yu9fyJjb!EM86(fhLD;{mB#2n_9_+5esI{+ zvx?1j^i{67CZ{o){F?8(2->EM;JLwZb!Fkv+--j-%J<*yQ+{#R^YNPHn+QFD>s8ik z_DvVW8eyZ{clI-;!%VACtc-$Y?+_1e5lr}+CnAU~{e2`61LbEasSB@Oav5WO1;3PO zTxyUYfR8>p;y-PN!CCRoN4gW;H>4Q^C9xI3&~iuw4j4%ms+0Un6b4^dS;-s)uv&pK z=rM`yfQwk)?)z|`vFEIH8Tf5W61~m}wb|OSdnSmh=1wY+Y3&XD*4jcv-|<5qUDwZ5QyiunCA>1yCHq8U9;H$LWK3v%@*1>XVNyK1AH zvlG7A4ubbK-6!kIMzi2FF7K8;GoFl}Jx1g>-0B3<7ChZ=jhv(MAKy4WnG`4_SGKI6iu=eO+&3ob-5dOstF`Ch^>prI{4j^_>EIF)8p(}gn zYO1Cg32q#`ZN@^f)HF43m+ya%>`7aIg2^WJ+;6K~S8Tss^LViU!HFjDndeML)l|&1{@yPyu+xX zo^L-996(ZriyKIs(Mie8bD)@VoL$suV)PN5_3~38#0nyWitOq0y_8ivaNlS+**s06Ly@CwM=ctSgfa98i`@vn;)owDuUEq zmi=;L;~#ghQ4ND9KPVwX}wfJVji1+bvVHC)A>>7A*(z{(wfYKxoL)z zcYs9CzDl)aX&GVg_POPK4TBGJ0x9F^x;HjXjA*sksMv2f3h?S9mh}=jK<%Mr$oAxo z17^G9%|YcjhAR^19F(gw6RO|&9g4Re;DapW)`zD9?ztVN2KzK?ghv74 zsl#cBrh1nD*Zz;3Ke~b?0q*tLC%!H%fYK#OZB@t;_4_4+k&}HiQ@O9uJip*e@O{#t zs>%W>qoC=@8NsJmt)XeR)v6>J8O5%g@T%XqEI~bG49}2LK_!Z9^Z?zl4K+RvCuJd< z{NU(urj688S8w*BEM{pu!eb@fHm2ZsT~yoRR{oj_trR+%!-7%vQ-s`+(Rbe(TSXob z`dv8os~nTiT?`>rL}vMBO^yf+oUKz_k>B0d{BZ4NcSuTWsy`V%hGOJ+qjX)P_#Qk1 ztl@rr!h9WA#!yp`O#!pHqKLt__V7?MQ5E~_pgVySjDdKjAorBB@HJxKd)wG|?LQ1e&rd`USiL;OhhxK0|ejEu_s)K1!P!}p{hA>wkT zUR=KR4=MxY2k~=QjiTmyqKw2sK*3iiwmlo$xpt1G)+B^yALya6zhGv!6>z15UYnb3 zMkN2PL?+MiBPV`KLTH7uU+r{iiG3JNoHjDP9E%?_mg_s}RkP3WxpzZIY*z@f`nDv$ z&qVk(wcG`}dg}YJtp7u1XUxK>GhPrh*QEj=-)o;qs`#&P9Lf?B6?bTg$iG!4_VTc$ zsFbZr-not4Z%HdPyF7?jRNY{(T_fu0h*f3Xky0wD>(2XiU(-=?ZNPWEcg6qFmx@lI zJ3Z{F64V`FQ{)j=1!5zR-q{+E2z`lFWxskX|LKjv8VhpXXYOri)?@EWx<4POq57Ge zmffq}niX8LfB?o9LJc7_*l9EU7kXFE<-DV-zj~Yv#D>%JIVbs2wE0Ibnl-#%VQ%A= zjyK@n-4os3XDeLYuR*WfV*LO?Xs$m&YT8J~n9q4{|5 zKOZmAryj|a#g6Y>>9FEbDkMbH7@kCAb>XXVa})~Pq_h5E?DttR6fb^V&FH2JutF0| zf_LpE9UhWXkv)pV4`dYcd{t`_M_Rs+G-ArO{uIS7^&IxvrS&@qeQ4M|n}yV4kk$8k z-AK}oU6qv*-~fiynSk+%ysowm2E>vVR@`Tav)dvry3D`^a#^kLcGtUKS1ERDtFJij z_V7R!A)9MADqAPp*JVEyDr`;D7w)-dIo6le30WO6&E^pvofQ3cZHXPn*Bh5->b_&F z&D4FqdUtixqZSWhD-{n?0Ty=U<(Gr6eL2NPuHXxHX zbYz@7nn8Nxq20H&Vds%4s)L}vU3~9ru#~?m_64NfPp9yf>r#O=@IsN?+K^?96xHxx zdj|(zbOqkunQ#mi@cqY8Yc;95&bn}do{piOnu-a0ShRY?BX7^uM zo5K0o`J-dhR%sDk8p)H;{iOwKds+5fxX5oIwfgvIp=O%h<_V9-1B|^DelGU4M-!?3+2Cjeap*+}5c%Yg zWvTJWipt3}%kOF&h5uDC2P?`PNv#8bqr4y8bgVY3BoXrHkgL|@$U@vlO@=QZaVyp3 zW&vWHNQ&Fy*?0Ol`Qs&~uC?GNsv_G7cfU7^6kGcMyGCzygMh$df5gQU!Z*ESpjRFeup_ZpXl1-YVD z!{tC)_|I>za^tNjfDL;)% z#5YyVz_k6heHBMjddxLe&1c&zZ&#N!dbbKSE_6M0iw3l-i*(mJgZP>A2@RHmdQ5ac zfdM62lM%&R6(a~J&S_8;Kpvtt+&X=F}YM$rYZD#pXd{;a&R(x z)b^lXX07}@|AipQH8KSBK8N#!u?h3PWb}^nUK<(go@~NPfXO~bn394^M$?GHic4Tt zo&5GWsZiY^^8GR%4K6PzLyto15g3AH@yeWyH|j|_5*3XV^30jyg&dPW`4Qx?LJO71 z8no-GBl0!)8{qjF4%+NP*1L3W^ySKL_J>alvO8Hc(aqIS9XSab$j$EmZfnA_TVDO| zC)Az5o+HAv=d{ajAefBX+nPntGW6u#8`15*v9}4BK=li;I5fRrsUyZ-xO6bECPuF7 zVfbu&Z-MDwFba0@?m~8{$Jl_SvRcEWnvwktPWm zfdqy8(Dv_mJ>RpAw>jAKMdVUMRiBc2!(B(%-@gzD{Ic24Oojf;f1JF&w!rR4dc&h| zbL1Qm{v5-QeKX_!Y10v&^>p9i&yUA_LRu0|@zEPDKxB&d2K?XaEblJ0oRd(qJ$yE; zr`I`ei6+-CS@7BFICK>#BW(5rF?$09J+bgt`(}2Rq@rr`)rJs`u8seP5xKtqY&IDH zjxAqkLG2fG1gsF~we(sQl)-{Mc?LY!ZielFCD~5;i(82I9r-Qte6b>TiXO^}RcGo+ z&?;#BiM=D9TDp+vh1XT3dF#Dr*ceI3&wQJwA2Q!D?J|%bFctD^y;iPmCyFvTG~s|6 zXIy9;eQk03e4zVM2Cvw1C>u5`9rMNKxNnhe<|AYiQq*gfQU|Qf(%t(eA4XF~aUGSh z>TFz+VHNz_iV%g_)vc?2t|I zsfHpXe_x~C>YBJ-PCxv&>y)Jl5ce$xTVd~R7k!|*6mbhvfbaXqDSWOR--Fb}Is(s$ zg#bbuNQm>XurY6}8WJO*W#@Nv#gMk)4QHCGFvQgW;Ut??zFjv7J0{+_ed-(Rlt6LN zZ68DV$$S&Th0;VN|J67Qjli-6tT%X3dyc^cTLuU?%hXdW0UxRt{B%B3ixYAaIlHTF zqW$46)8LF$lt{3gqJ!_{{I+DM!mLTpDQ6T~uI`N1sV17|PRSC))BF~$riyVg>pHK> z2eOj7F2uWpl`2+e0p=Vd$Lc3V09xzyDr|hemgO$w8)cKPfHF9ofdMt^Gx@w!yUefhaBuVGlUUnef`E^zkjRxTc$ooR>yiSmo( zEB3?TW#S(*OFrApf28iO5wFD_(OarL+|O%>jX=w&oImdYG(Xoa|CT#pmZ&5g-#diD zn|aK1rHF-~)m-CF`lt4Ac|Dp+5gOKrG$yBX=PDJRSkJIG(?v|cOPM`axjD7TA*(zw z3S~#KC3R;y2!jLW@0a`$&=dOZL*%cxjtYY;zFiuR|jfSWtfCT#aCxF+tZv|r4k*RmA}}$IzISy=e{}0@Ku8$Y z9qD1sRyINQMPUJ2mVN&=*TUc9k-XR`Kws6s)>?fAvbe=FjK|h z-C^Ho>Ohv8dJJSdw{dZGL&0UC978c+`z_ILCI=;T%%0^ z>&Caw8g~%asTn9^O+QdevW!=AS(HNk7|j%lk*byH#$Ha1jPapytH%=KUrK{&2$ce< zVmqGMlLmr(h|b1MQ=V~d&ZxCWsbH)O$$xh5A-O`z4?bG8gB%T{VtgCHL8JEIdATo_ zHxN!IM=?3Hq)pUw>#}PIIE2R*cEMRaMs2Lk+a%1|7i+b}b+n2*M)l&EIaP>fL z-PPyo@$<3cw*h7tuTzrTH~DmYSd+#~SI|?3Vie1*k2DxnNs`tcG6?ZicH#nda=QzV zQu<^aenBbQl8W31omRwh43c^;ih87s>|I9Io<-a&qSDuD7T7h2=^=S@pHbehHC-XF zer1!$Q;#{*GQ{crjQ?cH2e24$77Al;4<*E0Jqqt*4KB|LH}0bhkO~maJF%e)gPs?^ z83}>2D^T9&Bj5^Fw0|htn!>bkQ_`=TIGB@oClVr%(oUyVXkGXL7tRyqcI>#t|B+wf zzPjViQ}BCiwG3#!1>tPTx-zU(%BEUQB)1$xvid(8%gGbSUPs^4_$KN|4@d|=W{@0XApMW>GuBfd%aQdl25_{@RBa`l!b zFDQlYmwCHy{M5$6t7y)+a`2gK3T}Ra=F7^S_1l`ma00IA^LpC$Wyi!Qw%&ry&Yz;tDT=C7xwzO4 z{?H=)rbi|3Az>y3=i$z0ir;M99t^`Fu+oP=&BgCg4-D*@j^=f%sFKiNE)27v!$~vl?^;;VyJ&AR2{TTx%k!p93g$RhABsCCAd2c)zvg zzd4JGq9wE8WA$ap-#&dj^5a#@P6`5Yb?aGeRdOvNLz0C}xVjw_J;B6Bm3SH=si0{# zLZ98~_R*Tun{1#s#XCip<`r2`B81WKcYt%qT^n&Sa1Nw+w(LW+6@P2i)p8~_@q98C zcXVX`w_Y;Cz<)#T5(`C_Ap{$6JCvc(78YDoR<;oMO~u?etQTuD!a|`7yi|Slu!bEQ zuF4sv!Ao$^bzL(9y?~>uU2k?+M@JLZ zWc`p`X_Oz@Yh~;0m?BV3D?7=er%U}w?dOwH>nL{+0iAaQICQ$g-3wxePBE<+kv0CE z0TsStL2d10(uC2^J5lp#@cq)%7KD-MLE}{yv_(7(F^jDz&4W7JDaOHi-z3J<@&!IrSn3)^a=hX3tO^UV+ zah6*!8y(7VGIbN_`5&7_$H?562lqOmL`l*BqC*Q0OjOlN8C+SU&zFy-+CQ*c&^3=XqEow%&L1s8zBjgw$G1cG(NO#~IOkBC)orJ?1IKE=<6U<0u}vwiFkxC~ z>5tfcr31r|_VYd)j{WYLQXK6-QhLSLky3WkL!?F-Dqm+fBxR+^dS>}y$+qqe)dkF+ z)#&v87}__% zvw$cg$;SE-@rN%mGF)ueQCDd}`RmyThs_A-*-$OhuzdXs%^lH=2L*dSTJT=_9qOPt zl7ihHo>1bEB<9n>)^v(2kOr;zxjEVDVDtU%T+gmad;m3A6l&Y# zPXA=|i486LF&)q8;o;W!s#ETjZ`VlCSeO_stezoWf^cjSWlpdmZKnu)0eObJ*VM~k zmmVWS1q*e_=mil2PG6g8{*QIXSExQ0jquU+=8k4k!wBL(fSNPdKKZMBud6Q`8Eq@F zqXgP%*lci>I&;3_{@#ry3IQuM25ILFJO&%dngjYHY!pz$KL<;#z^H!hMgDOwJ$A* zhP9gV+YS|SlIBUic~SI*3JeG1>x@1rw4WG(2v9KH>3jnDev9!Z`o93tjZ!M}U#uWG z+mL>;_;)&N;wuHMjDf69rxCt7RiTsDeOK;)lZc;PJFLL8>uVNGUa(lsn*^69jU%>( z{U>NBXKEAPPQE9aXYO8@O4n}4*A^W}*tsOGQ6)-rMjGshpm^%|z$rhX<=_R(k(h-m z40$h1D;=uGri3{->r(pCalUCJF!|;@l>2FROg#SVyGsH|TaDv!jyIFkG3awkrH7t*siPt=38{H{WcC zw>buUj_|`juCXeG+lE8TibioG{f-~*E#X}i7ewyaK+gB(K0nXCl-k7W=|6L$`1&YO{HdXN;;eK`~#QGQrv|;s7;aX?ix%Ez;?SELp)746dfkg z^FDL7F%O_g0%Z}G4lPn%fdn7$FGO)OQ;xB~SvB>T>XGsv1ejgTCHAE><~~#AmYBeKl1&McS^_K`Sft zZe@N7?A3E~4I1Wrwr17@q4XmNa7v5cKc9F0nL9wz|6h~>4~JT$tpan=a$HNiCwkym zg-bnD90~3T8~%V+4`T{}nYDUd+5zpwx*WyB7n>ZR_i>f;_jUQ+0ijl4n%P3TA@wXhcRunJ**v|)%ER{M zA&kkSL_A%N9^11~tY6aw&R5|T%-R2`A@@=6FUOK$f%!2n#wO|LP~YrW}|A>L_*^HLTqWQUtJuEa*!ITzbOzpC6B}GP)A;uQr~0 zP~)v^B{iY8rm~%Z>XH2*VtvkouxwZi$kyD+;nHT&yFa}E(Sds z{1hzxr<7U2RI6xOQ!w=9_D(p{0uF0h%v5LQJBUB(cMhmM)ms4Ai^C$>Rq{YNjHe=1Cg!D6 zv|&TK4=#_=_M|Tm4X^g^<}y5|!fXMz-qE)+Gea@wN(YSdKjijU*K(azyS}_ZQ~c#!w;{%t}h-jx-4CVv|Pbq{5P?% zJx}mw4bGL%y&4qtqG{Fkafi;akh34q7rHYPtC9VP<5_U4Ic`oMv<0+{9obnEoofW$ zzd8T|6SA-w+>7a9`}_)}#(0`h)R zY}eH}+Q~ZvF4wFN8=`TPG~F%WF2RTp$q#JN8atOcGDMSE_@6v7<4j{s39FyvuTE3! zZazsa2EMcQ#n}6>_iM)DVOeE$pB`keFh-HcpK`5vHT+4#vb6e@SwuVHAm=@}?)g(} z5K&YH>W#G3noi{8?S%<7BqQZSlmaQHBD^^rNqG+PDgx{+y30$>K?yfA`ZUjj?}pHf z0Z+9MKHKEd@wi&tRDVDp&B~mS8<^4N++}c#K_D(&pk6ZS3-Ms@hV!#gi8aN@66)Cw!4sFzVKBvgioq5T^%9l%@S$TNqh z(gW{h{-W-VDb|?OXByTK$^W#zg6@*3lTYb7n(Asv4ay0|9A8=nI2Yz?s%W3DYKbo1 z8;e~arpGuP2Rg5T|CG*DrdN@2vaoSzLj==29$6P9DB3&=Ww`re33wpCGL_hX7c&Z| z`au>CSEUHDnm8ja^}LK<&QeT+I!vWc%V(tLYXLYVE^sbalLo=QCL4sw$U)vTtUW?B zz|f9@)?q75s76q7+tsboU4_-QtFt!e>y<$z!c};Kc&eBGn^l+!*D|G0clr8iH;w%g zM-s=;tyYKxUcMYd= z&OO6(_4U4<+hU~U@av<+c^#-l2Y;Z>aZmE0i{%xh9N_{+ozCfWSBMHPSNk1i{$~EW z*CuquaR>`Qz$va{R-scPUzbWK(k;*vONd(0j&{gDyInD2$mBiP@ZkoKS1;;C#K&Rb zrSS*>g^GLpDGZf|f9(NX)qum$gpFi@WXE$$M_WlE(yF^_JwHb-|b|1jjBBIR?t3CLQ zHm7`c_gY-Srg;5fFKtUf*8-EGF6cX{tl~RGMgx?R?pV7Z>Rfy)7V4;hWnCL3gIp^Z z_JG}3=BK&*=o%!?!{lRZ_DuiyIf z+{H`wnUDy&AkKF9p6kTx2QIROo?a}k8`48ZebMtxk@H2bFyEN#K=;3wkV_VP+5AyNy6*O15IJPYl z(`|M9vIdQdX+B`yeGK7>pDTIbi zQjC@C;d1%kPOrq>@-yfzpjt?M9t1$u6t=SllaCy$EEiB8lc4I_w3xk2uwTzLQqFaQ zKuxx8xwIEUfV$*+@#J(sSCm xevKwljS~r4eN|_iPHKyiHB~_aG~`y^G(=DtR&Y zEq)wS-3tnFnS0w+W2MuH$;i%7t~%{sO{;l69=vS>k$_d4?JN049x{7QI(|^S`sl5?nHC8q_lhoH;0 z(VYwsq>1Hc>)1Zvnq_{R+-*6KM!%BLD}7>cnAvEFb9Q+`evM%K58b=7|8{Z;bm{W= z7oB````BO9W0Ei^dFapz_Sv*0+pd;!dOMepKBHcCz?I05QjuRG=^a5dDZu zgFZ>dY0Cdef4U}VdJC~=d8?|vQL^Y+x!t{JT2Xs^T<$n}Bp236ra{aX@w>4Qr)BDr~4JkYwa3$Y5oYt|DhDumnUzH z3zdLZPVFGFkX6-roso*!dldd~T;TY=CiQZ}fs!+8H;qn|i9w_?hLPj2C;Bw4-j zD7qCQY$ohtDn_mEv@MWa&@OxXp%tB|;BcrZU&n3Hf@exMgl^lNKxV^hm?GFxF3!bu zt5lsP62YwCdM!YH!umL{mxC&6Zv5BxHizY-?mlN2>VNtvww33RonnkRc^Nfh^umgQ z34dD3$8moYqDRQAW+a;c>CkS#`I>GophC|<1xHkuO0&OE^>;Y)g(kE%(9Eo<$QCtV z$qpmwhn0A*0w&>A$qHbsVtc#FO_n(FLjqf>|1Syw_5M@k&1^|^N81_I1F>FVKGtll z)#yLn?HezyxI4Ko6sh!GN41KYuvjeVHa(8f%o!{s#w4E<67$)D z6dPo&l#)>mgrtbbUi=sW+$vRY zdcn~f;6I1{Cgv~Tju?AS=jSh+-Q57dHyfAM;x-{g7csc~5W4P2Imzdpn6J7ZQw8;Z zTHd-r{cJdu(c-Uwyz_K$WKCR!`TMYzNQGt{yWvwidA8+ z`>w;6q&Vgk6)To*y?1M`R8Kx%vDU;-|xzxAGD}j75aJaaN_a6u(`rL!FzVnaW|uFv(Y@~mQ0WC`l~GLh(D2$tx2j= zzO}!Mdp1U;G4}|?ei|HW?hxsue0Ec4?)9WE4(Sl{fv;%kPpoh(KhqxU^;JI&zr5k? zJL)H_KQE__y?5bUre_Gd%dAC&U#^OIg6B8>szdSPzK^oL-A&C*KY=tIPr+x>3f|5a zN3xvL>mO6f+mv4BI3wD>yUdVwc)YU6dIkNYww4l z>2uZ(S$ADiZdQgKrVJfi$oW1r%}{IDTD(h9o5|hND5>tLwQ1~g?M9;p&7@z}8s98K zY{Jt6ra0SKoOuq}h}UY29Kqh`HDT&~ylg9cO~&eG^NXiTHuvOh?iTg43~jl4X*}D# z@?|>4KX1_@cgm3Tr~bI9e_goUI)!rhy%;{6Uc0q?HqZR+jAvXGrAy4o04EjO51$h_ zdrPRCDh+G-tju-G?Zo+@89O~0{w`tJus|7pXae2URy)>|j|c5uZSx;7vmaR>Sxxl# zTP~~eaaHiQRX=T}VhNQjz_R~z%r4#j?J4Z#WRZlIbN?b3o#Y)pH44*~Uk=iM%VqKP z8;0j-nj~BlagNb$$rVJ;vIgf~v&g+RJX}W2y4zv7^&lY%Dl5OYt}b!Rj|^L(M|Nhy zyWF1Fl~7VnADgP2cBzK^ia@p|>s0n+r-^qfgayoBWLz#S9iItiLE{^U)uuyvXDfMg zot_^o8w2CNsQ=j6c?372g1p>3{ysi0-U~3osrtl`VvLZ$nIt*=ZgS9ycfC}Ht;5Gu zMX}-G${qhBkBv!ZE%;|56X2Uma>i2t7O4p&=cxH$YQTu4E-vmmU@HaXjfPEP2D7F( zI28ewy!o2J#!WPe7=F74#t1Wq(8@lB(ehr<#L~j4>|^0Z=CNFW_2xlZs>FYC`YnAp z{9Ou2O0{|=_HPbG8i3j#5!tT*DTs?6lcd_(fWB4eCjI;XZZyWI$b=T44o|M`xYq%t z07&A2GpwixW5f@+*PF+a>)uwimgDM6qw)++gSnTrcn6d(0titaO#tZoh$nckq#OZn z3&O>FWhg?8Memfc&X?BjHZv<)W?g zfjgfO3xe^$?b$P{FH4#`3Yd~jMF!HKq{s|;chxp_2#MwaFYBc-!h&S^W$*D)cJFBT zH>vzv0ZZ0ir{^CQKk%F`uO5XQ1n;yl8_x3c9CpcfUcY`_N>S0Lzx++e$^5~uPWAoP zR~`0mZbg&@t)tD&%|+sG?e@v~4hBqzqbe;pkHHZU|AuOqtl1o<*tE=?^v~G3xs^7b z_n0+??FLIjS|j1NU$Rvg#6VBc}4z8 zy47B;{o$p}F~R0I!Je{t=!1^O^7r@X_|t8kbLn7`PcW(A+4nc}Z_$f&k&+4uNGJ!# z-9&+p1no?A6t%_bJt{br2#)u{59B3C6c&?9T4bz z*v;eHsg9}?u2PlP6P!bj`d*AFkCKCIIz1#MQhE{vF6|u$QG}iz&+G)HeBYZNaC{24 z_+)aUkubmt$-^R?GY^rgZAdg$gg;-eO?ie)FB>JT4R4dF)YFr5z+iU0-kkryRk8!{ zk9XklSnXlCiDH(rm}W|;OI_3uE2_`ZCfMaY|631>Oafg+>!#|-LNo4@A!nrXaE+~( z=fV0-Dmhn^e~6^@f}=hr!%(;k-9qOjitq4`TCcQTVY@_dGPqw%3Cs|W0mlvpA$?i0 zKmCxIwemIk&NqqJUTha@0vl@Mf=EmkH!5ChL6GE{W#K$HTuvPS>woJ;TBP^*Ku-NS zI%6|yin8{1ilcVBhs|Ll$zoLwasiSYTh1r@5^D^IhQ2hu!R)~X+@&fcC^%n4D`F*+>qJhK{>3?;`bJhQ@Bjtr~GpKC=SGiRFQqG4g z$>y~jPm|SuuI_PcxqDBQ+jl+(KNL84xvg=!VmSYAHZU356x6@FYLKn;^6>C*E}Mty zeDG{-aEqg9o1@)*V!Nzqriuuz^yam-HTm@>qZ7lxIp%|{NR7b$TIDnEH69M$35QjR zz_<$=fir-1eKPy+USBC<0EuTn8G3=g92)d92FRY5cLC4@#9C|$b6UX(2b2w_+v z_u#;Eps??i*6;{>LvwWhV^u$V^3{qyxhi6ccyC9B^78>dSR$i`p{N@gKR!^Ko?$#g zen_$`ARs2zznBz{jD9_~G4~zY4YJ8jO89-St`^#W*cOD0IpJ?YjCg=#V^W4QMe`?u z!DI9hGJp=qEnK&KyEENzJYFVq7Pxi+Xt35xLA?H=CfTE`GjK`O$wG9U%{~bI3=Zek zbkzJapc|ecgW?93{c>HL@u~y0x!C)4Q@KXbm4R2cf;L`0EVSkxLR#3nI<9_)LiCyJ zT9y4|WmB+NAQYPg+hBp@uzF-#>;c^XFWp@>I^*1&oL=i^jqaYC51aBd(fWOeC?)DH z%)sG5ttPyOSZ4$gRTcIExFPMKCDNGtq8k^m8DqY=26zGrgBey}pT7#6f+)jq)J$_$ zUq8Z`ty=vKOWRjM(TtS65q1m8p6NsR9XNViSPhi8;7#GP5We{N_x(kLFlmMCye6Od z5pcl@YG7#`P$=p&39AdwKX{_$*q;)R)pFXw5B!$jM{ccE4qgBf7m&xn;25(~ONvmQ zOJ{c(ZoLXQDh#PxaX-vnu%6>lIKzK#m1_I>lcm(MHcUV_Sm2;cVWYcSS6ot(pRN_0 z!v97sOfqQYepxjAtk-<8Ps6H}M)K9O5DN(#b)6go^f6`n(djFS13T!&@Z0Q+M*k(p zXJf9BK6dCihW;VeaSe1^!FH~r*Mmt8tf4BQOq#ja2aHrdR`>p!d4u0P1~hXFt`NqT z^^bRZ#0rC8%}7xOE;_lCf-%Vp&w=T=>@~R#PGf{4R2{qd+(4jLhKTfvs!4Y2K(4|? zP2mE?#b$nifpgS`U3>Ezdr#b-n(&$+{D5zA{V>#301l_!DUa#04&C@nZ0uK7r0L>D zPjSOO$?Te{!jNcYs`sudWHYYg=O=|~ke38EV|bUcA38N75_kox(9o|80;b&XSzBsT zJu(d7^k%w@moV_|CHe{vJnh}8qqF$U8M*;&+|A5uMn48a#<#dg%sEcDL9pAU2k0Gjh)N;6_#UQ41(Ix5_qy?1R2}R zu4it(3NeYgN4XW%g)w+XxIVaR*)+pCLtgy;zIxj8>hv7tYjhi2=%lPT;Dv@ksMVCIB+?cY3 zF7C8T215+h4;_Z4R}(6o2Ca9k(DW#3*$-o`*Vm^mpI7FcimQ`r2d!jt6{BSCJ%~7z)K!q_Z}kRw=@pB4d;pq zbL-w)oi#3>YoukZpJ2PlK~36l=8kkx^pqQVYD2sig?-A(J3P?sMw*ns`KB4G(SKJb zEv#FhLWK1D>toB^nG@=@9L$>XVq@-^<4yOx%oV#bWQFe!C_Bb-Q2^-0Mgg{y8vq^k z*!kG{eh6-K^}PBw`LD2|!uUBo0AEmt`Nv2rkl)8K8&Lsw2kC$RU12^FdP@c57(}X{ zA4(dS-B?T{`N_lB3B+k?+c2yU_Gv8E1+fy1DXqi#Vl%WeYD<$d6*?NGpyYRijlyh9 zWOkAt$w8>MqFlW92Arp5s^L|m7h-M zB+oW;tR)9VXA3Y}JH3+Y&j&;yWAc_EWCiq8z!%~H2{?hLW>f>3i66-w9y z$`^02eKNZS06oqmE@Ks0oJd-c258_5!j*j|$(S7!X_5;jn}D57aBB_ z79+lM-XI5hd1ic41u$h|C!u)s*v@X+zzG0 z%g1vn8)rWT7jlt_Thw`}Pebv8@4^PzKq$u+kN@)fe7p`%5Q}c&Ecia@IXPO@6R(Nv zx{2?`T<5wH_%E75BbL4Efe7w|RY4L;K-ZJr#!>a(u3#J(e6rnXR7A&>kd%}J4k*z6 zVDz`rx{P&(g5_YeSMv0SaN7lmOx8XnpnlN8V7+_V z7R7uoaiNnh{e)t2<;8>IxaX;k>awGFulbI2YDkLK$1j8r;k2}jo(Aby7GA+np=?Zj zc2c>V{wgqge5Q*#C@~I1!X^B3eNt%gNIW~)zagvcH|uo+)5!PC?A1he^!j7G*XH=Q zDJMJ!!(I0e6LC6m(x-SO)t<#4E;wWB&%~6JxexFcuA$I_Km}fn$H-(6@up=p(o37## z?4uFO*L(0X5uC>t*HkEu8ONxUs8;eW_1Vo<>LqKdh(1^%b^CdS8OHARICO_PE3= zDYsCsa2PL*LG`^&U(N2XA`15|{utri$`hWGhZIuq>Q{au`AI%T)5}(;k4^iL$VwDx zl6mvil0q}&6yqD8iNq4G5AdpoR3Cs(p(Z&=3F5ul*_bEz^}XZnch)@47nr1qsY9Jf zljf;oD!istrlQvSYF?A%(}x3N_mQh&7O8|*Dd?o@RfB9_=O;10l)rc_y8&ddO;mHl zPb~WN&?!S-DH-$tQcwYe=#=5G948mop*ED-Fsh3U=#sG~m~InKC#XVIH@~V*s0Rc8 znSA>7>(`c+fP?8H`wDhV0^TbZkh=PyU)jui;1DinTj0>;mk0sq0i)EhXskIzSIscb zvA_)bGzvQacv^^#=nnr(>Ah>P{r9hHxxPx!kt01L_AMraomhANtfphfCQkZcE(wQ5 zuM(8NMsWwj2P9AL3=DMLTlY*9*yB?}4NB+2re_BNg7>Ac}SJsk~L$KR1U3_tf5+}mnpu=ntQfV{sofnP^TSvg8LFOcaU z`H$zm6^+1!xmCvu2JctCt_YZYNwambJIMNMGFI)tg(<@BH*)YeiG!<|pcZ<9i3j(X zU?!fES(=z&E@e-u&NnF-n=fWz83R+!) zogl#cYeK+#-5NYU8Eg-#$YBYTJpsFqw88DJF52;R1&ReH3k4zA@Ib97L=St9OEUut zLt829Cd$Y%s13>vScu?)U^nOonV-e(5{X1~<0b}Yd}hGtE6FtEtSNC6{MiA&5|BIa zJm-Q6X32pbxxdIh55CIWA?RSMUS__*3#mMwy_l zu|!I~6MR7&a+87uYEMj_OEta>Po@C7rtJRCnN9N8?$@^#agSHsD5WwS$JYBe9W&Ut z=%`cV`olbHU!>47z7)!5mwlr|azTjdQ(dR9K!>|2a*rU%-@a?CA5VM0zJ4nikQrW- z)1NS6Swa*-&ucMPxTPlXl;4SU5Mbn{VY6zwA5EwzDO(5rWoiT7r*|66B!aWdyjl?z z)uF*mkxOb2fMvn3*%+VbENN01Drgj+y? zmcut_buUtNd{fxoIWqzw`iFd6L{yPTyZ>x(n7FIkR*l^i4F_7k&<6XVM!ffM~nA!yqD@F21qIT7^aqm6b|2Je8ow1yJ``SW*mBj z)l(vQTdWowpE@{!r4+1Dbn!MX>@!S)i;ZpNxG_ys3#!5pc`Dm+1M(5MYcV)1DZ3kn z{mP;>q{5ql?LE|VL!a(#ohc%y7P5M9%6~>#k$uLinLEJWYpOjdB!#|Ex%uZs9aZyS zMF|R@b-l$3K*1dU+D+z z!k5wbPY91TJ#~mCoTzLEVDq0pkVt!iOODBxva+@wdtCfT5^C=wic7qC_x&^c#BHkk zZ9xzb)EAG*_bvp9-roCbevO@df{=_C1M347t^-i=QVVZ=;gs8EpNwphKzO%OJlWOF zdjq6xR;#NVm8Zcn)0@JNaLFP#PRM5*XNA&6!0lNlga^&LK4nGQC2m<^gvalfMI+kf zRWEKk19Ez| zH}k%9j7^pj^ywCXGiJJpCPbnF=yb@8yZLBiv8__ifsdmxw{Yf1ryui^jc?CdQGbVc z+(d2AQy1;2-8?+XyA?1l9LE2IA=I&;CzaGcA+zDenveskD#;anuZYM&B!?2|%aiYj z^h;B2qx;9*x#F@GwU$Wl0SMq};LT)5`7V0%c*>x#ouB`Mo5waRF7_vdrjvy!sM>vB zhj~UydpAyPG&%=0c=>=t`%3GB5totRT1)n1#QWV-Uf_XD2N9ow&2SLAIVCMi9WG~# zP)0>Z)vRVubX8Q*G`D#$+-7_SE`ZHo@LDJ!ndz`di3cl^mJqh8#qqk4C}%@u}SB zni}j)88vXuduX+`trucc%}H?$La-zh2U+y0?C4$zI*d|pObp{V9437 zV&C9D8HUx`_dV_L-{aG;&7?t{jcxFW+|DfcZ^Xsi(vnKnJ}8K*aWg!_W-s^H&^@%I zM4TDeSCgEaqn~uf*AGK6ZwTH6qpNW~^$nm1$j*iL(b3VF8yfOgQ&-QGW4HI4Tt=XqSy3*473H1+pAgE-4R{MIL=%d{P2SZdvnpJMD9y9aNJ zvL%_`dYz2zsQ${G1lNOo>t8|=EF~N}%*#ex(o&37qQAY$kd`rCwfS1(YxY4pcv@Li zUhdAvwQRAduE!MO$Bmwy&VbPfS*)!P-3x%Wv;G>&G1z z8~c%f97*jJEE@SVCPl|clVi{++p%n1|xD(te@yktr(GyIytN<(Wc>d_JLLXJ;hA z6kRE&u6~`FV#KArv_#Ga?4|VqOkXm^uM9_2;PS{jFPOOVdII*BDLRM3*f~=aXnEc# z8KCu9vUknOA~i0$SuE|tZD>UI+ud&^$;8IZp{_10fp~;)c8tAre5y{8V}*rb@_)Q| zd(=4dWJwU`OMf@9WQA-`I#wr+W+AAO9V2cTGRvk!`F>OG>{CO)Y36*Nzs<19%;d5_ z^$aMNO{}NXPvs(?l|D)e&hJ^Qa5T*&UMALAv%L1gndD)gK%B9&{R6rdqK%qxZdnHZ z1_d_z*<*E_Gdm#17iNK;YLt^Fmz24G^*iM_M~`-K?QZ}2^;9zYn~7-Z@0wWS=$o>= zQg=uo^WXzSa3zFzJmDoa2K!3{XDUtivWj3zRQAXv*?|y5p;=@Cv*)B>p-6|a_f;j) z`e1DtAY(1OTn#UrJuF3EgKP@aVMZp-&t3>-Hx9etZ)$RC4ZWK&G^w7*`ZRJQDD(($ zfq81e(=#NLgrhTP@Wf1Rt{{8uE}PToNDX@6AKPyK@#BZ^%_ zD=WdBlr!}GvA?4u?m=|(R?GQ&h9KJW9m#WJD9;;>Go|V6c%Rvz%>bUSE{2T&n1xp8e>A*(;13oj3{>;27{H{KwxH`wvG z&^+37<^_Tz2!G&Tkf|pl1gj>VsqJ*}D+L|N#Y$u6Ytje*^$5Qsc{&bvNms(#l+7&D z?$=LstgX4)F)pCf>_Mc-lU&lEy9?5OTk^)#!Dz^-Ss!?N7!0!qr@gatQ4LS}VdmKq zCSBkXsL>rIMdnIae>H#W<+JwdrGRd<*FWH?nz%{*4o?sa^^WfPijkSwWZ2*H_s~b< zgJ$lt$8CEv9;9N<~n=><;|=j~?PpWq}%Bk83Ieh1# zNcg0ksSw@Wl^5eCMak{TL$G|{Gj=yhgz8mB(OUN8eRz1WnVGx0!YHC~b0RLTe;lmf zAE~gNVL34!qhv@z@#t#!!@}zub?aZadI4`HBYpVBh3_m00a45O#-E(xNN|%+*FI6Es9mk&R8Oi8sSXm^KJ{Si4ZLs)j7I7JK?4%A*jnlb=#I; zs-Vj>vMD@*z*Q|BPg95H65OVgN8|IQV)7F~{oLNwmBoXTSvHA4~20%v@RyB39E ziD(>ZRM6FUFD|P>clV)0nla>FQ{JmScwZHSs>Kgdm7OF&7cL%e&lafTI9E>ciD%KAC_WauJTgM~ z^UFMFM7dfAeXHV{@t>HkVAO`pE)&GBBV8^UEHU6cM#dhmYKyNg9$w*Id!f>@PP1tv znt~98fLl)M$OsCgw~OP4yO4Z$i~r98u!0t**1EUwXCmyzYc_1n#7b%gTW(>T@fuhm z3x3v1et&Mr-i)ca4#63*C~JOqAw0mFI;Zc=sR18g-$V5%f7#>52K!v>ey5y*tBG1O zm!yg_2cZ&Pzn|G+`=Ab7aS9;FJ7o+Rv3M|2O^M6as~Ktm`YOU>Z`ERZ;Z?WWE^DeN z5NjOclK&^m`7J&k40^s9o}g z&ky(vTfg0>?Ka ztp5;1q)DmV^#iX7(|3AcKByy+F^%(^LPZome+dmkl(TIeomkaZ?#MzX>r8{@kf zFcXtz?Y|Q7`Cfe9;5vvqG4rkZKfe2d)J3%7nWto@X-oT)(;UoWE#64(bXlhXmd;(m zc<`IELPbpl1)@0`A6tG6J$0+2rdmkXKTlc+>_**+SOkq&P_PFUsahNy_=MiHv`>YG zk|t(mS&tx>gJy&WhrPiZhJ=K5sc){19n^eq_{;E0Y86p}_CyF$M)^zNo2{5U*=-P-nFZ^8nwyu`Zt^g~C|WKLhz@^LU7UCe*Vq;GQa)sI)NesuN@ zr8P>$*`+$(flEZ+8D8H%5i?6&ZLsFFSVe%z5KUXW{UAddJ3lB&y(jt6hBZ^a%zNhc z1!O%Y#gEdkPvbJoQs%y3K!S7QuH?(RwU!amM4JD~uc7LSM`LEjR$hdRBYXRo#`}K$ z{HQP8Qa>%l?}A@~-|yF(v1{YPM?hdo4Uaf7N6x@TK$X#Iuxcy$8`CJ*aX1 zmd}Redw3O5DPUjxDyLFtN=i!BlLgg1IsKS%uF>AUKD`8kOM#Mca_$&6x2rRU13sXQ z*qx7G=ZsN`kJ+41=Iwy?_4l{zs)3CXtLoyaprNqi(i7HODk{-&ar95|M#UqS2O}`0 zvwjQOFEOPL;z6xKiwEPFzByhUkmMGT7ogyImoG17{j$I6*}fm};3F03w7avd?=>Vb zva6Jp#3>{!3=$|TSldrFFqKjex!GVXp zHjOLe?wvEa#O#2Fp0VEbao+XxGvq7oh}y=J&}ZcI4s1r0_lWlQK_EG9@kZYvCZ)k}EYts#d$LsD*QWts4az7W(?&N0l$Q;Wewm;GC(-k8w5RsrZ1vru{EvO)xpOE;f&JJx=Bzj^~_^d;__(JGJ z&Q)i;v%P)m`M~x(!9D2s^-zC*KN7EUN7cumJ;y+}r$Sr+_H&hgs>PPkVzuWnrXOAs zCyhYI@oCtbTTduIz7CQ$!Eh`b zB+f!-cCY#d&`a0~(uk{r6-J$D$@s2#dl-=S%4h%k@>bQfc0U`rFcFDl<_Wxg2c0@x@qr@qwh4E*Q~xfLc-dTa|($` zb3}C#+20^ny(yG5;b~D%6R{_wJAntwHfJ}1SqAQNM^2R&%jf<#N54Y48@PZ{(S_vR zQmguCmCOAoW>8>A&(3c9-5R+)2090st7U2HR2^B}tqdBmzl#MQe6;kgpUS_n1Wo|$ z28){6T@AcEckqE7xU69hsh~H0f6Xi;)^(kA>6T0^4(agR9O&(iS6-={*<`hTnf*PT zSrs$qI6%{_47G#KP1a&AvMDISGW)?zw&y14Habp++mA{&k>%BZ8bOY{v#?shbq*Q` z|5T0vGy$o_F%jdrm?2(EescWl<$LlK0PN>tr9lnyW^9XF^<${`p!%`v?dLh!+2TJc zFigwdt*)xSl?LCcfI27WWPn%td#+lo{}^niv~WK_*nmw4cMf`BO8z0A<7oA~jZN%L zoAAm1CUQ$p?HRf{GJ9m0m4sDuFrWpX8e~JRGJUMdpHCnVkd?L9H-1S&(!{Qb4R|zZ zY{88+v#+=$rJDPJ(U&2x=-K2^CS{}ZE(94~*r=P&CjxR$211fpZb^NN_);=|SymZP z&BjzZXHGEy;FKWJ!otwwoixBie0bwMREnp4!`2 z%E`-*jZM0Oa)j`w5tj^1euRhL!%?J-1CNALrY7j zqKS1aKopiJLTC3(h%&3z#l)MRa6`gcsfE~ha_>tEB+@ud(&kb@fe?)m3mx{}Tn$e$!pH@GrOH${HKUw&Ye0IqccAu< zDb9E?+eAxhH9L!}w(i{jRm+?1hg|XDOZTK;7`|VB%7tKp#w5+v=$xK~R><+Ax!96C zYE2T|$~ui$jBv)f8Qp{lF00~41CZ@UC~hSuyV$sN54O;1<9WjfF5m|0;{(@X}x zTyDBn1RPO*a@-VB@6nm#bJf2y7iHZP>qRv={uDyByssiBgN*!8&_I;Cb9YR1d_Ger<4KP_s_=1$p4*%m_kJ}|ln)+s@F=?YXN&)#1$Q3 zoN3XR!}l}8NMCAUdW(?hC07?c?UP;sfj*z=o0PSSsoS~uZ z$Ehncp*S4Q@E-$^-|0&`+pJbQ*xfuG0F@6}jXsj$2E|w-|A5c;T5u2leR8<_`bSn? zUS|+_Dzdg#`KOC~;BMB;E5da!16cw5`Uem(tdi4zt3gI>Svfy=#ecEm4reDA5PN+g zGbgA0lsxmMwzf9^!qc)*u`P`I-6E53M@K4vt&7W_g5PN%Wxv!+_UjIvL+` z@&aIA=4bp!Iis_r`ZKk)xooi`tKyN*0pyJ=)CFg}$JvSBM`xt3Laek%3IfW;CK?M` zHJCpXvBOgDdgO-Oc-tMJf}pHm;nKW9{3XmCb$|^Ng}HzJZZ5 zu=k8Yb6GOy!OFpZX2m1aNHN8}>%7%$L|kj;w+(=E2oo5`mFv}(k0%z!doVpZMH zw8<(5$3i3psQtjFyt5FvisW8LWxu&(pTQ}gvHNLd|5z#cq%*1; z8zJlC@>3(o`MwOZ{GlOfZ~hL;TK`8rD$m+F-d0|?@RFrvS8g*sv#OC4L#sy0UMC+r zvs}D|e%90116`$g=|mm=(+v_$FFVLMv<{OgW+4ycHf&XX_^>x16%+Y4L)M9dJRR^( zKa{oe+1G;~y|tdkMw9cqEUYQ# zPzRuO^Dm>o_ehcMZb@nB+|*{U;@R2eIXBH!PLT@xFPIyl@59u**UWEstb5nLCczXN z>!vpJx5;Z`4}a2t2Pgi;_A7Le`0F6|C@3fZ0?RBaNt^lA1J)PC!q0_-%9-SW`z)@x8HGO2H1 z3&t6@L@^6TmpkLHd<9=S36?#HnHvV@nBxNF@13I z>BK-BY=_tL|C~0_S=aZn1RW&$ z-!Y-^Hf9e;I-9MFs6SE7g5AxV-T`OJ%lF(rS}U%*sn)&N4t#JU?Oqg)xI|r6TJ}Rb zAiUJF;S-Go&(wgBn9zg^L8Lc!{L>q|sHaj3dg)-6_^#U>J0RXIL1U94>>WCGjCA~x z2IxbST3VF4;6C~UBU#Js-7Y#q402pH&%awrNL=6)u41w&1JQGS8s7S;Q7#8i*7ck zNBnd3k&A?p2!ha#ng(Sk*nEHwSaKzXG$=YaT;soZnSkVQ$kxI*W|T=t$^zLcr_n#e zjf;OC5&qD6sc^}gsE1-~?e#S1PKSx(^}vm7qN?^6H7@l~JyCTnI0=x$UsEEf;e5Z3 z|N2Xvl4B`q_KJ;>Hd_|@mxjeh_2&jbRG*2ixtUpx6gvzy8eXQiO%HsA9nH_6oFpZ zt79P_Q30UpVXU!X4}O!Ux4(6mU(-sU2*qcLTCluk%~1YKO#NcLL}M@hW!k|N{<%-@ zN*@^J!dsV-APKRtKaC;2DX#ivy^B?2uAkh>;;bbL4C?Q$?^Ao#J*yD9o606|nocOp zmS*!&;W9*Xk&nAWu}q}w3Zk}irk`A33VpgVV%QZ4-=|mx`!Hn~6Yw1giruE``x8$7 zu++I=o=)onH`|=qAB$Sn*472Tp%YamW4O8o39pk&NSlf89-IM>ckjcgARnDwHtY(R zLQmp)G+uOzec%S$5BWzr{Zq?GGvz@+HmI=oIUpv)c>k}6+Y_6L)$rQ3V-2nQjub=d4 z2`NGok}mkKCX;+q(c0~GllzQ1ND=h(^{-L)wzW}#rmaHO{{j{73153$ z;}8DFg-n8reJLn_Uw2}N6kcIFO03Z?sRqiH(u#v zI0Ie1DPb+a4B@c<_4UNErhI6em1;T$ih|352d*vvFi(K+C0g#Lic^+Fs^j5Au)M5b zcx+OOCU}w2^W3HG8>S)Ss~4^}8sFdxyLM+;j*Ev{ zivLwjdDBdY;mM8$kvjZ6L#RUIzRfD4X#02j>lc`yVO9Ty^rDeJ(5v?BbWffD&YTZf z9x3(HsZ30$+?O>+|2I5VWZ)~)1-;*3eJ&;2nH+O)lXujJ4}CM+{w_QV{^H8)GgQ2f zw>PCI4ie_;<0F}E;n$3~XrOJ+{x?!CdRJNCLu?6#(YWE?tOgT`W!l_E2@QKiW`=T(f$C@{*a(UW%<>2C<*zY zzDZbn8>{W1H#K$Zx46A~_5IURZa-wLTrWJc0L8TRfK&LIz23*<8a;ShUnd6Aowp$( zGPaqTUD5@box=eewWOY-Lpf_O{tqIBtDD<2q`9WH)~~snwQxEA1I~A_YX5%qL_4#g znn&{rXn_8(9@BZ@ zHA_1?J1V zdiQ7+!R@z@K$#xfbkf_@1{ye~b57C9*N=l2x)Oez6+JBMX`WwS0~5WCf!M-e|Y@(Hf`WZecvxikF5kSY;eF>viyRAbPLhvE7BDHxo9~a)zx7*(u}>VtX%USfFczoPXW3o!zMIL2 zb|JKRTdCfR*5aaPqBOvGM+z_zdsII)mHO`rI5}LyPvjL;SM*6}hXu+Zv!KGd?9JHiW^;By{TFUUTaz|0x4)eb>K@BxEPhas)eyuecLE?;WNEVjp$oJ}vK<5`@KhcRgE@a05 z%}`Ymry=601I2$XI8Xp&J+LfW3>|hMbfmbn0gSKs?lP*V*8W=Q(`zkoHl+wf2znBc z>{lZxfHn^ppqIJeoa_{3enXHM#=eAhYVE6PYT{u^==H$GU%$>;(UMTdc z?E!sinGV$Nk`V+`N`Nx-30gnXvEwlk$*I%{W}F`oTy8!@d{c?w)de84ny&9(!C4|` z!xNbNIJhQ7-OsD{kLG@0V^@0f>%rW-2xGdH4@-u&yMe$lt07)?3c@Dh-Y^mK^ z^Ck-dRZdx<_5i&5sb1@Cz3|%_gRlOQMfE#szw|#}rjXLSq>aKY>@Q%hJw}IontQ?Q zZKC&dY%@B0?d*6{&yA*hI+z`F7JUzX zM{a`|C>|w9)6t*e#cm%Dk8Pm+VCt9Tnw~1?zxp?~u-hY0{e^kKbuS*A1~&z|m(ze{ zHEZb5^tryF!K$&ki|Stn1oGuclV`qa1tOO#vrk^1eCX9l7rZUi za%rHplfpc!#Ug^2BH+)=gG8ZxB>rQcc!mX-RaP49Rf5AY1KWMC>|0@GHB$~tZ?XCQ z4PQ!=9Y~zQ-R55=Dk(*;p$$LWQcUwh^2J9kXhE2%K8;{0XYMx5w2tqgU4C!fscS4> zVY5GJC!Y@90xa>S9ktfl>yHO&9RaJs-O(Hj8woEGks%v;6L?X7y#8CN)T}tc&RgIk zqn+TL%-G+q)S^^j4=@CF52%(U{*e-G&==~T4LcRCgiL-?dI`bB`%4O=QF4;y_W$v8 z)?rP)@82IGEg&L-ASFtdAl;%g$V8OUARyhH3Me38csPlV3C!v9&FNbYJY<+U8&RXLc!rM9 znp=!$nMJ1Kuy5(EGQAPq)NEO+zu)xU(Ia4A;C|TI`DWciiesLSPx`|%q`nG@&Xqpg z=%=1fP;o!`XL3+t&A3e({r|N9$J6douV7OgYTr>nae4S2eP^8Aa?{)rO(Vjo3@2qP z+Br{(kb<=CNt~ZryRZDJJ5IihfLmHu|N14Wr*8ea#N_7j@v%eRs0)}L?nudEz5h}i zQNB)lU)b{=)(Or;GlFbYh zB#v_cY~lE3Eg34Qi+d>y-O+cx0DF#C60do?E_K=K$eQLw!bWETQ|Uz}5d!7;jQ>ok z@c2Xy9yg1ieTh>>(;`-&JSk&uS{rI_g@&W357U2i0pj z5>d^IU4Oz(599~x{R`>|qV_bJ{%Jf6{V7azdp4;$x^<6szNK~TVuVyM378D3;7QrrdbVQeR!1H5?jav9 zoJLLG29SNT{My3xfyokW$hAY|g;8E*B1m?fYToj<*G_PHUQ@^O^^V-b;;Nw1w)I_ZC%{QXRYvT$p}!UAU8cFYursNnU}x#W7@zkkJIs|J;LqbEh~5IPQW7y3m#vpUeqOd3+Q@{16yjR42H>)MSJo z+?&lLSc6Nqt8%GWRX?Tgp`UV=qjMO5V~BckQta)GbK# z^9KlcWe!WtrPJ$h-3Yq|421fX5*St#kVLN5&FLb>f5#mc(@fq{(*JemQV_ZRe)roM zwvqH5K1W>Ize&S7ptJ;IcH;;uMKgt&&of$r^&^QJk=av3(%Nl{WKDdIgkk*}dcbVs zO^hf^l$zYC+M@b2t1xhn{q6a=Y+UM3pn9ww@$SRy@!X<=K+&v-x2}vIF|M1w>z?dB z=x8Ngj;P$CCsU#*kMzPs9v0^5Qe8wRl-uOZoB0PCz8q)s1jjLXLWEzJNJ*+}qQ53Q zfudl(1hx4Cz5^rTneO2S!f1Ld1N9Rk67=S6#m8;7$W1hw!mz6xW-np->5Ys>x9Eme zmVN)8X5Jc~TI?rb7D>MVqmogT^O@qwsi_jZ!bDM$3ph!uWU;0Y)l+t1bf2^&kur%o zgdX{aF|=jZ7zASP*&tp9)~i|mn16*6u^(6u59EV)#-%zP{AV*I{o@iiT#x>(ZH}(+ z%iik{>fHVNS81+RhBqmHQIp#q3{$IEhpsg#KyLo=iJb*9wa)uFz4{cAP#N%g9`|L;bxcB4SV9AJc=YG)waD> zn=&co)Wmvvk*PX0HKR|mIm4Z3{*AgXo7yn2o4g>Y2?*jT{9{)&Hiw=4cK4o&hu`5_ zBFHB?IwSv}7H&3IpFJTKn9&lSh=gB22eW~c1sxq_2S5@0OoGM~p|l1@<}AGAJur=G zcTZp5laHjoznf3M1DzS6Twg2579gzw5e;zdEE7c4ba25QXZ!q(B)|jfBf)O|@VbZD z?sXO}`=p(dvNBWv$jiVEc;WqiPBorTu<2r7dU9@dHt6$hqFD;JC{2>xQNI4lHh!1^ zd6#$f1}+h>F9t1#DZBlySpb1hxV zq?r(xFiZHQb^%yS<_@xsnMjmSqgIloB>&}y?**-NtQMO#8EK910o^|@f*ShYe<-h( zl+EPPG3U#;&!0a*Lzd3YIyFn?3Z5gky^g*9mOJ?7ugszY?*bf3u&0c6uxsvZe73Ne>1ioK zi0+enrnP>^$E(LTAk&lM-*Urd9Qt<`T5ggzJji8Or7+`dY6 zhEGk6@3Lve7izY!L9Iw%bDLA&0`a}pZ5g(8vX|EY@|+rKoiI#>`vbPs8*|55iO^yZ z_mzx71N+wyR;_*<{`{PeNn?<`aSDem&~P6g*Uqu5o5!EWWNzJe{nsr_0EvOMnU^zw zjqO#_E;*IM(#h@lmHwEOGE0?4QV29EIpuVji>w3!sbK7M{Y%dFFYIR3&A|ptt!ZP> z<;wZg)xIVdiT zoSxQh6A}|x7KwI}A=-gG(FPLqlv@%iNjkgNbBUXO2frwRZO}p@B1()6({F@4P)Ryx zWURKHs@S4{{2d|zVH&!YPa@RS*W=)G)2@P!dMcSB5kySP$rn8ID?EsdP7_C14IiQ7 z(vhb8z?rHVA(cWxL{jFWh$~am&M0z=nC>nW5I3)Sc)^rN{u5u%!+3SoH+uasHIms( zS$IPe@Y9UHqQ7TGm84v8J`TGw83@5hihIT0hA={-un5{Yzzv8{HMEb@+CI(;ZCNFq z8*A&iyyxt^^Bcm-$)2z;Jr`K}v$8!W{OQD>KKpwR86@>{w&y)0e}w*y*l5Rvf3a=s z{T|M}-!FCUcN@{3pL!__{sn5HVg0h>EicA?>x1G= zUc|K%F&Pj2PgZbLA8rPwXDpBw1ux^Rd3h6xyc_;N%C5?;7gMGZ&mqZ7h{ucA+}<|% zhI$lIqhBJ){snu!bjmEV1(Z_XXkJZgR@froOGP8*^#2gFix#VTjBd{1eOp#}X)gvK;d^#)@A~eYKCK17ZWA^khx9vo&YhWc6 zCU5Zi1x8#XUH~%DM1N*x<@tGodVF*!0?~nm1iU8kC1oY@F^e`IIN<67n=~|5rR9VB z_FJa7q|jz@C{KNTeIe4_1ZmRu9r^a4B~ zJ!rE--6L0Y;4kFsV7$`I14LEjvJPi`!cKDF-FOwr-y3lj3}VI``(U6Y=*ZZ-o1; zMe056U)Ig=X31Bm>b~(*--u4Nm7phTFfpx$A$9YH=(WO5&5#FOiw^qgW&DVf9PHX_ zIP@It0K{;eDYq25QhXiwOWxR92bgjyMF3f@2tCDz1tB^Ojn56qrdL7kL05yS+%2Cd z`>h&xYF~1`UW7I9#NL-3e!!l<5jhB}-P*ceTPlRR$u2Q>Y(lF9s3tbUX)^=mzu%@R z(uTWWNRg=WQT<3EPDIAk+|K}REJc3C1!%c#*!tE)#9gQ--ef7O1Z zO{}iQ{vkcn@uuuRU!{Ih>Z_!QZpnf$>aoQ5WO%&zcQ}A-Wng_HQQHxy*o?&lTRS?C zgBUQdX!Ecye5n!dI_Mzw_vyg_<~X24|7Ya$28)#Y_f25xNa61?F@IiiT80$4>(g7J zuYv}AvkI)O*XM>|ftjhnBtrgK%-?O-t!=Q|>M=(+r0#AA7vg_)qXC%%&7O(UU%vtr z#(fnWZwde}3BcqO5si*v1=I^S5X z6(-u)*l@1D+88TY1Txq5M(C>a%DwO>^QR~~~(vFUba47u4bk@j1uIMyu zYmVm;u}Tb$>Vx)XQL8>PanOk_n}qpiQ(HVG8CHsrh1?l9IIFMsN9h+@MMO+(8634m z9Mu~SrPQ)JiX?k;2zUwPi_(j+1DW)E z?qSi)5XHo94Jy$GVQ+wjGsDV&o=}m7P>xeAR|a`2JO|NG`1sY=7YAKnt1T;CX;ibrM}KgST24JUTwA^PD@5fxBthp9XSwc(S+q9*4h#q@;$sZ?i!R z)zxHg#gj+057Han`Cyc%%hGVski21onNGO5n4+C6_hcA`m~ncYU9;12nVQ;Z78oe9 zc}zUp*@^638{uqP$hd7z|BE&3Bxm&O-m+|JC@abIJJAn2=eK#xt*w2Of19lUA5TEZ zm_3NM$B$(-wjO}25=C17^T+b?*`q6Q<1J?21dSV)Oq+sc`X1*2$KKY_W+^oCIgGcB zLVZND%XJtI&Ce*wU3R=UVP zQCgYPL*t{vXE7rd>p~W z%}`r?6;P5ZSD9weVXL4TFZH$^O-Ku8X?^IRqi3k!uhL)>z%9XY@R z3_bWx@&efAqWY2rSxV)%=0kqLUvQP;*I4fAMuWwMHaDQdD9Zj0q2)s-1(G5p5(w}l zV)qV9g71I+{P}uK@PN1jkKi?^2^8O8OC!IG{ zRS|JN1TsD#Df|c|d^BaUAj8ed4s!BIe|<*+m^(!NhvG|oZK7B|BhV*vO*=T;80!nM zb#%N5vTIgTj%oR;$LGYW5@h8yNF>s23-}^Ib-WcXy1%!VY;%&PWSp=8WE z=6UG;HpPF`x>GR!-;(0a$OAYO=%_mnWTctn5>a#&TV7IQcB%RmRyNl6Fk{TELT|0L zu~_WK#+`>4N$TY_Z^%>jy6-5zSL$Vwwx2|m>2K>QC`&8DC9xQqp&KEoszn91Qnv}O zuKLp%-BGYagkI-MnDwJPzdZARIc%!m3}1$X2oPr7`syBgC&Ve9!y>5h@+RVUb;N3# zJBAxkwJ6~VRew8?Quv2QW}r)%N|{vg340pBI{~ecv>ktad#ewutoFuloPTej{|=RL zv=}7)3@RxA&uATC`zR5*HZ8kzZ*=32GD&$Sz3ais^FqK}h{}DP7>`YizYC8~hi&Mo z_l&~ux!$hODhxqa`gg0oUN$cUTbUXeD~L7#lkKC%=`QZLXq3_E|~Hs`XU4kCUMEhcjvkpUay5e z&pUd;UKf8*TyvjYy=zf8mrJ=}_Tnz70-1Sz+{HGFSpJ0GXUGx(%L%0MVp))&yZ)4{ z6MZcjsl{fst*`T3%W^Y7)n~IfVv*jJY4Q4%0!B42CV9SZk`w<2Zv`Mr;p;S*Gp~wi zMg-VizjCOpp@&7EfiptM3GxVtxd?Eok%Dk036r6eGEKY62~M<^PFF@JMEWQ5xIs zlkw3t;{>gW(oar|e;rXu%t~a|D#QiF5kOd5k0VzZ6Kn$$QnSZkf#i^TF=t8c0t68G z-LpUHo*DT+vCH=!W>pm7g)p=p{G)>~$px(XvaK3oCJryoehV_Y*zxyI-6Jg6YlM>Gf;j+*%5I9?Q#cs052YDR7C!R&s*ZGwLPE%_T zZFnS#Ze}}Zd3_FtZ3D%eVtwAZfeN|5k3(b=bUqM=;zjJY(LqSqoXFTrddFJk2v)<@ zAD+-bHg}HaeWeIO{I?AnUV-sD<9z8@Q&zU713?Oy9{inM8z~T2I(}tL=#t=eOBC|k z67#+(ZwRmnfM?x3v?V07B8h}S#80`BA5mj~)EAQ$ywDn z(*LB3iz~5p)7%RChK2z*%<9~)T48CXP5|Yp9Qxr%_}=?{gutz#o9rI40~)Cl_ber} zUJk>idIG8uaMP?J982n{zp~E^EFnwQ|BP|07`e=G(@aEMyuP8-<=q>go(9UKaZn4J z#tT{OirePnL+ik_*6Q4i_$LG0zdohaY+>qpP*&>l<0RgC?l=>>76vF49}TP#JN^x% zF9o|<>K!~-8@zuGnC2{~Z_iu`Z7udTqn^!&6QgyiLIR`>M$IUh}269FJEyi92= z>jF_EMETNEPSvJ_%+I(j{ry2kVVbKVXd<}yvo06l=Sdif736LvMDE7fr@bqPolaV@=4pm3wq0$S(Deo(gkkZ z9z^tQ3#IYd0iNr=v;5p^D`8gdS|qL-B*GAhLVez&!5pipjV)4$rM;suNgb(~vhoy! z2C-z_B>&^Pt>1u8Mmg3NpkPrjN25ahE_3=iR+8sR5$NN?7xoi(KFs^B<15UeMsGga zYP^rF=|ZzpRT7pIWnj)Ofu|Rr8&pR*LcXY0KH@3QL5b}LI&zKK3BwA}lKL1)!2z=P zU719@rE+xlf)J&*_c6OAUs}Pop}iPmiEq|f4)tHMTTawNRZu&wuu`zx{aZUP2YWQX z+nsR+ws#MRpIc<7b}3gH{#1@w9E#*nlR&ucQmS`qtrc=+42E3ZfIhYM0*E=a^GktNAy(v* za=@Ypus2SO$YtFH#Iw-H4i{ZaJ!P z17}#M`a@7Xb=^>=eTI=#L5`wJhknErp@3vg-##CxpdupR&~;D9T#vj8M|7Dj{h2H~ zO;&QnCbN9wnZ7x^hl`{m2zDk|5VV(!3jogkrkUa&hHn+f9!^hnWnWHYC-UUq5P&or zY7ZUH1>^Agsphq;N5D~+fOFa+09fd|lAA89WI)l<%Ig}U2P*7>8g$P9?~EYcIrw}E z@*>NQ+|I+20&u&y0{}yqKhyXtsumzf0H_b2O?fR${%SAI($NvQv`~`(by`@8($vTq z1S>R<;q?&s@sGGiE!Mn+G`KEyzPBe*44J#yn(M4?y4<3{LcZzk@tdT-6#S*u`|9mo zG8wg;3j8Iz+QywlkS6HXKpZ}P`ifBb*`ork0!i#H5b9P}%HJ2IyUz*Wd-Nv$Td4AX zV)PWHC{*}$vcl)^&+8#O)ZoTp@A=CgBzMPt0d@WLPfuh)1Yz~M{~CGRV0GEy_c^f6 zb&&{|dNSOJD?_3*hX7sS8f656kYtHG;PHan^NX4Tpi*i>ArKQ>onrfnCYp#?F9jf9 z0J=g-hh$;7?!FhD!UK|vc6#Zjgv-7rNj8eVzMGV6J=YxvF4AJ*(U|9v>@+6v(Fmv? zIJ_CcHawBbR@}=^*kN~-ra1r=;ZHmpLd8D9-~zMRmzhn2pklM+jB-zn<%lErraFqEjdEDpd%pM(<(YWXc74 zNf^kVHc}yIeY12%VQP||KJyuc5Is+fEqkjn%`Df$k4oK*D1n)|xx0Bo;{Z4ff}bq7 z#f!pM&QH=~SU#G&Xsi3ak0=&7AX3O=B{{0#(^&NB28!uJzXU^M)x_*986HJyZBO)l zwy^#}vgu^#QD}2PL&LVNwf69Dy-NN3IhGSxp(b~avSchrvPD-F3L}LTxIGjy;Yc01 z5O#tlWm^MF&8FjVb`eTR{RVJtDZ@zOVg67ONqMGD6Z(%op{-nqVXi1A6s&&(Oov3U zciR84vuc1wN`agJ;(4Bzu6>{g$%Te*^LxgG5nLVC*O-mV5tSyx9H(0%UaOzJ04AHF zGF^z-N=j-MjQ3fXBP4Z{2S6>~*30_ay1UzZ$}s!8%KRtQHGF(2N_;Mrt@;K_KPn~G z`GyU!fip(Wmia{FZh01=Jb-z2|H?A{j@k(PfK`(#Brrq?Yeeu(Kh4?``AV$CdiOiu zMB$kI#-ZO96hUKLG*G{C97W2(T*t+H$QSkqZenf$V$Z76t@nP26e& zY4N(ZEUm0=00BBkrSbI%kF-1+Li`Uu>&nDJ?e|hWF=XUgWe!qq4?Dj@a`3q{Uur~+W1{?QJ>ASE|0Z=)=Q98fq#2$=8JZH&TuO znB-}}2zLdIg2{UA{X&8zBcU71er2O$CjQ9w!SA+FfFqJOwy}U3GifsuY6eaPuqFTq z(g%rHjYe=%xdUQ2qdE^#z>%u&gQ7veAS~&?Qi=-~48XfivYu{&3wzDeDr)7#ZaiXt zKY}Q=D2Y<2{8n0`UkE%(AVLBzHG#f>k)z<1DHrG2U(f)&m+{eoNY5Gi3a&7j`24k0 zzKUbR4Y~+cym;S_iktW~YZ+S*QBX3RGN(U*_NtqBkDV(G$|(dw0@*i(59;6+I_eV@ zqp>5Rs6_R44GrGq>RyC~dJNJZgc8KX9xm+m{ zug%NRJlq{O?Pofd%IENQ+b&dQAF{h2Z4NlYR4 zI+9fTnH@hdRd9LfEc|=&Nkdb+DL3>6W=j$qox49EopPE3>QuB_Ymqfpeh&x zf!sy~M)D^d1Rm5Jk;<0koGOrC_V)JYb3}@RK&8gtA&9fQ3Hja7l%cE(2cfo~L6Wcf z&zo$kED#0ty)pRhKsLc9A?@tOF->HXM>8Oz0~vLDbShsT<*gxI`x#sNnMhHs9lQ`V zNEvTf4c@Mpf~)rQGfGy08rhTyYTdZhPwGEo;TBzzV}D=;4YQ5uyCS>8!|IWWK8rC2 z!;&gWUwSJvHg88By}j>_4w!@;e}P*_&{Mqr)aD})EEcA(9{$I!GMU5RrFz*@y{fdU zIcV>WcF?TNMit?v;KMQBJ;^v9v zeL@^7-qjkvc_R@b;#08KLKQ>}f^TY29RGApNk?RQms9=f@sZ+p6Yu|Vn)f`1^x$MM zZV?a#jeyeOe^wWT>M7Y$m5~qbH|#fo6V%q-Z`Ru$M|Cw%b?svz`(uZ4VB~jU>Zr?q z-*6+MVmv)pX2?NIgJ`fGgZ5-PGdTw|e99{zncyf^OAE z^0?E1MbL=CyLWi3^5zqBG5+p_*`BK{$7b(xTnWRMpSS0IGN9BaA5_1c?CYs-YjD%p zJ3bkEo`biawoi49#o70x4Npetj{(;IWAoHs%3-|dU!9xaYM?~xQW&b z#dB$x<--o!p=M@hV}HZqGTnJdF5U|#;l)Fw)O!?ZpON1B(6QK%Zg9VHoo%4 zSV5zr87?C~QhtZqqXn+d57bIe?xB)@=U9G~^2ngPpBDTFR?S5y$+lDn-QU5}`wkE0 zM@-TwHN$Km^XOE6s(`cgL+e^%(6t5L%3w*BnjFo=NeX1ck8r6~ct!;82%5#*pe6UY zJLp2R*y}pb)iOGBG)fNSiqf^cj}Z`e?cGFq_mPe4OveKZrV7%1>peW)pg4mZf!bbb ze$|^&yY74DmNZcdjQ$jD0BmhkJ$ggEhY{9SLVZhv8>eo6=m<2r{~{F%3y&#+f7?Jp zDn?UDS^fA3t&~OCX&yja01=nga3hSml3=jT{g+l)G5kM~uOj1krM!r7iu{xbV}`*TFXCn zhr{ng?Py4ik@`TiwBD_@3}tKIfWVahfig#7H$kBz8)3uCT|5ZbW^h{%n$AB3?y`PvcxR~9!WCk)b zNuysWoGwwfZH9;>FR!M$t_9QhVxM20fSmf?^(I%+bmf;S>3dx;tHNsIywAC$-a+8= zeHOCSao5Nl>_E0)ONGMrZ*t=#lM-Ttp6;U?Ap~OrE@Z&3hF}J~bD0Gl>4vE-kSAy9 z+$h1W6OJ5_zna1SV(1Y@%ZXd_rM3F6=h(*9+18d6v{E?xdQ_ldjsu`EJ8mm^V+`1i zPMV43LUsbM(vbaO9oGhS4Yw6^YI(*>uFku7N@@ATn>r;8r8q#IFXPLk&Fc=iW0l0- z#}=m0V4_0%4D4kG2L~>goIiGn6JM&QaDTIKApJc;2}V0E8Mkjb1?+0~RJldiqf>?7 zK3C@;N)Q|+{KgLvk9f!H-7Q0_pHl=tKDTQ9XFt5o6CbU@K* z^jPzv4J!QOHM3pJnyW_wRf_oPF2yZ>s5_C&n>L?R72j3_NY&GuzJ z1ew1LLwhh^W8hG_=J$uQwwGH+8B-GzbTE6Ol$5Wx%=r-i!oL~Y8_U!RZV6GC=&H|_ zkKPA9?`LykI1a=Kk;nkydt5doC^SNqTauMs&T}1oKlNL_JjfX$+@QU`C8Zzb;^|^2 zHN(IcpMu$>Ox%j(4^dHy;OFkha<3969VCW)R2ozu8M0Yvrx&>w*R@tZd+2_i0HLVi zhujF!FU;K9^uXut_~K@gMtSQdo)5%NDWVL!7Koj8YcP@JM8qq9N6;E(70gj98JSt@ z*dM;)?$Ce`HXADA^YRw%&q2Yz@affc*CGMqUQ`vCirzSX zFTX;pbZRFnp<)PdPUJ3KaRnV~v*$dk)@17X->LIjDKgFQOwIhBJWZFd{_EEO|J2va z6Kff;`jn-0a`IkPRh4@B&fDNgJX}xqh1%MMjkPsv7#9eCS;0BMWpli&`fYsB;pu3>?d5k zUg4M0{W)*^b+1w>X~>U8bD5Sh+IkW=%c`nAf|{5c@_%mCGXTn9of6g3z$Dn7J9`fV zuV@H0w}=Kb&2idig5!RaDxp$DlyH8Ml^2mhha^_I3r4aI`F+Eu8=VSw`wrJcK1rn> zUM_HL!AMH4wXCQ=$-OD$-Q5not~DDr#- zD6`q`Ird5g#r{->E`09c&u#a94q6i7a96OE~N4sN9?19O_azBMF z3SZ~}yOMQuCb1Clw|PR!uQoP8B;VA+3ZehWvKE|LTNf2wyzA^+vjKfI%)Px|t8ycR zpBHBQc;FKIQ4WsvO&Qo%}35d1q2{BLaI zZS-LnH3+l^B#*)XNVm!fStwFZcIyVn#Yu{f!glB_iC~4XC~Kf>*GkLB&@Y1Iyv+Q2 z8%T{iH4)^lU{=X_BleNf7okV)(Enbjn?ul&U4^476y<0pb#6;`DQBcK{yaFTFhNKZ z&u!C&*Vh}o?+09H#7ZZc<#$yIjeDf8d-&$~%xv8k0Nz59#;e1UrsXuyK}=;Atkiqi zPj;mH-6yXWGKpl>l1Frg8H7e6X6AzEB^&yH&=>$hhhuMZ770G;Vp4-gKH? zzL-aUohi8nO4jp)PCGT#P~EuO>+us$!QemNYpgq3WB_i=+aa4K@cFXlXll!g;f-dp zR1}5QknR4sWn7}aoblDQ<*2Xtdv^O(=Fwj-#ME&U?(#Y%GH0=PG&kpjGbQ-alj5b2 zkff6X*HwzJ?z$<64nD??ewLQcM?xUSh@r5p!Gz4Jq z1<4^KZC^meQi2&u`zlvdD~6igBQ_aA8M&J8j)A=;2%*o2 zYjIH#oO1g}*w|7~c@f0%K^7`6qpy2vfGj*aWFB;jY2}nZRfBLzvO2Ncc%J9eFW(ik zPzfr^a@XBt7FlpUzB6mW_d$Q1!SeHjNx>r~h}=Qyz&vP$G5$VY$(*rJKl#{8pyZR3 zpa(@Rsa7EmfVETq*$$J|Q$I|MKL@CbW?*O}S5UEU$hMT89zXB^MLBF6TU6^*C>2rj zv)w)I#oYxFBrf#;h3)YGE>SdZR*h*;7{pwZA#_YF_AgnT3+VBd`+ zliM!!!UwTuyKS0Vg`_1+J+7?Bi%-3X#61 zWie8Mp4@P}m8OcMRW<1?hlZtS(jyB#%Dm&Qr3%zQsz}}tRoX0HqkUP(&}snYxXUK^ z*n8)4M%tWS@-<*Om-xtN?m?Pa^=@dV~}t(~TSa4%OLRJ$r@RK=%-zM+vC` zvbttxc^MfQ3(D-mN$K^#A0LZN`1$iEuiP9NGN9WX`?_987 zW;4JXro`5>`qSMD(o8P+%gp}@ga%2&&YW`mL}hO@X(81&9mk4|<9WmMiDQCKcFm^_ zW=bSBGyLm1yBNGk6YX)+nf%Pl-^UaDXti6NHgT|~y0Htddo2|nE(B?;T zdM-i1WEs}x=tS$e#=t7<#;Mm)=E=SD4O5&Hq~1+2z(V9WazyDi|Ff=kl(ZINF-}be-3)BAEe~+nlN%@EY*V>A#sinI=&F5A+QDTR(SM+#iM- z9R2+}4A|o)?=YrBO4ul}K|X(Ma-0$~T(f4a{c(-NI}PTdZQZJ#b2^{3n70YN35kkbpH z#wwxG1|UPIIlxF)w3?7KG9Cf+n8lQW*N6RH_K7ss*I)T>26HDEP>74iL+W)r-n~=3h$8O@ zUizv6phHe$Sa@=>rI}gtN_GG5xZ1z&Z7%+lg<4XVotx)Md+F)vRuyh?DzEE)pI{Ef zOariwklBkI1bZ{1X92r2w1je9F%fdvRQK=SkMD3{J8>ez&%RATG&D7pzAqv>N8Y0I z>E`#6^2wp0_i1TqH%fxVZ@lNHr?Bww5MB1b^rLI9uu(cWsg&vZgfTeKk7|+J^aMZT zcTG&~d_DJ(wnH=X=e<^PK?T#tDS|;ypFZtHy%2YZ*~u5e5YK5bsD9GA08;J8&(yN1 zuC75PV75*t20M+1oa33xo#-9SoFr48mvu3>J*AR`k8XYCZ_JYB43gSx@IU^W^NG2a z-t_Os?8F<&=i%cXW?v{{hZP?y{MY1E%x~Nbw@u^X;b~ocx3B+GER>%vC_mw2#oWIH z@V`efhUW%&-%nWXMrEsQSkb4YPURPur8){_vd}mG+7odsO7lro6`Q*ns4BA? z78Glo;{Fn|-0eAn=R)2w5SFQ(>Pj?^_jv&4F}^k#aFSiTm$aY9)oEUzRaVn;@fMDU4@EL46&FeC4n9esf0#VClyc9QZhJ8C(y4CIzY1~ zw?DCJP8p0!VvpKt|8DGv3{j7T9K8ga@87|kr?$M#n7eaG*PIHR-W$*P->6P3{qNDy z$$+j3RBdtaOiF&5ZLa6wG^*WuQ9ks>$X;;S?#zkl>(`vRM@|=}6c-*bx2|L+5EadQ zVvS=P9pEv95fD>;U&f)DvBw+h>w~kiSxLBnF8daFtoe8k&OWlqb3cTb|Xug?)C zutE3k0{8;8yIClR%DhYb)o-ME`u^ns51PT0^{1w!^UIUVAa07~L%)TCQ;x5cLboLn zF>f0!yC~Zi_uxJcXEaCPe+^Ub^{nbahHLR7^SYWE8|6B1b?#X0$knmHrRPP7EkFx0 zH5zDXna6tsR@LP>8BfQF@*5C`lQdlWpNj(4$67B}(l4Ct?A&g?bFj0E4+b)+2h4F( zHOrmB7VoYO-22Ko0-ubTT3S8`kjrM$92bpEzhG-j$ivM2L84H1tgNgoVvL%C8e(wm zB_$=vb3^+o!Ia~tJEP#`yVuMTu`6lcr;)6pYA>k%|+SdE$p8P}P;=;pKHC zHpjYaj#Tz|W0`7^@-`2~vO(r+;r#&iDL~f~);)&&**Kj1t5Uh?*6RV`*1szr0J@2+ z4zisD$SvFf#|sp;SgZ4Mem9i6zEha#CuE5pJ4!Px_! zz}aA-iJ9dx*fG)LKyu&{4$hxp8VLFUC^Xpe(PrDLVjuq~F8*j`0GjgF?Bc-m|MBAo z^;Os6UbHZyy8#Zp_3gatWr^IS`_`WSt5>hcSAxOt0Ht>J3#xFXQa+87osT<}GU(*s zO6CNdMzTQ1;NTaT?CH@l1=MgY_0@x|^Ewf@IIf=!A;n z4#R#n{pXfon+x@4&%(bO4_M=}sc<7atiOM}gT1Y_YT&*d{dO>Du(egmsMhUSv132V z^}%xeySwC^Q;}3?63Q$8#uKN-ul?@p>+23`rWq?64q1wKHT?ah!GL);PhlacyQs+62@34uCr%=JnRhQsY}2YHX_%7Z<7xOz8=3O*@}RZC zQ@-wEPWw48R8?1L_v;4yL{`Sjb}&9U4vaHKGR7Vr9;(9+n;WlcNh=iSPrnGPI#hXO z;(ji=X5w)E`@wSCUpFpraSOrf%+zT{hwOiwP}y4cQui`Kg{7o;n%ctnF;&61EBFA# z1K*NV>r2qCV2ZnsJ0PMz61x_1TP2`CO=2X_K`ib237^@c(`Yc*!QGEa-3EP_EJ%Up zstZ^Jvk~NCZx=cC2i_A9Q-AJwp{K_Yh>an0^jg}Xq@rpQ)gr{lBQ^QHtLDu!f^2Lw ziQ;AW_`a;H46b?(zN+4Ilsa{L3E2OyghAxB@JRd zO1KA-+qWW>!6zaFgYf9cYieiX&{SXl(ZJ5y+O2@Ta);LpBZtQBEipK-!S5SLT^-n@ z;abcFJA=go3MgFmv-PVr0qZsLLXeM7a{=dIKY-lxGLgEH?mD`@1Kg15Q?PwHl)a$< z$0v5v;XNEEr)n%T*`_g^4jhW4Urg0`7Di_?;wFM)27(I~<%7M&PF0HY7n|JW-h{;p zyIy2mjJaoH_hhDkg(Ri0o#P|Ozknf0&*&$^by-thRfC zzb_1)nvLXZTEPR@wy%s|!G2GF}-vH-v*%o>tiX;o-h&pRZ86WBe7kZF05C&xKj)C=q)9*$;tkhrVnZS@%W`FQDYRxRo6xUN0G^;j&Bzx>(#({ZXQr>+imGQe(DmvOPXTiX9v{f3S#d{+nePY2woH}zh~-Qc#5H|d#} zH2Z>Msg~!!Y2untdP->t1JZo<4GwT_kzgVrRK@@>L|+{?OZUYK){OyCEf7^qY2%Wt z7J$RSHBsInFfg#YzrO?A<_|63kSC0guaV4g!~o2EJ)ZBpcVCqM%+k2u%gfGreaw4V zpiLUYO5F@H(&2_+4#l562HV6aO9<_id!xbAkC!AitHD7Ba%yt3`tf>zn#TZ`klXKz|J`F0SU2lNypW z(29a#6AZ^G+whK10pmJCRs*I_9ibT=U;pman7NdF4a?{T#b3oN5-{c?6PqdR{r6;VabE^f9#pgD(s(GXqou{h9M|`pfJ6Mz z8H?}Zd8uzS3d;nlE3v@Al4zkGEhtPu0A!PH@jpsRRKODPCKbryp4_4Ut0LIHRyQ^h za0gV0$wC*k>N- znDQm&0^(}#$8=SWw?We@bLD)RIy&SyPEOA2Ij_or-!vzfuJQk9`tEqD`}hB2mQ}Jx zMnxJF*&~OBh84=*Lb6vzI3gruCbN?ib!U_@`8v?`Q3i)7M zoDyk#imQx(Ekyjti5>O|6x_FO(~w4d+W1J}X`9~n&_2bIzm49Z9GWwlAeI*2%~tg6 zgzZ2tHBP^)7lNk z$>u^Y1QauZQ$O>jn7-hIsFEVr?T~Bd+y;_Ic3U6JwlgV@K?O3VXGyxPzO}h|cWa0k zd{k*C*lPH{D-23-DSED!d!HziWPxKpaBsEx2rHu_^&6)NfkR_su~0yc$rYdG+5j0D zdsvZWEyr1t5-ys`pe-lzyaf8jvZ8*A#)V%ia9djija%;`U0q#oEmainPz1xh9Qw25 zhdqnq>6U$;z)qF?ii&TY7-sorbMy0Wrk&d`J_4URrNULgvF{< zB+Z2DiwAirM^QlmZt+Mbrm;|=L4qUp>Rgk>Bc)C19h~Q7P(>A4RC^c@@i?5szCC^n za@MGA-vkR|BsJgZ>M_exh(1IYq_7+qMrjG3WNsxW=wIO=&(ICTjpyzXbgob8hm7 zVXVlyK>*YS)tU7b1-+>X61A^hp`g5K7)G8sb?PJ2d#I)|L7nz8TwGkD$=7Y6{*+vS zUZ*3PP0&q3j+tk6h0X5!e|JuuJ|AVH7N{pVxY)H4?=@zQJ3bj-NaTI%Onltu08=g%tf@$p|~Z8rvgR=SGU zJUw|XB{{TywQ8KI`GcR}3vp0 z$YwABPJtlaf!Jpq(;@fD??Hvhkjl*#CDhv9@PP^Ohgg0mzQTnQVBNbfYi4{KmQ%kh zsqZLLd!gN~Mou`#BrU3R^m54Y*)eu}(1gS|nnBHs8eB?U-cXUo8u zR;W3N-1%TUv%iC<{_6dkS6V*k<6vhvV1cIPP6;^~m7=ec7MHW@p$c;3d&ZKee@q8gB!~bAd-jqcHar*lYY9Qh);{T|1VZzLu?Qb)EMEnHwlhVQ+Z{&m zgi$A<-qzHuLhvpW5h1`^TxP_1wyAvG5@V^DMyIy#)QkB%ae;uH`+Zyemxn~aGQ~`X zGGeH4_OZv&z1dlNaCo*j-7#aO$R2v^daE=F4)CXS|K;b?0e&fk)KV5(G49EC(Wfw{ z4+NISu4A7e6|ejJk;2*K_Ce*~zrU)(-v~ZxYHmsFnlo((mIpND_19Bs!iULW=$@XQ zk1iu8;i)oz+}z&&*lqUc8+e3{Xv8zzcwyx=`Pu*1@82AXEWCA%hhAJ4qerU4R;oV+ zZ{LU4*>Gb_In-ydd8FtariAn7EfUJmiVGTC=vJiT?>4&vid>+Z&CVQk>(;Gs#i>9# zNDASO>e4;(zNm;Rg65-37WF|UvAO&Pja3(lPwT=judT&?n9!wlIpK^W0!3;UryAQe zS9TEEf`h-W96#1`05uj~d#dJ1t!dz99?!sa*V$5w>VfD%Qo-2sLZz3lfd>2|aAe@q z+vQAJ@$=^opEWK@LP>%_xvdaEc$M910!=(w6DZ|@96I-e3#^w*vfO`s)Un$`wgR*jY3RHjIu&Ked6C>30T8c-b>?IDIc_sWv?jHI%pMrPG zE!X3*m87ew=%a^vPyU0NJ3SeIzbeUdS?Opev}5-|<&F`q%n|}`85kVmX%e) z^0Etm40TxtSh#p~%d4u4$+iMmmiSMH%&+?#dDvk6?b|n7AD>}vthuZMe}&m5cnN>N zcq!#|d#-#?P{B5jFtrBHq*l;W+RcBM!eN6uZsoFpuV9XmqQ zle;LOwaNHJs(K=Y2jk;osP`zi(dFb@WhE=531ld<35ru6XVB!0HUOeiY{#Gm7UUwp zSIrE+)mGR^nEC_RfNI&srSjkD#nj(AjQ>FH>qM^;)v z!72N$)(l-U5CQgE#fE~8wr6?iPk6h~%%BFMo1jo<6u8I|M(DLQ3qrq=b0j=bM9`Xw zw%k=?AkecPigE6+sr3=3DtgMwE>OkR(6n$|QIdaNZ`G2j7#iZn&CPw`L43%P)*2y@ z9)TvOecjp64g6;$cOTqfuztAE%+`oTQXV^S2S1pJG?gC5(KR(*gLGgF$C>(O+LMsl- zyN=qzq^>t(i2+0r8?wm+R3U&h;_ONFb1oiGPx)~+07{0ai>RoocKG$T(Jy6V&C;W& zYxFuG;r%0k%}3E;mc+q8$sU@<75I-TXoJ0%ts6tkh*YL6N5%hUNk9t1rISX(vVe{f z*>mTMK1D-5L=uVXn3ua5<=RNLsrJZCK-6N@VP$ZN#A69}RGEy-$A@{;w&66nP_jyr z1tP`uD(7DV)gmR;K|Py70T%4Jvx$9_7o9AbP6Wr#iR9})CZ^^O79aN0?2keKALTfB zgEGQAM+kHy9It2UB4Oqd6x$iT^kSnvmKbup&#C0=&9%r@a|sE1U2L%((Tr1TW$E79jDQD73TX6$RqAg4jXl-w6kaeDqy9zGy=~SB0TXy8T<9^S$cBTX8V@%PA;49jndHZ*$s&W9iiC)5$x8 zy?rnshiHXZjVW@({xID7_wOH|MWzw1k22FHbxJ3`e;48dH-pxp%CfStF-<`UOnOe-4e}uNee03`;#^bw2m(srOUHQPy0^7q&WCO; zyZgENkQ;$N$&oMm?)%E3`N=?L+5vBP<9@HKyiGZSPtLyV?fq%`MOs?lXG&nMWp>bZ zMtM+!^`EH*!Gwf_(;c-n2C0be3^o-3kaYNbKW2aggzL*z%&N~!pyXp@R~h9N+nPi6 zbamyd@0dm_noN#4+t114hFzF)E9VY5>n>?Ik&gJv^(g%RB(O4RfeRW>5*0N zCP@N`1tvgTb3LvbvwHKZFJS0rwg$OY*emy)h&`C53j{5Yz%lTOT2 zq@tqYRY}PJkMw1={RuaMzx}Cw*-31m+BpezXH}p1C+;oLZFWG*WTv@o#Lg{xE}k5e zx$olgN%vIhL4$){c204ndpF86aVyWeml#D7yFNj>I(+7nkJIwk8i=NG5*8sPyt5b1 zV(s{RihoM8cJp;_U$bk8`q1TZ4v2%BxirOBToohqM86LYM*wnjLxWp)zv3Gemc4M! zDbh2m`-(eR=ozTS-hKE`Uc8!~&ZD;fcccoxpa#r_j*ia3Mn|*qS)=X~>YV)i(Z{xL zWDGrBNkpD?%|Vx3UfdP6iH2F-e46+>=sQv65$}?l46!uznlg@?U{)GIUgCoa(Y{1n zUQecL$N8(kVd1^d!;La!M`G9K(M!t0iTPDkqyIAT>s`No{gR(UH+40tlJMWZJJxkq zWRN8=U!+FlzJB{AMwUnyL@IU6Pa&CKK9-c|5fO;pnEY2~d3hd9SZc$ZY@H)+O%KXY zA;`2cMnGOeGuA1C1UAOVs-WjO?^t#2-b%IZ<3go7+L1OFO3rKC>b*JoVMwTehpmrG zVR&%qxss@h(|7dX;2@S$-Kgt+$m&1umru>j&BgX|&%J8}d z-9b(feM8G9T*uWIya!+@uiXfFTZyn!L7S|LY@5$Ho3A*@Tu`u*&se-ETFVoZ)l-H1 z$rpB}cqkoB|NZ`ts-XTwbDCG&UgwAt)3Im;g_Fz&N)Zxl(VqPLz2KvDv>1$ zzhH_{8=hxS&ML^v|4y5W@vEXSv{;Qgok{L4BmY;0^CikFN81^ZtU0*}H@ z=YjiVc_xxoqY)Iy9$Hrymm}r*3O2v5Tps&}KiB?GQ0#ghXfGp ztA>V)SDB6>+c&aZ@5xYkt7lVF*4|Ajq|&`m03dr2-X6@qNQb2~&w&T<=kqE^?Rz*x zo8|h`ETltBKF9E;B0qn(Z2z%z9jMA6J9k*xMk9aFALcF`MVVSs+cin6&$lNY%{Qg{ zr_tadke{2~&i5GL4IG?^kcrPct5TnEL0Q>_#VJlJA23dz!kiXOm`qMkac7vaG}lxu zMs<=T=upe(**p5Vw5D?_e`3vD;J|bpEoy;w!je!}P_U7TCAU8i0c~$>XQ${FQ^}JC z%jUA=pSZ?o5ro(UT}74ZN?)fU0BW|<89V?v@WO4ak*e7OJok~K8OI$rGah)IjvS=F zTb3D`Y_I_vrA!+`YUxWa{1>P|2BRwUAnYrn#pQRj=O0_7i)X6%v&6IkPYw)Y4PcLA zPi`I%b&kX1@reMX*2cDd@KzJzkG2yOL2)SWQxiI22>VgvollRwVESz3eNBzh3HAM< z2_jV8HxJrJablT?w($ATNIeFpT3i#6g$nzo9C*~?1!Al65(Kn7ROCMWIjdSjAmO#` zN>OZcpAdO zr|NGET|Rsx`2NZ8xnj;K@^t0E*v1F}OA`+8rfv4Vy_aDBjM~>AwUYY2!SLOa} zkzmbJ0yNGuXwT=+lZWu0p?orx6lXGpQ$;tq);2@+@)Et-K_rtmAF%z=i=L0}F$jfk zU^SORMng!0--z|AZQ;6MdTwj7)D0uhJSTK_cQb5Zd5#$$a+Y3#NogY5-u6ClH-Ki) zyZfRu&LgLNGw%GDyOGZOWpJ=-eqQXRwsyzX%mgCUTegb8^oBc9>UiF!@hGr3_Jqyg z2HEdkx+7Qo{pBH@);&zN@J8SI&I!=;?C)-G2FVF@K-!vkV>l-)&U*r<$CZ2oK)J8m ziQGs3$kAY3nkE)73rj4=7HMbdWHotY=~W13yFozJP<6cvxqN@y zw8*zk&Hu!_l!HNqEWFo(4^T*7U98(sg>cu?B@tsAW(+B*0I`ZWb@~zAfT0~u^d$!# zm(w-s+sWLh_LzJMs88?u@b4=L%hv1eP4cQ(+swl zs6P1fk-^62W#D%M9P{wa`vnwEY@mwK+o|h<0s>yJbs%k8`{nK|;V#cjp3(n6^l+O{ zPDpIMR!9G2ZaerB=vJs!^(ybL#1QAg71j(9gn!<`z<>rCF6h5ZD8PDJTE>HqJ8t$f zJ7ue(4Ftj`PrB7=v+Z z6c#zU-oM}KJ9yDK?!$FlMG;i@%buR43CKLm+qkRTF59|Y7=@A>qRUU!!^nY81)meg zHnD2gyD(MJ(TqnSo(9BPFword^sFY>^rnvOmJ;M&5{7PXZ_rSPP5%%T@^ zfM?d#WutD$g%?Q;gxggCPRh@s){rbD7;(m4p|R`QW_+Va(=4pfu3G@(3u0|YNz6xf_SL1KV&V}JKHCl?LVEzYaE ztGtbS!mI`CKEOXiU%%RoTLylJ`npw7Q6qmY@ZVW98gFcDKDRVQW?Y7OIAliH|yMSSjUAWFf%J zR%~TRrO#`1ViNt_^T@cKB50Rg02+xzDGQ1$m$ZVQ-NnFCMS+By!BeJ^PO^BJ zJSJ}Hi=KA7nM+uX1ibH!dzWQ}`hWPv4PB(s*r*Nk(^AMnkz}1UU&2H>yN$DXu{0EN z6fk!ngN|`A=l%B|GmwegTS|Mdbktq@L;pLQ25HlP7U}r32(=upEbTeM-Bw|q(YPze ziTUW=6A-{;y{pYBUyhgAzF+}2@aE?^NJFXL|2Ka69ACATtN=ciDb|!e*55Tl|B=)E zmxjzNEYy~gI$*=G2`KU<6O$M7f?mv5rnqsRn8p5c$+9!?e^zV#ZUDG&b@iIu-rPMf3F4Jr+w3JYtsr?X0&dYY801}Y}{!dS%S z7@x+)b+BFpGSGiz^oHH}&$5-JYCLhV-C^uI<% z-E#OWL`U=*W#o-EWko9$fiv|J?oRUZrr%uC2wM%5YmpHGJ^=$0NpIQkCfZ2h_R?P8 zbA()iUk_M7@5H)xBO0R9J(wx_W4yUUTnb{Yy!eB1jesSpWAzOiY*?sr8ZHn8B6MdC z-l+yj&f_+_?Bz_luIb~=VQ=FE4@chdL-AD#jmRxb1r!*=2H0dgh^-WSpEnxPH%IFq zd#kHuo=;UY)TfpcWcS0OWqh$sg@qDt1tbJ@-?j%>JDdYt92@XC^*Vr;`HAZHSvW>$ zw?NGU+Bc3nrF*t~jL^o-mjl`nB+(`<_N$~}``l5?|7iglF0S7A139~u`!;nmN{xCe zDV-3$QxyvStF5y||rJNv6ssgT-^Y89bjmyY~^2~x*xB#C{v6q6f`9a*Jy&6)3 zhG;m9YA_>bx>6>}B$Y`YOaIiBv$3-Nn6MR)6+#|mKBRCBd5{Y&sXnUVXEeG?zB5go z`dt`GL%_N<&O4y0b^|Y`+Y&H`(bi_Ew>~c%{OcIbc|+`?2nCYOl97;3UB$_?bR^iF z21w`d3aS__2EypgBqx4eBI@(Tz-=!D-bWCb{Ao!VBmhX&S@-QO|(^SJ7)3fOq~j;YahE_D3zFnxY^TuUA)*^*8Z&>rQlvQT*xBoVz)sGf%U^_ zMlioo!D|m72y4xM5dt@;+@UP+;q*DbZBO4{>tjCH#}&O5+`ysJiDoUEIsH^312~2W zpI#}B<`JNIvWhsd-wzJvs!9laa5N*S@6uqXUbw$)iNR`bVC^jF2c(j8U{ zFDW^vock;>(c$i0dg%BKtFLEI0S!HW1(?5BIH+!>+bA&8EfH09JD}bh-i=4&3W=tY z(YDf0AT8;p5k!sr~4)aPtV)AMNAG%@DJi72%mBdpb3fDbsRZMV7U# z6M25tt4CQm^OL;uHUF9w z$;QSe5!BXWO62`@j0k%7Ya*)IxYPRV1C0wwBQ9g}54{I~jR0`Ml4N3J6ge=UH-o`o z(D0}`MlKvR2=f`SV|J53NVz~Y0o8K|Ft1HFB|^3Pcr*+cV?_8zCmy2oKg>5li2)|( zi{StrY0%c8vlY&9eiI2KgJQV_63;1PzU2KS(_&~#Vc~2m0u=TPdQa;REMk0bxDq|+ zoPxkLR0`S@1GEo7oUeHN`3oJ=DILE+c}?Y33pc35;nVLlH%Q+=pPf!s?ekof;fc$u ztu^~6;ITH}WG5E)>33V&B1Th_x|8%??}qk=ctHdq4422lCfB9EAnu?ffty6Anm^>hY&Za`B3dzzD%BxA0tGhjo$Q` z31>R-Pqhs8_g@v`IO20}H6~8e#L2G>a6vemwYyKZTo2Z|wiSBMe(vO#8`HEvU_noW z?BQd|*9DrOR8eDn9H%SBM$1x2V&HwQO*@lp#K(6e7sQ6vLSGXsb>N6LLR?ALFSYwhN;pG^A-xO|I9 z{EE^XIobblV#cf7VLnM~d}0O-u<0(-oQRy-^PJ3D@Q%l ze0QN8|Hr)~O7HQ)GsJp`5 z7!NWCr~dnFnB*cG3M?P(ZOa4I6FzaLBDh8cY*_3>-yclMS0fJ94|kTKMlhi`I$lZ0Y_=DziCt zTcD}DoD;wx5Q+JucFO589kC7mN0omB(j*C-u%AK}j%hWuRk@GTkGLatZ!LSmrkH11 zvdBvbNg&Qid;Z)G4xvqJHLq*=24IBA#6lljyUHjk{w1Sl`Qpw5^@Rm(ekbB_4cNT{N1JfvfsjMNiMx8c}!S|KHKL8@@6lwmA6q8 zmRN{4x@2+Wygl*If110gkYUP=I52_oz&qZp`FHkrLH|tyF39B<5n3_1e*}T zRkM}ljc&mu=b|4gPQw0kB28U`-2@%?67t~VQW63~@htdyg0Q+-|E4o@~d$x{ZEKc-A{EXHU!e{?z&m)l@`&W^}9X!JfEaNTHWDF2~_z|GF{(#Cc+$j&xpzCb}Odnn_luO$u=DfFYT|p3U|8s~Y$X>Zvly z-PD_{9&PvJ)o^_#i+XnF(& zn>D6QS>Lx~N%d|U0uOAr#|KhV25~vC$kSjWphDGO9mYDU8XP7V7ZTcr>_*hTdRhqK zEu%QiH3|DFQdX4xtn2z2vHb}Mut^HyUjRe@+*{??iy4tKs*!%NZ=;xa=*zIdw;Z?K zXBlisKhOIzOP`9OIRoV>LW-Ynfj+=U{lZLn&#}rC7??mXcmyytK0ZDTPtWtvKf?jB>lwYZlVS2KCK)^XW&?;n8A?h5Oul10x_NYJt6^^$=V3_9M`}cZ;yy)`%FW-(QKlygwjx_<0_&@2% z*Xge%3SX7xd+d_+dKx7w!?l|w)9q}=BMi>A_#Y@S?iy{qWAERco34qP8!cU)M7Q`|SSR~f{9|G=c8aF zC)H+ldPRQ=OLp*jW4)Jl`EwN;X+64B7DY$3_=!4P2RlUq2Jr0}3=FN7ryVV`WcyJ| zF>@^{l5Sw8eN7&BN9Hn8kqHxMT;`FAZ2#*owqrL-$&Zgz`w3kJ0Bl+qoY z$$)Hz_TpL>1wA8I@H~KR!DFO`^+cvl*J?Xj#P=2mVa4o^iUH06Bj8ch2Ym(4vkPKj zF0W8L&tv~=7+a1XaNcak9&*lG)DW$`u_CjyQ&D*=cl4r-uV^aj`{*duYb4!&_wU6h z)OyC&SX}I2&=S*?(k5VFzT!XsuvRJGvLu8y-j(T~#`dSZ?~1zd;GLV&^Zck;qho45 z^9NbmKGyOsrr;bKi2~VbvaFXm{QI}x$n%C6ubf1b*NQ&mMI9e^lbCWNfD>KZgndhi zy{@`CV3c$9(gw8?`=70diLkf4sZ>)*+Dwe)Cs~zj!QuX1L1#pb)MQG8=j2DZbK+{< zgf`#Y;smDVw5;7^2x(nM@5}n=_wU_#W_7!jJ~te_8p%{^o#kO?y|{~qzt3Z;Msszj z)w&&Qdxnim6Ar_x2un-#X;GCElT=9}=s;;co)>G&INh65;v#;`LNotUZrFY26fP9M z>P3?fr#8BjETUDwq~o5lu92Rs^JlH%AN{v;nf9W1t(!$CGa{eW6ZgN;cDu7?%vxo? zDtDo}rPu1W1}gTC6^zSnx6(UpzUqq}Y+NB?-8PgNe=4p{fUJ)a7N9=Te>aQC zrgYmaD;1+Rat<#g7?O~yi=W(B>P4v9wCAE0ZV6576xTmGu9L-5pbl8bc{W#mF>ych zECQigjM?!FyZ76hOvde!V7`EG>r8H}!O!cm=V>ne7#8)+~>P-E0vzkCJ=*w4RM z+nT|^T3%K^zzq}x{~oQF6nV_l+C504!u5)N#>jjX(9g<*;oF^P`XxsCz6>(S*C}XZ z74n}`v8ufPHS!MJ#(Vq#+U%y;tZVVGoUV!68B~GGXO6T>UAo$L0q<{y3%d{s)WFkj z%)NW3q^c~M{HX=$#G?Kxqh0=3hLe(WvylF;<)66$Qr}HnF9_xl38uPU z@o&wBNg@Ao1(O9S@LBGmqY_l5w70>=POb-?yU@^JfPLMJtRgdk=HbTowaL1u137X!Q+qEChZxVjSV z&=g-Ib+D;qz5z`N8TTXFZW?ax$9}Y+)C1J;84>i}*q|jEhTO$@R0_FpLmY`M)gN3= zOMGDyrYwa_{Ew3#51`uDs5Xa-i;@j%(fvEVu6h(jMaA(j3LG|LMExiY2YA{hO9mw# zsDwx$A}|>XBFg8;p`Ug53TgWOIA+dc#|LxC0X^UL_jZ7!#TP#RRwkLfITO<8+u%5h zc4Q&M>Qa1>{Ju{`x2sFT8ifOv;QMh~?q;%U21~+4j>XxVE#MCR6kaoV-7BlD%w=Gg zN#lNa+Q|G|^s3V#3s$n*$C1o7o~PJ;U*3pZCIl#c{h*Ta^<^DzmJTYLTl}}4^P!B_ z7>vcIGUdcqNb8{9!W4VNZ66w-{x%L&bMZE&c(;U5?TJ5k$9fC_t1Mv5k^;smSc}r8!k5AKjeVV}hy$bt6yf}_T*W|PSp606)L;7-zxum& zq)VS1y7zD9tPSaAL5Xw1`eKBwTcm6wRjhqU850>4UWOsef+kcPuPiSp>+5&5MCUOFA~i;{{<-S&g$gmXuYe z=e6nU)9nX%n$}f_y+I8Yb9D=nraB?c+lC3)wV_wzmRw095F|0Ov%id;-N6L4&CkTZ z9#_b8!fQgs)_*44LBWuCLsngF>P}uFs!;sNE5x`s^atAEi3v#)t)K?2Yi-#DE_;~I z)2FHxEa=^<)(&Q61TlEYY?z&yDwbjJ5#vY}Q}nI%P!tSPVTq)ubF#^7{^aLP>2L5= zB)b){em3~(_YYG-%%q*KDEp8Y`Win^R|hX+(dQ-cojq#}6oqGCCRF`7JcxKMDd0e6zDzNOl90*!2*cU8JLGVG)K zc!TGf%n~zVewh zB2DLdS3m5777@rW+u7IJ#bP^4~mY0&`r7Yb8&39YDcM2^GjLkn9LsbEz`dn8h zBPaJ5Ah{zw(Bf?FgF<6WY>fIokIRnCs6J1GjgPk!et

    >@JA=CZbB;zduq0A1LT6 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

    <`s>#p42VH0rLzk2X1bd< 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 diff --git a/maps/exodus-2.dmm b/maps/exodus-2.dmm index 8154a2b9a2..64dc9e9cee 100644 --- a/maps/exodus-2.dmm +++ b/maps/exodus-2.dmm @@ -1778,11 +1778,11 @@ "Ij" = (/obj/structure/toilet{pixel_y = 8},/turf/unsimulated/floor{icon_state = "engine"},/area/wizard_station) "Ik" = (/turf/unsimulated/floor{icon_state = "engine"},/area/wizard_station) "Il" = (/obj/structure/mirror{pixel_y = 28},/turf/unsimulated/floor{icon_state = "engine"},/area/wizard_station) -"Im" = (/obj/structure/mineral_door/wood{tag = "icon-wood"; icon_state = "wood"},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) +"Im" = (/obj/structure/simple_door/iron,/turf/unsimulated/floor{icon_state = "engine"},/area/wizard_station) "In" = (/turf/unsimulated/floor{dir = 8; icon_state = "carpetside"},/area/wizard_station) "Io" = (/obj/effect/landmark/start{name = "wizard"},/turf/unsimulated/floor{dir = 2; icon_state = "carpetsymbol"},/area/wizard_station) "Ip" = (/turf/unsimulated/floor{dir = 4; icon_state = "carpetside"},/area/wizard_station) -"Iq" = (/obj/structure/mineral_door/iron,/turf/unsimulated/floor{icon_state = "engine"},/area/wizard_station) +"Iq" = (/obj/structure/simple_door/wood{tag = "icon-wood"; icon_state = "wood"},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) "Ir" = (/obj/machinery/shower{icon_state = "shower"; dir = 8},/turf/unsimulated/floor{icon_state = "engine"},/area/wizard_station) "Is" = (/obj/structure/bookcase{name = "bookcase (Tactics)"},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) "It" = (/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; freerange = 1; frequency = 1213; name = "Syndicate Intercom"; pixel_x = 32; subspace_transmission = 1; syndie = 1},/obj/structure/closet/coffin,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) @@ -1798,7 +1798,7 @@ "ID" = (/obj/structure/closet{icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"; icon_state = "cabinet_closed"},/turf/unsimulated/floor{icon_state = "grimy"},/area/wizard_station) "IE" = (/obj/structure/bookcase,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) "IF" = (/obj/machinery/vending/magivend,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) -"IG" = (/obj/structure/mineral_door/wood{tag = "icon-wood"; icon_state = "wood"},/turf/unsimulated/floor{icon_state = "grimy"},/area/wizard_station) +"IG" = (/obj/structure/simple_door/wood{tag = "icon-wood"; icon_state = "wood"},/turf/unsimulated/floor{icon_state = "grimy"},/area/wizard_station) "IH" = (/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; freerange = 1; frequency = 1213; name = "Syndicate Intercom"; pixel_x = 32; subspace_transmission = 1; syndie = 1},/turf/unsimulated/floor{icon_state = "grimy"},/area/wizard_station) "II" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/drinkingglasses{pixel_x = 1; pixel_y = 4},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership{name = "\improper Raider Base"}) "IJ" = (/obj/structure/table/reinforced,/obj/item/weapon/tray{pixel_y = 5},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership{name = "\improper Raider Base"}) @@ -2391,7 +2391,7 @@ aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMHYHYHYHYHYHYHYHYHYHYHYHYHYHZHYHYHYaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMHYIaIbIcIdIeIfHYIgIhIiHYIjIkIlHYHYaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMHYIcIcIcIcIcIcImInIoIpIqIkIkIrHYHYaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMHYIcIcIcIcIcIcIqInIoIpImIkIkIrHYHYaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMHYIsIsIcIcIcItHYIuIvIwHYHYHYHYHYHYaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMHYIcIcIcIcIcIxHYIyIyIzHYIAIBICIDHYaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMHYIEIEIcIcIcIFHYIyIyIyIGIyIyIyIHHYaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM From 14df1e5fb511171f9b9342177007cb82ec3aa2ce Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Sun, 17 May 2015 03:24:05 +0930 Subject: [PATCH 15/45] Converts beds, chairs and stools. --- .../structures/stool_bed_chair_nest/bed.dm | 36 ++++++++++++++++-- .../structures/stool_bed_chair_nest/chairs.dm | 24 ++++++------ .../structures/stool_bed_chair_nest/stools.dm | 21 ++++++++-- code/modules/materials/material_recipes.dm | 6 +-- code/modules/materials/materials.dm | 6 ++- icons/obj/objects.dmi | Bin 122460 -> 122895 bytes 6 files changed, 70 insertions(+), 23 deletions(-) diff --git a/code/game/objects/structures/stool_bed_chair_nest/bed.dm b/code/game/objects/structures/stool_bed_chair_nest/bed.dm index fb13813970..603d77c346 100644 --- a/code/game/objects/structures/stool_bed_chair_nest/bed.dm +++ b/code/game/objects/structures/stool_bed_chair_nest/bed.dm @@ -16,6 +16,24 @@ anchored = 1 can_buckle = 1 buckle_lying = 1 + var/material/material + var/apply_colour = 1 + var/apply_strings = 1 + +/obj/structure/bed/New(var/newloc, var/new_material) + ..(newloc) + if(!new_material) + new_material = DEFAULT_WALL_MATERIAL + + material = get_material_by_name(new_material) + if(!istype(material)) + qdel(src) + return + if(apply_colour) + color = material.icon_colour + if(apply_strings) + name = "[material.display_name] [initial(name)]" + desc = "[initial(desc)] It's made of [material.display_name]." /obj/structure/bed/ex_act(severity) switch(severity) @@ -33,13 +51,13 @@ /obj/structure/bed/blob_act() if(prob(75)) - new /obj/item/stack/material/steel(src.loc) + material.place_sheet(get_turf(src)) qdel(src) /obj/structure/bed/attackby(obj/item/weapon/W as obj, mob/user as mob) if(istype(W, /obj/item/weapon/wrench)) playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1) - new /obj/item/stack/material/steel(src.loc) + material.place_sheet(get_turf(src)) qdel(src) else if(istype(W, /obj/item/weapon/grab)) user.visible_message("[user] attempts to buckle [W:affecting] into \the [src]!") @@ -54,14 +72,24 @@ ..() /obj/structure/bed/psych - name = "psychiatrists couch" + name = "psychiatrist's couch" desc = "For prime comfort during psychiatric evaluations." icon_state = "psychbed" + apply_colour = 0 + apply_strings = 0 + +/obj/structure/bed/psych/New(var/newloc) + ..(newloc,"leather") /obj/structure/bed/alien name = "resting contraption" desc = "This looks similar to contraptions from earth. Could aliens be stealing our technology?" icon_state = "abed" + apply_colour = 0 + apply_strings = 0 + +/obj/structure/bed/alien/New(var/newloc) + ..(newloc,"resin") /* * Roller beds @@ -71,6 +99,8 @@ icon = 'icons/obj/rollerbed.dmi' icon_state = "down" anchored = 0 + apply_colour = 0 + apply_strings = 0 /obj/structure/bed/roller/attackby(obj/item/weapon/W as obj, mob/user as mob) if(istype(W,/obj/item/roller_holder)) diff --git a/code/game/objects/structures/stool_bed_chair_nest/chairs.dm b/code/game/objects/structures/stool_bed_chair_nest/chairs.dm index c49e6f8b86..c76cf57f8d 100644 --- a/code/game/objects/structures/stool_bed_chair_nest/chairs.dm +++ b/code/game/objects/structures/stool_bed_chair_nest/chairs.dm @@ -3,11 +3,10 @@ desc = "You sit in this. Either by will or force." icon_state = "chair" buckle_lying = 0 //force people to sit up in chairs when buckled - var/propelled = 0 // Check for fire-extinguisher-driven chairs -/obj/structure/bed/chair/New() - ..() +/obj/structure/bed/chair/New(var/newloc, var/material) + ..(newloc, material) //Todo make metal/stone chairs display as thrones spawn(3) //sorry. i don't think there's a better way to do this. update_layer() return @@ -20,7 +19,7 @@ user << "[SK] is not ready to be attached!" return user.drop_item() - var/obj/structure/bed/chair/e_chair/E = new /obj/structure/bed/chair/e_chair(src.loc) + var/obj/structure/bed/chair/e_chair/E = new (src.loc, material.name) playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1) E.set_dir(dir) E.part = SK @@ -71,24 +70,23 @@ icon_state = "wooden_chair" name = "wooden chair" desc = "Old is never too old to not be in fashion." + apply_colour = 0 + apply_strings = 0 + +/obj/structure/bed/chair/wood/New(var/newloc) + ..(newloc, "wood") /obj/structure/bed/chair/wood/wings icon_state = "wooden_chair_wings" -/obj/structure/bed/chair/wood/attackby(obj/item/weapon/W as obj, mob/user as mob) - if(istype(W, /obj/item/weapon/wrench)) - playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1) - new /obj/item/stack/material/wood(src.loc) - qdel(src) - else - ..() - /obj/structure/bed/chair/comfy name = "comfy chair" desc = "It looks comfy." icon_state = "comfychair" color = rgb(255,255,255) var/image/armrest = null + apply_colour = 0 + apply_strings = 0 /obj/structure/bed/chair/comfy/New() armrest = image("icons/obj/objects.dmi", "comfychair_armrest") @@ -129,6 +127,8 @@ /obj/structure/bed/chair/office anchored = 0 buckle_movable = 1 + apply_colour = 0 + apply_strings = 0 /obj/structure/bed/chair/comfy/lime color = rgb(255,251,0) diff --git a/code/game/objects/structures/stool_bed_chair_nest/stools.dm b/code/game/objects/structures/stool_bed_chair_nest/stools.dm index 77d20c1f7a..6b05b9c85c 100644 --- a/code/game/objects/structures/stool_bed_chair_nest/stools.dm +++ b/code/game/objects/structures/stool_bed_chair_nest/stools.dm @@ -6,13 +6,26 @@ force = 10 throwforce = 10 w_class = 5 + var/material/material + +/obj/item/weapon/stool/New(var/newloc, var/new_material) + ..(newloc) + if(!new_material) + new_material = DEFAULT_WALL_MATERIAL + material = get_material_by_name(new_material) + if(!istype(material)) + qdel(src) + return + force = round(material.get_blunt_damage()*0.4) + color = material.icon_colour + name = "[material.display_name] [initial(name)]" + desc = "[initial(desc)] It's made of [material.display_name]." /obj/item/weapon/stool/attack(mob/M as mob, mob/user as mob) if (prob(5) && istype(M,/mob/living)) user.visible_message("\red [user] breaks [src] over [M]'s back!") user.remove_from_mob(src) - var/obj/item/stack/material/steel/m = new/obj/item/stack/material/steel - m.loc = get_turf(src) + material.place_sheet(get_turf(src)) qdel(src) var/mob/living/T = M T.Weaken(10) @@ -36,12 +49,12 @@ /obj/item/weapon/stool/blob_act() if(prob(75)) - new /obj/item/stack/material/steel(src.loc) + material.place_sheet(get_turf(src)) qdel(src) /obj/item/weapon/stool/attackby(obj/item/weapon/W as obj, mob/user as mob) if(istype(W, /obj/item/weapon/wrench)) playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1) - new /obj/item/stack/material/steel(src.loc) + material.place_sheet(get_turf(src)) qdel(src) ..() diff --git a/code/modules/materials/material_recipes.dm b/code/modules/materials/material_recipes.dm index feb7abc945..6cfa22fb5c 100644 --- a/code/modules/materials/material_recipes.dm +++ b/code/modules/materials/material_recipes.dm @@ -12,9 +12,9 @@ recipes += new/datum/stack_recipe("[display_name] spoon", /obj/item/weapon/material/kitchen/utensil/spoon/plastic, 1, on_floor = 1, supplied_material = "[name]") recipes += new/datum/stack_recipe("[display_name] knife", /obj/item/weapon/material/kitchen/utensil/knife/plastic, 1, on_floor = 1, supplied_material = "[name]") recipes += new/datum/stack_recipe("[display_name] baseball bat", /obj/item/weapon/material/twohanded/baseballbat/metal, 10, time = 20, one_per_turf = 0, on_floor = 1, supplied_material = "[name]") - recipes += new/datum/stack_recipe("stool", /obj/item/weapon/stool, one_per_turf = 1, on_floor = 1, supplied_material = "[name]") - recipes += new/datum/stack_recipe("chair", /obj/structure/bed/chair, one_per_turf = 1, on_floor = 1, supplied_material = "[name]") - recipes += new/datum/stack_recipe("bed", /obj/structure/bed, 2, one_per_turf = 1, on_floor = 1, supplied_material = "[name]") + recipes += new/datum/stack_recipe("[display_name] stool", /obj/item/weapon/stool, one_per_turf = 1, on_floor = 1, supplied_material = "[name]") + recipes += new/datum/stack_recipe("[display_name] chair", /obj/structure/bed/chair, one_per_turf = 1, on_floor = 1, supplied_material = "[name]") + recipes += new/datum/stack_recipe("[display_name] bed", /obj/structure/bed, 2, one_per_turf = 1, on_floor = 1, supplied_material = "[name]") /material/steel/generate_recipes() ..() diff --git a/code/modules/materials/materials.dm b/code/modules/materials/materials.dm index 29cd325ee3..9f2ead01e7 100644 --- a/code/modules/materials/materials.dm +++ b/code/modules/materials/materials.dm @@ -353,4 +353,8 @@ var/list/name_to_material var/mob/living/carbon/M = user if(istype(M) && locate(/obj/item/organ/xenos/hivenode) in M.internal_organs) return 1 - return 0 \ No newline at end of file + return 0 + +/material/leather //todo + name = "leather" + icon_colour = "#5C4831" \ No newline at end of file diff --git a/icons/obj/objects.dmi b/icons/obj/objects.dmi index cf366f75eafe425a6806b9d8c5465ec6a27fa775..30056c1c5d8429bca482515608b056dcb131251d 100644 GIT binary patch delta 70140 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 delta 69702 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 From 4cd2a5a53296a62cbaf081c8dd5b9084f7cfb0c5 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Sun, 17 May 2015 12:39:03 +0930 Subject: [PATCH 16/45] Updating stools/stool padding. --- .../objects/items/stacks/sheets/leather.dm | 10 -- code/game/objects/structures/simple_doors.dm | 2 +- .../structures/stool_bed_chair_nest/bed.dm | 16 +-- .../structures/stool_bed_chair_nest/chairs.dm | 9 +- .../structures/stool_bed_chair_nest/stools.dm | 108 ++++++++++++++++-- code/modules/materials/material_sheets.dm | 8 ++ code/modules/materials/materials.dm | 8 +- icons/obj/doors/material_doors.dmi | Bin 0 -> 26842 bytes icons/obj/doors/mineral_doors.dmi | Bin 31025 -> 0 bytes icons/obj/objects.dmi | Bin 122895 -> 122603 bytes maps/exodus-1.dmm | 70 ++++++------ 11 files changed, 161 insertions(+), 70 deletions(-) create mode 100644 icons/obj/doors/material_doors.dmi delete mode 100644 icons/obj/doors/mineral_doors.dmi diff --git a/code/game/objects/items/stacks/sheets/leather.dm b/code/game/objects/items/stacks/sheets/leather.dm index b0de81ff55..87cdf3b4c2 100644 --- a/code/game/objects/items/stacks/sheets/leather.dm +++ b/code/game/objects/items/stacks/sheets/leather.dm @@ -79,17 +79,7 @@ var/wetness = 30 //Reduced when exposed to high temperautres var/drying_threshold_temperature = 500 //Kelvin to start drying -/obj/item/stack/material/leather - name = "leather" - desc = "The by-product of mob grinding." - singular_name = "leather piece" - icon_state = "sheet-leather" - origin_tech = "materials=2" - - - //Step one - dehairing. - /obj/item/stack/material/animalhide/attackby(obj/item/weapon/W as obj, mob/user as mob) if( istype(W, /obj/item/weapon/material/knife) || \ istype(W, /obj/item/weapon/material/kitchen/utensil/knife) || \ diff --git a/code/game/objects/structures/simple_doors.dm b/code/game/objects/structures/simple_doors.dm index d2cd101a1a..d18a62ddf6 100644 --- a/code/game/objects/structures/simple_doors.dm +++ b/code/game/objects/structures/simple_doors.dm @@ -3,7 +3,7 @@ density = 1 anchored = 1 - icon = 'icons/obj/doors/mineral_doors.dmi' + icon = 'icons/obj/doors/material_doors.dmi' icon_state = "metal" var/material/material diff --git a/code/game/objects/structures/stool_bed_chair_nest/bed.dm b/code/game/objects/structures/stool_bed_chair_nest/bed.dm index 603d77c346..a172775778 100644 --- a/code/game/objects/structures/stool_bed_chair_nest/bed.dm +++ b/code/game/objects/structures/stool_bed_chair_nest/bed.dm @@ -17,8 +17,7 @@ can_buckle = 1 buckle_lying = 1 var/material/material - var/apply_colour = 1 - var/apply_strings = 1 + var/apply_cosmentics = 1 /obj/structure/bed/New(var/newloc, var/new_material) ..(newloc) @@ -29,9 +28,8 @@ if(!istype(material)) qdel(src) return - if(apply_colour) + if(apply_cosmentics) color = material.icon_colour - if(apply_strings) name = "[material.display_name] [initial(name)]" desc = "[initial(desc)] It's made of [material.display_name]." @@ -75,8 +73,7 @@ name = "psychiatrist's couch" desc = "For prime comfort during psychiatric evaluations." icon_state = "psychbed" - apply_colour = 0 - apply_strings = 0 + apply_cosmentics = 0 /obj/structure/bed/psych/New(var/newloc) ..(newloc,"leather") @@ -85,8 +82,8 @@ name = "resting contraption" desc = "This looks similar to contraptions from earth. Could aliens be stealing our technology?" icon_state = "abed" - apply_colour = 0 - apply_strings = 0 + apply_cosmentics = 0 + /obj/structure/bed/alien/New(var/newloc) ..(newloc,"resin") @@ -99,8 +96,7 @@ icon = 'icons/obj/rollerbed.dmi' icon_state = "down" anchored = 0 - apply_colour = 0 - apply_strings = 0 + apply_cosmentics = 0 /obj/structure/bed/roller/attackby(obj/item/weapon/W as obj, mob/user as mob) if(istype(W,/obj/item/roller_holder)) diff --git a/code/game/objects/structures/stool_bed_chair_nest/chairs.dm b/code/game/objects/structures/stool_bed_chair_nest/chairs.dm index c76cf57f8d..bcce35a220 100644 --- a/code/game/objects/structures/stool_bed_chair_nest/chairs.dm +++ b/code/game/objects/structures/stool_bed_chair_nest/chairs.dm @@ -70,8 +70,7 @@ icon_state = "wooden_chair" name = "wooden chair" desc = "Old is never too old to not be in fashion." - apply_colour = 0 - apply_strings = 0 + apply_cosmentics = 0 /obj/structure/bed/chair/wood/New(var/newloc) ..(newloc, "wood") @@ -85,8 +84,7 @@ icon_state = "comfychair" color = rgb(255,255,255) var/image/armrest = null - apply_colour = 0 - apply_strings = 0 + apply_cosmentics = 0 /obj/structure/bed/chair/comfy/New() armrest = image("icons/obj/objects.dmi", "comfychair_armrest") @@ -127,8 +125,7 @@ /obj/structure/bed/chair/office anchored = 0 buckle_movable = 1 - apply_colour = 0 - apply_strings = 0 + apply_cosmentics = 0 /obj/structure/bed/chair/comfy/lime color = rgb(255,251,0) diff --git a/code/game/objects/structures/stool_bed_chair_nest/stools.dm b/code/game/objects/structures/stool_bed_chair_nest/stools.dm index 6b05b9c85c..5ec94e39d0 100644 --- a/code/game/objects/structures/stool_bed_chair_nest/stools.dm +++ b/code/game/objects/structures/stool_bed_chair_nest/stools.dm @@ -1,31 +1,83 @@ +//Todo: add leather and cloth for arbitrary coloured stools. +var/global/list/stool_cache = list() //haha stool + /obj/item/weapon/stool name = "stool" desc = "Apply butt." icon = 'icons/obj/objects.dmi' - icon_state = "stool" + icon_state = "stool_preview" //set for the map force = 10 throwforce = 10 w_class = 5 + var/base_icon = "stool_base" var/material/material + var/material/padding_material -/obj/item/weapon/stool/New(var/newloc, var/new_material) +/obj/item/weapon/stool/padded + name = "padded stool" + icon_state = "stool_padded_preview" //set for the map + +/obj/item/weapon/stool/New(var/newloc, var/new_material, var/new_padding_material) ..(newloc) if(!new_material) new_material = DEFAULT_WALL_MATERIAL material = get_material_by_name(new_material) + if(new_padding_material) + padding_material = get_material_by_name(new_padding_material) if(!istype(material)) qdel(src) return force = round(material.get_blunt_damage()*0.4) - color = material.icon_colour - name = "[material.display_name] [initial(name)]" - desc = "[initial(desc)] It's made of [material.display_name]." + update_icon() + +/obj/item/weapon/stool/padded/New(var/newloc, var/new_material) + ..(newloc, "steel", "leather") + +/obj/item/weapon/stool/update_icon() + // Prep icon. + icon_state = "stool" + overlays.Cut() + // Base icon. + var/cache_key = "stool-[material.name]" + if(isnull(stool_cache[cache_key])) + var/image/I = image('icons/obj/objects.dmi', base_icon) + color = material.icon_colour + I.color = material.icon_colour + stool_cache[cache_key] = I + overlays |= stool_cache[cache_key] + // Padding overlay. + if(padding_material) + var/padding_cache_key = "stool-padding-[padding_material.name]" + if(isnull(stool_cache[padding_cache_key])) + var/image/I = image('icons/obj/objects.dmi', "stool_padding") + I.color = padding_material.icon_colour + stool_cache[padding_cache_key] = I + overlays |= stool_cache[padding_cache_key] + // Strings. + if(padding_material) + name = "[padding_material.display_name] [initial(name)]" //this is not perfect but it will do for now. + desc = "A stool. Apply butt. It's made of [material.display_name] and covered with [padding_material.display_name]." + else + name = "[material.display_name] [initial(name)]" + desc = "A stool. Apply butt. It's made of [material.display_name]." + +/obj/item/weapon/stool/proc/add_padding(var/padding_type) + padding_material = get_material_by_name(padding_type) + update_icon() + +/obj/item/weapon/stool/proc/remove_padding() + if(padding_material) + padding_material.place_sheet(get_turf(src)) + padding_material = null + update_icon() /obj/item/weapon/stool/attack(mob/M as mob, mob/user as mob) if (prob(5) && istype(M,/mob/living)) user.visible_message("\red [user] breaks [src] over [M]'s back!") user.remove_from_mob(src) material.place_sheet(get_turf(src)) + if(padding_material) + padding_material.place_sheet(get_turf(src)) qdel(src) var/mob/living/T = M T.Weaken(10) @@ -52,9 +104,51 @@ material.place_sheet(get_turf(src)) qdel(src) +/obj/item/weapon/stool/proc/dismantle() + if(material) + material.place_sheet(get_turf(src)) + if(padding_material) + padding_material.place_sheet(get_turf(src)) + qdel(src) + /obj/item/weapon/stool/attackby(obj/item/weapon/W as obj, mob/user as mob) if(istype(W, /obj/item/weapon/wrench)) playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1) - material.place_sheet(get_turf(src)) + dismantle() qdel(src) - ..() + else if(istype(W,/obj/item/stack)) + if(padding_material) + user << "\The [src] is already padded." + return + var/obj/item/stack/C = W + if(C.get_amount() < 1) // How?? + user.drop_from_inventory(C) + qdel(C) + return + var/padding_type //This is awful but it needs to be like this until tiles are given a material var. + if(istype(W,/obj/item/stack/tile/carpet)) + padding_type = "carpet" + else if(istype(W,/obj/item/stack/material)) + var/obj/item/stack/material/M = W + if(M.material && (M.material.name in list("leather", "cloth"))) + padding_type = "[M.material.name]" + if(!padding_type) + user << "You cannot pad \the [src] with that." + return + C.use(1) + if(!istype(src.loc, /turf)) + user.drop_from_inventory(src) + src.loc = get_turf(src) + user << "You add padding to \the [src]." + add_padding() + return + else if (istype(W, /obj/item/weapon/wirecutters)) + if(!padding_material) + user << "\The [src] has no padding to remove." + return + new /obj/item/stack/tile/carpet(get_turf(src),1) + user << "You remove the padding from \the [src]." + playsound(src, 'sound/items/Wirecutter.ogg', 100, 1) + remove_padding() + else + ..() diff --git a/code/modules/materials/material_sheets.dm b/code/modules/materials/material_sheets.dm index bc1f2510c2..332d1dbe48 100644 --- a/code/modules/materials/material_sheets.dm +++ b/code/modules/materials/material_sheets.dm @@ -165,9 +165,17 @@ obj/item/stack/material/iron name = "cloth" singular_name = "cloth roll" icon_state = "sheet-cloth" + default_type = "cloth" /obj/item/stack/material/cardboard name = "cardboard" singular_name = "cardboard sheet" icon_state = "sheet-card" default_type = "cardboard" + +/obj/item/stack/material/leather + name = "leather" + desc = "The by-product of mob grinding." + singular_name = "leather piece" + icon_state = "sheet-leather" + default_type = "leather" diff --git a/code/modules/materials/materials.dm b/code/modules/materials/materials.dm index 9f2ead01e7..c0c0a04b18 100644 --- a/code/modules/materials/materials.dm +++ b/code/modules/materials/materials.dm @@ -357,4 +357,10 @@ var/list/name_to_material /material/leather //todo name = "leather" - icon_colour = "#5C4831" \ No newline at end of file + icon_colour = "#5C4831" + stack_origin_tech = "materials=2" + +/material/carpet + name = "carpet" + display_name = "padding" + icon_colour = "#A83C1B" \ No newline at end of file diff --git a/icons/obj/doors/material_doors.dmi b/icons/obj/doors/material_doors.dmi new file mode 100644 index 0000000000000000000000000000000000000000..da1780ff8b6f9d29d9c495be86552873bad9a4e4 GIT binary patch literal 26842 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 E2i#SjlK=n! literal 0 HcmV?d00001 diff --git a/icons/obj/doors/mineral_doors.dmi b/icons/obj/doors/mineral_doors.dmi deleted file mode 100644 index a497f7e76344a14ad1dc40283d15ae67ee58242f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 31025 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 cjlJ@l%b?kq`Ogi$bo@5 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ξcKf|3ylrM#R<0(j8o%|lktQC|htW^Q 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 diff --git a/maps/exodus-1.dmm b/maps/exodus-1.dmm index e0992bcdf3..30da385706 100644 --- a/maps/exodus-1.dmm +++ b/maps/exodus-1.dmm @@ -297,8 +297,8 @@ "afK" = (/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod_berth{frequency = 1380; id_tag = "escape_pod_3_berth"; pixel_x = 25; pixel_y = 25; tag_door = "escape_pod_3_berth_hatch"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/security_starboard) "afL" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/camera/network/security{c_tag = "Security - Equipment North"; dir = 4},/turf/simulated/floor,/area/security/main) "afM" = (/obj/structure/table/standard,/obj/item/weapon/folder/red,/obj/item/weapon/folder/red,/obj/item/weapon/folder/blue,/obj/item/weapon/pen/blue{pixel_x = 4; pixel_y = 4},/obj/item/weapon/pen/red,/turf/simulated/floor{icon_state = "white"},/area/security/detectives_office) -"afN" = (/obj/item/weapon/stool,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "redfull"; dir = 9},/area/security/main) -"afO" = (/obj/structure/disposalpipe/segment,/obj/item/weapon/stool,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "redfull"; dir = 9},/area/security/main) +"afN" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/weapon/stool/padded,/turf/simulated/floor{icon_state = "redfull"; dir = 9},/area/security/main) +"afO" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/weapon/stool/padded,/turf/simulated/floor{icon_state = "redfull"; dir = 9},/area/security/main) "afP" = (/obj/structure/window/shuttle,/obj/structure/grille,/turf/simulated/shuttle/plating,/area/shuttle/escape_pod3/station) "afQ" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/maintenance/security_port) "afR" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/maintenance/security_port) @@ -1179,7 +1179,7 @@ "awI" = (/obj/structure/closet/emcloset,/turf/simulated/floor/plating,/area/hallway/secondary/entry/fore) "awJ" = (/obj/structure/closet,/obj/item/weapon/storage/backpack,/turf/simulated/floor/plating,/area/maintenance/arrivals) "awK" = (/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/turf/simulated/floor/plating,/area/maintenance/substation/security) -"awL" = (/obj/item/weapon/stool{pixel_y = 8},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/crew_quarters/sleep) +"awL" = (/obj/item/weapon/stool/padded,/turf/simulated/floor/wood,/area/crew_quarters/bar) "awM" = (/obj/machinery/door/airlock{name = "Brig Restroom"},/turf/simulated/floor,/area/security/prison) "awN" = (/obj/effect/decal/cleanable/blood/oil/streak{amount = 0},/turf/simulated/floor/plating,/area/maintenance/arrivals) "awO" = (/obj/structure/table/reinforced,/obj/machinery/door/blast/shutters{dir = 2; id = "bar"; layer = 3.1; name = "Bar Shutters"},/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar) @@ -1209,8 +1209,8 @@ "axm" = (/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/fitness) "axn" = (/obj/structure/window/basic{dir = 1},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/fitness) "axo" = (/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/fitness) -"axp" = (/obj/item/weapon/stool{pixel_y = 8},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor,/area/crew_quarters/sleep) -"axq" = (/obj/item/weapon/stool{pixel_y = 8},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor,/area/crew_quarters/sleep) +"axp" = (/obj/machinery/computer/security/telescreen/entertainment{pixel_x = -32},/obj/item/weapon/stool/padded,/turf/simulated/floor/wood,/area/crew_quarters/bar) +"axq" = (/obj/effect/landmark/start{name = "Gardener"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/weapon/stool/padded,/turf/simulated/floor{icon_state = "green"; dir = 8},/area/hydroponics/garden) "axr" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor,/area/crew_quarters/fitness) "axs" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/crew_quarters/fitness) "axt" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor,/area/crew_quarters/fitness) @@ -1254,8 +1254,8 @@ "ayf" = (/turf/simulated/floor{dir = 4; icon_state = "escapecorner"},/area/crew_quarters/fitness) "ayg" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor{icon_state = "whitehall"; dir = 1},/area/crew_quarters/fitness) "ayh" = (/turf/simulated/floor{icon_state = "whitehall"; dir = 1},/area/crew_quarters/fitness) -"ayi" = (/obj/item/weapon/stool{pixel_y = 8},/turf/simulated/floor,/area/crew_quarters/sleep) -"ayj" = (/obj/item/weapon/stool{pixel_y = 8},/turf/simulated/floor{icon_state = "neutralcorner"; dir = 2},/area/crew_quarters/sleep) +"ayi" = (/obj/effect/landmark/start{name = "Gardener"},/obj/item/weapon/stool/padded,/turf/simulated/floor{dir = 9; icon_state = "green"},/area/hydroponics/garden) +"ayj" = (/obj/item/weapon/stool/padded,/turf/simulated/floor{dir = 4; icon_state = "chapel"},/area/chapel/main) "ayk" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/crew_quarters/fitness) "ayl" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "neutralcorner"},/area/crew_quarters/fitness) "aym" = (/turf/simulated/floor/airless{icon_state = "catwalk12"},/area/space) @@ -2182,7 +2182,7 @@ "aPX" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor,/area/hallway/primary/central_two) "aPY" = (/obj/machinery/navbeacon{codes_txt = "patrol;next_patrol=EVA2"; location = "Dorm"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor,/area/hallway/primary/central_two) "aPZ" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor,/area/hallway/primary/central_two) -"aQa" = (/obj/item/weapon/stool{pixel_y = 8},/turf/simulated/floor/wood,/area/crew_quarters/bar) +"aQa" = (/obj/item/weapon/stool/padded,/turf/simulated/floor{dir = 1; icon_state = "chapel"},/area/chapel/main) "aQb" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar) "aQc" = (/obj/structure/extinguisher_cabinet{pixel_x = -13; pixel_y = 28},/obj/machinery/atm{pixel_x = 6; pixel_y = 28},/turf/simulated/floor,/area/hallway/primary/port) "aQd" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/camera/network/exodus{c_tag = "Primary Hallway Central - Northwest"},/turf/simulated/floor{dir = 4; icon_state = "bluecorner"},/area/hallway/primary/central_one) @@ -2198,7 +2198,7 @@ "aQn" = (/turf/simulated/floor,/area/hydroponics) "aQo" = (/obj/structure/disposalpipe/segment,/obj/machinery/hologram/holopad,/turf/simulated/floor{icon_state = "green"; dir = 4},/area/hydroponics) "aQp" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/hydroponics) -"aQq" = (/obj/machinery/computer/security/telescreen/entertainment{pixel_x = -32},/obj/item/weapon/stool{pixel_y = 8},/turf/simulated/floor/wood,/area/crew_quarters/bar) +"aQq" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/item/weapon/stool/padded,/turf/simulated/floor{dir = 1; icon_state = "chapel"},/area/chapel/main) "aQr" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/hydroponics) "aQs" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/hydroponics) "aQt" = (/obj/machinery/light_switch{pixel_x = 27},/turf/simulated/floor{icon_state = "green"; dir = 4},/area/hydroponics) @@ -2262,7 +2262,7 @@ "aRz" = (/obj/machinery/biogenerator,/turf/simulated/floor,/area/hydroponics) "aRA" = (/obj/machinery/seed_extractor,/turf/simulated/floor,/area/hydroponics) "aRB" = (/obj/machinery/vending/hydronutrients,/turf/simulated/floor,/area/hydroponics) -"aRC" = (/obj/item/weapon/stool{pixel_y = 8},/obj/effect/landmark/start{name = "Gardener"},/turf/simulated/floor{dir = 9; icon_state = "green"},/area/hydroponics/garden) +"aRC" = (/obj/effect/landmark/start{name = "Gardener"},/obj/item/weapon/stool/padded,/turf/simulated/floor{icon_state = "green"; dir = 8},/area/hydroponics/garden) "aRD" = (/obj/structure/disposalpipe/trunk{dir = 1},/obj/machinery/disposal,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor{icon_state = "green"; dir = 4},/area/hydroponics) "aRE" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/hydroponics) "aRF" = (/obj/machinery/vending/hydronutrients,/turf/simulated/floor{icon_state = "green"; dir = 8},/area/hydroponics) @@ -2497,13 +2497,13 @@ "aWa" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor{icon_state = "grimy"},/area/hydroponics/garden) "aWb" = (/turf/simulated/floor{icon_state = "whitehall"; dir = 5},/area/bridge) "aWc" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/hallway/primary/central_two) -"aWd" = (/obj/item/weapon/stool{pixel_y = 8},/obj/effect/landmark/start{name = "Gardener"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "green"; dir = 8},/area/hydroponics/garden) +"aWd" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/item/weapon/stool/padded,/turf/simulated/floor{icon_state = "chapel"},/area/chapel/main) "aWe" = (/obj/item/weapon/reagent_containers/food/condiment/peppermill{pixel_x = 2; pixel_y = 6},/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/food/condiment/saltshaker{pixel_x = -2; pixel_y = 4},/turf/simulated/floor/wood,/area/crew_quarters/bar) "aWf" = (/obj/structure/bed/chair{dir = 4},/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor{dir = 8; icon_state = "escape"},/area/hallway/secondary/exit) "aWg" = (/obj/item/weapon/stool{pixel_y = 8},/turf/simulated/floor,/area/crew_quarters/locker) "aWh" = (/obj/structure/bed/chair/wood/wings{icon_state = "wooden_chair_wings"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/wood,/area/crew_quarters/bar) "aWi" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/wood,/area/crew_quarters/bar) -"aWj" = (/obj/item/weapon/stool{pixel_y = 8},/obj/effect/landmark/start{name = "Gardener"},/turf/simulated/floor{icon_state = "green"; dir = 8},/area/hydroponics/garden) +"aWj" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/item/weapon/stool/padded,/turf/simulated/floor{dir = 8; icon_state = "chapel"},/area/chapel/main) "aWk" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/cobweb,/obj/item/weapon/material/shard{icon_state = "small"},/turf/simulated/floor/plating,/area/maintenance/locker) "aWl" = (/obj/structure/bed/chair/comfy/black,/turf/simulated/floor/wood,/area/library) "aWm" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/wood,/area/crew_quarters/bar) @@ -2553,7 +2553,7 @@ "aXe" = (/turf/simulated/floor/plating,/area/maintenance/locker) "aXf" = (/obj/effect/decal/cleanable/generic,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor/plating,/area/maintenance/locker) "aXg" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/structure/closet/wardrobe/white,/turf/simulated/floor,/area/crew_quarters/locker) -"aXh" = (/obj/item/weapon/stool,/turf/simulated/floor{icon_state = "chapel"},/area/chapel/main) +"aXh" = (/obj/item/weapon/stool/padded,/turf/simulated/floor{icon_state = "chapel"},/area/chapel/main) "aXi" = (/obj/structure/table/standard,/obj/machinery/chemical_dispenser/bar_soft/full,/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen) "aXj" = (/obj/structure/table/woodentable,/obj/item/weapon/material/kitchen/utensil/fork,/turf/simulated/floor/wood,/area/crew_quarters/bar) "aXk" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/food/snacks/mint,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen) @@ -2589,7 +2589,7 @@ "aXO" = (/obj/structure/table/standard,/obj/item/weapon/material/kitchen/rollingpin,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen) "aXP" = (/obj/structure/disposalpipe/segment,/obj/structure/table/woodentable,/turf/simulated/floor/wood,/area/crew_quarters/bar) "aXQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/table/woodentable,/obj/item/weapon/deck{pixel_y = 4},/turf/simulated/floor/wood,/area/crew_quarters/bar) -"aXR" = (/obj/item/weapon/stool,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{dir = 8; icon_state = "chapel"},/area/chapel/main) +"aXR" = (/obj/item/weapon/stool/padded,/turf/simulated/floor{dir = 8; icon_state = "chapel"},/area/chapel/main) "aXS" = (/obj/structure/table/woodentable,/obj/item/device/camera,/turf/simulated/floor/wood,/area/crew_quarters/bar) "aXT" = (/obj/structure/table/reinforced,/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar) "aXU" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/crew_quarters/kitchen) @@ -2603,12 +2603,12 @@ "aYc" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/hydroponics/garden) "aYd" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "grimy"},/area/hydroponics/garden) "aYe" = (/obj/structure/table/reinforced,/turf/simulated/floor{icon_state = "grimy"},/area/hydroponics/garden) -"aYf" = (/obj/item/weapon/stool,/turf/simulated/floor{dir = 8; icon_state = "chapel"},/area/chapel/main) +"aYf" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/item/weapon/stool/padded,/turf/simulated/floor,/area/crew_quarters/sleep) "aYg" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/hydroponics/garden) "aYh" = (/obj/structure/flora/ausbushes/brflowers,/turf/simulated/floor/grass,/area/hydroponics/garden) "aYi" = (/obj/structure/flora/ausbushes/sunnybush,/obj/item/device/radio/intercom{pixel_x = 25},/turf/simulated/floor/grass,/area/hydroponics/garden) "aYj" = (/obj/structure/bookcase{name = "bookcase (Adult)"},/turf/simulated/floor/wood,/area/library) -"aYk" = (/obj/item/weapon/stool,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor{icon_state = "chapel"},/area/chapel/main) +"aYk" = (/obj/item/weapon/stool/padded,/turf/simulated/floor,/area/crew_quarters/sleep) "aYl" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp/green{pixel_x = 1; pixel_y = 5},/turf/simulated/floor/wood,/area/library) "aYm" = (/obj/structure/bed/chair{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor{dir = 8; icon_state = "escape"},/area/hallway/secondary/exit) "aYn" = (/obj/structure/bed/chair{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor,/area/bridge) @@ -2630,7 +2630,7 @@ "aYD" = (/obj/structure/closet/emcloset,/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/hallway/secondary/entry/aft) "aYE" = (/turf/simulated/floor{dir = 8; icon_state = "whitecorner"},/area/hallway/secondary/entry/port) "aYF" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/hallway/secondary/entry/aft) -"aYG" = (/obj/item/weapon/stool,/turf/simulated/floor{dir = 4; icon_state = "chapel"},/area/chapel/main) +"aYG" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/item/weapon/stool/padded,/turf/simulated/floor,/area/crew_quarters/sleep) "aYH" = (/obj/structure/table/standard,/obj/structure/bedsheetbin,/turf/simulated/floor,/area/security/prison) "aYI" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor,/area/security/vacantoffice) "aYJ" = (/obj/structure/table/standard,/obj/machinery/light{dir = 8},/obj/machinery/microwave,/turf/simulated/floor,/area/security/prison) @@ -2647,14 +2647,14 @@ "aYU" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "solar_chapel_outer"; locked = 1; name = "Engineering External Access"; req_access = list(11,13)},/obj/effect/decal/cleanable/dirt,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard) "aYV" = (/obj/structure/noticeboard{pixel_y = 27},/obj/machinery/camera/network/command{c_tag = "Bridge East"},/turf/simulated/floor{icon_state = "whitehall"; dir = 1},/area/bridge) "aYW" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor,/area/crew_quarters/locker) -"aYX" = (/obj/item/weapon/stool,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{dir = 1; icon_state = "chapel"},/area/chapel/main) +"aYX" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/item/weapon/stool/padded,/turf/simulated/floor,/area/crew_quarters/sleep) "aYY" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor,/area/storage/tools) "aYZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/storage/tools) "aZa" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_y = 32},/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock East"},/turf/simulated/floor{dir = 5; icon_state = "blue"},/area/hallway/primary/central_one) "aZb" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plating,/area/bridge) "aZc" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor,/area/hallway/secondary/exit) "aZd" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/bridge) -"aZe" = (/obj/item/weapon/stool,/turf/simulated/floor{dir = 1; icon_state = "chapel"},/area/chapel/main) +"aZe" = (/obj/item/weapon/stool/padded,/turf/simulated/floor{icon_state = "neutralcorner"; dir = 2},/area/crew_quarters/sleep) "aZf" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor,/area/bridge) "aZg" = (/obj/machinery/atm{pixel_x = -25},/obj/machinery/camera/network/civilian_east{c_tag = "Bar West"; dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/bar) "aZh" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "solar_tool_airlock"; name = "exterior access button"; pixel_x = -25; pixel_y = -25; req_access = list(11,13)},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating/airless,/area/solar/auxport) @@ -3213,7 +3213,7 @@ "bjO" = (/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/wall,/area/maintenance/locker) "bjP" = (/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/cyan{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai) "bjQ" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/camera/network/civilian_west{c_tag = "Locker Room South"; dir = 8},/turf/simulated/floor,/area/crew_quarters/locker) -"bjR" = (/obj/machinery/light{dir = 1},/obj/item/weapon/stool,/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/reception) +"bjR" = (/obj/item/weapon/stool/padded,/turf/simulated/floor{tag = "icon-whiteblue (EAST)"; icon_state = "whiteblue"; dir = 4},/area/medical/reception) "bjS" = (/obj/effect/landmark{name = "tripai"},/obj/item/device/radio/intercom{anyai = 1; freerange = 1; listening = 0; name = "Custom Channel"; pixel_x = 0; pixel_y = 19},/obj/item/device/radio/intercom{anyai = 1; broadcasting = 0; freerange = 1; frequency = 1447; name = "Private Channel"; pixel_x = 0; pixel_y = -26},/obj/item/device/radio/intercom{anyai = 1; broadcasting = 1; freerange = 1; listening = 1; name = "Common Channel"; pixel_x = 27; pixel_y = -3},/obj/structure/cable/cyan{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/bluegrid,/area/turret_protected/ai) "bjT" = (/obj/machinery/vending/cigarette,/turf/simulated/floor/wood,/area/crew_quarters/captain) "bjU" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/turf/simulated/floor/wood,/area/crew_quarters/captain) @@ -3354,7 +3354,7 @@ "bmz" = (/obj/structure/disposalpipe/sortjunction/untagged{dir = 1},/turf/simulated/floor{icon_state = "floorgrime"},/area/quartermaster/storage) "bmA" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/decal/cleanable/blood/oil/streak{amount = 0},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/maintenance/locker) "bmB" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/camera/network/civilian_west{c_tag = "Locker Room Toilets"; dir = 8},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/locker/locker_toilet) -"bmC" = (/obj/item/weapon/stool,/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/reception) +"bmC" = (/obj/machinery/camera/network/mining{c_tag = "Medbay Lobby Starboard"},/obj/item/weapon/stool/padded,/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/reception) "bmD" = (/obj/structure/table/reinforced,/turf/simulated/floor{icon_state = "arrival"; dir = 4},/area/quartermaster/office) "bmE" = (/obj/structure/disposalpipe/segment,/turf/simulated/wall,/area/quartermaster/office) "bmF" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "warningcorner"; dir = 1},/area/quartermaster/office) @@ -3389,7 +3389,7 @@ "bni" = (/turf/simulated/wall,/area/medical/reception) "bnj" = (/obj/machinery/light{dir = 1},/obj/structure/closet/secure_closet/medical1,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/medical/exam_room) "bnk" = (/obj/structure/bed/chair/office/dark{dir = 4},/obj/effect/landmark/start{name = "Chemist"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor{dir = 4; icon_state = "whiteyellow"},/area/medical/chemistry) -"bnl" = (/obj/item/weapon/stool,/turf/simulated/floor{tag = "icon-whiteblue (EAST)"; icon_state = "whiteblue"; dir = 4},/area/medical/reception) +"bnl" = (/obj/machinery/light{dir = 1},/obj/item/weapon/stool/padded,/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/reception) "bnm" = (/obj/machinery/light{dir = 1},/obj/machinery/disposal,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/medical/exam_room) "bnn" = (/turf/simulated/wall,/area/medical/exam_room) "bno" = (/obj/machinery/door/airlock/glass_research{autoclose = 0; frequency = 1379; glass = 1; icon_state = "door_locked"; id_tag = "tox_airlock_interior"; locked = 1; name = "Mixing Room Interior Airlock"; req_access = list(7)},/turf/simulated/floor/engine,/area/rnd/mixing) @@ -3441,11 +3441,11 @@ "boi" = (/obj/structure/extinguisher_cabinet{pixel_x = 0; pixel_y = 30},/obj/machinery/chem_master,/obj/machinery/camera/network/medbay{c_tag = "Medbay - Chemistry"},/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) "boj" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/structure/table/reinforced,/obj/machinery/button/remote/blast_door{id = "chemcounter"; name = "Pharmacy Counter Lockdown Control"; pixel_y = 25},/obj/machinery/reagentgrinder,/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) "bok" = (/obj/item/weapon/folder/yellow,/obj/item/weapon/pen{pixel_x = 4; pixel_y = 4},/obj/structure/table/reinforced,/turf/simulated/floor{icon_state = "arrival"; dir = 4},/area/quartermaster/office) -"bol" = (/obj/item/weapon/stool,/obj/machinery/camera/network/mining{c_tag = "Medbay Lobby Port"},/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/reception) +"bol" = (/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/obj/item/weapon/stool/padded,/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/reception) "bom" = (/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/maintenance/substation/command) "bon" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/terminal{dir = 4},/turf/simulated/floor/plating,/area/maintenance/substation/command) "boo" = (/obj/item/weapon/stool,/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor{dir = 1; icon_state = "whitered"},/area/assembly/robotics) -"bop" = (/obj/item/weapon/stool,/obj/machinery/camera/network/mining{c_tag = "Medbay Lobby Starboard"},/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/reception) +"bop" = (/obj/machinery/camera/network/mining{c_tag = "Medbay Lobby Port"},/obj/item/weapon/stool/padded,/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/reception) "boq" = (/obj/item/weapon/stool,/obj/effect/landmark/start{name = "Scientist"},/turf/simulated/floor{dir = 1; icon_state = "whitepurple"},/area/rnd/lab) "bor" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor/plating,/area/maintenance/substation/command) "bos" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/maintenance/substation/command) @@ -7478,9 +7478,9 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauNatTavmatTauNatVavyatVauNauQauRaxuauTauUauUauVauQauQaafaaaaaIaafalzalyalyalyalyalAalkallaivaivaivaivagEaafaaIaaaaaaaaaaaaaaaaaaaaaaaaanXanXanXauWanXanXapbaucanXaaaaaaalWauXalWauYauZavaalWaZYavzaonavdaveaveavfavgaveavhaviavjarAavkauravlarEatBasZavAavoavJatCawravqatFatGauzauAavravsavtatMatNavuavvauGauHauHauHauJavwavQawfavVatRatRatRatRatRatRatRatRatRatRavcaafaaaaaaaaaaaaaamaamaaIaaaaaaaafaaaaaaabpaaaaafaafaafaafaaIaaIaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauNavBaxyavDauNavEaxAavGauNavHavIaxCavKavLavMavNavOauQaaaaaaaaqaaaapJapJapJapJapJaafbeSaafapJapJapJapJapJaaaaaIaaaaaaaaaaaaaaaaaaaaaaaaawkaxGavSayqaxOawoavWavXanXaaaaaaalWalWalWavYavZawaalWaYJaYNbbAaweawpaYHaukawhawxautawyawlarAawmaurayzarEatBasZawzawUawYaxaaxbawZatFatFatFawsawtawuatFatFatNayNawwauGauHauHauHauJawAavxawfaykatRatRatRatRatRatRatRatRatRatRavcaafaaaaaaaaaaaaaaaaaaaafaafaaaaafaaaaaaaYxaaaaaaaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauNawGawHawIauNawGawHawIauNawJavHavHavHavHavHavHavHasAaaaaaaaaIaaaaafaaaaafaafaaaaaaaZhaaaaaaaafaaaaaaaafaaaaaIaafaaaaaaaafaafaaaaaaaafawPaxGawQazgaxOawSaucawTanXaafaaLcqTatxatxatxatxatxatxatxatxatxatxatxatxatxatxatxatxatxatxarAawVaurawWarEatBasZawBaxjawCatCaxVavnazpaxcaxfaxeaxhaxgaxhaxiaxkaxlaxmaxnaxoaxoaxoaxnaxmavxawEawDatRatRatRatRatRatRatRatRatRatRavcaafaaaaaaaaaaaaaaaaaaaaaaafaafaafaaaazoaYUazoaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaatSauNazFaxxatSauNazUaxxatSauNaAbauNauNauNauNauNavHatqaaaaaaaaIaaIaaIaaaaaaaafaaaaxBaZnaxBaafaafaafaafaaIaaIaaIaafanXanXanXanXaxDaxEaxEaxFanXanXanXanXaAvaucaucanXaxHaxIanXanXaxJaxKaxLaxMaxMaxMaxMaxMaxMaxMaxMaxNaxMaxMaxMaxMaxMaAHaxPaxQaxRaAHavpasZaxSawjcfSatCaxVaxXaxXaxXaxZaxYayaawLaxXavqaydayeayfaygayhayhayhayhawXavxawEawDatRatRatRatRatRatRatRatRatRatRavcaafaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaaAuaBaaAuaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaynayoaypayoaBcayoayrayoaysaytayvayvayvayvaywauNawNatqaaaaafaafaaaaaaaaaaaaaafaaaayyaBkayAaafaaaaafaaaaaaaaaaaaaaaanXayBayCayDayCayCayCayCayEayCayCayFayGayDayHayIaxMaxMaxMaxMaxMaxMayJayKayLayLayLayLayMayLayLaZsayLayMayLayLayLarAaBEayPayQarEaAiasZcfSaycaxUatCayUayTayWaxpayYayXayYaxqayTazaazbazcazdazeazdazdazfaxraBOaxtaxTaxvatRatRatRatRatRatRatRatRatRatRavcaafaaaaaaaaaaaaaaaaaaaaaaaaaafaafaBuaBvaZraBxaByaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazqazrazsaztazuazvazwazxazyazwazzazAazwazwaCeauNavHauRaafaafaaaaaaaaaaaaaaaaafazDazEbdHazGazHaaaaafaaaaaaaaaaaaaaaanXazIanXazJazKazLazLazLazMazLazLazLazNazJazOazPazPazPazPazPazPazPazQazRayLazSazTazTazVazWazXazYazZaAabeTazTaAcarAaAdayPayQarEaAiasZaybaAeauMatCaxWaxXaxXaxXaxXayiayjaAlaAmaAnaxkaAoaylaApaApaApaAqayVatPayZatPatPatRatRatRatRatRatRatRatRatRatRavcaafaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaCvaCwbfyaCyaCvaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaatSauNazFaxxatSauNazUaxxatSauNaAbauNauNauNauNauNavHatqaaaaaaaaIaaIaaIaaaaaaaafaaaaxBaZnaxBaafaafaafaafaaIaaIaaIaafanXanXanXanXaxDaxEaxEaxFanXanXanXanXaAvaucaucanXaxHaxIanXanXaxJaxKaxLaxMaxMaxMaxMaxMaxMaxMaxMaxNaxMaxMaxMaxMaxMaAHaxPaxQaxRaAHavpasZaxSawjcfSatCaxVaxXaxXaYkaxZaxYayaaYfaxXavqaydayeayfaygayhayhayhayhawXavxawEawDatRatRatRatRatRatRatRatRatRatRavcaafaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaaAuaBaaAuaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaynayoaypayoaBcayoayrayoaysaytayvayvayvayvaywauNawNatqaaaaafaafaaaaaaaaaaaaaafaaaayyaBkayAaafaaaaafaaaaaaaaaaaaaaaanXayBayCayDayCayCayCayCayEayCayCayFayGayDayHayIaxMaxMaxMaxMaxMaxMayJayKayLayLayLayLayMayLayLaZsayLayMayLayLayLarAaBEayPayQarEaAiasZcfSaycaxUatCayUayTayWaYXayYayXayYaYGayTazaazbazcazdazeazdazdazfaxraBOaxtaxTaxvatRatRatRatRatRatRatRatRatRatRavcaafaaaaaaaaaaaaaaaaaaaaaaaaaafaafaBuaBvaZraBxaByaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazqazrazsaztazuazvazwazxazyazwazzazAazwazwaCeauNavHauRaafaafaaaaaaaaaaaaaaaaafazDazEbdHazGazHaaaaafaaaaaaaaaaaaaaaanXazIanXazJazKazLazLazLazMazLazLazLazNazJazOazPazPazPazPazPazPazPazQazRayLazSazTazTazVazWazXazYazZaAabeTazTaAcarAaAdayPayQarEaAiasZaybaAeauMatCaxWaxXaxXaxXaxXaYkaZeaAlaAmaAnaxkaAoaylaApaApaApaAqayVatPayZatPatPatRatRatRatRatRatRatRatRatRatRavcaafaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaCvaCwbfyaCyaCvaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafauNaAwaAxaAwaAyazsazsaAzaAwaAxaAwaAAaABaACaADauNavHauQauQaAEauUauUauUauUauVauQaAFaAGbfAaAIaAFanXanXaxHaAJaxIanXanXanXazIaAKazJaaaaafaaaaafaaaaafaaaaafaaaazJazOazPaALaAMaANaAOaAPazPazQaucayLaAQaAQaARaASaATaAUaAVaATaDyaAXazTaAcarAaAdayPaDdarEaAiasZawzaAgaAhaBbayRaBdaBeazhaBgaBhaBiaBjaBjaCLaBjatPaBlaBmaBnaBoaBpaBraxvazibguazjatRatRatRatRatRatRatRatRatRatRavcaafaaaaaaaaaaaaaaaaacaaaaaaaafaaaaCvazlaDAaDBaCvaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaBzatSaBAawHaBBaBCaBDaDcaBFaBBawHaBGaBHaBIaBJaBKaBLavHavHavHavHavHavHavHavHaDnaBPaAFazmaBRaBSaAFaBTaBUayCayCayCayCayCaBVaBWaBXazJaafaBYaBYaBYaBYaBYaBYaBYaafazJazOazPaBZaCaaCbaCcaBZazPazQaCdayLayLayLayLaDxaCfaCgaChaCfaECaCjazTaCkarAaAdayPaClarEaJCasZaznaAYazCatCaxWavqatEaBjaBjaBjaBjaBjaCqaCraCsaBjatPatPatPatPaDQatPatPaAfaAkaAjatRatRatRatRatRatRatRatRatRatRaumaafaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaCvaEXaEYaDYaCvaaaaaaaaaaafaafaaaaaaaaaaaaaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazqaAxaCzaCAaCAaCAaCAaCBaAxazqaaaaBIaCCaxzaBLaCEaCEaCEaCEaCEaCEaCEavHaCFaCGaAFaEeaCIaAsaAFaCKaEvaCKaCKaCKaCKaCKaCKaCKaCKaCMaaaaBYaCNaCOaCPaCQaCRaBYaaaazJazOazPaBZaCSaCTaCUaBZazPazQanXayLaCVaCWaARaCXaCYaCZaDaaDbbfeayLayLayLarAaAdayPayQarEaAiasZaAtaEMauMatCaDgavqatEaDhaDiaDjaDkaBjaCqaDlaCsaBjaDmaESbgIaDpaDqaGwaDsatPatPatPaAZatjatjatjatjaEVatjatjatjatjaBfaafaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaCvaCvbgHaGyaCvaDCaDDaDEaDCaDCaDCaDCaDCaDCaDCaDFaDGaDGaDGaDHaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -7493,12 +7493,12 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaT aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaaaaaaaaaaaaaLyaDJaDKaDJaDJaDLaDMaDJaDJaDKaLzaNgaBIaNhaLEaNiaMzaMzaNkaMzaNlaIAaNmaNnaLJaNoaNpaNqaNraNsaNtaNraNuaNraNraNraNvaNraNraNwaNxaNyaNzaNzaNBaOMaNCaNzaNzaNzaNzaNDaNEaNFaQcaNraNHaNIaNJaNKaNLaNMaNLaNNaNOaQdaNQaNQaNRaNSaNTaNSaNUaNVaNWaEGaNYaNZaOaaObaOcaMkaMkaMkaOdaOeaMTaMQaOhaQxaOjaOkaOlaOmaOnaJlaQAaQyaQEaOraOtaOtaOuaMZaOwaNdaKZaOyaOzaOAaOAaOBaLfaQJaODaOEaOEaOEaOEaOFaOGaQTaOIaOJaOKaOKaOLaRbaLfaJRaIgaONaOOaNjaOfaONaONaIgaORaOSaGFaOTaOUaOVaOWaGFaIoaIoaJVaIoaGGaGGaGGaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaOXaOYaOZaPaaPaaPaaPaaPbaOYaOXaaaaBIaPcaPdaPeaOvaOgaPhaPhaOxaIAaPjaNnaPkaPlaPmaPnaPoaPpaPqaPqaPraPsaPsaPsaPtaPuaPuaPvaPwaNIaPqaPqaPxaPyaPzaPAaPBaPBaPCaPBaPDaPyaPyaPyaPEaPFaPGaPHaMkaPIaPJaPJaPJaPJaPJaPJaPJaPJaPKaPJaPLaPMaPNaPOaPPaPQaPRaPSaPTaPJaPUaPJaPVaPWaPXaPWaPWaPWaPWaPWaPWaPYaPZaRsaQbaQbaQbaRraQbaQbaRxaQeaQfaQgaKZaQhaMCaQiaQjaQkaLfaCJaQmaQnaQnaQnaQnaQnaQoaQpaOPaQraQnaQnaQsaQtaLfaJRaIgaQuaONaONaQvaONaQwaIgaGFaGFaGFaGFaGFaGFaSoaGFaIoaIoaJVaIoaStaOQaGGaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaafaBIawqaBIaQBaQCaGOaQDaSuaQFaQGaGOaQCaQHaQIaBIaSyaLEaPeaPfaQLaPhaPhaOxaIAaQMaNnaLJaQNaNpaQOaQPaNraNraQQaQRaQSaSEaNraQUaQVaQWaQVaQXaQYaQVaQVaQZaQVaQVaRaaSHaQVaRcaQVaRdaNraNraNraReaPFaPGaPHaMkaRfaMkaRgaRgaRgaRgaRgaRgaRgaRgaRhaRiaRgaRjaRgaRgaRkaRgaRgaRgaRgaRlaRmaRnaRoaRoaRoaRoaRoaRoaRoaRpaRqaRpaJlaImawOawOawOawOawOaItaRuaRvaRwaKZaKZaKZaKZaKZaSIaLfawcaQmaQnaRzaRAaRBaPgaRDaREaRFaQraRGaRHaRIaRJaLfaJRaIgaRKaRKaRLaRMaRNaRNaROaIgaRPaRQaRRaGGaRSaRTaRUaRVaRVaRWaRXaGGaRYaGGaRZaRZaRZaSaaSbaScaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaGeaGgaGgaGiaSUaGhaSdaOYaLDaDPaHxaHxaSfaLDaOYaLDaHyaHAaHzaLEaSkaPiaPiaNkaPiaNlaIAaSmaNnaSnaIAaLKaLKaSZaLKaLKaLKaLKaLKaLKaSpaSqaLKaLKaLKaLKaLKaLKaSraSsaSraLKaTPaLKaNraQPawbauoaSwaSxaNraReaUlaMbaMbaMkaSzaKOaSAaMnaMnaSBaSBaSBaSBaSCaJeasfasNarVarXarXavParXarXarVasNawFaJeaSJaSKaSKaSKaSKaSLaSLaSMaSNaRqaRpaJlaQqaQaaQaaQaaQaaQaaQaaSQaSRaSSaSTaUOaSVaSWaSXaSYaKZaKZaVeaTaaTbaTcaTdaTeaTeaTeaTfaTgaTfaTeaTeaTeaTeaJRaIgaThaONaRLaRMaONaONaTiaIgaTjaQzaTlaGGaIoaTmaTnaToaTpaTqaIoaTraQKaGGaTtaTuaRZaTvaTwaTxaafaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaVfaVraVkaVIazkaSgaSeaSiaShaSjaSiaTzaTyaTBaTAaTEaTCaTAaTFcozaTIaTJaTKaTLaTLaTLaTMaTLaTNaTOaIAaWkaTQaTRaTSaTTaTUaTVaTWaTXaTUaTYaTZaUaaUbaUcaUdaUeazBaUgaUhaUeaUiaLKaLKaWoaLKaLKaLKaLKaUkaWwaLKaUmaMbaUnaSzaKOaUoaaaaaaaaaaaaaaaaaaaaaaUpaUqaUraUsaUtaUvaUuaUxaUwaUzaUyaVUaUpaaaaaaaaaaaaaaaaaaaaaaUAaSNaRqaUBaUCaUDaUEaUFaUFaUFaUFaUGaUHaUIaUFaUFaUFaUJaUKaULaUMaUNaWFaUPaUQayOaySaUTaTfaUUaUVaRCaUXaUYaUZaVaaVbaTeaJRaIgaVcaVcaRLaRMaVdaVdaWKaIgaIgaXlaIgaGGaVgaVhaViaViaViaVjaXnaGGaGGaGGaVlaVmaVnaVoaVpaVqaafaafaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDawdcmVaXzaXCaDPaVsaVsaVtaVsaVsaVsaVDaVsaVsaVtaVsaVsaYEaWYaVuaVvaKdaKdaKdaKdaKdaVwaVxaVyaXGaIAaTQaTQaVAaTSaVBaTUaTUaTUaTUaTUaTYaVCaTUaTUaTUaUdaUeawgaVEaVFaUeaUiaVGaVHaKeaKcaVKaUmaXIaVMaVNaVOaxwaVQaMkaSzaKOaUoaaaaaaaaaaaaaUpaUpaUpaUpaVRaSlaVTaXEaVVaSDaVXaXFaVZaSOaWbaUpaUpaUpaUpaaaaaaaaaaaaaUAaSNaRqaRpaWcaSSaSPaWeaTkaSSaTsaUWaWiaVSaVLaVWaWmaWnaQbaXNaWpaWqaWraWsaWtaWtaWuaWvaXXaWaaWyaWdaWAaWBaWCaWDaWEaTeaJRaIgaThaONaRLaRMaONaONaONaYqaWGaONaWHaGGaWIaWJaToaToaToaTqaIoaYsaGGaWfaVoaLuaWQaVoaWRaWSaWTaWTaWUaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTGaGgaTHaGiaBIaBIaBIaWVaWWaWWaWWaWWaWWaWWaWWaWXaBIaBLcpSaWZaIAaXcaXbaXbaXbaYraXdaIAaIAaIAaIAaTQaXeaXfaTSaXgaTUaTUaWgaNXaHIaQlaWgaTUaTUaTUaYwaUeaRyaUfaSvaUeaUiaVGaXpaKfaXraXsaUmaXtaxwaURaXvaUjaXxaMkaSzaKOaMmaSCaMbaXyaUpaUpaVYaXAaYyaYAaXDaXDaXEaXFaYMaXEaXFaXDaXDaXHaYVaXJaXBaUpaUpaXyaJlaXLaXMaSNaRqaRpaJlaZgaSPaXjaTkaSSaXPaXQaSSaWhaXSaTkaSSaXTaOtaXUaXVaUQaXkaXiaXOaVPaYaaYbaYcaYdaYeaWjaYgaWBaYhaWDaYiaTeaJRaIgaYjaYjaRLaRMaWlaONaONaYlaONaWzaWxaGGaIoaXRaXhaToaYfaYkaZXaWLbaOaYmaWOaZcaVoaYvaUSbaBbanaYzaVzaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaafaYCaYDcpKaYFaWPaEfaEfaYIaKpaKQaYLbaPaKxaYOaYPaYQaYRaYSaTSaYTaTUaTUaWgaHIaIKaISaWgaTUaTUaYWaUdaUeaUeaUeaUeaUeaUiaVGaVGaVGaVGaVGaUmaYYaXvaYZaXvaXvaXxaMkaSzaKOaNSaNSaZaaZbaWNaUpaZdaYnaZfbaTbaSbaVbaUbaXbaWbaZbaYbbbbbabbcaZfaYoaZjaUpaWMaZbaZlaZmbbeaSNaRqaRpaWcaSSaSSaSSaSSaSSaXPaZoaSSaWhaZpaTkaSSaXTaOtaZqaXVaUQaNcaNeaNPaLwaYaaYpaZwaYdaYeaWjaYgaWBaYhaZxaZyaZzbbfaZzaZzaZzaZBaZCaZDaYtaOOaZFaZGaZHaZIaGGaZJaYXaYGaToaZeaYGaIoaIoaXaaZiaVoaYuaVoaZNaZOaZPaZQaWTaZRaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaZSaZTaZUbjnaZWaSFaXwaZkbaaaZvaXWbadbaeaXYaYObagbahbaibajaTSbakbalbambbhbaobapbaqbarbarbarbasbataTSbaubavbawbaxaKgbajbnZaKhbajbkZaUmbaDbaEbaFbaGbaHbaIaMkbaJbaKaMkbaLbaMbbDbcybbPbbLbaRbaQbbQaUpaUpaUpaUpaUpbcDaUpaUpaUpbbRbaQbbdbbSbbWbeobcabbibbjbbkbblbbmbbnaJlaUDaSPbboaTkaSSaZAaZEbbraZKaXjaTkaSSaXTbbtaULaXVbbubbvbbwaUQaUQaYaaXZbbybbzaYKbbBaYgaWBbbCaWDbcuaZzaZLbbFbbFbbGbbHbbIaRLaRLaRLaRLaRLaRLaRLaGGbbJaXRaXhaToaYfaXhaIobbKaGGbcBaVoaYuaVoaZNbbMbbNbbOaafaafaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaGeaGgaGgaGiaSUaGhaSdaOYaLDaDPaHxaHxaSfaLDaOYaLDaHyaHAaHzaLEaSkaPiaPiaNkaPiaNlaIAaSmaNnaSnaIAaLKaLKaSZaLKaLKaLKaLKaLKaLKaSpaSqaLKaLKaLKaLKaLKaLKaSraSsaSraLKaTPaLKaNraQPawbauoaSwaSxaNraReaUlaMbaMbaMkaSzaKOaSAaMnaMnaSBaSBaSBaSBaSCaJeasfasNarVarXarXavParXarXarVasNawFaJeaSJaSKaSKaSKaSKaSLaSLaSMaSNaRqaRpaJlaxpawLawLawLawLawLawLaSQaSRaSSaSTaUOaSVaSWaSXaSYaKZaKZaVeaTaaTbaTcaTdaTeaTeaTeaTfaTgaTfaTeaTeaTeaTeaJRaIgaThaONaRLaRMaONaONaTiaIgaTjaQzaTlaGGaIoaTmaTnaToaTpaTqaIoaTraQKaGGaTtaTuaRZaTvaTwaTxaafaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaVfaVraVkaVIazkaSgaSeaSiaShaSjaSiaTzaTyaTBaTAaTEaTCaTAaTFcozaTIaTJaTKaTLaTLaTLaTMaTLaTNaTOaIAaWkaTQaTRaTSaTTaTUaTVaTWaTXaTUaTYaTZaUaaUbaUcaUdaUeazBaUgaUhaUeaUiaLKaLKaWoaLKaLKaLKaLKaUkaWwaLKaUmaMbaUnaSzaKOaUoaaaaaaaaaaaaaaaaaaaaaaUpaUqaUraUsaUtaUvaUuaUxaUwaUzaUyaVUaUpaaaaaaaaaaaaaaaaaaaaaaUAaSNaRqaUBaUCaUDaUEaUFaUFaUFaUFaUGaUHaUIaUFaUFaUFaUJaUKaULaUMaUNaWFaUPaUQayOaySaUTaTfaUUaUVayiaUXaUYaUZaVaaVbaTeaJRaIgaVcaVcaRLaRMaVdaVdaWKaIgaIgaXlaIgaGGaVgaVhaViaViaViaVjaXnaGGaGGaGGaVlaVmaVnaVoaVpaVqaafaafaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDawdcmVaXzaXCaDPaVsaVsaVtaVsaVsaVsaVDaVsaVsaVtaVsaVsaYEaWYaVuaVvaKdaKdaKdaKdaKdaVwaVxaVyaXGaIAaTQaTQaVAaTSaVBaTUaTUaTUaTUaTUaTYaVCaTUaTUaTUaUdaUeawgaVEaVFaUeaUiaVGaVHaKeaKcaVKaUmaXIaVMaVNaVOaxwaVQaMkaSzaKOaUoaaaaaaaaaaaaaUpaUpaUpaUpaVRaSlaVTaXEaVVaSDaVXaXFaVZaSOaWbaUpaUpaUpaUpaaaaaaaaaaaaaUAaSNaRqaRpaWcaSSaSPaWeaTkaSSaTsaUWaWiaVSaVLaVWaWmaWnaQbaXNaWpaWqaWraWsaWtaWtaWuaWvaXXaWaaWyaxqaWAaWBaWCaWDaWEaTeaJRaIgaThaONaRLaRMaONaONaONaYqaWGaONaWHaGGaWIaWJaToaToaToaTqaIoaYsaGGaWfaVoaLuaWQaVoaWRaWSaWTaWTaWUaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTGaGgaTHaGiaBIaBIaBIaWVaWWaWWaWWaWWaWWaWWaWWaWXaBIaBLcpSaWZaIAaXcaXbaXbaXbaYraXdaIAaIAaIAaIAaTQaXeaXfaTSaXgaTUaTUaWgaNXaHIaQlaWgaTUaTUaTUaYwaUeaRyaUfaSvaUeaUiaVGaXpaKfaXraXsaUmaXtaxwaURaXvaUjaXxaMkaSzaKOaMmaSCaMbaXyaUpaUpaVYaXAaYyaYAaXDaXDaXEaXFaYMaXEaXFaXDaXDaXHaYVaXJaXBaUpaUpaXyaJlaXLaXMaSNaRqaRpaJlaZgaSPaXjaTkaSSaXPaXQaSSaWhaXSaTkaSSaXTaOtaXUaXVaUQaXkaXiaXOaVPaYaaYbaYcaYdaYeaRCaYgaWBaYhaWDaYiaTeaJRaIgaYjaYjaRLaRMaWlaONaONaYlaONaWzaWxaGGaIoaWjaXhaToaXRaWdaZXaWLbaOaYmaWOaZcaVoaYvaUSbaBbanaYzaVzaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaafaYCaYDcpKaYFaWPaEfaEfaYIaKpaKQaYLbaPaKxaYOaYPaYQaYRaYSaTSaYTaTUaTUaWgaHIaIKaISaWgaTUaTUaYWaUdaUeaUeaUeaUeaUeaUiaVGaVGaVGaVGaVGaUmaYYaXvaYZaXvaXvaXxaMkaSzaKOaNSaNSaZaaZbaWNaUpaZdaYnaZfbaTbaSbaVbaUbaXbaWbaZbaYbbbbbabbcaZfaYoaZjaUpaWMaZbaZlaZmbbeaSNaRqaRpaWcaSSaSSaSSaSSaSSaXPaZoaSSaWhaZpaTkaSSaXTaOtaZqaXVaUQaNcaNeaNPaLwaYaaYpaZwaYdaYeaRCaYgaWBaYhaZxaZyaZzbbfaZzaZzaZzaZBaZCaZDaYtaOOaZFaZGaZHaZIaGGaZJaQqayjaToaQaayjaIoaIoaXaaZiaVoaYuaVoaZNaZOaZPaZQaWTaZRaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaZSaZTaZUbjnaZWaSFaXwaZkbaaaZvaXWbadbaeaXYaYObagbahbaibajaTSbakbalbambbhbaobapbaqbarbarbarbasbataTSbaubavbawbaxaKgbajbnZaKhbajbkZaUmbaDbaEbaFbaGbaHbaIaMkbaJbaKaMkbaLbaMbbDbcybbPbbLbaRbaQbbQaUpaUpaUpaUpaUpbcDaUpaUpaUpbbRbaQbbdbbSbbWbeobcabbibbjbbkbblbbmbbnaJlaUDaSPbboaTkaSSaZAaZEbbraZKaXjaTkaSSaXTbbtaULaXVbbubbvbbwaUQaUQaYaaXZbbybbzaYKbbBaYgaWBbbCaWDbcuaZzaZLbbFbbFbbGbbHbbIaRLaRLaRLaRLaRLaRLaRLaGGbbJaWjaXhaToaXRaXhaIobbKaGGbcBaVoaYuaVoaZNbbMbbNbbOaafaafaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaXubcFbcZaXmbbUaSFbaabaabaabaabaabbVbaaaXoaYObbXbbYbaibbZbbZbbZbbZbdKbbZbcbaTUbccbcdbcebcebcfbcgaTSaXebchbcibcjaKibdQblcaKkbcobcobcpbcpbcpbcpbcpbcqaMbbcrbcsbctbeabcvbcwbcxbbgaUpbczbcAbeeaUpaUpaaaaaaaafaafbekaaaaaaaUpaUpbezbcGbczaUpbbgbcxbcHbcIbcJbcKbcLaRpaWcaSSaSSaSSaSSaSSaGpbcMaSSbcNaSSbcObcObcObcObeBbcQbcRbcSaUQaUQaUQbeMbcUaTeaZMbcWbcXaYgaWBaYhaWDbcYaZzaZZbdabdbbdcbddbdebddbddbddbddbddbdfbdgbdhbdibdjbdkbdlbdmbdnbdobdpbdqbdraVoaYubdsaZNaVobeNbbOaafaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBbdubdvaZUbdwbdxaSFaEfbabbaaaZvaDobbVbaabdAaYObbpbdCbaibbZbdDbdEbdFbdGbbZaEgbdIbdJaTSbeRbdLbdMbdNaTSaXebdObdPbdPbeVbdPbdPbdPbdPbdRbdSbdSbdSbdTbdSbdUaMbbdVbdWbdXbdYbdYbdYbdYbdYbdYbdZbeWbdZbdYbebbebbebbebbebbecbebbebbebbedbedbfobedaUpaUpaUpaJiaJiaJibcKbcLaRpaJlbefbegaDmbehaSSbeibcMbejbfqbelbcObcObembenaZzaZzaZzbfwaSGaSGaSGaZzaZzaZzbeqberbesbetaWBaYhaYhbeuaZzbevbewbbqaZzbeybbsbeAaYtbfxbbEbeDbcmaONaGGaIobeFbeGbeHbeFbeIaIoaIoaGGbeJaVoaYuaVoaZNbeKbeLbbOaafaafaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaafbeObePbeQbfWaRtaEfaEdbeUaEcaDobbVbgNbgMaYObeXbeYbaibbZbbZbbZbeZbfabbZbfbbdIbfcaTSbeRbdLbdMbfdaTSaXebdObdPaAWbffbfgbfgbfhbdPbfibcVbfkbflbfmbfmbfmaMbaMkbcsbctbdYbfnbgUbfpbgWbfrbfsbftbfubdYbebbfvbgXbfvbhebhCbfvbdybebbedbfCbfDbfEbfFbfGbfHbfIbfJaJibfKbfLbfMaJlaZzaZzaZzaZzbfNbfObfPbfQaZzaZzbfRaZzaZzaZzaZzbfSbfTbfUbfVbfVbfVbhJbfXaZzbfYbfZbgabgbbgcbgcbgcbgdaZzbevbewbdBaZzaZzaZzaZzaZzaZzaZzaZzaZzaZzaZzbgfbggbghbgibgjbgfbggaZzaRZbgkaVoaYuaVoaZNaZObglbgmaWTaZRaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -7506,8 +7506,8 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaT aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaabhObhObhObhObhObhObhObhObhObhOaaaaafbhPaYDbhQbitbiqbjubjqbjwbjvbjubjBbjGbjCbjObhYbhZbgwbbZbbZbbZbiabfabbZaTSaTSaTSaTSbeRbibbicbjQaTSbiebifbdPbigbihbiibgDbijbdPbfibikbgFbgGbgGbgGaEhaMbbimaSzbctbjVbiobipbfjbirbisbfBbiubjMbdYbebbiwbixbiybjYbiybgYbgebebbedbiAbiBbiCbgQbiEbgZbiGbiHaJibiIbiJbiKbiLbiMbiNbiObiObiPbiQbiRbiSbiSbiSbiTbiSbiSbiSbiSbiSbiUbiVbiVbiVbiWbiObiObiNbiObiObiXbiVbiVbiYbiSbiZbjabjbbiSbjcbiObiObiObiObiObiObiObiObiObiObiObiObiObjdbiTbjebiSbjfbjgbjhbjibjibjjbjkaZNaWRbjlaWTaWTaWUaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaabhObhObhObhObhObhObhObhObhObhObhOaZSaZTbjmbjnbjobgrbjpbjpbjZbjpbjpbjpbjrbajbajbajbajbaibbZbdDbjsbjtbgybbZbkZbkZbkZaTSaTSaTSaTSbkkaTSbjxbdObdPbjybjzbgDbfgbkxbdPbkAbfmbkHbgGbgGbgGbjDaMbbjEaSzbctbkKbkLbgObhdbjIbjJbhfbjLblybdYbjNbkMbjPbiybkNbiybgVbkPbjSbedbjTbjUbizbjWbjWbjWbjXbkVaJibkXbkabkbbkcbkdbkebbFbkfbkgbkhbkibkjbkYbklbkmbknbknbkobewbewbewbewbewbkpbkqbkrbewbksbktcsfbkvbewbkpbkwcLYbkybhFbewbewbkzbewbewbllbkBbewbkpbewbewbewbewbewbewbewbewbewbhqbewbewbhFbkCbkDbkEbkFbkGblmbkIbkJaafaaaaafaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaabhObhObhObhObhObhObhObhObhObhObhObQDblrblEbQLbkObgrblTbkQbkRbkRbkSbkTbkUbmdbmlbmlbmAbmxbbZbbZbbZbeZbmBbbZbajbajbajbajblaaXeaXeblbblcbldbleblfblgblhblibljblkbdPbmEbfmbmFbgGblnbgGbloblpblqaSzbctbdYbmHblsbltblublvblwblxbdYbdYbebblzblAbmUbmNblDblAbiDbebbedbedblFblGblHblIbiCblJblKaJiblLblMblNaJiblOblOblOblOblOblOaZzaZzblPblQbZNcdMblQblPaZzaZzaZzaZzaZzaZzaZzaZzaZzaZzbmVaZzaZzaZzaZzaZzaZzbmXaZzbewbewblVblWbiFblOblOblOblOblOblXblYblYblZblYbewblYblZbmablYbmbblObmcbmcbmcbnbaRZbmeaRZaRZaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaabhObhObhObhObhObhObhObhObhObhObhObdubdvbjmbjnbmfbgrbmgbjpbmhbmibjpbjpbjpbnsbmjbmkbmkbnwbbZbdDbmmbeZbmnbbZbupbmpbmqbmrbmsbmtbmtbmubmtbmtbmvbdPbmwbnNbfgbmybmzblfbnRbnPbnSbgGbgGbjHbmDbnUblqaSzbnVbmGbmGbmGbmGbmGbmGbmGbnWbmGaafbebbmIbmJbmKbmLbmKbmMbjKbebaafbedbmObnXbmQbmRbiCbiGbmSaJibcKaRqaRpaJibmTbohboibCkbojbmYbmZbPMbolbjRbndbnebjRbopbmCbnhbnibnjbmPboKbnmbnnbPLbnpbnqbnrboWbntbntbnubYfaVJblOblObpmblObZMbZMblObnzbPKbnBblObZtbpobZtblOblXblYbmbblObZnbprbZnblObnGbPJbnIbnJbnKbnLbnMaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaabhObhObhObhObhObhObhObhObhObhOaaaaaabnObpwbeQbnQbgrbpLbpBbpMbnTbpPbpNbjpbpScfibnYbnZbnwbbZbbZbbZbbZbbZbbZboabobbocbodboebdPbdPbdPbdPbdPbdPbdPbWqbdPbdPbdPbogbdPbfmbqcbnSbgGbgGbgGbokblpblqaSzbqgbmGbombonbncbOIbvGbotbosbotaafbebboubovbowboxboybozbnfbebaafbedboBboCboDboEbiCbiGboFaJiboGboHaRpbXHboJbngboLboMbnkbPZboPboQboRboRboSboTboUboUboVbnlboXboYboZbpabpbbnnbPGbpdbpebpfbpgbphbpfbpibYfaVJbpjbpkbplbOJbpnbnybppbnCbnDbpqbqxbptboobqyblOaZzbqBbpxblObmWboqbPEbqGbpCbpDbnIbpEbpFbpGbnMaaaaaaaaaaacaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaabhObhObhObhObhObhObhObhObhObhObhObdubdvbjmbjnbmfbgrbmgbjpbmhbmibjpbjpbjpbnsbmjbmkbmkbnwbbZbdDbmmbeZbmnbbZbupbmpbmqbmrbmsbmtbmtbmubmtbmtbmvbdPbmwbnNbfgbmybmzblfbnRbnPbnSbgGbgGbjHbmDbnUblqaSzbnVbmGbmGbmGbmGbmGbmGbmGbnWbmGaafbebbmIbmJbmKbmLbmKbmMbjKbebaafbedbmObnXbmQbmRbiCbiGbmSaJibcKaRqaRpaJibmTbohboibCkbojbmYbmZbPMbopbnlbndbnebnlbmCbolbnhbnibnjbmPboKbnmbnnbPLbnpbnqbnrboWbntbntbnubYfaVJblOblObpmblObZMbZMblObnzbPKbnBblObZtbpobZtblOblXblYbmbblObZnbprbZnblObnGbPJbnIbnJbnKbnLbnMaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaabhObhObhObhObhObhObhObhObhObhOaaaaaabnObpwbeQbnQbgrbpLbpBbpMbnTbpPbpNbjpbpScfibnYbnZbnwbbZbbZbbZbbZbbZbbZboabobbocbodboebdPbdPbdPbdPbdPbdPbdPbWqbdPbdPbdPbogbdPbfmbqcbnSbgGbgGbgGbokblpblqaSzbqgbmGbombonbncbOIbvGbotbosbotaafbebboubovbowboxboybozbnfbebaafbedboBboCboDboEbiCbiGboFaJiboGboHaRpbXHboJbngboLboMbnkbPZboPboQboRboRboSboTboUboUboVbjRboXboYboZbpabpbbnnbPGbpdbpebpfbpgbphbpfbpibYfaVJbpjbpkbplbOJbpnbnybppbnCbnDbpqbqxbptboobqyblOaZzbqBbpxblObmWboqbPEbqGbpCbpDbnIbpEbpFbpGbnMaaaaaaaaaaacaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaaaaTDaTDaTDaTDaTDaaaaTDaTDaTDaTDaTDaaaaaaaaaaaaaaabgnbgobgpbgqbdvbpHbpHbpHbpIbpHbpJaZVbpKbqKbgrbqQbjpbrkbrcbpQbpRbrvbrubrwbrwbrwbrxbkWbpUbkWbkWbkWbkWbpVbpWbpWbpXbpYbdPcfycfocfzbrybqdbqebqfbrCbqhbqibqjbqkbqkbrDbrIbgGbgGbqmbfmaMbblqbqnbqoaJubqqbqrbqrbxqborbrPbxsbotaafbebbebbebbebbshbebbebbebbebaafbedbqzboCbqAbsjbqCbqDbqEaJibqFaRqaRpaJibskbqHbqIbqJaJDbqLboPbqNboUboUboUboUboUboUbqObqPbslboYbqRbqSboNbnnbqUbqVbqWbsnbpgbphbpfbqXbYfaVJbpjbqYbqZbqZbrabrbbsobrdbrdbrdbrebrdbrfboObrhbribrjbsqbnIbrlbpCbrmbrnbrobsrbnIbrqbpFbrrbnMaaaaaaaaaaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaaaaTDaTDaTDaTDaTDaaaaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaaaaaaaaaaaabrsbrtbsvbsBcaLbsHbsHbthbrzbrAbgrbtkbtlcaMbtmbjpbjpbjpbajbrEbrFbrGbrHbrGbrGbrGbrHbrGbajbajbdPbdPbdPbtBbdPbrJbrJbrJbrJbrJbrJbqfbrKbrLbrMbrNbrObtIbrQbrRbrSbrTbrUbrVbrWbrXbrYbrZaHBbsbbqvbsabYZcanbotbosbotaafbsibZibtKbtTbsmbtXbtKcaJbsiaafbedbspbuibspbedbedbedbujaJibssaRqaRpbXHboJbngbstbsubuobqLbswbqNcbQcdpcbdcbkceobsCbqObsDbnicevbsFcepcdGbnncdtbqVbpebpfbpgbphbpfbpibYfaVJbpjbsJbsKbsLbsMbplbsNbVzbsPbsQbsRbsSbsTbsUbrhbsVbsWbsXbnIbsYbsZbtabtbbtccflbnIbrqbpFbtebnMaaaaaaaaaaaaaaaaaaaaaaaaaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaaaaacaaaaaaaaaaaaaaaaaaaaabrsbtfbtgbuYbtibtibtibtjbtibtibgrbvabuZboAbvjbjpaaaaaaaaaaafaafbtnbtnbtnbtnbtnbtnbtnaaaaaabtobtpbtqbtrbtsbrJbrJbrJbrJbrJbrJbttbtubvqbtwbtxbtybtzbtAbfmbfmbvCbfmbfmbtCbtDbtEbtFbmGbtHbmGbmGbmGbmGbmGbvEbmGaafbtJbvFbtLbtMbtNbtMbtLbvIbtPaafbspbtQbtRbtSbvObtUbspbtVaJlbtWbbmbvZaJibtYbohbtZbuabwcbucbudbuebufbwgbWIbXnbwnbukbulbumbnibnnbunbpubVVbnnbuqburbusbutbuubuubuvbuwbYfaXqbpjbwxbplbplbsMbuybuzbPebpvbuCbuDbuEbuFbVybrhbuHbuIbuJbnIbuKbuLbuMbtbbpCbVebnIbpEbpFbUAbnMaaaaaaaaaaaacHOaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa From a540e97e1bc0db31a63d79470bfdb066b3fe84e6 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Sun, 17 May 2015 13:37:51 +0930 Subject: [PATCH 17/45] Stool and table tweaks, adjusted tables on the map. --- .../structures/stool_bed_chair_nest/stools.dm | 14 +- code/modules/materials/materials.dm | 9 +- code/modules/tables/presets.dm | 14 ++ icons/obj/objects.dmi | Bin 122603 -> 122580 bytes maps/exodus-1.dmm | 198 +++++++++--------- 5 files changed, 125 insertions(+), 110 deletions(-) diff --git a/code/game/objects/structures/stool_bed_chair_nest/stools.dm b/code/game/objects/structures/stool_bed_chair_nest/stools.dm index 5ec94e39d0..a8f879e084 100644 --- a/code/game/objects/structures/stool_bed_chair_nest/stools.dm +++ b/code/game/objects/structures/stool_bed_chair_nest/stools.dm @@ -14,7 +14,6 @@ var/global/list/stool_cache = list() //haha stool var/material/padding_material /obj/item/weapon/stool/padded - name = "padded stool" icon_state = "stool_padded_preview" //set for the map /obj/item/weapon/stool/New(var/newloc, var/new_material, var/new_padding_material) @@ -56,10 +55,10 @@ var/global/list/stool_cache = list() //haha stool // Strings. if(padding_material) name = "[padding_material.display_name] [initial(name)]" //this is not perfect but it will do for now. - desc = "A stool. Apply butt. It's made of [material.display_name] and covered with [padding_material.display_name]." + desc = "A padded stool. Apply butt. It's made of [material.display_name] and covered with [padding_material.display_name]." else name = "[material.display_name] [initial(name)]" - desc = "A stool. Apply butt. It's made of [material.display_name]." + desc = "A stool. Apply butt with care. It's made of [material.display_name]." /obj/item/weapon/stool/proc/add_padding(var/padding_type) padding_material = get_material_by_name(padding_type) @@ -73,11 +72,9 @@ var/global/list/stool_cache = list() //haha stool /obj/item/weapon/stool/attack(mob/M as mob, mob/user as mob) if (prob(5) && istype(M,/mob/living)) - user.visible_message("\red [user] breaks [src] over [M]'s back!") + user.visible_message("[user] breaks [src] over [M]'s back!") user.remove_from_mob(src) - material.place_sheet(get_turf(src)) - if(padding_material) - padding_material.place_sheet(get_turf(src)) + dismantle() qdel(src) var/mob/living/T = M T.Weaken(10) @@ -140,13 +137,12 @@ var/global/list/stool_cache = list() //haha stool user.drop_from_inventory(src) src.loc = get_turf(src) user << "You add padding to \the [src]." - add_padding() + add_padding(padding_type) return else if (istype(W, /obj/item/weapon/wirecutters)) if(!padding_material) user << "\The [src] has no padding to remove." return - new /obj/item/stack/tile/carpet(get_turf(src),1) user << "You remove the padding from \the [src]." playsound(src, 'sound/items/Wirecutter.ogg', 100, 1) remove_padding() diff --git a/code/modules/materials/materials.dm b/code/modules/materials/materials.dm index c0c0a04b18..fb296a6c12 100644 --- a/code/modules/materials/materials.dm +++ b/code/modules/materials/materials.dm @@ -159,7 +159,7 @@ var/list/name_to_material stack_origin_tech = "phorontech=2;materials=2" door_icon_base = "stone" -/material/sandstone +/material/stone name = "sandstone" stack_type = /obj/item/stack/material/sandstone icon_base = "stone" @@ -170,6 +170,13 @@ var/list/name_to_material hardness = 55 door_icon_base = "stone" +/material/stone/marble + name = "marble" + icon_colour = "#AAAAAA" + weight = 26 + hardness = 100 + integrity = 201 //hack to stop kitchen benches being flippable, todo: refactor into weight system + /material/steel name = DEFAULT_WALL_MATERIAL stack_type = /obj/item/stack/material/steel diff --git a/code/modules/tables/presets.dm b/code/modules/tables/presets.dm index 5f009e7e88..e52dac3bd6 100644 --- a/code/modules/tables/presets.dm +++ b/code/modules/tables/presets.dm @@ -7,6 +7,20 @@ material = get_material_by_name(DEFAULT_WALL_MATERIAL) ..() + plastic + icon_state = "plain_preview" + color = "#EEEEEE" + New() + material = get_material_by_name("plastic") + ..() + + marble + icon_state = "stone_preview" + color = "#CCCCCC" + New() + material = get_material_by_name("marble") + ..() + reinforced icon_state = "reinf_preview" color = "#666666" diff --git a/icons/obj/objects.dmi b/icons/obj/objects.dmi index 7d96d35a6e75b657b76b12c12b1f4232cb775ec5..9143ac4817b896b8b04fc28bd9b422d73d8fc423 100644 GIT binary patch delta 7958 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 HJotYB4P*HP delta 7980 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 diff --git a/maps/exodus-1.dmm b/maps/exodus-1.dmm index 30da385706..27100e829e 100644 --- a/maps/exodus-1.dmm +++ b/maps/exodus-1.dmm @@ -1144,7 +1144,7 @@ "avZ" = (/obj/machinery/light/small,/obj/structure/mopbucket,/obj/item/weapon/mop,/turf/simulated/floor{icon_state = "freezerfloor"},/area/security/prison) "awa" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/structure/mirror{pixel_x = 30},/obj/item/weapon/soap/nanotrasen,/turf/simulated/floor{icon_state = "freezerfloor"},/area/security/prison) "awb" = (/obj/structure/table/standard,/obj/machinery/camera/network/exodus{c_tag = "Primary Hallway Port - East"; dir = 1},/turf/simulated/floor,/area/hallway/primary/port) -"awc" = (/obj/structure/table/standard,/obj/item/weapon/material/hatchet,/obj/item/weapon/material/minihoe,/turf/simulated/floor{icon_state = "green"; dir = 8},/area/hydroponics) +"awc" = (/obj/machinery/light/small{dir = 1},/obj/item/clothing/head/cakehat,/obj/structure/table/marble,/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar) "awd" = (/obj/machinery/door/airlock/external{frequency = 1331; icon_state = "door_locked"; id_tag = "nuke_shuttle_dock_outer"; locked = 1; name = "Docking Port Airlock"; req_access = list(13)},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1331; master_tag = "nuke_shuttle_dock_airlock"; name = "exterior access button"; pixel_x = -5; pixel_y = -26; req_one_access = list(13)},/turf/simulated/floor/plating,/area/hallway/secondary/entry/port) "awe" = (/obj/machinery/vending/hydronutrients,/turf/simulated/floor,/area/security/prison) "awf" = (/obj/item/weapon/stool,/turf/simulated/floor{icon_state = "blue"; dir = 4},/area/crew_quarters/fitness) @@ -1489,7 +1489,7 @@ "aCG" = (/obj/machinery/atmospherics/pipe/tank/air{dir = 8},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/maintenance/arrivals) "aCH" = (/obj/structure/table/standard,/obj/machinery/recharger{pixel_y = 0},/turf/simulated/floor,/area/storage/primary) "aCI" = (/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating,/area/maintenance/auxsolarport) -"aCJ" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/glass/bucket,/turf/simulated/floor{icon_state = "green"; dir = 8},/area/hydroponics) +"aCJ" = (/obj/item/weapon/material/hatchet,/obj/item/weapon/material/minihoe,/obj/structure/table/plastic{name = "plastic table frame"},/turf/simulated/floor{icon_state = "green"; dir = 8},/area/hydroponics) "aCK" = (/turf/simulated/wall,/area/storage/primary) "aCL" = (/obj/machinery/door/airlock{name = "Unisex Showers"},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet) "aCM" = (/turf/simulated/wall/r_wall,/area/storage/primary) @@ -1520,7 +1520,7 @@ "aDl" = (/obj/effect/landmark{name = "xeno_spawn"; pixel_x = -1},/obj/item/weapon/bikehorn/rubberducky,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet) "aDm" = (/obj/machinery/vending/coffee,/turf/simulated/floor/wood,/area/crew_quarters/bar) "aDn" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 6; icon_state = "intact"; tag = "icon-intact-f (SOUTHEAST)"},/mob/living/simple_animal/mouse,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/maintenance/arrivals) -"aDo" = (/obj/structure/table/standard,/obj/structure/window/basic{dir = 4},/turf/simulated/floor,/area/security/vacantoffice) +"aDo" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/table/marble,/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar) "aDp" = (/turf/simulated/wall,/area/crew_quarters/bar) "aDq" = (/obj/structure/disposalpipe/segment,/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/bar) "aDr" = (/obj/item/weapon/stool{pixel_y = 8},/obj/effect/landmark/start{name = "Assistant"},/turf/simulated/floor,/area/storage/primary) @@ -1560,10 +1560,10 @@ "aDZ" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_y = 0},/turf/simulated/wall/r_wall,/area/maintenance/auxsolarport) "aEa" = (/obj/machinery/vending/assist,/turf/simulated/floor,/area/storage/primary) "aEb" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/storage/primary) -"aEc" = (/obj/structure/table/standard,/obj/machinery/newscaster{pixel_y = -32},/turf/simulated/floor,/area/security/vacantoffice) -"aEd" = (/obj/structure/table/standard,/obj/item/weapon/folder/yellow,/turf/simulated/floor,/area/security/vacantoffice) +"aEc" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/table/marble,/turf/simulated/floor{icon_state = "grimy"},/area/hydroponics/garden) +"aEd" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/table/marble,/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar) "aEe" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/camera/network/engineering{c_tag = "Solar Maintenance Fore Port"; dir = 1},/turf/simulated/floor/plating,/area/maintenance/auxsolarport) -"aEf" = (/obj/structure/table/standard,/turf/simulated/floor,/area/security/vacantoffice) +"aEf" = (/obj/structure/table/marble,/turf/simulated/floor{icon_state = "grimy"},/area/hydroponics/garden) "aEg" = (/obj/structure/table/standard,/obj/structure/window/reinforced{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{dir = 8; icon_state = "barber"},/area/crew_quarters/locker) "aEh" = (/obj/structure/table/standard,/obj/item/device/destTagger{pixel_x = 4; pixel_y = 3},/obj/item/device/destTagger{pixel_x = 4; pixel_y = 3},/obj/machinery/light{dir = 4},/turf/simulated/floor{icon_state = "arrival"; dir = 4},/area/quartermaster/office) "aEi" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor,/area/storage/primary) @@ -1748,7 +1748,7 @@ "aHF" = (/obj/structure/toilet{pixel_y = 8},/obj/machinery/light/small{dir = 8},/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet) "aHG" = (/obj/machinery/light/small{dir = 8},/obj/machinery/recharge_station,/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet) "aHH" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/wood,/area/crew_quarters/bar) -"aHI" = (/obj/structure/table/standard,/turf/simulated/floor,/area/crew_quarters/locker) +"aHI" = (/obj/item/weapon/reagent_containers/glass/bucket,/obj/structure/table/plastic{name = "plastic table frame"},/turf/simulated/floor{icon_state = "green"; dir = 8},/area/hydroponics) "aHJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/camera/network/civilian_east{c_tag = "Dormitories South"; dir = 4},/turf/simulated/floor{icon_state = "neutral"; dir = 8},/area/crew_quarters/sleep) "aHK" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/bar) "aHL" = (/obj/structure/disposalpipe/junction{icon_state = "pipe-j1"; dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/bar) @@ -1802,7 +1802,7 @@ "aIH" = (/obj/structure/extinguisher_cabinet{pixel_x = -5; pixel_y = 30},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/hallway/secondary/entry/starboard) "aII" = (/obj/machinery/door/airlock/maintenance{req_access = list(12)},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/substation/civilian_east) "aIJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor,/area/hallway/secondary/entry/starboard) -"aIK" = (/obj/structure/table/standard,/obj/item/clothing/head/soft/grey{pixel_x = -2; pixel_y = 3},/turf/simulated/floor,/area/crew_quarters/locker) +"aIK" = (/obj/structure/window/basic{dir = 4},/obj/structure/table/plastic{name = "plastic table frame"},/turf/simulated/floor,/area/security/vacantoffice) "aIL" = (/obj/effect/landmark/start{name = "Assistant"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor,/area/storage/primary) "aIM" = (/obj/effect/landmark/start{name = "Assistant"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor,/area/storage/primary) "aIN" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating,/area/maintenance/library) @@ -1810,7 +1810,7 @@ "aIP" = (/obj/effect/landmark/start{name = "Assistant"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor,/area/storage/primary) "aIQ" = (/obj/structure/sign/securearea,/turf/simulated/wall/r_wall,/area/security/nuke_storage) "aIR" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/meter,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/maintenance/library) -"aIS" = (/obj/structure/table/standard,/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/item/weapon/tape_roll,/turf/simulated/floor,/area/crew_quarters/locker) +"aIS" = (/obj/machinery/newscaster{pixel_y = -32},/obj/structure/table/plastic{name = "plastic table frame"},/turf/simulated/floor,/area/security/vacantoffice) "aIT" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/gateway) "aIU" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/gateway) "aIV" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor,/area/gateway) @@ -1885,7 +1885,7 @@ "aKm" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/storage/primary) "aKn" = (/turf/simulated/floor,/area/storage/primary) "aKo" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor,/area/storage/primary) -"aKp" = (/obj/structure/table/standard,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor,/area/security/vacantoffice) +"aKp" = (/obj/item/weapon/folder/yellow,/obj/structure/table/plastic{name = "plastic table frame"},/turf/simulated/floor,/area/security/vacantoffice) "aKq" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor,/area/storage/primary) "aKr" = (/turf/simulated/floor{icon_state = "delivery"},/area/storage/primary) "aKs" = (/obj/machinery/navbeacon{codes_txt = "delivery;dir=8"; freq = 1400; location = "Tool Storage"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "bot"},/area/storage/primary) @@ -1912,7 +1912,7 @@ "aKN" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/hallway/primary/central_one) "aKO" = (/turf/simulated/floor{dir = 4; icon_state = "bluecorner"},/area/hallway/primary/central_one) "aKP" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Firelock North"},/obj/machinery/door/window/brigdoor{dir = 1; name = "Security Checkpoint"; req_access = list(63)},/turf/simulated/floor{icon_state = "delivery"},/area/hallway/secondary/entry/starboard) -"aKQ" = (/obj/structure/table/standard,/obj/structure/window/basic{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor,/area/security/vacantoffice) +"aKQ" = (/obj/structure/table/plastic{name = "plastic table frame"},/turf/simulated/floor,/area/security/vacantoffice) "aKR" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/hallway/primary/central_one) "aKS" = (/obj/machinery/vending/cola,/turf/simulated/floor{icon_state = "dark"},/area/hallway/primary/central_two) "aKT" = (/obj/structure/disposalpipe/segment,/obj/machinery/button/crematorium{pixel_x = 25},/obj/machinery/light/small{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "dark"},/area/chapel/office) @@ -1944,7 +1944,7 @@ "aLt" = (/obj/structure/table/woodentable,/obj/item/weapon/nullrod,/obj/item/device/eftpos{eftpos_name = "Chapel EFTPOS scanner"},/turf/simulated/floor{icon_state = "grimy"},/area/chapel/office) "aLu" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor,/area/hallway/secondary/exit) "aLv" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/bed/chair/comfy/brown{dir = 4},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/carpet,/area/crew_quarters/bar) -"aLw" = (/obj/structure/table/standard,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen) +"aLw" = (/obj/structure/table/plastic{name = "plastic table frame"},/turf/simulated/floor,/area/crew_quarters/locker) "aLx" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/chapel/main) "aLy" = (/turf/simulated/shuttle/wall{icon_state = "swall_s5"; dir = 2},/area/shuttle/arrival/station) "aLz" = (/turf/simulated/shuttle/wall{icon_state = "swall13"; dir = 2},/area/shuttle/arrival/station) @@ -2028,9 +2028,9 @@ "aMZ" = (/obj/structure/bed/chair/comfy/brown{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/carpet,/area/crew_quarters/bar) "aNa" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor{icon_state = "grimy"},/area/chapel/office) "aNb" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/hologram/holopad,/turf/simulated/floor{icon_state = "grimy"},/area/chapel/office) -"aNc" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/food/condiment/enzyme{layer = 5},/obj/item/weapon/packageWrap,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen) +"aNc" = (/obj/item/clothing/head/soft/grey{pixel_x = -2; pixel_y = 3},/obj/structure/table/plastic{name = "plastic table frame"},/turf/simulated/floor,/area/crew_quarters/locker) "aNd" = (/obj/structure/bed/chair/comfy/brown{dir = 8},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/carpet,/area/crew_quarters/bar) -"aNe" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/weapon/reagent_containers/glass/beaker{pixel_x = 5},/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen) +"aNe" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/item/weapon/tape_roll,/obj/structure/table/plastic{name = "plastic table frame"},/turf/simulated/floor,/area/crew_quarters/locker) "aNf" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/chapel/main) "aNg" = (/turf/simulated/shuttle/wall{icon_state = "swall_s9"; dir = 2},/area/shuttle/arrival/station) "aNh" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/hallway/secondary/entry/port) @@ -2067,7 +2067,7 @@ "aNM" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/hallway/primary/central_one) "aNN" = (/obj/machinery/light{dir = 1},/obj/item/device/radio/intercom{broadcasting = 0; listening = 1; name = "Station Intercom (General)"; pixel_y = 20},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/hallway/primary/central_one) "aNO" = (/obj/structure/extinguisher_cabinet{pixel_x = 5; pixel_y = 30},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/hallway/primary/central_one) -"aNP" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/food/condiment/saltshaker{pixel_x = -3; pixel_y = 0},/obj/item/weapon/reagent_containers/food/condiment/peppermill{pixel_x = 3},/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen) +"aNP" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/table/plastic{name = "plastic table frame"},/turf/simulated/floor,/area/security/vacantoffice) "aNQ" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/hallway/primary/central_one) "aNR" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/hallway/primary/central_one) "aNS" = (/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/hallway/primary/central_one) @@ -2075,7 +2075,7 @@ "aNU" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock East"},/turf/simulated/floor{dir = 1; icon_state = "bluecorner"},/area/hallway/primary/central_one) "aNV" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/floor{icon_state = "L1"},/area/hallway/primary/central_one) "aNW" = (/obj/item/device/radio/intercom{broadcasting = 0; listening = 1; name = "Station Intercom (General)"; pixel_y = 20},/turf/simulated/floor{icon_state = "L3"},/area/hallway/primary/central_one) -"aNX" = (/obj/structure/table/standard,/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/turf/simulated/floor,/area/crew_quarters/locker) +"aNX" = (/obj/structure/window/basic{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/table/plastic{name = "plastic table frame"},/turf/simulated/floor,/area/security/vacantoffice) "aNY" = (/turf/simulated/floor{icon_state = "L7"},/area/hallway/primary/central_one) "aNZ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "L9"},/area/hallway/primary/central_one) "aOa" = (/turf/simulated/floor{icon_state = "L11"},/area/hallway/primary/central_one) @@ -2193,7 +2193,7 @@ "aQi" = (/obj/machinery/gibber,/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen) "aQj" = (/obj/structure/closet/crate/freezer,/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen) "aQk" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen) -"aQl" = (/obj/structure/table/standard,/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/crew_quarters/locker) +"aQl" = (/obj/structure/table/marble,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen) "aQm" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics) "aQn" = (/turf/simulated/floor,/area/hydroponics) "aQo" = (/obj/structure/disposalpipe/segment,/obj/machinery/hologram/holopad,/turf/simulated/floor{icon_state = "green"; dir = 4},/area/hydroponics) @@ -2333,7 +2333,7 @@ "aSS" = (/turf/simulated/floor/wood,/area/crew_quarters/bar) "aST" = (/obj/machinery/newscaster{pixel_y = 32},/turf/simulated/floor/wood,/area/crew_quarters/bar) "aSU" = (/obj/machinery/camera/network/exodus{c_tag = "Arrivals Southwest"},/turf/simulated/floor,/area/hallway/secondary/entry/port) -"aSV" = (/obj/structure/table/reinforced,/obj/machinery/light/small{dir = 1},/obj/item/clothing/head/cakehat,/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar) +"aSV" = (/obj/item/weapon/reagent_containers/food/condiment/enzyme{layer = 5},/obj/item/weapon/packageWrap,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/table/marble,/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen) "aSW" = (/obj/machinery/disposal,/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/structure/disposalpipe/trunk{dir = 4},/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar) "aSX" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/crew_quarters/kitchen) "aSY" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen) @@ -2425,7 +2425,7 @@ "aUG" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor/wood,/area/crew_quarters/bar) "aUH" = (/obj/machinery/hologram/holopad,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/bar) "aUI" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/wood,/area/crew_quarters/bar) -"aUJ" = (/obj/structure/table/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar) +"aUJ" = (/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/weapon/reagent_containers/glass/beaker{pixel_x = 5},/obj/structure/table/marble,/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen) "aUK" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar) "aUL" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/crew_quarters/kitchen) "aUM" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen) @@ -2437,7 +2437,7 @@ "aUS" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "escape_dock_north_airlock"; name = "interior access button"; pixel_x = 26; pixel_y = 26; req_one_access = list(13)},/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor,/area/hallway/secondary/exit) "aUT" = (/obj/structure/closet/secure_closet/freezer/kitchen,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen) "aUU" = (/obj/machinery/light_switch{pixel_y = 28},/turf/simulated/floor{icon_state = "grimy"},/area/hydroponics/garden) -"aUV" = (/obj/structure/table/reinforced,/obj/machinery/firealarm{dir = 2; pixel_y = 24},/turf/simulated/floor{icon_state = "grimy"},/area/hydroponics/garden) +"aUV" = (/obj/item/weapon/reagent_containers/food/condiment/saltshaker{pixel_x = -3; pixel_y = 0},/obj/item/weapon/reagent_containers/food/condiment/peppermill{pixel_x = 3},/obj/structure/table/marble,/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen) "aUW" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/bed/chair/wood/wings,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/wood,/area/crew_quarters/bar) "aUX" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor{dir = 1; icon_state = "green"},/area/hydroponics/garden) "aUY" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor{dir = 5; icon_state = "green"},/area/hydroponics/garden) @@ -2483,7 +2483,7 @@ "aVM" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor,/area/storage/tools) "aVN" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor,/area/storage/tools) "aVO" = (/obj/machinery/light_switch{pixel_y = 28},/turf/simulated/floor,/area/storage/tools) -"aVP" = (/obj/structure/table/standard,/obj/item/weapon/book/manual/chef_recipes,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen) +"aVP" = (/obj/structure/table/marble,/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar) "aVQ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/hallway/primary/central_one) "aVR" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor{icon_state = "red"; dir = 9},/area/bridge) "aVS" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/structure/bed/chair/wood/wings{icon_state = "wooden_chair_wings"; dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/wood,/area/crew_quarters/bar) @@ -2507,7 +2507,7 @@ "aWk" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/cobweb,/obj/item/weapon/material/shard{icon_state = "small"},/turf/simulated/floor/plating,/area/maintenance/locker) "aWl" = (/obj/structure/bed/chair/comfy/black,/turf/simulated/floor/wood,/area/library) "aWm" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/wood,/area/crew_quarters/bar) -"aWn" = (/obj/structure/table/reinforced,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar) +"aWn" = (/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/obj/structure/table/plastic{name = "plastic table frame"},/turf/simulated/floor,/area/crew_quarters/locker) "aWo" = (/obj/machinery/door/airlock{name = "Port Emergency Storage"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/hallway/primary/port) "aWp" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen) "aWq" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen) @@ -2518,7 +2518,7 @@ "aWv" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen) "aWw" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Auxiliary Tool Storage"; req_access = list(12)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/hallway/primary/port) "aWx" = (/obj/item/device/radio/intercom{pixel_x = 28},/obj/machinery/libraryscanner,/turf/simulated/floor/wood,/area/library) -"aWy" = (/obj/structure/table/reinforced,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "grimy"},/area/hydroponics/garden) +"aWy" = (/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/table/plastic{name = "plastic table frame"},/turf/simulated/floor,/area/crew_quarters/locker) "aWz" = (/obj/effect/landmark/start{name = "Librarian"},/obj/structure/bed/chair/office/dark,/turf/simulated/floor/wood,/area/library) "aWA" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/hydroponics/garden) "aWB" = (/turf/simulated/floor{icon_state = "green"; dir = 4},/area/hydroponics/garden) @@ -2554,9 +2554,9 @@ "aXf" = (/obj/effect/decal/cleanable/generic,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor/plating,/area/maintenance/locker) "aXg" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/structure/closet/wardrobe/white,/turf/simulated/floor,/area/crew_quarters/locker) "aXh" = (/obj/item/weapon/stool/padded,/turf/simulated/floor{icon_state = "chapel"},/area/chapel/main) -"aXi" = (/obj/structure/table/standard,/obj/machinery/chemical_dispenser/bar_soft/full,/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen) +"aXi" = (/obj/item/weapon/book/manual/chef_recipes,/obj/structure/table/marble,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen) "aXj" = (/obj/structure/table/woodentable,/obj/item/weapon/material/kitchen/utensil/fork,/turf/simulated/floor/wood,/area/crew_quarters/bar) -"aXk" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/food/snacks/mint,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen) +"aXk" = (/obj/machinery/chemical_dispenser/bar_soft/full,/obj/structure/table/marble,/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen) "aXl" = (/obj/machinery/door/morgue{dir = 2; name = "Private Study"; req_access = list(37)},/turf/simulated/floor{icon_state = "cult"; dir = 2},/area/library) "aXm" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "centcom_shuttle_dock_airlock"; name = "interior access button"; pixel_x = -28; pixel_y = 26; req_one_access = list(13)},/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/turf/simulated/floor,/area/hallway/secondary/entry/aft) "aXn" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/machinery/camera/network/civilian_east{c_tag = "Chapel South"; dir = 8},/turf/simulated/floor{icon_state = "dark"},/area/chapel/main) @@ -2568,7 +2568,7 @@ "aXt" = (/obj/structure/extinguisher_cabinet{pixel_x = -24},/turf/simulated/floor,/area/storage/tools) "aXu" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "centcom_shuttle_dock_outer"; locked = 1; name = "Docking Port Airlock"; req_access = list(13)},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1380; master_tag = "centcom_shuttle_dock_airlock"; name = "exterior access button"; pixel_x = -5; pixel_y = -26; req_one_access = list(13)},/turf/simulated/floor/plating,/area/hallway/secondary/entry/aft) "aXv" = (/turf/simulated/floor,/area/storage/tools) -"aXw" = (/obj/structure/table/standard,/obj/item/ashtray/plastic{pixel_x = 4; pixel_y = 6},/turf/simulated/floor,/area/security/vacantoffice) +"aXw" = (/obj/item/weapon/material/kitchen/rollingpin,/obj/structure/table/marble,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen) "aXx" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/hallway/primary/central_one) "aXy" = (/turf/simulated/wall,/area/bridge) "aXz" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1331; id_tag = "nuke_shuttle_dock_pump"},/obj/machinery/airlock_sensor{frequency = 1331; id_tag = "nuke_shuttle_dock_sensor"; pixel_x = 0; pixel_y = -25},/turf/simulated/floor{dir = 6; icon_state = "warning"},/area/hallway/secondary/entry/port) @@ -2586,15 +2586,15 @@ "aXL" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/hallway/primary/central_two) "aXM" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/hallway/primary/central_two) "aXN" = (/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/door/airlock/glass{name = "Kitchen"; req_access = list(28)},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen) -"aXO" = (/obj/structure/table/standard,/obj/item/weapon/material/kitchen/rollingpin,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen) +"aXO" = (/obj/item/weapon/reagent_containers/food/snacks/mint,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/table/marble,/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen) "aXP" = (/obj/structure/disposalpipe/segment,/obj/structure/table/woodentable,/turf/simulated/floor/wood,/area/crew_quarters/bar) "aXQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/table/woodentable,/obj/item/weapon/deck{pixel_y = 4},/turf/simulated/floor/wood,/area/crew_quarters/bar) "aXR" = (/obj/item/weapon/stool/padded,/turf/simulated/floor{dir = 8; icon_state = "chapel"},/area/chapel/main) "aXS" = (/obj/structure/table/woodentable,/obj/item/device/camera,/turf/simulated/floor/wood,/area/crew_quarters/bar) -"aXT" = (/obj/structure/table/reinforced,/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar) +"aXT" = (/obj/structure/window/basic{dir = 4},/obj/item/weapon/folder/blue{pixel_x = 5},/obj/structure/table/plastic{name = "plastic table frame"},/turf/simulated/floor,/area/security/vacantoffice) "aXU" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/crew_quarters/kitchen) "aXV" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen) -"aXW" = (/obj/structure/table/standard,/obj/structure/window/basic{dir = 4},/obj/item/weapon/folder/blue{pixel_x = 5},/turf/simulated/floor,/area/security/vacantoffice) +"aXW" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/table/marble,/turf/simulated/floor{icon_state = "grimy"},/area/hydroponics/garden) "aXX" = (/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/door/airlock/glass{name = "Kitchen"; req_access = list(28)},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/hydroponics/garden) "aXY" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/table/standard,/obj/item/weapon/stamp,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/item/weapon/pen,/turf/simulated/floor,/area/security/vacantoffice) "aXZ" = (/obj/structure/table/standard,/obj/machinery/reagentgrinder,/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen) @@ -2602,7 +2602,7 @@ "aYb" = (/obj/structure/closet/secure_closet/freezer/fridge,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen) "aYc" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/hydroponics/garden) "aYd" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "grimy"},/area/hydroponics/garden) -"aYe" = (/obj/structure/table/reinforced,/turf/simulated/floor{icon_state = "grimy"},/area/hydroponics/garden) +"aYe" = (/obj/item/weapon/material/hatchet,/obj/item/weapon/material/minihoe,/obj/structure/table/marble,/turf/simulated/floor{icon_state = "grimy"},/area/hydroponics/garden) "aYf" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/item/weapon/stool/padded,/turf/simulated/floor,/area/crew_quarters/sleep) "aYg" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/hydroponics/garden) "aYh" = (/obj/structure/flora/ausbushes/brflowers,/turf/simulated/floor/grass,/area/hydroponics/garden) @@ -2634,7 +2634,7 @@ "aYH" = (/obj/structure/table/standard,/obj/structure/bedsheetbin,/turf/simulated/floor,/area/security/prison) "aYI" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor,/area/security/vacantoffice) "aYJ" = (/obj/structure/table/standard,/obj/machinery/light{dir = 8},/obj/machinery/microwave,/turf/simulated/floor,/area/security/prison) -"aYK" = (/obj/structure/table/reinforced,/obj/item/weapon/material/hatchet,/obj/item/weapon/material/minihoe,/turf/simulated/floor{icon_state = "grimy"},/area/hydroponics/garden) +"aYK" = (/obj/item/weapon/reagent_containers/food/snacks/pie,/obj/structure/table/marble,/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar) "aYL" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/turf/simulated/floor,/area/security/vacantoffice) "aYM" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/hologram/holopad,/turf/simulated/floor,/area/bridge) "aYN" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/donkpockets,/obj/item/weapon/storage/box/donkpockets{pixel_x = -3; pixel_y = -3},/turf/simulated/floor,/area/security/prison) @@ -2773,13 +2773,13 @@ "bbq" = (/obj/structure/bed/chair{dir = 8},/turf/simulated/floor,/area/hallway/primary/starboard) "bbr" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/bar) "bbs" = (/obj/structure/bed/chair/comfy/black{dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/wood,/area/library) -"bbt" = (/obj/structure/table/reinforced,/obj/item/weapon/reagent_containers/food/snacks/pie,/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar) +"bbt" = (/obj/structure/disposalpipe/segment,/obj/machinery/camera/network/medbay{c_tag = "Medbay Lounge"},/obj/structure/table/plastic{name = "plastic table frame"},/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/medbay4) "bbu" = (/obj/machinery/hologram/holopad,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen) "bbv" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen) "bbw" = (/obj/effect/landmark/start{name = "Chef"},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen) "bbx" = (/obj/structure/table/standard,/obj/machinery/requests_console{department = "Tool Storage"; departmentType = 0; pixel_y = 30},/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/machinery/camera/network/civilian_west{c_tag = "Tool Storage - Primary"},/turf/simulated/floor,/area/storage/primary) "bby" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/hydroponics/garden) -"bbz" = (/obj/structure/table/reinforced,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "grimy"},/area/hydroponics/garden) +"bbz" = (/obj/item/weapon/reagent_containers/spray/cleaner,/obj/structure/table/plastic{name = "plastic table frame"},/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/patient_wing) "bbA" = (/obj/structure/table/standard,/obj/item/weapon/material/minihoe,/obj/item/device/analyzer/plant_analyzer,/obj/item/clothing/head/greenbandana,/turf/simulated/floor,/area/security/prison) "bbB" = (/turf/simulated/floor{icon_state = "green"; dir = 8},/area/hydroponics/garden) "bbC" = (/obj/structure/flora/ausbushes/fernybush,/turf/simulated/floor/grass,/area/hydroponics/garden) @@ -3129,7 +3129,7 @@ "bii" = (/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor{icon_state = "floorgrime"},/area/quartermaster/storage) "bij" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor{icon_state = "floorgrime"},/area/quartermaster/storage) "bik" = (/obj/machinery/conveyor_switch/oneway{id = "packageSort1"},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/quartermaster/office) -"bil" = (/obj/structure/table/standard,/obj/structure/disposalpipe/segment,/obj/machinery/camera/network/medbay{c_tag = "Medbay Lounge"},/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/medbay4) +"bil" = (/obj/structure/noticeboard{pixel_y = 28},/obj/item/weapon/book/manual/medical_diagnostics_manual{pixel_y = 7},/obj/item/device/radio{anchored = 1; broadcasting = 0; canhear_range = 4; frequency = 1487; icon = 'icons/obj/items.dmi'; icon_state = "red_phone"; listening = 1; name = "Break Room Emergency Phone"},/obj/structure/table/plastic{name = "plastic table frame"},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/medbreak) "bim" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = -32; pixel_y = 0},/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor,/area/hallway/primary/central_one) "bin" = (/obj/structure/closet/coffin,/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "chapel"; name = "Privacy Shutters"; opacity = 0},/turf/simulated/floor{icon_state = "dark"},/area/chapel/office) "bio" = (/obj/item/weapon/hand_labeler,/obj/item/device/assembly/timer,/obj/item/device/eftpos{eftpos_name = "Bridge EFTPOS scanner"},/obj/structure/table/woodentable,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/wood,/area/bridge/meeting_room) @@ -3288,7 +3288,7 @@ "bll" = (/obj/machinery/camera/network/exodus{c_tag = "Primary Hallway Starboard - Central East"; dir = 1},/turf/simulated/floor,/area/hallway/primary/starboard) "blm" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/embedded_controller/radio/docking_port_multi{child_names_txt = "Airlock One;Airlock Two"; child_tags_txt = "escape_dock_north_airlock;escape_dock_south_airlock"; frequency = 1380; id_tag = "escape_dock"; pixel_x = 0; pixel_y = -25; req_one_access = list(13)},/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/hallway/secondary/exit) "bln" = (/obj/machinery/hologram/holopad,/turf/simulated/floor,/area/quartermaster/office) -"blo" = (/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/structure/table/reinforced,/turf/simulated/floor{icon_state = "arrival"; dir = 4},/area/quartermaster/office) +"blo" = (/obj/item/weapon/clipboard,/obj/item/weapon/stamp{name = "Quartermaster's stamp"; pixel_x = 0; pixel_y = 0},/obj/structure/table/plastic{name = "plastic table frame"},/turf/simulated/floor,/area/quartermaster/qm) "blp" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/hallway/primary/central_one) "blq" = (/turf/simulated/floor{dir = 8; icon_state = "browncorner"},/area/hallway/primary/central_one) "blr" = (/obj/machinery/embedded_controller/radio/airlock/docking_port{frequency = 1380; id_tag = "specops_dock_airlock"; pixel_x = 0; pixel_y = 30; req_one_access = list(13); tag_airpump = "specops_dock_pump"; tag_chamber_sensor = "specops_dock_sensor"; tag_exterior_door = "specops_dock_outer"; tag_interior_door = "specops_dock_inner"},/obj/machinery/airlock_sensor{frequency = 1380; id_tag = "specops_dock_sensor"; pixel_x = 0; pixel_y = -25},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1380; id_tag = "specops_dock_pump"},/turf/simulated/floor/plating,/area/hallway/secondary/entry/aft) @@ -3301,7 +3301,7 @@ "bly" = (/obj/machinery/vending/coffee,/turf/simulated/floor/wood,/area/bridge/meeting_room) "blz" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/bluegrid,/area/turret_protected/ai) "blA" = (/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/bluegrid,/area/turret_protected/ai) -"blB" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/spray/cleaner,/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/patient_wing) +"blB" = (/obj/item/weapon/folder/yellow,/obj/item/weapon/pen{pixel_x = 4; pixel_y = 4},/obj/item/weapon/pen/red{pixel_x = 2; pixel_y = 6},/obj/structure/table/plastic{name = "plastic table frame"},/turf/simulated/floor,/area/quartermaster/qm) "blC" = (/obj/structure/table/standard,/obj/item/stack/cable_coil{pixel_x = -3; pixel_y = 3},/obj/item/stack/cable_coil,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/turf/simulated/floor/plating,/area/storage/tech) "blD" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/bluegrid,/area/turret_protected/ai) "blE" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "specops_dock_inner"; locked = 1; name = "Docking Port Airlock"; req_access = list(13)},/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor/plating,/area/hallway/secondary/entry/aft) @@ -3340,7 +3340,7 @@ "bml" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/maintenance/locker) "bmm" = (/obj/machinery/door/airlock{name = "Unit 4"},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/locker/locker_toilet) "bmn" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/locker/locker_toilet) -"bmo" = (/obj/structure/table/standard,/obj/machinery/requests_console{department = "Cargo Bay"; departmentType = 2; pixel_x = -30; pixel_y = 0},/obj/item/device/multitool,/obj/machinery/camera/network/civilian_west{c_tag = "Cargo Office"; dir = 4},/turf/simulated/floor,/area/quartermaster/office) +"bmo" = (/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/device/megaphone,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/table/plastic{name = "plastic table frame"},/turf/simulated/floor,/area/quartermaster/qm) "bmp" = (/obj/item/weapon/screwdriver,/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/maintenance/locker) "bmq" = (/obj/item/device/flashlight,/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/maintenance/locker) "bmr" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/maintenance/locker) @@ -3355,7 +3355,7 @@ "bmA" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/decal/cleanable/blood/oil/streak{amount = 0},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/maintenance/locker) "bmB" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/camera/network/civilian_west{c_tag = "Locker Room Toilets"; dir = 8},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/locker/locker_toilet) "bmC" = (/obj/machinery/camera/network/mining{c_tag = "Medbay Lobby Starboard"},/obj/item/weapon/stool/padded,/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/reception) -"bmD" = (/obj/structure/table/reinforced,/turf/simulated/floor{icon_state = "arrival"; dir = 4},/area/quartermaster/office) +"bmD" = (/obj/machinery/recharger{pixel_y = 0},/obj/structure/table/plastic{name = "plastic table frame"},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/medbreak) "bmE" = (/obj/structure/disposalpipe/segment,/turf/simulated/wall,/area/quartermaster/office) "bmF" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "warningcorner"; dir = 1},/area/quartermaster/office) "bmG" = (/turf/simulated/wall/r_wall,/area/maintenance/substation/command) @@ -3374,7 +3374,7 @@ "bmT" = (/obj/structure/table/reinforced,/obj/item/weapon/reagent_containers/dropper,/obj/machinery/light{dir = 8},/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) "bmU" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/machinery/light/small{dir = 1},/obj/structure/cable/cyan{d2 = 4; icon_state = "0-4"},/obj/machinery/power/apc/super/equipment{dir = 1; name = "north bump"; pixel_y = 24},/turf/simulated/floor/bluegrid,/area/turret_protected/ai) "bmV" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{name = "Morgue"; req_access = list(6)},/turf/simulated/floor,/area/hallway/primary/starboard) -"bmW" = (/obj/structure/table/standard,/obj/item/clothing/glasses/welding,/turf/simulated/floor{dir = 1; icon_state = "whitepurple"},/area/rnd/lab) +"bmW" = (/obj/item/weapon/reagent_containers/food/drinks/britcup,/obj/structure/table/plastic{name = "plastic table frame"},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/medbreak) "bmX" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_one_access = list(5,12,47)},/turf/simulated/floor/plating,/area/hallway/primary/starboard) "bmY" = (/obj/structure/sign/chemistry,/turf/simulated/wall/r_wall,/area/medical/chemistry) "bmZ" = (/obj/structure/reagent_dispensers/water_cooler,/obj/machinery/computer/security/telescreen/entertainment{pixel_x = 0; pixel_y = 32},/turf/simulated/floor{tag = "icon-whiteblue (NORTHWEST)"; icon_state = "whiteblue"; dir = 9},/area/medical/reception) @@ -3440,7 +3440,7 @@ "boh" = (/obj/machinery/chemical_dispenser/full,/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) "boi" = (/obj/structure/extinguisher_cabinet{pixel_x = 0; pixel_y = 30},/obj/machinery/chem_master,/obj/machinery/camera/network/medbay{c_tag = "Medbay - Chemistry"},/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) "boj" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/structure/table/reinforced,/obj/machinery/button/remote/blast_door{id = "chemcounter"; name = "Pharmacy Counter Lockdown Control"; pixel_y = 25},/obj/machinery/reagentgrinder,/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) -"bok" = (/obj/item/weapon/folder/yellow,/obj/item/weapon/pen{pixel_x = 4; pixel_y = 4},/obj/structure/table/reinforced,/turf/simulated/floor{icon_state = "arrival"; dir = 4},/area/quartermaster/office) +"bok" = (/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/machinery/requests_console{department = "Janitorial"; departmentType = 1; pixel_y = -29},/obj/item/weapon/reagent_containers/spray/cleaner,/obj/structure/table/plastic{name = "plastic table frame"},/turf/simulated/floor,/area/janitor) "bol" = (/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/obj/item/weapon/stool/padded,/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/reception) "bom" = (/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/maintenance/substation/command) "bon" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/terminal{dir = 4},/turf/simulated/floor/plating,/area/maintenance/substation/command) @@ -3499,7 +3499,7 @@ "bpo" = (/obj/structure/table/reinforced,/obj/machinery/door/firedoor/border_only{dir = 1; name = "hazard door north"},/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/obj/item/weapon/folder/white,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/machinery/door/window/eastright{base_state = "left"; dir = 2; icon_state = "left"; name = "Robotics Desk"; req_access = list(29)},/turf/simulated/floor/plating,/area/hallway/primary/starboard) "bpp" = (/turf/simulated/wall,/area/assembly/robotics) "bpq" = (/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics) -"bpr" = (/obj/structure/table/reinforced,/obj/machinery/door/firedoor/border_only{dir = 1; name = "hazard door north"},/obj/machinery/door/window/southright{name = "Research and Development Desk"; req_access = list(7)},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/turf/simulated/floor/plating,/area/hallway/primary/starboard) +"bpr" = (/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/obj/structure/table/plastic{name = "plastic table frame"},/turf/simulated/floor,/area/janitor) "bps" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "toxin_test_airlock"; name = "exterior access button"; pixel_x = -20; pixel_y = -20; req_access = newlist(); req_one_access = list(7,13)},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating/airless,/area/space) "bpt" = (/turf/simulated/floor{dir = 1; icon_state = "whitered"},/area/assembly/robotics) "bpu" = (/obj/structure/bed/chair/office/dark{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/medical/exam_room) @@ -3768,20 +3768,20 @@ "bux" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/maintenance{req_one_access = list(7,12)},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/research_shuttle) "buy" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/hologram/holopad,/turf/simulated/floor,/area/assembly/chargebay) "buz" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/assembly/robotics) -"buA" = (/obj/structure/table/standard,/obj/item/weapon/clipboard,/obj/item/weapon/stamp{name = "Quartermaster's stamp"; pixel_x = 0; pixel_y = 0},/turf/simulated/floor,/area/quartermaster/qm) +"buA" = (/obj/item/weapon/pen,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/obj/item/device/megaphone,/obj/structure/table/plastic{name = "plastic table frame"},/turf/simulated/floor,/area/crew_quarters/heads/hop) "buB" = (/obj/structure/table/woodentable,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/obj/item/weapon/storage/box/matches,/obj/item/clothing/mask/smokable/cigarette/cigar,/obj/item/weapon/reagent_containers/food/drinks/flask{pixel_x = 8},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/carpet,/area/crew_quarters/captain) "buC" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "bot"},/area/assembly/robotics) "buD" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor{icon_state = "bot"},/area/assembly/robotics) "buE" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/hologram/holopad,/turf/simulated/floor{dir = 8; icon_state = "warnwhite"},/area/assembly/robotics) "buF" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics) -"buG" = (/obj/structure/table/standard,/obj/item/weapon/folder/yellow,/obj/item/weapon/pen{pixel_x = 4; pixel_y = 4},/obj/item/weapon/pen/red{pixel_x = 2; pixel_y = 6},/turf/simulated/floor,/area/quartermaster/qm) +"buG" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/item/weapon/folder/yellow,/obj/item/device/eftpos{eftpos_name = "Cargo Bay EFTPOS scanner"},/obj/structure/table/plastic{name = "plastic table frame"},/turf/simulated/floor,/area/quartermaster/office) "buH" = (/obj/structure/closet/firecloset,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor{dir = 10; icon_state = "warnwhite"},/area/rnd/research) "buI" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor{icon_state = "white"},/area/rnd/research) "buJ" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/turf/simulated/floor{dir = 6; icon_state = "warnwhite"},/area/rnd/research) "buK" = (/obj/machinery/computer/rdconsole/core,/turf/simulated/floor,/area/rnd/lab) "buL" = (/obj/effect/landmark/start{name = "Scientist"},/turf/simulated/floor,/area/rnd/lab) "buM" = (/obj/machinery/r_n_d/circuit_imprinter,/obj/item/weapon/reagent_containers/glass/beaker/sulphuric,/turf/simulated/floor,/area/rnd/lab) -"buN" = (/obj/structure/table/standard,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/device/megaphone,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/quartermaster/qm) +"buN" = (/obj/machinery/requests_console{department = "Cargo Bay"; departmentType = 2; pixel_x = -30; pixel_y = 0},/obj/item/device/multitool,/obj/machinery/camera/network/civilian_west{c_tag = "Cargo Office"; dir = 4},/obj/structure/table/plastic{name = "plastic table frame"},/turf/simulated/floor,/area/quartermaster/office) "buO" = (/obj/structure/table/standard,/obj/item/weapon/folder/yellow,/obj/item/weapon/pen,/obj/machinery/requests_console{department = "Cargo Bay"; departmentType = 2; pixel_x = -30; pixel_y = 0},/turf/simulated/floor,/area/quartermaster/miningdock) "buP" = (/turf/simulated/shuttle/wall{icon_state = "swall_s6"; dir = 2},/area/shuttle/research/station) "buQ" = (/turf/simulated/shuttle/wall{icon_state = "swall12"; dir = 2},/area/shuttle/research/station) @@ -3875,14 +3875,14 @@ "bwA" = (/turf/simulated/floor{icon_state = "warnwhite"; dir = 1},/area/rnd/lab) "bwB" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor{icon_state = "warnwhite"; dir = 1},/area/rnd/lab) "bwC" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor{dir = 4; icon_state = "warnwhitecorner"},/area/rnd/lab) -"bwD" = (/obj/structure/table/standard,/obj/machinery/recharger{pixel_y = 0},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/medbreak) +"bwD" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock East"},/obj/machinery/door/window/westleft{name = "Cargo Desk"; req_access = list(50)},/obj/structure/noticeboard{pixel_y = 27},/obj/structure/table/plastic{name = "plastic table frame"},/turf/simulated/floor,/area/quartermaster/office) "bwE" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/storage/emergency) "bwF" = (/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/storage/emergency) "bwG" = (/turf/simulated/shuttle/wall{icon_state = "swall3"; dir = 2},/area/shuttle/research/station) "bwH" = (/obj/structure/closet/crate,/turf/simulated/shuttle/floor,/area/shuttle/research/station) "bwI" = (/obj/structure/grille,/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_y = -32},/obj/structure/cable/green,/obj/structure/window/reinforced/polarized,/obj/structure/window/reinforced/polarized{dir = 4},/obj/structure/window/reinforced/polarized{dir = 8},/turf/simulated/floor/plating,/area/crew_quarters/heads/hop) "bwJ" = (/turf/simulated/shuttle/floor,/area/shuttle/research/station) -"bwK" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/food/drinks/britcup,/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/medbreak) +"bwK" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/noticeboard{pixel_y = 27},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "hop_office_desk"; name = "HoP Office Privacy Shutters"; opacity = 0},/obj/machinery/door/window/northleft{dir = 8; icon_state = "left"; name = "Reception Window"},/obj/machinery/door/window/brigdoor{base_state = "rightsecure"; dir = 4; icon_state = "rightsecure"; name = "Head of Personnel's Desk"; req_access = list(57)},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/table/plastic{name = "plastic table frame"},/turf/simulated/floor,/area/crew_quarters/heads/hop) "bwL" = (/turf/space,/area/shuttle/administration/station) "bwM" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/quartermaster/storage) "bwN" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/quartermaster/storage) @@ -3905,7 +3905,7 @@ "bxe" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "loadingarea"},/area/hallway/primary/central_three) "bxf" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor{icon_state = "delivery"},/area/hallway/primary/central_three) "bxg" = (/obj/machinery/door/firedoor,/obj/machinery/door/blast/shutters{density = 0; dir = 4; icon_state = "shutter0"; id = "scanhideside"; name = "Diagnostics Room Privacy Shutters"; opacity = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "whitered"},/area/medical/medbay4) -"bxh" = (/obj/structure/table/standard,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/machinery/requests_console{department = "Janitorial"; departmentType = 1; pixel_y = -29},/obj/item/weapon/reagent_containers/spray/cleaner,/turf/simulated/floor,/area/janitor) +"bxh" = (/obj/machinery/newscaster{pixel_x = -27; pixel_y = 1},/obj/item/weapon/tape_roll,/obj/item/weapon/storage/firstaid/regular{pixel_x = 6; pixel_y = -5},/obj/structure/table/plastic{name = "plastic table frame"},/turf/simulated/floor,/area/quartermaster/office) "bxi" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/carpet,/area/crew_quarters/heads/hop) "bxj" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/carpet,/area/crew_quarters/heads/hop) "bxk" = (/turf/simulated/floor/carpet,/area/crew_quarters/heads/hop) @@ -3921,7 +3921,7 @@ "bxu" = (/obj/machinery/cryopod/robot/right,/turf/simulated/floor,/area/assembly/chargebay) "bxv" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/maintenance/disposal) "bxw" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/hallway/primary/central_two) -"bxx" = (/obj/structure/table/standard,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/turf/simulated/floor,/area/janitor) +"bxx" = (/obj/machinery/photocopier/faxmachine{department = "Head of Personnel's Office"},/obj/structure/table/plastic{name = "plastic table frame"},/turf/simulated/floor,/area/crew_quarters/heads/hop) "bxy" = (/obj/structure/closet/secure_closet/medical1,/turf/simulated/floor{dir = 1; icon_state = "whiteyellow"},/area/medical/chemistry) "bxz" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock East"},/obj/machinery/door/airlock/glass_mining{name = "Cargo Bay"; req_access = list(31)},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/quartermaster/storage) "bxA" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) @@ -4004,7 +4004,7 @@ "byZ" = (/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/medbay3) "bza" = (/obj/structure/closet/secure_closet/medical3,/obj/machinery/alarm{pixel_y = 25},/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor{tag = "icon-whiteblue (NORTHEAST)"; icon_state = "whiteblue"; dir = 5},/area/medical/medbay3) "bzb" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/turf/simulated/floor{tag = "icon-whiteblue (NORTHWEST)"; icon_state = "whiteblue"; dir = 9},/area/medical/medbay2) -"bzc" = (/obj/structure/table/reinforced,/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock East"},/obj/machinery/door/window/westleft{name = "Cargo Desk"; req_access = list(50)},/obj/structure/noticeboard{pixel_y = 27},/turf/simulated/floor,/area/quartermaster/office) +"bzc" = (/obj/machinery/door/window/eastright{dir = 1; name = "Emergency Kit"; req_access = list(5)},/obj/machinery/door/firedoor,/obj/item/weapon/storage/toolbox/emergency,/obj/item/bodybag/cryobag{pixel_x = 6},/obj/item/bodybag/cryobag{pixel_x = 6},/obj/item/bodybag/cryobag,/obj/item/device/radio{frequency = 1487; name = "Medbay Emergency Radio Link"},/obj/structure/table/plastic{name = "plastic table frame"},/turf/simulated/floor{dir = 1; icon_state = "whiteyellow"},/area/medical/sleeper) "bzd" = (/turf/simulated/floor{dir = 1; icon_state = "whitebluecorner"; tag = "icon-whitebluecorner"},/area/medical/medbay2) "bze" = (/obj/machinery/door/firedoor,/obj/structure/sign/examroom{pixel_y = 32},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) "bzf" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) @@ -4019,15 +4019,15 @@ "bzo" = (/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 0; pixel_y = -22},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{dir = 2; icon_state = "whitebluecorner"; tag = "icon-whitebluecorner"},/area/medical/patient_wing) "bzp" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "white"},/area/medical/patient_wing) "bzq" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{tag = "icon-whitebluecorner (WEST)"; icon_state = "whitebluecorner"; dir = 8},/area/medical/patient_wing) -"bzr" = (/obj/structure/table/reinforced,/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/noticeboard{pixel_y = 27},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "hop_office_desk"; name = "HoP Office Privacy Shutters"; opacity = 0},/obj/machinery/door/window/northleft{dir = 8; icon_state = "left"; name = "Reception Window"},/obj/machinery/door/window/brigdoor{base_state = "rightsecure"; dir = 4; icon_state = "rightsecure"; name = "Head of Personnel's Desk"; req_access = list(57)},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/crew_quarters/heads/hop) +"bzr" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/item/device/radio/intercom{broadcasting = 0; name = "Station Intercom (General)"; pixel_y = 20},/obj/item/weapon/wrench,/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{pixel_x = 7; pixel_y = 1},/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{pixel_x = -4; pixel_y = 0},/obj/machinery/camera/network/medbay{c_tag = "Medbay Cryogenics"},/obj/structure/table/plastic{name = "plastic table frame"},/turf/simulated/floor{dir = 5; icon_state = "whitered"},/area/medical/cryo) "bzs" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/assembly/chargebay) "bzt" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor,/area/assembly/chargebay) "bzu" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor,/area/assembly/chargebay) "bzv" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/turf/simulated/floor,/area/assembly/chargebay) "bzw" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/green,/turf/simulated/floor,/area/assembly/chargebay) "bzx" = (/obj/structure/table/standard,/obj/item/weapon/storage/firstaid/regular{pixel_x = 5; pixel_y = 5},/obj/machinery/light_switch{pixel_x = -23; pixel_y = 0},/obj/random/firstaid,/turf/simulated/floor{dir = 8; icon_state = "whiteyellowcorner"},/area/medical/chemistry) -"bzy" = (/obj/structure/table/standard,/obj/item/weapon/pen,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/obj/item/device/megaphone,/turf/simulated/floor,/area/crew_quarters/heads/hop) -"bzz" = (/obj/structure/table/standard,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/item/weapon/folder/yellow,/obj/item/device/eftpos{eftpos_name = "Cargo Bay EFTPOS scanner"},/turf/simulated/floor,/area/quartermaster/office) +"bzy" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/item/weapon/storage/belt/utility,/obj/structure/table/plastic{name = "plastic table frame"},/turf/simulated/floor,/area/quartermaster/office) +"bzz" = (/obj/item/weapon/folder/blue,/obj/item/weapon/stamp/hop,/obj/item/device/eftpos{eftpos_name = "HoP EFTPOS scanner"},/obj/structure/table/plastic{name = "plastic table frame"},/turf/simulated/floor,/area/crew_quarters/heads/hop) "bzA" = (/turf/simulated/wall,/area/rnd/research) "bzB" = (/obj/machinery/light{dir = 8},/obj/machinery/computer/guestpass{pixel_x = -28},/obj/machinery/door/firedoor/border_only{dir = 1; name = "hazard door north"},/turf/simulated/floor{dir = 2; icon_state = "whitecorner"},/area/rnd/research) "bzC" = (/obj/effect/landmark{name = "lightsout"},/obj/machinery/door/firedoor/border_only{dir = 1; name = "hazard door north"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "whitehall"; dir = 2},/area/rnd/research) @@ -4312,7 +4312,7 @@ "bEV" = (/obj/effect/landmark/start{name = "Cyborg"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_cyborg_station) "bEW" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22; pixel_y = 0},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_cyborg_station) "bEX" = (/obj/effect/landmark/start{name = "Cyborg"},/obj/machinery/light/small{dir = 4},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 27},/turf/simulated/floor{icon_state = "vault"; dir = 1},/area/turret_protected/ai_cyborg_station) -"bEY" = (/obj/structure/table/reinforced,/obj/machinery/door/window/eastright{dir = 1; name = "Emergency Kit"; req_access = list(5)},/obj/machinery/door/firedoor,/obj/item/weapon/storage/toolbox/emergency,/obj/item/bodybag/cryobag{pixel_x = 6},/obj/item/bodybag/cryobag{pixel_x = 6},/obj/item/bodybag/cryobag,/obj/item/device/radio{frequency = 1487; name = "Medbay Emergency Radio Link"},/turf/simulated/floor{dir = 1; icon_state = "whiteyellow"},/area/medical/sleeper) +"bEY" = (/obj/item/weapon/folder/yellow,/obj/item/weapon/pen{pixel_x = 4; pixel_y = 4},/obj/structure/table/plastic{name = "plastic table frame"},/turf/simulated/floor{icon_state = "arrival"; dir = 4},/area/quartermaster/office) "bEZ" = (/obj/structure/table/standard,/obj/item/weapon/storage/toolbox/mechanical{pixel_x = 2; pixel_y = 3},/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/turf/simulated/floor{icon_state = "white"},/area/rnd/lab) "bFa" = (/obj/structure/table/rack,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/item/clothing/accessory/stethoscope,/obj/item/clothing/accessory/stethoscope,/obj/item/clothing/accessory/stethoscope,/obj/item/clothing/accessory/stethoscope,/obj/item/clothing/accessory/stethoscope,/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 0; pixel_y = -22},/obj/machinery/camera/network/medbay{c_tag = "Medbay Equipment Storage"; dir = 1},/turf/simulated/floor{dir = 2; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay3) "bFb" = (/obj/structure/table/standard,/obj/machinery/cell_charger,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/turf/simulated/floor{icon_state = "white"},/area/rnd/lab) @@ -4588,7 +4588,7 @@ "bKl" = (/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/turf/simulated/floor/plating,/area/maintenance/research_shuttle) "bKm" = (/obj/structure/closet/crate,/obj/item/device/multitool,/obj/item/device/multitool,/obj/item/device/assembly/prox_sensor,/obj/item/device/flashlight,/obj/item/weapon/storage/backpack,/turf/simulated/floor/plating,/area/maintenance/research_shuttle) "bKn" = (/obj/structure/table/rack,/obj/item/weapon/extinguisher,/obj/item/weapon/storage/belt/utility,/obj/item/clothing/mask/gas,/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor/plating,/area/maintenance/research_shuttle) -"bKo" = (/obj/structure/table/standard,/obj/machinery/newscaster{pixel_x = -27; pixel_y = 1},/obj/item/weapon/tape_roll,/obj/item/weapon/storage/firstaid/regular{pixel_x = 6; pixel_y = -5},/turf/simulated/floor,/area/quartermaster/office) +"bKo" = (/obj/item/clothing/glasses/welding,/obj/structure/table/plastic{name = "plastic table frame"},/turf/simulated/floor{dir = 1; icon_state = "whitepurple"},/area/rnd/lab) "bKp" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/rnd/test_area) "bKq" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/rnd/test_area) "bKr" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating/airless,/area/rnd/test_area) @@ -4659,7 +4659,7 @@ "bLE" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/rnd/storage) "bLF" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "white"},/area/rnd/research) "bLG" = (/obj/machinery/light_switch{pixel_y = -23},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable/green,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/heads/hor) -"bLH" = (/obj/structure/table/standard,/obj/machinery/photocopier/faxmachine{department = "Head of Personnel's Office"},/turf/simulated/floor,/area/crew_quarters/heads/hop) +"bLH" = (/obj/structure/table/plastic{name = "plastic table frame"},/turf/simulated/floor{dir = 1; icon_state = "whitepurple"},/area/rnd/lab) "bLI" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor{icon_state = "warningcorner"; dir = 8},/area/hallway/primary/central_three) "bLJ" = (/obj/structure/closet/secure_closet/RD,/obj/structure/window/reinforced,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/heads/hor) "bLK" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/obj/structure/window/reinforced,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/heads/hor) @@ -4712,7 +4712,7 @@ "bMF" = (/obj/structure/table/rack,/obj/item/weapon/rig/hazmat/equipped,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/heads/hor) "bMG" = (/obj/structure/reagent_dispensers/water_cooler,/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/medbreak) "bMH" = (/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced/polarized{dir = 8},/obj/structure/window/reinforced/polarized,/obj/structure/window/reinforced/polarized{dir = 4},/turf/simulated/floor/plating,/area/rnd/research) -"bMI" = (/obj/structure/noticeboard{pixel_y = 28},/obj/structure/table/woodentable,/obj/item/weapon/book/manual/medical_diagnostics_manual{pixel_y = 7},/obj/item/device/radio{anchored = 1; broadcasting = 0; canhear_range = 4; frequency = 1487; icon = 'icons/obj/items.dmi'; icon_state = "red_phone"; listening = 1; name = "Break Room Emergency Phone"},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/medbreak) +"bMI" = (/obj/structure/table/plastic{name = "plastic table frame"},/turf/simulated/floor{icon_state = "arrival"; dir = 4},/area/quartermaster/office) "bMJ" = (/obj/machinery/light{dir = 1},/obj/structure/bookcase/manuals/medical,/obj/item/weapon/book/manual/stasis,/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/medbreak) "bMK" = (/turf/simulated/wall,/area/crew_quarters/medbreak) "bML" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/cobweb,/turf/simulated/floor{icon_state = "floorgrime"},/area/medical/genetics) @@ -4748,14 +4748,14 @@ "bNp" = (/obj/structure/disposalpipe/segment,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor,/area/quartermaster/miningdock) "bNq" = (/obj/machinery/hologram/holopad,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/hallway/primary/central_three) "bNr" = (/obj/structure/closet/secure_closet/quartermaster,/turf/simulated/floor,/area/quartermaster/qm) -"bNs" = (/obj/structure/table/standard,/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/item/device/radio/intercom{broadcasting = 0; name = "Station Intercom (General)"; pixel_y = 20},/obj/item/weapon/wrench,/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{pixel_x = 7; pixel_y = 1},/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{pixel_x = -4; pixel_y = 0},/obj/machinery/camera/network/medbay{c_tag = "Medbay Cryogenics"},/turf/simulated/floor{dir = 5; icon_state = "whitered"},/area/medical/cryo) +"bNs" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "hazard door north"},/obj/machinery/door/window/southright{name = "Research and Development Desk"; req_access = list(7)},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/structure/table/plastic{name = "plastic table frame"},/turf/simulated/floor/plating,/area/hallway/primary/starboard) "bNt" = (/obj/structure/table,/turf/simulated/floor/plating,/area/medical/genetics) "bNu" = (/obj/structure/closet/crate,/obj/effect/decal/cleanable/cobweb,/turf/simulated/floor/plating,/area/maintenance/cargo) "bNv" = (/obj/structure/closet/crate,/turf/simulated/floor/plating,/area/maintenance/cargo) "bNw" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/cargo) "bNx" = (/turf/simulated/wall,/area/maintenance/cargo) "bNy" = (/turf/simulated/wall,/area/storage/tech) -"bNz" = (/obj/structure/table/standard,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/item/weapon/storage/belt/utility,/turf/simulated/floor,/area/quartermaster/office) +"bNz" = (/obj/item/weapon/book/manual/robotics_cyborgs{pixel_x = 2; pixel_y = 5},/obj/item/weapon/storage/belt/utility,/obj/machinery/requests_console{department = "Robotics"; departmentType = 2; name = "Robotics RC"; pixel_y = 30},/obj/machinery/light{dir = 1},/obj/item/weapon/storage/belt/utility,/obj/item/weapon/reagent_containers/glass/beaker/large,/obj/structure/table/plastic{name = "plastic table frame"},/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics) "bNA" = (/obj/machinery/light/small{dir = 1},/obj/machinery/alarm{frequency = 1439; pixel_y = 23},/turf/simulated/floor/plating,/area/storage/tech) "bNB" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor,/area/hallway/primary/central_three) "bNC" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/weapon/stock_parts/manipulator,/obj/item/weapon/stock_parts/matter_bin,/obj/item/weapon/stock_parts/matter_bin,/obj/item/weapon/stock_parts/capacitor,/obj/item/weapon/stock_parts/capacitor,/turf/simulated/floor/plating,/area/storage/tech) @@ -4805,7 +4805,7 @@ "bOu" = (/obj/item/device/radio/intercom{pixel_y = 25},/turf/simulated/floor/engine,/area/rnd/misc_lab) "bOv" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/engine,/area/rnd/misc_lab) "bOw" = (/obj/structure/reagent_dispensers/fueltank,/obj/machinery/light{dir = 1},/turf/simulated/floor/engine,/area/rnd/misc_lab) -"bOx" = (/obj/structure/table/standard,/obj/item/weapon/folder/blue,/obj/item/weapon/stamp/hop,/obj/item/device/eftpos{eftpos_name = "HoP EFTPOS scanner"},/turf/simulated/floor,/area/crew_quarters/heads/hop) +"bOx" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/item/weapon/storage/box/cups{pixel_x = 0; pixel_y = 0},/obj/structure/table/plastic{name = "plastic table frame"},/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/reception) "bOy" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/light/small{dir = 8},/turf/simulated/floor,/area/rnd/storage) "bOz" = (/obj/effect/landmark{name = "xeno_spawn"; pixel_x = -1},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/rnd/storage) "bOA" = (/obj/machinery/portable_atmospherics/canister/sleeping_agent,/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/rnd/storage) @@ -4838,7 +4838,7 @@ "bPb" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating,/area/storage/tech) "bPc" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/storage/tech) "bPd" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/storage/tech) -"bPe" = (/obj/structure/table/standard,/obj/item/stack/cable_coil,/obj/item/device/flash,/obj/item/device/flash,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/assembly/robotics) +"bPe" = (/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/structure/table/plastic{name = "plastic table frame"},/turf/simulated/floor{icon_state = "arrival"; dir = 4},/area/quartermaster/office) "bPf" = (/turf/simulated/floor/plating,/area/storage/tech) "bPg" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/storage/tech) "bPh" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/plating,/area/storage/tech) @@ -4864,15 +4864,15 @@ "bPB" = (/mob/living/simple_animal/cat/fluff/Runtime,/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/heads/cmo) "bPC" = (/obj/machinery/door/airlock/external{name = "Toxins Test Chamber"},/turf/simulated/floor/plating/airless,/area/rnd/test_area) "bPD" = (/obj/machinery/light{dir = 1},/obj/machinery/camera/network/research{c_tag = "Research - Toxins Test Chamber North"; network = list("Research","Toxins Test Area")},/turf/simulated/floor/airless,/area/rnd/test_area) -"bPE" = (/obj/structure/table/standard,/turf/simulated/floor{dir = 1; icon_state = "whitepurple"},/area/rnd/lab) +"bPE" = (/obj/item/stack/cable_coil,/obj/item/device/flash,/obj/item/device/flash,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/table/plastic{name = "plastic table frame"},/turf/simulated/floor,/area/assembly/robotics) "bPF" = (/obj/machinery/light/small{dir = 4; pixel_y = 8},/obj/machinery/embedded_controller/radio/airlock/docking_port{frequency = 1380; id_tag = "mining_dock_airlock"; pixel_x = 25; pixel_y = -5; req_one_access = list(13,48); tag_airpump = "mining_dock_pump"; tag_chamber_sensor = "mining_dock_sensor"; tag_exterior_door = "mining_dock_outer"; tag_interior_door = "mining_dock_inner"},/obj/machinery/airlock_sensor{frequency = 1380; id_tag = "mining_dock_sensor"; pixel_x = 25; pixel_y = 8},/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 1; icon_state = "map"; tag = "icon-manifold-f (NORTH)"},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/quartermaster/miningdock) "bPG" = (/obj/structure/table/standard,/obj/item/weapon/autopsy_scanner,/obj/item/weapon/scalpel,/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/medical/morgue) "bPH" = (/obj/structure/closet,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor,/area/quartermaster/qm) "bPI" = (/obj/structure/disposalpipe/segment,/obj/machinery/newscaster{pixel_x = 30},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) "bPJ" = (/obj/structure/table/standard,/obj/item/weapon/storage/belt/utility,/obj/item/clothing/gloves/latex,/turf/simulated/floor{icon_state = "white"},/area/rnd/lab) -"bPK" = (/obj/structure/table/standard,/obj/item/weapon/book/manual/robotics_cyborgs{pixel_x = 2; pixel_y = 5},/obj/item/weapon/storage/belt/utility,/obj/machinery/requests_console{department = "Robotics"; departmentType = 2; name = "Robotics RC"; pixel_y = 30},/obj/machinery/light{dir = 1},/obj/item/weapon/storage/belt/utility,/obj/item/weapon/reagent_containers/glass/beaker/large,/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics) +"bPK" = (/obj/machinery/computer/med_data/laptop,/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = -28},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/structure/table/plastic{name = "plastic table frame"},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/medical/exam_room) "bPL" = (/obj/structure/table/standard,/obj/item/device/camera{name = "Autopsy Camera"; pixel_x = -2; pixel_y = 7},/obj/item/weapon/paper_bin{pixel_y = -6},/obj/item/weapon/pen/red{pixel_x = -1; pixel_y = -9},/obj/item/weapon/pen/blue{pixel_x = 3; pixel_y = -5},/turf/simulated/floor{dir = 9; icon_state = "blue"},/area/medical/morgue) -"bPM" = (/obj/structure/table/standard,/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/item/weapon/storage/box/cups{pixel_x = 0; pixel_y = 0},/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/reception) +"bPM" = (/obj/item/device/radio{anchored = 1; broadcasting = 0; canhear_range = 1; frequency = 1487; icon = 'icons/obj/items.dmi'; icon_state = "red_phone"; listening = 1; name = "Reception Emergency Phone"},/obj/structure/table/plastic{name = "plastic table frame"},/turf/simulated/floor,/area/medical/reception) "bPN" = (/obj/machinery/computer/med_data,/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/medbreak) "bPO" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/research_port) "bPP" = (/obj/machinery/sparker{id = "Xenobio"; pixel_x = -25},/turf/simulated/floor/engine,/area/rnd/misc_lab) @@ -5171,7 +5171,7 @@ "bVw" = (/obj/machinery/vending/cigarette{pixel_x = 0; pixel_y = 2},/turf/simulated/floor{icon_state = "white"},/area/rnd/research) "bVx" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/rnd/research) "bVy" = (/obj/structure/table/standard,/obj/machinery/cell_charger,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/device/radio/intercom{freerange = 0; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 29},/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics) -"bVz" = (/obj/structure/table/standard,/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/assembly/robotics) +"bVz" = (/obj/machinery/button/remote/blast_door{id = "medbayrecquar"; name = "Medbay Entrance Lockdown Shutters Control"; pixel_x = 6; pixel_y = 8; req_access = list(5)},/obj/item/device/radio{anchored = 1; broadcasting = 0; canhear_range = 1; frequency = 1487; icon = 'icons/obj/items.dmi'; icon_state = "red_phone"; listening = 1; name = "Reception Emergency Phone"; pixel_x = -5},/obj/structure/table/plastic{name = "plastic table frame"},/turf/simulated/floor,/area/medical/reception) "bVA" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "bot"},/area/rnd/research) "bVB" = (/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/wall/r_wall,/area/rnd/mixing) "bVC" = (/obj/structure/table/woodentable,/obj/item/weapon/book/manual/engineering_guide{pixel_x = 3; pixel_y = 2},/obj/item/weapon/book/manual/atmospipes,/obj/machinery/light{dir = 1},/turf/simulated/floor/carpet,/area/engineering/break_room) @@ -5193,7 +5193,7 @@ "bVS" = (/obj/structure/closet/emcloset,/turf/simulated/floor/plating,/area/maintenance/cargo) "bVT" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/maintenance/cargo) "bVU" = (/obj/structure/disposalpipe/segment,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/cargo) -"bVV" = (/obj/structure/table/standard,/obj/machinery/computer/med_data/laptop,/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = -28},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/medical/exam_room) +"bVV" = (/obj/structure/window/reinforced{dir = 1},/obj/machinery/computer/med_data/laptop,/obj/structure/table/plastic{name = "plastic table frame"},/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/medical/reception) "bVW" = (/obj/machinery/light/small,/turf/simulated/floor/plating,/area/storage/tech) "bVX" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/weapon/storage/toolbox/electrical{pixel_x = 1; pixel_y = -1},/obj/item/clothing/gloves/yellow,/obj/item/device/t_scanner,/obj/item/clothing/glasses/meson,/obj/item/device/multitool,/turf/simulated/floor/plating,/area/storage/tech) "bVY" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/device/analyzer/plant_analyzer,/obj/item/device/healthanalyzer,/obj/item/device/analyzer,/obj/item/device/analyzer,/turf/simulated/floor/plating,/area/storage/tech) @@ -5232,7 +5232,7 @@ "bWF" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{dir = 4; icon_state = "whiteredcorner"},/area/medical/patient_wing) "bWG" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor{dir = 1; icon_state = "whitered_a"; tag = "icon-whitered_a (WEST)"},/area/medical/patient_wing) "bWH" = (/obj/structure/bed/chair/comfy/beige,/obj/effect/landmark/start{name = "Station Engineer"},/turf/simulated/floor/carpet,/area/engineering/break_room) -"bWI" = (/obj/structure/table/standard,/obj/item/device/radio{anchored = 1; broadcasting = 0; canhear_range = 1; frequency = 1487; icon = 'icons/obj/items.dmi'; icon_state = "red_phone"; listening = 1; name = "Reception Emergency Phone"},/turf/simulated/floor,/area/medical/reception) +"bWI" = (/obj/structure/window/reinforced{dir = 1},/obj/item/weapon/paper_bin,/obj/item/weapon/folder/white,/obj/item/weapon/pen,/obj/structure/table/plastic{name = "plastic table frame"},/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/medical/reception) "bWJ" = (/turf/simulated/floor/carpet,/area/engineering/break_room) "bWK" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/turf/simulated/floor{dir = 1; icon_state = "whitered_b"; tag = "icon-whitered_b (WEST)"},/area/medical/patient_wing) "bWL" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/turf/simulated/floor{dir = 1; icon_state = "whiteredcorner"},/area/medical/patient_wing) @@ -5263,7 +5263,7 @@ "bXk" = (/turf/simulated/floor/airless{dir = 5; icon_state = "warning"},/area/rnd/test_area) "bXl" = (/turf/simulated/floor/airless{icon_state = "warningcorner"; dir = 4},/area/rnd/test_area) "bXm" = (/obj/structure/window/shuttle,/obj/structure/grille,/turf/simulated/shuttle/plating,/area/shuttle/escape_pod5/station) -"bXn" = (/obj/structure/table/standard,/obj/machinery/button/remote/blast_door{id = "medbayrecquar"; name = "Medbay Entrance Lockdown Shutters Control"; pixel_x = 6; pixel_y = 8; req_access = list(5)},/obj/item/device/radio{anchored = 1; broadcasting = 0; canhear_range = 1; frequency = 1487; icon = 'icons/obj/items.dmi'; icon_state = "red_phone"; listening = 1; name = "Reception Emergency Phone"; pixel_x = -5},/turf/simulated/floor,/area/medical/reception) +"bXn" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/item/weapon/storage/box/cups,/obj/item/weapon/storage/box/cups{pixel_x = 2; pixel_y = 5},/obj/structure/table/plastic{name = "plastic table frame"},/turf/simulated/floor{dir = 9; icon_state = "blue"},/area/medical/reception) "bXo" = (/obj/structure/closet/wardrobe/atmospherics_yellow,/turf/simulated/floor{icon_state = "yellowfull"; dir = 8},/area/crew_quarters/sleep/engi_wash) "bXp" = (/obj/machinery/atmospherics/pipe/manifold/visible,/obj/machinery/meter,/turf/simulated/floor{icon_state = "white"},/area/rnd/mixing) "bXq" = (/obj/machinery/atmospherics/unary/heat_exchanger{dir = 4},/turf/simulated/floor{dir = 6; icon_state = "warning"},/area/rnd/mixing) @@ -5461,14 +5461,14 @@ "cba" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/maintenance/research_starboard) "cbb" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating/airless,/area/maintenance/atmos_control) "cbc" = (/mob/living/simple_animal/mouse,/turf/simulated/floor/plating,/area/maintenance/research_starboard) -"cbd" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/table/standard,/obj/machinery/computer/med_data/laptop,/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/medical/reception) +"cbd" = (/obj/machinery/door/window/northright{name = "Medbay Lobby"; req_access = list(5)},/obj/item/weapon/reagent_containers/spray/cleaner{pixel_x = -5},/obj/structure/table/plastic{name = "plastic table frame"},/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/medical/reception) "cbe" = (/obj/item/weapon/wrench,/turf/simulated/floor/plating,/area/maintenance/research_starboard) "cbf" = (/obj/structure/bed/chair{dir = 8},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod{frequency = 1380; id_tag = "escape_pod_5"; pixel_x = 0; pixel_y = -25; tag_door = "escape_pod_5_hatch"},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod5/station) "cbg" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_5_hatch"; locked = 1; name = "Escape Pod Hatch"; req_access = list(13)},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod5/station) "cbh" = (/obj/effect/decal/cleanable/spiderling_remains,/obj/machinery/atmospherics/valve,/turf/simulated/floor/plating,/area/maintenance/research_starboard) "cbi" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_5_berth_hatch"; locked = 1; name = "Escape Pod"; req_access = list(13)},/turf/simulated/floor/plating,/area/maintenance/cargo) "cbj" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/camera/network/medbay{c_tag = "Medbay Patient Hallway - Starboard"; dir = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/patient_wing) -"cbk" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/table/standard,/obj/item/weapon/paper_bin,/obj/item/weapon/folder/white,/obj/item/weapon/pen,/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/medical/reception) +"cbk" = (/obj/item/weapon/paper_bin{pixel_y = -10},/obj/item/weapon/folder/white{pixel_y = 0},/obj/item/weapon/pen,/obj/machinery/vending/wallmed1{name = "NanoMed Wall"; pixel_x = 25; pixel_y = 16},/obj/structure/table/plastic{name = "plastic table frame"},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/medical/exam_room) "cbl" = (/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "eng_eva_sensor"; pixel_x = 0; pixel_y = 25},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1379; id_tag = "eng_eva_pump"},/turf/simulated/floor{dir = 9; icon_state = "floorgrimecaution"},/area/maintenance/atmos_control) "cbm" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/camera/network/research{c_tag = "Research Division South"; dir = 1},/turf/simulated/floor{icon_state = "white"},/area/rnd/research) "cbn" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 5},/turf/simulated/floor/engine/vacuum,/area/rnd/mixing) @@ -5500,7 +5500,7 @@ "cbN" = (/turf/simulated/floor{icon_state = "white"},/area/medical/ward) "cbO" = (/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/window/reinforced/polarized{dir = 1},/obj/structure/window/reinforced/polarized{dir = 8},/obj/structure/window/reinforced/polarized,/obj/structure/window/reinforced/polarized{dir = 4},/turf/simulated/floor/plating,/area/crew_quarters/heads/chief) "cbP" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/wood,/area/medical/psych) -"cbQ" = (/obj/structure/table/standard,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/item/weapon/storage/box/cups,/obj/item/weapon/storage/box/cups{pixel_x = 2; pixel_y = 5},/turf/simulated/floor{dir = 9; icon_state = "blue"},/area/medical/reception) +"cbQ" = (/obj/machinery/door/window/northright{name = "Medbay Lobby"; req_access = list(5)},/obj/item/device/radio/intercom{broadcasting = 0; canhear_range = 5; freerange = 0; frequency = 1485; listening = 0; name = "Station Intercom (Medbay)"; pixel_x = 0; pixel_y = 3},/obj/structure/table/plastic{name = "plastic table frame"},/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/medical/reception) "cbR" = (/obj/structure/bed/roller,/turf/simulated/floor{icon_state = "white"},/area/medical/patient_wing) "cbS" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "dark"},/area/medical/biostorage) "cbT" = (/obj/structure/closet/crate{icon_state = "crateopen"; name = "Grenade Crate"; opened = 1},/obj/item/weapon/grenade/chem_grenade,/obj/item/weapon/grenade/chem_grenade,/obj/item/weapon/grenade/chem_grenade,/obj/item/weapon/grenade/chem_grenade,/obj/item/device/assembly/igniter,/obj/item/device/assembly/igniter,/obj/item/device/assembly/igniter,/obj/item/device/assembly/timer,/obj/item/device/assembly/timer,/obj/item/device/assembly/timer,/turf/simulated/floor{icon_state = "dark"},/area/medical/biostorage) @@ -5577,7 +5577,7 @@ "cdm" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{autoclose = 0; name = "Diagnostics Room"; req_access = list(5)},/turf/simulated/floor{dir = 8; icon_state = "whitered"},/area/medical/medbay4) "cdn" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/turf/simulated/floor{icon_state = "white_halfo"},/area/medical/medbay4) "cdo" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "white_halfp"},/area/medical/medbay4) -"cdp" = (/obj/structure/table/standard,/obj/machinery/door/window/northright{name = "Medbay Lobby"; req_access = list(5)},/obj/item/weapon/reagent_containers/spray/cleaner{pixel_x = -5},/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/medical/reception) +"cdp" = (/obj/item/weapon/cane,/obj/item/weapon/cane{pixel_x = -3; pixel_y = 2},/obj/item/weapon/cane{pixel_x = -6; pixel_y = 4},/obj/item/weapon/storage/box/rxglasses,/obj/structure/table/plastic{name = "plastic table frame"},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/medical/exam_room) "cdq" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "whitered"},/area/medical/ward) "cdr" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/ward) "cds" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/hologram/holopad,/turf/simulated/floor{icon_state = "white"},/area/medical/ward) @@ -5594,7 +5594,7 @@ "cdD" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/maintenance/research_port) "cdE" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/medical/virologyaccess) "cdF" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/carpet,/area/engineering/break_room) -"cdG" = (/obj/structure/table/standard,/obj/item/weapon/paper_bin{pixel_y = -10},/obj/item/weapon/folder/white{pixel_y = 0},/obj/item/weapon/pen,/obj/machinery/vending/wallmed1{name = "NanoMed Wall"; pixel_x = 25; pixel_y = 16},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/medical/exam_room) +"cdG" = (/obj/structure/closet/secure_closet/medical_wall{name = "Pill Cabinet"; pixel_y = -32},/obj/item/weapon/reagent_containers/syringe/antiviral,/obj/item/weapon/storage/pill_bottle/antitox,/obj/item/weapon/storage/pill_bottle/tramadol,/obj/structure/table/plastic{name = "plastic table frame"},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/medical/exam_room) "cdH" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/medical/virologyaccess) "cdI" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/maintenance/research_port) "cdJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/maintenance/research_port) @@ -5628,14 +5628,12 @@ "cel" = (/obj/structure/closet/secure_closet/engineering_chief,/obj/item/weapon/tank/emergency_oxygen/engi,/turf/simulated/floor,/area/crew_quarters/heads/chief) "cem" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/carpet,/area/engineering/break_room) "cen" = (/obj/machinery/iv_drip,/turf/simulated/floor{icon_state = "white"},/area/medical/patient_wing) -"ceo" = (/obj/structure/table/standard,/obj/machinery/door/window/northright{name = "Medbay Lobby"; req_access = list(5)},/obj/item/device/radio/intercom{broadcasting = 0; canhear_range = 5; freerange = 0; frequency = 1485; listening = 0; name = "Station Intercom (Medbay)"; pixel_x = 0; pixel_y = 3},/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/medical/reception) -"cep" = (/obj/structure/table/standard,/obj/item/weapon/cane,/obj/item/weapon/cane{pixel_x = -3; pixel_y = 2},/obj/item/weapon/cane{pixel_x = -6; pixel_y = 4},/obj/item/weapon/storage/box/rxglasses,/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/medical/exam_room) +"ceo" = (/obj/structure/table/plastic{name = "plastic table frame"},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/assembly/robotics) "ceq" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/purple,/turf/simulated/floor{dir = 2; icon_state = "whitegreen"},/area/rnd/xenobiology) "cer" = (/obj/machinery/keycard_auth{pixel_x = -24; pixel_y = 0},/obj/machinery/button/remote/blast_door{desc = "A remote control-switch for engine core."; id = "EngineVent"; name = "Engine Ventillatory Control"; pixel_x = -24; pixel_y = 10; req_access = list(10)},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/button/remote/airlock{desc = "A remote control-switch for the engine core airlock hatch bolts."; id = "engine_access_hatch"; name = "Engine Hatch Bolt Control"; pixel_x = -24; pixel_y = -10; req_access = list(10); specialfunctions = 4},/turf/simulated/floor,/area/crew_quarters/heads/chief) "ces" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/disposalpipe/segment,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/maintenance/atmos_control) "cet" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating,/area/maintenance/atmos_control) "ceu" = (/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/cable/green,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/window/reinforced/polarized{dir = 8},/obj/structure/window/reinforced/polarized{dir = 4},/obj/structure/window/reinforced/polarized{dir = 1},/turf/simulated/floor/plating,/area/crew_quarters/heads/chief) -"cev" = (/obj/structure/table/standard,/obj/structure/closet/secure_closet/medical_wall{name = "Pill Cabinet"; pixel_y = -32},/obj/item/weapon/reagent_containers/syringe/antiviral,/obj/item/weapon/storage/pill_bottle/antitox,/obj/item/weapon/storage/pill_bottle/tramadol,/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/medical/exam_room) "cew" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor{dir = 8; icon_state = "yellowcorner"},/area/engineering/foyer) "cex" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/camera/network/engineering{c_tag = "Engineering Break Room"; dir = 8},/turf/simulated/floor/carpet,/area/engineering/break_room) "cey" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/engineering/foyer) @@ -7491,44 +7489,44 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaT aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaFraJXaFyaGKaFlaFMaFlaFMaFlaFMaFlaFMaFlaGMaGNaGOaDPaGYaGXaHaaGZaHbaHbaIBaLiaIHaIGaIJaLkaJZaJYaJGaKaaFCaCDaKmaKnaKoaCHaCDaKqaKraKsaKtaKuaaaaafaaaaKvaKwaKvaaaaafaaaaKuazOazPaCtaKyaKzaKAaKBazPaKCaKDayLaKEazTaARaKFaKGaHrazTaLmaKIaKJaKKaKLaJeaEDaKNaKOaLYaEEaKRaaaaaaaJlaKSaJKaMcaJlaJLaJnaJnaJnaKWaJnaJnaJnaBjaDpaMvaDpaDpaDpaDpaMwaDpaKZaLaaLbaMEaMVaMFaLfaLgaLhaLfaLfaLfaLfaLfaMXaLfaLfaLfaLfaLfaLfaLfaLfaJRaIgaLjaJWaLlaEFaKbaLoaIgaLpaKTaGFaLraLsaLtaJTbkuaJUaIoaJVaIoaKUaCiaLxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaLyaLzaDJaFkawiaFlaFlaFqaFlaFlaFnaFlawnaFraLCaLDaDPaLEaLFaLGaLHaLGaLGaLGaLGaLGaLIaLJaFCaFCaFCaFCaFCaFCaLLaLMaLNaLOaLOaLOaLOaLPaLQaLRaKuaLSaLTaLTaLUaLVaLWaLTaLTaLXaKuaNAaKuaKuaLZaMaaLZaJeaJeaMbaNGaJeaJeaJeaJeaMdaMeaBwaBQaMhaMiaJeaJeaJeaJeaMjaKNaMkaMkaMlaMmaMnaMoaJlaMpaLqaLnaJlaJlaJlaJlaJlaJlaJlaJlaBjaBjaMsaMtaMuaOiaOoaLvaMyaMfaKZaMAaMBaMCaMCaMDaLfaOpaOqaMGaMHaMIaMJaMKaMLaMMaMNaMHaMJaMIaMHaMOaLfaJRaIgaMPaMgaMRaMSaMqaMUaIgaOsaMWaOCaMYaMraNaaNbaGFaGGaOHaJVaIoaMxaAraNfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaaaaaaaaaaaaaLyaDJaDKaDJaDJaDLaDMaDJaDJaDKaLzaNgaBIaNhaLEaNiaMzaMzaNkaMzaNlaIAaNmaNnaLJaNoaNpaNqaNraNsaNtaNraNuaNraNraNraNvaNraNraNwaNxaNyaNzaNzaNBaOMaNCaNzaNzaNzaNzaNDaNEaNFaQcaNraNHaNIaNJaNKaNLaNMaNLaNNaNOaQdaNQaNQaNRaNSaNTaNSaNUaNVaNWaEGaNYaNZaOaaObaOcaMkaMkaMkaOdaOeaMTaMQaOhaQxaOjaOkaOlaOmaOnaJlaQAaQyaQEaOraOtaOtaOuaMZaOwaNdaKZaOyaOzaOAaOAaOBaLfaQJaODaOEaOEaOEaOEaOFaOGaQTaOIaOJaOKaOKaOLaRbaLfaJRaIgaONaOOaNjaOfaONaONaIgaORaOSaGFaOTaOUaOVaOWaGFaIoaIoaJVaIoaGGaGGaGGaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaOXaOYaOZaPaaPaaPaaPaaPbaOYaOXaaaaBIaPcaPdaPeaOvaOgaPhaPhaOxaIAaPjaNnaPkaPlaPmaPnaPoaPpaPqaPqaPraPsaPsaPsaPtaPuaPuaPvaPwaNIaPqaPqaPxaPyaPzaPAaPBaPBaPCaPBaPDaPyaPyaPyaPEaPFaPGaPHaMkaPIaPJaPJaPJaPJaPJaPJaPJaPJaPKaPJaPLaPMaPNaPOaPPaPQaPRaPSaPTaPJaPUaPJaPVaPWaPXaPWaPWaPWaPWaPWaPWaPYaPZaRsaQbaQbaQbaRraQbaQbaRxaQeaQfaQgaKZaQhaMCaQiaQjaQkaLfaCJaQmaQnaQnaQnaQnaQnaQoaQpaOPaQraQnaQnaQsaQtaLfaJRaIgaQuaONaONaQvaONaQwaIgaGFaGFaGFaGFaGFaGFaSoaGFaIoaIoaJVaIoaStaOQaGGaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaafaBIawqaBIaQBaQCaGOaQDaSuaQFaQGaGOaQCaQHaQIaBIaSyaLEaPeaPfaQLaPhaPhaOxaIAaQMaNnaLJaQNaNpaQOaQPaNraNraQQaQRaQSaSEaNraQUaQVaQWaQVaQXaQYaQVaQVaQZaQVaQVaRaaSHaQVaRcaQVaRdaNraNraNraReaPFaPGaPHaMkaRfaMkaRgaRgaRgaRgaRgaRgaRgaRgaRhaRiaRgaRjaRgaRgaRkaRgaRgaRgaRgaRlaRmaRnaRoaRoaRoaRoaRoaRoaRoaRpaRqaRpaJlaImawOawOawOawOawOaItaRuaRvaRwaKZaKZaKZaKZaKZaSIaLfawcaQmaQnaRzaRAaRBaPgaRDaREaRFaQraRGaRHaRIaRJaLfaJRaIgaRKaRKaRLaRMaRNaRNaROaIgaRPaRQaRRaGGaRSaRTaRUaRVaRVaRWaRXaGGaRYaGGaRZaRZaRZaSaaSbaScaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaGeaGgaGgaGiaSUaGhaSdaOYaLDaDPaHxaHxaSfaLDaOYaLDaHyaHAaHzaLEaSkaPiaPiaNkaPiaNlaIAaSmaNnaSnaIAaLKaLKaSZaLKaLKaLKaLKaLKaLKaSpaSqaLKaLKaLKaLKaLKaLKaSraSsaSraLKaTPaLKaNraQPawbauoaSwaSxaNraReaUlaMbaMbaMkaSzaKOaSAaMnaMnaSBaSBaSBaSBaSCaJeasfasNarVarXarXavParXarXarVasNawFaJeaSJaSKaSKaSKaSKaSLaSLaSMaSNaRqaRpaJlaxpawLawLawLawLawLawLaSQaSRaSSaSTaUOaSVaSWaSXaSYaKZaKZaVeaTaaTbaTcaTdaTeaTeaTeaTfaTgaTfaTeaTeaTeaTeaJRaIgaThaONaRLaRMaONaONaTiaIgaTjaQzaTlaGGaIoaTmaTnaToaTpaTqaIoaTraQKaGGaTtaTuaRZaTvaTwaTxaafaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaVfaVraVkaVIazkaSgaSeaSiaShaSjaSiaTzaTyaTBaTAaTEaTCaTAaTFcozaTIaTJaTKaTLaTLaTLaTMaTLaTNaTOaIAaWkaTQaTRaTSaTTaTUaTVaTWaTXaTUaTYaTZaUaaUbaUcaUdaUeazBaUgaUhaUeaUiaLKaLKaWoaLKaLKaLKaLKaUkaWwaLKaUmaMbaUnaSzaKOaUoaaaaaaaaaaaaaaaaaaaaaaUpaUqaUraUsaUtaUvaUuaUxaUwaUzaUyaVUaUpaaaaaaaaaaaaaaaaaaaaaaUAaSNaRqaUBaUCaUDaUEaUFaUFaUFaUFaUGaUHaUIaUFaUFaUFaUJaUKaULaUMaUNaWFaUPaUQayOaySaUTaTfaUUaUVayiaUXaUYaUZaVaaVbaTeaJRaIgaVcaVcaRLaRMaVdaVdaWKaIgaIgaXlaIgaGGaVgaVhaViaViaViaVjaXnaGGaGGaGGaVlaVmaVnaVoaVpaVqaafaafaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDawdcmVaXzaXCaDPaVsaVsaVtaVsaVsaVsaVDaVsaVsaVtaVsaVsaYEaWYaVuaVvaKdaKdaKdaKdaKdaVwaVxaVyaXGaIAaTQaTQaVAaTSaVBaTUaTUaTUaTUaTUaTYaVCaTUaTUaTUaUdaUeawgaVEaVFaUeaUiaVGaVHaKeaKcaVKaUmaXIaVMaVNaVOaxwaVQaMkaSzaKOaUoaaaaaaaaaaaaaUpaUpaUpaUpaVRaSlaVTaXEaVVaSDaVXaXFaVZaSOaWbaUpaUpaUpaUpaaaaaaaaaaaaaUAaSNaRqaRpaWcaSSaSPaWeaTkaSSaTsaUWaWiaVSaVLaVWaWmaWnaQbaXNaWpaWqaWraWsaWtaWtaWuaWvaXXaWaaWyaxqaWAaWBaWCaWDaWEaTeaJRaIgaThaONaRLaRMaONaONaONaYqaWGaONaWHaGGaWIaWJaToaToaToaTqaIoaYsaGGaWfaVoaLuaWQaVoaWRaWSaWTaWTaWUaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTGaGgaTHaGiaBIaBIaBIaWVaWWaWWaWWaWWaWWaWWaWWaWXaBIaBLcpSaWZaIAaXcaXbaXbaXbaYraXdaIAaIAaIAaIAaTQaXeaXfaTSaXgaTUaTUaWgaNXaHIaQlaWgaTUaTUaTUaYwaUeaRyaUfaSvaUeaUiaVGaXpaKfaXraXsaUmaXtaxwaURaXvaUjaXxaMkaSzaKOaMmaSCaMbaXyaUpaUpaVYaXAaYyaYAaXDaXDaXEaXFaYMaXEaXFaXDaXDaXHaYVaXJaXBaUpaUpaXyaJlaXLaXMaSNaRqaRpaJlaZgaSPaXjaTkaSSaXPaXQaSSaWhaXSaTkaSSaXTaOtaXUaXVaUQaXkaXiaXOaVPaYaaYbaYcaYdaYeaRCaYgaWBaYhaWDaYiaTeaJRaIgaYjaYjaRLaRMaWlaONaONaYlaONaWzaWxaGGaIoaWjaXhaToaXRaWdaZXaWLbaOaYmaWOaZcaVoaYvaUSbaBbanaYzaVzaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaafaYCaYDcpKaYFaWPaEfaEfaYIaKpaKQaYLbaPaKxaYOaYPaYQaYRaYSaTSaYTaTUaTUaWgaHIaIKaISaWgaTUaTUaYWaUdaUeaUeaUeaUeaUeaUiaVGaVGaVGaVGaVGaUmaYYaXvaYZaXvaXvaXxaMkaSzaKOaNSaNSaZaaZbaWNaUpaZdaYnaZfbaTbaSbaVbaUbaXbaWbaZbaYbbbbbabbcaZfaYoaZjaUpaWMaZbaZlaZmbbeaSNaRqaRpaWcaSSaSSaSSaSSaSSaXPaZoaSSaWhaZpaTkaSSaXTaOtaZqaXVaUQaNcaNeaNPaLwaYaaYpaZwaYdaYeaRCaYgaWBaYhaZxaZyaZzbbfaZzaZzaZzaZBaZCaZDaYtaOOaZFaZGaZHaZIaGGaZJaQqayjaToaQaayjaIoaIoaXaaZiaVoaYuaVoaZNaZOaZPaZQaWTaZRaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaZSaZTaZUbjnaZWaSFaXwaZkbaaaZvaXWbadbaeaXYaYObagbahbaibajaTSbakbalbambbhbaobapbaqbarbarbarbasbataTSbaubavbawbaxaKgbajbnZaKhbajbkZaUmbaDbaEbaFbaGbaHbaIaMkbaJbaKaMkbaLbaMbbDbcybbPbbLbaRbaQbbQaUpaUpaUpaUpaUpbcDaUpaUpaUpbbRbaQbbdbbSbbWbeobcabbibbjbbkbblbbmbbnaJlaUDaSPbboaTkaSSaZAaZEbbraZKaXjaTkaSSaXTbbtaULaXVbbubbvbbwaUQaUQaYaaXZbbybbzaYKbbBaYgaWBbbCaWDbcuaZzaZLbbFbbFbbGbbHbbIaRLaRLaRLaRLaRLaRLaRLaGGbbJaWjaXhaToaXRaXhaIobbKaGGbcBaVoaYuaVoaZNbbMbbNbbOaafaafaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaOXaOYaOZaPaaPaaPaaPaaPbaOYaOXaaaaBIaPcaPdaPeaOvaOgaPhaPhaOxaIAaPjaNnaPkaPlaPmaPnaPoaPpaPqaPqaPraPsaPsaPsaPtaPuaPuaPvaPwaNIaPqaPqaPxaPyaPzaPAaPBaPBaPCaPBaPDaPyaPyaPyaPEaPFaPGaPHaMkaPIaPJaPJaPJaPJaPJaPJaPJaPJaPKaPJaPLaPMaPNaPOaPPaPQaPRaPSaPTaPJaPUaPJaPVaPWaPXaPWaPWaPWaPWaPWaPWaPYaPZaRsaQbaQbaQbaRraQbaQbaRxaQeaQfaQgaKZaQhaMCaQiaQjaQkaLfaHIaQmaQnaQnaQnaQnaQnaQoaQpaOPaQraQnaQnaQsaQtaLfaJRaIgaQuaONaONaQvaONaQwaIgaGFaGFaGFaGFaGFaGFaSoaGFaIoaIoaJVaIoaStaOQaGGaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaafaBIawqaBIaQBaQCaGOaQDaSuaQFaQGaGOaQCaQHaQIaBIaSyaLEaPeaPfaQLaPhaPhaOxaIAaQMaNnaLJaQNaNpaQOaQPaNraNraQQaQRaQSaSEaNraQUaQVaQWaQVaQXaQYaQVaQVaQZaQVaQVaRaaSHaQVaRcaQVaRdaNraNraNraReaPFaPGaPHaMkaRfaMkaRgaRgaRgaRgaRgaRgaRgaRgaRhaRiaRgaRjaRgaRgaRkaRgaRgaRgaRgaRlaRmaRnaRoaRoaRoaRoaRoaRoaRoaRpaRqaRpaJlaImawOawOawOawOawOaItaRuaRvaRwaKZaKZaKZaKZaKZaSIaLfaCJaQmaQnaRzaRAaRBaPgaRDaREaRFaQraRGaRHaRIaRJaLfaJRaIgaRKaRKaRLaRMaRNaRNaROaIgaRPaRQaRRaGGaRSaRTaRUaRVaRVaRWaRXaGGaRYaGGaRZaRZaRZaSaaSbaScaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaGeaGgaGgaGiaSUaGhaSdaOYaLDaDPaHxaHxaSfaLDaOYaLDaHyaHAaHzaLEaSkaPiaPiaNkaPiaNlaIAaSmaNnaSnaIAaLKaLKaSZaLKaLKaLKaLKaLKaLKaSpaSqaLKaLKaLKaLKaLKaLKaSraSsaSraLKaTPaLKaNraQPawbauoaSwaSxaNraReaUlaMbaMbaMkaSzaKOaSAaMnaMnaSBaSBaSBaSBaSCaJeasfasNarVarXarXavParXarXarVasNawFaJeaSJaSKaSKaSKaSKaSLaSLaSMaSNaRqaRpaJlaxpawLawLawLawLawLawLaSQaSRaSSaSTaUOawcaSWaSXaSYaKZaKZaVeaTaaTbaTcaTdaTeaTeaTeaTfaTgaTfaTeaTeaTeaTeaJRaIgaThaONaRLaRMaONaONaTiaIgaTjaQzaTlaGGaIoaTmaTnaToaTpaTqaIoaTraQKaGGaTtaTuaRZaTvaTwaTxaafaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaVfaVraVkaVIazkaSgaSeaSiaShaSjaSiaTzaTyaTBaTAaTEaTCaTAaTFcozaTIaTJaTKaTLaTLaTLaTMaTLaTNaTOaIAaWkaTQaTRaTSaTTaTUaTVaTWaTXaTUaTYaTZaUaaUbaUcaUdaUeazBaUgaUhaUeaUiaLKaLKaWoaLKaLKaLKaLKaUkaWwaLKaUmaMbaUnaSzaKOaUoaaaaaaaaaaaaaaaaaaaaaaUpaUqaUraUsaUtaUvaUuaUxaUwaUzaUyaVUaUpaaaaaaaaaaaaaaaaaaaaaaUAaSNaRqaUBaUCaUDaUEaUFaUFaUFaUFaUGaUHaUIaUFaUFaUFaEdaUKaULaUMaUNaWFaUPaUQayOaySaUTaTfaUUaEfayiaUXaUYaUZaVaaVbaTeaJRaIgaVcaVcaRLaRMaVdaVdaWKaIgaIgaXlaIgaGGaVgaVhaViaViaViaVjaXnaGGaGGaGGaVlaVmaVnaVoaVpaVqaafaafaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDawdcmVaXzaXCaDPaVsaVsaVtaVsaVsaVsaVDaVsaVsaVtaVsaVsaYEaWYaVuaVvaKdaKdaKdaKdaKdaVwaVxaVyaXGaIAaTQaTQaVAaTSaVBaTUaTUaTUaTUaTUaTYaVCaTUaTUaTUaUdaUeawgaVEaVFaUeaUiaVGaVHaKeaKcaVKaUmaXIaVMaVNaVOaxwaVQaMkaSzaKOaUoaaaaaaaaaaaaaUpaUpaUpaUpaVRaSlaVTaXEaVVaSDaVXaXFaVZaSOaWbaUpaUpaUpaUpaaaaaaaaaaaaaUAaSNaRqaRpaWcaSSaSPaWeaTkaSSaTsaUWaWiaVSaVLaVWaWmaDoaQbaXNaWpaWqaWraWsaWtaWtaWuaWvaXXaWaaEcaxqaWAaWBaWCaWDaWEaTeaJRaIgaThaONaRLaRMaONaONaONaYqaWGaONaWHaGGaWIaWJaToaToaToaTqaIoaYsaGGaWfaVoaLuaWQaVoaWRaWSaWTaWTaWUaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTGaGgaTHaGiaBIaBIaBIaWVaWWaWWaWWaWWaWWaWWaWWaWXaBIaBLcpSaWZaIAaXcaXbaXbaXbaYraXdaIAaIAaIAaIAaTQaXeaXfaTSaXgaTUaTUaWgaWnaLwaWyaWgaTUaTUaTUaYwaUeaRyaUfaSvaUeaUiaVGaXpaKfaXraXsaUmaXtaxwaURaXvaUjaXxaMkaSzaKOaMmaSCaMbaXyaUpaUpaVYaXAaYyaYAaXDaXDaXEaXFaYMaXEaXFaXDaXDaXHaYVaXJaXBaUpaUpaXyaJlaXLaXMaSNaRqaRpaJlaZgaSPaXjaTkaSSaXPaXQaSSaWhaXSaTkaSSaVPaOtaXUaXVaUQaXOaXkaXwaXiaYaaYbaYcaYdaEfaRCaYgaWBaYhaWDaYiaTeaJRaIgaYjaYjaRLaRMaWlaONaONaYlaONaWzaWxaGGaIoaWjaXhaToaXRaWdaZXaWLbaOaYmaWOaZcaVoaYvaUSbaBbanaYzaVzaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaafaYCaYDcpKaYFaWPaKQaKQaYIaNPaNXaYLbaPaKxaYOaYPaYQaYRaYSaTSaYTaTUaTUaWgaLwaNcaNeaWgaTUaTUaYWaUdaUeaUeaUeaUeaUeaUiaVGaVGaVGaVGaVGaUmaYYaXvaYZaXvaXvaXxaMkaSzaKOaNSaNSaZaaZbaWNaUpaZdaYnaZfbaTbaSbaVbaUbaXbaWbaZbaYbbbbbabbcaZfaYoaZjaUpaWMaZbaZlaZmbbeaSNaRqaRpaWcaSSaSSaSSaSSaSSaXPaZoaSSaWhaZpaTkaSSaVPaOtaZqaXVaUQaSVaUJaUVaQlaYaaYpaZwaYdaEfaRCaYgaWBaYhaZxaZyaZzbbfaZzaZzaZzaZBaZCaZDaYtaOOaZFaZGaZHaZIaGGaZJaQqayjaToaQaayjaIoaIoaXaaZiaVoaYuaVoaZNaZOaZPaZQaWTaZRaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaZSaZTaZUbjnaZWaSFaKQaZkbaaaZvaXTbadbaeaXYaYObagbahbaibajaTSbakbalbambbhbaobapbaqbarbarbarbasbataTSbaubavbawbaxaKgbajbnZaKhbajbkZaUmbaDbaEbaFbaGbaHbaIaMkbaJbaKaMkbaLbaMbbDbcybbPbbLbaRbaQbbQaUpaUpaUpaUpaUpbcDaUpaUpaUpbbRbaQbbdbbSbbWbeobcabbibbjbbkbblbbmbbnaJlaUDaSPbboaTkaSSaZAaZEbbraZKaXjaTkaSSaVPaYKaULaXVbbubbvbbwaUQaUQaYaaXZbbyaXWaYebbBaYgaWBbbCaWDbcuaZzaZLbbFbbFbbGbbHbbIaRLaRLaRLaRLaRLaRLaRLaGGbbJaWjaXhaToaXRaXhaIobbKaGGbcBaVoaYuaVoaZNbbMbbNbbOaafaafaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaXubcFbcZaXmbbUaSFbaabaabaabaabaabbVbaaaXoaYObbXbbYbaibbZbbZbbZbbZbdKbbZbcbaTUbccbcdbcebcebcfbcgaTSaXebchbcibcjaKibdQblcaKkbcobcobcpbcpbcpbcpbcpbcqaMbbcrbcsbctbeabcvbcwbcxbbgaUpbczbcAbeeaUpaUpaaaaaaaafaafbekaaaaaaaUpaUpbezbcGbczaUpbbgbcxbcHbcIbcJbcKbcLaRpaWcaSSaSSaSSaSSaSSaGpbcMaSSbcNaSSbcObcObcObcObeBbcQbcRbcSaUQaUQaUQbeMbcUaTeaZMbcWbcXaYgaWBaYhaWDbcYaZzaZZbdabdbbdcbddbdebddbddbddbddbddbdfbdgbdhbdibdjbdkbdlbdmbdnbdobdpbdqbdraVoaYubdsaZNaVobeNbbOaafaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBbdubdvaZUbdwbdxaSFaEfbabbaaaZvaDobbVbaabdAaYObbpbdCbaibbZbdDbdEbdFbdGbbZaEgbdIbdJaTSbeRbdLbdMbdNaTSaXebdObdPbdPbeVbdPbdPbdPbdPbdRbdSbdSbdSbdTbdSbdUaMbbdVbdWbdXbdYbdYbdYbdYbdYbdYbdZbeWbdZbdYbebbebbebbebbebbecbebbebbebbedbedbfobedaUpaUpaUpaJiaJiaJibcKbcLaRpaJlbefbegaDmbehaSSbeibcMbejbfqbelbcObcObembenaZzaZzaZzbfwaSGaSGaSGaZzaZzaZzbeqberbesbetaWBaYhaYhbeuaZzbevbewbbqaZzbeybbsbeAaYtbfxbbEbeDbcmaONaGGaIobeFbeGbeHbeFbeIaIoaIoaGGbeJaVoaYuaVoaZNbeKbeLbbOaafaafaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaafbeObePbeQbfWaRtaEfaEdbeUaEcaDobbVbgNbgMaYObeXbeYbaibbZbbZbbZbeZbfabbZbfbbdIbfcaTSbeRbdLbdMbfdaTSaXebdObdPaAWbffbfgbfgbfhbdPbfibcVbfkbflbfmbfmbfmaMbaMkbcsbctbdYbfnbgUbfpbgWbfrbfsbftbfubdYbebbfvbgXbfvbhebhCbfvbdybebbedbfCbfDbfEbfFbfGbfHbfIbfJaJibfKbfLbfMaJlaZzaZzaZzaZzbfNbfObfPbfQaZzaZzbfRaZzaZzaZzaZzbfSbfTbfUbfVbfVbfVbhJbfXaZzbfYbfZbgabgbbgcbgcbgcbgdaZzbevbewbdBaZzaZzaZzaZzaZzaZzaZzaZzaZzaZzaZzbgfbggbghbgibgjbgfbggaZzaRZbgkaVoaYuaVoaZNaZObglbgmaWTaZRaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBbdubdvaZUbdwbdxaSFaKQbabbaaaZvaIKbbVbaabdAaYObbpbdCbaibbZbdDbdEbdFbdGbbZaEgbdIbdJaTSbeRbdLbdMbdNaTSaXebdObdPbdPbeVbdPbdPbdPbdPbdRbdSbdSbdSbdTbdSbdUaMbbdVbdWbdXbdYbdYbdYbdYbdYbdYbdZbeWbdZbdYbebbebbebbebbebbecbebbebbebbedbedbfobedaUpaUpaUpaJiaJiaJibcKbcLaRpaJlbefbegaDmbehaSSbeibcMbejbfqbelbcObcObembenaZzaZzaZzbfwaSGaSGaSGaZzaZzaZzbeqberbesbetaWBaYhaYhbeuaZzbevbewbbqaZzbeybbsbeAaYtbfxbbEbeDbcmaONaGGaIobeFbeGbeHbeFbeIaIoaIoaGGbeJaVoaYuaVoaZNbeKbeLbbOaafaafaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaafbeObePbeQbfWaRtaKQaKpbeUaISaIKbbVbgNbgMaYObeXbeYbaibbZbbZbbZbeZbfabbZbfbbdIbfcaTSbeRbdLbdMbfdaTSaXebdObdPaAWbffbfgbfgbfhbdPbfibcVbfkbflbfmbfmbfmaMbaMkbcsbctbdYbfnbgUbfpbgWbfrbfsbftbfubdYbebbfvbgXbfvbhebhCbfvbdybebbedbfCbfDbfEbfFbfGbfHbfIbfJaJibfKbfLbfMaJlaZzaZzaZzaZzbfNbfObfPbfQaZzaZzbfRaZzaZzaZzaZzbfSbfTbfUbfVbfVbfVbhJbfXaZzbfYbfZbgabgbbgcbgcbgcbgdaZzbevbewbdBaZzaZzaZzaZzaZzaZzaZzaZzaZzaZzaZzbgfbggbghbgibgjbgfbggaZzaRZbgkaVoaYuaVoaZNaZObglbgmaWTaZRaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaaabgnbgobgpbgqaZUbgrbgrbgrbgrbgrbgrbgsbgtbgraYOaYOaYOaYOaYObhKaYOaYOaYObgvbgvbgwbbZbdDbgxbeZbgybbZbgzbgAbgzaTSbeRbdLbdMbfdaTSaXebdObdPbgBbgCbgDbfgbgDbdPbfibgEbgFbgGaFIaFGaFhaMbbgKbgLbctbhLbivbgObgPbexbexbgRbgSbgTbdYbebbmIbgVbhRbhNbfzbgYbhSbebbedbhabhbbhcbeCbhTbeEbhgbhhaJibhibhjaRpbhkbhlbhmbewbewbhnbewbhobewbewbewbewbhpbewbewbewbewbhqbewbewbewbewbewbewbhmbewbewbhrbhsbhsbhtbhsbhsbhubhvbewbhqbhwbhxbhpbewbhybewbewbewbhzbhAbhBbhUbewbhDbewbhEbewbewbhFbhGbhHaVoaYuaVobhIaHdbhXbhWbhMaHcaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaabhObhObhObhObhObhObhObhObhObhOaaaaafbhPaYDbhQbitbiqbjubjqbjwbjvbjubjBbjGbjCbjObhYbhZbgwbbZbbZbbZbiabfabbZaTSaTSaTSaTSbeRbibbicbjQaTSbiebifbdPbigbihbiibgDbijbdPbfibikbgFbgGbgGbgGaEhaMbbimaSzbctbjVbiobipbfjbirbisbfBbiubjMbdYbebbiwbixbiybjYbiybgYbgebebbedbiAbiBbiCbgQbiEbgZbiGbiHaJibiIbiJbiKbiLbiMbiNbiObiObiPbiQbiRbiSbiSbiSbiTbiSbiSbiSbiSbiSbiUbiVbiVbiVbiWbiObiObiNbiObiObiXbiVbiVbiYbiSbiZbjabjbbiSbjcbiObiObiObiObiObiObiObiObiObiObiObiObiObjdbiTbjebiSbjfbjgbjhbjibjibjjbjkaZNaWRbjlaWTaWTaWUaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaabhObhObhObhObhObhObhObhObhObhObhOaZSaZTbjmbjnbjobgrbjpbjpbjZbjpbjpbjpbjrbajbajbajbajbaibbZbdDbjsbjtbgybbZbkZbkZbkZaTSaTSaTSaTSbkkaTSbjxbdObdPbjybjzbgDbfgbkxbdPbkAbfmbkHbgGbgGbgGbjDaMbbjEaSzbctbkKbkLbgObhdbjIbjJbhfbjLblybdYbjNbkMbjPbiybkNbiybgVbkPbjSbedbjTbjUbizbjWbjWbjWbjXbkVaJibkXbkabkbbkcbkdbkebbFbkfbkgbkhbkibkjbkYbklbkmbknbknbkobewbewbewbewbewbkpbkqbkrbewbksbktcsfbkvbewbkpbkwcLYbkybhFbewbewbkzbewbewbllbkBbewbkpbewbewbewbewbewbewbewbewbewbhqbewbewbhFbkCbkDbkEbkFbkGblmbkIbkJaafaaaaafaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaabhObhObhObhObhObhObhObhObhObhObhObQDblrblEbQLbkObgrblTbkQbkRbkRbkSbkTbkUbmdbmlbmlbmAbmxbbZbbZbbZbeZbmBbbZbajbajbajbajblaaXeaXeblbblcbldbleblfblgblhblibljblkbdPbmEbfmbmFbgGblnbgGbloblpblqaSzbctbdYbmHblsbltblublvblwblxbdYbdYbebblzblAbmUbmNblDblAbiDbebbedbedblFblGblHblIbiCblJblKaJiblLblMblNaJiblOblOblOblOblOblOaZzaZzblPblQbZNcdMblQblPaZzaZzaZzaZzaZzaZzaZzaZzaZzaZzbmVaZzaZzaZzaZzaZzaZzbmXaZzbewbewblVblWbiFblOblOblOblOblOblXblYblYblZblYbewblYblZbmablYbmbblObmcbmcbmcbnbaRZbmeaRZaRZaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaabhObhObhObhObhObhObhObhObhObhObhObdubdvbjmbjnbmfbgrbmgbjpbmhbmibjpbjpbjpbnsbmjbmkbmkbnwbbZbdDbmmbeZbmnbbZbupbmpbmqbmrbmsbmtbmtbmubmtbmtbmvbdPbmwbnNbfgbmybmzblfbnRbnPbnSbgGbgGbjHbmDbnUblqaSzbnVbmGbmGbmGbmGbmGbmGbmGbnWbmGaafbebbmIbmJbmKbmLbmKbmMbjKbebaafbedbmObnXbmQbmRbiCbiGbmSaJibcKaRqaRpaJibmTbohboibCkbojbmYbmZbPMbopbnlbndbnebnlbmCbolbnhbnibnjbmPboKbnmbnnbPLbnpbnqbnrboWbntbntbnubYfaVJblOblObpmblObZMbZMblObnzbPKbnBblObZtbpobZtblOblXblYbmbblObZnbprbZnblObnGbPJbnIbnJbnKbnLbnMaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaabhObhObhObhObhObhObhObhObhObhOaaaaaabnObpwbeQbnQbgrbpLbpBbpMbnTbpPbpNbjpbpScfibnYbnZbnwbbZbbZbbZbbZbbZbbZboabobbocbodboebdPbdPbdPbdPbdPbdPbdPbWqbdPbdPbdPbogbdPbfmbqcbnSbgGbgGbgGbokblpblqaSzbqgbmGbombonbncbOIbvGbotbosbotaafbebboubovbowboxboybozbnfbebaafbedboBboCboDboEbiCbiGboFaJiboGboHaRpbXHboJbngboLboMbnkbPZboPboQboRboRboSboTboUboUboVbjRboXboYboZbpabpbbnnbPGbpdbpebpfbpgbphbpfbpibYfaVJbpjbpkbplbOJbpnbnybppbnCbnDbpqbqxbptboobqyblOaZzbqBbpxblObmWboqbPEbqGbpCbpDbnIbpEbpFbpGbnMaaaaaaaaaaacaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaabhObhObhObhObhObhObhObhObhObhObhObQDblrblEbQLbkObgrblTbkQbkRbkRbkSbkTbkUbmdbmlbmlbmAbmxbbZbbZbbZbeZbmBbbZbajbajbajbajblaaXeaXeblbblcbldbleblfblgblhblibljblkbdPbmEbfmbmFbgGblnbgGbPeblpblqaSzbctbdYbmHblsbltblublvblwblxbdYbdYbebblzblAbmUbmNblDblAbiDbebbedbedblFblGblHblIbiCblJblKaJiblLblMblNaJiblOblOblOblOblOblOaZzaZzblPblQbZNcdMblQblPaZzaZzaZzaZzaZzaZzaZzaZzaZzaZzbmVaZzaZzaZzaZzaZzaZzbmXaZzbewbewblVblWbiFblOblOblOblOblOblXblYblYblZblYbewblYblZbmablYbmbblObmcbmcbmcbnbaRZbmeaRZaRZaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaabhObhObhObhObhObhObhObhObhObhObhObdubdvbjmbjnbmfbgrbmgbjpbmhbmibjpbjpbjpbnsbmjbmkbmkbnwbbZbdDbmmbeZbmnbbZbupbmpbmqbmrbmsbmtbmtbmubmtbmtbmvbdPbmwbnNbfgbmybmzblfbnRbnPbnSbgGbgGbjHbMIbnUblqaSzbnVbmGbmGbmGbmGbmGbmGbmGbnWbmGaafbebbmIbmJbmKbmLbmKbmMbjKbebaafbedbmObnXbmQbmRbiCbiGbmSaJibcKaRqaRpaJibmTbohboibCkbojbmYbmZbOxbopbnlbndbnebnlbmCbolbnhbnibnjbmPboKbnmbnnbPLbnpbnqbnrboWbntbntbnubYfaVJblOblObpmblObZMbZMblObnzbNzbnBblObZtbpobZtblOblXblYbmbblObZnbNsbZnblObnGbPJbnIbnJbnKbnLbnMaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaabhObhObhObhObhObhObhObhObhObhOaaaaaabnObpwbeQbnQbgrbpLbpBbpMbnTbpPbpNbjpbpScfibnYbnZbnwbbZbbZbbZbbZbbZbbZboabobbocbodboebdPbdPbdPbdPbdPbdPbdPbWqbdPbdPbdPbogbdPbfmbqcbnSbgGbgGbgGbEYblpblqaSzbqgbmGbombonbncbOIbvGbotbosbotaafbebboubovbowboxboybozbnfbebaafbedboBboCboDboEbiCbiGboFaJiboGboHaRpbXHboJbngboLboMbnkbPZboPboQboRboRboSboTboUboUboVbjRboXboYboZbpabpbbnnbPGbpdbpebpfbpgbphbpfbpibYfaVJbpjbpkbplbOJbpnbnybppbnCbnDbpqbqxbptboobqyblOaZzbqBbpxblObKoboqbLHbqGbpCbpDbnIbpEbpFbpGbnMaaaaaaaaaaacaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaaaaTDaTDaTDaTDaTDaaaaTDaTDaTDaTDaTDaaaaaaaaaaaaaaabgnbgobgpbgqbdvbpHbpHbpHbpIbpHbpJaZVbpKbqKbgrbqQbjpbrkbrcbpQbpRbrvbrubrwbrwbrwbrxbkWbpUbkWbkWbkWbkWbpVbpWbpWbpXbpYbdPcfycfocfzbrybqdbqebqfbrCbqhbqibqjbqkbqkbrDbrIbgGbgGbqmbfmaMbblqbqnbqoaJubqqbqrbqrbxqborbrPbxsbotaafbebbebbebbebbshbebbebbebbebaafbedbqzboCbqAbsjbqCbqDbqEaJibqFaRqaRpaJibskbqHbqIbqJaJDbqLboPbqNboUboUboUboUboUboUbqObqPbslboYbqRbqSboNbnnbqUbqVbqWbsnbpgbphbpfbqXbYfaVJbpjbqYbqZbqZbrabrbbsobrdbrdbrdbrebrdbrfboObrhbribrjbsqbnIbrlbpCbrmbrnbrobsrbnIbrqbpFbrrbnMaaaaaaaaaaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaaaaTDaTDaTDaTDaTDaaaaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaaaaaaaaaaaabrsbrtbsvbsBcaLbsHbsHbthbrzbrAbgrbtkbtlcaMbtmbjpbjpbjpbajbrEbrFbrGbrHbrGbrGbrGbrHbrGbajbajbdPbdPbdPbtBbdPbrJbrJbrJbrJbrJbrJbqfbrKbrLbrMbrNbrObtIbrQbrRbrSbrTbrUbrVbrWbrXbrYbrZaHBbsbbqvbsabYZcanbotbosbotaafbsibZibtKbtTbsmbtXbtKcaJbsiaafbedbspbuibspbedbedbedbujaJibssaRqaRpbXHboJbngbstbsubuobqLbswbqNcbQcdpcbdcbkceobsCbqObsDbnicevbsFcepcdGbnncdtbqVbpebpfbpgbphbpfbpibYfaVJbpjbsJbsKbsLbsMbplbsNbVzbsPbsQbsRbsSbsTbsUbrhbsVbsWbsXbnIbsYbsZbtabtbbtccflbnIbrqbpFbtebnMaaaaaaaaaaaaaaaaaaaaaaaaaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaaaaacaaaaaaaaaaaaaaaaaaaaabrsbtfbtgbuYbtibtibtibtjbtibtibgrbvabuZboAbvjbjpaaaaaaaaaaafaafbtnbtnbtnbtnbtnbtnbtnaaaaaabtobtpbtqbtrbtsbrJbrJbrJbrJbrJbrJbttbtubvqbtwbtxbtybtzbtAbfmbfmbvCbfmbfmbtCbtDbtEbtFbmGbtHbmGbmGbmGbmGbmGbvEbmGaafbtJbvFbtLbtMbtNbtMbtLbvIbtPaafbspbtQbtRbtSbvObtUbspbtVaJlbtWbbmbvZaJibtYbohbtZbuabwcbucbudbuebufbwgbWIbXnbwnbukbulbumbnibnnbunbpubVVbnnbuqburbusbutbuubuubuvbuwbYfaXqbpjbwxbplbplbsMbuybuzbPebpvbuCbuDbuEbuFbVybrhbuHbuIbuJbnIbuKbuLbuMbtbbpCbVebnIbpEbpFbUAbnMaaaaaaaaaaaacHOaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaaaaTDaTDaTDaTDaTDaaaaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaaaaaaaaaaaabrsbrtbsvbsBcaLbsHbsHbthbrzbrAbgrbtkbtlcaMbtmbjpbjpbjpbajbrEbrFbrGbrHbrGbrGbrGbrHbrGbajbajbdPbdPbdPbtBbdPbrJbrJbrJbrJbrJbrJbqfbrKbrLbrMbrNbrObtIbrQbrRbrSbrTbrUbrVbrWbrXbrYbrZaHBbsbbqvbsabYZcanbotbosbotaafbsibZibtKbtTbsmbtXbtKcaJbsiaafbedbspbuibspbedbedbedbujaJibssaRqaRpbXHboJbngbstbsubuobqLbswbqNbXncbdbVVbWIcbQbsCbqObsDbnicdGbsFcdpcbkbnncdtbqVbpebpfbpgbphbpfbpibYfaVJbpjbsJbsKbsLbsMbplbsNceobsPbsQbsRbsSbsTbsUbrhbsVbsWbsXbnIbsYbsZbtabtbbtccflbnIbrqbpFbtebnMaaaaaaaaaaaaaaaaaaaaaaaaaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaaaaacaaaaaaaaaaaaaaaaaaaaabrsbtfbtgbuYbtibtibtibtjbtibtibgrbvabuZboAbvjbjpaaaaaaaaaaafaafbtnbtnbtnbtnbtnbtnbtnaaaaaabtobtpbtqbtrbtsbrJbrJbrJbrJbrJbrJbttbtubvqbtwbtxbtybtzbtAbfmbfmbvCbfmbfmbtCbtDbtEbtFbmGbtHbmGbmGbmGbmGbmGbvEbmGaafbtJbvFbtLbtMbtNbtMbtLbvIbtPaafbspbtQbtRbtSbvObtUbspbtVaJlbtWbbmbvZaJibtYbohbtZbuabwcbucbudbuebufbwgbPMbVzbwnbukbulbumbnibnnbunbpubPKbnnbuqburbusbutbuubuubuvbuwbYfaXqbpjbwxbplbplbsMbuybuzbPEbpvbuCbuDbuEbuFbVybrhbuHbuIbuJbnIbuKbuLbuMbtbbpCbVebnIbpEbpFbUAbnMaaaaaaaaaaaacHOaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabeObSwbxmbuVbpHbuWbgnbgobuXbuWbgrbxpbjpbxvbvbbjpaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnaaaaaabvcbvdbrJbvebvfbvfbvfbvfbvfbvgbvhbvfbvibxzbvkbvlbvmbSlbSrbfmbvpbgGbxDbpzbvsbvtbvubvvbmGbmGbmGbRcbQMbvzbvAbvBbvwaafbpObRpbvHbvJbvKbvMbvNbRybpOaafbspbqMbvQbxnbedbvRbspbvSaJlbvTbcLbvUaJibvVbvWbvXbTTbxObucbyobxTbyKbwdbwebwebwfbyMcdWcdVbUqbwkbTWbwmbwkbwkbwkbwkbyQbwkbwkaXKaXKaXKaXKaVJbpjbsJbsKbsLbwobwpbwqbwrbwsbwsbwsbsSbwtbTsbwvbwwbyUbwybnIbwzbwAbwBbwCbpCbSEbnIbwEbwFbnMbnMaaaaaaaaaaaaaafbuPbuQbuRbuQbuRbuQbuSaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbwMbwNbwObwPbrJbwQbrJbwRbwRbwRbwSbwTbrKbrJbrJbrLbwUbwVbwWbwXbrpbzcbxabgGbgGbugbxcbvtbvubxdbxebxfbzrbzHbxibxjbxkbxlbvwaafbxrbzNbzJbzObyLbxobzPbzVbxraafbspbqwbAebuBbedbAibspbtVaJlbxwbcLaRpaJibDDbxybAobxAbxBbxCbAtbxEbxCbxFbxGbDIbxFbwkbAxbxJbwkbwkbxKbxLbxMbxNbAAbxPbxQbxRbxSaXKbaybvraXKaVJbpjbxXbqZbqZbxYbxZbppbDQbwsbwsbwsbsSbwtbEFbwwbvDbUabTQbwwbESbFbbEZbyibpCbFybnIbrqbykbnMaaaaaaaaaaaaaaaaafbwGbwHbrgcLebwJbFUbwGaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbwMbwNbwObwPbrJbwQbrJbwRbwRbwRbwSbwTbrKbrJbrJbrLbwUbwVbwWbwXbrpbwDbxabgGbgGbugbxcbvtbvubxdbxebxfbwKbzHbxibxjbxkbxlbvwaafbxrbzNbzJbzObyLbxobzPbzVbxraafbspbqwbAebuBbedbAibspbtVaJlbxwbcLaRpaJibDDbxybAobxAbxBbxCbAtbxEbxCbxFbxGbDIbxFbwkbAxbxJbwkbwkbxKbxLbxMbxNbAAbxPbxQbxRbxSaXKbaybvraXKaVJbpjbxXbqZbqZbxYbxZbppbDQbwsbwsbwsbsSbwtbEFbwwbvDbUabTQbwwbESbFbbEZbyibpCbFybnIbrqbykbnMaaaaaaaaaaaaaaaaafbwGbwHbrgcLebwJbFUbwGaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbAFbypbAFbyqbyrbwQbrJbrJbrJbysbrJbwTbrKbytbdPbdPbyubgGbrNbwXbyvbywbyxbyybyybyzbyAbyBbyCbyDbvsbyEbvPbyGbxkbyHbyIbyJbvwaafbxrbxrbxrbxrbALbxrbxrbxrbxraafbyNbyNbyNbyNbyNbyNbyNbAVaJibyPblMblNaJibCnbyRbyRbySbyTbxCbAXbyVbyWbCobyYbyZbzabwmbzbbBqbzdbzebzfbzgbzgbzhbzibzgbzjbzkbckbaAbwubclbBsbcnbCQbzsbztbzubzvbzwbppbCXbpqbpqbDBbsSbwtbCLbzAbzBbzCbzDbzAbzEbzFbzGbBwbzIbwwbwwbBxbnMbnMbzKbzLbzLbzLbzMbCJbylbymbrgbwJbrgbynbuRaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaacaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbBAbzQbBAbzRbrJbwQbrJbzSbzSbzSbzSbwTbrKbzTbzUbdPbmobgGbrNbBJbzWbzXbzYbgGblnbgGbzZbAabAbbAcbAdbyEbwIbAfbxkbxkbxkbAgbvwbAhbAhbBKbAhbBRbBQbBSbAjbBUbAjbAjbyNbCcbCdbAmbAnbBXbApbAqaJibAraRqaRpaJibAlbAsbAubAvbAwbBtbAybAzbBabABbACbADbAEbBEbAGbAHbAIbAJbAKbAIbxtbAMbANbAObnvblUbsdbBGbsgbsfbaAbPObpjbxubxUbAYbAZbAZbppbAkbBbbBcbppbBdbBebBfbBgbBhbBibBjbBkbBlbBlbBmbBnbBobTHbCrbBrbCwbCAbTIbBvbCEbCIbCHbCKbwGbwJbrgbwJbwJbBNbwGaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbBCbwNbBDbCYbrJbwQbrJbrJbrJbrJbrJbwTbrKbzTbBFbdPbzzbgGbBHbBIbgGbCZbgFbgGbgGbyjbvsbvtbAbbAcbAdbyEbvwbBLbBMbzybBMbBObvwbDbbDabDdbDcbDfbDebDhbDgbDjbDibBVbyNbBWbzmbBYbBZbCabCabCbbDwbAraRqaRpaJibzxbCebCebySbCfbxCbCgbChbxCbCibCjbCjbyObwkbClbCmbwkbwkbwkbwkbwkbwkbyXbwkbwkbwmbDKaXKaXKaXKaXKbDYbpjbwwbzAbzAbzAbzAbzAbzAbzAbzAbzAbzIbEibCsbCtbBhbCubCvbEjbCxbCxbCxbCybCzbEkbCBbCCbCDbEpbTGbCGbErbCGbEsbEubBzbuQbuRbEwbuRbuQbBBaafaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbBAbzQbBAbCMbCNbCObrJbrJbrJbCNbrJbwTbrKbzTbCPbdPbNzbgGbrNbwXbgGbqlbCRbgGbgGbECbxcbvtbAbbCTbxcbCUbvwbCVbEKbOxbAWbxlbvwbEMbELbERbAhbEUbEUbEUbAjbEWbEVbEXbyNbDkbDlbDlbDmbDnbDobDpaJibDqbDrbDsaJibDtbEYbDvbMpbDxbDybDzbDAbyWbLWbFabCjbMybwmbDEbDFbwmbDGbDHbNsbDJbFobDLbDMbCpbDNbDObBTbNtbDRbCpbVLbVMbDUbVAbDWbDXbDXbFrbDZbEabEbbEcbEdbEebEfbEabEgbEhbCvbFVbFFbGfbwwbwwbwwbwwbwwbGhbGgbEnbzKbzMbCJbEobGibCJbzKbzLbzMbGjbCJbGkaafcHOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbGubExbGubEybEzbEAbEAbEAbEAbEAbEBbGAbEDbzTbEEbdPbKobEGbEHbEIbEJbGDbGCbGWbGEbGvbtCbENbAbbEObEPbyEbvwbEQbHabLHbBMbETbvwbBPbHibHjbAhaaaaaaaaabAjbHmbHlbFcbyNbFdbFebFfbFgbDnbDobFhaJibxwaRqaRpbHMbFjbFkbFlbFmbFnbHNbFpbFqbxCbxFbxFbIZbxFbwkbFsbFtbFubFvbFwbFxbDJbIYbDLbFzbFAbFBbDObFCbFDbFEbHPbVlbDXbHQbVAbFJbDXbDXbFKbFLbFMbFLbFLbFNbFObFPbFQbFRbFSbCvbHRbJrbJabFWbFXbFYbFZbGabGbbGcbGdaafaafbCJbGebHUbHUbHVbIfbHZbIobEvaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaacaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbBAbzQbBAbzRbrJbwQbrJbzSbzSbzSbzSbwTbrKbzTbzUbdPbuNbgGbrNbBJbzWbzXbzYbgGblnbgGbzZbAabAbbAcbAdbyEbwIbAfbxkbxkbxkbAgbvwbAhbAhbBKbAhbBRbBQbBSbAjbBUbAjbAjbyNbCcbCdbAmbAnbBXbApbAqaJibAraRqaRpaJibAlbAsbAubAvbAwbBtbAybAzbBabABbACbADbAEbBEbAGbAHbAIbAJbAKbAIbxtbAMbANbAObnvblUbsdbBGbsgbsfbaAbPObpjbxubxUbAYbAZbAZbppbAkbBbbBcbppbBdbBebBfbBgbBhbBibBjbBkbBlbBlbBmbBnbBobTHbCrbBrbCwbCAbTIbBvbCEbCIbCHbCKbwGbwJbrgbwJbwJbBNbwGaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbBCbwNbBDbCYbrJbwQbrJbrJbrJbrJbrJbwTbrKbzTbBFbdPbuGbgGbBHbBIbgGbCZbgFbgGbgGbyjbvsbvtbAbbAcbAdbyEbvwbBLbBMbuAbBMbBObvwbDbbDabDdbDcbDfbDebDhbDgbDjbDibBVbyNbBWbzmbBYbBZbCabCabCbbDwbAraRqaRpaJibzxbCebCebySbCfbxCbCgbChbxCbCibCjbCjbyObwkbClbCmbwkbwkbwkbwkbwkbwkbyXbwkbwkbwmbDKaXKaXKaXKaXKbDYbpjbwwbzAbzAbzAbzAbzAbzAbzAbzAbzAbzIbEibCsbCtbBhbCubCvbEjbCxbCxbCxbCybCzbEkbCBbCCbCDbEpbTGbCGbErbCGbEsbEubBzbuQbuRbEwbuRbuQbBBaafaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbBAbzQbBAbCMbCNbCObrJbrJbrJbCNbrJbwTbrKbzTbCPbdPbzybgGbrNbwXbgGbqlbCRbgGbgGbECbxcbvtbAbbCTbxcbCUbvwbCVbEKbzzbAWbxlbvwbEMbELbERbAhbEUbEUbEUbAjbEWbEVbEXbyNbDkbDlbDlbDmbDnbDobDpaJibDqbDrbDsaJibDtbzcbDvbMpbDxbDybDzbDAbyWbLWbFabCjbMybwmbDEbDFbwmbDGbDHbzrbDJbFobDLbDMbCpbDNbDObBTbNtbDRbCpbVLbVMbDUbVAbDWbDXbDXbFrbDZbEabEbbEcbEdbEebEfbEabEgbEhbCvbFVbFFbGfbwwbwwbwwbwwbwwbGhbGgbEnbzKbzMbCJbEobGibCJbzKbzLbzMbGjbCJbGkaafcHOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbGubExbGubEybEzbEAbEAbEAbEAbEAbEBbGAbEDbzTbEEbdPbxhbEGbEHbEIbEJbGDbGCbGWbGEbGvbtCbENbAbbEObEPbyEbvwbEQbHabxxbBMbETbvwbBPbHibHjbAhaaaaaaaaabAjbHmbHlbFcbyNbFdbFebFfbFgbDnbDobFhaJibxwaRqaRpbHMbFjbFkbFlbFmbFnbHNbFpbFqbxCbxFbxFbIZbxFbwkbFsbFtbFubFvbFwbFxbDJbIYbDLbFzbFAbFBbDObFCbFDbFEbHPbVlbDXbHQbVAbFJbDXbDXbFKbFLbFMbFLbFLbFNbFObFPbFQbFRbFSbCvbHRbJrbJabFWbFXbFYbFZbGabGbbGcbGdaafaafbCJbGebHUbHUbHVbIfbHZbIobEvaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnbGlbGmbGnbdPbdPbGobwNbwNbwNbGpbdPbdPbGqbGrbGsbdPbGtbGtbGtbITbGtbGvbGwbGxbGybGzbtCbvtbAbbIAbGBbtCbtGbtGbtGbtGbtGbIBbtGbtGbtGbIRbtGbIUbIMbIXbtGbJbbtGbtGbtGbtGbtGbtGbtGaJiaJiaJiaJibxwaRqaRpbHMbJqbFkbCSbGGbCWbGIbGJbGKbGLbGMbGNbCjbGObGPbGQbGRbGSbGTbGUbGVbIDbGXbGYbGZbJDbHbbHcbHdbHecLVbCpbUSbUfbwwbwwbwwbwwbwwbJVbwwbwwbwwbzAbKfbzAbzAbHkbBhbCubCvbHRbIvbKzbHnbHobHpbHqbGabGbbGcbHraaaaaabCJbHsbHtbEobCIbBybKBbKUbCJaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnaaaaaaaaaaaaaaaaaaaafaaaaaaaaabHuaafaaaaaaaaaaaabGtbIubHwbHxbHybGvbHzbKVbHBbHCbtCbvtbAbbAcbAabHDbHEbHFbHGbHHbHIbHJbHKbHLbLabLxbLnbLzbAabAabLIbMhbLYbAabHTbAabzZbHHbKJbHWbHXbHYbMibxwaRqbDsaJlbDtbDubDtbDCbDPbxCbIbbIcbIdbIebMlbIgbIhbIibIjbIkbwmbIlbImbInbDJbDTbElbIpbIqcLUbFDbIsbItbHObCpbHSbIwbIxbIybUdbLybMqbICbMCbUcbIFbIGbIHbIIbIJbzAbIKbCubCvbMHbMFbINbIObIPbIQbHvbGabGbbISbEnbEnbEnbCJbCJbCJbMSbMPbCJbCJbBybCJaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaaaaaaaaaaaaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnaaaaaaaaaaaaaaaaaabMZaaaaaaaaaaaaaaaaaaaaaaaaaaabGtbuObEmbIVbIWbNdbuNbuGbuAbNfbtCbvtbJcbJdbJebJebJfbJgbJhbJibJjbJgbJfbJebJebNkbJkbJlbNqbJnbJobNBbJebJebJpbJgbJhbJibJjbJsbJtbJubJtbJvbJwbvUaJlbEtbEqbFHbGFbNLbGHbDzbHAbFibDVbxFbNQbCFbDSbDEbJGbwkbJHbJIbJJbDJbJKbJLbJMbJNbJObFDbJPbItbJObCpbJQbJRbIxbJSbJTbJUbNZbJWbObbJYbIFbJZbKabKbbKbbzAbKcbKdbKebOcbKgbKhbKibKjbKjbKkbGabGbbKlbEnbKmbOdbKnbEnaafaafaafaafaafaafaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbKpbKqbKqbKrbKsbKsbKtbKtbKtbKtbKuaafaafaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnaaaaaaaaaaaaaaaaaabMZaaaaaaaaaaaaaaaaaaaaaaaaaaabGtbuObEmbIVbIWbNdbmoblBblobNfbtCbvtbJcbJdbJebJebJfbJgbJhbJibJjbJgbJfbJebJebNkbJkbJlbNqbJnbJobNBbJebJebJpbJgbJhbJibJjbJsbJtbJubJtbJvbJwbvUaJlbEtbEqbFHbGFbNLbGHbDzbHAbFibDVbxFbNQbCFbDSbDEbJGbwkbJHbJIbJJbDJbJKbJLbJMbJNbJObFDbJPbItbJObCpbJQbJRbIxbJSbJTbJUbNZbJWbObbJYbIFbJZbKabKbbKbbzAbKcbKdbKebOcbKgbKhbKibKjbKjbKkbGabGbbKlbEnbKmbOdbKnbEnaafaafaafaafaafaafaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbKpbKqbKqbKrbKsbKsbKtbKtbKtbKtbKuaafaafaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtnbtnbtnbtnbtnaaaaaaaaaaaaaaaaaaaaaaaabKvbKwbKxbKwbKyaaaaaaaaabGtbGtbOfbKAbIVbKAbOibKCbOnbKDbKEbtCbKFbvtbKGbKHbAabKIbAabzZbHHbKJbAabKKbKLbKMbKNbKObAcbAabKPbKQbHLbKRbHLbHLbKSbKTbODbOtbKWbKXbcLbKYaRpaRpaRpaJlbOEbFlbFnbOFbJmbOGbJybJxbFIbLgbLhbLibLjbHgbDEbIkbIabIzbHhbDJbDJbLobLobLobCpbMMbLqbLrbLsbLtbCpbLubLvbIxbLwbFGbLybOHbLAbLBbLCbIFbJCbLEbKbbKbbzAbRsbLFbCvbwwbLGbuTbuUbLJbLKbLLbGabLMbLNbLObLObLObLPbGdaaaaaaaaaaaaaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafbLQbLRbLSbLRbKsbKtbKtbLTbLUbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabLVbsObLXbtdbLVbLZbMabMbbGtbMcbMdbMebMfbMgbOLbOKbMjbMjbMkbtCbtCbtCbOMbtCbtCbtCbtCbtCbtCbtCbtCbtCbtCbtCbtCbtCbMmbMnbMobtCbtCbtCbtCbtCbONbtCbtCbtCaJlaJlbOQaJlaKSaMpbMraJlbKZbJXbORbGFbLdbxCbDzbLDbxCbtvbMzbMAbMBbwkbOTbMDbMEbOUbMGbPubMIbMJbMKbMLbItbJObFDbFDbLpbJObCpbMNbMObMObMObMObMObMObMObMObMObMObPvbMQbMRbMRbzAbPAbMTbMUbwwbMVbMVbMVbMWbMXbMYbMVbMVbMVbMVbMVbMVbNabNbaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymbPCbLRbLRbNebKtbKtbLTbLTbPDbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabLVbsObLXbtdbLVbLZbMabMbbGtbMcbMdbMebMfbMgbOLbOKbMjbMjbMkbtCbtCbtCbOMbtCbtCbtCbtCbtCbtCbtCbtCbtCbtCbtCbtCbtCbMmbMnbMobtCbtCbtCbtCbtCbONbtCbtCbtCaJlaJlbOQaJlaKSaMpbMraJlbKZbJXbORbGFbLdbxCbDzbLDbxCbtvbMzbMAbMBbwkbOTbMDbMEbOUbMGbPubilbMJbMKbMLbItbJObFDbFDbLpbJObCpbMNbMObMObMObMObMObMObMObMObMObMObPvbMQbMRbMRbzAbPAbMTbMUbwwbMVbMVbMVbMWbMXbMYbMVbMVbMVbMVbMVbMVbNabNbaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymaymbPCbLRbLRbNebKtbKtbLTbLTbPDbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabKxbNgbMsbNgbKxbNibNjbPFbNlbNmbNnbKAbNobNpbGvbPHbNrbubbtObGvbNubNvbNwbNxaaaaaaaaaaaabNybuhbNAbPSbNDbNCbNEbNFbNGbNHbNIbNFbNJbNKbPXbNMbNNbNObNPbqsbNRbNSbNTbNUbNUbNUbNUbDtbDtbDtbDtbMtbMtbxCbQabOabQbbMzbMvbMubOebQcbOgbOhbQdbOjbMxbMwbOmbNhbMKbOobFDbFDbNVbJObJObOobCpbMNbMObOqbOrbOsbQebOubOvbOwbjAbMObOybOzbOAbOAbzAbOBbOCbCvbzIbQgbQpbQjbQBbQubRdbQXbRvbRebRxbVFbMVbuxbEnbOObOObOObOObOOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabOPbKtbPCbKtbKtbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabLVbNgbNgbNgbRAbRzbKAbOSbRDbRBbKAbRFbOVbOWbGvbGvbGvbGvbGvbGvbOXbOYbOZbPaaaabPbbPcbPcbPdbvYbPfbPgbPhbPfbPibNFbPjbPkbPlbNFbPmbNXbPobPpbPqbPrbPsbPtbPtbNSbRWbRJbPwbPxbPybDtbNYbLbbScbGFbGFbSgbDzbSibxCbSnbwZbwYbwlbwkbSubPIbwkbOkbwDbwKbOlbPNbMKbCpbCpbCpbCpbCpbCpbCpbCpbPObMObPPbQYbPRbOsbOsbOsbOsbwjbMObPTbLEbPUbPUbzAbBhbPVbPWbwbbPYbPYbSMbSObSNbSQbSPbSSbSRbSSbSVbMVbQfbSWbOObQhbTgbOpbQkaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbKsbKtbQlbQmbQmbLTbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabKxbMsbMsbMsbKxbQnbQobTAbQqbQrbKAbKAbQsbQtbTObQvbQvbQvbQvbQvbQvbQwbQxbQyaaabQzbQAbUbbQCbxbbPfbQEbQGbQFbPfbNFbQIbQJbQKbNFbxxbxhbQNbQObQPbQQbQRbPtbQSbPxbQTbNUbPxbPxbQUbDtbPnbGFbQVbUkbGFbPzbDzbLebRCbQZbPBbUobyhbRGbDEbIkbSpbOkbwKbwKbOlbRfbMKbRgbRhbygbRjbRkbRlbybbRnbPObMObOsbOsbRobOsbOsbOsbOsbyabMObRqbLEbRrbRrbzAbRsbRtbRubyfbRwbUGbUwbUPbUObUWbURbVkbVjbVvbVmbxIbREbVGbxHbRHbRIbQibRKaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabKtbKtbRLbLTbLTbLTbLTbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabLVbNgbNgbNgbRAbRzbKAbOSbRDbRBbKAbRFbOVbOWbGvbGvbGvbGvbGvbGvbOXbOYbOZbPaaaabPbbPcbPcbPdbvYbPfbPgbPhbPfbPibNFbPjbPkbPlbNFbPmbNXbPobPpbPqbPrbPsbPtbPtbNSbRWbRJbPwbPxbPybDtbNYbLbbScbGFbGFbSgbDzbSibxCbSnbwZbwYbwlbwkbSubPIbwkbOkbmDbmWbOlbPNbMKbCpbCpbCpbCpbCpbCpbCpbCpbPObMObPPbQYbPRbOsbOsbOsbOsbwjbMObPTbLEbPUbPUbzAbBhbPVbPWbwbbPYbPYbSMbSObSNbSQbSPbSSbSRbSSbSVbMVbQfbSWbOObQhbTgbOpbQkaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbKsbKtbQlbQmbQmbLTbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabKxbMsbMsbMsbKxbQnbQobTAbQqbQrbKAbKAbQsbQtbTObQvbQvbQvbQvbQvbQvbQwbQxbQyaaabQzbQAbUbbQCbxbbPfbQEbQGbQFbPfbNFbQIbQJbQKbNFbprbokbQNbQObQPbQQbQRbPtbQSbPxbQTbNUbPxbPxbQUbDtbPnbGFbQVbUkbGFbPzbDzbLebRCbQZbPBbUobyhbRGbDEbIkbSpbOkbmWbmWbOlbRfbMKbRgbRhbygbRjbRkbRlbybbRnbPObMObOsbOsbRobOsbOsbOsbOsbyabMObRqbLEbRrbRrbzAbRsbRtbRubyfbRwbUGbUwbUPbUObUWbURbVkbVjbVvbVmbxIbREbVGbxHbRHbRIbQibRKaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabKtbKtbRLbLTbLTbLTbLTbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLbwLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaabLVbRMbRNbRObLVbRPbMabMbbGtbGtbRQbRQbRQbGtbGtbNxbRRbRRbRSbRSbRSbRSbNwbQyaaabRTbRUbRVbVObRXbRYbRZbSabSbbSbbWgbSdbSebWibNFbPtbPtbPtbPtbPtbWkbPtbPtbShbWobSjbNUbPxbSkbvnbDtbQHbLbbQVbSmbWMbPzbSobJAbJBbSqbRabSsbStbJzbFsbSvbIEbSxbRibRbbSAbSBbMKbRmbSDbWVbRjbSfbSGbXabRnbPObMObMObMObRobOsbOsbOsbMObMObMObSIbSJbRrbRrbzAbSKbSLbCvbzIbXcbXfbXebSQbXibXqbXpbXvbXubYabXxbMVbQfbYobOObSXbSYbSybTaaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbKtbLTbLTbLTbLTbLTbLTbTbbLTbTcbLTbLTbLTbLTbLTbKtbKtaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabTdbKwbTebKwbTfbYtaafaaaaaabGtbThbTibTjbGtaaabNxbTkbTlbTmbTnbTnbTnbTobQyaaabQzbTpbTqbTrbvobPfbTtbTvbTubTwbNFbSzbTybTzbYwbTBbTBbTBbTCbTCbTDbTEbULbPxbPxbTFbNUbNUbNUbNUbDtbDtbLfbLkbLcbDtbTJbTKbTLbJFbJEbTJbQbbLlbLmbTRbTSbTJbMKbMKbMKbMKbMKbMKbvLbTUbTVbRjbvybTXbTYbRnbPObMObTZbQWbPQbYHbYzbNWbNcbTZbUgbUhbUibIIbIJbzAbIKbSLbUjbwwbMVbMVbYMbYSbMVbMVbMVbMVbYYbSCbVFbMVbvxbUnbOObUpbZbbUrbOOaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabKtbUsbUsbUsbUsbUsbUsbUtbLTbUubUsbTcbLTbLTbLTbLTbKtaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabMZaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbUvbNxbNxbNxbNxbRSbZcbNwbUxaaabUybPcbPcbUzblCbPfbPfbUBbPfbSFbNFbUDbSHbSTbNFbSUbSUbSUbSUbSUbSUbSUbSUbUHbUIbUJbUKbUKbUMbNUbDtbUNbSZbTxbUQbZebwabUTbUUbTMbilbTNbUTbUYbUZbVabVbbUebTPbVdblBbVgbVhbVibUlbZrbUmbRjbUCbZsbUCbRnbPObMObVnbUFbVpbVqbVrbVsbVtbVubUgbzAbZubzAbzAbVwbCxbSLbCxbVxaafbnxbZvbZzblSbVBbZBbZLbZCbZObUVbMVbVHbVIbOObVJbVKbVKbwhaaLaaLaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwibLRbLRbLRbLRbLRbLRbLRbVNbLUbLTbLTbLTbLTbZPbLUbKuaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabMZaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbUvbNxbNxbNxbNxbRSbZcbNwbUxaaabUybPcbPcbUzblCbPfbPfbUBbPfbSFbNFbUDbSHbSTbNFbSUbSUbSUbSUbSUbSUbSUbSUbUHbUIbUJbUKbUKbUMbNUbDtbUNbSZbTxbUQbZebwabUTbUUbTMbbtbTNbUTbUYbUZbVabVbbUebTPbVdbbzbVgbVhbVibUlbZrbUmbRjbUCbZsbUCbRnbPObMObVnbUFbVpbVqbVrbVsbVtbVubUgbzAbZubzAbzAbVwbCxbSLbCxbVxaafbnxbZvbZzblSbVBbZBbZLbZCbZObUVbMVbVHbVIbOObVJbVKbVKbwhaaLaaLaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwibLRbLRbLRbLRbLRbLRbLRbVNbLUbLTbLTbLTbLTbZPbLUbKuaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabVPbVQbVQbVRbVSbNxbVTbRSbVUbNxaaaaaaaaaaaabNybpcbVWbVXbVZbVYbPfbNFbWabWbbNIbNFbSUbUXbVfbVcbVDbVCbVEbSUcaqcaqcaqcaqcaqbTFbWjbZSbWlbWcbWdbZUbWpbxgbWrbWsbWtbWubWtbWvbWtbWwbWxbWybWzbWAbWBbWAbWCbWDbWEbWFbWGbWebnHbWfbWKbWLbZVbxVbMObxWcaabzlbWSbWTbWhbWSbWSbnAbWWbWXbWYbWZbCxbCxbSLbCxbFTaafbnxcaxcaxbXbbnabXdbnocaWbXgbXhbMVbVHcbebOObOObOObOObOOaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabKtbQmbQmbQmbQmbQmbQmbXkbLTbQlbQmbXlbLTbLTbLTbLTbKtaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabXmcbfbWmcbgbRScbibXrbRSbXsbNxaaKaaaaaaaaabNybNybNybNybNybNybNybNFbUDbUEbXtbNFbSUbWnbWJbWHbWHbWJbWRbSUbhVbWUbWUbXocaqbXBbDtbDtbXCbXDbXEbXFbXGblRbXIbXJbXKbXLbXMbXNbXObXPbXQbXRbXSbXTbXUbznbzpbzobAPbzqbARbAQbATbAScbjbAUbYfbYgbIwbYhbVobCqbWObWNbWPbYmbYnbgJbYpbYqbYrbYscbmbYrbYubYvbILaafbnxcbncbrbrBbVBcbtcbAcbycbDbYAbMVbVHbYBbYCbUnaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbKtbLTbLTbLTbLTbLTbLTbTbbLTbXlbLTbLTbLTbLTbLTbKtbKtaafaaaaaaaaaaaaabgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabYDbVQbVQbVRbYEbYFbYGbNxcbJbNxbYIbYJbYKbYIbYIbYLcbLbYNbYObYPcbObXwbXzbXybYebXAbYjbWJbYybYxbYRbYQbYTbidbYVbYUbYXbYWcaqbZhbNScbWbZjbZkbZlbZlbZmbnEbZobZpbTJbTJbZqcccbTJbTJccncceccrcaIcctbWQbZxbZyccubZybZAbZaccvbZabZAccEbYfbMNbIwbZEbXWbXVbZdccGbZJbZKbMObMObwwbwwbwwbwwbwwboIbnFbofbwwbMVbMVbMVbMVbMVbMVbMVbMVbMVbMVbMVbMVccJbZQbZRbUnaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabKtbKtbRLbLTbLTbLTbLTbLTbLTbLTbLTbLTbLTbLTbKtbKtaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa From ed34aa2466b3010eb3b8f137a28aaa2d2a5a04a6 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Sun, 17 May 2015 16:28:03 +0930 Subject: [PATCH 18/45] Rebalancing and adjusting divisors for all weapon damage values. --- code/game/antagonist/station/highlander.dm | 2 +- code/game/gamemodes/cult/cultify/obj.dm | 2 +- .../objects/items/weapons/material/bats.dm | 10 +-- .../objects/items/weapons/material/kitchen.dm | 62 ++++--------------- .../objects/items/weapons/material/knives.dm | 20 ++---- .../weapons/material/material_weapons.dm | 17 ++++- .../objects/items/weapons/material/misc.dm | 26 +++----- .../objects/items/weapons/material/shards.dm | 8 +-- .../objects/items/weapons/material/swords.dm | 27 +++----- .../objects/items/weapons/material/thrown.dm | 5 +- .../items/weapons/material/twohanded.dm | 34 ++++++---- .../structures/stool_bed_chair_nest/bed.dm | 10 +-- .../structures/stool_bed_chair_nest/chairs.dm | 6 +- code/modules/materials/materials.dm | 14 ++--- code/modules/mining/abandonedcrates.dm | 2 +- .../research/xenoarchaeology/finds/finds.dm | 4 +- 16 files changed, 98 insertions(+), 151 deletions(-) diff --git a/code/game/antagonist/station/highlander.dm b/code/game/antagonist/station/highlander.dm index a33af1b5a3..3ee73f4a95 100644 --- a/code/game/antagonist/station/highlander.dm +++ b/code/game/antagonist/station/highlander.dm @@ -37,7 +37,7 @@ var/datum/antagonist/highlander/highlanders player.equip_to_slot_or_del(new /obj/item/clothing/under/kilt(player), slot_w_uniform) player.equip_to_slot_or_del(new /obj/item/device/radio/headset/heads/captain(player), slot_l_ear) player.equip_to_slot_or_del(new /obj/item/clothing/head/beret(player), slot_head) - player.equip_to_slot_or_del(new /obj/item/weapon/material/claymore(player), slot_l_hand) + player.equip_to_slot_or_del(new /obj/item/weapon/material/sword(player), slot_l_hand) player.equip_to_slot_or_del(new /obj/item/clothing/shoes/combat(player), slot_shoes) player.equip_to_slot_or_del(new /obj/item/weapon/pinpointer(get_turf(player)), slot_l_store) diff --git a/code/game/gamemodes/cult/cultify/obj.dm b/code/game/gamemodes/cult/cultify/obj.dm index a45c46a6ce..4306182eaf 100644 --- a/code/game/gamemodes/cult/cultify/obj.dm +++ b/code/game/gamemodes/cult/cultify/obj.dm @@ -21,7 +21,7 @@ new /obj/item/weapon/book/tome(loc) ..() -/obj/item/weapon/material/claymore/cultify() +/obj/item/weapon/material/sword/cultify() new /obj/item/weapon/melee/cultblade(loc) ..() diff --git a/code/game/objects/items/weapons/material/bats.dm b/code/game/objects/items/weapons/material/bats.dm index 5de3ba46c3..e507b2a4d9 100644 --- a/code/game/objects/items/weapons/material/bats.dm +++ b/code/game/objects/items/weapons/material/bats.dm @@ -4,18 +4,12 @@ icon_state = "metalbat0" base_icon = "metalbat" item_state = "metalbat" - sharp = 0 - edge = 0 - w_class = 3 - force = 10 - throw_speed = 3 - throw_range = 7 throwforce = 7 attack_verb = list("smashed", "beaten", "slammed", "smacked", "struck", "battered", "bonked") hitsound = 'sound/weapons/genhit3.ogg' - force_wielded = 20 - health = 10 default_material = "wood" + force_divisor = 1.35 // 27 when wielded with weight 20 (steel) + unwielded_force_divisor = 0.7 // 18 when unwielded based on above. //Predefined materials go here. /obj/item/weapon/material/twohanded/baseballbat/metal/New(var/newloc) diff --git a/code/game/objects/items/weapons/material/kitchen.dm b/code/game/objects/items/weapons/material/kitchen.dm index e640664c74..597affcd35 100644 --- a/code/game/objects/items/weapons/material/kitchen.dm +++ b/code/game/objects/items/weapons/material/kitchen.dm @@ -5,15 +5,14 @@ * Utensils */ /obj/item/weapon/material/kitchen/utensil - force = 5 w_class = 1 - throwforce = 5 - throw_speed = 3 - throw_range = 5 - flags = CONDUCT + thrown_force_divisor = 1 origin_tech = "materials=1" attack_verb = list("attacked", "stabbed", "poked") - sharp = 0 + sharp = 1 + edge = 1 + force_divisor = 0.1 // 6 when wielded with hardness 60 (steel) + thrown_force_divisor = 0.25 // 5 when thrown with weight 20 (steel) var/loaded //Descriptive string for currently loaded food object. /obj/item/weapon/material/kitchen/utensil/New() @@ -60,6 +59,9 @@ desc = "It's a spoon. You can see your own upside-down face in it." icon_state = "spoon" attack_verb = list("attacked", "poked") + edge = 0 + sharp = 0 + force_divisor = 0.25 //5 when wielded with weight 20 (steel) /obj/item/weapon/material/kitchen/utensil/spoon/plastic default_material = "plastic" @@ -71,23 +73,13 @@ name = "knife" desc = "Can cut through any food." icon_state = "knife" - force = 10.0 - throwforce = 10.0 - sharp = 1 - edge = 1 - -/obj/item/weapon/material/kitchen/utensil/knife/suicide_act(mob/user) - viewers(user) << pick("\red [user] is slitting \his wrists with the [src.name]! It looks like \he's trying to commit suicide.", \ - "\red [user] is slitting \his throat with the [src.name]! It looks like \he's trying to commit suicide.", \ - "\red [user] is slitting \his stomach open with the [src.name]! It looks like \he's trying to commit seppuku.") - return (BRUTELOSS) + force_divisor = 0.2 // 12 when wielded with hardness 60 (steel) /obj/item/weapon/material/kitchen/utensil/knife/attack(target as mob, mob/living/user as mob) if ((CLUMSY in user.mutations) && prob(50)) user << "\red You accidentally cut yourself with the [src]." user.take_organ_damage(20) return - playsound(loc, 'sound/weapons/bladeslice.ogg', 50, 1, -1) return ..() /obj/item/weapon/material/kitchen/utensil/knife/attack(target as mob, mob/living/user as mob) @@ -95,7 +87,6 @@ user << "\red You somehow managed to cut yourself with the [src]." user.take_organ_damage(20) return - playsound(loc, 'sound/weapons/bladeslice.ogg', 50, 1, -1) return ..() /obj/item/weapon/material/kitchen/utensil/knife/plastic @@ -109,13 +100,10 @@ name = "rolling pin" desc = "Used to knock out the Bartender." icon_state = "rolling_pin" - force = 8.0 - throwforce = 10.0 - throw_speed = 2 - throw_range = 7 - w_class = 3.0 attack_verb = list("bashed", "battered", "bludgeoned", "thrashed", "whacked") //I think the rollingpin attackby will end up ignoring this anyway. default_material = "wood" + force_divisor = 0.7 // 10 when wielded with weight 15 (wood) + thrown_force_divisor = 1 // as above /obj/item/weapon/material/kitchen/rollingpin/attack(mob/living/M as mob, mob/living/user as mob) if ((CLUMSY in user.mutations) && prob(50)) @@ -123,30 +111,4 @@ user.take_organ_damage(10) user.Paralyse(2) return - - M.attack_log += text("\[[time_stamp()]\] Has been attacked with [src.name] by [user.name] ([user.ckey])") - user.attack_log += text("\[[time_stamp()]\] Used the [src.name] to attack [M.name] ([M.ckey])") - msg_admin_attack("[user.name] ([user.ckey]) used the [src.name] to attack [M.name] ([M.ckey]) (JMP)") - - var/t = user:zone_sel.selecting - if (t == "head") - if(ishuman(M)) - var/mob/living/carbon/human/H = M - if (H.stat < 2 && H.health < 50 && prob(90)) - // ******* Check - if (istype(H, /obj/item/clothing/head) && H.flags & 8 && prob(80)) - H << "\red The helmet protects you from being hit hard in the head!" - return - var/time = rand(2, 6) - if (prob(75)) - H.Paralyse(time) - else - H.Stun(time) - if(H.stat != 2) H.stat = 1 - user.visible_message("\red [H] has been knocked unconscious!", "\red You knock [H] unconscious!") - return - else - H.visible_message("\red [user] tried to knock [H] unconscious!", "\red [user] tried to knock you unconscious!") - H.eye_blurry += 3 - return ..() - + return ..() \ No newline at end of file diff --git a/code/game/objects/items/weapons/material/knives.dm b/code/game/objects/items/weapons/material/knives.dm index 1eb5640157..3271650d31 100644 --- a/code/game/objects/items/weapons/material/knives.dm +++ b/code/game/objects/items/weapons/material/knives.dm @@ -6,20 +6,16 @@ hitsound = null var/active = 0 w_class = 2 - force = 2 - sharp = 0 - edge = 0 - throw_speed = 3 - throw_range = 4 - throwforce = 7 attack_verb = list("patted", "tapped") + force_divisor = 0.25 // 15 when wielded with hardness 60 (steel) + thrown_force_divisor = 0.25 // 5 when thrown with weight 20 (steel) /obj/item/weapon/material/butterfly/update_force() if(active) - ..() //Updates force. - throwforce = max(3,force-3) edge = 1 sharp = 1 + ..() //Updates force. + throwforce = max(3,force-3) hitsound = initial(hitsound) icon_state += "_open" w_class = 3 @@ -60,11 +56,7 @@ flags = CONDUCT sharp = 1 edge = 1 - force = 10 - w_class = 3 - throwforce = 8 - throw_speed = 3 - throw_range = 6 + force_divisor = 0.15 // 9 when wielded with hardness 60 (steel) matter = list(DEFAULT_WALL_MATERIAL = 12000) origin_tech = "materials=1" attack_verb = list("slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") @@ -94,5 +86,5 @@ icon = 'icons/obj/kitchen.dmi' icon_state = "butch" desc = "A huge thing used for chopping and chopping up meat. This includes clowns and clown-by-products." - force = 15 + force_divisor = 0.25 // 15 when wielded with hardness 60 (steel) attack_verb = list("cleaved", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") diff --git a/code/game/objects/items/weapons/material/material_weapons.dm b/code/game/objects/items/weapons/material/material_weapons.dm index 3f8732cd2b..b623df897b 100644 --- a/code/game/objects/items/weapons/material/material_weapons.dm +++ b/code/game/objects/items/weapons/material/material_weapons.dm @@ -2,10 +2,16 @@ health = 10 hitsound = 'sound/weapons/bladeslice.ogg' gender = NEUTER + throw_speed = 3 + throw_range = 7 + w_class = 3 + sharp = 0 + edge = 0 var/applies_material_colour = 1 var/unbreakable - var/damage_divisor = 0.5 + var/force_divisor = 0.5 + var/thrown_force_divisor = 0.5 var/default_material = DEFAULT_WALL_MATERIAL var/material/material @@ -16,7 +22,14 @@ set_material(material_key) /obj/item/weapon/material/proc/update_force() - force = round(material.get_blunt_damage()*damage_divisor) + if(edge || sharp) + force = material.get_edge_damage() + else + force = material.get_blunt_damage() + force = round(force*force_divisor) + throwforce = round(material.get_blunt_damage()*thrown_force_divisor) + //spawn(1) + // world << "[src] has force [force] and throwforce [throwforce] when made from default material [material.name]" /obj/item/weapon/material/proc/set_material(var/new_material) material = get_material_by_name(new_material) diff --git a/code/game/objects/items/weapons/material/misc.dm b/code/game/objects/items/weapons/material/misc.dm index 61570ef0fa..4e7ab42fd3 100644 --- a/code/game/objects/items/weapons/material/misc.dm +++ b/code/game/objects/items/weapons/material/misc.dm @@ -1,13 +1,11 @@ /obj/item/weapon/material/harpoon name = "harpoon" sharp = 1 - edge = 0 + edge = 1 desc = "Tharr she blows!" icon_state = "harpoon" item_state = "harpoon" - force = 20 - throwforce = 15 - w_class = 3 + force_divisor = 0.3 // 18 with hardness 60 (steel) attack_verb = list("jabbed","stabbed","ripped") /obj/item/weapon/material/hatchet @@ -15,15 +13,11 @@ desc = "A very sharp axe blade upon a short fibremetal handle. It has a long history of chopping things, but now it is used for chopping wood." icon = 'icons/obj/weapons.dmi' icon_state = "hatchet" - flags = CONDUCT - force = 12.0 + force_divisor = 0.2 // 12 with hardness 60 (steel) + thrown_force_divisor = 0.75 // 15 with weight 20 (steel) w_class = 2 - throwforce = 15 - throw_speed = 4 - throw_range = 4 sharp = 1 edge = 1 - matter = list(DEFAULT_WALL_MATERIAL = 15000) origin_tech = "materials=2;combat=1" attack_verb = list("chopped", "torn", "cut") applies_material_colour = 0 @@ -34,7 +28,6 @@ icon = 'icons/obj/weapons.dmi' icon_state = "unathiknife" attack_verb = list("ripped", "torn", "cut") - default_material = "bone" /obj/item/weapon/material/hatchet/tacknife name = "tactical knife" @@ -52,18 +45,19 @@ icon_state = "hoe" item_state = "hoe" flags = CONDUCT | NOBLUDGEON - force = 5 - throwforce = 7 + force_divisor = 0.25 // 5 with weight 20 (steel) + thrown_force_divisor = 0.25 // as above w_class = 2 - matter = list(DEFAULT_WALL_MATERIAL = 50) attack_verb = list("slashed", "sliced", "cut", "clawed") /obj/item/weapon/material/scythe icon_state = "scythe0" name = "scythe" desc = "A sharp and curved blade on a long fibremetal handle, this tool makes it easy to reap what you sow." - force = 13 - throwforce = 5 + force_divisor = 0.275 // 16 with hardness 60 (steel) + thrown_force_divisor = 0.25 // 5 with weight 20 (steel) + sharp = 1 + edge = 1 throw_speed = 1 throw_range = 3 w_class = 4 diff --git a/code/game/objects/items/weapons/material/shards.dm b/code/game/objects/items/weapons/material/shards.dm index 3df8181cdd..6c2eb7ced3 100644 --- a/code/game/objects/items/weapons/material/shards.dm +++ b/code/game/objects/items/weapons/material/shards.dm @@ -3,18 +3,17 @@ /obj/item/weapon/material/shard name = "shard" icon = 'icons/obj/shards.dmi' + desc = "Made of nothing. How does this even exist?" // set based on material, if this desc is visible it's a bug (shards default to being made of glass) icon_state = "large" sharp = 1 edge = 1 - desc = "Made of nothing. How does this even exist?" // set based on material, if this desc is visible it's a bug (shards default to being made of glass) w_class = 2 - force = 5 - throwforce = 8 + force_divisor = 0.2 // 6 with hardness 30 (glass) + thrown_force_divisor = 0.4 // 4 with weight 15 (glass) item_state = "shard-glass" attack_verb = list("stabbed", "slashed", "sliced", "cut") default_material = "glass" unbreakable = 1 //It's already broken. - damage_divisor = 0.1 //So tiny. /obj/item/weapon/material/shard/suicide_act(mob/user) viewers(user) << pick("\red [user] is slitting \his wrists with \the [src]! It looks like \he's trying to commit suicide.", \ @@ -42,7 +41,6 @@ else qdel(src) - /obj/item/weapon/material/shard/update_icon() if(material) color = material.icon_colour diff --git a/code/game/objects/items/weapons/material/swords.dm b/code/game/objects/items/weapons/material/swords.dm index aaa3d4f9fa..f50cebd93d 100644 --- a/code/game/objects/items/weapons/material/swords.dm +++ b/code/game/objects/items/weapons/material/swords.dm @@ -1,43 +1,30 @@ -/obj/item/weapon/material/claymore +/obj/item/weapon/material/sword name = "claymore" desc = "What are you standing around staring at this for? Get to killing!" icon_state = "claymore" item_state = "claymore" - flags = CONDUCT slot_flags = SLOT_BELT - force = 40 - throwforce = 10 + force_divisor = 0.7 // 42 when wielded with hardnes 60 (steel) + thrown_force_divisor = 0.5 // 10 when thrown with weight 20 (steel) sharp = 1 edge = 1 - w_class = 3 attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") hitsound = 'sound/weapons/bladeslice.ogg' -/obj/item/weapon/material/claymore/IsShield() +/obj/item/weapon/material/sword/IsShield() return 1 -/obj/item/weapon/material/claymore/suicide_act(mob/user) +/obj/item/weapon/material/sword/suicide_act(mob/user) viewers(user) << "[user] is falling on the [src.name]! It looks like \he's trying to commit suicide." return(BRUTELOSS) -/obj/item/weapon/material/katana +/obj/item/weapon/material/sword/katana name = "katana" desc = "Woefully underpowered in D20" icon_state = "katana" item_state = "katana" - flags = CONDUCT slot_flags = SLOT_BELT | SLOT_BACK - force = 40 - throwforce = 10 - sharp = 1 - edge = 1 - w_class = 3 - attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") - hitsound = 'sound/weapons/bladeslice.ogg' -/obj/item/weapon/material/katana/suicide_act(mob/user) +/obj/item/weapon/material/sword/katana/suicide_act(mob/user) viewers(user) << "[user] is slitting \his stomach open with the [src.name]! It looks like \he's trying to commit seppuku." return(BRUTELOSS) - -/obj/item/weapon/material/katana/IsShield() - return 1 diff --git a/code/game/objects/items/weapons/material/thrown.dm b/code/game/objects/items/weapons/material/thrown.dm index 6ffac637c4..0e632de06b 100644 --- a/code/game/objects/items/weapons/material/thrown.dm +++ b/code/game/objects/items/weapons/material/thrown.dm @@ -2,13 +2,12 @@ name = "shuriken" desc = "A sharp, perfectly weighted piece of metal." icon_state = "star" - force = 5 + force_divisor = 0.1 // 6 with hardness 60 (steel) + thrown_force_divisor = 0.75 // 15 with weight 20 (steel) throw_speed = 10 - throwforce = 15 throw_range = 15 sharp = 1 edge = 1 - matter = list(DEFAULT_WALL_MATERIAL = 500) /obj/item/weapon/material/star/New() ..() diff --git a/code/game/objects/items/weapons/material/twohanded.dm b/code/game/objects/items/weapons/material/twohanded.dm index 759712416b..bdde1b03fc 100644 --- a/code/game/objects/items/weapons/material/twohanded.dm +++ b/code/game/objects/items/weapons/material/twohanded.dm @@ -17,6 +17,7 @@ * Twohanded */ /obj/item/weapon/material/twohanded + w_class = 4 var/wielded = 0 var/force_wielded = 0 var/force_unwielded @@ -24,6 +25,7 @@ var/unwieldsound = null var/base_icon var/base_name + var/unwielded_force_divisor = 0.25 /obj/item/weapon/material/twohanded/proc/unwield() wielded = 0 @@ -39,8 +41,15 @@ /obj/item/weapon/material/twohanded/update_force() base_name = name - force_unwielded = force - force_wielded = material.get_blunt_damage() + if(sharp || edge) + force_wielded = material.get_edge_damage() + else + force_wielded = material.get_blunt_damage() + force_wielded = round(force_wielded*force_divisor) + force_unwielded = round(force_wielded*unwielded_force_divisor) + force = force_unwielded + throwforce = round(force*thrown_force_divisor) + //world << "[src] has unwielded force [force_unwielded], wielded force [force_wielded] and throwforce [throwforce] when made from default material [material.name]" /obj/item/weapon/material/twohanded/New() ..() @@ -51,7 +60,6 @@ if(wielded) M << "Unwield the [base_name] first!" return 0 - return ..() /obj/item/weapon/material/twohanded/dropped(mob/user as mob) @@ -114,7 +122,7 @@ ///////////OFFHAND/////////////// /obj/item/weapon/material/twohanded/offhand - w_class = 5.0 + w_class = 5 icon_state = "offhand" name = "offhand" default_material = "placeholder" @@ -136,12 +144,11 @@ base_icon = "fireaxe" name = "fire axe" desc = "Truly, the weapon of a madman. Who would think to fight fire with an axe?" - force = 15 + unwielded_force_divisor = 0.25 + force_divisor = 0.7 // 10/42 with hardness 60 (steel) and 0.25 unwielded divisor sharp = 1 edge = 1 - w_class = 4.0 slot_flags = SLOT_BACK - force_wielded = 30 attack_verb = list("attacked", "chopped", "cleaved", "torn", "cut") applies_material_colour = 0 @@ -153,9 +160,12 @@ var/obj/structure/window/W = A W.shatter() +/* /* * Double-Bladed Energy Swords - Cheridan */ + // Not sure what to do with this one, it won't work nicely with the material system, + // but I don't want to copypaste all the twohanded procs.. /obj/item/weapon/material/twohanded/dualsaber icon_state = "dualsaber0" base_icon = "dualsaber" @@ -193,6 +203,7 @@ return 1 else return 0 +*/ //spears, bay edition /obj/item/weapon/material/twohanded/spear @@ -200,13 +211,12 @@ base_icon = "spearglass" name = "spear" desc = "A haphazardly-constructed yet still deadly weapon of ancient design." - force = 10 - w_class = 4.0 slot_flags = SLOT_BACK - force_wielded = 22 // Was 13, Buffed - RR - throwforce = 20 + force_wielded = 0.75 // 22 when wielded with hardness 15 (glass) + unwielded_force_divisor = 0.65 // 14 when unwielded based on above + thrown_force_divisor = 1.5 // 20 when thrown with weight 15 (glass) throw_speed = 3 - edge = 0 + edge = 1 sharp = 1 flags = NOSHIELD hitsound = 'sound/weapons/bladeslice.ogg' diff --git a/code/game/objects/structures/stool_bed_chair_nest/bed.dm b/code/game/objects/structures/stool_bed_chair_nest/bed.dm index a172775778..fb2ef2b525 100644 --- a/code/game/objects/structures/stool_bed_chair_nest/bed.dm +++ b/code/game/objects/structures/stool_bed_chair_nest/bed.dm @@ -17,7 +17,7 @@ can_buckle = 1 buckle_lying = 1 var/material/material - var/apply_cosmentics = 1 + var/apply_cosmetics = 1 /obj/structure/bed/New(var/newloc, var/new_material) ..(newloc) @@ -28,7 +28,7 @@ if(!istype(material)) qdel(src) return - if(apply_cosmentics) + if(apply_cosmetics) color = material.icon_colour name = "[material.display_name] [initial(name)]" desc = "[initial(desc)] It's made of [material.display_name]." @@ -73,7 +73,7 @@ name = "psychiatrist's couch" desc = "For prime comfort during psychiatric evaluations." icon_state = "psychbed" - apply_cosmentics = 0 + apply_cosmetics = 0 /obj/structure/bed/psych/New(var/newloc) ..(newloc,"leather") @@ -82,7 +82,7 @@ name = "resting contraption" desc = "This looks similar to contraptions from earth. Could aliens be stealing our technology?" icon_state = "abed" - apply_cosmentics = 0 + apply_cosmetics = 0 /obj/structure/bed/alien/New(var/newloc) @@ -96,7 +96,7 @@ icon = 'icons/obj/rollerbed.dmi' icon_state = "down" anchored = 0 - apply_cosmentics = 0 + apply_cosmetics = 0 /obj/structure/bed/roller/attackby(obj/item/weapon/W as obj, mob/user as mob) if(istype(W,/obj/item/roller_holder)) diff --git a/code/game/objects/structures/stool_bed_chair_nest/chairs.dm b/code/game/objects/structures/stool_bed_chair_nest/chairs.dm index bcce35a220..271dfde063 100644 --- a/code/game/objects/structures/stool_bed_chair_nest/chairs.dm +++ b/code/game/objects/structures/stool_bed_chair_nest/chairs.dm @@ -70,7 +70,7 @@ icon_state = "wooden_chair" name = "wooden chair" desc = "Old is never too old to not be in fashion." - apply_cosmentics = 0 + apply_cosmetics = 0 /obj/structure/bed/chair/wood/New(var/newloc) ..(newloc, "wood") @@ -84,7 +84,7 @@ icon_state = "comfychair" color = rgb(255,255,255) var/image/armrest = null - apply_cosmentics = 0 + apply_cosmetics = 0 /obj/structure/bed/chair/comfy/New() armrest = image("icons/obj/objects.dmi", "comfychair_armrest") @@ -125,7 +125,7 @@ /obj/structure/bed/chair/office anchored = 0 buckle_movable = 1 - apply_cosmentics = 0 + apply_cosmetics = 0 /obj/structure/bed/chair/comfy/lime color = rgb(255,251,0) diff --git a/code/modules/materials/materials.dm b/code/modules/materials/materials.dm index fb296a6c12..2e308460de 100644 --- a/code/modules/materials/materials.dm +++ b/code/modules/materials/materials.dm @@ -75,12 +75,12 @@ var/list/name_to_material /material/proc/get_blunt_damage() return weight //todo +/material/proc/get_edge_damage() + return hardness //todo + /material/proc/can_open_material_door(var/mob/living/user) return 1 -/material/proc/get_edge_damage() - return round(hardness/4) //todo - /material/proc/products_need_process() return (radioactivity>0) //todo @@ -213,7 +213,7 @@ var/list/name_to_material integrity = 100 shard_type = SHARD_SHARD tableslam_noise = 'sound/effects/Glasshit.ogg' - hardness = 15 + hardness = 30 weight = 15 door_icon_base = "stone" @@ -224,8 +224,6 @@ var/list/name_to_material ignition_point = 300 integrity = 200 // idk why but phoron windows are strong, so. icon_colour = "#FC2BC5" - hardness = 10 - weight = 10 stack_origin_tech = "materials=3;phorontech=2" /material/glass/phoron/reinforced @@ -243,8 +241,8 @@ var/list/name_to_material integrity = 100 shard_type = SHARD_SHARD tableslam_noise = 'sound/effects/Glasshit.ogg' - hardness = 15 - weight = 15 + hardness = 40 + weight = 30 stack_origin_tech = "materials=2" composite_material = list() //todo diff --git a/code/modules/mining/abandonedcrates.dm b/code/modules/mining/abandonedcrates.dm index 2bff18cbea..1f8a75bf71 100644 --- a/code/modules/mining/abandonedcrates.dm +++ b/code/modules/mining/abandonedcrates.dm @@ -109,7 +109,7 @@ if(91) new/obj/item/device/soulstone(src) if(92) - new/obj/item/weapon/material/katana(src) + new/obj/item/weapon/material/sword/katana(src) if(93) new/obj/item/weapon/dnainjector/xraymut(src) // Probably the least OP if(94) // Why the hell not diff --git a/code/modules/research/xenoarchaeology/finds/finds.dm b/code/modules/research/xenoarchaeology/finds/finds.dm index cb77346ac6..f8ada4112e 100644 --- a/code/modules/research/xenoarchaeology/finds/finds.dm +++ b/code/modules/research/xenoarchaeology/finds/finds.dm @@ -294,7 +294,7 @@ new_item.desc = "" if(19) apply_prefix = 0 - new_item = new /obj/item/weapon/material/claymore(src.loc) + new_item = new /obj/item/weapon/material/sword(src.loc) new_item.force = 10 item_type = new_item.name if(20) @@ -337,7 +337,7 @@ apply_material_decorations = 0 if(25) apply_prefix = 0 - new_item = new /obj/item/weapon/material/katana(src.loc) + new_item = new /obj/item/weapon/material/sword/katana(src.loc) new_item.force = 10 item_type = new_item.name if(26) From 8ce787ef683dee66e35dd53260233b059362c273 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Sun, 17 May 2015 17:22:33 +0930 Subject: [PATCH 19/45] Final tweaks to recipe availability and material inheritance. --- code/game/machinery/autolathe_datums.dm | 2 +- code/game/objects/items/ashtray.dm | 71 +++++++++---------- code/game/objects/items/weapons/handcuffs.dm | 4 +- .../items/weapons/improvised_components.dm | 54 +++++++------- .../weapons/material/material_weapons.dm | 37 ++++++++-- code/game/objects/random/random.dm | 6 +- code/game/objects/structures/simple_doors.dm | 11 ++- code/modules/client/preferences_gear.dm | 2 +- code/modules/materials/material_recipes.dm | 40 ++++++----- code/modules/materials/materials.dm | 6 +- maps/exodus-1.dmm | 22 +++--- maps/exodus-2.dmm | 4 +- 12 files changed, 151 insertions(+), 108 deletions(-) diff --git a/code/game/machinery/autolathe_datums.dm b/code/game/machinery/autolathe_datums.dm index 56442b3e1c..172a92852a 100644 --- a/code/game/machinery/autolathe_datums.dm +++ b/code/game/machinery/autolathe_datums.dm @@ -293,7 +293,7 @@ /datum/autolathe/recipe/ashtray_glass name = "glass ashtray" - path = /obj/item/ashtray/glass + path = /obj/item/weapon/material/ashtray/glass category = "General" /datum/autolathe/recipe/camera_assembly diff --git a/code/game/objects/items/ashtray.dm b/code/game/objects/items/ashtray.dm index 9311428942..63059fef8e 100644 --- a/code/game/objects/items/ashtray.dm +++ b/code/game/objects/items/ashtray.dm @@ -1,39 +1,49 @@ -/obj/item/ashtray +var/global/list/ashtray_cache = list() + +/obj/item/weapon/material/ashtray + name = "ashtray" icon = 'icons/obj/objects.dmi' icon_state = "blank" - var/max_butts = 0 - var/material/material + force_divisor = 0.1 + thrown_force_divisor = 0.1 + var/image/base_image + var/max_butts = 10 -/obj/item/ashtray/New(var/newloc, var/material_name) - ..(newloc) - if(!material_name) - material_name = "plastic" - material = get_material_by_name(material_name) +/obj/item/weapon/material/ashtray/New(var/newloc, var/material_name) + ..(newloc, material_name) if(!material) qdel(src) return - name = "[material.display_name] ashtray" + max_butts = round(material.hardness/10) //This is arbitrary but whatever. src.pixel_y = rand(-5, 5) src.pixel_x = rand(-6, 6) update_icon() return -/obj/item/ashtray/update_icon() +/obj/item/weapon/material/ashtray/update_icon() + color = null overlays.Cut() - var/image/I = image('icons/obj/objects.dmi',"ashtray") - I.color = material.icon_colour - overlays |= I + var/cache_key = "base-[material.name]" + if(!ashtray_cache[cache_key]) + var/image/I = image('icons/obj/objects.dmi',"ashtray") + I.color = material.icon_colour + ashtray_cache[cache_key] = I + overlays |= ashtray_cache[cache_key] if (contents.len == max_butts) - overlays |= image('icons/obj/objects.dmi',"ashtray_full") + if(!ashtray_cache["full"]) + ashtray_cache["full"] = image('icons/obj/objects.dmi',"ashtray_full") + overlays |= ashtray_cache["full"] desc = "It's stuffed full." else if (contents.len > max_butts/2) - overlays |= image('icons/obj/objects.dmi',"ashtray_half") + if(!ashtray_cache["half"]) + ashtray_cache["half"] = image('icons/obj/objects.dmi',"ashtray_half") + overlays |= ashtray_cache["half"] desc = "It's half-filled." else desc = "An ashtray made of [material.display_name]." -/obj/item/ashtray/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/item/weapon/material/ashtray/attackby(obj/item/weapon/W as obj, mob/user as mob) if (health <= 0) return if (istype(W,/obj/item/weapon/cigbutt) || istype(W,/obj/item/clothing/mask/smokable/cigarette) || istype(W, /obj/item/weapon/flame/match)) @@ -52,6 +62,8 @@ cig.transfer_fingerprints_to(butt) qdel(cig) W = butt + spawn(1) + TemperatureAct(150) else if (cig.lit == 0) user << "You place [cig] in [src] without even smoking it. Why would you do that?" @@ -67,44 +79,29 @@ die() return -/obj/item/ashtray/throw_impact(atom/hit_atom) +/obj/item/weapon/material/ashtray/throw_impact(atom/hit_atom) if (health > 0) health = max(0,health - 3) if (health < 1) die() return if (contents.len) - src.visible_message("\red [src] slams into [hit_atom] spilling its contents!") + src.visible_message("\The [src] slams into [hit_atom], spilling its contents!") for (var/obj/item/clothing/mask/smokable/cigarette/O in contents) O.loc = src.loc update_icon() return ..() -/obj/item/ashtray/proc/die() +/obj/item/weapon/material/ashtray/proc/die() material.place_shard(get_turf(src)) qdel(src) return -/obj/item/ashtray/plastic - max_butts = 14 - health = 24 - throwforce = 3 - -/obj/item/ashtray/plastic/New(var/newloc) +/obj/item/weapon/material/ashtray/plastic/New(var/newloc) ..(newloc, "plastic") -/obj/item/ashtray/bronze - max_butts = 10 - health = 72 - throwforce = 10 - -/obj/item/ashtray/bronze/New(var/newloc) +/obj/item/weapon/material/ashtray/bronze/New(var/newloc) ..(newloc, "gold") //placeholder -/obj/item/ashtray/glass - max_butts = 12 - health = 12 - throwforce = 6 - -/obj/item/ashtray/glass/New(var/newloc) +/obj/item/weapon/material/ashtray/glass/New(var/newloc) ..(newloc, "glass") diff --git a/code/game/objects/items/weapons/handcuffs.dm b/code/game/objects/items/weapons/handcuffs.dm index f5559b5778..69dde080c3 100644 --- a/code/game/objects/items/weapons/handcuffs.dm +++ b/code/game/objects/items/weapons/handcuffs.dm @@ -147,13 +147,11 @@ var/last_chew = 0 if(istype(I, /obj/item/stack/rods)) var/obj/item/stack/rods/R = I if (R.use(1)) - var/obj/item/weapon/wirerod/W = new /obj/item/weapon/wirerod - + var/obj/item/weapon/material/wirerod/W = new(get_turf(user)) user.put_in_hands(W) user << "You wrap the cable restraint around the top of the rod." qdel(src) update_icon(user) - /obj/item/weapon/handcuffs/cyborg dispenser = 1 diff --git a/code/game/objects/items/weapons/improvised_components.dm b/code/game/objects/items/weapons/improvised_components.dm index 6296fa99fc..af4e528b70 100644 --- a/code/game/objects/items/weapons/improvised_components.dm +++ b/code/game/objects/items/weapons/improvised_components.dm @@ -1,40 +1,44 @@ -/obj/item/butterflyconstruction +/obj/item/weapon/material/butterflyconstruction name = "unfinished concealed knife" desc = "An unfinished concealed knife, it looks like the screws need to be tightened." icon = 'icons/obj/buildingobject.dmi' icon_state = "butterflystep1" + force_divisor = 0.1 + thrown_force_divisor = 0.1 -/obj/item/butterflyconstruction/attackby(obj/item/W as obj, mob/user as mob) +/obj/item/weapon/material/butterflyconstruction/attackby(obj/item/W as obj, mob/user as mob) if(istype(W,/obj/item/weapon/screwdriver)) user << "You finish the concealed blade weapon." - new /obj/item/weapon/material/butterfly(user.loc) + new /obj/item/weapon/material/butterfly(user.loc, material.name) qdel(src) return -/obj/item/butterflyblade +/obj/item/weapon/material/butterflyblade name = "knife blade" desc = "A knife blade. Unusable as a weapon without a grip." icon = 'icons/obj/buildingobject.dmi' icon_state = "butterfly2" - matter = list(DEFAULT_WALL_MATERIAL = 5000) + force_divisor = 0.1 + thrown_force_divisor = 0.1 -/obj/item/butterflyhandle +/obj/item/weapon/material/butterflyhandle name = "concealed knife grip" desc = "A plasteel grip with screw fittings for a blade." icon = 'icons/obj/buildingobject.dmi' icon_state = "butterfly1" - matter = list(DEFAULT_WALL_MATERIAL = 4000) + force_divisor = 0.1 + thrown_force_divisor = 0.1 -/obj/item/butterflyhandle/attackby(obj/item/W as obj, mob/user as mob) - if(istype(W,/obj/item/butterflyblade)) +/obj/item/weapon/material/butterflyhandle/attackby(obj/item/W as obj, mob/user as mob) + if(istype(W,/obj/item/weapon/material/butterflyblade)) + var/obj/item/weapon/material/butterflyblade/B = W user << "You attach the two concealed blade parts." - new /obj/item/butterflyconstruction(user.loc) + new /obj/item/weapon/material/butterflyconstruction(user.loc, B.material.name) qdel(W) qdel(src) return - update_icon(user) -/obj/item/weapon/wirerod +/obj/item/weapon/material/wirerod name = "wired rod" desc = "A rod with some wire wrapped around the top. It'd be easy to attach something to the top bit." icon_state = "wiredrod" @@ -44,25 +48,23 @@ throwforce = 10 w_class = 3 attack_verb = list("hit", "bludgeoned", "whacked", "bonked") + force_divisor = 0.1 + thrown_force_divisor = 0.1 - -/obj/item/weapon/wirerod/attackby(var/obj/item/I, mob/user as mob) +/obj/item/weapon/material/wirerod/attackby(var/obj/item/I, mob/user as mob) ..() + var/obj/item/finished if(istype(I, /obj/item/weapon/material/shard)) - var/obj/item/weapon/material/twohanded/spear/S = new /obj/item/weapon/material/twohanded/spear - - user.put_in_hands(S) - user << "You fasten the glass shard to the top of the rod with the cable." - qdel(I) - qdel(src) - update_icon(user) - + var/obj/item/weapon/material/tmp_shard = I + finished = new /obj/item/weapon/material/twohanded/spear(get_turf(user), tmp_shard.material.name) + user << "You fasten \the [I] to the top of the rod with the cable." else if(istype(I, /obj/item/weapon/wirecutters)) - var/obj/item/weapon/melee/baton/cattleprod/P = new /obj/item/weapon/melee/baton/cattleprod - - user.put_in_hands(P) + finished = new /obj/item/weapon/melee/baton/cattleprod(get_turf(user)) user << "You fasten the wirecutters to the top of the rod with the cable, prongs outward." + if(finished) + user.drop_from_inventory(src) + user.drop_from_inventory(I) qdel(I) qdel(src) - update_icon(user) + user.put_in_hands(finished) update_icon(user) diff --git a/code/game/objects/items/weapons/material/material_weapons.dm b/code/game/objects/items/weapons/material/material_weapons.dm index b623df897b..0a1039a6c4 100644 --- a/code/game/objects/items/weapons/material/material_weapons.dm +++ b/code/game/objects/items/weapons/material/material_weapons.dm @@ -52,14 +52,19 @@ if(!..()) return if(!unbreakable) - if(!prob(material.hardness)) + if(material.is_brittle()) + health = 0 + else if(!prob(material.hardness)) health-- - if(health<=0) - shatter() + check_health() + +/obj/item/weapon/material/proc/check_health() + if(health<=0) + shatter() /obj/item/weapon/material/proc/shatter() var/turf/T = get_turf(src) - T.visible_message("\The [src] shatters!") + T.visible_message("\The [src] [material.destruction_desc]!") if(istype(loc, /mob/living)) var/mob/living/M = loc M.drop_from_inventory(src) @@ -71,4 +76,26 @@ if(!material.radioactivity) return for(var/mob/living/L in range(1,src)) - L.apply_effect(round(material.radioactivity/3),IRRADIATE,0) \ No newline at end of file + L.apply_effect(round(material.radioactivity/3),IRRADIATE,0) + +/obj/item/weapon/material/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume) + if(exposed_temperature > material.ignition_point) + TemperatureAct(exposed_temperature) + +// This might need adjustment. Will work that out later. +/obj/item/weapon/material/proc/TemperatureAct(temperature) + if(temperature > material.ignition_point) + for(var/turf/simulated/floor/target_tile in range(2,loc)) + var/phoronToDeduce = temperature/30 + target_tile.assume_gas("phoron", phoronToDeduce, 200+T0C) + spawn (0) target_tile.hotspot_expose(temperature, 400) + health -= phoronToDeduce/100 + check_health() + +/obj/item/weapon/material/attackby(obj/item/weapon/W as obj, mob/user as mob) + if(istype(W,/obj/item/weapon/weldingtool)) + var/obj/item/weapon/weldingtool/WT = W + if(material.ignition_point && WT.remove_fuel(0, user)) + TemperatureAct(150) + else + return ..() \ No newline at end of file diff --git a/code/game/objects/random/random.dm b/code/game/objects/random/random.dm index 34e646a1cf..e64d422a20 100644 --- a/code/game/objects/random/random.dm +++ b/code/game/objects/random/random.dm @@ -163,9 +163,9 @@ prob(2);/obj/item/weapon/storage/pill_bottle/zoom,\ prob(5);/obj/item/weapon/contraband/poster,\ prob(2);/obj/item/weapon/material/butterfly,\ - prob(3);/obj/item/butterflyblade,\ - prob(3);/obj/item/butterflyhandle,\ - prob(3);/obj/item/weapon/wirerod,\ + prob(3);/obj/item/weapon/material/butterflyblade,\ + prob(3);/obj/item/weapon/material/butterflyhandle,\ + prob(3);/obj/item/weapon/material/wirerod,\ prob(1);/obj/item/weapon/material/butterfly/switchblade,\ prob(1);/obj/item/weapon/reagent_containers/syringe/drugs) diff --git a/code/game/objects/structures/simple_doors.dm b/code/game/objects/structures/simple_doors.dm index d18a62ddf6..313ba17f45 100644 --- a/code/game/objects/structures/simple_doors.dm +++ b/code/game/objects/structures/simple_doors.dm @@ -41,9 +41,12 @@ opacity = 0 else opacity = 1 + if(material.products_need_process()) + processing_objects |= src update_nearby_tiles(need_rebuild=1) /obj/structure/simple_door/Destroy() + processing_objects -= src update_nearby_tiles() ..() @@ -137,7 +140,7 @@ else if(istype(W,/obj/item/weapon/weldingtool)) var/obj/item/weapon/weldingtool/WT = W if(material.ignition_point && WT.remove_fuel(0, user)) - TemperatureAct(100) + TemperatureAct(150) else attack_hand(user) return @@ -165,6 +168,12 @@ CheckHardness() return +/obj/structure/simple_door/process() + if(!material.radioactivity) + return + for(var/mob/living/L in range(1,src)) + L.apply_effect(round(material.radioactivity/3),IRRADIATE,0) + /obj/structure/simple_door/iron/New(var/newloc,var/material_name) ..(newloc, "iron") diff --git a/code/modules/client/preferences_gear.dm b/code/modules/client/preferences_gear.dm index b63869bccb..a3c9f3560d 100644 --- a/code/modules/client/preferences_gear.dm +++ b/code/modules/client/preferences_gear.dm @@ -1035,7 +1035,7 @@ var/global/list/gear_datums = list() /datum/gear/ashtray display_name = "ashtray, plastic" - path = /obj/item/ashtray/plastic + path = /obj/item/weapon/material/ashtray/plastic sort_category = "misc" cost = 1 diff --git a/code/modules/materials/material_recipes.dm b/code/modules/materials/material_recipes.dm index 6cfa22fb5c..dd325942a0 100644 --- a/code/modules/materials/material_recipes.dm +++ b/code/modules/materials/material_recipes.dm @@ -5,16 +5,23 @@ /material/proc/generate_recipes() recipes = list() - recipes += new/datum/stack_recipe("[display_name] door", /obj/structure/simple_door, 10, one_per_turf = 1, on_floor = 1, supplied_material = "[name]") - recipes += new/datum/stack_recipe("[display_name] barricade", /obj/structure/barricade, 5, time = 50, one_per_turf = 1, on_floor = 1, supplied_material = "[name]") - recipes += new/datum/stack_recipe("[display_name] ashtray", /obj/item/ashtray, 2, one_per_turf = 1, on_floor = 1, supplied_material = "[name]") - recipes += new/datum/stack_recipe("[display_name] fork", /obj/item/weapon/material/kitchen/utensil/fork/plastic, 1, on_floor = 1, supplied_material = "[name]") + + // If is_brittle() returns true, these are only good for a single strike. + recipes += new/datum/stack_recipe("[display_name] baseball bat", /obj/item/weapon/material/twohanded/baseballbat, 10, time = 20, one_per_turf = 0, on_floor = 1, supplied_material = "[name]") + recipes += new/datum/stack_recipe("[display_name] ashtray", /obj/item/weapon/material/ashtray, 2, one_per_turf = 1, on_floor = 1, supplied_material = "[name]") recipes += new/datum/stack_recipe("[display_name] spoon", /obj/item/weapon/material/kitchen/utensil/spoon/plastic, 1, on_floor = 1, supplied_material = "[name]") - recipes += new/datum/stack_recipe("[display_name] knife", /obj/item/weapon/material/kitchen/utensil/knife/plastic, 1, on_floor = 1, supplied_material = "[name]") - recipes += new/datum/stack_recipe("[display_name] baseball bat", /obj/item/weapon/material/twohanded/baseballbat/metal, 10, time = 20, one_per_turf = 0, on_floor = 1, supplied_material = "[name]") - recipes += new/datum/stack_recipe("[display_name] stool", /obj/item/weapon/stool, one_per_turf = 1, on_floor = 1, supplied_material = "[name]") - recipes += new/datum/stack_recipe("[display_name] chair", /obj/structure/bed/chair, one_per_turf = 1, on_floor = 1, supplied_material = "[name]") - recipes += new/datum/stack_recipe("[display_name] bed", /obj/structure/bed, 2, one_per_turf = 1, on_floor = 1, supplied_material = "[name]") + + if(integrity>=100) + recipes += new/datum/stack_recipe("[display_name] door", /obj/structure/simple_door, 10, one_per_turf = 1, on_floor = 1, supplied_material = "[name]") + recipes += new/datum/stack_recipe("[display_name] barricade", /obj/structure/barricade, 5, time = 50, one_per_turf = 1, on_floor = 1, supplied_material = "[name]") + recipes += new/datum/stack_recipe("[display_name] stool", /obj/item/weapon/stool, one_per_turf = 1, on_floor = 1, supplied_material = "[name]") + recipes += new/datum/stack_recipe("[display_name] chair", /obj/structure/bed/chair, one_per_turf = 1, on_floor = 1, supplied_material = "[name]") + recipes += new/datum/stack_recipe("[display_name] bed", /obj/structure/bed, 2, one_per_turf = 1, on_floor = 1, supplied_material = "[name]") + + if(hardness>50) + recipes += new/datum/stack_recipe("[display_name] fork", /obj/item/weapon/material/kitchen/utensil/fork/plastic, 1, on_floor = 1, supplied_material = "[name]") + recipes += new/datum/stack_recipe("[display_name] knife", /obj/item/weapon/material/kitchen/utensil/knife/plastic, 1, on_floor = 1, supplied_material = "[name]") + recipes += new/datum/stack_recipe("[display_name] blade", /obj/item/weapon/material/butterflyblade, 6, time = 20, one_per_turf = 0, on_floor = 1, supplied_material = "[name]") /material/steel/generate_recipes() ..() @@ -64,13 +71,12 @@ new/datum/stack_recipe("multi-tile airlock assembly", /obj/structure/door_assembly/multi_tile, 4, time = 50, one_per_turf = 1, on_floor = 1), \ ), 4) - new/datum/stack_recipe("grenade casing", /obj/item/weapon/grenade/chem_grenade) - new/datum/stack_recipe("light fixture frame", /obj/item/frame/light, 2) - new/datum/stack_recipe("small light fixture frame", /obj/item/frame/light/small, 1) - new/datum/stack_recipe("apc frame", /obj/item/apc_frame, 2) - new/datum/stack_recipe("air alarm frame", /obj/item/frame/air_alarm, 2) - new/datum/stack_recipe("fire alarm frame", /obj/item/frame/fire_alarm, 2) - new/datum/stack_recipe("knife blade", /obj/item/butterflyblade, 6, time = 20, one_per_turf = 0, on_floor = 1) + recipes += new/datum/stack_recipe("grenade casing", /obj/item/weapon/grenade/chem_grenade) + recipes += new/datum/stack_recipe("light fixture frame", /obj/item/frame/light, 2) + recipes += new/datum/stack_recipe("small light fixture frame", /obj/item/frame/light/small, 1) + recipes += new/datum/stack_recipe("apc frame", /obj/item/apc_frame, 2) + recipes += new/datum/stack_recipe("air alarm frame", /obj/item/frame/air_alarm, 2) + recipes += new/datum/stack_recipe("fire alarm frame", /obj/item/frame/fire_alarm, 2) /material/plasteel/generate_recipes() ..() @@ -78,7 +84,7 @@ recipes += new/datum/stack_recipe("Metal crate", /obj/structure/closet/crate, 10, time = 50, one_per_turf = 1) recipes += new/datum/stack_recipe("RUST fuel assembly port frame", /obj/item/frame/rust/assembly, 12, time = 50, one_per_turf = 1) recipes += new/datum/stack_recipe("RUST fuel compressor frame", /obj/item/frame/rust, 12, time = 50, one_per_turf = 1) - recipes += new/datum/stack_recipe("knife grip", /obj/item/butterflyhandle, 4, time = 20, one_per_turf = 0, on_floor = 1) + recipes += new/datum/stack_recipe("knife grip", /obj/item/weapon/material/butterflyhandle, 4, time = 20, one_per_turf = 0, on_floor = 1) /material/sandstone/generate_recipes() ..() diff --git a/code/modules/materials/materials.dm b/code/modules/materials/materials.dm index 2e308460de..3870f2a87c 100644 --- a/code/modules/materials/materials.dm +++ b/code/modules/materials/materials.dm @@ -42,6 +42,7 @@ var/list/name_to_material var/shard_icon var/shard_can_repair = 1 var/list/recipes + var/destruction_desc = "breaks apart" // Icons var/icon_colour @@ -151,7 +152,7 @@ var/list/name_to_material /material/phoron name = "phoron" stack_type = /obj/item/stack/material/phoron - ignition_point = 300 + ignition_point = 100 icon_base = "stone" icon_colour = "#FC2BC5" shard_type = SHARD_SHARD @@ -216,6 +217,7 @@ var/list/name_to_material hardness = 30 weight = 15 door_icon_base = "stone" + destruction_desc = "shatters" /material/glass/phoron name = "phoron glass" @@ -303,6 +305,7 @@ var/list/name_to_material stack_origin_tech = "materials=1;biotech=1" dooropen_noise = 'sound/effects/doorcreaky.ogg' door_icon_base = "wood" + destruction_desc = "splinters" /material/wood/holographic name = "holographic wood" @@ -321,6 +324,7 @@ var/list/name_to_material weight = 1 stack_origin_tech = "materials=1" door_icon_base = "wood" + destruction_desc = "crumples" /material/cloth //todo name = "cloth" diff --git a/maps/exodus-1.dmm b/maps/exodus-1.dmm index 27100e829e..922a5f5a91 100644 --- a/maps/exodus-1.dmm +++ b/maps/exodus-1.dmm @@ -400,7 +400,7 @@ "ahJ" = (/obj/structure/grille,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/window/reinforced/polarized{dir = 1},/obj/structure/window/reinforced/polarized,/obj/structure/window/reinforced/polarized{dir = 4},/turf/simulated/floor/plating,/area/crew_quarters/heads/hos) "ahK" = (/turf/simulated/floor,/area/security/brig) "ahL" = (/turf/simulated/floor{icon_state = "floorgrime"},/area/security/brig) -"ahM" = (/obj/structure/table/standard,/obj/item/ashtray/plastic,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison) +"ahM" = (/obj/structure/table/woodentable,/obj/item/weapon/material/ashtray/bronze,/obj/item/weapon/storage/fancy/cigarettes/dromedaryco,/obj/item/device/flash,/obj/item/weapon/handcuffs,/turf/simulated/floor/carpet,/area/security/detectives_office) "ahN" = (/obj/structure/closet/wardrobe/red,/obj/structure/window/reinforced,/obj/item/clothing/accessory/holster/waist,/obj/item/clothing/accessory/holster/waist,/obj/item/clothing/accessory/holster/waist,/obj/item/clothing/accessory/armband,/obj/item/clothing/accessory/armband,/obj/item/clothing/accessory/armband,/turf/simulated/floor,/area/security/main) "ahO" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/security/brig) "ahP" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/effect/decal/cleanable/blood/oil,/obj/item/trash/tastybread,/turf/simulated/floor/plating,/area/maintenance/security_starboard) @@ -601,7 +601,7 @@ "alC" = (/obj/structure/bed/chair/office/dark{dir = 8},/obj/effect/landmark/start{name = "Detective"},/turf/simulated/floor/carpet,/area/security/detectives_office) "alD" = (/turf/simulated/floor/carpet,/area/security/detectives_office) "alE" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/carpet,/area/security/detectives_office) -"alF" = (/obj/structure/table/woodentable,/obj/item/ashtray/bronze,/obj/item/weapon/storage/fancy/cigarettes/dromedaryco,/obj/item/device/taperecorder{pixel_x = -4; pixel_y = 2},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/carpet,/area/security/detectives_office) +"alF" = (/obj/structure/table/woodentable,/obj/item/weapon/material/ashtray/bronze,/obj/item/weapon/storage/fancy/cigarettes/dromedaryco,/obj/item/device/taperecorder{pixel_x = -4; pixel_y = 2},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/carpet,/area/security/detectives_office) "alG" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/carpet,/area/security/detectives_office) "alH" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/filingcabinet/chestdrawer,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor{icon_state = "grimy"},/area/security/detectives_office) "alI" = (/obj/structure/disposalpipe/segment,/obj/effect/decal/cleanable/dirt,/obj/item/trash/raisins,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/security_starboard) @@ -637,7 +637,7 @@ "amm" = (/obj/structure/closet/lawcloset,/obj/item/clothing/glasses/sunglasses/big,/turf/simulated/floor{icon_state = "cult"; dir = 2},/area/lawoffice) "amn" = (/obj/item/weapon/storage/secure/safe{pixel_x = -23},/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp/green,/obj/item/device/taperecorder{pixel_x = -4; pixel_y = 2},/turf/simulated/floor{icon_state = "grimy"},/area/security/detectives_office) "amo" = (/obj/machinery/door/window/brigdoor{dir = 1; id = "Cell 3"; name = "Cell 3"; req_access = list(2)},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/security/brig) -"amp" = (/obj/structure/table/woodentable,/obj/item/ashtray/bronze,/obj/item/weapon/storage/fancy/cigarettes/dromedaryco,/obj/item/device/flash,/obj/item/weapon/handcuffs,/turf/simulated/floor/carpet,/area/security/detectives_office) +"amp" = (/obj/structure/table/standard,/obj/item/weapon/material/ashtray/plastic,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison) "amq" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/carpet,/area/security/detectives_office) "amr" = (/obj/item/weapon/storage/secure/safe{pixel_x = 35; pixel_y = 5},/turf/simulated/floor{icon_state = "grimy"},/area/security/detectives_office) "ams" = (/obj/machinery/door/airlock/glass_security{id_tag = "prisonexit"; name = "Brig Exit"; req_access = list(2)},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/prison) @@ -703,7 +703,7 @@ "anA" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plating,/area/security/lobby) "anB" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor,/area/security/lobby) "anC" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "redcorner"; dir = 4},/area/security/lobby) -"anD" = (/obj/structure/table/reinforced,/obj/item/weapon/pen/blue{pixel_x = -5; pixel_y = -1},/obj/item/weapon/pen/red{pixel_x = -1; pixel_y = 3},/obj/item/ashtray/plastic{pixel_x = 4; pixel_y = 6},/turf/simulated/floor{icon_state = "cult"; dir = 2},/area/lawoffice) +"anD" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/structure/table/reinforced,/obj/item/weapon/pen/blue{pixel_x = -5; pixel_y = -1},/obj/item/weapon/pen/red{pixel_x = -1; pixel_y = 3},/obj/item/weapon/material/ashtray/plastic{pixel_x = 4; pixel_y = 6},/turf/simulated/floor{icon_state = "cult"; dir = 2},/area/lawoffice) "anE" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "cult"; dir = 2},/area/lawoffice) "anF" = (/obj/structure/table/reinforced,/obj/machinery/photocopier/faxmachine{anchored = 0; department = "Internal Affairs"},/turf/simulated/floor{icon_state = "cult"; dir = 2},/area/lawoffice) "anG" = (/turf/simulated/wall/r_wall,/area/security/detectives_office) @@ -840,7 +840,7 @@ "aqh" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "cult"; dir = 2},/area/lawoffice) "aqi" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor{icon_state = "cult"; dir = 2},/area/lawoffice) "aqj" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor{icon_state = "cult"; dir = 2},/area/lawoffice) -"aqk" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/structure/table/reinforced,/obj/item/weapon/pen/blue{pixel_x = -5; pixel_y = -1},/obj/item/weapon/pen/red{pixel_x = -1; pixel_y = 3},/obj/item/ashtray/plastic{pixel_x = 4; pixel_y = 6},/turf/simulated/floor{icon_state = "cult"; dir = 2},/area/lawoffice) +"aqk" = (/obj/structure/table/reinforced,/obj/item/weapon/pen/blue{pixel_x = -5; pixel_y = -1},/obj/item/weapon/pen/red{pixel_x = -1; pixel_y = 3},/obj/item/weapon/material/ashtray/plastic{pixel_x = 4; pixel_y = 6},/turf/simulated/floor{icon_state = "cult"; dir = 2},/area/lawoffice) "aql" = (/obj/machinery/computer/med_data,/turf/simulated/floor{icon_state = "white"},/area/security/detectives_office) "aqm" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 1; frequency = 1443; icon_state = "on"; id = "air_in"; use_power = 1},/obj/structure/bed/chair,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/security/prison) "aqn" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor{icon_state = "white"},/area/security/detectives_office) @@ -2188,7 +2188,7 @@ "aQd" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/camera/network/exodus{c_tag = "Primary Hallway Central - Northwest"},/turf/simulated/floor{dir = 4; icon_state = "bluecorner"},/area/hallway/primary/central_one) "aQe" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/carpet,/area/crew_quarters/bar) "aQf" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/carpet,/area/crew_quarters/bar) -"aQg" = (/obj/machinery/light/small{dir = 4},/obj/machinery/computer/security/telescreen/entertainment{pixel_x = 32},/obj/structure/table/woodentable,/obj/item/ashtray/bronze{pixel_x = -1; pixel_y = 1},/turf/simulated/floor/carpet,/area/crew_quarters/bar) +"aQg" = (/obj/machinery/light/small{dir = 4},/obj/machinery/computer/security/telescreen/entertainment{pixel_x = 32},/obj/structure/table/woodentable,/obj/item/weapon/material/ashtray/bronze{pixel_x = -1; pixel_y = 1},/turf/simulated/floor/carpet,/area/crew_quarters/bar) "aQh" = (/obj/structure/kitchenspike,/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen) "aQi" = (/obj/machinery/gibber,/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen) "aQj" = (/obj/structure/closet/crate/freezer,/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen) @@ -3702,7 +3702,7 @@ "btj" = (/obj/machinery/light,/turf/simulated/floor{icon_state = "warning"},/area/hallway/secondary/entry/aft) "btk" = (/obj/machinery/disposal/deliveryChute{dir = 1; name = "disposal inlet"},/obj/structure/disposalpipe/trunk{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/maintenance/disposal) "btl" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/door/firedoor/border_only,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/maintenance/disposal) -"btm" = (/obj/machinery/camera/network/civilian_west{c_tag = "Waste Disposal"; dir = 8},/obj/item/ashtray/plastic{pixel_x = 5; pixel_y = -5},/obj/effect/decal/cleanable/ash,/obj/item/weapon/cigbutt/cigarbutt,/turf/simulated/floor/plating,/area/maintenance/disposal) +"btm" = (/obj/machinery/camera/network/civilian_west{c_tag = "Waste Disposal"; dir = 8},/obj/item/weapon/material/ashtray/plastic{pixel_x = 5; pixel_y = -5},/obj/effect/decal/cleanable/ash,/obj/item/weapon/cigbutt/cigarbutt,/turf/simulated/floor/plating,/area/maintenance/disposal) "btn" = (/turf/space,/area/supply/station) "bto" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/quartermaster/storage) "btp" = (/obj/machinery/status_display{density = 0; pixel_x = 0; pixel_y = 32},/obj/structure/closet/emcloset,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/quartermaster/storage) @@ -7461,13 +7461,13 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfagBafYajFafYajGajHalfajJajKajLajMajNajOajPajQajRajSajTajUajVajWajXajUajYajWajWajZakaakaakbakcakdahOakeajbakgajzakhakiakjalnaklakmaknakoakpalqakZakqabOaaaaaaaaaaaaaaaaaaaaaaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafabQaafaaIaaaaaaaaaaaaaaaaaaaaaaaaaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaamaamaaIaamaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfadEagWagWagWagWagWagWaksaktakuakvakwakxakyakzalrakBakCakDakXalvakwakGakwakwakHakIakJakKakLakMalxakOakPakJakQalNakSakTakUalbalPalCakYakoalIabbalOabZactaaaaaaaaaaafaaaaaaaaaaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaaIaaIaaIaaIaaaaaaaaaabpaaaaaaaaaaaIaaIaamaamaamaaaaaaaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaafaaaaaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfadEagWalcaldalZalQagWalgalhahLalialjagWacTamoacTagWabVamsabUagWalpamuamtalsagDaltaluamxalwamyagWabTabSabSabRagWalBamcalDalEalFalGalHakoamAanQamDanQanQaaaaaaaafaafaaaaaaaaaaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaaaaaaaafaafaafaaaaaaaoYaafaafaaaaafaafaaaaaaaamaaaaaaaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafabMaafaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafabfadEabWalMalMamHamFamMamJalRahKalSaljagWalTalUalValWalXalYamNamOahKambahKamPabYameameamfamgamhamiamjamkamlammakoamnamUampamqalDalDamrakoadQanQamvawKamwaaaaaaaaLaaaaaaaaaaafaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafanTanTanTanTanTaafalJaafanTanTanTanTanTaafaaIaaaaaaaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafabMaafaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafabfadEabWalMalMamHamFamMamJalRahKalSaljagWalTalUalValWalXalYamNamOahKambahKamPabYameameamfamgamhamiamjamkamlammakoamnamUahMamqalDalDamrakoadQanQamvawKamwaaaaaaaaLaaaaaaaaaaafaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafanTanTanTanTanTaafalJaafanTanTanTanTanTaafaaIaaaaaaaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaamaamaaIaaIaaaaaaaaaaoXaaaaaaaaaaaIaaIaamaamaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfadEagWamWamBamCamZagWankalRaljanlamGagWamRamIanmalWamKamLannaiNaiSanPaiManaajkamgamgamfamgamTaoWamVanfamXanhakoaoeanWalDamqalDalDanbakoancandaneaocangaafaaLaafaafaaLaafaafaafakrakrakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafanianjanjanjanjanualJansanqanqanqanqanwaafaaIaaaaaaaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaafaafaaaaaaaaaaoVaafaafaaaaafaafaaaaaaaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaofagWagWagWagWagWagWaqqaqXagWagWagWagWaoRaoSaoRalWaoTaoUapealWapfapiaplanzanAamgamgamfanBanCamianDanEamXanFanGanHanIanJanKanLanManNanGanOaoPapqanRanSaaaaaaaafaaaaafaaLaafaacakrakrakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafapIapIapIapIapIaafalJaafapIapIapIapIapIaafaaIaaaaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaafaafaaaaaaaaaaoVaafaafaaaaafaafaaaaaaaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfaofagWagWagWagWagWagWaqqaqXagWagWagWagWaoRaoSaoRalWaoTaoUapealWapfapiaplanzanAamgamgamfanBanCamiaqkanEamXanFanGanHanIanJanKanLanManNanGanOaoPapqanRanSaaaaaaaafaaaaafaaLaafaacakrakrakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafapIapIapIapIapIaafalJaafapIapIapIapIapIaafaaIaaaaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafanVanVanVanVanVaafalkaafanVanVanVanVanVaafaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanXanYanZaoaagDaekaoZagWaoCapdalKaogappaoiapDaokaolaonaonaooaonaopaoqaoGaoMaoOaiqamgamgaouaovaowamiaoxaqgamXaoyanGaozaoAaoBaoQaoDaoEaoFanGaqCanQanQanQanQaoIaoJaoHaoLaqJaaaaafaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaafaaaaaaaafalJaaaaaaaaaaafaaaaaaaaaaamaaaaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaIaafalzalyalyalyalyalAalkallaivaivaivaivagEaafaaIaaaaaaaaaaaaaaaaaaaacaaaaaaaaaanXanXapaapbagDalMapcaqPaohaodanvanramSaomaosaosaotaojaonapmapnaoraonapoaonaoNapEapramgamfamgamTaraamYanEamXaptanGapuapvapwapxapyapzapAanGapBaoHapCapLapGapFapPaoHaoHarjaoHaoHaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafanTanTanTanTanTaafalJaafanTanTanTanTanTaafaaIaaaaaaaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaihaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafapJapJapJapJapJaafalkaafapJapJapJapJapJaafaaIaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaapKapaapbagDapUapMagWalgapNalKapOapVapQapRaokapSaqmaqcaqpapWapXapYapZaqaanUaqNaqdaovaqeaovaqfarnaqhaqiaqjaqkanGaqlaqWapyaqnaqoarlaqoaroaqraqsapFaqtaquapFailaoHaqwaqxaqyaoHaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafanianjanjanjanjanualJansanqanqanqanqanwaafaaIaaaaaaaaaaaaaaaaaaaihaihaihaihaihaihaihaihaihaihaihaihaihaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaafaaaaaaaafalkaaaaaaaaaaafaaaaaaaaaaaqaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaqzaqAaqBagDagWagWagWarvalRagWalWalWalWahbaqEapkahCahDahMaonaqIagnaqKahaanyarMaqOaryaqQaqRaqSanxaqUaqVarQamVanGarzaqYaqZafDaflafMardanGarearfapFaqtaqtapFaifaoHarhariarFaoHaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafapIapIapIapIapIaafalJaafapIapIapIapIapIaafaaIaaaaaaaaaaaaabgaaaaihaihaihaihaihaihaihaihaihaihaihaihaihaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafapJapJapJapJapJaafalkaafapJapJapJapJapJaafaaIaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaapKapaapbagDapUapMagWalgapNalKapOapVapQapRaokapSaqmaqcaqpapWapXapYapZaqaanUaqNaqdaovaqeaovaqfarnaqhaqiaqjanDanGaqlaqWapyaqnaqoarlaqoaroaqraqsapFaqtaquapFailaoHaqwaqxaqyaoHaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafanianjanjanjanjanualJansanqanqanqanqanwaafaaIaaaaaaaaaaaaaaaaaaaihaihaihaihaihaihaihaihaihaihaihaihaihaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaafaaaaaaaafalkaaaaaaaaaaafaaaaaaaaaaaqaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaqzaqAaqBagDagWagWagWarvalRagWalWalWalWahbaqEapkahCahDampaonaqIagnaqKahaanyarMaqOaryaqQaqRaqSanxaqUaqVarQamVanGarzaqYaqZafDaflafMardanGarearfapFaqtaqtapFaifaoHarhariarFaoHaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafapIapIapIapIapIaafalJaafapIapIapIapIapIaafaaIaaaaaaaaaaaaabgaaaaihaihaihaihaihaihaihaihaihaihaihaihaihaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafanVanVanVanVanVaafalkaafanVanVanVanVanVaafaaIaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaqzarkaqBagDaekarHagWarmarOalKaogarPaoiaokarparqaesaeRaeraonarualWarZarSarxalLasnarAasBamzasOarEasRarGasWamjanGanGarIanGanGanGanGanGanGarJarKarLasaasaapFarNaoHaoHasXaoHaoHaaaaaaakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaafaaaaaaaaaalJaaaaaaaaaaafaaaaaaaaaaamaaaaaaaaaaaaaaaaaaaihaihaihaihaihaihaihaihaihaihaihaihaihaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaLasYaaLaaaaaaaaaaaaaaaaaaaaaaaIaafalzalyalyalyalyalAalkallaivaivaivaivagEaafaaIaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaqzataaqBagDarRapcatiarTarUatIapharWaloaonaonarYasFasyasMaonascalWasdasealmasgasharAasiasjaskarEaoHaoHaoHaoHaoHaslatQatJasoasoaspaspasqasrassastastasuasvasvaswasxatXaszaqsaaaaafaafaafaaaaaaaafaafaafaafaaaaaaaafaafaafaaaaaaaaaaaaaaIaafanTanTanTanTanTaafalJaafanTanTanTanTanTaafaaIaaaaaaaaaaaaaaaaaaaihaihaihaihaihaihaihaihaihaihaihaihaihaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafasAauiasAaaaaaaaaaaaaaaaaaaaaaaaIaafapJapJapJapJapJaafalkaafapJapJapJapJapJaafaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaasCasbapbagDapUapMagWaZtasEalKapOasPaoiasGasGasHasIaonasJaonasKalWasLatgaZuathauuarAasQauvasSarEasTasUasUasVauSasVavCavbasZasZasZasZasZasZasZasZasZasmavFatbatcaoKatdateatfaaaaafatPatratjatjatjatjavRatjatjatjatjatUaafaaaaaaaaaaaaaamaafanianjanjanjanjanualJansanqanqanqanqanwaafaaIaaaaaaaaaaaaaaaaaaaaaaaaaihaihaihaihaihaihaihaihaihaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa diff --git a/maps/exodus-2.dmm b/maps/exodus-2.dmm index 64dc9e9cee..f42d980970 100644 --- a/maps/exodus-2.dmm +++ b/maps/exodus-2.dmm @@ -1494,7 +1494,7 @@ "CL" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/holding) "CM" = (/obj/structure/window/shuttle{icon_state = "window3"},/obj/structure/grille,/turf/simulated/shuttle/plating,/area/shuttle/escape/centcom) "CN" = (/turf/unsimulated/wall,/area/centcom/holding) -"CO" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/flame/lighter/zippo,/obj/item/weapon/storage/fancy/cigarettes,/obj/item/ashtray/bronze{pixel_x = -1; pixel_y = 1},/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/centcom/holding) +"CO" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/flame/lighter/zippo,/obj/item/weapon/storage/fancy/cigarettes,/obj/item/weapon/material/ashtray/bronze{pixel_x = -1; pixel_y = 1},/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/centcom/holding) "CP" = (/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/centcom/holding) "CQ" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/holding) "CR" = (/obj/structure/bed/chair{dir = 4},/turf/unsimulated/floor{icon_state = "greencorner"; dir = 1},/area/centcom/holding) @@ -1587,7 +1587,7 @@ "EA" = (/turf/simulated/shuttle/wall{icon_state = "swall7"; dir = 2},/area/shuttle/escape/centcom) "EB" = (/obj/structure/shuttle/engine/heater,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/shuttle/escape/centcom) "EC" = (/turf/unsimulated/floor{icon_state = "warning"},/area/centcom/holding) -"ED" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/flame/lighter/zippo,/obj/item/weapon/storage/fancy/cigarettes,/obj/item/ashtray/bronze{pixel_x = -1; pixel_y = 1},/obj/machinery/camera/network/crescent{c_tag = "Crescent Bar East"; dir = 4},/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/centcom/holding) +"ED" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/flame/lighter/zippo,/obj/item/weapon/storage/fancy/cigarettes,/obj/item/weapon/material/ashtray/bronze{pixel_x = -1; pixel_y = 1},/obj/machinery/camera/network/crescent{c_tag = "Crescent Bar East"; dir = 4},/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/centcom/holding) "EE" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/holding) "EF" = (/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/beach/sand{tag = "icon-beach (SOUTHEAST)"; icon_state = "beach"; dir = 6},/area/centcom/holding) "EG" = (/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/beach/sand{tag = "icon-seashallow"; icon_state = "seashallow"},/area/centcom/holding) From 18c0760c56e11bdceee4c24c501e97403afc018e Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Sun, 17 May 2015 18:22:30 +0930 Subject: [PATCH 20/45] Changelog. --- html/changelogs/Zuhayr-materials.yml | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 html/changelogs/Zuhayr-materials.yml diff --git a/html/changelogs/Zuhayr-materials.yml b/html/changelogs/Zuhayr-materials.yml new file mode 100644 index 0000000000..78d873857c --- /dev/null +++ b/html/changelogs/Zuhayr-materials.yml @@ -0,0 +1,7 @@ +author: Zuhayr +delete-after: True +changes: + - rscadd: "Massive material refactor. Walls, beds, chairs, stools, tables, ashtrays, knives, baseball bats, axes, simple doors, barricades, so on." + - rscadd: "Tables are now built via steel then another sheet on the resulting frame. They can then be reinforced by dragging a stack of sheets onto the table." + - rscadd: "Walls are built with steel for girders, then right-click the girder and select the reinforce verb while holding a stack, then click the girders with a final sheet." + - rscadd: "Various things can be built with various sheet types. Experiment! Just keep in mind that uranium is now radioactive and phoron is now flammable." \ No newline at end of file From defc4c1f94108e2cd9e99cfac5ca5a890a280793 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Mon, 18 May 2015 20:09:09 -0400 Subject: [PATCH 21/45] Adds check_charge(), checked_use() --- .../game/objects/items/weapons/power_cells.dm | 5 +++- code/game/objects/items/weapons/stunbaton.dm | 4 +-- .../modules/mob/living/silicon/robot/robot.dm | 3 +-- code/modules/power/cell.dm | 27 ++++++++++++++----- code/modules/power/power.dm | 2 +- code/modules/projectiles/guns/energy.dm | 2 +- 6 files changed, 29 insertions(+), 14 deletions(-) diff --git a/code/game/objects/items/weapons/power_cells.dm b/code/game/objects/items/weapons/power_cells.dm index 5cab6b24cb..bd344d2267 100644 --- a/code/game/objects/items/weapons/power_cells.dm +++ b/code/game/objects/items/weapons/power_cells.dm @@ -88,8 +88,11 @@ name = "infinite-capacity power cell!" icon_state = "icell" origin_tech = null - maxcharge = 30000 + maxcharge = 30000 //determines how badly mobs get shocked matter = list("metal" = 700, "glass" = 80) + + check_charge() + return 1 use() return 1 diff --git a/code/game/objects/items/weapons/stunbaton.dm b/code/game/objects/items/weapons/stunbaton.dm index ca495ee263..811cd4f866 100644 --- a/code/game/objects/items/weapons/stunbaton.dm +++ b/code/game/objects/items/weapons/stunbaton.dm @@ -35,13 +35,13 @@ /obj/item/weapon/melee/baton/proc/deductcharge(var/chrgdeductamt) if(bcell) - if(bcell.charge >= chrgdeductamt) - bcell.use(chrgdeductamt) + if(bcell.checked_use(chrgdeductamt)) return 1 else status = 0 update_icon() return 0 + return null /obj/item/weapon/melee/baton/update_icon() if(status) diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index 71171212a2..542daeed5f 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -1234,8 +1234,7 @@ var/list/robot_verbs_default = list( return 0 var/power_use = amount * CYBORG_POWER_USAGE_MULTIPLIER - if(cell.charge >= CELLRATE * power_use) - cell.use(CELLRATE * power_use) + if(cell.checked_use(CELLRATE * power_use)) used_power_this_tick += power_use return 1 return 0 diff --git a/code/modules/power/cell.dm b/code/modules/power/cell.dm index 553891565c..f664890be9 100644 --- a/code/modules/power/cell.dm +++ b/code/modules/power/cell.dm @@ -9,7 +9,7 @@ spawn(5) updateicon() -/obj/item/weapon/cell/drain_power(var/drain_check, var/surge, var/amount = 0) +/obj/item/weapon/cell/drain_power(var/drain_check, var/surge, var/power = 0) if(drain_check) return 1 @@ -17,9 +17,9 @@ if(charge <= 0) return 0 - var/cell_amt = min((amount * CELLRATE), charge) - use(cell_amt) - return cell_amt / CELLRATE + var/cell_amt = power * CELLRATE + + return use(cell_amt) / CELLRATE /obj/item/weapon/cell/proc/updateicon() overlays.Cut() @@ -37,13 +37,26 @@ /obj/item/weapon/cell/proc/fully_charged() return (charge == maxcharge) -// use power from a cell +// checks if the power cell is able to provide the specified amount of charge +/obj/item/weapon/cell/proc/check_charge(var/amount) + return (charge >= amount) + +// use power from a cell, returns the amount actually used /obj/item/weapon/cell/proc/use(var/amount) if(rigged && amount > 0) explode() return 0 - charge = max(0, charge - amount) - return charge + var/used = min(charge, amount) + charge -= used + return used + +// Checks if the specified amount can be provided. If it can, it removes the amount +// from the cell and returns 1. Otherwise does nothing and returns 0. +/obj/item/weapon/cell/proc/checked_use(var/amount) + if(!check_charge(amount)) + return 0 + use(amount) + return 1 // recharge the cell /obj/item/weapon/cell/proc/give(var/amount) diff --git a/code/modules/power/power.dm b/code/modules/power/power.dm index 7cfcc53246..4a172b361b 100644 --- a/code/modules/power/power.dm +++ b/code/modules/power/power.dm @@ -374,7 +374,7 @@ if (source_area) source_area.use_power(drained_energy/CELLRATE) else if (istype(power_source,/datum/powernet)) - var/drained_power = drained_energy/CELLRATE //convert from "joules" to "watts" + var/drained_power = drained_energy/CELLRATE drained_power = PN.draw_power(drained_power) else if (istype(power_source, /obj/item/weapon/cell)) cell.use(drained_energy) diff --git a/code/modules/projectiles/guns/energy.dm b/code/modules/projectiles/guns/energy.dm index f85f41276f..c167964f34 100644 --- a/code/modules/projectiles/guns/energy.dm +++ b/code/modules/projectiles/guns/energy.dm @@ -57,7 +57,7 @@ /obj/item/weapon/gun/energy/consume_next_projectile() if(!power_supply) return null if(!ispath(projectile_type)) return null - if(power_supply.charge < charge_cost || !power_supply.use(charge_cost)) return null + if(!power_supply.checked_use(charge_cost)) return null return new projectile_type(src) /obj/item/weapon/gun/energy/proc/get_external_power_supply() From e23f5e7e06797092ca5663949f4a66c725c5517e Mon Sep 17 00:00:00 2001 From: mwerezak Date: Mon, 18 May 2015 20:09:31 -0400 Subject: [PATCH 22/45] Fixes hardsuit shocking --- code/modules/clothing/spacesuits/rig/rig.dm | 2 +- code/modules/clothing/spacesuits/rig/rig_attackby.dm | 8 ++------ 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/code/modules/clothing/spacesuits/rig/rig.dm b/code/modules/clothing/spacesuits/rig/rig.dm index eff23b686c..b534c861fe 100644 --- a/code/modules/clothing/spacesuits/rig/rig.dm +++ b/code/modules/clothing/spacesuits/rig/rig.dm @@ -706,7 +706,7 @@ take_hit((100/severity_class), "electrical pulse", 1) /obj/item/weapon/rig/proc/shock(mob/user) - if (electrocute_mob(user, cell, src)) + if (electrocute_mob(user, cell, src)) //electrocute_mob() handles removing charge from the cell, no need to do that here. spark_system.start() if(user.stunned) return 1 diff --git a/code/modules/clothing/spacesuits/rig/rig_attackby.dm b/code/modules/clothing/spacesuits/rig/rig_attackby.dm index c0d119b0b4..f3f48b5661 100644 --- a/code/modules/clothing/spacesuits/rig/rig_attackby.dm +++ b/code/modules/clothing/spacesuits/rig/rig_attackby.dm @@ -3,9 +3,7 @@ if(!istype(user,/mob/living)) return 0 if(electrified != 0) - if(cell && cell.charge >= 100) - cell.use(100) - if(shock(user, 100)) + if(shock(user)) //Handles removing charge from the cell, as well. No need to do that here. return // Pass repair items on to the chestpiece. @@ -193,8 +191,6 @@ /obj/item/weapon/rig/attack_hand(var/mob/user) if(electrified != 0) - if(cell && cell.charge >= 100) - cell.use(100) - if(shock(user, 100)) + if(shock(user)) //Handles removing charge from the cell, as well. No need to do that here. return ..() \ No newline at end of file From 953e8be44eec5b0c131f2e139be8fc910136ce52 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Thu, 14 May 2015 21:20:54 -0400 Subject: [PATCH 23/45] Fire tweak --- code/ZAS/Fire.dm | 125 ++++++++++++++++------------ code/setup.dm | 8 +- html/changelogs/HarpyEagle-fire.yml | 4 + 3 files changed, 82 insertions(+), 55 deletions(-) create mode 100644 html/changelogs/HarpyEagle-fire.yml diff --git a/code/ZAS/Fire.dm b/code/ZAS/Fire.dm index ebfd029228..797aca3eda 100644 --- a/code/ZAS/Fire.dm +++ b/code/ZAS/Fire.dm @@ -35,7 +35,7 @@ turf/proc/hotspot_expose(exposed_temperature, exposed_volume, soh = 0) if(air_contents.check_combustability(liquid)) igniting = 1 - create_fire(vsc.fire_firelevel_multiplier) + create_fire(exposed_temperature) return igniting /zone/proc/process_fire() @@ -65,6 +65,29 @@ turf/proc/hotspot_expose(exposed_temperature, exposed_volume, soh = 0) if(!fire_tiles.len) air_master.active_fire_zones.Remove(src) +/zone/proc/remove_liquidfuel(var/used_liquid_fuel, var/remove_fire=0) + if(!fuel_objs.len) + return + + //As a simplification, we remove fuel equally from all fuel sources. It might be that some fuel sources have more fuel, + //some have less, but whatever. It will mean that sometimes we will remove a tiny bit less fuel then we intended to. + + var/fuel_to_remove = used_liquid_fuel/(fuel_objs.len*LIQUIDFUEL_AMOUNT_TO_MOL) //convert back to liquid volume units + + for(var/O in fuel_objs) + var/obj/effect/decal/cleanable/liquid_fuel/fuel = O + if(!istype(fuel)) + fuel_objs -= fuel + continue + + fuel.amount -= fuel_to_remove + if(fuel.amount <= 0) + fuel_objs -= fuel + if(remove_fire) + var/turf/T = fuel.loc + if(istype(T) && T.fire) qdel(T.fire) + qdel(fuel) + /turf/proc/create_fire(fl) return 0 @@ -98,7 +121,7 @@ turf/proc/hotspot_expose(exposed_temperature, exposed_volume, soh = 0) light_color = "#ED9200" layer = TURF_LAYER - var/firelevel = 10000 //Calculated by gas_mixture.calculate_firelevel() + var/firelevel = 1 //Calculated by gas_mixture.calculate_firelevel() /obj/fire/process() . = 1 @@ -122,7 +145,6 @@ turf/proc/hotspot_expose(exposed_temperature, exposed_volume, soh = 0) icon_state = "1" set_light(3, 1) - //im not sure how to implement a version that works for every creature so for now monkeys are firesafe for(var/mob/living/L in loc) L.FireBurn(firelevel, air_contents.temperature, air_contents.return_pressure()) //Burn the mobs! @@ -158,7 +180,7 @@ turf/proc/hotspot_expose(exposed_temperature, exposed_volume, soh = 0) else enemy_tile.adjacent_fire_act(loc, air_contents, air_contents.temperature, air_contents.volume) - animate(src, color = heat2color(air_contents.temperature), 5) + animate(src, color = fire_color(air_contents.temperature), 5) set_light(l_color = color) /obj/fire/New(newLoc,fl) @@ -166,27 +188,32 @@ turf/proc/hotspot_expose(exposed_temperature, exposed_volume, soh = 0) if(!istype(loc, /turf)) qdel(src) + return set_dir(pick(cardinal)) var/datum/gas_mixture/air_contents = loc.return_air() - color = heat2color(air_contents.temperature) + color = fire_color(air_contents.temperature) set_light(3, 1, color) firelevel = fl air_master.active_hotspots.Add(src) +/obj/fire/proc/fire_color(var/env_temperature) + var/temperature = max(4000*sqrt(firelevel/vsc.fire_firelevel_multiplier), env_temperature) + return heat2color(temperature) /obj/fire/Destroy() - if (istype(loc, /turf/simulated)) - RemoveFire() + RemoveFire() ..() /obj/fire/proc/RemoveFire() - if (istype(loc, /turf)) + var/turf/T = loc + if (istype(T)) set_light(0) - + + T.fire = null loc = null air_master.active_hotspots.Remove(src) @@ -198,6 +225,10 @@ turf/proc/hotspot_expose(exposed_temperature, exposed_volume, soh = 0) //Returns the firelevel /datum/gas_mixture/proc/zburn(zone/zone, force_burn, no_check = 0) + //if(zone) + // world << "**********************************************" + // world << "Burning [zone.name]!" + . = 0 if((temperature > PHORON_MINIMUM_BURN_TEMPERATURE || force_burn) && (no_check ||check_recombustability(zone? zone.fuel_objs : null))) var/gas_fuel = 0 //in the case of mixed gas/liquid fires, the gas burns first. @@ -215,9 +246,11 @@ turf/proc/hotspot_expose(exposed_temperature, exposed_volume, soh = 0) total_oxidizers *= group_multiplier //Liquid Fuel + var/fuel_area = 0 if(zone) for(var/obj/effect/decal/cleanable/liquid_fuel/fuel in zone.fuel_objs) liquid_fuel += fuel.amount*LIQUIDFUEL_AMOUNT_TO_MOL + fuel_area++ total_fuel = gas_fuel + liquid_fuel if(total_fuel <= 0.005) @@ -225,9 +258,6 @@ turf/proc/hotspot_expose(exposed_temperature, exposed_volume, soh = 0) //*** Determine how fast the fire burns - //calculate the firelevel. - var/firelevel = calculate_firelevel(zone? zone.fuel_objs : null, total_fuel, total_oxidizers, force = 1) - //get the current thermal energy of the gas mix //this must be taken here to prevent the addition or deletion of energy by a changing heat capacity var/starting_energy = temperature * heat_capacity() @@ -235,12 +265,15 @@ turf/proc/hotspot_expose(exposed_temperature, exposed_volume, soh = 0) //determine how far the reaction can progress var/reaction_limit = min(total_oxidizers*(FIRE_REACTION_FUEL_AMOUNT/FIRE_REACTION_OXIDIZER_AMOUNT), total_fuel) //stoichiometric limit - //determine the actual rate of reaction, as measured by the amount of fuel reacting + //calculate the firelevel. + var/firelevel = calculate_firelevel(total_fuel, total_oxidizers, reaction_limit) + //world << "firelevel -> [firelevel] / [vsc.fire_firelevel_multiplier]" //vapour fuels are extremely volatile! The reaction progress is a percentage of the total fuel (similar to old zburn). - var/gas_reaction_progress = max(0.2*group_multiplier, (firelevel/vsc.fire_firelevel_multiplier)*gas_fuel)*FIRE_GAS_BURNRATE_MULT - //liquid fuels are not as volatile, and the reaction progress depends on the size of the area that is burning (which is sort of accounted for by firelevel). Having more fuel means a longer burn. - var/liquid_reaction_progress = (firelevel/vsc.fire_firelevel_multiplier)*FIRE_LIQUID_BURNRATE_MULT + var/gas_reaction_progress = min(0.2, (firelevel/vsc.fire_firelevel_multiplier))*gas_fuel*FIRE_GAS_BURNRATE_MULT + + //liquid fuels are not as volatile, and the reaction progress depends on the size of the area that is burning. Limit the burn rate to a certain amount per area. + var/liquid_reaction_progress = ((firelevel/vsc.fire_firelevel_multiplier)*0.2 + 0.05)*fuel_area*FIRE_LIQUID_BURNRATE_MULT //world << "liquid_reaction_progress = [liquid_reaction_progress]" //world << "gas_reaction_progress = [gas_reaction_progress]" @@ -251,45 +284,30 @@ turf/proc/hotspot_expose(exposed_temperature, exposed_volume, soh = 0) //world << "used_fuel = [used_fuel]; used_oxidizers = [used_oxidizers]; reaction_limit=[reaction_limit]" //if the reaction is progressing too slow then it isn't self-sustaining anymore and burns out - if(zone && zone.fuel_objs.len) - if(used_fuel <= FIRE_LIQUD_MIN_BURNRATE) + if(zone) //be less restrictive with canister and tank reactions + if((!liquid_fuel || used_fuel <= FIRE_LIQUD_MIN_BURNRATE) && (!gas_fuel || used_fuel <= FIRE_GAS_MIN_BURNRATE*group_multiplier)) return 0 - else if(used_fuel <= FIRE_GAS_MIN_BURNRATE*group_multiplier) //purely gas fires have more stringent criteria - return 0 //*** Remove fuel and oxidizer, add carbon dioxide and heat //remove and add gasses as calculated - var/used_gas_fuel = min(used_fuel*(gas_reaction_progress/total_reaction_progress), gas_fuel) //remove in proportion to the relative reaction progress - var/used_liquid_fuel = between(0, used_fuel-used_gas_fuel, liquid_fuel) + var/used_gas_fuel = between(0.25, used_fuel*(gas_reaction_progress/total_reaction_progress), gas_fuel) //remove in proportion to the relative reaction progress + var/used_liquid_fuel = between(0.25, used_fuel-used_gas_fuel, liquid_fuel) + + //world << "used_gas_fuel = [used_gas_fuel]; used_liquid_fuel = [used_liquid_fuel]; total = [used_gas_fuel+used_liquid_fuel]" //remove_by_flag() and adjust_gas() handle the group_multiplier for us. remove_by_flag(XGM_GAS_OXIDIZER, used_oxidizers) remove_by_flag(XGM_GAS_FUEL, used_gas_fuel) adjust_gas("carbon_dioxide", used_oxidizers) - //As a simplification, we remove fuel equally from all fuel sources. It might be that some fuel sources have more fuel, some have less, but whatever. - if(zone && zone.fuel_objs.len) - var/fuel_to_remove = used_liquid_fuel/(zone.fuel_objs.len*LIQUIDFUEL_AMOUNT_TO_MOL) //convert back to liquid volume units - //world << "used gas fuel = [used_gas_fuel]; used other fuel = [used_fuel-used_gas_fuel]; fuel_to_remove = [fuel_to_remove]" - var/liquidonly = !check_combustability() - for(var/O in zone.fuel_objs) - var/obj/effect/decal/cleanable/liquid_fuel/fuel = O - if(!istype(fuel)) - zone.fuel_objs -= fuel - continue - - fuel.amount -= fuel_to_remove - if(fuel.amount <= 0) - zone.fuel_objs -= fuel - if(liquidonly) - var/turf/T = fuel.loc - if(istype(T) && T.fire) qdel(T.fire) - qdel(fuel) + if(zone) + zone.remove_liquidfuel(used_liquid_fuel, !check_combustability()) //calculate the energy produced by the reaction and then set the new temperature of the mix temperature = (starting_energy + vsc.fire_fuel_energy_release * used_fuel) / heat_capacity() + //world << "new temperature = [temperature]" update_values() return firelevel @@ -332,21 +350,26 @@ datum/gas_mixture/proc/check_recombustability(list/fuel_objs) . = 1 break -//Returns a value between 0 and vsc.fire_firelevel_multiplier -/datum/gas_mixture/proc/calculate_firelevel(list/fuel_objs, total_fuel, total_oxidizers, force = 0) +//returns a value between 0 and vsc.fire_firelevel_multiplier +/datum/gas_mixture/proc/calculate_firelevel(total_fuel, total_oxidizers, reaction_limit) //Calculates the firelevel based on one equation instead of having to do this multiple times in different areas. var/firelevel = 0 - if(force || check_recombustability(fuel_objs)) - var/total_combustables = (total_fuel + total_oxidizers) + var/total_combustables = (total_fuel + total_oxidizers) - if(total_combustables > 0) - //slows down the burning when the concentration of the reactants is low - var/dampening_multiplier = total_combustables / total_moles - //calculates how close the mixture of the reactants is to the optimum - var/mix_multiplier = 1 / (1 + (5 * ((total_oxidizers / total_combustables) ** 2))) - //toss everything together - firelevel = vsc.fire_firelevel_multiplier * mix_multiplier * dampening_multiplier + if(total_combustables > 0) + //slows down the burning when the concentration of the reactants is low + var/dampening_multiplier = min(1, reaction_limit / (total_moles/group_multiplier)) + + //calculates how close the mixture of the reactants is to the optimum + //fires burn better when there is more oxidizer -- too much fuel will choke them out a bit, reducing firelevel. + var/mix_multiplier = 1 / (1 + (5 * ((total_fuel / total_combustables) ** 2))) + + if(dampening_multiplier > 1) world << "WTF? dampening_multiplier = [dampening_multiplier]" + if(mix_multiplier > 1) world << "WTF? mix_multiplier = [mix_multiplier]" + + //toss everything together -- should produce a value between 0 and fire_firelevel_multiplier + firelevel = vsc.fire_firelevel_multiplier * mix_multiplier * dampening_multiplier return max( 0, firelevel) diff --git a/code/setup.dm b/code/setup.dm index 7cbcf93bdd..38f6f455ec 100644 --- a/code/setup.dm +++ b/code/setup.dm @@ -131,17 +131,17 @@ #define PHORON_FLASHPOINT (T0C + 246) //519 K - autoignite temperature in air if that ever gets implemented. //These control the mole ratio of oxidizer and fuel used in the combustion reaction -#define FIRE_REACTION_OXIDIZER_AMOUNT 3 +#define FIRE_REACTION_OXIDIZER_AMOUNT 3 //should be greater than the fuel amount if fires are going to spread much #define FIRE_REACTION_FUEL_AMOUNT 2 //These control the speed at which fire burns #define FIRE_GAS_BURNRATE_MULT 1 -#define FIRE_LIQUID_BURNRATE_MULT 0.5 +#define FIRE_LIQUID_BURNRATE_MULT 1 //If the fire is burning slower than this rate then the reaction is going too slow to be self sustaining and the fire burns itself out. //This ensures that fires don't grind to a near-halt while still remaining active forever. -#define FIRE_GAS_MIN_BURNRATE 0.1 -#define FIRE_LIQUD_MIN_BURNRATE 0.05 +#define FIRE_GAS_MIN_BURNRATE 0.01 +#define FIRE_LIQUD_MIN_BURNRATE 0.01 //How many moles of fuel are contained within one solid/liquid fuel volume unit #define LIQUIDFUEL_AMOUNT_TO_MOL 1 //mol/volume unit diff --git a/html/changelogs/HarpyEagle-fire.yml b/html/changelogs/HarpyEagle-fire.yml new file mode 100644 index 0000000000..66537a821e --- /dev/null +++ b/html/changelogs/HarpyEagle-fire.yml @@ -0,0 +1,4 @@ +author: HarpyEagle +delete-after: True +changes: + - rscadd: "Re-implemented fuel fires. Tweaked fire behaviour overall." From b08302f7b1cff236c6f0fa92299f867e287f33a7 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Tue, 19 May 2015 21:11:51 +0200 Subject: [PATCH 24/45] Pulse measuring tweaks. Now both the pulse checker and target must remain still for the duration of the check. Previously it may have been possible for dead humans to check the pulse of self and others. --- code/modules/mob/living/carbon/human/human.dm | 20 +++++++++---------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 3eacc54926..901c7ca6b0 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -1061,30 +1061,28 @@ set src in view(1) var/self = 0 - if(usr.stat == 1 || usr.restrained() || !isliving(usr)) return + if(usr.stat || usr.restrained() || !isliving(usr)) return if(usr == src) self = 1 if(!self) - usr.visible_message("\blue [usr] kneels down, puts \his hand on [src]'s wrist and begins counting their pulse.",\ + usr.visible_message("[usr] kneels down, puts \his hand on [src]'s wrist and begins counting their pulse.",\ "You begin counting [src]'s pulse") else - usr.visible_message("\blue [usr] begins counting their pulse.",\ + usr.visible_message("[usr] begins counting their pulse.",\ "You begin counting your pulse.") if(src.pulse) - usr << "\blue [self ? "You have a" : "[src] has a"] pulse! Counting..." + usr << "[self ? "You have a" : "[src] has a"] pulse! Counting..." else - usr << "\red [src] has no pulse!" //it is REALLY UNLIKELY that a dead person would check his own pulse + usr << "[src] has no pulse!" //it is REALLY UNLIKELY that a dead person would check his own pulse return - usr << "Don't move until counting is finished." - var/time = world.time - sleep(60) - if(usr.l_move_time >= time) //checks if our mob has moved during the sleep() - usr << "You moved while counting. Try again." + usr << "You must [self ? "" : "both"] stand until counting is finished." + if(do_mob(usr, src, 60)) + usr << "[self ? "Your" : "[src]'s"] pulse is [src.get_pulse(GETPULSE_HAND)]." else - usr << "\blue [self ? "Your" : "[src]'s"] pulse is [src.get_pulse(GETPULSE_HAND)]." + usr << "You failed to check the pulse. Try again." /mob/living/carbon/human/proc/set_species(var/new_species, var/default_colour) From 7b8bcdf4becba1f6bd3d5bf3785bac34da90f9c8 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Tue, 19 May 2015 21:17:29 +0200 Subject: [PATCH 25/45] Changelog. --- html/changelogs/PsiOmegaDelta-PulseCheck.yml | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 html/changelogs/PsiOmegaDelta-PulseCheck.yml diff --git a/html/changelogs/PsiOmegaDelta-PulseCheck.yml b/html/changelogs/PsiOmegaDelta-PulseCheck.yml new file mode 100644 index 0000000000..4bc80dd2af --- /dev/null +++ b/html/changelogs/PsiOmegaDelta-PulseCheck.yml @@ -0,0 +1,6 @@ +author: PsiOmegaDelta +delete-after: True + +changes: + - tweak: "Both the pulse taker and target must now remain still for the duration of the check or it will fail." + From 10067349b2173572a8eb888354a6a4aa189f11b0 Mon Sep 17 00:00:00 2001 From: HarpyEagle Date: Tue, 19 May 2015 17:47:51 -0400 Subject: [PATCH 26/45] Cleans up debug prints --- code/ZAS/Fire.dm | 37 +++++++++++++++++++++++-------------- 1 file changed, 23 insertions(+), 14 deletions(-) diff --git a/code/ZAS/Fire.dm b/code/ZAS/Fire.dm index 797aca3eda..27011dc7b3 100644 --- a/code/ZAS/Fire.dm +++ b/code/ZAS/Fire.dm @@ -10,6 +10,8 @@ Attach to transfer valve and open. BOOM. */ +//#define FIREDBG + /turf/var/obj/fire/fire = null //Some legacy definitions so fires can be started. @@ -42,7 +44,6 @@ turf/proc/hotspot_expose(exposed_temperature, exposed_volume, soh = 0) var/datum/gas_mixture/burn_gas = air.remove_ratio(vsc.fire_consuption_rate, fire_tiles.len) var/firelevel = burn_gas.zburn(src, fire_tiles, force_burn = 1, no_check = 1) - //world << "[src]: firelevel [firelevel]" air.merge(burn_gas) @@ -225,9 +226,10 @@ turf/proc/hotspot_expose(exposed_temperature, exposed_volume, soh = 0) //Returns the firelevel /datum/gas_mixture/proc/zburn(zone/zone, force_burn, no_check = 0) - //if(zone) - // world << "**********************************************" - // world << "Burning [zone.name]!" + #ifdef FIREDBG + log_debug("***************** FIREDBG *****************") + if(zone) log_debug("Burning [zone.name]!") + #endif . = 0 if((temperature > PHORON_MINIMUM_BURN_TEMPERATURE || force_burn) && (no_check ||check_recombustability(zone? zone.fuel_objs : null))) @@ -267,7 +269,7 @@ turf/proc/hotspot_expose(exposed_temperature, exposed_volume, soh = 0) //calculate the firelevel. var/firelevel = calculate_firelevel(total_fuel, total_oxidizers, reaction_limit) - //world << "firelevel -> [firelevel] / [vsc.fire_firelevel_multiplier]" + //vapour fuels are extremely volatile! The reaction progress is a percentage of the total fuel (similar to old zburn). var/gas_reaction_progress = min(0.2, (firelevel/vsc.fire_firelevel_multiplier))*gas_fuel*FIRE_GAS_BURNRATE_MULT @@ -275,13 +277,16 @@ turf/proc/hotspot_expose(exposed_temperature, exposed_volume, soh = 0) //liquid fuels are not as volatile, and the reaction progress depends on the size of the area that is burning. Limit the burn rate to a certain amount per area. var/liquid_reaction_progress = ((firelevel/vsc.fire_firelevel_multiplier)*0.2 + 0.05)*fuel_area*FIRE_LIQUID_BURNRATE_MULT - //world << "liquid_reaction_progress = [liquid_reaction_progress]" - //world << "gas_reaction_progress = [gas_reaction_progress]" - var/total_reaction_progress = gas_reaction_progress + liquid_reaction_progress var/used_fuel = min(total_reaction_progress, reaction_limit) var/used_oxidizers = used_fuel*(FIRE_REACTION_OXIDIZER_AMOUNT/FIRE_REACTION_FUEL_AMOUNT) - //world << "used_fuel = [used_fuel]; used_oxidizers = [used_oxidizers]; reaction_limit=[reaction_limit]" + + #ifdef FIREDBG + log_debug("firelevel -> [firelevel] / [vsc.fire_firelevel_multiplier]") + log_debug("liquid_reaction_progress = [liquid_reaction_progress]") + log_debug("gas_reaction_progress = [gas_reaction_progress]") + log_debug("used_fuel = [used_fuel]; used_oxidizers = [used_oxidizers]; reaction_limit=[reaction_limit]") + #endif //if the reaction is progressing too slow then it isn't self-sustaining anymore and burns out if(zone) //be less restrictive with canister and tank reactions @@ -294,8 +299,6 @@ turf/proc/hotspot_expose(exposed_temperature, exposed_volume, soh = 0) //remove and add gasses as calculated var/used_gas_fuel = between(0.25, used_fuel*(gas_reaction_progress/total_reaction_progress), gas_fuel) //remove in proportion to the relative reaction progress var/used_liquid_fuel = between(0.25, used_fuel-used_gas_fuel, liquid_fuel) - - //world << "used_gas_fuel = [used_gas_fuel]; used_liquid_fuel = [used_liquid_fuel]; total = [used_gas_fuel+used_liquid_fuel]" //remove_by_flag() and adjust_gas() handle the group_multiplier for us. remove_by_flag(XGM_GAS_OXIDIZER, used_oxidizers) @@ -307,7 +310,11 @@ turf/proc/hotspot_expose(exposed_temperature, exposed_volume, soh = 0) //calculate the energy produced by the reaction and then set the new temperature of the mix temperature = (starting_energy + vsc.fire_fuel_energy_release * used_fuel) / heat_capacity() - //world << "new temperature = [temperature]" + + #ifdef FIREDBG + log_debug("used_gas_fuel = [used_gas_fuel]; used_liquid_fuel = [used_liquid_fuel]; total = [used_gas_fuel+used_liquid_fuel]") + log_debug("new temperature = [temperature]") + #endif update_values() return firelevel @@ -365,8 +372,10 @@ datum/gas_mixture/proc/check_recombustability(list/fuel_objs) //fires burn better when there is more oxidizer -- too much fuel will choke them out a bit, reducing firelevel. var/mix_multiplier = 1 / (1 + (5 * ((total_fuel / total_combustables) ** 2))) - if(dampening_multiplier > 1) world << "WTF? dampening_multiplier = [dampening_multiplier]" - if(mix_multiplier > 1) world << "WTF? mix_multiplier = [mix_multiplier]" + #ifdef FIREDBG + ASSERT(dampening_multiplier <= 1) + ASSERT(mix_multiplier <= 1) + #endif //toss everything together -- should produce a value between 0 and fire_firelevel_multiplier firelevel = vsc.fire_firelevel_multiplier * mix_multiplier * dampening_multiplier From 20b72b9911d4e6ad8651dad8f63fe07b675f7ba5 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Sat, 16 May 2015 13:47:19 -0400 Subject: [PATCH 27/45] Adds attack animation calls --- code/_onclick/item_attack.dm | 10 +++++ code/modules/mob/living/bot/farmbot.dm | 1 + code/modules/mob/living/bot/secbot.dm | 2 + .../living/carbon/human/human_attackhand.dm | 6 ++- .../species/xenomorphs/alien_facehugger.dm | 8 ++-- .../simple_animal/friendly/spiderbot.dm | 14 +----- .../living/simple_animal/hostile/syndicate.dm | 1 + .../mob/living/simple_animal/simple_animal.dm | 44 +++++++++++-------- 8 files changed, 51 insertions(+), 35 deletions(-) diff --git a/code/_onclick/item_attack.dm b/code/_onclick/item_attack.dm index 7bb85445d4..0c8685162f 100644 --- a/code/_onclick/item_attack.dm +++ b/code/_onclick/item_attack.dm @@ -20,6 +20,15 @@ /obj/item/proc/afterattack(atom/target, mob/user, proximity_flag, click_parameters) return +//TODO: refactor mob attack code. +/* +Busy writing something else that I don't want to get mixed up in a general attack code, and I don't want to forget this so leaving a note here. +leave attackby() as handling the general case of "using an item on a mob" +attackby() will decide to call attacked_by() or not. +attacked_by() will be made a living level proc and handle the specific case of "attacking with an item to cause harm" +attacked_by() will then call attack() so that stunbatons and other weapons that have special attack effects can do their thing. +attacked_by() will handle hitting/missing/logging as it does now, and will call attack() to apply the attack effects (damage) instead of the other way around (as it is now). +*/ /obj/item/proc/attack(mob/living/M as mob, mob/living/user as mob, def_zone) @@ -57,6 +66,7 @@ power *= 2 // TODO: needs to be refactored into a mob/living level attacked_by() proc. ~Z + user.do_attack_animation(M) if(istype(M, /mob/living/carbon/human)) var/mob/living/carbon/human/H = M diff --git a/code/modules/mob/living/bot/farmbot.dm b/code/modules/mob/living/bot/farmbot.dm index f1c84f3866..4a7c6c0f22 100644 --- a/code/modules/mob/living/bot/farmbot.dm +++ b/code/modules/mob/living/bot/farmbot.dm @@ -228,6 +228,7 @@ switch(action) if("weed") flick("farmbot_hoe", src) + do_attack_animation(A) if(prob(50)) visible_message("[src] swings wildly at [A] with a minihoe, missing completely!") return diff --git a/code/modules/mob/living/bot/secbot.dm b/code/modules/mob/living/bot/secbot.dm index eba380340f..848da5633a 100644 --- a/code/modules/mob/living/bot/secbot.dm +++ b/code/modules/mob/living/bot/secbot.dm @@ -264,6 +264,7 @@ if(!cuff) C.stun_effect_act(0, 60, null) playsound(loc, 'sound/weapons/Egloves.ogg', 50, 1, -1) + do_attack_animation(C) is_attacking = 1 update_icons() spawn(2) @@ -283,6 +284,7 @@ var/mob/living/simple_animal/S = M S.AdjustStunned(10) S.adjustBruteLoss(15) + do_attack_animation(M) playsound(loc, "swing_hit", 50, 1, -1) is_attacking = 1 update_icons() diff --git a/code/modules/mob/living/carbon/human/human_attackhand.dm b/code/modules/mob/living/carbon/human/human_attackhand.dm index b8244e8326..92a022f105 100644 --- a/code/modules/mob/living/carbon/human/human_attackhand.dm +++ b/code/modules/mob/living/carbon/human/human_attackhand.dm @@ -15,10 +15,11 @@ if(istype(H)) if((H != src) && check_shields(0, H.name)) visible_message("\red [H] attempted to touch [src]!") + H.do_attack_animation(src) return 0 if(istype(H.gloves, /obj/item/clothing/gloves/boxing/hologlove)) - + H.do_attack_animation(src) var/damage = rand(0, 9) if(!damage) playsound(loc, 'sound/weapons/punchmiss.ogg', 25, 1, -1) @@ -88,6 +89,7 @@ G.synch() LAssailant = M + H.do_attack_animation(src) playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, 1, -1) visible_message("[M] has grabbed [src] passively!") return 1 @@ -179,6 +181,7 @@ if(!attack) return 0 + H.do_attack_animation(src) if(!attack_message) attack.show_attack(H, src, hit_zone, rand_damage) else @@ -213,6 +216,7 @@ src.attack_log += text("\[[time_stamp()]\] Has been disarmed by [M.name] ([M.ckey])") msg_admin_attack("[key_name(M)] disarmed [src.name] ([src.ckey])") + M.do_attack_animation(src) if(w_uniform) w_uniform.add_fingerprint(M) diff --git a/code/modules/mob/living/carbon/human/species/xenomorphs/alien_facehugger.dm b/code/modules/mob/living/carbon/human/species/xenomorphs/alien_facehugger.dm index bdc505fe34..68e106ee1d 100644 --- a/code/modules/mob/living/carbon/human/species/xenomorphs/alien_facehugger.dm +++ b/code/modules/mob/living/carbon/human/species/xenomorphs/alien_facehugger.dm @@ -54,8 +54,10 @@ var/const/MAX_ACTIVE_TIME = 400 user << "\red \b It looks like the proboscis has been removed." return -/obj/item/clothing/mask/facehugger/attackby() - Die() +/obj/item/clothing/mask/facehugger/attackby(obj/item/I, mob/user) + if(I.force) + user.do_attack_animation(src) + Die() return /obj/item/clothing/mask/facehugger/bullet_act() @@ -63,7 +65,7 @@ var/const/MAX_ACTIVE_TIME = 400 return /obj/item/clothing/mask/facehugger/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume) - if(exposed_temperature > 300) + if(exposed_temperature > T0C+80) Die() return diff --git a/code/modules/mob/living/simple_animal/friendly/spiderbot.dm b/code/modules/mob/living/simple_animal/friendly/spiderbot.dm index af59941b1f..0631273769 100644 --- a/code/modules/mob/living/simple_animal/friendly/spiderbot.dm +++ b/code/modules/mob/living/simple_animal/friendly/spiderbot.dm @@ -135,19 +135,7 @@ spawn(300) src.explode() else - if(O.force) - var/damage = O.force - if (O.damtype == HALLOSS) - damage = 0 - adjustBruteLoss(damage) - for(var/mob/M in viewers(src, null)) - if ((M.client && !( M.blinded ))) - M.show_message("\red \b [src] has been attacked with the [O] by [user]. ") - else - usr << "\red This weapon is ineffective, it does no damage." - for(var/mob/M in viewers(src, null)) - if ((M.client && !( M.blinded ))) - M.show_message("\red [user] gently taps [src] with the [O]. ") + attacked_with_item(O, user) /mob/living/simple_animal/spiderbot/proc/transfer_personality(var/obj/item/device/mmi/M as obj) diff --git a/code/modules/mob/living/simple_animal/hostile/syndicate.dm b/code/modules/mob/living/simple_animal/hostile/syndicate.dm index e0845a399d..870ad82c8e 100644 --- a/code/modules/mob/living/simple_animal/hostile/syndicate.dm +++ b/code/modules/mob/living/simple_animal/hostile/syndicate.dm @@ -68,6 +68,7 @@ visible_message("\red \b [src] has been attacked with the [O] by [user]. ") else visible_message("\red \b [src] blocks the [O] with its shield! ") + //user.do_attack_animation(src) else usr << "\red This weapon is ineffective, it does no damage." visible_message("\red [user] gently taps [src] with the [O]. ") diff --git a/code/modules/mob/living/simple_animal/simple_animal.dm b/code/modules/mob/living/simple_animal/simple_animal.dm index ab2bc3d98c..fc8f0b33b3 100644 --- a/code/modules/mob/living/simple_animal/simple_animal.dm +++ b/code/modules/mob/living/simple_animal/simple_animal.dm @@ -240,6 +240,7 @@ if(I_DISARM) M.visible_message("\blue [M] [response_disarm] \the [src]") + M.do_attack_animation(src) //TODO: Push the mob away or something if(I_GRAB) @@ -257,10 +258,12 @@ LAssailant = M M.visible_message("\red [M] has grabbed [src] passively!") + M.do_attack_animation(src) if(I_HURT) adjustBruteLoss(harm_intent_damage) M.visible_message("\red [M] [response_harm] \the [src]") + M.do_attack_animation(src) return @@ -279,28 +282,33 @@ if ((M.client && !( M.blinded ))) M.show_message("[user] applies the [MED] on [src].") else - user << "\The [src] is dead, medical items won't bring it back to life." + user << "\The [src] is dead, medical items won't bring \him back to life." if(meat_type && (stat == DEAD)) //if the animal has a meat, and if it is dead. if(istype(O, /obj/item/weapon/kitchenknife) || istype(O, /obj/item/weapon/butch)) harvest(user) else - user.changeNext_move(8) - if(O.force > resistance) - var/damage = O.force - if (O.damtype == HALLOSS) - damage = 0 - if(supernatural && istype(O,/obj/item/weapon/nullrod)) - damage *= 2 - purge = 3 - adjustBruteLoss(damage) - for(var/mob/M in viewers(src, null)) - if ((M.client && !( M.blinded ))) - M.show_message("This weapon is ineffective, it does no damage." - for(var/mob/M in viewers(src, null)) - if ((M.client && !( M.blinded ))) - M.show_message("[user] gently taps [src] with \the [O].") + attacked_with_item(O, user) + +//TODO: refactor mob attackby(), attacked_by(), and friends. +/mob/living/simple_animal/proc/attacked_with_item(var/obj/item/O, var/mob/user) + user.changeNext_move(8) + if(!O.force) + visible_message("[user] gently taps [src] with \the [O].") + return + + if(O.force > resistance) + var/damage = O.force + if (O.damtype == HALLOSS) + damage = 0 + if(supernatural && istype(O,/obj/item/weapon/nullrod)) + damage *= 2 + purge = 3 + adjustBruteLoss(damage) + else + usr << "[src] has been attacked with the [O] by [user].") + user.do_attack_animation(src) /mob/living/simple_animal/movement_delay() var/tally = 0 //Incase I need to add stuff other than "speed" later From 87178d74a68bd7286617c86d352aeddf1cbc7301 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Wed, 20 May 2015 00:19:39 -0400 Subject: [PATCH 28/45] Adds attack animation calls for attack_generic() --- code/game/gamemodes/cult/cult_structures.dm | 11 ++++++----- code/game/machinery/doors/door.dm | 1 + code/game/machinery/turrets.dm | 1 + code/game/mecha/mecha.dm | 3 ++- code/game/objects/structures.dm | 1 + .../game/objects/structures/crates_lockers/closets.dm | 1 + .../structures/crates_lockers/closets/statue.dm | 1 + code/game/objects/structures/girders.dm | 1 + code/game/objects/structures/grille.dm | 1 + code/game/objects/structures/inflatable.dm | 1 + code/game/objects/structures/mirror.dm | 1 + code/game/objects/structures/window.dm | 1 + code/game/turfs/simulated/wall_attacks.dm | 1 + .../mob/living/carbon/human/human_attackhand.dm | 1 + code/modules/mob/living/living_defense.dm | 1 + code/modules/power/lighting.dm | 1 + code/modules/vehicles/vehicle.dm | 1 + 17 files changed, 23 insertions(+), 6 deletions(-) diff --git a/code/game/gamemodes/cult/cult_structures.dm b/code/game/gamemodes/cult/cult_structures.dm index b5854ed981..d70c181830 100644 --- a/code/game/gamemodes/cult/cult_structures.dm +++ b/code/game/gamemodes/cult/cult_structures.dm @@ -38,11 +38,12 @@ /obj/structure/cult/pylon/proc/attackpylon(mob/user as mob, var/damage) if(!isbroken) if(prob(1+ damage * 5)) - user << "You hit the pylon, and its crystal breaks apart!" - for(var/mob/M in viewers(src)) - if(M == user) - continue - M.show_message("[user.name] smashed the pylon!", 3, "You hear a tinkle of crystal shards", 2) + user.visible_message( + "[user] smashed the pylon!", + "You hit the pylon, and its crystal breaks apart!", + "You hear a tinkle of crystal shards" + ) + user.do_attack_animation(src) playsound(get_turf(src), 'sound/effects/Glassbr3.ogg', 75, 1) isbroken = 1 density = 0 diff --git a/code/game/machinery/doors/door.dm b/code/game/machinery/doors/door.dm index 0f3760009d..5fe902c485 100644 --- a/code/game/machinery/doors/door.dm +++ b/code/game/machinery/doors/door.dm @@ -43,6 +43,7 @@ take_damage(damage) else visible_message("\The [user] bonks \the [src] harmlessly.") + user.do_attack_animation(src) /obj/machinery/door/New() . = ..() diff --git a/code/game/machinery/turrets.dm b/code/game/machinery/turrets.dm index e3a104d21c..c36fe7c064 100644 --- a/code/game/machinery/turrets.dm +++ b/code/game/machinery/turrets.dm @@ -341,6 +341,7 @@ if(stat & BROKEN) user << "That object is useless to you." return 0 + user.do_attack_animation(src) visible_message("[user] [attack_message] the [src]!") user.attack_log += text("\[[time_stamp()]\] attacked [src.name]") src.health -= damage diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm index b0423340e7..3e4703cd33 100644 --- a/code/game/mecha/mecha.dm +++ b/code/game/mecha/mecha.dm @@ -1791,8 +1791,9 @@ if(!damage) return 0 - src.log_message("Attack by an animal. Attacker - [user].",1) + src.log_message("Attacked. Attacker - [user].",1) + user.do_attack_animation(src) if(!prob(src.deflect_chance)) src.take_damage(damage) src.check_for_internal_damage(list(MECHA_INT_TEMP_CONTROL,MECHA_INT_TANK_BREACH,MECHA_INT_CONTROL_LOST)) diff --git a/code/game/objects/structures.dm b/code/game/objects/structures.dm index 4b0501a2d1..fe96abb469 100644 --- a/code/game/objects/structures.dm +++ b/code/game/objects/structures.dm @@ -192,5 +192,6 @@ if(!breakable || !damage || !wallbreaker) return 0 visible_message("[user] [attack_verb] the [src] apart!") + user.do_attack_animation(src) spawn(1) qdel(src) return 1 diff --git a/code/game/objects/structures/crates_lockers/closets.dm b/code/game/objects/structures/crates_lockers/closets.dm index 5e1a551cec..2bb423c241 100644 --- a/code/game/objects/structures/crates_lockers/closets.dm +++ b/code/game/objects/structures/crates_lockers/closets.dm @@ -305,6 +305,7 @@ /obj/structure/closet/attack_generic(var/mob/user, var/damage, var/attack_message = "destroys", var/wallbreaker) if(!damage || !wallbreaker) return + user.do_attack_animation(src) visible_message("[user] [attack_message] the [src]!") dump_contents() spawn(1) qdel(src) diff --git a/code/game/objects/structures/crates_lockers/closets/statue.dm b/code/game/objects/structures/crates_lockers/closets/statue.dm index 67a159e7ca..b59cd62dfa 100644 --- a/code/game/objects/structures/crates_lockers/closets/statue.dm +++ b/code/game/objects/structures/crates_lockers/closets/statue.dm @@ -105,6 +105,7 @@ /obj/structure/closet/statue/attackby(obj/item/I as obj, mob/user as mob) health -= I.force + user.do_attack_animation(src) visible_message("[user] strikes [src] with [I].") if(health <= 0) for(var/mob/M in src) diff --git a/code/game/objects/structures/girders.dm b/code/game/objects/structures/girders.dm index e8cb65a33d..4a12eb9e00 100644 --- a/code/game/objects/structures/girders.dm +++ b/code/game/objects/structures/girders.dm @@ -17,6 +17,7 @@ /obj/structure/girder/attack_generic(var/mob/user, var/damage, var/attack_message = "smashes apart", var/wallbreaker) if(!damage || !wallbreaker) return 0 + user.do_attack_animation(src) visible_message("[user] [attack_message] the [src]!") spawn(1) dismantle() return 1 diff --git a/code/game/objects/structures/grille.dm b/code/game/objects/structures/grille.dm index b18658d4a6..0dadc6b44f 100644 --- a/code/game/objects/structures/grille.dm +++ b/code/game/objects/structures/grille.dm @@ -217,6 +217,7 @@ /obj/structure/grille/attack_generic(var/mob/user, var/damage, var/attack_verb) visible_message("[user] [attack_verb] the [src]!") + user.do_attack_animation(src) health -= damage spawn(1) healthcheck() return 1 diff --git a/code/game/objects/structures/inflatable.dm b/code/game/objects/structures/inflatable.dm index a9b1359b75..7ded57a35e 100644 --- a/code/game/objects/structures/inflatable.dm +++ b/code/game/objects/structures/inflatable.dm @@ -115,6 +115,7 @@ /obj/structure/inflatable/attack_generic(var/mob/user, var/damage, var/attack_verb) health -= damage + user.do_attack_animation(src) if(health <= 0) user.visible_message("[user] [attack_verb] open the [src]!") spawn(1) deflate(1) diff --git a/code/game/objects/structures/mirror.dm b/code/game/objects/structures/mirror.dm index 4868f6e0ca..8141dcf5a3 100644 --- a/code/game/objects/structures/mirror.dm +++ b/code/game/objects/structures/mirror.dm @@ -54,6 +54,7 @@ /obj/structure/mirror/attack_generic(var/mob/user, var/damage) + user.do_attack_animation(src) if(shattered) playsound(src.loc, 'sound/effects/hit_on_shattered_glass.ogg', 70, 1) return 0 diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm index 387c76eb69..8be7d2bd97 100644 --- a/code/game/objects/structures/window.dm +++ b/code/game/objects/structures/window.dm @@ -207,6 +207,7 @@ take_damage(damage) else visible_message("\The [user] bonks \the [src] harmlessly.") + user.do_attack_animation(src) return 1 /obj/structure/window/attackby(obj/item/W as obj, mob/user as mob) diff --git a/code/game/turfs/simulated/wall_attacks.dm b/code/game/turfs/simulated/wall_attacks.dm index 4d86d70877..e3037f94a9 100644 --- a/code/game/turfs/simulated/wall_attacks.dm +++ b/code/game/turfs/simulated/wall_attacks.dm @@ -28,6 +28,7 @@ /turf/simulated/wall/proc/success_smash(var/mob/user) user << "You smash through the wall!" + user.do_attack_animation(src) spawn(1) dismantle_wall(1) diff --git a/code/modules/mob/living/carbon/human/human_attackhand.dm b/code/modules/mob/living/carbon/human/human_attackhand.dm index 92a022f105..081f2c2def 100644 --- a/code/modules/mob/living/carbon/human/human_attackhand.dm +++ b/code/modules/mob/living/carbon/human/human_attackhand.dm @@ -275,6 +275,7 @@ user.attack_log += text("\[[time_stamp()]\] attacked [src.name] ([src.ckey])") src.attack_log += text("\[[time_stamp()]\] was attacked by [user.name] ([user.ckey])") src.visible_message("[user] has [attack_message] [src]!") + user.do_attack_animation(src) var/dam_zone = pick("head", "chest", "l_arm", "r_arm", "l_leg", "r_leg", "groin") var/obj/item/organ/external/affecting = get_organ(ran_zone(dam_zone)) diff --git a/code/modules/mob/living/living_defense.dm b/code/modules/mob/living/living_defense.dm index 4a41479e34..9dd399a804 100644 --- a/code/modules/mob/living/living_defense.dm +++ b/code/modules/mob/living/living_defense.dm @@ -194,6 +194,7 @@ user.attack_log += text("\[[time_stamp()]\] attacked [src.name] ([src.ckey])") src.attack_log += text("\[[time_stamp()]\] was attacked by [user.name] ([user.ckey])") src.visible_message("[user] has [attack_message] [src]!") + user.do_attack_animation(src) spawn(1) updatehealth() return 1 diff --git a/code/modules/power/lighting.dm b/code/modules/power/lighting.dm index ba3c539c77..0c02a4e182 100644 --- a/code/modules/power/lighting.dm +++ b/code/modules/power/lighting.dm @@ -271,6 +271,7 @@ if(!(status == LIGHT_OK||status == LIGHT_BURNED)) return visible_message("[user] smashes the light!") + user.do_attack_animation(src) broken() return 1 diff --git a/code/modules/vehicles/vehicle.dm b/code/modules/vehicles/vehicle.dm index 9407dc937a..dc5f1faaf7 100644 --- a/code/modules/vehicles/vehicle.dm +++ b/code/modules/vehicles/vehicle.dm @@ -363,6 +363,7 @@ return visible_message("[user] [attack_message] the [src]!") user.attack_log += text("\[[time_stamp()]\] attacked [src.name]") + user.do_attack_animation(src) src.health -= damage if(prob(10)) new /obj/effect/decal/cleanable/blood/oil(src.loc) From c289975498efecff312aa130441cd5e66726b7fe Mon Sep 17 00:00:00 2001 From: mwerezak Date: Wed, 20 May 2015 00:28:57 -0400 Subject: [PATCH 29/45] Adds attack animation calls for a few common machines and structures - Cameras - Doors - Grilles - Windows --- code/game/machinery/camera/camera.dm | 2 ++ code/game/machinery/doors/door.dm | 1 + code/game/objects/structures/grille.dm | 2 ++ code/game/objects/structures/window.dm | 11 +++++++---- 4 files changed, 12 insertions(+), 4 deletions(-) diff --git a/code/game/machinery/camera/camera.dm b/code/game/machinery/camera/camera.dm index 4a7aed5555..c88b9bfa37 100644 --- a/code/game/machinery/camera/camera.dm +++ b/code/game/machinery/camera/camera.dm @@ -115,6 +115,7 @@ if(user.species.can_shred(user)) set_status(0) + user.do_attack_animation(src) visible_message("\The [user] slashes at [src]!") playsound(src.loc, 'sound/weapons/slash.ogg', 100, 1) icon_state = "[initial(icon_state)]1" @@ -188,6 +189,7 @@ else if(W.damtype == BRUTE || W.damtype == BURN) //bashing cameras if (W.force >= src.toughness) + user.do_attack_animation(src) visible_message("[src] has been [pick(W.attack_verb)] with [W] by [user]!") if (istype(W, /obj/item)) //is it even possible to get into attackby() with non-items? var/obj/item/I = W diff --git a/code/game/machinery/doors/door.dm b/code/game/machinery/doors/door.dm index 5fe902c485..a5f492814e 100644 --- a/code/game/machinery/doors/door.dm +++ b/code/game/machinery/doors/door.dm @@ -265,6 +265,7 @@ if(src.density && istype(I, /obj/item/weapon) && user.a_intent == I_HURT && !istype(I, /obj/item/weapon/card)) var/obj/item/weapon/W = I if(W.damtype == BRUTE || W.damtype == BURN) + user.do_attack_animation(src) if(W.force < min_force) user.visible_message("\red \The [user] hits \the [src] with \the [W] with no visible effect." ) else diff --git a/code/game/objects/structures/grille.dm b/code/game/objects/structures/grille.dm index 0dadc6b44f..49be0622c9 100644 --- a/code/game/objects/structures/grille.dm +++ b/code/game/objects/structures/grille.dm @@ -34,6 +34,7 @@ /obj/structure/grille/attack_hand(mob/user as mob) playsound(loc, 'sound/effects/grillehit.ogg', 80, 1) + user.do_attack_animation(src) var/damage_dealt = 1 var/attack_message = "kicks" @@ -156,6 +157,7 @@ else if(istype(W, /obj/item/weapon/shard)) health -= W.force * 0.1 else if(!shock(user, 70)) + user.do_attack_animation(src) playsound(loc, 'sound/effects/grillehit.ogg', 80, 1) switch(W.damtype) if("fire") diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm index 8be7d2bd97..82a64c2f4a 100644 --- a/code/game/objects/structures/window.dm +++ b/code/game/objects/structures/window.dm @@ -178,6 +178,7 @@ if(HULK in user.mutations) user.say(pick(";RAAAAAAAARGH!", ";HNNNNNNNNNGGGGGGH!", ";GWAAAAAAAARRRHHH!", "NNNNNNNNGGGGGGGGHH!", ";AAAAAAARRRGH!")) user.visible_message("[user] smashes through [src]!") + user.do_attack_animation(src) shatter() else if (usr.a_intent == I_HURT) @@ -189,13 +190,14 @@ return playsound(src.loc, 'sound/effects/glassknock.ogg', 80, 1) - usr.visible_message("\red [usr.name] bangs against the [src.name]!", \ - "\red You bang against the [src.name]!", \ + user.do_attack_animation(src) + usr.visible_message("\red [usr.name] bangs against the [src.name]!", + "\red You bang against the [src.name]!", "You hear a banging sound.") else playsound(src.loc, 'sound/effects/glassknock.ogg', 80, 1) - usr.visible_message("[usr.name] knocks on the [src.name].", \ - "You knock on the [src.name].", \ + usr.visible_message("[usr.name] knocks on the [src.name].", + "You knock on the [src.name].", "You hear a knocking sound.") return @@ -270,6 +272,7 @@ qdel(src) else if(W.damtype == BRUTE || W.damtype == BURN) + user.do_attack_animation(src) hit(W.force) if(health <= 7) anchored = 0 From a6f59edc22740955215ef4f91701711b558f9ff4 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Wed, 20 May 2015 14:00:04 +0930 Subject: [PATCH 30/45] Bit of documentation. --- baystation12.dme | 1 + .../weapons/material/material_weapons.dm | 3 + code/modules/materials/material_sheets.dm | 32 +---- code/modules/materials/material_synth.dm | 32 +++++ code/modules/materials/materials.dm | 122 ++++++++++++------ 5 files changed, 116 insertions(+), 74 deletions(-) create mode 100644 code/modules/materials/material_synth.dm diff --git a/baystation12.dme b/baystation12.dme index 11f9db1b0f..6b2fd2f49b 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -1048,6 +1048,7 @@ #include "code\modules\maps\writer.dm" #include "code\modules\materials\material_recipes.dm" #include "code\modules\materials\material_sheets.dm" +#include "code\modules\materials\material_synth.dm" #include "code\modules\materials\materials.dm" #include "code\modules\mining\abandonedcrates.dm" #include "code\modules\mining\alloys.dm" diff --git a/code/game/objects/items/weapons/material/material_weapons.dm b/code/game/objects/items/weapons/material/material_weapons.dm index 0a1039a6c4..8208576e16 100644 --- a/code/game/objects/items/weapons/material/material_weapons.dm +++ b/code/game/objects/items/weapons/material/material_weapons.dm @@ -1,3 +1,6 @@ +// SEE code/modules/materials/materials.dm FOR DETAILS ON INHERITED DATUM. +// This class of weapons takes force and appearance data from a material datum. +// They are also fragile based on material data and many can break/smash apart. /obj/item/weapon/material health = 10 hitsound = 'sound/weapons/bladeslice.ogg' diff --git a/code/modules/materials/material_sheets.dm b/code/modules/materials/material_sheets.dm index 332d1dbe48..2d53c6c29c 100644 --- a/code/modules/materials/material_sheets.dm +++ b/code/modules/materials/material_sheets.dm @@ -1,4 +1,4 @@ -// Stacked resources. +// Stacked resources. They use a material datum for a lot of inherited values. /obj/item/stack/material force = 5.0 throwforce = 5 @@ -45,36 +45,6 @@ matter[material.name] = material.stack_per_sheet return 1 -/obj/item/stack/material/cyborg - uses_charge = 1 - charge_costs = list(1000) - gender = NEUTER - matter = null - -/obj/item/stack/material/cyborg/New() - if(..()) - name = "[material.display_name] synthesiser" - desc = "A device that synthesises [material.display_name]." - -/obj/item/stack/material/cyborg/plastic - default_type = "plastic" - -/obj/item/stack/material/cyborg/steel - default_type = "steel" - -/obj/item/stack/material/cyborg/plasteel - default_type = "plasteel" - -/obj/item/stack/material/cyborg/wood - default_type = "wood" - -/obj/item/stack/material/cyborg/glass - default_type = "glass" - -/obj/item/stack/material/cyborg/glass/reinforced - default_type = "reinforced glass" - charge_costs = list(500, 1000) - obj/item/stack/material/iron name = "iron" icon_state = "sheet-silver" diff --git a/code/modules/materials/material_synth.dm b/code/modules/materials/material_synth.dm new file mode 100644 index 0000000000..a0977e69c5 --- /dev/null +++ b/code/modules/materials/material_synth.dm @@ -0,0 +1,32 @@ +// These objects are used by cyborgs to get around a lot of the limitations on stacks +// and the weird bugs that crop up when expecting borg module code to behave sanely. +/obj/item/stack/material/cyborg + uses_charge = 1 + charge_costs = list(1000) + gender = NEUTER + matter = null // Don't shove it in the autholathe. + +/obj/item/stack/material/cyborg/New() + if(..()) + name = "[material.display_name] synthesiser" + desc = "A device that synthesises [material.display_name]." + matter = null + +/obj/item/stack/material/cyborg/plastic + default_type = "plastic" + +/obj/item/stack/material/cyborg/steel + default_type = "steel" + +/obj/item/stack/material/cyborg/plasteel + default_type = "plasteel" + +/obj/item/stack/material/cyborg/wood + default_type = "wood" + +/obj/item/stack/material/cyborg/glass + default_type = "glass" + +/obj/item/stack/material/cyborg/glass/reinforced + default_type = "reinforced glass" + charge_costs = list(500, 1000) \ No newline at end of file diff --git a/code/modules/materials/materials.dm b/code/modules/materials/materials.dm index 3870f2a87c..a3189d6e0f 100644 --- a/code/modules/materials/materials.dm +++ b/code/modules/materials/materials.dm @@ -1,5 +1,33 @@ +/* + MATERIAL DATUMS + This data is used by various parts of the game for basic physical properties and behaviors + of the metals/materials used for constructing many objects. Each var is commented and should be pretty + self-explanatory but the various object types may have their own documentation. ~Z + + PATHS THAT USE DATUMS + /turf/simulated/wall + /obj/item/weapon/material + /obj/structure/barricade + /obj/item/stack/material + /obj/structure/table + + VALID ICONS + WALLS + stone + metal + solid + cult + DOORS + stone + metal + resin + wood +*/ + +// Assoc list containing all material datums indexed by name. var/list/name_to_material +// Builds the datum list above. /proc/populate_material_list(force_remake=0) if(name_to_material && !force_remake) return // Already set up! name_to_material = list() @@ -10,62 +38,58 @@ var/list/name_to_material name_to_material[lowertext(new_mineral.name)] = new_mineral return 1 +// Safety proc to make sure the material list exists before trying to grab from it. /proc/get_material_by_name(name) if(!name_to_material) populate_material_list() return name_to_material[name] -/* - Valid sprite masks: - stone - metal - solid - cult - Valid door icons: - stone - metal - resin - wood - -*/ - +// Material definition and procs follow. /material - var/name // Tag for use in overlay generation/list population . - var/display_name - var/flags = 0 - var/rotting_touch_message = "crumbles under your touch" + var/name // Unique name for use in indexing the list. + var/display_name // Prettier name for display. + var/flags = 0 // Various status modifiers. // Shards/tables/structures - var/tableslam_noise = 'sound/weapons/tablehit1.ogg' - var/dooropen_noise = 'sound/effects/stonedoor_openclose.ogg' - var/shard_type = SHARD_SHRAPNEL - var/shard_icon - var/shard_can_repair = 1 - var/list/recipes - var/destruction_desc = "breaks apart" + var/shard_type = SHARD_SHRAPNEL // Path of debris object. + var/shard_icon // Related to above. + var/shard_can_repair = 1 // Can shards be turned into sheets with a welder? + var/list/recipes // Holder for all recipes usable with a sheet of this material. + var/destruction_desc = "breaks apart" // Fancy string for barricades/tables/objects exploding. // Icons - var/icon_colour - var/icon_base = "metal" - var/door_icon_base = "metal" - var/icon_reinf = "reinf_metal" - var/stack_type = /obj/item/stack/material/steel - var/stack_origin_tech = "materials=1" - var/stack_per_sheet = 2000 + var/icon_colour // Colour applied to products of this material. + var/icon_base = "metal" // Wall and table base icon tag. See header. + var/door_icon_base = "metal" // Door base icon tag. See header. + var/icon_reinf = "reinf_metal" // Overlay used + var/stack_origin_tech = "materials=1" // Research level for stacks. + var/stack_per_sheet = 2000 // perunit value for stacks. // Attributes - var/cut_delay = 0 - var/radioactivity - var/ignition_point - var/melting_point = 1800 // K, walls will take damage if they're next to a fire hotter than this - var/integrity = 150 // Damage before wall falls apart, essentially. - var/hardness = 60 // Used to determine if a hulk can punch through this wall. - var/opacity = 1 - var/explosion_resistance = 5 - var/weight = 20 - var/conductive = 1 - var/list/composite_material + var/cut_delay = 0 // Delay in ticks when cutting through this wall. + var/radioactivity // Radiation var. Used in wall and object processing to irradiate surroundings. + var/ignition_point // Point at which the material catches on fire. + var/melting_point = 1800 // K, walls will take damage if they're next to a fire hotter than this + var/integrity = 150 // General-use HP value for products. + var/opacity = 1 // Is the material transparent? 0.5< makes transparent walls/doors. + var/explosion_resistance = 5 // Only used by walls currently. + var/conductive = 1 // Objects with this var add CONDUCTS to flags on spawn. + var/list/composite_material // If set, object matter var will be a list containing these values. + // Damage values. + var/hardness = 60 // Prob of wall destruction by hulk, used for edge damage in weapons. + var/weight = 20 // Determines blunt damage/throwforce for weapons. + + // Noise when someone is faceplanted onto a table made of this material. + var/tableslam_noise = 'sound/weapons/tablehit1.ogg' + // Noise made when a simple door made of this material opens or closes. + var/dooropen_noise = 'sound/effects/stonedoor_openclose.ogg' + // Path to resulting stacktype. Todo remove need for this. + var/stack_type = /obj/item/stack/material/steel + // Wallrot crumble message. + var/rotting_touch_message = "crumbles under your touch" + +// Make sure we have a display name and shard icon even if they aren't explicitly set. /material/New() ..() if(!display_name) @@ -73,42 +97,54 @@ var/list/name_to_material if(!shard_icon) shard_icon = shard_type +// Weapons handle applying a divisor for this value locally. /material/proc/get_blunt_damage() return weight //todo +// As above. /material/proc/get_edge_damage() return hardness //todo +// Snowflakey, only checked for alien doors at the moment. /material/proc/can_open_material_door(var/mob/living/user) return 1 +// Currently used for weapons and objects made of uranium to irradiate things. /material/proc/products_need_process() return (radioactivity>0) //todo +// Used by walls when qdel()ing to avoid neighbor merging. /material/placeholder name = "placeholder" +// Places a girder object when a wall is dismantled, also applies reinforced material. /material/proc/place_dismantled_girder(var/turf/target, var/material/reinf_material) var/obj/structure/girder/G = new(target) if(reinf_material) G.reinf_material = reinf_material G.reinforce_girder() +// General wall debris product placement. +// Not particularly necessary aside from snowflakey cult girders. /material/proc/place_dismantled_product(var/turf/target,var/is_devastated) for(var/x=1;x<(is_devastated?2:3);x++) place_sheet(target) +// Debris product. Used ALL THE TIME. /material/proc/place_sheet(var/turf/target) if(stack_type) return new stack_type(target) +// As above. /material/proc/place_shard(var/turf/target) if(shard_type) return new /obj/item/weapon/material/shard(target, src.name) +// Used by walls and weapons to determine if they break or not. /material/proc/is_brittle() return !!(flags & MATERIAL_BRITTLE) +// Datum definitions follow. /material/uranium name = "uranium" stack_type = /obj/item/stack/material/uranium From 01e8246e6452cfe54b490c11f849d1fc7d2de3ee Mon Sep 17 00:00:00 2001 From: mwerezak Date: Wed, 20 May 2015 00:35:26 -0400 Subject: [PATCH 31/45] Clean up world print --- code/modules/mob/animations.dm | 1 - 1 file changed, 1 deletion(-) diff --git a/code/modules/mob/animations.dm b/code/modules/mob/animations.dm index 8deca57d18..ac4224dc43 100644 --- a/code/modules/mob/animations.dm +++ b/code/modules/mob/animations.dm @@ -112,7 +112,6 @@ note dizziness decrements automatically in the mob's Life() proc. is_floating = 0 /atom/movable/proc/do_attack_animation(atom/A) - world << "[src].do_attack_animation([A])" var/pixel_x_diff = 0 var/pixel_y_diff = 0 From 71da36ec01adbd1b1549f1f8bfa1fff9d96914ba Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Thu, 21 May 2015 00:52:17 +0930 Subject: [PATCH 32/45] Updated force vars on bats. --- code/game/objects/items/weapons/material/bats.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/game/objects/items/weapons/material/bats.dm b/code/game/objects/items/weapons/material/bats.dm index e507b2a4d9..eccc13a298 100644 --- a/code/game/objects/items/weapons/material/bats.dm +++ b/code/game/objects/items/weapons/material/bats.dm @@ -8,8 +8,8 @@ attack_verb = list("smashed", "beaten", "slammed", "smacked", "struck", "battered", "bonked") hitsound = 'sound/weapons/genhit3.ogg' default_material = "wood" - force_divisor = 1.35 // 27 when wielded with weight 20 (steel) - unwielded_force_divisor = 0.7 // 18 when unwielded based on above. + force_divisor = 1.1 // 22 when wielded with weight 20 (steel) + unwielded_force_divisor = 0.7 // 15 when unwielded based on above. //Predefined materials go here. /obj/item/weapon/material/twohanded/baseballbat/metal/New(var/newloc) From aeb8f2a6c27a0923510d8faba22fe86f76895e03 Mon Sep 17 00:00:00 2001 From: GinjaNinja32 Date: Wed, 20 May 2015 16:44:47 +0100 Subject: [PATCH 33/45] Fixes #9380 --- code/game/objects/items/weapons/extinguisher.dm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/game/objects/items/weapons/extinguisher.dm b/code/game/objects/items/weapons/extinguisher.dm index 9a0e5eef78..4eec1009e5 100644 --- a/code/game/objects/items/weapons/extinguisher.dm +++ b/code/game/objects/items/weapons/extinguisher.dm @@ -110,8 +110,8 @@ var/list/the_targets = list(T,T1,T2) for(var/a = 1 to spray_particles) - spawn(0) - var/obj/effect/effect/water/W = PoolOrNew(new /obj/effect/effect/water, get_turf(src)) + spawn(0) + var/obj/effect/effect/water/W = PoolOrNew(/obj/effect/effect/water, get_turf(src)) var/turf/my_target if(a == 1) my_target = T @@ -126,7 +126,7 @@ return reagents.trans_to_obj(W, spray_amount) W.set_color() - W.set_up(my_target) + W.set_up(my_target) if((istype(usr.loc, /turf/space)) || (usr.lastarea.has_gravity == 0)) user.inertia_dir = get_dir(target, user) From 9888a8a70b54c130ebe2e238494645fb029bb43f Mon Sep 17 00:00:00 2001 From: GinjaNinja32 Date: Wed, 20 May 2015 16:49:18 +0100 Subject: [PATCH 34/45] Another PoolOrNew(new /type, loc) fix --- code/modules/vehicles/vehicle.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/vehicles/vehicle.dm b/code/modules/vehicles/vehicle.dm index 9407dc937a..3709ad0b2a 100644 --- a/code/modules/vehicles/vehicle.dm +++ b/code/modules/vehicles/vehicle.dm @@ -149,7 +149,7 @@ /obj/vehicle/emp_act(severity) var/was_on = on stat |= EMPED - var/obj/effect/overlay/pulse2 = PoolOrNew(new/obj/effect/overlay, src.loc) + var/obj/effect/overlay/pulse2 = PoolOrNew(/obj/effect/overlay, src.loc) pulse2.icon = 'icons/effects/effects.dmi' pulse2.icon_state = "empdisable" pulse2.name = "emp sparks" From a227349b96f9b2d6dd607f42b4f48a0aa3807802 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Thu, 21 May 2015 01:36:45 +0930 Subject: [PATCH 35/45] Minor icon tweak for construction drones. --- icons/mob/robots.dmi | Bin 170293 -> 170268 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/mob/robots.dmi b/icons/mob/robots.dmi index e10b6649dee682573083a8e78e061b8aa8d26251..89392d81f778deebc53bf051a9f3567249c24ffd 100644 GIT binary patch delta 4446 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 delta 4476 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 Bb>jd4 From c345f317ac44800b3d7748a8ca60f526b1cc7a1f Mon Sep 17 00:00:00 2001 From: GinjaNinja32 Date: Wed, 20 May 2015 17:10:18 +0100 Subject: [PATCH 36/45] Fixes structure climbing --- code/game/objects/structures.dm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/game/objects/structures.dm b/code/game/objects/structures.dm index 4b0501a2d1..1f2025ca07 100644 --- a/code/game/objects/structures.dm +++ b/code/game/objects/structures.dm @@ -78,8 +78,8 @@ else return ..() -/obj/structure/proc/can_climb(var/mob/living/user) - if (!can_touch(user) || !climbable || (user in climbers)) +/obj/structure/proc/can_climb(var/mob/living/user, post_climb_check=0) + if (!can_touch(user) || !climbable || (!post_climb_check && (user in climbers))) return 0 if (!user.Adjacent(src)) @@ -115,7 +115,7 @@ climbers -= user return - if (!can_climb(user)) + if (!can_climb(user, post_climb_check=1)) climbers -= user return From 7cfb921ca03dae7c2266e5f8b9d9a99978570a4d Mon Sep 17 00:00:00 2001 From: Yoshax Date: Wed, 20 May 2015 20:36:24 +0100 Subject: [PATCH 37/45] Fixes a typo/mistake --- code/game/machinery/autolathe_datums.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/machinery/autolathe_datums.dm b/code/game/machinery/autolathe_datums.dm index 522b58744b..aefc774f68 100644 --- a/code/game/machinery/autolathe_datums.dm +++ b/code/game/machinery/autolathe_datums.dm @@ -202,7 +202,7 @@ category = "Medical" /datum/autolathe/recipe/syringegun_ammo - name = "syringe" + name = "syringe gun cartridge" path = /obj/item/weapon/syringe_cartridge category = "Arms and Ammunition" From 97b2a63b761c5c983c8a746f3b0d4fd3cc1be612 Mon Sep 17 00:00:00 2001 From: Chinsky Date: Thu, 21 May 2015 03:22:20 +0300 Subject: [PATCH 38/45] Missed one baddie Pretty sure that limb rotting alive is unhealthy yeah --- code/modules/mob/mob_grab.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/modules/mob/mob_grab.dm b/code/modules/mob/mob_grab.dm index 4a51684139..9471a70545 100644 --- a/code/modules/mob/mob_grab.dm +++ b/code/modules/mob/mob_grab.dm @@ -328,6 +328,7 @@ bad = 1 if(E.status & ORGAN_DEAD) assailant << "[E] is decaying!" + bad = 1 if(!bad) assailant << "[H]'s skin is normal." else From 0aff37a72ce2eae31ac75f01c9766464626f6762 Mon Sep 17 00:00:00 2001 From: GinjaNinja32 Date: Thu, 21 May 2015 06:03:15 +0100 Subject: [PATCH 39/45] Fixes floor painter 'side/3 corners'->'black' and another state --- code/game/objects/items/devices/floor_painter.dm | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/code/game/objects/items/devices/floor_painter.dm b/code/game/objects/items/devices/floor_painter.dm index a1c21a7b3f..43bc58261b 100644 --- a/code/game/objects/items/devices/floor_painter.dm +++ b/code/game/objects/items/devices/floor_painter.dm @@ -108,7 +108,7 @@ mode_nice = design mode = "[replacetext(design, "-", "")]full" if("corner") - var/design = input("Which design?", "Floor painter") in list("black", "red", "blue", "green", "yellow", "purple", "neutral", "white", "white-grey", "white-red", "white-blue", "white-green", "white-yellow", "white-purple") + var/design = input("Which design?", "Floor painter") in list("black", "red", "blue", "green", "yellow", "purple", "neutral", "white", "white-red", "white-blue", "white-green", "white-yellow", "white-purple") mode_nice = "[design] corner" mode = "[replacetext(design, "-", "")]corner" tile_dir_mode = 2 @@ -128,11 +128,13 @@ if(design == "white") mode = "whitehall" mode_nice = "white side" - tile_dir_mode = 1 + else if(design == "black") // because SOMEONE made the black/grey side/corner sprite have the same name as the 'empty space' sprite :( + mode = "blackfloor" + mode_nice = design else mode_nice = design mode = replacetext(design, "-", "") - tile_dir_mode = 1 + tile_dir_mode = 1 if("special") var/design = input("Which design?", "Floor painter") in list("arrival", "escape", "caution", "warning", "white-warning", "white-blue-green", "loadingarea", "delivery", "bot", "white-delivery", "white-bot") if(design == "white-blue-green") From 900fb32afffa8d975d1903b0cd2a9d03fd61c06e Mon Sep 17 00:00:00 2001 From: GinjaNinja32 Date: Thu, 21 May 2015 06:58:35 +0100 Subject: [PATCH 40/45] Fixes supply shuttle --- code/game/supplyshuttle.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/supplyshuttle.dm b/code/game/supplyshuttle.dm index 2b39256e5b..8bd7e81ded 100644 --- a/code/game/supplyshuttle.dm +++ b/code/game/supplyshuttle.dm @@ -235,7 +235,7 @@ var/list/mechtoys = list( if(T.density) continue var/contcount for(var/atom/A in T.contents) - if(A.simulated) + if(!A.simulated) continue contcount++ if(contcount) From 4e7702b7f32b1a10c4fe4bd028dfa864ec92d4ab Mon Sep 17 00:00:00 2001 From: GinjaNinja32 Date: Thu, 21 May 2015 07:11:32 +0100 Subject: [PATCH 41/45] DMI change for floor painter (renaming 'black' to 'blackfloor') --- icons/turf/floors.dmi | Bin 313410 -> 313413 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/turf/floors.dmi b/icons/turf/floors.dmi index 3c2d77e20a3c4c09b503ce7b977c8f77a5dd18cd..0ea7cd38f07977f341890ae3e2f7cd10d9e9b661 100644 GIT binary patch delta 1355 zcmV-R1+@CYkQ2p_6ObeUxv?dr0e@V=c~_$@p7pAHC0#AmF=&SmuYse_Pt|o9ad4}y z+i=*H!*&qc8|QrO^#SM87yJk>*!>sm`U`gZIYAoDm9V zgv1%4afU_ioKe12R`AZ>dy#*|bG>J!4yu+4i#C8*l>x*Ox5|p?O6SXF-hb^}+hUQ% z?q1;7m%(Wq&jG|i9oqHkP-AB&mQZbEiBO2qC-Jz`EgUYzD)C};8HlAakc8|5$vjF= z5)m3m9HL0#-4{um=^}{}ULiHn{yAK(< z2OLSZ|5e_;`=R8D<&*)(NgYjqR*h4Ywzcx2pv4(mX&>IQVmVv;mT;S92x~#FXTQTiCr&L zb?~}{!VX?neDJ#VgV&wYuIqo1!F@r`;ijPHaGBq8xF6~{ViKY&ZEM^!49|;urXIv? zSkK`WaJVt6G|^NIAgeXeP@R=Ad1%BRm{$+Z&Q&?Per7OUM1M0F%P@nn6f>BRV}kJl zoWXc8%wW6)W-wlk^Pu2GKBtpnNQ?*ObW#+F6+NeM9Ale~^@t?aB9d5#NMa2liJw1` z{Il~T61;jNiI;99@wzRPF9i29B~v4mM-%#qYyye{Ik7mD6N`g6u{fL)ivv2bL_%tG z5N6(cZgdcOf`8l^_4g4+!Kl;1+gVRj*|Pm|@#iubP#I%Q*10p5OLGIvWw`<7lH34u zXVn06XVn1XrO{8d?$$Va_GCtr8=BnG^yC9=^I=US9OYXHkF?E4+Rw*? zyA#Py`BuUc?dR77l1QKZs!Ld)cWZod4Jf~uvyAsOOMh{ID76Nb-%lC8p|UN#s1;=@>ukrzV7Dep>4Cjp69wtS(t6#mi6VMpX&LUrj=-5~!d7C(pk;HL~Bo1RF@rH{e-f)q` z8!nP~!}UMhwwFJ#Udx`f*9T!=g>8-Ey7CB?DSr;<+MdY4fH}@TC+XmpIX5~;PD~UV z9V923>_!L4i7vm4ghd%{I#HNyB-g%pPkHhn?&vnUUw-FUGj?u>gUz>U*A^We*U=q4;&RLt(!gdrGw)JhvNnThvNnU NhvNnVx8nu`U%}GKqiz5I delta 1352 zcmV-O1-JUekQ2g?6ObeUwy`Co0e`6pXYrU<%ZM{ub=`); zwj8#D*xoqjYp)MDmA>Fdc){+!VAo%;+b{PRdBDgcMxHS8m5}a^U{GW_E6;_ECqsu@nm4PH=A4uj=dXk9H zK;jTZ67Rl9;!GDwobV!v^WLaDPJbiHM~O&=Bg)5#NR1=PM~X<4ste+s#t9{Yd3D6| zv^ku+lX#=>u4>*Y@5t$&@_&};t_O}CxOjKA&fqCh;oW(t!!Gb^c2kTJC8KX8bh^S- zbB`w3B{AztXRVYt7Y^>e9SVngA}9?Bxoh0nJ9pqRNb9Obg|fk&?*Otrx{;F#&UcL>Mt}8ZzJsZO*h>5GmL*@Y!B^^tY%= zs^#CC++0}v-&Mq5w0|eBx;@LUlU1?k6o?&=i+%xqcZo_&G zw}8WqS*3}lY5-ZSiH7Q|jLAbI{=mF-aCWZB+4VDn@gkbRSbv5YjHQ^tgd7u$7vK!W zi(v-iEii-ea-0VRFY-B^6hmS>FsGBENUZ2NjpG>GbgV}tu@;fUIz$p{5J~*}k>sD9 zACchI8%ex$BZ=2-p?o2@pDCFdp*)( z-gBda&=cg=sDHnYI0{Cc7GBJHn#z{#my17_$$-ijYqHLrv0R!PU@prIFqh;8m^-Tm zm^-Tm7%z=}s&%)<*|R4zn%vOjmL_*Jd7nVy^PndmXqyjfBH<|CN_eDgKGJ?ZCfuD! zcFMOBo@hV6CXht>>{ngF0=-+~lWRcv#hhiluUU!%M1QF@u>5|?_zjh9=~b0&c?q^_ z;;`#ceoJRNdR=EbJ_frrQA!W&{hBC9CzjUheoYk76HCi*za|R*iA~S}*L)*NN8*0X zo>$rZny8Q>nh>&th$RFpC0;zrMvE!rjg|R#Lwh$oc=1OP@2F9E9QhIDqeNtt5#{4V>p+?8XBFWptfs7=MVv;kLc}iS=6cti3)6`zmZ}6xWqUuuO3{*MIgz4hGC|{v}BVx6HZGL2_cE*ytcR z(PTF|NKSP5jSiCIkG$dsPjmFz>)83iuQ}RmchjV* zB_zjRNM7=|7QE!~jPH_PJWxNczW@5R`u6k3?SF%JD2pmZ8L5Nj28ZSb0f*)W0*B@X K1GnY|1Yf~eS+#Be From 360113850aad837c96e7ac1a5f7ea046104eeede Mon Sep 17 00:00:00 2001 From: Kelenius Date: Thu, 21 May 2015 12:43:28 +0300 Subject: [PATCH 42/45] Updates Chemistry-Readme.dm Also removes one unused variable that I forgot to remove. --- code/modules/reagents/Chemistry-Holder.dm | 1 - code/modules/reagents/Chemistry-Readme.dm | 342 ++++++++++++---------- 2 files changed, 194 insertions(+), 149 deletions(-) diff --git a/code/modules/reagents/Chemistry-Holder.dm b/code/modules/reagents/Chemistry-Holder.dm index 7782219bd7..8e7f8a1c19 100644 --- a/code/modules/reagents/Chemistry-Holder.dm +++ b/code/modules/reagents/Chemistry-Holder.dm @@ -3,7 +3,6 @@ var/total_volume = 0 var/maximum_volume = 100 var/atom/my_atom = null - var/reacting = 0 // Reacting right now /datum/reagents/New(var/max = 100) maximum_volume = max diff --git a/code/modules/reagents/Chemistry-Readme.dm b/code/modules/reagents/Chemistry-Readme.dm index ac8792c1e7..399e856bf3 100644 --- a/code/modules/reagents/Chemistry-Readme.dm +++ b/code/modules/reagents/Chemistry-Readme.dm @@ -24,212 +24,258 @@ About the Holder: The holder (reagents datum) is the datum that holds a list of all reagents currently in the object.It also has all the procs needed to manipulate reagents - remove_any(var/amount) - This proc removes reagents from the holder until the passed amount - is matched. It'll try to remove some of ALL reagents contained. + Vars: + list/datum/reagent/reagent_list + List of reagent datums. - trans_to(var/obj/target, var/amount) - This proc equally transfers the contents of the holder to another - objects holder. You need to pass it the object (not the holder) you want - to transfer to and the amount you want to transfer. Its return value is the - actual amount transfered (if one of the objects is full/empty) + total_volume + Total volume of all reagents. - trans_id_to(var/obj/target, var/reagent, var/amount) - Same as above but only for a specific reagent in the reagent list. - If the specified amount is greater than what is available, it will use - the amount of the reagent that is available. If no reagent exists, returns null. + maximum_volume + Maximum volume. - metabolize(var/mob/M) - This proc is called by the mobs life proc. It simply calls on_mob_life for - all contained reagents. You shouldnt have to use this one directly. + atom/my_atom + Reference to the object that contains this. - handle_reactions() - This proc check all recipes and, on a match, uses them. - It will also call the recipe's on_reaction proc (for explosions or w/e). - Currently, this proc is automatically called by trans_to. - - Modified from the original to preserve reagent data across reactions (originally for xenoarchaeology) + Procs: - isolate_reagent(var/reagent) - Pass it a reagent id and it will remove all reagents but that one. - It's that simple. + get_free_space() + Returns the remaining free volume in the holder. - del_reagent(var/reagent) - Completely remove the reagent with the matching id. + get_master_reagent() + Returns the reference to the reagent with the largest volume - reaction_fire(exposed_temp) - Simply calls the reaction_fire procs of all contained reagents. + get_master_reagent_name() + Ditto, but returns the name. + + get_master_reagent_id() + Ditto, but returns ID. update_total() - This one simply updates the total volume of the holder. - (the volume of all reagents added together) + Updates total volume, called automatically. + + handle_reactions() + Checks reagents and triggers any reactions that happen. Usually called automatically. + + add_reagent(var/id, var/amount, var/data = null, var/safety = 0) + Adds [amount] units of [id] reagent. [data] will be passed to reagent's mix_data() or initialize_data(). If [safety] is 0, handle_reactions() will be called. Returns 1 if successful, 0 otherwise. + + remove_reagent(var/id, var/amount, var/safety = 0) + Ditto, but removes reagent. Returns 1 if successful, 0 otherwise. + + del_reagent(var/id) + Removes all of the reagent. + + has_reagent(var/id, var/amount = 0) + Checks if holder has at least [amount] of [id] reagent. Returns 1 if the reagent is found and volume is above [amount]. Returns 0 otherwise. clear_reagents() - This proc removes ALL reagents from the holder. + Removes all reagents. - reaction(var/atom/A, var/method=TOUCH, var/volume_modifier=0) - This proc calls the appropriate reaction procs of the reagents. - I.e. if A is an object, it will call the reagents reaction_obj - proc. The method var is used for reaction on mobs. It simply tells - us if the mob TOUCHed the reagent or if it INGESTed the reagent. - Since the volume can be checked in a reagents proc, you might want to - use the volume_modifier var to modifiy the passed value without actually - changing the volume of the reagents. - If you're not sure if you need to use this the answer is very most likely 'No'. - You'll want to use this proc whenever an atom first comes in - contact with the reagents of a holder. (in the 'splash' part of a beaker i.e.) - More on the reaction in the reagent part of this readme. + get_reagent_amount(var/id) + Returns reagent volume. Returns 0 if reagent is not found. - add_reagent(var/reagent, var/amount, var/data) - Attempts to add X of the matching reagent to the holder. - You wont use this much. Mostly in new procs for pre-filled - objects. + get_data(var/id) + Returns get_data() of the reagent. - remove_reagent(var/reagent, var/amount) - The exact opposite of the add_reagent proc. - - Modified from original to return the reagent's data, in order to preserve reagent data across reactions (originally for xenoarchaeology) + get_reagents() + Returns a string containing all reagent ids and volumes, e.g. "carbon(4),nittrogen(5)". - has_reagent(var/reagent, var/amount) - Returns 1 if the holder contains this reagent. - Or 0 if not. - If you pass it an amount it will additionally check - if the amount is matched. This is optional. + remove_any(var/amount = 1) + Removes up to [amount] of reagents from [src]. Returns actual amount removed. - get_reagent_amount(var/reagent) - Returns the amount of the matching reagent inside the - holder. Returns 0 if the reagent is missing. + trans_to_holder(var/datum/reagents/target, var/amount = 1, var/multiplier = 1, var/copy = 0) + Transfers [amount] reagents from [src] to [target], multiplying them by [multiplier]. Returns actual amount removed from [src] (not amount transferred to [target]). If [copy] is 1, copies reagents instead. - Important variables: + touch(var/atom/target) + Not recommended to use. Calls touch_mob(target), touch_turf(target), or touch_obj(target), depending on target's type. - total_volume - This variable contains the total volume of all reagents in this holder. + touch_mob(var/mob/target) + Calls each reagent's touch_mob(target). - reagent_list - This is a list of all contained reagents. More specifically, references - to the reagent datums. + touch_turf(var/turf/target) + Calls each reagent's touch_turf(target). - maximum_volume - This is the maximum volume of the holder. + touch_obj(var/obj/target) + Calls each reagent's touch_obj(target). - my_atom - This is the atom the holder is 'in'. Useful if you need to find the location. - (i.e. for explosions) + trans_to(var/atom/target, var/amount = 1, var/multiplier = 1, var/copy = 0) + Checks the type of [target], calling splash_mob(target, amount), trans_to_turf(target, amount, multiplier, copy), or trans_to_obj(target, amount, multiplier, copy). + trans_id_to(var/atom/target, var/id, var/amount = 1) + Transfers [amount] of [id] to [target]. Returns amount transferred. + + splash_mob(var/mob/target, var/amount = 1, var/clothes = 1) + Checks mob's clothing if [clothes] is 1 and transfers [amount] reagents to mob's skin. + + trans_to_mob(var/mob/target, var/amount = 1, var/type = CHEM_BLOOD, var/multiplier = 1, var/copy = 0) + Transfers [amount] reagents to the mob's appropriate holder, depending on [type]. Ignores protection. + + trans_to_turf(var/turf/target, var/amount = 1, var/multiplier = 1, var/copy = 0) + Turfs don't currently have any reagents. Puts [amount] reagents into a temporary holder, calls touch_turf(target) from it, and deletes it. + + trans_to_obj(var/turf/target, var/amount = 1, var/multiplier = 1, var/copy = 0) + If target has reagents, transfers [amount] to it. Otherwise, same as trans_to_turf(). + + /atom/proc/create_reagents(var/max_vol) + Creates a new reagent datum. About Reagents: Reagents are all the things you can mix and fille in bottles etc. This can be anything from - rejuvs over water to ... iron. Each reagent also has a few procs - i'll explain those below. + rejuvs over water to... iron. - reaction_mob(var/mob/M, var/method=TOUCH) - This is called by the holder's reation proc. - This version is only called when the reagent - reacts with a mob. The method var can be either - TOUCH or INGEST. You'll want to put stuff like - acid-facemelting in here. - - reaction_obj(var/obj/O) - This is called by the holder's reation proc. - This version is called when the reagents reacts - with an object. You'll want to put stuff like - object melting in here ... or something. i dunno. - - reaction_turf(var/turf/T) - This is called by the holder's reaction proc. - This version is called when the reagents reacts - with a turf. You'll want to put stuff like extra - slippery floors for lube or something in here. - - on_mob_life(var/mob/M) - This proc is called everytime the mobs life proc executes. - This is the place where you put damage for toxins , - drowsyness for sleep toxins etc etc. - You'll want to call the parents proc by using ..() . - If you don't, the chemical will stay in the mob forever - - unless you write your own piece of code to slowly remove it. - (Should be pretty easy, 1 line of code) - - Important variables: - - holder - This variable contains a reference to the holder the chemical is 'in' - - volume - This is the volume of the reagent. - - id - The id of the reagent + Vars: name - The name of the reagent. + Name that shows up in-game. - data - This var can be used for whatever the fuck you want. I used it for the sleep - toxins to make them work slowly instead of instantly. You could also use this - for DNA in a blood reagent or ... well whatever you want. + id + ID that is used for internal tracking. MUST BE UNIQUE. + + description + Description that shows up in-game. + + datum/reagents/holder + Reference to holder. + + reagent_state + Could be GAS, LIQUID, or SOLID. Affects nothing. Reserved for future use. + + list/data + Use varies by reagent. Custom variable. For example, blood stores blood group and viruses. + + volume + Current volume. + + metabolism + How quickly reagent is processed in mob's bloodstream; by default aslo affects ingest and touch metabolism. + + ingest_met + How quickly reagent is processed when ingested; [metabolism] is used if zero. + + touch_met + Ditto when touching. + + dose + How much of the reagent has been processed, limited by [max_dose]. Used for reagents with varying effects (e.g. ethanol or rezadone) and overdosing. + + max_dose + Maximum amount of reagent that has ever been in a mob. Exists so dose won't grow infinitely when small amounts of reagent are added over time. + + overdose + If [dose] is bigger than [overdose], overdose() proc is called every tick. + + scannable + If set to 1, will show up on health analyzers by name. + + affects_dead + If set to 1, will affect dead players. Used by Adminordrazine. + + glass_icon_state + Used by drinks. icon_state of the glass when this reagent is the master reagent. + + glass_name + Ditto for glass name. + + glass_desc + Ditto for glass desciption. + + glass_center_of_mass + Used for glass placement on tables. color - This is a hexadecimal color that represents the reagent outside of containers, - you define it as "#RRGGBB", or, red green blue. You can also define it using the - rgb() proc, which returns a hexadecimal value too. The color is black by default. + "#RRGGBB" or "#RRGGBBAA" where A is alpha channel. - A good website for color calculations: http://www.psyclops.com/tools/rgb/ + color_weight + How much reagent affects color of holder. Used by paint. + Procs: + remove_self(var/amount) + Removes [amount] of itself. + touch_mob(var/mob/M) + Called when reagent is in another holder and not splashing the mob. Can be used with noncarbons. + + touch_obj(var/obj/O) + How reagent reacts with objects. + + touch_turf(var/turf/T) + How reagent reacts with turfs. + + on_mob_life(var/mob/living/carbon/M, var/alien, var/location) + Makes necessary checks and calls one of affect procs. + + affect_blood(var/mob/living/carbon/M, var/alien, var/removed) + How reagent affects mob when injected. [removed] is the amount of reagent that has been removed this tick. [alien] is the mob's reagent flag. + + affect_ingest(var/mob/living/carbon/M, var/alien, var/removed) + Ditto, ingested. Defaults to affect_blood with halved dose. + + affect_touch(var/mob/living/carbon/M, var/alien, var/removed) + Ditto, touching. + + overdose(var/mob/living/carbon/M, var/alien) + Called when dose is above overdose. Defaults to M.adjustToxLoss(REM). + + initialize_data(var/newdata) + Called when reagent is created. Defaults to setting [data] to [newdata]. + + mix_data(var/newdata, var/newamount) + Called when [newamount] of reagent with [newdata] data is added to the current reagent. Used by paint. + + get_data() + Returns data. Can be overriden. About Recipes: Recipes are simple datums that contain a list of required reagents and a result. They also have a proc that is called when the recipe is matched. - on_reaction(var/datum/reagents/holder, var/created_volume) - This proc is called when the recipe is matched. - You'll want to add explosions etc here. - To find the location you'll have to do something - like get_turf(holder.my_atom) + Vars: - name & id - Should be pretty obvious. + name + Name of the reaction, currently unused. + + id + ID of the reaction, must be unique. result - This var contains the id of the resulting reagent. + ID of the resulting reagent. Can be null. - required_reagents - This is a list of ids of the required reagents. - Each id also needs an associated value that gives us the minimum required amount - of that reagent. The handle_reaction proc can detect mutiples of the same recipes - so for most cases you want to set the required amount to 1. + list/required_reagents + Reagents that are required for the reaction and are used up during it. - required_catalysts (Added May 2011) - This is a list of the ids of the required catalysts. - Functionally similar to required_reagents, it is a list of reagents that are required - for the reaction. However, unlike required_reagents, catalysts are NOT consumed. - They mearly have to be present in the container. + list/catalysts + Ditto, but not used up. + + list/inhibitors + Opposite, prevent the reaction from happening. result_amount - This is the amount of the resulting reagent this recipe will produce. - I recommend you set this to the total volume of all required reagent. + Amount of resulting reagent. - required_container - The container the recipe has to take place in in order to happen. Leave this blank/null - if you want the reaction to happen anywhere. + mix_message + Message that is shown to mobs when reaction happens. - required_other - Basically like a reagent's data variable. You can set extra requirements for a - reaction with this. + Procs: + can_happen(var/datum/reagents/holder) + Customizable. If it returns 0, reaction will not happen. Defaults to always returning 1. Used by slime core reactions. + + on_reaction(var/datum/reagents/holder, var/created_volume) + Called when reaction happens. Used by explosives. + + send_data(var/datum/reagents/T) + Sets resulting reagent's data. Used by blood paint. About the Tools: By default, all atom have a reagents var - but its empty. if you want to use an object for the chem. system you'll need to add something like this in its new proc: - var/datum/reagents/R = new/datum/reagents(100) <<<<< create a new datum , 100 is the maximum_volume of the new holder datum. - reagents = R <<<<< assign the new datum to the objects reagents var - R.my_atom = src <<<<< set the holders my_atom to src so that we know where we are. - - This can also be done by calling a convenience proc: - atom/proc/create_reagents(var/max_volume) + /atom/proc/create_reagents(var/max_volume) Other important stuff: From 7d17f2eeb763355a4500666af0276358f1ad2787 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Thu, 21 May 2015 17:55:31 +0200 Subject: [PATCH 43/45] Items again have their loc set just before dropped() is called. Fixes #9299. Fixes #9406. --- code/modules/mob/inventory.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/modules/mob/inventory.dm b/code/modules/mob/inventory.dm index 55232be0f6..d835ea6446 100644 --- a/code/modules/mob/inventory.dm +++ b/code/modules/mob/inventory.dm @@ -218,7 +218,7 @@ var/list/slot_equipment_priority = list( \ drop_from_inventory(I) return 1 -//Attemps to remove an object on a mob. Will not move it to another area or such, just removes from the mob. +//Attemps to remove an object on a mob. /mob/proc/remove_from_mob(var/obj/O) src.u_equip(O) if (src.client) @@ -227,6 +227,7 @@ var/list/slot_equipment_priority = list( \ O.screen_loc = null if(istype(O, /obj/item)) var/obj/item/I = O + I.loc = src.loc I.dropped(src) return 1 From 77099631d1bd769940ac3b1e6a84c839b5557dc7 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Fri, 22 May 2015 08:27:12 +0200 Subject: [PATCH 44/45] Updates del usages. --- code/modules/mob/living/carbon/human/human_powers.dm | 2 +- code/modules/mob/living/carbon/resist.dm | 4 ++-- .../modules/mob/living/simple_animal/friendly/farm_animals.dm | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/code/modules/mob/living/carbon/human/human_powers.dm b/code/modules/mob/living/carbon/human/human_powers.dm index 0357d4ee09..27a8f93753 100644 --- a/code/modules/mob/living/carbon/human/human_powers.dm +++ b/code/modules/mob/living/carbon/human/human_powers.dm @@ -253,6 +253,6 @@ visible_message("\The [src] quivers slightly, then splits apart with a wet slithering noise.") - del(src) + qdel(src) diff --git a/code/modules/mob/living/carbon/resist.dm b/code/modules/mob/living/carbon/resist.dm index 7a4c184ca7..9a511504f3 100644 --- a/code/modules/mob/living/carbon/resist.dm +++ b/code/modules/mob/living/carbon/resist.dm @@ -118,7 +118,7 @@ say(pick(";RAAAAAAAARGH!", ";HNNNNNNNNNGGGGGGH!", ";GWAAAAAAAARRRHHH!", "NNNNNNNNGGGGGGGGHH!", ";AAAAAAARRRGH!" )) - del(handcuffed) + qdel(handcuffed) handcuffed = null if(buckled && buckled.buckle_require_restraints) buckled.unbuckle_mob() @@ -139,7 +139,7 @@ say(pick(";RAAAAAAAARGH!", ";HNNNNNNNNNGGGGGGH!", ";GWAAAAAAAARRRHHH!", "NNNNNNNNGGGGGGGGHH!", ";AAAAAAARRRGH!" )) - del(legcuffed) + qdel(legcuffed) legcuffed = null update_inv_legcuffed() diff --git a/code/modules/mob/living/simple_animal/friendly/farm_animals.dm b/code/modules/mob/living/simple_animal/friendly/farm_animals.dm index 1dcd98ffdc..217b1f0914 100644 --- a/code/modules/mob/living/simple_animal/friendly/farm_animals.dm +++ b/code/modules/mob/living/simple_animal/friendly/farm_animals.dm @@ -51,7 +51,7 @@ if(locate(/obj/machinery/portable_atmospherics/hydroponics/soil/invisible) in loc) var/obj/machinery/portable_atmospherics/hydroponics/soil/invisible/SP = locate() in loc - del(SP) + qdel(SP) if(!pulledby) var/obj/effect/plant/food From 51231538ed7a30f9c837855d7d05abcb6e655653 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Fri, 22 May 2015 08:27:42 +0200 Subject: [PATCH 45/45] Changelog update. --- html/changelog.html | 30 ++++++++++++++++++++++ html/changelogs/.all_changelog.yml | 32 +++++++++++++++++++++++ html/changelogs/Ccomp5950-Goats.yml | 7 ----- html/changelogs/Comma-PR-9337.yml | 8 ------ html/changelogs/HarpyEagle-fire.yml | 4 --- html/changelogs/Yoshax - trapping.YML | 37 --------------------------- html/changelogs/Zuhayr-materials.yml | 7 ----- 7 files changed, 62 insertions(+), 63 deletions(-) delete mode 100644 html/changelogs/Ccomp5950-Goats.yml delete mode 100644 html/changelogs/Comma-PR-9337.yml delete mode 100644 html/changelogs/HarpyEagle-fire.yml delete mode 100644 html/changelogs/Yoshax - trapping.YML delete mode 100644 html/changelogs/Zuhayr-materials.yml diff --git a/html/changelog.html b/html/changelog.html index 6cc3c3bc31..0aadb8c879 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -56,6 +56,36 @@ -->

    +

    22 May 2015

    +

    Ccomp5950 updated:

    +
      +
    • Beepsky no longer kills goats.
    • +
    • Goats will move towards vines that are 4 spaces away now instead of 1
    • +
    • Goats will eat the spawning plants for vines as well as the vines themselves.
    • +
    +

    Chinsky updated:

    +
      +
    • Ghetto diagnosis. Grab patient, aim at bodypart you want to check, click on them with help intent. This will tell you about their wounds, fractures and other oddities (toxins/oxygen) for that bodypart.
    • +
    • Fractures are visible on very damaged limbs. Dislocations are always visible. Surgery incisions now visible too.
    • +
    • Stethoscopes actually make sense now. They care for heart/lungs status when reporting pulse and respiration now.
    • +
    +

    HarpyEagle updated:

    +
      +
    • Re-implemented fuel fires. Tweaked fire behaviour overall.
    • +
    +

    Yoshax updated:

    +
      +
    • Bear traps now do damage when stood on, enough to break bones! Bear traps can now affect any limb of a person who is on the ground, including head! Bear traps are no longer legcuffs and instead embed in the limb they attack.
    • +
    • Bear traps now take several seconds to deploy and cannot be picked up when armed, they must be disarmed by clicking on them. They also cannot be moved then they are deployed.
    • +
    +

    Zuhayr updated:

    +
      +
    • Massive material refactor. Walls, beds, chairs, stools, tables, ashtrays, knives, baseball bats, axes, simple doors, barricades, so on.
    • +
    • Tables are now built via steel then another sheet on the resulting frame. They can then be reinforced by dragging a stack of sheets onto the table.
    • +
    • Walls are built with steel for girders, then right-click the girder and select the reinforce verb while holding a stack, then click the girders with a final sheet.
    • +
    • Various things can be built with various sheet types. Experiment! Just keep in mind that uranium is now radioactive and phoron is now flammable.
    • +
    +

    18 May 2015

    Hubblenaut updated:

      diff --git a/html/changelogs/.all_changelog.yml b/html/changelogs/.all_changelog.yml index a0bf108e0e..25b2ca7dc7 100644 --- a/html/changelogs/.all_changelog.yml +++ b/html/changelogs/.all_changelog.yml @@ -1816,3 +1816,35 @@ DO NOT EDIT THIS FILE BY HAND! AUTOMATICALLY GENERATED BY ss13_genchangelog.py. - rscadd: Turf are now processed. This, for example, causes radioactive walls to regularly irradiate nearby mobs. - bugfix: Welders should now always update their icon and inhand states properly. +2015-05-22: + Ccomp5950: + - bugfix: Beepsky no longer kills goats. + - tweak: Goats will move towards vines that are 4 spaces away now instead of 1 + - bugfix: Goats will eat the spawning plants for vines as well as the vines themselves. + Chinsky: + - rscadd: Ghetto diagnosis. Grab patient, aim at bodypart you want to check, click + on them with help intent. This will tell you about their wounds, fractures and + other oddities (toxins/oxygen) for that bodypart. + - rscadd: Fractures are visible on very damaged limbs. Dislocations are always visible. + Surgery incisions now visible too. + - rscadd: Stethoscopes actually make sense now. They care for heart/lungs status + when reporting pulse and respiration now. + HarpyEagle: + - rscadd: Re-implemented fuel fires. Tweaked fire behaviour overall. + Yoshax: + - tweak: Bear traps now do damage when stood on, enough to break bones! Bear traps + can now affect any limb of a person who is on the ground, including head! Bear + traps are no longer legcuffs and instead embed in the limb they attack. + - tweak: Bear traps now take several seconds to deploy and cannot be picked up when + armed, they must be disarmed by clicking on them. They also cannot be moved + then they are deployed. + Zuhayr: + - rscadd: Massive material refactor. Walls, beds, chairs, stools, tables, ashtrays, + knives, baseball bats, axes, simple doors, barricades, so on. + - rscadd: Tables are now built via steel then another sheet on the resulting frame. + They can then be reinforced by dragging a stack of sheets onto the table. + - rscadd: Walls are built with steel for girders, then right-click the girder and + select the reinforce verb while holding a stack, then click the girders with + a final sheet. + - rscadd: Various things can be built with various sheet types. Experiment! Just + keep in mind that uranium is now radioactive and phoron is now flammable. diff --git a/html/changelogs/Ccomp5950-Goats.yml b/html/changelogs/Ccomp5950-Goats.yml deleted file mode 100644 index be80867380..0000000000 --- a/html/changelogs/Ccomp5950-Goats.yml +++ /dev/null @@ -1,7 +0,0 @@ -author: Ccomp5950 -delete-after: True - -changes: - - bugfix: "Beepsky no longer kills goats." - - tweak: "Goats will move towards vines that are 4 spaces away now instead of 1" - - bugfix: "Goats will eat the spawning plants for vines as well as the vines themselves." diff --git a/html/changelogs/Comma-PR-9337.yml b/html/changelogs/Comma-PR-9337.yml deleted file mode 100644 index cf1aac2891..0000000000 --- a/html/changelogs/Comma-PR-9337.yml +++ /dev/null @@ -1,8 +0,0 @@ -author: Chinsky - -delete-after: True - -changes: - - rscadd: "Ghetto diagnosis. Grab patient, aim at bodypart you want to check, click on them with help intent. This will tell you about their wounds, fractures and other oddities (toxins/oxygen) for that bodypart." - - rscadd: "Fractures are visible on very damaged limbs. Dislocations are always visible. Surgery incisions now visible too." - - rscadd: "Stethoscopes actually make sense now. They care for heart/lungs status when reporting pulse and respiration now." \ No newline at end of file diff --git a/html/changelogs/HarpyEagle-fire.yml b/html/changelogs/HarpyEagle-fire.yml deleted file mode 100644 index 66537a821e..0000000000 --- a/html/changelogs/HarpyEagle-fire.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: HarpyEagle -delete-after: True -changes: - - rscadd: "Re-implemented fuel fires. Tweaked fire behaviour overall." diff --git a/html/changelogs/Yoshax - trapping.YML b/html/changelogs/Yoshax - trapping.YML deleted file mode 100644 index d9b7884761..0000000000 --- a/html/changelogs/Yoshax - trapping.YML +++ /dev/null @@ -1,37 +0,0 @@ -################################ -# Example Changelog File -# -# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb. -# -# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.) -# When it is, any changes listed below will disappear. -# -# Valid Prefixes: -# bugfix -# wip (For works in progress) -# tweak -# soundadd -# sounddel -# rscadd (general adding of nice things) -# rscdel (general deleting of nice things) -# imageadd -# imagedel -# maptweak -# spellcheck (typo fixes) -# experiment -################################# - -# Your name. -author: Yoshax - -# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. -delete-after: True - -# Any changes you've made. See valid prefix list above. -# INDENT WITH TWO SPACES. NOT TABS. SPACES. -# SCREW THIS UP AND IT WON'T WORK. -# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries. -# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog. -changes: - - tweak: "Bear traps now do damage when stood on, enough to break bones! Bear traps can now affect any limb of a person who is on the ground, including head! Bear traps are no longer legcuffs and instead embed in the limb they attack." - - tweak: "Bear traps now take several seconds to deploy and cannot be picked up when armed, they must be disarmed by clicking on them. They also cannot be moved then they are deployed." \ No newline at end of file diff --git a/html/changelogs/Zuhayr-materials.yml b/html/changelogs/Zuhayr-materials.yml deleted file mode 100644 index 78d873857c..0000000000 --- a/html/changelogs/Zuhayr-materials.yml +++ /dev/null @@ -1,7 +0,0 @@ -author: Zuhayr -delete-after: True -changes: - - rscadd: "Massive material refactor. Walls, beds, chairs, stools, tables, ashtrays, knives, baseball bats, axes, simple doors, barricades, so on." - - rscadd: "Tables are now built via steel then another sheet on the resulting frame. They can then be reinforced by dragging a stack of sheets onto the table." - - rscadd: "Walls are built with steel for girders, then right-click the girder and select the reinforce verb while holding a stack, then click the girders with a final sheet." - - rscadd: "Various things can be built with various sheet types. Experiment! Just keep in mind that uranium is now radioactive and phoron is now flammable." \ No newline at end of file

    V&n!oUasM_sK{J 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­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