From 287a5deee303ccffa32ed08ade43447710d17dc9 Mon Sep 17 00:00:00 2001 From: Chompstation Bot Date: Wed, 7 Jul 2021 19:02:05 +0000 Subject: [PATCH 01/10] Use material defines more --- code/__defines/materials.dm | 6 +- code/datums/autolathe/arms.dm | 4 +- code/datums/autolathe/devices.dm | 2 +- code/datums/autolathe/general.dm | 2 +- code/datums/autolathe/tools.dm | 2 +- code/defines/obj/weapon.dm | 78 +- code/game/gamemodes/nuclear/pinpointer.dm | 2 +- code/game/gamemodes/objective.dm | 16 +- code/game/machinery/bioprinter.dm | 2 +- code/game/machinery/camera/camera_assembly.dm | 2 +- code/game/machinery/doors/airlock.dm | 3072 +++++++++++++++++ .../machinery/doors/airlock_electronics.dm | 2 +- code/game/machinery/doors/firedoor.dm | 2 +- code/game/machinery/fire_alarm.dm | 2 +- code/game/machinery/floor_light.dm | 2 +- code/game/machinery/partslathe_vr.dm | 8 +- code/game/machinery/pipe/pipelayer.dm | 14 +- code/game/machinery/portable_turret.dm | 4 +- code/game/machinery/robot_fabricator.dm | 4 +- code/game/mecha/mech_fabricator.dm | 18 +- code/game/mecha/mech_prosthetics.dm | 18 +- code/game/mecha/mecha_parts.dm | 14 +- code/game/mecha/micro/mechfab_designs_vr.dm | 58 +- .../objects/items/devices/advnifrepair.dm | 2 +- code/game/objects/items/devices/binoculars.dm | 2 +- .../objects/items/devices/body_snatcher_vr.dm | 2 +- .../devices/communicator/communicator.dm | 2 +- code/game/objects/items/devices/debugger.dm | 2 +- code/game/objects/items/devices/flashlight.dm | 4 +- code/game/objects/items/devices/gps.dm | 2 +- .../objects/items/devices/laserpointer.dm | 2 +- code/game/objects/items/devices/multitool.dm | 2 +- code/game/objects/items/devices/powersink.dm | 2 +- .../items/devices/radio/electropack.dm | 2 +- .../objects/items/devices/radio/headset.dm | 2 +- .../game/objects/items/devices/radio/radio.dm | 2 +- code/game/objects/items/devices/scanners.dm | 10 +- .../game/objects/items/devices/scanners_vr.dm | 2 +- .../objects/items/devices/suit_cooling.dm | 2 +- code/game/objects/items/devices/t_scanner.dm | 6 +- .../objects/items/devices/taperecorder.dm | 4 +- code/game/objects/items/glassjar.dm | 4 +- code/game/objects/items/robot/robot_parts.dm | 2 +- .../objects/items/stacks/tiles/tile_types.dm | 10 +- code/game/objects/items/weapons/RCD.dm | 4 +- code/game/objects/items/weapons/RMS_vr.dm | 2 +- code/game/objects/items/weapons/canes.dm | 2 +- .../weapons/circuitboards/circuitboards_vr.dm | 4 +- .../circuitboards/computer/camera_monitor.dm | 2 +- .../items/weapons/circuitboards/frame.dm | 30 +- .../circuitboards/machinery/engineering.dm | 2 +- .../machinery/kitchen_appliances.dm | 6 +- .../circuitboards/machinery/papershredder.dm | 2 +- code/game/objects/items/weapons/ecigs.dm | 2 +- .../objects/items/weapons/extinguisher.dm | 2 +- .../objects/items/weapons/flamethrower.dm | 2 +- code/game/objects/items/weapons/handcuffs.dm | 2 +- .../items/weapons/implants/implanter.dm | 2 +- .../objects/items/weapons/material/knives.dm | 2 +- .../items/weapons/material/material_armor.dm | 4 +- .../weapons/material/material_weapons.dm | 2 +- .../items/weapons/material/twohanded.dm | 2 +- code/game/objects/items/weapons/paint.dm | 2 +- code/game/objects/items/weapons/shields.dm | 2 +- .../objects/items/weapons/surgery_tools.dm | 14 +- .../objects/items/weapons/teleportation.dm | 4 +- .../objects/items/weapons/tools/crowbar.dm | 2 +- .../objects/items/weapons/tools/crowbar_vr.dm | 2 +- .../items/weapons/tools/screwdriver.dm | 4 +- .../items/weapons/tools/weldingtool.dm | 8 +- .../items/weapons/tools/wirecutters.dm | 2 +- .../objects/items/weapons/tools/wrench.dm | 4 +- code/game/objects/items/weapons/traps.dm | 2 +- code/game/objects/items/weapons/trays.dm | 2 +- code/game/objects/structures/girders.dm | 2 +- code/game/objects/structures/simple_doors.dm | 2 +- .../structures/stool_bed_chair_nest/bed.dm | 2 +- .../stool_bed_chair_nest/chairs_vr.dm | 4 +- .../structures/stool_bed_chair_nest/stools.dm | 2 +- code/modules/assembly/assembly.dm | 2 +- code/modules/assembly/igniter.dm | 2 +- code/modules/assembly/infrared.dm | 2 +- code/modules/assembly/mousetrap.dm | 2 +- code/modules/assembly/proximity.dm | 2 +- code/modules/assembly/signaler.dm | 2 +- code/modules/assembly/timer.dm | 2 +- code/modules/assembly/voice.dm | 2 +- code/modules/clothing/glasses/glasses.dm | 2 +- code/modules/clothing/gloves/miscellaneous.dm | 2 +- code/modules/clothing/head/misc.dm | 2 +- code/modules/clothing/head/misc_special.dm | 2 +- code/modules/clothing/rings/material.dm | 2 +- code/modules/clothing/spacesuits/breaches.dm | 2 +- .../spacesuits/rig/modules/modules.dm | 2 +- .../clothing/under/accessories/accessory.dm | 2 +- .../under/accessories/accessory_vr.dm | 2 +- code/modules/detectivework/tools/uvlight.dm | 2 +- code/modules/economy/mint.dm | 8 +- .../food/drinkingglass/drinkingglass.dm | 2 +- .../modules/food/drinkingglass/glass_types.dm | 16 +- code/modules/food/drinkingglass/metaglass.dm | 2 +- .../food/drinkingglass/serving_glasses.dm | 4 +- code/modules/food/drinkingglass/shaker.dm | 2 +- .../modules/food/food/drinks/drinkingglass.dm | 6 +- .../integrated_electronics/core/printer.dm | 2 +- code/modules/materials/materials/glass.dm | 4 +- code/modules/materials/materials/glass_vr.dm | 4 +- .../materials/materials/holographic.dm | 4 +- .../materials/materials/metals/plasteel.dm | 2 +- .../materials/materials/metals/steel.dm | 2 +- code/modules/materials/sheets/_sheets.dm | 4 +- code/modules/materials/sheets/metals/metal.dm | 4 +- code/modules/materials/sheets/metals/rods.dm | 2 +- code/modules/mining/alloys.dm | 2 +- code/modules/mining/drilling/scanner.dm | 4 +- code/modules/mining/mine_items.dm | 4 +- code/modules/mining/shelter_atoms_vr.dm | 4 +- code/modules/mob/living/bot/floorbot.dm | 2 +- .../station/protean_vr/protean_blob.dm | 2 +- .../station/protean_vr/protean_powers.dm | 6 +- .../station/protean_vr/protean_species.dm | 2 +- .../mob/living/silicon/robot/analyzer.dm | 2 +- .../mob/living/silicon/robot/component.dm | 2 +- .../silicon/robot/dogborg/dog_sleeper_vr.dm | 2 +- code/modules/organs/subtypes/nano.dm | 2 +- code/modules/paperwork/pen.dm | 2 +- code/modules/paperwork/photography.dm | 2 +- code/modules/paperwork/stamps.dm | 2 +- code/modules/power/antimatter/shielding.dm | 2 +- code/modules/power/cable.dm | 4 +- code/modules/power/cell.dm | 2 +- code/modules/power/cells/device_cells.dm | 2 +- code/modules/power/cells/esoteric_cells.dm | 2 +- code/modules/power/cells/power_cells.dm | 16 +- code/modules/power/lighting.dm | 8 +- code/modules/power/singularity/emitter.dm | 2 +- .../modules/power/tesla/telsa_construction.dm | 66 + code/modules/projectiles/ammunition.dm | 2 +- .../projectiles/ammunition/magazines.dm | 72 +- .../projectiles/ammunition/magnetic.dm | 2 +- code/modules/projectiles/ammunition/rounds.dm | 76 +- code/modules/projectiles/gun.dm | 2 +- code/modules/projectiles/guns/energy/laser.dm | 52 +- .../projectiles/guns/energy/laser_vr.dm | 2 +- code/modules/projectiles/guns/energy/stun.dm | 4 +- .../guns/launcher/grenade_launcher.dm | 2 +- .../projectiles/guns/launcher/pneumatic.dm | 2 +- .../projectiles/guns/launcher/syringe_gun.dm | 4 +- .../guns/magnetic/magnetic_construction.dm | 2 +- code/modules/projectiles/guns/projectile.dm | 2 +- .../guns/projectile/automatic_vr.dm | 2 +- .../guns/projectile/revolver_vr.dm | 4 +- .../reagents/reagent_containers/glass.dm | 18 +- .../reagents/reagent_containers/spray.dm | 2 +- .../reagents/reagent_containers/syringes.dm | 2 +- .../recycling/disposal-construction.dm | 2 +- code/modules/research/circuitprinter.dm | 2 +- code/modules/research/designs/HUDs.dm | 4 +- code/modules/research/designs/HUDs_vr.dm | 2 +- code/modules/research/designs/ai_holders.dm | 10 +- .../research/designs/bag_of_holding.dm | 6 +- code/modules/research/designs/beakers.dm | 4 +- code/modules/research/designs/bio_devices.dm | 8 +- .../research/designs/bio_devices_vr.dm | 6 +- .../research/designs/circuit_assembly.dm | 20 +- .../research/designs/circuits/ai_modules.dm | 2 +- .../research/designs/circuits/circuits.dm | 10 +- code/modules/research/designs/engineering.dm | 16 +- code/modules/research/designs/implants.dm | 2 +- code/modules/research/designs/implants_vr.dm | 14 +- .../research/designs/locator_devices.dm | 6 +- code/modules/research/designs/medical.dm | 22 +- code/modules/research/designs/medical_vr.dm | 52 +- code/modules/research/designs/mining_toys.dm | 12 +- code/modules/research/designs/misc.dm | 16 +- code/modules/research/designs/misc_vr.dm | 18 +- .../research/designs/modular_computer.dm | 50 +- code/modules/research/designs/pdas.dm | 4 +- code/modules/research/designs/power_cells.dm | 18 +- code/modules/research/designs/stock_parts.dm | 54 +- .../research/designs/subspace_parts.dm | 14 +- code/modules/research/designs/tech_disks.dm | 4 +- code/modules/research/designs/uncommented.dm | 14 +- code/modules/research/designs/weapons.dm | 518 +++ code/modules/research/designs/weapons_vr.dm | 32 +- .../modules/research/designs/xenoarch_toys.dm | 6 +- code/modules/research/designs/xenobio_toys.dm | 6 +- code/modules/research/mechfab_designs.dm | 210 +- code/modules/research/mechfab_designs_vr.dm | 2 +- code/modules/research/prosfab_designs.dm | 100 +- code/modules/research/prosfab_designs_vr.dm | 4 +- code/modules/research/protolathe.dm | 18 +- code/modules/research/research.dm | 4 +- code/modules/research/teleport_vr.dm | 4 +- code/modules/resleeving/computers.dm | 8 +- code/modules/resleeving/implant.dm | 2 +- code/modules/resleeving/machines.dm | 6 +- code/modules/resleeving/sleevecard.dm | 2 +- code/modules/tables/presets.dm | 24 +- code/modules/tables/rack_vr.dm | 4 +- code/modules/tables/tables.dm | 2 +- code/modules/vore/eating/living_vr.dm | 42 +- .../vore/fluffstuff/custom_items_vr.dm | 4 +- .../xenoarcheaology/finds/find_spawning.dm | 8 +- code/modules/xenoarcheaology/tools/tools.dm | 10 +- 205 files changed, 4579 insertions(+), 865 deletions(-) diff --git a/code/__defines/materials.dm b/code/__defines/materials.dm index ec665c37dd..38a84e7169 100644 --- a/code/__defines/materials.dm +++ b/code/__defines/materials.dm @@ -1,6 +1,3 @@ -#define DEFAULT_TABLE_MATERIAL "plastic" -#define DEFAULT_WALL_MATERIAL "steel" - #define MAT_IRON "iron" #define MAT_MARBLE "marble" #define MAT_STEEL "steel" @@ -47,6 +44,9 @@ #define MAT_BOROSILICATE "borosilicate glass" #define MAT_SANDSTONE "sandstone" +#define DEFAULT_TABLE_MATERIAL MAT_PLASTIC +#define DEFAULT_WALL_MATERIAL MAT_STEEL + #define SHARD_SHARD "shard" #define SHARD_SHRAPNEL "shrapnel" #define SHARD_STONE_PIECE "piece" diff --git a/code/datums/autolathe/arms.dm b/code/datums/autolathe/arms.dm index b2bb0c98b7..951474062a 100644 --- a/code/datums/autolathe/arms.dm +++ b/code/datums/autolathe/arms.dm @@ -74,13 +74,13 @@ name = "pistol magazine (.45 armor piercing)" path =/obj/item/ammo_magazine/m45/ap hidden = 1 - resources = list(DEFAULT_WALL_MATERIAL = 500, MAT_PLASTEEL = 300) + resources = list(MAT_STEEL = 500, MAT_PLASTEEL = 300) /datum/category_item/autolathe/arms/pistol_45hp name = "pistol magazine (.45 hollowpoint)" path =/obj/item/ammo_magazine/m45/hp hidden = 1 - resources = list(DEFAULT_WALL_MATERIAL = 500, MAT_PLASTIC = 200) + resources = list(MAT_STEEL = 500, MAT_PLASTIC = 200) /datum/category_item/autolathe/arms/pistol_45uzi name = "uzi magazine (.45)" diff --git a/code/datums/autolathe/devices.dm b/code/datums/autolathe/devices.dm index eed4839159..1196df5342 100644 --- a/code/datums/autolathe/devices.dm +++ b/code/datums/autolathe/devices.dm @@ -30,7 +30,7 @@ name = "barbed wire" path = /obj/item/weapon/material/barbedwire hidden = 1 - resources = list(DEFAULT_WALL_MATERIAL = 10000) + resources = list(MAT_STEEL = 10000) /datum/category_item/autolathe/devices/electropack name = "electropack" diff --git a/code/datums/autolathe/general.dm b/code/datums/autolathe/general.dm index 4be460a17d..d664e9fa19 100644 --- a/code/datums/autolathe/general.dm +++ b/code/datums/autolathe/general.dm @@ -122,7 +122,7 @@ /datum/category_item/autolathe/general/idcard name = "ID Card" path = /obj/item/weapon/card/id - resources = list(DEFAULT_WALL_MATERIAL = 100, MAT_GLASS = 100, MAT_PLASTIC = 300) + resources = list(MAT_STEEL = 100, MAT_GLASS = 100, MAT_PLASTIC = 300) man_rating = 2 /datum/category_item/autolathe/general/handcuffs diff --git a/code/datums/autolathe/tools.dm b/code/datums/autolathe/tools.dm index 9b88a496fa..be182c0713 100644 --- a/code/datums/autolathe/tools.dm +++ b/code/datums/autolathe/tools.dm @@ -56,6 +56,6 @@ /datum/category_item/autolathe/tools/spraynozzle name = "spray nozzle" path = /obj/item/weapon/reagent_containers/spray - resources = list(MAT_PLASTIC = 5000, DEFAULT_WALL_MATERIAL = 2000) + resources = list(MAT_PLASTIC = 5000, MAT_STEEL = 2000) hidden = 1 man_rating = 2 diff --git a/code/defines/obj/weapon.dm b/code/defines/obj/weapon.dm index 5e4692557b..da096d8fca 100644 --- a/code/defines/obj/weapon.dm +++ b/code/defines/obj/weapon.dm @@ -131,7 +131,7 @@ item_state = "radio" throw_speed = 4 throw_range = 20 - matter = list("metal" = 100 + matter = list(MAT_STEEL = 100) origin_tech = list(TECH_MAGNET = 2, TECH_ILLEGAL = 3)*/ /obj/item/weapon/SWF_uplink @@ -150,7 +150,7 @@ w_class = ITEMSIZE_SMALL throw_speed = 4 throw_range = 20 - matter = list(DEFAULT_WALL_MATERIAL = 100) + matter = list(MAT_STEEL = 100) origin_tech = list(TECH_MAGNET = 1) drop_sound = 'sound/items/drop/device.ogg' pickup_sound = 'sound/items/pickup/device.ogg' @@ -215,7 +215,7 @@ icon_state = "power_mod" item_state = "std_mod" desc = "Heavy-duty switching circuits for power control." - matter = list(DEFAULT_WALL_MATERIAL = 50, "glass" = 50) + matter = list(MAT_STEEL = 50, MAT_GLASS = 50) /obj/item/weapon/module/id_auth name = "\improper ID authentication module" @@ -384,14 +384,14 @@ desc = "Used in the construction of computers and other devices with a interactive console." icon_state = "screen" origin_tech = list(TECH_MATERIAL = 1) - matter = list("glass" = 200) + matter = list(MAT_GLASS = 200) /obj/item/weapon/stock_parts/capacitor name = "capacitor" desc = "A basic capacitor used in the construction of a variety of devices." icon_state = "capacitor" origin_tech = list(TECH_POWER = 1) - matter = list(DEFAULT_WALL_MATERIAL = 50,"glass" = 50) + matter = list(MAT_STEEL = 50,MAT_GLASS = 50) var/charge = 0 var/max_charge = 1000 @@ -416,28 +416,28 @@ desc = "A compact, high resolution scanning module used in the construction of certain devices." icon_state = "scan_module" origin_tech = list(TECH_MAGNET = 1) - matter = list(DEFAULT_WALL_MATERIAL = 50,"glass" = 20) + matter = list(MAT_STEEL = 50,MAT_GLASS = 20) /obj/item/weapon/stock_parts/manipulator name = "micro-manipulator" desc = "A tiny little manipulator used in the construction of certain devices." icon_state = "micro_mani" origin_tech = list(TECH_MATERIAL = 1, TECH_DATA = 1) - matter = list(DEFAULT_WALL_MATERIAL = 30) + matter = list(MAT_STEEL = 30) /obj/item/weapon/stock_parts/micro_laser name = "micro-laser" desc = "A tiny laser used in certain devices." icon_state = "micro_laser" origin_tech = list(TECH_MAGNET = 1) - matter = list(DEFAULT_WALL_MATERIAL = 10,"glass" = 20) + matter = list(MAT_STEEL = 10,MAT_GLASS = 20) /obj/item/weapon/stock_parts/matter_bin name = "matter bin" desc = "A container for hold compressed matter awaiting re-construction." icon_state = "matter_bin" origin_tech = list(TECH_MATERIAL = 1) - matter = list(DEFAULT_WALL_MATERIAL = 80) + matter = list(MAT_STEEL = 80) //Rank 2 @@ -447,7 +447,7 @@ icon_state = "capacitor_adv" origin_tech = list(TECH_POWER = 3) rating = 2 - matter = list(DEFAULT_WALL_MATERIAL = 50,"glass" = 50) + matter = list(MAT_STEEL = 50,MAT_GLASS = 50) /obj/item/weapon/stock_parts/scanning_module/adv name = "advanced scanning module" @@ -455,7 +455,7 @@ icon_state = "scan_module_adv" origin_tech = list(TECH_MAGNET = 3) rating = 2 - matter = list(DEFAULT_WALL_MATERIAL = 50,"glass" = 20) + matter = list(MAT_STEEL = 50,MAT_GLASS = 20) /obj/item/weapon/stock_parts/manipulator/nano name = "nano-manipulator" @@ -463,7 +463,7 @@ icon_state = "nano_mani" origin_tech = list(TECH_MATERIAL = 3, TECH_DATA = 2) rating = 2 - matter = list(DEFAULT_WALL_MATERIAL = 30) + matter = list(MAT_STEEL = 30) /obj/item/weapon/stock_parts/micro_laser/high name = "high-power micro-laser" @@ -471,7 +471,7 @@ icon_state = "high_micro_laser" origin_tech = list(TECH_MAGNET = 3) rating = 2 - matter = list(DEFAULT_WALL_MATERIAL = 10,"glass" = 20) + matter = list(MAT_STEEL = 10,MAT_GLASS = 20) /obj/item/weapon/stock_parts/matter_bin/adv name = "advanced matter bin" @@ -479,7 +479,7 @@ icon_state = "advanced_matter_bin" origin_tech = list(TECH_MATERIAL = 3) rating = 2 - matter = list(DEFAULT_WALL_MATERIAL = 80) + matter = list(MAT_STEEL = 80) //Rating 3 @@ -489,7 +489,7 @@ icon_state = "capacitor_super" origin_tech = list(TECH_POWER = 5, TECH_MATERIAL = 4) rating = 3 - matter = list(DEFAULT_WALL_MATERIAL = 50,"glass" = 50) + matter = list(MAT_STEEL = 50,MAT_GLASS = 50) /obj/item/weapon/stock_parts/scanning_module/phasic name = "phasic scanning module" @@ -497,7 +497,7 @@ icon_state = "scan_module_phasic" origin_tech = list(TECH_MAGNET = 5) rating = 3 - matter = list(DEFAULT_WALL_MATERIAL = 50,"glass" = 20) + matter = list(MAT_STEEL = 50,MAT_GLASS = 20) /obj/item/weapon/stock_parts/manipulator/pico name = "pico-manipulator" @@ -505,7 +505,7 @@ icon_state = "pico_mani" origin_tech = list(TECH_MATERIAL = 5, TECH_DATA = 2) rating = 3 - matter = list(DEFAULT_WALL_MATERIAL = 30) + matter = list(MAT_STEEL = 30) /obj/item/weapon/stock_parts/micro_laser/ultra name = "ultra-high-power micro-laser" @@ -513,7 +513,7 @@ desc = "A tiny laser used in certain devices." origin_tech = list(TECH_MAGNET = 5) rating = 3 - matter = list(DEFAULT_WALL_MATERIAL = 10,"glass" = 20) + matter = list(MAT_STEEL = 10,MAT_GLASS = 20) /obj/item/weapon/stock_parts/matter_bin/super name = "super matter bin" @@ -521,7 +521,7 @@ icon_state = "super_matter_bin" origin_tech = list(TECH_MATERIAL = 5) rating = 3 - matter = list(DEFAULT_WALL_MATERIAL = 80) + matter = list(MAT_STEEL = 80) // Rating 4 - Anomaly @@ -531,7 +531,7 @@ icon_state = "capacitor_hyper" origin_tech = list(TECH_POWER = 6, TECH_MATERIAL = 5, TECH_BLUESPACE = 1, TECH_ARCANE = 1) rating = 4 - matter = list(DEFAULT_WALL_MATERIAL = 80, MAT_GLASS = 40) + matter = list(MAT_STEEL = 80, MAT_GLASS = 40) /obj/item/weapon/stock_parts/scanning_module/hyper name = "quantum scanning module" @@ -539,7 +539,7 @@ icon_state = "scan_module_hyper" origin_tech = list(TECH_MAGNET = 6, TECH_BLUESPACE = 1, TECH_ARCANE = 1) rating = 4 - matter = list(DEFAULT_WALL_MATERIAL = 100,"glass" = 40) + matter = list(MAT_STEEL = 100,MAT_GLASS = 40) /obj/item/weapon/stock_parts/manipulator/hyper name = "planck-manipulator" @@ -547,7 +547,7 @@ icon_state = "hyper_mani" origin_tech = list(TECH_MATERIAL = 6, TECH_DATA = 3, TECH_ARCANE = 1) rating = 4 - matter = list(DEFAULT_WALL_MATERIAL = 30) + matter = list(MAT_STEEL = 30) /obj/item/weapon/stock_parts/micro_laser/hyper name = "hyper-power micro-laser" @@ -555,7 +555,7 @@ desc = "A tiny laser used in certain devices." origin_tech = list(TECH_MAGNET = 6, TECH_ARCANE = 1) rating = 4 - matter = list(DEFAULT_WALL_MATERIAL = 30, MAT_GLASS = 40) + matter = list(MAT_STEEL = 30, MAT_GLASS = 40) /obj/item/weapon/stock_parts/matter_bin/hyper name = "hyper matter bin" @@ -563,7 +563,7 @@ icon_state = "hyper_matter_bin" origin_tech = list(TECH_MATERIAL = 6, TECH_ARCANE = 1) rating = 4 - matter = list(DEFAULT_WALL_MATERIAL = 100) + matter = list(MAT_STEEL = 100) // Rating 5 - Precursor @@ -573,7 +573,7 @@ icon_state = "capacitor_omni" origin_tech = list(TECH_POWER = 7, TECH_MATERIAL = 6, TECH_BLUESPACE = 3, TECH_PRECURSOR = 1) rating = 5 - matter = list(DEFAULT_WALL_MATERIAL = 80, MAT_GLASS = 40) + matter = list(MAT_STEEL = 80, MAT_GLASS = 40) /obj/item/weapon/stock_parts/scanning_module/omni name = "omni-scanning module" @@ -581,7 +581,7 @@ icon_state = "scan_module_omni" origin_tech = list(TECH_MAGNET = 7, TECH_BLUESPACE = 3, TECH_PRECURSOR = 1) rating = 5 - matter = list(DEFAULT_WALL_MATERIAL = 100,"glass" = 40) + matter = list(MAT_STEEL = 100,MAT_GLASS = 40) /obj/item/weapon/stock_parts/manipulator/omni name = "omni-manipulator" @@ -589,7 +589,7 @@ icon_state = "omni_mani" origin_tech = list(TECH_MATERIAL = 7, TECH_DATA = 4, TECH_PRECURSOR = 1) rating = 5 - matter = list(DEFAULT_WALL_MATERIAL = 30) + matter = list(MAT_STEEL = 30) /obj/item/weapon/stock_parts/micro_laser/omni name = "omni-power micro-laser" @@ -597,7 +597,7 @@ desc = "A strange laser used in certain devices." origin_tech = list(TECH_MAGNET = 7, TECH_PRECURSOR = 1) rating = 5 - matter = list(DEFAULT_WALL_MATERIAL = 30, MAT_GLASS = 40) + matter = list(MAT_STEEL = 30, MAT_GLASS = 40) /obj/item/weapon/stock_parts/matter_bin/omni name = "omni-matter bin" @@ -605,7 +605,7 @@ icon_state = "omni_matter_bin" origin_tech = list(TECH_MATERIAL = 7, TECH_PRECURSOR = 1) rating = 5 - matter = list(DEFAULT_WALL_MATERIAL = 100) + matter = list(MAT_STEEL = 100) // Subspace stock parts @@ -615,49 +615,49 @@ icon_state = "subspace_ansible" desc = "A compact module capable of sensing extradimensional activity." origin_tech = list(TECH_DATA = 3, TECH_MAGNET = 5 ,TECH_MATERIAL = 4, TECH_BLUESPACE = 2) - matter = list(DEFAULT_WALL_MATERIAL = 30,"glass" = 10) + matter = list(MAT_STEEL = 30,MAT_GLASS = 10) /obj/item/weapon/stock_parts/subspace/sub_filter name = "hyperwave filter" icon_state = "hyperwave_filter" desc = "A tiny device capable of filtering and converting super-intense radiowaves." origin_tech = list(TECH_DATA = 4, TECH_MAGNET = 2) - matter = list(DEFAULT_WALL_MATERIAL = 30,"glass" = 10) + matter = list(MAT_STEEL = 30,MAT_GLASS = 10) /obj/item/weapon/stock_parts/subspace/amplifier name = "subspace amplifier" icon_state = "subspace_amplifier" desc = "A compact micro-machine capable of amplifying weak subspace transmissions." origin_tech = list(TECH_DATA = 3, TECH_MAGNET = 4, TECH_MATERIAL = 4, TECH_BLUESPACE = 2) - matter = list(DEFAULT_WALL_MATERIAL = 30,"glass" = 10) + matter = list(MAT_STEEL = 30,MAT_GLASS = 10) /obj/item/weapon/stock_parts/subspace/treatment name = "subspace treatment disk" icon_state = "treatment_disk" desc = "A compact micro-machine capable of stretching out hyper-compressed radio waves." origin_tech = list(TECH_DATA = 3, TECH_MAGNET = 2, TECH_MATERIAL = 5, TECH_BLUESPACE = 2) - matter = list(DEFAULT_WALL_MATERIAL = 30,"glass" = 10) + matter = list(MAT_STEEL = 30,MAT_GLASS = 10) /obj/item/weapon/stock_parts/subspace/analyzer name = "subspace wavelength analyzer" icon_state = "wavelength_analyzer" desc = "A sophisticated analyzer capable of analyzing cryptic subspace wavelengths." origin_tech = list(TECH_DATA = 3, TECH_MAGNET = 4, TECH_MATERIAL = 4, TECH_BLUESPACE = 2) - matter = list(DEFAULT_WALL_MATERIAL = 30,"glass" = 10) + matter = list(MAT_STEEL = 30,MAT_GLASS = 10) /obj/item/weapon/stock_parts/subspace/crystal name = "ansible crystal" icon_state = "ansible_crystal" desc = "A crystal made from pure glass used to transmit laser databursts to subspace." origin_tech = list(TECH_MAGNET = 4, TECH_MATERIAL = 4, TECH_BLUESPACE = 2) - matter = list("glass" = 50) + matter = list(MAT_GLASS = 50) /obj/item/weapon/stock_parts/subspace/transmitter name = "subspace transmitter" icon_state = "subspace_transmitter" desc = "A large piece of equipment used to open a window into the subspace dimension." origin_tech = list(TECH_MAGNET = 5, TECH_MATERIAL = 5, TECH_BLUESPACE = 3) - matter = list(DEFAULT_WALL_MATERIAL = 50) + matter = list(MAT_STEEL = 50) /obj/item/weapon/ectoplasm name = "ectoplasm" @@ -681,7 +681,7 @@ icon = 'icons/obj/stock_parts.dmi' icon_state = "gear" origin_tech = list(TECH_ENGINEERING = 1) - matter = list(DEFAULT_WALL_MATERIAL = 50) + matter = list(MAT_STEEL = 50) /obj/item/weapon/stock_parts/motor name = "motor" @@ -689,7 +689,7 @@ icon = 'icons/obj/stock_parts.dmi' icon_state = "motor" origin_tech = list(TECH_ENGINEERING = 1) - matter = list(DEFAULT_WALL_MATERIAL = 60, "glass" = 10) + matter = list(MAT_STEEL = 60, MAT_GLASS = 10) /obj/item/weapon/stock_parts/spring name = "spring" @@ -697,4 +697,4 @@ icon = 'icons/obj/stock_parts.dmi' icon_state = "spring" origin_tech = list(TECH_ENGINEERING = 1) - matter = list(DEFAULT_WALL_MATERIAL = 40) + matter = list(MAT_STEEL = 40) diff --git a/code/game/gamemodes/nuclear/pinpointer.dm b/code/game/gamemodes/nuclear/pinpointer.dm index 22cf1f7290..aec6442f8d 100644 --- a/code/game/gamemodes/nuclear/pinpointer.dm +++ b/code/game/gamemodes/nuclear/pinpointer.dm @@ -7,7 +7,7 @@ item_state = "electronic" throw_speed = 4 throw_range = 20 - matter = list(DEFAULT_WALL_MATERIAL = 500) + matter = list(MAT_STEEL = 500) preserve_item = 1 var/obj/item/weapon/disk/nuclear/the_disk = null var/active = 0 diff --git a/code/game/gamemodes/objective.dm b/code/game/gamemodes/objective.dm index 326824ca77..2fb5c8aaf0 100644 --- a/code/game/gamemodes/objective.dm +++ b/code/game/gamemodes/objective.dm @@ -728,28 +728,28 @@ var/global/list/all_objectives = list() /datum/objective/heist/salvage/choose_target() switch(rand(1,8)) if(1) - target = DEFAULT_WALL_MATERIAL + target = MAT_STEEL target_amount = 300 if(2) - target = "glass" + target = MAT_GLASS target_amount = 200 if(3) - target = "plasteel" + target = MAT_PLASTEEL target_amount = 100 if(4) - target = "phoron" + target = MAT_PHORON target_amount = 100 if(5) - target = "silver" + target = MAT_SILVER target_amount = 50 if(6) - target = "gold" + target = MAT_GOLD target_amount = 20 if(7) - target = "uranium" + target = MAT_URANIUM target_amount = 20 if(8) - target = "diamond" + target = MAT_DIAMOND target_amount = 20 explanation_text = "Ransack the station and escape with [target_amount] [target]." diff --git a/code/game/machinery/bioprinter.dm b/code/game/machinery/bioprinter.dm index 5081a1b56e..fe2c027eb1 100644 --- a/code/game/machinery/bioprinter.dm +++ b/code/game/machinery/bioprinter.dm @@ -335,7 +335,7 @@ circuit = /obj/item/weapon/circuitboard/roboprinter var/matter_amount_per_sheet = 10 - var/matter_type = DEFAULT_WALL_MATERIAL + var/matter_type = MAT_STEEL /obj/machinery/organ_printer/robot/full/New() . = ..() diff --git a/code/game/machinery/camera/camera_assembly.dm b/code/game/machinery/camera/camera_assembly.dm index 5cec5a5b42..d8facf1726 100644 --- a/code/game/machinery/camera/camera_assembly.dm +++ b/code/game/machinery/camera/camera_assembly.dm @@ -6,7 +6,7 @@ w_class = ITEMSIZE_SMALL anchored = 0 - matter = list(DEFAULT_WALL_MATERIAL = 700,"glass" = 300) + matter = list(MAT_STEEL = 700,MAT_GLASS = 300) // Motion, EMP-Proof, X-Ray var/list/obj/item/possible_upgrades = list(/obj/item/device/assembly/prox_sensor, /obj/item/stack/material/osmium, /obj/item/weapon/stock_parts/scanning_module) diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index 610879f327..7261e15625 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -1,3 +1,4 @@ +<<<<<<< HEAD //VOREStation Edit - Redone a lot of airlock things: /* - Specific department maintenance doors @@ -1534,3 +1535,3074 @@ About the new airlock wires panel: qdel(src) return TRUE return FALSE +||||||| parent of 8ab34365f1... Merge pull request #10852 from VOREStation/Arokha/matdefs +//VOREStation Edit - Redone a lot of airlock things: +/* +- Specific department maintenance doors +- Named doors properly according to type +- Gave them default access levels with the access constants +- Improper'd all of the names in the new() +*/ + +/obj/machinery/door/airlock + name = "Airlock" + icon = 'icons/obj/doors/Doorint.dmi' + icon_state = "door_closed" + power_channel = ENVIRON + + explosion_resistance = 10 + + // Doors do their own stuff + bullet_vulnerability = 0 + + blocks_emissive = EMISSIVE_BLOCK_GENERIC // Not quite as nice as /tg/'s custom masks. We should make those sometime + + var/aiControlDisabled = 0 //If 1, AI control is disabled until the AI hacks back in and disables the lock. If 2, the AI has bypassed the lock. If -1, the control is enabled but the AI had bypassed it earlier, so if it is disabled again the AI would have no trouble getting back in. + var/hackProof = 0 // if 1, this door can't be hacked by the AI + var/electrified_until = 0 //World time when the door is no longer electrified. -1 if it is permanently electrified until someone fixes it. + var/main_power_lost_until = 0 //World time when main power is restored. + var/backup_power_lost_until = -1 //World time when backup power is restored. + var/has_beeped = 0 //If 1, will not beep on failed closing attempt. Resets when door closes. + var/spawnPowerRestoreRunning = 0 + var/welded = null + var/locked = 0 + var/lights = 1 // bolt lights show by default + var/aiDisabledIdScanner = 0 + var/aiHacking = 0 + var/obj/machinery/door/airlock/closeOther = null + var/closeOtherId = null + var/lockdownbyai = 0 + autoclose = 1 + var/assembly_type = /obj/structure/door_assembly + var/mineral = null + var/justzap = 0 + var/safe = 1 + normalspeed = 1 + var/obj/item/weapon/airlock_electronics/electronics = null + var/hasShocked = 0 //Prevents multiple shocks from happening + var/secured_wires = 0 + var/datum/wires/airlock/wires = null + + var/open_sound_powered = 'sound/machines/door/covert1o.ogg' + var/open_sound_unpowered = 'sound/machines/door/airlockforced.ogg' + var/close_sound_powered = 'sound/machines/door/covert1c.ogg' + var/legacy_open_powered = 'sound/machines/door/old_airlock.ogg' + var/legacy_close_powered = 'sound/machines/door/old_airlockclose.ogg' + var/department_open_powered = null + var/department_close_powered = null + var/denied_sound = 'sound/machines/deniedbeep.ogg' + var/bolt_up_sound = 'sound/machines/door/boltsup.ogg' + var/bolt_down_sound = 'sound/machines/door/boltsdown.ogg' + +/obj/machinery/door/airlock/attack_generic(var/mob/living/user, var/damage) + if(stat & (BROKEN|NOPOWER)) + if(damage >= STRUCTURE_MIN_DAMAGE_THRESHOLD) + if(src.locked || src.welded) + visible_message("\The [user] begins breaking into \the [src] internals!") + user.set_AI_busy(TRUE) // If the mob doesn't have an AI attached, this won't do anything. + if(do_after(user,10 SECONDS,src)) + src.locked = 0 + src.welded = 0 + update_icon() + open(1) + if(prob(25)) + src.shock(user, 100) + user.set_AI_busy(FALSE) + else if(src.density) + visible_message("\The [user] forces \the [src] open!") + open(1) + else + visible_message("\The [user] forces \the [src] closed!") + close(1) + else + visible_message("\The [user] strains fruitlessly to force \the [src] [density ? "open" : "closed"].") + return + ..() + +/obj/machinery/door/airlock/attack_alien(var/mob/user) //Familiar, right? Doors. -Mechoid + if(istype(user, /mob/living/carbon/human)) + var/mob/living/carbon/human/X = user + if(istype(X.species, /datum/species/xenos)) + if(src.locked || src.welded) + visible_message("\The [user] begins digging into \the [src] internals!") + src.do_animate("deny") + if(do_after(user,5 SECONDS,src)) + visible_message("\The [user] forces \the [src] open, sparks flying from its electronics!") + src.do_animate("spark") + playsound(src, 'sound/machines/door/airlock_creaking.ogg', 100, 1, volume_channel = VOLUME_CHANNEL_DOORS) + src.locked = 0 + src.welded = 0 + update_icon() + open(1) + src.emag_act() + else if(src.density) + visible_message("\The [user] begins forcing \the [src] open!") + if(do_after(user, 5 SECONDS,src)) + playsound(src, 'sound/machines/door/airlock_creaking.ogg', 100, 1, volume_channel = VOLUME_CHANNEL_DOORS) + visible_message("\The [user] forces \the [src] open!") + open(1) + else + visible_message("\The [user] forces \the [src] closed!") + close(1) + else + src.do_animate("deny") + visible_message("\The [user] strains fruitlessly to force \the [src] [density ? "open" : "closed"].") + return + ..() + +/obj/machinery/door/airlock/get_material() + if(mineral) + return get_material_by_name(mineral) + return get_material_by_name(DEFAULT_WALL_MATERIAL) + +/obj/machinery/door/airlock/command + name = "Command Airlock" + icon = 'icons/obj/doors/Doorcom.dmi' + req_one_access = list(access_heads) + assembly_type = /obj/structure/door_assembly/door_assembly_com + open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + department_open_powered = 'sound/machines/door/cmd3o.ogg' + department_close_powered = 'sound/machines/door/cmd3c.ogg' + +/obj/machinery/door/airlock/security + name = "Security Airlock" + icon = 'icons/obj/doors/Doorsec.dmi' + req_one_access = list(access_security) + assembly_type = /obj/structure/door_assembly/door_assembly_sec + open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + department_open_powered = 'sound/machines/door/sec1o.ogg' + department_close_powered = 'sound/machines/door/sec1c.ogg' + +/obj/machinery/door/airlock/engineering + name = "Engineering Airlock" + icon = 'icons/obj/doors/Dooreng.dmi' + req_one_access = list(access_engine) + assembly_type = /obj/structure/door_assembly/door_assembly_eng + open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + department_open_powered = 'sound/machines/door/eng1o.ogg' + department_close_powered = 'sound/machines/door/eng1c.ogg' + +/obj/machinery/door/airlock/engineeringatmos + name = "Atmospherics Airlock" + icon = 'icons/obj/doors/Doorengatmos.dmi' + req_one_access = list(access_atmospherics) + assembly_type = /obj/structure/door_assembly/door_assembly_eat + open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + department_open_powered = 'sound/machines/door/eng1o.ogg' + department_close_powered = 'sound/machines/door/eng1c.ogg' + +/obj/machinery/door/airlock/medical + name = "Medical Airlock" + icon = 'icons/obj/doors/Doormed.dmi' + req_one_access = list(access_medical) + assembly_type = /obj/structure/door_assembly/door_assembly_med + open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + department_open_powered = 'sound/machines/door/med1o.ogg' + department_close_powered = 'sound/machines/door/med1c.ogg' + +/obj/machinery/door/airlock/maintenance + name = "Maintenance Access" + icon = 'icons/obj/doors/Doormaint.dmi' + //req_one_access = list(access_maint_tunnels) //VOREStation Edit - Maintenance is open access + assembly_type = /obj/structure/door_assembly/door_assembly_mai + open_sound_powered = 'sound/machines/door/door2o.ogg' + close_sound_powered = 'sound/machines/door/door2c.ogg' + +/obj/machinery/door/airlock/maintenance/cargo + icon = 'icons/obj/doors/Doormaint_cargo.dmi' + req_one_access = list(access_cargo) + open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + department_open_powered = 'sound/machines/door/door2o.ogg' + department_close_powered = 'sound/machines/door/door2c.ogg' + +/obj/machinery/door/airlock/maintenance/command + icon = 'icons/obj/doors/Doormaint_command.dmi' + req_one_access = list(access_heads) + +/obj/machinery/door/airlock/maintenance/common + icon = 'icons/obj/doors/Doormaint_common.dmi' + open_sound_powered = 'sound/machines/door/hall3o.ogg' + close_sound_powered = 'sound/machines/door/hall3c.ogg' + +/obj/machinery/door/airlock/maintenance/engi + icon = 'icons/obj/doors/Doormaint_engi.dmi' + req_one_access = list(access_engine) + +/obj/machinery/door/airlock/maintenance/int + icon = 'icons/obj/doors/Doormaint_int.dmi' + +/obj/machinery/door/airlock/maintenance/medical + icon = 'icons/obj/doors/Doormaint_med.dmi' + req_one_access = list(access_medical) + +/obj/machinery/door/airlock/maintenance/rnd + icon = 'icons/obj/doors/Doormaint_rnd.dmi' + req_one_access = list(access_research) + +/obj/machinery/door/airlock/maintenance/sec + icon = 'icons/obj/doors/Doormaint_sec.dmi' + req_one_access = list(access_security) + +/obj/machinery/door/airlock/external + name = "External Airlock" + icon = 'icons/obj/doors/Doorext.dmi' + assembly_type = /obj/structure/door_assembly/door_assembly_ext + open_sound_powered = 'sound/machines/door/space1o.ogg' + close_sound_powered = 'sound/machines/door/space1c.ogg' + +/obj/machinery/door/airlock/external/glass/bolted + icon_state = "door_locked" // So it looks visibly bolted in map editor + locked = 1 + +// For convenience in making docking ports: one that is pre-bolted with frequency set! +/obj/machinery/door/airlock/external/glass/bolted/cycling + frequency = 1379 + +/obj/machinery/door/airlock/glass_external + name = "External Airlock" + icon = 'icons/obj/doors/Doorextglass.dmi' + assembly_type = /obj/structure/door_assembly/door_assembly_ext + opacity = 0 + glass = 1 + req_one_access = list(access_external_airlocks) + open_sound_powered = 'sound/machines/door/space1o.ogg' + close_sound_powered = 'sound/machines/door/space1c.ogg' + +/obj/machinery/door/airlock/glass + name = "Glass Airlock" + icon = 'icons/obj/doors/Doorglass.dmi' + hitsound = 'sound/effects/Glasshit.ogg' + open_sound_powered = 'sound/machines/door/hall1o.ogg' + close_sound_powered = 'sound/machines/door/hall1c.ogg' + legacy_open_powered = 'sound/machines/door/windowdoor.ogg' + maxhealth = 300 + explosion_resistance = 5 + opacity = 0 + glass = 1 + +/obj/machinery/door/airlock/centcom + name = "Centcom Airlock" + icon = 'icons/obj/doors/Doorele.dmi' + req_one_access = list(access_cent_general) + opacity = 1 + open_sound_powered = 'sound/machines/door/cmd3o.ogg' + close_sound_powered = 'sound/machines/door/cmd3c.ogg' + +/obj/machinery/door/airlock/glass_centcom + name = "Airlock" + icon = 'icons/obj/doors/Dooreleglass.dmi' + opacity = 0 + glass = 1 + open_sound_powered = 'sound/machines/door/cmd3o.ogg' + close_sound_powered = 'sound/machines/door/cmd3c.ogg' + +/obj/machinery/door/airlock/vault + name = "Vault" + icon = 'icons/obj/doors/vault.dmi' + explosion_resistance = 20 + opacity = 1 + secured_wires = 1 + assembly_type = /obj/structure/door_assembly/door_assembly_highsecurity //Until somebody makes better sprites. + req_one_access = list(access_heads_vault) + open_sound_powered = 'sound/machines/door/vault1o.ogg' + close_sound_powered = 'sound/machines/door/vault1c.ogg' + +/obj/machinery/door/airlock/vault/bolted + icon_state = "door_locked" + locked = 1 + +/obj/machinery/door/airlock/freezer + name = "Freezer Airlock" + icon = 'icons/obj/doors/Doorfreezer.dmi' + opacity = 1 + assembly_type = /obj/structure/door_assembly/door_assembly_fre + +/obj/machinery/door/airlock/hatch + name = "Airtight Hatch" + icon = 'icons/obj/doors/Doorhatchele.dmi' + explosion_resistance = 20 + opacity = 1 + assembly_type = /obj/structure/door_assembly/door_assembly_hatch + req_one_access = list(access_maint_tunnels) + open_sound_powered = 'sound/machines/door/hatchopen.ogg' + close_sound_powered = 'sound/machines/door/hatchclose.ogg' + open_sound_unpowered = 'sound/machines/door/hatchforced.ogg' + +/obj/machinery/door/airlock/maintenance_hatch + name = "Maintenance Hatch" + icon = 'icons/obj/doors/Doorhatchmaint2.dmi' + explosion_resistance = 20 + opacity = 1 + assembly_type = /obj/structure/door_assembly/door_assembly_mhatch + req_one_access = list(access_maint_tunnels) + open_sound_powered = 'sound/machines/door/hatchopen.ogg' + close_sound_powered = 'sound/machines/door/hatchclose.ogg' + open_sound_unpowered = 'sound/machines/door/hatchforced.ogg' + +/obj/machinery/door/airlock/glass_command + name = "Command Airlock" + icon = 'icons/obj/doors/Doorcomglass.dmi' + hitsound = 'sound/effects/Glasshit.ogg' + maxhealth = 300 + explosion_resistance = 5 + opacity = 0 + assembly_type = /obj/structure/door_assembly/door_assembly_com + glass = 1 + req_one_access = list(access_heads) + open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + department_open_powered = 'sound/machines/door/cmd1o.ogg' + department_close_powered = 'sound/machines/door/cmd1c.ogg' + +/obj/machinery/door/airlock/glass_engineering + name = "Engineering Airlock" + icon = 'icons/obj/doors/Doorengglass.dmi' + hitsound = 'sound/effects/Glasshit.ogg' + maxhealth = 300 + explosion_resistance = 5 + opacity = 0 + assembly_type = /obj/structure/door_assembly/door_assembly_eng + glass = 1 + req_one_access = list(access_engine) + department_open_powered = 'sound/machines/door/eng1o.ogg' + department_close_powered = 'sound/machines/door/eng1c.ogg' + +/obj/machinery/door/airlock/glass_engineeringatmos + name = "Atmospherics Airlock" + icon = 'icons/obj/doors/Doorengatmoglass.dmi' + hitsound = 'sound/effects/Glasshit.ogg' + maxhealth = 300 + explosion_resistance = 5 + opacity = 0 + assembly_type = /obj/structure/door_assembly/door_assembly_eat + glass = 1 + req_one_access = list(access_atmospherics) + open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + department_open_powered = 'sound/machines/door/eng1o.ogg' + department_close_powered = 'sound/machines/door/eng1c.ogg' + +/obj/machinery/door/airlock/glass_security + name = "Security Airlock" + icon = 'icons/obj/doors/Doorsecglass.dmi' + hitsound = 'sound/effects/Glasshit.ogg' + maxhealth = 300 + explosion_resistance = 5 + opacity = 0 + assembly_type = /obj/structure/door_assembly/door_assembly_sec + glass = 1 + req_one_access = list(access_security) + open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + department_open_powered = 'sound/machines/door/sec1o.ogg' + department_close_powered = 'sound/machines/door/sec1c.ogg' + +/obj/machinery/door/airlock/glass_medical + name = "Medical Airlock" + icon = 'icons/obj/doors/Doormedglass.dmi' + hitsound = 'sound/effects/Glasshit.ogg' + maxhealth = 300 + explosion_resistance = 5 + opacity = 0 + assembly_type = /obj/structure/door_assembly/door_assembly_med + glass = 1 + req_one_access = list(access_medical) + open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + department_open_powered = 'sound/machines/door/med1o.ogg' + department_close_powered = 'sound/machines/door/med1c.ogg' + +/obj/machinery/door/airlock/mining + name = "Mining Airlock" + icon = 'icons/obj/doors/Doormining.dmi' + assembly_type = /obj/structure/door_assembly/door_assembly_min + req_one_access = list(access_mining) + open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + department_open_powered = 'sound/machines/door/cgo1o.ogg' + department_close_powered = 'sound/machines/door/cgo1c.ogg' + +/obj/machinery/door/airlock/atmos + name = "Atmospherics Airlock" + icon = 'icons/obj/doors/Dooratmo.dmi' + assembly_type = /obj/structure/door_assembly/door_assembly_atmo + req_one_access = list(access_atmospherics) + open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + department_open_powered = 'sound/machines/door/eng1o.ogg' + department_close_powered = 'sound/machines/door/eng1c.ogg' + +/obj/machinery/door/airlock/research + name = "Research Airlock" + icon = 'icons/obj/doors/Doorresearch.dmi' + assembly_type = /obj/structure/door_assembly/door_assembly_research + open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + department_open_powered = 'sound/machines/door/sci1o.ogg' + department_close_powered = 'sound/machines/door/sci1c.ogg' + +/obj/machinery/door/airlock/glass_research + name = "Research Airlock" + icon = 'icons/obj/doors/Doorresearchglass.dmi' + hitsound = 'sound/effects/Glasshit.ogg' + maxhealth = 300 + explosion_resistance = 5 + opacity = 0 + assembly_type = /obj/structure/door_assembly/door_assembly_research + glass = 1 + req_one_access = list(access_research) + open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + department_open_powered = 'sound/machines/door/sci1o.ogg' + department_close_powered = 'sound/machines/door/sci1c.ogg' + +/obj/machinery/door/airlock/glass_mining + name = "Mining Airlock" + icon = 'icons/obj/doors/Doorminingglass.dmi' + hitsound = 'sound/effects/Glasshit.ogg' + maxhealth = 300 + explosion_resistance = 5 + opacity = 0 + assembly_type = /obj/structure/door_assembly/door_assembly_min + glass = 1 + req_one_access = list(access_mining) + open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + department_open_powered = 'sound/machines/door/cgo1o.ogg' + department_close_powered = 'sound/machines/door/cgo1c.ogg' + +/obj/machinery/door/airlock/glass_atmos + name = "Atmospherics Airlock" + icon = 'icons/obj/doors/Dooratmoglass.dmi' + hitsound = 'sound/effects/Glasshit.ogg' + maxhealth = 300 + explosion_resistance = 5 + opacity = 0 + assembly_type = /obj/structure/door_assembly/door_assembly_atmo + glass = 1 + req_one_access = list(access_atmospherics) + open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + department_open_powered = 'sound/machines/door/eng1o.ogg' + department_close_powered = 'sound/machines/door/eng1c.ogg' + +/obj/machinery/door/airlock/gold + name = "Gold Airlock" + icon = 'icons/obj/doors/Doorgold.dmi' + mineral = "gold" + +/obj/machinery/door/airlock/silver + name = "Silver Airlock" + icon = 'icons/obj/doors/Doorsilver.dmi' + mineral = "silver" + +/obj/machinery/door/airlock/diamond + name = "Diamond Airlock" + icon = 'icons/obj/doors/Doordiamond.dmi' + mineral = "diamond" + +/obj/machinery/door/airlock/uranium + name = "Uranium Airlock" + desc = "And they said I was crazy." + icon = 'icons/obj/doors/Dooruranium.dmi' + mineral = "uranium" + var/last_event = 0 + var/rad_power = 7.5 + +/obj/machinery/door/airlock/process() + // Deliberate no call to parent. + if(main_power_lost_until > 0 && world.time >= main_power_lost_until) + regainMainPower() + + if(backup_power_lost_until > 0 && world.time >= backup_power_lost_until) + regainBackupPower() + + else if(electrified_until > 0 && world.time >= electrified_until) + electrify(0) + + if (..() == PROCESS_KILL && !(main_power_lost_until > 0 || backup_power_lost_until > 0 || electrified_until > 0)) + . = PROCESS_KILL + +/obj/machinery/door/airlock/uranium/process() + if(world.time > last_event+20) + if(prob(50)) + SSradiation.radiate(src, rad_power) + last_event = world.time + ..() + +/obj/machinery/door/airlock/phoron + name = "Phoron Airlock" + desc = "No way this can end badly." + icon = 'icons/obj/doors/Doorphoron.dmi' + mineral = "phoron" + +/obj/machinery/door/airlock/phoron/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume) + if(exposed_temperature > 300) + PhoronBurn(exposed_temperature) + +/obj/machinery/door/airlock/phoron/proc/ignite(exposed_temperature) + if(exposed_temperature > 300) + PhoronBurn(exposed_temperature) + +/obj/machinery/door/airlock/phoron/proc/PhoronBurn(temperature) + for(var/turf/simulated/floor/target_tile in range(2,loc)) + target_tile.assume_gas("phoron", 35, 400+T0C) + spawn (0) target_tile.hotspot_expose(temperature, 400) + for(var/turf/simulated/wall/W in range(3,src)) + W.burn((temperature/4))//Added so that you can't set off a massive chain reaction with a small flame + for(var/obj/machinery/door/airlock/phoron/D in range(3,src)) + D.ignite(temperature/4) + new/obj/structure/door_assembly( src.loc ) + qdel(src) + +/obj/machinery/door/airlock/sandstone + name = "Sandstone Airlock" + icon = 'icons/obj/doors/Doorsand.dmi' + mineral = "sandstone" + +/obj/machinery/door/airlock/science + name = "Research Airlock" + icon = 'icons/obj/doors/Doorsci.dmi' + assembly_type = /obj/structure/door_assembly/door_assembly_science + req_one_access = list(access_research) + open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + department_open_powered = 'sound/machines/door/sci1o.ogg' + department_close_powered = 'sound/machines/door/sci1c.ogg' + +/obj/machinery/door/airlock/glass_science + name = "Glass Airlocks" + icon = 'icons/obj/doors/Doorsciglass.dmi' + opacity = 0 + assembly_type = /obj/structure/door_assembly/door_assembly_science + glass = 1 + req_one_access = list(access_research) + open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + department_open_powered = 'sound/machines/door/sci1o.ogg' + department_close_powered = 'sound/machines/door/sci1c.ogg' + +/obj/machinery/door/airlock/highsecurity + name = "Secure Airlock" + icon = 'icons/obj/doors/hightechsecurity.dmi' + explosion_resistance = 20 + secured_wires = 1 + assembly_type = /obj/structure/door_assembly/door_assembly_highsecurity + req_one_access = list(access_heads_vault) + open_sound_powered = 'sound/machines/door/secure1o.ogg' + close_sound_powered = 'sound/machines/door/secure1c.ogg' + +/obj/machinery/door/airlock/voidcraft + name = "voidcraft hatch" + desc = "It's an extra resilient airlock intended for spacefaring vessels." + icon = 'icons/obj/doors/shuttledoors.dmi' + explosion_resistance = 20 + opacity = 0 + glass = 1 + assembly_type = /obj/structure/door_assembly/door_assembly_voidcraft + open_sound_powered = 'sound/machines/door/shuttle1o.ogg' + close_sound_powered = 'sound/machines/door/shuttle1c.ogg' + +// Airlock opens from top-bottom instead of left-right. +/obj/machinery/door/airlock/voidcraft/vertical + icon = 'icons/obj/doors/shuttledoors_vertical.dmi' + assembly_type = /obj/structure/door_assembly/door_assembly_voidcraft/vertical + open_sound_powered = 'sound/machines/door/shuttle1o.ogg' + close_sound_powered = 'sound/machines/door/shuttle1c.ogg' + + +/datum/category_item/catalogue/anomalous/precursor_a/alien_airlock + name = "Precursor Alpha Object - Doors" + desc = "This object appears to be used in order to restrict or allow access to \ + rooms based on its physical state. In other words, a door. \ + Despite being designed and created by unknown ancient alien hands, this door has \ + a large number of similarities to the conventional airlock, such as being driven by \ + electricity, opening and closing by physically moving, and being air tight. \ + It also operates by responding to signals through internal electrical conduits. \ + These characteristics make it possible for one with experience with a multitool \ + to manipulate the door.\ +

\ + The symbol on the door does not match any living species' patterns, giving further \ + implications that this door is very old, and yet it remains operational after \ + thousands of years. It is unknown if that is due to superb construction, or \ + unseen autonomous maintenance having been performed." + value = CATALOGUER_REWARD_EASY + +/obj/machinery/door/airlock/alien + name = "alien airlock" + desc = "You're fairly sure this is a door." + catalogue_data = list(/datum/category_item/catalogue/anomalous/precursor_a/alien_airlock) + icon = 'icons/obj/doors/Dooralien.dmi' + explosion_resistance = 20 + secured_wires = TRUE + hackProof = TRUE + assembly_type = /obj/structure/door_assembly/door_assembly_alien + req_one_access = list(access_alien) + +/obj/machinery/door/airlock/alien/locked + icon_state = "door_locked" + locked = TRUE + +/obj/machinery/door/airlock/alien/public // Entry to UFO. + req_one_access = list() + normalspeed = FALSE // So it closes faster and hopefully keeps the warm air inside. + hackProof = TRUE //VOREStation Edit - No borgos + +/* +About the new airlock wires panel: +* An airlock wire dialog can be accessed by the normal way or by using wirecutters or a multitool on the door while the wire-panel is open. This would show the following wires, which you can either wirecut/mend or send a multitool pulse through. There are 9 wires. +* one wire from the ID scanner. Sending a pulse through this flashes the red light on the door (if the door has power). If you cut this wire, the door will stop recognizing valid IDs. (If the door has 0000 access, it still opens and closes, though) +* two wires for power. Sending a pulse through either one causes a breaker to trip, disabling the door for 10 seconds if backup power is connected, or 1 minute if not (or until backup power comes back on, whichever is shorter). Cutting either one disables the main door power, but unless backup power is also cut, the backup power re-powers the door in 10 seconds. While unpowered, the door may be open, but bolts-raising will not work. Cutting these wires may electrocute the user. +* one wire for door bolts. Sending a pulse through this drops door bolts (whether the door is powered or not) or raises them (if it is). Cutting this wire also drops the door bolts, and mending it does not raise them. If the wire is cut, trying to raise the door bolts will not work. +* two wires for backup power. Sending a pulse through either one causes a breaker to trip, but this does not disable it unless main power is down too (in which case it is disabled for 1 minute or however long it takes main power to come back, whichever is shorter). Cutting either one disables the backup door power (allowing it to be crowbarred open, but disabling bolts-raising), but may electocute the user. +* one wire for opening the door. Sending a pulse through this while the door has power makes it open the door if no access is required. +* one wire for AI control. Sending a pulse through this blocks AI control for a second or so (which is enough to see the AI control light on the panel dialog go off and back on again). Cutting this prevents the AI from controlling the door unless it has hacked the door through the power connection (which takes about a minute). If both main and backup power are cut, as well as this wire, then the AI cannot operate or hack the door at all. +* one wire for electrifying the door. Sending a pulse through this electrifies the door for 30 seconds. Cutting this wire electrifies the door, so that the next person to touch the door without insulated gloves gets electrocuted. (Currently it is also STAYING electrified until someone mends the wire) +* one wire for controling door safetys. When active, door does not close on someone. When cut, door will ruin someone's shit. When pulsed, door will immedately ruin someone's shit. +* one wire for controlling door speed. When active, dor closes at normal rate. When cut, door does not close manually. When pulsed, door attempts to close every tick. +*/ + + + +/obj/machinery/door/airlock/bumpopen(mob/living/user as mob) //Airlocks now zap you when you 'bump' them open when they're electrified. --NeoFite + if(!issilicon(usr)) + if(src.isElectrified()) + if(!src.justzap) + if(src.shock(user, 100)) + src.justzap = 1 + spawn (10) + src.justzap = 0 + return + else /*if(src.justzap)*/ + return + else if(user.hallucination > 50 && prob(10) && src.operating == 0) + to_chat(user, "You feel a powerful shock course through your body!") + user.halloss += 10 + user.stunned += 10 + return + ..(user) + +/obj/machinery/door/airlock/proc/isElectrified() + if(src.electrified_until != 0) + return 1 + return 0 + +/obj/machinery/door/airlock/proc/canAIControl() + return ((src.aiControlDisabled!=1) && (!src.isAllPowerLoss())); + +/obj/machinery/door/airlock/proc/canAIHack() + return ((src.aiControlDisabled==1) && (!hackProof) && (!src.isAllPowerLoss())); + +/obj/machinery/door/airlock/proc/arePowerSystemsOn() + if (stat & (NOPOWER|BROKEN)) + return 0 + return (src.main_power_lost_until==0 || src.backup_power_lost_until==0) + +/obj/machinery/door/airlock/requiresID() + return !(wires.is_cut(WIRE_IDSCAN) || aiDisabledIdScanner) + +/obj/machinery/door/airlock/proc/isAllPowerLoss() + if(stat & (NOPOWER|BROKEN)) + return 1 + if(mainPowerCablesCut() && backupPowerCablesCut()) + return 1 + return 0 + +/obj/machinery/door/airlock/proc/mainPowerCablesCut() + return wires.is_cut(WIRE_MAIN_POWER1) || wires.is_cut(WIRE_MAIN_POWER2) + +/obj/machinery/door/airlock/proc/backupPowerCablesCut() + return wires.is_cut(WIRE_BACKUP_POWER1) || wires.is_cut(WIRE_BACKUP_POWER2) + +/obj/machinery/door/airlock/proc/loseMainPower() + main_power_lost_until = mainPowerCablesCut() ? -1 : world.time + SecondsToTicks(60) + + // If backup power is permanently disabled then activate in 10 seconds if possible, otherwise it's already enabled or a timer is already running + if(backup_power_lost_until == -1 && !backupPowerCablesCut()) + backup_power_lost_until = world.time + SecondsToTicks(10) + + if(main_power_lost_until > 0 || backup_power_lost_until > 0) + START_MACHINE_PROCESSING(src) + + // Disable electricity if required + if(electrified_until && isAllPowerLoss()) + electrify(0) + + update_icon() + +/obj/machinery/door/airlock/proc/loseBackupPower() + backup_power_lost_until = backupPowerCablesCut() ? -1 : world.time + SecondsToTicks(60) + + if(backup_power_lost_until > 0) + START_MACHINE_PROCESSING(src) + + // Disable electricity if required + if(electrified_until && isAllPowerLoss()) + electrify(0) + + update_icon() + +/obj/machinery/door/airlock/proc/regainMainPower() + if(!mainPowerCablesCut()) + main_power_lost_until = 0 + // If backup power is currently active then disable, otherwise let it count down and disable itself later + if(!backup_power_lost_until) + backup_power_lost_until = -1 + + update_icon() + +/obj/machinery/door/airlock/proc/regainBackupPower() + if(!backupPowerCablesCut()) + // Restore backup power only if main power is offline, otherwise permanently disable + backup_power_lost_until = main_power_lost_until == 0 ? -1 : 0 + + update_icon() + +/obj/machinery/door/airlock/proc/electrify(var/duration, var/feedback = 0) + var/message = "" + if(wires.is_cut(WIRE_ELECTRIFY) && arePowerSystemsOn()) + message = text("The electrification wire is cut - Door permanently electrified.") + src.electrified_until = -1 + else if(duration && !arePowerSystemsOn()) + message = text("The door is unpowered - Cannot electrify the door.") + src.electrified_until = 0 + else if(!duration && electrified_until != 0) + message = "The door is now un-electrified." + src.electrified_until = 0 + else if(duration) //electrify door for the given duration seconds + if(usr) + shockedby += text("\[[time_stamp()]\] - [usr](ckey:[usr.ckey])") + add_attack_logs(usr,name,"Electrified a door") + else + shockedby += text("\[[time_stamp()]\] - EMP)") + message = "The door is now electrified [duration == -1 ? "permanently" : "for [duration] second\s"]." + src.electrified_until = duration == -1 ? -1 : world.time + SecondsToTicks(duration) + + if(electrified_until > 0) + START_MACHINE_PROCESSING(src) + + if(feedback && message) + to_chat(usr,message) + +/obj/machinery/door/airlock/proc/set_idscan(var/activate, var/feedback = 0) + var/message = "" + if(wires.is_cut(WIRE_IDSCAN)) + message = "The IdScan wire is cut - IdScan feature permanently disabled." + else if(activate && src.aiDisabledIdScanner) + src.aiDisabledIdScanner = 0 + message = "IdScan feature has been enabled." + else if(!activate && !src.aiDisabledIdScanner) + src.aiDisabledIdScanner = 1 + message = "IdScan feature has been disabled." + + if(feedback && message) + to_chat(usr,message) + +/obj/machinery/door/airlock/proc/set_safeties(var/activate, var/feedback = 0) + var/message = "" + // Safeties! We don't need no stinking safeties! + if (wires.is_cut(WIRE_SAFETY)) + message = text("The safety wire is cut - Cannot enable safeties.") + else if (!activate && src.safe) + safe = 0 + else if (activate && !src.safe) + safe = 1 + + if(feedback && message) + to_chat(usr,message) + +// shock user with probability prb (if all connections & power are working) +// returns 1 if shocked, 0 otherwise +// The preceding comment was borrowed from the grille's shock script +/obj/machinery/door/airlock/shock(mob/user, prb) + if(!arePowerSystemsOn()) + return 0 + if(hasShocked) + return 0 //Already shocked someone recently? + if(..()) + hasShocked = 1 + sleep(10) + hasShocked = 0 + return 1 + else + return 0 + + +/obj/machinery/door/airlock/update_icon() + cut_overlays() + if(density) + if(locked && lights && src.arePowerSystemsOn()) + icon_state = "door_locked" + else + icon_state = "door_closed" + if(p_open || welded) + if(p_open) + add_overlay("panel_open") + if (!(stat & NOPOWER)) + if(stat & BROKEN) + add_overlay("sparks_broken") + else if (health < maxhealth * 3/4) + add_overlay("sparks_damaged") + if(welded) + add_overlay("welded") + else if (health < maxhealth * 3/4 && !(stat & NOPOWER)) + add_overlay("sparks_damaged") + else + icon_state = "door_open" + if((stat & BROKEN) && !(stat & NOPOWER)) + add_overlay("sparks_open") + return + +/obj/machinery/door/airlock/do_animate(animation) + switch(animation) + if("opening") + cut_overlay() + if(p_open) + spawn(2) // The only work around that works. Downside is that the door will be gone for a millisecond. + flick("o_door_opening", src) //can not use flick due to BYOND bug updating overlays right before flicking + update_icon() + else + flick("door_opening", src)//[stat ? "_stat":] + update_icon() + if("closing") + cut_overlay() + if(p_open) + spawn(2) + flick("o_door_closing", src) + update_icon() + else + flick("door_closing", src) + update_icon() + if("spark") + if(density) + flick("door_spark", src) + if("deny") + if(density && src.arePowerSystemsOn()) + flick("door_deny", src) + playsound(src, denied_sound, 50, 0, 3) + return + +/obj/machinery/door/airlock/attack_ai(mob/user as mob) + tgui_interact(user) + +/obj/machinery/door/airlock/attack_ghost(mob/user) + tgui_interact(user) + +/obj/machinery/door/airlock/tgui_interact(mob/user, datum/tgui/ui, datum/tgui/parent_ui, datum/tgui_state/custom_state) + ui = SStgui.try_update_ui(user, src, ui) + if(!ui) + ui = new(user, src, "AiAirlock", name) + ui.open() + if(custom_state) + ui.set_state(custom_state) + return TRUE + +/obj/machinery/door/airlock/tgui_data(mob/user) + var/list/data = list() + + var/list/power = list() + power["main"] = main_power_lost_until > 0 ? 0 : 2 + power["main_timeleft"] = round(main_power_lost_until > 0 ? max(main_power_lost_until - world.time, 0) / 10 : main_power_lost_until, 1) + power["backup"] = backup_power_lost_until > 0 ? 0 : 2 + power["backup_timeleft"] = round(backup_power_lost_until > 0 ? max(backup_power_lost_until - world.time, 0) / 10 : backup_power_lost_until, 1) + data["power"] = power + + data["shock"] = (electrified_until == 0) ? 2 : 0 + data["shock_timeleft"] = round(electrified_until > 0 ? max(electrified_until - world.time, 0) / 10 : electrified_until, 1) + data["id_scanner"] = !aiDisabledIdScanner + data["locked"] = locked // bolted + data["lights"] = lights // bolt lights + data["safe"] = safe // safeties + data["speed"] = normalspeed // safe speed + data["welded"] = welded // welded + data["opened"] = !density // opened + + var/list/wire = list() + wire["main_1"] = !wires.is_cut(WIRE_MAIN_POWER1) + wire["main_2"] = !wires.is_cut(WIRE_MAIN_POWER2) + wire["backup_1"] = !wires.is_cut(WIRE_BACKUP_POWER1) + wire["backup_2"] = !wires.is_cut(WIRE_BACKUP_POWER2) + wire["shock"] = !wires.is_cut(WIRE_ELECTRIFY) + wire["id_scanner"] = !wires.is_cut(WIRE_IDSCAN) + wire["bolts"] = !wires.is_cut(WIRE_DOOR_BOLTS) + wire["lights"] = !wires.is_cut(WIRE_BOLT_LIGHT) + wire["safe"] = !wires.is_cut(WIRE_SAFETY) + wire["timing"] = !wires.is_cut(WIRE_SPEED) + + data["wires"] = wire + return data + +/obj/machinery/door/airlock/proc/hack(mob/user as mob) + if(src.aiHacking==0) + src.aiHacking=1 + spawn(20) + //TODO: Make this take a minute + to_chat(user, "Airlock AI control has been blocked. Beginning fault-detection.") + sleep(50) + if(src.canAIControl()) + to_chat(user, "Alert cancelled. Airlock control has been restored without our assistance.") + src.aiHacking=0 + return + else if(!src.canAIHack(user)) + to_chat(user, "We've lost our connection! Unable to hack airlock.") + src.aiHacking=0 + return + to_chat(user, "Fault confirmed: airlock control wire disabled or cut.") + sleep(20) + to_chat(user, "Attempting to hack into airlock. This may take some time.") + sleep(200) + if(src.canAIControl()) + to_chat(user, "Alert cancelled. Airlock control has been restored without our assistance.") + src.aiHacking=0 + return + else if(!src.canAIHack(user)) + to_chat(user, "We've lost our connection! Unable to hack airlock.") + src.aiHacking=0 + return + to_chat(user, "Upload access confirmed. Loading control program into airlock software.") + sleep(170) + if(src.canAIControl()) + to_chat(user, "Alert cancelled. Airlock control has been restored without our assistance.") + src.aiHacking=0 + return + else if(!src.canAIHack(user)) + to_chat(user, "We've lost our connection! Unable to hack airlock.") + src.aiHacking=0 + return + to_chat(user, "Transfer complete. Forcing airlock to execute program.") + sleep(50) + //disable blocked control + src.aiControlDisabled = 2 + to_chat(user, "Receiving control information from airlock.") + sleep(10) + //bring up airlock dialog + src.aiHacking = 0 + if (user) + src.attack_ai(user) + +/obj/machinery/door/airlock/CanPass(atom/movable/mover, turf/target) + if (src.isElectrified()) + if (istype(mover, /obj/item)) + var/obj/item/i = mover + if (i.matter && (DEFAULT_WALL_MATERIAL in i.matter) && i.matter[DEFAULT_WALL_MATERIAL] > 0) + var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread + s.set_up(5, 1, src) + s.start() + return ..() + +/obj/machinery/door/airlock/attack_hand(mob/user as mob) + if(!istype(usr, /mob/living/silicon)) + if(src.isElectrified()) + if(src.shock(user, 100)) + return + + if(istype(user, /mob/living/carbon/human)) + var/mob/living/carbon/human/X = user + if(istype(X.species, /datum/species/xenos)) + src.attack_alien(user) + return + + if(src.p_open) + user.set_machine(src) + wires.Interact(user) + else + ..(user) + return + +/obj/machinery/door/airlock/tgui_act(action, params) + if(..()) + return TRUE + if(!user_allowed(usr)) + return TRUE + + switch(action) + if("disrupt-main") + if(!main_power_lost_until) + loseMainPower() + update_icon() + else + to_chat(usr, "Main power is already offline.") + . = TRUE + if("disrupt-backup") + if(!backup_power_lost_until) + loseBackupPower() + update_icon() + else + to_chat(usr, "Backup power is already offline.") + . = TRUE + if("shock-restore") + electrify(0, 1) + . = TRUE + if("shock-temp") + electrify(30, 1) + . = TRUE + if("shock-perm") + electrify(-1, 1) + . = TRUE + if("idscan-toggle") + set_idscan(aiDisabledIdScanner, 1) + . = TRUE + // if("emergency-toggle") + // toggle_emergency(usr) + // . = TRUE + if("bolt-toggle") + toggle_bolt(usr) + . = TRUE + if("light-toggle") + if(wires.is_cut(WIRE_BOLT_LIGHT)) + to_chat(usr, "The bolt lights wire is cut - The door bolt lights are permanently disabled.") + return + lights = !lights + update_icon() + . = TRUE + if("safe-toggle") + set_safeties(!safe, 1) + . = TRUE + if("speed-toggle") + if(wires.is_cut(WIRE_SPEED)) + to_chat(usr, "The timing wire is cut - Cannot alter timing.") + return + normalspeed = !normalspeed + . = TRUE + if("open-close") + user_toggle_open(usr) + . = TRUE + + update_icon() + return 1 + +/obj/machinery/door/airlock/proc/user_allowed(mob/user) + var/allowed = (issilicon(user) && canAIControl(user)) + if(!allowed && isobserver(user)) + var/mob/observer/dead/D = user + if(D.can_admin_interact()) + allowed = TRUE + return allowed + +/obj/machinery/door/airlock/proc/toggle_bolt(mob/user) + if(!user_allowed(user)) + return + if(wires.is_cut(WIRE_DOOR_BOLTS)) + to_chat(user, "The door bolt drop wire is cut - you can't toggle the door bolts.") + return + if(locked) + if(!arePowerSystemsOn()) + to_chat(user, "The door has no power - you can't raise the door bolts.") + else + unlock() + to_chat(user, "The door bolts have been raised.") + // log_combat(user, src, "unbolted") + else + lock() + to_chat(user, "The door bolts have been dropped.") + // log_combat(user, src, "bolted") + +/obj/machinery/door/airlock/proc/user_toggle_open(mob/user) + if(!user_allowed(user)) + return + if(welded) + to_chat(user, text("The airlock has been welded shut!")) + else if(locked) + to_chat(user, text("The door bolts are down!")) + else if(!density) + close() + else + open() + +/obj/machinery/door/airlock/proc/can_remove_electronics() + return src.p_open && (operating < 0 || (!operating && welded && !src.arePowerSystemsOn() && density && (!src.locked || (stat & BROKEN)))) + +/obj/machinery/door/airlock/attackby(obj/item/C, mob/user as mob) + //to_world("airlock attackby src [src] obj [C] mob [user]") + if(!istype(usr, /mob/living/silicon)) + if(src.isElectrified()) + if(src.shock(user, 75)) + return + if(istype(C, /obj/item/taperoll)) + return + + src.add_fingerprint(user) + if (attempt_vr(src,"attackby_vr",list(C, user))) return + if(istype(C, /mob/living)) + ..() + return + if(!repairing && istype(C, /obj/item/weapon/weldingtool) && !( src.operating > 0 ) && src.density) + var/obj/item/weapon/weldingtool/W = C + if(W.remove_fuel(0,user)) + if(!src.welded) + src.welded = 1 + else + src.welded = null + playsound(src, C.usesound, 75, 1) + src.update_icon() + return + else + return + else if(C.is_screwdriver()) + if (src.p_open) + if (stat & BROKEN) + to_chat(usr, "The panel is broken and cannot be closed.") + else + src.p_open = 0 + playsound(src, C.usesound, 50, 1) + else + src.p_open = 1 + playsound(src, C.usesound, 50, 1) + src.update_icon() + else if(C.is_wirecutter()) + return src.attack_hand(user) + else if(istype(C, /obj/item/device/multitool)) + return src.attack_hand(user) + else if(istype(C, /obj/item/device/assembly/signaler)) + return src.attack_hand(user) + else if(istype(C, /obj/item/weapon/pai_cable)) // -- TLE + var/obj/item/weapon/pai_cable/cable = C + cable.plugin(src, user) + else if(!repairing && C.is_crowbar()) + if(can_remove_electronics()) + playsound(src, C.usesound, 75, 1) + user.visible_message("[user] removes the electronics from the airlock assembly.", "You start to remove electronics from the airlock assembly.") + if(do_after(user,40 * C.toolspeed)) + to_chat(user, "You removed the airlock electronics!") + + var/obj/structure/door_assembly/da = new assembly_type(src.loc) + if (istype(da, /obj/structure/door_assembly/multi_tile)) + da.set_dir(src.dir) + + da.anchored = 1 + if(mineral) + da.glass = mineral + //else if(glass) + else if(glass && !da.glass) + da.glass = 1 + da.state = 1 + da.created_name = src.name + da.update_state() + + if(operating == -1 || (stat & BROKEN)) + new /obj/item/weapon/circuitboard/broken(src.loc) + operating = 0 + else + if (!electronics) create_electronics() + + electronics.loc = src.loc + electronics = null + + qdel(src) + return + else if(arePowerSystemsOn()) + to_chat(user, "The airlock's motors resist your efforts to force it.") + else if(locked) + to_chat(user, "The airlock's bolts prevent it from being forced.") + else + if(density) + spawn(0) open(1) + else + spawn(0) close(1) + + // Check if we're using a crowbar or armblade, and if the airlock's unpowered for whatever reason (off, broken, etc). + else if(istype(C, /obj/item/weapon)) + var/obj/item/weapon/W = C + if((W.pry == 1) && !arePowerSystemsOn()) + if(locked) + to_chat(user, "The airlock's bolts prevent it from being forced.") + else if( !welded && !operating ) + if(istype(C, /obj/item/weapon/material/twohanded/fireaxe)) // If this is a fireaxe, make sure it's held in two hands. + var/obj/item/weapon/material/twohanded/fireaxe/F = C + if(!F.wielded) + to_chat(user, "You need to be wielding \the [F] to do that.") + return + // At this point, it's an armblade or a fireaxe that passed the wielded test, let's try to open it. + if(density) + spawn(0) + open(1) + else + spawn(0) + close(1) + else + ..() + else + ..() + return + +/obj/machinery/door/airlock/phoron/attackby(C as obj, mob/user as mob) + if(C) + ignite(is_hot(C)) + ..() + +/obj/machinery/door/airlock/set_broken() + src.p_open = 1 + stat |= BROKEN + if (secured_wires) + lock() + for (var/mob/O in viewers(src, null)) + if ((O.client && !( O.blinded ))) + O.show_message("[src.name]'s control panel bursts open, sparks spewing out!") + + var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread + s.set_up(5, 1, src) + s.start() + + update_icon() + return + +/obj/machinery/door/airlock/open(var/forced=0) + if(!can_open(forced)) + return 0 + use_power(360) //360 W seems much more appropriate for an actuator moving an industrial door capable of crushing people + + //if the door is unpowered then it doesn't make sense to hear the woosh of a pneumatic actuator + for(var/P in player_list) + var/mob/M = P + if(!M || !M.client) + continue + var/old_sounds = M.client.is_preference_enabled(/datum/client_preference/old_door_sounds) + var/department_door_sounds = M.client.is_preference_enabled(/datum/client_preference/department_door_sounds) + var/sound + var/volume + if(old_sounds) // Do we have old sounds enabled? Play these even if we have department door sounds enabled. + if(arePowerSystemsOn()) + sound = legacy_open_powered + volume = 50 + else + sound = open_sound_unpowered + volume = 75 + else if(!old_sounds && department_door_sounds && src.department_open_powered) // Else, we have old sounds disabled, the door has per-department door sounds, and we have chosen to play department door sounds, use these. + if(arePowerSystemsOn()) + sound = department_open_powered + volume = 50 + else + sound = open_sound_unpowered + volume = 75 + else // Else, play these. + if(arePowerSystemsOn()) + sound = open_sound_powered + volume = 50 + else + sound = open_sound_unpowered + volume = 75 + + var/turf/T = get_turf(M) + var/distance = get_dist(T, get_turf(src)) + if(distance <= world.view * 2) + if(T && T.z == get_z(src)) + M.playsound_local(get_turf(src), sound, volume, 1, null, 0, TRUE, sound(sound), volume_channel = VOLUME_CHANNEL_DOORS) + + if(src.closeOther != null && istype(src.closeOther, /obj/machinery/door/airlock/) && !src.closeOther.density) + src.closeOther.close() + return ..() + +/obj/machinery/door/airlock/can_open(var/forced=0) + if(!forced) + if(!arePowerSystemsOn() || wires.is_cut(WIRE_OPEN_DOOR)) + return 0 + + if(locked || welded) + return 0 + return ..() + +/obj/machinery/door/airlock/can_close(var/forced=0) + if(locked || welded) + return 0 + + if(!forced) + //despite the name, this wire is for general door control. + if(!arePowerSystemsOn() || wires.is_cut(WIRE_OPEN_DOOR)) + return 0 + + return ..() + +/atom/movable/proc/blocks_airlock() + return density + +/obj/machinery/door/blocks_airlock() + return 0 + +/obj/machinery/mech_sensor/blocks_airlock() + return 0 + +/mob/living/blocks_airlock() + return 1 + +/atom/movable/proc/airlock_crush(var/crush_damage) + return 0 + +/obj/machinery/portable_atmospherics/canister/airlock_crush(var/crush_damage) + . = ..() + health -= crush_damage + healthcheck() + +/obj/effect/energy_field/airlock_crush(var/crush_damage) + adjust_strength(crush_damage) + +/obj/structure/closet/airlock_crush(var/crush_damage) + ..() + damage(crush_damage) + for(var/atom/movable/AM in src) + AM.airlock_crush() + return 1 + +/mob/living/airlock_crush(var/crush_damage) + . = ..() + adjustBruteLoss(crush_damage) + SetStunned(5) + SetWeakened(5) + var/turf/T = get_turf(src) + T.add_blood(src) + return 1 + +/mob/living/carbon/airlock_crush(var/crush_damage) + . = ..() + if(can_feel_pain()) + emote("scream") + +/mob/living/silicon/robot/airlock_crush(var/crush_damage) + adjustBruteLoss(crush_damage) + return 0 + +/obj/machinery/door/airlock/close(var/forced=0) + if(!can_close(forced)) + return 0 + + if(safe) + for(var/turf/turf in locs) + for(var/atom/movable/AM in turf) + if(AM.blocks_airlock()) + if(!has_beeped) + playsound(src, 'sound/machines/buzz-two.ogg', 50, 0) + has_beeped = 1 + autoclose_in(6) + return + + for(var/turf/turf in locs) + for(var/atom/movable/AM in turf) + if(AM.airlock_crush(DOOR_CRUSH_DAMAGE)) + take_damage(DOOR_CRUSH_DAMAGE) + + use_power(360) //360 W seems much more appropriate for an actuator moving an industrial door capable of crushing people + has_beeped = 0 + for(var/P in player_list) + var/mob/M = P + if(!M || !M.client) + continue + var/old_sounds = M.client.is_preference_enabled(/datum/client_preference/old_door_sounds) + var/department_door_sounds = M.client.is_preference_enabled(/datum/client_preference/department_door_sounds) + var/sound + var/volume + if(old_sounds) + if(arePowerSystemsOn()) + sound = legacy_close_powered + volume = 50 + else + sound = open_sound_unpowered + volume = 75 + else if(!old_sounds && department_door_sounds && src.department_close_powered) // Else, we have old sounds disabled, the door has per-department door sounds, and we have chosen to play department door sounds, use these. + if(arePowerSystemsOn()) + sound = department_close_powered + volume = 50 + else + sound = open_sound_unpowered + volume = 75 + else + if(arePowerSystemsOn()) + sound = close_sound_powered + volume = 50 + else + sound = open_sound_unpowered + volume = 75 + + var/turf/T = get_turf(M) + var/distance = get_dist(T, get_turf(src)) + if(distance <= world.view * 2) + if(T && T.z == get_z(src)) + M.playsound_local(get_turf(src), sound, volume, 1, null, 0, TRUE, sound(sound), volume_channel = VOLUME_CHANNEL_DOORS) + for(var/turf/turf in locs) + var/obj/structure/window/killthis = (locate(/obj/structure/window) in turf) + if(killthis) + killthis.ex_act(2)//Smashin windows + return ..() + +/obj/machinery/door/airlock/proc/lock(var/forced=0) + if(locked) + return 0 + + if (operating && !forced) return 0 + + src.locked = 1 + playsound(src, bolt_down_sound, 30, 0, 3, volume_channel = VOLUME_CHANNEL_DOORS) + for(var/mob/M in range(1,src)) + M.show_message("You hear a click from the bottom of the door.", 2) + update_icon() + return 1 + +/obj/machinery/door/airlock/proc/unlock(var/forced=0) + if(!src.locked) + return + + if (!forced) + if(operating || !src.arePowerSystemsOn() || wires.is_cut(WIRE_DOOR_BOLTS)) return + + src.locked = 0 + playsound(src, bolt_up_sound, 30, 0, 3, volume_channel = VOLUME_CHANNEL_DOORS) + for(var/mob/M in range(1,src)) + M.show_message("You hear a click from the bottom of the door.", 2) + update_icon() + return 1 + +/obj/machinery/door/airlock/allowed(mob/M) + if(locked) + return 0 + return ..(M) + +/obj/machinery/door/airlock/New(var/newloc, var/obj/structure/door_assembly/assembly=null) + ..() + + //if assembly is given, create the new door from the assembly + if (assembly && istype(assembly)) + assembly_type = assembly.type + + electronics = assembly.electronics + electronics.loc = src + + //update the door's access to match the electronics' + secured_wires = electronics.secure + if(electronics.one_access) + LAZYCLEARLIST(req_access) + req_one_access = src.electronics.conf_access + else + LAZYCLEARLIST(req_one_access) + req_access = src.electronics.conf_access + + //get the name from the assembly + if(assembly.created_name) + name = assembly.created_name + else + name = "[istext(assembly.glass) ? "[assembly.glass] airlock" : assembly.base_name]" + + //get the dir from the assembly + set_dir(assembly.dir) + + //wires + var/turf/T = get_turf(newloc) + if(T && (T.z in using_map.admin_levels)) + secured_wires = 1 + if (secured_wires) + wires = new/datum/wires/airlock/secure(src) + else + wires = new/datum/wires/airlock(src) + +/obj/machinery/door/airlock/Initialize() + if(src.closeOtherId != null) + for (var/obj/machinery/door/airlock/A in machines) + if(A.closeOtherId == src.closeOtherId && A != src) + src.closeOther = A + break + name = "\improper [name]" + . = ..() + +/obj/machinery/door/airlock/Destroy() + qdel(wires) + wires = null + return ..() + +// Most doors will never be deconstructed over the course of a round, +// so as an optimization defer the creation of electronics until +// the airlock is deconstructed +/obj/machinery/door/airlock/proc/create_electronics() + //create new electronics + if (secured_wires) + src.electronics = new/obj/item/weapon/airlock_electronics/secure( src.loc ) + else + src.electronics = new/obj/item/weapon/airlock_electronics( src.loc ) + + //update the electronics to match the door's access + if(LAZYLEN(req_access)) + electronics.conf_access = req_access + else if (LAZYLEN(req_one_access)) + electronics.conf_access = req_one_access + electronics.one_access = 1 + +/obj/machinery/door/airlock/emp_act(var/severity) + if(prob(40/severity)) + var/duration = world.time + SecondsToTicks(30 / severity) + if(duration > electrified_until) + electrify(duration) + ..() + +/obj/machinery/door/airlock/power_change() //putting this is obj/machinery/door itself makes non-airlock doors turn invisible for some reason + ..() + if(stat & NOPOWER) + // If we lost power, disable electrification + // Keeping door lights on, runs on internal battery or something. + electrified_until = 0 + update_icon() + +/obj/machinery/door/airlock/proc/prison_open() + if(arePowerSystemsOn()) + src.unlock() + src.open() + src.lock() + return + + +/obj/machinery/door/airlock/rcd_values(mob/living/user, obj/item/weapon/rcd/the_rcd, passed_mode) + switch(passed_mode) + if(RCD_DECONSTRUCT) + // Old RCD code made it cost 10 units to decon an airlock. + // Now the new one costs ten "sheets". + return list( + RCD_VALUE_MODE = RCD_DECONSTRUCT, + RCD_VALUE_DELAY = 5 SECONDS, + RCD_VALUE_COST = RCD_SHEETS_PER_MATTER_UNIT * 10 + ) + return FALSE + +/obj/machinery/door/airlock/rcd_act(mob/living/user, obj/item/weapon/rcd/the_rcd, passed_mode) + switch(passed_mode) + if(RCD_DECONSTRUCT) + to_chat(user, span("notice", "You deconstruct \the [src].")) + qdel(src) + return TRUE + return FALSE +======= +//VOREStation Edit - Redone a lot of airlock things: +/* +- Specific department maintenance doors +- Named doors properly according to type +- Gave them default access levels with the access constants +- Improper'd all of the names in the new() +*/ + +/obj/machinery/door/airlock + name = "Airlock" + icon = 'icons/obj/doors/Doorint.dmi' + icon_state = "door_closed" + power_channel = ENVIRON + + explosion_resistance = 10 + + // Doors do their own stuff + bullet_vulnerability = 0 + + blocks_emissive = EMISSIVE_BLOCK_GENERIC // Not quite as nice as /tg/'s custom masks. We should make those sometime + + var/aiControlDisabled = 0 //If 1, AI control is disabled until the AI hacks back in and disables the lock. If 2, the AI has bypassed the lock. If -1, the control is enabled but the AI had bypassed it earlier, so if it is disabled again the AI would have no trouble getting back in. + var/hackProof = 0 // if 1, this door can't be hacked by the AI + var/electrified_until = 0 //World time when the door is no longer electrified. -1 if it is permanently electrified until someone fixes it. + var/main_power_lost_until = 0 //World time when main power is restored. + var/backup_power_lost_until = -1 //World time when backup power is restored. + var/has_beeped = 0 //If 1, will not beep on failed closing attempt. Resets when door closes. + var/spawnPowerRestoreRunning = 0 + var/welded = null + var/locked = 0 + var/lights = 1 // bolt lights show by default + var/aiDisabledIdScanner = 0 + var/aiHacking = 0 + var/obj/machinery/door/airlock/closeOther = null + var/closeOtherId = null + var/lockdownbyai = 0 + autoclose = 1 + var/assembly_type = /obj/structure/door_assembly + var/mineral = null + var/justzap = 0 + var/safe = 1 + normalspeed = 1 + var/obj/item/weapon/airlock_electronics/electronics = null + var/hasShocked = 0 //Prevents multiple shocks from happening + var/secured_wires = 0 + var/datum/wires/airlock/wires = null + + var/open_sound_powered = 'sound/machines/door/covert1o.ogg' + var/open_sound_unpowered = 'sound/machines/door/airlockforced.ogg' + var/close_sound_powered = 'sound/machines/door/covert1c.ogg' + var/legacy_open_powered = 'sound/machines/door/old_airlock.ogg' + var/legacy_close_powered = 'sound/machines/door/old_airlockclose.ogg' + var/department_open_powered = null + var/department_close_powered = null + var/denied_sound = 'sound/machines/deniedbeep.ogg' + var/bolt_up_sound = 'sound/machines/door/boltsup.ogg' + var/bolt_down_sound = 'sound/machines/door/boltsdown.ogg' + +/obj/machinery/door/airlock/attack_generic(var/mob/living/user, var/damage) + if(stat & (BROKEN|NOPOWER)) + if(damage >= STRUCTURE_MIN_DAMAGE_THRESHOLD) + if(src.locked || src.welded) + visible_message("\The [user] begins breaking into \the [src] internals!") + user.set_AI_busy(TRUE) // If the mob doesn't have an AI attached, this won't do anything. + if(do_after(user,10 SECONDS,src)) + src.locked = 0 + src.welded = 0 + update_icon() + open(1) + if(prob(25)) + src.shock(user, 100) + user.set_AI_busy(FALSE) + else if(src.density) + visible_message("\The [user] forces \the [src] open!") + open(1) + else + visible_message("\The [user] forces \the [src] closed!") + close(1) + else + visible_message("\The [user] strains fruitlessly to force \the [src] [density ? "open" : "closed"].") + return + ..() + +/obj/machinery/door/airlock/attack_alien(var/mob/user) //Familiar, right? Doors. -Mechoid + if(istype(user, /mob/living/carbon/human)) + var/mob/living/carbon/human/X = user + if(istype(X.species, /datum/species/xenos)) + if(src.locked || src.welded) + visible_message("\The [user] begins digging into \the [src] internals!") + src.do_animate("deny") + if(do_after(user,5 SECONDS,src)) + visible_message("\The [user] forces \the [src] open, sparks flying from its electronics!") + src.do_animate("spark") + playsound(src, 'sound/machines/door/airlock_creaking.ogg', 100, 1, volume_channel = VOLUME_CHANNEL_DOORS) + src.locked = 0 + src.welded = 0 + update_icon() + open(1) + src.emag_act() + else if(src.density) + visible_message("\The [user] begins forcing \the [src] open!") + if(do_after(user, 5 SECONDS,src)) + playsound(src, 'sound/machines/door/airlock_creaking.ogg', 100, 1, volume_channel = VOLUME_CHANNEL_DOORS) + visible_message("\The [user] forces \the [src] open!") + open(1) + else + visible_message("\The [user] forces \the [src] closed!") + close(1) + else + src.do_animate("deny") + visible_message("\The [user] strains fruitlessly to force \the [src] [density ? "open" : "closed"].") + return + ..() + +/obj/machinery/door/airlock/get_material() + if(mineral) + return get_material_by_name(mineral) + return get_material_by_name(MAT_STEEL) + +/obj/machinery/door/airlock/command + name = "Command Airlock" + icon = 'icons/obj/doors/Doorcom.dmi' + req_one_access = list(access_heads) + assembly_type = /obj/structure/door_assembly/door_assembly_com + open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + department_open_powered = 'sound/machines/door/cmd3o.ogg' + department_close_powered = 'sound/machines/door/cmd3c.ogg' + +/obj/machinery/door/airlock/security + name = "Security Airlock" + icon = 'icons/obj/doors/Doorsec.dmi' + req_one_access = list(access_security) + assembly_type = /obj/structure/door_assembly/door_assembly_sec + open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + department_open_powered = 'sound/machines/door/sec1o.ogg' + department_close_powered = 'sound/machines/door/sec1c.ogg' + +/obj/machinery/door/airlock/engineering + name = "Engineering Airlock" + icon = 'icons/obj/doors/Dooreng.dmi' + req_one_access = list(access_engine) + assembly_type = /obj/structure/door_assembly/door_assembly_eng + open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + department_open_powered = 'sound/machines/door/eng1o.ogg' + department_close_powered = 'sound/machines/door/eng1c.ogg' + +/obj/machinery/door/airlock/engineeringatmos + name = "Atmospherics Airlock" + icon = 'icons/obj/doors/Doorengatmos.dmi' + req_one_access = list(access_atmospherics) + assembly_type = /obj/structure/door_assembly/door_assembly_eat + open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + department_open_powered = 'sound/machines/door/eng1o.ogg' + department_close_powered = 'sound/machines/door/eng1c.ogg' + +/obj/machinery/door/airlock/medical + name = "Medical Airlock" + icon = 'icons/obj/doors/Doormed.dmi' + req_one_access = list(access_medical) + assembly_type = /obj/structure/door_assembly/door_assembly_med + open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + department_open_powered = 'sound/machines/door/med1o.ogg' + department_close_powered = 'sound/machines/door/med1c.ogg' + +/obj/machinery/door/airlock/maintenance + name = "Maintenance Access" + icon = 'icons/obj/doors/Doormaint.dmi' + //req_one_access = list(access_maint_tunnels) //VOREStation Edit - Maintenance is open access + assembly_type = /obj/structure/door_assembly/door_assembly_mai + open_sound_powered = 'sound/machines/door/door2o.ogg' + close_sound_powered = 'sound/machines/door/door2c.ogg' + +/obj/machinery/door/airlock/maintenance/cargo + icon = 'icons/obj/doors/Doormaint_cargo.dmi' + req_one_access = list(access_cargo) + open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + department_open_powered = 'sound/machines/door/door2o.ogg' + department_close_powered = 'sound/machines/door/door2c.ogg' + +/obj/machinery/door/airlock/maintenance/command + icon = 'icons/obj/doors/Doormaint_command.dmi' + req_one_access = list(access_heads) + +/obj/machinery/door/airlock/maintenance/common + icon = 'icons/obj/doors/Doormaint_common.dmi' + open_sound_powered = 'sound/machines/door/hall3o.ogg' + close_sound_powered = 'sound/machines/door/hall3c.ogg' + +/obj/machinery/door/airlock/maintenance/engi + icon = 'icons/obj/doors/Doormaint_engi.dmi' + req_one_access = list(access_engine) + +/obj/machinery/door/airlock/maintenance/int + icon = 'icons/obj/doors/Doormaint_int.dmi' + +/obj/machinery/door/airlock/maintenance/medical + icon = 'icons/obj/doors/Doormaint_med.dmi' + req_one_access = list(access_medical) + +/obj/machinery/door/airlock/maintenance/rnd + icon = 'icons/obj/doors/Doormaint_rnd.dmi' + req_one_access = list(access_research) + +/obj/machinery/door/airlock/maintenance/sec + icon = 'icons/obj/doors/Doormaint_sec.dmi' + req_one_access = list(access_security) + +/obj/machinery/door/airlock/external + name = "External Airlock" + icon = 'icons/obj/doors/Doorext.dmi' + assembly_type = /obj/structure/door_assembly/door_assembly_ext + open_sound_powered = 'sound/machines/door/space1o.ogg' + close_sound_powered = 'sound/machines/door/space1c.ogg' + +/obj/machinery/door/airlock/external/glass/bolted + icon_state = "door_locked" // So it looks visibly bolted in map editor + locked = 1 + +// For convenience in making docking ports: one that is pre-bolted with frequency set! +/obj/machinery/door/airlock/external/glass/bolted/cycling + frequency = 1379 + +/obj/machinery/door/airlock/glass_external + name = "External Airlock" + icon = 'icons/obj/doors/Doorextglass.dmi' + assembly_type = /obj/structure/door_assembly/door_assembly_ext + opacity = 0 + glass = 1 + req_one_access = list(access_external_airlocks) + open_sound_powered = 'sound/machines/door/space1o.ogg' + close_sound_powered = 'sound/machines/door/space1c.ogg' + +/obj/machinery/door/airlock/glass + name = "Glass Airlock" + icon = 'icons/obj/doors/Doorglass.dmi' + hitsound = 'sound/effects/Glasshit.ogg' + open_sound_powered = 'sound/machines/door/hall1o.ogg' + close_sound_powered = 'sound/machines/door/hall1c.ogg' + legacy_open_powered = 'sound/machines/door/windowdoor.ogg' + maxhealth = 300 + explosion_resistance = 5 + opacity = 0 + glass = 1 + +/obj/machinery/door/airlock/centcom + name = "Centcom Airlock" + icon = 'icons/obj/doors/Doorele.dmi' + req_one_access = list(access_cent_general) + opacity = 1 + open_sound_powered = 'sound/machines/door/cmd3o.ogg' + close_sound_powered = 'sound/machines/door/cmd3c.ogg' + +/obj/machinery/door/airlock/glass_centcom + name = "Airlock" + icon = 'icons/obj/doors/Dooreleglass.dmi' + opacity = 0 + glass = 1 + open_sound_powered = 'sound/machines/door/cmd3o.ogg' + close_sound_powered = 'sound/machines/door/cmd3c.ogg' + +/obj/machinery/door/airlock/vault + name = "Vault" + icon = 'icons/obj/doors/vault.dmi' + explosion_resistance = 20 + opacity = 1 + secured_wires = 1 + assembly_type = /obj/structure/door_assembly/door_assembly_highsecurity //Until somebody makes better sprites. + req_one_access = list(access_heads_vault) + open_sound_powered = 'sound/machines/door/vault1o.ogg' + close_sound_powered = 'sound/machines/door/vault1c.ogg' + +/obj/machinery/door/airlock/vault/bolted + icon_state = "door_locked" + locked = 1 + +/obj/machinery/door/airlock/freezer + name = "Freezer Airlock" + icon = 'icons/obj/doors/Doorfreezer.dmi' + opacity = 1 + assembly_type = /obj/structure/door_assembly/door_assembly_fre + +/obj/machinery/door/airlock/hatch + name = "Airtight Hatch" + icon = 'icons/obj/doors/Doorhatchele.dmi' + explosion_resistance = 20 + opacity = 1 + assembly_type = /obj/structure/door_assembly/door_assembly_hatch + req_one_access = list(access_maint_tunnels) + open_sound_powered = 'sound/machines/door/hatchopen.ogg' + close_sound_powered = 'sound/machines/door/hatchclose.ogg' + open_sound_unpowered = 'sound/machines/door/hatchforced.ogg' + +/obj/machinery/door/airlock/maintenance_hatch + name = "Maintenance Hatch" + icon = 'icons/obj/doors/Doorhatchmaint2.dmi' + explosion_resistance = 20 + opacity = 1 + assembly_type = /obj/structure/door_assembly/door_assembly_mhatch + req_one_access = list(access_maint_tunnels) + open_sound_powered = 'sound/machines/door/hatchopen.ogg' + close_sound_powered = 'sound/machines/door/hatchclose.ogg' + open_sound_unpowered = 'sound/machines/door/hatchforced.ogg' + +/obj/machinery/door/airlock/glass_command + name = "Command Airlock" + icon = 'icons/obj/doors/Doorcomglass.dmi' + hitsound = 'sound/effects/Glasshit.ogg' + maxhealth = 300 + explosion_resistance = 5 + opacity = 0 + assembly_type = /obj/structure/door_assembly/door_assembly_com + glass = 1 + req_one_access = list(access_heads) + open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + department_open_powered = 'sound/machines/door/cmd1o.ogg' + department_close_powered = 'sound/machines/door/cmd1c.ogg' + +/obj/machinery/door/airlock/glass_engineering + name = "Engineering Airlock" + icon = 'icons/obj/doors/Doorengglass.dmi' + hitsound = 'sound/effects/Glasshit.ogg' + maxhealth = 300 + explosion_resistance = 5 + opacity = 0 + assembly_type = /obj/structure/door_assembly/door_assembly_eng + glass = 1 + req_one_access = list(access_engine) + department_open_powered = 'sound/machines/door/eng1o.ogg' + department_close_powered = 'sound/machines/door/eng1c.ogg' + +/obj/machinery/door/airlock/glass_engineeringatmos + name = "Atmospherics Airlock" + icon = 'icons/obj/doors/Doorengatmoglass.dmi' + hitsound = 'sound/effects/Glasshit.ogg' + maxhealth = 300 + explosion_resistance = 5 + opacity = 0 + assembly_type = /obj/structure/door_assembly/door_assembly_eat + glass = 1 + req_one_access = list(access_atmospherics) + open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + department_open_powered = 'sound/machines/door/eng1o.ogg' + department_close_powered = 'sound/machines/door/eng1c.ogg' + +/obj/machinery/door/airlock/glass_security + name = "Security Airlock" + icon = 'icons/obj/doors/Doorsecglass.dmi' + hitsound = 'sound/effects/Glasshit.ogg' + maxhealth = 300 + explosion_resistance = 5 + opacity = 0 + assembly_type = /obj/structure/door_assembly/door_assembly_sec + glass = 1 + req_one_access = list(access_security) + open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + department_open_powered = 'sound/machines/door/sec1o.ogg' + department_close_powered = 'sound/machines/door/sec1c.ogg' + +/obj/machinery/door/airlock/glass_medical + name = "Medical Airlock" + icon = 'icons/obj/doors/Doormedglass.dmi' + hitsound = 'sound/effects/Glasshit.ogg' + maxhealth = 300 + explosion_resistance = 5 + opacity = 0 + assembly_type = /obj/structure/door_assembly/door_assembly_med + glass = 1 + req_one_access = list(access_medical) + open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + department_open_powered = 'sound/machines/door/med1o.ogg' + department_close_powered = 'sound/machines/door/med1c.ogg' + +/obj/machinery/door/airlock/mining + name = "Mining Airlock" + icon = 'icons/obj/doors/Doormining.dmi' + assembly_type = /obj/structure/door_assembly/door_assembly_min + req_one_access = list(access_mining) + open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + department_open_powered = 'sound/machines/door/cgo1o.ogg' + department_close_powered = 'sound/machines/door/cgo1c.ogg' + +/obj/machinery/door/airlock/atmos + name = "Atmospherics Airlock" + icon = 'icons/obj/doors/Dooratmo.dmi' + assembly_type = /obj/structure/door_assembly/door_assembly_atmo + req_one_access = list(access_atmospherics) + open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + department_open_powered = 'sound/machines/door/eng1o.ogg' + department_close_powered = 'sound/machines/door/eng1c.ogg' + +/obj/machinery/door/airlock/research + name = "Research Airlock" + icon = 'icons/obj/doors/Doorresearch.dmi' + assembly_type = /obj/structure/door_assembly/door_assembly_research + open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + department_open_powered = 'sound/machines/door/sci1o.ogg' + department_close_powered = 'sound/machines/door/sci1c.ogg' + +/obj/machinery/door/airlock/glass_research + name = "Research Airlock" + icon = 'icons/obj/doors/Doorresearchglass.dmi' + hitsound = 'sound/effects/Glasshit.ogg' + maxhealth = 300 + explosion_resistance = 5 + opacity = 0 + assembly_type = /obj/structure/door_assembly/door_assembly_research + glass = 1 + req_one_access = list(access_research) + open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + department_open_powered = 'sound/machines/door/sci1o.ogg' + department_close_powered = 'sound/machines/door/sci1c.ogg' + +/obj/machinery/door/airlock/glass_mining + name = "Mining Airlock" + icon = 'icons/obj/doors/Doorminingglass.dmi' + hitsound = 'sound/effects/Glasshit.ogg' + maxhealth = 300 + explosion_resistance = 5 + opacity = 0 + assembly_type = /obj/structure/door_assembly/door_assembly_min + glass = 1 + req_one_access = list(access_mining) + open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + department_open_powered = 'sound/machines/door/cgo1o.ogg' + department_close_powered = 'sound/machines/door/cgo1c.ogg' + +/obj/machinery/door/airlock/glass_atmos + name = "Atmospherics Airlock" + icon = 'icons/obj/doors/Dooratmoglass.dmi' + hitsound = 'sound/effects/Glasshit.ogg' + maxhealth = 300 + explosion_resistance = 5 + opacity = 0 + assembly_type = /obj/structure/door_assembly/door_assembly_atmo + glass = 1 + req_one_access = list(access_atmospherics) + open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + department_open_powered = 'sound/machines/door/eng1o.ogg' + department_close_powered = 'sound/machines/door/eng1c.ogg' + +/obj/machinery/door/airlock/gold + name = "Gold Airlock" + icon = 'icons/obj/doors/Doorgold.dmi' + mineral = "gold" + +/obj/machinery/door/airlock/silver + name = "Silver Airlock" + icon = 'icons/obj/doors/Doorsilver.dmi' + mineral = "silver" + +/obj/machinery/door/airlock/diamond + name = "Diamond Airlock" + icon = 'icons/obj/doors/Doordiamond.dmi' + mineral = "diamond" + +/obj/machinery/door/airlock/uranium + name = "Uranium Airlock" + desc = "And they said I was crazy." + icon = 'icons/obj/doors/Dooruranium.dmi' + mineral = "uranium" + var/last_event = 0 + var/rad_power = 7.5 + +/obj/machinery/door/airlock/process() + // Deliberate no call to parent. + if(main_power_lost_until > 0 && world.time >= main_power_lost_until) + regainMainPower() + + if(backup_power_lost_until > 0 && world.time >= backup_power_lost_until) + regainBackupPower() + + else if(electrified_until > 0 && world.time >= electrified_until) + electrify(0) + + if (..() == PROCESS_KILL && !(main_power_lost_until > 0 || backup_power_lost_until > 0 || electrified_until > 0)) + . = PROCESS_KILL + +/obj/machinery/door/airlock/uranium/process() + if(world.time > last_event+20) + if(prob(50)) + SSradiation.radiate(src, rad_power) + last_event = world.time + ..() + +/obj/machinery/door/airlock/phoron + name = "Phoron Airlock" + desc = "No way this can end badly." + icon = 'icons/obj/doors/Doorphoron.dmi' + mineral = "phoron" + +/obj/machinery/door/airlock/phoron/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume) + if(exposed_temperature > 300) + PhoronBurn(exposed_temperature) + +/obj/machinery/door/airlock/phoron/proc/ignite(exposed_temperature) + if(exposed_temperature > 300) + PhoronBurn(exposed_temperature) + +/obj/machinery/door/airlock/phoron/proc/PhoronBurn(temperature) + for(var/turf/simulated/floor/target_tile in range(2,loc)) + target_tile.assume_gas("phoron", 35, 400+T0C) + spawn (0) target_tile.hotspot_expose(temperature, 400) + for(var/turf/simulated/wall/W in range(3,src)) + W.burn((temperature/4))//Added so that you can't set off a massive chain reaction with a small flame + for(var/obj/machinery/door/airlock/phoron/D in range(3,src)) + D.ignite(temperature/4) + new/obj/structure/door_assembly( src.loc ) + qdel(src) + +/obj/machinery/door/airlock/sandstone + name = "Sandstone Airlock" + icon = 'icons/obj/doors/Doorsand.dmi' + mineral = "sandstone" + +/obj/machinery/door/airlock/science + name = "Research Airlock" + icon = 'icons/obj/doors/Doorsci.dmi' + assembly_type = /obj/structure/door_assembly/door_assembly_science + req_one_access = list(access_research) + open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + department_open_powered = 'sound/machines/door/sci1o.ogg' + department_close_powered = 'sound/machines/door/sci1c.ogg' + +/obj/machinery/door/airlock/glass_science + name = "Glass Airlocks" + icon = 'icons/obj/doors/Doorsciglass.dmi' + opacity = 0 + assembly_type = /obj/structure/door_assembly/door_assembly_science + glass = 1 + req_one_access = list(access_research) + open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. + department_open_powered = 'sound/machines/door/sci1o.ogg' + department_close_powered = 'sound/machines/door/sci1c.ogg' + +/obj/machinery/door/airlock/highsecurity + name = "Secure Airlock" + icon = 'icons/obj/doors/hightechsecurity.dmi' + explosion_resistance = 20 + secured_wires = 1 + assembly_type = /obj/structure/door_assembly/door_assembly_highsecurity + req_one_access = list(access_heads_vault) + open_sound_powered = 'sound/machines/door/secure1o.ogg' + close_sound_powered = 'sound/machines/door/secure1c.ogg' + +/obj/machinery/door/airlock/voidcraft + name = "voidcraft hatch" + desc = "It's an extra resilient airlock intended for spacefaring vessels." + icon = 'icons/obj/doors/shuttledoors.dmi' + explosion_resistance = 20 + opacity = 0 + glass = 1 + assembly_type = /obj/structure/door_assembly/door_assembly_voidcraft + open_sound_powered = 'sound/machines/door/shuttle1o.ogg' + close_sound_powered = 'sound/machines/door/shuttle1c.ogg' + +// Airlock opens from top-bottom instead of left-right. +/obj/machinery/door/airlock/voidcraft/vertical + icon = 'icons/obj/doors/shuttledoors_vertical.dmi' + assembly_type = /obj/structure/door_assembly/door_assembly_voidcraft/vertical + open_sound_powered = 'sound/machines/door/shuttle1o.ogg' + close_sound_powered = 'sound/machines/door/shuttle1c.ogg' + + +/datum/category_item/catalogue/anomalous/precursor_a/alien_airlock + name = "Precursor Alpha Object - Doors" + desc = "This object appears to be used in order to restrict or allow access to \ + rooms based on its physical state. In other words, a door. \ + Despite being designed and created by unknown ancient alien hands, this door has \ + a large number of similarities to the conventional airlock, such as being driven by \ + electricity, opening and closing by physically moving, and being air tight. \ + It also operates by responding to signals through internal electrical conduits. \ + These characteristics make it possible for one with experience with a multitool \ + to manipulate the door.\ +

\ + The symbol on the door does not match any living species' patterns, giving further \ + implications that this door is very old, and yet it remains operational after \ + thousands of years. It is unknown if that is due to superb construction, or \ + unseen autonomous maintenance having been performed." + value = CATALOGUER_REWARD_EASY + +/obj/machinery/door/airlock/alien + name = "alien airlock" + desc = "You're fairly sure this is a door." + catalogue_data = list(/datum/category_item/catalogue/anomalous/precursor_a/alien_airlock) + icon = 'icons/obj/doors/Dooralien.dmi' + explosion_resistance = 20 + secured_wires = TRUE + hackProof = TRUE + assembly_type = /obj/structure/door_assembly/door_assembly_alien + req_one_access = list(access_alien) + +/obj/machinery/door/airlock/alien/locked + icon_state = "door_locked" + locked = TRUE + +/obj/machinery/door/airlock/alien/public // Entry to UFO. + req_one_access = list() + normalspeed = FALSE // So it closes faster and hopefully keeps the warm air inside. + hackProof = TRUE //VOREStation Edit - No borgos + +/* +About the new airlock wires panel: +* An airlock wire dialog can be accessed by the normal way or by using wirecutters or a multitool on the door while the wire-panel is open. This would show the following wires, which you can either wirecut/mend or send a multitool pulse through. There are 9 wires. +* one wire from the ID scanner. Sending a pulse through this flashes the red light on the door (if the door has power). If you cut this wire, the door will stop recognizing valid IDs. (If the door has 0000 access, it still opens and closes, though) +* two wires for power. Sending a pulse through either one causes a breaker to trip, disabling the door for 10 seconds if backup power is connected, or 1 minute if not (or until backup power comes back on, whichever is shorter). Cutting either one disables the main door power, but unless backup power is also cut, the backup power re-powers the door in 10 seconds. While unpowered, the door may be open, but bolts-raising will not work. Cutting these wires may electrocute the user. +* one wire for door bolts. Sending a pulse through this drops door bolts (whether the door is powered or not) or raises them (if it is). Cutting this wire also drops the door bolts, and mending it does not raise them. If the wire is cut, trying to raise the door bolts will not work. +* two wires for backup power. Sending a pulse through either one causes a breaker to trip, but this does not disable it unless main power is down too (in which case it is disabled for 1 minute or however long it takes main power to come back, whichever is shorter). Cutting either one disables the backup door power (allowing it to be crowbarred open, but disabling bolts-raising), but may electocute the user. +* one wire for opening the door. Sending a pulse through this while the door has power makes it open the door if no access is required. +* one wire for AI control. Sending a pulse through this blocks AI control for a second or so (which is enough to see the AI control light on the panel dialog go off and back on again). Cutting this prevents the AI from controlling the door unless it has hacked the door through the power connection (which takes about a minute). If both main and backup power are cut, as well as this wire, then the AI cannot operate or hack the door at all. +* one wire for electrifying the door. Sending a pulse through this electrifies the door for 30 seconds. Cutting this wire electrifies the door, so that the next person to touch the door without insulated gloves gets electrocuted. (Currently it is also STAYING electrified until someone mends the wire) +* one wire for controling door safetys. When active, door does not close on someone. When cut, door will ruin someone's shit. When pulsed, door will immedately ruin someone's shit. +* one wire for controlling door speed. When active, dor closes at normal rate. When cut, door does not close manually. When pulsed, door attempts to close every tick. +*/ + + + +/obj/machinery/door/airlock/bumpopen(mob/living/user as mob) //Airlocks now zap you when you 'bump' them open when they're electrified. --NeoFite + if(!issilicon(usr)) + if(src.isElectrified()) + if(!src.justzap) + if(src.shock(user, 100)) + src.justzap = 1 + spawn (10) + src.justzap = 0 + return + else /*if(src.justzap)*/ + return + else if(user.hallucination > 50 && prob(10) && src.operating == 0) + to_chat(user, "You feel a powerful shock course through your body!") + user.halloss += 10 + user.stunned += 10 + return + ..(user) + +/obj/machinery/door/airlock/proc/isElectrified() + if(src.electrified_until != 0) + return 1 + return 0 + +/obj/machinery/door/airlock/proc/canAIControl() + return ((src.aiControlDisabled!=1) && (!src.isAllPowerLoss())); + +/obj/machinery/door/airlock/proc/canAIHack() + return ((src.aiControlDisabled==1) && (!hackProof) && (!src.isAllPowerLoss())); + +/obj/machinery/door/airlock/proc/arePowerSystemsOn() + if (stat & (NOPOWER|BROKEN)) + return 0 + return (src.main_power_lost_until==0 || src.backup_power_lost_until==0) + +/obj/machinery/door/airlock/requiresID() + return !(wires.is_cut(WIRE_IDSCAN) || aiDisabledIdScanner) + +/obj/machinery/door/airlock/proc/isAllPowerLoss() + if(stat & (NOPOWER|BROKEN)) + return 1 + if(mainPowerCablesCut() && backupPowerCablesCut()) + return 1 + return 0 + +/obj/machinery/door/airlock/proc/mainPowerCablesCut() + return wires.is_cut(WIRE_MAIN_POWER1) || wires.is_cut(WIRE_MAIN_POWER2) + +/obj/machinery/door/airlock/proc/backupPowerCablesCut() + return wires.is_cut(WIRE_BACKUP_POWER1) || wires.is_cut(WIRE_BACKUP_POWER2) + +/obj/machinery/door/airlock/proc/loseMainPower() + main_power_lost_until = mainPowerCablesCut() ? -1 : world.time + SecondsToTicks(60) + + // If backup power is permanently disabled then activate in 10 seconds if possible, otherwise it's already enabled or a timer is already running + if(backup_power_lost_until == -1 && !backupPowerCablesCut()) + backup_power_lost_until = world.time + SecondsToTicks(10) + + if(main_power_lost_until > 0 || backup_power_lost_until > 0) + START_MACHINE_PROCESSING(src) + + // Disable electricity if required + if(electrified_until && isAllPowerLoss()) + electrify(0) + + update_icon() + +/obj/machinery/door/airlock/proc/loseBackupPower() + backup_power_lost_until = backupPowerCablesCut() ? -1 : world.time + SecondsToTicks(60) + + if(backup_power_lost_until > 0) + START_MACHINE_PROCESSING(src) + + // Disable electricity if required + if(electrified_until && isAllPowerLoss()) + electrify(0) + + update_icon() + +/obj/machinery/door/airlock/proc/regainMainPower() + if(!mainPowerCablesCut()) + main_power_lost_until = 0 + // If backup power is currently active then disable, otherwise let it count down and disable itself later + if(!backup_power_lost_until) + backup_power_lost_until = -1 + + update_icon() + +/obj/machinery/door/airlock/proc/regainBackupPower() + if(!backupPowerCablesCut()) + // Restore backup power only if main power is offline, otherwise permanently disable + backup_power_lost_until = main_power_lost_until == 0 ? -1 : 0 + + update_icon() + +/obj/machinery/door/airlock/proc/electrify(var/duration, var/feedback = 0) + var/message = "" + if(wires.is_cut(WIRE_ELECTRIFY) && arePowerSystemsOn()) + message = text("The electrification wire is cut - Door permanently electrified.") + src.electrified_until = -1 + else if(duration && !arePowerSystemsOn()) + message = text("The door is unpowered - Cannot electrify the door.") + src.electrified_until = 0 + else if(!duration && electrified_until != 0) + message = "The door is now un-electrified." + src.electrified_until = 0 + else if(duration) //electrify door for the given duration seconds + if(usr) + shockedby += text("\[[time_stamp()]\] - [usr](ckey:[usr.ckey])") + add_attack_logs(usr,name,"Electrified a door") + else + shockedby += text("\[[time_stamp()]\] - EMP)") + message = "The door is now electrified [duration == -1 ? "permanently" : "for [duration] second\s"]." + src.electrified_until = duration == -1 ? -1 : world.time + SecondsToTicks(duration) + + if(electrified_until > 0) + START_MACHINE_PROCESSING(src) + + if(feedback && message) + to_chat(usr,message) + +/obj/machinery/door/airlock/proc/set_idscan(var/activate, var/feedback = 0) + var/message = "" + if(wires.is_cut(WIRE_IDSCAN)) + message = "The IdScan wire is cut - IdScan feature permanently disabled." + else if(activate && src.aiDisabledIdScanner) + src.aiDisabledIdScanner = 0 + message = "IdScan feature has been enabled." + else if(!activate && !src.aiDisabledIdScanner) + src.aiDisabledIdScanner = 1 + message = "IdScan feature has been disabled." + + if(feedback && message) + to_chat(usr,message) + +/obj/machinery/door/airlock/proc/set_safeties(var/activate, var/feedback = 0) + var/message = "" + // Safeties! We don't need no stinking safeties! + if (wires.is_cut(WIRE_SAFETY)) + message = text("The safety wire is cut - Cannot enable safeties.") + else if (!activate && src.safe) + safe = 0 + else if (activate && !src.safe) + safe = 1 + + if(feedback && message) + to_chat(usr,message) + +// shock user with probability prb (if all connections & power are working) +// returns 1 if shocked, 0 otherwise +// The preceding comment was borrowed from the grille's shock script +/obj/machinery/door/airlock/shock(mob/user, prb) + if(!arePowerSystemsOn()) + return 0 + if(hasShocked) + return 0 //Already shocked someone recently? + if(..()) + hasShocked = 1 + sleep(10) + hasShocked = 0 + return 1 + else + return 0 + + +/obj/machinery/door/airlock/update_icon() + cut_overlays() + if(density) + if(locked && lights && src.arePowerSystemsOn()) + icon_state = "door_locked" + else + icon_state = "door_closed" + if(p_open || welded) + if(p_open) + add_overlay("panel_open") + if (!(stat & NOPOWER)) + if(stat & BROKEN) + add_overlay("sparks_broken") + else if (health < maxhealth * 3/4) + add_overlay("sparks_damaged") + if(welded) + add_overlay("welded") + else if (health < maxhealth * 3/4 && !(stat & NOPOWER)) + add_overlay("sparks_damaged") + else + icon_state = "door_open" + if((stat & BROKEN) && !(stat & NOPOWER)) + add_overlay("sparks_open") + return + +/obj/machinery/door/airlock/do_animate(animation) + switch(animation) + if("opening") + cut_overlay() + if(p_open) + spawn(2) // The only work around that works. Downside is that the door will be gone for a millisecond. + flick("o_door_opening", src) //can not use flick due to BYOND bug updating overlays right before flicking + update_icon() + else + flick("door_opening", src)//[stat ? "_stat":] + update_icon() + if("closing") + cut_overlay() + if(p_open) + spawn(2) + flick("o_door_closing", src) + update_icon() + else + flick("door_closing", src) + update_icon() + if("spark") + if(density) + flick("door_spark", src) + if("deny") + if(density && src.arePowerSystemsOn()) + flick("door_deny", src) + playsound(src, denied_sound, 50, 0, 3) + return + +/obj/machinery/door/airlock/attack_ai(mob/user as mob) + tgui_interact(user) + +/obj/machinery/door/airlock/attack_ghost(mob/user) + tgui_interact(user) + +/obj/machinery/door/airlock/tgui_interact(mob/user, datum/tgui/ui, datum/tgui/parent_ui, datum/tgui_state/custom_state) + ui = SStgui.try_update_ui(user, src, ui) + if(!ui) + ui = new(user, src, "AiAirlock", name) + ui.open() + if(custom_state) + ui.set_state(custom_state) + return TRUE + +/obj/machinery/door/airlock/tgui_data(mob/user) + var/list/data = list() + + var/list/power = list() + power["main"] = main_power_lost_until > 0 ? 0 : 2 + power["main_timeleft"] = round(main_power_lost_until > 0 ? max(main_power_lost_until - world.time, 0) / 10 : main_power_lost_until, 1) + power["backup"] = backup_power_lost_until > 0 ? 0 : 2 + power["backup_timeleft"] = round(backup_power_lost_until > 0 ? max(backup_power_lost_until - world.time, 0) / 10 : backup_power_lost_until, 1) + data["power"] = power + + data["shock"] = (electrified_until == 0) ? 2 : 0 + data["shock_timeleft"] = round(electrified_until > 0 ? max(electrified_until - world.time, 0) / 10 : electrified_until, 1) + data["id_scanner"] = !aiDisabledIdScanner + data["locked"] = locked // bolted + data["lights"] = lights // bolt lights + data["safe"] = safe // safeties + data["speed"] = normalspeed // safe speed + data["welded"] = welded // welded + data["opened"] = !density // opened + + var/list/wire = list() + wire["main_1"] = !wires.is_cut(WIRE_MAIN_POWER1) + wire["main_2"] = !wires.is_cut(WIRE_MAIN_POWER2) + wire["backup_1"] = !wires.is_cut(WIRE_BACKUP_POWER1) + wire["backup_2"] = !wires.is_cut(WIRE_BACKUP_POWER2) + wire["shock"] = !wires.is_cut(WIRE_ELECTRIFY) + wire["id_scanner"] = !wires.is_cut(WIRE_IDSCAN) + wire["bolts"] = !wires.is_cut(WIRE_DOOR_BOLTS) + wire["lights"] = !wires.is_cut(WIRE_BOLT_LIGHT) + wire["safe"] = !wires.is_cut(WIRE_SAFETY) + wire["timing"] = !wires.is_cut(WIRE_SPEED) + + data["wires"] = wire + return data + +/obj/machinery/door/airlock/proc/hack(mob/user as mob) + if(src.aiHacking==0) + src.aiHacking=1 + spawn(20) + //TODO: Make this take a minute + to_chat(user, "Airlock AI control has been blocked. Beginning fault-detection.") + sleep(50) + if(src.canAIControl()) + to_chat(user, "Alert cancelled. Airlock control has been restored without our assistance.") + src.aiHacking=0 + return + else if(!src.canAIHack(user)) + to_chat(user, "We've lost our connection! Unable to hack airlock.") + src.aiHacking=0 + return + to_chat(user, "Fault confirmed: airlock control wire disabled or cut.") + sleep(20) + to_chat(user, "Attempting to hack into airlock. This may take some time.") + sleep(200) + if(src.canAIControl()) + to_chat(user, "Alert cancelled. Airlock control has been restored without our assistance.") + src.aiHacking=0 + return + else if(!src.canAIHack(user)) + to_chat(user, "We've lost our connection! Unable to hack airlock.") + src.aiHacking=0 + return + to_chat(user, "Upload access confirmed. Loading control program into airlock software.") + sleep(170) + if(src.canAIControl()) + to_chat(user, "Alert cancelled. Airlock control has been restored without our assistance.") + src.aiHacking=0 + return + else if(!src.canAIHack(user)) + to_chat(user, "We've lost our connection! Unable to hack airlock.") + src.aiHacking=0 + return + to_chat(user, "Transfer complete. Forcing airlock to execute program.") + sleep(50) + //disable blocked control + src.aiControlDisabled = 2 + to_chat(user, "Receiving control information from airlock.") + sleep(10) + //bring up airlock dialog + src.aiHacking = 0 + if (user) + src.attack_ai(user) + +/obj/machinery/door/airlock/CanPass(atom/movable/mover, turf/target) + if (src.isElectrified()) + if (istype(mover, /obj/item)) + var/obj/item/i = mover + if (i.matter && (MAT_STEEL in i.matter) && i.matter[MAT_STEEL] > 0) + var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread + s.set_up(5, 1, src) + s.start() + return ..() + +/obj/machinery/door/airlock/attack_hand(mob/user as mob) + if(!istype(usr, /mob/living/silicon)) + if(src.isElectrified()) + if(src.shock(user, 100)) + return + + if(istype(user, /mob/living/carbon/human)) + var/mob/living/carbon/human/X = user + if(istype(X.species, /datum/species/xenos)) + src.attack_alien(user) + return + + if(src.p_open) + user.set_machine(src) + wires.Interact(user) + else + ..(user) + return + +/obj/machinery/door/airlock/tgui_act(action, params) + if(..()) + return TRUE + if(!user_allowed(usr)) + return TRUE + + switch(action) + if("disrupt-main") + if(!main_power_lost_until) + loseMainPower() + update_icon() + else + to_chat(usr, "Main power is already offline.") + . = TRUE + if("disrupt-backup") + if(!backup_power_lost_until) + loseBackupPower() + update_icon() + else + to_chat(usr, "Backup power is already offline.") + . = TRUE + if("shock-restore") + electrify(0, 1) + . = TRUE + if("shock-temp") + electrify(30, 1) + . = TRUE + if("shock-perm") + electrify(-1, 1) + . = TRUE + if("idscan-toggle") + set_idscan(aiDisabledIdScanner, 1) + . = TRUE + // if("emergency-toggle") + // toggle_emergency(usr) + // . = TRUE + if("bolt-toggle") + toggle_bolt(usr) + . = TRUE + if("light-toggle") + if(wires.is_cut(WIRE_BOLT_LIGHT)) + to_chat(usr, "The bolt lights wire is cut - The door bolt lights are permanently disabled.") + return + lights = !lights + update_icon() + . = TRUE + if("safe-toggle") + set_safeties(!safe, 1) + . = TRUE + if("speed-toggle") + if(wires.is_cut(WIRE_SPEED)) + to_chat(usr, "The timing wire is cut - Cannot alter timing.") + return + normalspeed = !normalspeed + . = TRUE + if("open-close") + user_toggle_open(usr) + . = TRUE + + update_icon() + return 1 + +/obj/machinery/door/airlock/proc/user_allowed(mob/user) + var/allowed = (issilicon(user) && canAIControl(user)) + if(!allowed && isobserver(user)) + var/mob/observer/dead/D = user + if(D.can_admin_interact()) + allowed = TRUE + return allowed + +/obj/machinery/door/airlock/proc/toggle_bolt(mob/user) + if(!user_allowed(user)) + return + if(wires.is_cut(WIRE_DOOR_BOLTS)) + to_chat(user, "The door bolt drop wire is cut - you can't toggle the door bolts.") + return + if(locked) + if(!arePowerSystemsOn()) + to_chat(user, "The door has no power - you can't raise the door bolts.") + else + unlock() + to_chat(user, "The door bolts have been raised.") + // log_combat(user, src, "unbolted") + else + lock() + to_chat(user, "The door bolts have been dropped.") + // log_combat(user, src, "bolted") + +/obj/machinery/door/airlock/proc/user_toggle_open(mob/user) + if(!user_allowed(user)) + return + if(welded) + to_chat(user, text("The airlock has been welded shut!")) + else if(locked) + to_chat(user, text("The door bolts are down!")) + else if(!density) + close() + else + open() + +/obj/machinery/door/airlock/proc/can_remove_electronics() + return src.p_open && (operating < 0 || (!operating && welded && !src.arePowerSystemsOn() && density && (!src.locked || (stat & BROKEN)))) + +/obj/machinery/door/airlock/attackby(obj/item/C, mob/user as mob) + //to_world("airlock attackby src [src] obj [C] mob [user]") + if(!istype(usr, /mob/living/silicon)) + if(src.isElectrified()) + if(src.shock(user, 75)) + return + if(istype(C, /obj/item/taperoll)) + return + + src.add_fingerprint(user) + if (attempt_vr(src,"attackby_vr",list(C, user))) return + if(istype(C, /mob/living)) + ..() + return + if(!repairing && istype(C, /obj/item/weapon/weldingtool) && !( src.operating > 0 ) && src.density) + var/obj/item/weapon/weldingtool/W = C + if(W.remove_fuel(0,user)) + if(!src.welded) + src.welded = 1 + else + src.welded = null + playsound(src, C.usesound, 75, 1) + src.update_icon() + return + else + return + else if(C.is_screwdriver()) + if (src.p_open) + if (stat & BROKEN) + to_chat(usr, "The panel is broken and cannot be closed.") + else + src.p_open = 0 + playsound(src, C.usesound, 50, 1) + else + src.p_open = 1 + playsound(src, C.usesound, 50, 1) + src.update_icon() + else if(C.is_wirecutter()) + return src.attack_hand(user) + else if(istype(C, /obj/item/device/multitool)) + return src.attack_hand(user) + else if(istype(C, /obj/item/device/assembly/signaler)) + return src.attack_hand(user) + else if(istype(C, /obj/item/weapon/pai_cable)) // -- TLE + var/obj/item/weapon/pai_cable/cable = C + cable.plugin(src, user) + else if(!repairing && C.is_crowbar()) + if(can_remove_electronics()) + playsound(src, C.usesound, 75, 1) + user.visible_message("[user] removes the electronics from the airlock assembly.", "You start to remove electronics from the airlock assembly.") + if(do_after(user,40 * C.toolspeed)) + to_chat(user, "You removed the airlock electronics!") + + var/obj/structure/door_assembly/da = new assembly_type(src.loc) + if (istype(da, /obj/structure/door_assembly/multi_tile)) + da.set_dir(src.dir) + + da.anchored = 1 + if(mineral) + da.glass = mineral + //else if(glass) + else if(glass && !da.glass) + da.glass = 1 + da.state = 1 + da.created_name = src.name + da.update_state() + + if(operating == -1 || (stat & BROKEN)) + new /obj/item/weapon/circuitboard/broken(src.loc) + operating = 0 + else + if (!electronics) create_electronics() + + electronics.loc = src.loc + electronics = null + + qdel(src) + return + else if(arePowerSystemsOn()) + to_chat(user, "The airlock's motors resist your efforts to force it.") + else if(locked) + to_chat(user, "The airlock's bolts prevent it from being forced.") + else + if(density) + spawn(0) open(1) + else + spawn(0) close(1) + + // Check if we're using a crowbar or armblade, and if the airlock's unpowered for whatever reason (off, broken, etc). + else if(istype(C, /obj/item/weapon)) + var/obj/item/weapon/W = C + if((W.pry == 1) && !arePowerSystemsOn()) + if(locked) + to_chat(user, "The airlock's bolts prevent it from being forced.") + else if( !welded && !operating ) + if(istype(C, /obj/item/weapon/material/twohanded/fireaxe)) // If this is a fireaxe, make sure it's held in two hands. + var/obj/item/weapon/material/twohanded/fireaxe/F = C + if(!F.wielded) + to_chat(user, "You need to be wielding \the [F] to do that.") + return + // At this point, it's an armblade or a fireaxe that passed the wielded test, let's try to open it. + if(density) + spawn(0) + open(1) + else + spawn(0) + close(1) + else + ..() + else + ..() + return + +/obj/machinery/door/airlock/phoron/attackby(C as obj, mob/user as mob) + if(C) + ignite(is_hot(C)) + ..() + +/obj/machinery/door/airlock/set_broken() + src.p_open = 1 + stat |= BROKEN + if (secured_wires) + lock() + for (var/mob/O in viewers(src, null)) + if ((O.client && !( O.blinded ))) + O.show_message("[src.name]'s control panel bursts open, sparks spewing out!") + + var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread + s.set_up(5, 1, src) + s.start() + + update_icon() + return + +/obj/machinery/door/airlock/open(var/forced=0) + if(!can_open(forced)) + return 0 + use_power(360) //360 W seems much more appropriate for an actuator moving an industrial door capable of crushing people + + //if the door is unpowered then it doesn't make sense to hear the woosh of a pneumatic actuator + for(var/P in player_list) + var/mob/M = P + if(!M || !M.client) + continue + var/old_sounds = M.client.is_preference_enabled(/datum/client_preference/old_door_sounds) + var/department_door_sounds = M.client.is_preference_enabled(/datum/client_preference/department_door_sounds) + var/sound + var/volume + if(old_sounds) // Do we have old sounds enabled? Play these even if we have department door sounds enabled. + if(arePowerSystemsOn()) + sound = legacy_open_powered + volume = 50 + else + sound = open_sound_unpowered + volume = 75 + else if(!old_sounds && department_door_sounds && src.department_open_powered) // Else, we have old sounds disabled, the door has per-department door sounds, and we have chosen to play department door sounds, use these. + if(arePowerSystemsOn()) + sound = department_open_powered + volume = 50 + else + sound = open_sound_unpowered + volume = 75 + else // Else, play these. + if(arePowerSystemsOn()) + sound = open_sound_powered + volume = 50 + else + sound = open_sound_unpowered + volume = 75 + + var/turf/T = get_turf(M) + var/distance = get_dist(T, get_turf(src)) + if(distance <= world.view * 2) + if(T && T.z == get_z(src)) + M.playsound_local(get_turf(src), sound, volume, 1, null, 0, TRUE, sound(sound), volume_channel = VOLUME_CHANNEL_DOORS) + + if(src.closeOther != null && istype(src.closeOther, /obj/machinery/door/airlock/) && !src.closeOther.density) + src.closeOther.close() + return ..() + +/obj/machinery/door/airlock/can_open(var/forced=0) + if(!forced) + if(!arePowerSystemsOn() || wires.is_cut(WIRE_OPEN_DOOR)) + return 0 + + if(locked || welded) + return 0 + return ..() + +/obj/machinery/door/airlock/can_close(var/forced=0) + if(locked || welded) + return 0 + + if(!forced) + //despite the name, this wire is for general door control. + if(!arePowerSystemsOn() || wires.is_cut(WIRE_OPEN_DOOR)) + return 0 + + return ..() + +/atom/movable/proc/blocks_airlock() + return density + +/obj/machinery/door/blocks_airlock() + return 0 + +/obj/machinery/mech_sensor/blocks_airlock() + return 0 + +/mob/living/blocks_airlock() + return 1 + +/atom/movable/proc/airlock_crush(var/crush_damage) + return 0 + +/obj/machinery/portable_atmospherics/canister/airlock_crush(var/crush_damage) + . = ..() + health -= crush_damage + healthcheck() + +/obj/effect/energy_field/airlock_crush(var/crush_damage) + adjust_strength(crush_damage) + +/obj/structure/closet/airlock_crush(var/crush_damage) + ..() + damage(crush_damage) + for(var/atom/movable/AM in src) + AM.airlock_crush() + return 1 + +/mob/living/airlock_crush(var/crush_damage) + . = ..() + adjustBruteLoss(crush_damage) + SetStunned(5) + SetWeakened(5) + var/turf/T = get_turf(src) + T.add_blood(src) + return 1 + +/mob/living/carbon/airlock_crush(var/crush_damage) + . = ..() + if(can_feel_pain()) + emote("scream") + +/mob/living/silicon/robot/airlock_crush(var/crush_damage) + adjustBruteLoss(crush_damage) + return 0 + +/obj/machinery/door/airlock/close(var/forced=0) + if(!can_close(forced)) + return 0 + + if(safe) + for(var/turf/turf in locs) + for(var/atom/movable/AM in turf) + if(AM.blocks_airlock()) + if(!has_beeped) + playsound(src, 'sound/machines/buzz-two.ogg', 50, 0) + has_beeped = 1 + autoclose_in(6) + return + + for(var/turf/turf in locs) + for(var/atom/movable/AM in turf) + if(AM.airlock_crush(DOOR_CRUSH_DAMAGE)) + take_damage(DOOR_CRUSH_DAMAGE) + + use_power(360) //360 W seems much more appropriate for an actuator moving an industrial door capable of crushing people + has_beeped = 0 + for(var/P in player_list) + var/mob/M = P + if(!M || !M.client) + continue + var/old_sounds = M.client.is_preference_enabled(/datum/client_preference/old_door_sounds) + var/department_door_sounds = M.client.is_preference_enabled(/datum/client_preference/department_door_sounds) + var/sound + var/volume + if(old_sounds) + if(arePowerSystemsOn()) + sound = legacy_close_powered + volume = 50 + else + sound = open_sound_unpowered + volume = 75 + else if(!old_sounds && department_door_sounds && src.department_close_powered) // Else, we have old sounds disabled, the door has per-department door sounds, and we have chosen to play department door sounds, use these. + if(arePowerSystemsOn()) + sound = department_close_powered + volume = 50 + else + sound = open_sound_unpowered + volume = 75 + else + if(arePowerSystemsOn()) + sound = close_sound_powered + volume = 50 + else + sound = open_sound_unpowered + volume = 75 + + var/turf/T = get_turf(M) + var/distance = get_dist(T, get_turf(src)) + if(distance <= world.view * 2) + if(T && T.z == get_z(src)) + M.playsound_local(get_turf(src), sound, volume, 1, null, 0, TRUE, sound(sound), volume_channel = VOLUME_CHANNEL_DOORS) + for(var/turf/turf in locs) + var/obj/structure/window/killthis = (locate(/obj/structure/window) in turf) + if(killthis) + killthis.ex_act(2)//Smashin windows + return ..() + +/obj/machinery/door/airlock/proc/lock(var/forced=0) + if(locked) + return 0 + + if (operating && !forced) return 0 + + src.locked = 1 + playsound(src, bolt_down_sound, 30, 0, 3, volume_channel = VOLUME_CHANNEL_DOORS) + for(var/mob/M in range(1,src)) + M.show_message("You hear a click from the bottom of the door.", 2) + update_icon() + return 1 + +/obj/machinery/door/airlock/proc/unlock(var/forced=0) + if(!src.locked) + return + + if (!forced) + if(operating || !src.arePowerSystemsOn() || wires.is_cut(WIRE_DOOR_BOLTS)) return + + src.locked = 0 + playsound(src, bolt_up_sound, 30, 0, 3, volume_channel = VOLUME_CHANNEL_DOORS) + for(var/mob/M in range(1,src)) + M.show_message("You hear a click from the bottom of the door.", 2) + update_icon() + return 1 + +/obj/machinery/door/airlock/allowed(mob/M) + if(locked) + return 0 + return ..(M) + +/obj/machinery/door/airlock/New(var/newloc, var/obj/structure/door_assembly/assembly=null) + ..() + + //if assembly is given, create the new door from the assembly + if (assembly && istype(assembly)) + assembly_type = assembly.type + + electronics = assembly.electronics + electronics.loc = src + + //update the door's access to match the electronics' + secured_wires = electronics.secure + if(electronics.one_access) + LAZYCLEARLIST(req_access) + req_one_access = src.electronics.conf_access + else + LAZYCLEARLIST(req_one_access) + req_access = src.electronics.conf_access + + //get the name from the assembly + if(assembly.created_name) + name = assembly.created_name + else + name = "[istext(assembly.glass) ? "[assembly.glass] airlock" : assembly.base_name]" + + //get the dir from the assembly + set_dir(assembly.dir) + + //wires + var/turf/T = get_turf(newloc) + if(T && (T.z in using_map.admin_levels)) + secured_wires = 1 + if (secured_wires) + wires = new/datum/wires/airlock/secure(src) + else + wires = new/datum/wires/airlock(src) + +/obj/machinery/door/airlock/Initialize() + if(src.closeOtherId != null) + for (var/obj/machinery/door/airlock/A in machines) + if(A.closeOtherId == src.closeOtherId && A != src) + src.closeOther = A + break + name = "\improper [name]" + . = ..() + +/obj/machinery/door/airlock/Destroy() + qdel(wires) + wires = null + return ..() + +// Most doors will never be deconstructed over the course of a round, +// so as an optimization defer the creation of electronics until +// the airlock is deconstructed +/obj/machinery/door/airlock/proc/create_electronics() + //create new electronics + if (secured_wires) + src.electronics = new/obj/item/weapon/airlock_electronics/secure( src.loc ) + else + src.electronics = new/obj/item/weapon/airlock_electronics( src.loc ) + + //update the electronics to match the door's access + if(LAZYLEN(req_access)) + electronics.conf_access = req_access + else if (LAZYLEN(req_one_access)) + electronics.conf_access = req_one_access + electronics.one_access = 1 + +/obj/machinery/door/airlock/emp_act(var/severity) + if(prob(40/severity)) + var/duration = world.time + SecondsToTicks(30 / severity) + if(duration > electrified_until) + electrify(duration) + ..() + +/obj/machinery/door/airlock/power_change() //putting this is obj/machinery/door itself makes non-airlock doors turn invisible for some reason + ..() + if(stat & NOPOWER) + // If we lost power, disable electrification + // Keeping door lights on, runs on internal battery or something. + electrified_until = 0 + update_icon() + +/obj/machinery/door/airlock/proc/prison_open() + if(arePowerSystemsOn()) + src.unlock() + src.open() + src.lock() + return + + +/obj/machinery/door/airlock/rcd_values(mob/living/user, obj/item/weapon/rcd/the_rcd, passed_mode) + switch(passed_mode) + if(RCD_DECONSTRUCT) + // Old RCD code made it cost 10 units to decon an airlock. + // Now the new one costs ten "sheets". + return list( + RCD_VALUE_MODE = RCD_DECONSTRUCT, + RCD_VALUE_DELAY = 5 SECONDS, + RCD_VALUE_COST = RCD_SHEETS_PER_MATTER_UNIT * 10 + ) + return FALSE + +/obj/machinery/door/airlock/rcd_act(mob/living/user, obj/item/weapon/rcd/the_rcd, passed_mode) + switch(passed_mode) + if(RCD_DECONSTRUCT) + to_chat(user, span("notice", "You deconstruct \the [src].")) + qdel(src) + return TRUE + return FALSE +>>>>>>> 8ab34365f1... Merge pull request #10852 from VOREStation/Arokha/matdefs diff --git a/code/game/machinery/doors/airlock_electronics.dm b/code/game/machinery/doors/airlock_electronics.dm index 4393417e26..3d401fa0fb 100644 --- a/code/game/machinery/doors/airlock_electronics.dm +++ b/code/game/machinery/doors/airlock_electronics.dm @@ -4,7 +4,7 @@ icon_state = "door_electronics" w_class = ITEMSIZE_SMALL //It should be tiny! -Agouri - matter = list(DEFAULT_WALL_MATERIAL = 50,"glass" = 50) + matter = list(MAT_STEEL = 50,MAT_GLASS = 50) req_one_access = list(access_engine, access_talon) // Access to unlock the device, ignored if emagged //VOREStation Edit - Add talon var/list/apply_any_access = list(access_engine) // Can apply any access, not just their own diff --git a/code/game/machinery/doors/firedoor.dm b/code/game/machinery/doors/firedoor.dm index 1363148331..5b51e90c82 100644 --- a/code/game/machinery/doors/firedoor.dm +++ b/code/game/machinery/doors/firedoor.dm @@ -78,7 +78,7 @@ . = ..() /obj/machinery/door/firedoor/get_material() - return get_material_by_name(DEFAULT_WALL_MATERIAL) + return get_material_by_name(MAT_STEEL) /obj/machinery/door/firedoor/examine(mob/user) . = ..() diff --git a/code/game/machinery/fire_alarm.dm b/code/game/machinery/fire_alarm.dm index 6c5e6400d4..4f976ab64a 100644 --- a/code/game/machinery/fire_alarm.dm +++ b/code/game/machinery/fire_alarm.dm @@ -187,7 +187,7 @@ Just a object used in constructing fire alarms icon_state = "door_electronics" desc = "A circuit. It has a label on it, it says \"Can handle heat levels up to 40 degrees celsius!\"" w_class = ITEMSIZE_SMALL - matter = list(DEFAULT_WALL_MATERIAL = 50, "glass" = 50) + matter = list(MAT_STEEL = 50, MAT_GLASS = 50) */ /obj/machinery/partyalarm name = "\improper PARTY BUTTON" diff --git a/code/game/machinery/floor_light.dm b/code/game/machinery/floor_light.dm index b1211f1fd2..1bcb90a596 100644 --- a/code/game/machinery/floor_light.dm +++ b/code/game/machinery/floor_light.dm @@ -11,7 +11,7 @@ var/list/floor_light_cache = list() idle_power_usage = 2 active_power_usage = 20 power_channel = LIGHT - matter = list(DEFAULT_WALL_MATERIAL = 2500, "glass" = 2750) + matter = list(MAT_STEEL = 2500, MAT_GLASS = 2750) var/on var/damaged diff --git a/code/game/machinery/partslathe_vr.dm b/code/game/machinery/partslathe_vr.dm index c5ddcff900..733486b5de 100644 --- a/code/game/machinery/partslathe_vr.dm +++ b/code/game/machinery/partslathe_vr.dm @@ -28,8 +28,8 @@ active_power_usage = 5000 // Amount of materials we can store total - var/list/materials = list(DEFAULT_WALL_MATERIAL = 0, "glass" = 0) - var/list/storage_capacity = list(DEFAULT_WALL_MATERIAL = 0, "glass" = 0) + var/list/materials = list(MAT_STEEL = 0, MAT_GLASS = 0) + var/list/storage_capacity = list(MAT_STEEL = 0, MAT_GLASS = 0) var/obj/item/weapon/circuitboard/copy_board // Inserted board @@ -61,7 +61,7 @@ var/mb_rating = 0 for(var/obj/item/weapon/stock_parts/matter_bin/M in component_parts) mb_rating += M.rating - storage_capacity[DEFAULT_WALL_MATERIAL] = mb_rating * 16000 + storage_capacity[MAT_STEEL] = mb_rating * 16000 storage_capacity["glass"] = mb_rating * 8000 var/T = 0 for(var/obj/item/weapon/stock_parts/manipulator/M in component_parts) @@ -209,7 +209,7 @@ material = lowertext(material) var/mattype switch(material) - if(DEFAULT_WALL_MATERIAL) + if(MAT_STEEL) mattype = /obj/item/stack/material/steel if("glass") mattype = /obj/item/stack/material/glass diff --git a/code/game/machinery/pipe/pipelayer.dm b/code/game/machinery/pipe/pipelayer.dm index a7bc69794b..9e0d3702eb 100644 --- a/code/game/machinery/pipe/pipelayer.dm +++ b/code/game/machinery/pipe/pipelayer.dm @@ -62,8 +62,8 @@ var/answer = tgui_alert(user, "Do you want to eject all the metal in \the [src]?", "Eject?", list("Yes","No")) if(answer == "Yes") var/amount_ejected = eject_metal() - user.visible_message("[user] removes [amount_ejected] sheet\s of [DEFAULT_WALL_MATERIAL] from the \the [src].", - "You remove [amount_ejected] sheet\s of [DEFAULT_WALL_MATERIAL] from \the [src].") + user.visible_message("[user] removes [amount_ejected] sheet\s of [MAT_STEEL] from the \the [src].", + "You remove [amount_ejected] sheet\s of [MAT_STEEL] from \the [src].") return if(!metal && !on) to_chat(user, "\The [src] doesn't work without metal.") @@ -92,8 +92,8 @@ return if(istype(W, /obj/item/pipe)) // NOTE - We must check for matter, otherwise the (free) pipe dispenser can be used to get infinite steel. - if(!W.matter || W.matter[DEFAULT_WALL_MATERIAL] < pipe_cost * SHEET_MATERIAL_AMOUNT) - to_chat(user, "\The [W] doesn't contain enough [DEFAULT_WALL_MATERIAL] to recycle.") + if(!W.matter || W.matter[MAT_STEEL] < pipe_cost * SHEET_MATERIAL_AMOUNT) + to_chat(user, "\The [W] doesn't contain enough [MAT_STEEL] to recycle.") else if(metal + pipe_cost > max_metal) to_chat(user, "\The [src] is full.") else @@ -102,7 +102,7 @@ to_chat(user, "You recycle \the [W].") qdel(W) return - if(istype(W, /obj/item/stack/material) && W.get_material_name() == DEFAULT_WALL_MATERIAL) + if(istype(W, /obj/item/stack/material) && W.get_material_name() == MAT_STEEL) var/result = load_metal(W) if(isnull(result)) to_chat(user, "Unable to load [W] - no metal found.") @@ -145,7 +145,7 @@ /obj/machinery/pipelayer/proc/eject_metal() var/amount_ejected = 0 while (metal >= 1) - var/datum/material/M = get_material_by_name(DEFAULT_WALL_MATERIAL) + var/datum/material/M = get_material_by_name(MAT_STEEL) var/obj/item/stack/material/S = new M.stack_type(get_turf(src)) S.amount = min(metal, S.max_amount) metal -= S.amount @@ -177,7 +177,7 @@ var/obj/item/pipe/P = new pi_type(w_turf, p_type, p_dir) P.setPipingLayer(p_layer) // We used metal to make these, so should be reclaimable! - P.matter = list(DEFAULT_WALL_MATERIAL = pipe_cost * SHEET_MATERIAL_AMOUNT) + P.matter = list(MAT_STEEL = pipe_cost * SHEET_MATERIAL_AMOUNT) P.attackby(W , src) return 1 diff --git a/code/game/machinery/portable_turret.dm b/code/game/machinery/portable_turret.dm index c344a5e881..5bf026c234 100644 --- a/code/game/machinery/portable_turret.dm +++ b/code/game/machinery/portable_turret.dm @@ -959,7 +959,7 @@ return if(1) - if(istype(I, /obj/item/stack/material) && I.get_material_name() == DEFAULT_WALL_MATERIAL) + if(istype(I, /obj/item/stack/material) && I.get_material_name() == MAT_STEEL) var/obj/item/stack/M = I if(M.use(2)) to_chat(user, "You add some metal armor to the interior frame.") @@ -1045,7 +1045,7 @@ //attack_hand() removes the prox sensor if(6) - if(istype(I, /obj/item/stack/material) && I.get_material_name() == DEFAULT_WALL_MATERIAL) + if(istype(I, /obj/item/stack/material) && I.get_material_name() == MAT_STEEL) var/obj/item/stack/M = I if(M.use(2)) to_chat(user, "You add some metal armor to the exterior frame.") diff --git a/code/game/machinery/robot_fabricator.dm b/code/game/machinery/robot_fabricator.dm index 109e17d6a1..43c281e42e 100644 --- a/code/game/machinery/robot_fabricator.dm +++ b/code/game/machinery/robot_fabricator.dm @@ -12,7 +12,7 @@ active_power_usage = 10000 /obj/machinery/robotic_fabricator/attackby(var/obj/item/O as obj, var/mob/user as mob) - if(istype(O, /obj/item/stack/material) && O.get_material_name() == DEFAULT_WALL_MATERIAL) + if(istype(O, /obj/item/stack/material) && O.get_material_name() == MAT_STEEL) var/obj/item/stack/M = O if(metal_amount < 150000.0) var/count = 0 @@ -22,7 +22,7 @@ if(!M.get_amount()) return while(metal_amount < 150000 && M.amount) - metal_amount += O.matter[DEFAULT_WALL_MATERIAL] /*O:height * O:width * O:length * 100000.0*/ + metal_amount += O.matter[MAT_STEEL] /*O:height * O:width * O:length * 100000.0*/ M.use(1) count++ diff --git a/code/game/mecha/mech_fabricator.dm b/code/game/mecha/mech_fabricator.dm index 9452d4ddcc..34e20c2bf0 100644 --- a/code/game/mecha/mech_fabricator.dm +++ b/code/game/mecha/mech_fabricator.dm @@ -35,19 +35,19 @@ var/loading_icon_state = "mechfab-idle" var/list/materials = list( - DEFAULT_WALL_MATERIAL = 0, - "glass" = 0, - "plastic" = 0, + MAT_STEEL = 0, + MAT_GLASS = 0, + MAT_PLASTIC = 0, MAT_GRAPHITE = 0, MAT_PLASTEEL = 0, - "gold" = 0, - "silver" = 0, + MAT_GOLD = 0, + MAT_SILVER = 0, MAT_LEAD = 0, - "osmium" = 0, - "diamond" = 0, + MAT_OSMIUM = 0, + MAT_DIAMOND = 0, MAT_DURASTEEL = 0, - "phoron" = 0, - "uranium" = 0, + MAT_PHORON = 0, + MAT_URANIUM = 0, MAT_VERDANTIUM = 0, MAT_MORPHIUM = 0, MAT_METALHYDROGEN = 0, diff --git a/code/game/mecha/mech_prosthetics.dm b/code/game/mecha/mech_prosthetics.dm index f6695037b3..12f75f1c96 100644 --- a/code/game/mecha/mech_prosthetics.dm +++ b/code/game/mecha/mech_prosthetics.dm @@ -19,19 +19,19 @@ loading_icon_state = "prosfab_loading" materials = list( - DEFAULT_WALL_MATERIAL = 0, - "glass" = 0, - "plastic" = 0, + MAT_STEEL = 0, + MAT_GLASS = 0, + MAT_PLASTIC = 0, MAT_GRAPHITE = 0, MAT_PLASTEEL = 0, - "gold" = 0, - "silver" = 0, + MAT_GLASS = 0, + MAT_SILVER = 0, MAT_LEAD = 0, - "osmium" = 0, - "diamond" = 0, + MAT_OSMIUM = 0, + MAT_DIAMOND = 0, MAT_DURASTEEL = 0, - "phoron" = 0, - "uranium" = 0, + MAT_PHORON = 0, + MAT_URANIUM = 0, MAT_VERDANTIUM = 0, MAT_MORPHIUM = 0) res_max_amount = 200000 diff --git a/code/game/mecha/mecha_parts.dm b/code/game/mecha/mecha_parts.dm index e24bd04460..4be3c27d48 100644 --- a/code/game/mecha/mecha_parts.dm +++ b/code/game/mecha/mecha_parts.dm @@ -211,42 +211,42 @@ name="Phazon Torso" icon_state = "phazon_harness" //construction_time = 300 - //construction_cost = list(DEFAULT_WALL_MATERIAL=35000,"glass"=10000,"phoron"=20000) + //construction_cost = list(MAT_STEEL=35000,"glass"=10000,"phoron"=20000) origin_tech = list(TECH_DATA = 5, TECH_MATERIAL = 7, TECH_BLUESPACE = 6, TECH_POWER = 6) /obj/item/mecha_parts/part/phazon_head name="Phazon Head" icon_state = "phazon_head" //construction_time = 200 - //construction_cost = list(DEFAULT_WALL_MATERIAL=15000,"glass"=5000,"phoron"=10000) + //construction_cost = list(MAT_STEEL=15000,"glass"=5000,"phoron"=10000) origin_tech = list(TECH_DATA = 4, TECH_MATERIAL = 5, TECH_MAGNET = 6) /obj/item/mecha_parts/part/phazon_left_arm name="Phazon Left Arm" icon_state = "phazon_l_arm" //construction_time = 200 - //construction_cost = list(DEFAULT_WALL_MATERIAL=20000,"phoron"=10000) + //construction_cost = list(MAT_STEEL=20000,"phoron"=10000) origin_tech = list(TECH_MATERIAL = 5, TECH_BLUESPACE = 2, TECH_MAGNET = 2) /obj/item/mecha_parts/part/phazon_right_arm name="Phazon Right Arm" icon_state = "phazon_r_arm" //construction_time = 200 - //construction_cost = list(DEFAULT_WALL_MATERIAL=20000,"phoron"=10000) + //construction_cost = list(MAT_STEEL=20000,"phoron"=10000) origin_tech = list(TECH_MATERIAL = 5, TECH_BLUESPACE = 2, TECH_MAGNET = 2) /obj/item/mecha_parts/part/phazon_left_leg name="Phazon Left Leg" icon_state = "phazon_l_leg" //construction_time = 200 - //construction_cost = list(DEFAULT_WALL_MATERIAL=20000,"phoron"=10000) + //construction_cost = list(MAT_STEEL=20000,"phoron"=10000) origin_tech = list(TECH_MATERIAL = 5, TECH_BLUESPACE = 3, TECH_MAGNET = 3) /obj/item/mecha_parts/part/phazon_right_leg name="Phazon Right Leg" icon_state = "phazon_r_leg" //construction_time = 200 - //construction_cost = list(DEFAULT_WALL_MATERIAL=20000,"phoron"=10000) + //construction_cost = list(MAT_STEEL=20000,"phoron"=10000) origin_tech = list(TECH_MATERIAL = 5, TECH_BLUESPACE = 3, TECH_MAGNET = 3) ///////// Odysseus @@ -299,7 +299,7 @@ icon_state = "odysseus_armour" origin_tech = list(TECH_MATERIAL = 3, TECH_ENGINEERING = 3) construction_time = 200 - construction_cost = list(DEFAULT_WALL_MATERIAL=15000)*/ + construction_cost = list(MAT_STEEL=15000)*/ ////////// Janus diff --git a/code/game/mecha/micro/mechfab_designs_vr.dm b/code/game/mecha/micro/mechfab_designs_vr.dm index 4ef7fa76e3..e599f4c7f4 100644 --- a/code/game/mecha/micro/mechfab_designs_vr.dm +++ b/code/game/mecha/micro/mechfab_designs_vr.dm @@ -8,52 +8,52 @@ id = "gopher_chassis" build_path = /obj/item/mecha_parts/micro/chassis/gopher time = 3 - materials = list(DEFAULT_WALL_MATERIAL = 7000) + materials = list(MAT_STEEL = 7000) /datum/design/item/mechfab/gopher/torso name = "Gopher Torso" id = "gopher_torso" build_path = /obj/item/mecha_parts/micro/part/gopher_torso - materials = list(DEFAULT_WALL_MATERIAL = 15000, "glass" = 5250) + materials = list(MAT_STEEL = 15000, MAT_GLASS = 5250) /datum/design/item/mechfab/gopher/left_arm name = "Gopher Left Arm" id = "gopher_left_arm" build_path = /obj/item/mecha_parts/micro/part/gopher_left_arm - materials = list(DEFAULT_WALL_MATERIAL = 8750) + materials = list(MAT_STEEL = 8750) /datum/design/item/mechfab/gopher/right_arm name = "Gopher Right Arm" id = "gopher_right_arm" build_path = /obj/item/mecha_parts/micro/part/gopher_right_arm - materials = list(DEFAULT_WALL_MATERIAL = 8750) + materials = list(MAT_STEEL = 8750) /datum/design/item/mechfab/gopher/left_leg name = "Gopher Left Leg" id = "gopher_left_leg" build_path = /obj/item/mecha_parts/micro/part/gopher_left_leg - materials = list(DEFAULT_WALL_MATERIAL = 12500) + materials = list(MAT_STEEL = 12500) /datum/design/item/mechfab/gopher/right_leg name = "Gopher Right Leg" id = "gopher_right_leg" build_path = /obj/item/mecha_parts/micro/part/gopher_right_leg - materials = list(DEFAULT_WALL_MATERIAL = 12500) + materials = list(MAT_STEEL = 12500) /datum/design/item/mecha/drill/micro name = "Micro Drill" //CHOMPedit id = "micro_drill" build_path = /obj/item/mecha_parts/mecha_equipment/tool/drill/micro time = 5 - materials = list(DEFAULT_WALL_MATERIAL = 2500) + materials = list(MAT_STEEL = 2500) /datum/design/item/mecha/hydraulic_clamp/micro name = "Mounted micro ore box" //CHOMPedit id = "ore_scoop" build_path = /obj/item/mecha_parts/mecha_equipment/tool/micro/orescoop time = 5 - materials = list(DEFAULT_WALL_MATERIAL = 2500) + materials = list(MAT_STEEL = 2500) /datum/design/item/mechfab/polecat category = list("Polecat") @@ -64,44 +64,44 @@ id = "polecat_chassis" build_path = /obj/item/mecha_parts/micro/chassis/polecat time = 3 - materials = list(DEFAULT_WALL_MATERIAL = 7000) + materials = list(MAT_STEEL = 7000) /datum/design/item/mechfab/polecat/torso name = "Polecat Torso" id = "polecat_torso" build_path = /obj/item/mecha_parts/micro/part/polecat_torso - materials = list(DEFAULT_WALL_MATERIAL = 15000, "glass" = 5250) + materials = list(MAT_STEEL = 15000, MAT_GLASS = 5250) /datum/design/item/mechfab/polecat/left_arm name = "Polecat Left Arm" id = "polecat_left_arm" build_path = /obj/item/mecha_parts/micro/part/polecat_left_arm - materials = list(DEFAULT_WALL_MATERIAL = 8750) + materials = list(MAT_STEEL = 8750) /datum/design/item/mechfab/polecat/right_arm name = "Polecat Right Arm" id = "polecat_right_arm" build_path = /obj/item/mecha_parts/micro/part/polecat_right_arm - materials = list(DEFAULT_WALL_MATERIAL = 8750) + materials = list(MAT_STEEL = 8750) /datum/design/item/mechfab/polecat/left_leg name = "Polecat Left Leg" id = "polecat_left_leg" build_path = /obj/item/mecha_parts/micro/part/polecat_left_leg - materials = list(DEFAULT_WALL_MATERIAL = 12500) + materials = list(MAT_STEEL = 12500) /datum/design/item/mechfab/polecat/right_leg name = "Polecat Right Leg" id = "polecat_right_leg" build_path = /obj/item/mecha_parts/micro/part/polecat_right_leg - materials = list(DEFAULT_WALL_MATERIAL = 12500) + materials = list(MAT_STEEL = 12500) /datum/design/item/mechfab/polecat/armour name = "Polecat Armour Plates" id = "polecat_armour" build_path = /obj/item/mecha_parts/micro/part/polecat_armour time = 25 - materials = list(DEFAULT_WALL_MATERIAL = 12500, "plastic" = 7500) + materials = list(MAT_STEEL = 12500, MAT_PLASTIC = 7500) /datum/design/item/mecha/taser/micro name = "\improper TS-12 \"Suppressor\" integrated micro taser" //CHOMPedit @@ -118,7 +118,7 @@ name = "\improper PC-20 \"Lance\" micro laser cannon" //CHOMPedit id = "micro_laser_heavy" req_tech = list(TECH_COMBAT = 4, TECH_MATERIAL = 3, TECH_POWER = 3) - materials = list(DEFAULT_WALL_MATERIAL = 10000, "glass" = 1000, "diamond" = 2000) + materials = list(MAT_STEEL = 10000, MAT_GLASS = 1000, MAT_DIAMOND = 2000) build_path = /obj/item/mecha_parts/mecha_equipment/weapon/energy/laser/microheavy /datum/design/item/mecha/weapon/grenade_launcher/micro @@ -143,54 +143,66 @@ id = "weasel_chassis" build_path = /obj/item/mecha_parts/micro/chassis/weasel time = 3 - materials = list(DEFAULT_WALL_MATERIAL = 7000) + materials = list(MAT_STEEL = 7000) /datum/design/item/mechfab/weasel/torso name = "Weasel Torso" id = "weasel_torso" build_path = /obj/item/mecha_parts/micro/part/weasel_torso - materials = list(DEFAULT_WALL_MATERIAL = 15000, "glass" = 5250) + materials = list(MAT_STEEL = 15000, MAT_GLASS = 5250) /datum/design/item/mechfab/weasel/left_arm name = "Weasel Left Arm" id = "weasel_left_arm" build_path = /obj/item/mecha_parts/micro/part/weasel_left_arm - materials = list(DEFAULT_WALL_MATERIAL = 8750) + materials = list(MAT_STEEL = 8750) /datum/design/item/mechfab/weasel/right_arm name = "Weasel Right Arm" id = "weasel_right_arm" build_path = /obj/item/mecha_parts/micro/part/weasel_right_arm - materials = list(DEFAULT_WALL_MATERIAL = 8750) + materials = list(MAT_STEEL = 8750) /datum/design/item/mechfab/weasel/left_leg name = "Weasel Left Leg" id = "weasel_left_leg" build_path = /obj/item/mecha_parts/micro/part/weasel_left_leg - materials = list(DEFAULT_WALL_MATERIAL = 12500) + materials = list(MAT_STEEL = 12500) /datum/design/item/mechfab/weasel/right_leg name = "Weasel Right Leg" id = "weasel_right_leg" build_path = /obj/item/mecha_parts/micro/part/weasel_right_leg +<<<<<<< HEAD materials = list(DEFAULT_WALL_MATERIAL = 12500) +||||||| parent of 8ab34365f1... Merge pull request #10852 from VOREStation/Arokha/matdefs + materials = list(DEFAULT_WALL_MATERIAL = 12500)*/ +======= + materials = list(MAT_STEEL = 12500)*/ +>>>>>>> 8ab34365f1... Merge pull request #10852 from VOREStation/Arokha/matdefs /datum/design/item/mechfab/weasel/tri_leg name = "Weasel Tri Leg" id = "weasel_right_leg" build_path = /obj/item/mecha_parts/micro/part/weasel_tri_leg - materials = list(DEFAULT_WALL_MATERIAL = 27500) + materials = list(MAT_STEEL = 27500) /datum/design/item/mechfab/weasel/head name = "Weasel Head" id = "weasel_head" build_path = /obj/item/mecha_parts/micro/part/weasel_head +<<<<<<< HEAD materials = list(DEFAULT_WALL_MATERIAL = 7000, "glass" = 2500) */ +||||||| parent of 8ab34365f1... Merge pull request #10852 from VOREStation/Arokha/matdefs + materials = list(DEFAULT_WALL_MATERIAL = 7000, "glass" = 2500) +======= + materials = list(MAT_STEEL = 7000, MAT_GLASS = 2500) +>>>>>>> 8ab34365f1... Merge pull request #10852 from VOREStation/Arokha/matdefs /datum/design/item/mecha/medigun //Who the fuck thought it was a good idea to put this here? name = "BL-3/P directed restoration system" desc = "A portable medical system used to treat external injuries from afar." id = "mech_medigun" req_tech = list(TECH_MATERIAL = 5, TECH_COMBAT = 5, TECH_BIO = 6) - materials = list(DEFAULT_WALL_MATERIAL = 8000, "gold" = 2000, "silver" = 1750, "diamond" = 1500, "phoron" = 4000) + materials = list(MAT_STEEL = 8000, MAT_GOLD = 2000, MAT_SILVER = 1750, MAT_DIAMOND = 1500, MAT_PHORON = 4000) build_path = /obj/item/mecha_parts/mecha_equipment/weapon/energy/medigun \ No newline at end of file diff --git a/code/game/objects/items/devices/advnifrepair.dm b/code/game/objects/items/devices/advnifrepair.dm index b3b54e56c7..913aad68ad 100644 --- a/code/game/objects/items/devices/advnifrepair.dm +++ b/code/game/objects/items/devices/advnifrepair.dm @@ -10,7 +10,7 @@ w_class = ITEMSIZE_SMALL throw_speed = 5 throw_range = 10 - matter = list(DEFAULT_WALL_MATERIAL = 4000, "glass" = 6000) + matter = list(MAT_STEEL = 4000, MAT_GLASS = 6000) origin_tech = list(TECH_MAGNET = 5, TECH_BLUESPACE = 5, TECH_MATERIAL = 5, TECH_ENGINEERING = 5, TECH_DATA = 5) var/datum/reagents/supply var/efficiency = 15 //How many units reagent per 1 unit nanopaste diff --git a/code/game/objects/items/devices/binoculars.dm b/code/game/objects/items/devices/binoculars.dm index ca28fe8df3..15995b15c6 100644 --- a/code/game/objects/items/devices/binoculars.dm +++ b/code/game/objects/items/devices/binoculars.dm @@ -9,7 +9,7 @@ throw_range = 15 throw_speed = 3 - //matter = list("metal" = 50,"glass" = 50) + //matter = list(MAT_STEEL = 50,MAT_GLASS = 50) /obj/item/device/binoculars/attack_self(mob/user) diff --git a/code/game/objects/items/devices/body_snatcher_vr.dm b/code/game/objects/items/devices/body_snatcher_vr.dm index 8696c6166b..1da220c193 100644 --- a/code/game/objects/items/devices/body_snatcher_vr.dm +++ b/code/game/objects/items/devices/body_snatcher_vr.dm @@ -7,7 +7,7 @@ item_state = "healthanalyzer" slot_flags = SLOT_BELT w_class = ITEMSIZE_SMALL - matter = list(DEFAULT_WALL_MATERIAL = 200) + matter = list(MAT_STEEL = 200) origin_tech = list(TECH_MAGNET = 2, TECH_BIO = 2, TECH_ILLEGAL = 1) /obj/item/device/bodysnatcher/New() diff --git a/code/game/objects/items/devices/communicator/communicator.dm b/code/game/objects/items/devices/communicator/communicator.dm index 5a17860018..257694e66d 100644 --- a/code/game/objects/items/devices/communicator/communicator.dm +++ b/code/game/objects/items/devices/communicator/communicator.dm @@ -26,7 +26,7 @@ var/global/list/obj/item/device/communicator/all_communicators = list() show_messages = 1 origin_tech = list(TECH_ENGINEERING = 2, TECH_MAGNET = 2, TECH_BLUESPACE = 2, TECH_DATA = 2) - matter = list(DEFAULT_WALL_MATERIAL = 30,"glass" = 10) + matter = list(MAT_STEEL = 30,MAT_GLASS = 10) var/video_range = 3 var/obj/machinery/camera/communicator/video_source // Their camera diff --git a/code/game/objects/items/devices/debugger.dm b/code/game/objects/items/devices/debugger.dm index 8c200977af..8bfcc03454 100644 --- a/code/game/objects/items/devices/debugger.dm +++ b/code/game/objects/items/devices/debugger.dm @@ -16,7 +16,7 @@ throw_speed = 3 desc = "You can use this on airlocks or APCs to try to hack them without cutting wires." - matter = list(DEFAULT_WALL_MATERIAL = 50,"glass" = 20) + matter = list(MAT_STEEL = 50,MAT_GLASS = 20) origin_tech = list(TECH_MAGNET = 1, TECH_ENGINEERING = 1) var/obj/machinery/telecomms/buffer // simple machine buffer for device linkage diff --git a/code/game/objects/items/devices/flashlight.dm b/code/game/objects/items/devices/flashlight.dm index 69dc2d26a3..9595f1ba80 100644 --- a/code/game/objects/items/devices/flashlight.dm +++ b/code/game/objects/items/devices/flashlight.dm @@ -5,7 +5,7 @@ icon_state = "flashlight" w_class = ITEMSIZE_SMALL slot_flags = SLOT_BELT - matter = list(DEFAULT_WALL_MATERIAL = 50,"glass" = 20) + matter = list(MAT_STEEL = 50,MAT_GLASS = 20) action_button_name = "Toggle Flashlight" light_system = MOVABLE_LIGHT_DIRECTIONAL @@ -261,7 +261,7 @@ slot_flags = SLOT_BELT w_class = ITEMSIZE_SMALL attack_verb = list ("smacked", "thwacked", "thunked") - matter = list(DEFAULT_WALL_MATERIAL = 200,"glass" = 50) + matter = list(MAT_STEEL = 200,MAT_GLASS = 50) hitsound = "swing_hit" /obj/item/device/flashlight/drone diff --git a/code/game/objects/items/devices/gps.dm b/code/game/objects/items/devices/gps.dm index 360cbebd2c..4fb99a9fc0 100644 --- a/code/game/objects/items/devices/gps.dm +++ b/code/game/objects/items/devices/gps.dm @@ -8,7 +8,7 @@ var/list/GPS_list = list() w_class = ITEMSIZE_TINY slot_flags = SLOT_BELT origin_tech = list(TECH_MATERIAL = 2, TECH_BLUESPACE = 2, TECH_MAGNET = 1) - matter = list(DEFAULT_WALL_MATERIAL = 500) + matter = list(MAT_STEEL = 500) var/gps_tag = "GEN0" var/emped = FALSE diff --git a/code/game/objects/items/devices/laserpointer.dm b/code/game/objects/items/devices/laserpointer.dm index 810147dbc4..784fb4ced3 100644 --- a/code/game/objects/items/devices/laserpointer.dm +++ b/code/game/objects/items/devices/laserpointer.dm @@ -6,7 +6,7 @@ item_state = "pen" var/pointer_icon_state slot_flags = SLOT_BELT - matter = list("glass" = 500,"metal" = 500) + matter = list(MAT_GLASS = 500, MAT_STEEL = 500) w_class = 2 //Increased to 2, because diodes are w_class 2. Conservation of matter. origin_tech = list(TECH_MAGNET = 2, TECH_COMBAT = 1) var/turf/pointer_loc diff --git a/code/game/objects/items/devices/multitool.dm b/code/game/objects/items/devices/multitool.dm index 6c0319b991..6fe9aea398 100644 --- a/code/game/objects/items/devices/multitool.dm +++ b/code/game/objects/items/devices/multitool.dm @@ -17,7 +17,7 @@ drop_sound = 'sound/items/drop/multitool.ogg' pickup_sound = 'sound/items/pickup/multitool.ogg' - matter = list(DEFAULT_WALL_MATERIAL = 50,"glass" = 20) + matter = list(MAT_STEEL = 50,MAT_GLASS = 20) var/mode_index = 1 var/toolmode = MULTITOOL_MODE_STANDARD diff --git a/code/game/objects/items/devices/powersink.dm b/code/game/objects/items/devices/powersink.dm index 64c312b914..809418b023 100644 --- a/code/game/objects/items/devices/powersink.dm +++ b/code/game/objects/items/devices/powersink.dm @@ -9,7 +9,7 @@ throw_speed = 1 throw_range = 2 - matter = list(DEFAULT_WALL_MATERIAL = 750) + matter = list(MAT_STEEL = 750) origin_tech = list(TECH_POWER = 3, TECH_ILLEGAL = 5) var/drain_rate = 1500000 // amount of power to drain per tick diff --git a/code/game/objects/items/devices/radio/electropack.dm b/code/game/objects/items/devices/radio/electropack.dm index cc555f8073..5cea839acb 100644 --- a/code/game/objects/items/devices/radio/electropack.dm +++ b/code/game/objects/items/devices/radio/electropack.dm @@ -11,7 +11,7 @@ slot_flags = SLOT_BACK w_class = ITEMSIZE_HUGE - matter = list(DEFAULT_WALL_MATERIAL = 10000,"glass" = 2500) + matter = list(MAT_STEEL = 10000,MAT_GLASS = 2500) var/code = 2 diff --git a/code/game/objects/items/devices/radio/headset.dm b/code/game/objects/items/devices/radio/headset.dm index 7c64f1b203..258fa02632 100644 --- a/code/game/objects/items/devices/radio/headset.dm +++ b/code/game/objects/items/devices/radio/headset.dm @@ -4,7 +4,7 @@ var/radio_desc = "" icon_state = "headset" item_state = null //To remove the radio's state - matter = list(DEFAULT_WALL_MATERIAL = 75) + matter = list(MAT_STEEL = 75) subspace_transmission = 1 canhear_range = 0 // can't hear headsets from very far away slot_flags = SLOT_EARS diff --git a/code/game/objects/items/devices/radio/radio.dm b/code/game/objects/items/devices/radio/radio.dm index 5c16ecb340..5adca5dffb 100644 --- a/code/game/objects/items/devices/radio/radio.dm +++ b/code/game/objects/items/devices/radio/radio.dm @@ -61,7 +61,7 @@ var/global/list/default_medbay_channels = list( var/bs_tx_preload_id var/bs_rx_preload_id - matter = list("glass" = 25,DEFAULT_WALL_MATERIAL = 75) + matter = list(MAT_GLASS = 25,MAT_STEEL = 75) var/const/FREQ_LISTENING = 1 var/list/internal_channels diff --git a/code/game/objects/items/devices/scanners.dm b/code/game/objects/items/devices/scanners.dm index c949884c6f..79f38554b8 100644 --- a/code/game/objects/items/devices/scanners.dm +++ b/code/game/objects/items/devices/scanners.dm @@ -21,7 +21,7 @@ HALOGEN COUNTER - Radcount on mobs w_class = ITEMSIZE_SMALL throw_speed = 5 throw_range = 10 - matter = list(DEFAULT_WALL_MATERIAL = 200) + matter = list(MAT_STEEL = 200) origin_tech = list(TECH_MAGNET = 1, TECH_BIO = 1) var/mode = 1; var/advscan = 0 @@ -337,7 +337,7 @@ HALOGEN COUNTER - Radcount on mobs throw_speed = 4 throw_range = 20 - matter = list(DEFAULT_WALL_MATERIAL = 30,"glass" = 20) + matter = list(MAT_STEEL = 30,MAT_GLASS = 20) origin_tech = list(TECH_MAGNET = 1, TECH_ENGINEERING = 1) @@ -375,7 +375,7 @@ HALOGEN COUNTER - Radcount on mobs throw_speed = 4 throw_range = 20 - matter = list(DEFAULT_WALL_MATERIAL = 30,"glass" = 20) + matter = list(MAT_STEEL = 30,MAT_GLASS = 20) origin_tech = list(TECH_MAGNET = 2, TECH_BIO = 2) var/details = 0 @@ -435,7 +435,7 @@ HALOGEN COUNTER - Radcount on mobs throwforce = 5 throw_speed = 4 throw_range = 20 - matter = list(DEFAULT_WALL_MATERIAL = 30,"glass" = 20) + matter = list(MAT_STEEL = 30,MAT_GLASS = 20) origin_tech = list(TECH_MAGNET = 2, TECH_BIO = 2) var/details = 0 @@ -481,7 +481,7 @@ HALOGEN COUNTER - Radcount on mobs throwforce = 0 throw_speed = 3 throw_range = 7 - matter = list(DEFAULT_WALL_MATERIAL = 30,"glass" = 20) + matter = list(MAT_STEEL = 30,MAT_GLASS = 20) /obj/item/device/slime_scanner/attack(mob/living/M as mob, mob/living/user as mob) if(!istype(M, /mob/living/simple_mob/slime/xenobio)) diff --git a/code/game/objects/items/devices/scanners_vr.dm b/code/game/objects/items/devices/scanners_vr.dm index 93a92f31a0..b0c928e5a2 100644 --- a/code/game/objects/items/devices/scanners_vr.dm +++ b/code/game/objects/items/devices/scanners_vr.dm @@ -12,7 +12,7 @@ var/global/mob/living/carbon/human/dummy/mannequin/sleevemate_mob w_class = ITEMSIZE_SMALL throw_speed = 5 throw_range = 10 - matter = list(DEFAULT_WALL_MATERIAL = 200) + matter = list(MAT_STEEL = 200) origin_tech = list(TECH_MAGNET = 2, TECH_BIO = 2) var/datum/mind/stored_mind diff --git a/code/game/objects/items/devices/suit_cooling.dm b/code/game/objects/items/devices/suit_cooling.dm index aae687a9cb..0e87e867c5 100644 --- a/code/game/objects/items/devices/suit_cooling.dm +++ b/code/game/objects/items/devices/suit_cooling.dm @@ -13,7 +13,7 @@ throw_range = 4 action_button_name = "Toggle Heatsink" - matter = list("steel" = 15000, "glass" = 3500) + matter = list(MAT_STEEL = 15000, MAT_GLASS = 3500) origin_tech = list(TECH_MAGNET = 2, TECH_MATERIAL = 2) var/on = 0 //is it turned on? diff --git a/code/game/objects/items/devices/t_scanner.dm b/code/game/objects/items/devices/t_scanner.dm index bd96945fc6..415f22d8d8 100644 --- a/code/game/objects/items/devices/t_scanner.dm +++ b/code/game/objects/items/devices/t_scanner.dm @@ -7,7 +7,7 @@ item_state = "t-ray" slot_flags = SLOT_BELT w_class = ITEMSIZE_SMALL - matter = list(DEFAULT_WALL_MATERIAL = 150) + matter = list(MAT_STEEL = 150) origin_tech = list(TECH_MAGNET = 1, TECH_ENGINEERING = 1) var/scan_range = 1 @@ -135,14 +135,14 @@ /obj/item/device/t_scanner/upgraded name = "Upgraded T-ray Scanner" desc = "An upgraded version of the terahertz-ray emitter and scanner used to detect underfloor objects such as cables and pipes." - matter = list(DEFAULT_WALL_MATERIAL = 500, PHORON = 150) + matter = list(MAT_STEEL = 500, PHORON = 150) origin_tech = list(TECH_MAGNET = 4, TECH_ENGINEERING = 5) scan_range = 3 /obj/item/device/t_scanner/advanced name = "Advanced T-ray Scanner" desc = "An advanced version of the terahertz-ray emitter and scanner used to detect underfloor objects such as cables and pipes." - matter = list(DEFAULT_WALL_MATERIAL = 1500, PHORON = 200, SILVER = 250) + matter = list(MAT_STEEL = 1500, PHORON = 200, SILVER = 250) origin_tech = list(TECH_MAGNET = 7, TECH_ENGINEERING = 7, TECH_MATERIAL = 6) scan_range = 7 diff --git a/code/game/objects/items/devices/taperecorder.dm b/code/game/objects/items/devices/taperecorder.dm index a778652686..a4ba173aed 100644 --- a/code/game/objects/items/devices/taperecorder.dm +++ b/code/game/objects/items/devices/taperecorder.dm @@ -5,7 +5,7 @@ item_state = "analyzer" w_class = ITEMSIZE_SMALL - matter = list(DEFAULT_WALL_MATERIAL = 60,"glass" = 30) + matter = list(MAT_STEEL = 60,MAT_GLASS = 30) var/emagged = 0.0 var/recording = 0.0 @@ -361,7 +361,7 @@ icon_state = "tape_white" item_state = "analyzer" w_class = ITEMSIZE_TINY - matter = list(DEFAULT_WALL_MATERIAL=20, "glass"=5) + matter = list(MAT_STEEL=20, MAT_GLASS=5) force = 1 throwforce = 0 var/max_capacity = 1800 diff --git a/code/game/objects/items/glassjar.dm b/code/game/objects/items/glassjar.dm index 1c066117a9..d10ff9468a 100644 --- a/code/game/objects/items/glassjar.dm +++ b/code/game/objects/items/glassjar.dm @@ -10,7 +10,7 @@ icon = 'icons/obj/items.dmi' icon_state = "jar" w_class = ITEMSIZE_SMALL - matter = list("glass" = 200) + matter = list(MAT_GLASS = 200) flags = NOBLUDGEON var/list/accept_mobs = list(/mob/living/simple_mob/animal/passive/lizard, /mob/living/simple_mob/animal/passive/mouse, /mob/living/simple_mob/animal/sif/leech, /mob/living/simple_mob/animal/sif/frostfly, /mob/living/simple_mob/animal/sif/glitterfly) var/contains = 0 // 0 = nothing, 1 = money, 2 = animal, 3 = spiderling @@ -134,7 +134,7 @@ /obj/item/glass_jar/fish/plastic name = "plastic tank" desc = "A large plastic tank." - matter = list("plastic" = 4000) + matter = list(MAT_PLASTIC = 4000) /obj/item/glass_jar/fish/update_icon() // Also updates name and desc underlays.Cut() diff --git a/code/game/objects/items/robot/robot_parts.dm b/code/game/objects/items/robot/robot_parts.dm index 87361c2e05..ff9bbad216 100644 --- a/code/game/objects/items/robot/robot_parts.dm +++ b/code/game/objects/items/robot/robot_parts.dm @@ -100,7 +100,7 @@ /obj/item/robot_parts/robot_suit/attackby(obj/item/W as obj, mob/user as mob) ..() - if(istype(W, /obj/item/stack/material) && W.get_material_name() == DEFAULT_WALL_MATERIAL && !l_arm && !r_arm && !l_leg && !r_leg && !chest && !head) + if(istype(W, /obj/item/stack/material) && W.get_material_name() == MAT_STEEL && !l_arm && !r_arm && !l_leg && !r_leg && !chest && !head) var/obj/item/stack/material/M = W if (M.use(1)) var/obj/item/weapon/secbot_assembly/ed209_assembly/B = new /obj/item/weapon/secbot_assembly/ed209_assembly diff --git a/code/game/objects/items/stacks/tiles/tile_types.dm b/code/game/objects/items/stacks/tiles/tile_types.dm index 145a67816e..5ae9b42007 100644 --- a/code/game/objects/items/stacks/tiles/tile_types.dm +++ b/code/game/objects/items/stacks/tiles/tile_types.dm @@ -169,21 +169,21 @@ name = "steel floor tile" singular_name = "steel floor tile" icon_state = "tile_steel" - matter = list("plasteel" = SHEET_MATERIAL_AMOUNT / 4) + matter = list(MAT_PLASTEEL = SHEET_MATERIAL_AMOUNT / 4) no_variants = FALSE /obj/item/stack/tile/floor/steel name = "steel floor tile" singular_name = "steel floor tile" icon_state = "tile_steel" - matter = list("plasteel" = SHEET_MATERIAL_AMOUNT / 4) + matter = list(MAT_PLASTEEL = SHEET_MATERIAL_AMOUNT / 4) no_variants = FALSE /obj/item/stack/tile/floor/white name = "white floor tile" singular_name = "white floor tile" icon_state = "tile_white" - matter = list("plastic" = SHEET_MATERIAL_AMOUNT / 4) + matter = list(MAT_PLASTIC = SHEET_MATERIAL_AMOUNT / 4) no_variants = FALSE /obj/item/stack/tile/floor/yellow @@ -197,14 +197,14 @@ name = "dark floor tile" singular_name = "dark floor tile" icon_state = "tile_steel" - matter = list("plasteel" = SHEET_MATERIAL_AMOUNT / 4) + matter = list(MAT_PLASTEEL = SHEET_MATERIAL_AMOUNT / 4) no_variants = FALSE /obj/item/stack/tile/floor/freezer name = "freezer floor tile" singular_name = "freezer floor tile" icon_state = "tile_freezer" - matter = list("plastic" = SHEET_MATERIAL_AMOUNT / 4) + matter = list(MAT_PLASTIC = SHEET_MATERIAL_AMOUNT / 4) no_variants = FALSE /obj/item/stack/tile/floor/cyborg diff --git a/code/game/objects/items/weapons/RCD.dm b/code/game/objects/items/weapons/RCD.dm index 05e4c2a7c6..08c2ba35d7 100644 --- a/code/game/objects/items/weapons/RCD.dm +++ b/code/game/objects/items/weapons/RCD.dm @@ -307,12 +307,12 @@ item_state = "rcdammo" w_class = ITEMSIZE_SMALL origin_tech = list(TECH_MATERIAL = 2) - matter = list(DEFAULT_WALL_MATERIAL = 30000,"glass" = 15000) + matter = list(DEFAULT_WALL_MATERIAL = 30000,MAT_GLASS = 15000) var/remaining = RCD_MAX_CAPACITY / 3 /obj/item/weapon/rcd_ammo/large name = "high-capacity matter cartridge" desc = "Do not ingest." - matter = list(DEFAULT_WALL_MATERIAL = 45000,"glass" = 22500) + matter = list(DEFAULT_WALL_MATERIAL = 45000,MAT_GLASS = 22500) origin_tech = list(TECH_MATERIAL = 4) remaining = RCD_MAX_CAPACITY diff --git a/code/game/objects/items/weapons/RMS_vr.dm b/code/game/objects/items/weapons/RMS_vr.dm index 4ec4996bdd..60b314f97a 100644 --- a/code/game/objects/items/weapons/RMS_vr.dm +++ b/code/game/objects/items/weapons/RMS_vr.dm @@ -214,7 +214,7 @@ /obj/item/weapon/rms/attack_self(mob/user) var/list/choices = list( "Steel" = radial_image_steel, - "Glass" = radial_image_glass, + MAT_GLASS = radial_image_glass, "Cloth" = radial_image_cloth, "Plastic" = radial_image_plastic, "Stone" = radial_image_stone, diff --git a/code/game/objects/items/weapons/canes.dm b/code/game/objects/items/weapons/canes.dm index 6e61e4669c..ff76a1cc4b 100644 --- a/code/game/objects/items/weapons/canes.dm +++ b/code/game/objects/items/weapons/canes.dm @@ -10,7 +10,7 @@ force = 5.0 throwforce = 7.0 w_class = ITEMSIZE_NORMAL - matter = list(DEFAULT_WALL_MATERIAL = 50) + matter = list(MAT_STEEL = 50) attack_verb = list("bludgeoned", "whacked", "disciplined", "thrashed") /obj/item/weapon/cane/crutch diff --git a/code/game/objects/items/weapons/circuitboards/circuitboards_vr.dm b/code/game/objects/items/weapons/circuitboards/circuitboards_vr.dm index 0084e69477..2311e48983 100644 --- a/code/game/objects/items/weapons/circuitboards/circuitboards_vr.dm +++ b/code/game/objects/items/weapons/circuitboards/circuitboards_vr.dm @@ -52,11 +52,11 @@ name = T_BOARD("timeclock") build_path = /obj/machinery/computer/timeclock board_type = new /datum/frame/frame_types/timeclock_terminal - matter = list(DEFAULT_WALL_MATERIAL = 50, "glass" = 50) + matter = list(MAT_STEEL = 50, MAT_GLASS = 50) // Board for the ID restorer in id_restorer_vr.dm /obj/item/weapon/circuitboard/id_restorer name = T_BOARD("ID restoration console") build_path = /obj/machinery/computer/id_restorer board_type = new /datum/frame/frame_types/id_restorer - matter = list(DEFAULT_WALL_MATERIAL = 50, "glass" = 50) + matter = list(MAT_STEEL = 50, MAT_GLASS = 50) diff --git a/code/game/objects/items/weapons/circuitboards/computer/camera_monitor.dm b/code/game/objects/items/weapons/circuitboards/computer/camera_monitor.dm index 0648b58627..9d47a962e7 100644 --- a/code/game/objects/items/weapons/circuitboards/computer/camera_monitor.dm +++ b/code/game/objects/items/weapons/circuitboards/computer/camera_monitor.dm @@ -36,7 +36,7 @@ name = T_BOARD("entertainment camera monitor") build_path = /obj/machinery/computer/security/telescreen/entertainment board_type = new /datum/frame/frame_types/display - matter = list(DEFAULT_WALL_MATERIAL = 50, "glass" = 50) + matter = list(MAT_STEEL = 50, MAT_GLASS = 50) /obj/item/weapon/circuitboard/security/telescreen/entertainment/New() ..() diff --git a/code/game/objects/items/weapons/circuitboards/frame.dm b/code/game/objects/items/weapons/circuitboards/frame.dm index c1b88506db..56f1dac4d4 100644 --- a/code/game/objects/items/weapons/circuitboards/frame.dm +++ b/code/game/objects/items/weapons/circuitboards/frame.dm @@ -10,37 +10,37 @@ name = T_BOARD("guestpass console") build_path = /obj/machinery/computer/guestpass board_type = new /datum/frame/frame_types/guest_pass_console - matter = list(DEFAULT_WALL_MATERIAL = 50, "glass" = 50) + matter = list(MAT_STEEL = 50, MAT_GLASS = 50) /obj/item/weapon/circuitboard/status_display name = T_BOARD("status display") build_path = /obj/machinery/status_display board_type = new /datum/frame/frame_types/display - matter = list(DEFAULT_WALL_MATERIAL = 50, "glass" = 50) + matter = list(MAT_STEEL = 50, MAT_GLASS = 50) /obj/item/weapon/circuitboard/ai_status_display name = T_BOARD("ai status display") build_path = /obj/machinery/ai_status_display board_type = new /datum/frame/frame_types/display - matter = list(DEFAULT_WALL_MATERIAL = 50, "glass" = 50) + matter = list(MAT_STEEL = 50, MAT_GLASS = 50) /obj/item/weapon/circuitboard/newscaster name = T_BOARD("newscaster") build_path = /obj/machinery/newscaster board_type = new /datum/frame/frame_types/newscaster - matter = list(DEFAULT_WALL_MATERIAL = 50, "glass" = 50) + matter = list(MAT_STEEL = 50, MAT_GLASS = 50) /obj/item/weapon/circuitboard/atm name = T_BOARD("atm") build_path = /obj/machinery/atm board_type = new /datum/frame/frame_types/atm - matter = list(DEFAULT_WALL_MATERIAL = 50, "glass" = 50) + matter = list(MAT_STEEL = 50, MAT_GLASS = 50) /obj/item/weapon/circuitboard/request name = T_BOARD("request console") build_path = /obj/machinery/requests_console board_type = new /datum/frame/frame_types/supply_request_console - matter = list(DEFAULT_WALL_MATERIAL = 50, "glass" = 50) + matter = list(MAT_STEEL = 50, MAT_GLASS = 50) //Alarm @@ -48,31 +48,31 @@ name = T_BOARD("fire alarm") build_path = /obj/machinery/firealarm board_type = new /datum/frame/frame_types/fire_alarm - matter = list(DEFAULT_WALL_MATERIAL = 50, "glass" = 50) + matter = list(MAT_STEEL = 50, MAT_GLASS = 50) /obj/item/weapon/circuitboard/airalarm name = T_BOARD("air alarm") build_path = /obj/machinery/alarm board_type = new /datum/frame/frame_types/air_alarm - matter = list(DEFAULT_WALL_MATERIAL = 50, "glass" = 50) + matter = list(MAT_STEEL = 50, MAT_GLASS = 50) /obj/item/weapon/circuitboard/intercom name = T_BOARD("intercom") build_path = /obj/item/device/radio/intercom board_type = new /datum/frame/frame_types/intercom - matter = list(DEFAULT_WALL_MATERIAL = 50, "glass" = 50) + matter = list(MAT_STEEL = 50, MAT_GLASS = 50) /obj/item/weapon/circuitboard/keycard_auth name = T_BOARD("keycard authenticator") build_path = /obj/machinery/keycard_auth board_type = new /datum/frame/frame_types/keycard_authenticator - matter = list(DEFAULT_WALL_MATERIAL = 50, "glass" = 50) + matter = list(MAT_STEEL = 50, MAT_GLASS = 50) /obj/item/weapon/circuitboard/geiger name = T_BOARD("geiger counter") build_path = /obj/item/device/geiger/wall board_type = new /datum/frame/frame_types/geiger - matter = list(DEFAULT_WALL_MATERIAL = 50, "glass" = 50) + matter = list(MAT_STEEL = 50, MAT_GLASS = 50) //Computer @@ -80,7 +80,7 @@ name = T_BOARD("holopad") build_path = /obj/machinery/hologram/holopad board_type = new /datum/frame/frame_types/holopad - matter = list(DEFAULT_WALL_MATERIAL = 50, "glass" = 50) + matter = list(MAT_STEEL = 50, MAT_GLASS = 50) /obj/item/weapon/circuitboard/scanner_console name = T_BOARD("body scanner console") @@ -100,7 +100,7 @@ name = T_BOARD("photocopier") build_path = /obj/machinery/photocopier board_type = new /datum/frame/frame_types/photocopier - matter = list(DEFAULT_WALL_MATERIAL = 50, "glass" = 50) + matter = list(MAT_STEEL = 50, MAT_GLASS = 50) req_components = list( /obj/item/weapon/stock_parts/scanning_module = 1, /obj/item/weapon/stock_parts/motor = 1, @@ -111,7 +111,7 @@ name = T_BOARD("fax") build_path = /obj/machinery/photocopier/faxmachine board_type = new /datum/frame/frame_types/fax - matter = list(DEFAULT_WALL_MATERIAL = 50, "glass" = 50) + matter = list(MAT_STEEL = 50, MAT_GLASS = 50) req_components = list( /obj/item/weapon/stock_parts/scanning_module = 1, /obj/item/weapon/stock_parts/motor = 1, @@ -152,7 +152,7 @@ name = T_BOARD("washing machine") build_path = /obj/machinery/washing_machine board_type = new /datum/frame/frame_types/washing_machine - matter = list(DEFAULT_WALL_MATERIAL = 50, "glass" = 50) + matter = list(MAT_STEEL = 50, MAT_GLASS = 50) req_components = list( /obj/item/weapon/stock_parts/motor = 1, /obj/item/weapon/stock_parts/gear = 2) diff --git a/code/game/objects/items/weapons/circuitboards/machinery/engineering.dm b/code/game/objects/items/weapons/circuitboards/machinery/engineering.dm index 91aefbf6a5..39096d5e9c 100644 --- a/code/game/objects/items/weapons/circuitboards/machinery/engineering.dm +++ b/code/game/objects/items/weapons/circuitboards/machinery/engineering.dm @@ -6,7 +6,7 @@ name = T_BOARD("pipe layer") build_path = /obj/machinery/pipelayer board_type = new /datum/frame/frame_types/machine - matter = list(DEFAULT_WALL_MATERIAL = 50, "glass" = 50) + matter = list(MAT_STEEL = 50, MAT_GLASS = 50) req_components = list( /obj/item/weapon/stock_parts/motor = 1, /obj/item/weapon/stock_parts/gear = 1, diff --git a/code/game/objects/items/weapons/circuitboards/machinery/kitchen_appliances.dm b/code/game/objects/items/weapons/circuitboards/machinery/kitchen_appliances.dm index 1af9476aff..4343090655 100644 --- a/code/game/objects/items/weapons/circuitboards/machinery/kitchen_appliances.dm +++ b/code/game/objects/items/weapons/circuitboards/machinery/kitchen_appliances.dm @@ -4,7 +4,7 @@ build_path = /obj/machinery/microwave board_type = new /datum/frame/frame_types/microwave contain_parts = 0 - matter = list(DEFAULT_WALL_MATERIAL = 50, "glass" = 50) + matter = list(MAT_STEEL = 50, MAT_GLASS = 50) req_components = list( /obj/item/weapon/stock_parts/console_screen = 1, /obj/item/weapon/stock_parts/capacitor = 3, // Original Capacitor count was 1 @@ -17,7 +17,7 @@ desc = "The circuitboard for an oven." build_path = /obj/machinery/appliance/cooker/oven board_type = new /datum/frame/frame_types/oven - matter = list(DEFAULT_WALL_MATERIAL = 50, "glass" = 50) + matter = list(MAT_STEEL = 50, MAT_GLASS = 50) req_components = list( /obj/item/weapon/stock_parts/capacitor = 3, /obj/item/weapon/stock_parts/scanning_module = 1, @@ -67,7 +67,7 @@ name = T_BOARD("deluxe microwave") build_path = /obj/machinery/microwave/advanced board_type = new /datum/frame/frame_types/microwave - matter = list(DEFAULT_WALL_MATERIAL = 50, "glass" = 50) + matter = list(MAT_STEEL = 50, MAT_GLASS = 50) req_components = list( /obj/item/weapon/stock_parts/console_screen = 1, /obj/item/weapon/stock_parts/motor = 1, diff --git a/code/game/objects/items/weapons/circuitboards/machinery/papershredder.dm b/code/game/objects/items/weapons/circuitboards/machinery/papershredder.dm index ef4575bafb..2b55db3adf 100644 --- a/code/game/objects/items/weapons/circuitboards/machinery/papershredder.dm +++ b/code/game/objects/items/weapons/circuitboards/machinery/papershredder.dm @@ -6,7 +6,7 @@ name = T_BOARD("papershredder") build_path = /obj/machinery/papershredder board_type = new /datum/frame/frame_types/machine - matter = list(DEFAULT_WALL_MATERIAL = 50, "glass" = 50) + matter = list(MAT_STEEL = 50, MAT_GLASS = 50) req_components = list( /obj/item/weapon/stock_parts/motor = 1, /obj/item/weapon/stock_parts/gear = 2, diff --git a/code/game/objects/items/weapons/ecigs.dm b/code/game/objects/items/weapons/ecigs.dm index 5e26bd6e10..a61f6837c3 100644 --- a/code/game/objects/items/weapons/ecigs.dm +++ b/code/game/objects/items/weapons/ecigs.dm @@ -149,7 +149,7 @@ w_class = ITEMSIZE_TINY icon = 'icons/obj/ecig.dmi' icon_state = "ecartridge" - matter = list("metal" = 50, "glass" = 10) + matter = list(MAT_STEEL = 50, MAT_GLASS = 10) volume = 20 flags = OPENCONTAINER diff --git a/code/game/objects/items/weapons/extinguisher.dm b/code/game/objects/items/weapons/extinguisher.dm index bf3295d631..82550df2ae 100644 --- a/code/game/objects/items/weapons/extinguisher.dm +++ b/code/game/objects/items/weapons/extinguisher.dm @@ -10,7 +10,7 @@ throw_speed = 2 throw_range = 10 force = 10 - matter = list(DEFAULT_WALL_MATERIAL = 90) + matter = list(MAT_STEEL = 90) attack_verb = list("slammed", "whacked", "bashed", "thunked", "battered", "bludgeoned", "thrashed") drop_sound = 'sound/items/drop/gascan.ogg' pickup_sound = 'sound/items/pickup/gascan.ogg' diff --git a/code/game/objects/items/weapons/flamethrower.dm b/code/game/objects/items/weapons/flamethrower.dm index ad23dc4f2a..8eba05ddd5 100644 --- a/code/game/objects/items/weapons/flamethrower.dm +++ b/code/game/objects/items/weapons/flamethrower.dm @@ -14,7 +14,7 @@ throw_range = 5 w_class = ITEMSIZE_NORMAL origin_tech = list(TECH_COMBAT = 1, TECH_PHORON = 1) - matter = list(DEFAULT_WALL_MATERIAL = 500) + matter = list(MAT_STEEL = 500) var/status = 0 var/throw_amount = 100 var/lit = 0 //on or off diff --git a/code/game/objects/items/weapons/handcuffs.dm b/code/game/objects/items/weapons/handcuffs.dm index e86a7406b0..f2cdabd5f8 100644 --- a/code/game/objects/items/weapons/handcuffs.dm +++ b/code/game/objects/items/weapons/handcuffs.dm @@ -10,7 +10,7 @@ throw_speed = 2 throw_range = 5 origin_tech = list(TECH_MATERIAL = 1) - matter = list(DEFAULT_WALL_MATERIAL = 500) + matter = list(MAT_STEEL = 500) drop_sound = 'sound/items/drop/accessory.ogg' pickup_sound = 'sound/items/pickup/accessory.ogg' var/elastic diff --git a/code/game/objects/items/weapons/implants/implanter.dm b/code/game/objects/items/weapons/implants/implanter.dm index adb79364dc..606b707fce 100644 --- a/code/game/objects/items/weapons/implants/implanter.dm +++ b/code/game/objects/items/weapons/implants/implanter.dm @@ -6,7 +6,7 @@ throw_speed = 1 throw_range = 5 w_class = ITEMSIZE_SMALL - matter = list(DEFAULT_WALL_MATERIAL = 1000, "glass" = 1000) + matter = list(MAT_STEEL = 1000, MAT_GLASS = 1000) var/obj/item/weapon/implant/imp = null var/active = 1 diff --git a/code/game/objects/items/weapons/material/knives.dm b/code/game/objects/items/weapons/material/knives.dm index 0008ceb9b8..44ffb44e39 100644 --- a/code/game/objects/items/weapons/material/knives.dm +++ b/code/game/objects/items/weapons/material/knives.dm @@ -66,7 +66,7 @@ sharp = 1 edge = 1 force_divisor = 0.15 // 9 when wielded with hardness 60 (steel) - matter = list(DEFAULT_WALL_MATERIAL = 12000) + matter = list(MAT_STEEL = 12000) origin_tech = list(TECH_MATERIAL = 1) attack_verb = list("slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") drop_sound = 'sound/items/drop/knife.ogg' diff --git a/code/game/objects/items/weapons/material/material_armor.dm b/code/game/objects/items/weapons/material/material_armor.dm index 19028dcb71..7fb5efad6e 100644 --- a/code/game/objects/items/weapons/material/material_armor.dm +++ b/code/game/objects/items/weapons/material/material_armor.dm @@ -201,7 +201,7 @@ Protectiveness | Armor % /obj/item/clothing/suit/armor/material name = "armor" - default_material = DEFAULT_WALL_MATERIAL + default_material = MAT_STEEL /obj/item/clothing/suit/armor/material/makeshift name = "sheet armor" @@ -401,7 +401,7 @@ Protectiveness | Armor % /obj/item/clothing/head/helmet/material name = "helmet" flags_inv = HIDEEARS|HIDEEYES|BLOCKHAIR - default_material = DEFAULT_WALL_MATERIAL + default_material = MAT_STEEL /obj/item/clothing/head/helmet/material/makeshift name = "bucket" diff --git a/code/game/objects/items/weapons/material/material_weapons.dm b/code/game/objects/items/weapons/material/material_weapons.dm index 4948adf425..544706fb61 100644 --- a/code/game/objects/items/weapons/material/material_weapons.dm +++ b/code/game/objects/items/weapons/material/material_weapons.dm @@ -23,7 +23,7 @@ var/force_divisor = 0.5 var/thrown_force_divisor = 0.5 var/dulled_divisor = 0.5 //Just drops the damage by half - var/default_material = DEFAULT_WALL_MATERIAL + var/default_material = MAT_STEEL var/datum/material/material var/drops_debris = 1 var/named_from_material = 1 //YW EDIT, Does it prepend the material's name to it's name? diff --git a/code/game/objects/items/weapons/material/twohanded.dm b/code/game/objects/items/weapons/material/twohanded.dm index c45e7125f5..00f2d406a0 100644 --- a/code/game/objects/items/weapons/material/twohanded.dm +++ b/code/game/objects/items/weapons/material/twohanded.dm @@ -174,7 +174,7 @@ force_divisor = 0.3 force = 10 thrown_force_divisor = 1 - default_material = "DEFAULT_WALL_MATERIAL" + default_material = "MAT_STEEL" fragile = 0 sharp = 1 edge = 0 diff --git a/code/game/objects/items/weapons/paint.dm b/code/game/objects/items/weapons/paint.dm index a52202e33b..91c173d530 100644 --- a/code/game/objects/items/weapons/paint.dm +++ b/code/game/objects/items/weapons/paint.dm @@ -9,7 +9,7 @@ var/global/list/cached_icons = list() icon = 'icons/obj/items.dmi' icon_state = "paint_neutral" item_state = "paintcan" - matter = list(DEFAULT_WALL_MATERIAL = 200) + matter = list(MAT_STEEL = 200) w_class = ITEMSIZE_NORMAL amount_per_transfer_from_this = 10 possible_transfer_amounts = list(10,20,30,60) diff --git a/code/game/objects/items/weapons/shields.dm b/code/game/objects/items/weapons/shields.dm index f2fb2d6d23..a2549b3279 100644 --- a/code/game/objects/items/weapons/shields.dm +++ b/code/game/objects/items/weapons/shields.dm @@ -68,7 +68,7 @@ throw_range = 4 w_class = ITEMSIZE_LARGE origin_tech = list(TECH_MATERIAL = 2) - matter = list("glass" = 7500, DEFAULT_WALL_MATERIAL = 1000) + matter = list(MAT_GLASS = 7500, MAT_STEEL = 1000) attack_verb = list("shoved", "bashed") var/cooldown = 0 //shield bash cooldown. based on world.time diff --git a/code/game/objects/items/weapons/surgery_tools.dm b/code/game/objects/items/weapons/surgery_tools.dm index 368b0de98c..89e150330a 100644 --- a/code/game/objects/items/weapons/surgery_tools.dm +++ b/code/game/objects/items/weapons/surgery_tools.dm @@ -41,7 +41,7 @@ name = "retractor" desc = "Retracts stuff." icon_state = "retractor" - matter = list(DEFAULT_WALL_MATERIAL = 10000, "glass" = 5000) + matter = list(MAT_STEEL = 10000, MAT_GLASS = 5000) origin_tech = list(TECH_MATERIAL = 1, TECH_BIO = 1) drop_sound = 'sound/items/drop/scrap.ogg' @@ -52,7 +52,7 @@ name = "hemostat" desc = "You think you have seen this before." icon_state = "hemostat" - matter = list(DEFAULT_WALL_MATERIAL = 5000, "glass" = 2500) + matter = list(MAT_STEEL = 5000, MAT_GLASS = 2500) origin_tech = list(TECH_MATERIAL = 1, TECH_BIO = 1) attack_verb = list("attacked", "pinched") drop_sound = 'sound/items/drop/scrap.ogg' @@ -64,7 +64,7 @@ name = "cautery" desc = "This stops bleeding." icon_state = "cautery" - matter = list(DEFAULT_WALL_MATERIAL = 5000, "glass" = 2500) + matter = list(MAT_STEEL = 5000, MAT_GLASS = 2500) origin_tech = list(TECH_MATERIAL = 1, TECH_BIO = 1) attack_verb = list("burnt") drop_sound = 'sound/items/drop/scrap.ogg' @@ -77,7 +77,7 @@ desc = "You can drill using this item. You dig?" icon_state = "drill" hitsound = 'sound/weapons/circsawhit.ogg' - matter = list(DEFAULT_WALL_MATERIAL = 15000, "glass" = 10000) + matter = list(MAT_STEEL = 15000, MAT_GLASS = 10000) force = 15.0 w_class = ITEMSIZE_NORMAL origin_tech = list(TECH_MATERIAL = 1, TECH_BIO = 1) @@ -106,7 +106,7 @@ throw_speed = 3 throw_range = 5 origin_tech = list(TECH_MATERIAL = 1, TECH_BIO = 1) - matter = list(DEFAULT_WALL_MATERIAL = 10000, "glass" = 5000) + matter = list(MAT_STEEL = 10000, MAT_GLASS = 5000) attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") drop_sound = 'sound/items/drop/knife.ogg' @@ -170,7 +170,7 @@ throw_speed = 3 throw_range = 5 origin_tech = list(TECH_MATERIAL = 1, TECH_BIO = 1) - matter = list(DEFAULT_WALL_MATERIAL = 20000,"glass" = 10000) + matter = list(MAT_STEEL = 20000,MAT_GLASS = 10000) attack_verb = list("attacked", "slashed", "sawed", "cut") sharp = 1 edge = 1 @@ -184,7 +184,7 @@ damtype = SEARING w_class = ITEMSIZE_LARGE origin_tech = list(TECH_BIO = 4, TECH_MATERIAL = 6, TECH_MAGNET = 6) - matter = list(DEFAULT_WALL_MATERIAL = 12500) + matter = list(MAT_STEEL = 12500) attack_verb = list("attacked", "slashed", "seared", "cut") toolspeed = 0.75 diff --git a/code/game/objects/items/weapons/teleportation.dm b/code/game/objects/items/weapons/teleportation.dm index 2d189c3ad2..5d9efa2ad7 100644 --- a/code/game/objects/items/weapons/teleportation.dm +++ b/code/game/objects/items/weapons/teleportation.dm @@ -21,7 +21,7 @@ throw_speed = 4 throw_range = 20 origin_tech = list(TECH_MAGNET = 1) - matter = list(DEFAULT_WALL_MATERIAL = 400) + matter = list(MAT_STEEL = 400) /obj/item/weapon/locator/attack_self(mob/user as mob) user.set_machine(src) @@ -127,7 +127,7 @@ Frequency: throw_speed = 3 throw_range = 5 origin_tech = list(TECH_MAGNET = 1, TECH_BLUESPACE = 3) - matter = list(DEFAULT_WALL_MATERIAL = 10000) + matter = list(MAT_STEEL = 10000) preserve_item = 1 /obj/item/weapon/hand_tele/attack_self(mob/user as mob) diff --git a/code/game/objects/items/weapons/tools/crowbar.dm b/code/game/objects/items/weapons/tools/crowbar.dm index de84168ddf..0d34937656 100644 --- a/code/game/objects/items/weapons/tools/crowbar.dm +++ b/code/game/objects/items/weapons/tools/crowbar.dm @@ -14,7 +14,7 @@ item_state = "crowbar" w_class = ITEMSIZE_SMALL origin_tech = list(TECH_ENGINEERING = 1) - matter = list(DEFAULT_WALL_MATERIAL = 50) + matter = list(MAT_STEEL = 50) attack_verb = list("attacked", "bashed", "battered", "bludgeoned", "whacked") usesound = 'sound/items/crowbar.ogg' drop_sound = 'sound/items/drop/crowbar.ogg' diff --git a/code/game/objects/items/weapons/tools/crowbar_vr.dm b/code/game/objects/items/weapons/tools/crowbar_vr.dm index 51e0755f8a..b376c15af8 100644 --- a/code/game/objects/items/weapons/tools/crowbar_vr.dm +++ b/code/game/objects/items/weapons/tools/crowbar_vr.dm @@ -14,7 +14,7 @@ item_state = "crowbar" w_class = ITEMSIZE_SMALL origin_tech = list(TECH_ENGINEERING = 1) - matter = list(DEFAULT_WALL_MATERIAL = 30) + matter = list(MAT_STEEL = 30) attack_verb = list("whapped", "smacked", "swatted", "thwacked", "hit") usesound = 'sound/items/crowbar.ogg' toolspeed = 1 diff --git a/code/game/objects/items/weapons/tools/screwdriver.dm b/code/game/objects/items/weapons/tools/screwdriver.dm index e29245ec2f..d1be9f9ae6 100644 --- a/code/game/objects/items/weapons/tools/screwdriver.dm +++ b/code/game/objects/items/weapons/tools/screwdriver.dm @@ -17,7 +17,7 @@ usesound = 'sound/items/screwdriver.ogg' drop_sound = 'sound/items/drop/screwdriver.ogg' pickup_sound = 'sound/items/pickup/screwdriver.ogg' - matter = list(DEFAULT_WALL_MATERIAL = 75) + matter = list(MAT_STEEL = 75) attack_verb = list("stabbed") sharp = 1 toolspeed = 1 @@ -115,7 +115,7 @@ desc = "A simple powered hand drill. It's fitted with a screw bit." icon_state = "drill_screw" item_state = "drill" - matter = list(DEFAULT_WALL_MATERIAL = 150, MAT_SILVER = 50) + matter = list(MAT_STEEL = 150, MAT_SILVER = 50) origin_tech = list(TECH_MATERIAL = 2, TECH_ENGINEERING = 2) slot_flags = SLOT_BELT force = 8 diff --git a/code/game/objects/items/weapons/tools/weldingtool.dm b/code/game/objects/items/weapons/tools/weldingtool.dm index 8e62410e68..34a824112c 100644 --- a/code/game/objects/items/weapons/tools/weldingtool.dm +++ b/code/game/objects/items/weapons/tools/weldingtool.dm @@ -17,7 +17,7 @@ w_class = ITEMSIZE_SMALL //Cost to make in the autolathe - matter = list(DEFAULT_WALL_MATERIAL = 70, "glass" = 30) + matter = list(MAT_STEEL = 70, MAT_GLASS = 30) //R&D tech level origin_tech = list(TECH_ENGINEERING = 1) @@ -365,7 +365,7 @@ icon_state = "indwelder" max_fuel = 40 origin_tech = list(TECH_ENGINEERING = 2, TECH_PHORON = 2) - matter = list(DEFAULT_WALL_MATERIAL = 70, "glass" = 60) + matter = list(MAT_STEEL = 70, MAT_GLASS = 60) /obj/item/weapon/weldingtool/largetank/cyborg name = "integrated welding tool" @@ -379,7 +379,7 @@ max_fuel = 80 w_class = ITEMSIZE_NORMAL origin_tech = list(TECH_ENGINEERING = 3) - matter = list(DEFAULT_WALL_MATERIAL = 70, "glass" = 120) + matter = list(MAT_STEEL = 70, MAT_GLASS = 120) /obj/item/weapon/weldingtool/mini name = "emergency welding tool" @@ -441,7 +441,7 @@ max_fuel = 40 w_class = ITEMSIZE_NORMAL origin_tech = list(TECH_ENGINEERING = 4, TECH_PHORON = 3) - matter = list(DEFAULT_WALL_MATERIAL = 70, "glass" = 120) + matter = list(MAT_STEEL = 70, MAT_GLASS = 120) toolspeed = 0.5 change_icons = 0 flame_intensity = 3 diff --git a/code/game/objects/items/weapons/tools/wirecutters.dm b/code/game/objects/items/weapons/tools/wirecutters.dm index 16b193e1bb..ea9a0c47d5 100644 --- a/code/game/objects/items/weapons/tools/wirecutters.dm +++ b/code/game/objects/items/weapons/tools/wirecutters.dm @@ -13,7 +13,7 @@ throw_range = 9 w_class = ITEMSIZE_SMALL origin_tech = list(TECH_MATERIAL = 1, TECH_ENGINEERING = 1) - matter = list(DEFAULT_WALL_MATERIAL = 80) + matter = list(MAT_STEEL = 80) attack_verb = list("pinched", "nipped") hitsound = 'sound/items/wirecutter.ogg' usesound = 'sound/items/wirecutter.ogg' diff --git a/code/game/objects/items/weapons/tools/wrench.dm b/code/game/objects/items/weapons/tools/wrench.dm index 6372d54ad6..052eae0d2c 100644 --- a/code/game/objects/items/weapons/tools/wrench.dm +++ b/code/game/objects/items/weapons/tools/wrench.dm @@ -11,7 +11,7 @@ throwforce = 7 w_class = ITEMSIZE_SMALL origin_tech = list(TECH_MATERIAL = 1, TECH_ENGINEERING = 1) - matter = list(DEFAULT_WALL_MATERIAL = 150) + matter = list(MAT_STEEL = 150) attack_verb = list("bashed", "battered", "bludgeoned", "whacked") usesound = 'sound/items/ratchet.ogg' toolspeed = 1 @@ -72,7 +72,7 @@ icon_state = "drill_bolt" item_state = "drill" usesound = 'sound/items/drill_use.ogg' - matter = list(DEFAULT_WALL_MATERIAL = 150, MAT_SILVER = 50) + matter = list(MAT_STEEL = 150, MAT_SILVER = 50) origin_tech = list(TECH_MATERIAL = 2, TECH_ENGINEERING = 2) force = 8 w_class = ITEMSIZE_SMALL diff --git a/code/game/objects/items/weapons/traps.dm b/code/game/objects/items/weapons/traps.dm index c583ce1eef..d3f9ce5ed2 100644 --- a/code/game/objects/items/weapons/traps.dm +++ b/code/game/objects/items/weapons/traps.dm @@ -17,7 +17,7 @@ throwforce = 0 w_class = ITEMSIZE_NORMAL origin_tech = list(TECH_MATERIAL = 1) - matter = list(DEFAULT_WALL_MATERIAL = 18750) + matter = list(MAT_STEEL = 18750) var/deployed = 0 var/camo_net = FALSE var/stun_length = 0.25 SECONDS diff --git a/code/game/objects/items/weapons/trays.dm b/code/game/objects/items/weapons/trays.dm index 3215af0a10..e16dbbf88a 100644 --- a/code/game/objects/items/weapons/trays.dm +++ b/code/game/objects/items/weapons/trays.dm @@ -11,7 +11,7 @@ throw_speed = 1 throw_range = 5 w_class = ITEMSIZE_NORMAL - matter = list(DEFAULT_WALL_MATERIAL = 3000) + matter = list(MAT_STEEL = 3000) var/list/carrying = list() // List of things on the tray. - Doohl var/max_carry = 10 drop_sound = 'sound/items/trayhit1.ogg' diff --git a/code/game/objects/structures/girders.dm b/code/game/objects/structures/girders.dm index 79c6023ff5..39d30dabfb 100644 --- a/code/game/objects/structures/girders.dm +++ b/code/game/objects/structures/girders.dm @@ -10,7 +10,7 @@ var/displaced_health = 50 var/current_damage = 0 var/cover = 50 //how much cover the girder provides against projectiles. - var/default_material = DEFAULT_WALL_MATERIAL + var/default_material = MAT_STEEL var/datum/material/girder_material var/datum/material/reinf_material var/reinforcing = 0 diff --git a/code/game/objects/structures/simple_doors.dm b/code/game/objects/structures/simple_doors.dm index 6fe2aa384a..c0385b3132 100644 --- a/code/game/objects/structures/simple_doors.dm +++ b/code/game/objects/structures/simple_doors.dm @@ -33,7 +33,7 @@ /obj/structure/simple_door/proc/set_material(var/material_name) if(!material_name) - material_name = DEFAULT_WALL_MATERIAL + material_name = MAT_STEEL material = get_material_by_name(material_name) if(!material) return diff --git a/code/game/objects/structures/stool_bed_chair_nest/bed.dm b/code/game/objects/structures/stool_bed_chair_nest/bed.dm index d6694fb551..bf9f6ecf2f 100644 --- a/code/game/objects/structures/stool_bed_chair_nest/bed.dm +++ b/code/game/objects/structures/stool_bed_chair_nest/bed.dm @@ -26,7 +26,7 @@ ..(newloc) color = null if(!new_material) - new_material = DEFAULT_WALL_MATERIAL + new_material = MAT_STEEL material = get_material_by_name(new_material) if(!istype(material)) qdel(src) diff --git a/code/game/objects/structures/stool_bed_chair_nest/chairs_vr.dm b/code/game/objects/structures/stool_bed_chair_nest/chairs_vr.dm index 0d5f8f45a5..7f9e62075e 100644 --- a/code/game/objects/structures/stool_bed_chair_nest/chairs_vr.dm +++ b/code/game/objects/structures/stool_bed_chair_nest/chairs_vr.dm @@ -221,7 +221,7 @@ add_overlay(I) /obj/structure/bed/chair/bay/comfy/captain/New(var/newloc, var/new_material, var/new_padding_material) - ..(newloc, DEFAULT_WALL_MATERIAL, "blue") + ..(newloc, MAT_STEEL, "blue") /obj/structure/bed/chair/bay/shuttle name = "shuttle seat" @@ -233,7 +233,7 @@ var/padding = "blue" /obj/structure/bed/chair/bay/shuttle/New(var/newloc, var/new_material, var/new_padding_material) - ..(newloc, DEFAULT_WALL_MATERIAL, padding) + ..(newloc, MAT_STEEL, padding) /obj/structure/bed/chair/bay/shuttle/post_buckle_mob() playsound(src,buckling_sound,75,1) diff --git a/code/game/objects/structures/stool_bed_chair_nest/stools.dm b/code/game/objects/structures/stool_bed_chair_nest/stools.dm index 48cd83a03d..5f77d31022 100644 --- a/code/game/objects/structures/stool_bed_chair_nest/stools.dm +++ b/code/game/objects/structures/stool_bed_chair_nest/stools.dm @@ -21,7 +21,7 @@ var/global/list/stool_cache = list() //haha stool /obj/item/weapon/stool/New(var/newloc, var/new_material, var/new_padding_material) ..(newloc) if(!new_material) - new_material = DEFAULT_WALL_MATERIAL + new_material = MAT_STEEL material = get_material_by_name(new_material) if(new_padding_material) padding_material = get_material_by_name(new_padding_material) diff --git a/code/modules/assembly/assembly.dm b/code/modules/assembly/assembly.dm index 8cb1f9c0e5..1a0b58bdc9 100644 --- a/code/modules/assembly/assembly.dm +++ b/code/modules/assembly/assembly.dm @@ -4,7 +4,7 @@ icon = 'icons/obj/assemblies/new_assemblies.dmi' icon_state = "" w_class = ITEMSIZE_SMALL - matter = list(DEFAULT_WALL_MATERIAL = 100) + matter = list(MAT_STEEL = 100) throwforce = 2 throw_speed = 3 throw_range = 10 diff --git a/code/modules/assembly/igniter.dm b/code/modules/assembly/igniter.dm index a53fbad0ec..8b45b84084 100644 --- a/code/modules/assembly/igniter.dm +++ b/code/modules/assembly/igniter.dm @@ -3,7 +3,7 @@ desc = "A small electronic device able to ignite combustable substances." icon_state = "igniter" origin_tech = list(TECH_MAGNET = 1) - matter = list(DEFAULT_WALL_MATERIAL = 500, MAT_GLASS = 50) + matter = list(MAT_STEEL = 500, MAT_GLASS = 50) secured = 1 wires = WIRE_RECEIVE diff --git a/code/modules/assembly/infrared.dm b/code/modules/assembly/infrared.dm index b9a8302aa1..67bf2c851c 100644 --- a/code/modules/assembly/infrared.dm +++ b/code/modules/assembly/infrared.dm @@ -5,7 +5,7 @@ desc = "Emits a visible or invisible beam and is triggered when the beam is interrupted." icon_state = "infrared" origin_tech = list(TECH_MAGNET = 2) - matter = list(DEFAULT_WALL_MATERIAL = 1000, MAT_GLASS = 500) + matter = list(MAT_STEEL = 1000, MAT_GLASS = 500) wires = WIRE_PULSE diff --git a/code/modules/assembly/mousetrap.dm b/code/modules/assembly/mousetrap.dm index 7dc4ac7166..31f4ca5244 100644 --- a/code/modules/assembly/mousetrap.dm +++ b/code/modules/assembly/mousetrap.dm @@ -3,7 +3,7 @@ desc = "A handy little spring-loaded trap for catching pesty rodents." icon_state = "mousetrap" origin_tech = list(TECH_COMBAT = 1) - matter = list(DEFAULT_WALL_MATERIAL = 100) + matter = list(MAT_STEEL = 100) var/armed = 0 diff --git a/code/modules/assembly/proximity.dm b/code/modules/assembly/proximity.dm index 566ba320e4..cc74445993 100644 --- a/code/modules/assembly/proximity.dm +++ b/code/modules/assembly/proximity.dm @@ -3,7 +3,7 @@ desc = "Used for scanning and alerting when someone enters a certain proximity." icon_state = "prox" origin_tech = list(TECH_MAGNET = 1) - matter = list(DEFAULT_WALL_MATERIAL = 800, MAT_GLASS = 200) + matter = list(MAT_STEEL = 800, MAT_GLASS = 200) wires = WIRE_PULSE secured = 0 diff --git a/code/modules/assembly/signaler.dm b/code/modules/assembly/signaler.dm index 91cea6b775..daca806f2d 100644 --- a/code/modules/assembly/signaler.dm +++ b/code/modules/assembly/signaler.dm @@ -4,7 +4,7 @@ icon_state = "signaller" item_state = "signaler" origin_tech = list(TECH_MAGNET = 1) - matter = list(DEFAULT_WALL_MATERIAL = 1000, MAT_GLASS = 200) + matter = list(MAT_STEEL = 1000, MAT_GLASS = 200) wires = WIRE_RECEIVE | WIRE_PULSE | WIRE_RADIO_PULSE | WIRE_RADIO_RECEIVE secured = TRUE diff --git a/code/modules/assembly/timer.dm b/code/modules/assembly/timer.dm index 5a0109a031..33fefb58bf 100644 --- a/code/modules/assembly/timer.dm +++ b/code/modules/assembly/timer.dm @@ -3,7 +3,7 @@ desc = "Used to time things. Works well with contraptions which has to count down. Tick tock." icon_state = "timer" origin_tech = list(TECH_MAGNET = 1) - matter = list(DEFAULT_WALL_MATERIAL = 500, MAT_GLASS = 50) + matter = list(MAT_STEEL = 500, MAT_GLASS = 50) wires = WIRE_PULSE diff --git a/code/modules/assembly/voice.dm b/code/modules/assembly/voice.dm index e0d383e223..66026a7993 100644 --- a/code/modules/assembly/voice.dm +++ b/code/modules/assembly/voice.dm @@ -3,7 +3,7 @@ desc = "A small electronic device able to record a voice sample, and send a signal when that sample is repeated." icon_state = "voice" origin_tech = list(TECH_MAGNET = 1) - matter = list(DEFAULT_WALL_MATERIAL = 500, MAT_GLASS = 50) + matter = list(MAT_STEEL = 500, MAT_GLASS = 50) var/listening = 0 var/recorded //the activation message diff --git a/code/modules/clothing/glasses/glasses.dm b/code/modules/clothing/glasses/glasses.dm index bd08560380..a659a02322 100644 --- a/code/modules/clothing/glasses/glasses.dm +++ b/code/modules/clothing/glasses/glasses.dm @@ -344,7 +344,7 @@ BLIND // can't see anything icon_state = "welding-g" item_state_slots = list(slot_r_hand_str = "welding-g", slot_l_hand_str = "welding-g") action_button_name = "Flip Welding Goggles" - matter = list(DEFAULT_WALL_MATERIAL = 1500, "glass" = 1000) + matter = list(MAT_STEEL = 1500, MAT_GLASS = 1000) item_flags = AIRTIGHT var/up = 0 flash_protection = FLASH_PROTECTION_MAJOR diff --git a/code/modules/clothing/gloves/miscellaneous.dm b/code/modules/clothing/gloves/miscellaneous.dm index e2029c3c49..3abb4c223f 100644 --- a/code/modules/clothing/gloves/miscellaneous.dm +++ b/code/modules/clothing/gloves/miscellaneous.dm @@ -125,7 +125,7 @@ name = "knuckle dusters" desc = "A pair of brass knuckles. Generally used to enhance the user's punches." icon_state = "knuckledusters" - matter = list(DEFAULT_WALL_MATERIAL = 500) + matter = list(MAT_STEEL = 500) attack_verb = list("punched", "beaten", "struck") flags = THICKMATERIAL // Stops rings from increasing hit strength siemens_coefficient = 1 diff --git a/code/modules/clothing/head/misc.dm b/code/modules/clothing/head/misc.dm index 0d567bb7e8..8636b5b606 100644 --- a/code/modules/clothing/head/misc.dm +++ b/code/modules/clothing/head/misc.dm @@ -42,7 +42,7 @@ name = "magnetic 'pin'" addblends = null desc = "Finally, a hair pin even a Morpheus chassis can use." - matter = list(DEFAULT_WALL_MATERIAL = 10) + matter = list(MAT_STEEL = 10) /obj/item/clothing/head/pin/flower name = "red flower pin" diff --git a/code/modules/clothing/head/misc_special.dm b/code/modules/clothing/head/misc_special.dm index f2465ab58c..780333ae7e 100644 --- a/code/modules/clothing/head/misc_special.dm +++ b/code/modules/clothing/head/misc_special.dm @@ -18,7 +18,7 @@ desc = "A head-mounted face cover designed to protect the wearer completely from space-arc eye." icon_state = "welding" item_state_slots = list(slot_r_hand_str = "welding", slot_l_hand_str = "welding") - matter = list(DEFAULT_WALL_MATERIAL = 3000, "glass" = 1000) + matter = list(MAT_STEEL = 3000, MAT_GLASS = 1000) var/up = 0 armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) flags_inv = (HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE) diff --git a/code/modules/clothing/rings/material.dm b/code/modules/clothing/rings/material.dm index 355d6acf58..3607b6bc8a 100644 --- a/code/modules/clothing/rings/material.dm +++ b/code/modules/clothing/rings/material.dm @@ -7,7 +7,7 @@ /obj/item/clothing/gloves/ring/material/New(var/newloc, var/new_material) ..(newloc) if(!new_material) - new_material = DEFAULT_WALL_MATERIAL + new_material = MAT_STEEL material = get_material_by_name(new_material) if(!istype(material)) qdel(src) diff --git a/code/modules/clothing/spacesuits/breaches.dm b/code/modules/clothing/spacesuits/breaches.dm index 12bd3e7f0b..6f23f2b57f 100644 --- a/code/modules/clothing/spacesuits/breaches.dm +++ b/code/modules/clothing/spacesuits/breaches.dm @@ -181,7 +181,7 @@ var/global/list/breach_burn_descriptors = list( if(istype(W,/obj/item/stack/material)) var/repair_power = 0 switch(W.get_material_name()) - if(DEFAULT_WALL_MATERIAL) + if(MAT_STEEL) repair_power = 2 if("plastic") repair_power = 1 diff --git a/code/modules/clothing/spacesuits/rig/modules/modules.dm b/code/modules/clothing/spacesuits/rig/modules/modules.dm index dc8a31c8e6..fe2176215a 100644 --- a/code/modules/clothing/spacesuits/rig/modules/modules.dm +++ b/code/modules/clothing/spacesuits/rig/modules/modules.dm @@ -13,7 +13,7 @@ desc = "It looks pretty sciency." icon = 'icons/obj/rig_modules.dmi' icon_state = "module" - matter = list(DEFAULT_WALL_MATERIAL = 20000, "plastic" = 30000, "glass" = 5000) + matter = list(MAT_STEEL = 20000, MAT_PLASTIC = 30000, MAT_GLASS = 5000) var/damage = 0 var/obj/item/weapon/rig/holder diff --git a/code/modules/clothing/under/accessories/accessory.dm b/code/modules/clothing/under/accessories/accessory.dm index 668c3e272c..3b4001154c 100644 --- a/code/modules/clothing/under/accessories/accessory.dm +++ b/code/modules/clothing/under/accessories/accessory.dm @@ -398,7 +398,7 @@ /obj/item/clothing/accessory/bracelet/material/New(var/newloc, var/new_material) ..(newloc) if(!new_material) - new_material = DEFAULT_WALL_MATERIAL + new_material = MAT_STEEL material = get_material_by_name(new_material) if(!istype(material)) qdel(src) diff --git a/code/modules/clothing/under/accessories/accessory_vr.dm b/code/modules/clothing/under/accessories/accessory_vr.dm index 9cb4a6dab0..aa76755117 100644 --- a/code/modules/clothing/under/accessories/accessory_vr.dm +++ b/code/modules/clothing/under/accessories/accessory_vr.dm @@ -288,7 +288,7 @@ icon_state = "collar_holo" item_state = "collar_holo" overlay_state = "collar_holo" - matter = list(DEFAULT_WALL_MATERIAL = 50) + matter = list(MAT_STEEL = 50) /obj/item/clothing/accessory/collar/holo/indigestible desc = "A special variety of the holo-collar that seems to be made of a very durable fabric that fits around the neck." diff --git a/code/modules/detectivework/tools/uvlight.dm b/code/modules/detectivework/tools/uvlight.dm index c59b3cb578..ba316f8997 100644 --- a/code/modules/detectivework/tools/uvlight.dm +++ b/code/modules/detectivework/tools/uvlight.dm @@ -6,7 +6,7 @@ w_class = ITEMSIZE_SMALL item_state = "electronic" action_button_name = "Toggle UV light" - matter = list(DEFAULT_WALL_MATERIAL = 150) + matter = list(MAT_STEEL = 150) origin_tech = list(TECH_MAGNET = 1, TECH_ENGINEERING = 1) var/list/scanned = list() diff --git a/code/modules/economy/mint.dm b/code/modules/economy/mint.dm index e3e72693fe..8417663150 100644 --- a/code/modules/economy/mint.dm +++ b/code/modules/economy/mint.dm @@ -15,7 +15,7 @@ var/amt_uranium = 0 var/newCoins = 0 //how many coins the machine made in it's last load var/processing = 0 - var/chosen = DEFAULT_WALL_MATERIAL //which material will be used to make coins + var/chosen = MAT_STEEL //which material will be used to make coins var/coinsToProduce = 10 @@ -50,7 +50,7 @@ amt_phoron += 100 * O.get_amount() if("uranium") amt_uranium += 100 * O.get_amount() - if(DEFAULT_WALL_MATERIAL) + if(MAT_STEEL) amt_iron += 100 * O.get_amount() else processed = 0 @@ -79,7 +79,7 @@ else dat += text("Choose") dat += text("
Iron inserted: [amt_iron] ") - if (chosen == DEFAULT_WALL_MATERIAL) + if (chosen == MAT_STEEL) dat += text("chosen") else dat += text("Choose") @@ -131,7 +131,7 @@ icon_state = "coinpress1" var/obj/item/weapon/moneybag/M switch(chosen) - if(DEFAULT_WALL_MATERIAL) + if(MAT_STEEL) while(amt_iron > 0 && coinsToProduce > 0) if (locate(/obj/item/weapon/moneybag,output.loc)) M = locate(/obj/item/weapon/moneybag,output.loc) diff --git a/code/modules/food/drinkingglass/drinkingglass.dm b/code/modules/food/drinkingglass/drinkingglass.dm index a83c869495..1ef6ebfdcd 100644 --- a/code/modules/food/drinkingglass/drinkingglass.dm +++ b/code/modules/food/drinkingglass/drinkingglass.dm @@ -25,7 +25,7 @@ possible_transfer_amounts = list(5,10,15,30) flags = OPENCONTAINER - matter = list("glass" = 60) + matter = list(MAT_GLASS = 60) /obj/item/weapon/reagent_containers/food/drinks/glass2/examine(mob/M as mob) . = ..() diff --git a/code/modules/food/drinkingglass/glass_types.dm b/code/modules/food/drinkingglass/glass_types.dm index a0d484ddab..a05216ea1e 100644 --- a/code/modules/food/drinkingglass/glass_types.dm +++ b/code/modules/food/drinkingglass/glass_types.dm @@ -7,7 +7,7 @@ volume = 30 possible_transfer_amounts = list(5,10,15,30) rim_pos = list(23,13,20) // y, x0, x1 - matter = list("glass" = 60) + matter = list(MAT_GLASS = 60) /obj/item/weapon/reagent_containers/food/drinks/glass2/rocks name = "rocks glass" @@ -17,7 +17,7 @@ volume = 20 possible_transfer_amounts = list(5,10,20) rim_pos = list(21, 10, 23) - matter = list("glass" = 40) + matter = list(MAT_GLASS = 40) /obj/item/weapon/reagent_containers/food/drinks/glass2/shake name = "milkshake glass" @@ -27,7 +27,7 @@ volume = 30 possible_transfer_amounts = list(5,10,15,30) rim_pos = list(25, 13, 21) - matter = list("glass" = 30) + matter = list(MAT_GLASS = 30) /obj/item/weapon/reagent_containers/food/drinks/glass2/cocktail name = "cocktail glass" @@ -37,7 +37,7 @@ volume = 15 possible_transfer_amounts = list(5,10,15) rim_pos = list(22, 13, 21) - matter = list("glass" = 30) + matter = list(MAT_GLASS = 30) /obj/item/weapon/reagent_containers/food/drinks/glass2/shot name = "shot glass" @@ -47,7 +47,7 @@ volume = 5 possible_transfer_amounts = list(1,2,5) rim_pos = list(17, 13, 21) - matter = list("glass" = 10) + matter = list(MAT_GLASS = 10) /obj/item/weapon/reagent_containers/food/drinks/glass2/pint name = "pint glass" @@ -57,7 +57,7 @@ volume = 60 possible_transfer_amounts = list(5,10,15,30,60) rim_pos = list(25, 12, 21) - matter = list("glass" = 120) + matter = list(MAT_GLASS = 120) /obj/item/weapon/reagent_containers/food/drinks/glass2/mug name = "glass mug" @@ -67,7 +67,7 @@ volume = 40 possible_transfer_amounts = list(5,10,20,40) rim_pos = list(22, 12, 20) - matter = list("glass" = 80) + matter = list(MAT_GLASS = 80) /obj/item/weapon/reagent_containers/food/drinks/glass2/wine name = "wine glass" @@ -77,4 +77,4 @@ volume = 25 possible_transfer_amounts = list(5, 10, 15, 25) rim_pos = list(25, 12, 21) - matter = list("glass" = 50) \ No newline at end of file + matter = list(MAT_GLASS = 50) \ No newline at end of file diff --git a/code/modules/food/drinkingglass/metaglass.dm b/code/modules/food/drinkingglass/metaglass.dm index 0301170db4..b8167f10bb 100644 --- a/code/modules/food/drinkingglass/metaglass.dm +++ b/code/modules/food/drinkingglass/metaglass.dm @@ -6,7 +6,7 @@ volume = 30 unacidable = 1 //glass center_of_mass = list("x"=16, "y"=10) - matter = list("glass" = 500) + matter = list(MAT_GLASS = 500) icon = 'icons/obj/drinks.dmi' /obj/item/weapon/reagent_containers/food/drinks/metaglass/metapint diff --git a/code/modules/food/drinkingglass/serving_glasses.dm b/code/modules/food/drinkingglass/serving_glasses.dm index 16c0c15cc9..70135477eb 100644 --- a/code/modules/food/drinkingglass/serving_glasses.dm +++ b/code/modules/food/drinkingglass/serving_glasses.dm @@ -6,7 +6,7 @@ filling_states = list(10, 20, 30, 40, 50, 60, 70, 80, 90, 100) volume = 120 possible_transfer_amounts = list(5,15,30) - matter = list("glass" = 50) + matter = list(MAT_GLASS = 50) /obj/item/weapon/reagent_containers/food/drinks/glass2/pitcher name = "plastic pitcher" @@ -16,5 +16,5 @@ filling_states = list(15, 30, 50, 70, 85, 100) volume = 120 possible_transfer_amounts = list(5,15,30) - matter = list("plastic" = 50) + matter = list(MAT_PLASTIC = 50) \ No newline at end of file diff --git a/code/modules/food/drinkingglass/shaker.dm b/code/modules/food/drinkingglass/shaker.dm index 2cde81d562..1fa37e0b67 100644 --- a/code/modules/food/drinkingglass/shaker.dm +++ b/code/modules/food/drinkingglass/shaker.dm @@ -5,7 +5,7 @@ icon_state = "fitness-cup_black" base_icon = "fitness-cup" volume = 100 - matter = list("plastic" = 2000) + matter = list(MAT_PLASTIC = 2000) filling_states = list(10,20,30,40,50,60,70,80,90,100) possible_transfer_amounts = list(5, 10, 15, 25) rim_pos = null // no fruit slices diff --git a/code/modules/food/food/drinks/drinkingglass.dm b/code/modules/food/food/drinks/drinkingglass.dm index b818663d86..92609ebbd4 100644 --- a/code/modules/food/food/drinks/drinkingglass.dm +++ b/code/modules/food/food/drinks/drinkingglass.dm @@ -8,7 +8,7 @@ volume = 30 unacidable = 1 //glass center_of_mass = list("x"=16, "y"=10) - matter = list("glass" = 500) + matter = list(MAT_GLASS = 500) /obj/item/weapon/reagent_containers/food/drinks/drinkingglass/on_reagent_change() if (!length(reagents?.reagent_list)) @@ -101,7 +101,7 @@ icon_state = "shotglass" amount_per_transfer_from_this = 10 volume = 10 - matter = list("glass" = 175) + matter = list(MAT_GLASS = 175) /obj/item/weapon/reagent_containers/food/drinks/drinkingglass/shotglass/on_reagent_change() cut_overlays() @@ -125,7 +125,7 @@ desc = "Big enough to contain enough protein to get perfectly swole. Don't mind the bits." icon_state = "fitness-cup_black" volume = 100 - matter = list("plastic" = 2000) + matter = list(MAT_PLASTIC = 2000) /obj/item/weapon/reagent_containers/food/drinks/drinkingglass/fitnessflask/Initialize() . = ..() diff --git a/code/modules/integrated_electronics/core/printer.dm b/code/modules/integrated_electronics/core/printer.dm index 173e81adea..9970f1dd5f 100644 --- a/code/modules/integrated_electronics/core/printer.dm +++ b/code/modules/integrated_electronics/core/printer.dm @@ -36,7 +36,7 @@ /obj/item/device/integrated_circuit_printer/attackby(var/obj/item/O, var/mob/user) if(istype(O,/obj/item/stack/material)) var/obj/item/stack/material/stack = O - if(stack.material.name == DEFAULT_WALL_MATERIAL) + if(stack.material.name == MAT_STEEL) if(debug) to_chat(user, span("warning", "\The [src] does not need any material.")) return diff --git a/code/modules/materials/materials/glass.dm b/code/modules/materials/materials/glass.dm index 6ce5434bcf..dd1f09821e 100644 --- a/code/modules/materials/materials/glass.dm +++ b/code/modules/materials/materials/glass.dm @@ -106,7 +106,7 @@ hardness = 40 weight = 30 stack_origin_tech = list(TECH_MATERIAL = 2) - composite_material = list(DEFAULT_WALL_MATERIAL = SHEET_MATERIAL_AMOUNT / 2, "glass" = SHEET_MATERIAL_AMOUNT) + composite_material = list(MAT_STEEL = SHEET_MATERIAL_AMOUNT / 2, MAT_GLASS = SHEET_MATERIAL_AMOUNT) window_options = list("One Direction" = 1, "Full Window" = 4, "Windoor" = 2) created_window = /obj/structure/window/reinforced created_fulltile_window = /obj/structure/window/reinforced/full @@ -139,5 +139,5 @@ hardness = 40 weight = 30 stack_origin_tech = list(TECH_MATERIAL = 2) - composite_material = list(DEFAULT_WALL_MATERIAL = SHEET_MATERIAL_AMOUNT / 2, "borosilicate glass" = SHEET_MATERIAL_AMOUNT) + composite_material = list(MAT_STEEL = SHEET_MATERIAL_AMOUNT / 2, "borosilicate glass" = SHEET_MATERIAL_AMOUNT) rod_product = null diff --git a/code/modules/materials/materials/glass_vr.dm b/code/modules/materials/materials/glass_vr.dm index 9d7cd81879..d20e0575f3 100644 --- a/code/modules/materials/materials/glass_vr.dm +++ b/code/modules/materials/materials/glass_vr.dm @@ -13,7 +13,7 @@ created_fulltile_window = /obj/structure/window/titanium/full wire_product = null rod_product = /obj/item/stack/material/glass/titanium - composite_material = list(MAT_TITANIUM = SHEET_MATERIAL_AMOUNT, "glass" = SHEET_MATERIAL_AMOUNT) + composite_material = list(MAT_TITANIUM = SHEET_MATERIAL_AMOUNT, MAT_GLASS = SHEET_MATERIAL_AMOUNT) /datum/material/glass/plastaniumglass name = MAT_PLASTITANIUMGLASS @@ -30,4 +30,4 @@ created_fulltile_window = /obj/structure/window/plastitanium/full wire_product = null rod_product = /obj/item/stack/material/glass/plastitanium - composite_material = list(MAT_PLASTITANIUM = SHEET_MATERIAL_AMOUNT, "glass" = SHEET_MATERIAL_AMOUNT) + composite_material = list(MAT_PLASTITANIUM = SHEET_MATERIAL_AMOUNT, MAT_GLASS = SHEET_MATERIAL_AMOUNT) diff --git a/code/modules/materials/materials/holographic.dm b/code/modules/materials/materials/holographic.dm index ff6474ec1e..1d2501fa63 100644 --- a/code/modules/materials/materials/holographic.dm +++ b/code/modules/materials/materials/holographic.dm @@ -1,6 +1,6 @@ /datum/material/steel/holographic - name = "holo" + DEFAULT_WALL_MATERIAL - display_name = DEFAULT_WALL_MATERIAL + name = "holo" + MAT_STEEL + display_name = MAT_STEEL stack_type = null shard_type = SHARD_NONE diff --git a/code/modules/materials/materials/metals/plasteel.dm b/code/modules/materials/materials/metals/plasteel.dm index 6fc7ed29de..0c436efded 100644 --- a/code/modules/materials/materials/metals/plasteel.dm +++ b/code/modules/materials/materials/metals/plasteel.dm @@ -12,7 +12,7 @@ protectiveness = 20 // 50% conductivity = 13 // For the purposes of balance. stack_origin_tech = list(TECH_MATERIAL = 2) - composite_material = list(DEFAULT_WALL_MATERIAL = SHEET_MATERIAL_AMOUNT, "platinum" = SHEET_MATERIAL_AMOUNT) //todo + composite_material = list(MAT_STEEL = SHEET_MATERIAL_AMOUNT, "platinum" = SHEET_MATERIAL_AMOUNT) //todo supply_conversion_value = 6 /datum/material/plasteel/generate_recipes() diff --git a/code/modules/materials/materials/metals/steel.dm b/code/modules/materials/materials/metals/steel.dm index d8836af8c7..ca63d24b9c 100644 --- a/code/modules/materials/materials/metals/steel.dm +++ b/code/modules/materials/materials/metals/steel.dm @@ -1,5 +1,5 @@ /datum/material/steel - name = DEFAULT_WALL_MATERIAL + name = MAT_STEEL stack_type = /obj/item/stack/material/steel integrity = 150 conductivity = 11 // Assuming this is carbon steel, it would actually be slightly less conductive than iron, but lets ignore that. diff --git a/code/modules/materials/sheets/_sheets.dm b/code/modules/materials/sheets/_sheets.dm index 7572d0e654..ddc815bbae 100644 --- a/code/modules/materials/sheets/_sheets.dm +++ b/code/modules/materials/sheets/_sheets.dm @@ -13,7 +13,7 @@ slot_r_hand_str = 'icons/mob/items/righthand_material.dmi', ) - var/default_type = DEFAULT_WALL_MATERIAL + var/default_type = MAT_STEEL var/datum/material/material var/perunit = SHEET_MATERIAL_AMOUNT var/apply_colour //temp pending icon rewrite @@ -26,7 +26,7 @@ randpixel_xy() if(!default_type) - default_type = DEFAULT_WALL_MATERIAL + default_type = MAT_STEEL material = get_material_by_name("[default_type]") if(!material) return INITIALIZE_HINT_QDEL diff --git a/code/modules/materials/sheets/metals/metal.dm b/code/modules/materials/sheets/metals/metal.dm index bbad559c12..1994b58c21 100644 --- a/code/modules/materials/sheets/metals/metal.dm +++ b/code/modules/materials/sheets/metals/metal.dm @@ -1,7 +1,7 @@ /obj/item/stack/material/steel - name = DEFAULT_WALL_MATERIAL + name = MAT_STEEL icon_state = "sheet-refined" - default_type = DEFAULT_WALL_MATERIAL + default_type = MAT_STEEL no_variants = FALSE apply_colour = TRUE diff --git a/code/modules/materials/sheets/metals/rods.dm b/code/modules/materials/sheets/metals/rods.dm index 42aff5d096..318ec68626 100644 --- a/code/modules/materials/sheets/metals/rods.dm +++ b/code/modules/materials/sheets/metals/rods.dm @@ -10,7 +10,7 @@ throw_range = 20 drop_sound = 'sound/items/drop/metalweapon.ogg' pickup_sound = 'sound/items/pickup/metalweapon.ogg' - matter = list(DEFAULT_WALL_MATERIAL = SHEET_MATERIAL_AMOUNT / 2) + matter = list(MAT_STEEL = SHEET_MATERIAL_AMOUNT / 2) max_amount = 60 attack_verb = list("hit", "bludgeoned", "whacked") diff --git a/code/modules/mining/alloys.dm b/code/modules/mining/alloys.dm index 5601a586a1..219a2becdb 100644 --- a/code/modules/mining/alloys.dm +++ b/code/modules/mining/alloys.dm @@ -30,7 +30,7 @@ product = /obj/item/stack/material/plasteel /datum/alloy/steel - metaltag = DEFAULT_WALL_MATERIAL + metaltag = MAT_STEEL requires = list( "carbon" = 1, "hematite" = 1 diff --git a/code/modules/mining/drilling/scanner.dm b/code/modules/mining/drilling/scanner.dm index 0c8c30e126..302216b8d4 100644 --- a/code/modules/mining/drilling/scanner.dm +++ b/code/modules/mining/drilling/scanner.dm @@ -5,7 +5,7 @@ icon_state = "deep_scan_device" item_state = "electronic" origin_tech = list(TECH_MAGNET = 1, TECH_ENGINEERING = 1) - matter = list(DEFAULT_WALL_MATERIAL = 150) + matter = list(MAT_STEEL = 150) var/scan_time = 2 SECONDS var/range = 2 var/exact = FALSE @@ -74,7 +74,7 @@ desc = "An advanced device used to locate ore deep underground." description_info = "This scanner has variable range, you can use the Set Scanner Range verb, or alt+click the device. Drills dig in 5x5." origin_tech = list(TECH_MAGNET = 4, TECH_ENGINEERING = 4) - matter = list(DEFAULT_WALL_MATERIAL = 150) + matter = list(MAT_STEEL = 150) scan_time = 0.5 SECONDS exact = TRUE diff --git a/code/modules/mining/mine_items.dm b/code/modules/mining/mine_items.dm index e43a6e8d9b..dc12d0c61a 100644 --- a/code/modules/mining/mine_items.dm +++ b/code/modules/mining/mine_items.dm @@ -19,7 +19,7 @@ icon_state = "pickaxe" item_state = "jackhammer" w_class = ITEMSIZE_LARGE - matter = list(DEFAULT_WALL_MATERIAL = 3750) + matter = list(MAT_STEEL = 3750) var/digspeed = 40 //moving the delay to an item var so R&D can make improved picks. --NEO var/sand_dig = FALSE // does this thing dig sand? origin_tech = list(TECH_MATERIAL = 1, TECH_ENGINEERING = 1) @@ -122,7 +122,7 @@ item_state = "shovel" w_class = ITEMSIZE_NORMAL origin_tech = list(TECH_MATERIAL = 1, TECH_ENGINEERING = 1) - matter = list(DEFAULT_WALL_MATERIAL = 50) + matter = list(MAT_STEEL = 50) attack_verb = list("bashed", "bludgeoned", "thrashed", "whacked") sharp = 0 edge = 1 diff --git a/code/modules/mining/shelter_atoms_vr.dm b/code/modules/mining/shelter_atoms_vr.dm index 563154e475..433ab5f342 100644 --- a/code/modules/mining/shelter_atoms_vr.dm +++ b/code/modules/mining/shelter_atoms_vr.dm @@ -202,7 +202,7 @@ GLOBAL_LIST_EMPTY(unique_deployable) icon_state = "table" /obj/structure/table/survival_pod/New() - material = get_material_by_name(DEFAULT_WALL_MATERIAL) + material = get_material_by_name(MAT_STEEL) verbs -= /obj/structure/table/verb/do_flip verbs -= /obj/structure/table/proc/do_put ..() @@ -253,7 +253,7 @@ GLOBAL_LIST_EMPTY(unique_deployable) icon_state = "bed" /obj/structure/bed/pod/New(var/newloc) - ..(newloc,DEFAULT_WALL_MATERIAL,"cotton") + ..(newloc,MAT_STEEL,"cotton") //Survival Storage Unit /obj/machinery/smartfridge/survival_pod diff --git a/code/modules/mob/living/bot/floorbot.dm b/code/modules/mob/living/bot/floorbot.dm index c433f64f85..f525230124 100644 --- a/code/modules/mob/living/bot/floorbot.dm +++ b/code/modules/mob/living/bot/floorbot.dm @@ -278,7 +278,7 @@ update_icons() else if(istype(A, /obj/item/stack/material) && amount + 4 <= maxAmount) var/obj/item/stack/material/M = A - if(M.get_material_name() == DEFAULT_WALL_MATERIAL) + if(M.get_material_name() == MAT_STEEL) visible_message("\The [src] begins to make tiles.") busy = 1 update_icons() diff --git a/code/modules/mob/living/carbon/human/species/station/protean_vr/protean_blob.dm b/code/modules/mob/living/carbon/human/species/station/protean_vr/protean_blob.dm index dd4e5b4749..d92f691dd6 100644 --- a/code/modules/mob/living/carbon/human/species/station/protean_vr/protean_blob.dm +++ b/code/modules/mob/living/carbon/human/species/station/protean_vr/protean_blob.dm @@ -239,7 +239,7 @@ /mob/living/simple_mob/protean_blob/Life() . = ..() if(. && istype(refactory) && humanform) - if(!healing && (human_brute || human_burn) && refactory.get_stored_material(DEFAULT_WALL_MATERIAL) >= 100) + if(!healing && (human_brute || human_burn) && refactory.get_stored_material(MAT_STEEL) >= 100) healing = humanform.add_modifier(/datum/modifier/protean/steel, origin = refactory) else if(healing && !(human_brute || human_burn)) healing.expire() diff --git a/code/modules/mob/living/carbon/human/species/station/protean_vr/protean_powers.dm b/code/modules/mob/living/carbon/human/species/station/protean_vr/protean_powers.dm index eedfa18460..474c38b848 100644 --- a/code/modules/mob/living/carbon/human/species/station/protean_vr/protean_powers.dm +++ b/code/modules/mob/living/carbon/human/species/station/protean_vr/protean_powers.dm @@ -28,13 +28,13 @@ //Organ is missing, needs restoring if(!organs_by_name[choice] || istype(organs_by_name[choice], /obj/item/organ/external/stump)) //allows limb stumps to regenerate like removed limbs. - if(refactory.get_stored_material(DEFAULT_WALL_MATERIAL) < PER_LIMB_STEEL_COST) + if(refactory.get_stored_material(MAT_STEEL) < PER_LIMB_STEEL_COST) to_chat(src,"You're missing that limb, and need to store at least [PER_LIMB_STEEL_COST] steel to regenerate it.") return var/regen = tgui_alert(src,"That limb is missing, do you want to regenerate it in exchange for [PER_LIMB_STEEL_COST] steel?","Regenerate limb?",list("Yes","No")) if(regen != "Yes") return - if(!refactory.use_stored_material(DEFAULT_WALL_MATERIAL,PER_LIMB_STEEL_COST)) + if(!refactory.use_stored_material(MAT_STEEL,PER_LIMB_STEEL_COST)) return if(organs_by_name[choice]) var/obj/item/organ/external/oldlimb = organs_by_name[choice] @@ -244,7 +244,7 @@ return //Not enough resources (AND spends the resources, should be the last check) - if(!refactory.use_stored_material(DEFAULT_WALL_MATERIAL,refactory.max_storage)) + if(!refactory.use_stored_material(MAT_STEEL,refactory.max_storage)) to_chat(src, "You need to be maxed out on normal metal to do this!") return diff --git a/code/modules/mob/living/carbon/human/species/station/protean_vr/protean_species.dm b/code/modules/mob/living/carbon/human/species/station/protean_vr/protean_species.dm index 6eecee8a25..2a208e43c7 100755 --- a/code/modules/mob/living/carbon/human/species/station/protean_vr/protean_species.dm +++ b/code/modules/mob/living/carbon/human/species/station/protean_vr/protean_species.dm @@ -244,7 +244,7 @@ CHOMP Station removal end*/ /datum/modifier/protean stacks = MODIFIER_STACK_FORBID var/material_use = METAL_PER_TICK - var/material_name = DEFAULT_WALL_MATERIAL + var/material_name = MAT_STEEL /datum/modifier/protean/on_applied() . = ..() diff --git a/code/modules/mob/living/silicon/robot/analyzer.dm b/code/modules/mob/living/silicon/robot/analyzer.dm index e946c7999c..6a24796d87 100644 --- a/code/modules/mob/living/silicon/robot/analyzer.dm +++ b/code/modules/mob/living/silicon/robot/analyzer.dm @@ -12,7 +12,7 @@ throw_speed = 5 throw_range = 10 origin_tech = list(TECH_MAGNET = 2, TECH_BIO = 1, TECH_ENGINEERING = 2) - matter = list(DEFAULT_WALL_MATERIAL = 500, "glass" = 200) + matter = list(MAT_STEEL = 500, MAT_GLASS = 200) var/mode = 1; /obj/item/device/robotanalyzer/attack(mob/living/M as mob, mob/living/user as mob) diff --git a/code/modules/mob/living/silicon/robot/component.dm b/code/modules/mob/living/silicon/robot/component.dm index 2b626b1ce7..80f2120b98 100644 --- a/code/modules/mob/living/silicon/robot/component.dm +++ b/code/modules/mob/living/silicon/robot/component.dm @@ -212,7 +212,7 @@ name = "broken component" icon = 'icons/obj/robot_component.dmi' icon_state = "broken" - matter = list(DEFAULT_WALL_MATERIAL = 1000) + matter = list(MAT_STEEL = 1000) /obj/item/broken_device/random var/list/possible_icons = list("binradio_broken", diff --git a/code/modules/mob/living/silicon/robot/dogborg/dog_sleeper_vr.dm b/code/modules/mob/living/silicon/robot/dogborg/dog_sleeper_vr.dm index 81d5f10171..64283b7f92 100644 --- a/code/modules/mob/living/silicon/robot/dogborg/dog_sleeper_vr.dm +++ b/code/modules/mob/living/silicon/robot/dogborg/dog_sleeper_vr.dm @@ -622,7 +622,7 @@ if(istype(T,/obj/item/stack)) var/obj/item/stack/stack = T total_material *= stack.get_amount() - if(material == DEFAULT_WALL_MATERIAL) + if(material == MAT_STEEL) metal.add_charge(total_material) if(material == "glass") glass.add_charge(total_material) diff --git a/code/modules/organs/subtypes/nano.dm b/code/modules/organs/subtypes/nano.dm index a84573d35f..10d352ca46 100644 --- a/code/modules/organs/subtypes/nano.dm +++ b/code/modules/organs/subtypes/nano.dm @@ -102,7 +102,7 @@ organ_tag = O_FACT parent_organ = BP_TORSO - var/list/materials = list(DEFAULT_WALL_MATERIAL = 0) + var/list/materials = list(MAT_STEEL = 0) var/max_storage = 10000 /obj/item/organ/internal/nano/refactory/proc/get_stored_material(var/material) diff --git a/code/modules/paperwork/pen.dm b/code/modules/paperwork/pen.dm index 7b9455d824..8cb60d4405 100644 --- a/code/modules/paperwork/pen.dm +++ b/code/modules/paperwork/pen.dm @@ -20,7 +20,7 @@ w_class = ITEMSIZE_TINY throw_speed = 7 throw_range = 15 - matter = list(DEFAULT_WALL_MATERIAL = 10) + matter = list(MAT_STEEL = 10) var/colour = "black" //what colour the ink is! pressure_resistance = 2 drop_sound = 'sound/items/drop/accessory.ogg' diff --git a/code/modules/paperwork/photography.dm b/code/modules/paperwork/photography.dm index 6343cd0d19..f08d473757 100644 --- a/code/modules/paperwork/photography.dm +++ b/code/modules/paperwork/photography.dm @@ -128,7 +128,7 @@ var/global/photo_count = 0 item_state = "camera" w_class = ITEMSIZE_SMALL slot_flags = SLOT_BELT - matter = list(DEFAULT_WALL_MATERIAL = 2000) + matter = list(MAT_STEEL = 2000) var/pictures_max = 10 var/pictures_left = 10 var/on = 1 diff --git a/code/modules/paperwork/stamps.dm b/code/modules/paperwork/stamps.dm index c09c6a6929..a1bd068f64 100644 --- a/code/modules/paperwork/stamps.dm +++ b/code/modules/paperwork/stamps.dm @@ -9,7 +9,7 @@ slot_flags = SLOT_HOLSTER throw_speed = 7 throw_range = 15 - matter = list(DEFAULT_WALL_MATERIAL = 60) + matter = list(MAT_STEEL = 60) pressure_resistance = 2 attack_verb = list("stamped") drop_sound = 'sound/items/drop/device.ogg' diff --git a/code/modules/power/antimatter/shielding.dm b/code/modules/power/antimatter/shielding.dm index 428a95b365..8dfd12a296 100644 --- a/code/modules/power/antimatter/shielding.dm +++ b/code/modules/power/antimatter/shielding.dm @@ -194,7 +194,7 @@ throwforce = 5 throw_speed = 1 throw_range = 2 - matter = list(DEFAULT_WALL_MATERIAL = 100) + matter = list(MAT_STEEL = 100) /obj/item/device/am_shielding_container/attackby(var/obj/item/I, var/mob/user) if(istype(I, /obj/item/device/multitool) && istype(src.loc,/turf)) diff --git a/code/modules/power/cable.dm b/code/modules/power/cable.dm index d3e2ece04b..cdc7f4343a 100644 --- a/code/modules/power/cable.dm +++ b/code/modules/power/cable.dm @@ -503,7 +503,7 @@ var/list/possible_cable_coil_colours = list( w_class = ITEMSIZE_SMALL throw_speed = 2 throw_range = 5 - matter = list(DEFAULT_WALL_MATERIAL = 50, "glass" = 20) + matter = list(MAT_STEEL = 50, MAT_GLASS = 20) slot_flags = SLOT_BELT item_state = "coil" attack_verb = list("whipped", "lashed", "disciplined", "flogged") @@ -948,7 +948,7 @@ var/list/possible_cable_coil_colours = list( w_class = ITEMSIZE_SMALL throw_speed = 2 throw_range = 5 - matter = list(DEFAULT_WALL_MATERIAL = 50, "glass" = 20) + matter = list(MAT_STEEL = 50, MAT_GLASS = 20) slot_flags = SLOT_BELT attack_verb = list("whipped", "lashed", "disciplined", "flogged") stacktype = null diff --git a/code/modules/power/cell.dm b/code/modules/power/cell.dm index c2add958a3..aa37003520 100644 --- a/code/modules/power/cell.dm +++ b/code/modules/power/cell.dm @@ -24,7 +24,7 @@ var/charge_amount = 25 // How much power to give, if self_recharge is true. The number is in absolute cell charge, as it gets divided by CELLRATE later. var/last_use = 0 // A tracker for use in self-charging var/charge_delay = 0 // How long it takes for the cell to start recharging after last use - matter = list(DEFAULT_WALL_MATERIAL = 700, "glass" = 50) + matter = list(MAT_STEEL = 700, MAT_GLASS = 50) drop_sound = 'sound/items/drop/component.ogg' pickup_sound = 'sound/items/pickup/component.ogg' diff --git a/code/modules/power/cells/device_cells.dm b/code/modules/power/cells/device_cells.dm index 383d087315..838ca7b478 100644 --- a/code/modules/power/cells/device_cells.dm +++ b/code/modules/power/cells/device_cells.dm @@ -10,7 +10,7 @@ throw_range = 7 maxcharge = 480 charge_amount = 5 - matter = list("metal" = 350, "glass" = 50) + matter = list(MAT_STEEL = 350, MAT_GLASS = 50) preserve_item = 1 //Yawn changes diff --git a/code/modules/power/cells/esoteric_cells.dm b/code/modules/power/cells/esoteric_cells.dm index e595a04a8c..a37fd22050 100644 --- a/code/modules/power/cells/esoteric_cells.dm +++ b/code/modules/power/cells/esoteric_cells.dm @@ -5,7 +5,7 @@ origin_tech = list(TECH_POWER = 2) icon_state = "exs_m" maxcharge = 10000 - matter = list(DEFAULT_WALL_MATERIAL = 1000, MAT_GLASS = 80, MAT_SILVER = 100) + matter = list(MAT_STEEL = 1000, MAT_GLASS = 80, MAT_SILVER = 100) self_recharge = TRUE charge_amount = 150 diff --git a/code/modules/power/cells/power_cells.dm b/code/modules/power/cells/power_cells.dm index 2cdbbc0ea8..09831fd42e 100644 --- a/code/modules/power/cells/power_cells.dm +++ b/code/modules/power/cells/power_cells.dm @@ -4,7 +4,7 @@ origin_tech = list(TECH_POWER = 0) icon_state = "s_st" maxcharge = 500 - matter = list(DEFAULT_WALL_MATERIAL = 700, "glass" = 40) + matter = list(MAT_STEEL = 700, MAT_GLASS = 40) /obj/item/weapon/cell/crap/empty/New() ..() @@ -15,7 +15,7 @@ origin_tech = list(TECH_POWER = 0) icon_state = "meb_s_st" maxcharge = 600 //600 max charge / 100 charge per shot = six shots - matter = list(DEFAULT_WALL_MATERIAL = 700, "glass" = 40) + matter = list(MAT_STEEL = 700, MAT_GLASS = 40) /obj/item/weapon/cell/secborg/empty/New() ..() @@ -27,14 +27,14 @@ origin_tech = list(TECH_POWER = 1) icon_state = "meb_b_st" maxcharge = 5000 - matter = list(DEFAULT_WALL_MATERIAL = 700, "glass" = 50) + matter = list(MAT_STEEL = 700, MAT_GLASS = 50) /obj/item/weapon/cell/high name = "high-capacity power cell" origin_tech = list(TECH_POWER = 2) icon_state = "b_hi" maxcharge = 10000 - matter = list(DEFAULT_WALL_MATERIAL = 700, "glass" = 60) + matter = list(MAT_STEEL = 700, MAT_GLASS = 60) /obj/item/weapon/cell/high/empty/New() ..() @@ -46,7 +46,7 @@ origin_tech = list(TECH_POWER = 5) icon_state = "b_sup" maxcharge = 20000 - matter = list(DEFAULT_WALL_MATERIAL = 700, "glass" = 70) + matter = list(MAT_STEEL = 700, MAT_GLASS = 70) /obj/item/weapon/cell/super/empty/New() ..() @@ -58,7 +58,7 @@ origin_tech = list(TECH_POWER = 6) icon_state = "b_hy" maxcharge = 30000 - matter = list(DEFAULT_WALL_MATERIAL = 700, "glass" = 80) + matter = list(MAT_STEEL = 700, MAT_GLASS = 80) /obj/item/weapon/cell/hyper/empty/New() ..() @@ -76,7 +76,7 @@ icon_state = "infinite_b" origin_tech = null maxcharge = 30000 //determines how badly mobs get shocked - matter = list(DEFAULT_WALL_MATERIAL = 700, "glass" = 80) + matter = list(MAT_STEEL = 700, MAT_GLASS = 80) /obj/item/weapon/cell/infinite/check_charge() return 1 @@ -149,7 +149,7 @@ name = "miniature power cell" desc = "A tiny power cell with a very low power capacity. Used in light fixtures to power them in the event of an outage." maxcharge = 120 //Emergency lights use 0.2 W per tick, meaning ~10 minutes of emergency power from a cell - matter = list("glass" = 20) + matter = list(MAT_GLASS = 20) icon_state = "meb_s_sup" w_class = ITEMSIZE_TINY diff --git a/code/modules/power/lighting.dm b/code/modules/power/lighting.dm index 09761cfac8..44e1bc569a 100644 --- a/code/modules/power/lighting.dm +++ b/code/modules/power/lighting.dm @@ -902,7 +902,7 @@ var/global/list/light_type_cache = list() force = 2 throwforce = 5 w_class = ITEMSIZE_TINY - matter = list(DEFAULT_WALL_MATERIAL = 60) + matter = list(MAT_STEEL = 60) ///LIGHT_OK, LIGHT_BURNED or LIGHT_BROKEN var/status = LIGHT_OK @@ -939,7 +939,7 @@ var/global/list/light_type_cache = list() icon_state = "ltube" base_state = "ltube" item_state = "c_tube" - matter = list("glass" = 100) + matter = list(MAT_GLASS = 100) brightness_range = 7 brightness_power = 2 @@ -958,7 +958,7 @@ var/global/list/light_type_cache = list() icon_state = "lbulb" base_state = "lbulb" item_state = "contvapour" - matter = list("glass" = 100) + matter = list(MAT_GLASS = 100) brightness_range = 5 brightness_power = 1 brightness_color = LIGHT_COLOR_INCANDESCENT_BULB @@ -990,7 +990,7 @@ var/global/list/light_type_cache = list() icon_state = "fbulb" base_state = "fbulb" item_state = "egg4" - matter = list("glass" = 100) + matter = list(MAT_GLASS = 100) // update the icon state and description of the light /obj/item/weapon/light/update_icon() diff --git a/code/modules/power/singularity/emitter.dm b/code/modules/power/singularity/emitter.dm index f67fb4f4c4..903ac6100f 100644 --- a/code/modules/power/singularity/emitter.dm +++ b/code/modules/power/singularity/emitter.dm @@ -209,7 +209,7 @@ update_icon() // VOREStation Add return - if(istype(W, /obj/item/stack/material) && W.get_material_name() == DEFAULT_WALL_MATERIAL) + if(istype(W, /obj/item/stack/material) && W.get_material_name() == MAT_STEEL) var/amt = CEILING(( initial(integrity) - integrity)/10, 1) if(!amt) to_chat(user, "\The [src] is already fully repaired.") diff --git a/code/modules/power/tesla/telsa_construction.dm b/code/modules/power/tesla/telsa_construction.dm index ba7b3c4d0e..d1e8b0cf8c 100644 --- a/code/modules/power/tesla/telsa_construction.dm +++ b/code/modules/power/tesla/telsa_construction.dm @@ -1,3 +1,4 @@ +<<<<<<< HEAD ////////////////////////// // Circuits and Research ////////////////////////// @@ -29,3 +30,68 @@ /datum/category_item/autolathe/engineering/grounding_rod name = "grounding rod electronics" path = /obj/item/weapon/circuitboard/grounding_rod +||||||| parent of 8ab34365f1... Merge pull request #10852 from VOREStation/Arokha/matdefs +////////////////////////// +// Circuits and Research +////////////////////////// + +// Tesla coils are built as machines using a circuit researchable in RnD +/obj/item/weapon/circuitboard/tesla_coil + name = T_BOARD("tesla coil") + build_path = /obj/machinery/power/tesla_coil + board_type = new /datum/frame/frame_types/machine + origin_tech = list(TECH_MAGNET = 2, TECH_POWER = 4) + req_components = list(/obj/item/weapon/stock_parts/capacitor = 1) + +/datum/design/circuit/tesla_coil + name = "Machine Design (Tesla Coil Board)" + desc = "The circuit board for a tesla coil." + id = "tesla_coil" + build_path = /obj/item/weapon/circuitboard/tesla_coil + req_tech = list(TECH_MAGNET = 2, TECH_POWER = 4) + sort_string = "MAAAC" + +// Grounding rods can be built as machines using a circuit made in an autolathe. +/obj/item/weapon/circuitboard/grounding_rod + name = T_BOARD("grounding rod") + build_path = /obj/machinery/power/grounding_rod + board_type = new /datum/frame/frame_types/machine + matter = list(DEFAULT_WALL_MATERIAL = 50, "glass" = 50) + req_components = list() + +/datum/category_item/autolathe/engineering/grounding_rod + name = "grounding rod electronics" + path = /obj/item/weapon/circuitboard/grounding_rod +======= +////////////////////////// +// Circuits and Research +////////////////////////// + +// Tesla coils are built as machines using a circuit researchable in RnD +/obj/item/weapon/circuitboard/tesla_coil + name = T_BOARD("tesla coil") + build_path = /obj/machinery/power/tesla_coil + board_type = new /datum/frame/frame_types/machine + origin_tech = list(TECH_MAGNET = 2, TECH_POWER = 4) + req_components = list(/obj/item/weapon/stock_parts/capacitor = 1) + +/datum/design/circuit/tesla_coil + name = "Machine Design (Tesla Coil Board)" + desc = "The circuit board for a tesla coil." + id = "tesla_coil" + build_path = /obj/item/weapon/circuitboard/tesla_coil + req_tech = list(TECH_MAGNET = 2, TECH_POWER = 4) + sort_string = "MAAAC" + +// Grounding rods can be built as machines using a circuit made in an autolathe. +/obj/item/weapon/circuitboard/grounding_rod + name = T_BOARD("grounding rod") + build_path = /obj/machinery/power/grounding_rod + board_type = new /datum/frame/frame_types/machine + matter = list(MAT_STEEL = 50, MAT_GLASS = 50) + req_components = list() + +/datum/category_item/autolathe/engineering/grounding_rod + name = "grounding rod electronics" + path = /obj/item/weapon/circuitboard/grounding_rod +>>>>>>> 8ab34365f1... Merge pull request #10852 from VOREStation/Arokha/matdefs diff --git a/code/modules/projectiles/ammunition.dm b/code/modules/projectiles/ammunition.dm index d55fe61684..2c0742c9f4 100644 --- a/code/modules/projectiles/ammunition.dm +++ b/code/modules/projectiles/ammunition.dm @@ -102,7 +102,7 @@ icon = 'icons/obj/ammo.dmi' slot_flags = SLOT_BELT item_state = "syringe_kit" - matter = list(DEFAULT_WALL_MATERIAL = 500) + matter = list(MAT_STEEL = 500) throwforce = 5 w_class = ITEMSIZE_SMALL throw_speed = 4 diff --git a/code/modules/projectiles/ammunition/magazines.dm b/code/modules/projectiles/ammunition/magazines.dm index 1d08811bae..41b000d82f 100644 --- a/code/modules/projectiles/ammunition/magazines.dm +++ b/code/modules/projectiles/ammunition/magazines.dm @@ -32,7 +32,7 @@ icon_state = "38" caliber = ".357" ammo_type = /obj/item/ammo_casing/a357 - matter = list(DEFAULT_WALL_MATERIAL = 1260) + matter = list(MAT_STEEL = 1260) max_ammo = 6 multiple_sprites = 1 @@ -43,7 +43,7 @@ desc = "A speedloader for .38 revolvers." icon_state = "38" caliber = ".38" - matter = list(DEFAULT_WALL_MATERIAL = 360) + matter = list(MAT_STEEL = 360) ammo_type = /obj/item/ammo_casing/a38 max_ammo = 6 multiple_sprites = 1 @@ -64,7 +64,7 @@ icon_state = "45" mag_type = MAGAZINE ammo_type = /obj/item/ammo_casing/a45 - matter = list(DEFAULT_WALL_MATERIAL = 525) //metal costs are very roughly based around 1 .45 casing = 75 metal + matter = list(MAT_STEEL = 525) //metal costs are very roughly based around 1 .45 casing = 75 metal caliber = ".45" max_ammo = 7 multiple_sprites = 1 @@ -101,7 +101,7 @@ icon_state = "uzi45" mag_type = MAGAZINE ammo_type = /obj/item/ammo_casing/a45 - matter = list(DEFAULT_WALL_MATERIAL = 1200) + matter = list(MAT_STEEL = 1200) caliber = ".45" max_ammo = 16 multiple_sprites = 1 @@ -114,7 +114,7 @@ icon_state = "tommy-mag" mag_type = MAGAZINE ammo_type = /obj/item/ammo_casing/a45 - matter = list(DEFAULT_WALL_MATERIAL = 1500) + matter = list(MAT_STEEL = 1500) caliber = ".45" max_ammo = 20 @@ -131,7 +131,7 @@ w_class = ITEMSIZE_NORMAL // Bulky ammo doesn't fit in your pockets! mag_type = MAGAZINE ammo_type = /obj/item/ammo_casing/a45 - matter = list(DEFAULT_WALL_MATERIAL = 3750) + matter = list(MAT_STEEL = 3750) caliber = ".45" max_ammo = 50 @@ -148,7 +148,7 @@ desc = "A stripper clip for reloading .45 rounds into magazines." caliber = ".45" ammo_type = /obj/item/ammo_casing/a45 - matter = list(DEFAULT_WALL_MATERIAL = 675) // metal costs very roughly based around one .45 casing = 75 metal + matter = list(MAT_STEEL = 675) // metal costs very roughly based around one .45 casing = 75 metal max_ammo = 9 multiple_sprites = 1 @@ -168,7 +168,7 @@ name = "speedloader (.45)" icon_state = "45s" ammo_type = /obj/item/ammo_casing/a45 - matter = list(DEFAULT_WALL_MATERIAL = 525) //metal costs are very roughly based around 1 .45 casing = 75 metal + matter = list(MAT_STEEL = 525) //metal costs are very roughly based around 1 .45 casing = 75 metal caliber = ".45" max_ammo = 7 multiple_sprites = 1 @@ -214,7 +214,7 @@ icon_state = "9x19p_fullsize" origin_tech = list(TECH_COMBAT = 2) mag_type = MAGAZINE - matter = list(DEFAULT_WALL_MATERIAL = 600) + matter = list(MAT_STEEL = 600) caliber = "9mm" ammo_type = /obj/item/ammo_casing/a9mm max_ammo = 10 @@ -250,7 +250,7 @@ icon_state = "9x19p" origin_tech = list(TECH_COMBAT = 2) mag_type = MAGAZINE - matter = list(DEFAULT_WALL_MATERIAL = 480) + matter = list(MAT_STEEL = 480) caliber = "9mm" ammo_type = /obj/item/ammo_casing/a9mm max_ammo = 8 @@ -277,7 +277,7 @@ icon_state = "9mmt" mag_type = MAGAZINE ammo_type = /obj/item/ammo_casing/a9mm - matter = list(DEFAULT_WALL_MATERIAL = 1200) + matter = list(MAT_STEEL = 1200) caliber = "9mm" max_ammo = 20 multiple_sprites = 1 @@ -300,14 +300,14 @@ /obj/item/ammo_magazine/m9mmt/ap name = "top mounted magazine (9mm armor piercing)" ammo_type = /obj/item/ammo_casing/a9mm/ap - matter = list(DEFAULT_WALL_MATERIAL = 1000, MAT_PLASTEEL = 2000) + matter = list(MAT_STEEL = 1000, MAT_PLASTEEL = 2000) /obj/item/ammo_magazine/m9mmp90 name = "large capacity top mounted magazine (9mm armor-piercing)" icon_state = "p90" mag_type = MAGAZINE ammo_type = /obj/item/ammo_casing/a9mm/ap - matter = list(DEFAULT_WALL_MATERIAL = 3000) + matter = list(MAT_STEEL = 3000) caliber = "9mm" max_ammo = 50 multiple_sprites = 1 @@ -321,7 +321,7 @@ desc = "A stripper clip for reloading 9mm rounds into magazines." caliber = "9mm" ammo_type = /obj/item/ammo_casing/a9mm - matter = list(DEFAULT_WALL_MATERIAL = 540) // metal costs are very roughly based around one 9mm casing = 60 metal + matter = list(MAT_STEEL = 540) // metal costs are very roughly based around one 9mm casing = 60 metal max_ammo = 9 multiple_sprites = 1 @@ -342,7 +342,7 @@ icon_state = "S9mm" mag_type = MAGAZINE ammo_type = /obj/item/ammo_casing/a9mm - matter = list(DEFAULT_WALL_MATERIAL = 1200) + matter = list(MAT_STEEL = 1200) caliber = "9mm" max_ammo = 21 origin_tech = list(TECH_COMBAT = 2, TECH_ILLEGAL = 1) @@ -352,7 +352,7 @@ desc = "A high capacity double stack magazine made specially for the Advanced SMG. Filled with 21 9mm armor piercing bullets." icon_state = "S9mm" ammo_type = /obj/item/ammo_casing/a9mm/ap - matter = list(DEFAULT_WALL_MATERIAL = 2000) + matter = list(MAT_STEEL = 2000) /obj/item/ammo_magazine/m9mmR/saber/empty initial_ammo = 0 @@ -365,7 +365,7 @@ origin_tech = list(TECH_COMBAT = 2) mag_type = MAGAZINE caliber = "10mm" - matter = list(DEFAULT_WALL_MATERIAL = 1500) + matter = list(MAT_STEEL = 1500) ammo_type = /obj/item/ammo_casing/a10mm max_ammo = 20 multiple_sprites = 1 @@ -379,7 +379,7 @@ desc = "A stripper clip for reloading 5mm rounds into magazines." caliber = "10mm" ammo_type = /obj/item/ammo_casing/a10mm - matter = list(DEFAULT_WALL_MATERIAL = 675) // metal costs are very roughly based around one 10mm casing = 75 metal + matter = list(MAT_STEEL = 675) // metal costs are very roughly based around one 10mm casing = 75 metal max_ammo = 9 multiple_sprites = 1 @@ -395,14 +395,14 @@ origin_tech = list(TECH_COMBAT = 2) mag_type = MAGAZINE caliber = "5.45mm" - matter = list(DEFAULT_WALL_MATERIAL = 1800) + matter = list(MAT_STEEL = 1800) ammo_type = /obj/item/ammo_casing/a545 max_ammo = 20 multiple_sprites = 1 /obj/item/ammo_magazine/m545/ext name = "extended magazine (5.45mm)" - matter = list(DEFAULT_WALL_MATERIAL = 2700) + matter = list(MAT_STEEL = 2700) max_ammo = 30 /obj/item/ammo_magazine/m545/empty @@ -438,7 +438,7 @@ /obj/item/ammo_magazine/m545/small name = "reduced magazine (5.45mm)" icon_state = "m545-small" - matter = list(DEFAULT_WALL_MATERIAL = 900) + matter = list(MAT_STEEL = 900) max_ammo = 10 /obj/item/ammo_magazine/m545/small/empty @@ -461,7 +461,7 @@ icon_state = "clip_rifle" caliber = "5.45mm" ammo_type = /obj/item/ammo_casing/a545 - matter = list(DEFAULT_WALL_MATERIAL = 450) // metal costs are very roughly based around one 10mm casing = 180 metal + matter = list(MAT_STEEL = 450) // metal costs are very roughly based around one 10mm casing = 180 metal max_ammo = 5 multiple_sprites = 1 @@ -483,7 +483,7 @@ origin_tech = list(TECH_COMBAT = 2) mag_type = MAGAZINE caliber = "5.45mm" - matter = list(DEFAULT_WALL_MATERIAL = 10000) + matter = list(MAT_STEEL = 10000) ammo_type = /obj/item/ammo_casing/a545 w_class = ITEMSIZE_NORMAL // This should NOT fit in your pocket!! max_ammo = 50 @@ -508,7 +508,7 @@ origin_tech = list(TECH_COMBAT = 2) mag_type = MAGAZINE caliber = ".44" - matter = list(DEFAULT_WALL_MATERIAL = 1260) + matter = list(MAT_STEEL = 1260) ammo_type = /obj/item/ammo_casing/a44 max_ammo = 7 multiple_sprites = 1 @@ -522,7 +522,7 @@ desc = "A stripper clip for reloading .44 rounds into magazines." caliber = ".44" ammo_type = /obj/item/ammo_casing/a44 - matter = list(DEFAULT_WALL_MATERIAL = 1620) // metal costs are very roughly based around one .50 casing = 180 metal + matter = list(MAT_STEEL = 1620) // metal costs are very roughly based around one .50 casing = 180 metal max_ammo = 9 multiple_sprites = 1 @@ -530,7 +530,7 @@ name = "speedloader (.44)" icon_state = "44" ammo_type = /obj/item/ammo_casing/a44 - matter = list(DEFAULT_WALL_MATERIAL = 1260) //metal costs are very roughly based around 1 .45 casing = 75 metal + matter = list(MAT_STEEL = 1260) //metal costs are very roughly based around 1 .45 casing = 75 metal caliber = ".44" max_ammo = 6 multiple_sprites = 1 @@ -555,7 +555,7 @@ icon_state = "m762-small" mag_type = MAGAZINE caliber = "7.62mm" - matter = list(DEFAULT_WALL_MATERIAL = 2000) + matter = list(MAT_STEEL = 2000) ammo_type = /obj/item/ammo_casing/a762 max_ammo = 10 multiple_sprites = 1 @@ -572,7 +572,7 @@ icon_state = "m762" mag_type = MAGAZINE caliber = "7.62mm" - matter = list(DEFAULT_WALL_MATERIAL = 4000) + matter = list(MAT_STEEL = 4000) ammo_type = /obj/item/ammo_casing/a762 max_ammo = 20 multiple_sprites = 1 @@ -589,7 +589,7 @@ icon_state = "gclip" mag_type = MAGAZINE caliber = "7.62mm" - matter = list(DEFAULT_WALL_MATERIAL = 1600) + matter = list(MAT_STEEL = 1600) ammo_type = /obj/item/ammo_casing/a762 max_ammo = 8 multiple_sprites = 1 @@ -606,7 +606,7 @@ icon_state = "clip_rifle" caliber = "7.62mm" ammo_type = /obj/item/ammo_casing/a762 - matter = list(DEFAULT_WALL_MATERIAL = 1000) // metal costs are very roughly based around one 7.62 casing = 200 metal + matter = list(MAT_STEEL = 1000) // metal costs are very roughly based around one 7.62 casing = 200 metal max_ammo = 5 multiple_sprites = 1 @@ -627,7 +627,7 @@ icon_state = "SVD" mag_type = MAGAZINE caliber = "7.62mm" - matter = list(DEFAULT_WALL_MATERIAL = 2000) + matter = list(MAT_STEEL = 2000) ammo_type = /obj/item/ammo_casing/a762 max_ammo = 10 multiple_sprites = 1 @@ -646,7 +646,7 @@ icon_state = "ashot-mag" mag_type = MAGAZINE caliber = "12g" - matter = list(DEFAULT_WALL_MATERIAL = 13000) + matter = list(MAT_STEEL = 13000) ammo_type = /obj/item/ammo_casing/a12g max_ammo = 24 multiple_sprites = 1 @@ -672,7 +672,7 @@ desc = "A color-coded metal clip for holding and quickly loading shotgun shells. This one is loaded with slugs." caliber = "12g" ammo_type = /obj/item/ammo_casing/a12g - matter = list(DEFAULT_WALL_MATERIAL = 1070) // slugs shells x2 + 350 metal for the clip itself. + matter = list(MAT_STEEL = 1070) // slugs shells x2 + 350 metal for the clip itself. max_ammo = 2 multiple_sprites = 1 @@ -681,14 +681,14 @@ icon_state = "12gclipshell" desc = "A color-coded metal clip for holding and quickly loading shotgun shells. This one is loaded with buckshot." ammo_type = /obj/item/ammo_casing/a12g/pellet - matter = list(DEFAULT_WALL_MATERIAL = 1070) // buckshot and slugs cost the same + matter = list(MAT_STEEL = 1070) // buckshot and slugs cost the same /obj/item/ammo_magazine/clip/c12g/beanbag name = "ammo clip (12g beanbag)" icon_state = "12gclipbean" desc = "A color-coded metal clip for holding and quickly loading shotgun shells. This one is loaded with beanbags." ammo_type = /obj/item/ammo_casing/a12g/beanbag - matter = list(DEFAULT_WALL_MATERIAL = 710) //beanbags x2 + 350 metal + matter = list(MAT_STEEL = 710) //beanbags x2 + 350 metal ///////// .75 Gyrojet ///////// @@ -712,6 +712,6 @@ caliber = "caps" color = "#FF0000" ammo_type = /obj/item/ammo_casing/cap - matter = list(DEFAULT_WALL_MATERIAL = 600) + matter = list(MAT_STEEL = 600) max_ammo = 7 multiple_sprites = 1 \ No newline at end of file diff --git a/code/modules/projectiles/ammunition/magnetic.dm b/code/modules/projectiles/ammunition/magnetic.dm index fc748b05df..ea0c995ac8 100644 --- a/code/modules/projectiles/ammunition/magnetic.dm +++ b/code/modules/projectiles/ammunition/magnetic.dm @@ -4,7 +4,7 @@ icon = 'icons/obj/ammo.dmi' icon_state = "caseless-mag" w_class = ITEMSIZE_SMALL - matter = list(DEFAULT_WALL_MATERIAL = 1800) + matter = list(MAT_STEEL = 1800) origin_tech = list(TECH_COMBAT = 1) var/remaining = 9 preserve_item = 1 diff --git a/code/modules/projectiles/ammunition/rounds.dm b/code/modules/projectiles/ammunition/rounds.dm index 02d4b4aa5e..14d52325f7 100644 --- a/code/modules/projectiles/ammunition/rounds.dm +++ b/code/modules/projectiles/ammunition/rounds.dm @@ -27,7 +27,7 @@ desc = "A .357 bullet casing." caliber = ".357" projectile_type = /obj/item/projectile/bullet/pistol/strong - matter = list(DEFAULT_WALL_MATERIAL = 210) + matter = list(MAT_STEEL = 210) /* * .38 @@ -37,7 +37,7 @@ desc = "A .38 bullet casing." caliber = ".38" projectile_type = /obj/item/projectile/bullet/pistol - matter = list(DEFAULT_WALL_MATERIAL = 60) + matter = list(MAT_STEEL = 60) /obj/item/ammo_casing/a38/rubber desc = "A .38 rubber bullet casing." @@ -49,7 +49,7 @@ desc = "A .38 bullet casing fitted with a single-use ion pulse generator." icon_state = "empcasing" projectile_type = /obj/item/projectile/ion/small - matter = list(DEFAULT_WALL_MATERIAL = 130, "uranium" = 100) + matter = list(MAT_STEEL = 130, MAT_URANIUM = 100) /* * .44 @@ -59,18 +59,18 @@ desc = "A .44 bullet casing." caliber = ".44" projectile_type = /obj/item/projectile/bullet/pistol/strong - matter = list(DEFAULT_WALL_MATERIAL = 210) + matter = list(MAT_STEEL = 210) /obj/item/ammo_casing/a44/rubber icon_state = "r-casing" desc = "A .44 rubber bullet casing." projectile_type = /obj/item/projectile/bullet/pistol/rubber/strong - matter = list(DEFAULT_WALL_MATERIAL = 60) + matter = list(MAT_STEEL = 60) /obj/item/ammo_casing/a44/rifle desc = "A proprietary Hedberg-Hammarstrom .44 bullet casing designed for use in revolving rifles." projectile_type = /obj/item/projectile/bullet/rifle/a44rifle - matter = list(DEFAULT_WALL_MATERIAL = 210) + matter = list(MAT_STEEL = 210) /* * .75 (aka Gyrojet Rockets, aka admin abuse) @@ -80,7 +80,7 @@ desc = "A .75 gyrojet rocket sheathe." caliber = ".75" projectile_type = /obj/item/projectile/bullet/gyro - matter = list(DEFAULT_WALL_MATERIAL = 4000) + matter = list(MAT_STEEL = 4000) /* * 9mm @@ -90,12 +90,12 @@ desc = "A 9mm bullet casing." caliber = "9mm" projectile_type = /obj/item/projectile/bullet/pistol - matter = list(DEFAULT_WALL_MATERIAL = 60) + matter = list(MAT_STEEL = 60) /obj/item/ammo_casing/a9mm/ap desc = "A 9mm armor-piercing bullet casing." projectile_type = /obj/item/projectile/bullet/pistol/ap - matter = list(DEFAULT_WALL_MATERIAL = 80) + matter = list(MAT_STEEL = 80) /obj/item/ammo_casing/a9mm/hp desc = "A 9mm hollow-point bullet casing." @@ -125,43 +125,43 @@ desc = "A .45 bullet casing." caliber = ".45" projectile_type = /obj/item/projectile/bullet/pistol/medium - matter = list(DEFAULT_WALL_MATERIAL = 75) + matter = list(MAT_STEEL = 75) /obj/item/ammo_casing/a45/ap desc = "A .45 Armor-Piercing bullet casing." icon_state = "r-casing" projectile_type = /obj/item/projectile/bullet/pistol/medium/ap - matter = list(DEFAULT_WALL_MATERIAL = 50, MAT_PLASTEEL = 25) + matter = list(MAT_STEEL = 50, MAT_PLASTEEL = 25) /obj/item/ammo_casing/a45/practice desc = "A .45 practice bullet casing." icon_state = "r-casing" projectile_type = /obj/item/projectile/bullet/practice - matter = list(DEFAULT_WALL_MATERIAL = 60) + matter = list(MAT_STEEL = 60) /obj/item/ammo_casing/a45/rubber desc = "A .45 rubber bullet casing." icon_state = "r-casing" projectile_type = /obj/item/projectile/bullet/pistol/rubber - matter = list(DEFAULT_WALL_MATERIAL = 60) + matter = list(MAT_STEEL = 60) /obj/item/ammo_casing/a45/flash desc = "A .45 flash shell casing." icon_state = "r-casing" projectile_type = /obj/item/projectile/energy/flash - matter = list(DEFAULT_WALL_MATERIAL = 60) + matter = list(MAT_STEEL = 60) /obj/item/ammo_casing/a45/emp name = ".45 haywire round" desc = "A .45 bullet casing fitted with a single-use ion pulse generator." projectile_type = /obj/item/projectile/ion/small icon_state = "empcasing" - matter = list(DEFAULT_WALL_MATERIAL = 130, "uranium" = 100) + matter = list(MAT_STEEL = 130, MAT_URANIUM = 100) /obj/item/ammo_casing/a45/hp desc = "A .45 hollow-point bullet casing." projectile_type = /obj/item/projectile/bullet/pistol/medium/hp - matter = list(DEFAULT_WALL_MATERIAL = 60, MAT_PLASTIC = 15) + matter = list(MAT_STEEL = 60, MAT_PLASTIC = 15) /* * 10mm @@ -171,14 +171,14 @@ desc = "A 10mm bullet casing." caliber = "10mm" projectile_type = /obj/item/projectile/bullet/pistol/medium - matter = list(DEFAULT_WALL_MATERIAL = 75) + matter = list(MAT_STEEL = 75) /obj/item/ammo_casing/a10mm/emp name = "10mm haywire round" desc = "A 10mm bullet casing fitted with a single-use ion pulse generator." projectile_type = /obj/item/projectile/ion/small icon_state = "empcasing" - matter = list(DEFAULT_WALL_MATERIAL = 130, "uranium" = 100) + matter = list(MAT_STEEL = 130, MAT_URANIUM = 100) /* * 12g (aka shotgun ammo) @@ -190,7 +190,7 @@ icon_state = "slshell" caliber = "12g" projectile_type = /obj/item/projectile/bullet/shotgun - matter = list(DEFAULT_WALL_MATERIAL = 360) + matter = list(MAT_STEEL = 360) /obj/item/ammo_casing/a12g/pellet name = "shotgun shell" @@ -203,21 +203,21 @@ desc = "A blank shell." icon_state = "blshell" projectile_type = /obj/item/projectile/bullet/blank - matter = list(DEFAULT_WALL_MATERIAL = 90) + matter = list(MAT_STEEL = 90) /obj/item/ammo_casing/a12g/practice name = "shotgun shell" desc = "A practice shell." icon_state = "pshell" projectile_type = /obj/item/projectile/bullet/practice - matter = list(DEFAULT_WALL_MATERIAL = 90) + matter = list(MAT_STEEL = 90) /obj/item/ammo_casing/a12g/beanbag name = "beanbag shell" desc = "A beanbag shell." icon_state = "bshell" projectile_type = /obj/item/projectile/bullet/shotgun/beanbag - matter = list(DEFAULT_WALL_MATERIAL = 180) + matter = list(MAT_STEEL = 180) //Can stun in one hit if aimed at the head, but //is blocked by clothing that stops tasers and is vulnerable to EMP @@ -226,7 +226,7 @@ desc = "A 12 gauge taser cartridge." icon_state = "stunshell" projectile_type = /obj/item/projectile/energy/electrode/stunshot - matter = list(DEFAULT_WALL_MATERIAL = 360, "glass" = 720) + matter = list(MAT_STEEL = 360, MAT_GLASS = 720) /obj/item/ammo_casing/a12g/stunshell/emp_act(severity) if(prob(100/severity)) BB = null @@ -238,7 +238,7 @@ desc = "A chemical shell used to signal distress or provide illumination." icon_state = "fshell" projectile_type = /obj/item/projectile/energy/flash/flare - matter = list(DEFAULT_WALL_MATERIAL = 90, "glass" = 90) + matter = list(MAT_STEEL = 90, MAT_GLASS = 90) /obj/item/ammo_casing/a12g/emp name = "ion shell" @@ -246,7 +246,7 @@ icon_state = "empshell" projectile_type = /obj/item/projectile/ion // projectile_type = /obj/item/projectile/bullet/shotgun/ion - matter = list(DEFAULT_WALL_MATERIAL = 360, "uranium" = 240) + matter = list(MAT_STEEL = 360, MAT_URANIUM = 240) /obj/item/ammo_casing/a12g/flechette name = "shotgun flechette" @@ -254,7 +254,7 @@ icon_state = "slshell" caliber = "12g" projectile_type = /obj/item/projectile/scatter/flechette - matter = list(DEFAULT_WALL_MATERIAL = 360, MAT_PLASTEEL = 100) + matter = list(MAT_STEEL = 360, MAT_PLASTEEL = 100) /* * 7.62mm @@ -265,23 +265,23 @@ caliber = "7.62mm" icon_state = "rifle-casing" projectile_type = /obj/item/projectile/bullet/rifle/a762 - matter = list(DEFAULT_WALL_MATERIAL = 200) + matter = list(MAT_STEEL = 200) /obj/item/ammo_casing/a762/ap desc = "A 7.62mm armor-piercing bullet casing." projectile_type = /obj/item/projectile/bullet/rifle/a762/ap - matter = list(DEFAULT_WALL_MATERIAL = 300) + matter = list(MAT_STEEL = 300) /obj/item/ammo_casing/a762/practice desc = "A 7.62mm practice bullet casing." icon_state = "rifle-casing" // Need to make an icon for these projectile_type = /obj/item/projectile/bullet/practice - matter = list(DEFAULT_WALL_MATERIAL = 90) + matter = list(MAT_STEEL = 90) /obj/item/ammo_casing/a762/blank desc = "A blank 7.62mm bullet casing." projectile_type = /obj/item/projectile/bullet/blank - matter = list(DEFAULT_WALL_MATERIAL = 90) + matter = list(MAT_STEEL = 90) /obj/item/ammo_casing/a762/hp desc = "A 7.62mm hollow-point bullet casing." @@ -300,7 +300,7 @@ icon_state = "lcasing" caliber = "14.5mm" projectile_type = /obj/item/projectile/bullet/rifle/a145 - matter = list(DEFAULT_WALL_MATERIAL = 1250) + matter = list(MAT_STEEL = 1250) /obj/item/ammo_casing/a145/highvel desc = "A 14.5mm sabot shell." @@ -319,23 +319,23 @@ caliber = "5.45mm" icon_state = "rifle-casing" projectile_type = /obj/item/projectile/bullet/rifle/a545 - matter = list(DEFAULT_WALL_MATERIAL = 180) + matter = list(MAT_STEEL = 180) /obj/item/ammo_casing/a545/ap desc = "A 5.45mm armor-piercing bullet casing." projectile_type = /obj/item/projectile/bullet/rifle/a545/ap - matter = list(DEFAULT_WALL_MATERIAL = 270) + matter = list(MAT_STEEL = 270) /obj/item/ammo_casing/a545/practice desc = "A 5.45mm practice bullet casing." icon_state = "rifle-casing" // Need to make an icon for these projectile_type = /obj/item/projectile/bullet/practice - matter = list(DEFAULT_WALL_MATERIAL = 90) + matter = list(MAT_STEEL = 90) /obj/item/ammo_casing/a545/blank desc = "A blank 5.45mm bullet casing." projectile_type = /obj/item/projectile/bullet/blank - matter = list(DEFAULT_WALL_MATERIAL = 90) + matter = list(MAT_STEEL = 90) /obj/item/ammo_casing/a545/hp desc = "A 5.45mm hollow-point bullet casing." @@ -354,7 +354,7 @@ caliber = "5mm caseless" icon_state = "casing" // Placeholder. Should probably be purple. projectile_type = /obj/item/projectile/bullet/pistol // Close enough to be comparable. - matter = list(DEFAULT_WALL_MATERIAL = 180) + matter = list(MAT_STEEL = 180) caseless = 1 /obj/item/ammo_casing/a5mmcaseless/stun @@ -371,7 +371,7 @@ icon_state = "rocketshell" projectile_type = /obj/item/projectile/bullet/srmrocket caliber = "rocket" - matter = list(DEFAULT_WALL_MATERIAL = 10000) + matter = list(MAT_STEEL = 10000) /obj/item/ammo_casing/cap name = "cap" @@ -380,7 +380,7 @@ icon_state = "r-casing" color = "#FF0000" projectile_type = /obj/item/projectile/bullet/pistol/cap - matter = list(DEFAULT_WALL_MATERIAL = 85) + matter = list(MAT_STEEL = 85) /obj/item/ammo_casing/spent // For simple hostile mobs only, so they don't cough up usable bullets when firing. This is for literally nothing else. icon_state = "s-casing-spent" diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index 5ddfb4b96a..5e551be0d4 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -39,7 +39,7 @@ icon_state = "detective" item_state = "gun" slot_flags = SLOT_BELT|SLOT_HOLSTER - matter = list(DEFAULT_WALL_MATERIAL = 2000) + matter = list(MAT_STEEL = 2000) w_class = ITEMSIZE_NORMAL throwforce = 5 throw_speed = 4 diff --git a/code/modules/projectiles/guns/energy/laser.dm b/code/modules/projectiles/guns/energy/laser.dm index 96e4a1b42c..6ceb6967f1 100644 --- a/code/modules/projectiles/guns/energy/laser.dm +++ b/code/modules/projectiles/guns/energy/laser.dm @@ -11,7 +11,7 @@ w_class = ITEMSIZE_HUGE //CHOMP Edit force = 10 origin_tech = list(TECH_COMBAT = 3, TECH_MAGNET = 2) - matter = list(DEFAULT_WALL_MATERIAL = 2000) + matter = list(MAT_STEEL = 2000) projectile_type = /obj/item/projectile/beam/midlaser one_handed_penalty = 30 @@ -64,6 +64,54 @@ item_state = "lrifle" origin_tech = list(TECH_COMBAT = 4, TECH_MAGNET = 3) +<<<<<<< HEAD +||||||| parent of 8ab34365f1... Merge pull request #10852 from VOREStation/Arokha/matdefs +/obj/item/weapon/gun/energy/mininglaser + name = "mining-laser rifle" + desc = "A Hephaestus Industries G22T rifle, now only produced for its impeccable ability to break stone with its pulsating blasts." + description_fluff = "The leading arms producer in the SCG, Hephaestus typically only uses its 'top level' branding for its military-grade equipment used by armed forces across human space." + icon = 'icons/obj/gun2.dmi' + icon_state = "mininglaser" + item_state = "laser" + wielded_item_state = "laser-wielded" + fire_delay = 8 + slot_flags = SLOT_BELT|SLOT_BACK + w_class = ITEMSIZE_LARGE + force = 15 + origin_tech = list(TECH_COMBAT = 3, TECH_MAGNET = 2) + matter = list(DEFAULT_WALL_MATERIAL = 2000) + projectile_type = /obj/item/projectile/beam/mininglaser + one_handed_penalty = 30 + + firemodes = list( + list(mode_name="mining", fire_delay=8, projectile_type=/obj/item/projectile/beam/mininglaser, charge_cost = 200), + list(mode_name="deter", fire_delay=5, projectile_type=/obj/item/projectile/beam/weaklaser, charge_cost = 80), + ) + +======= +/obj/item/weapon/gun/energy/mininglaser + name = "mining-laser rifle" + desc = "A Hephaestus Industries G22T rifle, now only produced for its impeccable ability to break stone with its pulsating blasts." + description_fluff = "The leading arms producer in the SCG, Hephaestus typically only uses its 'top level' branding for its military-grade equipment used by armed forces across human space." + icon = 'icons/obj/gun2.dmi' + icon_state = "mininglaser" + item_state = "laser" + wielded_item_state = "laser-wielded" + fire_delay = 8 + slot_flags = SLOT_BELT|SLOT_BACK + w_class = ITEMSIZE_LARGE + force = 15 + origin_tech = list(TECH_COMBAT = 3, TECH_MAGNET = 2) + matter = list(MAT_STEEL = 2000) + projectile_type = /obj/item/projectile/beam/mininglaser + one_handed_penalty = 30 + + firemodes = list( + list(mode_name="mining", fire_delay=8, projectile_type=/obj/item/projectile/beam/mininglaser, charge_cost = 200), + list(mode_name="deter", fire_delay=5, projectile_type=/obj/item/projectile/beam/weaklaser, charge_cost = 80), + ) + +>>>>>>> 8ab34365f1... Merge pull request #10852 from VOREStation/Arokha/matdefs /obj/item/weapon/gun/energy/retro name = "retro laser" icon_state = "retro" @@ -266,7 +314,7 @@ item_state = "laser" desc = "Standard issue weapon of the Imperial Guard" origin_tech = list(TECH_COMBAT = 1, TECH_MAGNET = 2) - matter = list(DEFAULT_WALL_MATERIAL = 2000) + matter = list(MAT_STEEL = 2000) projectile_type = /obj/item/projectile/beam/lasertag/blue cell_type = /obj/item/weapon/cell/device/weapon/recharge battery_lock = 1 diff --git a/code/modules/projectiles/guns/energy/laser_vr.dm b/code/modules/projectiles/guns/energy/laser_vr.dm index 44aeea2149..3ac37978a4 100644 --- a/code/modules/projectiles/guns/energy/laser_vr.dm +++ b/code/modules/projectiles/guns/energy/laser_vr.dm @@ -43,7 +43,7 @@ w_class = ITEMSIZE_NORMAL force = 10 origin_tech = list(TECH_COMBAT = 4, TECH_MAGNET = 2) - matter = list(DEFAULT_WALL_MATERIAL = 2000) + matter = list(MAT_STEEL = 2000) fire_sound = 'sound/weapons/mandalorian.ogg' projectile_type = /obj/item/projectile/beam/imperial diff --git a/code/modules/projectiles/guns/energy/stun.dm b/code/modules/projectiles/guns/energy/stun.dm index cf16857c88..4e9ea51c07 100644 --- a/code/modules/projectiles/guns/energy/stun.dm +++ b/code/modules/projectiles/guns/energy/stun.dm @@ -49,7 +49,7 @@ w_class = ITEMSIZE_SMALL item_state = "crossbow" origin_tech = list(TECH_COMBAT = 2, TECH_MAGNET = 2, TECH_ILLEGAL = 5) - matter = list(DEFAULT_WALL_MATERIAL = 2000) + matter = list(MAT_STEEL = 2000) slot_flags = SLOT_BELT | SLOT_HOLSTER silenced = 1 projectile_type = /obj/item/projectile/energy/bolt @@ -67,7 +67,7 @@ desc = "A weapon favored by mercenary infiltration teams." w_class = ITEMSIZE_LARGE force = 10 - matter = list(DEFAULT_WALL_MATERIAL = 200000) + matter = list(MAT_STEEL = 200000) slot_flags = SLOT_BELT projectile_type = /obj/item/projectile/energy/bolt/large diff --git a/code/modules/projectiles/guns/launcher/grenade_launcher.dm b/code/modules/projectiles/guns/launcher/grenade_launcher.dm index 275c9963a2..9359064cf6 100644 --- a/code/modules/projectiles/guns/launcher/grenade_launcher.dm +++ b/code/modules/projectiles/guns/launcher/grenade_launcher.dm @@ -15,7 +15,7 @@ var/obj/item/weapon/grenade/chambered var/list/grenades = new/list() var/max_grenades = 5 //holds this + one in the chamber - matter = list(DEFAULT_WALL_MATERIAL = 2000) + matter = list(MAT_STEEL = 2000) //revolves the magazine, allowing players to choose between multiple grenade types /obj/item/weapon/gun/launcher/grenade/proc/pump(mob/M as mob) diff --git a/code/modules/projectiles/guns/launcher/pneumatic.dm b/code/modules/projectiles/guns/launcher/pneumatic.dm index ccc72a248b..8372eb77b4 100644 --- a/code/modules/projectiles/guns/launcher/pneumatic.dm +++ b/code/modules/projectiles/guns/launcher/pneumatic.dm @@ -172,7 +172,7 @@ buildstate++ update_icon() return - else if(istype(W,/obj/item/stack/material) && W.get_material_name() == DEFAULT_WALL_MATERIAL) + else if(istype(W,/obj/item/stack/material) && W.get_material_name() == MAT_STEEL) if(buildstate == 2) var/obj/item/stack/material/M = W if(M.use(5)) diff --git a/code/modules/projectiles/guns/launcher/syringe_gun.dm b/code/modules/projectiles/guns/launcher/syringe_gun.dm index 3d60e22405..981e5c988b 100644 --- a/code/modules/projectiles/guns/launcher/syringe_gun.dm +++ b/code/modules/projectiles/guns/launcher/syringe_gun.dm @@ -4,7 +4,7 @@ icon = 'icons/obj/ammo.dmi' icon_state = "syringe-cartridge" var/icon_flight = "syringe-cartridge-flight" //so it doesn't look so weird when shot - matter = list(DEFAULT_WALL_MATERIAL = 125, "glass" = 375) + matter = list(MAT_STEEL = 125, MAT_GLASS = 375) slot_flags = SLOT_BELT | SLOT_EARS throwforce = 3 force = 3 @@ -68,7 +68,7 @@ item_state = "syringegun" w_class = ITEMSIZE_NORMAL force = 7 - matter = list(DEFAULT_WALL_MATERIAL = 2000) + matter = list(MAT_STEEL = 2000) slot_flags = SLOT_BELT fire_sound = 'sound/weapons/empty.ogg' diff --git a/code/modules/projectiles/guns/magnetic/magnetic_construction.dm b/code/modules/projectiles/guns/magnetic/magnetic_construction.dm index 5014b52718..9f81dbe4dc 100644 --- a/code/modules/projectiles/guns/magnetic/magnetic_construction.dm +++ b/code/modules/projectiles/guns/magnetic/magnetic_construction.dm @@ -12,7 +12,7 @@ if(istype(thing, /obj/item/stack/material) && construction_stage == 1) var/obj/item/stack/material/reinforcing = thing var/datum/material/reinforcing_with = reinforcing.get_material() - if(reinforcing_with.name == DEFAULT_WALL_MATERIAL) // Steel + if(reinforcing_with.name == MAT_STEEL) // Steel if(reinforcing.get_amount() < 5) to_chat(user, "You need at least 5 [reinforcing.singular_name]\s for this task.") return diff --git a/code/modules/projectiles/guns/projectile.dm b/code/modules/projectiles/guns/projectile.dm index 7f93579230..31ffe40e13 100644 --- a/code/modules/projectiles/guns/projectile.dm +++ b/code/modules/projectiles/guns/projectile.dm @@ -8,7 +8,7 @@ icon_state = "revolver" origin_tech = list(TECH_COMBAT = 2, TECH_MATERIAL = 2) w_class = ITEMSIZE_NORMAL - matter = list(DEFAULT_WALL_MATERIAL = 1000) + matter = list(MAT_STEEL = 1000) recoil = 1 projectile_type = /obj/item/projectile/bullet/pistol/strong //Only used for chameleon guns diff --git a/code/modules/projectiles/guns/projectile/automatic_vr.dm b/code/modules/projectiles/guns/projectile/automatic_vr.dm index 1d9ff09255..e2a9cb435d 100644 --- a/code/modules/projectiles/guns/projectile/automatic_vr.dm +++ b/code/modules/projectiles/guns/projectile/automatic_vr.dm @@ -201,7 +201,7 @@ icon_state = "smg" origin_tech = list(TECH_COMBAT = 2) mag_type = MAGAZINE - matter = list(DEFAULT_WALL_MATERIAL = 1800) + matter = list(MAT_STEEL = 1800) caliber = "9mm" ammo_type = /obj/item/ammo_casing/a9mm max_ammo = 30 diff --git a/code/modules/projectiles/guns/projectile/revolver_vr.dm b/code/modules/projectiles/guns/projectile/revolver_vr.dm index 8eff9739bf..cc12c6248f 100644 --- a/code/modules/projectiles/guns/projectile/revolver_vr.dm +++ b/code/modules/projectiles/guns/projectile/revolver_vr.dm @@ -80,7 +80,7 @@ icon_state = "9x19p" origin_tech = list(TECH_COMBAT = 2) mag_type = MAGAZINE - matter = list(DEFAULT_WALL_MATERIAL = 480) + matter = list(MAT_STEEL = 480) caliber = ".380" ammo_type = /obj/item/ammo_casing/a380 max_ammo = 8 @@ -103,7 +103,7 @@ icon = 'icons/obj/ammo_vr.dmi' icon_state = "s357" caliber = ".44" - matter = list(DEFAULT_WALL_MATERIAL = 1260) + matter = list(MAT_STEEL = 1260) ammo_type = /obj/item/ammo_casing/a44 max_ammo = 6 multiple_sprites = 1 diff --git a/code/modules/reagents/reagent_containers/glass.dm b/code/modules/reagents/reagent_containers/glass.dm index d25bd55d88..fc37770284 100644 --- a/code/modules/reagents/reagent_containers/glass.dm +++ b/code/modules/reagents/reagent_containers/glass.dm @@ -159,7 +159,7 @@ icon_state = "beaker" item_state = "beaker" center_of_mass = list("x" = 15,"y" = 11) - matter = list("glass" = 500) + matter = list(MAT_GLASS = 500) drop_sound = 'sound/items/drop/glass.ogg' pickup_sound = 'sound/items/pickup/glass.ogg' @@ -211,7 +211,7 @@ desc = "A large beaker." icon_state = "beakerlarge" center_of_mass = list("x" = 16,"y" = 11) - matter = list("glass" = 5000) + matter = list(MAT_GLASS = 5000) volume = 120 amount_per_transfer_from_this = 10 possible_transfer_amounts = list(5,10,15,25,30,60,120) @@ -222,7 +222,7 @@ desc = "A cryostasis beaker that allows for chemical storage without reactions." icon_state = "beakernoreact" center_of_mass = list("x" = 16,"y" = 13) - matter = list("glass" = 500) + matter = list(MAT_GLASS = 500) volume = 60 amount_per_transfer_from_this = 10 flags = OPENCONTAINER | NOREACT @@ -232,7 +232,7 @@ desc = "A bluespace beaker, powered by experimental bluespace technology." icon_state = "beakerbluespace" center_of_mass = list("x" = 16,"y" = 11) - matter = list("glass" = 5000) + matter = list(MAT_GLASS = 5000) volume = 300 amount_per_transfer_from_this = 10 possible_transfer_amounts = list(5,10,15,25,30,60,120,300) @@ -243,7 +243,7 @@ desc = "A small glass vial." icon_state = "vial" center_of_mass = list("x" = 15,"y" = 9) - matter = list("glass" = 250) + matter = list(MAT_GLASS = 250) volume = 30 w_class = ITEMSIZE_TINY amount_per_transfer_from_this = 10 @@ -264,7 +264,7 @@ icon_state = "bucket" item_state = "bucket" center_of_mass = list("x" = 16,"y" = 10) - matter = list(DEFAULT_WALL_MATERIAL = 200) + matter = list(MAT_STEEL = 200) w_class = ITEMSIZE_NORMAL amount_per_transfer_from_this = 20 possible_transfer_amounts = list(10,20,30,60,120) @@ -288,7 +288,7 @@ user.drop_from_inventory(src) qdel(src) return - else if(istype(D, /obj/item/stack/material) && D.get_material_name() == DEFAULT_WALL_MATERIAL) + else if(istype(D, /obj/item/stack/material) && D.get_material_name() == MAT_STEEL) var/obj/item/stack/material/M = D if (M.use(1)) var/obj/item/weapon/secbot_assembly/edCLN_assembly/B = new /obj/item/weapon/secbot_assembly/edCLN_assembly @@ -322,7 +322,7 @@ icon_state = "woodbucket" item_state = "woodbucket" center_of_mass = list("x" = 16,"y" = 8) - matter = list("wood" = 50) + matter = list(MAT_WOOD = 50) w_class = ITEMSIZE_LARGE amount_per_transfer_from_this = 20 possible_transfer_amounts = list(10,20,30,60,120) @@ -358,7 +358,7 @@ name = "water-cooler bottle" icon = 'icons/obj/vending.dmi' icon_state = "water_cooler_bottle" - matter = list("glass" = 2000) + matter = list(MAT_GLASS = 2000) w_class = ITEMSIZE_NORMAL amount_per_transfer_from_this = 20 possible_transfer_amounts = list(10,20,30,60,120) diff --git a/code/modules/reagents/reagent_containers/spray.dm b/code/modules/reagents/reagent_containers/spray.dm index 28585ff5fe..237e9a4070 100644 --- a/code/modules/reagents/reagent_containers/spray.dm +++ b/code/modules/reagents/reagent_containers/spray.dm @@ -6,7 +6,7 @@ item_state = "cleaner" center_of_mass = list("x" = 16,"y" = 10) flags = OPENCONTAINER|NOBLUDGEON - matter = list("glass" = 300, DEFAULT_WALL_MATERIAL = 300) + matter = list(MAT_GLASS = 300, MAT_STEEL = 300) slot_flags = SLOT_BELT throwforce = 3 w_class = ITEMSIZE_SMALL diff --git a/code/modules/reagents/reagent_containers/syringes.dm b/code/modules/reagents/reagent_containers/syringes.dm index f05edfd7e1..c8fc2ea379 100644 --- a/code/modules/reagents/reagent_containers/syringes.dm +++ b/code/modules/reagents/reagent_containers/syringes.dm @@ -12,7 +12,7 @@ item_state = "syringe_0" icon_state = "0" center_of_mass = list("x" = 16,"y" = 14) - matter = list("glass" = 150) + matter = list(MAT_GLASS = 150) amount_per_transfer_from_this = 5 possible_transfer_amounts = null volume = 15 diff --git a/code/modules/recycling/disposal-construction.dm b/code/modules/recycling/disposal-construction.dm index a336d4c0e8..957d7662c3 100644 --- a/code/modules/recycling/disposal-construction.dm +++ b/code/modules/recycling/disposal-construction.dm @@ -10,7 +10,7 @@ anchored = 0 density = 0 pressure_resistance = 5*ONE_ATMOSPHERE - matter = list(DEFAULT_WALL_MATERIAL = 1850) + matter = list(MAT_STEEL = 1850) level = 2 var/sortType = "" var/ptype = 0 diff --git a/code/modules/research/circuitprinter.dm b/code/modules/research/circuitprinter.dm index 3e3207fdb9..f793c0318a 100644 --- a/code/modules/research/circuitprinter.dm +++ b/code/modules/research/circuitprinter.dm @@ -16,7 +16,7 @@ using metal and glass, it uses glass and reagents (usually sulphuric acid). var/mat_efficiency = 1 var/speed = 1 - materials = list(DEFAULT_WALL_MATERIAL = 0, "glass" = 0, MAT_PLASTEEL = 0, "plastic" = 0, MAT_GRAPHITE = 0, "gold" = 0, "silver" = 0, "osmium" = 0, MAT_LEAD = 0, "phoron" = 0, "uranium" = 0, "diamond" = 0, MAT_DURASTEEL = 0, MAT_VERDANTIUM = 0, MAT_MORPHIUM = 0, MAT_METALHYDROGEN = 0, MAT_SUPERMATTER = 0) + materials = list(MAT_STEEL = 0, MAT_GLASS = 0, MAT_PLASTEEL = 0, MAT_PLASTIC = 0, MAT_GRAPHITE = 0, MAT_GOLD = 0, MAT_SILVER = 0, MAT_OSMIUM = 0, MAT_LEAD = 0, MAT_PHORON = 0, MAT_URANIUM = 0, MAT_DIAMOND = 0, MAT_DURASTEEL = 0, MAT_VERDANTIUM = 0, MAT_MORPHIUM = 0, MAT_METALHYDROGEN = 0, MAT_SUPERMATTER = 0) hidden_materials = list(MAT_PLASTEEL, MAT_DURASTEEL, MAT_GRAPHITE, MAT_VERDANTIUM, MAT_MORPHIUM, MAT_METALHYDROGEN, MAT_SUPERMATTER) diff --git a/code/modules/research/designs/HUDs.dm b/code/modules/research/designs/HUDs.dm index 4a6648f26a..d1e7541f0f 100644 --- a/code/modules/research/designs/HUDs.dm +++ b/code/modules/research/designs/HUDs.dm @@ -1,7 +1,7 @@ // HUDs /datum/design/item/hud - materials = list(DEFAULT_WALL_MATERIAL = 50, "glass" = 50) + materials = list(MAT_STEEL = 50, MAT_GLASS = 50) /datum/design/item/hud/AssembleDesignName() ..() @@ -42,6 +42,6 @@ name = "graviton visor" id = "graviton_goggles" req_tech = list(TECH_MAGNET = 5, TECH_ENGINEERING = 3, TECH_BLUESPACE = 3, TECH_PHORON = 3) - materials = list(MAT_PLASTEEL = 2000, "glass" = 3000, MAT_PHORON = 1500) + materials = list(MAT_PLASTEEL = 2000, MAT_GLASS = 3000, MAT_PHORON = 1500) build_path = /obj/item/clothing/glasses/graviton sort_string = "EAAAE" \ No newline at end of file diff --git a/code/modules/research/designs/HUDs_vr.dm b/code/modules/research/designs/HUDs_vr.dm index aef8b12b0c..961c151443 100644 --- a/code/modules/research/designs/HUDs_vr.dm +++ b/code/modules/research/designs/HUDs_vr.dm @@ -2,6 +2,6 @@ name = "AR glasses" id = "omnihud" req_tech = list(TECH_MAGNET = 4, TECH_COMBAT = 3, TECH_BIO = 3) - materials = list(DEFAULT_WALL_MATERIAL = 1000, "glass" = 1000) + materials = list(MAT_STEEL = 1000, MAT_GLASS = 1000) build_path = /obj/item/clothing/glasses/omnihud sort_string = "EAAVA" \ No newline at end of file diff --git a/code/modules/research/designs/ai_holders.dm b/code/modules/research/designs/ai_holders.dm index 7cf36c5bb6..2f1fe24c12 100644 --- a/code/modules/research/designs/ai_holders.dm +++ b/code/modules/research/designs/ai_holders.dm @@ -8,7 +8,7 @@ id = "mmi" req_tech = list(TECH_DATA = 2, TECH_BIO = 3) build_type = PROTOLATHE | PROSFAB - materials = list(DEFAULT_WALL_MATERIAL = 1000, "glass" = 500) + materials = list(MAT_STEEL = 1000, MAT_GLASS = 500) build_path = /obj/item/device/mmi category = list("Misc") sort_string = "SAAAA" @@ -18,7 +18,7 @@ id = "posibrain" req_tech = list(TECH_ENGINEERING = 4, TECH_MATERIAL = 6, TECH_BLUESPACE = 2, TECH_DATA = 4) build_type = PROTOLATHE | PROSFAB - materials = list(DEFAULT_WALL_MATERIAL = 2000, "glass" = 1000, "silver" = 1000, "gold" = 500, "phoron" = 500, "diamond" = 100) + materials = list(MAT_STEEL = 2000, MAT_GLASS = 1000, MAT_SILVER = 1000, MAT_GOLD = 500, MAT_PHORON = 500, MAT_DIAMOND = 100) build_path = /obj/item/device/mmi/digital/posibrain category = list("Misc") sort_string = "SAAAB" @@ -28,7 +28,7 @@ id = "dronebrain" req_tech = list(TECH_ENGINEERING = 4, TECH_MATERIAL = 5, TECH_DATA = 4) build_type = PROTOLATHE | PROSFAB - materials = list(DEFAULT_WALL_MATERIAL = 2000, "glass" = 1000, "silver" = 1000, "gold" = 500) + materials = list(MAT_STEEL = 2000, MAT_GLASS = 1000, MAT_SILVER = 1000, MAT_GOLD = 500) build_path = /obj/item/device/mmi/digital/robot category = list("Misc") sort_string = "SAAAC" @@ -37,7 +37,7 @@ name = "'pAI', personal artificial intelligence device" id = "paicard" req_tech = list(TECH_DATA = 2) - materials = list("glass" = 500, DEFAULT_WALL_MATERIAL = 500) + materials = list(MAT_GLASS = 500, MAT_STEEL = 500) build_path = /obj/item/device/paicard sort_string = "SBAAA" @@ -46,6 +46,6 @@ desc = "Allows for the construction of an intelliCore." id = "intellicore" req_tech = list(TECH_DATA = 4, TECH_MATERIAL = 4) - materials = list("glass" = 1000, "gold" = 200) + materials = list(MAT_GLASS = 1000, MAT_GOLD = 200) build_path = /obj/item/device/aicard sort_string = "SCAAA" \ No newline at end of file diff --git a/code/modules/research/designs/bag_of_holding.dm b/code/modules/research/designs/bag_of_holding.dm index 673977d370..6f5a70adc6 100644 --- a/code/modules/research/designs/bag_of_holding.dm +++ b/code/modules/research/designs/bag_of_holding.dm @@ -9,7 +9,7 @@ desc = "For the most tenacious miners, a bag with incomprehensible depth!" id = "ore_holding" req_tech = list(TECH_BLUESPACE = 2, TECH_MATERIAL = 3) - materials = list("gold" = 1000, "diamond" = 500, "uranium" = 250) // Less expensive since it can only hold ores + materials = list(MAT_GOLD = 1000, MAT_DIAMOND = 500, MAT_URANIUM = 250) // Less expensive since it can only hold ores build_path = /obj/item/weapon/storage/bag/ore/holding sort_string = "QAAAA" @@ -18,7 +18,7 @@ desc = "Using localized pockets of bluespace this bag prototype offers incredible storage capacity with the contents weighting nothing. It's a shame the bag itself is pretty heavy." id = "bag_holding" req_tech = list(TECH_BLUESPACE = 4, TECH_MATERIAL = 6) - materials = list("gold" = 3000, "diamond" = 1500, "uranium" = 250) + materials = list(MAT_GOLD = 3000, MAT_DIAMOND = 1500, MAT_URANIUM = 250) build_path = /obj/item/weapon/storage/backpack/holding sort_string = "QAAAA" @@ -27,7 +27,7 @@ desc = "A minaturized prototype of the popular Bag of Holding, the Dufflebag of Holding is, functionally, identical to the bag of holding, but comes in a more stylish and compact form." id = "dufflebag_holding" req_tech = list(TECH_BLUESPACE = 4, TECH_MATERIAL = 6) - materials = list("gold" = 3000, "diamond" = 1500, "uranium" = 250) + materials = list(MAT_GOLD = 3000, MAT_DIAMOND = 1500, MAT_URANIUM = 250) build_path = /obj/item/weapon/storage/backpack/holding/duffle sort_string = "QAAAB" diff --git a/code/modules/research/designs/beakers.dm b/code/modules/research/designs/beakers.dm index fe231699d5..0b3c359d39 100644 --- a/code/modules/research/designs/beakers.dm +++ b/code/modules/research/designs/beakers.dm @@ -8,7 +8,7 @@ desc = "A cryostasis beaker that allows for chemical storage without reactions. Can hold up to 50 units." id = "splitbeaker" req_tech = list(TECH_MATERIAL = 2) - materials = list(DEFAULT_WALL_MATERIAL = 3000) + materials = list(MAT_STEEL = 3000) build_path = /obj/item/weapon/reagent_containers/glass/beaker/noreact sort_string = "IAAAA" @@ -17,6 +17,6 @@ desc = "A bluespace beaker, powered by experimental bluespace technology and Element Cuban combined with the Compound Pete. Can hold up to 300 units." id = "bluespacebeaker" req_tech = list(TECH_BLUESPACE = 2, TECH_MATERIAL = 6) - materials = list(DEFAULT_WALL_MATERIAL = 3000, "phoron" = 3000, "diamond" = 500) + materials = list(MAT_STEEL = 3000, MAT_PHORON = 3000, MAT_DIAMOND = 500) build_path = /obj/item/weapon/reagent_containers/glass/beaker/bluespace sort_string = "IAAAB" \ No newline at end of file diff --git a/code/modules/research/designs/bio_devices.dm b/code/modules/research/designs/bio_devices.dm index 8762364105..27f1e0a556 100644 --- a/code/modules/research/designs/bio_devices.dm +++ b/code/modules/research/designs/bio_devices.dm @@ -1,5 +1,5 @@ /datum/design/item/biotech - materials = list(DEFAULT_WALL_MATERIAL = 30, "glass" = 20) + materials = list(MAT_STEEL = 30, MAT_GLASS = 20) /datum/design/item/biotech/AssembleDesignName() ..() @@ -39,7 +39,7 @@ desc = "A hand-held scanner able to diagnose robotic injuries." id = "robot_scanner" req_tech = list(TECH_MAGNET = 3, TECH_BIO = 2, TECH_ENGINEERING = 3) - materials = list(DEFAULT_WALL_MATERIAL = 500, "glass" = 200) + materials = list(MAT_STEEL = 500, MAT_GLASS = 200) build_path = /obj/item/device/robotanalyzer sort_string = "JAACA" @@ -47,7 +47,7 @@ desc = "A tube of paste containing swarms of repair nanites. Very effective in repairing robotic machinery." id = "nanopaste" req_tech = list(TECH_MATERIAL = 4, TECH_ENGINEERING = 3) - materials = list(DEFAULT_WALL_MATERIAL = 7000, "glass" = 7000) + materials = list(MAT_STEEL = 7000, MAT_GLASS = 7000) build_path = /obj/item/stack/nanopaste sort_string = "JAACB" @@ -55,7 +55,7 @@ desc = "A device capable of quickly scanning all relevant data about a plant." id = "plant_analyzer" req_tech = list(TECH_MAGNET = 2, TECH_BIO = 2) - materials = list(DEFAULT_WALL_MATERIAL = 500, "glass" = 500) + materials = list(MAT_STEEL = 500, MAT_GLASS = 500) build_path = /obj/item/device/analyzer/plant_analyzer sort_string = "JAADA" diff --git a/code/modules/research/designs/bio_devices_vr.dm b/code/modules/research/designs/bio_devices_vr.dm index 253249b617..ee651b193e 100644 --- a/code/modules/research/designs/bio_devices_vr.dm +++ b/code/modules/research/designs/bio_devices_vr.dm @@ -2,7 +2,7 @@ name = "nanite implant framework" id = "nif" req_tech = list(TECH_MAGNET = 5, TECH_BLUESPACE = 5, TECH_MATERIAL = 5, TECH_ENGINEERING = 5, TECH_DATA = 5) - materials = list(DEFAULT_WALL_MATERIAL = 5000, "glass" = 8000, "uranium" = 6000, "diamond" = 6000) + materials = list(MAT_STEEL = 5000, MAT_GLASS = 8000, MAT_URANIUM = 6000, MAT_DIAMOND = 6000) build_path = /obj/item/device/nif sort_string = "JVAAA" @@ -10,7 +10,7 @@ name = "bioadaptive NIF" id = "bioadapnif" req_tech = list(TECH_MAGNET = 5, TECH_BLUESPACE = 5, TECH_MATERIAL = 5, TECH_ENGINEERING = 5, TECH_DATA = 5, TECH_BIO = 5) - materials = list(DEFAULT_WALL_MATERIAL = 10000, "glass" = 15000, "uranium" = 10000, "diamond" = 10000) + materials = list(MAT_STEEL = 10000, MAT_GLASS = 15000, MAT_URANIUM = 10000, MAT_DIAMOND = 10000) build_path = /obj/item/device/nif/bioadap sort_string = "JVAAB" @@ -18,6 +18,6 @@ name = "adv. NIF repair tool" id = "anrt" req_tech = list(TECH_MAGNET = 5, TECH_BLUESPACE = 5, TECH_MATERIAL = 5, TECH_ENGINEERING = 5, TECH_DATA = 5) - materials = list(DEFAULT_WALL_MATERIAL = 2000, "glass" = 3000, "uranium" = 2000, "diamond" = 2000) + materials = list(MAT_STEEL = 2000, MAT_GLASS = 3000, MAT_URANIUM = 2000, MAT_DIAMOND = 2000) build_path = /obj/item/device/nifrepairer sort_string = "JVABA" \ No newline at end of file diff --git a/code/modules/research/designs/circuit_assembly.dm b/code/modules/research/designs/circuit_assembly.dm index 0ce5d0ca8a..c637e450d2 100644 --- a/code/modules/research/designs/circuit_assembly.dm +++ b/code/modules/research/designs/circuit_assembly.dm @@ -9,7 +9,7 @@ desc = "A portable(ish) printer for modular machines." id = "ic_printer" req_tech = list(TECH_MATERIAL = 3, TECH_ENGINEERING = 4, TECH_DATA = 5) - materials = list(DEFAULT_WALL_MATERIAL = 10000) + materials = list(MAT_STEEL = 10000) build_path = /obj/item/device/integrated_circuit_printer sort_string = "UAAAA" @@ -18,7 +18,7 @@ desc = "Allows the integrated circuit printer to create advanced circuits" id = "ic_printer_upgrade_adv" req_tech = list(TECH_ENGINEERING = 3, TECH_DATA = 4) - materials = list(DEFAULT_WALL_MATERIAL = 2000) + materials = list(MAT_STEEL = 2000) build_path = /obj/item/weapon/disk/integrated_circuit/upgrade/advanced sort_string = "UBAAA" @@ -26,7 +26,7 @@ name = "Custom wirer tool" id = "wirer" req_tech = list(TECH_MATERIAL = 2, TECH_ENGINEERING = 2) - materials = list(DEFAULT_WALL_MATERIAL = 5000, "glass" = 2500) + materials = list(MAT_STEEL = 5000, MAT_GLASS = 2500) build_path = /obj/item/device/integrated_electronics/wirer sort_string = "UCAAA" @@ -34,7 +34,7 @@ name = "Custom circuit debugger tool" id = "debugger" req_tech = list(TECH_MATERIAL = 2, TECH_ENGINEERING = 2) - materials = list(DEFAULT_WALL_MATERIAL = 5000, "glass" = 2500) + materials = list(MAT_STEEL = 5000, MAT_GLASS = 2500) build_path = /obj/item/device/integrated_electronics/debugger sort_string = "UCBBB" @@ -49,7 +49,7 @@ desc = "A customizable assembly for simple, small devices." id = "assembly-small" req_tech = list(TECH_MATERIAL = 3, TECH_ENGINEERING = 2, TECH_POWER = 2) - materials = list(DEFAULT_WALL_MATERIAL = 10000) + materials = list(MAT_STEEL = 10000) build_path = /obj/item/device/electronic_assembly sort_string = "UDAAA" @@ -58,7 +58,7 @@ desc = "A customizable assembly suited for more ambitious mechanisms." id = "assembly-medium" req_tech = list(TECH_MATERIAL = 4, TECH_ENGINEERING = 3, TECH_POWER = 3) - materials = list(DEFAULT_WALL_MATERIAL = 20000) + materials = list(MAT_STEEL = 20000) build_path = /obj/item/device/electronic_assembly/medium sort_string = "UDAAB" @@ -67,7 +67,7 @@ desc = "A customizable assembly for large machines." id = "assembly-large" req_tech = list(TECH_MATERIAL = 5, TECH_ENGINEERING = 4, TECH_POWER = 4) - materials = list(DEFAULT_WALL_MATERIAL = 40000) + materials = list(MAT_STEEL = 40000) build_path = /obj/item/device/electronic_assembly/large sort_string = "UDAAC" @@ -76,7 +76,7 @@ desc = "A customizable assembly optimized for autonomous devices." id = "assembly-drone" req_tech = list(TECH_MATERIAL = 4, TECH_ENGINEERING = 4, TECH_POWER = 4) - materials = list(DEFAULT_WALL_MATERIAL = 30000) + materials = list(MAT_STEEL = 30000) build_path = /obj/item/device/electronic_assembly/drone sort_string = "UDAAD" @@ -85,7 +85,7 @@ desc = "An customizable assembly designed to interface with other devices." id = "assembly-device" req_tech = list(TECH_MATERIAL = 2, TECH_ENGINEERING = 2, TECH_POWER = 2) - materials = list(DEFAULT_WALL_MATERIAL = 5000) + materials = list(MAT_STEEL = 5000) build_path = /obj/item/device/assembly/electronic_assembly sort_string = "UDAAE" @@ -94,6 +94,6 @@ desc = "An customizable assembly for very small devices, implanted into living entities." id = "assembly-implant" req_tech = list(TECH_MATERIAL = 5, TECH_ENGINEERING = 4, TECH_POWER = 3, TECH_BIO = 5) - materials = list(DEFAULT_WALL_MATERIAL = 2000) + materials = list(MAT_STEEL = 2000) build_path = /obj/item/weapon/implant/integrated_circuit sort_string = "UDAAF" \ No newline at end of file diff --git a/code/modules/research/designs/circuits/ai_modules.dm b/code/modules/research/designs/circuits/ai_modules.dm index 378a4fde0d..c9dc9b1942 100644 --- a/code/modules/research/designs/circuits/ai_modules.dm +++ b/code/modules/research/designs/circuits/ai_modules.dm @@ -1,6 +1,6 @@ /datum/design/aimodule build_type = IMPRINTER - materials = list("glass" = 2000, "gold" = 100) + materials = list(MAT_GLASS = 2000, MAT_GOLD = 100) /datum/design/aimodule/AssembleDesignName() name = "AI module design ([name])" diff --git a/code/modules/research/designs/circuits/circuits.dm b/code/modules/research/designs/circuits/circuits.dm index 506f1c42d5..4ec925ecac 100644 --- a/code/modules/research/designs/circuits/circuits.dm +++ b/code/modules/research/designs/circuits/circuits.dm @@ -5,7 +5,7 @@ CIRCUITS BELOW /datum/design/circuit build_type = IMPRINTER req_tech = list(TECH_DATA = 2) - materials = list("glass" = 2000) + materials = list(MAT_GLASS = 2000) chemicals = list("sacid" = 20) time = 5 @@ -493,7 +493,7 @@ CIRCUITS BELOW name = "'Durand' central control" id = "durand_main" req_tech = list(TECH_DATA = 4) - materials = list("glass" = 2000, MAT_GRAPHITE = 1250) + materials = list(MAT_GLASS = 2000, MAT_GRAPHITE = 1250) chemicals = list("sacid" = 20) build_path = /obj/item/weapon/circuitboard/mecha/durand/main sort_string = "NAADA" @@ -502,7 +502,7 @@ CIRCUITS BELOW name = "'Durand' peripherals control" id = "durand_peri" req_tech = list(TECH_DATA = 4) - materials = list("glass" = 2000, MAT_GRAPHITE = 1250) + materials = list(MAT_GLASS = 2000, MAT_GRAPHITE = 1250) chemicals = list("sacid" = 20) build_path = /obj/item/weapon/circuitboard/mecha/durand/peripherals sort_string = "NAADB" @@ -511,7 +511,7 @@ CIRCUITS BELOW name = "'Durand' weapon control and targeting" id = "durand_targ" req_tech = list(TECH_DATA = 4, TECH_COMBAT = 2) - materials = list("glass" = 2000, MAT_GRAPHITE = 1250) + materials = list(MAT_GLASS = 2000, MAT_GRAPHITE = 1250) chemicals = list("sacid" = 20) build_path = /obj/item/weapon/circuitboard/mecha/durand/targeting sort_string = "NAADC" @@ -578,7 +578,7 @@ CIRCUITS BELOW /datum/design/circuit/shield req_tech = list(TECH_BLUESPACE = 4, TECH_PHORON = 3) - materials = list("glass" = 2000, "gold" = 1000) + materials = list(MAT_GLASS = 2000, MAT_GOLD = 1000) /datum/design/circuit/shield/AssembleDesignName() name = "Shield generator circuit design ([name])" diff --git a/code/modules/research/designs/engineering.dm b/code/modules/research/designs/engineering.dm index 6a6dbc4e16..1ce4143981 100644 --- a/code/modules/research/designs/engineering.dm +++ b/code/modules/research/designs/engineering.dm @@ -9,7 +9,7 @@ desc = "A welding tool that generate fuel for itself." id = "expwelder" req_tech = list(TECH_ENGINEERING = 4, TECH_PHORON = 3, TECH_MATERIAL = 4) - materials = list(DEFAULT_WALL_MATERIAL = 70, "glass" = 120, "phoron" = 100) + materials = list(MAT_STEEL = 70, MAT_GLASS = 120, MAT_PHORON = 100) build_path = /obj/item/weapon/weldingtool/experimental sort_string = "NAAAA" @@ -18,7 +18,7 @@ desc = "A simple powered hand drill." id = "handdrill" req_tech = list(TECH_ENGINEERING = 3, TECH_MATERIAL = 2) - materials = list(DEFAULT_WALL_MATERIAL = 300, "silver" = 100) + materials = list(MAT_STEEL = 300, MAT_SILVER = 100) build_path = /obj/item/weapon/tool/screwdriver/power sort_string = "NAAAB" @@ -27,7 +27,7 @@ desc = "A set of jaws of life, compressed through the magic of science." id = "jawslife" req_tech = list(TECH_ENGINEERING = 3, TECH_MATERIAL = 2) - materials = list(DEFAULT_WALL_MATERIAL = 300, "silver" = 100) + materials = list(MAT_STEEL = 300, MAT_SILVER = 100) build_path = /obj/item/weapon/tool/crowbar/power sort_string = "NAAAC" // YW addition begins @@ -55,7 +55,7 @@ desc = "A counterpart to the rapid construction device that allows creating and placing atmospheric and disposal pipes." id = "rapidpipedispenser" req_tech = list(TECH_ENGINEERING = 4, TECH_MATERIAL = 2) - materials = list(DEFAULT_WALL_MATERIAL = 4000, MAT_GLASS = 2000) + materials = list(MAT_STEEL = 4000, MAT_GLASS = 2000) build_path = /obj/item/weapon/pipe_dispenser sort_string = "NAAAD" @@ -70,7 +70,7 @@ desc = "A terahertz-ray emitter and scanner used to detect underfloor objects such as cables and pipes." id = "tscanner" req_tech = list(TECH_MAGNET = 2, TECH_ENGINEERING = 2, TECH_MATERIAL = 2) - materials = list(DEFAULT_WALL_MATERIAL = 200) + materials = list(MAT_STEEL = 200) build_path = /obj/item/device/t_scanner sort_string = "NBAAA" @@ -79,7 +79,7 @@ desc = "An upgraded version of the terahertz-ray emitter and scanner used to detect underfloor objects such as cables and pipes." id = "upgradedtscanner" req_tech = list(TECH_MAGNET = 3, TECH_ENGINEERING = 4, TECH_MATERIAL = 2) - materials = list(DEFAULT_WALL_MATERIAL = 500, "phoron" = 150) + materials = list(MAT_STEEL = 500, MAT_PHORON = 150) build_path = /obj/item/device/t_scanner/upgraded sort_string = "NBAAB" @@ -88,7 +88,7 @@ desc = "An advanced version of the terahertz-ray emitter and scanner used to detect underfloor objects such as cables and pipes." id = "advancedtscanner" req_tech = list(TECH_MAGNET = 6, TECH_ENGINEERING = 6, TECH_MATERIAL = 6) - materials = list(DEFAULT_WALL_MATERIAL = 1250, "phoron" = 500, "silver" = 50) + materials = list(MAT_STEEL = 1250, MAT_PHORON = 500, MAT_SILVER = 50) build_path = /obj/item/device/t_scanner/advanced sort_string = "NBAAC" @@ -97,6 +97,6 @@ desc = "A hand-held environmental scanner which reports current gas levels." id = "atmosanalyzer" req_tech = list(TECH_ENGINEERING = 2) - materials = list(DEFAULT_WALL_MATERIAL = 200, "glass" = 100) + materials = list(MAT_STEEL = 200, MAT_GLASS = 100) build_path = /obj/item/device/analyzer sort_string = "NBABA" diff --git a/code/modules/research/designs/implants.dm b/code/modules/research/designs/implants.dm index 4c4b5ba801..2f9e4cc83d 100644 --- a/code/modules/research/designs/implants.dm +++ b/code/modules/research/designs/implants.dm @@ -1,7 +1,7 @@ // Implants /datum/design/item/implant - materials = list(DEFAULT_WALL_MATERIAL = 50, "glass" = 50) + materials = list(MAT_STEEL = 50, MAT_GLASS = 50) /datum/design/item/implant/AssembleDesignName() ..() diff --git a/code/modules/research/designs/implants_vr.dm b/code/modules/research/designs/implants_vr.dm index 7a27266e83..9812e0f192 100644 --- a/code/modules/research/designs/implants_vr.dm +++ b/code/modules/research/designs/implants_vr.dm @@ -2,7 +2,7 @@ name = "Backup implant" id = "implant_backup" req_tech = list(TECH_MATERIAL = 2, TECH_BIO = 2, TECH_DATA = 4, TECH_ENGINEERING = 2) - materials = list(DEFAULT_WALL_MATERIAL = 2000, "glass" = 2000) + materials = list(MAT_STEEL = 2000, MAT_GLASS = 2000) build_path = /obj/item/weapon/implantcase/backup sort_string = "MFAVA" @@ -10,16 +10,6 @@ name = "Size control implant" id = "implant_size" req_tech = list(TECH_MATERIAL = 3, TECH_BIO = 4, TECH_DATA = 4, TECH_ENGINEERING = 3) - materials = list(DEFAULT_WALL_MATERIAL = 4000, "glass" = 4000) + materials = list(MAT_STEEL = 4000, MAT_GLASS = 4000) build_path = /obj/item/weapon/implanter/sizecontrol sort_string = "MFAVB" - -/* Make language great again -/datum/design/item/implant/language - name = "Language implant" - id = "implant_language" - req_tech = list(TECH_MATERIAL = 5, TECH_BIO = 5, TECH_DATA = 4, TECH_ENGINEERING = 4) //This is not an easy to make implant. - materials = list(DEFAULT_WALL_MATERIAL = 7000, "glass" = 7000, "gold" = 2000, "diamond" = 3000) - build_path = /obj/item/weapon/implantcase/vrlanguage - sort_string = "MFAVC" -*/ \ No newline at end of file diff --git a/code/modules/research/designs/locator_devices.dm b/code/modules/research/designs/locator_devices.dm index b6f149393c..cdba0f6926 100644 --- a/code/modules/research/designs/locator_devices.dm +++ b/code/modules/research/designs/locator_devices.dm @@ -2,7 +2,7 @@ /datum/design/item/gps req_tech = list(TECH_MATERIAL = 2, TECH_DATA = 2, TECH_BLUESPACE = 2) - materials = list(DEFAULT_WALL_MATERIAL = 500) + materials = list(MAT_STEEL = 500) /datum/design/item/gps/AssembleDesignName() ..() @@ -67,7 +67,7 @@ desc = "Used to scan and locate signals on a particular frequency." id = "beacon_locator" req_tech = list(TECH_MAGNET = 3, TECH_ENGINEERING = 2, TECH_BLUESPACE = 3) - materials = list(DEFAULT_WALL_MATERIAL = 1000,"glass" = 500) + materials = list(MAT_STEEL = 1000,MAT_GLASS = 500) build_path = /obj/item/device/beacon_locator sort_string = "DBAAA" @@ -75,6 +75,6 @@ name = "Bluespace tracking beacon" id = "beacon" req_tech = list(TECH_BLUESPACE = 1) - materials = list (DEFAULT_WALL_MATERIAL = 20, "glass" = 10) + materials = list (MAT_STEEL = 20, MAT_GLASS = 10) build_path = /obj/item/device/radio/beacon sort_string = "DBABA" \ No newline at end of file diff --git a/code/modules/research/designs/medical.dm b/code/modules/research/designs/medical.dm index 13c7307d70..971798eed7 100644 --- a/code/modules/research/designs/medical.dm +++ b/code/modules/research/designs/medical.dm @@ -1,5 +1,5 @@ /datum/design/item/medical - materials = list(DEFAULT_WALL_MATERIAL = 30, "glass" = 20) + materials = list(MAT_STEEL = 30, MAT_GLASS = 20) /datum/design/item/medical/AssembleDesignName() ..() @@ -12,7 +12,7 @@ desc = "A scalpel augmented with a directed laser, for more precise cutting without blood entering the field. This one looks basic and could be improved." id = "scalpel_laser1" req_tech = list(TECH_BIO = 2, TECH_MATERIAL = 2, TECH_MAGNET = 2) - materials = list(DEFAULT_WALL_MATERIAL = 12500, "glass" = 7500) + materials = list(MAT_STEEL = 12500, MAT_GLASS = 7500) build_path = /obj/item/weapon/surgical/scalpel/laser1 sort_string = "KAAAA" @@ -21,7 +21,7 @@ desc = "A scalpel augmented with a directed laser, for more precise cutting without blood entering the field. This one looks somewhat advanced." id = "scalpel_laser2" req_tech = list(TECH_BIO = 3, TECH_MATERIAL = 4, TECH_MAGNET = 4) - materials = list(DEFAULT_WALL_MATERIAL = 12500, "glass" = 7500, "silver" = 2500) + materials = list(MAT_STEEL = 12500, MAT_GLASS = 7500, MAT_SILVER = 2500) build_path = /obj/item/weapon/surgical/scalpel/laser2 sort_string = "KAAAB" @@ -30,7 +30,7 @@ desc = "A scalpel augmented with a directed laser, for more precise cutting without blood entering the field. This one looks to be the pinnacle of precision energy cutlery!" id = "scalpel_laser3" req_tech = list(TECH_BIO = 4, TECH_MATERIAL = 6, TECH_MAGNET = 5) - materials = list(DEFAULT_WALL_MATERIAL = 12500, "glass" = 7500, "silver" = 2000, "gold" = 1500) + materials = list(MAT_STEEL = 12500, MAT_GLASS = 7500, MAT_SILVER = 2000, MAT_GOLD = 1500) build_path = /obj/item/weapon/surgical/scalpel/laser3 sort_string = "KAAAC" @@ -39,7 +39,7 @@ desc = "A true extension of the surgeon's body, this marvel instantly and completely prepares an incision allowing for the immediate commencement of therapeutic steps." id = "scalpel_manager" req_tech = list(TECH_BIO = 4, TECH_MATERIAL = 7, TECH_MAGNET = 5, TECH_DATA = 4) - materials = list (DEFAULT_WALL_MATERIAL = 12500, "glass" = 7500, "silver" = 1500, "gold" = 1500, "diamond" = 750) + materials = list (MAT_STEEL = 12500, MAT_GLASS = 7500, MAT_SILVER = 1500, MAT_GOLD = 1500, MAT_DIAMOND = 750) build_path = /obj/item/weapon/surgical/scalpel/manager sort_string = "KAAAD" @@ -48,7 +48,7 @@ desc = "A strange development following the I.M.S., this heavy tool can split and open, or close and shut, intentional holes in bones." id = "advanced_saw" req_tech = list(TECH_BIO = 4, TECH_MATERIAL = 7, TECH_MAGNET = 6, TECH_DATA = 5) - materials = list (DEFAULT_WALL_MATERIAL = 12500, MAT_PLASTIC = 800, "silver" = 1500, "gold" = 1500, MAT_OSMIUM = 1000) + materials = list (MAT_STEEL = 12500, MAT_PLASTIC = 800, MAT_SILVER = 1500, MAT_GOLD = 1500, MAT_OSMIUM = 1000) build_path = /obj/item/weapon/surgical/circular_saw/manager sort_string = "KAAAE" @@ -57,7 +57,7 @@ desc = "A modern and horrifying take on an ancient practice, this tool is capable of rapidly removing an organ from a hopefully willing patient, without damaging it." id = "organ_ripper" req_tech = list(TECH_BIO = 3, TECH_MATERIAL = 5, TECH_MAGNET = 4, TECH_ILLEGAL = 3) - materials = list (DEFAULT_WALL_MATERIAL = 12500, MAT_PLASTIC = 8000, MAT_OSMIUM = 2500) + materials = list (MAT_STEEL = 12500, MAT_PLASTIC = 8000, MAT_OSMIUM = 2500) build_path = /obj/item/weapon/surgical/scalpel/ripper sort_string = "KAAAF" @@ -66,7 +66,7 @@ desc = "A miracle of modern science, this tool rapidly knits together bone, without the need for bone gel." id = "bone_clamp" req_tech = list(TECH_BIO = 4, TECH_MATERIAL = 5, TECH_MAGNET = 4, TECH_DATA = 4) - materials = list (DEFAULT_WALL_MATERIAL = 12500, "glass" = 7500, "silver" = 2500) + materials = list (MAT_STEEL = 12500, MAT_GLASS = 7500, MAT_SILVER = 2500) build_path = /obj/item/weapon/surgical/bone_clamp sort_string = "KAABA" @@ -75,7 +75,7 @@ desc = "A hand-held body scanner able to distinguish vital signs of the subject." id = "medical_analyzer" req_tech = list(TECH_MAGNET = 2, TECH_BIO = 2) - materials = list(DEFAULT_WALL_MATERIAL = 500, "glass" = 500) + materials = list(MAT_STEEL = 500, MAT_GLASS = 500) build_path = /obj/item/device/healthanalyzer sort_string = "KBAAA" @@ -84,7 +84,7 @@ desc = "A prototype version of the regular health analyzer, able to distinguish the location of more serious injuries as well as accurately determine radiation levels." id = "improved_analyzer" req_tech = list(TECH_MAGNET = 5, TECH_BIO = 6) - materials = list(DEFAULT_WALL_MATERIAL = 2000, "glass" = 1000, "silver" = 1000, "gold" = 1500) + materials = list(MAT_STEEL = 2000, MAT_GLASS = 1000, MAT_SILVER = 1000, MAT_GOLD = 1500) build_path = /obj/item/device/healthanalyzer/improved sort_string = "KBAAB" @@ -121,6 +121,6 @@ desc = "A more advanced version of the regular roller bed, with inbuilt surgical stabilisers and an improved folding system." id = "roller_bed" req_tech = list(TECH_BIO = 3, TECH_MATERIAL = 3, TECH_MAGNET = 3) - materials = list(DEFAULT_WALL_MATERIAL = 4000, "glass" = 2000, "phoron" = 2000) + materials = list(MAT_STEEL = 4000, MAT_GLASS = 2000, MAT_PHORON = 2000) build_path = /obj/item/roller/adv sort_string = "KCAAA" diff --git a/code/modules/research/designs/medical_vr.dm b/code/modules/research/designs/medical_vr.dm index 33e049e437..30641fbed2 100644 --- a/code/modules/research/designs/medical_vr.dm +++ b/code/modules/research/designs/medical_vr.dm @@ -17,7 +17,7 @@ name = "SleeveMate 3700" id = "sleevemate" req_tech = list(TECH_MATERIAL = 3, TECH_MAGNET = 2, TECH_BIO = 2) - materials = list(DEFAULT_WALL_MATERIAL = 4000, "glass" = 4000) + materials = list(MAT_STEEL = 4000, MAT_GLASS = 4000) build_path = /obj/item/device/sleevemate sort_string = "KCAVA" @@ -26,7 +26,7 @@ desc = "This prototype hypospray is a sterile, air-needle autoinjector for rapid administration of drugs to patients." id = "protohypospray" req_tech = list(TECH_MATERIAL = 4, TECH_ENGINEERING = 3, TECH_POWER = 2, TECH_BIO = 4, TECH_ILLEGAL = 2) - materials = list(DEFAULT_WALL_MATERIAL = 500, "glass" = 1500, "silver" = 2000, "gold" = 1500, "uranium" = 1000) + materials = list(MAT_STEEL = 500, MAT_GLASS = 1500, MAT_SILVER = 2000, MAT_GOLD = 1500, MAT_URANIUM = 1000) build_path = /obj/item/weapon/reagent_containers/hypospray/science sort_string = "KCAVB" @@ -41,7 +41,7 @@ name = "cell-loaded medigun" id = "cell_medigun" req_tech = list(TECH_MATERIAL = 6, TECH_MAGNET = 4, TECH_POWER = 3, TECH_BIO = 5) - materials = list(DEFAULT_WALL_MATERIAL = 8000, "plastic" = 8000, "glass" = 5000, "silver" = 1000, "gold" = 1000, "uranium" = 1000) + materials = list(MAT_STEEL = 8000, MAT_PLASTIC = 8000, MAT_GLASS = 5000, MAT_SILVER = 1000, MAT_GOLD = 1000, MAT_URANIUM = 1000) build_path = /obj/item/weapon/gun/projectile/cell_loaded/medical sort_string = "KVAAA" @@ -49,7 +49,7 @@ name = "medical cell magazine" id = "cell_medigun_mag" req_tech = list(TECH_MATERIAL = 6, TECH_MAGNET = 4, TECH_POWER = 3, TECH_BIO = 5) - materials = list(DEFAULT_WALL_MATERIAL = 4000, "plastic" = 6000, "glass" = 3000, "silver" = 500, "gold" = 500) + materials = list(MAT_STEEL = 4000, MAT_PLASTIC = 6000, MAT_GLASS = 3000, MAT_SILVER = 500, MAT_GOLD = 500) build_path = /obj/item/ammo_magazine/cell_mag/medical sort_string = "KVBAA" @@ -57,7 +57,7 @@ name = "advanced medical cell magazine" id = "cell_medigun_mag_advanced" req_tech = list(TECH_MATERIAL = 7, TECH_MAGNET = 6, TECH_POWER = 4, TECH_BIO = 7) - materials = list(DEFAULT_WALL_MATERIAL = 5000, "plastic" = 10000, "glass" = 5000, "silver" = 1500, "gold" = 1500, "diamond" = 5000) + materials = list(MAT_STEEL = 5000, MAT_PLASTIC = 10000, MAT_GLASS = 5000, MAT_SILVER = 1500, MAT_GOLD = 1500, MAT_DIAMOND = 5000) build_path = /obj/item/ammo_magazine/cell_mag/medical/advanced sort_string = "KVBAB" @@ -71,7 +71,7 @@ name = "BRUTE" id = "ml3m_cell_brute" req_tech = list(TECH_MATERIAL = 3, TECH_MAGNET = 2, TECH_BIO = 2) - materials = list(DEFAULT_WALL_MATERIAL = 5000, "glass" = 5000) + materials = list(MAT_STEEL = 5000, MAT_GLASS = 5000) build_path = /obj/item/ammo_casing/microbattery/medical/brute sort_string = "KVCAA" @@ -79,7 +79,7 @@ name = "BURN" id = "ml3m_cell_burn" req_tech = list(TECH_MATERIAL = 3, TECH_MAGNET = 2, TECH_BIO = 2) - materials = list(DEFAULT_WALL_MATERIAL = 5000, "glass" = 5000) + materials = list(MAT_STEEL = 5000, MAT_GLASS = 5000) build_path = /obj/item/ammo_casing/microbattery/medical/burn sort_string = "KVCAB" @@ -87,7 +87,7 @@ name = "STABILIZE" id = "ml3m_cell_stabilize" req_tech = list(TECH_MATERIAL = 3, TECH_MAGNET = 2, TECH_BIO = 2) - materials = list(DEFAULT_WALL_MATERIAL = 5000, "glass" = 5000) + materials = list(MAT_STEEL = 5000, MAT_GLASS = 5000) build_path = /obj/item/ammo_casing/microbattery/medical/stabilize sort_string = "KVCAC" @@ -97,7 +97,7 @@ name = "TOXIN" id = "ml3m_cell_toxin" req_tech = list(TECH_MATERIAL = 3, TECH_MAGNET = 3, TECH_BIO = 4) - materials = list(DEFAULT_WALL_MATERIAL = 5000, "glass" = 5000, "plastic" = 2500) + materials = list(MAT_STEEL = 5000, MAT_GLASS = 5000, MAT_PLASTIC = 2500) build_path = /obj/item/ammo_casing/microbattery/medical/toxin sort_string = "KVCBA" @@ -105,7 +105,7 @@ name = "OMNI" id = "ml3m_cell_omni" req_tech = list(TECH_MATERIAL = 3, TECH_MAGNET = 3, TECH_BIO = 4) - materials = list(DEFAULT_WALL_MATERIAL = 5000, "glass" = 5000, "plastic" = 2500) + materials = list(MAT_STEEL = 5000, MAT_GLASS = 5000, MAT_PLASTIC = 2500) build_path = /obj/item/ammo_casing/microbattery/medical/omni sort_string = "KVCBB" @@ -113,7 +113,7 @@ name = "ANTIRAD" id = "ml3m_cell_antirad" req_tech = list(TECH_MATERIAL = 3, TECH_MAGNET = 3, TECH_BIO = 4) - materials = list(DEFAULT_WALL_MATERIAL = 5000, "glass" = 5000, "plastic" = 2500) + materials = list(MAT_STEEL = 5000, MAT_GLASS = 5000, MAT_PLASTIC = 2500) build_path = /obj/item/ammo_casing/microbattery/medical/antirad sort_string = "KVCBC" @@ -123,7 +123,7 @@ name = "BRUTE-II" id = "ml3m_cell_brute2" req_tech = list(TECH_MATERIAL = 5, TECH_MAGNET = 3, TECH_POWER = 2, TECH_BIO = 5) - materials = list(DEFAULT_WALL_MATERIAL = 5000, "glass" = 5000, "plastic" = 2500, "gold" = 1000) + materials = list(MAT_STEEL = 5000, MAT_GLASS = 5000, MAT_PLASTIC = 2500, MAT_GOLD = 1000) build_path = /obj/item/ammo_casing/microbattery/medical/brute2 sort_string = "KVCCA" @@ -131,7 +131,7 @@ name = "BURN-II" id = "ml3m_cell_burn2" req_tech = list(TECH_MATERIAL = 5, TECH_MAGNET = 3, TECH_POWER = 2, TECH_BIO = 5) - materials = list(DEFAULT_WALL_MATERIAL = 5000, "glass" = 5000, "plastic" = 2500, "gold" = 1000) + materials = list(MAT_STEEL = 5000, MAT_GLASS = 5000, MAT_PLASTIC = 2500, MAT_GOLD = 1000) build_path = /obj/item/ammo_casing/microbattery/medical/burn2 sort_string = "KVCCB" @@ -139,7 +139,7 @@ name = "STABILIZE-II" id = "ml3m_cell_stabilize2" req_tech = list(TECH_MATERIAL = 5, TECH_MAGNET = 3, TECH_POWER = 2, TECH_BIO = 5) - materials = list(DEFAULT_WALL_MATERIAL = 5000, "glass" = 5000, "plastic" = 2500, "silver" = 1000) + materials = list(MAT_STEEL = 5000, MAT_GLASS = 5000, MAT_PLASTIC = 2500, MAT_SILVER = 1000) build_path = /obj/item/ammo_casing/microbattery/medical/stabilize2 sort_string = "KVCCC" @@ -147,7 +147,7 @@ name = "OMNI-II" id = "ml3m_cell_omni2" req_tech = list(TECH_MATERIAL = 5, TECH_MAGNET = 3, TECH_POWER = 2, TECH_BIO = 5) - materials = list(DEFAULT_WALL_MATERIAL = 5000, "glass" = 5000, "plastic" = 2500, "uranium" = 1000) + materials = list(MAT_STEEL = 5000, MAT_GLASS = 5000, MAT_PLASTIC = 2500, MAT_URANIUM = 1000) build_path = /obj/item/ammo_casing/microbattery/medical/omni2 sort_string = "KVCCD" @@ -157,7 +157,7 @@ name = "TOXIN-II" id = "ml3m_cell_toxin2" req_tech = list(TECH_MATERIAL = 6, TECH_MAGNET = 3, TECH_POWER = 3, TECH_BIO = 6) - materials = list(DEFAULT_WALL_MATERIAL = 5000, "glass" = 5000, "plastic" = 2500, "uranium" = 1000, "silver" = 1000, "diamond" = 500) + materials = list(MAT_STEEL = 5000, MAT_GLASS = 5000, MAT_PLASTIC = 2500, MAT_URANIUM = 1000, MAT_SILVER = 1000, MAT_DIAMOND = 500) build_path = /obj/item/ammo_casing/microbattery/medical/toxin2 sort_string = "KVCDA" /* @@ -165,7 +165,7 @@ name = "HASTE" id = "ml3m_cell_haste" req_tech = list(TECH_MATERIAL = 6, TECH_MAGNET = 3, TECH_POWER = 3, TECH_BIO = 6) - materials = list(DEFAULT_WALL_MATERIAL = 5000, "glass" = 5000, "plastic" = 2500, "gold" = 1000, "silver" = 1000, "diamond" = 1000) + materials = list(MAT_STEEL = 5000, MAT_GLASS = 5000, MAT_PLASTIC = 2500, MAT_GOLD = 1000, MAT_SILVER = 1000, MAT_DIAMOND = 1000) build_path = /obj/item/ammo_casing/microbattery/medical/haste sort_string = "KVCDB" @@ -173,7 +173,7 @@ name = "RESIST" id = "ml3m_cell_resist" req_tech = list(TECH_MATERIAL = 6, TECH_MAGNET = 3, TECH_POWER = 3, TECH_BIO = 6) - materials = list(DEFAULT_WALL_MATERIAL = 5000, "glass" = 5000, "plastic" = 2500, "gold" = 1000, "uranium" = 1000, "diamond" = 1000) + materials = list(MAT_STEEL = 5000, MAT_GLASS = 5000, MAT_PLASTIC = 2500, MAT_GOLD = 1000, MAT_URANIUM = 1000, MAT_DIAMOND = 1000) build_path = /obj/item/ammo_casing/microbattery/medical/resist sort_string = "KVCDC" */ @@ -181,7 +181,7 @@ name = "CORPSE MEND" id = "ml3m_cell_corpse_mend" req_tech = list(TECH_MATERIAL = 6, TECH_MAGNET = 3, TECH_POWER = 3, TECH_BIO = 6) - materials = list(DEFAULT_WALL_MATERIAL = 5000, "glass" = 5000, "plastic" = 2500, "phoron" = 3000, "diamond" = 3000) + materials = list(MAT_STEEL = 5000, MAT_GLASS = 5000, MAT_PLASTIC = 2500, MAT_PHORON = 3000, MAT_DIAMOND = 3000) build_path = /obj/item/ammo_casing/microbattery/medical/corpse_mend sort_string = "KVCDD" @@ -191,7 +191,7 @@ name = "BRUTE-III" id = "ml3m_cell_brute3" req_tech = list(TECH_MATERIAL = 7, TECH_MAGNET = 6, TECH_POWER = 5, TECH_BIO = 7, TECH_PRECURSOR = 2) - materials = list(DEFAULT_WALL_MATERIAL = 5000, "glass" = 5000, "plastic" = 2500, "diamond" = 500, "verdantium" = 1000) + materials = list(MAT_STEEL = 5000, MAT_GLASS = 5000, MAT_PLASTIC = 2500, MAT_DIAMOND = 500, MAT_VERDANTIUM = 1000) build_path = /obj/item/ammo_casing/microbattery/medical/brute3 sort_string = "KVCEA" @@ -199,7 +199,7 @@ name = "BURN-III" id = "ml3m_cell_burn3" req_tech = list(TECH_MATERIAL = 7, TECH_MAGNET = 6, TECH_POWER = 5, TECH_BIO = 7, TECH_PRECURSOR = 2) - materials = list(DEFAULT_WALL_MATERIAL = 5000, "glass" = 5000, "plastic" = 2500, "diamond" = 500, "verdantium" = 1000) + materials = list(MAT_STEEL = 5000, MAT_GLASS = 5000, MAT_PLASTIC = 2500, MAT_DIAMOND = 500, MAT_VERDANTIUM = 1000) build_path = /obj/item/ammo_casing/microbattery/medical/burn3 sort_string = "KVCEB" @@ -207,7 +207,7 @@ name = "TOXIN-III" id = "ml3m_cell_toxin3" req_tech = list(TECH_MATERIAL = 7, TECH_MAGNET = 6, TECH_POWER = 5, TECH_BIO = 7, TECH_ARCANE = 2) - materials = list(DEFAULT_WALL_MATERIAL = 5000, "glass" = 5000, "plastic" = 2500, "diamond" = 500, "verdantium" = 1000) + materials = list(MAT_STEEL = 5000, MAT_GLASS = 5000, MAT_PLASTIC = 2500, MAT_DIAMOND = 500, MAT_VERDANTIUM = 1000) build_path = /obj/item/ammo_casing/microbattery/medical/toxin3 sort_string = "KVCEC" @@ -215,7 +215,7 @@ name = "OMNI-III" id = "ml3m_cell_omni3" req_tech = list(TECH_MATERIAL = 7, TECH_MAGNET = 6, TECH_POWER = 5, TECH_BIO = 7, TECH_ARCANE = 2) - materials = list(DEFAULT_WALL_MATERIAL = 5000, "glass" = 5000, "plastic" = 2500, "diamond" = 500, "verdantium" = 1000) + materials = list(MAT_STEEL = 5000, MAT_GLASS = 5000, MAT_PLASTIC = 2500, MAT_DIAMOND = 500, MAT_VERDANTIUM = 1000) build_path = /obj/item/ammo_casing/microbattery/medical/omni3 sort_string = "KVCED" @@ -225,7 +225,7 @@ name = "SHRINK" id = "ml3m_cell_shrink" req_tech = list(TECH_MATERIAL = 5, TECH_MAGNET = 3, TECH_BLUESPACE = 3, TECH_BIO = 5, TECH_ILLEGAL = 5) - materials = list(DEFAULT_WALL_MATERIAL = 5000, "glass" = 5000, "plastic" = 2500, "uranium" = 2000) + materials = list(MAT_STEEL = 5000, MAT_GLASS = 5000, MAT_PLASTIC = 2500, MAT_URANIUM = 2000) build_path = /obj/item/ammo_casing/microbattery/medical/shrink sort_string = "KVCOA" @@ -233,7 +233,7 @@ name = "GROW" id = "ml3m_cell_grow" req_tech = list(TECH_MATERIAL = 5, TECH_MAGNET = 3, TECH_BLUESPACE = 3, TECH_BIO = 5, TECH_ILLEGAL = 5) - materials = list(DEFAULT_WALL_MATERIAL = 5000, "glass" = 5000, "plastic" = 2500, "uranium" = 2000) + materials = list(MAT_STEEL = 5000, MAT_GLASS = 5000, MAT_PLASTIC = 2500, MAT_URANIUM = 2000) build_path = /obj/item/ammo_casing/microbattery/medical/grow sort_string = "KVCOB" @@ -241,7 +241,7 @@ name = "NORMALSIZE" id = "ml3m_cell_normalsize" req_tech = list(TECH_MATERIAL = 5, TECH_MAGNET = 3, TECH_BLUESPACE = 3, TECH_BIO = 5, TECH_ILLEGAL = 5) - materials = list(DEFAULT_WALL_MATERIAL = 5000, "glass" = 5000, "plastic" = 2500, "uranium" = 2000) + materials = list(MAT_STEEL = 5000, MAT_GLASS = 5000, MAT_PLASTIC = 2500, MAT_URANIUM = 2000) build_path = /obj/item/ammo_casing/microbattery/medical/normalsize sort_string = "KVCOC" */ diff --git a/code/modules/research/designs/mining_toys.dm b/code/modules/research/designs/mining_toys.dm index 1684889b8e..02237b829d 100644 --- a/code/modules/research/designs/mining_toys.dm +++ b/code/modules/research/designs/mining_toys.dm @@ -7,35 +7,35 @@ /datum/design/item/weapon/mining/drill id = "drill" req_tech = list(TECH_MATERIAL = 2, TECH_POWER = 3, TECH_ENGINEERING = 2) - materials = list(DEFAULT_WALL_MATERIAL = 6000, "glass" = 1000) //expensive, but no need for miners. + materials = list(MAT_STEEL = 6000, MAT_GLASS = 1000) //expensive, but no need for miners. build_path = /obj/item/weapon/pickaxe/drill sort_string = "FAAAA" /datum/design/item/weapon/mining/jackhammer id = "jackhammer" req_tech = list(TECH_MATERIAL = 3, TECH_POWER = 2, TECH_ENGINEERING = 2) - materials = list(DEFAULT_WALL_MATERIAL = 2000, "glass" = 500, "silver" = 500) + materials = list(MAT_STEEL = 2000, MAT_GLASS = 500, MAT_SILVER = 500) build_path = /obj/item/weapon/pickaxe/jackhammer sort_string = "FAAAB" /datum/design/item/weapon/mining/plasmacutter id = "plasmacutter" req_tech = list(TECH_MATERIAL = 4, TECH_PHORON = 3, TECH_ENGINEERING = 3) - materials = list(DEFAULT_WALL_MATERIAL = 1500, "glass" = 500, "gold" = 500, "phoron" = 500) + materials = list(MAT_STEEL = 1500, MAT_GLASS = 500, MAT_GOLD = 500, MAT_PHORON = 500) build_path = /obj/item/weapon/pickaxe/plasmacutter sort_string = "FAAAC" /datum/design/item/weapon/mining/pick_diamond id = "pick_diamond" req_tech = list(TECH_MATERIAL = 6) - materials = list("diamond" = 3000) + materials = list(MAT_DIAMOND = 3000) build_path = /obj/item/weapon/pickaxe/diamond sort_string = "FAAAD" /datum/design/item/weapon/mining/drill_diamond id = "drill_diamond" req_tech = list(TECH_MATERIAL = 6, TECH_POWER = 4, TECH_ENGINEERING = 4) - materials = list(DEFAULT_WALL_MATERIAL = 3000, "glass" = 1000, "diamond" = 2000) + materials = list(MAT_STEEL = 3000, MAT_GLASS = 1000, MAT_DIAMOND = 2000) build_path = /obj/item/weapon/pickaxe/diamonddrill sort_string = "FAAAE" @@ -45,7 +45,7 @@ desc = "Used to check spatial depth and density of rock outcroppings." id = "depth_scanner" req_tech = list(TECH_MAGNET = 2, TECH_ENGINEERING = 2, TECH_BLUESPACE = 2) - materials = list(DEFAULT_WALL_MATERIAL = 1000,"glass" = 1000) + materials = list(MAT_STEEL = 1000,MAT_GLASS = 1000) build_path = /obj/item/device/depth_scanner sort_string = "FBAAA" diff --git a/code/modules/research/designs/misc.dm b/code/modules/research/designs/misc.dm index 7ec9bad2fa..169959bd11 100644 --- a/code/modules/research/designs/misc.dm +++ b/code/modules/research/designs/misc.dm @@ -8,7 +8,7 @@ name = "Communicator" id = "communicator" req_tech = list(TECH_DATA = 2, TECH_MAGNET = 2) - materials = list(DEFAULT_WALL_MATERIAL = 500, "glass" = 500) + materials = list(MAT_STEEL = 500, MAT_GLASS = 500) build_path = /obj/item/device/communicator sort_string = "TAAAA" @@ -17,7 +17,7 @@ desc = "Don't shine it in your eyes!" id = "laser_pointer" req_tech = list(TECH_MAGNET = 3) - materials = list(DEFAULT_WALL_MATERIAL = 100, "glass" = 50) + materials = list(MAT_STEEL = 100, MAT_GLASS = 50) build_path = /obj/item/device/laser_pointer sort_string = "TAABA" @@ -25,7 +25,7 @@ name = "handheld translator" id = "translator" req_tech = list(TECH_DATA = 3, TECH_ENGINEERING = 3) - materials = list(DEFAULT_WALL_MATERIAL = 3000, "glass" = 3000) + materials = list(MAT_STEEL = 3000, MAT_GLASS = 3000) build_path = /obj/item/device/universal_translator sort_string = "TAACA" @@ -33,7 +33,7 @@ name = "earpiece translator" id = "ear_translator" req_tech = list(TECH_DATA = 5, TECH_ENGINEERING = 5) //It's been hella miniaturized. - materials = list(DEFAULT_WALL_MATERIAL = 2000, "glass" = 2000, "gold" = 1000) + materials = list(MAT_STEEL = 2000, MAT_GLASS = 2000, MAT_GOLD = 1000) build_path = /obj/item/device/universal_translator/ear sort_string = "TAACB" @@ -42,7 +42,7 @@ desc = "A device to automatically replace lights. Refill with working lightbulbs." id = "light_replacer" req_tech = list(TECH_MAGNET = 3, TECH_MATERIAL = 4) - materials = list(DEFAULT_WALL_MATERIAL = 1500, "silver" = 150, "glass" = 3000) + materials = list(MAT_STEEL = 1500, MAT_SILVER = 150, MAT_GLASS = 3000) build_path = /obj/item/device/lightreplacer sort_string = "TAADA" @@ -51,7 +51,7 @@ desc = "Allows for deciphering the binary channel on-the-fly." id = "binaryencrypt" req_tech = list(TECH_ILLEGAL = 2) - materials = list(DEFAULT_WALL_MATERIAL = 300, "glass" = 300) + materials = list(MAT_STEEL = 300, MAT_GLASS = 300) build_path = /obj/item/device/encryptionkey/binary sort_string = "TBAAA" @@ -60,7 +60,7 @@ desc = "A kit of dangerous, high-tech equipment with changeable looks." id = "chameleon" req_tech = list(TECH_ILLEGAL = 2) - materials = list(DEFAULT_WALL_MATERIAL = 500) + materials = list(MAT_STEEL = 500) build_path = /obj/item/weapon/storage/box/syndie_kit/chameleon sort_string = "TBAAB" @@ -69,6 +69,6 @@ desc = "A marker that can be detected by shuttle landing systems." id = "bsflare" req_tech = list(TECH_DATA = 3, TECH_BLUESPACE = 4) - materials = list(DEFAULT_WALL_MATERIAL = 4000, MAT_GLASS = 2000, MAT_SILVER = 2000) + materials = list(MAT_STEEL = 4000, MAT_GLASS = 2000, MAT_SILVER = 2000) build_path = /obj/item/device/spaceflare sort_string = "TBAAC" diff --git a/code/modules/research/designs/misc_vr.dm b/code/modules/research/designs/misc_vr.dm index 859834b447..afb0df0062 100644 --- a/code/modules/research/designs/misc_vr.dm +++ b/code/modules/research/designs/misc_vr.dm @@ -2,7 +2,7 @@ name = "HYPER jumpsuit" id = "hfjumpsuit" req_tech = list(TECH_BLUESPACE = 2) - materials = list(DEFAULT_WALL_MATERIAL = 2000, MAT_GLASS = 1000) + materials = list(MAT_STEEL = 2000, MAT_GLASS = 1000) build_path = /obj/item/clothing/under/hyperfiber sort_string = "TAVAA" @@ -10,7 +10,7 @@ name = "Bluespace jumpsuit" id = "bsjumpsuit" req_tech = list(TECH_BLUESPACE = 2, TECH_MATERIAL = 3, TECH_POWER = 2) - materials = list(DEFAULT_WALL_MATERIAL = 4000, MAT_GLASS = 4000) + materials = list(MAT_STEEL = 4000, MAT_GLASS = 4000) build_path = /obj/item/clothing/under/hyperfiber/bluespace sort_string = "TAVAA" @@ -18,7 +18,7 @@ name = "Size gun" id = "sizegun" req_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 3, TECH_POWER = 2) - materials = list(DEFAULT_WALL_MATERIAL = 3000, MAT_GLASS = 2000) + materials = list(MAT_STEEL = 3000, MAT_GLASS = 2000) build_path = /obj/item/weapon/gun/energy/sizegun sort_string = "TAVBA" @@ -26,7 +26,7 @@ name = "Body Snatcher" id = "bodysnatcher" req_tech = list(TECH_MAGNET = 3, TECH_BIO = 3, TECH_ILLEGAL = 2) - materials = list(DEFAULT_WALL_MATERIAL = 4000, MAT_GLASS = 4000, MAT_URANIUM = 2000) + materials = list(MAT_STEEL = 4000, MAT_GLASS = 4000, MAT_URANIUM = 2000) build_path = /obj/item/device/bodysnatcher sort_string = "TBVAA" @@ -34,7 +34,7 @@ name = "Inducer (Scientific)" id = "inducersci" req_tech = list(TECH_BLUESPACE = 4, TECH_MATERIAL = 5, TECH_POWER = 6) - materials = list(DEFAULT_WALL_MATERIAL = 8000, MAT_GLASS = 2000, MAT_URANIUM = 4000, MAT_PHORON = 4000) + materials = list(MAT_STEEL = 8000, MAT_GLASS = 2000, MAT_URANIUM = 4000, MAT_PHORON = 4000) build_path = /obj/item/weapon/inducer/sci sort_string = "TCVAA" @@ -42,14 +42,14 @@ name = "Inducer (Industrial)" id = "inducerind" req_tech = list(TECH_BLUESPACE = 5, TECH_MATERIAL = 7, TECH_POWER = 7) - materials = list(DEFAULT_WALL_MATERIAL = 3000, MAT_GLASS = 2000, MAT_URANIUM = 2000, MAT_TITANIUM = 2000) + materials = list(MAT_STEEL = 3000, MAT_GLASS = 2000, MAT_URANIUM = 2000, MAT_TITANIUM = 2000) build_path = /obj/item/weapon/inducer/unloaded sort_string = "TCVAB" /datum/design/item/weapon/mining/mining_scanner id = "mining_scanner" req_tech = list(TECH_MAGNET = 3, TECH_ENGINEERING = 4, TECH_BLUESPACE = 1) - materials = list(DEFAULT_WALL_MATERIAL = 1000,"glass" = 500) + materials = list(MAT_STEEL = 1000,MAT_GLASS = 500) build_path = /obj/item/weapon/mining_scanner/advanced sort_string = "FBAAB" @@ -57,7 +57,7 @@ name = "PodZu Music Player" id = "walkpod" req_tech = list(TECH_MAGNET = 3, TECH_ENGINEERING = 3) - materials = list(DEFAULT_WALL_MATERIAL = 2000, MAT_GLASS = 2000) + materials = list(MAT_STEEL = 2000, MAT_GLASS = 2000) build_path = /obj/item/device/walkpod sort_string = "TCVAD" @@ -65,6 +65,6 @@ name = "BoomTown Cordless Speaker" id = "juke_remote" req_tech = list(TECH_MAGNET = 3, TECH_ENGINEERING = 4, TECH_BLUESPACE = 1) - materials = list(DEFAULT_WALL_MATERIAL = 4000, MAT_GLASS = 4000, MAT_URANIUM = 2000) + materials = list(MAT_STEEL = 4000, MAT_GLASS = 4000, MAT_URANIUM = 2000) build_path = /obj/item/device/juke_remote sort_string = "TCVAE" diff --git a/code/modules/research/designs/modular_computer.dm b/code/modules/research/designs/modular_computer.dm index e78a776c1c..588f16357b 100644 --- a/code/modules/research/designs/modular_computer.dm +++ b/code/modules/research/designs/modular_computer.dm @@ -9,14 +9,14 @@ name = "basic hard drive" id = "hdd_basic" req_tech = list(TECH_DATA = 1, TECH_ENGINEERING = 1) - materials = list(DEFAULT_WALL_MATERIAL = 2000, "glass" = 100) + materials = list(MAT_STEEL = 2000, MAT_GLASS = 100) build_path = /obj/item/weapon/computer_hardware/hard_drive/ sort_string = "VAAAA" /datum/design/item/modularcomponent/disk/advanced name = "advanced hard drive" id = "hdd_advanced" - materials = list(DEFAULT_WALL_MATERIAL = 4000, "glass" = 200) + materials = list(MAT_STEEL = 4000, MAT_GLASS = 200) build_path = /obj/item/weapon/computer_hardware/hard_drive/advanced sort_string = "VAAAB" @@ -24,7 +24,7 @@ name = "super hard drive" id = "hdd_super" req_tech = list(TECH_DATA = 3, TECH_ENGINEERING = 3) - materials = list(DEFAULT_WALL_MATERIAL = 8000, "glass" = 400) + materials = list(MAT_STEEL = 8000, MAT_GLASS = 400) build_path = /obj/item/weapon/computer_hardware/hard_drive/super sort_string = "VAAAC" @@ -32,7 +32,7 @@ name = "cluster hard drive" id = "hdd_cluster" req_tech = list(TECH_DATA = 4, TECH_ENGINEERING = 4) - materials = list(DEFAULT_WALL_MATERIAL = 16000, "glass" = 800) + materials = list(MAT_STEEL = 16000, MAT_GLASS = 800) build_path = /obj/item/weapon/computer_hardware/hard_drive/cluster sort_string = "VAAAD" @@ -40,7 +40,7 @@ name = "small hard drive" id = "hdd_small" req_tech = list(TECH_DATA = 2, TECH_ENGINEERING = 2) - materials = list(DEFAULT_WALL_MATERIAL = 4000, "glass" = 200) + materials = list(MAT_STEEL = 4000, MAT_GLASS = 200) build_path = /obj/item/weapon/computer_hardware/hard_drive/small sort_string = "VAAAE" @@ -48,7 +48,7 @@ name = "micro hard drive" id = "hdd_micro" req_tech = list(TECH_DATA = 1, TECH_ENGINEERING = 1) - materials = list(DEFAULT_WALL_MATERIAL = 2000, "glass" = 100) + materials = list(MAT_STEEL = 2000, MAT_GLASS = 100) build_path = /obj/item/weapon/computer_hardware/hard_drive/micro sort_string = "VAAAF" @@ -58,7 +58,7 @@ name = "basic network card" id = "netcard_basic" req_tech = list(TECH_DATA = 2, TECH_ENGINEERING = 1) - materials = list(DEFAULT_WALL_MATERIAL = 500, "glass" = 100) + materials = list(MAT_STEEL = 500, MAT_GLASS = 100) build_path = /obj/item/weapon/computer_hardware/network_card sort_string = "VBAAA" @@ -66,7 +66,7 @@ name = "advanced network card" id = "netcard_advanced" req_tech = list(TECH_DATA = 4, TECH_ENGINEERING = 2) - materials = list(DEFAULT_WALL_MATERIAL = 1000, "glass" = 200) + materials = list(MAT_STEEL = 1000, MAT_GLASS = 200) build_path = /obj/item/weapon/computer_hardware/network_card/advanced sort_string = "VBAAB" @@ -74,7 +74,7 @@ name = "wired network card" id = "netcard_wired" req_tech = list(TECH_DATA = 5, TECH_ENGINEERING = 3) - materials = list(DEFAULT_WALL_MATERIAL = 5000, "glass" = 400) + materials = list(MAT_STEEL = 5000, MAT_GLASS = 400) build_path = /obj/item/weapon/computer_hardware/network_card/wired sort_string = "VBAAC" @@ -84,7 +84,7 @@ name = "standard battery module" id = "bat_normal" req_tech = list(TECH_POWER = 1, TECH_ENGINEERING = 1) - materials = list(DEFAULT_WALL_MATERIAL = 2000) + materials = list(MAT_STEEL = 2000) build_path = /obj/item/weapon/computer_hardware/battery_module sort_string = "VCAAA" @@ -92,7 +92,7 @@ name = "advanced battery module" id = "bat_advanced" req_tech = list(TECH_POWER = 2, TECH_ENGINEERING = 2) - materials = list(DEFAULT_WALL_MATERIAL = 4000) + materials = list(MAT_STEEL = 4000) build_path = /obj/item/weapon/computer_hardware/battery_module/advanced sort_string = "VCAAB" @@ -100,7 +100,7 @@ name = "super battery module" id = "bat_super" req_tech = list(TECH_POWER = 3, TECH_ENGINEERING = 3) - materials = list(DEFAULT_WALL_MATERIAL = 8000) + materials = list(MAT_STEEL = 8000) build_path = /obj/item/weapon/computer_hardware/battery_module/super sort_string = "VCAAC" @@ -108,7 +108,7 @@ name = "ultra battery module" id = "bat_ultra" req_tech = list(TECH_POWER = 5, TECH_ENGINEERING = 4) - materials = list(DEFAULT_WALL_MATERIAL = 16000) + materials = list(MAT_STEEL = 16000) build_path = /obj/item/weapon/computer_hardware/battery_module/ultra sort_string = "VCAAD" @@ -116,7 +116,7 @@ name = "nano battery module" id = "bat_nano" req_tech = list(TECH_POWER = 1, TECH_ENGINEERING = 1) - materials = list(DEFAULT_WALL_MATERIAL = 2000) + materials = list(MAT_STEEL = 2000) build_path = /obj/item/weapon/computer_hardware/battery_module/nano sort_string = "VCAAE" @@ -124,7 +124,7 @@ name = "micro battery module" id = "bat_micro" req_tech = list(TECH_POWER = 2, TECH_ENGINEERING = 2) - materials = list(DEFAULT_WALL_MATERIAL = 4000) + materials = list(MAT_STEEL = 4000) build_path = /obj/item/weapon/computer_hardware/battery_module/micro sort_string = "VCAAF" @@ -134,7 +134,7 @@ name = "computer processor unit" id = "cpu_normal" req_tech = list(TECH_DATA = 3, TECH_ENGINEERING = 2) - materials = list(DEFAULT_WALL_MATERIAL = 8000) + materials = list(MAT_STEEL = 8000) build_path = /obj/item/weapon/computer_hardware/processor_unit sort_string = "VDAAA" @@ -142,7 +142,7 @@ name = "computer microprocessor unit" id = "cpu_small" req_tech = list(TECH_DATA = 2, TECH_ENGINEERING = 2) - materials = list(DEFAULT_WALL_MATERIAL = 4000) + materials = list(MAT_STEEL = 4000) build_path = /obj/item/weapon/computer_hardware/processor_unit/small sort_string = "VDAAB" @@ -150,7 +150,7 @@ name = "computer photonic processor unit" id = "pcpu_normal" req_tech = list(TECH_DATA = 5, TECH_ENGINEERING = 4) - materials = list(DEFAULT_WALL_MATERIAL = 32000, glass = 8000) + materials = list(MAT_STEEL = 32000, glass = 8000) build_path = /obj/item/weapon/computer_hardware/processor_unit/photonic sort_string = "VDAAC" @@ -158,7 +158,7 @@ name = "computer photonic microprocessor unit" id = "pcpu_small" req_tech = list(TECH_DATA = 4, TECH_ENGINEERING = 3) - materials = list(DEFAULT_WALL_MATERIAL = 16000, glass = 4000) + materials = list(MAT_STEEL = 16000, glass = 4000) build_path = /obj/item/weapon/computer_hardware/processor_unit/photonic/small sort_string = "VDAAD" @@ -168,7 +168,7 @@ name = "RFID card slot" id = "cardslot" req_tech = list(TECH_DATA = 2) - materials = list(DEFAULT_WALL_MATERIAL = 3000) + materials = list(MAT_STEEL = 3000) build_path = /obj/item/weapon/computer_hardware/card_slot sort_string = "VEAAA" @@ -176,7 +176,7 @@ name = "nano printer" id = "nanoprinter" req_tech = list(TECH_DATA = 2, TECH_ENGINEERING = 2) - materials = list(DEFAULT_WALL_MATERIAL = 3000) + materials = list(MAT_STEEL = 3000) build_path = /obj/item/weapon/computer_hardware/nano_printer sort_string = "VEAAB" @@ -184,7 +184,7 @@ name = "tesla link" id = "teslalink" req_tech = list(TECH_DATA = 2, TECH_POWER = 3, TECH_ENGINEERING = 2) - materials = list(DEFAULT_WALL_MATERIAL = 10000) + materials = list(MAT_STEEL = 10000) build_path = /obj/item/weapon/computer_hardware/tesla_link sort_string = "VEAAC" @@ -198,7 +198,7 @@ name = "basic data crystal" id = "portadrive_basic" req_tech = list(TECH_DATA = 1) - materials = list("glass" = 8000) + materials = list(MAT_GLASS = 8000) build_path = /obj/item/weapon/computer_hardware/hard_drive/portable sort_string = "VFAAA" @@ -206,7 +206,7 @@ name = "advanced data crystal" id = "portadrive_advanced" req_tech = list(TECH_DATA = 2) - materials = list("glass" = 16000) + materials = list(MAT_GLASS = 16000) build_path = /obj/item/weapon/computer_hardware/hard_drive/portable/advanced sort_string = "VFAAB" @@ -214,6 +214,6 @@ name = "super data crystal" id = "portadrive_super" req_tech = list(TECH_DATA = 4) - materials = list("glass" = 32000) + materials = list(MAT_GLASS = 32000) build_path = /obj/item/weapon/computer_hardware/hard_drive/portable/super sort_string = "VFAAC" diff --git a/code/modules/research/designs/pdas.dm b/code/modules/research/designs/pdas.dm index 78fd01ec23..c13d490493 100644 --- a/code/modules/research/designs/pdas.dm +++ b/code/modules/research/designs/pdas.dm @@ -5,7 +5,7 @@ desc = "Cheaper than whiny non-digital assistants." id = "pda" req_tech = list(TECH_ENGINEERING = 2, TECH_POWER = 3) - materials = list(DEFAULT_WALL_MATERIAL = 50, "glass" = 50) + materials = list(MAT_STEEL = 50, MAT_GLASS = 50) build_path = /obj/item/device/pda sort_string = "WAAAA" @@ -13,7 +13,7 @@ /datum/design/item/pda_cartridge req_tech = list(TECH_ENGINEERING = 2, TECH_POWER = 3) - materials = list(DEFAULT_WALL_MATERIAL = 50, "glass" = 50) + materials = list(MAT_STEEL = 50, MAT_GLASS = 50) /datum/design/item/pda_cartridge/AssembleDesignName() ..() diff --git a/code/modules/research/designs/power_cells.dm b/code/modules/research/designs/power_cells.dm index 9d9c654494..76a558f227 100644 --- a/code/modules/research/designs/power_cells.dm +++ b/code/modules/research/designs/power_cells.dm @@ -20,7 +20,7 @@ build_type = PROTOLATHE | MECHFAB id = "basic_cell" req_tech = list(TECH_POWER = 1) - materials = list(DEFAULT_WALL_MATERIAL = 700, "glass" = 50) + materials = list(MAT_STEEL = 700, MAT_GLASS = 50) build_path = /obj/item/weapon/cell category = list("Misc") sort_string = "BAAAA" @@ -30,7 +30,7 @@ build_type = PROTOLATHE | MECHFAB id = "high_cell" req_tech = list(TECH_POWER = 2) - materials = list(DEFAULT_WALL_MATERIAL = 700, "glass" = 60) + materials = list(MAT_STEEL = 700, MAT_GLASS = 60) build_path = /obj/item/weapon/cell/high category = list("Misc") sort_string = "BAAAB" @@ -39,7 +39,7 @@ name = "super-capacity" id = "super_cell" req_tech = list(TECH_POWER = 3, TECH_MATERIAL = 2) - materials = list(DEFAULT_WALL_MATERIAL = 700, "glass" = 70) + materials = list(MAT_STEEL = 700, MAT_GLASS = 70) build_path = /obj/item/weapon/cell/super category = list("Misc") sort_string = "BAAAC" @@ -48,7 +48,7 @@ name = "hyper-capacity" id = "hyper_cell" req_tech = list(TECH_POWER = 5, TECH_MATERIAL = 4) - materials = list(DEFAULT_WALL_MATERIAL = 400, "gold" = 150, "silver" = 150, "glass" = 70) + materials = list(MAT_STEEL = 400, MAT_GOLD = 150, MAT_SILVER = 150, MAT_GLASS = 70) build_path = /obj/item/weapon/cell/hyper category = list("Misc") sort_string = "BAAAD" @@ -57,7 +57,7 @@ name = "device" build_type = PROTOLATHE id = "device" - materials = list(DEFAULT_WALL_MATERIAL = 350, "glass" = 25) + materials = list(MAT_STEEL = 350, MAT_GLASS = 25) build_path = /obj/item/weapon/cell/device category = list("Misc") sort_string = "BAABA" @@ -66,8 +66,16 @@ /datum/design/item/powercell/advance_device name = "device, advanced" build_type = PROTOLATHE +<<<<<<< HEAD id = "advance_device" materials = list(DEFAULT_WALL_MATERIAL = 700, "glass" = 50) +||||||| parent of 8ab34365f1... Merge pull request #10852 from VOREStation/Arokha/matdefs + id = "weapon" + materials = list(DEFAULT_WALL_MATERIAL = 700, "glass" = 50) +======= + id = "weapon" + materials = list(MAT_STEEL = 700, MAT_GLASS = 50) +>>>>>>> 8ab34365f1... Merge pull request #10852 from VOREStation/Arokha/matdefs build_path = /obj/item/weapon/cell/device/weapon category = list("Misc") sort_string = "BAABB" diff --git a/code/modules/research/designs/stock_parts.dm b/code/modules/research/designs/stock_parts.dm index 18e3c01616..f8a03b1604 100644 --- a/code/modules/research/designs/stock_parts.dm +++ b/code/modules/research/designs/stock_parts.dm @@ -19,35 +19,35 @@ /datum/design/item/stock_part/basic_matter_bin id = "basic_matter_bin" req_tech = list(TECH_MATERIAL = 1) - materials = list(DEFAULT_WALL_MATERIAL = 80) + materials = list(MAT_STEEL = 80) build_path = /obj/item/weapon/stock_parts/matter_bin sort_string = "AAAAA" /datum/design/item/stock_part/adv_matter_bin id = "adv_matter_bin" req_tech = list(TECH_MATERIAL = 3) - materials = list(DEFAULT_WALL_MATERIAL = 80) + materials = list(MAT_STEEL = 80) build_path = /obj/item/weapon/stock_parts/matter_bin/adv sort_string = "AAAAB" /datum/design/item/stock_part/super_matter_bin id = "super_matter_bin" req_tech = list(TECH_MATERIAL = 5) - materials = list(DEFAULT_WALL_MATERIAL = 80) + materials = list(MAT_STEEL = 80) build_path = /obj/item/weapon/stock_parts/matter_bin/super sort_string = "AAAAC" /datum/design/item/stock_part/hyper_matter_bin id = "hyper_matter_bin" req_tech = list(TECH_MATERIAL = 6, TECH_ARCANE = 2) - materials = list(DEFAULT_WALL_MATERIAL = 200, MAT_VERDANTIUM = 60, MAT_DURASTEEL = 75) + materials = list(MAT_STEEL = 200, MAT_VERDANTIUM = 60, MAT_DURASTEEL = 75) build_path = /obj/item/weapon/stock_parts/matter_bin/hyper sort_string = "AAAAD" /datum/design/item/stock_part/omni_matter_bin id = "omni_matter_bin" req_tech = list(TECH_MATERIAL = 7, TECH_PRECURSOR = 2) - materials = list(DEFAULT_WALL_MATERIAL = 2000, MAT_PLASTEEL = 100, MAT_MORPHIUM = 100, MAT_DURASTEEL = 100) + materials = list(MAT_STEEL = 2000, MAT_PLASTEEL = 100, MAT_MORPHIUM = 100, MAT_DURASTEEL = 100) build_path = /obj/item/weapon/stock_parts/matter_bin/omni sort_string = "AAAAE" @@ -56,35 +56,35 @@ /datum/design/item/stock_part/micro_mani id = "micro_mani" req_tech = list(TECH_MATERIAL = 1, TECH_DATA = 1) - materials = list(DEFAULT_WALL_MATERIAL = 30) + materials = list(MAT_STEEL = 30) build_path = /obj/item/weapon/stock_parts/manipulator sort_string = "AAABA" /datum/design/item/stock_part/nano_mani id = "nano_mani" req_tech = list(TECH_MATERIAL = 3, TECH_DATA = 2) - materials = list(DEFAULT_WALL_MATERIAL = 30) + materials = list(MAT_STEEL = 30) build_path = /obj/item/weapon/stock_parts/manipulator/nano sort_string = "AAABB" /datum/design/item/stock_part/pico_mani id = "pico_mani" req_tech = list(TECH_MATERIAL = 5, TECH_DATA = 2) - materials = list(DEFAULT_WALL_MATERIAL = 30) + materials = list(MAT_STEEL = 30) build_path = /obj/item/weapon/stock_parts/manipulator/pico sort_string = "AAABC" /datum/design/item/stock_part/hyper_mani id = "hyper_mani" req_tech = list(TECH_MATERIAL = 6, TECH_DATA = 3, TECH_ARCANE = 2) - materials = list(DEFAULT_WALL_MATERIAL = 200, MAT_VERDANTIUM = 50, MAT_DURASTEEL = 50) + materials = list(MAT_STEEL = 200, MAT_VERDANTIUM = 50, MAT_DURASTEEL = 50) build_path = /obj/item/weapon/stock_parts/manipulator/hyper sort_string = "AAABD" /datum/design/item/stock_part/omni_mani id = "omni_mani" req_tech = list(TECH_MATERIAL = 7, TECH_DATA = 4, TECH_PRECURSOR = 2) - materials = list(DEFAULT_WALL_MATERIAL = 2000, MAT_PLASTEEL = 500, MAT_MORPHIUM = 100, MAT_DURASTEEL = 100) + materials = list(MAT_STEEL = 2000, MAT_PLASTEEL = 500, MAT_MORPHIUM = 100, MAT_DURASTEEL = 100) build_path = /obj/item/weapon/stock_parts/manipulator/omni sort_string = "AAABE" @@ -93,35 +93,35 @@ /datum/design/item/stock_part/basic_capacitor id = "basic_capacitor" req_tech = list(TECH_POWER = 1) - materials = list(DEFAULT_WALL_MATERIAL = 50, "glass" = 50) + materials = list(MAT_STEEL = 50, MAT_GLASS = 50) build_path = /obj/item/weapon/stock_parts/capacitor sort_string = "AAACA" /datum/design/item/stock_part/adv_capacitor id = "adv_capacitor" req_tech = list(TECH_POWER = 3) - materials = list(DEFAULT_WALL_MATERIAL = 50, "glass" = 50) + materials = list(MAT_STEEL = 50, MAT_GLASS = 50) build_path = /obj/item/weapon/stock_parts/capacitor/adv sort_string = "AAACB" /datum/design/item/stock_part/super_capacitor id = "super_capacitor" req_tech = list(TECH_POWER = 5, TECH_MATERIAL = 4) - materials = list(DEFAULT_WALL_MATERIAL = 50, "glass" = 50, "gold" = 20) + materials = list(MAT_STEEL = 50, MAT_GLASS = 50, MAT_GOLD = 20) build_path = /obj/item/weapon/stock_parts/capacitor/super sort_string = "AAACC" /datum/design/item/stock_part/hyper_capacitor id = "hyper_capacitor" req_tech = list(TECH_POWER = 6, TECH_MATERIAL = 5, TECH_BLUESPACE = 1, TECH_ARCANE = 1) - materials = list(DEFAULT_WALL_MATERIAL = 200, MAT_GLASS = 100, MAT_VERDANTIUM = 30, MAT_DURASTEEL = 25) + materials = list(MAT_STEEL = 200, MAT_GLASS = 100, MAT_VERDANTIUM = 30, MAT_DURASTEEL = 25) build_path = /obj/item/weapon/stock_parts/capacitor/hyper sort_string = "AAACD" /datum/design/item/stock_part/omni_capacitor id = "omni_capacitor" req_tech = list(TECH_POWER = 7, TECH_MATERIAL = 6, TECH_BLUESPACE = 3, TECH_PRECURSOR = 1) - materials = list(DEFAULT_WALL_MATERIAL = 2000, MAT_DIAMOND = 1000, MAT_GLASS = 1000, MAT_MORPHIUM = 100, MAT_DURASTEEL = 100) + materials = list(MAT_STEEL = 2000, MAT_DIAMOND = 1000, MAT_GLASS = 1000, MAT_MORPHIUM = 100, MAT_DURASTEEL = 100) build_path = /obj/item/weapon/stock_parts/capacitor/omni sort_string = "AAACE" @@ -130,35 +130,35 @@ /datum/design/item/stock_part/basic_sensor id = "basic_sensor" req_tech = list(TECH_MAGNET = 1) - materials = list(DEFAULT_WALL_MATERIAL = 50, "glass" = 20) + materials = list(MAT_STEEL = 50, MAT_GLASS = 20) build_path = /obj/item/weapon/stock_parts/scanning_module sort_string = "AAADA" /datum/design/item/stock_part/adv_sensor id = "adv_sensor" req_tech = list(TECH_MAGNET = 3) - materials = list(DEFAULT_WALL_MATERIAL = 50, "glass" = 20) + materials = list(MAT_STEEL = 50, MAT_GLASS = 20) build_path = /obj/item/weapon/stock_parts/scanning_module/adv sort_string = "AAADB" /datum/design/item/stock_part/phasic_sensor id = "phasic_sensor" req_tech = list(TECH_MAGNET = 5, TECH_MATERIAL = 3) - materials = list(DEFAULT_WALL_MATERIAL = 50, "glass" = 20, "silver" = 10) + materials = list(MAT_STEEL = 50, MAT_GLASS = 20, MAT_SILVER = 10) build_path = /obj/item/weapon/stock_parts/scanning_module/phasic sort_string = "AAADC" /datum/design/item/stock_part/hyper_sensor id = "hyper_sensor" req_tech = list(TECH_MAGNET = 6, TECH_MATERIAL = 4, TECH_ARCANE = 1) - materials = list(DEFAULT_WALL_MATERIAL = 50, MAT_GLASS = 20, MAT_SILVER = 50, MAT_VERDANTIUM = 40, MAT_DURASTEEL = 50) + materials = list(MAT_STEEL = 50, MAT_GLASS = 20, MAT_SILVER = 50, MAT_VERDANTIUM = 40, MAT_DURASTEEL = 50) build_path = /obj/item/weapon/stock_parts/scanning_module/hyper sort_string = "AAADD" /datum/design/item/stock_part/omni_sensor id = "omni_sensor" req_tech = list(TECH_MAGNET = 7, TECH_MATERIAL = 5, TECH_PRECURSOR = 1) - materials = list(DEFAULT_WALL_MATERIAL = 1000, MAT_PLASTEEL = 500, MAT_GLASS = 750, MAT_SILVER = 500, MAT_MORPHIUM = 60, MAT_DURASTEEL = 100) + materials = list(MAT_STEEL = 1000, MAT_PLASTEEL = 500, MAT_GLASS = 750, MAT_SILVER = 500, MAT_MORPHIUM = 60, MAT_DURASTEEL = 100) build_path = /obj/item/weapon/stock_parts/scanning_module/omni sort_string = "AAADE" @@ -167,35 +167,35 @@ /datum/design/item/stock_part/basic_micro_laser id = "basic_micro_laser" req_tech = list(TECH_MAGNET = 1) - materials = list(DEFAULT_WALL_MATERIAL = 10, "glass" = 20) + materials = list(MAT_STEEL = 10, MAT_GLASS = 20) build_path = /obj/item/weapon/stock_parts/micro_laser sort_string = "AAAEA" /datum/design/item/stock_part/high_micro_laser id = "high_micro_laser" req_tech = list(TECH_MAGNET = 3) - materials = list(DEFAULT_WALL_MATERIAL = 10, "glass" = 20) + materials = list(MAT_STEEL = 10, MAT_GLASS = 20) build_path = /obj/item/weapon/stock_parts/micro_laser/high sort_string = "AAAEB" /datum/design/item/stock_part/ultra_micro_laser id = "ultra_micro_laser" req_tech = list(TECH_MAGNET = 5, TECH_MATERIAL = 5) - materials = list(DEFAULT_WALL_MATERIAL = 10, "glass" = 20, "uranium" = 10) + materials = list(MAT_STEEL = 10, MAT_GLASS = 20, MAT_URANIUM = 10) build_path = /obj/item/weapon/stock_parts/micro_laser/ultra sort_string = "AAAEC" /datum/design/item/stock_part/hyper_micro_laser id = "hyper_micro_laser" req_tech = list(TECH_MAGNET = 6, TECH_MATERIAL = 6, TECH_ARCANE = 2) - materials = list(DEFAULT_WALL_MATERIAL = 200, MAT_GLASS = 20, MAT_URANIUM = 30, MAT_VERDANTIUM = 50, MAT_DURASTEEL = 100) + materials = list(MAT_STEEL = 200, MAT_GLASS = 20, MAT_URANIUM = 30, MAT_VERDANTIUM = 50, MAT_DURASTEEL = 100) build_path = /obj/item/weapon/stock_parts/micro_laser/hyper sort_string = "AAAED" /datum/design/item/stock_part/omni_micro_laser id = "omni_micro_laser" req_tech = list(TECH_MAGNET = 7, TECH_MATERIAL = 7, TECH_PRECURSOR = 2) - materials = list(DEFAULT_WALL_MATERIAL = 2000, MAT_GLASS = 500, MAT_URANIUM = 2000, MAT_MORPHIUM = 50, MAT_DURASTEEL = 100) + materials = list(MAT_STEEL = 2000, MAT_GLASS = 500, MAT_URANIUM = 2000, MAT_MORPHIUM = 50, MAT_DURASTEEL = 100) build_path = /obj/item/weapon/stock_parts/micro_laser/omni sort_string = "AAAEE" @@ -207,7 +207,7 @@ desc = "Special mechanical module made to store, sort, and apply standard machine parts." id = "rped" req_tech = list(TECH_ENGINEERING = 3, TECH_MATERIAL = 3) - materials = list(DEFAULT_WALL_MATERIAL = 15000, "glass" = 5000) + materials = list(MAT_STEEL = 15000, MAT_GLASS = 5000) build_path = /obj/item/weapon/storage/part_replacer sort_string = "ABAAA" @@ -216,6 +216,6 @@ desc = "Special mechanical module made to store, sort, and apply standard machine parts. This one has a greatly upgraded storage capacity." id = "arped" req_tech = list(TECH_ENGINEERING = 5, TECH_MATERIAL = 5) - materials = list(DEFAULT_WALL_MATERIAL = 30000, "glass" = 10000) + materials = list(MAT_STEEL = 30000, MAT_GLASS = 10000) build_path = /obj/item/weapon/storage/part_replacer/adv sort_string = "ABAAB" \ No newline at end of file diff --git a/code/modules/research/designs/subspace_parts.dm b/code/modules/research/designs/subspace_parts.dm index 0fcc0e20e0..7df051ce47 100644 --- a/code/modules/research/designs/subspace_parts.dm +++ b/code/modules/research/designs/subspace_parts.dm @@ -7,48 +7,48 @@ /datum/design/item/stock_part/subspace/subspace_ansible id = "s-ansible" req_tech = list(TECH_DATA = 3, TECH_MAGNET = 4, TECH_MATERIAL = 4, TECH_BLUESPACE = 2) - materials = list(DEFAULT_WALL_MATERIAL = 80, "silver" = 20) + materials = list(MAT_STEEL = 80, MAT_SILVER = 20) build_path = /obj/item/weapon/stock_parts/subspace/ansible sort_string = "RAAAA" /datum/design/item/stock_part/subspace/hyperwave_filter id = "s-filter" req_tech = list(TECH_DATA = 3, TECH_MAGNET = 3) - materials = list(DEFAULT_WALL_MATERIAL = 40, "silver" = 10) + materials = list(MAT_STEEL = 40, MAT_SILVER = 10) build_path = /obj/item/weapon/stock_parts/subspace/sub_filter sort_string = "RAAAB" /datum/design/item/stock_part/subspace/subspace_amplifier id = "s-amplifier" req_tech = list(TECH_DATA = 3, TECH_MAGNET = 4, TECH_MATERIAL = 4, TECH_BLUESPACE = 2) - materials = list(DEFAULT_WALL_MATERIAL = 10, "gold" = 30, "uranium" = 15) + materials = list(MAT_STEEL = 10, MAT_GOLD = 30, MAT_URANIUM = 15) build_path = /obj/item/weapon/stock_parts/subspace/amplifier sort_string = "RAAAC" /datum/design/item/stock_part/subspace/subspace_treatment id = "s-treatment" req_tech = list(TECH_DATA = 3, TECH_MAGNET = 2, TECH_MATERIAL = 4, TECH_BLUESPACE = 2) - materials = list(DEFAULT_WALL_MATERIAL = 10, "silver" = 20) + materials = list(MAT_STEEL = 10, MAT_SILVER = 20) build_path = /obj/item/weapon/stock_parts/subspace/treatment sort_string = "RAAAD" /datum/design/item/stock_part/subspace/subspace_analyzer id = "s-analyzer" req_tech = list(TECH_DATA = 3, TECH_MAGNET = 4, TECH_MATERIAL = 4, TECH_BLUESPACE = 2) - materials = list(DEFAULT_WALL_MATERIAL = 10, "gold" = 15) + materials = list(MAT_STEEL = 10, MAT_GOLD = 15) build_path = /obj/item/weapon/stock_parts/subspace/analyzer sort_string = "RAAAE" /datum/design/item/stock_part/subspace/subspace_crystal id = "s-crystal" req_tech = list(TECH_MAGNET = 4, TECH_MATERIAL = 4, TECH_BLUESPACE = 2) - materials = list("glass" = 1000, "silver" = 20, "gold" = 20) + materials = list(MAT_GLASS = 1000, MAT_SILVER = 20, MAT_GOLD = 20) build_path = /obj/item/weapon/stock_parts/subspace/crystal sort_string = "RAAAF" /datum/design/item/stock_part/subspace/subspace_transmitter id = "s-transmitter" req_tech = list(TECH_MAGNET = 5, TECH_MATERIAL = 5, TECH_BLUESPACE = 3) - materials = list("glass" = 100, "silver" = 10, "uranium" = 15) + materials = list(MAT_GLASS = 100, MAT_SILVER = 10, MAT_URANIUM = 15) build_path = /obj/item/weapon/stock_parts/subspace/transmitter sort_string = "RAAAG" \ No newline at end of file diff --git a/code/modules/research/designs/tech_disks.dm b/code/modules/research/designs/tech_disks.dm index 70f6ed0022..2d8eda13fd 100644 --- a/code/modules/research/designs/tech_disks.dm +++ b/code/modules/research/designs/tech_disks.dm @@ -7,7 +7,7 @@ desc = "Produce additional disks for storing device designs." id = "design_disk" req_tech = list(TECH_DATA = 1) - materials = list(DEFAULT_WALL_MATERIAL = 30, "glass" = 10) + materials = list(MAT_STEEL = 30, MAT_GLASS = 10) build_path = /obj/item/weapon/disk/design_disk sort_string = "CAAAA" @@ -16,6 +16,6 @@ desc = "Produce additional disks for storing technology data." id = "tech_disk" req_tech = list(TECH_DATA = 1) - materials = list(DEFAULT_WALL_MATERIAL = 30, "glass" = 10) + materials = list(MAT_STEEL = 30, MAT_GLASS = 10) build_path = /obj/item/weapon/disk/tech_disk sort_string = "CAAAB" \ No newline at end of file diff --git a/code/modules/research/designs/uncommented.dm b/code/modules/research/designs/uncommented.dm index f83e3a685b..81df7b8d86 100644 --- a/code/modules/research/designs/uncommented.dm +++ b/code/modules/research/designs/uncommented.dm @@ -10,7 +10,7 @@ name = "loyalty" id = "implant_loyal" req_tech = list(TECH_MATERIAL = 2, TECH_BIO = 3) - materials = list(DEFAULT_WALL_MATERIAL = 7000, "glass" = 7000) + materials = list(MAT_STEEL = 7000, MAT_GLASS = 7000) build_path = /obj/item/weapon/implantcase/loyalty" /datum/design/rust_core_control @@ -19,7 +19,7 @@ id = "rust_core_control" req_tech = list("programming" = 4, "engineering" = 4) build_type = IMPRINTER - materials = list("glass" = 2000, "sacid" = 20) + materials = list(MAT_GLASS = 2000, "sacid" = 20) build_path = "/obj/item/weapon/circuitboard/rust_core_control" /datum/design/rust_fuel_control @@ -28,7 +28,7 @@ id = "rust_fuel_control" req_tech = list("programming" = 4, "engineering" = 4) build_type = IMPRINTER - materials = list("glass" = 2000, "sacid" = 20) + materials = list(MAT_GLASS = 2000, "sacid" = 20) build_path = "/obj/item/weapon/circuitboard/rust_fuel_control" /datum/design/rust_fuel_port @@ -37,7 +37,7 @@ id = "rust_fuel_port" req_tech = list("engineering" = 4, "materials" = 5) build_type = IMPRINTER - materials = list("glass" = 2000, "sacid" = 20, "uranium" = 3000) + materials = list(MAT_GLASS = 2000, "sacid" = 20, MAT_URANIUM = 3000) build_path = "/obj/item/weapon/module/rust_fuel_port" /datum/design/rust_fuel_compressor @@ -46,7 +46,7 @@ id = "rust_fuel_compressor" req_tech = list("materials" = 6, "phorontech" = 4) build_type = IMPRINTER - materials = list("glass" = 2000, "sacid" = 20, "phoron" = 3000, "diamond" = 1000) + materials = list(MAT_GLASS = 2000, "sacid" = 20, MAT_PHORON = 3000, MAT_DIAMOND = 1000) build_path = "/obj/item/weapon/module/rust_fuel_compressor" /datum/design/rust_core @@ -55,7 +55,7 @@ id = "pacman" req_tech = list(bluespace = 3, phorontech = 4, magnets = 5, powerstorage = 6) build_type = IMPRINTER - materials = list("glass" = 2000, "sacid" = 20, "phoron" = 3000, "diamond" = 2000) + materials = list(MAT_GLASS = 2000, "sacid" = 20, MAT_PHORON = 3000, MAT_DIAMOND = 2000) build_path = "/obj/item/weapon/circuitboard/rust_core" /datum/design/rust_injector @@ -64,6 +64,6 @@ id = "pacman" req_tech = list(powerstorage = 3, engineering = 4, phorontech = 4, materials = 6) build_type = IMPRINTER - materials = list("glass" = 2000, "sacid" = 20, "phoron" = 3000, "uranium" = 2000) + materials = list(MAT_GLASS = 2000, "sacid" = 20, MAT_PHORON = 3000, MAT_URANIUM = 2000) build_path = "/obj/item/weapon/circuitboard/rust_core" */ diff --git a/code/modules/research/designs/weapons.dm b/code/modules/research/designs/weapons.dm index e2e74e0d9a..990085e1bd 100644 --- a/code/modules/research/designs/weapons.dm +++ b/code/modules/research/designs/weapons.dm @@ -1,3 +1,4 @@ +<<<<<<< HEAD /datum/design/item/weapon/AssembleDesignName() ..() name = "Weapon prototype ([item_name])" @@ -255,3 +256,520 @@ materials = list(DEFAULT_WALL_MATERIAL = 3000) build_path = /obj/item/weapon/grenade/chem_grenade/large sort_string = "MCAAA" +||||||| parent of 8ab34365f1... Merge pull request #10852 from VOREStation/Arokha/matdefs +/datum/design/item/weapon/AssembleDesignName() + ..() + name = "Weapon prototype ([item_name])" + +/datum/design/item/weapon/ammo/AssembleDesignName() + ..() + name = "Weapon ammo prototype ([item_name])" + +/datum/design/item/weapon/AssembleDesignDesc() + if(!desc) + if(build_path) + var/obj/item/I = build_path + desc = initial(I.desc) + ..() + +// Energy weapons + +/datum/design/item/weapon/energy/AssembleDesignName() + ..() + name = "Energy weapon prototype ([item_name])" + +/datum/design/item/weapon/energy/stunrevolver + id = "stunrevolver" + req_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 3, TECH_POWER = 2) + materials = list(DEFAULT_WALL_MATERIAL = 4000) + build_path = /obj/item/weapon/gun/energy/stunrevolver + sort_string = "MAAAA" + +/datum/design/item/weapon/energy/nuclear_gun + id = "nuclear_gun" + req_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 5, TECH_POWER = 3) + materials = list(DEFAULT_WALL_MATERIAL = 5000, "glass" = 1000, "uranium" = 500) + build_path = /obj/item/weapon/gun/energy/gun/nuclear + sort_string = "MAAAB" + +/datum/design/item/weapon/energy/phoronpistol + id = "ppistol" + req_tech = list(TECH_COMBAT = 5, TECH_PHORON = 4) + materials = list(DEFAULT_WALL_MATERIAL = 5000, "glass" = 1000, "phoron" = 3000) + build_path = /obj/item/weapon/gun/energy/toxgun + sort_string = "MAAAC" + +/datum/design/item/weapon/energy/lasercannon + desc = "The lasing medium of this prototype is enclosed in a tube lined with uranium-235 and subjected to high neutron flux in a nuclear reactor core." + id = "lasercannon" + req_tech = list(TECH_COMBAT = 4, TECH_MATERIAL = 3, TECH_POWER = 3) + materials = list(DEFAULT_WALL_MATERIAL = 10000, "glass" = 1000, "diamond" = 2000) + build_path = /obj/item/weapon/gun/energy/lasercannon + sort_string = "MAAAD" + +/datum/design/item/weapon/energy/decloner + id = "decloner" + req_tech = list(TECH_COMBAT = 8, TECH_MATERIAL = 7, TECH_BIO = 5, TECH_POWER = 6) + materials = list("gold" = 5000,"uranium" = 10000) + build_path = /obj/item/weapon/gun/energy/decloner + sort_string = "MAAAE" + +/datum/design/item/weapon/energy/temp_gun + desc = "A gun that shoots high-powered glass-encased energy temperature bullets." + id = "temp_gun" + req_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 4, TECH_POWER = 3, TECH_MAGNET = 2) + materials = list(DEFAULT_WALL_MATERIAL = 5000, "glass" = 500, "silver" = 3000) + build_path = /obj/item/weapon/gun/energy/temperature + sort_string = "MAAAF" + +/datum/design/item/weapon/energy/flora_gun + id = "flora_gun" + req_tech = list(TECH_MATERIAL = 2, TECH_BIO = 3, TECH_POWER = 3) + materials = list(DEFAULT_WALL_MATERIAL = 2000, "glass" = 500, "uranium" = 500) + build_path = /obj/item/weapon/gun/energy/floragun + sort_string = "MAAAG" + +// Ballistic weapons + +/datum/design/item/weapon/ballistic/AssembleDesignName() + ..() + name = "Ballistic weapon prototype ([item_name])" + +/datum/design/item/weapon/ballistic/advanced_smg + id = "smg" + desc = "An advanced 9mm SMG with a reflective laser optic." + req_tech = list(TECH_COMBAT = 4, TECH_MATERIAL = 3) + materials = list(DEFAULT_WALL_MATERIAL = 8000, "silver" = 2000, "diamond" = 1000) + build_path = /obj/item/weapon/gun/projectile/automatic/advanced_smg + sort_string = "MABAA" + +// Ballistic ammo + +/datum/design/item/weapon/ballistic/ammo/AssembleDesignName() + ..() + name = "Ballistic weapon ammo prototype ([name])" + +/datum/design/item/weapon/ballistic/ammo/ammo_9mmAdvanced + name = "9mm magazine" + id = "ammo_9mm" + desc = "A 21 round magazine for an advanced 9mm SMG." + req_tech = list(TECH_COMBAT = 4, TECH_MATERIAL = 3) + materials = list(DEFAULT_WALL_MATERIAL = 3750, "silver" = 100) // Requires silver for proprietary magazines! Or something. + build_path = /obj/item/ammo_magazine/m9mmAdvanced + sort_string = "MABBA" + +/datum/design/item/weapon/ballistic/ammo/stunshell + name = "stun shells" + desc = "A stunning shell for a shotgun." + id = "stunshell" + req_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 3) + materials = list(DEFAULT_WALL_MATERIAL = 4000) + build_path = /obj/item/weapon/storage/box/stunshells + sort_string = "MABBB" + +/datum/design/item/weapon/ballistic/ammo/empshell + name = "emp shells" + desc = "An electromagnetic shell for a shotgun." + id = "empshell" + req_tech = list(TECH_COMBAT = 4, TECH_MAGNET = 3) + materials = list(DEFAULT_WALL_MATERIAL = 4000, MAT_URANIUM = 1000) + build_path = /obj/item/weapon/storage/box/empshells + sort_string = "MABBC" + +// Phase weapons + +/datum/design/item/weapon/phase/AssembleDesignName() + ..() + name = "Phase weapon prototype ([item_name])" + +/* //VOREStation Removal Start +/datum/design/item/weapon/phase/phase_pistol + id = "phasepistol" + req_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 2, TECH_POWER = 2) + materials = list(DEFAULT_WALL_MATERIAL = 4000) + build_path = /obj/item/weapon/gun/energy/phasegun/pistol + sort_string = "MACAA" + +/datum/design/item/weapon/phase/phase_carbine + id = "phasecarbine" + req_tech = list(TECH_COMBAT = 4, TECH_MATERIAL = 2, TECH_POWER = 2) + materials = list(DEFAULT_WALL_MATERIAL = 6000, "glass" = 1500) + build_path = /obj/item/weapon/gun/energy/phasegun + sort_string = "MACAB" + +/datum/design/item/weapon/phase/phase_rifle + id = "phaserifle" + req_tech = list(TECH_COMBAT = 4, TECH_MATERIAL = 3, TECH_POWER = 3) + materials = list(DEFAULT_WALL_MATERIAL = 7000, "glass" = 2000, "silver" = 500) + build_path = /obj/item/weapon/gun/energy/phasegun/rifle + sort_string = "MACAC" + +/datum/design/item/weapon/phase/phase_cannon + id = "phasecannon" + req_tech = list(TECH_COMBAT = 4, TECH_MATERIAL = 4, TECH_POWER = 4) + materials = list(DEFAULT_WALL_MATERIAL = 10000, "glass" = 2000, "silver" = 1000, "diamond" = 750) + build_path = /obj/item/weapon/gun/energy/phasegun/cannon + sort_string = "MACAD" +*/ //VOREStation Removal End + +// Other weapons + +/datum/design/item/weapon/rapidsyringe + id = "rapidsyringe" + req_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 3, TECH_ENGINEERING = 3, TECH_BIO = 2) + materials = list(DEFAULT_WALL_MATERIAL = 5000, "glass" = 1000) + build_path = /obj/item/weapon/gun/launcher/syringe/rapid + sort_string = "MADAA" + +/datum/design/item/weapon/dartgun + desc = "A gun that fires small hollow chemical-payload darts." + id = "dartgun_r" + req_tech = list(TECH_COMBAT = 6, TECH_MATERIAL = 4, TECH_BIO = 4, TECH_MAGNET = 3, TECH_ILLEGAL = 1) + materials = list(DEFAULT_WALL_MATERIAL = 5000, "gold" = 5000, "silver" = 2500, "glass" = 750) + build_path = /obj/item/weapon/gun/projectile/dartgun/research + sort_string = "MADAB" + +/datum/design/item/weapon/chemsprayer + desc = "An advanced chem spraying device." + id = "chemsprayer" + req_tech = list(TECH_MATERIAL = 3, TECH_ENGINEERING = 3, TECH_BIO = 2) + materials = list(DEFAULT_WALL_MATERIAL = 5000, "glass" = 1000) + build_path = /obj/item/weapon/reagent_containers/spray/chemsprayer + sort_string = "MADAC" + +/datum/design/item/weapon/fuelrod + id = "fuelrod_gun" + req_tech = list(TECH_COMBAT = 6, TECH_MATERIAL = 4, TECH_PHORON = 4, TECH_ILLEGAL = 5, TECH_MAGNET = 5) + materials = list(DEFAULT_WALL_MATERIAL = 10000, "glass" = 2000, "gold" = 500, "silver" = 500, "uranium" = 1000, "phoron" = 3000, "diamond" = 1000) + build_path = /obj/item/weapon/gun/magnetic/fuelrod + sort_string = "MADAD" + +// Ammo for those + +/datum/design/item/weapon/ammo/dartgunmag_small + id = "dartgun_mag_s" + req_tech = list(TECH_COMBAT = 6, TECH_MATERIAL = 2, TECH_BIO = 2, TECH_MAGNET = 1, TECH_ILLEGAL = 1) + materials = list(DEFAULT_WALL_MATERIAL = 300, "gold" = 100, "silver" = 100, "glass" = 300) + build_path = /obj/item/ammo_magazine/chemdart/small + sort_string = "MADBA" + +/datum/design/item/weapon/ammo/dartgun_ammo_small + id = "dartgun_ammo_s" + req_tech = list(TECH_COMBAT = 6, TECH_MATERIAL = 2, TECH_BIO = 2, TECH_MAGNET = 1, TECH_ILLEGAL = 1) + materials = list(DEFAULT_WALL_MATERIAL = 50, "gold" = 30, "silver" = 30, "glass" = 50) + build_path = /obj/item/ammo_casing/chemdart/small + sort_string = "MADBB" + +/datum/design/item/weapon/ammo/dartgunmag_med + id = "dartgun_mag_m" + req_tech = list(TECH_COMBAT = 7, TECH_MATERIAL = 2, TECH_BIO = 2, TECH_MAGNET = 1, TECH_ILLEGAL = 1) + materials = list(DEFAULT_WALL_MATERIAL = 500, "gold" = 150, "silver" = 150, "diamond" = 200, "glass" = 400) + build_path = /obj/item/ammo_magazine/chemdart + sort_string = "MADBC" + +/datum/design/item/weapon/ammo/dartgun_ammo_med + id = "dartgun_ammo_m" + req_tech = list(TECH_COMBAT = 7, TECH_MATERIAL = 2, TECH_BIO = 2, TECH_MAGNET = 1, TECH_ILLEGAL = 1) + materials = list(DEFAULT_WALL_MATERIAL = 80, "gold" = 40, "silver" = 40, "glass" = 60) + build_path = /obj/item/ammo_casing/chemdart + sort_string = "MADBD" + +/datum/design/item/weapon/ammo/flechette + id = "magnetic_ammo" + req_tech = list(TECH_COMBAT = 4, TECH_MATERIAL = 4, TECH_MAGNET = 4) + materials = list(DEFAULT_WALL_MATERIAL = 500, "gold" = 300, "glass" = 150, MAT_PHORON = 100) + build_path = /obj/item/weapon/magnetic_ammo + sort_string = "MADBE" + +// Melee weapons + +/datum/design/item/weapon/melee/AssembleDesignName() + ..() + name = "Melee weapon prototype ([item_name])" + +/datum/design/item/weapon/melee/esword + name = "Portable Energy Blade" + id = "chargesword" + req_tech = list(TECH_COMBAT = 6, TECH_MAGNET = 4, TECH_ENGINEERING = 5, TECH_ILLEGAL = 4, TECH_ARCANE = 1) + materials = list(MAT_PLASTEEL = 3500, "glass" = 1000, MAT_LEAD = 2250, MAT_METALHYDROGEN = 500) + build_path = /obj/item/weapon/melee/energy/sword/charge + sort_string = "MBAAA" + +/datum/design/item/weapon/melee/eaxe + name = "Energy Axe" + id = "chargeaxe" + req_tech = list(TECH_COMBAT = 6, TECH_MAGNET = 5, TECH_ENGINEERING = 4, TECH_ILLEGAL = 4) + materials = list(MAT_PLASTEEL = 3500, MAT_OSMIUM = 2000, MAT_LEAD = 2000, MAT_METALHYDROGEN = 500) + build_path = /obj/item/weapon/melee/energy/axe/charge + sort_string = "MBAAB" + +// Grenade stuff +/datum/design/item/weapon/grenade/AssembleDesignName() + ..() + name = "Grenade casing prototype ([item_name])" + +/datum/design/item/weapon/grenade/large_grenade + id = "large_Grenade" + req_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 2) + materials = list(DEFAULT_WALL_MATERIAL = 3000) + build_path = /obj/item/weapon/grenade/chem_grenade/large + sort_string = "MCAAA" +======= +/datum/design/item/weapon/AssembleDesignName() + ..() + name = "Weapon prototype ([item_name])" + +/datum/design/item/weapon/ammo/AssembleDesignName() + ..() + name = "Weapon ammo prototype ([item_name])" + +/datum/design/item/weapon/AssembleDesignDesc() + if(!desc) + if(build_path) + var/obj/item/I = build_path + desc = initial(I.desc) + ..() + +// Energy weapons + +/datum/design/item/weapon/energy/AssembleDesignName() + ..() + name = "Energy weapon prototype ([item_name])" + +/datum/design/item/weapon/energy/stunrevolver + id = "stunrevolver" + req_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 3, TECH_POWER = 2) + materials = list(MAT_STEEL = 4000) + build_path = /obj/item/weapon/gun/energy/stunrevolver + sort_string = "MAAAA" + +/datum/design/item/weapon/energy/nuclear_gun + id = "nuclear_gun" + req_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 5, TECH_POWER = 3) + materials = list(MAT_STEEL = 5000, MAT_GLASS = 1000, MAT_URANIUM = 500) + build_path = /obj/item/weapon/gun/energy/gun/nuclear + sort_string = "MAAAB" + +/datum/design/item/weapon/energy/phoronpistol + id = "ppistol" + req_tech = list(TECH_COMBAT = 5, TECH_PHORON = 4) + materials = list(MAT_STEEL = 5000, MAT_GLASS = 1000, MAT_PHORON = 3000) + build_path = /obj/item/weapon/gun/energy/toxgun + sort_string = "MAAAC" + +/datum/design/item/weapon/energy/lasercannon + desc = "The lasing medium of this prototype is enclosed in a tube lined with uranium-235 and subjected to high neutron flux in a nuclear reactor core." + id = "lasercannon" + req_tech = list(TECH_COMBAT = 4, TECH_MATERIAL = 3, TECH_POWER = 3) + materials = list(MAT_STEEL = 10000, MAT_GLASS = 1000, MAT_DIAMOND = 2000) + build_path = /obj/item/weapon/gun/energy/lasercannon + sort_string = "MAAAD" + +/datum/design/item/weapon/energy/decloner + id = "decloner" + req_tech = list(TECH_COMBAT = 8, TECH_MATERIAL = 7, TECH_BIO = 5, TECH_POWER = 6) + materials = list(MAT_GOLD = 5000,MAT_URANIUM = 10000) + build_path = /obj/item/weapon/gun/energy/decloner + sort_string = "MAAAE" + +/datum/design/item/weapon/energy/temp_gun + desc = "A gun that shoots high-powered glass-encased energy temperature bullets." + id = "temp_gun" + req_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 4, TECH_POWER = 3, TECH_MAGNET = 2) + materials = list(MAT_STEEL = 5000, MAT_GLASS = 500, MAT_SILVER = 3000) + build_path = /obj/item/weapon/gun/energy/temperature + sort_string = "MAAAF" + +/datum/design/item/weapon/energy/flora_gun + id = "flora_gun" + req_tech = list(TECH_MATERIAL = 2, TECH_BIO = 3, TECH_POWER = 3) + materials = list(MAT_STEEL = 2000, MAT_GLASS = 500, MAT_URANIUM = 500) + build_path = /obj/item/weapon/gun/energy/floragun + sort_string = "MAAAG" + +// Ballistic weapons + +/datum/design/item/weapon/ballistic/AssembleDesignName() + ..() + name = "Ballistic weapon prototype ([item_name])" + +/datum/design/item/weapon/ballistic/advanced_smg + id = "smg" + desc = "An advanced 9mm SMG with a reflective laser optic." + req_tech = list(TECH_COMBAT = 4, TECH_MATERIAL = 3) + materials = list(MAT_STEEL = 8000, MAT_SILVER = 2000, MAT_DIAMOND = 1000) + build_path = /obj/item/weapon/gun/projectile/automatic/advanced_smg + sort_string = "MABAA" + +// Ballistic ammo + +/datum/design/item/weapon/ballistic/ammo/AssembleDesignName() + ..() + name = "Ballistic weapon ammo prototype ([name])" + +/datum/design/item/weapon/ballistic/ammo/ammo_9mmAdvanced + name = "9mm magazine" + id = "ammo_9mm" + desc = "A 21 round magazine for an advanced 9mm SMG." + req_tech = list(TECH_COMBAT = 4, TECH_MATERIAL = 3) + materials = list(MAT_STEEL = 3750, MAT_SILVER = 100) // Requires silver for proprietary magazines! Or something. + build_path = /obj/item/ammo_magazine/m9mmAdvanced + sort_string = "MABBA" + +/datum/design/item/weapon/ballistic/ammo/stunshell + name = "stun shells" + desc = "A stunning shell for a shotgun." + id = "stunshell" + req_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 3) + materials = list(MAT_STEEL = 4000) + build_path = /obj/item/weapon/storage/box/stunshells + sort_string = "MABBB" + +/datum/design/item/weapon/ballistic/ammo/empshell + name = "emp shells" + desc = "An electromagnetic shell for a shotgun." + id = "empshell" + req_tech = list(TECH_COMBAT = 4, TECH_MAGNET = 3) + materials = list(MAT_STEEL = 4000, MAT_URANIUM = 1000) + build_path = /obj/item/weapon/storage/box/empshells + sort_string = "MABBC" + +// Phase weapons + +/datum/design/item/weapon/phase/AssembleDesignName() + ..() + name = "Phase weapon prototype ([item_name])" + +/* //VOREStation Removal Start +/datum/design/item/weapon/phase/phase_pistol + id = "phasepistol" + req_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 2, TECH_POWER = 2) + materials = list(MAT_STEEL = 4000) + build_path = /obj/item/weapon/gun/energy/phasegun/pistol + sort_string = "MACAA" + +/datum/design/item/weapon/phase/phase_carbine + id = "phasecarbine" + req_tech = list(TECH_COMBAT = 4, TECH_MATERIAL = 2, TECH_POWER = 2) + materials = list(MAT_STEEL = 6000, MAT_GLASS = 1500) + build_path = /obj/item/weapon/gun/energy/phasegun + sort_string = "MACAB" + +/datum/design/item/weapon/phase/phase_rifle + id = "phaserifle" + req_tech = list(TECH_COMBAT = 4, TECH_MATERIAL = 3, TECH_POWER = 3) + materials = list(MAT_STEEL = 7000, MAT_GLASS = 2000, MAT_SILVER = 500) + build_path = /obj/item/weapon/gun/energy/phasegun/rifle + sort_string = "MACAC" + +/datum/design/item/weapon/phase/phase_cannon + id = "phasecannon" + req_tech = list(TECH_COMBAT = 4, TECH_MATERIAL = 4, TECH_POWER = 4) + materials = list(MAT_STEEL = 10000, MAT_GLASS = 2000, MAT_SILVER = 1000, MAT_DIAMOND = 750) + build_path = /obj/item/weapon/gun/energy/phasegun/cannon + sort_string = "MACAD" +*/ //VOREStation Removal End + +// Other weapons + +/datum/design/item/weapon/rapidsyringe + id = "rapidsyringe" + req_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 3, TECH_ENGINEERING = 3, TECH_BIO = 2) + materials = list(MAT_STEEL = 5000, MAT_GLASS = 1000) + build_path = /obj/item/weapon/gun/launcher/syringe/rapid + sort_string = "MADAA" + +/datum/design/item/weapon/dartgun + desc = "A gun that fires small hollow chemical-payload darts." + id = "dartgun_r" + req_tech = list(TECH_COMBAT = 6, TECH_MATERIAL = 4, TECH_BIO = 4, TECH_MAGNET = 3, TECH_ILLEGAL = 1) + materials = list(MAT_STEEL = 5000, MAT_GOLD = 5000, MAT_SILVER = 2500, MAT_GLASS = 750) + build_path = /obj/item/weapon/gun/projectile/dartgun/research + sort_string = "MADAB" + +/datum/design/item/weapon/chemsprayer + desc = "An advanced chem spraying device." + id = "chemsprayer" + req_tech = list(TECH_MATERIAL = 3, TECH_ENGINEERING = 3, TECH_BIO = 2) + materials = list(MAT_STEEL = 5000, MAT_GLASS = 1000) + build_path = /obj/item/weapon/reagent_containers/spray/chemsprayer + sort_string = "MADAC" + +/datum/design/item/weapon/fuelrod + id = "fuelrod_gun" + req_tech = list(TECH_COMBAT = 6, TECH_MATERIAL = 4, TECH_PHORON = 4, TECH_ILLEGAL = 5, TECH_MAGNET = 5) + materials = list(MAT_STEEL = 10000, MAT_GLASS = 2000, MAT_GOLD = 500, MAT_SILVER = 500, MAT_URANIUM = 1000, MAT_PHORON = 3000, MAT_DIAMOND = 1000) + build_path = /obj/item/weapon/gun/magnetic/fuelrod + sort_string = "MADAD" + +// Ammo for those + +/datum/design/item/weapon/ammo/dartgunmag_small + id = "dartgun_mag_s" + req_tech = list(TECH_COMBAT = 6, TECH_MATERIAL = 2, TECH_BIO = 2, TECH_MAGNET = 1, TECH_ILLEGAL = 1) + materials = list(MAT_STEEL = 300, MAT_GOLD = 100, MAT_SILVER = 100, MAT_GLASS = 300) + build_path = /obj/item/ammo_magazine/chemdart/small + sort_string = "MADBA" + +/datum/design/item/weapon/ammo/dartgun_ammo_small + id = "dartgun_ammo_s" + req_tech = list(TECH_COMBAT = 6, TECH_MATERIAL = 2, TECH_BIO = 2, TECH_MAGNET = 1, TECH_ILLEGAL = 1) + materials = list(MAT_STEEL = 50, MAT_GOLD = 30, MAT_SILVER = 30, MAT_GLASS = 50) + build_path = /obj/item/ammo_casing/chemdart/small + sort_string = "MADBB" + +/datum/design/item/weapon/ammo/dartgunmag_med + id = "dartgun_mag_m" + req_tech = list(TECH_COMBAT = 7, TECH_MATERIAL = 2, TECH_BIO = 2, TECH_MAGNET = 1, TECH_ILLEGAL = 1) + materials = list(MAT_STEEL = 500, MAT_GOLD = 150, MAT_SILVER = 150, MAT_DIAMOND = 200, MAT_GLASS = 400) + build_path = /obj/item/ammo_magazine/chemdart + sort_string = "MADBC" + +/datum/design/item/weapon/ammo/dartgun_ammo_med + id = "dartgun_ammo_m" + req_tech = list(TECH_COMBAT = 7, TECH_MATERIAL = 2, TECH_BIO = 2, TECH_MAGNET = 1, TECH_ILLEGAL = 1) + materials = list(MAT_STEEL = 80, MAT_GOLD = 40, MAT_SILVER = 40, MAT_GLASS = 60) + build_path = /obj/item/ammo_casing/chemdart + sort_string = "MADBD" + +/datum/design/item/weapon/ammo/flechette + id = "magnetic_ammo" + req_tech = list(TECH_COMBAT = 4, TECH_MATERIAL = 4, TECH_MAGNET = 4) + materials = list(MAT_STEEL = 500, MAT_GOLD = 300, MAT_GLASS = 150, MAT_PHORON = 100) + build_path = /obj/item/weapon/magnetic_ammo + sort_string = "MADBE" + +// Melee weapons + +/datum/design/item/weapon/melee/AssembleDesignName() + ..() + name = "Melee weapon prototype ([item_name])" + +/datum/design/item/weapon/melee/esword + name = "Portable Energy Blade" + id = "chargesword" + req_tech = list(TECH_COMBAT = 6, TECH_MAGNET = 4, TECH_ENGINEERING = 5, TECH_ILLEGAL = 4, TECH_ARCANE = 1) + materials = list(MAT_PLASTEEL = 3500, MAT_GLASS = 1000, MAT_LEAD = 2250, MAT_METALHYDROGEN = 500) + build_path = /obj/item/weapon/melee/energy/sword/charge + sort_string = "MBAAA" + +/datum/design/item/weapon/melee/eaxe + name = "Energy Axe" + id = "chargeaxe" + req_tech = list(TECH_COMBAT = 6, TECH_MAGNET = 5, TECH_ENGINEERING = 4, TECH_ILLEGAL = 4) + materials = list(MAT_PLASTEEL = 3500, MAT_OSMIUM = 2000, MAT_LEAD = 2000, MAT_METALHYDROGEN = 500) + build_path = /obj/item/weapon/melee/energy/axe/charge + sort_string = "MBAAB" + +// Grenade stuff +/datum/design/item/weapon/grenade/AssembleDesignName() + ..() + name = "Grenade casing prototype ([item_name])" + +/datum/design/item/weapon/grenade/large_grenade + id = "large_Grenade" + req_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 2) + materials = list(MAT_STEEL = 3000) + build_path = /obj/item/weapon/grenade/chem_grenade/large + sort_string = "MCAAA" +>>>>>>> 8ab34365f1... Merge pull request #10852 from VOREStation/Arokha/matdefs diff --git a/code/modules/research/designs/weapons_vr.dm b/code/modules/research/designs/weapons_vr.dm index 9d23776b04..0373c43a23 100644 --- a/code/modules/research/designs/weapons_vr.dm +++ b/code/modules/research/designs/weapons_vr.dm @@ -13,7 +13,7 @@ desc = "The 'Protector' is an advanced energy gun that cannot be fired in lethal mode on low security alert levels, but features DNA locking and a powerful stun." id = "protector" req_tech = list(TECH_COMBAT = 5, TECH_MATERIAL = 3, TECH_MAGNET = 2) - materials = list(DEFAULT_WALL_MATERIAL = 4000, "glass" = 2000, "silver" = 1000) + materials = list(MAT_STEEL = 4000, MAT_GLASS = 2000, MAT_SILVER = 1000) build_path = /obj/item/weapon/gun/energy/gun/protector sort_string = "MAAVA" @@ -21,7 +21,7 @@ desc = "A 'Sickshot' is a 4-shot energy revolver that causes nausea and confusion." id = "sickshot" req_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 3, TECH_MAGNET = 2) - materials = list(DEFAULT_WALL_MATERIAL = 3000, "glass" = 2000) + materials = list(MAT_STEEL = 3000, MAT_GLASS = 2000) build_path = /obj/item/weapon/gun/energy/sickshot sort_string = "MAAVB" @@ -29,7 +29,7 @@ desc = "The \"Varmint Catcher\" is an energy net projector designed to immobilize dangerous wildlife." id = "netgun" req_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 5, TECH_MAGNET = 3) - materials = list(DEFAULT_WALL_MATERIAL = 6000, "glass" = 3000) + materials = list(MAT_STEEL = 6000, MAT_GLASS = 3000) build_path = /obj/item/weapon/gun/energy/netgun sort_string = "MAAVC" @@ -39,7 +39,7 @@ desc = "With the 'Pummeler', punt anyone you don't like out of the room!" id = "pummeler" req_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 3, TECH_MAGNET = 5) - materials = list(DEFAULT_WALL_MATERIAL = 3000, "glass" = 3000, "uranium" = 1000) + materials = list(MAT_STEEL = 3000, MAT_GLASS = 3000, MAT_URANIUM = 1000) build_path = /obj/item/weapon/gun/energy/pummeler sort_string = "MADVA" @@ -53,7 +53,7 @@ name = "Advanced anti-particle rifle" id = "advparticle" req_tech = list(TECH_COMBAT = 4, TECH_MATERIAL = 5, TECH_POWER = 3, TECH_MAGNET = 3) - materials = list(DEFAULT_WALL_MATERIAL = 5000, "glass" = 1000, "gold" = 1000, "uranium" = 750) + materials = list(MAT_STEEL = 5000, MAT_GLASS = 1000, MAT_GOLD = 1000, MAT_URANIUM = 750) build_path = /obj/item/weapon/gun/energy/particle/advanced sort_string = "MAAUA" @@ -61,7 +61,7 @@ name = "Anti-particle cannon" id = "particlecannon" req_tech = list(TECH_COMBAT = 5, TECH_MATERIAL = 5, TECH_POWER = 4, TECH_MAGNET = 4) - materials = list(DEFAULT_WALL_MATERIAL = 10000, "glass" = 1500, "gold" = 2000, "uranium" = 1000, "diamond" = 2000) + materials = list(MAT_STEEL = 10000, MAT_GLASS = 1500, MAT_GOLD = 2000, MAT_URANIUM = 1000, MAT_DIAMOND = 2000) build_path = /obj/item/weapon/gun/energy/particle/cannon sort_string = "MAAUB" @@ -69,7 +69,7 @@ name = "APP pressure interlock" id = "pressureinterlock" req_tech = list(TECH_COMBAT = 2, TECH_MATERIAL = 2, TECH_ENGINEERING = 2) - materials = list(DEFAULT_WALL_MATERIAL = 1000, "glass" = 250) + materials = list(MAT_STEEL = 1000, MAT_GLASS = 250) build_path = /obj/item/pressurelock sort_string = "MAAUC" @@ -83,7 +83,7 @@ name = "cell-loaded revolver" id = "nsfw_prototype" req_tech = list(TECH_MATERIAL = 6, TECH_MAGNET = 4, TECH_POWER = 4, TECH_COMBAT = 7) - materials = list(DEFAULT_WALL_MATERIAL = 10000, "glass" = 6000, "phoron" = 8000, "uranium" = 4000) + materials = list(MAT_STEEL = 10000, MAT_GLASS = 6000, MAT_PHORON = 8000, MAT_URANIUM = 4000) build_path = /obj/item/weapon/gun/projectile/cell_loaded/combat/prototype sort_string = "MAVAA" @@ -91,7 +91,7 @@ name = "combat cell magazine" id = "nsfw_mag_prototype" req_tech = list(TECH_MATERIAL = 6, TECH_MAGNET = 4, TECH_POWER = 4, TECH_COMBAT = 7) - materials = list(DEFAULT_WALL_MATERIAL = 8000, "glass" = 4000, "phoron" = 4000) + materials = list(MAT_STEEL = 8000, MAT_GLASS = 4000, MAT_PHORON = 4000) build_path = /obj/item/ammo_magazine/cell_mag/combat/prototype sort_string = "MAVBA" @@ -103,7 +103,7 @@ name = "STUN" id = "nsfw_cell_stun" req_tech = list(TECH_MATERIAL = 4, TECH_MAGNET = 2, TECH_POWER = 3, TECH_COMBAT = 3) - materials = list(DEFAULT_WALL_MATERIAL = 5000, "glass" = 5000) + materials = list(MAT_STEEL = 5000, MAT_GLASS = 5000) build_path = /obj/item/ammo_casing/microbattery/combat/stun sort_string = "MAVCA" @@ -111,7 +111,7 @@ name = "LETHAL" id = "nsfw_cell_lethal" req_tech = list(TECH_MATERIAL = 4, TECH_MAGNET = 3, TECH_POWER = 3, TECH_COMBAT = 5) - materials = list(DEFAULT_WALL_MATERIAL = 5000, "glass" = 5000, "phoron" = 3000) + materials = list(MAT_STEEL = 5000, MAT_GLASS = 5000, MAT_PHORON = 3000) build_path = /obj/item/ammo_casing/microbattery/combat/lethal sort_string = "MAVCB" @@ -119,7 +119,7 @@ name = "NET" id = "nsfw_cell_net" req_tech = list(TECH_MATERIAL = 4, TECH_MAGNET = 3, TECH_POWER = 3, TECH_COMBAT = 4) - materials = list(DEFAULT_WALL_MATERIAL = 5000, "glass" = 5000, "uranium" = 3000) + materials = list(MAT_STEEL = 5000, MAT_GLASS = 5000, MAT_URANIUM = 3000) build_path = /obj/item/ammo_casing/microbattery/combat/net sort_string = "MAVCC" @@ -127,7 +127,7 @@ name = "ION" id = "nsfw_cell_ion" req_tech = list(TECH_MATERIAL = 5, TECH_MAGNET = 3, TECH_POWER = 5, TECH_COMBAT = 5) - materials = list(DEFAULT_WALL_MATERIAL = 5000, "glass" = 5000, "silver" = 3000) + materials = list(MAT_STEEL = 5000, MAT_GLASS = 5000, MAT_SILVER = 3000) build_path = /obj/item/ammo_casing/microbattery/combat/ion sort_string = "MAVCD" @@ -135,7 +135,7 @@ name = "SCATTERSTUN" id = "nsfw_cell_shotstun" req_tech = list(TECH_MATERIAL = 6, TECH_MAGNET = 3, TECH_POWER = 6, TECH_COMBAT = 6) - materials = list(DEFAULT_WALL_MATERIAL = 5000, "glass" = 5000, "silver" = 2000, "gold" = 2000) + materials = list(MAT_STEEL = 5000, MAT_GLASS = 5000, MAT_SILVER = 2000, MAT_GOLD = 2000) build_path = /obj/item/ammo_casing/microbattery/combat/shotstun sort_string = "MAVCE" @@ -143,7 +143,7 @@ name = "XRAY" id = "nsfw_cell_xray" req_tech = list(TECH_MATERIAL = 6, TECH_MAGNET = 4, TECH_POWER = 5, TECH_COMBAT = 7) - materials = list(DEFAULT_WALL_MATERIAL = 5000, "glass" = 5000, "silver" = 1000, "gold" = 1000, "uranium" = 1000, "phoron" = 1000) + materials = list(MAT_STEEL = 5000, MAT_GLASS = 5000, MAT_SILVER = 1000, MAT_GOLD = 1000, MAT_URANIUM = 1000, MAT_PHORON = 1000) build_path = /obj/item/ammo_casing/microbattery/combat/xray sort_string = "MAVCF" */ @@ -154,7 +154,7 @@ name = "STRIPPER" id = "nsfw_cell_stripper" req_tech = list(TECH_MATERIAL = 7, TECH_BIO = 4, TECH_POWER = 4, TECH_COMBAT = 4, TECH_ILLEGAL = 5) - materials = list(DEFAULT_WALL_MATERIAL = 5000, "glass" = 5000, "uranium" = 2000, "phoron" = 2000, "diamond" = 500) + materials = list(MAT_STEEL = 5000, MAT_GLASS = 5000, MAT_URANIUM = 2000, MAT_PHORON = 2000, MAT_DIAMOND = 500) build_path = /obj/item/ammo_casing/microbattery/combat/stripper sort_string = "MAVCG" None of these for now, too. -DHA */ diff --git a/code/modules/research/designs/xenoarch_toys.dm b/code/modules/research/designs/xenoarch_toys.dm index 7c69090b1b..5d90867a95 100644 --- a/code/modules/research/designs/xenoarch_toys.dm +++ b/code/modules/research/designs/xenoarch_toys.dm @@ -9,7 +9,7 @@ id = "ano_scanner" desc = "Aids in triangulation of exotic particles." req_tech = list(TECH_BLUESPACE = 3, TECH_MAGNET = 3) - materials = list(DEFAULT_WALL_MATERIAL = 10000,"glass" = 5000) + materials = list(MAT_STEEL = 10000,MAT_GLASS = 5000) build_path = /obj/item/device/ano_scanner sort_string = "GAAAA" @@ -18,7 +18,7 @@ id = "xenoarch_multitool" req_tech = list(TECH_MAGNET = 3, TECH_ENGINEERING = 3, TECH_BLUESPACE = 3) build_path = /obj/item/device/xenoarch_multi_tool - materials = list(DEFAULT_WALL_MATERIAL = 2000, "glass" = 1000, "uranium" = 500, "phoron" = 500) + materials = list(MAT_STEEL = 2000, MAT_GLASS = 1000, MAT_URANIUM = 500, MAT_PHORON = 500) sort_string = "GAAAB" /datum/design/item/weapon/xenoarch/excavationdrill @@ -26,6 +26,6 @@ id = "excavationdrill" req_tech = list(TECH_MATERIAL = 3, TECH_POWER = 2, TECH_ENGINEERING = 2, TECH_BLUESPACE = 3) build_type = PROTOLATHE - materials = list(DEFAULT_WALL_MATERIAL = 4000, "glass" = 4000) + materials = list(MAT_STEEL = 4000, MAT_GLASS = 4000) build_path = /obj/item/weapon/pickaxe/excavationdrill sort_string = "GAAAC" \ No newline at end of file diff --git a/code/modules/research/designs/xenobio_toys.dm b/code/modules/research/designs/xenobio_toys.dm index 917f8ba6c3..2c7f3f402a 100644 --- a/code/modules/research/designs/xenobio_toys.dm +++ b/code/modules/research/designs/xenobio_toys.dm @@ -7,14 +7,14 @@ /datum/design/item/weapon/xenobio/slimebaton id = "slimebaton" req_tech = list(TECH_MATERIAL = 2, TECH_BIO = 2, TECH_POWER = 3, TECH_COMBAT = 3) - materials = list(DEFAULT_WALL_MATERIAL = 5000) + materials = list(MAT_STEEL = 5000) build_path = /obj/item/weapon/melee/baton/slime sort_string = "HAAAA" /datum/design/item/weapon/xenobio/slimetaser id = "slimetaser" req_tech = list(TECH_MATERIAL = 3, TECH_BIO = 3, TECH_POWER = 4, TECH_COMBAT = 4) - materials = list(DEFAULT_WALL_MATERIAL = 5000) + materials = list(MAT_STEEL = 5000) build_path = /obj/item/weapon/gun/energy/taser/xeno sort_string = "HAAAB" @@ -25,6 +25,6 @@ desc = "A hand-held body scanner able to learn information about slimes." id = "slime_scanner" req_tech = list(TECH_MAGNET = 2, TECH_BIO = 2) - materials = list(DEFAULT_WALL_MATERIAL = 500, "glass" = 500) + materials = list(MAT_STEEL = 500, MAT_GLASS = 500) build_path = /obj/item/device/slime_scanner sort_string = "HBAAA" \ No newline at end of file diff --git a/code/modules/research/mechfab_designs.dm b/code/modules/research/mechfab_designs.dm index 4511307c12..f63e8c3409 100644 --- a/code/modules/research/mechfab_designs.dm +++ b/code/modules/research/mechfab_designs.dm @@ -11,7 +11,7 @@ id = "ripley_chassis" build_path = /obj/item/mecha_parts/chassis/ripley time = 10 - materials = list(DEFAULT_WALL_MATERIAL = 15000) + materials = list(MAT_STEEL = 15000) /datum/design/item/mechfab/ripley/chassis/firefighter name = "Firefigher Chassis" @@ -23,35 +23,35 @@ id = "ripley_torso" build_path = /obj/item/mecha_parts/part/ripley_torso time = 20 - materials = list(DEFAULT_WALL_MATERIAL = 30000, "glass" = 11250) + materials = list(MAT_STEEL = 30000, MAT_GLASS = 11250) /datum/design/item/mechfab/ripley/left_arm name = "Ripley Left Arm" id = "ripley_left_arm" build_path = /obj/item/mecha_parts/part/ripley_left_arm time = 15 - materials = list(DEFAULT_WALL_MATERIAL = 18750) + materials = list(MAT_STEEL = 18750) /datum/design/item/mechfab/ripley/right_arm name = "Ripley Right Arm" id = "ripley_right_arm" build_path = /obj/item/mecha_parts/part/ripley_right_arm time = 15 - materials = list(DEFAULT_WALL_MATERIAL = 18750) + materials = list(MAT_STEEL = 18750) /datum/design/item/mechfab/ripley/left_leg name = "Ripley Left Leg" id = "ripley_left_leg" build_path = /obj/item/mecha_parts/part/ripley_left_leg time = 15 - materials = list(DEFAULT_WALL_MATERIAL = 22500) + materials = list(MAT_STEEL = 22500) /datum/design/item/mechfab/ripley/right_leg name = "Ripley Right Leg" id = "ripley_right_leg" build_path = /obj/item/mecha_parts/part/ripley_right_leg time = 15 - materials = list(DEFAULT_WALL_MATERIAL = 22500) + materials = list(MAT_STEEL = 22500) /datum/design/item/mechfab/odysseus category = list("Odysseus") @@ -61,49 +61,49 @@ id = "odysseus_chassis" build_path = /obj/item/mecha_parts/chassis/odysseus time = 10 - materials = list(DEFAULT_WALL_MATERIAL = 15000) + materials = list(MAT_STEEL = 15000) /datum/design/item/mechfab/odysseus/torso name = "Odysseus Torso" id = "odysseus_torso" build_path = /obj/item/mecha_parts/part/odysseus_torso time = 18 - materials = list(DEFAULT_WALL_MATERIAL = 18750) + materials = list(MAT_STEEL = 18750) /datum/design/item/mechfab/odysseus/head name = "Odysseus Head" id = "odysseus_head" build_path = /obj/item/mecha_parts/part/odysseus_head time = 10 - materials = list(DEFAULT_WALL_MATERIAL = 1500, "glass" = 7500) + materials = list(MAT_STEEL = 1500, MAT_GLASS = 7500) /datum/design/item/mechfab/odysseus/left_arm name = "Odysseus Left Arm" id = "odysseus_left_arm" build_path = /obj/item/mecha_parts/part/odysseus_left_arm time = 12 - materials = list(DEFAULT_WALL_MATERIAL = 7500) + materials = list(MAT_STEEL = 7500) /datum/design/item/mechfab/odysseus/right_arm name = "Odysseus Right Arm" id = "odysseus_right_arm" build_path = /obj/item/mecha_parts/part/odysseus_right_arm time = 12 - materials = list(DEFAULT_WALL_MATERIAL = 7500) + materials = list(MAT_STEEL = 7500) /datum/design/item/mechfab/odysseus/left_leg name = "Odysseus Left Leg" id = "odysseus_left_leg" build_path = /obj/item/mecha_parts/part/odysseus_left_leg time = 13 - materials = list(DEFAULT_WALL_MATERIAL = 11250) + materials = list(MAT_STEEL = 11250) /datum/design/item/mechfab/odysseus/right_leg name = "Odysseus Right Leg" id = "odysseus_right_leg" build_path = /obj/item/mecha_parts/part/odysseus_right_leg time = 13 - materials = list(DEFAULT_WALL_MATERIAL = 11250) + materials = list(MAT_STEEL = 11250) /datum/design/item/mechfab/gygax category = list("Gygax") @@ -112,63 +112,63 @@ name = "Serenity Chassis" id = "serenity_chassis" build_path = /obj/item/mecha_parts/chassis/serenity - materials = list(DEFAULT_WALL_MATERIAL = 18750, "phoron" = 4000) + materials = list(MAT_STEEL = 18750, MAT_PHORON = 4000) /datum/design/item/mechfab/gygax/chassis name = "Gygax Chassis" id = "gygax_chassis" build_path = /obj/item/mecha_parts/chassis/gygax time = 10 - materials = list(DEFAULT_WALL_MATERIAL = 18750) + materials = list(MAT_STEEL = 18750) /datum/design/item/mechfab/gygax/torso name = "Gygax Torso" id = "gygax_torso" build_path = /obj/item/mecha_parts/part/gygax_torso time = 30 - materials = list(DEFAULT_WALL_MATERIAL = 37500, "glass" = 15000) + materials = list(MAT_STEEL = 37500, MAT_GLASS = 15000) /datum/design/item/mechfab/gygax/head name = "Gygax Head" id = "gygax_head" build_path = /obj/item/mecha_parts/part/gygax_head time = 20 - materials = list(DEFAULT_WALL_MATERIAL = 15000, "glass" = 7500) + materials = list(MAT_STEEL = 15000, MAT_GLASS = 7500) /datum/design/item/mechfab/gygax/left_arm name = "Gygax Left Arm" id = "gygax_left_arm" build_path = /obj/item/mecha_parts/part/gygax_left_arm time = 20 - materials = list(DEFAULT_WALL_MATERIAL = 22500) + materials = list(MAT_STEEL = 22500) /datum/design/item/mechfab/gygax/right_arm name = "Gygax Right Arm" id = "gygax_right_arm" build_path = /obj/item/mecha_parts/part/gygax_right_arm time = 20 - materials = list(DEFAULT_WALL_MATERIAL = 22500) + materials = list(MAT_STEEL = 22500) /datum/design/item/mechfab/gygax/left_leg name = "Gygax Left Leg" id = "gygax_left_leg" build_path = /obj/item/mecha_parts/part/gygax_left_leg time = 20 - materials = list(DEFAULT_WALL_MATERIAL = 26250) + materials = list(MAT_STEEL = 26250) /datum/design/item/mechfab/gygax/right_leg name = "Gygax Right Leg" id = "gygax_right_leg" build_path = /obj/item/mecha_parts/part/gygax_right_leg time = 20 - materials = list(DEFAULT_WALL_MATERIAL = 26250) + materials = list(MAT_STEEL = 26250) /datum/design/item/mechfab/gygax/armour name = "Gygax Armour Plates" id = "gygax_armour" build_path = /obj/item/mecha_parts/part/gygax_armour time = 60 - materials = list(DEFAULT_WALL_MATERIAL = 37500, "diamond" = 7500) + materials = list(MAT_STEEL = 37500, MAT_DIAMOND = 7500) /datum/design/item/mechfab/durand category = list("Durand") @@ -178,56 +178,56 @@ id = "durand_chassis" build_path = /obj/item/mecha_parts/chassis/durand time = 20 - materials = list(DEFAULT_WALL_MATERIAL = 18750, MAT_PLASTEEL = 20000) + materials = list(MAT_STEEL = 18750, MAT_PLASTEEL = 20000) /datum/design/item/mechfab/durand/torso name = "Durand Torso" id = "durand_torso" build_path = /obj/item/mecha_parts/part/durand_torso time = 30 - materials = list(DEFAULT_WALL_MATERIAL = 41250, MAT_PLASTEEL = 15000, "silver" = 7500) + materials = list(MAT_STEEL = 41250, MAT_PLASTEEL = 15000, MAT_SILVER = 7500) /datum/design/item/mechfab/durand/head name = "Durand Head" id = "durand_head" build_path = /obj/item/mecha_parts/part/durand_head time = 20 - materials = list(DEFAULT_WALL_MATERIAL = 18750, "glass" = 7500, "silver" = 2250) + materials = list(MAT_STEEL = 18750, MAT_GLASS = 7500, MAT_SILVER = 2250) /datum/design/item/mechfab/durand/left_arm name = "Durand Left Arm" id = "durand_left_arm" build_path = /obj/item/mecha_parts/part/durand_left_arm time = 20 - materials = list(DEFAULT_WALL_MATERIAL = 26250, "silver" = 2250) + materials = list(MAT_STEEL = 26250, MAT_SILVER = 2250) /datum/design/item/mechfab/durand/right_arm name = "Durand Right Arm" id = "durand_right_arm" build_path = /obj/item/mecha_parts/part/durand_right_arm time = 20 - materials = list(DEFAULT_WALL_MATERIAL = 26250, "silver" = 2250) + materials = list(MAT_STEEL = 26250, MAT_SILVER = 2250) /datum/design/item/mechfab/durand/left_leg name = "Durand Left Leg" id = "durand_left_leg" build_path = /obj/item/mecha_parts/part/durand_left_leg time = 20 - materials = list(DEFAULT_WALL_MATERIAL = 30000, "silver" = 2250) + materials = list(MAT_STEEL = 30000, MAT_SILVER = 2250) /datum/design/item/mechfab/durand/right_leg name = "Durand Right Leg" id = "durand_right_leg" build_path = /obj/item/mecha_parts/part/durand_right_leg time = 20 - materials = list(DEFAULT_WALL_MATERIAL = 30000, "silver" = 2250) + materials = list(MAT_STEEL = 30000, MAT_SILVER = 2250) /datum/design/item/mechfab/durand/armour name = "Durand Armour Plates" id = "durand_armour" build_path = /obj/item/mecha_parts/part/durand_armour time = 60 - materials = list(DEFAULT_WALL_MATERIAL = 27500, MAT_PLASTEEL = 10000, "uranium" = 7500) + materials = list(MAT_STEEL = 27500, MAT_PLASTEEL = 10000, MAT_URANIUM = 7500) /datum/design/item/mechfab/janus category = list("Janus") @@ -246,42 +246,42 @@ id = "janus_torso" build_path = /obj/item/mecha_parts/part/janus_torso time = 300 - materials = list(DEFAULT_WALL_MATERIAL = 30000, MAT_DURASTEEL = 8000, MAT_MORPHIUM = 10000, MAT_GOLD = 5000, MAT_VERDANTIUM = 5000) + materials = list(MAT_STEEL = 30000, MAT_DURASTEEL = 8000, MAT_MORPHIUM = 10000, MAT_GOLD = 5000, MAT_VERDANTIUM = 5000) /datum/design/item/mechfab/janus/head name = "Imperion Head" id = "janus_head" build_path = /obj/item/mecha_parts/part/janus_head time = 200 - materials = list(DEFAULT_WALL_MATERIAL = 30000, MAT_DURASTEEL = 2000, MAT_MORPHIUM = 6000, MAT_GOLD = 5000) + materials = list(MAT_STEEL = 30000, MAT_DURASTEEL = 2000, MAT_MORPHIUM = 6000, MAT_GOLD = 5000) /datum/design/item/mechfab/janus/left_arm name = "Prototype Gygax Left Arm" id = "janus_left_arm" build_path = /obj/item/mecha_parts/part/janus_left_arm time = 200 - materials = list(DEFAULT_WALL_MATERIAL = 30000, MAT_METALHYDROGEN = 3000, MAT_DURASTEEL = 2000, MAT_MORPHIUM = 3000, MAT_GOLD = 5000, MAT_DIAMOND = 7000) + materials = list(MAT_STEEL = 30000, MAT_METALHYDROGEN = 3000, MAT_DURASTEEL = 2000, MAT_MORPHIUM = 3000, MAT_GOLD = 5000, MAT_DIAMOND = 7000) /datum/design/item/mechfab/janus/right_arm name = "Prototype Gygax Right Arm" id = "janus_right_arm" build_path = /obj/item/mecha_parts/part/janus_right_arm time = 200 - materials = list(DEFAULT_WALL_MATERIAL = 30000, MAT_METALHYDROGEN = 3000, MAT_DURASTEEL = 2000, MAT_MORPHIUM = 3000, MAT_GOLD = 5000, MAT_DIAMOND = 7000) + materials = list(MAT_STEEL = 30000, MAT_METALHYDROGEN = 3000, MAT_DURASTEEL = 2000, MAT_MORPHIUM = 3000, MAT_GOLD = 5000, MAT_DIAMOND = 7000) /datum/design/item/mechfab/janus/left_leg name = "Prototype Durand Left Leg" id = "janus_left_leg" build_path = /obj/item/mecha_parts/part/janus_left_leg time = 200 - materials = list(DEFAULT_WALL_MATERIAL = 30000, MAT_METALHYDROGEN = 3000, MAT_DURASTEEL = 2000, MAT_MORPHIUM = 3000, MAT_GOLD = 5000, MAT_URANIUM = 7000) + materials = list(MAT_STEEL = 30000, MAT_METALHYDROGEN = 3000, MAT_DURASTEEL = 2000, MAT_MORPHIUM = 3000, MAT_GOLD = 5000, MAT_URANIUM = 7000) /datum/design/item/mechfab/janus/right_leg name = "Prototype Durand Right Leg" id = "janus_right_leg" build_path = /obj/item/mecha_parts/part/janus_right_leg time = 200 - materials = list(DEFAULT_WALL_MATERIAL = 30000, MAT_METALHYDROGEN = 3000, MAT_DURASTEEL = 2000, MAT_MORPHIUM = 3000, MAT_GOLD = 5000, MAT_URANIUM = 7000) + materials = list(MAT_STEEL = 30000, MAT_METALHYDROGEN = 3000, MAT_DURASTEEL = 2000, MAT_MORPHIUM = 3000, MAT_GOLD = 5000, MAT_URANIUM = 7000) /datum/design/item/mechfab/janus/phase_coil name = "Janus Phase Coil" @@ -294,7 +294,7 @@ build_type = MECHFAB category = list("Exosuit Equipment") time = 10 - materials = list(DEFAULT_WALL_MATERIAL = 7500) + materials = list(MAT_STEEL = 7500) /datum/design/item/mecha/AssembleDesignDesc() if(!desc) @@ -304,7 +304,7 @@ name = "Exosuit Tracking Beacon" id = "mech_tracker" time = 5 - materials = list(DEFAULT_WALL_MATERIAL = 375) + materials = list(MAT_STEEL = 375) build_path = /obj/item/mecha_parts/mecha_tracking /datum/design/item/mecha/hydraulic_clamp @@ -326,32 +326,32 @@ name = "Cable Layer" id = "mech_cable_layer" build_path = /obj/item/mecha_parts/mecha_equipment/tool/cable_layer - materials = list(DEFAULT_WALL_MATERIAL = 7500, "plastic" = 1000) + materials = list(MAT_STEEL = 7500, MAT_PLASTIC = 1000) /datum/design/item/mecha/flaregun name = "Flare Launcher" id = "mecha_flare_gun" build_path = /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/flare - materials = list(DEFAULT_WALL_MATERIAL = 9375) + materials = list(MAT_STEEL = 9375) /datum/design/item/mecha/sleeper name = "Sleeper" id = "mech_sleeper" build_path = /obj/item/mecha_parts/mecha_equipment/tool/sleeper - materials = list(DEFAULT_WALL_MATERIAL = 3750, "glass" = 7500) + materials = list(MAT_STEEL = 3750, MAT_GLASS = 7500) /datum/design/item/mecha/syringe_gun name = "Syringe Gun" id = "mech_syringe_gun" build_path = /obj/item/mecha_parts/mecha_equipment/tool/syringe_gun time = 20 - materials = list(DEFAULT_WALL_MATERIAL = 2250, "glass" = 1500) + materials = list(MAT_STEEL = 2250, MAT_GLASS = 1500) /datum/design/item/mecha/passenger name = "Passenger Compartment" id = "mech_passenger" build_path = /obj/item/mecha_parts/mecha_equipment/tool/passenger - materials = list(DEFAULT_WALL_MATERIAL = 3750, "glass" = 3750) + materials = list(MAT_STEEL = 3750, MAT_GLASS = 3750) /datum/design/item/mecha/taser name = "PBT \"Pacifier\" Mounted Taser" @@ -369,7 +369,7 @@ id = "mech_shocker" req_tech = list(TECH_COMBAT = 3, TECH_POWER = 6, TECH_MAGNET = 1) build_path = /obj/item/mecha_parts/mecha_equipment/shocker - materials = list(DEFAULT_WALL_MATERIAL = 3500, "gold" = 750, "glass" = 1000) + materials = list(MAT_STEEL = 3500, MAT_GOLD = 750, MAT_GLASS = 1000) /datum/design/item/mecha/lmg name = "Ultra AC 2" @@ -383,7 +383,7 @@ /datum/design/item/mecha/weapon req_tech = list(TECH_COMBAT = 3) - materials = list(DEFAULT_WALL_MATERIAL = 8000, "glass" = 2000) + materials = list(MAT_STEEL = 8000, MAT_GLASS = 2000) // *** Weapon modules /datum/design/item/mecha/weapon/scattershot @@ -391,21 +391,21 @@ id = "mech_scattershot" req_tech = list(TECH_COMBAT = 4) build_path = /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/scattershot - materials = list(DEFAULT_WALL_MATERIAL = 8000, "glass" = 3000, "plastic" = 2000, "silver" = 2500) + materials = list(MAT_STEEL = 8000, MAT_GLASS = 3000, MAT_PLASTIC = 2000, MAT_SILVER = 2500) /datum/design/item/mecha/weapon/rigged_scattershot name = "Jury-Rigged Shrapnel Cannon" id = "mech_scattershot-r" req_tech = list(TECH_COMBAT = 4) build_path = /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/scattershot/rigged - materials = list(DEFAULT_WALL_MATERIAL = 7000, "glass" = 2000, "plastic" = 2000, "silver" = 2000) + materials = list(MAT_STEEL = 7000, MAT_GLASS = 2000, MAT_PLASTIC = 2000, MAT_SILVER = 2000) /datum/design/item/mecha/weapon/laser name = "CH-PS \"Immolator\" Laser" id = "mech_laser" req_tech = list(TECH_COMBAT = 3, TECH_MAGNET = 3) build_path = /obj/item/mecha_parts/mecha_equipment/weapon/energy/laser - materials = list(DEFAULT_WALL_MATERIAL = 8000, "glass" = 3000, "plastic" = 2000) + materials = list(MAT_STEEL = 8000, MAT_GLASS = 3000, MAT_PLASTIC = 2000) /datum/design/item/mecha/weapon/laser_rigged name = "Jury-Rigged Welder-Laser" @@ -419,21 +419,21 @@ id = "mech_laser_heavy" req_tech = list(TECH_COMBAT = 4, TECH_MAGNET = 4) build_path = /obj/item/mecha_parts/mecha_equipment/weapon/energy/laser/heavy - materials = list(DEFAULT_WALL_MATERIAL = 10000, "glass" = 3000, "diamond" = 2000, "osmium" = 5000, "plastic" = 2000) + materials = list(MAT_STEEL = 10000, MAT_GLASS = 3000, MAT_DIAMOND = 2000, MAT_OSMIUM = 5000, MAT_PLASTIC = 2000) /datum/design/item/mecha/weapon/rigged_laser_heavy name = "Jury-Rigged Emitter Cannon" id = "mech_laser_heavy-r" req_tech = list(TECH_COMBAT = 4, TECH_MAGNET = 4, TECH_PHORON = 3, TECH_ILLEGAL = 1) build_path = /obj/item/mecha_parts/mecha_equipment/weapon/energy/laser/heavy/rigged - materials = list(DEFAULT_WALL_MATERIAL = 8000, "glass" = 4000, "diamond" = 1500, "osmium" = 4000, "plastic" = 2000) + materials = list(MAT_STEEL = 8000, MAT_GLASS = 4000, MAT_DIAMOND = 1500, MAT_OSMIUM = 4000, MAT_PLASTIC = 2000) /datum/design/item/mecha/weapon/laser_xray name = "CH-XS \"Penetrator\" Laser" id = "mech_laser_xray" req_tech = list(TECH_MATERIAL = 3, TECH_COMBAT = 3, TECH_PHORON = 3, TECH_POWER = 4) build_path = /obj/item/mecha_parts/mecha_equipment/weapon/energy/laser/xray - materials = list(DEFAULT_WALL_MATERIAL = 9000, "glass" = 3000, "phoron" = 1000, "silver" = 1500, "gold" = 2500, "plastic" = 2000) + materials = list(MAT_STEEL = 9000, MAT_GLASS = 3000, MAT_PHORON = 1000, MAT_SILVER = 1500, MAT_GOLD = 2500, MAT_PLASTIC = 2000) /datum/design/item/mecha/weapon/laser_gamma //CHOMPedit begin : add Gamma Laser name = "GA-X \"Render\" Experimental Gamma Laser" @@ -447,49 +447,49 @@ id = "mech_laser_xray-r" req_tech = list(TECH_MATERIAL = 3, TECH_COMBAT = 3, TECH_PHORON = 3, TECH_POWER = 4) build_path = /obj/item/mecha_parts/mecha_equipment/weapon/energy/laser/xray/rigged - materials = list(DEFAULT_WALL_MATERIAL = 8500, "glass" = 2500, "phoron" = 1000, "silver" = 1250, "gold" = 2000, "plastic" = 2000) + materials = list(MAT_STEEL = 8500, MAT_GLASS = 2500, MAT_PHORON = 1000, MAT_SILVER = 1250, MAT_GOLD = 2000, MAT_PLASTIC = 2000) /datum/design/item/mecha/weapon/phase name = "NT-PE \"Scorpio\" Phase-Emitter" id = "mech_phase" req_tech = list(TECH_MATERIAL = 1, TECH_COMBAT = 2, TECH_MAGNET = 2) build_path = /obj/item/mecha_parts/mecha_equipment/weapon/energy/phase - materials = list(DEFAULT_WALL_MATERIAL = 6000, "glass" = 3000, "plastic" = 3000) + materials = list(MAT_STEEL = 6000, MAT_GLASS = 3000, MAT_PLASTIC = 3000) /datum/design/item/mecha/weapon/ion name = "MK-IV Ion Heavy Cannon" id = "mech_ion" req_tech = list(TECH_COMBAT = 4, TECH_MAGNET = 4) build_path = /obj/item/mecha_parts/mecha_equipment/weapon/energy/ion - materials = list(DEFAULT_WALL_MATERIAL = 15000, "uranium" = 2000, "silver" = 2000, "osmium" = 4500, "plastic" = 2000) + materials = list(MAT_STEEL = 15000, MAT_URANIUM = 2000, MAT_SILVER = 2000, MAT_OSMIUM = 4500, MAT_PLASTIC = 2000) /datum/design/item/mecha/weapon/rigged_ion name = "Jury-Rigged Ion Cannon" id = "mech_ion-r" req_tech = list(TECH_COMBAT = 4, TECH_MAGNET = 4) build_path = /obj/item/mecha_parts/mecha_equipment/weapon/energy/ion/rigged - materials = list(DEFAULT_WALL_MATERIAL = 13000, "uranium" = 1000, "silver" = 1000, "osmium" = 3000, "plastic" = 2000) + materials = list(MAT_STEEL = 13000, MAT_URANIUM = 1000, MAT_SILVER = 1000, MAT_OSMIUM = 3000, MAT_PLASTIC = 2000) /datum/design/item/mecha/weapon/grenade_launcher name = "SGL-6 Grenade Launcher" id = "mech_grenade_launcher" req_tech = list(TECH_COMBAT = 3) build_path = /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/grenade - materials = list(DEFAULT_WALL_MATERIAL = 7000, "gold" = 2000, "plastic" = 3000) + materials = list(MAT_STEEL = 7000, MAT_GOLD = 2000, MAT_PLASTIC = 3000) /datum/design/item/mecha/weapon/rigged_grenade_launcher name = "Jury-Rigged Pneumatic Flashlauncher" id = "mech_grenade_launcher-rig" req_tech = list(TECH_COMBAT = 3) build_path = /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/grenade/rigged - materials = list(DEFAULT_WALL_MATERIAL = 5000, "gold" = 2000, "plastic" = 2000) + materials = list(MAT_STEEL = 5000, MAT_GOLD = 2000, MAT_PLASTIC = 2000) /datum/design/item/mecha/weapon/clusterbang_launcher name = "SOP-6 Grenade Launcher" desc = "A weapon that violates the Geneva Convention at 6 rounds per minute." id = "clusterbang_launcher" req_tech = list(TECH_COMBAT= 5, TECH_MATERIAL = 5, TECH_ILLEGAL = 3) - materials = list(DEFAULT_WALL_MATERIAL = 15000, "gold" = 4500, "uranium" = 4500) + materials = list(MAT_STEEL = 15000, MAT_GOLD = 4500, MAT_URANIUM = 4500) build_path = /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/grenade/clusterbang/limited /datum/design/item/mecha/weapon/conc_grenade_launcher @@ -497,21 +497,21 @@ id = "mech_grenade_launcher_conc" req_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 4, TECH_ILLEGAL = 1) build_path = /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/grenade/concussion - materials = list(DEFAULT_WALL_MATERIAL = 9000, "gold" = 1000, "osmium" = 1000, "plastic" = 3000) + materials = list(MAT_STEEL = 9000, MAT_GOLD = 1000, MAT_OSMIUM = 1000, MAT_PLASTIC = 3000) /datum/design/item/mecha/weapon/frag_grenade_launcher name = "HEP-MI 6 Grenade Launcher" id = "mech_grenade_launcher_frag" req_tech = list(TECH_COMBAT = 4, TECH_ENGINEERING = 2, TECH_MATERIAL = 3, TECH_ILLEGAL = 2) build_path = /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/grenade/frag/mini - materials = list(DEFAULT_WALL_MATERIAL = 10000, "gold" = 2500, "uranium" = 3000, "osmium" = 3000, "plastic" = 3000) + materials = list(MAT_STEEL = 10000, MAT_GOLD = 2500, MAT_URANIUM = 3000, MAT_OSMIUM = 3000, MAT_PLASTIC = 3000) /datum/design/item/mecha/weapon/flamer name = "CR-3 Mark 8 Flamethrower" desc = "A weapon that violates the CCWC at two hundred gallons per minute." id = "mech_flamer_full" req_tech = list(TECH_MATERIAL = 4, TECH_COMBAT = 6, TECH_PHORON = 4, TECH_ILLEGAL = 4) - materials = list(DEFAULT_WALL_MATERIAL = 10000, "gold" = 2000, "uranium" = 3000, "phoron" = 8000) + materials = list(MAT_STEEL = 10000, MAT_GOLD = 2000, MAT_URANIUM = 3000, MAT_PHORON = 8000) build_path = /obj/item/mecha_parts/mecha_equipment/weapon/energy/flamer /datum/design/item/mecha/weapon/flamer_rigged @@ -519,7 +519,7 @@ desc = "A weapon that accidentally violates the CCWC at one hundred gallons per minute." id = "mech_flamer_rigged" req_tech = list(TECH_MATERIAL = 3, TECH_COMBAT = 3, TECH_PHORON = 3, TECH_ILLEGAL = 2) - materials = list(DEFAULT_WALL_MATERIAL = 8000, "gold" = 1500, "silver" = 1500, "uranium" = 2000, "phoron" = 6000) + materials = list(MAT_STEEL = 8000, MAT_GOLD = 1500, MAT_SILVER = 1500, MAT_URANIUM = 2000, MAT_PHORON = 6000) build_path = /obj/item/mecha_parts/mecha_equipment/weapon/energy/flamer/rigged /datum/design/item/mecha/weapon/flame_mg @@ -527,7 +527,7 @@ desc = "A weapon that violates the CCWC at sixty rounds a minute." id = "mech_lmg_flamer" req_tech = list(TECH_MATERIAL = 4, TECH_COMBAT = 5, TECH_PHORON = 2, TECH_ILLEGAL = 1) - materials = list(DEFAULT_WALL_MATERIAL = 8000, "gold" = 2000, "silver" = 1750, "uranium" = 1500, "phoron" = 4000) + materials = list(MAT_STEEL = 8000, MAT_GOLD = 2000, MAT_SILVER = 1750, MAT_URANIUM = 1500, MAT_PHORON = 4000) build_path = /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/incendiary // *** Nonweapon modules @@ -557,7 +557,7 @@ desc = "An exosuit-mounted rapid construction device." id = "mech_rcd" time = 120 - materials = list(DEFAULT_WALL_MATERIAL = 20000, "plastic" = 10000, "phoron" = 18750, "silver" = 15000, "gold" = 15000) + materials = list(MAT_STEEL = 20000, MAT_PLASTIC = 10000, MAT_PHORON = 18750, MAT_SILVER = 15000, MAT_GOLD = 15000) req_tech = list(TECH_MATERIAL = 4, TECH_BLUESPACE = 3, TECH_MAGNET = 4, TECH_POWER = 4, TECH_ENGINEERING = 4) build_path = /obj/item/mecha_parts/mecha_equipment/tool/rcd @@ -573,7 +573,7 @@ desc = "Automated repair droid, exosuits' best companion. BEEP BOOP" id = "mech_repair_droid" req_tech = list(TECH_MAGNET = 3, TECH_DATA = 3, TECH_ENGINEERING = 3) - materials = list(DEFAULT_WALL_MATERIAL = 7500, "gold" = 750, "silver" = 1500, "glass" = 3750) + materials = list(MAT_STEEL = 7500, MAT_GOLD = 750, MAT_SILVER = 1500, MAT_GLASS = 3750) build_path = /obj/item/mecha_parts/mecha_equipment/repair_droid /* These are way too OP to be buildable @@ -582,7 +582,7 @@ desc = "Linear shield projector. Deploys a large, familiar, and rectangular shield in one direction at a time." id = "mech_shield_droid" req_tech = list(TECH_PHORON = 3, TECH_MAGNET = 6, TECH_ILLEGAL = 4) - materials = list(DEFAULT_WALL_MATERIAL = 8000, "gold" = 2000, "silver" = 3000, "phoron" = 5000, "glass" = 3750) + materials = list(MAT_STEEL = 8000, MAT_GOLD = 2000, MAT_SILVER = 3000, MAT_PHORON = 5000, MAT_GLASS = 3750) build_path = /obj/item/mecha_parts/mecha_equipment/combat_shield /datum/design/item/mecha/omni_shield @@ -590,7 +590,7 @@ desc = "Integral shield projector. Can only protect the exosuit, but has no weak angles." id = "mech_shield_omni" req_tech = list(TECH_PHORON = 3, TECH_MAGNET = 6, TECH_ILLEGAL = 4) - materials = list(DEFAULT_WALL_MATERIAL = 8000, "gold" = 2000, "silver" = 3000, "phoron" = 5000, "glass" = 3750) + materials = list(MAT_STEEL = 8000, MAT_GOLD = 2000, MAT_SILVER = 3000, MAT_PHORON = 5000, MAT_GLASS = 3750) build_path = /obj/item/mecha_parts/mecha_equipment/omni_shield */ @@ -599,7 +599,7 @@ desc = "Deploys a small medical drone capable of patching small wounds in order to stabilize nearby patients." id = "mech_med_droid" req_tech = list(TECH_PHORON = 3, TECH_MAGNET = 6, TECH_BIO = 5, TECH_DATA = 4, TECH_ARCANE = 1) - materials = list(DEFAULT_WALL_MATERIAL = 8000, MAT_GOLD = 2000, MAT_SILVER = 3000, MAT_VERDANTIUM = 2500, MAT_GLASS = 3000) + materials = list(MAT_STEEL = 8000, MAT_GOLD = 2000, MAT_SILVER = 3000, MAT_VERDANTIUM = 2500, MAT_GLASS = 3000) build_path = /obj/item/mecha_parts/mecha_equipment/crisis_drone /datum/design/item/mecha/rad_drone @@ -607,7 +607,7 @@ desc = "Deploys a small hazmat drone capable of purging minor radiation damage in order to stabilize nearby patients." id = "mech_rad_droid" req_tech = list(TECH_PHORON = 4, TECH_MAGNET = 5, TECH_BIO = 6, TECH_DATA = 4, TECH_ARCANE = 1) - materials = list(DEFAULT_WALL_MATERIAL = 8000, MAT_GOLD = 2000, MAT_URANIUM = 3000, MAT_VERDANTIUM = 2500, MAT_GLASS = 3000) + materials = list(MAT_STEEL = 8000, MAT_GOLD = 2000, MAT_URANIUM = 3000, MAT_VERDANTIUM = 2500, MAT_GLASS = 3000) build_path = /obj/item/mecha_parts/mecha_equipment/crisis_drone/rad /datum/design/item/mecha/medanalyzer @@ -624,20 +624,20 @@ id = "mech_jetpack" req_tech = list(TECH_ENGINEERING = 3, TECH_MAGNET = 4) //One less magnet than the actual got-damn teleporter. build_path = /obj/item/mecha_parts/mecha_equipment/tool/jetpack - materials = list(DEFAULT_WALL_MATERIAL = 7500, "silver" = 300, "glass" = 600) + materials = list(MAT_STEEL = 7500, MAT_SILVER = 300, MAT_GLASS = 600) /datum/design/item/mecha/phoron_generator desc = "Phoron Reactor" id = "mech_phoron_generator" req_tech = list(TECH_PHORON = 2, TECH_POWER= 2, TECH_ENGINEERING = 2) build_path = /obj/item/mecha_parts/mecha_equipment/generator - materials = list(DEFAULT_WALL_MATERIAL = 7500, "silver" = 375, "glass" = 750) + materials = list(MAT_STEEL = 7500, MAT_SILVER = 375, MAT_GLASS = 750) /datum/design/item/mecha/energy_relay name = "Energy Relay" id = "mech_energy_relay" req_tech = list(TECH_MAGNET = 4, TECH_POWER = 3) - materials = list(DEFAULT_WALL_MATERIAL = 7500, "gold" = 1500, "silver" = 2250, "glass" = 1500) + materials = list(MAT_STEEL = 7500, MAT_GOLD = 1500, MAT_SILVER = 2250, MAT_GLASS = 1500) build_path = /obj/item/mecha_parts/mecha_equipment/tesla_energy_relay /datum/design/item/mecha/ccw_armor @@ -645,7 +645,7 @@ desc = "Exosuit close-combat armor booster." id = "mech_ccw_armor" req_tech = list(TECH_MATERIAL = 5, TECH_COMBAT = 4) - materials = list(DEFAULT_WALL_MATERIAL = 11250, "silver" = 3750) + materials = list(MAT_STEEL = 11250, MAT_SILVER = 3750) build_path = /obj/item/mecha_parts/mecha_equipment/anticcw_armor_booster /datum/design/item/mecha/proj_armor @@ -653,7 +653,7 @@ desc = "Exosuit projectile armor booster." id = "mech_proj_armor" req_tech = list(TECH_MATERIAL = 5, TECH_COMBAT = 5, TECH_ENGINEERING = 3) - materials = list(DEFAULT_WALL_MATERIAL = 15000, "gold" = 3750) + materials = list(MAT_STEEL = 15000, MAT_GOLD = 3750) build_path = /obj/item/mecha_parts/mecha_equipment/antiproj_armor_booster /datum/design/item/mecha/diamond_drill @@ -661,7 +661,7 @@ desc = "A diamond version of the exosuit drill. It's harder, better, faster, stronger." id = "mech_diamond_drill" req_tech = list(TECH_MATERIAL = 4, TECH_ENGINEERING = 3) - materials = list(DEFAULT_WALL_MATERIAL = 7500, "diamond" = 4875) + materials = list(MAT_STEEL = 7500, MAT_DIAMOND = 4875) build_path = /obj/item/mecha_parts/mecha_equipment/tool/drill/diamonddrill /datum/design/item/mecha/ground_drill @@ -669,7 +669,7 @@ desc = "A heavy duty bore. Bigger, better, stronger than the core sampler, but not quite as good as a large drill." id = "mech_ground_drill" req_tech = list(TECH_MATERIAL = 4, TECH_ENGINEERING = 2, TECH_PHORON = 1) - materials = list(DEFAULT_WALL_MATERIAL = 7000, "silver" = 3000, "phoron" = 2000) + materials = list(MAT_STEEL = 7000, MAT_SILVER = 3000, MAT_PHORON = 2000) build_path = /obj/item/mecha_parts/mecha_equipment/tool/drill/bore /datum/design/item/mecha/orescanner @@ -677,7 +677,7 @@ desc = "A hefty device used to scan for subterranean veins of ore." id = "mech_ore_scanner" req_tech = list(TECH_MATERIAL = 2, TECH_MAGNET = 2, TECH_POWER = 2) - materials = list(DEFAULT_WALL_MATERIAL = 4000, "glass" = 1000) + materials = list(MAT_STEEL = 4000, MAT_GLASS = 1000) build_path = /obj/item/mecha_parts/mecha_equipment/tool/orescanner /datum/design/item/mecha/advorescanner @@ -685,7 +685,7 @@ desc = "A hefty device used to scan for the exact volumes of subterranean veins of ore." id = "mech_ore_scanner_adv" req_tech = list(TECH_MATERIAL = 5, TECH_MAGNET = 4, TECH_POWER = 4, TECH_BLUESPACE = 2) - materials = list(DEFAULT_WALL_MATERIAL = 5000, "osmium" = 3000, "silver" = 1000) + materials = list(MAT_STEEL = 5000, MAT_OSMIUM = 3000, MAT_SILVER = 1000) build_path = /obj/item/mecha_parts/mecha_equipment/tool/orescanner/advanced /datum/design/item/mecha/runningboard @@ -693,7 +693,7 @@ desc = "A running board with a power-lifter attachment, to quickly catapult exosuit pilots into the cockpit. Only fits to working exosuits." id = "mech_runningboard" req_tech = list(TECH_MATERIAL = 6) - materials = list(DEFAULT_WALL_MATERIAL = 10000) + materials = list(MAT_STEEL = 10000) build_path = /obj/item/mecha_parts/mecha_equipment/runningboard/limited /datum/design/item/mecha/powerwrench @@ -701,7 +701,7 @@ desc = "A large, hydraulic wrench." id = "mech_wrench" req_tech = list(TECH_MATERIAL = 2, TECH_ENGINEERING = 2, TECH_POWER = 2) - materials = list(DEFAULT_WALL_MATERIAL = 5000, "plastic" = 2000, "glass" = 1250) + materials = list(MAT_STEEL = 5000, MAT_PLASTIC = 2000, MAT_GLASS = 1250) build_path = /obj/item/mecha_parts/mecha_equipment/tool/powertool /datum/design/item/mecha/powercrowbar @@ -709,7 +709,7 @@ desc = "A large, hydraulic prybar." id = "mech_crowbar" req_tech = list(TECH_MATERIAL = 2, TECH_ENGINEERING = 2, TECH_POWER = 2) - materials = list(DEFAULT_WALL_MATERIAL = 4000, "osmium" = 3000, "glass" = 1000) + materials = list(MAT_STEEL = 4000, MAT_OSMIUM = 3000, MAT_GLASS = 1000) build_path = /obj/item/mecha_parts/mecha_equipment/tool/powertool/prybar /datum/design/item/mecha/powercutters @@ -717,7 +717,7 @@ desc = "A large, hydraulic cablecutter." id = "mech_wirecutter" req_tech = list(TECH_MATERIAL = 2, TECH_ENGINEERING = 2, TECH_POWER = 2) - materials = list(DEFAULT_WALL_MATERIAL = 4000, "osmium" = 3000, "glass" = 1000) + materials = list(MAT_STEEL = 4000, MAT_OSMIUM = 3000, MAT_GLASS = 1000) build_path = /obj/item/mecha_parts/mecha_equipment/tool/powertool/cutter /datum/design/item/mecha/powerscrewdriver @@ -725,7 +725,7 @@ desc = "A large, hydraulic screwdriver." id = "mech_screwdriver" req_tech = list(TECH_MATERIAL = 2, TECH_ENGINEERING = 2, TECH_POWER = 2) - materials = list(DEFAULT_WALL_MATERIAL = 4000, "osmium" = 3000, "glass" = 1000) + materials = list(MAT_STEEL = 4000, MAT_OSMIUM = 3000, MAT_GLASS = 1000) build_path = /obj/item/mecha_parts/mecha_equipment/tool/powertool/screwdriver /datum/design/item/mecha/powerwelder @@ -733,7 +733,7 @@ desc = "A large welding laser." id = "mech_welder" req_tech = list(TECH_MATERIAL = 2, TECH_ENGINEERING = 2, TECH_POWER = 2) - materials = list(DEFAULT_WALL_MATERIAL = 4000, MAT_PHORON = 3000, "glass" = 1000) + materials = list(MAT_STEEL = 4000, MAT_PHORON = 3000, MAT_GLASS = 1000) build_path = /obj/item/mecha_parts/mecha_equipment/tool/powertool/welding /datum/design/item/mecha/inflatables @@ -741,7 +741,7 @@ desc = "A large pneumatic inflatable deployer." id = "mech_inflatables" req_tech = list(TECH_MATERIAL = 2, TECH_ENGINEERING = 2, TECH_POWER = 2) - materials = list(DEFAULT_WALL_MATERIAL = 2000, MAT_PLASTIC = 4000, "glass" = 1000) + materials = list(MAT_STEEL = 2000, MAT_PLASTIC = 4000, MAT_GLASS = 1000) build_path = /obj/item/mecha_parts/mecha_equipment/tool/powertool/inflatables /datum/design/item/mecha/hardpoint_clamp @@ -757,7 +757,7 @@ desc = "Exosuit-held nuclear reactor. Converts uranium and everyone's health to energy." id = "mech_generator_nuclear" req_tech = list(TECH_POWER= 3, TECH_ENGINEERING = 3, TECH_MATERIAL = 3) - materials = list(DEFAULT_WALL_MATERIAL = 7500, "silver" = 375, "glass" = 750) + materials = list(MAT_STEEL = 7500, MAT_SILVER = 375, MAT_GLASS = 750) build_path = /obj/item/mecha_parts/mecha_equipment/generator/nuclear /datum/design/item/mecha/speedboost_ripley @@ -765,7 +765,7 @@ desc = "System enhancements and overdrives to make a mech's legs move faster." id = "mech_speedboost_ripley" req_tech = list( TECH_POWER = 5, TECH_MATERIAL = 4, TECH_ENGINEERING = 4) - materials = list(DEFAULT_WALL_MATERIAL = 10000, "silver" = 1000, "gold" = 1000) + materials = list(MAT_STEEL = 10000, MAT_SILVER = 1000, MAT_GOLD = 1000) build_path = /obj/item/mecha_parts/mecha_equipment/speedboost /datum/design/item/synthetic_flash @@ -773,7 +773,7 @@ id = "sflash" req_tech = list(TECH_MAGNET = 3, TECH_COMBAT = 2) build_type = MECHFAB - materials = list(DEFAULT_WALL_MATERIAL = 562, "glass" = 562) + materials = list(MAT_STEEL = 562, MAT_GLASS = 562) build_path = /obj/item/device/flash/synthetic category = list("Misc") @@ -791,7 +791,7 @@ desc = "A space-bike's un-assembled frame." id = "vehicle_chassis_spacebike" req_tech = list(TECH_MATERIAL = 5, TECH_ENGINEERING = 6, TECH_BLUESPACE = 3, TECH_PHORON = 3) - materials = list(DEFAULT_WALL_MATERIAL = 12000, "silver" = 3000, "phoron" = 3000, "osmium" = 1000) + materials = list(MAT_STEEL = 12000, MAT_SILVER = 3000, MAT_PHORON = 3000, MAT_OSMIUM = 1000) build_path = /obj/item/weapon/vehicle_assembly/spacebike /datum/design/item/mechfab/vehicle/quadbike_chassis @@ -799,7 +799,7 @@ desc = "A space-bike's un-assembled frame." id = "vehicle_chassis_quadbike" req_tech = list(TECH_MATERIAL = 5, TECH_ENGINEERING = 6, TECH_MAGNET = 3, TECH_POWER = 2) - materials = list(DEFAULT_WALL_MATERIAL = 15000, "silver" = 3000, "plastic" = 3000, "osmium" = 1000) + materials = list(MAT_STEEL = 15000, MAT_SILVER = 3000, MAT_PLASTIC = 3000, MAT_OSMIUM = 1000) build_path = /obj/item/weapon/vehicle_assembly/quadbike /* @@ -1054,7 +1054,7 @@ build_path = /obj/item/device/uav time = 20 req_tech = list(TECH_MATERIAL = 6, TECH_ENGINEERING = 5, TECH_PHORON = 3, TECH_MAGNET = 4, TECH_POWER = 6) - materials = list(DEFAULT_WALL_MATERIAL = 10000, "glass" = 6000, "silver" = 4000) + materials = list(MAT_STEEL = 10000, MAT_GLASS = 6000, MAT_SILVER = 4000) // Exosuit Internals @@ -1068,7 +1068,7 @@ category = list("Exosuit Internals") id = "exo_int_armor_standard" req_tech = list(TECH_MATERIAL = 2, TECH_ENGINEERING = 2) - materials = list(DEFAULT_WALL_MATERIAL = 10000) + materials = list(MAT_STEEL = 10000) build_path = /obj/item/mecha_parts/component/armor /datum/design/item/mechfab/exointernal/light_armor @@ -1076,7 +1076,7 @@ category = list("Exosuit Internals") id = "exo_int_armor_lightweight" req_tech = list(TECH_MATERIAL = 2, TECH_ENGINEERING = 3) - materials = list(DEFAULT_WALL_MATERIAL = 5000, MAT_PLASTIC = 3000) + materials = list(MAT_STEEL = 5000, MAT_PLASTIC = 3000) build_path = /obj/item/mecha_parts/component/armor/lightweight /datum/design/item/mechfab/exointernal/reinf_armor @@ -1084,7 +1084,7 @@ category = list("Exosuit Internals") id = "exo_int_armor_reinforced" req_tech = list(TECH_MATERIAL = 4, TECH_ENGINEERING = 4) - materials = list(DEFAULT_WALL_MATERIAL = 20000, MAT_PLASTEEL = 10000) + materials = list(MAT_STEEL = 20000, MAT_PLASTEEL = 10000) build_path = /obj/item/mecha_parts/component/armor/reinforced /datum/design/item/mechfab/exointernal/mining_armor @@ -1092,7 +1092,7 @@ category = list("Exosuit Internals") id = "exo_int_armor_blast" req_tech = list(TECH_MATERIAL = 4, TECH_ENGINEERING = 4) - materials = list(DEFAULT_WALL_MATERIAL = 20000, MAT_PLASTEEL = 10000) + materials = list(MAT_STEEL = 20000, MAT_PLASTEEL = 10000) build_path = /obj/item/mecha_parts/component/armor/mining /datum/design/item/mechfab/exointernal/gygax_armor @@ -1100,7 +1100,7 @@ category = list("Exosuit Internals") id = "exo_int_armor_gygax" req_tech = list(TECH_MATERIAL = 5, TECH_ENGINEERING = 4, TECH_COMBAT = 2) - materials = list(DEFAULT_WALL_MATERIAL = 40000, MAT_DIAMOND = 8000) + materials = list(MAT_STEEL = 40000, MAT_DIAMOND = 8000) build_path = /obj/item/mecha_parts/component/armor/marshal /datum/design/item/mechfab/exointernal/darkgygax_armor @@ -1115,7 +1115,7 @@ name = "Armor Plate (Military)" id = "exo_int_armor_durand" req_tech = list(TECH_MATERIAL = 5, TECH_ENGINEERING = 4, TECH_COMBAT = 2) - materials = list(DEFAULT_WALL_MATERIAL = 40000, MAT_PLASTEEL = 9525, "uranium" = 8000) + materials = list(MAT_STEEL = 40000, MAT_PLASTEEL = 9525, MAT_URANIUM = 8000) build_path = /obj/item/mecha_parts/component/armor/military /datum/design/item/mechfab/exointernal/marauder_armour @@ -1137,7 +1137,7 @@ category = list("Exosuit Internals") id = "exo_int_hull_standard" req_tech = list(TECH_MATERIAL = 2, TECH_ENGINEERING = 2) - materials = list(DEFAULT_WALL_MATERIAL = 10000) + materials = list(MAT_STEEL = 10000) build_path = /obj/item/mecha_parts/component/hull /datum/design/item/mechfab/exointernal/durable_hull @@ -1145,7 +1145,7 @@ category = list("Exosuit Internals") id = "exo_int_hull_durable" req_tech = list(TECH_MATERIAL = 2, TECH_ENGINEERING = 2) - materials = list(DEFAULT_WALL_MATERIAL = 8000, MAT_PLASTEEL = 5000) + materials = list(MAT_STEEL = 8000, MAT_PLASTEEL = 5000) build_path = /obj/item/mecha_parts/component/hull/durable /datum/design/item/mechfab/exointernal/light_hull @@ -1153,7 +1153,7 @@ category = list("Exosuit Internals") id = "exo_int_hull_light" req_tech = list(TECH_MATERIAL = 3, TECH_ENGINEERING = 4) - materials = list(DEFAULT_WALL_MATERIAL = 5000, MAT_PLASTIC = 3000) + materials = list(MAT_STEEL = 5000, MAT_PLASTIC = 3000) build_path = /obj/item/mecha_parts/component/hull/lightweight /datum/design/item/mechfab/exointernal/stan_gas @@ -1161,7 +1161,7 @@ category = list("Exosuit Internals") id = "exo_int_lifesup_standard" req_tech = list(TECH_MATERIAL = 2, TECH_ENGINEERING = 2) - materials = list(DEFAULT_WALL_MATERIAL = 10000) + materials = list(MAT_STEEL = 10000) build_path = /obj/item/mecha_parts/component/gas /datum/design/item/mechfab/exointernal/reinf_gas @@ -1169,7 +1169,7 @@ category = list("Exosuit Internals") id = "exo_int_lifesup_reinforced" req_tech = list(TECH_MATERIAL = 4, TECH_ENGINEERING = 4) - materials = list(DEFAULT_WALL_MATERIAL = 8000, MAT_PLASTEEL = 8000, MAT_GRAPHITE = 1000) + materials = list(MAT_STEEL = 8000, MAT_PLASTEEL = 8000, MAT_GRAPHITE = 1000) build_path = /obj/item/mecha_parts/component/gas/reinforced /datum/design/item/mechfab/exointernal/stan_electric @@ -1177,7 +1177,7 @@ category = list("Exosuit Internals") id = "exo_int_electric_standard" req_tech = list(TECH_POWER = 2, TECH_ENGINEERING = 2) - materials = list(DEFAULT_WALL_MATERIAL = 5000, MAT_PLASTIC = 1000) + materials = list(MAT_STEEL = 5000, MAT_PLASTIC = 1000) build_path = /obj/item/mecha_parts/component/electrical /datum/design/item/mechfab/exointernal/efficient_electric @@ -1185,7 +1185,7 @@ category = list("Exosuit Internals") id = "exo_int_electric_efficient" req_tech = list(TECH_POWER = 4, TECH_ENGINEERING = 4, TECH_DATA = 2) - materials = list(DEFAULT_WALL_MATERIAL = 5000, MAT_PLASTIC = 3000, MAT_SILVER = 3000) + materials = list(MAT_STEEL = 5000, MAT_PLASTIC = 3000, MAT_SILVER = 3000) build_path = /obj/item/mecha_parts/component/electrical/high_current /datum/design/item/mechfab/exointernal/stan_actuator @@ -1193,7 +1193,7 @@ category = list("Exosuit Internals") id = "exo_int_actuator_standard" req_tech = list(TECH_MATERIAL = 2, TECH_ENGINEERING = 2) - materials = list(DEFAULT_WALL_MATERIAL = 10000) + materials = list(MAT_STEEL = 10000) build_path = /obj/item/mecha_parts/component/actuator /datum/design/item/mechfab/exointernal/hispeed_actuator diff --git a/code/modules/research/mechfab_designs_vr.dm b/code/modules/research/mechfab_designs_vr.dm index 099d2a2374..b8a796b909 100644 --- a/code/modules/research/mechfab_designs_vr.dm +++ b/code/modules/research/mechfab_designs_vr.dm @@ -11,5 +11,5 @@ desc = "A suit mounted size gun. Features interface-based target size adjustment for hands-free size-altering shenanigans." id = "rig_gun_sizegun" req_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 3, TECH_POWER = 2) - materials = list(DEFAULT_WALL_MATERIAL = 3000, MAT_GLASS = 2000, MAT_URANIUM = 2000) + materials = list(MAT_STEEL = 3000, MAT_GLASS = 2000, MAT_URANIUM = 2000) build_path = /obj/item/rig_module/mounted/sizegun \ No newline at end of file diff --git a/code/modules/research/prosfab_designs.dm b/code/modules/research/prosfab_designs.dm index 5fc685bf1d..93544b02a7 100644 --- a/code/modules/research/prosfab_designs.dm +++ b/code/modules/research/prosfab_designs.dm @@ -92,7 +92,7 @@ //////////////////// Prosthetics //////////////////// /datum/design/item/prosfab/pros/torso time = 35 - materials = list(DEFAULT_WALL_MATERIAL = 30000, "glass" = 7500) + materials = list(MAT_STEEL = 30000, MAT_GLASS = 7500) // req_tech = list(TECH_ENGINEERING = 2, TECH_MATERIAL = 3, TECH_DATA = 3) //Saving the values just in case var/gender = MALE @@ -115,7 +115,7 @@ id = "pros_head" build_path = /obj/item/organ/external/head time = 30 - materials = list(DEFAULT_WALL_MATERIAL = 18750, "glass" = 3750) + materials = list(MAT_STEEL = 18750, MAT_GLASS = 3750) // req_tech = list(TECH_ENGINEERING = 2, TECH_MATERIAL = 3, TECH_DATA = 3) //Saving the values just in case /datum/design/item/prosfab/pros/l_arm @@ -123,56 +123,56 @@ id = "pros_l_arm" build_path = /obj/item/organ/external/arm time = 20 - materials = list(DEFAULT_WALL_MATERIAL = 10125) + materials = list(MAT_STEEL = 10125) /datum/design/item/prosfab/pros/l_hand name = "Prosthetic Left Hand" id = "pros_l_hand" build_path = /obj/item/organ/external/hand time = 15 - materials = list(DEFAULT_WALL_MATERIAL = 3375) + materials = list(MAT_STEEL = 3375) /datum/design/item/prosfab/pros/r_arm name = "Prosthetic Right Arm" id = "pros_r_arm" build_path = /obj/item/organ/external/arm/right time = 20 - materials = list(DEFAULT_WALL_MATERIAL = 10125) + materials = list(MAT_STEEL = 10125) /datum/design/item/prosfab/pros/r_hand name = "Prosthetic Right Hand" id = "pros_r_hand" build_path = /obj/item/organ/external/hand/right time = 15 - materials = list(DEFAULT_WALL_MATERIAL = 3375) + materials = list(MAT_STEEL = 3375) /datum/design/item/prosfab/pros/l_leg name = "Prosthetic Left Leg" id = "pros_l_leg" build_path = /obj/item/organ/external/leg time = 20 - materials = list(DEFAULT_WALL_MATERIAL = 8437) + materials = list(MAT_STEEL = 8437) /datum/design/item/prosfab/pros/l_foot name = "Prosthetic Left Foot" id = "pros_l_foot" build_path = /obj/item/organ/external/foot time = 15 - materials = list(DEFAULT_WALL_MATERIAL = 2813) + materials = list(MAT_STEEL = 2813) /datum/design/item/prosfab/pros/r_leg name = "Prosthetic Right Leg" id = "pros_r_leg" build_path = /obj/item/organ/external/leg/right time = 20 - materials = list(DEFAULT_WALL_MATERIAL = 8437) + materials = list(MAT_STEEL = 8437) /datum/design/item/prosfab/pros/r_foot name = "Prosthetic Right Foot" id = "pros_r_foot" build_path = /obj/item/organ/external/foot/right time = 15 - materials = list(DEFAULT_WALL_MATERIAL = 2813) + materials = list(MAT_STEEL = 2813) /datum/design/item/prosfab/pros/internal category = list("Prosthetics, Internal") @@ -182,7 +182,7 @@ id = "pros_cell" build_path = /obj/item/organ/internal/cell time = 15 - materials = list(DEFAULT_WALL_MATERIAL = 7500, "glass" = 3000) + materials = list(MAT_STEEL = 7500, MAT_GLASS = 3000) // req_tech = list(TECH_ENGINEERING = 2, TECH_MATERIAL = 2) /datum/design/item/prosfab/pros/internal/eyes @@ -190,7 +190,7 @@ id = "pros_eyes" build_path = /obj/item/organ/internal/eyes/robot time = 15 - materials = list(DEFAULT_WALL_MATERIAL = 5625, "glass" = 5625) + materials = list(MAT_STEEL = 5625, MAT_GLASS = 5625) // req_tech = list(TECH_ENGINEERING = 2, TECH_MATERIAL = 2) /datum/design/item/prosfab/pros/internal/hydraulic @@ -198,35 +198,35 @@ id = "pros_hydraulic" build_path = /obj/item/organ/internal/heart/machine time = 15 - materials = list(DEFAULT_WALL_MATERIAL = 7500, MAT_PLASTIC = 3000) + materials = list(MAT_STEEL = 7500, MAT_PLASTIC = 3000) /datum/design/item/prosfab/pros/internal/reagcycler name = "Reagent Cycler" id = "pros_reagcycler" build_path = /obj/item/organ/internal/stomach/machine time = 15 - materials = list(DEFAULT_WALL_MATERIAL = 7500, MAT_PLASTIC = 3000) + materials = list(MAT_STEEL = 7500, MAT_PLASTIC = 3000) /datum/design/item/prosfab/pros/internal/heatsink name = "Heatsink" id = "pros_heatsink" build_path = /obj/item/organ/internal/robotic/heatsink time = 15 - materials = list(DEFAULT_WALL_MATERIAL = 7500, MAT_PLASTIC = 3000) + materials = list(MAT_STEEL = 7500, MAT_PLASTIC = 3000) /datum/design/item/prosfab/pros/internal/diagnostic name = "Diagnostic Controller" id = "pros_diagnostic" build_path = /obj/item/organ/internal/robotic/diagnostic time = 15 - materials = list(DEFAULT_WALL_MATERIAL = 7500, MAT_PLASTIC = 3000) + materials = list(MAT_STEEL = 7500, MAT_PLASTIC = 3000) /datum/design/item/prosfab/pros/internal/heart name = "Prosthetic Heart" id = "pros_heart" build_path = /obj/item/organ/internal/heart time = 15 - materials = list(DEFAULT_WALL_MATERIAL = 5625, "glass" = 1000) + materials = list(MAT_STEEL = 5625, MAT_GLASS = 1000) // req_tech = list(TECH_ENGINEERING = 2, TECH_MATERIAL = 2) /datum/design/item/prosfab/pros/internal/lungs @@ -234,7 +234,7 @@ id = "pros_lung" build_path = /obj/item/organ/internal/lungs time = 15 - materials = list(DEFAULT_WALL_MATERIAL = 5625, "glass" = 1000) + materials = list(MAT_STEEL = 5625, MAT_GLASS = 1000) // req_tech = list(TECH_ENGINEERING = 2, TECH_MATERIAL = 2) /datum/design/item/prosfab/pros/internal/liver @@ -242,7 +242,7 @@ id = "pros_liver" build_path = /obj/item/organ/internal/liver time = 15 - materials = list(DEFAULT_WALL_MATERIAL = 5625, "glass" = 1000) + materials = list(MAT_STEEL = 5625, MAT_GLASS = 1000) // req_tech = list(TECH_ENGINEERING = 2, TECH_MATERIAL = 2) /datum/design/item/prosfab/pros/internal/kidneys @@ -250,7 +250,7 @@ id = "pros_kidney" build_path = /obj/item/organ/internal/kidneys time = 15 - materials = list(DEFAULT_WALL_MATERIAL = 5625, "glass" = 1000) + materials = list(MAT_STEEL = 5625, MAT_GLASS = 1000) // req_tech = list(TECH_ENGINEERING = 2, TECH_MATERIAL = 2) /datum/design/item/prosfab/pros/internal/spleen @@ -258,7 +258,7 @@ id = "pros_spleen" build_path = /obj/item/organ/internal/spleen time = 15 - materials = list(DEFAULT_WALL_MATERIAL = 3000, MAT_GLASS = 750) + materials = list(MAT_STEEL = 3000, MAT_GLASS = 750) // req_tech = list(TECH_ENGINEERING = 2, TECH_MATERIAL = 2) /datum/design/item/prosfab/pros/internal/larynx @@ -266,62 +266,62 @@ id = "pros_larynx" build_path = /obj/item/organ/internal/voicebox time = 15 - materials = list(DEFAULT_WALL_MATERIAL = 2000, MAT_GLASS = 750, MAT_PLASTIC = 500) + materials = list(MAT_STEEL = 2000, MAT_GLASS = 750, MAT_PLASTIC = 500) //////////////////// Cyborg Parts //////////////////// /datum/design/item/prosfab/cyborg category = list("Cyborg Parts") time = 20 - materials = list(DEFAULT_WALL_MATERIAL = 3750) + materials = list(MAT_STEEL = 3750) /datum/design/item/prosfab/cyborg/exoskeleton name = "Robot Exoskeleton" id = "robot_exoskeleton" build_path = /obj/item/robot_parts/robot_suit time = 50 - materials = list(DEFAULT_WALL_MATERIAL = 37500) + materials = list(MAT_STEEL = 37500) /datum/design/item/prosfab/cyborg/torso name = "Robot Torso" id = "robot_torso" build_path = /obj/item/robot_parts/chest time = 35 - materials = list(DEFAULT_WALL_MATERIAL = 30000) + materials = list(MAT_STEEL = 30000) /datum/design/item/prosfab/cyborg/head name = "Robot Head" id = "robot_head" build_path = /obj/item/robot_parts/head time = 35 - materials = list(DEFAULT_WALL_MATERIAL = 18750) + materials = list(MAT_STEEL = 18750) /datum/design/item/prosfab/cyborg/l_arm name = "Robot Left Arm" id = "robot_l_arm" build_path = /obj/item/robot_parts/l_arm time = 20 - materials = list(DEFAULT_WALL_MATERIAL = 13500) + materials = list(MAT_STEEL = 13500) /datum/design/item/prosfab/cyborg/r_arm name = "Robot Right Arm" id = "robot_r_arm" build_path = /obj/item/robot_parts/r_arm time = 20 - materials = list(DEFAULT_WALL_MATERIAL = 13500) + materials = list(MAT_STEEL = 13500) /datum/design/item/prosfab/cyborg/l_leg name = "Robot Left Leg" id = "robot_l_leg" build_path = /obj/item/robot_parts/l_leg time = 20 - materials = list(DEFAULT_WALL_MATERIAL = 11250) + materials = list(MAT_STEEL = 11250) /datum/design/item/prosfab/cyborg/r_leg name = "Robot Right Leg" id = "robot_r_leg" build_path = /obj/item/robot_parts/r_leg time = 20 - materials = list(DEFAULT_WALL_MATERIAL = 11250) + materials = list(MAT_STEEL = 11250) //////////////////// Cyborg Internals //////////////////// @@ -329,7 +329,7 @@ category = list("Cyborg Internals") build_type = PROSFAB time = 12 - materials = list(DEFAULT_WALL_MATERIAL = 7500) + materials = list(MAT_STEEL = 7500) /datum/design/item/prosfab/cyborg/component/binary_communication_device name = "Binary Communication Device" @@ -376,7 +376,7 @@ category = list("Cyborg Modules") build_type = PROSFAB time = 12 - materials = list(DEFAULT_WALL_MATERIAL = 7500) + materials = list(MAT_STEEL = 7500) /datum/design/item/prosfab/robot_upgrade/rename name = "Rename Module" @@ -394,35 +394,35 @@ name = "Emergency Restart Module" desc = "Used to force a restart of a disabled-but-repaired robot, bringing it back online." id = "borg_restart_module" - materials = list(DEFAULT_WALL_MATERIAL = 45000, "glass" = 3750) + materials = list(MAT_STEEL = 45000, MAT_GLASS = 3750) build_path = /obj/item/borg/upgrade/restart /datum/design/item/prosfab/robot_upgrade/vtec name = "VTEC Module" desc = "Used to kick in a robot's VTEC systems, increasing their speed." id = "borg_vtec_module" - materials = list(DEFAULT_WALL_MATERIAL = 60000, "glass" = 4500, "gold" = 3750) + materials = list(MAT_STEEL = 60000, MAT_GLASS = 4500, MAT_GOLD = 3750) build_path = /obj/item/borg/upgrade/vtec /datum/design/item/prosfab/robot_upgrade/tasercooler name = "Rapid Taser Cooling Module" desc = "Used to cool a mounted taser, increasing the potential current in it and thus its recharge rate." id = "borg_taser_module" - materials = list(DEFAULT_WALL_MATERIAL = 60000, "glass" = 4500, "gold" = 1500, "diamond" = 375) + materials = list(MAT_STEEL = 60000, MAT_GLASS = 4500, MAT_GOLD = 1500, MAT_DIAMOND = 375) build_path = /obj/item/borg/upgrade/tasercooler /datum/design/item/prosfab/robot_upgrade/jetpack name = "Jetpack Module" desc = "A carbon dioxide jetpack suitable for low-gravity mining operations." id = "borg_jetpack_module" - materials = list(DEFAULT_WALL_MATERIAL = 7500, "phoron" = 11250, "uranium" = 15000) + materials = list(MAT_STEEL = 7500, MAT_PHORON = 11250, MAT_URANIUM = 15000) build_path = /obj/item/borg/upgrade/jetpack /datum/design/item/prosfab/robot_upgrade/advhealth name = "Advanced Health Analyzer Module" desc = "An advanced health analyzer suitable for diagnosing more serious injuries." id = "borg_advhealth_module" - materials = list(DEFAULT_WALL_MATERIAL = 10000, "glass" = 6500, "diamond" = 350) + materials = list(MAT_STEEL = 10000, MAT_GLASS = 6500, MAT_DIAMOND = 350) build_path = /obj/item/borg/upgrade/advhealth /datum/design/item/prosfab/robot_upgrade/syndicate @@ -430,7 +430,7 @@ desc = "Allows for the construction of lethal upgrades for cyborgs." id = "borg_syndicate_module" req_tech = list(TECH_COMBAT = 4, TECH_ILLEGAL = 3) - materials = list(DEFAULT_WALL_MATERIAL = 7500, "glass" = 11250, "diamond" = 7500) + materials = list(MAT_STEEL = 7500, MAT_GLASS = 11250, MAT_DIAMOND = 7500) build_path = /obj/item/borg/upgrade/syndicate /datum/design/item/prosfab/robot_upgrade/language @@ -438,7 +438,7 @@ desc = "Used to let cyborgs other than clerical or service speak a variety of languages." id = "borg_language_module" req_tech = list(TECH_DATA = 6, TECH_MATERIAL = 6) - materials = list(DEFAULT_WALL_MATERIAL = 25000, "glass" = 3000, "gold" = 350) + materials = list(MAT_STEEL = 25000, MAT_GLASS = 3000, MAT_GOLD = 350) build_path = /obj/item/borg/upgrade/language // Synthmorph Bags. @@ -447,42 +447,42 @@ name = "Synthmorph Storage Bag" desc = "Used to store or slowly defragment an FBP." id = "misc_synth_bag" - materials = list(DEFAULT_WALL_MATERIAL = 250, "glass" = 250, "plastic" = 2000) + materials = list(MAT_STEEL = 250, MAT_GLASS = 250, MAT_PLASTIC = 2000) build_path = /obj/item/bodybag/cryobag/robobag /datum/design/item/prosfab/badge_nt name = "NanoTrasen Tag" desc = "Used to identify an empty NanoTrasen FBP." id = "misc_synth_bag_tag_nt" - materials = list(DEFAULT_WALL_MATERIAL = 1000, "glass" = 500, "plastic" = 1000) + materials = list(MAT_STEEL = 1000, MAT_GLASS = 500, MAT_PLASTIC = 1000) build_path = /obj/item/clothing/accessory/badge/corporate_tag /datum/design/item/prosfab/badge_morph name = "Morpheus Tag" desc = "Used to identify an empty Morpheus FBP." id = "misc_synth_bag_tag_morph" - materials = list(DEFAULT_WALL_MATERIAL = 1000, "glass" = 500, "plastic" = 1000) + materials = list(MAT_STEEL = 1000, MAT_GLASS = 500, MAT_PLASTIC = 1000) build_path = /obj/item/clothing/accessory/badge/corporate_tag/morpheus /datum/design/item/prosfab/badge_wardtaka name = "Ward-Takahashi Tag" desc = "Used to identify an empty Ward-Takahashi FBP." id = "misc_synth_bag_tag_wardtaka" - materials = list(DEFAULT_WALL_MATERIAL = 1000, "glass" = 500, "plastic" = 1000) + materials = list(MAT_STEEL = 1000, MAT_GLASS = 500, MAT_PLASTIC = 1000) build_path = /obj/item/clothing/accessory/badge/corporate_tag/wardtaka /datum/design/item/prosfab/badge_zenghu name = "Zeng-Hu Tag" desc = "Used to identify an empty Zeng-Hu FBP." id = "misc_synth_bag_tag_zenghu" - materials = list(DEFAULT_WALL_MATERIAL = 1000, "glass" = 500, "plastic" = 1000) + materials = list(MAT_STEEL = 1000, MAT_GLASS = 500, MAT_PLASTIC = 1000) build_path = /obj/item/clothing/accessory/badge/corporate_tag/zenghu /datum/design/item/prosfab/badge_gilthari name = "Gilthari Tag" desc = "Used to identify an empty Gilthari FBP." id = "misc_synth_bag_tag_gilthari" - materials = list(DEFAULT_WALL_MATERIAL = 1000, "glass" = 500, "gold" = 1000) + materials = list(MAT_STEEL = 1000, MAT_GLASS = 500, MAT_GOLD = 1000) build_path = /obj/item/clothing/accessory/badge/corporate_tag/gilthari req_tech = list(TECH_MATERIAL = 4, TECH_ILLEGAL = 2, TECH_PHORON = 2) @@ -490,7 +490,7 @@ name = "Vey-Medical Tag" desc = "Used to identify an empty Vey-Medical FBP." id = "misc_synth_bag_tag_veymed" - materials = list(DEFAULT_WALL_MATERIAL = 1000, "glass" = 500, "plastic" = 1000) + materials = list(MAT_STEEL = 1000, MAT_GLASS = 500, MAT_PLASTIC = 1000) build_path = /obj/item/clothing/accessory/badge/corporate_tag/veymed req_tech = list(TECH_MATERIAL = 3, TECH_ILLEGAL = 1, TECH_BIO = 4) @@ -498,26 +498,26 @@ name = "Hephaestus Tag" desc = "Used to identify an empty Hephaestus FBP." id = "misc_synth_bag_tag_heph" - materials = list(DEFAULT_WALL_MATERIAL = 1000, "glass" = 500, "plastic" = 1000) + materials = list(MAT_STEEL = 1000, MAT_GLASS = 500, MAT_PLASTIC = 1000) build_path = /obj/item/clothing/accessory/badge/corporate_tag/hephaestus /datum/design/item/prosfab/badge_grayson name = "Grayson Tag" desc = "Used to identify an empty Grayson FBP." id = "misc_synth_bag_tag_grayson" - materials = list(DEFAULT_WALL_MATERIAL = 1000, "glass" = 500, "plastic" = 1000) + materials = list(MAT_STEEL = 1000, MAT_GLASS = 500, MAT_PLASTIC = 1000) build_path = /obj/item/clothing/accessory/badge/corporate_tag/grayson /datum/design/item/prosfab/badge_xion name = "Xion Tag" desc = "Used to identify an empty Xion FBP." id = "misc_synth_bag_tag_xion" - materials = list(DEFAULT_WALL_MATERIAL = 1000, "glass" = 500, "plastic" = 1000) + materials = list(MAT_STEEL = 1000, MAT_GLASS = 500, MAT_PLASTIC = 1000) build_path = /obj/item/clothing/accessory/badge/corporate_tag/xion /datum/design/item/prosfab/badge_bishop name = "Bishop Tag" desc = "Used to identify an empty Bishop FBP." id = "misc_synth_bag_tag_bishop" - materials = list(DEFAULT_WALL_MATERIAL = 500, "glass" = 2000, "plastic" = 500) + materials = list(MAT_STEEL = 500, MAT_GLASS = 2000, MAT_PLASTIC = 500) build_path = /obj/item/clothing/accessory/badge/corporate_tag/bishop diff --git a/code/modules/research/prosfab_designs_vr.dm b/code/modules/research/prosfab_designs_vr.dm index b425b3964a..67a4abe412 100644 --- a/code/modules/research/prosfab_designs_vr.dm +++ b/code/modules/research/prosfab_designs_vr.dm @@ -4,12 +4,12 @@ name = "Size Alteration Module" id = "borg_sizeshift_module" req_tech = list(TECH_BLUESPACE = 3, TECH_MATERIAL = 3, TECH_POWER = 2) - materials = list(DEFAULT_WALL_MATERIAL = 4000, "glass" = 4000) + materials = list(MAT_STEEL = 4000, MAT_GLASS = 4000) build_path = /obj/item/borg/upgrade/sizeshift /datum/design/item/prosfab/robot_upgrade/bellysizeupgrade name = "Robohound Capacity Expansion Module" id = "borg_hound_capacity_module" req_tech = list(TECH_MATERIAL = 3, TECH_ENGINEERING = 2) - materials = list(DEFAULT_WALL_MATERIAL = 4000, "glass" = 4000) + materials = list(MAT_STEEL = 4000, MAT_GLASS = 4000) build_path = /obj/item/borg/upgrade/bellysizeupgrade \ No newline at end of file diff --git a/code/modules/research/protolathe.dm b/code/modules/research/protolathe.dm index 35e804c30e..11c44f3e15 100644 --- a/code/modules/research/protolathe.dm +++ b/code/modules/research/protolathe.dm @@ -17,18 +17,18 @@ //VOREStation Edit - Broke this into lines materials = list( - DEFAULT_WALL_MATERIAL = 0, - "glass" = 0, + MAT_STEEL = 0, + MAT_GLASS = 0, MAT_PLASTEEL = 0, - "plastic" = 0, + MAT_PLASTIC = 0, MAT_GRAPHITE = 0, - "gold" = 0, - "silver" = 0, - "osmium" = 0, + MAT_GOLD = 0, + MAT_SILVER = 0, + MAT_OSMIUM = 0, MAT_LEAD = 0, - "phoron" = 0, - "uranium" = 0, - "diamond" = 0, + MAT_PHORON = 0, + MAT_URANIUM = 0, + MAT_DIAMOND = 0, MAT_DURASTEEL = 0, MAT_VERDANTIUM = 0, MAT_MORPHIUM = 0, diff --git a/code/modules/research/research.dm b/code/modules/research/research.dm index b3f5013ffd..e8ad090e10 100644 --- a/code/modules/research/research.dm +++ b/code/modules/research/research.dm @@ -207,7 +207,7 @@ GLOBAL_LIST_INIT(design_datums, list()) item_state = "card-id" randpixel = 5 w_class = ITEMSIZE_SMALL - matter = list(DEFAULT_WALL_MATERIAL = 30, "glass" = 10) + matter = list(MAT_STEEL = 30, MAT_GLASS = 10) var/datum/tech/stored /obj/item/weapon/disk/tech_disk/New() @@ -221,7 +221,7 @@ GLOBAL_LIST_INIT(design_datums, list()) item_state = "card-id" randpixel = 5 w_class = ITEMSIZE_SMALL - matter = list(DEFAULT_WALL_MATERIAL = 30, "glass" = 10) + matter = list(MAT_STEEL = 30, MAT_GLASS = 10) var/datum/design/blueprint /obj/item/weapon/disk/design_disk/New() diff --git a/code/modules/research/teleport_vr.dm b/code/modules/research/teleport_vr.dm index 5437e96bdd..30270d4927 100644 --- a/code/modules/research/teleport_vr.dm +++ b/code/modules/research/teleport_vr.dm @@ -10,7 +10,7 @@ name = "Personal translocator" id = "translocator" req_tech = list(TECH_MAGNET = 5, TECH_BLUESPACE = 5, TECH_ILLEGAL = 6) - materials = list(DEFAULT_WALL_MATERIAL = 4000, "glass" = 2000, "uranium" = 4000, "diamond" = 2000) + materials = list(MAT_STEEL = 4000, MAT_GLASS = 2000, MAT_URANIUM = 4000, MAT_DIAMOND = 2000) build_path = /obj/item/device/perfect_tele sort_string = "PAAAA" @@ -18,6 +18,6 @@ name = "Artificial Bluespace Crystal" id = "bluespace_crystal" req_tech = list(TECH_BLUESPACE = 3, TECH_PHORON = 4) - materials = list("diamond" = 1500, "phoron" = 1500) + materials = list(MAT_DIAMOND = 1500, MAT_PHORON = 1500) build_path = /obj/item/weapon/ore/bluespace_crystal/artificial sort_string = "PAAAB" \ No newline at end of file diff --git a/code/modules/resleeving/computers.dm b/code/modules/resleeving/computers.dm index 5b85417c40..9f8d340cb6 100644 --- a/code/modules/resleeving/computers.dm +++ b/code/modules/resleeving/computers.dm @@ -162,8 +162,8 @@ "spod" = "\ref[spod]", "name" = sanitize(capitalize(spod.name)), "busy" = spod.busy, - "steel" = spod.stored_material[DEFAULT_WALL_MATERIAL], - "glass" = spod.stored_material["glass"] + "steel" = spod.stored_material[MAT_STEEL], + "glass" = spod.stored_material[MAT_GLASS] ))) data["spods"] = temppods.Copy() temppods.Cut() @@ -289,8 +289,8 @@ return //Not enough steel or glass - else if(spod.stored_material[DEFAULT_WALL_MATERIAL] < spod.body_cost) - set_temp("Error: Not enough [DEFAULT_WALL_MATERIAL] in SynthFab.", "danger") + else if(spod.stored_material[MAT_STEEL] < spod.body_cost) + set_temp("Error: Not enough [MAT_STEEL] in SynthFab.", "danger") return else if(spod.stored_material["glass"] < spod.body_cost) set_temp("Error: Not enough glass in SynthFab.", "danger") diff --git a/code/modules/resleeving/implant.dm b/code/modules/resleeving/implant.dm index 86dfa603aa..fa0a1e40d6 100644 --- a/code/modules/resleeving/implant.dm +++ b/code/modules/resleeving/implant.dm @@ -62,7 +62,7 @@ throw_speed = 1 throw_range = 5 w_class = ITEMSIZE_SMALL - matter = list(DEFAULT_WALL_MATERIAL = 2000, "glass" = 2000) + matter = list(MAT_STEEL = 2000, MAT_GLASS = 2000) var/list/obj/item/weapon/implant/backup/imps = list() var/max_implants = 4 //Iconstates need to exist due to the update proc! diff --git a/code/modules/resleeving/machines.dm b/code/modules/resleeving/machines.dm index d0e39c920d..ade23c1dfc 100644 --- a/code/modules/resleeving/machines.dm +++ b/code/modules/resleeving/machines.dm @@ -200,7 +200,7 @@ density = 1 anchored = 1 - var/list/stored_material = list(DEFAULT_WALL_MATERIAL = 30000, "glass" = 30000) + var/list/stored_material = list(MAT_STEEL = 30000, MAT_GLASS = 30000) var/connected //What console it's done up with var/busy = 0 //Busy cloning var/body_cost = 15000 //Cost of a cloned body (metal and glass ea.) @@ -261,7 +261,7 @@ if(!istype(BR) || busy) return 0 - if(stored_material[DEFAULT_WALL_MATERIAL] < body_cost || stored_material["glass"] < body_cost) + if(stored_material[MAT_STEEL] < body_cost || stored_material["glass"] < body_cost) return 0 current_project = BR @@ -356,7 +356,7 @@ H.loc = get_turf(src) //Machine specific stuff at the end - stored_material[DEFAULT_WALL_MATERIAL] -= body_cost + stored_material[MAT_STEEL] -= body_cost stored_material["glass"] -= body_cost busy = 0 update_icon() diff --git a/code/modules/resleeving/sleevecard.dm b/code/modules/resleeving/sleevecard.dm index 60ee622e24..ab59d8baed 100644 --- a/code/modules/resleeving/sleevecard.dm +++ b/code/modules/resleeving/sleevecard.dm @@ -23,7 +23,7 @@ var/mob/living/silicon/infomorph/infomorph var/current_emotion = 1 - matter = list(DEFAULT_WALL_MATERIAL = 4000, "glass" = 4000) + matter = list(MAT_STEEL = 4000, MAT_GLASS = 4000) /obj/item/device/sleevecard/relaymove(var/mob/user, var/direction) if(user.stat || user.stunned) diff --git a/code/modules/tables/presets.dm b/code/modules/tables/presets.dm index 93b9de593b..e5ebae70fd 100644 --- a/code/modules/tables/presets.dm +++ b/code/modules/tables/presets.dm @@ -12,7 +12,7 @@ color = "#666666" /obj/structure/table/steel/New() - material = get_material_by_name(DEFAULT_WALL_MATERIAL) + material = get_material_by_name(MAT_STEEL) ..() /obj/structure/table/marble @@ -29,7 +29,7 @@ /obj/structure/table/reinforced/New() material = get_material_by_name(DEFAULT_TABLE_MATERIAL) - reinforced = get_material_by_name(DEFAULT_WALL_MATERIAL) + reinforced = get_material_by_name(MAT_STEEL) ..() /obj/structure/table/steel_reinforced @@ -37,8 +37,8 @@ color = "#666666" /obj/structure/table/steel_reinforced/New() - material = get_material_by_name(DEFAULT_WALL_MATERIAL) - reinforced = get_material_by_name(DEFAULT_WALL_MATERIAL) + material = get_material_by_name(MAT_STEEL) + reinforced = get_material_by_name(MAT_STEEL) ..() /obj/structure/table/wooden_reinforced @@ -47,7 +47,7 @@ /obj/structure/table/wooden_reinforced/New() material = get_material_by_name("wood") - reinforced = get_material_by_name(DEFAULT_WALL_MATERIAL) + reinforced = get_material_by_name(MAT_STEEL) ..() /obj/structure/table/woodentable @@ -72,7 +72,7 @@ /obj/structure/table/sifwooden_reinforced/New() material = get_material_by_name("alien wood") - reinforced = get_material_by_name(DEFAULT_WALL_MATERIAL) + reinforced = get_material_by_name(MAT_STEEL) ..() /obj/structure/table/gamblingtable @@ -147,7 +147,7 @@ color = "#666666" /obj/structure/table/bench/steel/New() - material = get_material_by_name(DEFAULT_WALL_MATERIAL) + material = get_material_by_name(MAT_STEEL) ..() @@ -165,7 +165,7 @@ /obj/structure/table/bench/reinforced/New() material = get_material_by_name(DEFAULT_TABLE_MATERIAL) - reinforced = get_material_by_name(DEFAULT_WALL_MATERIAL) + reinforced = get_material_by_name(MAT_STEEL) ..() /obj/structure/table/bench/steel_reinforced @@ -173,8 +173,8 @@ color = "#666666" /obj/structure/table/bench/steel_reinforced/New() - material = get_material_by_name(DEFAULT_WALL_MATERIAL) - reinforced = get_material_by_name(DEFAULT_WALL_MATERIAL) + material = get_material_by_name(MAT_STEEL) + reinforced = get_material_by_name(MAT_STEEL) ..() /obj/structure/table/bench/wooden_reinforced @@ -183,7 +183,7 @@ /obj/structure/table/bench/wooden_reinforced/New() material = get_material_by_name("wood") - reinforced = get_material_by_name(DEFAULT_WALL_MATERIAL) + reinforced = get_material_by_name(MAT_STEEL) ..() */ /obj/structure/table/bench/wooden @@ -210,7 +210,7 @@ icon_state = "padded_preview" /obj/structure/table/bench/padded/New() - material = get_material_by_name(DEFAULT_WALL_MATERIAL) + material = get_material_by_name(MAT_STEEL) carpeted = 1 ..() diff --git a/code/modules/tables/rack_vr.dm b/code/modules/tables/rack_vr.dm index 23acc40a25..137dc32fd0 100644 --- a/code/modules/tables/rack_vr.dm +++ b/code/modules/tables/rack_vr.dm @@ -2,7 +2,7 @@ color = "#666666" /obj/structure/table/rack/steel/New() - material = get_material_by_name(DEFAULT_WALL_MATERIAL) + material = get_material_by_name(MAT_STEEL) ..() /obj/structure/table/rack/shelf @@ -15,5 +15,5 @@ color = "#666666" /obj/structure/table/rack/shelf/steel/New() - material = get_material_by_name(DEFAULT_WALL_MATERIAL) + material = get_material_by_name(MAT_STEEL) ..() diff --git a/code/modules/tables/tables.dm b/code/modules/tables/tables.dm index 8f6a2e5278..7111cd52d7 100644 --- a/code/modules/tables/tables.dm +++ b/code/modules/tables/tables.dm @@ -322,7 +322,7 @@ var/list/table_icon_cache = list() if(full_return || prob(20)) new /obj/item/stack/material/steel(src.loc) else - var/datum/material/M = get_material_by_name(DEFAULT_WALL_MATERIAL) + var/datum/material/M = get_material_by_name(MAT_STEEL) S = M.place_shard(loc) if(S) shards += S qdel(src) diff --git a/code/modules/vore/eating/living_vr.dm b/code/modules/vore/eating/living_vr.dm index bc05a72dfc..fe1e6ca0cf 100644 --- a/code/modules/vore/eating/living_vr.dm +++ b/code/modules/vore/eating/living_vr.dm @@ -765,17 +765,17 @@ //List in list, define by material property of ore in code/mining/modules/ore.dm. //50 nutrition = 5 ore to get 250 nutrition. 250 is the beginning of the 'well fed' range. var/list/rock_munch = list( - "uranium" = list("nutrition" = 30, "remark" = "Crunching [O] in your jaws almost makes you wince, a horribly tangy and sour flavour radiating through your mouth. It goes down all the same.", "WTF" = FALSE), + MAT_URANIUM = list("nutrition" = 30, "remark" = "Crunching [O] in your jaws almost makes you wince, a horribly tangy and sour flavour radiating through your mouth. It goes down all the same.", "WTF" = FALSE), "hematite" = list("nutrition" = 15, "remark" = "The familiar texture and taste of [O] does the job but leaves little to the imagination and hardly sates your appetite.", "WTF" = FALSE), "carbon" = list("nutrition" = 15, "remark" = "Utterly bitter, crunching down on [O] only makes you long for better things. But a snack's a snack...", "WTF" = FALSE), "marble" = list("nutrition" = 40, "remark" = "A fitting dessert, the sweet and savoury [O] lingers on the palate and satisfies your hunger.", "WTF" = FALSE), "sand" = list("nutrition" = 0, "remark" = "You crunch on [O] but its texture is almost gag-inducing. Stifling a cough, you somehow manage to swallow both [O] and your regrets.", "WTF" = FALSE), - "phoron" = list("nutrition" = 30, "remark" = "Crunching [O] to dust between your jaw you find pleasant, comforting warmth filling your mouth that briefly spreads down the throat to your chest as you swallow.", "WTF" = FALSE), - "silver" = list("nutrition" = 40, "remark" = "[O] tastes quite nice indeed as you munch on it. A little tarnished, but that's just fine aging.", "WTF" = FALSE), - "gold" = list("nutrition" = 40, "remark" = "You taste supreme richness that exceeds expectations and satisfies your hunger.", "WTF" = FALSE), - "diamond" = list("nutrition" = 50, "remark" = "The heavenly taste of [O] almost brings a tear to your eye. Its glimmering gloriousness is even better on the tongue than you imagined, so you savour it fondly.", "WTF" = FALSE), + MAT_PHORON = list("nutrition" = 30, "remark" = "Crunching [O] to dust between your jaw you find pleasant, comforting warmth filling your mouth that briefly spreads down the throat to your chest as you swallow.", "WTF" = FALSE), + MAT_SILVER = list("nutrition" = 40, "remark" = "[O] tastes quite nice indeed as you munch on it. A little tarnished, but that's just fine aging.", "WTF" = FALSE), + MAT_GOLD = list("nutrition" = 40, "remark" = "You taste supreme richness that exceeds expectations and satisfies your hunger.", "WTF" = FALSE), + MAT_DIAMOND = list("nutrition" = 50, "remark" = "The heavenly taste of [O] almost brings a tear to your eye. Its glimmering gloriousness is even better on the tongue than you imagined, so you savour it fondly.", "WTF" = FALSE), "platinum" = list("nutrition" = 40, "remark" = "A bit tangy but elegantly balanced with a long faintly sour finish. Delectable.", "WTF" = FALSE), - "mhydrogen" = list("nutrition" = 30, "remark" = "Quite sweet on the tongue, you savour the light and easy to chew [O], finishing it quickly.", "WTF" = FALSE), + MAT_METALHYDROGEN = list("nutrition" = 30, "remark" = "Quite sweet on the tongue, you savour the light and easy to chew [O], finishing it quickly.", "WTF" = FALSE), "rutile" = list("nutrition" = 50, "remark" = "A little... angular, you savour the light but chewy [O], finishing it quickly.", "WTF" = FALSE), MAT_VERDANTIUM = list("nutrition" = 50, "remark" = "You taste scientific mystery and a rare delicacy. Your tastebuds tingle pleasantly as you eat [O] and the feeling warmly blossoms in your chest for a moment.", "WTF" = FALSE), MAT_LEAD = list("nutrition" = 40, "remark" = "It takes some work to break down [O] but you manage it, unlocking lasting tangy goodness in the process. Yum.", "WTF" = FALSE) @@ -791,29 +791,29 @@ else if(istype(I, /obj/item/stack/material)) //The equivalent of a cooked meal I guess. Stuff that is compressed during refinement has had nutrition bumped up by 5. var/obj/item/stack/material/O = I var/list/refined_taste = list( - "uranium" = list("nutrition" = 30, "remark" = "Crunching [O] in your jaws almost makes you wince, a horribly tangy and sour flavour radiating through your mouth. It goes down all the same.", "WTF" = FALSE), - "diamond" = list("nutrition" = 55, "remark" = "After significant effort to crumble the gem, you unlock heavenly flavour that almost brings a tear to your eye. Its glimmering gloriousness is even better on the tongue than you imagined, so you savour it fondly.", "WTF" = FALSE), - "gold" = list("nutrition" = 40, "remark" = "You taste supreme richness that exceeds expectations and satisfies your hunger.", "WTF" = FALSE), - "silver" = list("nutrition" = 40, "remark" = "[O] tastes quite nice indeed as you munch on it. A little tarnished, but that's just fine aging.", "WTF" = FALSE), - "phoron" = list("nutrition" = 35, "remark" = "Crunching [O] to dust between your jaw you find pleasant, comforting warmth filling your mouth that briefly spreads down the throat to your chest as you swallow.", "WTF" = FALSE), - "sandstone" = list("nutrition" = 0, "remark" = "You crumble [O] easily in your jaws but its texture is almost gag-inducing. Stifling a cough, you somehow manage to swallow both [O] and your regrets.", "WTF" = FALSE), - "marble" = list("nutrition" = 40, "remark" = "A fitting dessert, the sweet and savoury [O] lingers on the palate and satisfies your hunger.", "WTF" = FALSE), - DEFAULT_WALL_MATERIAL = list("nutrition" = 20, "remark" = "Rending the [O] apart with ease, you briefly enjoy a classic but unremarkable taste. You need something more substantial.", "WTF" = FALSE), - "plasteel" = list("nutrition" = 40, "remark" = "The elegant taste of a fine richly-augmented alloy, chewing away on [O] yields lasting and satisfying flavour with a traditional metallic tang.", "WTF" = FALSE), - "durasteel" = list("nutrition" = 65, "remark" = "After much grinding the [O] eventually yields a sublime rush of flavours dominated by glorious diamond, further improved by the rich balance platinum and tang carbonic steel both bring to the mix: A supremely full bodied and savoury experience.", "WTF" = FALSE), + MAT_URANIUM = list("nutrition" = 30, "remark" = "Crunching [O] in your jaws almost makes you wince, a horribly tangy and sour flavour radiating through your mouth. It goes down all the same.", "WTF" = FALSE), + MAT_DIAMOND = list("nutrition" = 55, "remark" = "After significant effort to crumble the gem, you unlock heavenly flavour that almost brings a tear to your eye. Its glimmering gloriousness is even better on the tongue than you imagined, so you savour it fondly.", "WTF" = FALSE), + MAT_GOLD = list("nutrition" = 40, "remark" = "You taste supreme richness that exceeds expectations and satisfies your hunger.", "WTF" = FALSE), + MAT_SILVER = list("nutrition" = 40, "remark" = "[O] tastes quite nice indeed as you munch on it. A little tarnished, but that's just fine aging.", "WTF" = FALSE), + MAT_PHORON = list("nutrition" = 35, "remark" = "Crunching [O] to dust between your jaw you find pleasant, comforting warmth filling your mouth that briefly spreads down the throat to your chest as you swallow.", "WTF" = FALSE), + MAT_SANDSTONE = list("nutrition" = 0, "remark" = "You crumble [O] easily in your jaws but its texture is almost gag-inducing. Stifling a cough, you somehow manage to swallow both [O] and your regrets.", "WTF" = FALSE), + MAT_MARBLE = list("nutrition" = 40, "remark" = "A fitting dessert, the sweet and savoury [O] lingers on the palate and satisfies your hunger.", "WTF" = FALSE), + MAT_STEEL = list("nutrition" = 20, "remark" = "Rending the [O] apart with ease, you briefly enjoy a classic but unremarkable taste. You need something more substantial.", "WTF" = FALSE), + MAT_PLASTEEL = list("nutrition" = 40, "remark" = "The elegant taste of a fine richly-augmented alloy, chewing away on [O] yields lasting and satisfying flavour with a traditional metallic tang.", "WTF" = FALSE), + MAT_DURASTEEL = list("nutrition" = 65, "remark" = "After much grinding the [O] eventually yields a sublime rush of flavours dominated by glorious diamond, further improved by the rich balance platinum and tang carbonic steel both bring to the mix: A supremely full bodied and savoury experience.", "WTF" = FALSE), MAT_TITANIUM = list("nutrition" = 45, "remark" = "The trademark bite and density of [O], somehow light on the palate with a refreshing coolness that lasts. Much improved with refinement, it certainly hits the spot.", "WTF" = FALSE), MAT_TITANIUMGLASS = list("nutrition" = 20, "remark" = "Grinding [O] down with a satisfying crunch, you quickly feel a cool and refreshing rush of flavour. It almost makes you even hungrier...", "WTF" = FALSE), MAT_PLASTITANIUM = list("nutrition" = 60, "remark" = "A glorious marriage of richness and mildly sour with cool refreshing finish. [O] practically begs to be savoured, lingering on the palate long enough to tempt another bite.", "WTF" = FALSE), MAT_PLASTITANIUMGLASS = list("nutrition" = 25, "remark" = "After some work, you grind [O] down with a satisfying crunch to unleash a sublime mixture of mildly sour richness and cooling refreshment. It readily entices you for another bite.", "WTF" = FALSE), - "glass" = list("nutrition" = 0, "remark" = "All crunch and nothing more, you effortlessly grind [O] down to find it only wets your appetite and dries the throat.", "WTF" = FALSE), + MAT_GLASS = list("nutrition" = 0, "remark" = "All crunch and nothing more, you effortlessly grind [O] down to find it only wets your appetite and dries the throat.", "WTF" = FALSE), "rglass" = list("nutrition" = 5, "remark" = "With a satisfying crunch, you grind [O] down with ease. It is barely palatable with a subtle metallic tang.", "WTF" = FALSE), - "borosilicate glass" = list("nutrition" = 10, "remark" = "With a satisfying crunch, you grind [O] down with ease and find it somewhat palatable due to a subtle but familiar rush of phoronic warmth.", "WTF" = FALSE), + MAT_BOROSILICATE = list("nutrition" = 10, "remark" = "With a satisfying crunch, you grind [O] down with ease and find it somewhat palatable due to a subtle but familiar rush of phoronic warmth.", "WTF" = FALSE), "reinforced borosilicate glass" = list("nutrition" = 15, "remark" = "With a satisfying crunch, you grind [O] down. It is quite palatable due to a subtle metallic tang and familiar rush of phoronic warmth.", "WTF" = FALSE), MAT_GRAPHITE = list("nutrition" = 30, "remark" = "Satisfyingly metallic with a mildly savoury tartness, you chew [O] until its flavour is no more but are left longing for another.", "WTF" = FALSE), - "osmium" = list("nutrition" = 45, "remark" = "Successive bites serve to almost chill your palate, a rush of rich and mildly sour flavour unlocked with the grinding of your powerful jaws. Delectable.", "WTF" = FALSE), - "mhydrogen" = list("nutrition" = 35, "remark" = "Quite sweet on the tongue, you savour the light and easy to chew [O], finishing it quickly.", "WTF" = FALSE), + MAT_OSMIUM = list("nutrition" = 45, "remark" = "Successive bites serve to almost chill your palate, a rush of rich and mildly sour flavour unlocked with the grinding of your powerful jaws. Delectable.", "WTF" = FALSE), + MAT_METALHYDROGEN = list("nutrition" = 35, "remark" = "Quite sweet on the tongue, you savour the light and easy to chew [O], finishing it quickly.", "WTF" = FALSE), "platinum" = list("nutrition" = 40, "remark" = "A bit tangy but elegantly balanced with a long faintly sour finish. Delectable.", "WTF" = FALSE), - "iron" = list("nutrition" = 15, "remark" = "The familiar texture and taste of [O] does the job but leaves little to the imagination and hardly sates your appetite.", "WTF" = FALSE), + MAT_IRON = list("nutrition" = 15, "remark" = "The familiar texture and taste of [O] does the job but leaves little to the imagination and hardly sates your appetite.", "WTF" = FALSE), MAT_LEAD = list("nutrition" = 40, "remark" = "It takes some work to break down [O] but you manage it, unlocking lasting tangy goodness in the process. Yum.", "WTF" = FALSE), MAT_VERDANTIUM = list("nutrition" = 55, "remark" = "You taste scientific mystery and a rare delicacy. Your tastebuds tingle pleasantly as you eat [O] and the feeling warmly blossoms in your chest for a moment.", "WTF" = FALSE), MAT_MORPHIUM = list("nutrition" = 75, "remark" = "The question, the answer and the taste: It all floods your mouth and your mind to momentarily overwhelm the senses. What the hell was that? Your mouth and throat are left tingling for a while.", "WTF" = 10), diff --git a/code/modules/vore/fluffstuff/custom_items_vr.dm b/code/modules/vore/fluffstuff/custom_items_vr.dm index 19dcd73863..9eba770312 100644 --- a/code/modules/vore/fluffstuff/custom_items_vr.dm +++ b/code/modules/vore/fluffstuff/custom_items_vr.dm @@ -626,7 +626,7 @@ force = 5.0 throwforce = 7.0 w_class = ITEMSIZE_SMALL - matter = list(DEFAULT_WALL_MATERIAL = 50) + matter = list(MAT_STEEL = 50) attack_verb = list("bludgeoned", "whacked", "disciplined", "thrashed") /obj/item/weapon/cane/fluff/tasald @@ -645,7 +645,7 @@ force = 1.0 throwforce = 2.0 w_class = ITEMSIZE_SMALL - matter = list(DEFAULT_WALL_MATERIAL = 50) + matter = list(MAT_STEEL = 50) attack_verb = list("sparkled", "whacked", "twinkled", "radiated", "dazzled", "zapped") hitsound = 'sound/weapons/sparkle.ogg' var/last_use = 0 diff --git a/code/modules/xenoarcheaology/finds/find_spawning.dm b/code/modules/xenoarcheaology/finds/find_spawning.dm index 2e6dc4de31..59cb611c71 100644 --- a/code/modules/xenoarcheaology/finds/find_spawning.dm +++ b/code/modules/xenoarcheaology/finds/find_spawning.dm @@ -22,7 +22,7 @@ if(prob(40)) material_descriptor = pick("rusted ","dusty ","archaic ","fragile ", "damaged", "pristine") - source_material = pick("cordite","quadrinium",DEFAULT_WALL_MATERIAL,"titanium","aluminium","ferritic-alloy","plasteel","duranium") + source_material = pick("cordite","quadrinium","steel","titanium","aluminium","ferritic-alloy","plasteel","duranium") var/talkative = 0 if(prob(5)) @@ -477,7 +477,7 @@ var/new_boat_mat = pickweight(list( MAT_WOOD = 100, MAT_SIFWOOD = 200, - DEFAULT_WALL_MATERIAL = 60, + MAT_STEEL = 60, MAT_URANIUM = 14, MAT_MARBLE = 16, MAT_GOLD = 20, @@ -583,7 +583,7 @@ if(istype(new_item, /obj/item/weapon/material)) var/new_item_mat = pickweight(list( - DEFAULT_WALL_MATERIAL = 80, + MAT_STEEL = 80, MAT_WOOD = 20, MAT_SIFWOOD = 40, MAT_URANIUM = 14, @@ -612,7 +612,7 @@ var/decorations = "" if(apply_material_decorations) - source_material = pick("cordite","quadrinium",DEFAULT_WALL_MATERIAL,"titanium","aluminium","ferritic-alloy","plasteel","duranium") + source_material = pick("cordite","quadrinium","steel","titanium","aluminium","ferritic-alloy","plasteel","duranium") if(istype(new_item, /obj/item/weapon/material)) var/obj/item/weapon/material/MW = new_item diff --git a/code/modules/xenoarcheaology/tools/tools.dm b/code/modules/xenoarcheaology/tools/tools.dm index 2023413f6c..f16eae5458 100644 --- a/code/modules/xenoarcheaology/tools/tools.dm +++ b/code/modules/xenoarcheaology/tools/tools.dm @@ -4,7 +4,7 @@ icon = 'icons/obj/xenoarchaeology.dmi' icon_state = "measuring" origin_tech = list(TECH_MATERIAL = 1) - matter = list(DEFAULT_WALL_MATERIAL = 100) + matter = list(MAT_STEEL = 100) w_class = ITEMSIZE_SMALL /obj/item/weapon/storage/bag/fossils @@ -37,7 +37,7 @@ icon_state = "flashgun" item_state = "lampgreen" origin_tech = list(TECH_BLUESPACE = 3, TECH_MAGNET = 3) - matter = list(DEFAULT_WALL_MATERIAL = 10000,"glass" = 5000) + matter = list(MAT_STEEL = 10000,MAT_GLASS = 5000) w_class = ITEMSIZE_SMALL slot_flags = SLOT_BELT @@ -95,7 +95,7 @@ icon_state = "depth_scanner" item_state = "analyzer" origin_tech = list(TECH_MAGNET = 2, TECH_ENGINEERING = 2, TECH_BLUESPACE = 2) - matter = list(DEFAULT_WALL_MATERIAL = 1000,"glass" = 1000) + matter = list(MAT_STEEL = 1000,MAT_GLASS = 1000) w_class = ITEMSIZE_SMALL slot_flags = SLOT_BELT var/list/positive_locations = list() @@ -226,7 +226,7 @@ icon_state = "pinoff" //pinonfar, pinonmedium, pinonclose, pinondirect, pinonnull item_state = "electronic" origin_tech = list(TECH_MAGNET = 3, TECH_ENGINEERING = 2, TECH_BLUESPACE = 3) - matter = list(DEFAULT_WALL_MATERIAL = 1000,"glass" = 500) + matter = list(MAT_STEEL = 1000,MAT_GLASS = 500) var/frequency = PUB_FREQ var/scan_ticks = 0 var/obj/item/device/radio/target_radio @@ -325,7 +325,7 @@ item_state = "lampgreen" icon = 'icons/obj/xenoarchaeology.dmi' origin_tech = list(TECH_MAGNET = 3, TECH_ENGINEERING = 3, TECH_BLUESPACE = 2) - matter = list(DEFAULT_WALL_MATERIAL = 10000,"glass" = 5000) + matter = list(MAT_STEEL = 10000,MAT_GLASS = 5000) w_class = ITEMSIZE_SMALL slot_flags = SLOT_BELT var/mode = 1 //Start off scanning. 1 = scanning, 0 = measuring From 9a4fd9b210d8783d8ee99e7f5306f3934dde1bf3 Mon Sep 17 00:00:00 2001 From: Nadyr <41974248+Darlantanis@users.noreply.github.com> Date: Fri, 9 Jul 2021 21:38:48 -0400 Subject: [PATCH 02/10] powder that makes you say yes --- code/game/machinery/doors/airlock.dm | 3076 +------------------------- 1 file changed, 2 insertions(+), 3074 deletions(-) diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index 7261e15625..299105b2c7 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -1,4 +1,3 @@ -<<<<<<< HEAD //VOREStation Edit - Redone a lot of airlock things: /* - Specific department maintenance doors @@ -116,7 +115,7 @@ /obj/machinery/door/airlock/get_material() if(mineral) return get_material_by_name(mineral) - return get_material_by_name(DEFAULT_WALL_MATERIAL) + return get_material_by_name(MAT_STEEL) /obj/machinery/door/airlock/command name = "Command Airlock" @@ -955,7 +954,7 @@ About the new airlock wires panel: if (src.isElectrified()) if (istype(mover, /obj/item)) var/obj/item/i = mover - if (i.matter && (DEFAULT_WALL_MATERIAL in i.matter) && i.matter[DEFAULT_WALL_MATERIAL] > 0) + if (i.matter && (MAT_STEEL in i.matter) && i.matter[MAT_STEEL] > 0) var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread s.set_up(5, 1, src) s.start() @@ -1535,3074 +1534,3 @@ About the new airlock wires panel: qdel(src) return TRUE return FALSE -||||||| parent of 8ab34365f1... Merge pull request #10852 from VOREStation/Arokha/matdefs -//VOREStation Edit - Redone a lot of airlock things: -/* -- Specific department maintenance doors -- Named doors properly according to type -- Gave them default access levels with the access constants -- Improper'd all of the names in the new() -*/ - -/obj/machinery/door/airlock - name = "Airlock" - icon = 'icons/obj/doors/Doorint.dmi' - icon_state = "door_closed" - power_channel = ENVIRON - - explosion_resistance = 10 - - // Doors do their own stuff - bullet_vulnerability = 0 - - blocks_emissive = EMISSIVE_BLOCK_GENERIC // Not quite as nice as /tg/'s custom masks. We should make those sometime - - var/aiControlDisabled = 0 //If 1, AI control is disabled until the AI hacks back in and disables the lock. If 2, the AI has bypassed the lock. If -1, the control is enabled but the AI had bypassed it earlier, so if it is disabled again the AI would have no trouble getting back in. - var/hackProof = 0 // if 1, this door can't be hacked by the AI - var/electrified_until = 0 //World time when the door is no longer electrified. -1 if it is permanently electrified until someone fixes it. - var/main_power_lost_until = 0 //World time when main power is restored. - var/backup_power_lost_until = -1 //World time when backup power is restored. - var/has_beeped = 0 //If 1, will not beep on failed closing attempt. Resets when door closes. - var/spawnPowerRestoreRunning = 0 - var/welded = null - var/locked = 0 - var/lights = 1 // bolt lights show by default - var/aiDisabledIdScanner = 0 - var/aiHacking = 0 - var/obj/machinery/door/airlock/closeOther = null - var/closeOtherId = null - var/lockdownbyai = 0 - autoclose = 1 - var/assembly_type = /obj/structure/door_assembly - var/mineral = null - var/justzap = 0 - var/safe = 1 - normalspeed = 1 - var/obj/item/weapon/airlock_electronics/electronics = null - var/hasShocked = 0 //Prevents multiple shocks from happening - var/secured_wires = 0 - var/datum/wires/airlock/wires = null - - var/open_sound_powered = 'sound/machines/door/covert1o.ogg' - var/open_sound_unpowered = 'sound/machines/door/airlockforced.ogg' - var/close_sound_powered = 'sound/machines/door/covert1c.ogg' - var/legacy_open_powered = 'sound/machines/door/old_airlock.ogg' - var/legacy_close_powered = 'sound/machines/door/old_airlockclose.ogg' - var/department_open_powered = null - var/department_close_powered = null - var/denied_sound = 'sound/machines/deniedbeep.ogg' - var/bolt_up_sound = 'sound/machines/door/boltsup.ogg' - var/bolt_down_sound = 'sound/machines/door/boltsdown.ogg' - -/obj/machinery/door/airlock/attack_generic(var/mob/living/user, var/damage) - if(stat & (BROKEN|NOPOWER)) - if(damage >= STRUCTURE_MIN_DAMAGE_THRESHOLD) - if(src.locked || src.welded) - visible_message("\The [user] begins breaking into \the [src] internals!") - user.set_AI_busy(TRUE) // If the mob doesn't have an AI attached, this won't do anything. - if(do_after(user,10 SECONDS,src)) - src.locked = 0 - src.welded = 0 - update_icon() - open(1) - if(prob(25)) - src.shock(user, 100) - user.set_AI_busy(FALSE) - else if(src.density) - visible_message("\The [user] forces \the [src] open!") - open(1) - else - visible_message("\The [user] forces \the [src] closed!") - close(1) - else - visible_message("\The [user] strains fruitlessly to force \the [src] [density ? "open" : "closed"].") - return - ..() - -/obj/machinery/door/airlock/attack_alien(var/mob/user) //Familiar, right? Doors. -Mechoid - if(istype(user, /mob/living/carbon/human)) - var/mob/living/carbon/human/X = user - if(istype(X.species, /datum/species/xenos)) - if(src.locked || src.welded) - visible_message("\The [user] begins digging into \the [src] internals!") - src.do_animate("deny") - if(do_after(user,5 SECONDS,src)) - visible_message("\The [user] forces \the [src] open, sparks flying from its electronics!") - src.do_animate("spark") - playsound(src, 'sound/machines/door/airlock_creaking.ogg', 100, 1, volume_channel = VOLUME_CHANNEL_DOORS) - src.locked = 0 - src.welded = 0 - update_icon() - open(1) - src.emag_act() - else if(src.density) - visible_message("\The [user] begins forcing \the [src] open!") - if(do_after(user, 5 SECONDS,src)) - playsound(src, 'sound/machines/door/airlock_creaking.ogg', 100, 1, volume_channel = VOLUME_CHANNEL_DOORS) - visible_message("\The [user] forces \the [src] open!") - open(1) - else - visible_message("\The [user] forces \the [src] closed!") - close(1) - else - src.do_animate("deny") - visible_message("\The [user] strains fruitlessly to force \the [src] [density ? "open" : "closed"].") - return - ..() - -/obj/machinery/door/airlock/get_material() - if(mineral) - return get_material_by_name(mineral) - return get_material_by_name(DEFAULT_WALL_MATERIAL) - -/obj/machinery/door/airlock/command - name = "Command Airlock" - icon = 'icons/obj/doors/Doorcom.dmi' - req_one_access = list(access_heads) - assembly_type = /obj/structure/door_assembly/door_assembly_com - open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. - close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. - department_open_powered = 'sound/machines/door/cmd3o.ogg' - department_close_powered = 'sound/machines/door/cmd3c.ogg' - -/obj/machinery/door/airlock/security - name = "Security Airlock" - icon = 'icons/obj/doors/Doorsec.dmi' - req_one_access = list(access_security) - assembly_type = /obj/structure/door_assembly/door_assembly_sec - open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. - close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. - department_open_powered = 'sound/machines/door/sec1o.ogg' - department_close_powered = 'sound/machines/door/sec1c.ogg' - -/obj/machinery/door/airlock/engineering - name = "Engineering Airlock" - icon = 'icons/obj/doors/Dooreng.dmi' - req_one_access = list(access_engine) - assembly_type = /obj/structure/door_assembly/door_assembly_eng - open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. - close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. - department_open_powered = 'sound/machines/door/eng1o.ogg' - department_close_powered = 'sound/machines/door/eng1c.ogg' - -/obj/machinery/door/airlock/engineeringatmos - name = "Atmospherics Airlock" - icon = 'icons/obj/doors/Doorengatmos.dmi' - req_one_access = list(access_atmospherics) - assembly_type = /obj/structure/door_assembly/door_assembly_eat - open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. - close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. - department_open_powered = 'sound/machines/door/eng1o.ogg' - department_close_powered = 'sound/machines/door/eng1c.ogg' - -/obj/machinery/door/airlock/medical - name = "Medical Airlock" - icon = 'icons/obj/doors/Doormed.dmi' - req_one_access = list(access_medical) - assembly_type = /obj/structure/door_assembly/door_assembly_med - open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. - close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. - department_open_powered = 'sound/machines/door/med1o.ogg' - department_close_powered = 'sound/machines/door/med1c.ogg' - -/obj/machinery/door/airlock/maintenance - name = "Maintenance Access" - icon = 'icons/obj/doors/Doormaint.dmi' - //req_one_access = list(access_maint_tunnels) //VOREStation Edit - Maintenance is open access - assembly_type = /obj/structure/door_assembly/door_assembly_mai - open_sound_powered = 'sound/machines/door/door2o.ogg' - close_sound_powered = 'sound/machines/door/door2c.ogg' - -/obj/machinery/door/airlock/maintenance/cargo - icon = 'icons/obj/doors/Doormaint_cargo.dmi' - req_one_access = list(access_cargo) - open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. - close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. - department_open_powered = 'sound/machines/door/door2o.ogg' - department_close_powered = 'sound/machines/door/door2c.ogg' - -/obj/machinery/door/airlock/maintenance/command - icon = 'icons/obj/doors/Doormaint_command.dmi' - req_one_access = list(access_heads) - -/obj/machinery/door/airlock/maintenance/common - icon = 'icons/obj/doors/Doormaint_common.dmi' - open_sound_powered = 'sound/machines/door/hall3o.ogg' - close_sound_powered = 'sound/machines/door/hall3c.ogg' - -/obj/machinery/door/airlock/maintenance/engi - icon = 'icons/obj/doors/Doormaint_engi.dmi' - req_one_access = list(access_engine) - -/obj/machinery/door/airlock/maintenance/int - icon = 'icons/obj/doors/Doormaint_int.dmi' - -/obj/machinery/door/airlock/maintenance/medical - icon = 'icons/obj/doors/Doormaint_med.dmi' - req_one_access = list(access_medical) - -/obj/machinery/door/airlock/maintenance/rnd - icon = 'icons/obj/doors/Doormaint_rnd.dmi' - req_one_access = list(access_research) - -/obj/machinery/door/airlock/maintenance/sec - icon = 'icons/obj/doors/Doormaint_sec.dmi' - req_one_access = list(access_security) - -/obj/machinery/door/airlock/external - name = "External Airlock" - icon = 'icons/obj/doors/Doorext.dmi' - assembly_type = /obj/structure/door_assembly/door_assembly_ext - open_sound_powered = 'sound/machines/door/space1o.ogg' - close_sound_powered = 'sound/machines/door/space1c.ogg' - -/obj/machinery/door/airlock/external/glass/bolted - icon_state = "door_locked" // So it looks visibly bolted in map editor - locked = 1 - -// For convenience in making docking ports: one that is pre-bolted with frequency set! -/obj/machinery/door/airlock/external/glass/bolted/cycling - frequency = 1379 - -/obj/machinery/door/airlock/glass_external - name = "External Airlock" - icon = 'icons/obj/doors/Doorextglass.dmi' - assembly_type = /obj/structure/door_assembly/door_assembly_ext - opacity = 0 - glass = 1 - req_one_access = list(access_external_airlocks) - open_sound_powered = 'sound/machines/door/space1o.ogg' - close_sound_powered = 'sound/machines/door/space1c.ogg' - -/obj/machinery/door/airlock/glass - name = "Glass Airlock" - icon = 'icons/obj/doors/Doorglass.dmi' - hitsound = 'sound/effects/Glasshit.ogg' - open_sound_powered = 'sound/machines/door/hall1o.ogg' - close_sound_powered = 'sound/machines/door/hall1c.ogg' - legacy_open_powered = 'sound/machines/door/windowdoor.ogg' - maxhealth = 300 - explosion_resistance = 5 - opacity = 0 - glass = 1 - -/obj/machinery/door/airlock/centcom - name = "Centcom Airlock" - icon = 'icons/obj/doors/Doorele.dmi' - req_one_access = list(access_cent_general) - opacity = 1 - open_sound_powered = 'sound/machines/door/cmd3o.ogg' - close_sound_powered = 'sound/machines/door/cmd3c.ogg' - -/obj/machinery/door/airlock/glass_centcom - name = "Airlock" - icon = 'icons/obj/doors/Dooreleglass.dmi' - opacity = 0 - glass = 1 - open_sound_powered = 'sound/machines/door/cmd3o.ogg' - close_sound_powered = 'sound/machines/door/cmd3c.ogg' - -/obj/machinery/door/airlock/vault - name = "Vault" - icon = 'icons/obj/doors/vault.dmi' - explosion_resistance = 20 - opacity = 1 - secured_wires = 1 - assembly_type = /obj/structure/door_assembly/door_assembly_highsecurity //Until somebody makes better sprites. - req_one_access = list(access_heads_vault) - open_sound_powered = 'sound/machines/door/vault1o.ogg' - close_sound_powered = 'sound/machines/door/vault1c.ogg' - -/obj/machinery/door/airlock/vault/bolted - icon_state = "door_locked" - locked = 1 - -/obj/machinery/door/airlock/freezer - name = "Freezer Airlock" - icon = 'icons/obj/doors/Doorfreezer.dmi' - opacity = 1 - assembly_type = /obj/structure/door_assembly/door_assembly_fre - -/obj/machinery/door/airlock/hatch - name = "Airtight Hatch" - icon = 'icons/obj/doors/Doorhatchele.dmi' - explosion_resistance = 20 - opacity = 1 - assembly_type = /obj/structure/door_assembly/door_assembly_hatch - req_one_access = list(access_maint_tunnels) - open_sound_powered = 'sound/machines/door/hatchopen.ogg' - close_sound_powered = 'sound/machines/door/hatchclose.ogg' - open_sound_unpowered = 'sound/machines/door/hatchforced.ogg' - -/obj/machinery/door/airlock/maintenance_hatch - name = "Maintenance Hatch" - icon = 'icons/obj/doors/Doorhatchmaint2.dmi' - explosion_resistance = 20 - opacity = 1 - assembly_type = /obj/structure/door_assembly/door_assembly_mhatch - req_one_access = list(access_maint_tunnels) - open_sound_powered = 'sound/machines/door/hatchopen.ogg' - close_sound_powered = 'sound/machines/door/hatchclose.ogg' - open_sound_unpowered = 'sound/machines/door/hatchforced.ogg' - -/obj/machinery/door/airlock/glass_command - name = "Command Airlock" - icon = 'icons/obj/doors/Doorcomglass.dmi' - hitsound = 'sound/effects/Glasshit.ogg' - maxhealth = 300 - explosion_resistance = 5 - opacity = 0 - assembly_type = /obj/structure/door_assembly/door_assembly_com - glass = 1 - req_one_access = list(access_heads) - open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. - close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. - department_open_powered = 'sound/machines/door/cmd1o.ogg' - department_close_powered = 'sound/machines/door/cmd1c.ogg' - -/obj/machinery/door/airlock/glass_engineering - name = "Engineering Airlock" - icon = 'icons/obj/doors/Doorengglass.dmi' - hitsound = 'sound/effects/Glasshit.ogg' - maxhealth = 300 - explosion_resistance = 5 - opacity = 0 - assembly_type = /obj/structure/door_assembly/door_assembly_eng - glass = 1 - req_one_access = list(access_engine) - department_open_powered = 'sound/machines/door/eng1o.ogg' - department_close_powered = 'sound/machines/door/eng1c.ogg' - -/obj/machinery/door/airlock/glass_engineeringatmos - name = "Atmospherics Airlock" - icon = 'icons/obj/doors/Doorengatmoglass.dmi' - hitsound = 'sound/effects/Glasshit.ogg' - maxhealth = 300 - explosion_resistance = 5 - opacity = 0 - assembly_type = /obj/structure/door_assembly/door_assembly_eat - glass = 1 - req_one_access = list(access_atmospherics) - open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. - close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. - department_open_powered = 'sound/machines/door/eng1o.ogg' - department_close_powered = 'sound/machines/door/eng1c.ogg' - -/obj/machinery/door/airlock/glass_security - name = "Security Airlock" - icon = 'icons/obj/doors/Doorsecglass.dmi' - hitsound = 'sound/effects/Glasshit.ogg' - maxhealth = 300 - explosion_resistance = 5 - opacity = 0 - assembly_type = /obj/structure/door_assembly/door_assembly_sec - glass = 1 - req_one_access = list(access_security) - open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. - close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. - department_open_powered = 'sound/machines/door/sec1o.ogg' - department_close_powered = 'sound/machines/door/sec1c.ogg' - -/obj/machinery/door/airlock/glass_medical - name = "Medical Airlock" - icon = 'icons/obj/doors/Doormedglass.dmi' - hitsound = 'sound/effects/Glasshit.ogg' - maxhealth = 300 - explosion_resistance = 5 - opacity = 0 - assembly_type = /obj/structure/door_assembly/door_assembly_med - glass = 1 - req_one_access = list(access_medical) - open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. - close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. - department_open_powered = 'sound/machines/door/med1o.ogg' - department_close_powered = 'sound/machines/door/med1c.ogg' - -/obj/machinery/door/airlock/mining - name = "Mining Airlock" - icon = 'icons/obj/doors/Doormining.dmi' - assembly_type = /obj/structure/door_assembly/door_assembly_min - req_one_access = list(access_mining) - open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. - close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. - department_open_powered = 'sound/machines/door/cgo1o.ogg' - department_close_powered = 'sound/machines/door/cgo1c.ogg' - -/obj/machinery/door/airlock/atmos - name = "Atmospherics Airlock" - icon = 'icons/obj/doors/Dooratmo.dmi' - assembly_type = /obj/structure/door_assembly/door_assembly_atmo - req_one_access = list(access_atmospherics) - open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. - close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. - department_open_powered = 'sound/machines/door/eng1o.ogg' - department_close_powered = 'sound/machines/door/eng1c.ogg' - -/obj/machinery/door/airlock/research - name = "Research Airlock" - icon = 'icons/obj/doors/Doorresearch.dmi' - assembly_type = /obj/structure/door_assembly/door_assembly_research - open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. - close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. - department_open_powered = 'sound/machines/door/sci1o.ogg' - department_close_powered = 'sound/machines/door/sci1c.ogg' - -/obj/machinery/door/airlock/glass_research - name = "Research Airlock" - icon = 'icons/obj/doors/Doorresearchglass.dmi' - hitsound = 'sound/effects/Glasshit.ogg' - maxhealth = 300 - explosion_resistance = 5 - opacity = 0 - assembly_type = /obj/structure/door_assembly/door_assembly_research - glass = 1 - req_one_access = list(access_research) - open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. - close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. - department_open_powered = 'sound/machines/door/sci1o.ogg' - department_close_powered = 'sound/machines/door/sci1c.ogg' - -/obj/machinery/door/airlock/glass_mining - name = "Mining Airlock" - icon = 'icons/obj/doors/Doorminingglass.dmi' - hitsound = 'sound/effects/Glasshit.ogg' - maxhealth = 300 - explosion_resistance = 5 - opacity = 0 - assembly_type = /obj/structure/door_assembly/door_assembly_min - glass = 1 - req_one_access = list(access_mining) - open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. - close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. - department_open_powered = 'sound/machines/door/cgo1o.ogg' - department_close_powered = 'sound/machines/door/cgo1c.ogg' - -/obj/machinery/door/airlock/glass_atmos - name = "Atmospherics Airlock" - icon = 'icons/obj/doors/Dooratmoglass.dmi' - hitsound = 'sound/effects/Glasshit.ogg' - maxhealth = 300 - explosion_resistance = 5 - opacity = 0 - assembly_type = /obj/structure/door_assembly/door_assembly_atmo - glass = 1 - req_one_access = list(access_atmospherics) - open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. - close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. - department_open_powered = 'sound/machines/door/eng1o.ogg' - department_close_powered = 'sound/machines/door/eng1c.ogg' - -/obj/machinery/door/airlock/gold - name = "Gold Airlock" - icon = 'icons/obj/doors/Doorgold.dmi' - mineral = "gold" - -/obj/machinery/door/airlock/silver - name = "Silver Airlock" - icon = 'icons/obj/doors/Doorsilver.dmi' - mineral = "silver" - -/obj/machinery/door/airlock/diamond - name = "Diamond Airlock" - icon = 'icons/obj/doors/Doordiamond.dmi' - mineral = "diamond" - -/obj/machinery/door/airlock/uranium - name = "Uranium Airlock" - desc = "And they said I was crazy." - icon = 'icons/obj/doors/Dooruranium.dmi' - mineral = "uranium" - var/last_event = 0 - var/rad_power = 7.5 - -/obj/machinery/door/airlock/process() - // Deliberate no call to parent. - if(main_power_lost_until > 0 && world.time >= main_power_lost_until) - regainMainPower() - - if(backup_power_lost_until > 0 && world.time >= backup_power_lost_until) - regainBackupPower() - - else if(electrified_until > 0 && world.time >= electrified_until) - electrify(0) - - if (..() == PROCESS_KILL && !(main_power_lost_until > 0 || backup_power_lost_until > 0 || electrified_until > 0)) - . = PROCESS_KILL - -/obj/machinery/door/airlock/uranium/process() - if(world.time > last_event+20) - if(prob(50)) - SSradiation.radiate(src, rad_power) - last_event = world.time - ..() - -/obj/machinery/door/airlock/phoron - name = "Phoron Airlock" - desc = "No way this can end badly." - icon = 'icons/obj/doors/Doorphoron.dmi' - mineral = "phoron" - -/obj/machinery/door/airlock/phoron/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume) - if(exposed_temperature > 300) - PhoronBurn(exposed_temperature) - -/obj/machinery/door/airlock/phoron/proc/ignite(exposed_temperature) - if(exposed_temperature > 300) - PhoronBurn(exposed_temperature) - -/obj/machinery/door/airlock/phoron/proc/PhoronBurn(temperature) - for(var/turf/simulated/floor/target_tile in range(2,loc)) - target_tile.assume_gas("phoron", 35, 400+T0C) - spawn (0) target_tile.hotspot_expose(temperature, 400) - for(var/turf/simulated/wall/W in range(3,src)) - W.burn((temperature/4))//Added so that you can't set off a massive chain reaction with a small flame - for(var/obj/machinery/door/airlock/phoron/D in range(3,src)) - D.ignite(temperature/4) - new/obj/structure/door_assembly( src.loc ) - qdel(src) - -/obj/machinery/door/airlock/sandstone - name = "Sandstone Airlock" - icon = 'icons/obj/doors/Doorsand.dmi' - mineral = "sandstone" - -/obj/machinery/door/airlock/science - name = "Research Airlock" - icon = 'icons/obj/doors/Doorsci.dmi' - assembly_type = /obj/structure/door_assembly/door_assembly_science - req_one_access = list(access_research) - open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. - close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. - department_open_powered = 'sound/machines/door/sci1o.ogg' - department_close_powered = 'sound/machines/door/sci1c.ogg' - -/obj/machinery/door/airlock/glass_science - name = "Glass Airlocks" - icon = 'icons/obj/doors/Doorsciglass.dmi' - opacity = 0 - assembly_type = /obj/structure/door_assembly/door_assembly_science - glass = 1 - req_one_access = list(access_research) - open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. - close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. - department_open_powered = 'sound/machines/door/sci1o.ogg' - department_close_powered = 'sound/machines/door/sci1c.ogg' - -/obj/machinery/door/airlock/highsecurity - name = "Secure Airlock" - icon = 'icons/obj/doors/hightechsecurity.dmi' - explosion_resistance = 20 - secured_wires = 1 - assembly_type = /obj/structure/door_assembly/door_assembly_highsecurity - req_one_access = list(access_heads_vault) - open_sound_powered = 'sound/machines/door/secure1o.ogg' - close_sound_powered = 'sound/machines/door/secure1c.ogg' - -/obj/machinery/door/airlock/voidcraft - name = "voidcraft hatch" - desc = "It's an extra resilient airlock intended for spacefaring vessels." - icon = 'icons/obj/doors/shuttledoors.dmi' - explosion_resistance = 20 - opacity = 0 - glass = 1 - assembly_type = /obj/structure/door_assembly/door_assembly_voidcraft - open_sound_powered = 'sound/machines/door/shuttle1o.ogg' - close_sound_powered = 'sound/machines/door/shuttle1c.ogg' - -// Airlock opens from top-bottom instead of left-right. -/obj/machinery/door/airlock/voidcraft/vertical - icon = 'icons/obj/doors/shuttledoors_vertical.dmi' - assembly_type = /obj/structure/door_assembly/door_assembly_voidcraft/vertical - open_sound_powered = 'sound/machines/door/shuttle1o.ogg' - close_sound_powered = 'sound/machines/door/shuttle1c.ogg' - - -/datum/category_item/catalogue/anomalous/precursor_a/alien_airlock - name = "Precursor Alpha Object - Doors" - desc = "This object appears to be used in order to restrict or allow access to \ - rooms based on its physical state. In other words, a door. \ - Despite being designed and created by unknown ancient alien hands, this door has \ - a large number of similarities to the conventional airlock, such as being driven by \ - electricity, opening and closing by physically moving, and being air tight. \ - It also operates by responding to signals through internal electrical conduits. \ - These characteristics make it possible for one with experience with a multitool \ - to manipulate the door.\ -

\ - The symbol on the door does not match any living species' patterns, giving further \ - implications that this door is very old, and yet it remains operational after \ - thousands of years. It is unknown if that is due to superb construction, or \ - unseen autonomous maintenance having been performed." - value = CATALOGUER_REWARD_EASY - -/obj/machinery/door/airlock/alien - name = "alien airlock" - desc = "You're fairly sure this is a door." - catalogue_data = list(/datum/category_item/catalogue/anomalous/precursor_a/alien_airlock) - icon = 'icons/obj/doors/Dooralien.dmi' - explosion_resistance = 20 - secured_wires = TRUE - hackProof = TRUE - assembly_type = /obj/structure/door_assembly/door_assembly_alien - req_one_access = list(access_alien) - -/obj/machinery/door/airlock/alien/locked - icon_state = "door_locked" - locked = TRUE - -/obj/machinery/door/airlock/alien/public // Entry to UFO. - req_one_access = list() - normalspeed = FALSE // So it closes faster and hopefully keeps the warm air inside. - hackProof = TRUE //VOREStation Edit - No borgos - -/* -About the new airlock wires panel: -* An airlock wire dialog can be accessed by the normal way or by using wirecutters or a multitool on the door while the wire-panel is open. This would show the following wires, which you can either wirecut/mend or send a multitool pulse through. There are 9 wires. -* one wire from the ID scanner. Sending a pulse through this flashes the red light on the door (if the door has power). If you cut this wire, the door will stop recognizing valid IDs. (If the door has 0000 access, it still opens and closes, though) -* two wires for power. Sending a pulse through either one causes a breaker to trip, disabling the door for 10 seconds if backup power is connected, or 1 minute if not (or until backup power comes back on, whichever is shorter). Cutting either one disables the main door power, but unless backup power is also cut, the backup power re-powers the door in 10 seconds. While unpowered, the door may be open, but bolts-raising will not work. Cutting these wires may electrocute the user. -* one wire for door bolts. Sending a pulse through this drops door bolts (whether the door is powered or not) or raises them (if it is). Cutting this wire also drops the door bolts, and mending it does not raise them. If the wire is cut, trying to raise the door bolts will not work. -* two wires for backup power. Sending a pulse through either one causes a breaker to trip, but this does not disable it unless main power is down too (in which case it is disabled for 1 minute or however long it takes main power to come back, whichever is shorter). Cutting either one disables the backup door power (allowing it to be crowbarred open, but disabling bolts-raising), but may electocute the user. -* one wire for opening the door. Sending a pulse through this while the door has power makes it open the door if no access is required. -* one wire for AI control. Sending a pulse through this blocks AI control for a second or so (which is enough to see the AI control light on the panel dialog go off and back on again). Cutting this prevents the AI from controlling the door unless it has hacked the door through the power connection (which takes about a minute). If both main and backup power are cut, as well as this wire, then the AI cannot operate or hack the door at all. -* one wire for electrifying the door. Sending a pulse through this electrifies the door for 30 seconds. Cutting this wire electrifies the door, so that the next person to touch the door without insulated gloves gets electrocuted. (Currently it is also STAYING electrified until someone mends the wire) -* one wire for controling door safetys. When active, door does not close on someone. When cut, door will ruin someone's shit. When pulsed, door will immedately ruin someone's shit. -* one wire for controlling door speed. When active, dor closes at normal rate. When cut, door does not close manually. When pulsed, door attempts to close every tick. -*/ - - - -/obj/machinery/door/airlock/bumpopen(mob/living/user as mob) //Airlocks now zap you when you 'bump' them open when they're electrified. --NeoFite - if(!issilicon(usr)) - if(src.isElectrified()) - if(!src.justzap) - if(src.shock(user, 100)) - src.justzap = 1 - spawn (10) - src.justzap = 0 - return - else /*if(src.justzap)*/ - return - else if(user.hallucination > 50 && prob(10) && src.operating == 0) - to_chat(user, "You feel a powerful shock course through your body!") - user.halloss += 10 - user.stunned += 10 - return - ..(user) - -/obj/machinery/door/airlock/proc/isElectrified() - if(src.electrified_until != 0) - return 1 - return 0 - -/obj/machinery/door/airlock/proc/canAIControl() - return ((src.aiControlDisabled!=1) && (!src.isAllPowerLoss())); - -/obj/machinery/door/airlock/proc/canAIHack() - return ((src.aiControlDisabled==1) && (!hackProof) && (!src.isAllPowerLoss())); - -/obj/machinery/door/airlock/proc/arePowerSystemsOn() - if (stat & (NOPOWER|BROKEN)) - return 0 - return (src.main_power_lost_until==0 || src.backup_power_lost_until==0) - -/obj/machinery/door/airlock/requiresID() - return !(wires.is_cut(WIRE_IDSCAN) || aiDisabledIdScanner) - -/obj/machinery/door/airlock/proc/isAllPowerLoss() - if(stat & (NOPOWER|BROKEN)) - return 1 - if(mainPowerCablesCut() && backupPowerCablesCut()) - return 1 - return 0 - -/obj/machinery/door/airlock/proc/mainPowerCablesCut() - return wires.is_cut(WIRE_MAIN_POWER1) || wires.is_cut(WIRE_MAIN_POWER2) - -/obj/machinery/door/airlock/proc/backupPowerCablesCut() - return wires.is_cut(WIRE_BACKUP_POWER1) || wires.is_cut(WIRE_BACKUP_POWER2) - -/obj/machinery/door/airlock/proc/loseMainPower() - main_power_lost_until = mainPowerCablesCut() ? -1 : world.time + SecondsToTicks(60) - - // If backup power is permanently disabled then activate in 10 seconds if possible, otherwise it's already enabled or a timer is already running - if(backup_power_lost_until == -1 && !backupPowerCablesCut()) - backup_power_lost_until = world.time + SecondsToTicks(10) - - if(main_power_lost_until > 0 || backup_power_lost_until > 0) - START_MACHINE_PROCESSING(src) - - // Disable electricity if required - if(electrified_until && isAllPowerLoss()) - electrify(0) - - update_icon() - -/obj/machinery/door/airlock/proc/loseBackupPower() - backup_power_lost_until = backupPowerCablesCut() ? -1 : world.time + SecondsToTicks(60) - - if(backup_power_lost_until > 0) - START_MACHINE_PROCESSING(src) - - // Disable electricity if required - if(electrified_until && isAllPowerLoss()) - electrify(0) - - update_icon() - -/obj/machinery/door/airlock/proc/regainMainPower() - if(!mainPowerCablesCut()) - main_power_lost_until = 0 - // If backup power is currently active then disable, otherwise let it count down and disable itself later - if(!backup_power_lost_until) - backup_power_lost_until = -1 - - update_icon() - -/obj/machinery/door/airlock/proc/regainBackupPower() - if(!backupPowerCablesCut()) - // Restore backup power only if main power is offline, otherwise permanently disable - backup_power_lost_until = main_power_lost_until == 0 ? -1 : 0 - - update_icon() - -/obj/machinery/door/airlock/proc/electrify(var/duration, var/feedback = 0) - var/message = "" - if(wires.is_cut(WIRE_ELECTRIFY) && arePowerSystemsOn()) - message = text("The electrification wire is cut - Door permanently electrified.") - src.electrified_until = -1 - else if(duration && !arePowerSystemsOn()) - message = text("The door is unpowered - Cannot electrify the door.") - src.electrified_until = 0 - else if(!duration && electrified_until != 0) - message = "The door is now un-electrified." - src.electrified_until = 0 - else if(duration) //electrify door for the given duration seconds - if(usr) - shockedby += text("\[[time_stamp()]\] - [usr](ckey:[usr.ckey])") - add_attack_logs(usr,name,"Electrified a door") - else - shockedby += text("\[[time_stamp()]\] - EMP)") - message = "The door is now electrified [duration == -1 ? "permanently" : "for [duration] second\s"]." - src.electrified_until = duration == -1 ? -1 : world.time + SecondsToTicks(duration) - - if(electrified_until > 0) - START_MACHINE_PROCESSING(src) - - if(feedback && message) - to_chat(usr,message) - -/obj/machinery/door/airlock/proc/set_idscan(var/activate, var/feedback = 0) - var/message = "" - if(wires.is_cut(WIRE_IDSCAN)) - message = "The IdScan wire is cut - IdScan feature permanently disabled." - else if(activate && src.aiDisabledIdScanner) - src.aiDisabledIdScanner = 0 - message = "IdScan feature has been enabled." - else if(!activate && !src.aiDisabledIdScanner) - src.aiDisabledIdScanner = 1 - message = "IdScan feature has been disabled." - - if(feedback && message) - to_chat(usr,message) - -/obj/machinery/door/airlock/proc/set_safeties(var/activate, var/feedback = 0) - var/message = "" - // Safeties! We don't need no stinking safeties! - if (wires.is_cut(WIRE_SAFETY)) - message = text("The safety wire is cut - Cannot enable safeties.") - else if (!activate && src.safe) - safe = 0 - else if (activate && !src.safe) - safe = 1 - - if(feedback && message) - to_chat(usr,message) - -// shock user with probability prb (if all connections & power are working) -// returns 1 if shocked, 0 otherwise -// The preceding comment was borrowed from the grille's shock script -/obj/machinery/door/airlock/shock(mob/user, prb) - if(!arePowerSystemsOn()) - return 0 - if(hasShocked) - return 0 //Already shocked someone recently? - if(..()) - hasShocked = 1 - sleep(10) - hasShocked = 0 - return 1 - else - return 0 - - -/obj/machinery/door/airlock/update_icon() - cut_overlays() - if(density) - if(locked && lights && src.arePowerSystemsOn()) - icon_state = "door_locked" - else - icon_state = "door_closed" - if(p_open || welded) - if(p_open) - add_overlay("panel_open") - if (!(stat & NOPOWER)) - if(stat & BROKEN) - add_overlay("sparks_broken") - else if (health < maxhealth * 3/4) - add_overlay("sparks_damaged") - if(welded) - add_overlay("welded") - else if (health < maxhealth * 3/4 && !(stat & NOPOWER)) - add_overlay("sparks_damaged") - else - icon_state = "door_open" - if((stat & BROKEN) && !(stat & NOPOWER)) - add_overlay("sparks_open") - return - -/obj/machinery/door/airlock/do_animate(animation) - switch(animation) - if("opening") - cut_overlay() - if(p_open) - spawn(2) // The only work around that works. Downside is that the door will be gone for a millisecond. - flick("o_door_opening", src) //can not use flick due to BYOND bug updating overlays right before flicking - update_icon() - else - flick("door_opening", src)//[stat ? "_stat":] - update_icon() - if("closing") - cut_overlay() - if(p_open) - spawn(2) - flick("o_door_closing", src) - update_icon() - else - flick("door_closing", src) - update_icon() - if("spark") - if(density) - flick("door_spark", src) - if("deny") - if(density && src.arePowerSystemsOn()) - flick("door_deny", src) - playsound(src, denied_sound, 50, 0, 3) - return - -/obj/machinery/door/airlock/attack_ai(mob/user as mob) - tgui_interact(user) - -/obj/machinery/door/airlock/attack_ghost(mob/user) - tgui_interact(user) - -/obj/machinery/door/airlock/tgui_interact(mob/user, datum/tgui/ui, datum/tgui/parent_ui, datum/tgui_state/custom_state) - ui = SStgui.try_update_ui(user, src, ui) - if(!ui) - ui = new(user, src, "AiAirlock", name) - ui.open() - if(custom_state) - ui.set_state(custom_state) - return TRUE - -/obj/machinery/door/airlock/tgui_data(mob/user) - var/list/data = list() - - var/list/power = list() - power["main"] = main_power_lost_until > 0 ? 0 : 2 - power["main_timeleft"] = round(main_power_lost_until > 0 ? max(main_power_lost_until - world.time, 0) / 10 : main_power_lost_until, 1) - power["backup"] = backup_power_lost_until > 0 ? 0 : 2 - power["backup_timeleft"] = round(backup_power_lost_until > 0 ? max(backup_power_lost_until - world.time, 0) / 10 : backup_power_lost_until, 1) - data["power"] = power - - data["shock"] = (electrified_until == 0) ? 2 : 0 - data["shock_timeleft"] = round(electrified_until > 0 ? max(electrified_until - world.time, 0) / 10 : electrified_until, 1) - data["id_scanner"] = !aiDisabledIdScanner - data["locked"] = locked // bolted - data["lights"] = lights // bolt lights - data["safe"] = safe // safeties - data["speed"] = normalspeed // safe speed - data["welded"] = welded // welded - data["opened"] = !density // opened - - var/list/wire = list() - wire["main_1"] = !wires.is_cut(WIRE_MAIN_POWER1) - wire["main_2"] = !wires.is_cut(WIRE_MAIN_POWER2) - wire["backup_1"] = !wires.is_cut(WIRE_BACKUP_POWER1) - wire["backup_2"] = !wires.is_cut(WIRE_BACKUP_POWER2) - wire["shock"] = !wires.is_cut(WIRE_ELECTRIFY) - wire["id_scanner"] = !wires.is_cut(WIRE_IDSCAN) - wire["bolts"] = !wires.is_cut(WIRE_DOOR_BOLTS) - wire["lights"] = !wires.is_cut(WIRE_BOLT_LIGHT) - wire["safe"] = !wires.is_cut(WIRE_SAFETY) - wire["timing"] = !wires.is_cut(WIRE_SPEED) - - data["wires"] = wire - return data - -/obj/machinery/door/airlock/proc/hack(mob/user as mob) - if(src.aiHacking==0) - src.aiHacking=1 - spawn(20) - //TODO: Make this take a minute - to_chat(user, "Airlock AI control has been blocked. Beginning fault-detection.") - sleep(50) - if(src.canAIControl()) - to_chat(user, "Alert cancelled. Airlock control has been restored without our assistance.") - src.aiHacking=0 - return - else if(!src.canAIHack(user)) - to_chat(user, "We've lost our connection! Unable to hack airlock.") - src.aiHacking=0 - return - to_chat(user, "Fault confirmed: airlock control wire disabled or cut.") - sleep(20) - to_chat(user, "Attempting to hack into airlock. This may take some time.") - sleep(200) - if(src.canAIControl()) - to_chat(user, "Alert cancelled. Airlock control has been restored without our assistance.") - src.aiHacking=0 - return - else if(!src.canAIHack(user)) - to_chat(user, "We've lost our connection! Unable to hack airlock.") - src.aiHacking=0 - return - to_chat(user, "Upload access confirmed. Loading control program into airlock software.") - sleep(170) - if(src.canAIControl()) - to_chat(user, "Alert cancelled. Airlock control has been restored without our assistance.") - src.aiHacking=0 - return - else if(!src.canAIHack(user)) - to_chat(user, "We've lost our connection! Unable to hack airlock.") - src.aiHacking=0 - return - to_chat(user, "Transfer complete. Forcing airlock to execute program.") - sleep(50) - //disable blocked control - src.aiControlDisabled = 2 - to_chat(user, "Receiving control information from airlock.") - sleep(10) - //bring up airlock dialog - src.aiHacking = 0 - if (user) - src.attack_ai(user) - -/obj/machinery/door/airlock/CanPass(atom/movable/mover, turf/target) - if (src.isElectrified()) - if (istype(mover, /obj/item)) - var/obj/item/i = mover - if (i.matter && (DEFAULT_WALL_MATERIAL in i.matter) && i.matter[DEFAULT_WALL_MATERIAL] > 0) - var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread - s.set_up(5, 1, src) - s.start() - return ..() - -/obj/machinery/door/airlock/attack_hand(mob/user as mob) - if(!istype(usr, /mob/living/silicon)) - if(src.isElectrified()) - if(src.shock(user, 100)) - return - - if(istype(user, /mob/living/carbon/human)) - var/mob/living/carbon/human/X = user - if(istype(X.species, /datum/species/xenos)) - src.attack_alien(user) - return - - if(src.p_open) - user.set_machine(src) - wires.Interact(user) - else - ..(user) - return - -/obj/machinery/door/airlock/tgui_act(action, params) - if(..()) - return TRUE - if(!user_allowed(usr)) - return TRUE - - switch(action) - if("disrupt-main") - if(!main_power_lost_until) - loseMainPower() - update_icon() - else - to_chat(usr, "Main power is already offline.") - . = TRUE - if("disrupt-backup") - if(!backup_power_lost_until) - loseBackupPower() - update_icon() - else - to_chat(usr, "Backup power is already offline.") - . = TRUE - if("shock-restore") - electrify(0, 1) - . = TRUE - if("shock-temp") - electrify(30, 1) - . = TRUE - if("shock-perm") - electrify(-1, 1) - . = TRUE - if("idscan-toggle") - set_idscan(aiDisabledIdScanner, 1) - . = TRUE - // if("emergency-toggle") - // toggle_emergency(usr) - // . = TRUE - if("bolt-toggle") - toggle_bolt(usr) - . = TRUE - if("light-toggle") - if(wires.is_cut(WIRE_BOLT_LIGHT)) - to_chat(usr, "The bolt lights wire is cut - The door bolt lights are permanently disabled.") - return - lights = !lights - update_icon() - . = TRUE - if("safe-toggle") - set_safeties(!safe, 1) - . = TRUE - if("speed-toggle") - if(wires.is_cut(WIRE_SPEED)) - to_chat(usr, "The timing wire is cut - Cannot alter timing.") - return - normalspeed = !normalspeed - . = TRUE - if("open-close") - user_toggle_open(usr) - . = TRUE - - update_icon() - return 1 - -/obj/machinery/door/airlock/proc/user_allowed(mob/user) - var/allowed = (issilicon(user) && canAIControl(user)) - if(!allowed && isobserver(user)) - var/mob/observer/dead/D = user - if(D.can_admin_interact()) - allowed = TRUE - return allowed - -/obj/machinery/door/airlock/proc/toggle_bolt(mob/user) - if(!user_allowed(user)) - return - if(wires.is_cut(WIRE_DOOR_BOLTS)) - to_chat(user, "The door bolt drop wire is cut - you can't toggle the door bolts.") - return - if(locked) - if(!arePowerSystemsOn()) - to_chat(user, "The door has no power - you can't raise the door bolts.") - else - unlock() - to_chat(user, "The door bolts have been raised.") - // log_combat(user, src, "unbolted") - else - lock() - to_chat(user, "The door bolts have been dropped.") - // log_combat(user, src, "bolted") - -/obj/machinery/door/airlock/proc/user_toggle_open(mob/user) - if(!user_allowed(user)) - return - if(welded) - to_chat(user, text("The airlock has been welded shut!")) - else if(locked) - to_chat(user, text("The door bolts are down!")) - else if(!density) - close() - else - open() - -/obj/machinery/door/airlock/proc/can_remove_electronics() - return src.p_open && (operating < 0 || (!operating && welded && !src.arePowerSystemsOn() && density && (!src.locked || (stat & BROKEN)))) - -/obj/machinery/door/airlock/attackby(obj/item/C, mob/user as mob) - //to_world("airlock attackby src [src] obj [C] mob [user]") - if(!istype(usr, /mob/living/silicon)) - if(src.isElectrified()) - if(src.shock(user, 75)) - return - if(istype(C, /obj/item/taperoll)) - return - - src.add_fingerprint(user) - if (attempt_vr(src,"attackby_vr",list(C, user))) return - if(istype(C, /mob/living)) - ..() - return - if(!repairing && istype(C, /obj/item/weapon/weldingtool) && !( src.operating > 0 ) && src.density) - var/obj/item/weapon/weldingtool/W = C - if(W.remove_fuel(0,user)) - if(!src.welded) - src.welded = 1 - else - src.welded = null - playsound(src, C.usesound, 75, 1) - src.update_icon() - return - else - return - else if(C.is_screwdriver()) - if (src.p_open) - if (stat & BROKEN) - to_chat(usr, "The panel is broken and cannot be closed.") - else - src.p_open = 0 - playsound(src, C.usesound, 50, 1) - else - src.p_open = 1 - playsound(src, C.usesound, 50, 1) - src.update_icon() - else if(C.is_wirecutter()) - return src.attack_hand(user) - else if(istype(C, /obj/item/device/multitool)) - return src.attack_hand(user) - else if(istype(C, /obj/item/device/assembly/signaler)) - return src.attack_hand(user) - else if(istype(C, /obj/item/weapon/pai_cable)) // -- TLE - var/obj/item/weapon/pai_cable/cable = C - cable.plugin(src, user) - else if(!repairing && C.is_crowbar()) - if(can_remove_electronics()) - playsound(src, C.usesound, 75, 1) - user.visible_message("[user] removes the electronics from the airlock assembly.", "You start to remove electronics from the airlock assembly.") - if(do_after(user,40 * C.toolspeed)) - to_chat(user, "You removed the airlock electronics!") - - var/obj/structure/door_assembly/da = new assembly_type(src.loc) - if (istype(da, /obj/structure/door_assembly/multi_tile)) - da.set_dir(src.dir) - - da.anchored = 1 - if(mineral) - da.glass = mineral - //else if(glass) - else if(glass && !da.glass) - da.glass = 1 - da.state = 1 - da.created_name = src.name - da.update_state() - - if(operating == -1 || (stat & BROKEN)) - new /obj/item/weapon/circuitboard/broken(src.loc) - operating = 0 - else - if (!electronics) create_electronics() - - electronics.loc = src.loc - electronics = null - - qdel(src) - return - else if(arePowerSystemsOn()) - to_chat(user, "The airlock's motors resist your efforts to force it.") - else if(locked) - to_chat(user, "The airlock's bolts prevent it from being forced.") - else - if(density) - spawn(0) open(1) - else - spawn(0) close(1) - - // Check if we're using a crowbar or armblade, and if the airlock's unpowered for whatever reason (off, broken, etc). - else if(istype(C, /obj/item/weapon)) - var/obj/item/weapon/W = C - if((W.pry == 1) && !arePowerSystemsOn()) - if(locked) - to_chat(user, "The airlock's bolts prevent it from being forced.") - else if( !welded && !operating ) - if(istype(C, /obj/item/weapon/material/twohanded/fireaxe)) // If this is a fireaxe, make sure it's held in two hands. - var/obj/item/weapon/material/twohanded/fireaxe/F = C - if(!F.wielded) - to_chat(user, "You need to be wielding \the [F] to do that.") - return - // At this point, it's an armblade or a fireaxe that passed the wielded test, let's try to open it. - if(density) - spawn(0) - open(1) - else - spawn(0) - close(1) - else - ..() - else - ..() - return - -/obj/machinery/door/airlock/phoron/attackby(C as obj, mob/user as mob) - if(C) - ignite(is_hot(C)) - ..() - -/obj/machinery/door/airlock/set_broken() - src.p_open = 1 - stat |= BROKEN - if (secured_wires) - lock() - for (var/mob/O in viewers(src, null)) - if ((O.client && !( O.blinded ))) - O.show_message("[src.name]'s control panel bursts open, sparks spewing out!") - - var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread - s.set_up(5, 1, src) - s.start() - - update_icon() - return - -/obj/machinery/door/airlock/open(var/forced=0) - if(!can_open(forced)) - return 0 - use_power(360) //360 W seems much more appropriate for an actuator moving an industrial door capable of crushing people - - //if the door is unpowered then it doesn't make sense to hear the woosh of a pneumatic actuator - for(var/P in player_list) - var/mob/M = P - if(!M || !M.client) - continue - var/old_sounds = M.client.is_preference_enabled(/datum/client_preference/old_door_sounds) - var/department_door_sounds = M.client.is_preference_enabled(/datum/client_preference/department_door_sounds) - var/sound - var/volume - if(old_sounds) // Do we have old sounds enabled? Play these even if we have department door sounds enabled. - if(arePowerSystemsOn()) - sound = legacy_open_powered - volume = 50 - else - sound = open_sound_unpowered - volume = 75 - else if(!old_sounds && department_door_sounds && src.department_open_powered) // Else, we have old sounds disabled, the door has per-department door sounds, and we have chosen to play department door sounds, use these. - if(arePowerSystemsOn()) - sound = department_open_powered - volume = 50 - else - sound = open_sound_unpowered - volume = 75 - else // Else, play these. - if(arePowerSystemsOn()) - sound = open_sound_powered - volume = 50 - else - sound = open_sound_unpowered - volume = 75 - - var/turf/T = get_turf(M) - var/distance = get_dist(T, get_turf(src)) - if(distance <= world.view * 2) - if(T && T.z == get_z(src)) - M.playsound_local(get_turf(src), sound, volume, 1, null, 0, TRUE, sound(sound), volume_channel = VOLUME_CHANNEL_DOORS) - - if(src.closeOther != null && istype(src.closeOther, /obj/machinery/door/airlock/) && !src.closeOther.density) - src.closeOther.close() - return ..() - -/obj/machinery/door/airlock/can_open(var/forced=0) - if(!forced) - if(!arePowerSystemsOn() || wires.is_cut(WIRE_OPEN_DOOR)) - return 0 - - if(locked || welded) - return 0 - return ..() - -/obj/machinery/door/airlock/can_close(var/forced=0) - if(locked || welded) - return 0 - - if(!forced) - //despite the name, this wire is for general door control. - if(!arePowerSystemsOn() || wires.is_cut(WIRE_OPEN_DOOR)) - return 0 - - return ..() - -/atom/movable/proc/blocks_airlock() - return density - -/obj/machinery/door/blocks_airlock() - return 0 - -/obj/machinery/mech_sensor/blocks_airlock() - return 0 - -/mob/living/blocks_airlock() - return 1 - -/atom/movable/proc/airlock_crush(var/crush_damage) - return 0 - -/obj/machinery/portable_atmospherics/canister/airlock_crush(var/crush_damage) - . = ..() - health -= crush_damage - healthcheck() - -/obj/effect/energy_field/airlock_crush(var/crush_damage) - adjust_strength(crush_damage) - -/obj/structure/closet/airlock_crush(var/crush_damage) - ..() - damage(crush_damage) - for(var/atom/movable/AM in src) - AM.airlock_crush() - return 1 - -/mob/living/airlock_crush(var/crush_damage) - . = ..() - adjustBruteLoss(crush_damage) - SetStunned(5) - SetWeakened(5) - var/turf/T = get_turf(src) - T.add_blood(src) - return 1 - -/mob/living/carbon/airlock_crush(var/crush_damage) - . = ..() - if(can_feel_pain()) - emote("scream") - -/mob/living/silicon/robot/airlock_crush(var/crush_damage) - adjustBruteLoss(crush_damage) - return 0 - -/obj/machinery/door/airlock/close(var/forced=0) - if(!can_close(forced)) - return 0 - - if(safe) - for(var/turf/turf in locs) - for(var/atom/movable/AM in turf) - if(AM.blocks_airlock()) - if(!has_beeped) - playsound(src, 'sound/machines/buzz-two.ogg', 50, 0) - has_beeped = 1 - autoclose_in(6) - return - - for(var/turf/turf in locs) - for(var/atom/movable/AM in turf) - if(AM.airlock_crush(DOOR_CRUSH_DAMAGE)) - take_damage(DOOR_CRUSH_DAMAGE) - - use_power(360) //360 W seems much more appropriate for an actuator moving an industrial door capable of crushing people - has_beeped = 0 - for(var/P in player_list) - var/mob/M = P - if(!M || !M.client) - continue - var/old_sounds = M.client.is_preference_enabled(/datum/client_preference/old_door_sounds) - var/department_door_sounds = M.client.is_preference_enabled(/datum/client_preference/department_door_sounds) - var/sound - var/volume - if(old_sounds) - if(arePowerSystemsOn()) - sound = legacy_close_powered - volume = 50 - else - sound = open_sound_unpowered - volume = 75 - else if(!old_sounds && department_door_sounds && src.department_close_powered) // Else, we have old sounds disabled, the door has per-department door sounds, and we have chosen to play department door sounds, use these. - if(arePowerSystemsOn()) - sound = department_close_powered - volume = 50 - else - sound = open_sound_unpowered - volume = 75 - else - if(arePowerSystemsOn()) - sound = close_sound_powered - volume = 50 - else - sound = open_sound_unpowered - volume = 75 - - var/turf/T = get_turf(M) - var/distance = get_dist(T, get_turf(src)) - if(distance <= world.view * 2) - if(T && T.z == get_z(src)) - M.playsound_local(get_turf(src), sound, volume, 1, null, 0, TRUE, sound(sound), volume_channel = VOLUME_CHANNEL_DOORS) - for(var/turf/turf in locs) - var/obj/structure/window/killthis = (locate(/obj/structure/window) in turf) - if(killthis) - killthis.ex_act(2)//Smashin windows - return ..() - -/obj/machinery/door/airlock/proc/lock(var/forced=0) - if(locked) - return 0 - - if (operating && !forced) return 0 - - src.locked = 1 - playsound(src, bolt_down_sound, 30, 0, 3, volume_channel = VOLUME_CHANNEL_DOORS) - for(var/mob/M in range(1,src)) - M.show_message("You hear a click from the bottom of the door.", 2) - update_icon() - return 1 - -/obj/machinery/door/airlock/proc/unlock(var/forced=0) - if(!src.locked) - return - - if (!forced) - if(operating || !src.arePowerSystemsOn() || wires.is_cut(WIRE_DOOR_BOLTS)) return - - src.locked = 0 - playsound(src, bolt_up_sound, 30, 0, 3, volume_channel = VOLUME_CHANNEL_DOORS) - for(var/mob/M in range(1,src)) - M.show_message("You hear a click from the bottom of the door.", 2) - update_icon() - return 1 - -/obj/machinery/door/airlock/allowed(mob/M) - if(locked) - return 0 - return ..(M) - -/obj/machinery/door/airlock/New(var/newloc, var/obj/structure/door_assembly/assembly=null) - ..() - - //if assembly is given, create the new door from the assembly - if (assembly && istype(assembly)) - assembly_type = assembly.type - - electronics = assembly.electronics - electronics.loc = src - - //update the door's access to match the electronics' - secured_wires = electronics.secure - if(electronics.one_access) - LAZYCLEARLIST(req_access) - req_one_access = src.electronics.conf_access - else - LAZYCLEARLIST(req_one_access) - req_access = src.electronics.conf_access - - //get the name from the assembly - if(assembly.created_name) - name = assembly.created_name - else - name = "[istext(assembly.glass) ? "[assembly.glass] airlock" : assembly.base_name]" - - //get the dir from the assembly - set_dir(assembly.dir) - - //wires - var/turf/T = get_turf(newloc) - if(T && (T.z in using_map.admin_levels)) - secured_wires = 1 - if (secured_wires) - wires = new/datum/wires/airlock/secure(src) - else - wires = new/datum/wires/airlock(src) - -/obj/machinery/door/airlock/Initialize() - if(src.closeOtherId != null) - for (var/obj/machinery/door/airlock/A in machines) - if(A.closeOtherId == src.closeOtherId && A != src) - src.closeOther = A - break - name = "\improper [name]" - . = ..() - -/obj/machinery/door/airlock/Destroy() - qdel(wires) - wires = null - return ..() - -// Most doors will never be deconstructed over the course of a round, -// so as an optimization defer the creation of electronics until -// the airlock is deconstructed -/obj/machinery/door/airlock/proc/create_electronics() - //create new electronics - if (secured_wires) - src.electronics = new/obj/item/weapon/airlock_electronics/secure( src.loc ) - else - src.electronics = new/obj/item/weapon/airlock_electronics( src.loc ) - - //update the electronics to match the door's access - if(LAZYLEN(req_access)) - electronics.conf_access = req_access - else if (LAZYLEN(req_one_access)) - electronics.conf_access = req_one_access - electronics.one_access = 1 - -/obj/machinery/door/airlock/emp_act(var/severity) - if(prob(40/severity)) - var/duration = world.time + SecondsToTicks(30 / severity) - if(duration > electrified_until) - electrify(duration) - ..() - -/obj/machinery/door/airlock/power_change() //putting this is obj/machinery/door itself makes non-airlock doors turn invisible for some reason - ..() - if(stat & NOPOWER) - // If we lost power, disable electrification - // Keeping door lights on, runs on internal battery or something. - electrified_until = 0 - update_icon() - -/obj/machinery/door/airlock/proc/prison_open() - if(arePowerSystemsOn()) - src.unlock() - src.open() - src.lock() - return - - -/obj/machinery/door/airlock/rcd_values(mob/living/user, obj/item/weapon/rcd/the_rcd, passed_mode) - switch(passed_mode) - if(RCD_DECONSTRUCT) - // Old RCD code made it cost 10 units to decon an airlock. - // Now the new one costs ten "sheets". - return list( - RCD_VALUE_MODE = RCD_DECONSTRUCT, - RCD_VALUE_DELAY = 5 SECONDS, - RCD_VALUE_COST = RCD_SHEETS_PER_MATTER_UNIT * 10 - ) - return FALSE - -/obj/machinery/door/airlock/rcd_act(mob/living/user, obj/item/weapon/rcd/the_rcd, passed_mode) - switch(passed_mode) - if(RCD_DECONSTRUCT) - to_chat(user, span("notice", "You deconstruct \the [src].")) - qdel(src) - return TRUE - return FALSE -======= -//VOREStation Edit - Redone a lot of airlock things: -/* -- Specific department maintenance doors -- Named doors properly according to type -- Gave them default access levels with the access constants -- Improper'd all of the names in the new() -*/ - -/obj/machinery/door/airlock - name = "Airlock" - icon = 'icons/obj/doors/Doorint.dmi' - icon_state = "door_closed" - power_channel = ENVIRON - - explosion_resistance = 10 - - // Doors do their own stuff - bullet_vulnerability = 0 - - blocks_emissive = EMISSIVE_BLOCK_GENERIC // Not quite as nice as /tg/'s custom masks. We should make those sometime - - var/aiControlDisabled = 0 //If 1, AI control is disabled until the AI hacks back in and disables the lock. If 2, the AI has bypassed the lock. If -1, the control is enabled but the AI had bypassed it earlier, so if it is disabled again the AI would have no trouble getting back in. - var/hackProof = 0 // if 1, this door can't be hacked by the AI - var/electrified_until = 0 //World time when the door is no longer electrified. -1 if it is permanently electrified until someone fixes it. - var/main_power_lost_until = 0 //World time when main power is restored. - var/backup_power_lost_until = -1 //World time when backup power is restored. - var/has_beeped = 0 //If 1, will not beep on failed closing attempt. Resets when door closes. - var/spawnPowerRestoreRunning = 0 - var/welded = null - var/locked = 0 - var/lights = 1 // bolt lights show by default - var/aiDisabledIdScanner = 0 - var/aiHacking = 0 - var/obj/machinery/door/airlock/closeOther = null - var/closeOtherId = null - var/lockdownbyai = 0 - autoclose = 1 - var/assembly_type = /obj/structure/door_assembly - var/mineral = null - var/justzap = 0 - var/safe = 1 - normalspeed = 1 - var/obj/item/weapon/airlock_electronics/electronics = null - var/hasShocked = 0 //Prevents multiple shocks from happening - var/secured_wires = 0 - var/datum/wires/airlock/wires = null - - var/open_sound_powered = 'sound/machines/door/covert1o.ogg' - var/open_sound_unpowered = 'sound/machines/door/airlockforced.ogg' - var/close_sound_powered = 'sound/machines/door/covert1c.ogg' - var/legacy_open_powered = 'sound/machines/door/old_airlock.ogg' - var/legacy_close_powered = 'sound/machines/door/old_airlockclose.ogg' - var/department_open_powered = null - var/department_close_powered = null - var/denied_sound = 'sound/machines/deniedbeep.ogg' - var/bolt_up_sound = 'sound/machines/door/boltsup.ogg' - var/bolt_down_sound = 'sound/machines/door/boltsdown.ogg' - -/obj/machinery/door/airlock/attack_generic(var/mob/living/user, var/damage) - if(stat & (BROKEN|NOPOWER)) - if(damage >= STRUCTURE_MIN_DAMAGE_THRESHOLD) - if(src.locked || src.welded) - visible_message("\The [user] begins breaking into \the [src] internals!") - user.set_AI_busy(TRUE) // If the mob doesn't have an AI attached, this won't do anything. - if(do_after(user,10 SECONDS,src)) - src.locked = 0 - src.welded = 0 - update_icon() - open(1) - if(prob(25)) - src.shock(user, 100) - user.set_AI_busy(FALSE) - else if(src.density) - visible_message("\The [user] forces \the [src] open!") - open(1) - else - visible_message("\The [user] forces \the [src] closed!") - close(1) - else - visible_message("\The [user] strains fruitlessly to force \the [src] [density ? "open" : "closed"].") - return - ..() - -/obj/machinery/door/airlock/attack_alien(var/mob/user) //Familiar, right? Doors. -Mechoid - if(istype(user, /mob/living/carbon/human)) - var/mob/living/carbon/human/X = user - if(istype(X.species, /datum/species/xenos)) - if(src.locked || src.welded) - visible_message("\The [user] begins digging into \the [src] internals!") - src.do_animate("deny") - if(do_after(user,5 SECONDS,src)) - visible_message("\The [user] forces \the [src] open, sparks flying from its electronics!") - src.do_animate("spark") - playsound(src, 'sound/machines/door/airlock_creaking.ogg', 100, 1, volume_channel = VOLUME_CHANNEL_DOORS) - src.locked = 0 - src.welded = 0 - update_icon() - open(1) - src.emag_act() - else if(src.density) - visible_message("\The [user] begins forcing \the [src] open!") - if(do_after(user, 5 SECONDS,src)) - playsound(src, 'sound/machines/door/airlock_creaking.ogg', 100, 1, volume_channel = VOLUME_CHANNEL_DOORS) - visible_message("\The [user] forces \the [src] open!") - open(1) - else - visible_message("\The [user] forces \the [src] closed!") - close(1) - else - src.do_animate("deny") - visible_message("\The [user] strains fruitlessly to force \the [src] [density ? "open" : "closed"].") - return - ..() - -/obj/machinery/door/airlock/get_material() - if(mineral) - return get_material_by_name(mineral) - return get_material_by_name(MAT_STEEL) - -/obj/machinery/door/airlock/command - name = "Command Airlock" - icon = 'icons/obj/doors/Doorcom.dmi' - req_one_access = list(access_heads) - assembly_type = /obj/structure/door_assembly/door_assembly_com - open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. - close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. - department_open_powered = 'sound/machines/door/cmd3o.ogg' - department_close_powered = 'sound/machines/door/cmd3c.ogg' - -/obj/machinery/door/airlock/security - name = "Security Airlock" - icon = 'icons/obj/doors/Doorsec.dmi' - req_one_access = list(access_security) - assembly_type = /obj/structure/door_assembly/door_assembly_sec - open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. - close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. - department_open_powered = 'sound/machines/door/sec1o.ogg' - department_close_powered = 'sound/machines/door/sec1c.ogg' - -/obj/machinery/door/airlock/engineering - name = "Engineering Airlock" - icon = 'icons/obj/doors/Dooreng.dmi' - req_one_access = list(access_engine) - assembly_type = /obj/structure/door_assembly/door_assembly_eng - open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. - close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. - department_open_powered = 'sound/machines/door/eng1o.ogg' - department_close_powered = 'sound/machines/door/eng1c.ogg' - -/obj/machinery/door/airlock/engineeringatmos - name = "Atmospherics Airlock" - icon = 'icons/obj/doors/Doorengatmos.dmi' - req_one_access = list(access_atmospherics) - assembly_type = /obj/structure/door_assembly/door_assembly_eat - open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. - close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. - department_open_powered = 'sound/machines/door/eng1o.ogg' - department_close_powered = 'sound/machines/door/eng1c.ogg' - -/obj/machinery/door/airlock/medical - name = "Medical Airlock" - icon = 'icons/obj/doors/Doormed.dmi' - req_one_access = list(access_medical) - assembly_type = /obj/structure/door_assembly/door_assembly_med - open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. - close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. - department_open_powered = 'sound/machines/door/med1o.ogg' - department_close_powered = 'sound/machines/door/med1c.ogg' - -/obj/machinery/door/airlock/maintenance - name = "Maintenance Access" - icon = 'icons/obj/doors/Doormaint.dmi' - //req_one_access = list(access_maint_tunnels) //VOREStation Edit - Maintenance is open access - assembly_type = /obj/structure/door_assembly/door_assembly_mai - open_sound_powered = 'sound/machines/door/door2o.ogg' - close_sound_powered = 'sound/machines/door/door2c.ogg' - -/obj/machinery/door/airlock/maintenance/cargo - icon = 'icons/obj/doors/Doormaint_cargo.dmi' - req_one_access = list(access_cargo) - open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. - close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. - department_open_powered = 'sound/machines/door/door2o.ogg' - department_close_powered = 'sound/machines/door/door2c.ogg' - -/obj/machinery/door/airlock/maintenance/command - icon = 'icons/obj/doors/Doormaint_command.dmi' - req_one_access = list(access_heads) - -/obj/machinery/door/airlock/maintenance/common - icon = 'icons/obj/doors/Doormaint_common.dmi' - open_sound_powered = 'sound/machines/door/hall3o.ogg' - close_sound_powered = 'sound/machines/door/hall3c.ogg' - -/obj/machinery/door/airlock/maintenance/engi - icon = 'icons/obj/doors/Doormaint_engi.dmi' - req_one_access = list(access_engine) - -/obj/machinery/door/airlock/maintenance/int - icon = 'icons/obj/doors/Doormaint_int.dmi' - -/obj/machinery/door/airlock/maintenance/medical - icon = 'icons/obj/doors/Doormaint_med.dmi' - req_one_access = list(access_medical) - -/obj/machinery/door/airlock/maintenance/rnd - icon = 'icons/obj/doors/Doormaint_rnd.dmi' - req_one_access = list(access_research) - -/obj/machinery/door/airlock/maintenance/sec - icon = 'icons/obj/doors/Doormaint_sec.dmi' - req_one_access = list(access_security) - -/obj/machinery/door/airlock/external - name = "External Airlock" - icon = 'icons/obj/doors/Doorext.dmi' - assembly_type = /obj/structure/door_assembly/door_assembly_ext - open_sound_powered = 'sound/machines/door/space1o.ogg' - close_sound_powered = 'sound/machines/door/space1c.ogg' - -/obj/machinery/door/airlock/external/glass/bolted - icon_state = "door_locked" // So it looks visibly bolted in map editor - locked = 1 - -// For convenience in making docking ports: one that is pre-bolted with frequency set! -/obj/machinery/door/airlock/external/glass/bolted/cycling - frequency = 1379 - -/obj/machinery/door/airlock/glass_external - name = "External Airlock" - icon = 'icons/obj/doors/Doorextglass.dmi' - assembly_type = /obj/structure/door_assembly/door_assembly_ext - opacity = 0 - glass = 1 - req_one_access = list(access_external_airlocks) - open_sound_powered = 'sound/machines/door/space1o.ogg' - close_sound_powered = 'sound/machines/door/space1c.ogg' - -/obj/machinery/door/airlock/glass - name = "Glass Airlock" - icon = 'icons/obj/doors/Doorglass.dmi' - hitsound = 'sound/effects/Glasshit.ogg' - open_sound_powered = 'sound/machines/door/hall1o.ogg' - close_sound_powered = 'sound/machines/door/hall1c.ogg' - legacy_open_powered = 'sound/machines/door/windowdoor.ogg' - maxhealth = 300 - explosion_resistance = 5 - opacity = 0 - glass = 1 - -/obj/machinery/door/airlock/centcom - name = "Centcom Airlock" - icon = 'icons/obj/doors/Doorele.dmi' - req_one_access = list(access_cent_general) - opacity = 1 - open_sound_powered = 'sound/machines/door/cmd3o.ogg' - close_sound_powered = 'sound/machines/door/cmd3c.ogg' - -/obj/machinery/door/airlock/glass_centcom - name = "Airlock" - icon = 'icons/obj/doors/Dooreleglass.dmi' - opacity = 0 - glass = 1 - open_sound_powered = 'sound/machines/door/cmd3o.ogg' - close_sound_powered = 'sound/machines/door/cmd3c.ogg' - -/obj/machinery/door/airlock/vault - name = "Vault" - icon = 'icons/obj/doors/vault.dmi' - explosion_resistance = 20 - opacity = 1 - secured_wires = 1 - assembly_type = /obj/structure/door_assembly/door_assembly_highsecurity //Until somebody makes better sprites. - req_one_access = list(access_heads_vault) - open_sound_powered = 'sound/machines/door/vault1o.ogg' - close_sound_powered = 'sound/machines/door/vault1c.ogg' - -/obj/machinery/door/airlock/vault/bolted - icon_state = "door_locked" - locked = 1 - -/obj/machinery/door/airlock/freezer - name = "Freezer Airlock" - icon = 'icons/obj/doors/Doorfreezer.dmi' - opacity = 1 - assembly_type = /obj/structure/door_assembly/door_assembly_fre - -/obj/machinery/door/airlock/hatch - name = "Airtight Hatch" - icon = 'icons/obj/doors/Doorhatchele.dmi' - explosion_resistance = 20 - opacity = 1 - assembly_type = /obj/structure/door_assembly/door_assembly_hatch - req_one_access = list(access_maint_tunnels) - open_sound_powered = 'sound/machines/door/hatchopen.ogg' - close_sound_powered = 'sound/machines/door/hatchclose.ogg' - open_sound_unpowered = 'sound/machines/door/hatchforced.ogg' - -/obj/machinery/door/airlock/maintenance_hatch - name = "Maintenance Hatch" - icon = 'icons/obj/doors/Doorhatchmaint2.dmi' - explosion_resistance = 20 - opacity = 1 - assembly_type = /obj/structure/door_assembly/door_assembly_mhatch - req_one_access = list(access_maint_tunnels) - open_sound_powered = 'sound/machines/door/hatchopen.ogg' - close_sound_powered = 'sound/machines/door/hatchclose.ogg' - open_sound_unpowered = 'sound/machines/door/hatchforced.ogg' - -/obj/machinery/door/airlock/glass_command - name = "Command Airlock" - icon = 'icons/obj/doors/Doorcomglass.dmi' - hitsound = 'sound/effects/Glasshit.ogg' - maxhealth = 300 - explosion_resistance = 5 - opacity = 0 - assembly_type = /obj/structure/door_assembly/door_assembly_com - glass = 1 - req_one_access = list(access_heads) - open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. - close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. - department_open_powered = 'sound/machines/door/cmd1o.ogg' - department_close_powered = 'sound/machines/door/cmd1c.ogg' - -/obj/machinery/door/airlock/glass_engineering - name = "Engineering Airlock" - icon = 'icons/obj/doors/Doorengglass.dmi' - hitsound = 'sound/effects/Glasshit.ogg' - maxhealth = 300 - explosion_resistance = 5 - opacity = 0 - assembly_type = /obj/structure/door_assembly/door_assembly_eng - glass = 1 - req_one_access = list(access_engine) - department_open_powered = 'sound/machines/door/eng1o.ogg' - department_close_powered = 'sound/machines/door/eng1c.ogg' - -/obj/machinery/door/airlock/glass_engineeringatmos - name = "Atmospherics Airlock" - icon = 'icons/obj/doors/Doorengatmoglass.dmi' - hitsound = 'sound/effects/Glasshit.ogg' - maxhealth = 300 - explosion_resistance = 5 - opacity = 0 - assembly_type = /obj/structure/door_assembly/door_assembly_eat - glass = 1 - req_one_access = list(access_atmospherics) - open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. - close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. - department_open_powered = 'sound/machines/door/eng1o.ogg' - department_close_powered = 'sound/machines/door/eng1c.ogg' - -/obj/machinery/door/airlock/glass_security - name = "Security Airlock" - icon = 'icons/obj/doors/Doorsecglass.dmi' - hitsound = 'sound/effects/Glasshit.ogg' - maxhealth = 300 - explosion_resistance = 5 - opacity = 0 - assembly_type = /obj/structure/door_assembly/door_assembly_sec - glass = 1 - req_one_access = list(access_security) - open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. - close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. - department_open_powered = 'sound/machines/door/sec1o.ogg' - department_close_powered = 'sound/machines/door/sec1c.ogg' - -/obj/machinery/door/airlock/glass_medical - name = "Medical Airlock" - icon = 'icons/obj/doors/Doormedglass.dmi' - hitsound = 'sound/effects/Glasshit.ogg' - maxhealth = 300 - explosion_resistance = 5 - opacity = 0 - assembly_type = /obj/structure/door_assembly/door_assembly_med - glass = 1 - req_one_access = list(access_medical) - open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. - close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. - department_open_powered = 'sound/machines/door/med1o.ogg' - department_close_powered = 'sound/machines/door/med1c.ogg' - -/obj/machinery/door/airlock/mining - name = "Mining Airlock" - icon = 'icons/obj/doors/Doormining.dmi' - assembly_type = /obj/structure/door_assembly/door_assembly_min - req_one_access = list(access_mining) - open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. - close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. - department_open_powered = 'sound/machines/door/cgo1o.ogg' - department_close_powered = 'sound/machines/door/cgo1c.ogg' - -/obj/machinery/door/airlock/atmos - name = "Atmospherics Airlock" - icon = 'icons/obj/doors/Dooratmo.dmi' - assembly_type = /obj/structure/door_assembly/door_assembly_atmo - req_one_access = list(access_atmospherics) - open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. - close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. - department_open_powered = 'sound/machines/door/eng1o.ogg' - department_close_powered = 'sound/machines/door/eng1c.ogg' - -/obj/machinery/door/airlock/research - name = "Research Airlock" - icon = 'icons/obj/doors/Doorresearch.dmi' - assembly_type = /obj/structure/door_assembly/door_assembly_research - open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. - close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. - department_open_powered = 'sound/machines/door/sci1o.ogg' - department_close_powered = 'sound/machines/door/sci1c.ogg' - -/obj/machinery/door/airlock/glass_research - name = "Research Airlock" - icon = 'icons/obj/doors/Doorresearchglass.dmi' - hitsound = 'sound/effects/Glasshit.ogg' - maxhealth = 300 - explosion_resistance = 5 - opacity = 0 - assembly_type = /obj/structure/door_assembly/door_assembly_research - glass = 1 - req_one_access = list(access_research) - open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. - close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. - department_open_powered = 'sound/machines/door/sci1o.ogg' - department_close_powered = 'sound/machines/door/sci1c.ogg' - -/obj/machinery/door/airlock/glass_mining - name = "Mining Airlock" - icon = 'icons/obj/doors/Doorminingglass.dmi' - hitsound = 'sound/effects/Glasshit.ogg' - maxhealth = 300 - explosion_resistance = 5 - opacity = 0 - assembly_type = /obj/structure/door_assembly/door_assembly_min - glass = 1 - req_one_access = list(access_mining) - open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. - close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. - department_open_powered = 'sound/machines/door/cgo1o.ogg' - department_close_powered = 'sound/machines/door/cgo1c.ogg' - -/obj/machinery/door/airlock/glass_atmos - name = "Atmospherics Airlock" - icon = 'icons/obj/doors/Dooratmoglass.dmi' - hitsound = 'sound/effects/Glasshit.ogg' - maxhealth = 300 - explosion_resistance = 5 - opacity = 0 - assembly_type = /obj/structure/door_assembly/door_assembly_atmo - glass = 1 - req_one_access = list(access_atmospherics) - open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. - close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. - department_open_powered = 'sound/machines/door/eng1o.ogg' - department_close_powered = 'sound/machines/door/eng1c.ogg' - -/obj/machinery/door/airlock/gold - name = "Gold Airlock" - icon = 'icons/obj/doors/Doorgold.dmi' - mineral = "gold" - -/obj/machinery/door/airlock/silver - name = "Silver Airlock" - icon = 'icons/obj/doors/Doorsilver.dmi' - mineral = "silver" - -/obj/machinery/door/airlock/diamond - name = "Diamond Airlock" - icon = 'icons/obj/doors/Doordiamond.dmi' - mineral = "diamond" - -/obj/machinery/door/airlock/uranium - name = "Uranium Airlock" - desc = "And they said I was crazy." - icon = 'icons/obj/doors/Dooruranium.dmi' - mineral = "uranium" - var/last_event = 0 - var/rad_power = 7.5 - -/obj/machinery/door/airlock/process() - // Deliberate no call to parent. - if(main_power_lost_until > 0 && world.time >= main_power_lost_until) - regainMainPower() - - if(backup_power_lost_until > 0 && world.time >= backup_power_lost_until) - regainBackupPower() - - else if(electrified_until > 0 && world.time >= electrified_until) - electrify(0) - - if (..() == PROCESS_KILL && !(main_power_lost_until > 0 || backup_power_lost_until > 0 || electrified_until > 0)) - . = PROCESS_KILL - -/obj/machinery/door/airlock/uranium/process() - if(world.time > last_event+20) - if(prob(50)) - SSradiation.radiate(src, rad_power) - last_event = world.time - ..() - -/obj/machinery/door/airlock/phoron - name = "Phoron Airlock" - desc = "No way this can end badly." - icon = 'icons/obj/doors/Doorphoron.dmi' - mineral = "phoron" - -/obj/machinery/door/airlock/phoron/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume) - if(exposed_temperature > 300) - PhoronBurn(exposed_temperature) - -/obj/machinery/door/airlock/phoron/proc/ignite(exposed_temperature) - if(exposed_temperature > 300) - PhoronBurn(exposed_temperature) - -/obj/machinery/door/airlock/phoron/proc/PhoronBurn(temperature) - for(var/turf/simulated/floor/target_tile in range(2,loc)) - target_tile.assume_gas("phoron", 35, 400+T0C) - spawn (0) target_tile.hotspot_expose(temperature, 400) - for(var/turf/simulated/wall/W in range(3,src)) - W.burn((temperature/4))//Added so that you can't set off a massive chain reaction with a small flame - for(var/obj/machinery/door/airlock/phoron/D in range(3,src)) - D.ignite(temperature/4) - new/obj/structure/door_assembly( src.loc ) - qdel(src) - -/obj/machinery/door/airlock/sandstone - name = "Sandstone Airlock" - icon = 'icons/obj/doors/Doorsand.dmi' - mineral = "sandstone" - -/obj/machinery/door/airlock/science - name = "Research Airlock" - icon = 'icons/obj/doors/Doorsci.dmi' - assembly_type = /obj/structure/door_assembly/door_assembly_science - req_one_access = list(access_research) - open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. - close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. - department_open_powered = 'sound/machines/door/sci1o.ogg' - department_close_powered = 'sound/machines/door/sci1c.ogg' - -/obj/machinery/door/airlock/glass_science - name = "Glass Airlocks" - icon = 'icons/obj/doors/Doorsciglass.dmi' - opacity = 0 - assembly_type = /obj/structure/door_assembly/door_assembly_science - glass = 1 - req_one_access = list(access_research) - open_sound_powered = 'sound/machines/door/hall1o.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. - close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. - department_open_powered = 'sound/machines/door/sci1o.ogg' - department_close_powered = 'sound/machines/door/sci1c.ogg' - -/obj/machinery/door/airlock/highsecurity - name = "Secure Airlock" - icon = 'icons/obj/doors/hightechsecurity.dmi' - explosion_resistance = 20 - secured_wires = 1 - assembly_type = /obj/structure/door_assembly/door_assembly_highsecurity - req_one_access = list(access_heads_vault) - open_sound_powered = 'sound/machines/door/secure1o.ogg' - close_sound_powered = 'sound/machines/door/secure1c.ogg' - -/obj/machinery/door/airlock/voidcraft - name = "voidcraft hatch" - desc = "It's an extra resilient airlock intended for spacefaring vessels." - icon = 'icons/obj/doors/shuttledoors.dmi' - explosion_resistance = 20 - opacity = 0 - glass = 1 - assembly_type = /obj/structure/door_assembly/door_assembly_voidcraft - open_sound_powered = 'sound/machines/door/shuttle1o.ogg' - close_sound_powered = 'sound/machines/door/shuttle1c.ogg' - -// Airlock opens from top-bottom instead of left-right. -/obj/machinery/door/airlock/voidcraft/vertical - icon = 'icons/obj/doors/shuttledoors_vertical.dmi' - assembly_type = /obj/structure/door_assembly/door_assembly_voidcraft/vertical - open_sound_powered = 'sound/machines/door/shuttle1o.ogg' - close_sound_powered = 'sound/machines/door/shuttle1c.ogg' - - -/datum/category_item/catalogue/anomalous/precursor_a/alien_airlock - name = "Precursor Alpha Object - Doors" - desc = "This object appears to be used in order to restrict or allow access to \ - rooms based on its physical state. In other words, a door. \ - Despite being designed and created by unknown ancient alien hands, this door has \ - a large number of similarities to the conventional airlock, such as being driven by \ - electricity, opening and closing by physically moving, and being air tight. \ - It also operates by responding to signals through internal electrical conduits. \ - These characteristics make it possible for one with experience with a multitool \ - to manipulate the door.\ -

\ - The symbol on the door does not match any living species' patterns, giving further \ - implications that this door is very old, and yet it remains operational after \ - thousands of years. It is unknown if that is due to superb construction, or \ - unseen autonomous maintenance having been performed." - value = CATALOGUER_REWARD_EASY - -/obj/machinery/door/airlock/alien - name = "alien airlock" - desc = "You're fairly sure this is a door." - catalogue_data = list(/datum/category_item/catalogue/anomalous/precursor_a/alien_airlock) - icon = 'icons/obj/doors/Dooralien.dmi' - explosion_resistance = 20 - secured_wires = TRUE - hackProof = TRUE - assembly_type = /obj/structure/door_assembly/door_assembly_alien - req_one_access = list(access_alien) - -/obj/machinery/door/airlock/alien/locked - icon_state = "door_locked" - locked = TRUE - -/obj/machinery/door/airlock/alien/public // Entry to UFO. - req_one_access = list() - normalspeed = FALSE // So it closes faster and hopefully keeps the warm air inside. - hackProof = TRUE //VOREStation Edit - No borgos - -/* -About the new airlock wires panel: -* An airlock wire dialog can be accessed by the normal way or by using wirecutters or a multitool on the door while the wire-panel is open. This would show the following wires, which you can either wirecut/mend or send a multitool pulse through. There are 9 wires. -* one wire from the ID scanner. Sending a pulse through this flashes the red light on the door (if the door has power). If you cut this wire, the door will stop recognizing valid IDs. (If the door has 0000 access, it still opens and closes, though) -* two wires for power. Sending a pulse through either one causes a breaker to trip, disabling the door for 10 seconds if backup power is connected, or 1 minute if not (or until backup power comes back on, whichever is shorter). Cutting either one disables the main door power, but unless backup power is also cut, the backup power re-powers the door in 10 seconds. While unpowered, the door may be open, but bolts-raising will not work. Cutting these wires may electrocute the user. -* one wire for door bolts. Sending a pulse through this drops door bolts (whether the door is powered or not) or raises them (if it is). Cutting this wire also drops the door bolts, and mending it does not raise them. If the wire is cut, trying to raise the door bolts will not work. -* two wires for backup power. Sending a pulse through either one causes a breaker to trip, but this does not disable it unless main power is down too (in which case it is disabled for 1 minute or however long it takes main power to come back, whichever is shorter). Cutting either one disables the backup door power (allowing it to be crowbarred open, but disabling bolts-raising), but may electocute the user. -* one wire for opening the door. Sending a pulse through this while the door has power makes it open the door if no access is required. -* one wire for AI control. Sending a pulse through this blocks AI control for a second or so (which is enough to see the AI control light on the panel dialog go off and back on again). Cutting this prevents the AI from controlling the door unless it has hacked the door through the power connection (which takes about a minute). If both main and backup power are cut, as well as this wire, then the AI cannot operate or hack the door at all. -* one wire for electrifying the door. Sending a pulse through this electrifies the door for 30 seconds. Cutting this wire electrifies the door, so that the next person to touch the door without insulated gloves gets electrocuted. (Currently it is also STAYING electrified until someone mends the wire) -* one wire for controling door safetys. When active, door does not close on someone. When cut, door will ruin someone's shit. When pulsed, door will immedately ruin someone's shit. -* one wire for controlling door speed. When active, dor closes at normal rate. When cut, door does not close manually. When pulsed, door attempts to close every tick. -*/ - - - -/obj/machinery/door/airlock/bumpopen(mob/living/user as mob) //Airlocks now zap you when you 'bump' them open when they're electrified. --NeoFite - if(!issilicon(usr)) - if(src.isElectrified()) - if(!src.justzap) - if(src.shock(user, 100)) - src.justzap = 1 - spawn (10) - src.justzap = 0 - return - else /*if(src.justzap)*/ - return - else if(user.hallucination > 50 && prob(10) && src.operating == 0) - to_chat(user, "You feel a powerful shock course through your body!") - user.halloss += 10 - user.stunned += 10 - return - ..(user) - -/obj/machinery/door/airlock/proc/isElectrified() - if(src.electrified_until != 0) - return 1 - return 0 - -/obj/machinery/door/airlock/proc/canAIControl() - return ((src.aiControlDisabled!=1) && (!src.isAllPowerLoss())); - -/obj/machinery/door/airlock/proc/canAIHack() - return ((src.aiControlDisabled==1) && (!hackProof) && (!src.isAllPowerLoss())); - -/obj/machinery/door/airlock/proc/arePowerSystemsOn() - if (stat & (NOPOWER|BROKEN)) - return 0 - return (src.main_power_lost_until==0 || src.backup_power_lost_until==0) - -/obj/machinery/door/airlock/requiresID() - return !(wires.is_cut(WIRE_IDSCAN) || aiDisabledIdScanner) - -/obj/machinery/door/airlock/proc/isAllPowerLoss() - if(stat & (NOPOWER|BROKEN)) - return 1 - if(mainPowerCablesCut() && backupPowerCablesCut()) - return 1 - return 0 - -/obj/machinery/door/airlock/proc/mainPowerCablesCut() - return wires.is_cut(WIRE_MAIN_POWER1) || wires.is_cut(WIRE_MAIN_POWER2) - -/obj/machinery/door/airlock/proc/backupPowerCablesCut() - return wires.is_cut(WIRE_BACKUP_POWER1) || wires.is_cut(WIRE_BACKUP_POWER2) - -/obj/machinery/door/airlock/proc/loseMainPower() - main_power_lost_until = mainPowerCablesCut() ? -1 : world.time + SecondsToTicks(60) - - // If backup power is permanently disabled then activate in 10 seconds if possible, otherwise it's already enabled or a timer is already running - if(backup_power_lost_until == -1 && !backupPowerCablesCut()) - backup_power_lost_until = world.time + SecondsToTicks(10) - - if(main_power_lost_until > 0 || backup_power_lost_until > 0) - START_MACHINE_PROCESSING(src) - - // Disable electricity if required - if(electrified_until && isAllPowerLoss()) - electrify(0) - - update_icon() - -/obj/machinery/door/airlock/proc/loseBackupPower() - backup_power_lost_until = backupPowerCablesCut() ? -1 : world.time + SecondsToTicks(60) - - if(backup_power_lost_until > 0) - START_MACHINE_PROCESSING(src) - - // Disable electricity if required - if(electrified_until && isAllPowerLoss()) - electrify(0) - - update_icon() - -/obj/machinery/door/airlock/proc/regainMainPower() - if(!mainPowerCablesCut()) - main_power_lost_until = 0 - // If backup power is currently active then disable, otherwise let it count down and disable itself later - if(!backup_power_lost_until) - backup_power_lost_until = -1 - - update_icon() - -/obj/machinery/door/airlock/proc/regainBackupPower() - if(!backupPowerCablesCut()) - // Restore backup power only if main power is offline, otherwise permanently disable - backup_power_lost_until = main_power_lost_until == 0 ? -1 : 0 - - update_icon() - -/obj/machinery/door/airlock/proc/electrify(var/duration, var/feedback = 0) - var/message = "" - if(wires.is_cut(WIRE_ELECTRIFY) && arePowerSystemsOn()) - message = text("The electrification wire is cut - Door permanently electrified.") - src.electrified_until = -1 - else if(duration && !arePowerSystemsOn()) - message = text("The door is unpowered - Cannot electrify the door.") - src.electrified_until = 0 - else if(!duration && electrified_until != 0) - message = "The door is now un-electrified." - src.electrified_until = 0 - else if(duration) //electrify door for the given duration seconds - if(usr) - shockedby += text("\[[time_stamp()]\] - [usr](ckey:[usr.ckey])") - add_attack_logs(usr,name,"Electrified a door") - else - shockedby += text("\[[time_stamp()]\] - EMP)") - message = "The door is now electrified [duration == -1 ? "permanently" : "for [duration] second\s"]." - src.electrified_until = duration == -1 ? -1 : world.time + SecondsToTicks(duration) - - if(electrified_until > 0) - START_MACHINE_PROCESSING(src) - - if(feedback && message) - to_chat(usr,message) - -/obj/machinery/door/airlock/proc/set_idscan(var/activate, var/feedback = 0) - var/message = "" - if(wires.is_cut(WIRE_IDSCAN)) - message = "The IdScan wire is cut - IdScan feature permanently disabled." - else if(activate && src.aiDisabledIdScanner) - src.aiDisabledIdScanner = 0 - message = "IdScan feature has been enabled." - else if(!activate && !src.aiDisabledIdScanner) - src.aiDisabledIdScanner = 1 - message = "IdScan feature has been disabled." - - if(feedback && message) - to_chat(usr,message) - -/obj/machinery/door/airlock/proc/set_safeties(var/activate, var/feedback = 0) - var/message = "" - // Safeties! We don't need no stinking safeties! - if (wires.is_cut(WIRE_SAFETY)) - message = text("The safety wire is cut - Cannot enable safeties.") - else if (!activate && src.safe) - safe = 0 - else if (activate && !src.safe) - safe = 1 - - if(feedback && message) - to_chat(usr,message) - -// shock user with probability prb (if all connections & power are working) -// returns 1 if shocked, 0 otherwise -// The preceding comment was borrowed from the grille's shock script -/obj/machinery/door/airlock/shock(mob/user, prb) - if(!arePowerSystemsOn()) - return 0 - if(hasShocked) - return 0 //Already shocked someone recently? - if(..()) - hasShocked = 1 - sleep(10) - hasShocked = 0 - return 1 - else - return 0 - - -/obj/machinery/door/airlock/update_icon() - cut_overlays() - if(density) - if(locked && lights && src.arePowerSystemsOn()) - icon_state = "door_locked" - else - icon_state = "door_closed" - if(p_open || welded) - if(p_open) - add_overlay("panel_open") - if (!(stat & NOPOWER)) - if(stat & BROKEN) - add_overlay("sparks_broken") - else if (health < maxhealth * 3/4) - add_overlay("sparks_damaged") - if(welded) - add_overlay("welded") - else if (health < maxhealth * 3/4 && !(stat & NOPOWER)) - add_overlay("sparks_damaged") - else - icon_state = "door_open" - if((stat & BROKEN) && !(stat & NOPOWER)) - add_overlay("sparks_open") - return - -/obj/machinery/door/airlock/do_animate(animation) - switch(animation) - if("opening") - cut_overlay() - if(p_open) - spawn(2) // The only work around that works. Downside is that the door will be gone for a millisecond. - flick("o_door_opening", src) //can not use flick due to BYOND bug updating overlays right before flicking - update_icon() - else - flick("door_opening", src)//[stat ? "_stat":] - update_icon() - if("closing") - cut_overlay() - if(p_open) - spawn(2) - flick("o_door_closing", src) - update_icon() - else - flick("door_closing", src) - update_icon() - if("spark") - if(density) - flick("door_spark", src) - if("deny") - if(density && src.arePowerSystemsOn()) - flick("door_deny", src) - playsound(src, denied_sound, 50, 0, 3) - return - -/obj/machinery/door/airlock/attack_ai(mob/user as mob) - tgui_interact(user) - -/obj/machinery/door/airlock/attack_ghost(mob/user) - tgui_interact(user) - -/obj/machinery/door/airlock/tgui_interact(mob/user, datum/tgui/ui, datum/tgui/parent_ui, datum/tgui_state/custom_state) - ui = SStgui.try_update_ui(user, src, ui) - if(!ui) - ui = new(user, src, "AiAirlock", name) - ui.open() - if(custom_state) - ui.set_state(custom_state) - return TRUE - -/obj/machinery/door/airlock/tgui_data(mob/user) - var/list/data = list() - - var/list/power = list() - power["main"] = main_power_lost_until > 0 ? 0 : 2 - power["main_timeleft"] = round(main_power_lost_until > 0 ? max(main_power_lost_until - world.time, 0) / 10 : main_power_lost_until, 1) - power["backup"] = backup_power_lost_until > 0 ? 0 : 2 - power["backup_timeleft"] = round(backup_power_lost_until > 0 ? max(backup_power_lost_until - world.time, 0) / 10 : backup_power_lost_until, 1) - data["power"] = power - - data["shock"] = (electrified_until == 0) ? 2 : 0 - data["shock_timeleft"] = round(electrified_until > 0 ? max(electrified_until - world.time, 0) / 10 : electrified_until, 1) - data["id_scanner"] = !aiDisabledIdScanner - data["locked"] = locked // bolted - data["lights"] = lights // bolt lights - data["safe"] = safe // safeties - data["speed"] = normalspeed // safe speed - data["welded"] = welded // welded - data["opened"] = !density // opened - - var/list/wire = list() - wire["main_1"] = !wires.is_cut(WIRE_MAIN_POWER1) - wire["main_2"] = !wires.is_cut(WIRE_MAIN_POWER2) - wire["backup_1"] = !wires.is_cut(WIRE_BACKUP_POWER1) - wire["backup_2"] = !wires.is_cut(WIRE_BACKUP_POWER2) - wire["shock"] = !wires.is_cut(WIRE_ELECTRIFY) - wire["id_scanner"] = !wires.is_cut(WIRE_IDSCAN) - wire["bolts"] = !wires.is_cut(WIRE_DOOR_BOLTS) - wire["lights"] = !wires.is_cut(WIRE_BOLT_LIGHT) - wire["safe"] = !wires.is_cut(WIRE_SAFETY) - wire["timing"] = !wires.is_cut(WIRE_SPEED) - - data["wires"] = wire - return data - -/obj/machinery/door/airlock/proc/hack(mob/user as mob) - if(src.aiHacking==0) - src.aiHacking=1 - spawn(20) - //TODO: Make this take a minute - to_chat(user, "Airlock AI control has been blocked. Beginning fault-detection.") - sleep(50) - if(src.canAIControl()) - to_chat(user, "Alert cancelled. Airlock control has been restored without our assistance.") - src.aiHacking=0 - return - else if(!src.canAIHack(user)) - to_chat(user, "We've lost our connection! Unable to hack airlock.") - src.aiHacking=0 - return - to_chat(user, "Fault confirmed: airlock control wire disabled or cut.") - sleep(20) - to_chat(user, "Attempting to hack into airlock. This may take some time.") - sleep(200) - if(src.canAIControl()) - to_chat(user, "Alert cancelled. Airlock control has been restored without our assistance.") - src.aiHacking=0 - return - else if(!src.canAIHack(user)) - to_chat(user, "We've lost our connection! Unable to hack airlock.") - src.aiHacking=0 - return - to_chat(user, "Upload access confirmed. Loading control program into airlock software.") - sleep(170) - if(src.canAIControl()) - to_chat(user, "Alert cancelled. Airlock control has been restored without our assistance.") - src.aiHacking=0 - return - else if(!src.canAIHack(user)) - to_chat(user, "We've lost our connection! Unable to hack airlock.") - src.aiHacking=0 - return - to_chat(user, "Transfer complete. Forcing airlock to execute program.") - sleep(50) - //disable blocked control - src.aiControlDisabled = 2 - to_chat(user, "Receiving control information from airlock.") - sleep(10) - //bring up airlock dialog - src.aiHacking = 0 - if (user) - src.attack_ai(user) - -/obj/machinery/door/airlock/CanPass(atom/movable/mover, turf/target) - if (src.isElectrified()) - if (istype(mover, /obj/item)) - var/obj/item/i = mover - if (i.matter && (MAT_STEEL in i.matter) && i.matter[MAT_STEEL] > 0) - var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread - s.set_up(5, 1, src) - s.start() - return ..() - -/obj/machinery/door/airlock/attack_hand(mob/user as mob) - if(!istype(usr, /mob/living/silicon)) - if(src.isElectrified()) - if(src.shock(user, 100)) - return - - if(istype(user, /mob/living/carbon/human)) - var/mob/living/carbon/human/X = user - if(istype(X.species, /datum/species/xenos)) - src.attack_alien(user) - return - - if(src.p_open) - user.set_machine(src) - wires.Interact(user) - else - ..(user) - return - -/obj/machinery/door/airlock/tgui_act(action, params) - if(..()) - return TRUE - if(!user_allowed(usr)) - return TRUE - - switch(action) - if("disrupt-main") - if(!main_power_lost_until) - loseMainPower() - update_icon() - else - to_chat(usr, "Main power is already offline.") - . = TRUE - if("disrupt-backup") - if(!backup_power_lost_until) - loseBackupPower() - update_icon() - else - to_chat(usr, "Backup power is already offline.") - . = TRUE - if("shock-restore") - electrify(0, 1) - . = TRUE - if("shock-temp") - electrify(30, 1) - . = TRUE - if("shock-perm") - electrify(-1, 1) - . = TRUE - if("idscan-toggle") - set_idscan(aiDisabledIdScanner, 1) - . = TRUE - // if("emergency-toggle") - // toggle_emergency(usr) - // . = TRUE - if("bolt-toggle") - toggle_bolt(usr) - . = TRUE - if("light-toggle") - if(wires.is_cut(WIRE_BOLT_LIGHT)) - to_chat(usr, "The bolt lights wire is cut - The door bolt lights are permanently disabled.") - return - lights = !lights - update_icon() - . = TRUE - if("safe-toggle") - set_safeties(!safe, 1) - . = TRUE - if("speed-toggle") - if(wires.is_cut(WIRE_SPEED)) - to_chat(usr, "The timing wire is cut - Cannot alter timing.") - return - normalspeed = !normalspeed - . = TRUE - if("open-close") - user_toggle_open(usr) - . = TRUE - - update_icon() - return 1 - -/obj/machinery/door/airlock/proc/user_allowed(mob/user) - var/allowed = (issilicon(user) && canAIControl(user)) - if(!allowed && isobserver(user)) - var/mob/observer/dead/D = user - if(D.can_admin_interact()) - allowed = TRUE - return allowed - -/obj/machinery/door/airlock/proc/toggle_bolt(mob/user) - if(!user_allowed(user)) - return - if(wires.is_cut(WIRE_DOOR_BOLTS)) - to_chat(user, "The door bolt drop wire is cut - you can't toggle the door bolts.") - return - if(locked) - if(!arePowerSystemsOn()) - to_chat(user, "The door has no power - you can't raise the door bolts.") - else - unlock() - to_chat(user, "The door bolts have been raised.") - // log_combat(user, src, "unbolted") - else - lock() - to_chat(user, "The door bolts have been dropped.") - // log_combat(user, src, "bolted") - -/obj/machinery/door/airlock/proc/user_toggle_open(mob/user) - if(!user_allowed(user)) - return - if(welded) - to_chat(user, text("The airlock has been welded shut!")) - else if(locked) - to_chat(user, text("The door bolts are down!")) - else if(!density) - close() - else - open() - -/obj/machinery/door/airlock/proc/can_remove_electronics() - return src.p_open && (operating < 0 || (!operating && welded && !src.arePowerSystemsOn() && density && (!src.locked || (stat & BROKEN)))) - -/obj/machinery/door/airlock/attackby(obj/item/C, mob/user as mob) - //to_world("airlock attackby src [src] obj [C] mob [user]") - if(!istype(usr, /mob/living/silicon)) - if(src.isElectrified()) - if(src.shock(user, 75)) - return - if(istype(C, /obj/item/taperoll)) - return - - src.add_fingerprint(user) - if (attempt_vr(src,"attackby_vr",list(C, user))) return - if(istype(C, /mob/living)) - ..() - return - if(!repairing && istype(C, /obj/item/weapon/weldingtool) && !( src.operating > 0 ) && src.density) - var/obj/item/weapon/weldingtool/W = C - if(W.remove_fuel(0,user)) - if(!src.welded) - src.welded = 1 - else - src.welded = null - playsound(src, C.usesound, 75, 1) - src.update_icon() - return - else - return - else if(C.is_screwdriver()) - if (src.p_open) - if (stat & BROKEN) - to_chat(usr, "The panel is broken and cannot be closed.") - else - src.p_open = 0 - playsound(src, C.usesound, 50, 1) - else - src.p_open = 1 - playsound(src, C.usesound, 50, 1) - src.update_icon() - else if(C.is_wirecutter()) - return src.attack_hand(user) - else if(istype(C, /obj/item/device/multitool)) - return src.attack_hand(user) - else if(istype(C, /obj/item/device/assembly/signaler)) - return src.attack_hand(user) - else if(istype(C, /obj/item/weapon/pai_cable)) // -- TLE - var/obj/item/weapon/pai_cable/cable = C - cable.plugin(src, user) - else if(!repairing && C.is_crowbar()) - if(can_remove_electronics()) - playsound(src, C.usesound, 75, 1) - user.visible_message("[user] removes the electronics from the airlock assembly.", "You start to remove electronics from the airlock assembly.") - if(do_after(user,40 * C.toolspeed)) - to_chat(user, "You removed the airlock electronics!") - - var/obj/structure/door_assembly/da = new assembly_type(src.loc) - if (istype(da, /obj/structure/door_assembly/multi_tile)) - da.set_dir(src.dir) - - da.anchored = 1 - if(mineral) - da.glass = mineral - //else if(glass) - else if(glass && !da.glass) - da.glass = 1 - da.state = 1 - da.created_name = src.name - da.update_state() - - if(operating == -1 || (stat & BROKEN)) - new /obj/item/weapon/circuitboard/broken(src.loc) - operating = 0 - else - if (!electronics) create_electronics() - - electronics.loc = src.loc - electronics = null - - qdel(src) - return - else if(arePowerSystemsOn()) - to_chat(user, "The airlock's motors resist your efforts to force it.") - else if(locked) - to_chat(user, "The airlock's bolts prevent it from being forced.") - else - if(density) - spawn(0) open(1) - else - spawn(0) close(1) - - // Check if we're using a crowbar or armblade, and if the airlock's unpowered for whatever reason (off, broken, etc). - else if(istype(C, /obj/item/weapon)) - var/obj/item/weapon/W = C - if((W.pry == 1) && !arePowerSystemsOn()) - if(locked) - to_chat(user, "The airlock's bolts prevent it from being forced.") - else if( !welded && !operating ) - if(istype(C, /obj/item/weapon/material/twohanded/fireaxe)) // If this is a fireaxe, make sure it's held in two hands. - var/obj/item/weapon/material/twohanded/fireaxe/F = C - if(!F.wielded) - to_chat(user, "You need to be wielding \the [F] to do that.") - return - // At this point, it's an armblade or a fireaxe that passed the wielded test, let's try to open it. - if(density) - spawn(0) - open(1) - else - spawn(0) - close(1) - else - ..() - else - ..() - return - -/obj/machinery/door/airlock/phoron/attackby(C as obj, mob/user as mob) - if(C) - ignite(is_hot(C)) - ..() - -/obj/machinery/door/airlock/set_broken() - src.p_open = 1 - stat |= BROKEN - if (secured_wires) - lock() - for (var/mob/O in viewers(src, null)) - if ((O.client && !( O.blinded ))) - O.show_message("[src.name]'s control panel bursts open, sparks spewing out!") - - var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread - s.set_up(5, 1, src) - s.start() - - update_icon() - return - -/obj/machinery/door/airlock/open(var/forced=0) - if(!can_open(forced)) - return 0 - use_power(360) //360 W seems much more appropriate for an actuator moving an industrial door capable of crushing people - - //if the door is unpowered then it doesn't make sense to hear the woosh of a pneumatic actuator - for(var/P in player_list) - var/mob/M = P - if(!M || !M.client) - continue - var/old_sounds = M.client.is_preference_enabled(/datum/client_preference/old_door_sounds) - var/department_door_sounds = M.client.is_preference_enabled(/datum/client_preference/department_door_sounds) - var/sound - var/volume - if(old_sounds) // Do we have old sounds enabled? Play these even if we have department door sounds enabled. - if(arePowerSystemsOn()) - sound = legacy_open_powered - volume = 50 - else - sound = open_sound_unpowered - volume = 75 - else if(!old_sounds && department_door_sounds && src.department_open_powered) // Else, we have old sounds disabled, the door has per-department door sounds, and we have chosen to play department door sounds, use these. - if(arePowerSystemsOn()) - sound = department_open_powered - volume = 50 - else - sound = open_sound_unpowered - volume = 75 - else // Else, play these. - if(arePowerSystemsOn()) - sound = open_sound_powered - volume = 50 - else - sound = open_sound_unpowered - volume = 75 - - var/turf/T = get_turf(M) - var/distance = get_dist(T, get_turf(src)) - if(distance <= world.view * 2) - if(T && T.z == get_z(src)) - M.playsound_local(get_turf(src), sound, volume, 1, null, 0, TRUE, sound(sound), volume_channel = VOLUME_CHANNEL_DOORS) - - if(src.closeOther != null && istype(src.closeOther, /obj/machinery/door/airlock/) && !src.closeOther.density) - src.closeOther.close() - return ..() - -/obj/machinery/door/airlock/can_open(var/forced=0) - if(!forced) - if(!arePowerSystemsOn() || wires.is_cut(WIRE_OPEN_DOOR)) - return 0 - - if(locked || welded) - return 0 - return ..() - -/obj/machinery/door/airlock/can_close(var/forced=0) - if(locked || welded) - return 0 - - if(!forced) - //despite the name, this wire is for general door control. - if(!arePowerSystemsOn() || wires.is_cut(WIRE_OPEN_DOOR)) - return 0 - - return ..() - -/atom/movable/proc/blocks_airlock() - return density - -/obj/machinery/door/blocks_airlock() - return 0 - -/obj/machinery/mech_sensor/blocks_airlock() - return 0 - -/mob/living/blocks_airlock() - return 1 - -/atom/movable/proc/airlock_crush(var/crush_damage) - return 0 - -/obj/machinery/portable_atmospherics/canister/airlock_crush(var/crush_damage) - . = ..() - health -= crush_damage - healthcheck() - -/obj/effect/energy_field/airlock_crush(var/crush_damage) - adjust_strength(crush_damage) - -/obj/structure/closet/airlock_crush(var/crush_damage) - ..() - damage(crush_damage) - for(var/atom/movable/AM in src) - AM.airlock_crush() - return 1 - -/mob/living/airlock_crush(var/crush_damage) - . = ..() - adjustBruteLoss(crush_damage) - SetStunned(5) - SetWeakened(5) - var/turf/T = get_turf(src) - T.add_blood(src) - return 1 - -/mob/living/carbon/airlock_crush(var/crush_damage) - . = ..() - if(can_feel_pain()) - emote("scream") - -/mob/living/silicon/robot/airlock_crush(var/crush_damage) - adjustBruteLoss(crush_damage) - return 0 - -/obj/machinery/door/airlock/close(var/forced=0) - if(!can_close(forced)) - return 0 - - if(safe) - for(var/turf/turf in locs) - for(var/atom/movable/AM in turf) - if(AM.blocks_airlock()) - if(!has_beeped) - playsound(src, 'sound/machines/buzz-two.ogg', 50, 0) - has_beeped = 1 - autoclose_in(6) - return - - for(var/turf/turf in locs) - for(var/atom/movable/AM in turf) - if(AM.airlock_crush(DOOR_CRUSH_DAMAGE)) - take_damage(DOOR_CRUSH_DAMAGE) - - use_power(360) //360 W seems much more appropriate for an actuator moving an industrial door capable of crushing people - has_beeped = 0 - for(var/P in player_list) - var/mob/M = P - if(!M || !M.client) - continue - var/old_sounds = M.client.is_preference_enabled(/datum/client_preference/old_door_sounds) - var/department_door_sounds = M.client.is_preference_enabled(/datum/client_preference/department_door_sounds) - var/sound - var/volume - if(old_sounds) - if(arePowerSystemsOn()) - sound = legacy_close_powered - volume = 50 - else - sound = open_sound_unpowered - volume = 75 - else if(!old_sounds && department_door_sounds && src.department_close_powered) // Else, we have old sounds disabled, the door has per-department door sounds, and we have chosen to play department door sounds, use these. - if(arePowerSystemsOn()) - sound = department_close_powered - volume = 50 - else - sound = open_sound_unpowered - volume = 75 - else - if(arePowerSystemsOn()) - sound = close_sound_powered - volume = 50 - else - sound = open_sound_unpowered - volume = 75 - - var/turf/T = get_turf(M) - var/distance = get_dist(T, get_turf(src)) - if(distance <= world.view * 2) - if(T && T.z == get_z(src)) - M.playsound_local(get_turf(src), sound, volume, 1, null, 0, TRUE, sound(sound), volume_channel = VOLUME_CHANNEL_DOORS) - for(var/turf/turf in locs) - var/obj/structure/window/killthis = (locate(/obj/structure/window) in turf) - if(killthis) - killthis.ex_act(2)//Smashin windows - return ..() - -/obj/machinery/door/airlock/proc/lock(var/forced=0) - if(locked) - return 0 - - if (operating && !forced) return 0 - - src.locked = 1 - playsound(src, bolt_down_sound, 30, 0, 3, volume_channel = VOLUME_CHANNEL_DOORS) - for(var/mob/M in range(1,src)) - M.show_message("You hear a click from the bottom of the door.", 2) - update_icon() - return 1 - -/obj/machinery/door/airlock/proc/unlock(var/forced=0) - if(!src.locked) - return - - if (!forced) - if(operating || !src.arePowerSystemsOn() || wires.is_cut(WIRE_DOOR_BOLTS)) return - - src.locked = 0 - playsound(src, bolt_up_sound, 30, 0, 3, volume_channel = VOLUME_CHANNEL_DOORS) - for(var/mob/M in range(1,src)) - M.show_message("You hear a click from the bottom of the door.", 2) - update_icon() - return 1 - -/obj/machinery/door/airlock/allowed(mob/M) - if(locked) - return 0 - return ..(M) - -/obj/machinery/door/airlock/New(var/newloc, var/obj/structure/door_assembly/assembly=null) - ..() - - //if assembly is given, create the new door from the assembly - if (assembly && istype(assembly)) - assembly_type = assembly.type - - electronics = assembly.electronics - electronics.loc = src - - //update the door's access to match the electronics' - secured_wires = electronics.secure - if(electronics.one_access) - LAZYCLEARLIST(req_access) - req_one_access = src.electronics.conf_access - else - LAZYCLEARLIST(req_one_access) - req_access = src.electronics.conf_access - - //get the name from the assembly - if(assembly.created_name) - name = assembly.created_name - else - name = "[istext(assembly.glass) ? "[assembly.glass] airlock" : assembly.base_name]" - - //get the dir from the assembly - set_dir(assembly.dir) - - //wires - var/turf/T = get_turf(newloc) - if(T && (T.z in using_map.admin_levels)) - secured_wires = 1 - if (secured_wires) - wires = new/datum/wires/airlock/secure(src) - else - wires = new/datum/wires/airlock(src) - -/obj/machinery/door/airlock/Initialize() - if(src.closeOtherId != null) - for (var/obj/machinery/door/airlock/A in machines) - if(A.closeOtherId == src.closeOtherId && A != src) - src.closeOther = A - break - name = "\improper [name]" - . = ..() - -/obj/machinery/door/airlock/Destroy() - qdel(wires) - wires = null - return ..() - -// Most doors will never be deconstructed over the course of a round, -// so as an optimization defer the creation of electronics until -// the airlock is deconstructed -/obj/machinery/door/airlock/proc/create_electronics() - //create new electronics - if (secured_wires) - src.electronics = new/obj/item/weapon/airlock_electronics/secure( src.loc ) - else - src.electronics = new/obj/item/weapon/airlock_electronics( src.loc ) - - //update the electronics to match the door's access - if(LAZYLEN(req_access)) - electronics.conf_access = req_access - else if (LAZYLEN(req_one_access)) - electronics.conf_access = req_one_access - electronics.one_access = 1 - -/obj/machinery/door/airlock/emp_act(var/severity) - if(prob(40/severity)) - var/duration = world.time + SecondsToTicks(30 / severity) - if(duration > electrified_until) - electrify(duration) - ..() - -/obj/machinery/door/airlock/power_change() //putting this is obj/machinery/door itself makes non-airlock doors turn invisible for some reason - ..() - if(stat & NOPOWER) - // If we lost power, disable electrification - // Keeping door lights on, runs on internal battery or something. - electrified_until = 0 - update_icon() - -/obj/machinery/door/airlock/proc/prison_open() - if(arePowerSystemsOn()) - src.unlock() - src.open() - src.lock() - return - - -/obj/machinery/door/airlock/rcd_values(mob/living/user, obj/item/weapon/rcd/the_rcd, passed_mode) - switch(passed_mode) - if(RCD_DECONSTRUCT) - // Old RCD code made it cost 10 units to decon an airlock. - // Now the new one costs ten "sheets". - return list( - RCD_VALUE_MODE = RCD_DECONSTRUCT, - RCD_VALUE_DELAY = 5 SECONDS, - RCD_VALUE_COST = RCD_SHEETS_PER_MATTER_UNIT * 10 - ) - return FALSE - -/obj/machinery/door/airlock/rcd_act(mob/living/user, obj/item/weapon/rcd/the_rcd, passed_mode) - switch(passed_mode) - if(RCD_DECONSTRUCT) - to_chat(user, span("notice", "You deconstruct \the [src].")) - qdel(src) - return TRUE - return FALSE ->>>>>>> 8ab34365f1... Merge pull request #10852 from VOREStation/Arokha/matdefs From 627bc202a14ad1088935c61281ad87d002a43463 Mon Sep 17 00:00:00 2001 From: Nadyr <41974248+Darlantanis@users.noreply.github.com> Date: Fri, 9 Jul 2021 21:47:50 -0400 Subject: [PATCH 03/10] powder that makes you say yes --- code/game/mecha/micro/mechfab_designs_vr.dm | 18 +++--------------- 1 file changed, 3 insertions(+), 15 deletions(-) diff --git a/code/game/mecha/micro/mechfab_designs_vr.dm b/code/game/mecha/micro/mechfab_designs_vr.dm index e599f4c7f4..9542f758f4 100644 --- a/code/game/mecha/micro/mechfab_designs_vr.dm +++ b/code/game/mecha/micro/mechfab_designs_vr.dm @@ -173,13 +173,7 @@ name = "Weasel Right Leg" id = "weasel_right_leg" build_path = /obj/item/mecha_parts/micro/part/weasel_right_leg -<<<<<<< HEAD - materials = list(DEFAULT_WALL_MATERIAL = 12500) -||||||| parent of 8ab34365f1... Merge pull request #10852 from VOREStation/Arokha/matdefs - materials = list(DEFAULT_WALL_MATERIAL = 12500)*/ -======= - materials = list(MAT_STEEL = 12500)*/ ->>>>>>> 8ab34365f1... Merge pull request #10852 from VOREStation/Arokha/matdefs + materials = list(MAT_STEEL = 12500) /datum/design/item/mechfab/weasel/tri_leg name = "Weasel Tri Leg" @@ -191,13 +185,7 @@ name = "Weasel Head" id = "weasel_head" build_path = /obj/item/mecha_parts/micro/part/weasel_head -<<<<<<< HEAD - materials = list(DEFAULT_WALL_MATERIAL = 7000, "glass" = 2500) */ -||||||| parent of 8ab34365f1... Merge pull request #10852 from VOREStation/Arokha/matdefs - materials = list(DEFAULT_WALL_MATERIAL = 7000, "glass" = 2500) -======= - materials = list(MAT_STEEL = 7000, MAT_GLASS = 2500) ->>>>>>> 8ab34365f1... Merge pull request #10852 from VOREStation/Arokha/matdefs + materials = list(MAT_STEEL = 7000, MAT_GLASS = 2500) */ /datum/design/item/mecha/medigun //Who the fuck thought it was a good idea to put this here? name = "BL-3/P directed restoration system" @@ -205,4 +193,4 @@ id = "mech_medigun" req_tech = list(TECH_MATERIAL = 5, TECH_COMBAT = 5, TECH_BIO = 6) materials = list(MAT_STEEL = 8000, MAT_GOLD = 2000, MAT_SILVER = 1750, MAT_DIAMOND = 1500, MAT_PHORON = 4000) - build_path = /obj/item/mecha_parts/mecha_equipment/weapon/energy/medigun \ No newline at end of file + build_path = /obj/item/mecha_parts/mecha_equipment/weapon/energy/medigun From 21d2214bb3f069b1dbc6ad6d36da84af2ef934eb Mon Sep 17 00:00:00 2001 From: Nadyr <41974248+Darlantanis@users.noreply.github.com> Date: Fri, 9 Jul 2021 21:51:59 -0400 Subject: [PATCH 04/10] powder that makes you say yes --- .../modules/power/tesla/telsa_construction.dm | 68 +------------------ 1 file changed, 1 insertion(+), 67 deletions(-) diff --git a/code/modules/power/tesla/telsa_construction.dm b/code/modules/power/tesla/telsa_construction.dm index d1e8b0cf8c..498ee200d4 100644 --- a/code/modules/power/tesla/telsa_construction.dm +++ b/code/modules/power/tesla/telsa_construction.dm @@ -1,4 +1,3 @@ -<<<<<<< HEAD ////////////////////////// // Circuits and Research ////////////////////////// @@ -24,74 +23,9 @@ name = T_BOARD("grounding rod") build_path = /obj/machinery/power/grounding_rod board_type = new /datum/frame/frame_types/machine - matter = list(DEFAULT_WALL_MATERIAL = 50, "glass" = 50) + matter = list(MAT_STEEL = 50, MAT_GLASS = 50) req_components = list() /datum/category_item/autolathe/engineering/grounding_rod name = "grounding rod electronics" path = /obj/item/weapon/circuitboard/grounding_rod -||||||| parent of 8ab34365f1... Merge pull request #10852 from VOREStation/Arokha/matdefs -////////////////////////// -// Circuits and Research -////////////////////////// - -// Tesla coils are built as machines using a circuit researchable in RnD -/obj/item/weapon/circuitboard/tesla_coil - name = T_BOARD("tesla coil") - build_path = /obj/machinery/power/tesla_coil - board_type = new /datum/frame/frame_types/machine - origin_tech = list(TECH_MAGNET = 2, TECH_POWER = 4) - req_components = list(/obj/item/weapon/stock_parts/capacitor = 1) - -/datum/design/circuit/tesla_coil - name = "Machine Design (Tesla Coil Board)" - desc = "The circuit board for a tesla coil." - id = "tesla_coil" - build_path = /obj/item/weapon/circuitboard/tesla_coil - req_tech = list(TECH_MAGNET = 2, TECH_POWER = 4) - sort_string = "MAAAC" - -// Grounding rods can be built as machines using a circuit made in an autolathe. -/obj/item/weapon/circuitboard/grounding_rod - name = T_BOARD("grounding rod") - build_path = /obj/machinery/power/grounding_rod - board_type = new /datum/frame/frame_types/machine - matter = list(DEFAULT_WALL_MATERIAL = 50, "glass" = 50) - req_components = list() - -/datum/category_item/autolathe/engineering/grounding_rod - name = "grounding rod electronics" - path = /obj/item/weapon/circuitboard/grounding_rod -======= -////////////////////////// -// Circuits and Research -////////////////////////// - -// Tesla coils are built as machines using a circuit researchable in RnD -/obj/item/weapon/circuitboard/tesla_coil - name = T_BOARD("tesla coil") - build_path = /obj/machinery/power/tesla_coil - board_type = new /datum/frame/frame_types/machine - origin_tech = list(TECH_MAGNET = 2, TECH_POWER = 4) - req_components = list(/obj/item/weapon/stock_parts/capacitor = 1) - -/datum/design/circuit/tesla_coil - name = "Machine Design (Tesla Coil Board)" - desc = "The circuit board for a tesla coil." - id = "tesla_coil" - build_path = /obj/item/weapon/circuitboard/tesla_coil - req_tech = list(TECH_MAGNET = 2, TECH_POWER = 4) - sort_string = "MAAAC" - -// Grounding rods can be built as machines using a circuit made in an autolathe. -/obj/item/weapon/circuitboard/grounding_rod - name = T_BOARD("grounding rod") - build_path = /obj/machinery/power/grounding_rod - board_type = new /datum/frame/frame_types/machine - matter = list(MAT_STEEL = 50, MAT_GLASS = 50) - req_components = list() - -/datum/category_item/autolathe/engineering/grounding_rod - name = "grounding rod electronics" - path = /obj/item/weapon/circuitboard/grounding_rod ->>>>>>> 8ab34365f1... Merge pull request #10852 from VOREStation/Arokha/matdefs From 73196eaa8cd218f6c490a6e72dd8298ebecca68d Mon Sep 17 00:00:00 2001 From: Nadyr <41974248+Darlantanis@users.noreply.github.com> Date: Fri, 9 Jul 2021 21:55:45 -0400 Subject: [PATCH 05/10] powder that makes you say yes --- code/modules/projectiles/guns/energy/laser.dm | 28 +------------------ 1 file changed, 1 insertion(+), 27 deletions(-) diff --git a/code/modules/projectiles/guns/energy/laser.dm b/code/modules/projectiles/guns/energy/laser.dm index 6ceb6967f1..183ef62540 100644 --- a/code/modules/projectiles/guns/energy/laser.dm +++ b/code/modules/projectiles/guns/energy/laser.dm @@ -64,31 +64,6 @@ item_state = "lrifle" origin_tech = list(TECH_COMBAT = 4, TECH_MAGNET = 3) -<<<<<<< HEAD -||||||| parent of 8ab34365f1... Merge pull request #10852 from VOREStation/Arokha/matdefs -/obj/item/weapon/gun/energy/mininglaser - name = "mining-laser rifle" - desc = "A Hephaestus Industries G22T rifle, now only produced for its impeccable ability to break stone with its pulsating blasts." - description_fluff = "The leading arms producer in the SCG, Hephaestus typically only uses its 'top level' branding for its military-grade equipment used by armed forces across human space." - icon = 'icons/obj/gun2.dmi' - icon_state = "mininglaser" - item_state = "laser" - wielded_item_state = "laser-wielded" - fire_delay = 8 - slot_flags = SLOT_BELT|SLOT_BACK - w_class = ITEMSIZE_LARGE - force = 15 - origin_tech = list(TECH_COMBAT = 3, TECH_MAGNET = 2) - matter = list(DEFAULT_WALL_MATERIAL = 2000) - projectile_type = /obj/item/projectile/beam/mininglaser - one_handed_penalty = 30 - - firemodes = list( - list(mode_name="mining", fire_delay=8, projectile_type=/obj/item/projectile/beam/mininglaser, charge_cost = 200), - list(mode_name="deter", fire_delay=5, projectile_type=/obj/item/projectile/beam/weaklaser, charge_cost = 80), - ) - -======= /obj/item/weapon/gun/energy/mininglaser name = "mining-laser rifle" desc = "A Hephaestus Industries G22T rifle, now only produced for its impeccable ability to break stone with its pulsating blasts." @@ -111,7 +86,6 @@ list(mode_name="deter", fire_delay=5, projectile_type=/obj/item/projectile/beam/weaklaser, charge_cost = 80), ) ->>>>>>> 8ab34365f1... Merge pull request #10852 from VOREStation/Arokha/matdefs /obj/item/weapon/gun/energy/retro name = "retro laser" icon_state = "retro" @@ -354,4 +328,4 @@ projectile_type = /obj/item/projectile/scatter/laser w_class = ITEMSIZE_HUGE //CHOMP Edit. - slot_flags = SLOT_BELT|SLOT_BACK //CHOMP Edit because you can still holster it despite it not fitting in a backpack. \ No newline at end of file + slot_flags = SLOT_BELT|SLOT_BACK //CHOMP Edit because you can still holster it despite it not fitting in a backpack. From 7ddc05bfdace73b7534eadf1c1103a51b17d71ee Mon Sep 17 00:00:00 2001 From: Nadyr <41974248+Darlantanis@users.noreply.github.com> Date: Fri, 9 Jul 2021 21:57:23 -0400 Subject: [PATCH 06/10] powder that makes you say yes --- code/modules/projectiles/guns/energy/laser.dm | 22 ------------------- 1 file changed, 22 deletions(-) diff --git a/code/modules/projectiles/guns/energy/laser.dm b/code/modules/projectiles/guns/energy/laser.dm index 183ef62540..c19693207a 100644 --- a/code/modules/projectiles/guns/energy/laser.dm +++ b/code/modules/projectiles/guns/energy/laser.dm @@ -64,28 +64,6 @@ item_state = "lrifle" origin_tech = list(TECH_COMBAT = 4, TECH_MAGNET = 3) -/obj/item/weapon/gun/energy/mininglaser - name = "mining-laser rifle" - desc = "A Hephaestus Industries G22T rifle, now only produced for its impeccable ability to break stone with its pulsating blasts." - description_fluff = "The leading arms producer in the SCG, Hephaestus typically only uses its 'top level' branding for its military-grade equipment used by armed forces across human space." - icon = 'icons/obj/gun2.dmi' - icon_state = "mininglaser" - item_state = "laser" - wielded_item_state = "laser-wielded" - fire_delay = 8 - slot_flags = SLOT_BELT|SLOT_BACK - w_class = ITEMSIZE_LARGE - force = 15 - origin_tech = list(TECH_COMBAT = 3, TECH_MAGNET = 2) - matter = list(MAT_STEEL = 2000) - projectile_type = /obj/item/projectile/beam/mininglaser - one_handed_penalty = 30 - - firemodes = list( - list(mode_name="mining", fire_delay=8, projectile_type=/obj/item/projectile/beam/mininglaser, charge_cost = 200), - list(mode_name="deter", fire_delay=5, projectile_type=/obj/item/projectile/beam/weaklaser, charge_cost = 80), - ) - /obj/item/weapon/gun/energy/retro name = "retro laser" icon_state = "retro" From a768e3a8f94ed113b4195624f6b2b5ed1e207460 Mon Sep 17 00:00:00 2001 From: Nadyr <41974248+Darlantanis@users.noreply.github.com> Date: Fri, 9 Jul 2021 22:53:31 -0400 Subject: [PATCH 07/10] powder that makes you say yes --- code/modules/research/designs/power_cells.dm | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/code/modules/research/designs/power_cells.dm b/code/modules/research/designs/power_cells.dm index 76a558f227..5251b6cbb4 100644 --- a/code/modules/research/designs/power_cells.dm +++ b/code/modules/research/designs/power_cells.dm @@ -66,16 +66,8 @@ /datum/design/item/powercell/advance_device name = "device, advanced" build_type = PROTOLATHE -<<<<<<< HEAD id = "advance_device" - materials = list(DEFAULT_WALL_MATERIAL = 700, "glass" = 50) -||||||| parent of 8ab34365f1... Merge pull request #10852 from VOREStation/Arokha/matdefs - id = "weapon" - materials = list(DEFAULT_WALL_MATERIAL = 700, "glass" = 50) -======= - id = "weapon" materials = list(MAT_STEEL = 700, MAT_GLASS = 50) ->>>>>>> 8ab34365f1... Merge pull request #10852 from VOREStation/Arokha/matdefs build_path = /obj/item/weapon/cell/device/weapon category = list("Misc") sort_string = "BAABB" @@ -84,7 +76,7 @@ name = "device, super" id = "super_device" req_tech = list(TECH_POWER = 3, TECH_MATERIAL = 2) - materials = list(DEFAULT_WALL_MATERIAL = 700, "glass" = 70, "gold" = 50, "silver" = 20) + materials = list(MAT_STEEL = 700, MAT_GLASS = 70, "gold" = 50, "silver" = 20) build_path = /obj/item/weapon/cell/device/super category = list("Misc") sort_string = "BAABC" @@ -93,7 +85,7 @@ name = "device, hyper" id = "hyper_device" req_tech = list(TECH_POWER = 5, TECH_MATERIAL = 4) - materials = list(DEFAULT_WALL_MATERIAL = 1400, "glass" = 1400, "gold" = 150, "silver" = 150) + materials = list(MAT_STEEL = 1400, MAT_GLASS= 1400, "gold" = 150, "silver" = 150) build_path = /obj/item/weapon/cell/device/hyper category = list("Misc") sort_string = "BAABD" @@ -103,7 +95,7 @@ req_tech = list(TECH_POWER = 8, TECH_MATERIAL = 7, TECH_ARCANE = 2, TECH_PHORON = 4, TECH_PRECURSOR = 2) build_type = PROTOLATHE id = "omni-device" - materials = list(DEFAULT_WALL_MATERIAL = 1700, "glass" = 550, MAT_DURASTEEL = 230, MAT_MORPHIUM = 320, MAT_METALHYDROGEN = 600, MAT_URANIUM = 60, MAT_VERDANTIUM = 150, MAT_PHORON = 900) + materials = list(MAT_STEEL = 1700, MAT_GLASS = 550, MAT_DURASTEEL = 230, MAT_MORPHIUM = 320, MAT_METALHYDROGEN = 600, MAT_URANIUM = 60, MAT_VERDANTIUM = 150, MAT_PHORON = 900) build_path = /obj/item/weapon/cell/device/weapon/recharge/alien/omni category = list("Misc") sort_string = "BAABE" From 573006ca867ed6b4478eb7612980e4d630fc65dd Mon Sep 17 00:00:00 2001 From: Nadyr <41974248+Darlantanis@users.noreply.github.com> Date: Fri, 9 Jul 2021 23:01:43 -0400 Subject: [PATCH 08/10] powder that makes you say yes --- code/modules/research/designs/weapons.dm | 817 ++++++++--------------- 1 file changed, 279 insertions(+), 538 deletions(-) diff --git a/code/modules/research/designs/weapons.dm b/code/modules/research/designs/weapons.dm index 990085e1bd..f4a3833bc1 100644 --- a/code/modules/research/designs/weapons.dm +++ b/code/modules/research/designs/weapons.dm @@ -1,4 +1,262 @@ -<<<<<<< HEAD +<<<<<<< HEAD +/datum/design/item/weapon/AssembleDesignName() + ..() + name = "Weapon prototype ([item_name])" + +/datum/design/item/weapon/ammo/AssembleDesignName() + ..() + name = "Weapon ammo prototype ([item_name])" + +/datum/design/item/weapon/AssembleDesignDesc() + if(!desc) + if(build_path) + var/obj/item/I = build_path + desc = initial(I.desc) + ..() + +// Energy weapons + +/datum/design/item/weapon/energy/AssembleDesignName() + ..() + name = "Energy weapon prototype ([item_name])" + +/datum/design/item/weapon/energy/stunrevolver + id = "stunrevolver" + req_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 3, TECH_POWER = 2) + materials = list(MAT_STEEL = 4000) + build_path = /obj/item/weapon/gun/energy/stunrevolver + sort_string = "MAAAA" + +/datum/design/item/weapon/energy/nuclear_gun + id = "nuclear_gun" + req_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 5, TECH_POWER = 3) + materials = list(MAT_STEEL = 5000, MAT_GLASS = 1000, "uranium" = 500) + build_path = /obj/item/weapon/gun/energy/gun/nuclear + sort_string = "MAAAB" + +/datum/design/item/weapon/energy/phoronpistol + id = "ppistol" + req_tech = list(TECH_COMBAT = 5, TECH_PHORON = 4) + materials = list(MAT_STEEL = 5000, MAT_GLASS = 1000, "phoron" = 3000) + build_path = /obj/item/weapon/gun/energy/toxgun + sort_string = "MAAAC" + +/datum/design/item/weapon/energy/lasercannon + desc = "The lasing medium of this prototype is enclosed in a tube lined with uranium-235 and subjected to high neutron flux in a nuclear reactor core." + id = "lasercannon" + req_tech = list(TECH_COMBAT = 4, TECH_MATERIAL = 3, TECH_POWER = 3) + materials = list(MAT_STEEL = 10000, MAT_GLASS = 1000, "diamond" = 2000) + build_path = /obj/item/weapon/gun/energy/lasercannon + sort_string = "MAAAD" + +/datum/design/item/weapon/energy/decloner + id = "decloner" + req_tech = list(TECH_COMBAT = 8, TECH_MATERIAL = 7, TECH_BIO = 5, TECH_POWER = 6) + materials = list("gold" = 5000,"uranium" = 10000) + build_path = /obj/item/weapon/gun/energy/decloner + sort_string = "MAAAE" + +/datum/design/item/weapon/energy/temp_gun + desc = "A gun that shoots high-powered glass-encased energy temperature bullets." + id = "temp_gun" + req_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 4, TECH_POWER = 3, TECH_MAGNET = 2) + materials = list(MAT_STEEL = 5000, MAT_GLASS = 500, "silver" = 3000) + build_path = /obj/item/weapon/gun/energy/temperature + sort_string = "MAAAF" + +/datum/design/item/weapon/energy/flora_gun + id = "flora_gun" + req_tech = list(TECH_MATERIAL = 2, TECH_BIO = 3, TECH_POWER = 3) + materials = list(MAT_STEEL = 2000, MAT_GLASS = 500, "uranium" = 500) + build_path = /obj/item/weapon/gun/energy/floragun + sort_string = "MAAAG" + +// Ballistic weapons + +/datum/design/item/weapon/ballistic/AssembleDesignName() + ..() + name = "Ballistic weapon prototype ([item_name])" + +/datum/design/item/weapon/ballistic/advanced_smg + id = "smg" + desc = "An advanced 9mm SMG with a reflective laser optic." + req_tech = list(TECH_COMBAT = 4, TECH_MATERIAL = 3) + materials = list(MAT_STEEL = 8000, "silver" = 2000, "diamond" = 1000) + build_path = /obj/item/weapon/gun/projectile/automatic/advanced_smg + sort_string = "MABAA" + +// Ballistic ammo + +/datum/design/item/weapon/ballistic/ammo/AssembleDesignName() + ..() + name = "Ballistic weapon ammo prototype ([name])" + +/datum/design/item/weapon/ballistic/ammo/ammo_9mmAdvanced + name = "9mm magazine" + id = "ammo_9mm" + desc = "A 21 round magazine for an advanced 9mm SMG." + req_tech = list(TECH_COMBAT = 4, TECH_MATERIAL = 3) + materials = list(MAT_STEEL = 3750, "silver" = 100) // Requires silver for proprietary magazines! Or something. + build_path = /obj/item/ammo_magazine/m9mmAdvanced + sort_string = "MABBA" + +/datum/design/item/weapon/ballistic/ammo/stunshell + name = "stun shells" + desc = "A stunning shell for a shotgun." + id = "stunshell" + req_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 3) + materials = list(MAT_STEEL = 4000) + build_path = /obj/item/weapon/storage/box/stunshells + sort_string = "MABBB" + +/datum/design/item/weapon/ballistic/ammo/empshell + name = "emp shells" + desc = "An electromagnetic shell for a shotgun." + id = "empshell" + req_tech = list(TECH_COMBAT = 4, TECH_MAGNET = 3) + materials = list(MAT_STEEL = 4000, MAT_URANIUM = 1000) + build_path = /obj/item/weapon/storage/box/empshells + sort_string = "MABBC" + +// Phase weapons + +/datum/design/item/weapon/phase/AssembleDesignName() + ..() + name = "Phase weapon prototype ([item_name])" + +/* //VOREStation Removal Start // Chomp Edit : uncomment those weapons //CHOMP Edit: Comment again, move to weapons_ch because they have weapons locks now. +/datum/design/item/weapon/phase/phase_pistol + id = "phasepistol" + req_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 2, TECH_POWER = 2) + materials = list(MAT_STEEL = 4000) + build_path = /obj/item/weapon/gun/energy/phasegun/pistol + sort_string = "MACAA" + +/datum/design/item/weapon/phase/phase_carbine + id = "phasecarbine" + req_tech = list(TECH_COMBAT = 4, TECH_MATERIAL = 2, TECH_POWER = 2) + materials = list(MAT_STEEL = 6000, MAT_GLASS = 1500) + build_path = /obj/item/weapon/gun/energy/phasegun + sort_string = "MACAB" + +/datum/design/item/weapon/phase/phase_rifle + id = "phaserifle" + req_tech = list(TECH_COMBAT = 4, TECH_MATERIAL = 3, TECH_POWER = 3) + materials = list(MAT_STEEL = 7000, MAT_GLASS = 2000, "silver" = 500) + build_path = /obj/item/weapon/gun/energy/phasegun/rifle + sort_string = "MACAC" + +/datum/design/item/weapon/phase/phase_cannon + id = "phasecannon" + req_tech = list(TECH_COMBAT = 4, TECH_MATERIAL = 4, TECH_POWER = 4) + materials = list(MAT_STEELL = 10000, MAT_GLASS = 2000, "silver" = 1000, "diamond" = 750) + build_path = /obj/item/weapon/gun/energy/phasegun/cannon + sort_string = "MACAD" +*/ //VOREStation Removal End // Chomp Edit : uncomment those weapons + +// Other weapons + +/datum/design/item/weapon/rapidsyringe + id = "rapidsyringe" + req_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 3, TECH_ENGINEERING = 3, TECH_BIO = 2) + materials = list(MAT_STEEL = 5000, MAT_GLASS = 1000) + build_path = /obj/item/weapon/gun/launcher/syringe/rapid + sort_string = "MADAA" + +/datum/design/item/weapon/dartgun + desc = "A gun that fires small hollow chemical-payload darts." + id = "dartgun_r" + req_tech = list(TECH_COMBAT = 6, TECH_MATERIAL = 4, TECH_BIO = 4, TECH_MAGNET = 3, TECH_ILLEGAL = 1) + materials = list(MAT_STEEL = 5000, "gold" = 5000, "silver" = 2500, MAT_GLASS = 750) + build_path = /obj/item/weapon/gun/projectile/dartgun/research + sort_string = "MADAB" + +/datum/design/item/weapon/chemsprayer + desc = "An advanced chem spraying device." + id = "chemsprayer" + req_tech = list(TECH_MATERIAL = 3, TECH_ENGINEERING = 3, TECH_BIO = 2) + materials = list(MAT_STEEL = 5000, MAT_GLASS = 1000) + build_path = /obj/item/weapon/reagent_containers/spray/chemsprayer + sort_string = "MADAC" + +/datum/design/item/weapon/fuelrod + id = "fuelrod_gun" + req_tech = list(TECH_COMBAT = 6, TECH_MATERIAL = 4, TECH_PHORON = 4, TECH_ILLEGAL = 5, TECH_MAGNET = 5) + materials = list(MAT_STEEL = 10000, MAT_GLASS = 2000, "gold" = 500, "silver" = 500, "uranium" = 1000, "phoron" = 3000, "diamond" = 1000) + build_path = /obj/item/weapon/gun/magnetic/fuelrod + sort_string = "MADAD" + +// Ammo for those + +/datum/design/item/weapon/ammo/dartgunmag_small + id = "dartgun_mag_s" + req_tech = list(TECH_COMBAT = 6, TECH_MATERIAL = 2, TECH_BIO = 2, TECH_MAGNET = 1, TECH_ILLEGAL = 1) + materials = list(MAT_STEEL = 300, "gold" = 100, "silver" = 100, MAT_GLASS = 300) + build_path = /obj/item/ammo_magazine/chemdart/small + sort_string = "MADBA" + +/datum/design/item/weapon/ammo/dartgun_ammo_small + id = "dartgun_ammo_s" + req_tech = list(TECH_COMBAT = 6, TECH_MATERIAL = 2, TECH_BIO = 2, TECH_MAGNET = 1, TECH_ILLEGAL = 1) + materials = list(MAT_STEEL = 50, "gold" = 30, "silver" = 30, MAT_GLASS = 50) + build_path = /obj/item/ammo_casing/chemdart/small + sort_string = "MADBB" + +/datum/design/item/weapon/ammo/dartgunmag_med + id = "dartgun_mag_m" + req_tech = list(TECH_COMBAT = 7, TECH_MATERIAL = 2, TECH_BIO = 2, TECH_MAGNET = 1, TECH_ILLEGAL = 1) + materials = list(MAT_STEEL = 500, "gold" = 150, "silver" = 150, "diamond" = 200, MAT_GLASS = 400) + build_path = /obj/item/ammo_magazine/chemdart + sort_string = "MADBC" + +/datum/design/item/weapon/ammo/dartgun_ammo_med + id = "dartgun_ammo_m" + req_tech = list(TECH_COMBAT = 7, TECH_MATERIAL = 2, TECH_BIO = 2, TECH_MAGNET = 1, TECH_ILLEGAL = 1) + materials = list(MAT_STEEL = 80, "gold" = 40, "silver" = 40, MAT_GLASS = 60) + build_path = /obj/item/ammo_casing/chemdart + sort_string = "MADBD" + +/datum/design/item/weapon/ammo/flechette + id = "magnetic_ammo" + req_tech = list(TECH_COMBAT = 4, TECH_MATERIAL = 4, TECH_MAGNET = 4) + materials = list(MAT_STEEL = 500, "gold" = 300, MAT_GLASS = 150, MAT_PHORON = 100) + build_path = /obj/item/weapon/magnetic_ammo + sort_string = "MADBE" + +// Melee weapons + +/datum/design/item/weapon/melee/AssembleDesignName() + ..() + name = "Melee weapon prototype ([item_name])" + +/datum/design/item/weapon/melee/esword + name = "Portable Energy Blade" + id = "chargesword" + req_tech = list(TECH_COMBAT = 6, TECH_MAGNET = 4, TECH_ENGINEERING = 5, TECH_ILLEGAL = 4, TECH_ARCANE = 1) + materials = list(MAT_PLASTEEL = 3500, MAT_GLASS = 1000, MAT_LEAD = 2250, MAT_METALHYDROGEN = 500) + build_path = /obj/item/weapon/melee/energy/sword/charge + sort_string = "MBAAA" + +/datum/design/item/weapon/melee/eaxe + name = "Energy Axe" + id = "chargeaxe" + req_tech = list(TECH_COMBAT = 6, TECH_MAGNET = 5, TECH_ENGINEERING = 4, TECH_ILLEGAL = 4) + materials = list(MAT_PLASTEEL = 3500, MAT_OSMIUM = 2000, MAT_LEAD = 2000, MAT_METALHYDROGEN = 500) + build_path = /obj/item/weapon/melee/energy/axe/charge + sort_string = "MBAAB" + +// Grenade stuff +/datum/design/item/weapon/grenade/AssembleDesignName() + ..() + name = "Grenade casing prototype ([item_name])" + +/datum/design/item/weapon/grenade/large_grenade + id = "large_Grenade" + req_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 2) + materials = list(DEFAULT_WALL_MATERIAL = 3000) + build_path = /obj/item/weapon/grenade/chem_grenade/large + sort_string = "MCAAA" +||||||| parent of 8ab34365f1... Merge pull request #10852 from VOREStation/Arokha/matdefs /datum/design/item/weapon/AssembleDesignName() ..() name = "Weapon prototype ([item_name])" @@ -30,14 +288,14 @@ /datum/design/item/weapon/energy/nuclear_gun id = "nuclear_gun" req_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 5, TECH_POWER = 3) - materials = list(DEFAULT_WALL_MATERIAL = 5000, "glass" = 1000, "uranium" = 500) + materials = list(DEFAULT_WALL_MATERIAL = 5000, MAT_GLASS = 1000, "uranium" = 500) build_path = /obj/item/weapon/gun/energy/gun/nuclear sort_string = "MAAAB" /datum/design/item/weapon/energy/phoronpistol id = "ppistol" req_tech = list(TECH_COMBAT = 5, TECH_PHORON = 4) - materials = list(DEFAULT_WALL_MATERIAL = 5000, "glass" = 1000, "phoron" = 3000) + materials = list(DEFAULT_WALL_MATERIAL = 5000, MAT_GLASS = 1000, "phoron" = 3000) build_path = /obj/item/weapon/gun/energy/toxgun sort_string = "MAAAC" @@ -45,7 +303,7 @@ desc = "The lasing medium of this prototype is enclosed in a tube lined with uranium-235 and subjected to high neutron flux in a nuclear reactor core." id = "lasercannon" req_tech = list(TECH_COMBAT = 4, TECH_MATERIAL = 3, TECH_POWER = 3) - materials = list(DEFAULT_WALL_MATERIAL = 10000, "glass" = 1000, "diamond" = 2000) + materials = list(DEFAULT_WALL_MATERIAL = 10000, MAT_GLASS = 1000, "diamond" = 2000) build_path = /obj/item/weapon/gun/energy/lasercannon sort_string = "MAAAD" @@ -60,14 +318,14 @@ desc = "A gun that shoots high-powered glass-encased energy temperature bullets." id = "temp_gun" req_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 4, TECH_POWER = 3, TECH_MAGNET = 2) - materials = list(DEFAULT_WALL_MATERIAL = 5000, "glass" = 500, "silver" = 3000) + materials = list(DEFAULT_WALL_MATERIAL = 5000, MAT_GLASS = 500, "silver" = 3000) build_path = /obj/item/weapon/gun/energy/temperature sort_string = "MAAAF" /datum/design/item/weapon/energy/flora_gun id = "flora_gun" req_tech = list(TECH_MATERIAL = 2, TECH_BIO = 3, TECH_POWER = 3) - materials = list(DEFAULT_WALL_MATERIAL = 2000, "glass" = 500, "uranium" = 500) + materials = list(DEFAULT_WALL_MATERIAL = 2000, MAT_GLASS = 500, "uranium" = 500) build_path = /obj/item/weapon/gun/energy/floragun sort_string = "MAAAG" @@ -124,7 +382,7 @@ ..() name = "Phase weapon prototype ([item_name])" -/* //VOREStation Removal Start // Chomp Edit : uncomment those weapons //CHOMP Edit: Comment again, move to weapons_ch because they have weapons locks now. +/* //VOREStation Removal Start /datum/design/item/weapon/phase/phase_pistol id = "phasepistol" req_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 2, TECH_POWER = 2) @@ -135,31 +393,31 @@ /datum/design/item/weapon/phase/phase_carbine id = "phasecarbine" req_tech = list(TECH_COMBAT = 4, TECH_MATERIAL = 2, TECH_POWER = 2) - materials = list(DEFAULT_WALL_MATERIAL = 6000, "glass" = 1500) + materials = list(DEFAULT_WALL_MATERIAL = 6000, MAT_GLASS = 1500) build_path = /obj/item/weapon/gun/energy/phasegun sort_string = "MACAB" /datum/design/item/weapon/phase/phase_rifle id = "phaserifle" req_tech = list(TECH_COMBAT = 4, TECH_MATERIAL = 3, TECH_POWER = 3) - materials = list(DEFAULT_WALL_MATERIAL = 7000, "glass" = 2000, "silver" = 500) + materials = list(DEFAULT_WALL_MATERIAL = 7000, MAT_GLASS = 2000, "silver" = 500) build_path = /obj/item/weapon/gun/energy/phasegun/rifle sort_string = "MACAC" /datum/design/item/weapon/phase/phase_cannon id = "phasecannon" req_tech = list(TECH_COMBAT = 4, TECH_MATERIAL = 4, TECH_POWER = 4) - materials = list(DEFAULT_WALL_MATERIAL = 10000, "glass" = 2000, "silver" = 1000, "diamond" = 750) + materials = list(DEFAULT_WALL_MATERIAL = 10000, MAT_GLASS = 2000, "silver" = 1000, "diamond" = 750) build_path = /obj/item/weapon/gun/energy/phasegun/cannon sort_string = "MACAD" -*/ //VOREStation Removal End // Chomp Edit : uncomment those weapons +*/ //VOREStation Removal End // Other weapons /datum/design/item/weapon/rapidsyringe id = "rapidsyringe" req_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 3, TECH_ENGINEERING = 3, TECH_BIO = 2) - materials = list(DEFAULT_WALL_MATERIAL = 5000, "glass" = 1000) + materials = list(DEFAULT_WALL_MATERIAL = 5000, MAT_GLASS = 1000) build_path = /obj/item/weapon/gun/launcher/syringe/rapid sort_string = "MADAA" @@ -167,7 +425,7 @@ desc = "A gun that fires small hollow chemical-payload darts." id = "dartgun_r" req_tech = list(TECH_COMBAT = 6, TECH_MATERIAL = 4, TECH_BIO = 4, TECH_MAGNET = 3, TECH_ILLEGAL = 1) - materials = list(DEFAULT_WALL_MATERIAL = 5000, "gold" = 5000, "silver" = 2500, "glass" = 750) + materials = list(DEFAULT_WALL_MATERIAL = 5000, "gold" = 5000, "silver" = 2500, MAT_GLASS = 750) build_path = /obj/item/weapon/gun/projectile/dartgun/research sort_string = "MADAB" @@ -175,14 +433,14 @@ desc = "An advanced chem spraying device." id = "chemsprayer" req_tech = list(TECH_MATERIAL = 3, TECH_ENGINEERING = 3, TECH_BIO = 2) - materials = list(DEFAULT_WALL_MATERIAL = 5000, "glass" = 1000) + materials = list(DEFAULT_WALL_MATERIAL = 5000, MAT_GLASS = 1000) build_path = /obj/item/weapon/reagent_containers/spray/chemsprayer sort_string = "MADAC" /datum/design/item/weapon/fuelrod id = "fuelrod_gun" req_tech = list(TECH_COMBAT = 6, TECH_MATERIAL = 4, TECH_PHORON = 4, TECH_ILLEGAL = 5, TECH_MAGNET = 5) - materials = list(DEFAULT_WALL_MATERIAL = 10000, "glass" = 2000, "gold" = 500, "silver" = 500, "uranium" = 1000, "phoron" = 3000, "diamond" = 1000) + materials = list(DEFAULT_WALL_MATERIAL = 10000, MAT_GLASS = 2000, "gold" = 500, "silver" = 500, "uranium" = 1000, "phoron" = 3000, "diamond" = 1000) build_path = /obj/item/weapon/gun/magnetic/fuelrod sort_string = "MADAD" @@ -191,35 +449,35 @@ /datum/design/item/weapon/ammo/dartgunmag_small id = "dartgun_mag_s" req_tech = list(TECH_COMBAT = 6, TECH_MATERIAL = 2, TECH_BIO = 2, TECH_MAGNET = 1, TECH_ILLEGAL = 1) - materials = list(DEFAULT_WALL_MATERIAL = 300, "gold" = 100, "silver" = 100, "glass" = 300) + materials = list(DEFAULT_WALL_MATERIAL = 300, "gold" = 100, "silver" = 100, MAT_GLASS = 300) build_path = /obj/item/ammo_magazine/chemdart/small sort_string = "MADBA" /datum/design/item/weapon/ammo/dartgun_ammo_small id = "dartgun_ammo_s" req_tech = list(TECH_COMBAT = 6, TECH_MATERIAL = 2, TECH_BIO = 2, TECH_MAGNET = 1, TECH_ILLEGAL = 1) - materials = list(DEFAULT_WALL_MATERIAL = 50, "gold" = 30, "silver" = 30, "glass" = 50) + materials = list(DEFAULT_WALL_MATERIAL = 50, "gold" = 30, "silver" = 30, MAT_GLASS = 50) build_path = /obj/item/ammo_casing/chemdart/small sort_string = "MADBB" /datum/design/item/weapon/ammo/dartgunmag_med id = "dartgun_mag_m" req_tech = list(TECH_COMBAT = 7, TECH_MATERIAL = 2, TECH_BIO = 2, TECH_MAGNET = 1, TECH_ILLEGAL = 1) - materials = list(DEFAULT_WALL_MATERIAL = 500, "gold" = 150, "silver" = 150, "diamond" = 200, "glass" = 400) + materials = list(DEFAULT_WALL_MATERIAL = 500, "gold" = 150, "silver" = 150, "diamond" = 200, MAT_GLASS = 400) build_path = /obj/item/ammo_magazine/chemdart sort_string = "MADBC" /datum/design/item/weapon/ammo/dartgun_ammo_med id = "dartgun_ammo_m" req_tech = list(TECH_COMBAT = 7, TECH_MATERIAL = 2, TECH_BIO = 2, TECH_MAGNET = 1, TECH_ILLEGAL = 1) - materials = list(DEFAULT_WALL_MATERIAL = 80, "gold" = 40, "silver" = 40, "glass" = 60) + materials = list(DEFAULT_WALL_MATERIAL = 80, "gold" = 40, "silver" = 40, MAT_GLASS = 60) build_path = /obj/item/ammo_casing/chemdart sort_string = "MADBD" /datum/design/item/weapon/ammo/flechette id = "magnetic_ammo" req_tech = list(TECH_COMBAT = 4, TECH_MATERIAL = 4, TECH_MAGNET = 4) - materials = list(DEFAULT_WALL_MATERIAL = 500, "gold" = 300, "glass" = 150, MAT_PHORON = 100) + materials = list(DEFAULT_WALL_MATERIAL = 500, "gold" = 300, MAT_GLASS = 150, MAT_PHORON = 100) build_path = /obj/item/weapon/magnetic_ammo sort_string = "MADBE" @@ -233,7 +491,7 @@ name = "Portable Energy Blade" id = "chargesword" req_tech = list(TECH_COMBAT = 6, TECH_MAGNET = 4, TECH_ENGINEERING = 5, TECH_ILLEGAL = 4, TECH_ARCANE = 1) - materials = list(MAT_PLASTEEL = 3500, "glass" = 1000, MAT_LEAD = 2250, MAT_METALHYDROGEN = 500) + materials = list(MAT_PLASTEEL = 3500, MAT_GLASS = 1000, MAT_LEAD = 2250, MAT_METALHYDROGEN = 500) build_path = /obj/item/weapon/melee/energy/sword/charge sort_string = "MBAAA" @@ -256,520 +514,3 @@ materials = list(DEFAULT_WALL_MATERIAL = 3000) build_path = /obj/item/weapon/grenade/chem_grenade/large sort_string = "MCAAA" -||||||| parent of 8ab34365f1... Merge pull request #10852 from VOREStation/Arokha/matdefs -/datum/design/item/weapon/AssembleDesignName() - ..() - name = "Weapon prototype ([item_name])" - -/datum/design/item/weapon/ammo/AssembleDesignName() - ..() - name = "Weapon ammo prototype ([item_name])" - -/datum/design/item/weapon/AssembleDesignDesc() - if(!desc) - if(build_path) - var/obj/item/I = build_path - desc = initial(I.desc) - ..() - -// Energy weapons - -/datum/design/item/weapon/energy/AssembleDesignName() - ..() - name = "Energy weapon prototype ([item_name])" - -/datum/design/item/weapon/energy/stunrevolver - id = "stunrevolver" - req_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 3, TECH_POWER = 2) - materials = list(DEFAULT_WALL_MATERIAL = 4000) - build_path = /obj/item/weapon/gun/energy/stunrevolver - sort_string = "MAAAA" - -/datum/design/item/weapon/energy/nuclear_gun - id = "nuclear_gun" - req_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 5, TECH_POWER = 3) - materials = list(DEFAULT_WALL_MATERIAL = 5000, "glass" = 1000, "uranium" = 500) - build_path = /obj/item/weapon/gun/energy/gun/nuclear - sort_string = "MAAAB" - -/datum/design/item/weapon/energy/phoronpistol - id = "ppistol" - req_tech = list(TECH_COMBAT = 5, TECH_PHORON = 4) - materials = list(DEFAULT_WALL_MATERIAL = 5000, "glass" = 1000, "phoron" = 3000) - build_path = /obj/item/weapon/gun/energy/toxgun - sort_string = "MAAAC" - -/datum/design/item/weapon/energy/lasercannon - desc = "The lasing medium of this prototype is enclosed in a tube lined with uranium-235 and subjected to high neutron flux in a nuclear reactor core." - id = "lasercannon" - req_tech = list(TECH_COMBAT = 4, TECH_MATERIAL = 3, TECH_POWER = 3) - materials = list(DEFAULT_WALL_MATERIAL = 10000, "glass" = 1000, "diamond" = 2000) - build_path = /obj/item/weapon/gun/energy/lasercannon - sort_string = "MAAAD" - -/datum/design/item/weapon/energy/decloner - id = "decloner" - req_tech = list(TECH_COMBAT = 8, TECH_MATERIAL = 7, TECH_BIO = 5, TECH_POWER = 6) - materials = list("gold" = 5000,"uranium" = 10000) - build_path = /obj/item/weapon/gun/energy/decloner - sort_string = "MAAAE" - -/datum/design/item/weapon/energy/temp_gun - desc = "A gun that shoots high-powered glass-encased energy temperature bullets." - id = "temp_gun" - req_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 4, TECH_POWER = 3, TECH_MAGNET = 2) - materials = list(DEFAULT_WALL_MATERIAL = 5000, "glass" = 500, "silver" = 3000) - build_path = /obj/item/weapon/gun/energy/temperature - sort_string = "MAAAF" - -/datum/design/item/weapon/energy/flora_gun - id = "flora_gun" - req_tech = list(TECH_MATERIAL = 2, TECH_BIO = 3, TECH_POWER = 3) - materials = list(DEFAULT_WALL_MATERIAL = 2000, "glass" = 500, "uranium" = 500) - build_path = /obj/item/weapon/gun/energy/floragun - sort_string = "MAAAG" - -// Ballistic weapons - -/datum/design/item/weapon/ballistic/AssembleDesignName() - ..() - name = "Ballistic weapon prototype ([item_name])" - -/datum/design/item/weapon/ballistic/advanced_smg - id = "smg" - desc = "An advanced 9mm SMG with a reflective laser optic." - req_tech = list(TECH_COMBAT = 4, TECH_MATERIAL = 3) - materials = list(DEFAULT_WALL_MATERIAL = 8000, "silver" = 2000, "diamond" = 1000) - build_path = /obj/item/weapon/gun/projectile/automatic/advanced_smg - sort_string = "MABAA" - -// Ballistic ammo - -/datum/design/item/weapon/ballistic/ammo/AssembleDesignName() - ..() - name = "Ballistic weapon ammo prototype ([name])" - -/datum/design/item/weapon/ballistic/ammo/ammo_9mmAdvanced - name = "9mm magazine" - id = "ammo_9mm" - desc = "A 21 round magazine for an advanced 9mm SMG." - req_tech = list(TECH_COMBAT = 4, TECH_MATERIAL = 3) - materials = list(DEFAULT_WALL_MATERIAL = 3750, "silver" = 100) // Requires silver for proprietary magazines! Or something. - build_path = /obj/item/ammo_magazine/m9mmAdvanced - sort_string = "MABBA" - -/datum/design/item/weapon/ballistic/ammo/stunshell - name = "stun shells" - desc = "A stunning shell for a shotgun." - id = "stunshell" - req_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 3) - materials = list(DEFAULT_WALL_MATERIAL = 4000) - build_path = /obj/item/weapon/storage/box/stunshells - sort_string = "MABBB" - -/datum/design/item/weapon/ballistic/ammo/empshell - name = "emp shells" - desc = "An electromagnetic shell for a shotgun." - id = "empshell" - req_tech = list(TECH_COMBAT = 4, TECH_MAGNET = 3) - materials = list(DEFAULT_WALL_MATERIAL = 4000, MAT_URANIUM = 1000) - build_path = /obj/item/weapon/storage/box/empshells - sort_string = "MABBC" - -// Phase weapons - -/datum/design/item/weapon/phase/AssembleDesignName() - ..() - name = "Phase weapon prototype ([item_name])" - -/* //VOREStation Removal Start -/datum/design/item/weapon/phase/phase_pistol - id = "phasepistol" - req_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 2, TECH_POWER = 2) - materials = list(DEFAULT_WALL_MATERIAL = 4000) - build_path = /obj/item/weapon/gun/energy/phasegun/pistol - sort_string = "MACAA" - -/datum/design/item/weapon/phase/phase_carbine - id = "phasecarbine" - req_tech = list(TECH_COMBAT = 4, TECH_MATERIAL = 2, TECH_POWER = 2) - materials = list(DEFAULT_WALL_MATERIAL = 6000, "glass" = 1500) - build_path = /obj/item/weapon/gun/energy/phasegun - sort_string = "MACAB" - -/datum/design/item/weapon/phase/phase_rifle - id = "phaserifle" - req_tech = list(TECH_COMBAT = 4, TECH_MATERIAL = 3, TECH_POWER = 3) - materials = list(DEFAULT_WALL_MATERIAL = 7000, "glass" = 2000, "silver" = 500) - build_path = /obj/item/weapon/gun/energy/phasegun/rifle - sort_string = "MACAC" - -/datum/design/item/weapon/phase/phase_cannon - id = "phasecannon" - req_tech = list(TECH_COMBAT = 4, TECH_MATERIAL = 4, TECH_POWER = 4) - materials = list(DEFAULT_WALL_MATERIAL = 10000, "glass" = 2000, "silver" = 1000, "diamond" = 750) - build_path = /obj/item/weapon/gun/energy/phasegun/cannon - sort_string = "MACAD" -*/ //VOREStation Removal End - -// Other weapons - -/datum/design/item/weapon/rapidsyringe - id = "rapidsyringe" - req_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 3, TECH_ENGINEERING = 3, TECH_BIO = 2) - materials = list(DEFAULT_WALL_MATERIAL = 5000, "glass" = 1000) - build_path = /obj/item/weapon/gun/launcher/syringe/rapid - sort_string = "MADAA" - -/datum/design/item/weapon/dartgun - desc = "A gun that fires small hollow chemical-payload darts." - id = "dartgun_r" - req_tech = list(TECH_COMBAT = 6, TECH_MATERIAL = 4, TECH_BIO = 4, TECH_MAGNET = 3, TECH_ILLEGAL = 1) - materials = list(DEFAULT_WALL_MATERIAL = 5000, "gold" = 5000, "silver" = 2500, "glass" = 750) - build_path = /obj/item/weapon/gun/projectile/dartgun/research - sort_string = "MADAB" - -/datum/design/item/weapon/chemsprayer - desc = "An advanced chem spraying device." - id = "chemsprayer" - req_tech = list(TECH_MATERIAL = 3, TECH_ENGINEERING = 3, TECH_BIO = 2) - materials = list(DEFAULT_WALL_MATERIAL = 5000, "glass" = 1000) - build_path = /obj/item/weapon/reagent_containers/spray/chemsprayer - sort_string = "MADAC" - -/datum/design/item/weapon/fuelrod - id = "fuelrod_gun" - req_tech = list(TECH_COMBAT = 6, TECH_MATERIAL = 4, TECH_PHORON = 4, TECH_ILLEGAL = 5, TECH_MAGNET = 5) - materials = list(DEFAULT_WALL_MATERIAL = 10000, "glass" = 2000, "gold" = 500, "silver" = 500, "uranium" = 1000, "phoron" = 3000, "diamond" = 1000) - build_path = /obj/item/weapon/gun/magnetic/fuelrod - sort_string = "MADAD" - -// Ammo for those - -/datum/design/item/weapon/ammo/dartgunmag_small - id = "dartgun_mag_s" - req_tech = list(TECH_COMBAT = 6, TECH_MATERIAL = 2, TECH_BIO = 2, TECH_MAGNET = 1, TECH_ILLEGAL = 1) - materials = list(DEFAULT_WALL_MATERIAL = 300, "gold" = 100, "silver" = 100, "glass" = 300) - build_path = /obj/item/ammo_magazine/chemdart/small - sort_string = "MADBA" - -/datum/design/item/weapon/ammo/dartgun_ammo_small - id = "dartgun_ammo_s" - req_tech = list(TECH_COMBAT = 6, TECH_MATERIAL = 2, TECH_BIO = 2, TECH_MAGNET = 1, TECH_ILLEGAL = 1) - materials = list(DEFAULT_WALL_MATERIAL = 50, "gold" = 30, "silver" = 30, "glass" = 50) - build_path = /obj/item/ammo_casing/chemdart/small - sort_string = "MADBB" - -/datum/design/item/weapon/ammo/dartgunmag_med - id = "dartgun_mag_m" - req_tech = list(TECH_COMBAT = 7, TECH_MATERIAL = 2, TECH_BIO = 2, TECH_MAGNET = 1, TECH_ILLEGAL = 1) - materials = list(DEFAULT_WALL_MATERIAL = 500, "gold" = 150, "silver" = 150, "diamond" = 200, "glass" = 400) - build_path = /obj/item/ammo_magazine/chemdart - sort_string = "MADBC" - -/datum/design/item/weapon/ammo/dartgun_ammo_med - id = "dartgun_ammo_m" - req_tech = list(TECH_COMBAT = 7, TECH_MATERIAL = 2, TECH_BIO = 2, TECH_MAGNET = 1, TECH_ILLEGAL = 1) - materials = list(DEFAULT_WALL_MATERIAL = 80, "gold" = 40, "silver" = 40, "glass" = 60) - build_path = /obj/item/ammo_casing/chemdart - sort_string = "MADBD" - -/datum/design/item/weapon/ammo/flechette - id = "magnetic_ammo" - req_tech = list(TECH_COMBAT = 4, TECH_MATERIAL = 4, TECH_MAGNET = 4) - materials = list(DEFAULT_WALL_MATERIAL = 500, "gold" = 300, "glass" = 150, MAT_PHORON = 100) - build_path = /obj/item/weapon/magnetic_ammo - sort_string = "MADBE" - -// Melee weapons - -/datum/design/item/weapon/melee/AssembleDesignName() - ..() - name = "Melee weapon prototype ([item_name])" - -/datum/design/item/weapon/melee/esword - name = "Portable Energy Blade" - id = "chargesword" - req_tech = list(TECH_COMBAT = 6, TECH_MAGNET = 4, TECH_ENGINEERING = 5, TECH_ILLEGAL = 4, TECH_ARCANE = 1) - materials = list(MAT_PLASTEEL = 3500, "glass" = 1000, MAT_LEAD = 2250, MAT_METALHYDROGEN = 500) - build_path = /obj/item/weapon/melee/energy/sword/charge - sort_string = "MBAAA" - -/datum/design/item/weapon/melee/eaxe - name = "Energy Axe" - id = "chargeaxe" - req_tech = list(TECH_COMBAT = 6, TECH_MAGNET = 5, TECH_ENGINEERING = 4, TECH_ILLEGAL = 4) - materials = list(MAT_PLASTEEL = 3500, MAT_OSMIUM = 2000, MAT_LEAD = 2000, MAT_METALHYDROGEN = 500) - build_path = /obj/item/weapon/melee/energy/axe/charge - sort_string = "MBAAB" - -// Grenade stuff -/datum/design/item/weapon/grenade/AssembleDesignName() - ..() - name = "Grenade casing prototype ([item_name])" - -/datum/design/item/weapon/grenade/large_grenade - id = "large_Grenade" - req_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 2) - materials = list(DEFAULT_WALL_MATERIAL = 3000) - build_path = /obj/item/weapon/grenade/chem_grenade/large - sort_string = "MCAAA" -======= -/datum/design/item/weapon/AssembleDesignName() - ..() - name = "Weapon prototype ([item_name])" - -/datum/design/item/weapon/ammo/AssembleDesignName() - ..() - name = "Weapon ammo prototype ([item_name])" - -/datum/design/item/weapon/AssembleDesignDesc() - if(!desc) - if(build_path) - var/obj/item/I = build_path - desc = initial(I.desc) - ..() - -// Energy weapons - -/datum/design/item/weapon/energy/AssembleDesignName() - ..() - name = "Energy weapon prototype ([item_name])" - -/datum/design/item/weapon/energy/stunrevolver - id = "stunrevolver" - req_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 3, TECH_POWER = 2) - materials = list(MAT_STEEL = 4000) - build_path = /obj/item/weapon/gun/energy/stunrevolver - sort_string = "MAAAA" - -/datum/design/item/weapon/energy/nuclear_gun - id = "nuclear_gun" - req_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 5, TECH_POWER = 3) - materials = list(MAT_STEEL = 5000, MAT_GLASS = 1000, MAT_URANIUM = 500) - build_path = /obj/item/weapon/gun/energy/gun/nuclear - sort_string = "MAAAB" - -/datum/design/item/weapon/energy/phoronpistol - id = "ppistol" - req_tech = list(TECH_COMBAT = 5, TECH_PHORON = 4) - materials = list(MAT_STEEL = 5000, MAT_GLASS = 1000, MAT_PHORON = 3000) - build_path = /obj/item/weapon/gun/energy/toxgun - sort_string = "MAAAC" - -/datum/design/item/weapon/energy/lasercannon - desc = "The lasing medium of this prototype is enclosed in a tube lined with uranium-235 and subjected to high neutron flux in a nuclear reactor core." - id = "lasercannon" - req_tech = list(TECH_COMBAT = 4, TECH_MATERIAL = 3, TECH_POWER = 3) - materials = list(MAT_STEEL = 10000, MAT_GLASS = 1000, MAT_DIAMOND = 2000) - build_path = /obj/item/weapon/gun/energy/lasercannon - sort_string = "MAAAD" - -/datum/design/item/weapon/energy/decloner - id = "decloner" - req_tech = list(TECH_COMBAT = 8, TECH_MATERIAL = 7, TECH_BIO = 5, TECH_POWER = 6) - materials = list(MAT_GOLD = 5000,MAT_URANIUM = 10000) - build_path = /obj/item/weapon/gun/energy/decloner - sort_string = "MAAAE" - -/datum/design/item/weapon/energy/temp_gun - desc = "A gun that shoots high-powered glass-encased energy temperature bullets." - id = "temp_gun" - req_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 4, TECH_POWER = 3, TECH_MAGNET = 2) - materials = list(MAT_STEEL = 5000, MAT_GLASS = 500, MAT_SILVER = 3000) - build_path = /obj/item/weapon/gun/energy/temperature - sort_string = "MAAAF" - -/datum/design/item/weapon/energy/flora_gun - id = "flora_gun" - req_tech = list(TECH_MATERIAL = 2, TECH_BIO = 3, TECH_POWER = 3) - materials = list(MAT_STEEL = 2000, MAT_GLASS = 500, MAT_URANIUM = 500) - build_path = /obj/item/weapon/gun/energy/floragun - sort_string = "MAAAG" - -// Ballistic weapons - -/datum/design/item/weapon/ballistic/AssembleDesignName() - ..() - name = "Ballistic weapon prototype ([item_name])" - -/datum/design/item/weapon/ballistic/advanced_smg - id = "smg" - desc = "An advanced 9mm SMG with a reflective laser optic." - req_tech = list(TECH_COMBAT = 4, TECH_MATERIAL = 3) - materials = list(MAT_STEEL = 8000, MAT_SILVER = 2000, MAT_DIAMOND = 1000) - build_path = /obj/item/weapon/gun/projectile/automatic/advanced_smg - sort_string = "MABAA" - -// Ballistic ammo - -/datum/design/item/weapon/ballistic/ammo/AssembleDesignName() - ..() - name = "Ballistic weapon ammo prototype ([name])" - -/datum/design/item/weapon/ballistic/ammo/ammo_9mmAdvanced - name = "9mm magazine" - id = "ammo_9mm" - desc = "A 21 round magazine for an advanced 9mm SMG." - req_tech = list(TECH_COMBAT = 4, TECH_MATERIAL = 3) - materials = list(MAT_STEEL = 3750, MAT_SILVER = 100) // Requires silver for proprietary magazines! Or something. - build_path = /obj/item/ammo_magazine/m9mmAdvanced - sort_string = "MABBA" - -/datum/design/item/weapon/ballistic/ammo/stunshell - name = "stun shells" - desc = "A stunning shell for a shotgun." - id = "stunshell" - req_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 3) - materials = list(MAT_STEEL = 4000) - build_path = /obj/item/weapon/storage/box/stunshells - sort_string = "MABBB" - -/datum/design/item/weapon/ballistic/ammo/empshell - name = "emp shells" - desc = "An electromagnetic shell for a shotgun." - id = "empshell" - req_tech = list(TECH_COMBAT = 4, TECH_MAGNET = 3) - materials = list(MAT_STEEL = 4000, MAT_URANIUM = 1000) - build_path = /obj/item/weapon/storage/box/empshells - sort_string = "MABBC" - -// Phase weapons - -/datum/design/item/weapon/phase/AssembleDesignName() - ..() - name = "Phase weapon prototype ([item_name])" - -/* //VOREStation Removal Start -/datum/design/item/weapon/phase/phase_pistol - id = "phasepistol" - req_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 2, TECH_POWER = 2) - materials = list(MAT_STEEL = 4000) - build_path = /obj/item/weapon/gun/energy/phasegun/pistol - sort_string = "MACAA" - -/datum/design/item/weapon/phase/phase_carbine - id = "phasecarbine" - req_tech = list(TECH_COMBAT = 4, TECH_MATERIAL = 2, TECH_POWER = 2) - materials = list(MAT_STEEL = 6000, MAT_GLASS = 1500) - build_path = /obj/item/weapon/gun/energy/phasegun - sort_string = "MACAB" - -/datum/design/item/weapon/phase/phase_rifle - id = "phaserifle" - req_tech = list(TECH_COMBAT = 4, TECH_MATERIAL = 3, TECH_POWER = 3) - materials = list(MAT_STEEL = 7000, MAT_GLASS = 2000, MAT_SILVER = 500) - build_path = /obj/item/weapon/gun/energy/phasegun/rifle - sort_string = "MACAC" - -/datum/design/item/weapon/phase/phase_cannon - id = "phasecannon" - req_tech = list(TECH_COMBAT = 4, TECH_MATERIAL = 4, TECH_POWER = 4) - materials = list(MAT_STEEL = 10000, MAT_GLASS = 2000, MAT_SILVER = 1000, MAT_DIAMOND = 750) - build_path = /obj/item/weapon/gun/energy/phasegun/cannon - sort_string = "MACAD" -*/ //VOREStation Removal End - -// Other weapons - -/datum/design/item/weapon/rapidsyringe - id = "rapidsyringe" - req_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 3, TECH_ENGINEERING = 3, TECH_BIO = 2) - materials = list(MAT_STEEL = 5000, MAT_GLASS = 1000) - build_path = /obj/item/weapon/gun/launcher/syringe/rapid - sort_string = "MADAA" - -/datum/design/item/weapon/dartgun - desc = "A gun that fires small hollow chemical-payload darts." - id = "dartgun_r" - req_tech = list(TECH_COMBAT = 6, TECH_MATERIAL = 4, TECH_BIO = 4, TECH_MAGNET = 3, TECH_ILLEGAL = 1) - materials = list(MAT_STEEL = 5000, MAT_GOLD = 5000, MAT_SILVER = 2500, MAT_GLASS = 750) - build_path = /obj/item/weapon/gun/projectile/dartgun/research - sort_string = "MADAB" - -/datum/design/item/weapon/chemsprayer - desc = "An advanced chem spraying device." - id = "chemsprayer" - req_tech = list(TECH_MATERIAL = 3, TECH_ENGINEERING = 3, TECH_BIO = 2) - materials = list(MAT_STEEL = 5000, MAT_GLASS = 1000) - build_path = /obj/item/weapon/reagent_containers/spray/chemsprayer - sort_string = "MADAC" - -/datum/design/item/weapon/fuelrod - id = "fuelrod_gun" - req_tech = list(TECH_COMBAT = 6, TECH_MATERIAL = 4, TECH_PHORON = 4, TECH_ILLEGAL = 5, TECH_MAGNET = 5) - materials = list(MAT_STEEL = 10000, MAT_GLASS = 2000, MAT_GOLD = 500, MAT_SILVER = 500, MAT_URANIUM = 1000, MAT_PHORON = 3000, MAT_DIAMOND = 1000) - build_path = /obj/item/weapon/gun/magnetic/fuelrod - sort_string = "MADAD" - -// Ammo for those - -/datum/design/item/weapon/ammo/dartgunmag_small - id = "dartgun_mag_s" - req_tech = list(TECH_COMBAT = 6, TECH_MATERIAL = 2, TECH_BIO = 2, TECH_MAGNET = 1, TECH_ILLEGAL = 1) - materials = list(MAT_STEEL = 300, MAT_GOLD = 100, MAT_SILVER = 100, MAT_GLASS = 300) - build_path = /obj/item/ammo_magazine/chemdart/small - sort_string = "MADBA" - -/datum/design/item/weapon/ammo/dartgun_ammo_small - id = "dartgun_ammo_s" - req_tech = list(TECH_COMBAT = 6, TECH_MATERIAL = 2, TECH_BIO = 2, TECH_MAGNET = 1, TECH_ILLEGAL = 1) - materials = list(MAT_STEEL = 50, MAT_GOLD = 30, MAT_SILVER = 30, MAT_GLASS = 50) - build_path = /obj/item/ammo_casing/chemdart/small - sort_string = "MADBB" - -/datum/design/item/weapon/ammo/dartgunmag_med - id = "dartgun_mag_m" - req_tech = list(TECH_COMBAT = 7, TECH_MATERIAL = 2, TECH_BIO = 2, TECH_MAGNET = 1, TECH_ILLEGAL = 1) - materials = list(MAT_STEEL = 500, MAT_GOLD = 150, MAT_SILVER = 150, MAT_DIAMOND = 200, MAT_GLASS = 400) - build_path = /obj/item/ammo_magazine/chemdart - sort_string = "MADBC" - -/datum/design/item/weapon/ammo/dartgun_ammo_med - id = "dartgun_ammo_m" - req_tech = list(TECH_COMBAT = 7, TECH_MATERIAL = 2, TECH_BIO = 2, TECH_MAGNET = 1, TECH_ILLEGAL = 1) - materials = list(MAT_STEEL = 80, MAT_GOLD = 40, MAT_SILVER = 40, MAT_GLASS = 60) - build_path = /obj/item/ammo_casing/chemdart - sort_string = "MADBD" - -/datum/design/item/weapon/ammo/flechette - id = "magnetic_ammo" - req_tech = list(TECH_COMBAT = 4, TECH_MATERIAL = 4, TECH_MAGNET = 4) - materials = list(MAT_STEEL = 500, MAT_GOLD = 300, MAT_GLASS = 150, MAT_PHORON = 100) - build_path = /obj/item/weapon/magnetic_ammo - sort_string = "MADBE" - -// Melee weapons - -/datum/design/item/weapon/melee/AssembleDesignName() - ..() - name = "Melee weapon prototype ([item_name])" - -/datum/design/item/weapon/melee/esword - name = "Portable Energy Blade" - id = "chargesword" - req_tech = list(TECH_COMBAT = 6, TECH_MAGNET = 4, TECH_ENGINEERING = 5, TECH_ILLEGAL = 4, TECH_ARCANE = 1) - materials = list(MAT_PLASTEEL = 3500, MAT_GLASS = 1000, MAT_LEAD = 2250, MAT_METALHYDROGEN = 500) - build_path = /obj/item/weapon/melee/energy/sword/charge - sort_string = "MBAAA" - -/datum/design/item/weapon/melee/eaxe - name = "Energy Axe" - id = "chargeaxe" - req_tech = list(TECH_COMBAT = 6, TECH_MAGNET = 5, TECH_ENGINEERING = 4, TECH_ILLEGAL = 4) - materials = list(MAT_PLASTEEL = 3500, MAT_OSMIUM = 2000, MAT_LEAD = 2000, MAT_METALHYDROGEN = 500) - build_path = /obj/item/weapon/melee/energy/axe/charge - sort_string = "MBAAB" - -// Grenade stuff -/datum/design/item/weapon/grenade/AssembleDesignName() - ..() - name = "Grenade casing prototype ([item_name])" - -/datum/design/item/weapon/grenade/large_grenade - id = "large_Grenade" - req_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 2) - materials = list(MAT_STEEL = 3000) - build_path = /obj/item/weapon/grenade/chem_grenade/large - sort_string = "MCAAA" ->>>>>>> 8ab34365f1... Merge pull request #10852 from VOREStation/Arokha/matdefs From b8445e3b49e9f382857e0f8fdb5cb3122e7130e0 Mon Sep 17 00:00:00 2001 From: Nadyr <41974248+Darlantanis@users.noreply.github.com> Date: Fri, 9 Jul 2021 23:04:18 -0400 Subject: [PATCH 09/10] powder that makes you say yes --- code/modules/research/designs/weapons.dm | 260 +---------------------- 1 file changed, 1 insertion(+), 259 deletions(-) diff --git a/code/modules/research/designs/weapons.dm b/code/modules/research/designs/weapons.dm index f4a3833bc1..ec7822010a 100644 --- a/code/modules/research/designs/weapons.dm +++ b/code/modules/research/designs/weapons.dm @@ -253,264 +253,6 @@ /datum/design/item/weapon/grenade/large_grenade id = "large_Grenade" req_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 2) - materials = list(DEFAULT_WALL_MATERIAL = 3000) - build_path = /obj/item/weapon/grenade/chem_grenade/large - sort_string = "MCAAA" -||||||| parent of 8ab34365f1... Merge pull request #10852 from VOREStation/Arokha/matdefs -/datum/design/item/weapon/AssembleDesignName() - ..() - name = "Weapon prototype ([item_name])" - -/datum/design/item/weapon/ammo/AssembleDesignName() - ..() - name = "Weapon ammo prototype ([item_name])" - -/datum/design/item/weapon/AssembleDesignDesc() - if(!desc) - if(build_path) - var/obj/item/I = build_path - desc = initial(I.desc) - ..() - -// Energy weapons - -/datum/design/item/weapon/energy/AssembleDesignName() - ..() - name = "Energy weapon prototype ([item_name])" - -/datum/design/item/weapon/energy/stunrevolver - id = "stunrevolver" - req_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 3, TECH_POWER = 2) - materials = list(DEFAULT_WALL_MATERIAL = 4000) - build_path = /obj/item/weapon/gun/energy/stunrevolver - sort_string = "MAAAA" - -/datum/design/item/weapon/energy/nuclear_gun - id = "nuclear_gun" - req_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 5, TECH_POWER = 3) - materials = list(DEFAULT_WALL_MATERIAL = 5000, MAT_GLASS = 1000, "uranium" = 500) - build_path = /obj/item/weapon/gun/energy/gun/nuclear - sort_string = "MAAAB" - -/datum/design/item/weapon/energy/phoronpistol - id = "ppistol" - req_tech = list(TECH_COMBAT = 5, TECH_PHORON = 4) - materials = list(DEFAULT_WALL_MATERIAL = 5000, MAT_GLASS = 1000, "phoron" = 3000) - build_path = /obj/item/weapon/gun/energy/toxgun - sort_string = "MAAAC" - -/datum/design/item/weapon/energy/lasercannon - desc = "The lasing medium of this prototype is enclosed in a tube lined with uranium-235 and subjected to high neutron flux in a nuclear reactor core." - id = "lasercannon" - req_tech = list(TECH_COMBAT = 4, TECH_MATERIAL = 3, TECH_POWER = 3) - materials = list(DEFAULT_WALL_MATERIAL = 10000, MAT_GLASS = 1000, "diamond" = 2000) - build_path = /obj/item/weapon/gun/energy/lasercannon - sort_string = "MAAAD" - -/datum/design/item/weapon/energy/decloner - id = "decloner" - req_tech = list(TECH_COMBAT = 8, TECH_MATERIAL = 7, TECH_BIO = 5, TECH_POWER = 6) - materials = list("gold" = 5000,"uranium" = 10000) - build_path = /obj/item/weapon/gun/energy/decloner - sort_string = "MAAAE" - -/datum/design/item/weapon/energy/temp_gun - desc = "A gun that shoots high-powered glass-encased energy temperature bullets." - id = "temp_gun" - req_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 4, TECH_POWER = 3, TECH_MAGNET = 2) - materials = list(DEFAULT_WALL_MATERIAL = 5000, MAT_GLASS = 500, "silver" = 3000) - build_path = /obj/item/weapon/gun/energy/temperature - sort_string = "MAAAF" - -/datum/design/item/weapon/energy/flora_gun - id = "flora_gun" - req_tech = list(TECH_MATERIAL = 2, TECH_BIO = 3, TECH_POWER = 3) - materials = list(DEFAULT_WALL_MATERIAL = 2000, MAT_GLASS = 500, "uranium" = 500) - build_path = /obj/item/weapon/gun/energy/floragun - sort_string = "MAAAG" - -// Ballistic weapons - -/datum/design/item/weapon/ballistic/AssembleDesignName() - ..() - name = "Ballistic weapon prototype ([item_name])" - -/datum/design/item/weapon/ballistic/advanced_smg - id = "smg" - desc = "An advanced 9mm SMG with a reflective laser optic." - req_tech = list(TECH_COMBAT = 4, TECH_MATERIAL = 3) - materials = list(DEFAULT_WALL_MATERIAL = 8000, "silver" = 2000, "diamond" = 1000) - build_path = /obj/item/weapon/gun/projectile/automatic/advanced_smg - sort_string = "MABAA" - -// Ballistic ammo - -/datum/design/item/weapon/ballistic/ammo/AssembleDesignName() - ..() - name = "Ballistic weapon ammo prototype ([name])" - -/datum/design/item/weapon/ballistic/ammo/ammo_9mmAdvanced - name = "9mm magazine" - id = "ammo_9mm" - desc = "A 21 round magazine for an advanced 9mm SMG." - req_tech = list(TECH_COMBAT = 4, TECH_MATERIAL = 3) - materials = list(DEFAULT_WALL_MATERIAL = 3750, "silver" = 100) // Requires silver for proprietary magazines! Or something. - build_path = /obj/item/ammo_magazine/m9mmAdvanced - sort_string = "MABBA" - -/datum/design/item/weapon/ballistic/ammo/stunshell - name = "stun shells" - desc = "A stunning shell for a shotgun." - id = "stunshell" - req_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 3) - materials = list(DEFAULT_WALL_MATERIAL = 4000) - build_path = /obj/item/weapon/storage/box/stunshells - sort_string = "MABBB" - -/datum/design/item/weapon/ballistic/ammo/empshell - name = "emp shells" - desc = "An electromagnetic shell for a shotgun." - id = "empshell" - req_tech = list(TECH_COMBAT = 4, TECH_MAGNET = 3) - materials = list(DEFAULT_WALL_MATERIAL = 4000, MAT_URANIUM = 1000) - build_path = /obj/item/weapon/storage/box/empshells - sort_string = "MABBC" - -// Phase weapons - -/datum/design/item/weapon/phase/AssembleDesignName() - ..() - name = "Phase weapon prototype ([item_name])" - -/* //VOREStation Removal Start -/datum/design/item/weapon/phase/phase_pistol - id = "phasepistol" - req_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 2, TECH_POWER = 2) - materials = list(DEFAULT_WALL_MATERIAL = 4000) - build_path = /obj/item/weapon/gun/energy/phasegun/pistol - sort_string = "MACAA" - -/datum/design/item/weapon/phase/phase_carbine - id = "phasecarbine" - req_tech = list(TECH_COMBAT = 4, TECH_MATERIAL = 2, TECH_POWER = 2) - materials = list(DEFAULT_WALL_MATERIAL = 6000, MAT_GLASS = 1500) - build_path = /obj/item/weapon/gun/energy/phasegun - sort_string = "MACAB" - -/datum/design/item/weapon/phase/phase_rifle - id = "phaserifle" - req_tech = list(TECH_COMBAT = 4, TECH_MATERIAL = 3, TECH_POWER = 3) - materials = list(DEFAULT_WALL_MATERIAL = 7000, MAT_GLASS = 2000, "silver" = 500) - build_path = /obj/item/weapon/gun/energy/phasegun/rifle - sort_string = "MACAC" - -/datum/design/item/weapon/phase/phase_cannon - id = "phasecannon" - req_tech = list(TECH_COMBAT = 4, TECH_MATERIAL = 4, TECH_POWER = 4) - materials = list(DEFAULT_WALL_MATERIAL = 10000, MAT_GLASS = 2000, "silver" = 1000, "diamond" = 750) - build_path = /obj/item/weapon/gun/energy/phasegun/cannon - sort_string = "MACAD" -*/ //VOREStation Removal End - -// Other weapons - -/datum/design/item/weapon/rapidsyringe - id = "rapidsyringe" - req_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 3, TECH_ENGINEERING = 3, TECH_BIO = 2) - materials = list(DEFAULT_WALL_MATERIAL = 5000, MAT_GLASS = 1000) - build_path = /obj/item/weapon/gun/launcher/syringe/rapid - sort_string = "MADAA" - -/datum/design/item/weapon/dartgun - desc = "A gun that fires small hollow chemical-payload darts." - id = "dartgun_r" - req_tech = list(TECH_COMBAT = 6, TECH_MATERIAL = 4, TECH_BIO = 4, TECH_MAGNET = 3, TECH_ILLEGAL = 1) - materials = list(DEFAULT_WALL_MATERIAL = 5000, "gold" = 5000, "silver" = 2500, MAT_GLASS = 750) - build_path = /obj/item/weapon/gun/projectile/dartgun/research - sort_string = "MADAB" - -/datum/design/item/weapon/chemsprayer - desc = "An advanced chem spraying device." - id = "chemsprayer" - req_tech = list(TECH_MATERIAL = 3, TECH_ENGINEERING = 3, TECH_BIO = 2) - materials = list(DEFAULT_WALL_MATERIAL = 5000, MAT_GLASS = 1000) - build_path = /obj/item/weapon/reagent_containers/spray/chemsprayer - sort_string = "MADAC" - -/datum/design/item/weapon/fuelrod - id = "fuelrod_gun" - req_tech = list(TECH_COMBAT = 6, TECH_MATERIAL = 4, TECH_PHORON = 4, TECH_ILLEGAL = 5, TECH_MAGNET = 5) - materials = list(DEFAULT_WALL_MATERIAL = 10000, MAT_GLASS = 2000, "gold" = 500, "silver" = 500, "uranium" = 1000, "phoron" = 3000, "diamond" = 1000) - build_path = /obj/item/weapon/gun/magnetic/fuelrod - sort_string = "MADAD" - -// Ammo for those - -/datum/design/item/weapon/ammo/dartgunmag_small - id = "dartgun_mag_s" - req_tech = list(TECH_COMBAT = 6, TECH_MATERIAL = 2, TECH_BIO = 2, TECH_MAGNET = 1, TECH_ILLEGAL = 1) - materials = list(DEFAULT_WALL_MATERIAL = 300, "gold" = 100, "silver" = 100, MAT_GLASS = 300) - build_path = /obj/item/ammo_magazine/chemdart/small - sort_string = "MADBA" - -/datum/design/item/weapon/ammo/dartgun_ammo_small - id = "dartgun_ammo_s" - req_tech = list(TECH_COMBAT = 6, TECH_MATERIAL = 2, TECH_BIO = 2, TECH_MAGNET = 1, TECH_ILLEGAL = 1) - materials = list(DEFAULT_WALL_MATERIAL = 50, "gold" = 30, "silver" = 30, MAT_GLASS = 50) - build_path = /obj/item/ammo_casing/chemdart/small - sort_string = "MADBB" - -/datum/design/item/weapon/ammo/dartgunmag_med - id = "dartgun_mag_m" - req_tech = list(TECH_COMBAT = 7, TECH_MATERIAL = 2, TECH_BIO = 2, TECH_MAGNET = 1, TECH_ILLEGAL = 1) - materials = list(DEFAULT_WALL_MATERIAL = 500, "gold" = 150, "silver" = 150, "diamond" = 200, MAT_GLASS = 400) - build_path = /obj/item/ammo_magazine/chemdart - sort_string = "MADBC" - -/datum/design/item/weapon/ammo/dartgun_ammo_med - id = "dartgun_ammo_m" - req_tech = list(TECH_COMBAT = 7, TECH_MATERIAL = 2, TECH_BIO = 2, TECH_MAGNET = 1, TECH_ILLEGAL = 1) - materials = list(DEFAULT_WALL_MATERIAL = 80, "gold" = 40, "silver" = 40, MAT_GLASS = 60) - build_path = /obj/item/ammo_casing/chemdart - sort_string = "MADBD" - -/datum/design/item/weapon/ammo/flechette - id = "magnetic_ammo" - req_tech = list(TECH_COMBAT = 4, TECH_MATERIAL = 4, TECH_MAGNET = 4) - materials = list(DEFAULT_WALL_MATERIAL = 500, "gold" = 300, MAT_GLASS = 150, MAT_PHORON = 100) - build_path = /obj/item/weapon/magnetic_ammo - sort_string = "MADBE" - -// Melee weapons - -/datum/design/item/weapon/melee/AssembleDesignName() - ..() - name = "Melee weapon prototype ([item_name])" - -/datum/design/item/weapon/melee/esword - name = "Portable Energy Blade" - id = "chargesword" - req_tech = list(TECH_COMBAT = 6, TECH_MAGNET = 4, TECH_ENGINEERING = 5, TECH_ILLEGAL = 4, TECH_ARCANE = 1) - materials = list(MAT_PLASTEEL = 3500, MAT_GLASS = 1000, MAT_LEAD = 2250, MAT_METALHYDROGEN = 500) - build_path = /obj/item/weapon/melee/energy/sword/charge - sort_string = "MBAAA" - -/datum/design/item/weapon/melee/eaxe - name = "Energy Axe" - id = "chargeaxe" - req_tech = list(TECH_COMBAT = 6, TECH_MAGNET = 5, TECH_ENGINEERING = 4, TECH_ILLEGAL = 4) - materials = list(MAT_PLASTEEL = 3500, MAT_OSMIUM = 2000, MAT_LEAD = 2000, MAT_METALHYDROGEN = 500) - build_path = /obj/item/weapon/melee/energy/axe/charge - sort_string = "MBAAB" - -// Grenade stuff -/datum/design/item/weapon/grenade/AssembleDesignName() - ..() - name = "Grenade casing prototype ([item_name])" - -/datum/design/item/weapon/grenade/large_grenade - id = "large_Grenade" - req_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 2) - materials = list(DEFAULT_WALL_MATERIAL = 3000) + materials = list(MAT_STEEL = 3000) build_path = /obj/item/weapon/grenade/chem_grenade/large sort_string = "MCAAA" From fcac8b3cd15fab55b5fd932357bbe222addac632 Mon Sep 17 00:00:00 2001 From: Nadyr <41974248+Darlantanis@users.noreply.github.com> Date: Fri, 9 Jul 2021 23:05:19 -0400 Subject: [PATCH 10/10] powder that makes you say yes --- code/modules/research/designs/weapons.dm | 1 - 1 file changed, 1 deletion(-) diff --git a/code/modules/research/designs/weapons.dm b/code/modules/research/designs/weapons.dm index ec7822010a..99fb699c9c 100644 --- a/code/modules/research/designs/weapons.dm +++ b/code/modules/research/designs/weapons.dm @@ -1,4 +1,3 @@ -<<<<<<< HEAD /datum/design/item/weapon/AssembleDesignName() ..() name = "Weapon prototype ([item_name])"