diff --git a/code/game/objects/items/devices/scanners.dm b/code/game/objects/items/devices/scanners.dm
index 5b77c5c8236..fd084bab1a9 100644
--- a/code/game/objects/items/devices/scanners.dm
+++ b/code/game/objects/items/devices/scanners.dm
@@ -43,7 +43,7 @@ REAGENT SCANNER
/obj/item/device/t_scanner/attack_self(mob/user)
on = !on
- icon_state = "t-ray[on]"
+ icon_state = copytext(icon_state, 1, length(icon_state))+"[on]"
if(on)
processing_objects.Add(src)
@@ -53,6 +53,9 @@ REAGENT SCANNER
if(!on)
processing_objects.Remove(src)
return null
+ scan()
+
+/obj/item/device/t_scanner/proc/scan()
for(var/turf/T in range(scan_range, src.loc) )
diff --git a/code/game/objects/items/weapons/storage/boxes.dm b/code/game/objects/items/weapons/storage/boxes.dm
index 7af43c85cb3..628d287e7c5 100644
--- a/code/game/objects/items/weapons/storage/boxes.dm
+++ b/code/game/objects/items/weapons/storage/boxes.dm
@@ -537,6 +537,19 @@
for (var/i; i < storage_slots; i++)
new /obj/item/weapon/reagent_containers/hypospray/autoinjector(src)
+/obj/item/weapon/storage/box/autoinjector/utility
+ name = "autoinjector kit"
+ desc = "A box with several utility autoinjectors for the economical miner."
+ icon_state = "syringe"
+
+ New()
+ ..()
+ new /obj/item/weapon/reagent_containers/hypospray/autoinjector/leporazine(src)
+ new /obj/item/weapon/reagent_containers/hypospray/autoinjector/leporazine(src)
+ new /obj/item/weapon/reagent_containers/hypospray/autoinjector/stimpack(src)
+ new /obj/item/weapon/reagent_containers/hypospray/autoinjector/stimpack(src)
+ new /obj/item/weapon/reagent_containers/hypospray/autoinjector/stimpack(src)
+
/obj/item/weapon/storage/box/lights
name = "replacement bulbs"
icon = 'icons/obj/storage.dmi'
diff --git a/code/game/objects/structures/crates_lockers/closets/secure/medical.dm b/code/game/objects/structures/crates_lockers/closets/secure/medical.dm
index 940fb1409f4..1724b921850 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/medical.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/medical.dm
@@ -151,7 +151,7 @@
new /obj/item/weapon/defibrillator/loaded(src)
new /obj/item/weapon/storage/belt/medical(src)
new /obj/item/device/flash(src)
- new /obj/item/weapon/reagent_containers/hypospray(src)
+ new /obj/item/weapon/reagent_containers/hypospray/CMO(src)
return
diff --git a/code/modules/customitems/item_defines.dm b/code/modules/customitems/item_defines.dm
index c7e93804419..27736fe0858 100644
--- a/code/modules/customitems/item_defines.dm
+++ b/code/modules/customitems/item_defines.dm
@@ -427,7 +427,6 @@
/obj/item/weapon/reagent_containers/hypospray/fluff/asher_spock_1/New()
..()
- reagents.remove_reagent("tricordrazine", 30)
reagents.add_reagent("oxycodone", 15)
update_icon()
return
diff --git a/code/modules/mining/equipment_locker.dm b/code/modules/mining/equipment_locker.dm
index 83ebb434540..1a0315b957d 100644
--- a/code/modules/mining/equipment_locker.dm
+++ b/code/modules/mining/equipment_locker.dm
@@ -140,31 +140,34 @@
/**********************Mining Equipment Locker**************************/
/obj/machinery/mineral/equipment_locker
- name = "mining equipment locker"
- desc = "An equipment locker for miners, points collected at an ore redemption machine can be spent here."
+ name = "mining equipment vendor"
+ desc = "An equipment vendor for miners, points collected at an ore redemption machine can be spent here."
icon = 'icons/obj/machines/mining_machines.dmi'
icon_state = "mining"
density = 1
anchored = 1.0
var/obj/item/weapon/card/id/inserted_id
var/list/prize_list = list(
- new /datum/data/mining_equipment("Chili", /obj/item/weapon/reagent_containers/food/snacks/hotchili, 100),
- new /datum/data/mining_equipment("Cigar", /obj/item/clothing/mask/cigarette/cigar/havana, 100),
- new /datum/data/mining_equipment("Whiskey", /obj/item/weapon/reagent_containers/food/drinks/bottle/whiskey, 150),
- new /datum/data/mining_equipment("Soap", /obj/item/weapon/soap/nanotrasen, 150),
- //new /datum/data/mining_equipment("Stimulant pills", /obj/item/weapon/storage/pill_bottle/stimulant, 350),
- //new /datum/data/mining_equipment("Alien toy", /obj/item/clothing/mask/facehugger/toy, 250),
- //new /datum/data/mining_equipment("Laser pointer", /obj/item/device/laser_pointer, 250),
- new /datum/data/mining_equipment("Point card", /obj/item/weapon/card/mining_point_card, 500),
- new /datum/data/mining_equipment("Lazarus injector", /obj/item/weapon/lazarus_injector, 1000),
- new /datum/data/mining_equipment("Space cash", /obj/item/weapon/spacecash/c1000, 5000),
- new /datum/data/mining_equipment("Sonic jackhammer", /obj/item/weapon/pickaxe/jackhammer, 500),
- new /datum/data/mining_equipment("Mining drone", /mob/living/simple_animal/hostile/mining_drone/, 500),
- new /datum/data/mining_equipment("Jaunter", /obj/item/device/wormhole_jaunter, 250),
- new /datum/data/mining_equipment("Resonator", /obj/item/weapon/resonator, 750),
- new /datum/data/mining_equipment("Kinetic accelerator", /obj/item/weapon/gun/energy/kinetic_accelerator, 1000),
- new /datum/data/mining_equipment("Jetpack", /obj/item/weapon/tank/jetpack/carbondioxide, 2000),
- )
+ new /datum/data/mining_equipment("Stimpack MediPen", /obj/item/weapon/reagent_containers/hypospray/autoinjector/stimpack, 50),
+ new /datum/data/mining_equipment("Leporazine MediPen", /obj/item/weapon/reagent_containers/hypospray/autoinjector/leporazine, 50),
+ new /datum/data/mining_equipment("MediPen Bundle", /obj/item/weapon/storage/box/autoinjector/utility, 200),
+ new /datum/data/mining_equipment("Whiskey", /obj/item/weapon/reagent_containers/food/drinks/bottle/whiskey, 100),
+ new /datum/data/mining_equipment("Cigar", /obj/item/clothing/mask/cigarette/cigar/havana, 150),
+ new /datum/data/mining_equipment("Soap", /obj/item/weapon/soap/nanotrasen, 200),
+ new /datum/data/mining_equipment("Jaunter", /obj/item/device/wormhole_jaunter, 250),
+ new /datum/data/mining_equipment("Advanced Scanner", /obj/item/device/t_scanner/adv_mining_scanner, 300),
+ new /datum/data/mining_equipment("Laser Pointer", /obj/item/device/laser_pointer, 400),
+ new /datum/data/mining_equipment("Alien Toy", /obj/item/clothing/mask/facehugger/toy, 450),
+ new /datum/data/mining_equipment("Mining Drone", /mob/living/simple_animal/hostile/mining_drone/, 500),
+ new /datum/data/mining_equipment("Resonator", /obj/item/weapon/resonator, 650),
+ new /datum/data/mining_equipment("Kinetic Accelerator", /obj/item/weapon/gun/energy/kinetic_accelerator, 650),
+ new /datum/data/mining_equipment("Sonic Jackhammer", /obj/item/weapon/pickaxe/jackhammer, 800),
+ new /datum/data/mining_equipment("Lazarus Injector", /obj/item/weapon/lazarus_injector, 1000),
+ new /datum/data/mining_equipment("Jetpack", /obj/item/weapon/tank/jetpack/carbondioxide/mining, 2000),
+ new /datum/data/mining_equipment("Space Cash", /obj/item/weapon/spacecash/c1000, 5000),
+ new /datum/data/mining_equipment("Point Card", /obj/item/weapon/card/mining_point_card, 500),
+ )
+
/datum/data/mining_equipment/
var/equipment_name = "generic"
@@ -183,13 +186,12 @@
/obj/machinery/mineral/equipment_locker/interact(mob/user)
var/dat
- dat += text("Mining Equipment Locker
")
-
+ dat +="
"
if(istype(inserted_id))
dat += "You have [inserted_id.mining_points] mining points collected.
Eject ID."
else
dat += "No ID inserted.
Insert ID."
-
+ dat += "
"
dat += "
Equipment point cost list:
"
for(var/datum/data/mining_equipment/prize in prize_list)
dat += "| [prize.equipment_name] | [prize.cost] | Purchase |
"
@@ -230,26 +232,39 @@
if(istype(I, /obj/item/weapon/mining_voucher))
RedeemVoucher(I, user)
return
+ if(istype(I,/obj/item/weapon/card/id))
+ var/obj/item/weapon/card/id/C = usr.get_active_hand()
+ if(istype(C) && !istype(inserted_id))
+ usr.drop_item()
+ C.loc = src
+ inserted_id = C
+ interact(user)
+ return
..()
/obj/machinery/mineral/equipment_locker/proc/RedeemVoucher(voucher, redeemer)
- var/selection = input(redeemer, "Pick your equipment", "Mining Voucher Redemption") in list("Resonator kit", "Kinetic Accelerator", "Mining Drone", "Cancel")
+ var/selection = input(redeemer, "Pick your equipment", "Mining Voucher Redemption") in list("Mining Drill", "Kinetic Accelerator", "Mining Drone", "Advanced Scanner", "Cancel")
if(!selection || !Adjacent(redeemer))
return
switch(selection)
- if("Resonator kit")
- new /obj/item/weapon/resonator(src.loc)
- //new /obj/item/weapon/storage/pill_bottle/stimulant(src.loc)
+ if("Mining Drill")
+ new /obj/item/weapon/pickaxe/drill(src.loc)
if("Kinetic Accelerator")
new /obj/item/weapon/gun/energy/kinetic_accelerator(src.loc)
if("Mining Drone")
new /mob/living/simple_animal/hostile/mining_drone(src.loc)
+ if("Advanced Scanner")
+ new /obj/item/device/t_scanner/adv_mining_scanner(src.loc)
if("Cancel")
return
del(voucher)
-/obj/machinery/mineral/equipment_locker/ex_act()
- return
+/obj/machinery/mineral/equipment_locker/ex_act(severity)
+ var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread
+ s.set_up(5, 1, src)
+ s.start()
+ if(prob(50 / severity) && severity < 3)
+ del(src)
/**********************Mining Equipment Locker Items**************************/
@@ -360,7 +375,7 @@
/obj/item/weapon/resonator/proc/CreateResonance(var/target, var/creator)
if(cooldown <= 0)
- playsound(src,'sound/effects/stealthoff.ogg',50,1)
+ playsound(src,'sound/weapons/resonator_fire.ogg',50,1)
var/obj/effect/resonance/R = new /obj/effect/resonance(get_turf(target))
R.creator = creator
cooldown = 1
@@ -384,7 +399,7 @@
icon_state = "shield1"
layer = 4.1
mouse_opacity = 0
- var/resonance_damage = 30
+ var/resonance_damage = 20
var/creator = null
/obj/effect/resonance/New()
@@ -393,7 +408,7 @@
return
if(istype(proj_turf, /turf/simulated/mineral))
var/turf/simulated/mineral/M = proj_turf
- playsound(src,'sound/effects/sparks4.ogg',50,1)
+ playsound(src,'sound/weapons/resonator_blast.ogg',50,1)
M.GetDrilled()
spawn(5)
del(src)
@@ -402,9 +417,9 @@
var/pressure = environment.return_pressure()
if(pressure < 50)
name = "strong resonance field"
- resonance_damage = 60
+ resonance_damage = 45
spawn(50)
- playsound(src,'sound/effects/sparks4.ogg',50,1)
+ playsound(src,'sound/weapons/resonator_blast.ogg',50,1)
if(creator)
for(var/mob/living/L in src.loc)
add_logs(creator, L, "used a resonator field on", object="resonator")
@@ -416,15 +431,28 @@
L.adjustBruteLoss(resonance_damage)
del(src)
+/**********************Facehugger toy**********************/
+
+/obj/item/clothing/mask/facehugger/toy
+ desc = "A toy often used to play pranks on other miners by putting it in their beds. It takes a bit to recharge after latching onto something."
+ throwforce = 0
+ real = 0
+ sterile = 1
+
+/obj/item/clothing/mask/facehugger/toy/Die()
+ return
+
+
/**********************Mining drone**********************/
/mob/living/simple_animal/hostile/mining_drone/
name = "nanotrasen minebot"
- desc = "A small robot used to support miners, can be set to search and collect loose ore, or to help fend off wildlife."
+ desc = "The instructions printed on the side read: This is a small robot used to support miners, can be set to search and collect loose ore, or to help fend off wildlife. A mining scanner can instruct it to drop loose ore. Field repairs can be done with a welder."
icon = 'icons/obj/aibots.dmi'
icon_state = "mining_drone"
icon_living = "mining_drone"
status_flags = CANSTUN|CANWEAKEN|CANPUSH
+ stop_automated_movement_when_pulled = 1
mouse_opacity = 1
faction = list("neutral")
a_intent = "harm"
@@ -442,8 +470,8 @@
move_to_delay = 10
retreat_distance = 1
minimum_distance = 2
- health = 100
- maxHealth = 100
+ health = 125
+ maxHealth = 125
melee_damage_lower = 15
melee_damage_upper = 15
environment_smash = 0
@@ -452,8 +480,8 @@
ranged = 1
ranged_message = "shoots"
ranged_cooldown_cap = 3
- projectiletype = /obj/item/projectile/beam
- projectilesound = 'sound/weapons/Laser.ogg'
+ projectiletype = /obj/item/projectile/kinetic
+ projectilesound = 'sound/weapons/Gunshot4.ogg'
wanted_objects = list(/obj/item/weapon/ore)
/mob/living/simple_animal/hostile/mining_drone/attackby(obj/item/I as obj, mob/user as mob)
@@ -469,7 +497,7 @@
health += 10
user << "You repair some of the armor on [src]."
return
- if(istype(I, /obj/item/device/mining_scanner))
+ if(istype(I, /obj/item/device/mining_scanner) || istype(I, /obj/item/device/t_scanner/adv_mining_scanner))
user << "You instruct [src] to drop any collected ore."
DropOre()
return
@@ -500,7 +528,6 @@
..()
/mob/living/simple_animal/hostile/mining_drone/proc/SetCollectBehavior()
- stop_automated_movement_when_pulled = 1
idle_vision_range = 9
search_objects = 2
wander = 1
@@ -510,8 +537,7 @@
icon_state = "mining_drone"
/mob/living/simple_animal/hostile/mining_drone/proc/SetOffenseBehavior()
- stop_automated_movement_when_pulled = 0
- idle_vision_range = 5
+ idle_vision_range = 7
search_objects = 0
wander = 0
ranged = 1
@@ -556,11 +582,13 @@
icon = 'icons/obj/syringe.dmi'
icon_state = "lazarus_hypo"
item_state = "hypo"
+ icon_override = 'icons/mob/in-hand/tools.dmi'
throwforce = 0
w_class = 2.0
throw_speed = 3
throw_range = 5
var/loaded = 1
+ var/malfunctioning = 0
/obj/item/weapon/lazarus_injector/afterattack(atom/target, mob/user, proximity_flag)
if(!loaded)
@@ -569,12 +597,17 @@
if(istype(target, /mob/living/simple_animal))
var/mob/living/simple_animal/M = target
if(M.stat == DEAD)
- M.faction = list("lazarus")
+ M.faction = list("neutral")
M.revive()
if(istype(target, /mob/living/simple_animal/hostile))
var/mob/living/simple_animal/hostile/H = M
- H.friends += user
- log_game("[user] has revived hostile mob [target] with a lazarus injector")
+ if(malfunctioning)
+ H.faction |= list("lazarus", "\ref[user]")
+ H.friends += user
+ H.attack_same = 1
+ log_game("[user] has revived hostile mob [target] with a malfunctioning lazarus injector")
+ else
+ H.attack_same = 0
loaded = 0
user.visible_message("[user] injects [M] with [src], reviving it.")
playsound(src,'sound/effects/refill.ogg',50,1)
@@ -587,16 +620,22 @@
user << "[src] is only effective on lesser beings."
return
-/obj/item/weapon/lazarus_injector/examine()
+/obj/item/weapon/lazarus_injector/emp_act()
+ if(!malfunctioning)
+ malfunctioning = 1
+
+/obj/item/weapon/lazarus_injector/examine(mob/user)
..()
if(!loaded)
- usr << "[src] is empty."
+ user << "[src] is empty."
+ if(malfunctioning)
+ user << "The display on [src] seems to be flickering."
/**********************Mining Scanner**********************/
/obj/item/device/mining_scanner
desc = "A scanner that checks surrounding rock for useful minerals, it can also be used to stop gibtonite detonations. Requires you to wear mesons to work properly."
name = "mining scanner"
- icon_state = "mining"
+ icon_state = "mining1"
item_state = "analyzer"
w_class = 2.0
flags = CONDUCT
@@ -638,9 +677,55 @@
M.icon_state = M.scan_state
del(src)
+/obj/item/device/t_scanner/adv_mining_scanner
+ desc = "A scanner that automatically checks surrounding rock for useful minerals; it can also be used to stop gibtonite detonations. Requires you to wear mesons to function properly."
+ name = "advanced mining scanner"
+ icon_state = "mining0"
+ item_state = "analyzer"
+ w_class = 2.0
+ flags = CONDUCT
+ slot_flags = SLOT_BELT
+ var/cooldown = 0
+
+/obj/item/device/t_scanner/adv_mining_scanner/scan()
+ if(!cooldown)
+ cooldown = 1
+ spawn(80)
+ cooldown = 0
+ var/turf/t = get_turf(src)
+ var/list/mobs = recursive_mob_check(t, 1,0,0)
+ if(!mobs.len)
+ return
+ var/list/L = list()
+ var/turf/simulated/mineral/M
+ for(M in range(7, t))
+ if(M.scan_state)
+ L += M
+ if(L.len)
+ for(var/mob/user in mobs)
+ if(user.client)
+ var/client/C = user.client
+ for(M in L)
+ var/turf/T = get_turf(M)
+ var/image/I = image('icons/turf/walls.dmi', loc = T, icon_state = M.scan_state, layer = 18)
+ C.images += I
+ spawn(30)
+ if(C)
+ C.images -= I
+
/**********************Xeno Warning Sign**********************/
/obj/structure/sign/xeno_warning_mining
name = "DANGEROUS ALIEN LIFE"
desc = "A sign that warns would be travellers of hostile alien life in the vicinity."
icon = 'icons/obj/mining.dmi'
- icon_state = "xeno_warning"
\ No newline at end of file
+ icon_state = "xeno_warning"
+
+/**********************Mining Jetpack**********************/
+/obj/item/weapon/tank/jetpack/carbondioxide/mining
+ name = "mining jetpack"
+ icon_state = "jetpack-mining"
+ item_state = "jetpack-mining"
+ desc = "A tank of compressed carbon dioxide for miners to use as propulsion in local space. The compact size allows for easy storage at the cost of capacity."
+ volume = 40
+ throw_range = 7
+ w_class = 3 //same as syndie harness
\ No newline at end of file
diff --git a/code/modules/reagents/reagent_containers/hypospray.dm b/code/modules/reagents/reagent_containers/hypospray.dm
index d045f3d3644..cd0a0cca72f 100644
--- a/code/modules/reagents/reagent_containers/hypospray.dm
+++ b/code/modules/reagents/reagent_containers/hypospray.dm
@@ -19,11 +19,6 @@
return src.attack_hand(user)
-/obj/item/weapon/reagent_containers/hypospray/New() //comment this to make hypos start off empty
- ..()
- reagents.add_reagent("doctorsdelight", 30)
- return
-
/obj/item/weapon/reagent_containers/hypospray/attack(mob/M as mob, mob/user as mob)
if(!reagents.total_volume)
user << "\red [src] is empty."
@@ -55,6 +50,10 @@
return
+/obj/item/weapon/reagent_containers/hypospray/CMO/New()
+ ..()
+ reagents.add_reagent("doctorsdelight", 30)
+
/obj/item/weapon/reagent_containers/hypospray/combat
name = "combat stimulant injector"
desc = "A modified air-needle autoinjector, used by support operatives to quickly heal injuries in combat."
@@ -65,7 +64,6 @@
/obj/item/weapon/reagent_containers/hypospray/combat/New()
..()
- reagents.remove_reagent("doctorsdelight", 30)
reagents.add_reagent("synaptizine", 30)
@@ -77,20 +75,16 @@
amount_per_transfer_from_this = 10
possible_transfer_amounts = list(10)
volume = 10
- var/emagged = 0
+ flags = null
/obj/item/weapon/reagent_containers/hypospray/autoinjector/New()
..()
- reagents.remove_reagent("doctorsdelight", 30)
reagents.add_reagent("inaprovaline", 10)
update_icon()
return
/obj/item/weapon/reagent_containers/hypospray/autoinjector/attack(mob/M as mob, mob/user as mob)
..()
- if(!emagged)
- if(reagents.total_volume <= 0) //Prevents autoinjectors to be refilled.
- flags &= ~OPENCONTAINER
update_icon()
return
@@ -107,27 +101,28 @@
else
usr << "\blue It is spent."
-/obj/item/weapon/reagent_containers/hypospray/autoinjector/attackby(var/obj/item/weapon/D as obj, var/mob/user as mob)
- if(istype(D, /obj/item/weapon/card/emag) && !emagged)
- emagged = 1
- user << "You bypass the electronic child-safety lock on the reagent storage."
- else
- ..()
- return
+/obj/item/weapon/reagent_containers/hypospray/autoinjector/leporazine //basilisks
+ name = "leporazine autoinjector"
+ desc = "A rapid way to regulate your body's temperature in the event of a hardsuit malfunction at the cost of some shortness of breath."
+ icon_state = "lepopen"
-/obj/item/weapon/reagent_containers/hypospray/hyperzine
- name = "emergency stimulant autoinjector"
- desc = "A potent mix of pain killers and muscle stimulants."
- icon_state = "autoinjector"
- item_state = "autoinjector"
- amount_per_transfer_from_this = 5
- volume = 5
-
-/obj/item/weapon/reagent_containers/hypospray/hyperzine/New()
+/obj/item/weapon/reagent_containers/hypospray/autoinjector/leporazine/New()
..()
- reagents.add_reagent("hyperzine", 5)
+ reagents.remove_reagent("inaprovaline", 10)
+ reagents.add_reagent("leporazine", 9)
+ reagents.add_reagent("lexorin", 1)
update_icon()
return
-/obj/item/weapon/reagent_containers/hypospray/hyperzine/attack(mob/M as mob, mob/user as mob)
- ..()
\ No newline at end of file
+/obj/item/weapon/reagent_containers/hypospray/autoinjector/stimpack //goliath kiting
+ name = "stimpack autoinjector"
+ desc = "A rapid way to stimulate your body's adrenaline, allowing for freer movement in restrictive armor at the cost of some shortness of breath."
+ icon_state = "stimpen"
+
+/obj/item/weapon/reagent_containers/hypospray/autoinjector/stimpack/New()
+ ..()
+ reagents.remove_reagent("inaprovaline", 10)
+ reagents.add_reagent("hyperzine", 9)
+ reagents.add_reagent("lexorin", 1)
+ update_icon()
+ return
\ No newline at end of file
diff --git a/icons/mob/back.dmi b/icons/mob/back.dmi
index d295d948414..bbc484bc8a7 100644
Binary files a/icons/mob/back.dmi and b/icons/mob/back.dmi differ
diff --git a/icons/mob/in-hand/tools.dmi b/icons/mob/in-hand/tools.dmi
index 8712f018e49..d7070df48f8 100644
Binary files a/icons/mob/in-hand/tools.dmi and b/icons/mob/in-hand/tools.dmi differ
diff --git a/icons/obj/device.dmi b/icons/obj/device.dmi
index c44bceb4655..a83f398a1b3 100644
Binary files a/icons/obj/device.dmi and b/icons/obj/device.dmi differ
diff --git a/icons/obj/items.dmi b/icons/obj/items.dmi
index a38b4e98c67..9d85238456b 100644
Binary files a/icons/obj/items.dmi and b/icons/obj/items.dmi differ
diff --git a/icons/obj/syringe.dmi b/icons/obj/syringe.dmi
index e430056402c..259a0993096 100644
Binary files a/icons/obj/syringe.dmi and b/icons/obj/syringe.dmi differ
diff --git a/icons/obj/tank.dmi b/icons/obj/tank.dmi
index 7ae00b2092f..245d1222ce2 100644
Binary files a/icons/obj/tank.dmi and b/icons/obj/tank.dmi differ
diff --git a/maps/cyberiad.dmm b/maps/cyberiad.dmm
index 29484e720b4..d718966739a 100644
--- a/maps/cyberiad.dmm
+++ b/maps/cyberiad.dmm
@@ -5033,6 +5033,7 @@
"bSO" = (/obj/structure/reagent_dispensers/watertank,/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/obj/machinery/light_switch{pixel_y = -23},/turf/simulated/floor,/area/janitor)
"bSP" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/maintenance/asmaint)
"bSQ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/maintenance/asmaint)
+"bSR" = (/obj/structure/table/reinforced,/obj/item/weapon/reagent_containers/hypospray/CMO,/obj/item/weapon/reagent_containers/hypospray/CMO,/obj/item/weapon/reagent_containers/hypospray/CMO,/obj/item/weapon/reagent_containers/hypospray/CMO,/obj/item/weapon/reagent_containers/hypospray/CMO,/obj/item/weapon/reagent_containers/hypospray/CMO,/obj/item/weapon/storage/box/gloves,/obj/item/weapon/storage/box/gloves,/obj/item/weapon/storage/box/gloves,/obj/item/weapon/storage/box/gloves,/obj/item/weapon/storage/box/gloves,/obj/item/weapon/storage/box/gloves,/obj/item/weapon/storage/box/masks,/obj/item/weapon/storage/box/masks,/obj/item/weapon/storage/box/masks,/obj/item/weapon/storage/box/masks,/obj/item/weapon/storage/box/masks,/obj/item/weapon/storage/box/masks,/obj/item/device/radio/intercom{broadcasting = 1; dir = 1; frequency = 1441; listening = 0; name = "Spec Ops Intercom"; pixel_y = 28},/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
"bSS" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4; initialize_directions = 11; level = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/paramedic)
"bST" = (/obj/machinery/light,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/apc{dir = 2; name = "Paramedic APC"; pixel_y = -24},/obj/machinery/camera{c_tag = "Paramedic Bay"; dir = 1; network = list("SS13")},/turf/simulated/floor{icon_state = "white"},/area/medical/paramedic)
"bSU" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/paramedic)
@@ -7559,6 +7560,7 @@
"cPt" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 27},/turf/simulated/floor,/area/aisat/maintenance)
"cPu" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4; initialize_directions = 11; level = 1},/turf/simulated/floor,/area/research_outpost/gearstore)
"cPv" = (/obj/structure/reagent_dispensers/fueltank,/obj/machinery/atmospherics/pipe/simple/visible{dir = 5},/turf/simulated/floor/plating,/area/mine/laborcamp/security)
+"cPw" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/bodybags,/obj/item/weapon/storage/box/syringes,/obj/item/weapon/storage/box/autoinjectors,/obj/item/weapon/storage/box/gloves,/obj/item/weapon/storage/firstaid/adv,/obj/item/bodybag/cryobag,/obj/item/weapon/reagent_containers/hypospray/CMO,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops)
"cPy" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/effect/decal/warning_stripes/north,/obj/machinery/hologram/holopad,/turf/simulated/floor,/area/aisat/maintenance)
"cPz" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/effect/decal/warning_stripes/northwestcorner,/turf/simulated/floor,/area/aisat/maintenance)
"cPA" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor,/area/aisat/maintenance)
@@ -8583,7 +8585,6 @@
"djq" = (/obj/structure/rack,/obj/item/weapon/gun/energy/stunrevolver,/obj/item/weapon/gun/energy/stunrevolver,/obj/item/weapon/gun/energy/stunrevolver,/obj/item/weapon/gun/energy/stunrevolver,/obj/item/weapon/gun/energy/stunrevolver,/obj/item/weapon/gun/energy/stunrevolver,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
"djr" = (/obj/structure/rack,/obj/item/weapon/storage/box/flashbangs,/obj/item/weapon/storage/box/flashbangs,/obj/item/weapon/storage/box/flashbangs,/obj/item/weapon/storage/box/flashbangs,/obj/item/weapon/storage/box/flashbangs,/obj/item/weapon/storage/box/flashbangs,/obj/item/weapon/storage/box/teargas,/obj/item/weapon/storage/box/teargas,/obj/item/weapon/storage/box/teargas,/obj/item/weapon/storage/box/teargas,/obj/item/weapon/storage/box/teargas,/obj/item/weapon/storage/box/teargas,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
"djs" = (/obj/structure/table/reinforced,/obj/item/weapon/defibrillator/loaded,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
-"djt" = (/obj/structure/table/reinforced,/obj/item/weapon/reagent_containers/hypospray,/obj/item/weapon/reagent_containers/hypospray,/obj/item/weapon/reagent_containers/hypospray,/obj/item/weapon/reagent_containers/hypospray,/obj/item/weapon/reagent_containers/hypospray,/obj/item/weapon/reagent_containers/hypospray,/obj/item/weapon/storage/box/gloves,/obj/item/weapon/storage/box/gloves,/obj/item/weapon/storage/box/gloves,/obj/item/weapon/storage/box/gloves,/obj/item/weapon/storage/box/gloves,/obj/item/weapon/storage/box/gloves,/obj/item/weapon/storage/box/masks,/obj/item/weapon/storage/box/masks,/obj/item/weapon/storage/box/masks,/obj/item/weapon/storage/box/masks,/obj/item/weapon/storage/box/masks,/obj/item/weapon/storage/box/masks,/obj/item/device/radio/intercom{broadcasting = 1; dir = 1; frequency = 1441; listening = 0; name = "Spec Ops Intercom"; pixel_y = 28},/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
"dju" = (/obj/machinery/vending/medical,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
"djv" = (/obj/structure/table/reinforced,/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline,/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline,/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline,/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline,/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline,/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline,/obj/item/weapon/storage/box/autoinjectors,/obj/item/weapon/storage/box/autoinjectors,/obj/item/weapon/storage/box/autoinjectors,/obj/item/weapon/storage/box/autoinjectors,/obj/item/weapon/storage/box/autoinjectors,/obj/item/weapon/storage/box/autoinjectors,/obj/item/weapon/storage/box/syringes,/obj/item/weapon/storage/box/syringes,/obj/item/weapon/storage/box/syringes,/obj/item/weapon/storage/box/syringes,/obj/item/weapon/storage/box/syringes,/obj/item/weapon/storage/box/syringes,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
"djw" = (/obj/machinery/door/poddoor{desc = "Good luck hacking this one open."; icon_state = "pdoor1"; id = "WEAPONS"; name = "Special Weaponry"; p_open = 0},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops)
@@ -8710,7 +8711,6 @@
"dlN" = (/obj/structure/grille,/obj/structure/window/full/shuttle,/turf/simulated/floor/plating,/area/shuttle/escape/centcom)
"dlO" = (/turf/simulated/shuttle/wall{icon_state = "swall_s10"; dir = 2},/area/shuttle/escape/centcom)
"dlP" = (/obj/structure/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/glasses/meson,/obj/item/clothing/glasses/night,/obj/item/clothing/glasses/sunglasses/sechud,/obj/item/clothing/glasses/hud/health_advanced,/obj/item/clothing/glasses/hud/security/night,/obj/item/clothing/glasses/hud/health/night,/obj/item/clothing/gloves/yellow,/obj/item/clothing/gloves/swat,/obj/item/clothing/gloves/color/latex,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops)
-"dlQ" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/bodybags,/obj/item/weapon/storage/box/syringes,/obj/item/weapon/storage/box/autoinjectors,/obj/item/weapon/storage/box/gloves,/obj/item/weapon/storage/firstaid/adv,/obj/item/bodybag/cryobag,/obj/item/weapon/reagent_containers/hypospray,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops)
"dlR" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "specops_centcom_dock_inner"; locked = 1; name = "Shuttle Hatch"; req_access = null; req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops)
"dlS" = (/obj/item/weapon/gun/projectile/automatic/m2411,/obj/item/ammo_box/magazine/m45,/obj/item/ammo_box/magazine/m45,/obj/item/ammo_box/magazine/m45,/obj/structure/closet{icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"; icon_state = "cabinet_closed"},/obj/item/clothing/head/helmet/space/deathsquad/beret,/obj/item/clothing/shoes/combat,/obj/item/clothing/under/syndicate/combat,/obj/item/clothing/gloves/combat,/obj/item/clothing/suit/space/deathsquad/officer,/obj/item/clothing/under/rank/centcom/captain,/obj/item/weapon/storage/box/handcuffs,/obj/item/weapon/storage/box/flashbangs,/obj/item/clothing/mask/gas,/obj/item/weapon/tank/emergency_oxygen/double,/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/specops)
"dlT" = (/obj/machinery/recharge_station,/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/specops)
@@ -12930,7 +12930,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadhEdjediEdiEdiEdiEdiEdiEdiEdjfdhEaaaaaaaaaaaaaaaaaaaaaaaadhjdhjdhjdhjdhjdhjdhjdjgdjhdjidhjdhjdhjdhjdhjdhjdhjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadhEdjjdiEdiEdiEdiEdiEdiEdiEdjkdhEaaaaaaaaaaaaaaaaaaaaaaaadhjdiUdiVdiVdiVdiVdiVdjldiZdjmdiVdiVdiVdiVdiVdiWdhjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadhEdhEdhEdhEdhEdhEdhEdhEdhEdhEdhEdhEdjndiEdiEdiEdiEdiEdiEdiEdjodhEaaaaaaaaaaaaaaaaaaaaaaaadhjdiYdiZdiZdiZdiZdiZdiZdiZdiZdiZdiZdiZdiZdiZdjadhjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadhEdhEdjpdjqdjrdhEdhEdhEdjsdjtdjudjvdhEdhEdhEdhEdjwdhEdhEdhEdhEdhEdhEdhEdhEdhEdhEdhEdhEaaadhjdiYdiZdjxdjydjydjydjydjydjydjydjydjydjzdiZdjadhjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadhEdhEdjpdjqdjrdhEdhEdhEdjsbSRdjudjvdhEdhEdhEdhEdjwdhEdhEdhEdhEdhEdhEdhEdhEdhEdhEdhEdhEaaadhjdiYdiZdjxdjydjydjydjydjydjydjydjydjydjzdiZdjadhjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadhEdjAdjBdjBdjBdjCdhEdhEdjDdjBdjBdjBdjEdhEdhEdjFdiEdiEdhEdjGdjGdjGdjGdjGdjGdjHdjIdjJdhEaaadhjdiYdiZdjadjKdiIdiIdiIdiIdiIdiIdiIdjLdiYdiZdjadhjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadhEdjAdjBdjBdjBdjMdhEdhEdjDdjBdjBdjBdjNdhEdhEdjOdjBdjPdjQdjBdjBdjBdjBdjBdjBdjRdhEdhEdhEdhEdhjdiYdiZdjadjSdjTdjUdjVdjWdjXdjYdjZdjSdiYdiZdjadhjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadhEdkadjBdjBdjBdkbdhEdhEdkcdjBdjBdjBdkddhEdhEdkedjBdhQdhEdkfdkgdkgdkgdkgdkgdkhdhEdkidkidkidhjdjldiZdjmdkjdkkdiZdkldkmdkndiZdiZdkjdjldiZdjmdhjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
@@ -12941,7 +12941,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadhEdlldjBdlmdlndlodhEdhEdhEdlpdhEdhEdhEdlqdiEdiEdkWdkXdkXdkXdladiEdiEdlrdhEdkPdlsdltdludlvdhEaaaaaaaaaaaaaaadhjdiYdiZdjadhjdhjdiJdiIdiIdiIdiLdhjdhjdiYdiZdjadhjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadhEdhEdhEdhEdhEdhEdhEdlwdkCdjBdjBdlxdhEdlydiEdiEdiEdjRdjRdjRdiEdiEdiEdlzdhEdkPdlAdlBdlCdlDdhEaaaaaaaaaaaaaaadhjdiYdiZdjmdiVdiVdiVdiVdiVdiVdiVdiVdiVdjldiZdjadhjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadhEdlEdjBdjBdjBdlFdhEdlGdiEdiEdiEdiEdiEdiEdlHdiEdiEdlIdhEdkPdlJdlKdlLdkPdhEaaaaaaaaaaaaaaadhjdiYdiZdiZdiZdiZdiZdiZdiZdiZdiZdiZdiZdiZdiZdjadhjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadlMdlNdlOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadhEdlPdjBdjBdjBdlQdhEdhEdhEdhEdhEdhEdlRdlRdhEdhEdhEdhEdhEdlSdkPdlTdlUdlVdhEaaaaaaaaaaaaaaadhjdlWdjydjydjydjydjydjzdiZdjxdjydjydjydjydjydlXdhjaaaaaaaaaaaaaaaaaaaaaaaaaaadlMdlYdlZdmadlOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadhEdlPdjBdjBdjBcPwdhEdhEdhEdhEdhEdhEdlRdlRdhEdhEdhEdhEdhEdlSdkPdlTdlUdlVdhEaaaaaaaaaaaaaaadhjdlWdjydjydjydjydjydjzdiZdjxdjydjydjydjydjydlXdhjaaaaaaaaaaaaaaaaaaaaaaaaaaadlMdlYdlZdmadlOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadhEdhEdmbdmcdmddhEdhEaaaaaaaaaaaadmedmfdmgdmeaaaaaaaaadhEdhEdhEdhEdhEdhEdhEaaaaaaaaaaaaaaadhjdhjdhjdhjdhjdhjdhjdhjdmhdhjdhjdhjdhjdhjdhjdhjdhjaaaaaaaaaaaaaaaaaaaaaaaadlMdlYdmidmjdmkdmadlOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadhEdhEdhEdhEdhEdhEdhEaaaaaaaaaaaadmldmmdmndmlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadmodmpdmqdmrdmsdmtdmoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadlNdmudmvdmwdmvdmxdlNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadmydmzdmzdmzdmzdmAdmAdmzdmzdmBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadmodmCdmDdmEdmDdmFdmoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadlMdlYdmGdmwdmwdmwdmHdmadlOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
diff --git a/sound/weapons/resonator_blast.ogg b/sound/weapons/resonator_blast.ogg
new file mode 100644
index 00000000000..7110a716b1c
Binary files /dev/null and b/sound/weapons/resonator_blast.ogg differ
diff --git a/sound/weapons/resonator_fire.ogg b/sound/weapons/resonator_fire.ogg
new file mode 100644
index 00000000000..20665e5dd08
Binary files /dev/null and b/sound/weapons/resonator_fire.ogg differ