From 7285f39fc12eacb4e6a55e6c77ec06a83fd28d8b Mon Sep 17 00:00:00 2001 From: Markolie Date: Mon, 9 Feb 2015 16:12:01 +0100 Subject: [PATCH] Defib update, cell path update --- code/ATMOSPHERICS/chiller.dm | 6 +- code/_onclick/hud/human.dm | 6 +- code/datums/cargoprofile.dm | 2 +- code/datums/crafting/recipes.dm | 6 +- code/datums/spells/charge.dm | 8 +- code/datums/supplypacks.dm | 12 +-- code/datums/uplink_item.dm | 2 +- code/defines/obj/weapon.dm | 2 +- code/game/gamemodes/events/ninja_equipment.dm | 8 +- code/game/gamemodes/newobjective.dm | 2 +- code/game/gamemodes/scoreboard.dm | 2 +- code/game/gamemodes/steal_items.dm | 17 +++-- code/game/machinery/bots/ed209bot.dm | 2 +- code/game/machinery/bots/mulebot.dm | 8 +- code/game/machinery/cell_charger.dm | 4 +- code/game/machinery/constructable_frame.dm | 6 +- code/game/machinery/floodlight.dm | 4 +- code/game/machinery/machinery.dm | 16 ---- code/game/machinery/rechargestation.dm | 6 +- code/game/machinery/spaceheater.dm | 8 +- code/game/machinery/vending.dm | 8 +- code/game/mecha/combat/gygax.dm | 2 +- code/game/mecha/mecha.dm | 6 +- .../objects/items/devices/suit_cooling.dm | 6 +- code/game/objects/items/robot/robot_parts.dm | 4 +- code/game/objects/items/weapons/defib.dm | 71 ++++++++++++++---- .../objects/items/weapons/melee/energy.dm | 2 +- .../game/objects/items/weapons/power_cells.dm | 30 ++++---- code/game/objects/items/weapons/stunbaton.dm | 8 +- code/game/objects/random/random.dm | 10 +-- .../crates_lockers/closets/malfunction.dm | 2 +- .../crates_lockers/closets/secure/medical.dm | 2 +- code/game/vehicles/spacepods/spacepod.dm | 6 +- code/game/vehicles/vehicle.dm | 4 +- code/modules/clothing/gloves/ninja.dm | 2 +- code/modules/clothing/spacesuits/ninja.dm | 6 +- .../clothing/under/accessories/holster.dm | 5 +- code/modules/computer3/buildandrepair.dm | 4 +- code/modules/computer3/computer.dm | 6 +- code/modules/computer3/laptop.dm | 2 +- code/modules/computer3/lapvend.dm | 10 +-- code/modules/computer3/test_machines.dm | 10 +-- code/modules/jungle/jungle_temple.dm | 2 +- code/modules/mining/drilling/drill.dm | 4 +- code/modules/mining/manufacturing.dm | 2 +- code/modules/mining/surprises/tg.dm | 2 +- .../mob/living/carbon/human/inventory.dm | 47 +++++++++++- code/modules/mob/living/silicon/mommi/life.dm | 2 +- .../modules/mob/living/silicon/mommi/mommi.dm | 4 +- .../living/silicon/robot/drone/drone_items.dm | 2 +- code/modules/mob/living/silicon/robot/life.dm | 2 +- .../modules/mob/living/silicon/robot/robot.dm | 8 +- .../simple_animal/friendly/spiderbot.dm | 2 +- code/modules/power/apc.dm | 6 +- code/modules/power/cell.dm | 30 ++++---- code/modules/power/power.dm | 6 +- code/modules/power/smes.dm | 12 +-- code/modules/projectiles/guns/alien.dm | 2 +- code/modules/projectiles/guns/energy.dm | 6 +- .../projectiles/guns/energy/advtaser.dm | 2 +- code/modules/projectiles/guns/energy/pulse.dm | 6 +- .../projectiles/guns/energy/special.dm | 8 +- code/modules/projectiles/guns/energy/stun.dm | 8 +- .../projectiles/guns/energy/temperature.dm | 2 +- .../projectiles/guns/projectile/crossbow.dm | 6 +- code/modules/reagents/Chemistry-Machinery.dm | 6 +- code/modules/reagents/Chemistry-Recipes.dm | 2 +- .../reagent_containers/food/snacks/grown.dm | 2 +- .../modules/research/designs/power_designs.dm | 8 +- .../artifact/artifact_replicator.dm | 2 +- .../effects/unknown_effect_cellcharge.dm | 10 +-- .../effects/unknown_effect_celldrain.dm | 10 +-- .../tools/suspension_generator.dm | 6 +- code/modules/vehicles/ambulance.dm | 6 +- code/modules/vehicles/cargo_train.dm | 6 +- code/modules/vehicles/janicart.dm | 6 +- code/modules/vehicles/vehicle.dm | 6 +- icons/mob/belt.dmi | Bin 8907 -> 9963 bytes icons/obj/weapons.dmi | Bin 38814 -> 41408 bytes maps/RandomZLevels/moonoutpost19.dmm | 8 +- maps/RandomZLevels/undergroundoutpost45.dmm | 10 +-- maps/cyberiad.dmm | 54 ++++++------- 82 files changed, 362 insertions(+), 284 deletions(-) diff --git a/code/ATMOSPHERICS/chiller.dm b/code/ATMOSPHERICS/chiller.dm index 3aa8b0af271..b83d30e2045 100644 --- a/code/ATMOSPHERICS/chiller.dm +++ b/code/ATMOSPHERICS/chiller.dm @@ -50,14 +50,14 @@ ..(severity) /obj/machinery/space_heater/air_conditioner/attackby(obj/item/I, mob/user) - if(istype(I, /obj/item/weapon/cell)) + if(istype(I, /obj/item/weapon/stock_parts/cell)) if(open) if(cell) user << "There is already a power cell inside." return else // insert cell - var/obj/item/weapon/cell/C = usr.get_active_hand() + var/obj/item/weapon/stock_parts/cell/C = usr.get_active_hand() if(istype(C)) user.drop_item() cell = C @@ -138,7 +138,7 @@ if("cellinstall") if(open && !cell) - var/obj/item/weapon/cell/C = usr.get_active_hand() + var/obj/item/weapon/stock_parts/cell/C = usr.get_active_hand() if(istype(C)) usr.drop_item() cell = C diff --git a/code/_onclick/hud/human.dm b/code/_onclick/hud/human.dm index 8034c571818..2bbe14bea42 100644 --- a/code/_onclick/hud/human.dm +++ b/code/_onclick/hud/human.dm @@ -524,8 +524,10 @@ for(var/obj/item/clothing/accessory/AC in U.accessories) if(AC.icon_action_button) to_update += AC - if(I.icon_action_button && (!I in to_update)) - to_update += I + continue + if(I.icon_action_button) + to_update += I + continue for(var/obj/item/I in to_update) var/obj/screen/item_action/A = new(hud_used) diff --git a/code/datums/cargoprofile.dm b/code/datums/cargoprofile.dm index 22b8446aa74..8bf2e281bbb 100644 --- a/code/datums/cargoprofile.dm +++ b/code/datums/cargoprofile.dm @@ -264,7 +264,7 @@ name = "Devices & Tools" id = "tools" blacklist = null - whitelist = list(/obj/item/device,/obj/item/weapon/card,/obj/item/weapon/cartridge,/obj/item/weapon/cautery,/obj/item/weapon/cell,/obj/item/weapon/circuitboard, + whitelist = list(/obj/item/device,/obj/item/weapon/card,/obj/item/weapon/cartridge,/obj/item/weapon/cautery,/obj/item/weapon/stock_parts/cell,/obj/item/weapon/circuitboard, /obj/item/weapon/aiModule,/obj/item/weapon/airalarm_electronics,/obj/item/weapon/airlock_electronics,/obj/item/weapon/circular_saw, /obj/item/weapon/cloaking_device,/obj/item/weapon/crowbar,/obj/item/weapon/disk,/obj/item/weapon/firealarm_electronics,/obj/item/weapon/hand_tele, /obj/item/weapon/hand_labeler,/obj/item/weapon/hemostat,/obj/item/weapon/mop,/obj/item/weapon/locator,/obj/item/weapon/minihoe, diff --git a/code/datums/crafting/recipes.dm b/code/datums/crafting/recipes.dm index 6dda4d79622..4322fcc9f4a 100644 --- a/code/datums/crafting/recipes.dm +++ b/code/datums/crafting/recipes.dm @@ -38,9 +38,9 @@ reqs = list(/obj/item/weapon/handcuffs/cable = 1, /obj/item/stack/rods = 1, /obj/item/weapon/wirecutters = 1, - /obj/item/weapon/cell = 1) + /obj/item/weapon/stock_parts/cell = 1) time = 80 - parts = list(/obj/item/weapon/cell = 1) + parts = list(/obj/item/weapon/stock_parts/cell = 1) /datum/crafting_recipe/table/flamethrower name = "Flamethrower" @@ -90,7 +90,7 @@ /obj/item/stack/sheet/metal = 5, /obj/item/stack/cable_coil = 5, /obj/item/weapon/gun/energy/advtaser = 1, - /obj/item/weapon/cell = 1, + /obj/item/weapon/stock_parts/cell = 1, /obj/item/device/assembly/prox_sensor = 1, /obj/item/robot_parts/r_arm = 1) tools = list(/obj/item/weapon/weldingtool, /obj/item/weapon/screwdriver) diff --git a/code/datums/spells/charge.dm b/code/datums/spells/charge.dm index b4603f5e6b1..cabde8c7181 100644 --- a/code/datums/spells/charge.dm +++ b/code/datums/spells/charge.dm @@ -53,8 +53,8 @@ W.icon_state = initial(W.icon_state) charged_item = I break - else if(istype(item, /obj/item/weapon/cell/)) - var/obj/item/weapon/cell/C = item + else if(istype(item, /obj/item/weapon/stock_parts/cell/)) + var/obj/item/weapon/stock_parts/cell/C = item if(prob(80)) C.maxcharge -= 200 if(C.maxcharge <= 1) //Div by 0 protection @@ -66,8 +66,8 @@ else if(item.contents) var/obj/I = null for(I in item.contents) - if(istype(I, /obj/item/weapon/cell/)) - var/obj/item/weapon/cell/C = I + if(istype(I, /obj/item/weapon/stock_parts/cell/)) + var/obj/item/weapon/stock_parts/cell/C = I if(prob(80)) C.maxcharge -= 200 if(C.maxcharge <= 1) //Div by 0 protection diff --git a/code/datums/supplypacks.dm b/code/datums/supplypacks.dm index de49b586def..5c6ef778390 100755 --- a/code/datums/supplypacks.dm +++ b/code/datums/supplypacks.dm @@ -464,10 +464,10 @@ var/list/all_supply_groups = list("Operations","Security","Hospitality","Enginee /obj/item/weapon/storage/toolbox/electrical, /obj/item/clothing/gloves/yellow, /obj/item/clothing/gloves/yellow, - /obj/item/weapon/cell, - /obj/item/weapon/cell, - /obj/item/weapon/cell/high, - /obj/item/weapon/cell/high) + /obj/item/weapon/stock_parts/cell, + /obj/item/weapon/stock_parts/cell, + /obj/item/weapon/stock_parts/cell/high, + /obj/item/weapon/stock_parts/cell/high) cost = 15 containertype = /obj/structure/closet/crate containername = "Electrical maintenance crate" @@ -627,8 +627,8 @@ var/list/all_supply_groups = list("Operations","Security","Hospitality","Enginee /obj/item/device/flash, /obj/item/device/flash, /obj/item/device/flash, - /obj/item/weapon/cell/high, - /obj/item/weapon/cell/high) + /obj/item/weapon/stock_parts/cell/high, + /obj/item/weapon/stock_parts/cell/high) cost = 10 containertype = /obj/structure/closet/crate/secure/gear containername = "Robotics Assembly" diff --git a/code/datums/uplink_item.dm b/code/datums/uplink_item.dm index 2e71bd1ac69..0ef743860d2 100644 --- a/code/datums/uplink_item.dm +++ b/code/datums/uplink_item.dm @@ -480,7 +480,7 @@ var/list/uplink_items = list() /datum/uplink_item/device_tools/medkit - name = "Syndicate Medical Supply Kit" + name = "Syndicate Combat Medic Kit" desc = "The syndicate medkit is a suspicious black and red. Included is a combat stimulant injector for rapid healing, a medical hud for quick identification of injured comrades, \ and other medical supplies helpful for a medical field operative." item = /obj/item/weapon/storage/firstaid/tactical diff --git a/code/defines/obj/weapon.dm b/code/defines/obj/weapon.dm index e8fba96a0d0..c5c01751482 100644 --- a/code/defines/obj/weapon.dm +++ b/code/defines/obj/weapon.dm @@ -596,7 +596,7 @@ item_state = "RPED" icon_override = 'icons/mob/in-hand/tools.dmi' w_class = 5 - can_hold = list("/obj/item/weapon/stock_parts","/obj/item/weapon/cell") + can_hold = list("/obj/item/weapon/stock_parts") storage_slots = 50 use_to_pickup = 1 allow_quick_gather = 1 diff --git a/code/game/gamemodes/events/ninja_equipment.dm b/code/game/gamemodes/events/ninja_equipment.dm index 894121ac5ec..9ed56032e33 100644 --- a/code/game/gamemodes/events/ninja_equipment.dm +++ b/code/game/gamemodes/events/ninja_equipment.dm @@ -37,7 +37,7 @@ ________________________________________________________________________________ reagents.my_atom = src for(var/reagent_id in reagent_list) reagent_id == "uranium" ? reagents.add_reagent(reagent_id, r_maxamount+(a_boost*a_transfer)) : reagents.add_reagent(reagent_id, r_maxamount)//It will take into account uranium used for adrenaline boosting. - cell = new/obj/item/weapon/cell/high//The suit should *always* have a battery because so many things rely on it. + cell = new/obj/item/weapon/stock_parts/cell/high//The suit should *always* have a battery because so many things rely on it. cell.charge = 9990//Starting charge should not be higher than maximum charge. It leads to problems with recharging. cell.maxcharge = 10000 // Due to Ponies' overhaul Ninjas began starting with a 15000 energy cell. This should fix that issue. @@ -880,14 +880,14 @@ ________________________________________________________________________________ U << "Replenished a total of [total_reagent_transfer ? total_reagent_transfer : "zero"] chemical units."//Let the player know how much total volume was added. return - else if(istype(I, /obj/item/weapon/cell)) + else if(istype(I, /obj/item/weapon/stock_parts/cell)) if(I:maxcharge>cell.maxcharge&&n_gloves&&n_gloves.candrain) U << "\blue Higher maximum capacity detected.\nUpgrading..." if (n_gloves&&n_gloves.candrain&&do_after(U,s_delay)) U.drop_item() I.loc = src I:charge = min(I:charge+cell.charge, I:maxcharge) - var/obj/item/weapon/cell/old_cell = cell + var/obj/item/weapon/stock_parts/cell/old_cell = cell old_cell.charge = 0 U.put_in_hands(old_cell) old_cell.add_fingerprint(U) @@ -1116,7 +1116,7 @@ ________________________________________________________________________________ U << "\red This SMES cell has run dry of power. You must find another source." if("CELL") - var/obj/item/weapon/cell/A = target + var/obj/item/weapon/stock_parts/cell/A = target if(A.charge) if (G.candrain&&do_after(U,30)) U << "\blue Gained [A.charge] energy from the cell." diff --git a/code/game/gamemodes/newobjective.dm b/code/game/gamemodes/newobjective.dm index df6b31dec48..7bccda38c63 100644 --- a/code/game/gamemodes/newobjective.dm +++ b/code/game/gamemodes/newobjective.dm @@ -883,7 +883,7 @@ datum return 2 hyper_cell - steal_target = /obj/item/weapon/cell/hyper + steal_target = /obj/item/weapon/stock_parts/cell/hyper explanation_text = "Steal a hyper capacity power cell." weight = 20 diff --git a/code/game/gamemodes/scoreboard.dm b/code/game/gamemodes/scoreboard.dm index 2617fe4e04e..91611404f86 100644 --- a/code/game/gamemodes/scoreboard.dm +++ b/code/game/gamemodes/scoreboard.dm @@ -133,7 +133,7 @@ // Check station's power levels for (var/obj/machinery/power/apc/A in machines) if (A.z != 1) continue - for (var/obj/item/weapon/cell/C in A.contents) + for (var/obj/item/weapon/stock_parts/cell/C in A.contents) if (C.charge < 2300) score_powerloss += 1 // 200 charge leeway // Check how much uncleaned mess is on the station diff --git a/code/game/gamemodes/steal_items.dm b/code/game/gamemodes/steal_items.dm index 47d181f9166..4b8cdc34dca 100644 --- a/code/game/gamemodes/steal_items.dm +++ b/code/game/gamemodes/steal_items.dm @@ -36,16 +36,17 @@ /datum/theft_objective/hand_tele name = "a hand teleporter" typepath = /obj/item/weapon/hand_tele - protected_jobs = list("Captain") + protected_jobs = list("Captain", "Research Director") /datum/theft_objective/rcd - name = "an RCD" + name = "a rapid-construction-device" typepath = /obj/item/weapon/rcd - protected_jobs = list("Chief Engineer") + protected_jobs = list("Chief Engineer", "Quartermaster", "Cargo Technician", "Research Director", "Scientist", "Roboticist") /datum/theft_objective/jetpack name = "a jetpack" typepath = /obj/item/weapon/tank/jetpack + protected_jobs = list("Chief Engineer") /datum/theft_objective/cap_jumpsuit name = "the captain's jumpsuit" @@ -64,9 +65,9 @@ datum/theft_objective/ai/check_special_completion(var/obj/item/device/aicard/C) return 0 /datum/theft_objective/defib - name = "a defibrillator" - typepath = /obj/item/weapon/defibrillator - protected_jobs = list("Chief Medical Officer", "Medical Doctor", "Chemist", "Geneticist", "Virologist", "Psychiatrist", "Paramedic", "Brig Physician") + name = "a compact defibrillator" + typepath = /obj/item/weapon/defibrillator/compact + protected_jobs = list("Chief Medical Officer") /datum/theft_objective/magboots name = "the chief engineer's advanced magnetic boots" @@ -97,7 +98,7 @@ datum/theft_objective/ai/check_special_completion(var/obj/item/device/aicard/C) /datum/theft_objective/corgi name = "a piece of corgi meat" typepath = /obj/item/weapon/reagent_containers/food/snacks/meat/corgi - protected_jobs = list("Head of Personnel") + protected_jobs = list("Head of Personnel", "Quartermaster", "Cargo Technician") /datum/theft_objective/capmedal name = "the medal of captaincy" @@ -254,7 +255,7 @@ datum/theft_objective/ai/check_special_completion(var/obj/item/device/aicard/C) /datum/theft_objective/special/hyper_cell name = "hyper-capacity cell" - typepath = /obj/item/weapon/cell/hyper + typepath = /obj/item/weapon/stock_parts/cell/hyper /datum/theft_objective/number/special flags = THEFT_FLAG_SPECIAL diff --git a/code/game/machinery/bots/ed209bot.dm b/code/game/machinery/bots/ed209bot.dm index 6fb65f8a705..8e6855a8dbf 100644 --- a/code/game/machinery/bots/ed209bot.dm +++ b/code/game/machinery/bots/ed209bot.dm @@ -665,7 +665,7 @@ Auto Patrol[]"}, user << "Taser gun attached." if(9) - if(istype(W, /obj/item/weapon/cell)) + if(istype(W, /obj/item/weapon/stock_parts/cell)) build_step++ user << "You complete the ED-209." var/turf/T = get_turf(src) diff --git a/code/game/machinery/bots/mulebot.dm b/code/game/machinery/bots/mulebot.dm index bd1ee21a88c..f9016a1061f 100644 --- a/code/game/machinery/bots/mulebot.dm +++ b/code/game/machinery/bots/mulebot.dm @@ -43,7 +43,7 @@ var/global/mulebot_count = 0 var/auto_pickup = 1 // true if auto-pickup at beacon var/report_delivery = 1 // true if bot will announce an arrival to a location. - var/obj/item/weapon/cell/cell + var/obj/item/weapon/stock_parts/cell/cell var/datum/wires/mulebot/wires = null // the installed power cell @@ -96,8 +96,8 @@ var/global/mulebot_count = 0 if(toggle_lock(user)) user << "Controls [(locked ? "locked" : "unlocked")]." updateUsrDialog() - else if(istype(I,/obj/item/weapon/cell) && open && !cell) - var/obj/item/weapon/cell/C = I + else if(istype(I,/obj/item/weapon/stock_parts/cell) && open && !cell) + var/obj/item/weapon/stock_parts/cell/C = I user.drop_item() C.loc = src cell = C @@ -286,7 +286,7 @@ var/global/mulebot_count = 0 if("cellinsert") if(open && !cell) - var/obj/item/weapon/cell/C = usr.get_active_hand() + var/obj/item/weapon/stock_parts/cell/C = usr.get_active_hand() if(istype(C)) usr.drop_item() cell = C diff --git a/code/game/machinery/cell_charger.dm b/code/game/machinery/cell_charger.dm index 16c39585dfa..5a9822d6531 100644 --- a/code/game/machinery/cell_charger.dm +++ b/code/game/machinery/cell_charger.dm @@ -8,7 +8,7 @@ idle_power_usage = 5 active_power_usage = 60 power_channel = EQUIP - var/obj/item/weapon/cell/charging = null + var/obj/item/weapon/stock_parts/cell/charging = null var/chargelevel = -1 proc updateicon() @@ -38,7 +38,7 @@ if(stat & BROKEN) return - if(istype(W, /obj/item/weapon/cell) && anchored) + if(istype(W, /obj/item/weapon/stock_parts/cell) && anchored) if(charging) user << "\red There is already a cell in the charger." return diff --git a/code/game/machinery/constructable_frame.dm b/code/game/machinery/constructable_frame.dm index c108e02822c..0d3dddbba8b 100644 --- a/code/game/machinery/constructable_frame.dm +++ b/code/game/machinery/constructable_frame.dm @@ -289,7 +289,7 @@ to destroy them and players will be able to make replacements. frame_desc = "Requires 5 pieces of cable, 5 Power Cells and 1 Capacitor." req_components = list( /obj/item/stack/cable_coil = 5, - /obj/item/weapon/cell = 5, + /obj/item/weapon/stock_parts/cell = 5, /obj/item/weapon/stock_parts/capacitor = 1) @@ -361,7 +361,7 @@ to destroy them and players will be able to make replacements. /obj/item/weapon/stock_parts/capacitor = 1, /obj/item/weapon/stock_parts/manipulator = 1, /obj/item/weapon/stock_parts/console_screen = 1, - /obj/item/weapon/cell = 1) + /obj/item/weapon/stock_parts/cell = 1) /obj/item/weapon/circuitboard/destructive_analyzer name = "Circuit board (Destructive Analyzer)" @@ -583,7 +583,7 @@ obj/item/weapon/circuitboard/rdserver frame_desc = "Requires 2 Capacitors, 1 Power Cell and 1 Manipulator." req_components = list( /obj/item/weapon/stock_parts/capacitor = 2, - /obj/item/weapon/cell = 1, + /obj/item/weapon/stock_parts/cell = 1, /obj/item/weapon/stock_parts/manipulator = 1) // Telecomms circuit boards: diff --git a/code/game/machinery/floodlight.dm b/code/game/machinery/floodlight.dm index b7203be245d..419b5f7b664 100644 --- a/code/game/machinery/floodlight.dm +++ b/code/game/machinery/floodlight.dm @@ -6,7 +6,7 @@ icon_state = "flood00" density = 1 var/on = 0 - var/obj/item/weapon/cell/high/cell = null + var/obj/item/weapon/stock_parts/cell/high/cell = null var/use = 5 var/unlocked = 0 var/open = 0 @@ -83,7 +83,7 @@ open = 1 user << "You remove the battery panel." - if (istype(W, /obj/item/weapon/cell)) + if (istype(W, /obj/item/weapon/stock_parts/cell)) if(open) if(cell) user << "There is a power cell already installed." diff --git a/code/game/machinery/machinery.dm b/code/game/machinery/machinery.dm index 5e69e5701af..94e0efa1e99 100644 --- a/code/game/machinery/machinery.dm +++ b/code/game/machinery/machinery.dm @@ -351,22 +351,6 @@ Class Procs: user << "[A.name] replaced with [B.name]." shouldplaysound = 1 break - // Power cell snowflake - for(var/obj/item/weapon/cell/A in component_parts) - for(var/D in CB.req_components) - if(ispath(A.type, D)) - P = D - break - for(var/obj/item/weapon/cell/B in W.contents) - if(istype(B, P) && istype(A, P)) - if(B.rating > A.rating) - W.remove_from_storage(B, src) - W.handle_item_insertion(A, 1) - component_parts -= A - component_parts += B - B.loc = null - user << "[A.name] replaced with [B.name]." - break RefreshParts() else user << "Following parts detected in the machine:" diff --git a/code/game/machinery/rechargestation.dm b/code/game/machinery/rechargestation.dm index 7b5ba784ef8..7292ee58a1d 100644 --- a/code/game/machinery/rechargestation.dm +++ b/code/game/machinery/rechargestation.dm @@ -19,7 +19,7 @@ component_parts += new /obj/item/weapon/stock_parts/capacitor(src) component_parts += new /obj/item/weapon/stock_parts/capacitor(src) component_parts += new /obj/item/weapon/stock_parts/manipulator(src) - component_parts += new /obj/item/weapon/cell/high(src) + component_parts += new /obj/item/weapon/stock_parts/cell/high(src) RefreshParts() build_icon() @@ -28,7 +28,7 @@ component_parts += new /obj/item/weapon/stock_parts/capacitor/super(src) component_parts += new /obj/item/weapon/stock_parts/capacitor/super(src) component_parts += new /obj/item/weapon/stock_parts/manipulator/pico(src) - component_parts += new /obj/item/weapon/cell/hyper(src) + component_parts += new /obj/item/weapon/stock_parts/cell/hyper(src) RefreshParts() /obj/machinery/recharge_station/RefreshParts() @@ -38,7 +38,7 @@ recharge_speed += C.rating * 100 for(var/obj/item/weapon/stock_parts/manipulator/M in component_parts) repairs += M.rating - 1 - for(var/obj/item/weapon/cell/C in component_parts) + for(var/obj/item/weapon/stock_parts/cell/C in component_parts) recharge_speed *= C.maxcharge / 10000 /obj/machinery/recharge_station/process() diff --git a/code/game/machinery/spaceheater.dm b/code/game/machinery/spaceheater.dm index 9a6849dcdf4..1dd7024a41c 100644 --- a/code/game/machinery/spaceheater.dm +++ b/code/game/machinery/spaceheater.dm @@ -5,7 +5,7 @@ icon_state = "sheater0" name = "space heater" desc = "Made by Space Amish using traditional space techniques, this heater is guaranteed not to set the station on fire." - var/obj/item/weapon/cell/cell + var/obj/item/weapon/stock_parts/cell/cell var/on = 0 var/open = 0 var/set_temperature = 50 // in celcius, add T0C for kelvin @@ -52,14 +52,14 @@ ..(severity) attackby(obj/item/I, mob/user) - if(istype(I, /obj/item/weapon/cell)) + if(istype(I, /obj/item/weapon/stock_parts/cell)) if(open) if(cell) user << "There is already a power cell inside." return else // insert cell - var/obj/item/weapon/cell/C = usr.get_active_hand() + var/obj/item/weapon/stock_parts/cell/C = usr.get_active_hand() if(istype(C)) user.drop_item() cell = C @@ -144,7 +144,7 @@ if("cellinstall") if(open && !cell) - var/obj/item/weapon/cell/C = usr.get_active_hand() + var/obj/item/weapon/stock_parts/cell/C = usr.get_active_hand() if(istype(C)) usr.drop_item() cell = C diff --git a/code/game/machinery/vending.dm b/code/game/machinery/vending.dm index 2c5f099f53b..938af0c4cdc 100644 --- a/code/game/machinery/vending.dm +++ b/code/game/machinery/vending.dm @@ -979,8 +979,8 @@ icon_state = "engivend" icon_deny = "engivend-deny" req_access_txt = "11" //Engineering Equipment access - products = list(/obj/item/clothing/glasses/meson = 2,/obj/item/device/multitool = 4,/obj/item/weapon/airlock_electronics = 10,/obj/item/weapon/module/power_control = 10,/obj/item/weapon/airalarm_electronics = 10,/obj/item/weapon/cell/high = 10) - contraband = list(/obj/item/weapon/cell/potato = 3) + products = list(/obj/item/clothing/glasses/meson = 2,/obj/item/device/multitool = 4,/obj/item/weapon/airlock_electronics = 10,/obj/item/weapon/module/power_control = 10,/obj/item/weapon/airalarm_electronics = 10,/obj/item/weapon/stock_parts/cell/high = 10) + contraband = list(/obj/item/weapon/stock_parts/cell/potato = 3) premium = list(/obj/item/weapon/storage/belt/utility = 3) //This one's from bay12 @@ -993,7 +993,7 @@ products = list(/obj/item/clothing/under/rank/chief_engineer = 4,/obj/item/clothing/under/rank/engineer = 4,/obj/item/clothing/shoes/orange = 4,/obj/item/clothing/head/hardhat = 4, /obj/item/weapon/storage/belt/utility = 4,/obj/item/clothing/glasses/meson = 4,/obj/item/clothing/gloves/yellow = 4, /obj/item/weapon/screwdriver = 12, /obj/item/weapon/crowbar = 12,/obj/item/weapon/wirecutters = 12,/obj/item/device/multitool = 12,/obj/item/weapon/wrench = 12,/obj/item/device/t_scanner = 12, - /obj/item/stack/cable_coil/heavyduty = 8, /obj/item/weapon/cell = 8, /obj/item/weapon/weldingtool = 8,/obj/item/clothing/head/welding = 8, + /obj/item/stack/cable_coil/heavyduty = 8, /obj/item/weapon/stock_parts/cell = 8, /obj/item/weapon/weldingtool = 8,/obj/item/clothing/head/welding = 8, /obj/item/weapon/light/tube = 10,/obj/item/clothing/suit/fire = 4, /obj/item/weapon/stock_parts/scanning_module = 5,/obj/item/weapon/stock_parts/micro_laser = 5, /obj/item/weapon/stock_parts/matter_bin = 5,/obj/item/weapon/stock_parts/manipulator = 5,/obj/item/weapon/stock_parts/console_screen = 5) // There was an incorrect entry (cablecoil/power). I improvised to cablecoil/heavyduty. @@ -1008,7 +1008,7 @@ icon_deny = "robotics-deny" req_access_txt = "29" products = list(/obj/item/clothing/suit/storage/labcoat = 4,/obj/item/clothing/under/rank/roboticist = 4,/obj/item/stack/cable_coil = 4,/obj/item/device/flash = 4, - /obj/item/weapon/cell/high = 12, /obj/item/device/assembly/prox_sensor = 3,/obj/item/device/assembly/signaler = 3,/obj/item/device/healthanalyzer = 3, + /obj/item/weapon/stock_parts/cell/high = 12, /obj/item/device/assembly/prox_sensor = 3,/obj/item/device/assembly/signaler = 3,/obj/item/device/healthanalyzer = 3, /obj/item/weapon/scalpel = 2,/obj/item/weapon/circular_saw = 2,/obj/item/weapon/tank/anesthetic = 2,/obj/item/clothing/mask/breath/medical = 5, /obj/item/weapon/screwdriver = 5,/obj/item/weapon/crowbar = 5) //everything after the power cell had no amounts, I improvised. -Sayu diff --git a/code/game/mecha/combat/gygax.dm b/code/game/mecha/combat/gygax.dm index 2c723a2e530..26d9d066fd8 100644 --- a/code/game/mecha/combat/gygax.dm +++ b/code/game/mecha/combat/gygax.dm @@ -53,7 +53,7 @@ ME.attach(src) return -/obj/mecha/combat/gygax/dark/add_cell(var/obj/item/weapon/cell/C=null) +/obj/mecha/combat/gygax/dark/add_cell(var/obj/item/weapon/stock_parts/cell/C=null) if(C) C.forceMove(src) cell = C diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm index 97aef5f4afb..e62872c9664 100644 --- a/code/game/mecha/mecha.dm +++ b/code/game/mecha/mecha.dm @@ -29,7 +29,7 @@ var/deflect_chance = 10 //chance to deflect the incoming projectiles, hits, or lesser the effect of ex_act. //the values in this list show how much damage will pass through, not how much will be absorbed. var/list/damage_absorption = list("brute"=0.8,"fire"=1.2,"bullet"=0.9,"laser"=1,"energy"=1,"bomb"=1) - var/obj/item/weapon/cell/cell + var/obj/item/weapon/stock_parts/cell/cell var/state = 0 var/list/log = new var/last_message = 0 @@ -115,7 +115,7 @@ internal_tank = new /obj/machinery/portable_atmospherics/canister/air(src) return internal_tank -/obj/mecha/proc/add_cell(var/obj/item/weapon/cell/C=null) +/obj/mecha/proc/add_cell(var/obj/item/weapon/stock_parts/cell/C=null) if(C) C.forceMove(src) cell = C @@ -781,7 +781,7 @@ user << "You screw the cell in place" return - else if(istype(W, /obj/item/weapon/cell)) + else if(istype(W, /obj/item/weapon/stock_parts/cell)) if(state==4) if(!src.cell) user << "You install the powercell" diff --git a/code/game/objects/items/devices/suit_cooling.dm b/code/game/objects/items/devices/suit_cooling.dm index 9ef170a7d9b..f4dfd0bf245 100644 --- a/code/game/objects/items/devices/suit_cooling.dm +++ b/code/game/objects/items/devices/suit_cooling.dm @@ -17,7 +17,7 @@ var/on = 0 //is it turned on? var/cover_open = 0 //is the cover open? - var/obj/item/weapon/cell/cell + var/obj/item/weapon/stock_parts/cell/cell var/max_cooling = 12 //in degrees per second - probably don't need to mess with heat capacity here var/charge_consumption = 16.6 //charge per second at max_cooling var/thermostat = T20C @@ -25,7 +25,7 @@ //TODO: make it heat up the surroundings when not in space /obj/item/device/suit_cooling_unit/New() - cell = new/obj/item/weapon/cell() //comes with the crappy default power cell - high-capacity ones shouldn't be hard to find + cell = new/obj/item/weapon/stock_parts/cell() //comes with the crappy default power cell - high-capacity ones shouldn't be hard to find cell.loc = src /obj/item/device/suit_cooling_unit/proc/cool_mob(mob/M) @@ -132,7 +132,7 @@ updateicon() return - if (istype(W, /obj/item/weapon/cell)) + if (istype(W, /obj/item/weapon/stock_parts/cell)) if(cover_open) if(cell) user << "There is a [cell] already installed here." diff --git a/code/game/objects/items/robot/robot_parts.dm b/code/game/objects/items/robot/robot_parts.dm index 744d5999ff7..b1f5a1570fd 100644 --- a/code/game/objects/items/robot/robot_parts.dm +++ b/code/game/objects/items/robot/robot_parts.dm @@ -49,7 +49,7 @@ construction_time = 350 construction_cost = list("metal"=40000) var/wires = 0.0 - var/obj/item/weapon/cell/cell = null + var/obj/item/weapon/stock_parts/cell/cell = null /obj/item/robot_parts/head name = "robot head" @@ -251,7 +251,7 @@ /obj/item/robot_parts/chest/attackby(obj/item/W as obj, mob/user as mob) ..() - if(istype(W, /obj/item/weapon/cell)) + if(istype(W, /obj/item/weapon/stock_parts/cell)) if(src.cell) user << "\blue You have already inserted a cell!" return diff --git a/code/game/objects/items/weapons/defib.dm b/code/game/objects/items/weapons/defib.dm index f9a347df9ac..b65a1904116 100644 --- a/code/game/objects/items/weapons/defib.dm +++ b/code/game/objects/items/weapons/defib.dm @@ -19,7 +19,8 @@ var/safety = 1 //if you can zap people with the defibs on harm mode var/powered = 0 //if there's a cell in the defib with enough power for a revive, blocks paddles from reviving otherwise var/obj/item/weapon/twohanded/shockpaddles/paddles - var/obj/item/weapon/cell/high/bcell = null + var/obj/item/weapon/stock_parts/cell/high/bcell = null + var/combat = 0 //can we revive through space suits? /obj/item/weapon/defibrillator/New() //starts without a cell for rnd ..() @@ -67,7 +68,7 @@ overlays += "defibunit-charge[ratio]" /obj/item/weapon/defibrillator/CheckParts() - bcell = locate(/obj/item/weapon/cell) in contents + bcell = locate(/obj/item/weapon/stock_parts/cell) in contents update_icon() /obj/item/weapon/defibrillator/ui_action_click() @@ -78,8 +79,8 @@ return /obj/item/weapon/defibrillator/attackby(obj/item/weapon/W, mob/user) - if(istype(W, /obj/item/weapon/cell)) - var/obj/item/weapon/cell/C = W + if(istype(W, /obj/item/weapon/stock_parts/cell)) + var/obj/item/weapon/stock_parts/cell/C = W if(bcell) user << "[src] already has a cell." else @@ -195,6 +196,49 @@ paddles.cooldown = 0 paddles.update_icon() update_icon() + +/obj/item/weapon/defibrillator/compact + name = "compact defibrillator" + desc = "A belt-equipped defibrillator that can be rapidly deployed." + icon_state = "defibcompact" + item_state = "defibcompact" + w_class = 3 + slot_flags = SLOT_BELT + origin_tech = "biotech=4" + +/obj/item/weapon/defibrillator/compact/ui_action_click() + if(usr.get_item_by_slot(slot_belt) == src) + toggle_paddles() + else + usr << "Strap the defibrillator's belt on first!" + return + +/obj/item/weapon/defibrillator/compact/loaded/New() + ..() + paddles = make_paddles() + bcell = new(src) + update_icon() + return + +/obj/item/weapon/defibrillator/compact/combat + name = "combat defibrillator" + desc = "A belt-equipped blood-red defibrillator that can be rapidly deployed. Does not have the restrictions or safeties of conventional defibrillators and can revive through space suits." + combat = 1 + safety = 0 + +/obj/item/weapon/defibrillator/compact/combat/loaded/New() + ..() + paddles = make_paddles() + bcell = new /obj/item/weapon/stock_parts/cell/infinite(src) + update_icon() + return + +/obj/item/weapon/defibrillator/compact/combat/attackby(obj/item/weapon/W, mob/user) + if(W == paddles) + paddles.unwield() + toggle_paddles() + update_icon() + return //paddles @@ -254,7 +298,7 @@ else return 1 -/obj/item/weapon/twohanded/shockpaddles/attack(mob/M as mob, mob/user as mob) +/obj/item/weapon/twohanded/shockpaddles/attack(mob/M, mob/user) var/tobehealed var/threshold = -config.health_threshold_dead var/mob/living/carbon/human/H = M @@ -300,18 +344,19 @@ playsound(get_turf(src), 'sound/weapons/flash.ogg', 50, 0) var/mob/dead/observer/ghost = H.get_ghost() var/tplus = world.time - H.timeofdeath - var/tlimit = 3000 //past this much time the patient is unrecoverable (in deciseconds) - var/tloss = 900 //brain damage starts setting in on the patient after some time left rotting + var/tlimit = 6000 //past this much time the patient is unrecoverable (in deciseconds) + var/tloss = 3000 //brain damage starts setting in on the patient after some time left rotting var/total_burn = 0 var/total_brute = 0 if(do_after(user, 20)) //placed on chest and short delay to shock for dramatic effect, revive time is 5sec total for(var/obj/item/carried_item in H.contents) - if((istype(carried_item, /obj/item/clothing/suit/armor)) || (istype(carried_item, /obj/item/clothing/suit/space))) - user.visible_message("[defib] buzzes: Patient's chest is obscured. Operation aborted.") - playsound(get_turf(src), 'sound/machines/buzz-sigh.ogg', 50, 0) - busy = 0 - update_icon() - return + if(istype(carried_item, /obj/item/clothing/suit/space)) + if(!defib.combat) + user.visible_message("[defib] buzzes: Patient's chest is obscured. Operation aborted.") + playsound(get_turf(src), 'sound/machines/buzz-sigh.ogg', 50, 0) + busy = 0 + update_icon() + return if(H.stat == 2) var/health = H.health M.visible_message("[M]'s body convulses a bit.") diff --git a/code/game/objects/items/weapons/melee/energy.dm b/code/game/objects/items/weapons/melee/energy.dm index e98c641c363..2c68041fb16 100644 --- a/code/game/objects/items/weapons/melee/energy.dm +++ b/code/game/objects/items/weapons/melee/energy.dm @@ -54,7 +54,7 @@ /obj/item/weapon/melee/energy/sword/cyborg/attack(mob/M, var/mob/living/silicon/robot/R) if(R.cell) - var/obj/item/weapon/cell/C = R.cell + var/obj/item/weapon/stock_parts/cell/C = R.cell if(active && !(C.use(hitcost))) attack_self() R << "It's out of charge!" diff --git a/code/game/objects/items/weapons/power_cells.dm b/code/game/objects/items/weapons/power_cells.dm index cf9abda162f..5a4b7a98d9d 100644 --- a/code/game/objects/items/weapons/power_cells.dm +++ b/code/game/objects/items/weapons/power_cells.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/cell +/obj/item/weapon/stock_parts/cell name = "power cell" desc = "A rechargable electrochemical power cell." icon = 'icons/obj/power.dmi' @@ -13,7 +13,7 @@ w_class = 3.0 var/charge = 0 // note %age conveted to actual charge in New var/maxcharge = 10000 - var/rating = 1 + rating = 1 m_amt = 700 g_amt = 50 var/rigged = 0 // true if rigged to explode @@ -25,7 +25,7 @@ viewers(user) << "[user] is licking the electrodes of the [src.name]! It looks like \he's trying to commit suicide." return (FIRELOSS) -/obj/item/weapon/cell/crap +/obj/item/weapon/stock_parts/cell/crap name = "\improper Nanotrasen brand rechargable AA battery" desc = "You can't top the plasma top." //TOTALLY TRADEMARK INFRINGEMENT origin_tech = "powerstorage=0" @@ -33,22 +33,22 @@ rating = 2 g_amt = 40 -/obj/item/weapon/cell/crap/empty/New() +/obj/item/weapon/stock_parts/cell/crap/empty/New() ..() charge = 0 -/obj/item/weapon/cell/secborg +/obj/item/weapon/stock_parts/cell/secborg name = "\improper Security borg rechargable D battery" origin_tech = "powerstorage=0" maxcharge = 6000 //6000 max charge / 1000 charge per shot = six shots rating = 2.5 g_amt = 40 -/obj/item/weapon/cell/secborg/empty/New() +/obj/item/weapon/stock_parts/cell/secborg/empty/New() ..() charge = 0 -/obj/item/weapon/cell/high +/obj/item/weapon/stock_parts/cell/high name = "high-capacity power cell" origin_tech = "powerstorage=2" icon_state = "hcell" @@ -56,11 +56,11 @@ rating = 3 g_amt = 60 -/obj/item/weapon/cell/high/empty/New() +/obj/item/weapon/stock_parts/cell/high/empty/New() ..() charge = 0 -/obj/item/weapon/cell/super +/obj/item/weapon/stock_parts/cell/super name = "super-capacity power cell" origin_tech = "powerstorage=5" icon_state = "scell" @@ -69,11 +69,11 @@ rating = 4 construction_cost = list("metal"=750,"glass"=100) -/obj/item/weapon/cell/super/empty/New() +/obj/item/weapon/stock_parts/cell/super/empty/New() ..() charge = 0 -/obj/item/weapon/cell/hyper +/obj/item/weapon/stock_parts/cell/hyper name = "hyper-capacity power cell" origin_tech = "powerstorage=6" icon_state = "hpcell" @@ -82,11 +82,11 @@ g_amt = 80 construction_cost = list("metal"=500,"glass"=150,"gold"=200,"silver"=200) -/obj/item/weapon/cell/hyper/empty/New() +/obj/item/weapon/stock_parts/cell/hyper/empty/New() ..() charge = 0 -/obj/item/weapon/cell/infinite +/obj/item/weapon/stock_parts/cell/infinite name = "infinite-capacity power cell!" icon_state = "icell" origin_tech = null @@ -96,7 +96,7 @@ use() return 1 -/obj/item/weapon/cell/potato +/obj/item/weapon/stock_parts/cell/potato name = "potato battery" desc = "A rechargable starch based power cell." origin_tech = "powerstorage=1" @@ -110,7 +110,7 @@ minor_fault = 1 -/obj/item/weapon/cell/slime +/obj/item/weapon/stock_parts/cell/slime name = "charged slime core" desc = "A yellow slime core infused with plasma, it crackles with power." origin_tech = "powerstorage=2;biotech=4" diff --git a/code/game/objects/items/weapons/stunbaton.dm b/code/game/objects/items/weapons/stunbaton.dm index 2e9ed7b70c9..8a33f542f4c 100644 --- a/code/game/objects/items/weapons/stunbaton.dm +++ b/code/game/objects/items/weapons/stunbaton.dm @@ -12,7 +12,7 @@ attack_verb = list("beaten") var/stunforce = 7 var/status = 0 - var/obj/item/weapon/cell/high/bcell = null + var/obj/item/weapon/stock_parts/cell/high/bcell = null var/hitcost = 1500 /obj/item/weapon/melee/baton/suicide_act(mob/user) @@ -25,7 +25,7 @@ return /obj/item/weapon/melee/baton/CheckParts() - bcell = locate(/obj/item/weapon/cell) in contents + bcell = locate(/obj/item/weapon/stock_parts/cell) in contents update_icon() /obj/item/weapon/melee/baton/loaded/New() //this one starts with a cell pre-installed. @@ -61,8 +61,8 @@ user <<"The baton does not have a power source installed." /obj/item/weapon/melee/baton/attackby(obj/item/weapon/W, mob/user) - if(istype(W, /obj/item/weapon/cell)) - var/obj/item/weapon/cell/C = W + if(istype(W, /obj/item/weapon/stock_parts/cell)) + var/obj/item/weapon/stock_parts/cell/C = W if(bcell) user << "[src] already has a cell." else diff --git a/code/game/objects/random/random.dm b/code/game/objects/random/random.dm index 832227b12d7..5c66dd46bcb 100644 --- a/code/game/objects/random/random.dm +++ b/code/game/objects/random/random.dm @@ -56,11 +56,11 @@ icon = 'icons/obj/power.dmi' icon_state = "cell" item_to_spawn() - return pick(prob(10);/obj/item/weapon/cell/crap,\ - prob(40);/obj/item/weapon/cell,\ - prob(40);/obj/item/weapon/cell/high,\ - prob(9);/obj/item/weapon/cell/super,\ - prob(1);/obj/item/weapon/cell/hyper) + return pick(prob(10);/obj/item/weapon/stock_parts/cell/crap,\ + prob(40);/obj/item/weapon/stock_parts/cell,\ + prob(40);/obj/item/weapon/stock_parts/cell/high,\ + prob(9);/obj/item/weapon/stock_parts/cell/super,\ + prob(1);/obj/item/weapon/stock_parts/cell/hyper) /obj/random/bomb_supply diff --git a/code/game/objects/structures/crates_lockers/closets/malfunction.dm b/code/game/objects/structures/crates_lockers/closets/malfunction.dm index 7cfb4f18e2f..3bf64ba34d8 100644 --- a/code/game/objects/structures/crates_lockers/closets/malfunction.dm +++ b/code/game/objects/structures/crates_lockers/closets/malfunction.dm @@ -13,5 +13,5 @@ new /obj/item/clothing/head/helmet/space/nasavoid(src) new /obj/item/clothing/suit/space/nasavoid(src) new /obj/item/weapon/crowbar(src) - new /obj/item/weapon/cell(src) + new /obj/item/weapon/stock_parts/cell(src) new /obj/item/device/multitool(src) \ No newline at end of file diff --git a/code/game/objects/structures/crates_lockers/closets/secure/medical.dm b/code/game/objects/structures/crates_lockers/closets/secure/medical.dm index 9e0ffec3dd8..fcd8dafd77f 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/medical.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/medical.dm @@ -148,7 +148,7 @@ new /obj/item/clothing/shoes/brown (src) new /obj/item/device/radio/headset/heads/cmo(src) new /obj/item/clothing/gloves/color/latex/nitrile(src) - new /obj/item/weapon/defibrillator/loaded(src) + new /obj/item/weapon/defibrillator/compact/loaded(src) new /obj/item/weapon/storage/belt/medical(src) new /obj/item/device/flash(src) new /obj/item/weapon/reagent_containers/hypospray/CMO(src) diff --git a/code/game/vehicles/spacepods/spacepod.dm b/code/game/vehicles/spacepods/spacepod.dm index 7d81ba1ebbd..ca3b4e50c6e 100644 --- a/code/game/vehicles/spacepods/spacepod.dm +++ b/code/game/vehicles/spacepods/spacepod.dm @@ -14,8 +14,8 @@ var/mob/living/carbon/occupant var/mob/living/carbon/occupant2 //two seaters var/datum/spacepod/equipment/equipment_system - var/battery_type = "/obj/item/weapon/cell/high" - var/obj/item/weapon/cell/battery + var/battery_type = "/obj/item/weapon/stock_parts/cell/high" + var/obj/item/weapon/stock_parts/cell/battery var/datum/gas_mixture/cabin_air var/obj/machinery/portable_atmospherics/canister/internal_tank var/datum/effect/effect/system/ion_trail_follow/space_trail/ion_trail @@ -158,7 +158,7 @@ if(iscrowbar(W)) hatch_open = !hatch_open user << "You [hatch_open ? "open" : "close"] the maintenance hatch." - if(istype(W, /obj/item/weapon/cell)) + if(istype(W, /obj/item/weapon/stock_parts/cell)) if(!hatch_open) return ..() if(battery) diff --git a/code/game/vehicles/vehicle.dm b/code/game/vehicles/vehicle.dm index 3ec73f3eeb9..9924fea07d0 100644 --- a/code/game/vehicles/vehicle.dm +++ b/code/game/vehicles/vehicle.dm @@ -16,7 +16,7 @@ //var/deflect_chance = 10 //chance to deflect the incoming projectiles, hits, or lesser the effect of ex_act. //the values in this list show how much damage will pass through, not how much will be absorbed. var/list/damage_absorption = list("brute"=0.8,"fire"=1.2,"bullet"=0.9,"laser"=1,"energy"=1,"bomb"=1) - var/obj/item/weapon/cell/cell //Our power source + var/obj/item/weapon/stock_parts/cell/cell //Our power source var/state = 0 var/list/log = new var/last_message = 0 @@ -93,7 +93,7 @@ internal_tank = new /obj/machinery/portable_atmospherics/canister/air(src) return internal_tank*/ -/obj/vehicle/proc/add_cell(var/obj/item/weapon/cell/C=null) +/obj/vehicle/proc/add_cell(var/obj/item/weapon/stock_parts/cell/C=null) if(C) C.forceMove(src) cell = C diff --git a/code/modules/clothing/gloves/ninja.dm b/code/modules/clothing/gloves/ninja.dm index 4fbdcdf8607..5876067697b 100644 --- a/code/modules/clothing/gloves/ninja.dm +++ b/code/modules/clothing/gloves/ninja.dm @@ -102,7 +102,7 @@ drain("MECHA",A,suit) return 1 /* - if(istype(A,/obj/item/weapon/cell)) + if(istype(A,/obj/item/weapon/stock_parts/cell)) A.add_fingerprint(H) drain("CELL",A,suit) return 1 diff --git a/code/modules/clothing/spacesuits/ninja.dm b/code/modules/clothing/spacesuits/ninja.dm index 3f162fbf09e..b1b51684ee0 100644 --- a/code/modules/clothing/spacesuits/ninja.dm +++ b/code/modules/clothing/spacesuits/ninja.dm @@ -3,7 +3,7 @@ name = "ninja hood" icon_state = "s-ninja" item_state = "s-ninja_hood" - allowed = list(/obj/item/weapon/cell) + allowed = list(/obj/item/weapon/stock_parts/cell) armor = list(melee = 60, bullet = 50, laser = 30,energy = 15, bomb = 30, bio = 30, rad = 25) unacidable = 1 siemens_coefficient = 0.2 @@ -14,7 +14,7 @@ desc = "A unique, vaccum-proof suit of nano-enhanced armor designed specifically for Spider Clan assassins." icon_state = "s-ninja" item_state = "s-ninja_suit" - allowed = list(/obj/item/weapon/gun,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/handcuffs,/obj/item/weapon/tank,/obj/item/weapon/cell,/obj/item/device/suit_cooling_unit) + allowed = list(/obj/item/weapon/gun,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/handcuffs,/obj/item/weapon/tank,/obj/item/weapon/stock_parts/cell,/obj/item/device/suit_cooling_unit) slowdown = 0 unacidable = 1 armor = list(melee = 60, bullet = 50, laser = 30,energy = 15, bomb = 30, bio = 30, rad = 30) @@ -22,7 +22,7 @@ //Important parts of the suit. var/mob/living/carbon/affecting = null//The wearer. - var/obj/item/weapon/cell/cell//Starts out with a high-capacity cell using New(). + var/obj/item/weapon/stock_parts/cell/cell//Starts out with a high-capacity cell using New(). var/datum/effect/effect/system/spark_spread/spark_system//To create sparks. var/reagent_list[] = list("tricordrazine","dexalinp","spaceacillin","anti_toxin","nutriment","uranium","hyronalin")//The reagents ids which are added to the suit at New(). var/stored_research[]//For stealing station research. diff --git a/code/modules/clothing/under/accessories/holster.dm b/code/modules/clothing/under/accessories/holster.dm index 6189e2eb464..12508cc5328 100644 --- a/code/modules/clothing/under/accessories/holster.dm +++ b/code/modules/clothing/under/accessories/holster.dm @@ -20,7 +20,10 @@ /obj/item/clothing/accessory/holster/attack_self() var/holsteritem = usr.get_active_hand() - holster(holsteritem, usr) + if(!holstered) + holster(holsteritem, usr) + else + unholster(usr) /obj/item/clothing/accessory/holster/proc/holster(obj/item/I, mob/user as mob) if(holstered) diff --git a/code/modules/computer3/buildandrepair.dm b/code/modules/computer3/buildandrepair.dm index 38db742ee67..d525f40a73e 100644 --- a/code/modules/computer3/buildandrepair.dm +++ b/code/modules/computer3/buildandrepair.dm @@ -61,7 +61,7 @@ // Battery must be installed BEFORE wiring the computer. // if installing it in an existing computer, you will have to // get back to this state first. - var/obj/item/weapon/cell/battery = null + var/obj/item/weapon/stock_parts/cell/battery = null /obj/structure/computer3frame/server name = "server frame" @@ -143,7 +143,7 @@ else user << "\red There's no battery to remove!" - if(istype(P, /obj/item/weapon/cell)) + if(istype(P, /obj/item/weapon/stock_parts/cell)) if(!battery) playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1) if(do_after(5)) diff --git a/code/modules/computer3/computer.dm b/code/modules/computer3/computer.dm index 456bdf3d71f..796dee7cd95 100644 --- a/code/modules/computer3/computer.dm +++ b/code/modules/computer3/computer.dm @@ -68,7 +68,7 @@ // the comms computer, solar trackers, etc, that should function when all else is off. // Laptops will require batteries and have no mains power. - var/obj/item/weapon/cell/battery = null // uninterruptible power supply aka battery + var/obj/item/weapon/stock_parts/cell/battery = null // uninterruptible power supply aka battery verb/ResetComputer() @@ -185,7 +185,7 @@ toybox.init(src) continue - if(ispath(typekey,/obj/item/weapon/cell)) + if(ispath(typekey,/obj/item/weapon/stock_parts/cell)) if(battery) continue battery = new typekey(src) continue @@ -452,7 +452,7 @@ //Returns percentage of battery charge remaining. Returns -1 if no battery is installed. proc/check_battery_status() if (battery) - var/obj/item/weapon/cell/B = battery + var/obj/item/weapon/stock_parts/cell/B = battery return round(B.charge / (B.maxcharge / 100)) else return -1 diff --git a/code/modules/computer3/laptop.dm b/code/modules/computer3/laptop.dm index 819036c6df5..bd45c044748 100644 --- a/code/modules/computer3/laptop.dm +++ b/code/modules/computer3/laptop.dm @@ -122,7 +122,7 @@ New(var/L, var/built = 0) if(!built && !battery) - battery = new /obj/item/weapon/cell(src) + battery = new /obj/item/weapon/stock_parts/cell(src) ..(L,built) verb/close_computer() diff --git a/code/modules/computer3/lapvend.dm b/code/modules/computer3/lapvend.dm index 7d9b14da7ef..7792307d689 100644 --- a/code/modules/computer3/lapvend.dm +++ b/code/modules/computer3/lapvend.dm @@ -202,10 +202,10 @@ newlap.spawn_parts += (/obj/item/part/computer/networking/cable) if (power == 1) del(newlap.battery) - newlap.battery = new /obj/item/weapon/cell/high(newlap) + newlap.battery = new /obj/item/weapon/stock_parts/cell/high(newlap) if (power == 2) del(newlap.battery) - newlap.battery = new /obj/item/weapon/cell/super(newlap) + newlap.battery = new /obj/item/weapon/stock_parts/cell/super(newlap) newlap.spawn_parts() @@ -293,7 +293,7 @@ return total /obj/machinery/lapvend/proc/choose_progs(var/obj/item/weapon/card/id/C) - if(access_security in C.access || access_forensics_lockers in C.access) + if((access_medical in C.access) || (access_forensics_lockers in C.access)) newlap.spawn_files += (/datum/file/program/secure_data) newlap.spawn_files += (/datum/file/camnet_key) newlap.spawn_files += (/datum/file/camnet_key/researchoutpost) @@ -349,9 +349,9 @@ network = 2 if(istype(L.stored_computer.net,/obj/item/part/computer/networking/cable)) network = 3 - if(istype(L.stored_computer.battery, /obj/item/weapon/cell/high)) + if(istype(L.stored_computer.battery, /obj/item/weapon/stock_parts/cell/high)) power = 1 - if(istype(L.stored_computer.battery, /obj/item/weapon/cell/super)) + if(istype(L.stored_computer.battery, /obj/item/weapon/stock_parts/cell/super)) power = 2 diff --git a/code/modules/computer3/test_machines.dm b/code/modules/computer3/test_machines.dm index 998937e6344..1be6f232d61 100644 --- a/code/modules/computer3/test_machines.dm +++ b/code/modules/computer3/test_machines.dm @@ -12,7 +12,7 @@ /obj/item/part/computer/cardslot/dual,/obj/item/part/computer/networking/area) New(var/L,var/built=0) if(!built && !battery) - battery = new /obj/item/weapon/cell(src) + battery = new /obj/item/weapon/stock_parts/cell(src) ..(L,built) /obj/machinery/computer3/laptop/testing @@ -28,7 +28,7 @@ /obj/item/part/computer/cardslot/dual,/obj/item/part/computer/networking/area) New(var/L,var/built=0) if(!built && !battery) - battery = new /obj/item/weapon/cell/super(src) + battery = new /obj/item/weapon/stock_parts/cell/super(src) ..(L,built) /obj/machinery/computer3/wall_comp/testing @@ -44,7 +44,7 @@ /obj/item/part/computer/cardslot/dual,/obj/item/part/computer/networking/area) New(var/L,var/built=0) if(!built && !battery) - battery = new /obj/item/weapon/cell(src) + battery = new /obj/item/weapon/stock_parts/cell(src) ..(L,built) /obj/machinery/computer3/server/testing @@ -60,7 +60,7 @@ /obj/item/part/computer/cardslot/dual,/obj/item/part/computer/networking/area) New(var/L,var/built=0) if(!built && !battery) - battery = new /obj/item/weapon/cell(src) + battery = new /obj/item/weapon/stock_parts/cell(src) ..(L,built) /obj/machinery/computer3/server/rack/testing @@ -76,7 +76,7 @@ /obj/item/part/computer/cardslot/dual,/obj/item/part/computer/networking/area) New(var/L,var/built=0) if(!built && !battery) - battery = new /obj/item/weapon/cell(src) + battery = new /obj/item/weapon/stock_parts/cell(src) ..(L,built) /obj/item/weapon/storage/box/testing_disks diff --git a/code/modules/jungle/jungle_temple.dm b/code/modules/jungle/jungle_temple.dm index ca7b21c8cf8..138d1dc47d1 100644 --- a/code/modules/jungle/jungle_temple.dm +++ b/code/modules/jungle/jungle_temple.dm @@ -249,7 +249,7 @@ new /obj/item/weapon/storage/toolbox/electrical(C) if(prob(25)) - new /obj/item/weapon/cell(C) + new /obj/item/weapon/stock_parts/cell(C) if("coffin") new /obj/structure/closet/coffin(src.loc) diff --git a/code/modules/mining/drilling/drill.dm b/code/modules/mining/drilling/drill.dm index 65fc72f1636..4b6f63445d6 100644 --- a/code/modules/mining/drilling/drill.dm +++ b/code/modules/mining/drilling/drill.dm @@ -33,7 +33,7 @@ var/obj/item/weapon/stock_parts/matter_bin/storage var/obj/item/weapon/stock_parts/micro_laser/cutter var/obj/item/weapon/stock_parts/capacitor/cellmount - var/obj/item/weapon/cell/cell + var/obj/item/weapon/stock_parts/cell/cell //Flags var/need_update_field = 0 @@ -195,7 +195,7 @@ cellmount = W user << "You install \the [W]." return - else if(istype(W,/obj/item/weapon/cell)) + else if(istype(W,/obj/item/weapon/stock_parts/cell)) if(cell) user << "The drill already has a cell installed." else diff --git a/code/modules/mining/manufacturing.dm b/code/modules/mining/manufacturing.dm index 07a00bb7561..a59a1071a22 100644 --- a/code/modules/mining/manufacturing.dm +++ b/code/modules/mining/manufacturing.dm @@ -814,7 +814,7 @@ /datum/manufacture/powercell name = "Power Cell" - item = /obj/item/weapon/cell + item = /obj/item/weapon/stock_parts/cell cost1 = /obj/item/weapon/ore/iron cname1 = "Iron" amount1 = 4 diff --git a/code/modules/mining/surprises/tg.dm b/code/modules/mining/surprises/tg.dm index 5c9b6b201af..e80d3a87115 100644 --- a/code/modules/mining/surprises/tg.dm +++ b/code/modules/mining/surprises/tg.dm @@ -130,7 +130,7 @@ spawntypes = list( /obj/item/weapon/pickaxe/plasmacutter=1, /obj/machinery/shieldgen=1, - /obj/item/weapon/cell/hyper=1 + /obj/item/weapon/stock_parts/cell/hyper=1 ) fluffitems = list( /obj/structure/table/reinforced=2, diff --git a/code/modules/mob/living/carbon/human/inventory.dm b/code/modules/mob/living/carbon/human/inventory.dm index c76cb6d2a82..80addc967c6 100644 --- a/code/modules/mob/living/carbon/human/inventory.dm +++ b/code/modules/mob/living/carbon/human/inventory.dm @@ -843,8 +843,8 @@ It can still be worn/put on as normal. if(slot_r_hand) return r_hand return null - -/mob/living/carbon/human/get_item_by_slot(slot_id) + +/mob/living/carbon/get_item_by_slot(slot_id) switch(slot_id) if(slot_back) return back @@ -860,4 +860,45 @@ It can still be worn/put on as normal. return r_hand return null - +// Return the item currently in the slot ID +/mob/living/carbon/human/get_item_by_slot(slot_id) + switch(slot_id) + if(slot_back) + return back + if(slot_wear_mask) + return wear_mask + if(slot_handcuffed) + return handcuffed + if(slot_legcuffed) + return legcuffed + if(slot_l_hand) + return l_hand + if(slot_r_hand) + return r_hand + if(slot_belt) + return belt + if(slot_wear_id) + return wear_id + if(slot_l_ear) + return l_ear + if(slot_r_ear) + return r_ear + if(slot_glasses) + return glasses + if(slot_gloves) + return gloves + if(slot_head) + return head + if(slot_shoes) + return shoes + if(slot_wear_suit) + return wear_suit + if(slot_w_uniform) + return w_uniform + if(slot_l_store) + return l_store + if(slot_r_store) + return r_store + if(slot_s_store) + return s_store + return null diff --git a/code/modules/mob/living/silicon/mommi/life.dm b/code/modules/mob/living/silicon/mommi/life.dm index 948d5967888..73e6ee16aa5 100644 --- a/code/modules/mob/living/silicon/mommi/life.dm +++ b/code/modules/mob/living/silicon/mommi/life.dm @@ -264,7 +264,7 @@ if (src.client) src.client.screen -= src.contents for(var/obj/I in src.contents) - //if(I && !(istype(I,/obj/item/weapon/cell) || istype(I,/obj/item/device/radio) || istype(I,/obj/machinery/camera) || istype(I,/obj/item/device/mmi))) + //if(I && !(istype(I,/obj/item/weapon/stock_parts/cell) || istype(I,/obj/item/device/radio) || istype(I,/obj/machinery/camera) || istype(I,/obj/item/device/mmi))) if(I) // Make sure we're not showing any of our internal components, as that would be lewd. // This way of doing it ensures that shit we pick up will be visible, wheras shit inside of us isn't. diff --git a/code/modules/mob/living/silicon/mommi/mommi.dm b/code/modules/mob/living/silicon/mommi/mommi.dm index 79034c8782c..91defdaedfb 100644 --- a/code/modules/mob/living/silicon/mommi/mommi.dm +++ b/code/modules/mob/living/silicon/mommi/mommi.dm @@ -40,7 +40,7 @@ They can only use one tool at a time, they can't choose modules, and they have 1 updateicon() if(!cell) - cell = new /obj/item/weapon/cell(src) + cell = new /obj/item/weapon/stock_parts/cell(src) cell.maxcharge = 7500 cell.charge = 7500 ..() @@ -190,7 +190,7 @@ They can only use one tool at a time, they can't choose modules, and they have 1 opened = 1 updateicon() - else if (istype(W, /obj/item/weapon/cell) && opened) // trying to put a cell inside + else if (istype(W, /obj/item/weapon/stock_parts/cell) && opened) // trying to put a cell inside if(wiresexposed) user << "Close the panel first." else if(cell) 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 1db5b3e059f..fff8878ff0e 100644 --- a/code/modules/mob/living/silicon/robot/drone/drone_items.dm +++ b/code/modules/mob/living/silicon/robot/drone/drone_items.dm @@ -8,7 +8,7 @@ //Has a list of items that it can hold. var/list/can_hold = list( - /obj/item/weapon/cell, + /obj/item/weapon/stock_parts/cell, /obj/item/weapon/firealarm_electronics, /obj/item/weapon/airalarm_electronics, /obj/item/weapon/airlock_electronics, diff --git a/code/modules/mob/living/silicon/robot/life.dm b/code/modules/mob/living/silicon/robot/life.dm index 3bea2e0ee96..6ecbfbd9dfc 100644 --- a/code/modules/mob/living/silicon/robot/life.dm +++ b/code/modules/mob/living/silicon/robot/life.dm @@ -309,7 +309,7 @@ if (src.client) src.client.screen -= src.contents for(var/obj/I in src.contents) - if(I && !(istype(I,/obj/item/weapon/cell) || istype(I,/obj/item/device/radio) || istype(I,/obj/machinery/camera) || istype(I,/obj/item/device/mmi))) + if(I && !(istype(I,/obj/item/weapon/stock_parts/cell) || istype(I,/obj/item/device/radio) || istype(I,/obj/machinery/camera) || istype(I,/obj/item/device/mmi))) src.client.screen += I if(src.module_state_1) src.module_state_1:screen_loc = ui_inv1 diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index 1b12f3595fd..1e0a62eedb2 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -30,7 +30,7 @@ var/obj/item/device/radio/borg/radio = null var/mob/living/silicon/ai/connected_ai = null - var/obj/item/weapon/cell/cell = null + var/obj/item/weapon/stock_parts/cell/cell = null var/obj/machinery/camera/camera = null // Components are basically robot organs. @@ -95,7 +95,7 @@ mmi.icon_state="posibrain-occupied" if(syndie) if(!cell) - cell = new /obj/item/weapon/cell(src) + cell = new /obj/item/weapon/stock_parts/cell(src) laws = new /datum/ai_laws/antimov() lawupdate = 0 scrambledcodes = 1 @@ -124,7 +124,7 @@ C.wrapped = new C.external_type if(!cell) - cell = new /obj/item/weapon/cell(src) + cell = new /obj/item/weapon/stock_parts/cell(src) cell.maxcharge = 7500 cell.charge = 7500 @@ -752,7 +752,7 @@ opened = 1 updateicon() - else if (istype(W, /obj/item/weapon/cell) && opened) // trying to put a cell inside + else if (istype(W, /obj/item/weapon/stock_parts/cell) && opened) // trying to put a cell inside var/datum/robot_component/C = components["power cell"] if(wiresexposed) user << "Close the panel first." diff --git a/code/modules/mob/living/simple_animal/friendly/spiderbot.dm b/code/modules/mob/living/simple_animal/friendly/spiderbot.dm index 0854948bf6a..aa64a6fe921 100644 --- a/code/modules/mob/living/simple_animal/friendly/spiderbot.dm +++ b/code/modules/mob/living/simple_animal/friendly/spiderbot.dm @@ -8,7 +8,7 @@ var/obj/item/device/radio/borg/radio = null var/mob/living/silicon/ai/connected_ai = null - var/obj/item/weapon/cell/cell = null + var/obj/item/weapon/stock_parts/cell/cell = null var/obj/machinery/camera/camera = null var/obj/item/device/mmi/mmi = null var/list/req_access = list(access_robotics) //Access needed to pop out the brain. diff --git a/code/modules/power/apc.dm b/code/modules/power/apc.dm index 7a2eb7c5a38..be181ff7515 100644 --- a/code/modules/power/apc.dm +++ b/code/modules/power/apc.dm @@ -52,7 +52,7 @@ var/spooky=0 var/area/area var/areastring = null - var/obj/item/weapon/cell/cell + var/obj/item/weapon/stock_parts/cell/cell var/start_charge = 90 // initial cell charge % var/cell_type = 2500 // 0=no cell, 1=regular, 2=high-cap (x5) <- old, now it's just 0=no cell, otherwise dictate cellcapacity by changing this value. 1 used to be 1000, 2 was 2500 var/opened = 0 //0=closed, 1=opened, 2=cover removed @@ -142,7 +142,7 @@ has_electronics = 2 //installed and secured // is starting with a power cell installed, create it and set its charge level if(cell_type) - src.cell = new/obj/item/weapon/cell(src) + src.cell = new/obj/item/weapon/stock_parts/cell(src) cell.maxcharge = cell_type // cell_type is maximum charge (old default was 1000 or 2500 (values one and two respectively) cell.charge = start_charge * cell.maxcharge / 100.0 // (convert percentage to actual value) @@ -399,7 +399,7 @@ else opened = 1 update_icon() - else if (istype(W, /obj/item/weapon/cell) && opened) // trying to put a cell inside + else if (istype(W, /obj/item/weapon/stock_parts/cell) && opened) // trying to put a cell inside if(cell) user << "There is a power cell already installed." return diff --git a/code/modules/power/cell.dm b/code/modules/power/cell.dm index e099b39e35d..606d58a4724 100644 --- a/code/modules/power/cell.dm +++ b/code/modules/power/cell.dm @@ -1,16 +1,16 @@ // the power cell // charge from 0 to 100% // fits in APC to provide backup power -/obj/item/weapon/cell/var/image/overlay_image +/obj/item/weapon/stock_parts/cell/var/image/overlay_image -/obj/item/weapon/cell/New() +/obj/item/weapon/stock_parts/cell/New() ..() charge = maxcharge spawn(5) updateicon() -/obj/item/weapon/cell/proc/updateicon() +/obj/item/weapon/stock_parts/cell/proc/updateicon() if(isnull(src.overlay_image)) src.overlay_image = image('icons/obj/power.dmi') overlays.Cut() @@ -24,11 +24,11 @@ src.overlay_image.icon_state = "cell-o1" overlays += src.overlay_image -/obj/item/weapon/cell/proc/percent() // return % charge of cell +/obj/item/weapon/stock_parts/cell/proc/percent() // return % charge of cell return 100.0*charge/maxcharge // use power from a cell -/obj/item/weapon/cell/proc/use(var/amount) +/obj/item/weapon/stock_parts/cell/proc/use(var/amount) if(rigged && amount > 0) explode() return 0 @@ -38,7 +38,7 @@ return 1 // recharge the cell -/obj/item/weapon/cell/proc/give(var/amount) +/obj/item/weapon/stock_parts/cell/proc/give(var/amount) if(rigged && amount > 0) explode() return 0 @@ -55,7 +55,7 @@ return power_used -/obj/item/weapon/cell/examine() +/obj/item/weapon/stock_parts/cell/examine() set src in view(1) if(usr /*&& !usr.stat*/) if(maxcharge <= 2500) @@ -65,7 +65,7 @@ if(crit_fail) usr << "\red This power cell seems to be faulty." -/obj/item/weapon/cell/attack_self(mob/user as mob) +/obj/item/weapon/stock_parts/cell/attack_self(mob/user as mob) src.add_fingerprint(user) if(ishuman(user)) @@ -76,7 +76,7 @@ SNG.drain("CELL",src,H.wear_suit) return -/obj/item/weapon/cell/attackby(obj/item/W, mob/user) +/obj/item/weapon/stock_parts/cell/attackby(obj/item/W, mob/user) ..() if(istype(W, /obj/item/weapon/reagent_containers/syringe)) var/obj/item/weapon/reagent_containers/syringe/S = W @@ -93,7 +93,7 @@ S.reagents.clear_reagents() -/obj/item/weapon/cell/proc/explode() +/obj/item/weapon/stock_parts/cell/proc/explode() var/turf/T = get_turf(src.loc) /* * 1000-cell explosion(T, -1, 0, 1, 1) @@ -121,13 +121,13 @@ spawn(1) del(src) -/obj/item/weapon/cell/proc/corrupt() +/obj/item/weapon/stock_parts/cell/proc/corrupt() charge /= 2 maxcharge /= 2 if (prob(10)) rigged = 1 //broken batterys are dangerous -/obj/item/weapon/cell/emp_act(severity) +/obj/item/weapon/stock_parts/cell/emp_act(severity) charge -= 1000 / severity if (charge < 0) charge = 0 @@ -135,7 +135,7 @@ reliability -= 10 / severity ..() -/obj/item/weapon/cell/ex_act(severity) +/obj/item/weapon/stock_parts/cell/ex_act(severity) switch(severity) if(1.0) @@ -155,10 +155,10 @@ corrupt() return -/obj/item/weapon/cell/blob_act() +/obj/item/weapon/stock_parts/cell/blob_act() ex_act(1) -/obj/item/weapon/cell/proc/get_electrocute_damage() +/obj/item/weapon/stock_parts/cell/proc/get_electrocute_damage() switch (charge) /* if (9000 to INFINITY) return min(rand(90,150),rand(90,150)) diff --git a/code/modules/power/power.dm b/code/modules/power/power.dm index bff319d9b60..fbb8d479470 100644 --- a/code/modules/power/power.dm +++ b/code/modules/power/power.dm @@ -475,11 +475,11 @@ power_source = Cable.powernet var/datum/powernet/PN - var/obj/item/weapon/cell/cell + var/obj/item/weapon/stock_parts/cell/cell if(istype(power_source,/datum/powernet)) PN = power_source - else if(istype(power_source,/obj/item/weapon/cell)) + else if(istype(power_source,/obj/item/weapon/stock_parts/cell)) cell = power_source else if(istype(power_source,/obj/machinery/power/apc)) var/obj/machinery/power/apc/apc = power_source @@ -514,7 +514,7 @@ else if (istype(power_source,/datum/powernet)) var/drained_power = drained_energy/CELLRATE //convert from "joules" to "watts" PN.newload+=drained_power - else if (istype(power_source, /obj/item/weapon/cell)) + else if (istype(power_source, /obj/item/weapon/stock_parts/cell)) cell.use(drained_energy) return drained_energy diff --git a/code/modules/power/smes.dm b/code/modules/power/smes.dm index 1613bc46187..a3065ce3bb4 100644 --- a/code/modules/power/smes.dm +++ b/code/modules/power/smes.dm @@ -33,11 +33,11 @@ ..() component_parts = list() component_parts += new /obj/item/weapon/circuitboard/smes(null) - component_parts += new /obj/item/weapon/cell/high(null) - component_parts += new /obj/item/weapon/cell/high(null) - component_parts += new /obj/item/weapon/cell/high(null) - component_parts += new /obj/item/weapon/cell/high(null) - component_parts += new /obj/item/weapon/cell/high(null) + component_parts += new /obj/item/weapon/stock_parts/cell/high(null) + component_parts += new /obj/item/weapon/stock_parts/cell/high(null) + component_parts += new /obj/item/weapon/stock_parts/cell/high(null) + component_parts += new /obj/item/weapon/stock_parts/cell/high(null) + component_parts += new /obj/item/weapon/stock_parts/cell/high(null) component_parts += new /obj/item/weapon/stock_parts/capacitor(null) component_parts += new /obj/item/stack/cable_coil(null, 5) RefreshParts() @@ -68,7 +68,7 @@ IO += CP.rating input_level_max = 200000 * IO output_level_max = 200000 * IO - for(var/obj/item/weapon/cell/PC in component_parts) + for(var/obj/item/weapon/stock_parts/cell/PC in component_parts) C += PC.maxcharge capacity = C / (15000) * 1e6 diff --git a/code/modules/projectiles/guns/alien.dm b/code/modules/projectiles/guns/alien.dm index 76ea406751b..177255cfe72 100644 --- a/code/modules/projectiles/guns/alien.dm +++ b/code/modules/projectiles/guns/alien.dm @@ -77,7 +77,7 @@ force = 10 projectile_type = "/obj/item/projectile/energy/sonic" - cell_type = "/obj/item/weapon/cell/super" + cell_type = "/obj/item/weapon/stock_parts/cell/super" fire_delay = 40 fire_sound = 'sound/effects/basscannon.ogg' diff --git a/code/modules/projectiles/guns/energy.dm b/code/modules/projectiles/guns/energy.dm index 3d09aadc2c6..b3bb07066e6 100644 --- a/code/modules/projectiles/guns/energy.dm +++ b/code/modules/projectiles/guns/energy.dm @@ -4,9 +4,9 @@ desc = "A basic energy-based gun." fire_sound = 'sound/weapons/Taser.ogg' - var/obj/item/weapon/cell/power_supply //What type of power cell this uses + var/obj/item/weapon/stock_parts/cell/power_supply //What type of power cell this uses var/charge_cost = 1000 //How much energy is needed to fire. - var/cell_type = "/obj/item/weapon/cell" + var/cell_type = "/obj/item/weapon/stock_parts/cell" var/projectile_type = "/obj/item/projectile/beam" var/modifystate @@ -55,7 +55,7 @@ /* attackby(obj/item/weapon/W, mob/user) - if(istype(W, /obj/item/weapon/cell)) + if(istype(W, /obj/item/weapon/stock_parts/cell)) if(!power_supply) user.drop_item() W.loc = src diff --git a/code/modules/projectiles/guns/energy/advtaser.dm b/code/modules/projectiles/guns/energy/advtaser.dm index ff552909ab8..039c569131e 100644 --- a/code/modules/projectiles/guns/energy/advtaser.dm +++ b/code/modules/projectiles/guns/energy/advtaser.dm @@ -4,7 +4,7 @@ icon_state = "advtaser" item_state = null //so the human update icon uses the icon_state instead. icon_override = 'icons/mob/in-hand/guns.dmi' - cell_type = "/obj/item/weapon/cell" + cell_type = "/obj/item/weapon/stock_parts/cell" origin_tech = null fire_sound = 'sound/weapons/Taser.ogg' projectile_type = "/obj/item/projectile/energy/electrode" diff --git a/code/modules/projectiles/guns/energy/pulse.dm b/code/modules/projectiles/guns/energy/pulse.dm index e11a604b45e..38f14ca87b0 100644 --- a/code/modules/projectiles/guns/energy/pulse.dm +++ b/code/modules/projectiles/guns/energy/pulse.dm @@ -7,7 +7,7 @@ fire_sound = 'sound/weapons/pulse.ogg' charge_cost = 200 projectile_type = "/obj/item/projectile/beam/pulse" - cell_type = "/obj/item/weapon/cell/super" + cell_type = "/obj/item/weapon/stock_parts/cell/super" var/mode = 2 slot_flags = SLOT_BACK w_class = 4.0 @@ -52,7 +52,7 @@ /obj/item/weapon/gun/energy/pulse_rifle/destroyer name = "pulse destroyer" desc = "A heavy-duty, pulse-based energy weapon." - cell_type = "/obj/item/weapon/cell/infinite" + cell_type = "/obj/item/weapon/stock_parts/cell/infinite" attack_self(mob/living/user as mob) user << "\red [src.name] has three settings, and they are all DESTROY." @@ -63,7 +63,7 @@ name = "m1911-P" desc = "It's not the size of the gun, it's the size of the hole it puts through people." icon_state = "m1911-p" - cell_type = "/obj/item/weapon/cell/infinite" + cell_type = "/obj/item/weapon/stock_parts/cell/infinite" w_class = 3.0 slot_flags = SLOT_BELT isHandgun() diff --git a/code/modules/projectiles/guns/energy/special.dm b/code/modules/projectiles/guns/energy/special.dm index 558745deac3..a8353bba498 100644 --- a/code/modules/projectiles/guns/energy/special.dm +++ b/code/modules/projectiles/guns/energy/special.dm @@ -92,7 +92,7 @@ item_state = "c20r" w_class = 4 projectile_type = "/obj/item/projectile/meteor" - cell_type = "/obj/item/weapon/cell/potato" + cell_type = "/obj/item/weapon/stock_parts/cell/potato" clumsy_check = 0 //Admin spawn only, might as well let clowns use it. var/charge_tick = 0 var/recharge_time = 5 //Time it takes for shots to recharge (in ticks) @@ -229,7 +229,7 @@ modules/mob/living/carbon/human/life.dm if you die, you will be zoomed out. projectile_type = "/obj/item/projectile/kinetic" fire_sound = 'sound/weapons/Kenetic_accel.ogg' charge_cost = 5000 - cell_type = "/obj/item/weapon/cell/crap" + cell_type = "/obj/item/weapon/stock_parts/cell/crap" var/overheat = 0 var/recent_reload = 1 @@ -255,7 +255,7 @@ modules/mob/living/carbon/human/life.dm if you die, you will be zoomed out. icon_state = "disabler" item_state = null projectile_type = "/obj/item/projectile/beam/disabler" - cell_type = "/obj/item/weapon/cell" + cell_type = "/obj/item/weapon/stock_parts/cell" charge_cost = 500 @@ -268,7 +268,7 @@ modules/mob/living/carbon/human/life.dm if you die, you will be zoomed out. icon_state = "l6closed0" icon = 'icons/obj/gun.dmi' fire_sound = 'sound/weapons/Gunshot_smg.ogg' - cell_type = "/obj/item/weapon/cell/secborg" + cell_type = "/obj/item/weapon/stock_parts/cell/secborg" projectile_type = "/obj/item/projectile/bullet/midbullet3" charge_cost = 300 //Yeah, let's NOT give them a 300 round clip that recharges, 20 is more reasonable and will actually hurt the borg's battery for overuse. var/charge_tick = 0 diff --git a/code/modules/projectiles/guns/energy/stun.dm b/code/modules/projectiles/guns/energy/stun.dm index ce9e12a51f8..f5002bdd0f5 100644 --- a/code/modules/projectiles/guns/energy/stun.dm +++ b/code/modules/projectiles/guns/energy/stun.dm @@ -6,7 +6,7 @@ item_state = null //so the human update icon uses the icon_state instead. fire_sound = 'sound/weapons/Taser.ogg' projectile_type = "/obj/item/projectile/energy/electrode" - cell_type = "/obj/item/weapon/cell/crap" + cell_type = "/obj/item/weapon/stock_parts/cell/crap" /obj/item/weapon/gun/energy/taser/cyborg name = "taser gun" @@ -14,7 +14,7 @@ icon_state = "taser" fire_sound = 'sound/weapons/Taser.ogg' projectile_type = "/obj/item/projectile/energy/electrode" - cell_type = "/obj/item/weapon/cell/secborg" + cell_type = "/obj/item/weapon/stock_parts/cell/secborg" var/charge_tick = 0 var/recharge_time = 10 //Time it takes for shots to recharge (in ticks) @@ -49,7 +49,7 @@ fire_sound = "sound/weapons/gunshot.ogg" origin_tech = "combat=3;materials=3;powerstorage=2" projectile_type = "/obj/item/projectile/energy/electrode" - cell_type = "/obj/item/weapon/cell" + cell_type = "/obj/item/weapon/stock_parts/cell" @@ -64,7 +64,7 @@ silenced = 1 fire_sound = 'sound/weapons/Genhit.ogg' projectile_type = "/obj/item/projectile/energy/bolt" - cell_type = "/obj/item/weapon/cell/crap" + cell_type = "/obj/item/weapon/stock_parts/cell/crap" var/charge_tick = 0 /obj/item/weapon/gun/energy/crossbow/New() diff --git a/code/modules/projectiles/guns/energy/temperature.dm b/code/modules/projectiles/guns/energy/temperature.dm index 520a2cf6c73..ffc680a151a 100644 --- a/code/modules/projectiles/guns/energy/temperature.dm +++ b/code/modules/projectiles/guns/energy/temperature.dm @@ -9,7 +9,7 @@ origin_tech = "combat=3;materials=4;powerstorage=3;magnets=2" projectile_type = "/obj/item/projectile/temp" - cell_type = "/obj/item/weapon/cell/crap" + cell_type = "/obj/item/weapon/stock_parts/cell/crap" New() diff --git a/code/modules/projectiles/guns/projectile/crossbow.dm b/code/modules/projectiles/guns/projectile/crossbow.dm index 17fd65cacee..655fcfb92a8 100644 --- a/code/modules/projectiles/guns/projectile/crossbow.dm +++ b/code/modules/projectiles/guns/projectile/crossbow.dm @@ -72,7 +72,7 @@ var/tension = 0 // Current draw on the bow. var/max_tension = 5 // Highest possible tension. var/release_speed = 5 // Speed per unit of tension. - var/obj/item/weapon/cell/cell = null // Used for firing superheated rods. + var/obj/item/weapon/stock_parts/cell/cell = null // Used for firing superheated rods. var/current_user // Used to check if the crossbow has changed hands since being drawn. /obj/item/weapon/gun/launcher/crossbow/emp_act(severity) @@ -158,7 +158,7 @@ superheat_rod(user) return - if(istype(W, /obj/item/weapon/cell)) + if(istype(W, /obj/item/weapon/stock_parts/cell)) if(!cell) user.drop_item() W.loc = src @@ -213,7 +213,7 @@ user.visible_message("\The [src] only takes baguettes.") return - if(istype(W, /obj/item/weapon/cell)) + if(istype(W, /obj/item/weapon/stock_parts/cell)) user.visible_message("The [src] is too simple be adapted with a cell.") return diff --git a/code/modules/reagents/Chemistry-Machinery.dm b/code/modules/reagents/Chemistry-Machinery.dm index 7bf99cec11e..90df4c90982 100644 --- a/code/modules/reagents/Chemistry-Machinery.dm +++ b/code/modules/reagents/Chemistry-Machinery.dm @@ -65,7 +65,7 @@ options[/obj/item/weapon/stock_parts/console_screen] = "Replace the console screen to fix it." options[/obj/item/weapon/stock_parts/manipulator/pico] = "Upgrade to a pico manipulator to fix it." options[/obj/item/weapon/stock_parts/matter_bin/super] = "Give it a super matter bin to fix it." - options[/obj/item/weapon/cell/super] = "Replace the reagent synthesizer with a super capacity cell to fix it." + options[/obj/item/weapon/stock_parts/cell/super] = "Replace the reagent synthesizer with a super capacity cell to fix it." options[/obj/item/device/mass_spectrometer/adv] = "Replace the reagent scanner with an advanced mass spectrometer to fix it" options[/obj/item/weapon/stock_parts/micro_laser/high] = "Repair the reagent synthesizer with an high-power micro-laser to fix it" options[/obj/item/device/reagent_scanner/adv] = "Replace the reagent scanner with an advanced reagent scanner to fix it" @@ -290,7 +290,7 @@ component_parts += new /obj/item/weapon/stock_parts/manipulator(src) component_parts += new /obj/item/weapon/stock_parts/capacitor(src) component_parts += new /obj/item/weapon/stock_parts/console_screen(src) - component_parts += new /obj/item/weapon/cell/super(src) + component_parts += new /obj/item/weapon/stock_parts/cell/super(src) RefreshParts() /obj/machinery/chem_dispenser/constructable/RefreshParts() @@ -303,7 +303,7 @@ max_energy = temp_energy * 5 //max energy = (bin1.rating + bin2.rating - 1) * 5, 5 on lowest 25 on highest for(var/obj/item/weapon/stock_parts/capacitor/C in component_parts) time += C.rating - for(var/obj/item/weapon/cell/P in component_parts) + for(var/obj/item/weapon/stock_parts/cell/P in component_parts) time += round(P.maxcharge, 10000) / 10000 recharge_delay /= time/2 //delay between recharges, double the usual time on lowest 50% less than usual on highest for(var/obj/item/weapon/stock_parts/manipulator/M in component_parts) diff --git a/code/modules/reagents/Chemistry-Recipes.dm b/code/modules/reagents/Chemistry-Recipes.dm index e768546c883..4f3a0990476 100644 --- a/code/modules/reagents/Chemistry-Recipes.dm +++ b/code/modules/reagents/Chemistry-Recipes.dm @@ -1323,7 +1323,7 @@ datum required_container = /obj/item/slime_extract/yellow required_other = 1 on_reaction(var/datum/reagents/holder, var/created_volume) - var/obj/item/weapon/cell/slime/P = new /obj/item/weapon/cell/slime + var/obj/item/weapon/stock_parts/cell/slime/P = new /obj/item/weapon/stock_parts/cell/slime P.loc = get_turf_loc(holder.my_atom) slimeglow diff --git a/code/modules/reagents/reagent_containers/food/snacks/grown.dm b/code/modules/reagents/reagent_containers/food/snacks/grown.dm index c3d41be9820..036e19439d9 100644 --- a/code/modules/reagents/reagent_containers/food/snacks/grown.dm +++ b/code/modules/reagents/reagent_containers/food/snacks/grown.dm @@ -89,7 +89,7 @@ W:amount -= 5 if(!W:amount) del(W) user << "You add some cable to the potato and slide it inside the battery encasing." - var/obj/item/weapon/cell/potato/pocell = new /obj/item/weapon/cell/potato(user.loc) + var/obj/item/weapon/stock_parts/cell/potato/pocell = new /obj/item/weapon/stock_parts/cell/potato(user.loc) pocell.maxcharge = src.potency * 10 pocell.charge = pocell.maxcharge del(src) diff --git a/code/modules/research/designs/power_designs.dm b/code/modules/research/designs/power_designs.dm index 2b6efbff3fb..9edc8400e3e 100644 --- a/code/modules/research/designs/power_designs.dm +++ b/code/modules/research/designs/power_designs.dm @@ -9,7 +9,7 @@ req_tech = list("powerstorage" = 1) build_type = PROTOLATHE | AUTOLATHE | MECHFAB materials = list("$metal" = 700, "$glass" = 50) - build_path = /obj/item/weapon/cell + build_path = /obj/item/weapon/stock_parts/cell category = list("Misc","Power") /datum/design/high_cell @@ -19,7 +19,7 @@ req_tech = list("powerstorage" = 2) build_type = PROTOLATHE | AUTOLATHE | MECHFAB materials = list("$metal" = 700, "$glass" = 60) - build_path = /obj/item/weapon/cell/high + build_path = /obj/item/weapon/stock_parts/cell/high category = list("Misc","Power") /datum/design/hyper_cell @@ -30,7 +30,7 @@ reliability_base = 70 build_type = PROTOLATHE | MECHFAB materials = list("$metal" = 400, "$gold" = 150, "$silver" = 150, "$glass" = 70) - build_path = /obj/item/weapon/cell/hyper + build_path = /obj/item/weapon/stock_parts/cell/hyper category = list("Misc","Power") /datum/design/super_cell @@ -41,7 +41,7 @@ reliability_base = 75 build_type = PROTOLATHE | MECHFAB materials = list("$metal" = 700, "$glass" = 70) - build_path = /obj/item/weapon/cell/super + build_path = /obj/item/weapon/stock_parts/cell/super category = list("Misc","Power") /datum/design/pacman diff --git a/code/modules/research/xenoarchaeology/artifact/artifact_replicator.dm b/code/modules/research/xenoarchaeology/artifact/artifact_replicator.dm index 56954dc6dd1..d770c0def1d 100644 --- a/code/modules/research/xenoarchaeology/artifact/artifact_replicator.dm +++ b/code/modules/research/xenoarchaeology/artifact/artifact_replicator.dm @@ -48,7 +48,7 @@ /obj/item/weapon/caution/cone,\ /obj/item/weapon/crowbar,\ /obj/item/weapon/clipboard,\ - /obj/item/weapon/cell,\ + /obj/item/weapon/stock_parts/cell,\ /obj/item/weapon/circular_saw,\ /obj/item/weapon/hatchet,\ /obj/item/weapon/handcuffs,\ diff --git a/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_cellcharge.dm b/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_cellcharge.dm index d7ff967c2d0..da7f1a012ee 100644 --- a/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_cellcharge.dm +++ b/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_cellcharge.dm @@ -8,7 +8,7 @@ if(user) if(istype(user, /mob/living/silicon/robot)) var/mob/living/silicon/robot/R = user - for (var/obj/item/weapon/cell/D in R.contents) + for (var/obj/item/weapon/stock_parts/cell/D in R.contents) D.charge += rand() * 100 + 50 R << "\blue SYSTEM ALERT: Large energy boost detected!" return 1 @@ -17,12 +17,12 @@ if(holder) var/turf/T = get_turf(holder) for (var/obj/machinery/power/apc/C in range(200, T)) - for (var/obj/item/weapon/cell/B in C.contents) + for (var/obj/item/weapon/stock_parts/cell/B in C.contents) B.charge += 25 for (var/obj/machinery/power/smes/S in range (src.effectrange,src)) S.charge += 25 for (var/mob/living/silicon/robot/M in mob_list) - for (var/obj/item/weapon/cell/D in M.contents) + for (var/obj/item/weapon/stock_parts/cell/D in M.contents) D.charge += 25 M << "\blue SYSTEM ALERT: Energy boost detected!" return 1 @@ -31,12 +31,12 @@ if(holder) var/turf/T = get_turf(holder) for (var/obj/machinery/power/apc/C in range(200, T)) - for (var/obj/item/weapon/cell/B in C.contents) + for (var/obj/item/weapon/stock_parts/cell/B in C.contents) B.charge += rand() * 100 for (var/obj/machinery/power/smes/S in range (src.effectrange,src)) S.charge += 250 for (var/mob/living/silicon/robot/M in mob_list) - for (var/obj/item/weapon/cell/D in M.contents) + for (var/obj/item/weapon/stock_parts/cell/D in M.contents) D.charge += rand() * 100 M << "\blue SYSTEM ALERT: Energy boost detected!" return 1 diff --git a/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_celldrain.dm b/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_celldrain.dm index 8af61035d49..025cdec5ee0 100644 --- a/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_celldrain.dm +++ b/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_celldrain.dm @@ -8,7 +8,7 @@ if(user) if(istype(user, /mob/living/silicon/robot)) var/mob/living/silicon/robot/R = user - for (var/obj/item/weapon/cell/D in R.contents) + for (var/obj/item/weapon/stock_parts/cell/D in R.contents) D.charge = max(D.charge - rand() * 100, 0) R << "\blue SYSTEM ALERT: Energy drain detected!" return 1 @@ -19,12 +19,12 @@ if(holder) var/turf/T = get_turf(holder) for (var/obj/machinery/power/apc/C in range(200, T)) - for (var/obj/item/weapon/cell/B in C.contents) + for (var/obj/item/weapon/stock_parts/cell/B in C.contents) B.charge = max(B.charge - 50,0) for (var/obj/machinery/power/smes/S in range (src.effectrange,src)) S.charge = max(S.charge - 100,0) for (var/mob/living/silicon/robot/M in mob_list) - for (var/obj/item/weapon/cell/D in M.contents) + for (var/obj/item/weapon/stock_parts/cell/D in M.contents) D.charge = max(D.charge - 50,0) M << "\red SYSTEM ALERT: Energy drain detected!" return 1 @@ -33,12 +33,12 @@ if(holder) var/turf/T = get_turf(holder) for (var/obj/machinery/power/apc/C in range(200, T)) - for (var/obj/item/weapon/cell/B in C.contents) + for (var/obj/item/weapon/stock_parts/cell/B in C.contents) B.charge = max(B.charge - rand() * 150,0) for (var/obj/machinery/power/smes/S in range (src.effectrange,src)) S.charge = max(S.charge - 250,0) for (var/mob/living/silicon/robot/M in mob_list) - for (var/obj/item/weapon/cell/D in M.contents) + for (var/obj/item/weapon/stock_parts/cell/D in M.contents) D.charge = max(D.charge - rand() * 150,0) M << "\red SYSTEM ALERT: Energy drain detected!" return 1 diff --git a/code/modules/research/xenoarchaeology/tools/suspension_generator.dm b/code/modules/research/xenoarchaeology/tools/suspension_generator.dm index e0a1faf60d2..2a6df06c6f5 100644 --- a/code/modules/research/xenoarchaeology/tools/suspension_generator.dm +++ b/code/modules/research/xenoarchaeology/tools/suspension_generator.dm @@ -5,7 +5,7 @@ icon_state = "suspension2" density = 1 req_access = list(access_research) - var/obj/item/weapon/cell/cell + var/obj/item/weapon/stock_parts/cell/cell var/obj/item/weapon/card/id/auth_card var/locked = 1 var/open = 0 @@ -16,7 +16,7 @@ var/list/secured_mobs = list() /obj/machinery/suspension_gen/New() - src.cell = new/obj/item/weapon/cell/high(src) + src.cell = new/obj/item/weapon/stock_parts/cell/high(src) ..() /obj/machinery/suspension_gen/process() @@ -205,7 +205,7 @@ desc = "It has stubby legs bolted up against it's body for stabilising." else user << "You are unable to secure [src] while it is active!" - else if (istype(W, /obj/item/weapon/cell)) + else if (istype(W, /obj/item/weapon/stock_parts/cell)) if(open) if(cell) user << "There is a power cell already installed." diff --git a/code/modules/vehicles/ambulance.dm b/code/modules/vehicles/ambulance.dm index 581b8ca8efd..139bf08fde4 100644 --- a/code/modules/vehicles/ambulance.dm +++ b/code/modules/vehicles/ambulance.dm @@ -39,7 +39,7 @@ //------------------------------------------- /obj/vehicle/train/ambulance/engine/New() ..() - cell = new /obj/item/weapon/cell/high + cell = new /obj/item/weapon/stock_parts/cell/high verbs -= /atom/movable/verb/pull key = new() @@ -86,10 +86,10 @@ ..() flick("mulebot-emagged", src) -/obj/vehicle/train/ambulance/trolley/insert_cell(var/obj/item/weapon/cell/C, var/mob/living/carbon/human/H) +/obj/vehicle/train/ambulance/trolley/insert_cell(var/obj/item/weapon/stock_parts/cell/C, var/mob/living/carbon/human/H) return -/obj/vehicle/train/ambulance/engine/insert_cell(var/obj/item/weapon/cell/C, var/mob/living/carbon/human/H) +/obj/vehicle/train/ambulance/engine/insert_cell(var/obj/item/weapon/stock_parts/cell/C, var/mob/living/carbon/human/H) ..() update_stats() diff --git a/code/modules/vehicles/cargo_train.dm b/code/modules/vehicles/cargo_train.dm index cc416aa34b3..896ee3cc652 100644 --- a/code/modules/vehicles/cargo_train.dm +++ b/code/modules/vehicles/cargo_train.dm @@ -40,7 +40,7 @@ //------------------------------------------- /obj/vehicle/train/cargo/engine/New() ..() - cell = new /obj/item/weapon/cell/high + cell = new /obj/item/weapon/stock_parts/cell/high verbs -= /atom/movable/verb/pull key = new() var/image/I = new(icon = 'icons/obj/vehicles.dmi', icon_state = "cargo_engine_overlay", layer = src.layer + 0.2) //over mobs @@ -82,10 +82,10 @@ else icon_state = initial(icon_state) -/obj/vehicle/train/cargo/trolley/insert_cell(var/obj/item/weapon/cell/C, var/mob/living/carbon/human/H) +/obj/vehicle/train/cargo/trolley/insert_cell(var/obj/item/weapon/stock_parts/cell/C, var/mob/living/carbon/human/H) return -/obj/vehicle/train/cargo/engine/insert_cell(var/obj/item/weapon/cell/C, var/mob/living/carbon/human/H) +/obj/vehicle/train/cargo/engine/insert_cell(var/obj/item/weapon/stock_parts/cell/C, var/mob/living/carbon/human/H) ..() update_stats() diff --git a/code/modules/vehicles/janicart.dm b/code/modules/vehicles/janicart.dm index 8219335c24a..39008dfb2ba 100644 --- a/code/modules/vehicles/janicart.dm +++ b/code/modules/vehicles/janicart.dm @@ -43,7 +43,7 @@ //------------------------------------------- /obj/vehicle/train/janitor/engine/New() ..() - cell = new /obj/item/weapon/cell/high + cell = new /obj/item/weapon/stock_parts/cell/high verbs -= /atom/movable/verb/pull key = new() var/datum/reagents/R = new/datum/reagents(100) @@ -136,10 +136,10 @@ ..() flick("mulebot-emagged", src) -/obj/vehicle/train/janitor/trolley/insert_cell(var/obj/item/weapon/cell/C, var/mob/living/carbon/human/H) +/obj/vehicle/train/janitor/trolley/insert_cell(var/obj/item/weapon/stock_parts/cell/C, var/mob/living/carbon/human/H) return -/obj/vehicle/train/janitor/engine/insert_cell(var/obj/item/weapon/cell/C, var/mob/living/carbon/human/H) +/obj/vehicle/train/janitor/engine/insert_cell(var/obj/item/weapon/stock_parts/cell/C, var/mob/living/carbon/human/H) ..() update_stats() diff --git a/code/modules/vehicles/vehicle.dm b/code/modules/vehicles/vehicle.dm index 1eaf42f62ce..a929e4499d9 100644 --- a/code/modules/vehicles/vehicle.dm +++ b/code/modules/vehicles/vehicle.dm @@ -21,7 +21,7 @@ var/move_delay = 1 //set this to limit the speed of the vehicle var/movable = 1 - var/obj/item/weapon/cell/cell + var/obj/item/weapon/stock_parts/cell/cell var/charge_use = 5 //set this to adjust the amount of power the vehicle uses per move var/atom/movable/load //all vehicles can take a load, since they should all be a least drivable @@ -72,7 +72,7 @@ else if(istype(W, /obj/item/weapon/crowbar) && cell && open) remove_cell(user) - else if(istype(W, /obj/item/weapon/cell) && !cell && open) + else if(istype(W, /obj/item/weapon/stock_parts/cell) && !cell && open) insert_cell(W, user) else if(istype(W, /obj/item/weapon/weldingtool)) var/obj/item/weapon/weldingtool/T = W @@ -236,7 +236,7 @@ turn_on() return -/obj/vehicle/proc/insert_cell(var/obj/item/weapon/cell/C, var/mob/living/carbon/human/H) +/obj/vehicle/proc/insert_cell(var/obj/item/weapon/stock_parts/cell/C, var/mob/living/carbon/human/H) if(cell) return if(!istype(C)) diff --git a/icons/mob/belt.dmi b/icons/mob/belt.dmi index bbad97bf8bd05455b9b5159cde1eef0766d12d92..f989cb1ab343dfc5bb8228aea5ba1af9d74b118e 100644 GIT binary patch literal 9963 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 diff --git a/icons/obj/weapons.dmi b/icons/obj/weapons.dmi index ab98bbb87beb690c98184111d6a7da6490c4ea53..e2f6452cdcd3a90180609608af89d1f9083eeac6 100644 GIT binary patch literal 41408 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
Entry Won - 28/05/2554:
Hello. I am Crazy Ivan. Boss say I must write. I do good job fixing outpost. Is very good job. Much better than mines. Many nice people. I cause no trouble.

