From 525bb1a96f176d431f1125ce39a8ef0ab9f3a47f Mon Sep 17 00:00:00 2001 From: Fox-McCloud Date: Tue, 30 Dec 2014 12:30:14 -0500 Subject: [PATCH] Stun Changes --- code/datums/crafting/recipes.dm | 2 +- code/datums/supplypacks.dm | 4 +- code/game/gamemodes/wizard/rightandwrong.dm | 2 +- code/game/jobs/job/security.dm | 11 ++- code/game/jobs/job/supervisor.dm | 1 + code/game/machinery/bots/ed209bot.dm | 4 +- code/game/machinery/portable_turret.dm | 2 +- .../crates_lockers/closets/secure/security.dm | 12 ++-- code/modules/clothing/head/soft_caps.dm | 1 + code/modules/clothing/spacesuits/ert.dm | 2 +- code/modules/mining/equipment_locker.dm | 10 +++ code/modules/mining/mine_items.dm | 2 +- code/modules/mining/security_recipes.dm | 4 +- code/modules/mob/living/damage_procs.dm | 3 +- .../projectiles/guns/energy/advtaser.dm | 37 ++++++++++ .../projectiles/guns/energy/nuclear.dm | 25 ++++--- .../projectiles/guns/energy/special.dm | 2 +- code/modules/projectiles/guns/energy/stun.dm | 1 + code/modules/projectiles/projectile.dm | 28 +++++--- code/modules/projectiles/projectile/beams.dm | 8 +++ .../modules/projectiles/projectile/bullets.dm | 12 ++-- code/modules/projectiles/projectile/energy.dm | 33 ++++----- .../modules/projectiles/projectile/special.dm | 3 +- icons/mob/in-hand/guns.dmi | Bin 2585 -> 16920 bytes icons/obj/gun.dmi | Bin 61176 -> 62099 bytes maps/cyberiad.dmm | 65 ++++++++++-------- paradise.dme | 1 + sound/weapons/tap.ogg | Bin 0 -> 18540 bytes 28 files changed, 180 insertions(+), 95 deletions(-) create mode 100644 code/modules/projectiles/guns/energy/advtaser.dm create mode 100644 sound/weapons/tap.ogg diff --git a/code/datums/crafting/recipes.dm b/code/datums/crafting/recipes.dm index 32d5a4d3b5e..6dda4d79622 100644 --- a/code/datums/crafting/recipes.dm +++ b/code/datums/crafting/recipes.dm @@ -89,7 +89,7 @@ /obj/item/robot_parts/r_leg = 1, /obj/item/stack/sheet/metal = 5, /obj/item/stack/cable_coil = 5, - /obj/item/weapon/gun/energy/taser = 1, + /obj/item/weapon/gun/energy/advtaser = 1, /obj/item/weapon/cell = 1, /obj/item/device/assembly/prox_sensor = 1, /obj/item/robot_parts/r_arm = 1) diff --git a/code/datums/supplypacks.dm b/code/datums/supplypacks.dm index fcc16310b40..127553aaf03 100755 --- a/code/datums/supplypacks.dm +++ b/code/datums/supplypacks.dm @@ -663,8 +663,8 @@ var/list/all_supply_groups = list("Operations","Security","Hospitality","Enginee /obj/item/weapon/melee/baton/loaded, /obj/item/weapon/gun/energy/laser, /obj/item/weapon/gun/energy/laser, - /obj/item/weapon/gun/energy/taser, - /obj/item/weapon/gun/energy/taser, + /obj/item/weapon/gun/energy/advtaser, + /obj/item/weapon/gun/energy/advtaser, /obj/item/weapon/storage/box/flashbangs, /obj/item/weapon/storage/box/flashbangs) cost = 30 diff --git a/code/game/gamemodes/wizard/rightandwrong.dm b/code/game/gamemodes/wizard/rightandwrong.dm index ce7c91f3245..e1b0c7a65f3 100644 --- a/code/game/gamemodes/wizard/rightandwrong.dm +++ b/code/game/gamemodes/wizard/rightandwrong.dm @@ -24,7 +24,7 @@ if(!summon_type) switch (randomizeguns) if("taser") - new /obj/item/weapon/gun/energy/taser(get_turf(H)) + new /obj/item/weapon/gun/energy/advtaser(get_turf(H)) if("egun") new /obj/item/weapon/gun/energy/gun(get_turf(H)) if("laser") diff --git a/code/game/jobs/job/security.dm b/code/game/jobs/job/security.dm index 325313aa25c..a79fc35540c 100644 --- a/code/game/jobs/job/security.dm +++ b/code/game/jobs/job/security.dm @@ -72,11 +72,14 @@ if(4) H.equip_or_collect(new /obj/item/weapon/storage/backpack/satchel(H), slot_back) H.equip_or_collect(new /obj/item/clothing/under/rank/warden(H), slot_w_uniform) H.equip_or_collect(new /obj/item/clothing/shoes/jackboots(H), slot_shoes) + H.equip_or_collect(new /obj/item/clothing/suit/armor/vest/warden(H), slot_wear_suit) + H.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/warden(H), slot_head) H.equip_or_collect(new /obj/item/device/pda/warden(H), slot_wear_pda) H.equip_or_collect(new /obj/item/clothing/gloves/black(H), slot_gloves) H.equip_or_collect(new /obj/item/clothing/glasses/sunglasses/sechud(H), slot_glasses) // H.equip_or_collect(new /obj/item/clothing/mask/gas(H), slot_wear_mask) //Grab one from the armory you donk H.equip_or_collect(new /obj/item/device/flash(H), slot_l_store) + H.equip_or_collect(new /obj/item/weapon/gun/energy/advtaser(H), slot_s_store) if(H.backbag == 1) H.equip_or_collect(new /obj/item/weapon/storage/box/survival(H), slot_r_hand) H.equip_or_collect(new /obj/item/weapon/handcuffs(H), slot_l_hand) @@ -170,8 +173,10 @@ if(4) H.equip_or_collect(new /obj/item/weapon/storage/backpack/satchel(H), slot_back) H.equip_or_collect(new /obj/item/clothing/under/rank/security(H), slot_w_uniform) H.equip_or_collect(new /obj/item/clothing/shoes/jackboots(H), slot_shoes) + H.equip_or_collect(new /obj/item/clothing/suit/armor/vest/security(H), slot_wear_suit) + H.equip_to_slot_or_del(new /obj/item/clothing/head/soft/sec(H), slot_head) H.equip_or_collect(new /obj/item/device/pda/security(H), slot_wear_pda) - H.equip_or_collect(new /obj/item/weapon/handcuffs(H), slot_s_store) + H.equip_or_collect(new /obj/item/weapon/gun/energy/advtaser(H), slot_s_store) H.equip_or_collect(new /obj/item/device/flash(H), slot_l_store) if(H.backbag == 1) H.equip_or_collect(new /obj/item/weapon/storage/box/survival(H), slot_r_hand) @@ -210,7 +215,7 @@ H.equip_or_collect(new /obj/item/clothing/shoes/jackboots(H), slot_shoes) H.equip_or_collect(new /obj/item/clothing/head/helmet/customs(H), slot_head) H.equip_or_collect(new /obj/item/device/pda/security(H), slot_wear_pda) - H.equip_or_collect(new /obj/item/weapon/handcuffs(H), slot_s_store) + H.equip_or_collect(new /obj/item/weapon/gun/energy/advtaser(H), slot_s_store) H.equip_or_collect(new /obj/item/device/flash(H), slot_l_store) H.equip_or_collect(new /obj/item/weapon/storage/box/survival(H.back), slot_in_backpack) H.equip_or_collect(new /obj/item/weapon/stamp(H), slot_in_backpack) @@ -282,7 +287,7 @@ H.equip_or_collect(new /obj/item/clothing/suit/bomber(H), slot_wear_suit) H.equip_or_collect(new /obj/item/clothing/shoes/jackboots(H), slot_shoes) H.equip_or_collect(new /obj/item/device/pda/security(H), slot_wear_pda) - H.equip_or_collect(new /obj/item/weapon/handcuffs(H), slot_s_store) + H.equip_or_collect(new /obj/item/weapon/gun/energy/advtaser(H), slot_s_store) H.equip_or_collect(new /obj/item/device/flash(H), slot_l_store) if(H.backbag == 1) H.equip_or_collect(new /obj/item/weapon/storage/box/survival(H), slot_r_hand) diff --git a/code/game/jobs/job/supervisor.dm b/code/game/jobs/job/supervisor.dm index 67143eb27f5..05e6d7d4dba 100644 --- a/code/game/jobs/job/supervisor.dm +++ b/code/game/jobs/job/supervisor.dm @@ -217,6 +217,7 @@ H.equip_or_collect(new /obj/item/clothing/glasses/hud/health_advanced, slot_glasses) H.equip_if_possible(new /obj/item/clothing/under/rank/centcom/blueshield(H), slot_w_uniform) H.equip_if_possible(new /obj/item/clothing/suit/armor/vest/fluff/deus_blueshield(H), slot_wear_suit) + H.equip_or_collect(new /obj/item/weapon/gun/energy/advtaser(H), slot_s_store) H.equip_or_collect(new /obj/item/device/pda/heads/blueshield(H), slot_wear_pda) if(H.backbag == 1) H.equip_or_collect(new /obj/item/weapon/storage/box/deathimp(H), slot_r_hand) diff --git a/code/game/machinery/bots/ed209bot.dm b/code/game/machinery/bots/ed209bot.dm index 9671e0f1c69..f3363665d59 100644 --- a/code/game/machinery/bots/ed209bot.dm +++ b/code/game/machinery/bots/ed209bot.dm @@ -414,7 +414,7 @@ Auto Patrol[]"}, new /obj/item/device/assembly/prox_sensor(Tsec) if(!lasercolor) - var/obj/item/weapon/gun/energy/taser/G = new /obj/item/weapon/gun/energy/taser(Tsec) + var/obj/item/weapon/gun/energy/advtaser/G = new /obj/item/weapon/gun/energy/advtaser(Tsec) G.power_supply.charge = 0 G.update_icon() else if(lasercolor == "b") @@ -644,7 +644,7 @@ Auto Patrol[]"}, return name = "redtag ED-209 assembly" if("") - if(!istype(W, /obj/item/weapon/gun/energy/taser)) + if(!istype(W, /obj/item/weapon/gun/energy/advtaser)) return name = "taser ED-209 assembly" else diff --git a/code/game/machinery/portable_turret.dm b/code/game/machinery/portable_turret.dm index 02c7069d66f..564e25f1aad 100644 --- a/code/game/machinery/portable_turret.dm +++ b/code/game/machinery/portable_turret.dm @@ -127,7 +127,7 @@ iconholder = 1 reqpower = 700 - if(/obj/item/weapon/gun/energy/taser) + if(/obj/item/weapon/gun/energy/advtaser) projectile = /obj/item/projectile/energy/electrode eprojectile = projectile iconholder = 1 diff --git a/code/game/objects/structures/crates_lockers/closets/secure/security.dm b/code/game/objects/structures/crates_lockers/closets/secure/security.dm index e14a75cf3dd..88cf3670581 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/security.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/security.dm @@ -114,7 +114,7 @@ new /obj/item/weapon/storage/belt/security(src) new /obj/item/device/flash(src) new /obj/item/weapon/melee/baton/loaded(src) - new /obj/item/weapon/gun/energy/gun(src) + new /obj/item/weapon/gun/energy/advtaser(src) new /obj/item/clothing/tie/holster/armpit(src) return @@ -151,7 +151,7 @@ new /obj/item/weapon/storage/belt/security(src) new /obj/item/weapon/reagent_containers/spray/pepper(src) new /obj/item/weapon/melee/baton/loaded(src) - new /obj/item/weapon/gun/energy/taser(src) + new /obj/item/weapon/gun/energy/advtaser(src) new /obj/item/weapon/storage/box/holobadge(src) return @@ -182,7 +182,6 @@ new /obj/item/weapon/reagent_containers/spray/pepper(src) new /obj/item/weapon/grenade/flashbang(src) new /obj/item/weapon/melee/baton/loaded(src) - new /obj/item/weapon/gun/energy/taser(src) new /obj/item/clothing/glasses/sunglasses/sechud(src) new /obj/item/taperoll/police(src) return @@ -208,7 +207,6 @@ new /obj/item/device/flash(src) new /obj/item/weapon/handcuffs(src) new /obj/item/weapon/melee/baton/loaded(src) - new /obj/item/weapon/gun/energy/taser(src) new /obj/item/clothing/glasses/sunglasses(src) new /obj/item/clothing/glasses/hud/health_advanced new /obj/item/clothing/head/beret/centcom/officer(src) @@ -217,7 +215,7 @@ new /obj/item/clothing/shoes/centcom(src) new /obj/item/clothing/tie/blue(src) return - + /obj/structure/closet/secure_closet/ntrep name = "Nanotrasen Representative's Locker" req_access = list(access_ntrep) @@ -242,7 +240,7 @@ new /obj/item/clothing/under/lawyer/black(src) new /obj/item/clothing/under/lawyer/female(src) return - + /obj/structure/closet/secure_closet/ntrec name = "Nanotrasen Recruiter's Locker" req_access = list(access_ntrec) @@ -267,7 +265,7 @@ new /obj/item/clothing/under/lawyer/oldman(src) new /obj/item/clothing/under/lawyer/black(src) new /obj/item/clothing/under/lawyer/female(src) - return + return /obj/structure/closet/secure_closet/security/cargo diff --git a/code/modules/clothing/head/soft_caps.dm b/code/modules/clothing/head/soft_caps.dm index a1f39ebf6ef..4a26ff394f3 100644 --- a/code/modules/clothing/head/soft_caps.dm +++ b/code/modules/clothing/head/soft_caps.dm @@ -92,6 +92,7 @@ desc = "It's baseball hat in tasteful red colour." icon_state = "secsoft" _color = "sec" + armor = list(melee = 30, bullet = 25, laser = 25, energy = 10, bomb = 0, bio = 0, rad = 0) /obj/item/clothing/head/soft/sec/corp name = "corporate security cap" diff --git a/code/modules/clothing/spacesuits/ert.dm b/code/modules/clothing/spacesuits/ert.dm index e475b126476..601de3b0dd4 100644 --- a/code/modules/clothing/spacesuits/ert.dm +++ b/code/modules/clothing/spacesuits/ert.dm @@ -34,7 +34,7 @@ allowed = list(/obj/item/device/flashlight, /obj/item/weapon/tank, /obj/item/device/t_scanner, /obj/item/weapon/rcd, /obj/item/weapon/crowbar, \ /obj/item/weapon/screwdriver, /obj/item/weapon/weldingtool, /obj/item/weapon/wirecutters, /obj/item/weapon/wrench, /obj/item/device/multitool, \ /obj/item/device/radio, /obj/item/device/analyzer, /obj/item/weapon/gun/energy/laser, /obj/item/weapon/gun/energy/pulse_rifle, \ - /obj/item/weapon/gun/energy/taser, /obj/item/weapon/melee/baton, /obj/item/weapon/gun/energy/gun) + /obj/item/weapon/gun/energy/advtaser, /obj/item/weapon/melee/baton, /obj/item/weapon/gun/energy/gun) siemens_coefficient = 0.6 //Commander diff --git a/code/modules/mining/equipment_locker.dm b/code/modules/mining/equipment_locker.dm index e526e443b00..83ebb434540 100644 --- a/code/modules/mining/equipment_locker.dm +++ b/code/modules/mining/equipment_locker.dm @@ -628,6 +628,16 @@ if(C) C.images -= I + +//Debug item to identify all ore spread quickly +/obj/item/device/mining_scanner/admin + +/obj/item/device/mining_scanner/admin/attack_self(mob/user) + for(var/turf/simulated/mineral/M in world) + if(M.scan_state) + M.icon_state = M.scan_state + del(src) + /**********************Xeno Warning Sign**********************/ /obj/structure/sign/xeno_warning_mining name = "DANGEROUS ALIEN LIFE" diff --git a/code/modules/mining/mine_items.dm b/code/modules/mining/mine_items.dm index 0c6fed16571..13b4535ac20 100644 --- a/code/modules/mining/mine_items.dm +++ b/code/modules/mining/mine_items.dm @@ -30,7 +30,7 @@ new /obj/item/clothing/under/rank/miner(src) new /obj/item/clothing/gloves/black(src) new /obj/item/clothing/shoes/black(src) - new /obj/item/device/analyzer(src) + new /obj/item/device/mining_scanner(src) new /obj/item/weapon/storage/bag/ore(src) new /obj/item/device/flashlight/lantern(src) new /obj/item/weapon/shovel(src) diff --git a/code/modules/mining/security_recipes.dm b/code/modules/mining/security_recipes.dm index 9061c6ee541..f08addbf4a0 100644 --- a/code/modules/mining/security_recipes.dm +++ b/code/modules/mining/security_recipes.dm @@ -98,8 +98,8 @@ create = 1 /datum/manufacture/taser - name = "Taser" - item = /obj/item/weapon/gun/energy/taser + name = "Advanced Taser" + item = /obj/item/weapon/gun/energy/advtaser cost1 = /obj/item/weapon/ore/iron cname1 = "Iron" amount1 = 15 diff --git a/code/modules/mob/living/damage_procs.dm b/code/modules/mob/living/damage_procs.dm index daca2f68de5..730ae5e28df 100644 --- a/code/modules/mob/living/damage_procs.dm +++ b/code/modules/mob/living/damage_procs.dm @@ -76,7 +76,7 @@ /mob/living/carbon/apply_effect(var/effect = 0,var/effecttype = STUN, var/blocked = 0) return ..() -/mob/living/proc/apply_effects(var/stun = 0, var/weaken = 0, var/paralyze = 0, var/irradiate = 0, var/stutter = 0, var/eyeblur = 0, var/drowsy = 0, var/agony = 0, var/blocked = 0) +/mob/living/proc/apply_effects(var/stun = 0, var/weaken = 0, var/paralyze = 0, var/irradiate = 0, var/stutter = 0, var/eyeblur = 0, var/drowsy = 0, var/agony = 0, var/blocked = 0, var/stamina = 0) if(blocked >= 2) return 0 if(stun) apply_effect(stun, STUN, blocked) if(weaken) apply_effect(weaken, WEAKEN, blocked) @@ -86,4 +86,5 @@ if(eyeblur) apply_effect(eyeblur, EYE_BLUR, blocked) if(drowsy) apply_effect(drowsy, DROWSY, blocked) if(agony) apply_effect(agony, AGONY, blocked) + if(stamina) apply_damage(stamina, STAMINA, null, blocked) return 1 diff --git a/code/modules/projectiles/guns/energy/advtaser.dm b/code/modules/projectiles/guns/energy/advtaser.dm new file mode 100644 index 00000000000..eed52b958c2 --- /dev/null +++ b/code/modules/projectiles/guns/energy/advtaser.dm @@ -0,0 +1,37 @@ +/obj/item/weapon/gun/energy/advtaser + name = "advanced taser" + desc = "A hybrid taser designed to fire both short-range high-power electrodes and long-range disabler beams." + icon_state = "advtaser" + item_state = null //so the human update icon uses the icon_state instead. + icon_override = 'icons/mob/in-hand/guns.dmi' + cell_type = "/obj/item/weapon/cell/crap" + origin_tech = null + fire_sound = 'sound/weapons/Taser.ogg' + projectile_type = "/obj/item/projectile/energy/electrode" + charge_cost = 1000 + modifystate = "advtaserstun" + + var/mode = 0 //0 = stun, 1 = disable + + + attack_self(mob/living/user as mob) + switch(mode) + if(0) + mode = 1 + charge_cost = 500 + fire_sound = 'sound/weapons/taser2.ogg' + user << "\red [src.name] is now set to Disable." + projectile_type = "/obj/item/projectile/beam/disabler" + modifystate = "advtaserdisable" + if(1) + mode = 0 + charge_cost = 1000 + fire_sound = 'sound/weapons/Taser.ogg' + user << "\red [src.name] is now set to stun." + projectile_type = "/obj/item/projectile/energy/electrode" + modifystate = "advtaserstun" + update_icon() + if(user.l_hand == src) + user.update_inv_l_hand() + else + user.update_inv_r_hand() diff --git a/code/modules/projectiles/guns/energy/nuclear.dm b/code/modules/projectiles/guns/energy/nuclear.dm index f0526d59bb8..1487ea4d00b 100644 --- a/code/modules/projectiles/guns/energy/nuclear.dm +++ b/code/modules/projectiles/guns/energy/nuclear.dm @@ -1,15 +1,15 @@ /obj/item/weapon/gun/energy/gun name = "energy gun" - desc = "A basic energy-based gun with two settings: Stun and kill." + desc = "A basic energy-based gun with two settings: Stun and disable." icon_state = "energystun100" item_state = null //so the human update icon uses the icon_state instead. - fire_sound = 'sound/weapons/Taser.ogg' - - projectile_type = "/obj/item/projectile/energy/electrode" + fire_sound = 'sound/weapons/Taser2.ogg' + charge_cost = 500 + projectile_type = "/obj/item/projectile/beam/disabler" origin_tech = "combat=3;magnets=2" modifystate = "energystun" - var/mode = 0 //0 = stun, 1 = kill + var/mode = 0 //0 = disable, 1 = kill attack_self(mob/living/user as mob) @@ -23,10 +23,10 @@ modifystate = "energykill" if(1) mode = 0 - charge_cost = 1000 - fire_sound = 'sound/weapons/Taser.ogg' - user << "\red [src.name] is now set to stun." - projectile_type = "/obj/item/projectile/energy/electrode" + charge_cost = 500 + fire_sound = 'sound/weapons/Taser2.ogg' + user << "\red [src.name] is now set to disable." + projectile_type = "/obj/item/projectile/beam/disabler" modifystate = "energystun" update_icon() if(user.l_hand == src) @@ -42,6 +42,9 @@ desc = "An energy gun with an experimental miniaturized reactor." icon_state = "nucgun" origin_tech = "combat=3;materials=5;powerstorage=3" + charge_cost = 1000 + fire_sound = 'sound/weapons/Taser.ogg' + projectile_type = "/obj/item/projectile/energy/electrode" var/lightfail = 0 var/charge_tick = 0 @@ -115,10 +118,12 @@ update_mode() if (mode == 0) overlays += "nucgun-stun" + charge_cost = 1000 + fire_sound = 'sound/weapons/Taser.ogg' + projectile_type = "/obj/item/projectile/energy/electrode" else if (mode == 1) overlays += "nucgun-kill" - emp_act(severity) ..() reliability -= round(15/severity) diff --git a/code/modules/projectiles/guns/energy/special.dm b/code/modules/projectiles/guns/energy/special.dm index 6bfb4193800..6b6332eb65e 100644 --- a/code/modules/projectiles/guns/energy/special.dm +++ b/code/modules/projectiles/guns/energy/special.dm @@ -240,6 +240,6 @@ modules/mob/living/carbon/human/life.dm if you die, you will be zoomed out. desc = "A self-defense weapon that exhausts organic targets, weakening them until they collapse." icon_state = "disabler" item_state = null - projectile_type = "/obj/item/projectile/energy/disabler" + projectile_type = "/obj/item/projectile/beam/disabler" cell_type = "/obj/item/weapon/cell" charge_cost = 500 \ No newline at end of file diff --git a/code/modules/projectiles/guns/energy/stun.dm b/code/modules/projectiles/guns/energy/stun.dm index 0561255c471..34344fb45b3 100644 --- a/code/modules/projectiles/guns/energy/stun.dm +++ b/code/modules/projectiles/guns/energy/stun.dm @@ -109,6 +109,7 @@ name = "Energy Crossbow" desc = "A weapon favored by syndicate carp hunters." icon_state = "crossbowlarge" + silenced = 0 w_class = 3.0 force = 10 m_amt = 4000 diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm index f53ef8ef3ef..7412f739930 100644 --- a/code/modules/projectiles/projectile.dm +++ b/code/modules/projectiles/projectile.dm @@ -50,20 +50,36 @@ var/eyeblur = 0 var/drowsy = 0 var/agony = 0 + var/stamina = 0 var/embed = 0 // whether or not the projectile can embed itself in the mob var/forcedodge = 0 + var/range = 0 + var/proj_hit = 0 + proc/delete() // Garbage collect the projectiles loc = null + proc/Range() + if(range) + range-- + if(range <= 0) + on_range() + else + return + + proc/on_range() //if we want there to be effects when they reach the end of their range + proj_hit = 1 + qdel(src) + proc/on_hit(var/atom/target, var/blocked = 0) if(blocked >= 2) return 0//Full block if(!isliving(target)) return 0 if(isanimal(target)) return 0 var/mob/living/L = target - L.apply_effects(stun, weaken, paralyze, irradiate, stutter, eyeblur, drowsy, agony, blocked) // add in AGONY! + L.apply_effects(stun, weaken, paralyze, irradiate, stutter, eyeblur, drowsy, agony, blocked, stamina) // add in AGONY! return 1 proc/check_fire(var/mob/living/target as mob, var/mob/living/user as mob) //Checks if you can hit them or not. @@ -83,7 +99,7 @@ loc = A.loc return 0 //cannot shoot yourself - if(bumped) + if(bumped) return 1 bumped = 1 if(firer && istype(A, /mob)) @@ -170,7 +186,7 @@ if(kill_count < 1) del(src) return - kill_count-- + kill_count-- if((!( current ) || loc == current)) current = locate(min(max(x + xo, 1), world.maxx), min(max(y + yo, 1), world.maxy), z) if((x == 1 || x == world.maxx || y == 1 || y == world.maxy)) @@ -242,8 +258,4 @@ else M = locate() in get_step(src,target) if(istype(M)) - return 1 - -/obj/item/projectile/proc/Range() - return - + return 1 \ No newline at end of file diff --git a/code/modules/projectiles/projectile/beams.dm b/code/modules/projectiles/projectile/beams.dm index 096cb536dcb..12626e0eb7c 100644 --- a/code/modules/projectiles/projectile/beams.dm +++ b/code/modules/projectiles/projectile/beams.dm @@ -44,6 +44,14 @@ irradiate = 30 forcedodge = 1 +/obj/item/projectile/beam/disabler + name = "disabler beam" + icon_state = "omnilaser" + damage = 36 + damage_type = STAMINA + hitsound = 'sound/weapons/tap.ogg' + eyeblur = 0 + /obj/item/projectile/beam/pulse name = "pulse" icon_state = "u_laser" diff --git a/code/modules/projectiles/projectile/bullets.dm b/code/modules/projectiles/projectile/bullets.dm index 82ecb903230..7999f607892 100644 --- a/code/modules/projectiles/projectile/bullets.dm +++ b/code/modules/projectiles/projectile/bullets.dm @@ -10,8 +10,7 @@ /obj/item/projectile/bullet/weakbullet damage = 5 - stun = 5 - weaken = 5 + stamina = 33 /obj/item/projectile/bullet/weakbullet/rubber //beanbag shotgun shells embed = 0 @@ -19,8 +18,7 @@ /obj/item/projectile/bullet/weakbullet2 damage = 15 - stun = 5 - weaken = 5 + stamina = 75 //the detective can't shoot in bursts and will get yelled at if he sinks 50 rounds into perps to stun 'em /obj/item/projectile/bullet/weakbullet2/rubber //detective's c38 bullets embed = 0 @@ -42,8 +40,7 @@ /obj/item/projectile/bullet/midbullet damage = 20 - stun = 5 - weaken = 5 + stamina = 50 /obj/item/projectile/bullet/midbullet2 damage = 25 @@ -58,8 +55,7 @@ /obj/item/projectile/bullet/stunshot name = "stunshot" damage = 5 - stun = 5 - weaken = 5 + stamina = 95 stutter = 5 embed = 0 sharp = 0 diff --git a/code/modules/projectiles/projectile/energy.dm b/code/modules/projectiles/projectile/energy.dm index b7554461f2e..2e5e06d3d76 100644 --- a/code/modules/projectiles/projectile/energy.dm +++ b/code/modules/projectiles/projectile/energy.dm @@ -14,14 +14,25 @@ weaken = 5 stutter = 5 hitsound = 'sound/weapons/tase.ogg' + range = 7 //Damage will be handled on the MOB side, to prevent window shattering. - on_hit(var/atom/target, var/blocked = 0) +/obj/item/projectile/energy/electrode/on_hit(var/atom/target, var/blocked = 0) + if(!proj_hit) if(!ismob(target) || blocked >= 2) //Fully blocked by mob or collided with dense object - burst into sparks! var/datum/effect/effect/system/spark_spread/sparks = new /datum/effect/effect/system/spark_spread sparks.set_up(1, 1, src) sparks.start() - ..() + proj_hit = 1 + ..() + +/obj/item/projectile/energy/electrode/on_range() //to ensure the bolt sparks when it reaches the end of its range if it didn't hit a target yet + if(!proj_hit) + var/datum/effect/effect/system/spark_spread/sparks = new /datum/effect/effect/system/spark_spread + sparks.set_up(1, 1, src) + sparks.start() + proj_hit = 1 + ..() /obj/item/projectile/energy/electrode/revolver name = "electrode" @@ -49,16 +60,18 @@ damage = 5 damage_type = TOX weaken = 5 + range = 7 /obj/item/projectile/energy/bolt name = "bolt" icon_state = "cbbolt" - damage = 10 + damage = 15 damage_type = TOX nodamage = 0 weaken = 5 stutter = 5 + range = 10 /obj/item/projectile/energy/bolt/large name = "largebolt" @@ -69,16 +82,4 @@ icon_state = "energy" damage = 20 damage_type = TOX - irradiate = 20 - -/obj/item/projectile/energy/disabler - name = "disabler beam" - icon_state = "omnilaser" - damage = 34 - damage_type = STAMINA - var/range = 8 - -/obj/item/projectile/energy/disabler/Range() - range-- - if(range <= 0) - del(src) \ No newline at end of file + irradiate = 20 \ No newline at end of file diff --git a/code/modules/projectiles/projectile/special.dm b/code/modules/projectiles/projectile/special.dm index 8ceea50cbba..84680e2d8d6 100644 --- a/code/modules/projectiles/projectile/special.dm +++ b/code/modules/projectiles/projectile/special.dm @@ -30,6 +30,7 @@ icon_state= "bolter" damage = 60 flag = "bullet" + range = 7 /obj/item/projectile/bullet/a40mm/on_hit(atom/target, blocked = 0) explosion(target, -1, 0, 2, 1, 0) @@ -170,7 +171,7 @@ damage = 15 damage_type = BRUTE flag = "bomb" - var/range = 2 + range = 3 obj/item/projectile/kinetic/New() var/turf/proj_turf = get_turf(src) diff --git a/icons/mob/in-hand/guns.dmi b/icons/mob/in-hand/guns.dmi index 77aa1761adcd942276949d043d087c6e3bf8c06b..99093c521cf34b4fb27e4db0a3923bbf52f3b69e 100644 GIT binary patch literal 16920 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 literal 2585 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 diff --git a/icons/obj/gun.dmi b/icons/obj/gun.dmi index d8a1dce90fa7a45304379749f2d76892ede2c7f3..9a0fb5ec5160c0af9067c0fd5c3427d540815e87 100644 GIT binary patch delta 3555 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 delta 2603 zcmV+`3e@$JX4t{&0ex=ZT=tx>OONJK-4@w={h+M8BW~K9R_@O)xNT z6AMh-!~!!nv1zpfb97{rjsYQmeLwM1Z#^w!GoK#zu!o(@t7rtV1=sKHcBTAoZweX& z?|S#XhW$;$r#$=~JhKPRV0m!E0SE`3rB)uE~ijdJPv zuJY}J6cA5=1Y$IhK->osSxf_$ycmD+bb7@F$%fjWnp>yR3%coPu-dSHE08u>H%jvSe2 zm?hINDOLJ7o3Tq%S1#=0_oJPu0)lcz12H+HfsmZhSVXc;&_W*mz%^`0UsOGs-q=TB z7pS|qsPlU<#4KWu}j7y*AO~vD6rf0HCYdwmQ9P85K3?L9bfdm3F zkU)qB601eEj-|H)kD=%^OCC8aIp%HEkFjYS=Kkw9@Ws6qw}RP@z~$ZF;xI^m?qYqt=G31r$eA z0S805#~@&z)RM-5IlfRQdygy}ljn3+z>MogS)?a6lIcStl3SQeA7hcMU=m2O0*PH@ zr#8t?&7|wsG**6p3R0SxbadS$IwjWNnpi^vI|HMNH&Gz!CKSj=W-OpN$%z6I`ax z;`VO#>?Iyn%Qh`xgbqRa3x1y8{O(POZ{Ecjs=qna}s4$u(Aj zlw4z_P02NXQXi}5JA+df!y#};zEaiQ z5lH+zmoAD7Ro$IHeJ4<#1@&1#pLlMBvebeZY{ZfHi7Zmu3@B1F4JcBK4Je{iX+pDj z4`UusnxN9|v(f}rjGvVzs1W_EGyyBfaOKdJ{*1+cy87`!kYENVxvhG)V%_5Y@aK0i z)Mp1BZ+wHL$E0dO%4dOUS8 z40(-pF${U#bukQiEp{<%?Rzb*q~Rx^uM$DT_{ahdh$!HMhysp?=t^f`kN4oGP}@5h zw1tO%Ht*239n`SnmK_B&#)tyLj3_YDh^`sz%IS?_>7%1A&6qXXWVmA{2sgK#$A78RB-@k4C2XzWsnNB{U<+GIrR^S2%Dzok8LIe~D z(s~03B9JkeOj>UOK@bEHfKUaK+PEQq5ClO47#%tZ*{t{hF%bQMxX*#+r?Y?wf*=Sj@VWxn*wlnt ztM&i4cmFPJ#9fcZ(2o9xxlT(Hh z@;@|%TB=UsSRpuQ2?eFtJB&DVLg+Wfy@+rEf@bo`Bq#(a%6lMetu{Q9l|Y+nF>Q>z8`=dxKjuU17w zWO{0<=jYsat(3-mjWuh|XAK|#z=Vzluyp`zT>$^_=ty2IECi0NHyZMEadBWsm<98_ z@=wpsD6}{E2j0zP7EqN-{t0`s1oOpU*e9Jy?kL=gCAm)U5)$x~bKg>!XT}(|5*0V}4wj zVU8u=Ts{B*N$WY%-OYl3OioVr+$SQEv8=B9TesI6je(69`O#;J1ZS8sGc$c>oX9tu z4*))-Gxm+H)=_TJxJ{N%i z08Hp;0K3gpy;)!PAI;APZi>5GDy4e8r(oND#}=>KCTPrm*H|<8005XX)T7|q z2gBBxj$S`)7Hr#}o|=keAk>(zv1X0=%m4xaOc>Yzb{hx>t!FFPwx7#pMP&46rfSUB zShLoA8bAPm385YZ7e@OtRFkGLUt`VW0{{?SYz-g)0072Q-v;nLKZQj}W4^|k$p-)+ zSS)tIF5N z^f@=34*){Bh%;HbUpw8aT?oB2JrpXR_fc~p`27ID)Tim zea=ni0|1bev0eiR{O?!;2mml)Y-a!g000mV8bAO50A*+Z0RRA$`3tm-O|jA+<)Q!p N002ovPDHLkV1ku4?_K}^ diff --git a/maps/cyberiad.dmm b/maps/cyberiad.dmm index 5a4eb7d743a..19b7ac55edf 100644 --- a/maps/cyberiad.dmm +++ b/maps/cyberiad.dmm @@ -134,9 +134,9 @@ "acD" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/light_switch{pixel_x = 27},/obj/machinery/hologram/holopad,/turf/simulated/floor{icon_state = "dark"},/area/security/execution{name = "\improper Prisoner Transfer Center"}) "acE" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/wall/r_wall,/area) "acF" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/permabrig) -"acG" = (/obj/structure/rack,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/window/brigdoor{dir = 2; name = "Weapons locker"; req_access_txt = "3"},/obj/structure/window/reinforced{dir = 8},/obj/item/weapon/gun/projectile/shotgun/riot,/obj/machinery/ai_status_display{pixel_x = 0; pixel_y = 32},/turf/simulated/floor{dir = 8; icon_state = "vault"; tag = "icon-vault (WEST)"},/area/security/securearmoury) -"acH" = (/obj/machinery/alarm{pixel_y = 23},/obj/structure/window/reinforced{dir = 1},/obj/structure/rack,/obj/machinery/door/window/brigdoor{dir = 2; name = "Weapons locker"; req_access_txt = "3"},/obj/item/ammo_box/shotgun/beanbag,/obj/item/ammo_box/shotgun/beanbag,/turf/simulated/floor{dir = 8; icon_state = "vault"; tag = "icon-vault (WEST)"},/area/security/securearmoury) -"acI" = (/obj/structure/rack,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/window/brigdoor{dir = 2; name = "Weapons locker"; req_access_txt = "3"},/obj/structure/window/reinforced{dir = 4},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/item/weapon/gun/projectile/shotgun/riot,/turf/simulated/floor{dir = 8; icon_state = "vault"; tag = "icon-vault (WEST)"},/area/security/securearmoury) +"acG" = (/obj/structure/rack,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/item/clothing/suit/armor/bulletproof{pixel_x = 0; pixel_y = 0},/turf/simulated/floor{dir = 8; icon_state = "vault"; tag = "icon-vault (WEST)"},/area/security/securearmoury) +"acH" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/obj/effect/decal/warning_stripes/northeast,/turf/simulated/floor{icon_state = "dark"},/area/security/securearmoury) +"acI" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/effect/decal/warning_stripes/northwest,/turf/simulated/floor{icon_state = "dark"},/area/security/securearmoury) "acJ" = (/obj/machinery/light_switch{pixel_x = -25},/turf/simulated/floor{icon_state = "dark"},/area/security/hos) "acK" = (/turf/simulated/floor{icon_state = "dark"},/area/security/hos) "acL" = (/obj/structure/stool/bed/chair/comfy/black,/obj/effect/landmark/start{name = "Head of Security"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/keycard_auth{pixel_x = 0; pixel_y = -24},/turf/simulated/floor{icon_state = "dark"},/area/security/hos) @@ -144,11 +144,11 @@ "acN" = (/obj/structure/grille,/obj/structure/sign/securearea{desc = "A warning sign which reads 'KEEP CLEAR OF DOCKING AREA'."; name = "KEEP CLEAR: DOCKING AREA"; pixel_y = 0},/turf/simulated/floor/airless{icon_state = "circuit"},/area) "acO" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 8; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/permabrig) "acP" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/permabrig) -"acQ" = (/obj/structure/rack,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/window/brigdoor{dir = 2; name = "Weapons locker"; req_access_txt = "3"},/obj/item/clothing/suit/armor/laserproof{pixel_x = 0; pixel_y = 0},/turf/simulated/floor{dir = 8; icon_state = "vault"; tag = "icon-vault (WEST)"},/area/security/securearmoury) -"acR" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "dark"},/area/security/securearmoury) +"acQ" = (/obj/effect/decal/warning_stripes/north,/turf/simulated/floor{icon_state = "dark"},/area/security/securearmoury) +"acR" = (/obj/structure/rack,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/item/clothing/suit/armor/laserproof{pixel_x = 0; pixel_y = 0},/turf/simulated/floor{dir = 8; icon_state = "vault"; tag = "icon-vault (WEST)"},/area/security/securearmoury) "acS" = (/turf/simulated/floor{icon_state = "dark"},/area/security/securearmoury) -"acT" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor{icon_state = "dark"},/area/security/securearmoury) -"acU" = (/obj/structure/rack,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/window/brigdoor{dir = 2; name = "Weapons locker"; req_access_txt = "3"},/obj/item/clothing/suit/armor/bulletproof{pixel_x = 0; pixel_y = 0},/turf/simulated/floor{dir = 8; icon_state = "vault"; tag = "icon-vault (WEST)"},/area/security/securearmoury) +"acT" = (/obj/structure/rack,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/item/weapon/gun/projectile/shotgun/riot,/obj/machinery/ai_status_display{pixel_x = 0; pixel_y = 32},/turf/simulated/floor{dir = 8; icon_state = "vault"; tag = "icon-vault (WEST)"},/area/security/securearmoury) +"acU" = (/obj/machinery/alarm{pixel_y = 23},/obj/structure/window/reinforced{dir = 1},/obj/structure/rack,/obj/item/ammo_box/shotgun/beanbag,/obj/item/ammo_box/shotgun/beanbag,/turf/simulated/floor{dir = 8; icon_state = "vault"; tag = "icon-vault (WEST)"},/area/security/securearmoury) "acV" = (/obj/machinery/hologram/holopad,/obj/machinery/ai_status_display{pixel_x = 0; pixel_y = 32},/turf/simulated/floor{tag = "icon-vault (SOUTHWEST)"; icon_state = "vault"; dir = 10},/area/security/nuke_storage) "acW" = (/obj/machinery/light/small{dir = 1},/obj/machinery/alarm{pixel_y = 23},/turf/simulated/floor{tag = "icon-vault"; icon_state = "vault"},/area/security/nuke_storage) "acX" = (/obj/machinery/power/apc{dir = 1; name = "Vault APC"; pixel_x = 0; pixel_y = 25},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor{tag = "icon-vault (SOUTHWEST)"; icon_state = "vault"; dir = 10},/area/security/nuke_storage) @@ -172,10 +172,10 @@ "adp" = (/obj/item/device/radio/intercom{pixel_x = 27},/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/interrogationobs) "adq" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/permabrig) "adr" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 32; pixel_y = 0},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/permabrig) -"ads" = (/obj/structure/rack,/obj/item/weapon/gun/energy/laser,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/window/brigdoor{dir = 4; name = "Weapons locker"; req_access_txt = "3"},/turf/simulated/floor{dir = 8; icon_state = "vault"; tag = "icon-vault (WEST)"},/area/security/securearmoury) +"ads" = (/obj/structure/rack,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/item/weapon/gun/projectile/shotgun/riot,/turf/simulated/floor{dir = 8; icon_state = "vault"; tag = "icon-vault (WEST)"},/area/security/securearmoury) "adt" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "dark"},/area/security/securearmoury) "adu" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "dark"},/area/security/securearmoury) -"adv" = (/obj/structure/rack,/obj/item/clothing/suit/armor/riot,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/shield/riot,/obj/item/clothing/head/helmet/riot,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/window/brigdoor{dir = 8; name = "Weapons locker"; req_access_txt = "3"},/turf/simulated/floor{dir = 8; icon_state = "vault"; tag = "icon-vault (WEST)"},/area/security/securearmoury) +"adv" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/effect/decal/warning_stripes/southeast,/turf/simulated/floor{icon_state = "dark"},/area/security/securearmoury) "adw" = (/obj/structure/closet/secure_closet/freezer/money,/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{dir = 8; icon_state = "vault"; tag = "icon-vault (WEST)"},/area/security/nuke_storage) "adx" = (/turf/simulated/floor{tag = "icon-vault"; icon_state = "vault"},/area/security/nuke_storage) "ady" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{tag = "icon-vault"; icon_state = "vault"},/area/security/nuke_storage) @@ -190,11 +190,11 @@ "adH" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/interrogationobs) "adI" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9; pixel_y = 0},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/interrogationobs) "adJ" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/interrogationobs) -"adK" = (/obj/structure/rack,/obj/item/weapon/gun/energy/laser,/obj/machinery/light{dir = 8},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/window/brigdoor{dir = 4; name = "Weapons locker"; req_access_txt = "3"},/turf/simulated/floor{dir = 8; icon_state = "vault"; tag = "icon-vault (WEST)"},/area/security/securearmoury) -"adL" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/rack,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/window/brigdoor{dir = 2; name = "Weapons locker"; req_access_txt = "3"},/obj/item/weapon/gun/energy/gun,/turf/simulated/floor{dir = 8; icon_state = "vault"; tag = "icon-vault (WEST)"},/area/security/securearmoury) -"adM" = (/obj/structure/rack,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/window/brigdoor{dir = 2; name = "Weapons locker"; req_access_txt = "3"},/obj/item/weapon/gun/energy/gun,/turf/simulated/floor{dir = 8; icon_state = "vault"; tag = "icon-vault (WEST)"},/area/security/securearmoury) -"adN" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/rack,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/window/brigdoor{dir = 2; name = "Weapons locker"; req_access_txt = "3"},/obj/item/weapon/gun/energy/gun,/turf/simulated/floor{dir = 8; icon_state = "vault"; tag = "icon-vault (WEST)"},/area/security/securearmoury) -"adO" = (/obj/structure/rack,/obj/item/clothing/suit/armor/riot,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/shield/riot,/obj/item/clothing/head/helmet/riot,/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/window/brigdoor{dir = 8; name = "Weapons locker"; req_access_txt = "3"},/turf/simulated/floor{dir = 8; icon_state = "vault"; tag = "icon-vault (WEST)"},/area/security/securearmoury) +"adK" = (/obj/structure/rack,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/item/weapon/gun/energy/ionrifle,/turf/simulated/floor{dir = 8; icon_state = "vault"; tag = "icon-vault (WEST)"},/area/security/securearmoury) +"adL" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/effect/decal/warning_stripes/south,/turf/simulated/floor{icon_state = "dark"},/area/security/securearmoury) +"adM" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/effect/decal/warning_stripes/southwest,/turf/simulated/floor{icon_state = "dark"},/area/security/securearmoury) +"adN" = (/obj/structure/rack,/obj/item/device/radio/intercom{freerange = 0; frequency = 1459; name = "Station Intercom (General)"; pixel_x = -30},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/item/weapon/storage/lockbox/loyalty,/turf/simulated/floor{dir = 8; icon_state = "vault"; tag = "icon-vault (WEST)"},/area/security/securearmoury) +"adO" = (/obj/structure/rack,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/item/weapon/shield/riot,/obj/item/weapon/shield/riot,/obj/item/weapon/shield/riot,/turf/simulated/floor{dir = 8; icon_state = "vault"; tag = "icon-vault (WEST)"},/area/security/securearmoury) "adP" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{tag = "icon-vault (NORTH)"; icon_state = "vault"; dir = 1},/area/security/nuke_storage) "adQ" = (/obj/machinery/nuclearbomb{r_code = "LOLNO"},/turf/simulated/floor{dir = 8; icon_state = "vault"; tag = "icon-vault (WEST)"},/area/security/nuke_storage) "adR" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{tag = "icon-vault (SOUTHWEST)"; icon_state = "vault"; dir = 10},/area/security/nuke_storage) @@ -214,8 +214,8 @@ "aef" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/security/interrogationobs) "aeg" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/security/interrogationobs) "aeh" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/camera{c_tag = "Brig Prison Hallway"; dir = 4; network = list("Prison","SS13")},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/permabrig) -"aei" = (/obj/structure/rack,/obj/item/weapon/gun/energy/laser,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/door/window/brigdoor{dir = 4; name = "Weapons locker"; req_access_txt = "3"},/turf/simulated/floor{dir = 8; icon_state = "vault"; tag = "icon-vault (WEST)"},/area/security/securearmoury) -"aej" = (/obj/structure/rack,/obj/item/clothing/suit/armor/riot,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/shield/riot,/obj/item/clothing/head/helmet/riot,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/window/brigdoor{dir = 8; name = "Weapons locker"; req_access_txt = "3"},/turf/simulated/floor{dir = 8; icon_state = "vault"; tag = "icon-vault (WEST)"},/area/security/securearmoury) +"aei" = (/obj/effect/decal/warning_stripes/east,/turf/simulated/floor{icon_state = "dark"},/area/security/securearmoury) +"aej" = (/obj/effect/decal/warning_stripes/west,/turf/simulated/floor{icon_state = "dark"},/area/security/securearmoury) "aek" = (/obj/machinery/camera{c_tag = "Brig Vault"; dir = 4; network = list("SS13")},/obj/structure/closet/crate{name = "Gold Crate"},/obj/item/stack/sheet/mineral/gold{amount = 10; pixel_x = -1; pixel_y = 5},/obj/item/stack/sheet/mineral/gold{amount = 10; pixel_y = 2},/obj/item/stack/sheet/mineral/gold{amount = 10; pixel_x = 1; pixel_y = -2},/obj/item/device/radio/intercom{freerange = 0; frequency = 1459; name = "Station Intercom (General)"; pixel_x = -30},/obj/item/weapon/storage/belt/champion,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/turf/simulated/floor{tag = "icon-vault (NORTH)"; icon_state = "vault"; dir = 1},/area/security/nuke_storage) "ael" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/turf/simulated/floor{tag = "icon-vault"; icon_state = "vault"},/area/security/nuke_storage) "aem" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/item/weapon/coin/silver{pixel_x = 7; pixel_y = 12},/obj/item/weapon/coin/silver{pixel_x = 12; pixel_y = 7},/obj/item/weapon/coin/silver{pixel_x = 4; pixel_y = 8},/obj/item/weapon/coin/silver{pixel_x = -6; pixel_y = 5},/obj/item/weapon/coin/silver{pixel_x = 5; pixel_y = -8},/obj/structure/closet/crate{name = "Silver Crate"},/obj/item/weapon/coin/diamond,/obj/item/weapon/coin/gold,/obj/item/weapon/coin/gold,/obj/item/weapon/coin/gold,/turf/simulated/floor{tag = "icon-vault (EAST)"; icon_state = "vault"; dir = 4},/area/security/nuke_storage) @@ -231,10 +231,10 @@ "aew" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/security/interrogationobs) "aex" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor,/area/security/interrogationobs) "aey" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/light/small,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 4; name = "Interrogation Observation APC"; pixel_x = 26; pixel_y = 0},/obj/machinery/hologram/holopad,/turf/simulated/floor,/area/security/interrogationobs) -"aez" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/apc{cell_type = 5000; dir = 8; name = "Armory APC"; pixel_x = -24; pixel_y = 0},/obj/machinery/camera/motion{c_tag = "Secure Armory"; dir = 4; network = list("SS13")},/obj/machinery/light_switch{pixel_x = -25; pixel_y = -10},/turf/simulated/floor{icon_state = "dark"},/area/security/securearmoury) -"aeA" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "dark"},/area/security/securearmoury) +"aez" = (/obj/structure/rack,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/item/weapon/gun/energy/advtaser{pixel_x = -3; pixel_y = 3},/obj/item/weapon/gun/energy/advtaser{pixel_x = 0; pixel_y = 0},/obj/item/weapon/gun/energy/advtaser{pixel_x = 3; pixel_y = -3},/turf/simulated/floor{dir = 8; icon_state = "vault"; tag = "icon-vault (WEST)"},/area/security/securearmoury) +"aeA" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/apc{cell_type = 5000; dir = 8; name = "Armory APC"; pixel_x = -24; pixel_y = 0},/obj/machinery/camera/motion{c_tag = "Secure Armory"; dir = 4; network = list("SS13")},/obj/machinery/light_switch{pixel_x = -25; pixel_y = -10},/obj/effect/decal/warning_stripes/southwest,/turf/simulated/floor{icon_state = "dark"},/area/security/securearmoury) "aeB" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/machinery/hologram/holopad,/turf/simulated/floor{icon_state = "dark"},/area/security/securearmoury) -"aeC" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor{icon_state = "dark"},/area/security/securearmoury) +"aeC" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/effect/decal/warning_stripes/southwestcorner,/turf/simulated/floor{icon_state = "dark"},/area/security/securearmoury) "aeD" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/machinery/light_switch{pixel_x = -25},/turf/simulated/floor{tag = "icon-vault (NORTH)"; icon_state = "vault"; dir = 1},/area/security/nuke_storage) "aeE" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{tag = "icon-vault"; icon_state = "vault"},/area/security/nuke_storage) "aeF" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/machinery/light/small,/turf/simulated/floor{tag = "icon-vault (SOUTHWEST)"; icon_state = "vault"; dir = 10},/area/security/nuke_storage) @@ -259,9 +259,9 @@ "aeY" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/security{name = "Interrogation Observervation"; req_access = null; req_access_txt = "63"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/security/interrogationobs) "aeZ" = (/obj/machinery/door/firedoor,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Prison Gate"; name = "Prison Blast Doors"; opacity = 0},/obj/machinery/door/airlock/glass_security{name = "Prison Wing"; req_access_txt = "2"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/permabrig) "afa" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Prison Gate"; name = "Prison Blast Doors"; opacity = 0},/obj/machinery/door/airlock/glass_security{name = "Prison Wing"; req_access_txt = "2"},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/permabrig) -"afb" = (/obj/structure/rack,/obj/item/device/radio/intercom{freerange = 0; frequency = 1459; name = "Station Intercom (General)"; pixel_x = -30},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/door/window/brigdoor{dir = 1; name = "Weapons locker"; req_access_txt = "3"},/obj/structure/window/reinforced{dir = 4},/obj/item/weapon/storage/lockbox/loyalty,/turf/simulated/floor{dir = 8; icon_state = "vault"; tag = "icon-vault (WEST)"},/area/security/securearmoury) -"afc" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "dark"},/area/security/securearmoury) -"afd" = (/obj/structure/rack,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/door/window/brigdoor{dir = 1; name = "Weapons locker"; req_access_txt = "3"},/obj/structure/window/reinforced{dir = 8},/obj/item/weapon/gun/energy/ionrifle,/turf/simulated/floor{dir = 8; icon_state = "vault"; tag = "icon-vault (WEST)"},/area/security/securearmoury) +"afb" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/effect/decal/warning_stripes/southeastcorner,/turf/simulated/floor{icon_state = "dark"},/area/security/securearmoury) +"afc" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/effect/decal/warning_stripes/southeast,/turf/simulated/floor{icon_state = "dark"},/area/security/securearmoury) +"afd" = (/obj/structure/rack,/obj/item/clothing/head/helmet/riot,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/item/clothing/head/helmet/riot,/obj/item/clothing/head/helmet/riot,/turf/simulated/floor{dir = 8; icon_state = "vault"; tag = "icon-vault (WEST)"},/area/security/securearmoury) "afe" = (/obj/structure/sign/securearea,/turf/simulated/wall/r_wall,/area) "aff" = (/obj/machinery/door/airlock/vault{icon_state = "door_locked"; locked = 1; req_access_txt = "53"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/security/nuke_storage) "afg" = (/obj/structure/sign/securearea,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/wall/r_wall,/area) @@ -10816,6 +10816,7 @@ "dZZ" = (/obj/structure/closet/emcloset,/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/alarm{dir = 1; pixel_y = -25},/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/turf/simulated/floor,/area/research_outpost/entry) "eaa" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/research_outpost/entry) "eab" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 4; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/machinery/light_switch{pixel_y = -23},/turf/simulated/floor,/area/research_outpost/entry) +"eac" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/effect/decal/warning_stripes/northeastcorner,/turf/simulated/floor{icon_state = "dark"},/area/security/securearmoury) "ead" = (/obj/machinery/sleeper{dir = 8},/obj/machinery/light_switch{pixel_y = -23},/turf/simulated/floor{dir = 9; icon_state = "warnwhite"},/area/research_outpost/med) "eae" = (/obj/machinery/sleep_console{dir = 8},/obj/machinery/light/small,/obj/machinery/camera{c_tag = "Research Outpost Medbay"; dir = 8; network = list("Research Outpost")},/turf/simulated/floor{icon_state = "warnwhite"; dir = 5},/area/research_outpost/med) "eaf" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/research_outpost/tempstorage) @@ -10891,6 +10892,7 @@ "ebx" = (/obj/structure/closet/excavation,/turf/simulated/floor,/area/research_outpost/gearstore) "eby" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor,/area/research_outpost/gearstore) "ebz" = (/obj/structure/rack,/obj/item/weapon/storage/belt/archaeology,/obj/item/clothing/suit/space/anomaly,/obj/item/clothing/head/helmet/space/anomaly,/obj/item/clothing/mask/breath,/obj/machinery/light_switch{pixel_x = 0; pixel_y = 23},/turf/simulated/floor,/area/research_outpost/gearstore) +"ebA" = (/obj/effect/decal/warning_stripes/northeast,/turf/simulated/floor{icon_state = "dark"},/area/security/securearmoury) "ebB" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor,/area/research_outpost/gearstore) "ebC" = (/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 8; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0},/obj/machinery/alarm{pixel_y = 24},/turf/simulated/floor,/area/research_outpost/gearstore) "ebD" = (/obj/structure/extinguisher_cabinet{pixel_x = -5; pixel_y = 30},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0},/turf/simulated/floor,/area/research_outpost/gearstore) @@ -10930,6 +10932,7 @@ "ecl" = (/obj/structure/closet/excavation,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor,/area/research_outpost/gearstore) "ecm" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor,/area/research_outpost/gearstore) "ecn" = (/obj/structure/rack,/obj/item/weapon/storage/belt/archaeology,/obj/item/clothing/suit/space/anomaly,/obj/item/clothing/head/helmet/space/anomaly,/obj/item/clothing/mask/breath,/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1},/turf/simulated/floor,/area/research_outpost/gearstore) +"eco" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/effect/decal/warning_stripes/northwestcorner,/turf/simulated/floor{icon_state = "dark"},/area/security/securearmoury) "ecp" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_Toxins = 0},/turf/simulated/floor,/area/research_outpost/gearstore) "ecq" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor,/area/research_outpost/gearstore) "ecr" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 4; name = "Expedition Area APC"; pixel_x = 26; pixel_y = 0},/obj/machinery/camera{c_tag = "Research Outpost Expedition Preparation"; dir = 8; network = list("Research Outpost")},/turf/simulated/floor,/area/research_outpost/gearstore) @@ -12687,6 +12690,10 @@ "eKb" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating,/area/aisat) "eKc" = (/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/aisat) "eKd" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/aisat) +"eKe" = (/obj/effect/decal/warning_stripes/northwest,/turf/simulated/floor{icon_state = "dark"},/area/security/securearmoury) +"eKf" = (/obj/structure/rack,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/item/weapon/gun/energy/laser{pixel_x = -3; pixel_y = 3},/obj/item/weapon/gun/energy/laser,/obj/item/weapon/gun/energy/laser{pixel_x = 3; pixel_y = -3},/turf/simulated/floor{dir = 8; icon_state = "vault"; tag = "icon-vault (WEST)"},/area/security/securearmoury) +"eKg" = (/obj/structure/rack,/obj/machinery/light{dir = 8},/obj/structure/window/reinforced{dir = 8},/obj/item/weapon/gun/energy/gun{pixel_x = -3; pixel_y = 3},/obj/item/weapon/gun/energy/gun,/obj/item/weapon/gun/energy/gun{pixel_x = 3; pixel_y = -3},/turf/simulated/floor{dir = 8; icon_state = "vault"; tag = "icon-vault (WEST)"},/area/security/securearmoury) +"eKh" = (/obj/structure/rack,/obj/item/clothing/suit/armor/riot,/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/window/reinforced{dir = 4},/obj/item/clothing/suit/armor/riot,/obj/item/clothing/suit/armor/riot,/turf/simulated/floor{dir = 8; icon_state = "vault"; tag = "icon-vault (WEST)"},/area/security/securearmoury) (1,1,1) = {" aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -12750,13 +12757,13 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaaaafaafaafaafaafaaaaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaiaaiaaiaaiaaiabWabXabYabZacaaaiacbaaaaaaaaaaaaaaaabAabBabBabAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaDaaDaaDaaDaaDaaDaaDaaDaaDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaccacdaceacfacgachabTaaiaaiaaiaaiaaaaaaaaaaaaaaaaaaaaaabAaciabBabAaaiaaiaaiacjackaaiaaiaaiabAabAabAabAabAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaDaaDaaDaaDaaDaaDaaDaaDaaDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaclacmacnacoacpacqacraaiacsaaiaaiaaiaaiaaiaaaaaaaaiaaiaaiaaiaaiaaiaaiactacuacvacwacxacyaaiabBabBabBabBabBabAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaDaaDaaDaaDaaDaaDaaDaaDaaDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaczaczaczaczaczaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiacAacBacCacDacEacFacraaiaaiaaiacGacHacIaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiacJacKacLacKacKacMaaiaaiaaiaaiaaiaaiaaiabBacNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaDaaDaaDaaDaaDaaDaaDaaDaaDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahaahaahaahaahaaaaahaahaahaahaahaaaaahaahaahaahaahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaczaczaczaczaczaczaczaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaiaaiaaiaaiaaiacOacPaaiaaiacQacRacSacTacUaaiaaiaaiacVacWacXacYaaiaaiacZadaadbadcaddadeaaiadfadgadhadiadjadkadlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaDaaDaaDaaDaaDaaDaaDaaDaaDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahaahaahaahaahaaaaahaahaahaahaahaaaaahaahaahaahaahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaczaczaczaczaczaczaczaczaczaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiadmadnadoadpaaiadqadraaiadsacSadtacSaduacSadvaaiaaiadwadxadyadzaaiaaiadAadBadCadDacKadEaaiadFadjadjadjadjadkadlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaDaaDaaDaaDaaDaaDaaDaaDaaDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahaahaahaahaahaaaaaaaaaaaaaaaaaaaaaaahaahaahaahaahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaczaczaczaczaczaczaczaczaczaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaiaaiaaiaaiadGadHadIadJaaiabWabTaaiadKacSadLadMadNacSadOaaiaaiadPadQadRadSaaiaaiadTadUadVadWadXadYaaiadZadjaeaadjadjadkadlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaczaczaczaczaczaczaczaczaczaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaebaecaedaaiaeeaefaegaegacEaehacraaiaeiacSadtacSaduacSaejaaiaaiaekaeladRaemaaiaaiaenadBaeoadDacKaepaaiaeqadjadjadjadjaeradlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaczaczaczaczaczaczaczaczaczaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaaiaesaetaeuaevaewaexaewaeyacEacFacraaiaaiaezaeAaeBaduaeCaaiaaiaaiaeDaeEaeFaeGaaiaaiaeHaeIaeJacKaeKaeLaaiaeMaeNaeOaeOaePaaiabBabMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaczaczaczaczaczaczaczaczaczaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaeQaeRaeSaaiaeTaeRaeUaaiaaaaaiaeVaeWaeXaaiaaiaeYaaiaaiaaiaeZafaaaiaaiafbadtafcaduafdaaiaaiafeaffafgaaiaaiaaiaaiafhafiafjafkaflaaiaaiafmafnafoafpafqaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaczaczaczaczaczaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiacAacBacCacDacEacFacraaiaaiaaiacTacUadsaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiacJacKacLacKacKacMaaiaaiaaiaaiaaiaaiaaiabBacNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaDaaDaaDaaDaaDaaDaaDaaDaaDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahaahaahaahaahaaaaahaahaahaahaahaaaaahaahaahaahaahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaczaczaczaczaczaczaczaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaiaaiaaiaaiaaiacOacPaaiaaiacRacIacQacHacGaaiaaiaaiacVacWacXacYaaiaaiacZadaadbadcaddadeaaiadfadgadhadiadjadkadlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaDaaDaaDaaDaaDaaDaaDaaDaaDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahaahaahaahaahaaaaahaahaahaahaahaaaaahaahaahaahaahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaczaczaczaczaczaczaczaczaczaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiadmadnadoadpaaiadqadraaieKfeKeecoacSeacebAafdaaiaaiadwadxadyadzaaiaaiadAadBadCadDacKadEaaiadFadjadjadjadjadkadlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaDaaDaaDaaDaaDaaDaaDaaDaaDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahaahaahaahaahaaaaaaaaaaaaaaaaaaaaaaahaahaahaahaahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaczaczaczaczaczaczaczaczaczaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaiaaiaaiaaiadGadHadIadJaaiabWabTaaieKgaejadtacSaduaeieKhaaiaaiadPadQadRadSaaiaaiadTadUadVadWadXadYaaiadZadjaeaadjadjadkadlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaczaczaczaczaczaczaczaczaczaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaebaecaedaaiaeeaefaegaegacEaehacraaiaezaejadtacSaduaeiadOaaiaaiaekaeladRaemaaiaaiaenadBaeoadDacKaepaaiaeqadjadjadjadjaeradlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaczaczaczaczaczaczaczaczaczaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaaiaesaetaeuaevaewaexaewaeyacEacFacraaiaaiaeAaeCaeBafbafcaaiaaiaaiaeDaeEaeFaeGaaiaaiaeHaeIaeJacKaeKaeLaaiaeMaeNaeOaeOaePaaiabBabMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaczaczaczaczaczaczaczaczaczaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaeQaeRaeSaaiaeTaeRaeUaaiaaaaaiaeVaeWaeXaaiaaiaeYaaiaaiaaiaeZafaaaiaaiadNadMadLadvadKaaiaaiafeaffafgaaiaaiaaiaaiafhafiafjafkaflaaiaaiafmafnafoafpafqaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaczaczaczaczaczaczaczaczaczaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaafrafrafsafrafraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaftafuafvaaiaftafuafvaaiaaaaaiafwafxafyacgafzafAafBafCafDafEafFafGaaiaaiafHafIafJaaiaaiaaiafKafLafMafNafOafPafQafRafMafSafNafNafTafUafVafWafXafYafZaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaczaczaczaczaczaczaczaczaczaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafraaaaabaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiagbafvagcaaiagdafvageaaiaaaaaiaaiaaiaaiaaiagfaggaghagiagjagkaglagmaaqagnagoagpagqagragsaaqagtaguagvagwagwagxagyagzagvagwagwagwagwagAafoagBagCagDagEagFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaczaczaczaczaczaczaczaczaczaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafsaabagGaabafsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiafvaftafvaaiafvaftafvaaiaaaaaiagHagIagIagJagKagLagMagNagOagPagQagRaaqagSagTagUagVagWagWagXagYagZahaahbahbahcahdaheahfahgahbahbahhahiabYahjahkahlahmaaiaaiaaiaaiaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa diff --git a/paradise.dme b/paradise.dme index 7e82539fe1f..7bf2b34f74a 100644 --- a/paradise.dme +++ b/paradise.dme @@ -1352,6 +1352,7 @@ #include "code\modules\projectiles\guns\energy.dm" #include "code\modules\projectiles\guns\magic.dm" #include "code\modules\projectiles\guns\projectile.dm" +#include "code\modules\projectiles\guns\energy\advtaser.dm" #include "code\modules\projectiles\guns\energy\laser.dm" #include "code\modules\projectiles\guns\energy\nuclear.dm" #include "code\modules\projectiles\guns\energy\pulse.dm" diff --git a/sound/weapons/tap.ogg b/sound/weapons/tap.ogg new file mode 100644 index 0000000000000000000000000000000000000000..4cb31e91486b55de85223e5ad86cf67586e17ed4 GIT binary patch literal 18540 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