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 77aa1761adc..99093c521cf 100644 Binary files a/icons/mob/in-hand/guns.dmi and b/icons/mob/in-hand/guns.dmi differ diff --git a/icons/obj/gun.dmi b/icons/obj/gun.dmi index d8a1dce90fa..9a0fb5ec516 100644 Binary files a/icons/obj/gun.dmi and b/icons/obj/gun.dmi differ 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 00000000000..4cb31e91486 Binary files /dev/null and b/sound/weapons/tap.ogg differ