Entry Too - 05/06/2554:
I am finding problem with Booze-O-Mat. Is not problem. I solve very easy. Use yellow tool to make purple light go off. I am good engineer! Bartender will be very happy.

Entry Tree - 08/06/2554:
Bartender is not happy. Security man is not happy. Cannot feel legs, is very cold in freezer. Is not good. Table is jammed into door, have no tools. Is very not good. But, on bright side, found meat! Shall chew to keep spirits up.

Entry Fore - 12/06/2554:
Big nasty purple bug looked at me today. Make nervous. Blue wall wire can be broken, then bad thing happens. Very very bad thing. Man in orange spacesuit wave at me today too. He seem nice. Wonder who was?

Entry Fiv - 15/06/2554:
I eat cornflakes today. Is good day. Sun shine for a while. Was nice. I also take ride on disposals chute. Was fun, but tiny. Get clog out of pipes, was vodka bottle. Is empty. This make many sads.

Entry Sex: 19/06/2554:
Purple bugs jumpy today. When waved, get hiss. Maybe very bad. Maybe just ill. Do not know. Is science problem, is not engineer problem. I eat sandwich. Is glorious job. Wish to never end."; name = "Personal Log - Ivan Volodin"},/turf/simulated/floor/plating{broken = 1; heat_capacity = 1e+006; icon_state = "platingdmg3"; tag = "icon-platingdmg3"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"}) "gy" = (/obj/machinery/light/small,/obj/structure/closet/toolcloset,/obj/item/clothing/gloves/yellow,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"}) "gz" = (/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"}) @@ -568,7 +568,7 @@ "kV" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "0"; req_one_access_txt = "0"},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"}) "kW" = (/obj/structure/closet/emcloset,/turf/simulated/floor{dir = 0; heat_capacity = 1e+006; icon_state = "blue"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"}) "kX" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/obj/item/device/multitool,/turf/simulated/floor{dir = 0; heat_capacity = 1e+006; icon_state = "blue"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"}) -"kY" = (/obj/structure/table,/obj/machinery/cell_charger,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/turf/simulated/floor{dir = 0; heat_capacity = 1e+006; icon_state = "blue"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"}) +"kY" = (/obj/structure/table,/obj/machinery/cell_charger,/obj/item/weapon/stock_parts/cell/high{charge = 100; maxcharge = 15000},/turf/simulated/floor{dir = 0; heat_capacity = 1e+006; icon_state = "blue"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"}) "kZ" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor{dir = 0; heat_capacity = 1e+006; icon_state = "blue"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"}) "la" = (/obj/structure/stool/bed/chair,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor{heat_capacity = 1e+006; icon_state = "bar"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"}) "lb" = (/obj/structure/extinguisher_cabinet{pixel_x = 26; pixel_y = 0},/obj/machinery/camera{c_tag = "Kitchen"; dir = 8; network = list("MO19")},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"}) @@ -711,7 +711,7 @@ "nI" = (/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/turf/simulated/shuttle/wall{icon_state = "swall_f9"; dir = 2},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"}) "nJ" = (/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 6},/area/awaycontent/a3{always_unpowered = 1; has_gravity = 1; name = "Khonsu 19"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0}) "nK" = (/obj/machinery/washing_machine,/turf/simulated/floor{carbon_dioxide = 48.7; heat_capacity = 1e+006; icon_state = "barber"; nitrogen = 13.2; oxygen = 32.4; temperature = 251},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"}) -"nL" = (/obj/machinery/light/small{dir = 1},/obj/structure/window/reinforced{dir = 4; layer = 2.9},/obj/structure/table,/obj/structure/bedsheetbin,/obj/item/clothing/tie/black,/obj/item/clothing/under/lawyer/black,/turf/simulated/floor{carbon_dioxide = 48.7; heat_capacity = 1e+006; icon_state = "barber"; nitrogen = 13.2; oxygen = 32.4; temperature = 251},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"}) +"nL" = (/obj/machinery/light/small{dir = 1},/obj/structure/window/reinforced{dir = 4; layer = 2.9},/obj/structure/table,/obj/structure/bedsheetbin,/obj/item/clothing/accessory/black,/obj/item/clothing/under/lawyer/black,/turf/simulated/floor{carbon_dioxide = 48.7; heat_capacity = 1e+006; icon_state = "barber"; nitrogen = 13.2; oxygen = 32.4; temperature = 251},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"}) "nM" = (/obj/machinery/alarm{dir = 8; frequency = 1439; locked = 0; pixel_x = 23; pixel_y = 0; req_access = null},/turf/simulated/floor{carbon_dioxide = 48.7; dir = 2; heat_capacity = 1e+006; icon_state = "neutralcorner"; nitrogen = 13.2; oxygen = 32.4; temperature = 251},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"}) "nN" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "201"; req_one_access_txt = "0"},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"}) "nO" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"}) diff --git a/maps/RandomZLevels/undergroundoutpost45.dmm b/maps/RandomZLevels/undergroundoutpost45.dmm index 21c5d6950ea..ac64937fec2 100644 --- a/maps/RandomZLevels/undergroundoutpost45.dmm +++ b/maps/RandomZLevels/undergroundoutpost45.dmm @@ -464,7 +464,7 @@ "iV" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/wall,/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"}) "iW" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor{heat_capacity = 1e+006; icon_state = "white"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"}) "iX" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10; level = 1},/turf/simulated/floor{heat_capacity = 1e+006; icon_state = "white"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"}) -"iY" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/table,/obj/machinery/cell_charger,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/machinery/light/small{dir = 8},/turf/simulated/floor{heat_capacity = 1e+006; icon_state = "white"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"}) +"iY" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/table,/obj/machinery/cell_charger,/obj/item/weapon/stock_parts/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/stock_parts/cell/high{charge = 100; maxcharge = 15000},/obj/machinery/light/small{dir = 8},/turf/simulated/floor{heat_capacity = 1e+006; icon_state = "white"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"}) "iZ" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor{heat_capacity = 1e+006; icon_state = "white"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"}) "ja" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"}) "jb" = (/obj/machinery/light/small{dir = 8},/obj/machinery/alarm{dir = 4; frequency = 1439; locked = 0; pixel_x = -23; pixel_y = 0; req_access = null},/turf/simulated/floor{heat_capacity = 1e+006; icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"}) @@ -618,10 +618,10 @@ "lT" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/obj/structure/sign/deathsposal{desc = "A warning sign which reads 'DISPOSAL: LEADS TO EXTERIOR'"; name = "\improper DISPOSAL: LEADS TO EXTERIOR"; pixel_x = 0; pixel_y = -32},/turf/simulated/floor{heat_capacity = 1e+006; icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"}) "lU" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/airlock/glass{name = "Diner"},/turf/simulated/floor{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"}) "lV" = (/obj/machinery/door/firedoor,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/glass{name = "Diner"},/turf/simulated/floor{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"}) -"lW" = (/obj/structure/closet/crate,/obj/item/stack/sheet/mineral/plasma{amount = 26},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"}) +"lW" = (/obj/structure/closet/crate,/obj/item/stack/sheet/mineral/plasma{amount = 26},/obj/item/weapon/stock_parts/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/stock_parts/cell/high{charge = 100; maxcharge = 15000},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"}) "lX" = (/obj/machinery/light/small{dir = 1},/obj/machinery/camera{c_tag = "Engineering Secure Storage"; dir = 2; network = list("UO45")},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"}) "lY" = (/obj/structure/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/rig,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/rig,/turf/simulated/floor/plating{dir = 8; heat_capacity = 1e+006; icon_state = "warnplate"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"}) -"lZ" = (/obj/structure/table,/obj/machinery/cell_charger,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = -7},/turf/simulated/floor{dir = 4; heat_capacity = 1e+006; icon_state = "warndark"; tag = "icon-warndark (EAST)"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"}) +"lZ" = (/obj/structure/table,/obj/machinery/cell_charger,/obj/item/weapon/stock_parts/cell/high{charge = 100; maxcharge = 15000},/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = -7},/turf/simulated/floor{dir = 4; heat_capacity = 1e+006; icon_state = "warndark"; tag = "icon-warndark (EAST)"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"}) "ma" = (/turf/simulated/floor{heat_capacity = 1e+006},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"}) "mb" = (/turf/simulated/floor{burnt = 1; dir = 8; heat_capacity = 1e+006; icon_state = "floorscorched1"; tag = "icon-floorscorched1 (WEST)"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"}) "mc" = (/turf/simulated/floor{heat_capacity = 1e+006; icon_state = "white"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"}) @@ -845,7 +845,7 @@ "qm" = (/obj/machinery/light/small,/obj/structure/sink{dir = 8; icon_state = "sink"; pixel_x = -11; pixel_y = 0},/obj/structure/mirror{pixel_x = -28},/turf/simulated/floor{heat_capacity = 1e+006; icon_state = "freezerfloor"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"}) "qn" = (/obj/structure/toilet{tag = "icon-toilet00 (WEST)"; icon_state = "toilet00"; dir = 8},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor{heat_capacity = 1e+006; icon_state = "freezerfloor"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"}) "qo" = (/obj/structure/table,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/item/weapon/reagent_containers/spray/cleaner,/obj/item/clothing/glasses/hud/health,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor{dir = 2; heat_capacity = 1e+006; icon_state = "whitecorner"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"}) -"qp" = (/obj/structure/table,/obj/machinery/alarm{frequency = 1439; locked = 0; pixel_y = 23; req_access = null},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/item/weapon/hand_labeler,/obj/item/clothing/tie/stethoscope,/turf/simulated/floor{dir = 2; heat_capacity = 1e+006; icon_state = "whitehall"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"}) +"qp" = (/obj/structure/table,/obj/machinery/alarm{frequency = 1439; locked = 0; pixel_y = 23; req_access = null},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/item/weapon/hand_labeler,/obj/item/clothing/accessory/stethoscope,/turf/simulated/floor{dir = 2; heat_capacity = 1e+006; icon_state = "whitehall"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"}) "qq" = (/obj/machinery/vending/medical{req_access_txt = "201"},/turf/simulated/floor{dir = 6; heat_capacity = 1e+006; icon_state = "whitehall"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"}) "qr" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor{dir = 8; heat_capacity = 1e+006; icon_state = "whitehall"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"}) "qs" = (/obj/structure/stool/bed/chair/wood/normal,/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"}) @@ -1138,7 +1138,7 @@ "vT" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{heat_capacity = 1e+006},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"}) "vU" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_y = -32},/obj/machinery/vending/engivend{req_access_txt = "0"},/obj/machinery/camera{c_tag = "Engineering Foyer"; dir = 1; network = list("UO45")},/turf/simulated/floor{dir = 8; heat_capacity = 1e+006; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"}) "vV" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/vending/tool,/obj/structure/sign/poster{icon_state = "poster5_legit"; pixel_x = 0; pixel_y = -32; serial_number = 21},/turf/simulated/floor{burnt = 1; dir = 8; heat_capacity = 1e+006; icon_state = "floorscorched2"; tag = "icon-floorscorched2 (WEST)"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"}) -"vW" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/table,/obj/machinery/cell_charger,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/turf/simulated/floor{dir = 6; heat_capacity = 1e+006; icon_state = "yellow"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"}) +"vW" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/table,/obj/machinery/cell_charger,/obj/item/weapon/stock_parts/cell/high{charge = 100; maxcharge = 15000},/turf/simulated/floor{dir = 6; heat_capacity = 1e+006; icon_state = "yellow"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"}) "vX" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/wall,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"}) "vY" = (/obj/structure/closet/emcloset,/obj/item/clothing/mask/breath,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{dir = 2; heat_capacity = 1e+006; icon_state = "bot"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"}) "vZ" = (/obj/structure/closet/firecloset,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{dir = 2; heat_capacity = 1e+006; icon_state = "bot"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"}) diff --git a/maps/cyberiad.dmm b/maps/cyberiad.dmm index 3b8cb2e3279..bbccdf230e1 100644 --- a/maps/cyberiad.dmm +++ b/maps/cyberiad.dmm @@ -156,7 +156,7 @@ "acZ" = (/obj/structure/table/woodentable,/turf/simulated/floor/carpet,/area/security/hos) "ada" = (/obj/machinery/door_control{id = "Prison Gate"; name = "Prison Wing Lockdown"; pixel_x = -28; pixel_y = 7; req_access_txt = "2"},/obj/machinery/door_control{id = "Secure Gate"; name = "Brig Lockdown"; pixel_x = -28; pixel_y = -3; req_access_txt = "2"},/turf/simulated/floor{icon_state = "dark"},/area/security/hos) "adb" = (/obj/structure/table/woodentable,/obj/structure/table/woodentable,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/turf/simulated/floor{icon_state = "dark"},/area/security/hos) -"adc" = (/obj/structure/table,/obj/machinery/cell_charger,/obj/item/weapon/storage/toolbox/mechanical{pixel_x = 0; pixel_y = 10},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/effect/decal/warning_stripes/east,/turf/simulated/floor,/area/security/podbay) +"adc" = (/obj/structure/table,/obj/machinery/cell_charger,/obj/item/weapon/storage/toolbox/mechanical{pixel_x = 0; pixel_y = 10},/obj/item/weapon/stock_parts/cell/high{charge = 100; maxcharge = 15000},/obj/effect/decal/warning_stripes/east,/turf/simulated/floor,/area/security/podbay) "add" = (/obj/machinery/alarm{pixel_y = 23},/turf/simulated/floor/engine,/area/security/podbay) "ade" = (/obj/machinery/light{dir = 1; on = 1},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/engine,/area/security/podbay) "adf" = (/obj/machinery/camera{c_tag = "Brig Podbay"; dir = 2; network = list("SS13")},/obj/machinery/door_control{desc = "A remote control-switch for the pod doors."; id = "secpodbay"; name = "Pod Door Control"; pixel_x = 0; pixel_y = 24; req_access_txt = "71"},/turf/simulated/floor/engine,/area/security/podbay) @@ -1789,7 +1789,7 @@ "aIu" = (/obj/structure/table,/obj/machinery/alarm{pixel_y = 23},/obj/item/device/t_scanner,/turf/simulated/floor,/area/storage/primary) "aIv" = (/obj/structure/table,/obj/machinery/camera{c_tag = "Primary Tool Storage"},/obj/machinery/requests_console{department = "Tool Storage"; departmentType = 0; pixel_y = 30},/obj/item/device/assembly/igniter{pixel_x = -8; pixel_y = -4},/obj/item/device/assembly/igniter,/obj/item/weapon/screwdriver{pixel_y = 16},/turf/simulated/floor,/area/storage/primary) "aIw" = (/obj/structure/table,/obj/item/device/radio/intercom{broadcasting = 0; name = "Station Intercom (General)"; pixel_y = 20},/obj/item/device/assembly/signaler,/obj/item/device/assembly/signaler,/obj/item/device/multitool,/obj/item/device/multitool{pixel_x = 4},/turf/simulated/floor,/area/storage/primary) -"aIx" = (/obj/structure/table,/obj/machinery/light_switch{pixel_y = 28},/obj/machinery/cell_charger,/obj/item/weapon/cell/high,/turf/simulated/floor,/area/storage/primary) +"aIx" = (/obj/structure/table,/obj/machinery/light_switch{pixel_y = 28},/obj/machinery/cell_charger,/obj/item/weapon/stock_parts/cell/high,/turf/simulated/floor,/area/storage/primary) "aIy" = (/obj/structure/table,/obj/machinery/status_display{layer = 4; pixel_x = 0; pixel_y = 32},/obj/item/weapon/storage/toolbox/mechanical,/turf/simulated/floor,/area/storage/primary) "aIz" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable{d2 = 2; icon_state = "0-2"},/turf/simulated/floor,/area/storage/primary) "aIA" = (/obj/machinery/vending/tool,/turf/simulated/floor,/area/storage/primary) @@ -1882,7 +1882,7 @@ "aKj" = (/obj/structure/table,/obj/item/device/radio{pixel_y = 6},/obj/item/device/radio{pixel_x = 6; pixel_y = 4},/obj/item/device/radio{pixel_x = -6; pixel_y = 4},/obj/item/device/radio,/turf/simulated/floor,/area/gateway) "aKk" = (/obj/structure/sign/biohazard{pixel_x = 32},/obj/structure/table,/obj/machinery/recharger{pixel_y = 4},/turf/simulated/floor,/area/gateway) "aKl" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/clothing/shoes/magboots{pixel_y = -5},/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva) -"aKm" = (/obj/structure/table/reinforced,/obj/machinery/cell_charger,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = -7},/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = -7},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/ai_monitored/storage/eva) +"aKm" = (/obj/structure/table/reinforced,/obj/machinery/cell_charger,/obj/item/weapon/stock_parts/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/stock_parts/cell/high{charge = 100; maxcharge = 15000},/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = -7},/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = -7},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/ai_monitored/storage/eva) "aKn" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva) "aKo" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/table/reinforced,/obj/item/weapon/book/manual/evaguide,/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/ai_monitored/storage/eva) "aKp" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/clothing/shoes/magboots,/obj/item/weapon/tank/nitrogen,/obj/item/clothing/suit/space/eva/vox,/obj/item/clothing/mask/breath/vox,/obj/item/clothing/head/helmet/space/eva/vox,/turf/simulated/floor{dir = 8; icon_state = "vault"; tag = "icon-vault (WEST)"},/area/ai_monitored/storage/eva) @@ -2000,7 +2000,7 @@ "aMx" = (/obj/machinery/door/window{dir = 8; name = "Mass Driver"; req_access_txt = "22"},/obj/machinery/mass_driver{dir = 1; id = "chapelgun"},/turf/simulated/floor/plating{tag = "icon-warnplate (WEST)"; icon_state = "warnplate"; dir = 8},/area/chapel/main) "aMy" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor,/area/escapepodbay) "aMz" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/mechanical,/obj/item/weapon/crowbar/red,/turf/simulated/floor,/area/escapepodbay) -"aMA" = (/obj/structure/table,/obj/item/weapon/storage/belt/utility,/obj/item/weapon/cell,/obj/item/device/flashlight,/turf/simulated/floor,/area/escapepodbay) +"aMA" = (/obj/structure/table,/obj/item/weapon/storage/belt/utility,/obj/item/weapon/stock_parts/cell,/obj/item/device/flashlight,/turf/simulated/floor,/area/escapepodbay) "aMB" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/weapon/tank/emergency_oxygen/engi,/obj/item/weapon/tank/emergency_oxygen/engi,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas{pixel_x = -3; pixel_y = -3},/obj/structure/extinguisher_cabinet{pixel_x = -5; pixel_y = 30},/obj/effect/decal/warning_stripes/east,/turf/simulated/floor,/area/escapepodbay) "aMC" = (/obj/machinery/alarm{pixel_y = 25},/turf/simulated/floor/engine,/area/escapepodbay) "aMD" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/engine,/area/escapepodbay) @@ -3161,7 +3161,7 @@ "biO" = (/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) "biP" = (/obj/machinery/hologram/holopad,/turf/simulated/floor{icon_state = "floorgrime"},/area/quartermaster/storage) "biQ" = (/turf/simulated/floor{icon_state = "floorgrime"},/area/quartermaster/storage) -"biR" = (/obj/structure/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) +"biR" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/weapon/module/power_control,/obj/item/weapon/stock_parts/cell{maxcharge = 2000},/turf/simulated/floor{icon_state = "floorgrime"},/area/quartermaster/storage) "biS" = (/obj/machinery/conveyor{dir = 1; id = "packageSort1"},/turf/simulated/floor/plating,/area/quartermaster/office) "biT" = (/obj/structure/stool,/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/quartermaster/office) "biU" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/quartermaster/office) @@ -3898,7 +3898,7 @@ "bwX" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/decal/warning_stripes/east,/obj/effect/decal/warning_stripes/yellow,/turf/simulated/floor,/area/assembly/robotics) "bwY" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics) "bwZ" = (/obj/machinery/hologram/holopad,/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics) -"bxa" = (/obj/structure/table,/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) +"bxa" = (/obj/structure/table,/obj/machinery/cell_charger,/obj/item/weapon/stock_parts/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) "bxb" = (/obj/structure/closet/firecloset,/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{dir = 10; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTHEAST)"},/area/medical/research{name = "Research Division"}) "bxc" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor{dir = 6; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTHEAST)"},/area/medical/research{name = "Research Division"}) "bxd" = (/obj/machinery/light{dir = 8},/obj/machinery/computer/rdconsole/core,/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/toxins/lab) @@ -3982,7 +3982,7 @@ "byD" = (/turf/simulated/floor,/area/assembly/robotics) "byE" = (/obj/effect/decal/warning_stripes/east,/turf/simulated/floor,/area/assembly/robotics) "byF" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics) -"byG" = (/obj/structure/table,/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000; pixel_x = 5; pixel_y = -5},/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/item/weapon/crowbar,/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics) +"byG" = (/obj/structure/table,/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/weapon/stock_parts/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/stock_parts/cell/high{charge = 100; maxcharge = 15000; pixel_x = 5; pixel_y = -5},/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/item/weapon/crowbar,/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics) "byH" = (/obj/machinery/status_display,/turf/simulated/wall/r_wall,/area) "byI" = (/obj/structure/sign/securearea,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/wall/r_wall,/area) "byJ" = (/obj/machinery/newscaster{pixel_x = -27; pixel_y = 1},/turf/simulated/floor{icon_state = "white"},/area/toxins/lab) @@ -4073,7 +4073,7 @@ "bAq" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/turf/simulated/floor{icon_state = "bot"},/area/medical/research{name = "Research Division"}) "bAr" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "bot"},/area/medical/research{name = "Research Division"}) "bAs" = (/obj/machinery/door_control{id = "rdlab2"; name = "Research and Development Lab Shutters Control"; pixel_x = -24; pixel_y = -24; req_access_txt = "47"},/turf/simulated/floor{icon_state = "white"},/area/toxins/lab) -"bAt" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/table,/obj/machinery/cell_charger,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/turf/simulated/floor{icon_state = "white"},/area/toxins/lab) +"bAt" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/table,/obj/machinery/cell_charger,/obj/item/weapon/stock_parts/cell/high{charge = 100; maxcharge = 15000},/turf/simulated/floor{icon_state = "white"},/area/toxins/lab) "bAu" = (/obj/structure/table,/obj/item/weapon/storage/belt/utility,/obj/item/weapon/storage/toolbox/mechanical{pixel_x = 0; pixel_y = 0},/obj/item/weapon/storage/toolbox/mechanical{pixel_x = 0; pixel_y = 0},/turf/simulated/floor{icon_state = "white"},/area/toxins/lab) "bAv" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/toxins/lab) "bAw" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/structure/table,/obj/item/stack/cable_coil,/obj/item/stack/cable_coil,/obj/item/weapon/stock_parts/scanning_module{pixel_x = 0; pixel_y = 0},/obj/item/weapon/stock_parts/scanning_module{pixel_x = 2; pixel_y = 3},/obj/machinery/light_switch{pixel_y = -25},/turf/simulated/floor{icon_state = "white"},/area/toxins/lab) @@ -5458,7 +5458,7 @@ "caX" = (/obj/machinery/light/small{dir = 1},/obj/machinery/alarm{frequency = 1439; pixel_y = 23},/turf/simulated/floor/plating,/area/storage/tech) "caY" = (/obj/machinery/camera{c_tag = "Tech Storage"; dir = 2; network = list("SS13")},/obj/machinery/power/apc{dir = 1; name = "Tech Storage APC"; pixel_y = 24},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/weapon/circuitboard/cyborgrecharger{pixel_x = -4; pixel_y = -2},/obj/item/weapon/circuitboard/mech_bay_power_console{pixel_x = 2; pixel_y = 2},/obj/item/weapon/circuitboard/mech_recharger,/obj/item/weapon/circuitboard/mechfab{pixel_y = 3},/turf/simulated/floor/plating,/area/storage/tech) "caZ" = (/obj/structure/table,/obj/item/device/analyzer,/obj/item/device/healthanalyzer,/turf/simulated/floor/plating,/area/storage/tech) -"cba" = (/obj/structure/table,/obj/item/device/analyzer/plant_analyzer,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/turf/simulated/floor/plating,/area/storage/tech) +"cba" = (/obj/structure/table,/obj/item/device/analyzer/plant_analyzer,/obj/item/weapon/stock_parts/cell/high{charge = 100; maxcharge = 15000},/turf/simulated/floor/plating,/area/storage/tech) "cbb" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/plating,/area/storage/tech) "cbc" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{dir = 8; icon_state = "cautioncorner"},/area/hallway/primary/aft) "cbd" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor,/area/hallway/primary/aft) @@ -5769,7 +5769,7 @@ "cgW" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area) "cgX" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable,/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area) "cgY" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/grille,/obj/structure/cable,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area) -"cgZ" = (/obj/structure/table,/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) +"cgZ" = (/obj/structure/table,/obj/item/stack/cable_coil{pixel_x = -3; pixel_y = 3},/obj/item/stack/cable_coil,/obj/item/weapon/stock_parts/cell/high{charge = 100; maxcharge = 15000},/turf/simulated/floor/plating,/area/storage/tech) "cha" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor/plating,/area/storage/tech) "chb" = (/obj/machinery/requests_console{department = "Tech storage"; pixel_x = 0; pixel_y = -32},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/storage/tech) "chc" = (/obj/machinery/light/small{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/storage/tech) @@ -6559,7 +6559,7 @@ "cwg" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/rig,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/rig,/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor,/area/engine/hardsuitstorage) "cwh" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/rig,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/rig,/obj/machinery/firealarm{dir = 2; pixel_y = 24},/turf/simulated/floor,/area/engine/hardsuitstorage) "cwi" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating,/area/engine/chiefs_office) -"cwj" = (/obj/machinery/keycard_auth{pixel_x = 0; pixel_y = 24},/obj/structure/table/reinforced,/obj/item/weapon/rcd,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/clothing/glasses/meson{pixel_y = 4},/obj/item/device/megaphone,/mob/living/simple_animal/parrot/Poly,/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/engine/chiefs_office) +"cwj" = (/obj/machinery/keycard_auth{pixel_x = 0; pixel_y = 24},/obj/structure/table/reinforced,/obj/item/weapon/rcd,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/stock_parts/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/stock_parts/cell/high{charge = 100; maxcharge = 15000},/obj/item/clothing/glasses/meson{pixel_y = 4},/obj/item/device/megaphone,/mob/living/simple_animal/parrot/Poly,/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/engine/chiefs_office) "cwk" = (/obj/machinery/requests_console{announcementConsole = 1; department = "Chief Engineer's Desk"; departmentType = 3; name = "Chief Engineer RC"; pixel_x = 0; pixel_y = 32},/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/photocopier,/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/engine/chiefs_office) "cwl" = (/obj/machinery/door_control{id = "atmos"; name = "Atmospherics Lockdown"; pixel_x = 10; pixel_y = 24; req_access_txt = "24"},/obj/machinery/door_control{desc = "A remote control-switch for the engineering security doors."; id = "Engineering"; name = "Engineering Lockdown"; pixel_x = -10; pixel_y = 24; req_access_txt = "10"},/obj/machinery/door_control{desc = "A remote control-switch for secure storage."; id = "Secure Storage"; name = "Engineering Secure Storage"; pixel_x = 0; pixel_y = 24; req_access_txt = "11"},/obj/machinery/light_switch{pixel_y = 38},/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101; on = 1; pressure_checks = 1},/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/engine/chiefs_office) "cwm" = (/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/engine/chiefs_office) @@ -6681,7 +6681,7 @@ "cyy" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/mechanical{pixel_y = 5},/obj/item/device/radio,/obj/item/device/radio,/obj/item/device/radio,/obj/item/device/radio,/obj/item/weapon/storage/belt/utility,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor,/area/engine/equipmentstorage) "cyz" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor,/area/engine/equipmentstorage) "cyA" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/engine/equipmentstorage) -"cyB" = (/obj/structure/table,/obj/machinery/cell_charger,/obj/machinery/atmospherics/pipe/simple/hidden/supply{level = 1},/obj/item/weapon/cell/high,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/engine/equipmentstorage) +"cyB" = (/obj/structure/table,/obj/machinery/cell_charger,/obj/machinery/atmospherics/pipe/simple/hidden/supply{level = 1},/obj/item/weapon/stock_parts/cell/high,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/engine/equipmentstorage) "cyC" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{level = 1},/turf/simulated/wall/r_wall,/area) "cyD" = (/obj/machinery/atmospherics/portables_connector{dir = 1; name = "Connector Port (Air Supply)"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/atmos) "cyE" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/binary/volume_pump/on{dir = 4; name = "External to Filter"},/turf/simulated/floor,/area/atmos) @@ -6838,7 +6838,7 @@ "cBz" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/maintenance/engi_shuttle) "cBA" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/space_heater,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/maintenance/engi_shuttle) "cBB" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/machinery/power/monitor{name = "Engine Power Monitoring Computer"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor,/area/engine/engineering) -"cBC" = (/obj/structure/table,/obj/item/clothing/glasses/welding,/obj/item/clothing/glasses/welding,/obj/item/clothing/glasses/welding,/obj/item/clothing/ears/earmuffs{pixel_x = -5; pixel_y = 6},/obj/item/clothing/ears/earmuffs{pixel_x = -5; pixel_y = 6},/obj/item/clothing/ears/earmuffs{pixel_x = -5; pixel_y = 6},/obj/item/weapon/storage/belt/utility,/obj/item/weapon/storage/belt/utility,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/item/weapon/cell/high,/turf/simulated/floor,/area/engine/engineering) +"cBC" = (/obj/structure/table,/obj/item/clothing/glasses/welding,/obj/item/clothing/glasses/welding,/obj/item/clothing/glasses/welding,/obj/item/clothing/ears/earmuffs{pixel_x = -5; pixel_y = 6},/obj/item/clothing/ears/earmuffs{pixel_x = -5; pixel_y = 6},/obj/item/clothing/ears/earmuffs{pixel_x = -5; pixel_y = 6},/obj/item/weapon/storage/belt/utility,/obj/item/weapon/storage/belt/utility,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/item/weapon/stock_parts/cell/high,/turf/simulated/floor,/area/engine/engineering) "cBD" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/structure/table,/obj/item/stack/sheet/mineral/plasma{amount = 30},/obj/item/device/pipe_painter,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/engine/engineering) "cBE" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/power/port_gen/pacman,/turf/simulated/floor,/area/engine/engineering) "cBF" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor,/area/engine/engineering) @@ -7156,7 +7156,7 @@ "cHF" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 8; frequency = 1441; icon_state = "on"; id = "co2_in"; on = 1; pixel_y = 1},/turf/simulated/floor/engine{carbon_dioxide = 50000; name = "co2 floor"; nitrogen = 0; oxygen = 0},/area/atmos) "cHG" = (/turf/space,/area/shuttle/constructionsite/station) "cHH" = (/turf/simulated/floor/plating,/area/storage/secure) -"cHI" = (/obj/structure/closet/crate,/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/rods{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/weapon/airlock_electronics,/obj/item/weapon/airlock_electronics,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/storage/secure) +"cHI" = (/obj/structure/closet/crate,/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/rods{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/weapon/airlock_electronics,/obj/item/weapon/airlock_electronics,/obj/item/weapon/stock_parts/cell/high{charge = 100; maxcharge = 15000},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/storage/secure) "cHJ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/embedded_controller/radio/airlock/airlock_controller{tag_airpump = "engineering_west_pump"; tag_exterior_door = "engineering_west_outer"; frequency = 1379; id_tag = "engineering_west_airlock"; tag_interior_door = "engineering_west_inner"; pixel_x = 25; req_access_txt = "10;13"; tag_chamber_sensor = "engineering_west_sensor"},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "engineering_west_sensor"; pixel_x = 25; pixel_y = 12},/turf/simulated/floor/plating,/area/engine/engineering) "cHK" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area) "cHL" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area) @@ -8327,7 +8327,7 @@ "deg" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/structure/table,/obj/machinery/cell_charger,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start) "deh" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/structure/table,/obj/machinery/recharger{pixel_y = 0},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start) "dei" = (/obj/machinery/vending/wallmed1/syndicate{pixel_x = -30},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start) -"dej" = (/obj/structure/table,/obj/item/weapon/cell/high{pixel_x = -3; pixel_y = 3},/obj/item/weapon/cell/high,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start) +"dej" = (/obj/structure/table,/obj/item/weapon/stock_parts/cell/high{pixel_x = -3; pixel_y = 3},/obj/item/weapon/stock_parts/cell/high,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start) "dek" = (/obj/structure/table,/obj/item/weapon/screwdriver{pixel_y = 9},/obj/item/device/assembly/voice{pixel_y = 3},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start) "del" = (/obj/structure/table,/obj/item/weapon/wrench,/obj/item/device/assembly/infra,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start) "dem" = (/obj/structure/table,/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/device/assembly/signaler,/obj/item/device/assembly/signaler,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start) @@ -8507,7 +8507,7 @@ "dhE" = (/obj/structure/rack,/obj/item/weapon/gun/energy/gun,/obj/item/weapon/gun/energy/gun,/obj/item/weapon/gun/energy/gun,/obj/item/weapon/gun/energy/gun,/obj/item/weapon/gun/energy/gun,/obj/item/weapon/gun/energy/gun,/obj/item/device/radio/intercom{broadcasting = 1; dir = 1; frequency = 1441; listening = 0; name = "Spec Ops Intercom"; pixel_y = 28},/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) "dhF" = (/obj/structure/rack,/obj/item/weapon/gun/energy/stunrevolver,/obj/item/weapon/gun/energy/stunrevolver,/obj/item/weapon/gun/energy/stunrevolver,/obj/item/weapon/gun/energy/stunrevolver,/obj/item/weapon/gun/energy/stunrevolver,/obj/item/weapon/gun/energy/stunrevolver,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) "dhG" = (/obj/structure/rack,/obj/item/weapon/storage/box/flashbangs,/obj/item/weapon/storage/box/flashbangs,/obj/item/weapon/storage/box/flashbangs,/obj/item/weapon/storage/box/flashbangs,/obj/item/weapon/storage/box/flashbangs,/obj/item/weapon/storage/box/flashbangs,/obj/item/weapon/storage/box/teargas,/obj/item/weapon/storage/box/teargas,/obj/item/weapon/storage/box/teargas,/obj/item/weapon/storage/box/teargas,/obj/item/weapon/storage/box/teargas,/obj/item/weapon/storage/box/teargas,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) -"dhH" = (/obj/structure/table/reinforced,/obj/item/weapon/defibrillator/loaded,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) +"dhH" = (/obj/structure/table/reinforced,/obj/item/weapon/defibrillator/compact/combat/loaded,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) "dhI" = (/obj/structure/table/reinforced,/obj/item/weapon/reagent_containers/hypospray/CMO,/obj/item/weapon/reagent_containers/hypospray/CMO,/obj/item/weapon/reagent_containers/hypospray/CMO,/obj/item/weapon/reagent_containers/hypospray/CMO,/obj/item/weapon/reagent_containers/hypospray/CMO,/obj/item/weapon/reagent_containers/hypospray/CMO,/obj/item/weapon/storage/box/gloves,/obj/item/weapon/storage/box/gloves,/obj/item/weapon/storage/box/gloves,/obj/item/weapon/storage/box/gloves,/obj/item/weapon/storage/box/gloves,/obj/item/weapon/storage/box/gloves,/obj/item/weapon/storage/box/masks,/obj/item/weapon/storage/box/masks,/obj/item/weapon/storage/box/masks,/obj/item/weapon/storage/box/masks,/obj/item/weapon/storage/box/masks,/obj/item/weapon/storage/box/masks,/obj/item/device/radio/intercom{broadcasting = 1; dir = 1; frequency = 1441; listening = 0; name = "Spec Ops Intercom"; pixel_y = 28},/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) "dhJ" = (/obj/machinery/vending/medical,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) "dhK" = (/obj/structure/table/reinforced,/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline,/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline,/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline,/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline,/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline,/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline,/obj/item/weapon/storage/box/autoinjectors,/obj/item/weapon/storage/box/autoinjectors,/obj/item/weapon/storage/box/autoinjectors,/obj/item/weapon/storage/box/autoinjectors,/obj/item/weapon/storage/box/autoinjectors,/obj/item/weapon/storage/box/autoinjectors,/obj/item/weapon/storage/box/syringes,/obj/item/weapon/storage/box/syringes,/obj/item/weapon/storage/box/syringes,/obj/item/weapon/storage/box/syringes,/obj/item/weapon/storage/box/syringes,/obj/item/weapon/storage/box/syringes,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) @@ -9306,7 +9306,7 @@ "dwX" = (/obj/structure/table,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship) "dwY" = (/turf/simulated/shuttle/wall{tag = "icon-swall3"; icon_state = "swall3"; dir = 2},/area/derelict/ship) "dwZ" = (/obj/item/device/multitool,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship) -"dxa" = (/obj/item/weapon/cell{charge = 100; maxcharge = 15000},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship) +"dxa" = (/obj/item/weapon/stock_parts/cell{charge = 100; maxcharge = 15000},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship) "dxb" = (/obj/machinery/door/unpowered/shuttle,/turf/simulated/floor/plating,/area/derelict/ship) "dxc" = (/turf/simulated/shuttle/plating,/turf/simulated/shuttle/wall{tag = "icon-swall_f6"; icon_state = "swall_f6"; dir = 2},/area/derelict/ship) "dxd" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-burst_l (WEST)"; icon_state = "burst_l"; dir = 8},/turf/space,/area/derelict/ship) @@ -9634,7 +9634,7 @@ "dDn" = (/obj/machinery/power/apc{dir = 1; name = "Telecoms Sat. Teleporter APC"; pixel_x = 1; pixel_y = 26},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor,/area/tcommsat/entrance) "dDo" = (/obj/structure/sign/vacuum,/turf/simulated/wall/r_wall,/area/tcommsat/entrance) "dDp" = (/obj/machinery/atmospherics/pipe/tank/air,/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/tcommsat/entrance) -"dDq" = (/obj/item/weapon/cell,/turf/simulated/floor,/area/tcommsat/entrance) +"dDq" = (/obj/item/weapon/stock_parts/cell,/turf/simulated/floor,/area/tcommsat/entrance) "dDr" = (/turf/simulated/floor,/area/tcommsat/entrance) "dDs" = (/obj/structure/closet/malf/suits,/turf/simulated/floor,/area/tcommsat/entrance) "dDt" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1381; master_tag = "telecoms_airlock"; name = "exterior access button"; pixel_x = 25; pixel_y = 25; req_access_txt = "13"},/turf/simulated/floor/plating/airless,/area) @@ -9662,7 +9662,7 @@ "dDP" = (/obj/item/weapon/shard{icon_state = "medium"},/turf/simulated/floor/plating/airless,/area/AIsattele) "dDQ" = (/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/plating/airless,/area/AIsattele) "dDR" = (/obj/structure/rack,/obj/item/clothing/gloves/yellow,/turf/simulated/floor/plating/airless,/area/AIsattele) -"dDS" = (/obj/item/weapon/cell,/turf/simulated/floor/plating/airless,/area/AIsattele) +"dDS" = (/obj/item/weapon/stock_parts/cell,/turf/simulated/floor/plating/airless,/area/AIsattele) "dDT" = (/obj/item/device/radio/beacon,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating/airless,/area/AIsattele) "dDU" = (/obj/item/device/flashlight,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating/airless,/area/AIsattele) "dDV" = (/obj/machinery/door/airlock/external,/turf/simulated/floor/plating/airless,/area/AIsattele) @@ -10048,7 +10048,7 @@ "dLl" = (/obj/structure/transit_tube{icon_state = "S-NE"},/obj/structure/lattice,/turf/space,/area) "dLm" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/research_outpost/maintstore1) "dLn" = (/obj/structure/closet/hydrant{pixel_x = 0; pixel_y = 32},/turf/simulated/floor/plating,/area/research_outpost/maintstore1) -"dLo" = (/obj/structure/table,/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},/obj/machinery/alarm{dir = 2; pixel_y = 25},/turf/simulated/floor/plating,/area/research_outpost/maintstore1) +"dLo" = (/obj/structure/table,/obj/item/device/analyzer/plant_analyzer,/obj/item/weapon/stock_parts/cell,/obj/item/stack/cable_coil/random,/obj/item/stack/cable_coil/random,/obj/machinery/light/small{dir = 1},/obj/machinery/alarm{dir = 2; pixel_y = 25},/turf/simulated/floor/plating,/area/research_outpost/maintstore1) "dLp" = (/obj/structure/transit_tube{icon_state = "D-SW"},/turf/simulated/wall/r_wall,/area/research_outpost/maintstore1) "dLq" = (/obj/structure/transit_tube{icon_state = "D-SE"},/turf/simulated/wall/r_wall,/area/research_outpost/maintstore1) "dLr" = (/obj/structure/transit_tube{icon_state = "NE-SW"},/turf/simulated/wall/r_wall,/area/research_outpost/maintstore1) @@ -11198,7 +11198,7 @@ "ehr" = (/obj/machinery/computer/mech_bay_power_console,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"; tag = "icon-asteroidfloor"},/area/mine/west_outpost) "ehs" = (/obj/structure/disposalpipe/segment,/obj/structure/sign/deathsposal,/turf/simulated/wall,/area/mine/living_quarters) "eht" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/mine/living_quarters) -"ehu" = (/obj/structure/table/reinforced,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 8},/area/mine/explored) +"ehu" = (/obj/structure/table/reinforced,/obj/item/weapon/stock_parts/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/stock_parts/cell/high{charge = 100; maxcharge = 15000},/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 8},/area/mine/explored) "ehv" = (/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"},/area/mine/explored) "ehw" = (/obj/machinery/mining/brace,/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"},/area/mine/explored) "ehx" = (/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 4},/area/mine/explored) @@ -11733,7 +11733,7 @@ "erG" = (/obj/machinery/bot/secbot/buzzsky,/turf/simulated/floor,/area/derelict/bridge) "erH" = (/obj/structure/table,/obj/item/device/paicard,/turf/simulated/floor,/area/derelict/bridge) "erI" = (/obj/structure/stool,/turf/simulated/floor,/area/derelict/bridge) -"erJ" = (/obj/structure/table,/obj/item/weapon/cell,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor,/area/derelict/bridge) +"erJ" = (/obj/structure/table,/obj/item/weapon/stock_parts/cell,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor,/area/derelict/bridge) "erK" = (/obj/item/weapon/storage/toolbox/syndicate,/turf/simulated/floor/airless{icon_state = "damaged2"},/area/derelict/singularity_engine) "erL" = (/obj/item/stack/cable_coil/cut,/turf/simulated/floor/airless{icon_state = "damaged4"},/area/derelict/singularity_engine) "erM" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor,/area/derelict/bridge/access) @@ -11779,7 +11779,7 @@ "esA" = (/obj/structure/table,/obj/item/device/aicard,/turf/simulated/floor/airless,/area/derelict/bridge/access) "esB" = (/obj/structure/table,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/airless,/area/derelict/bridge/access) "esC" = (/obj/structure/table,/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = -7},/turf/simulated/floor/airless,/area/derelict/bridge/access) -"esD" = (/obj/structure/table,/obj/item/weapon/cell{charge = 100; maxcharge = 15000},/turf/simulated/floor/airless,/area/derelict/bridge/access) +"esD" = (/obj/structure/table,/obj/item/weapon/stock_parts/cell{charge = 100; maxcharge = 15000},/turf/simulated/floor/airless,/area/derelict/bridge/access) "esE" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/airless,/area/derelict/bridge/access) "esF" = (/obj/structure/girder,/turf/simulated/floor/plating/airless,/area) "esG" = (/turf/simulated/floor/airless{icon_state = "circuit"},/area/derelict/singularity_engine) @@ -12018,7 +12018,7 @@ "exf" = (/obj/structure/window/basic{dir = 1},/turf/simulated/floor/plating,/area/derelict/arrival) "exg" = (/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/derelict/arrival) "exh" = (/obj/structure/table,/turf/simulated/floor/airless,/area/derelict/hallway/primary) -"exi" = (/obj/structure/table,/obj/item/weapon/cell,/turf/simulated/floor/airless,/area/derelict/hallway/primary) +"exi" = (/obj/structure/table,/obj/item/weapon/stock_parts/cell,/turf/simulated/floor/airless,/area/derelict/hallway/primary) "exj" = (/obj/machinery/vending/sovietsoda,/turf/simulated/floor/airless,/area/derelict/hallway/primary) "exk" = (/obj/structure/cable,/obj/machinery/power/apc{dir = 0; name = "Worn-out APC"; pixel_y = -24},/turf/simulated/floor/airless,/area/derelict/hallway/primary) "exl" = (/obj/structure/table,/turf/simulated/floor/airless,/area) @@ -12149,7 +12149,7 @@ "ezG" = (/obj/machinery/teleport/station,/turf/simulated/floor/airless,/area/derelict/teleporter) "ezH" = (/obj/machinery/teleport/hub,/turf/simulated/floor/airless,/area/derelict/teleporter) "ezI" = (/obj/machinery/light_construct/small{dir = 4},/turf/simulated/floor/plating/airless,/area/derelict/teleporter) -"ezJ" = (/obj/structure/table,/obj/item/weapon/cell{charge = 100; maxcharge = 15000},/turf/simulated/floor/airless,/area/derelict/teleporter) +"ezJ" = (/obj/structure/table,/obj/item/weapon/stock_parts/cell{charge = 100; maxcharge = 15000},/turf/simulated/floor/airless,/area/derelict/teleporter) "ezK" = (/turf/simulated/floor/airless{icon_state = "damaged4"},/area/derelict/teleporter) "ezL" = (/obj/machinery/power/apc{dir = 0; name = "Worn-out APC"; pixel_y = -24},/turf/simulated/floor/airless,/area/derelict/teleporter) "ezM" = (/turf/simulated/floor/plating/airless/asteroid,/area/syndicate_depot) @@ -12550,6 +12550,8 @@ "eHr" = (/obj/structure/table,/obj/item/weapon/folder/blue,/obj/item/weapon/stamp/hop,/obj/item/device/eftpos,/turf/simulated/floor,/area/crew_quarters/heads) "eHs" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/blue,/obj/machinery/camera{c_tag = "Brig Medbay"; dir = 2; network = list("SS13")},/turf/simulated/floor{icon_state = "white"},/area/security/medbay) "eHt" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/obj/effect/landmark{name = "JoinLateCryo"},/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/sleep) +"eHu" = (/obj/machinery/conveyor{dir = 4; id = "QMLoad2"},/turf/simulated/floor,/area/quartermaster/storage) +"eHv" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/conveyor{dir = 4; id = "QMLoad2"},/turf/simulated/floor,/area/quartermaster/storage) (1,1,1) = {" aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -12688,7 +12690,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaabtNbvybvzbvAaDxaDxbvBbvCaDxbvDaySbvEbvFbvGbvHbmuaaaaaaaaaaabaabbvIbvIbvIbvIbvIbvIbvIaaaaaabvJbvKbvLbvMbvNbudbudbudbudbudbudbvObvPbvQbvRbvSbvTbvUbvVbiWbiWbvWbiWbiWbvXbvYbvZbwaaaibwbaaqaaqaosaaqaaJbwcaaibwdbuBaaibwebpwbpwbpwbwfaaiaaabuFaaibwgbwhbwibwjbwkabJbwlabJbwmbpFbwnaaibpHbwobwpbwqbwrbwsbwtbwubwvbwwbwxbwybwzbwAbwBbwCboCbwDbtlbwEbwFaaqbwGbwHbwIbwJbwKbwLbwMbqfaaibwNbwObwPbwQbwQbwRbwSbwTbwUbwVbwWbwXbwYbwZbxaaaibxbbvqbxcaaibxdbxebxfbrXbrXbxgaaibrZbsabxhaaiaaaaaaaaaaaaaabbxibxjbxkbxjbxkbxjbxlaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabhhbhhbhhbhhbhhbhhbhhbhhbhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabxmaDwbxnbxnbxobbgbxpaGbayabxqbxpaySbxrbxsbxtbxubmuaaaaaaaaaaaaaaabvIbvIbvIbvIbvIbvIbvIaaaaaabxvbxwbudbxxbxybxybxybxybxybxzbxAbxybxBbxCbxDbxEbxFbxGbxHbiWbxIbkebxJbxKbxLbxMbxNbxOaaiaaiaaibxPbxQbxRbxSbxTaaibpubuBaaibxUbxVbxWbxXbxYaaiaaabxZaaibyabybbycaaqbydaaqbyeaaqbyfbpFbygaaiaXibyhbyibyjbykaaqbylbymbynbyobypbypbyqbyrbysbytaaqaaJbyubyvaaqaaqaaqaaJbywaosaaqaaiaaiaaibyxbyyabmbyzbvebvfbyAbwQbyBbyCbyDbyDbyEbrObyFbyGbyHaaibrTbyIaaibyJbyKbrXbyLbyMbyNaaibtLbyOaaiaaiaaaaaaaaaaaaaabbyPbyQbyRbySbySbyTbyPaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabhhbhhbhhbhhbhhbhhbhhbhhbhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabyUbyUbyUbyUbyUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabyVbyVbyVbyVbyVbyVbyVbyVbyVbyVbyVbyVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabvIbvIbvIbvIbvIbvIbvIbyWbyXbyYbyZbudbzabudbzbbzbbzbbzbbsybuebudbudbufbzcbzdbzebzfbzgbzhbzibkebkebzjbzkbxMbxNbzlbzmbznbzobzpbzqbzrbzsbztaaibzubzvacFbzwbzxbzybzzbzAachbrebzBaaibzCbzDbzEaaqbzFaaqbzGaaqbzHbpFbzIaaibzJbzKbzLbzMbzNabJbzObzPabJabJbzQbzRabJabJbzSbzTaxSaxVbzUbzVbzWbzXbzYbzZbAabAbbAcaaibAdbAebAfbAgabmbAhbAibAjbAkbAlaaqbAmbyDbyDbAnbAobyFbApaaibAqbAqbAraaibAsbAtbAubAvbrXbAwaaibtLbAxaaiaaaaaaaaaaaaaaaaabbAybAzbyRbySbyRbAAbxkaabaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabhhbhhbhhbhhbhhbhhbhhbhhbhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabyUbyUbyUbyUbyUbyUbyUaaaaaaaaaaaaaaaaaaaaaaaaaaabyVbyVbyVbyVbyVbyVbyVbyVbyVbyVbyVbyVbyVbyVbyVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabvIbvIbvIbvIbvIbvIbvIbABbACbABbADbAEbzabudbudbudbudbudbsybuebAFbhBbhBbAGbkebuhbzfbAHbAIbAJbAKbAKbALbAMbANbAObAPbAQbARbASbATbAUbAVbAWbAXaaibwdbuBaaibAYbAZbBabBbbBcaaiaaabxZaaiabmaaiaaiaaiaaiaaibBdaaibBebpFbzIaaibBfbBgbBgbBhbBiaaqbBjbBkbBlbBmbBnbBobBpbBlbBqbBrbBsbBtbBubBvbBwbBwbBxbBybBzbBAbBBbBCbBDbBEbBFbBGbBHbBIbBIbBJbBKbBLaaqbBMbrObrObBNbBObyFbBPbBQbBRbBSbBTaaqbBUbBVaQDbBWbjEaaiaaibBXaaiaaibBYbBZbBZbBZbCaaaibyPbySbyRbySbySbCbbyPaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabhhbhhbhhbhhbhhbhhbhhbhhbhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabyUbyUbyUbyUbyUbyUbyUaaaaaaaaaaaaaaaaaaaaaaaaaaabyVbyVbyVbyVbyVbyVbyVbyVbyVbyVbyVbyVbyVbyVbyVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabvIbvIbvIbvIbvIbvIbvIbABbACbABbADeHueHveHubAEbudbudbudbsybuebAFbhBbhBbAGbkebuhbzfbAHbAIbAJbAKbAKbALbAMbANbAObAPbAQbARbASbATbAUbAVbAWbAXaaibwdbuBaaibAYbAZbBabBbbBcaaiaaabxZaaiabmaaiaaiaaiaaiaaibBdaaibBebpFbzIaaibBfbBgbBgbBhbBiaaqbBjbBkbBlbBmbBnbBobBpbBlbBqbBrbBsbBtbBubBvbBwbBwbBxbBybBzbBAbBBbBCbBDbBEbBFbBGbBHbBIbBIbBJbBKbBLaaqbBMbrObrObBNbBObyFbBPbBQbBRbBSbBTaaqbBUbBVaQDbBWbjEaaiaaibBXaaiaaibBYbBZbBZbBZbCaaaibyPbySbyRbySbySbCbbyPaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabhhbhhbhhbhhbhhbhhbhhbhhbhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabyUbyUbyUbyUbyUbyUbyUbyUbyUaaaaaaaaaaaaaaaaaaaaabyVbyVbyVbyVbyVbyVbyVbyVbyVbyVbyVbyVbyVbyVbyVbyVbyVaaaaaaaaaaaaaaaaaaaagaaaaaaaaabvIbvIbvIbvIbvIbvIbvIbCcbCdbCcbCebudbzabudbzbbzbbzbbzbbsybuebCfbCgbhBbChbkebuhbzfbCibCjbCkbkeblNbkebClbxMbpFbCmaYObARbCnbCobCpbCqbCrbCsborabtbCtaaiaaibCubCvbCwaaiaaiaaabxZaaibCxbCybCzbCAbCBbCCbCDachbCEbpFbzIbwsbCFbCGbCHbCIbCJaaqbCKbCLbCMbCNbCObCPbCQbCRbCSbCTbCUbCVbCWbCXbCYbCZbDabDbbDcbDdbDeaaibDfbDgbDhbDiaaibDjbDkbDlbDmbDmaaqbDnbDobDpaaqbDqbyFbDraaqbDsbDtbDubDvbDwbDxbDybDzbDAbDBbDCbDDbDEbDFbDGbDGbDHbDIbDJbDKbDLbxjbxkbDMbxkbxjbDNaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabhhbhhbhhbhhbhhbhhbhhbhhbhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabyUbyUbyUbyUbyUbyUbyUbyUbyUaaaaaaaaaaaaaaaaaabyVbyVbyVbyVbyVbyVbyVbyVbyVbyVbyVbyVbyVbyVbyVbyVbyVbyVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabvIbvIbvIbvIbvIbvIbvIbDObyXbDPbDQbudbzabudbudbudbudbudbsybuebCfbDRbhBbFnbkebDTbDUbkebDVbkdbkebkebDWbxLbxMbpFbCmaYObARaaibDXbDYbDZbEabEbabmbEcbEdbEeachachbEfbEgachbrebrebEhaaibEibEjbEkbElbEmbEmbEnbEobEpbpFbEqaaiaaqbErbjEbEsbEtaaqbCKbEuaaqbEvbEwbExbEyaaqbCKbEzbEAaaqaaqaaqaosaaqaaqaaqbEBamfaaqaaiaaibECaaqaaqaaiaaiaaqaaJaaqaaqaaqaaqaaqaaqaaqbEDbEEbEFaaqbEGbEHbEIbEJbEJbEKbELbEMbENbEObEPbEQbERbESbETbETbEUbDwbEVaaibEWbEXbEYbEZaaibFaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabhhbhhbhhbhhbhhbhhbhhbhhbhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabyUbyUbyUbyUbyUbyUbyUbyUbyUaaaaaaaaaaaaaaaaaabyVbyVbyVbyVbyVbyVbyVbyVbyVbyVbyVbyVbyVbyVbyVbyVbyVbyVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabvIbvIbvIbvIbvIbvIbvIbCcbCdbCcbFbbFcbFdbudbudbudbFcbudbsybuebCfbFebhBbFfbkebuhbzfbkebolbFgbkebkebFhbzkbxMbpFbFibFjbFkaaibFlbFmeHrbFobFpabmbFqbFrbFsbFtbFubFvbFwaaqaaaaaaaaaaaibFxbFybFzbFzbFAbFBbFCaaibFDbFEbzIbFFbFGbFHbFIbFJbFKbFLbFMbCLbjEbFNbFObFPbFQbjEbCKbEzbFRbFSbFTbFUbFVbFWaaqbFXbFYbFZaaqbGabGbbGcbGdbGebGfbGgbDBbGhbEJbEJbGibGjbEJbGkbGlbGmbGnbGobEJbGpbGqbGrbGsbGtbGuaaiabmaaiaaiaaibBXaaiaaibBYbCaaaibGvbGwbGxbGybGzbGAbGBbGCaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa