diff --git a/code/__DEFINES/subsystems.dm b/code/__DEFINES/subsystems.dm
index 5aa0301bf6..3979274951 100644
--- a/code/__DEFINES/subsystems.dm
+++ b/code/__DEFINES/subsystems.dm
@@ -62,9 +62,10 @@
#define INIT_ORDER_JOBS 65
#define INIT_ORDER_QUIRKS 60
#define INIT_ORDER_TICKER 55
-#define INIT_ORDER_INSTRUMENTS 53
+#define INIT_ORDER_INSTRUMENTS 53
#define INIT_ORDER_MAPPING 50
#define INIT_ORDER_NETWORKS 45
+#define INIT_ORDER_HOLODECK 35
#define INIT_ORDER_ATOMS 30
#define INIT_ORDER_LANGUAGE 25
#define INIT_ORDER_MACHINES 20
diff --git a/code/__HELPERS/global_lists.dm b/code/__HELPERS/global_lists.dm
index 0c45a746d8..38e25b04c5 100644
--- a/code/__HELPERS/global_lists.dm
+++ b/code/__HELPERS/global_lists.dm
@@ -89,14 +89,6 @@
INVOKE_ASYNC(GLOBAL_PROC, /proc/init_ref_coin_values) //so the current procedure doesn't sleep because of UNTIL()
- for(var/path in subtypesof(/area/holodeck))
- var/area/holodeck/A = path
- var/list/compatibles = initial(A.compatible_holodeck_comps)
- if(!compatibles || initial(A.abstract_type) == path)
- continue
- for(var/comp in compatibles)
- LAZYADD(GLOB.holodeck_areas_prototypes[comp], A)
-
//creates every subtype of prototype (excluding prototype) and adds it to list L.
//if no list/L is provided, one is created.
/proc/init_subtypes(prototype, list/L)
diff --git a/code/_globalvars/lists/mapping.dm b/code/_globalvars/lists/mapping.dm
index bcf35859c3..fb8863ebe7 100644
--- a/code/_globalvars/lists/mapping.dm
+++ b/code/_globalvars/lists/mapping.dm
@@ -50,5 +50,3 @@ GLOBAL_LIST_EMPTY_TYPED(areas_by_type, /area)
GLOBAL_LIST_EMPTY(all_abstract_markers)
GLOBAL_LIST_EMPTY(stationroom_landmarks) //List of all spawns for stationrooms
-
-GLOBAL_LIST_EMPTY(holodeck_areas_prototypes) //List of holodeck area prototypes per holodeck computer type
\ No newline at end of file
diff --git a/code/controllers/subsystem/holodeck.dm b/code/controllers/subsystem/holodeck.dm
new file mode 100644
index 0000000000..ecf8d67dbb
--- /dev/null
+++ b/code/controllers/subsystem/holodeck.dm
@@ -0,0 +1,56 @@
+SUBSYSTEM_DEF(holodeck)
+ name = "Holodeck"
+ init_order = INIT_ORDER_HOLODECK
+ flags = SS_NO_FIRE
+ var/list/program_cache = list() //list of safe holodeck programs.
+ var/list/emag_program_cache = list() //like above, but dangerous.
+ var/list/offline_programs = list() //default when offline.
+ var/list/target_holodeck_area = list()
+ var/list/rejected_areas = list()
+
+/datum/controller/subsystem/holodeck/Initialize()
+ . = ..()
+ //generates the list of available holodeck programs.
+ for(var/path in subtypesof(/datum/holodeck_cache))
+ new path
+ for(var/path in typesof(/obj/machinery/computer/holodeck)) //The istances will be handled by SSatoms.
+ var/obj/machinery/computer/holodeck/H = path
+ offline_programs[path] = pop(get_areas(initial(H.offline_program)), FALSE)
+ target_holodeck_area[path] = pop(get_areas(initial(H.holodeck_type)), FALSE)
+
+
+ /*
+ * The sole scope of this datum is to generate lists of holodeck programs caches per holodeck computer type.
+ */
+
+/datum/holodeck_cache
+ var/area/holodeck/master_type //the /area/holodeck typepath we'll be using for typesof loop.
+ var/skip_types //Areas that won't be added to the global list category.
+ var/list/compatible_holodeck_comps //list of typepaths of holodeck computers that can access this category.
+
+/datum/holodeck_cache/New()
+ if(!master_type || !compatible_holodeck_comps)
+ return
+ var/list/to_add = typesof(master_type) - skip_types
+ var/list/programs
+ var/list/emag_programs
+ for(var/typekey in to_add)
+ var/area/holodeck/A = GLOB.areas_by_type[typekey]
+ if(!A || !A.contents.len)
+ LAZYOR(SSholodeck.rejected_areas[typekey], compatible_holodeck_comps)
+ continue
+ var/list/info_this = list("name" = A.name, "type" = A.type)
+ if(A.restricted)
+ LAZYADD(emag_programs, list(info_this))
+ else
+ LAZYADD(programs, list(info_this))
+ for(var/comp in compatible_holodeck_comps)
+ if(programs)
+ LAZYADD(SSholodeck.program_cache[comp], programs)
+ if(emag_programs)
+ LAZYADD(SSholodeck.emag_program_cache[comp], emag_programs)
+
+/datum/holodeck_cache/standard
+ master_type = /area/holodeck/rec_center
+ skip_types = /area/holodeck/rec_center
+ compatible_holodeck_comps = list(/obj/machinery/computer/holodeck)
diff --git a/code/datums/components/riding.dm b/code/datums/components/riding.dm
index c0bdb09014..4e0dfb343f 100644
--- a/code/datums/components/riding.dm
+++ b/code/datums/components/riding.dm
@@ -26,7 +26,6 @@
RegisterSignal(parent, COMSIG_MOVABLE_BUCKLE, .proc/vehicle_mob_buckle)
RegisterSignal(parent, COMSIG_MOVABLE_UNBUCKLE, .proc/vehicle_mob_unbuckle)
RegisterSignal(parent, COMSIG_MOVABLE_MOVED, .proc/vehicle_moved)
- RegisterSignal(parent, COMSIG_ATOM_DIR_CHANGE, .proc/vehicle_dir_changed)
/datum/component/riding/proc/vehicle_mob_unbuckle(datum/source, mob/living/M, force = FALSE)
restore_position(M)
@@ -48,11 +47,6 @@
/datum/component/riding/proc/set_vehicle_dir_layer(dir, layer)
directional_vehicle_layers["[dir]"] = layer
-/datum/component/riding/proc/vehicle_dir_changed(from_dir, to_dir)
- spawn
- handle_vehicle_offsets()
- handle_vehicle_layer()
-
/datum/component/riding/proc/vehicle_moved(datum/source)
var/atom/movable/AM = parent
for(var/i in AM.buckled_mobs)
@@ -72,6 +66,9 @@
var/atom/movable/AM = parent
AM.unbuckle_mob(M)
+/datum/component/riding/proc/additional_offset_checks()
+ return TRUE
+
/datum/component/riding/proc/handle_vehicle_offsets()
var/atom/movable/AM = parent
var/AM_dir = "[AM.dir]"
@@ -83,16 +80,19 @@
var/list/offsets = get_offsets(passindex)
var/rider_dir = get_rider_dir(passindex)
buckled_mob.setDir(rider_dir)
- dir_loop:
- for(var/offsetdir in offsets)
- if(offsetdir == AM_dir)
- var/list/diroffsets = offsets[offsetdir]
- buckled_mob.pixel_x = diroffsets[1]
- if(diroffsets.len >= 2)
- buckled_mob.pixel_y = diroffsets[2]
- if(diroffsets.len == 3)
- buckled_mob.layer = diroffsets[3]
- break dir_loop
+ for(var/offsetdir in offsets)
+ if(offsetdir == AM_dir)
+ var/list/diroffsets = offsets[offsetdir]
+ buckled_mob.pixel_x = diroffsets[1]
+ message_admins(diroffsets[1])
+ if(diroffsets.len >= 2)
+ buckled_mob.pixel_y = diroffsets[2]
+ message_admins(diroffsets[2])
+ if(diroffsets.len == 3)
+ buckled_mob.layer = diroffsets[3]
+ break
+ if (!additional_offset_checks())
+ return
var/list/static/default_vehicle_pixel_offsets = list(TEXT_NORTH = list(0, 0), TEXT_SOUTH = list(0, 0), TEXT_EAST = list(0, 0), TEXT_WEST = list(0, 0))
var/px = default_vehicle_pixel_offsets[AM_dir]
var/py = default_vehicle_pixel_offsets[AM_dir]
@@ -153,7 +153,6 @@
if(user.incapacitated())
Unbuckle(user)
return
-
if(world.time < last_vehicle_move + ((last_move_diagonal? 2 : 1) * vehicle_move_delay))
return
last_vehicle_move = world.time
@@ -175,8 +174,8 @@
else
last_move_diagonal = FALSE
- handle_vehicle_layer()
handle_vehicle_offsets()
+ handle_vehicle_layer()
else
to_chat(user, "You'll need the keys in one of your hands to [drive_verb] [AM].")
@@ -226,6 +225,7 @@
force_dismount(target)
/datum/component/riding/human/handle_vehicle_layer()
+ . = ..()
var/atom/movable/AM = parent
if(AM.buckled_mobs && AM.buckled_mobs.len)
for(var/mob/M in AM.buckled_mobs) //ensure proper layering of piggyback and carry, sometimes weird offsets get applied
@@ -250,6 +250,10 @@
else
return list(TEXT_NORTH = list(0, 6), TEXT_SOUTH = list(0, 6), TEXT_EAST = list(-6, 4), TEXT_WEST = list( 6, 4))
+/datum/component/riding/human/additional_offset_checks()
+ var/mob/living/carbon/human/H = parent
+ return !H.buckled
+
/datum/component/riding/human/force_dismount(mob/living/user)
var/atom/movable/AM = parent
AM.unbuckle_mob(user)
diff --git a/code/datums/mutations/speech.dm b/code/datums/mutations/speech.dm
index 8d57f3d9c2..e474272326 100644
--- a/code/datums/mutations/speech.dm
+++ b/code/datums/mutations/speech.dm
@@ -108,7 +108,6 @@
message = replacetext(message," drink "," liquid ")
message = replacetext(message," feminist "," empowered woman ")
message = replacetext(message," i hate you "," you're a mean ")
- message = replacetext(message," jew "," jewish ")
message = replacetext(message," shit "," shiz ")
message = replacetext(message," crap "," poo ")
message = replacetext(message," slut "," tease ")
diff --git a/code/datums/radiation_wave.dm b/code/datums/radiation_wave.dm
index 5dce5791c2..fe018a8761 100644
--- a/code/datums/radiation_wave.dm
+++ b/code/datums/radiation_wave.dm
@@ -117,10 +117,10 @@
continue
contam_atoms += thing
var/did_contam = 0
- if(can_contam)
+ if(can_contam && contam_atoms.len)
var/rad_strength = ((strength-RAD_MINIMUM_CONTAMINATION) * RAD_CONTAMINATION_STR_COEFFICIENT)/contam_atoms.len
- for(var/k in 1 to contam_atoms.len)
- var/atom/thing = contam_atoms[k]
+ for(var/A in contam_atoms)
+ var/atom/thing = A
thing.AddComponent(/datum/component/radioactive, rad_strength, source)
did_contam = 1
return did_contam
diff --git a/code/game/area/areas/holodeck.dm b/code/game/area/areas/holodeck.dm
index 75ed2b656c..9eec00460a 100644
--- a/code/game/area/areas/holodeck.dm
+++ b/code/game/area/areas/holodeck.dm
@@ -6,8 +6,6 @@
hidden = TRUE
var/obj/machinery/computer/holodeck/linked
- var/list/compatible_holodeck_comps
- var/abstract_type = /area/holodeck
var/restricted = 0 // if true, program goes on emag list
/*
@@ -15,6 +13,16 @@
Asserts are to avoid the inevitable infinite loops
*/
+/area/holodeck/Initialize()
+ . = ..()
+ var/list/update_holodeck_cache = SSholodeck?.rejected_areas[type]
+ if(update_holodeck_cache)
+ var/list/info_this = list("name" = name, "type" = type)
+ var/list/target = restricted ? SSholodeck.emag_program_cache : SSholodeck.program_cache
+ for(var/A in update_holodeck_cache)
+ LAZYADD(target[A], info_this)
+ SSholodeck.rejected_areas -= type
+
/area/holodeck/powered(var/chan)
if(!requires_power)
return 1
@@ -55,8 +63,6 @@
*/
/area/holodeck/rec_center
name = "\improper Recreational Holodeck"
- compatible_holodeck_comps = list(/obj/machinery/computer/holodeck)
- abstract_type = /area/holodeck/rec_center
/area/holodeck/rec_center/offline
name = "Holodeck - Offline"
diff --git a/code/game/objects/items/handcuffs.dm b/code/game/objects/items/handcuffs.dm
index 22c9bdc451..1e0a6ce6dc 100644
--- a/code/game/objects/items/handcuffs.dm
+++ b/code/game/objects/items/handcuffs.dm
@@ -163,7 +163,6 @@
color = pick(cable_colors)
/obj/item/restraints/handcuffs/cable/attackby(obj/item/I, mob/user, params)
- ..()
if(istype(I, /obj/item/stack/rods))
var/obj/item/stack/rods/R = I
if (R.use(1))
@@ -197,12 +196,15 @@
name = "zipties"
desc = "Plastic, disposable zipties that can be used to restrain temporarily but are destroyed after use."
item_state = "zipties"
+ color = "white"
lefthand_file = 'icons/mob/inhands/equipment/security_lefthand.dmi'
righthand_file = 'icons/mob/inhands/equipment/security_righthand.dmi'
custom_materials = null
breakouttime = 450 //Deciseconds = 45s
trashtype = /obj/item/restraints/handcuffs/cable/zipties/used
- color = null
+
+/obj/item/restraints/handcuffs/cable/zipties/attack_self() //Zipties arent cable
+ return
/obj/item/restraints/handcuffs/cable/zipties/used
desc = "A pair of broken zipties."
diff --git a/code/game/objects/items/shields.dm b/code/game/objects/items/shields.dm
index dc11e55754..22767a66ea 100644
--- a/code/game/objects/items/shields.dm
+++ b/code/game/objects/items/shields.dm
@@ -1,6 +1,6 @@
/obj/item/shield
name = "shield"
- icon = 'icons/obj/items_and_weapons.dmi'
+ icon = 'icons/obj/shields.dmi'
block_chance = 50
armor = list("melee" = 50, "bullet" = 50, "laser" = 50, "energy" = 0, "bomb" = 30, "bio" = 0, "rad" = 0, "fire" = 80, "acid" = 70)
/// Shield flags
@@ -163,6 +163,7 @@
custom_materials = list(/datum/material/glass=7500, /datum/material/iron=1000)
attack_verb = list("shoved", "bashed")
var/cooldown = 0 //shield bash cooldown. based on world.time
+ var/repair_material = /obj/item/stack/sheet/mineral/titanium
shield_flags = SHIELD_FLAGS_DEFAULT | SHIELD_TRANSPARENT
max_integrity = 75
@@ -185,7 +186,7 @@
user.visible_message("[user] bashes [src] with [W]!")
playsound(user.loc, 'sound/effects/shieldbash.ogg', 50, 1)
cooldown = world.time
- else if(istype(W, /obj/item/stack/sheet/mineral/titanium))
+ else if(istype(W, repair_material))
if(obj_integrity >= max_integrity)
to_chat(user, "[src] is already in perfect condition.")
else
@@ -221,6 +222,23 @@
take_damage(damage)
return ..()
+/obj/item/shield/riot/laser_proof
+ name = "laser resistant shield"
+ desc = "A far more frail shield made of dark glass meant to block lasers but suffers from being being weak to ballistic projectiles."
+ armor = list("melee" = 30, "bullet" = -10, "laser" = 80, "energy" = 80, "bomb" = -40, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 50)
+ icon_state = "riot_laser"
+ item_state = "riot_laser"
+ lefthand_file = 'icons/mob/inhands/equipment/shields_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/shields_righthand.dmi'
+ shield_flags = SHIELD_FLAGS_DEFAULT
+ max_integrity = 55 //Weak
+
+obj/item/shield/riot/bullet_proof
+ name = "bullet resistant shield"
+ desc = "A far more frail shield made of resistant plastics and kevlar meant to block ballistics."
+ armor = list("melee" = 30, "bullet" = 80, "laser" = 0, "energy" = 0, "bomb" = -40, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 50)
+ max_integrity = 55 //Weaker
+
/obj/item/shield/riot/roman
name = "\improper Roman shield"
desc = "Bears an inscription on the inside: \"Romanes venio domus\"."
@@ -228,6 +246,7 @@
item_state = "roman_shield"
lefthand_file = 'icons/mob/inhands/equipment/shields_lefthand.dmi'
righthand_file = 'icons/mob/inhands/equipment/shields_righthand.dmi'
+ repair_material = /obj/item/stack/sheet/mineral/wood
shield_flags = SHIELD_FLAGS_DEFAULT
max_integrity = 65
@@ -250,6 +269,7 @@
righthand_file = 'icons/mob/inhands/equipment/shields_righthand.dmi'
custom_materials = null
resistance_flags = FLAMMABLE
+ repair_material = /obj/item/stack/sheet/mineral/wood
block_chance = 30
shield_flags = SHIELD_FLAGS_DEFAULT
max_integrity = 55
@@ -258,58 +278,6 @@
playsound(owner, 'sound/effects/bang.ogg', 50)
new /obj/item/stack/sheet/mineral/wood(get_turf(src))
-
-/obj/item/shield/energy
- name = "energy combat shield"
- desc = "A shield that reflects almost all energy projectiles, but is useless against physical attacks. It can be retracted, expanded, and stored anywhere."
- lefthand_file = 'icons/mob/inhands/equipment/shields_lefthand.dmi'
- righthand_file = 'icons/mob/inhands/equipment/shields_righthand.dmi'
- w_class = WEIGHT_CLASS_TINY
- attack_verb = list("shoved", "bashed")
- throw_range = 5
- force = 3
- throwforce = 3
- throw_speed = 3
- var/base_icon_state = "eshield" // [base_icon_state]1 for expanded, [base_icon_state]0 for contracted
- var/on_force = 10
- var/on_throwforce = 8
- var/on_throw_speed = 2
- var/active = 0
- var/clumsy_check = TRUE
-
-/obj/item/shield/energy/Initialize()
- . = ..()
- icon_state = "[base_icon_state]0"
-
-/obj/item/shield/energy/run_block(mob/living/owner, atom/object, damage, attack_text, attack_type, armour_penetration, mob/attacker, def_zone, final_block_chance, list/block_return)
- if((attack_type & ATTACK_TYPE_PROJECTILE) && is_energy_reflectable_projectile(object))
- block_return[BLOCK_RETURN_REDIRECT_METHOD] = REDIRECT_METHOD_DEFLECT
- return BLOCK_SUCCESS | BLOCK_REDIRECTED | BLOCK_SHOULD_REDIRECT
- return ..()
-
-/obj/item/shield/energy/attack_self(mob/living/carbon/human/user)
- if(clumsy_check && HAS_TRAIT(user, TRAIT_CLUMSY) && prob(50))
- to_chat(user, "You beat yourself in the head with [src]!")
- user.take_bodypart_damage(5)
- active = !active
- icon_state = "[base_icon_state][active]"
-
- if(active)
- force = on_force
- throwforce = on_throwforce
- throw_speed = on_throw_speed
- w_class = WEIGHT_CLASS_BULKY
- playsound(user, 'sound/weapons/saberon.ogg', 35, TRUE)
- to_chat(user, "[src] is now active.")
- else
- force = initial(force)
- throwforce = initial(throwforce)
- throw_speed = initial(throw_speed)
- w_class = WEIGHT_CLASS_TINY
- playsound(user, 'sound/weapons/saberoff.ogg', 35, TRUE)
- to_chat(user, "[src] can now be concealed.")
- add_fingerprint(user)
-
/obj/item/shield/riot/tele
name = "telescopic shield"
desc = "An advanced riot shield made of lightweight materials that collapses for easy storage."
@@ -362,6 +330,7 @@
custom_materials = list(/datum/material/iron = 18000)
slot_flags = null
block_chance = 35
+ max_integrity = 100 //Made of metal welded together its strong but not unkillable
force = 10
throwforce = 7
@@ -380,6 +349,12 @@
item_flags = SLOWS_WHILE_IN_HAND
shield_flags = SHIELD_FLAGS_DEFAULT
+/obj/item/shield/riot/tower/swat
+ name = "swat shield"
+ desc = "A massive, heavy shield that can block a lot of attacks, can take a lot of abuse before breaking."
+ max_integrity = 175
+ block_chance = 50
+
/obj/item/shield/riot/implant
name = "riot tower shield"
desc = "A massive shield that can block a lot of attacks and can take a lot of abuse before breaking." //It cant break unless it is removed from the implant
@@ -395,3 +370,55 @@
if(attack_type & ATTACK_TYPE_PROJECTILE)
final_block_chance = 60 //Massive shield
return ..()
+
+
+/obj/item/shield/energy
+ name = "energy combat shield"
+ desc = "A shield that reflects almost all energy projectiles, but is useless against physical attacks. It can be retracted, expanded, and stored anywhere."
+ lefthand_file = 'icons/mob/inhands/equipment/shields_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/shields_righthand.dmi'
+ w_class = WEIGHT_CLASS_TINY
+ attack_verb = list("shoved", "bashed")
+ throw_range = 5
+ force = 3
+ throwforce = 3
+ throw_speed = 3
+ var/base_icon_state = "eshield" // [base_icon_state]1 for expanded, [base_icon_state]0 for contracted
+ var/on_force = 10
+ var/on_throwforce = 8
+ var/on_throw_speed = 2
+ var/active = 0
+ var/clumsy_check = TRUE
+
+/obj/item/shield/energy/Initialize()
+ . = ..()
+ icon_state = "[base_icon_state]0"
+
+/obj/item/shield/energy/run_block(mob/living/owner, atom/object, damage, attack_text, attack_type, armour_penetration, mob/attacker, def_zone, final_block_chance, list/block_return)
+ if((attack_type & ATTACK_TYPE_PROJECTILE) && is_energy_reflectable_projectile(object))
+ block_return[BLOCK_RETURN_REDIRECT_METHOD] = REDIRECT_METHOD_DEFLECT
+ return BLOCK_SUCCESS | BLOCK_REDIRECTED | BLOCK_SHOULD_REDIRECT
+ return ..()
+
+/obj/item/shield/energy/attack_self(mob/living/carbon/human/user)
+ if(clumsy_check && HAS_TRAIT(user, TRAIT_CLUMSY) && prob(50))
+ to_chat(user, "You beat yourself in the head with [src]!")
+ user.take_bodypart_damage(5)
+ active = !active
+ icon_state = "[base_icon_state][active]"
+
+ if(active)
+ force = on_force
+ throwforce = on_throwforce
+ throw_speed = on_throw_speed
+ w_class = WEIGHT_CLASS_BULKY
+ playsound(user, 'sound/weapons/saberon.ogg', 35, TRUE)
+ to_chat(user, "[src] is now active.")
+ else
+ force = initial(force)
+ throwforce = initial(throwforce)
+ throw_speed = initial(throw_speed)
+ w_class = WEIGHT_CLASS_TINY
+ playsound(user, 'sound/weapons/saberoff.ogg', 35, TRUE)
+ to_chat(user, "[src] can now be concealed.")
+ add_fingerprint(user)
diff --git a/code/game/objects/items/storage/fancy.dm b/code/game/objects/items/storage/fancy.dm
index 3bc90d3615..f32532537b 100644
--- a/code/game/objects/items/storage/fancy.dm
+++ b/code/game/objects/items/storage/fancy.dm
@@ -274,6 +274,7 @@
w_class = WEIGHT_CLASS_TINY
icon = 'icons/obj/cigarettes.dmi'
icon_state = "cig_paper_pack"
+///The value in here has NOTHING to do with icons. It needs to be this for the proper examine.
icon_type = "rolling paper"
spawn_type = /obj/item/rollingpaper
@@ -283,6 +284,10 @@
STR.max_items = 10
STR.can_hold = typecacheof(list(/obj/item/rollingpaper))
+///Overrides to do nothing because fancy boxes are fucking insane.
+/obj/item/storage/fancy/rollingpapers/update_icon_state()
+ return
+
/obj/item/storage/fancy/rollingpapers/update_overlays()
. = ..()
if(!contents.len)
diff --git a/code/modules/cargo/packs/misc.dm b/code/modules/cargo/packs/misc.dm
index 14828729cd..dfaa6f0027 100644
--- a/code/modules/cargo/packs/misc.dm
+++ b/code/modules/cargo/packs/misc.dm
@@ -330,7 +330,7 @@
/datum/supply_pack/misc/religious_supplies
name = "Religious Supplies Crate"
desc = "Keep your local chaplain happy and well-supplied, lest they call down judgement upon your cargo bay. Contains two bottles of holywater, bibles, chaplain robes, and burial garmets."
- cost = 4000 // it costs so much because the Space Church is ran by Space Jews
+ cost = 4000 // it costs so much because the Space Church needs funding to build a cathedral
contains = list(/obj/item/reagent_containers/food/drinks/bottle/holywater,
/obj/item/reagent_containers/food/drinks/bottle/holywater,
/obj/item/storage/book/bible/booze,
diff --git a/code/modules/clothing/suits/miscellaneous.dm b/code/modules/clothing/suits/miscellaneous.dm
index 4bbb6ae23f..dfd0a0ef3b 100644
--- a/code/modules/clothing/suits/miscellaneous.dm
+++ b/code/modules/clothing/suits/miscellaneous.dm
@@ -996,7 +996,7 @@
item_state = "coatpoly"
hoodtype = /obj/item/clothing/head/hooded/winterhood/polychromic
-/obj/item/clothing/suit/hooded/wintercoat/ComponentInitialize()
+/obj/item/clothing/suit/hooded/wintercoat/polychromic/ComponentInitialize()
. = ..()
AddElement(/datum/element/polychromic, list("#6A6964", "#C4B8A6", "#0000FF"), 3)
diff --git a/code/modules/clothing/suits/toggles.dm b/code/modules/clothing/suits/toggles.dm
index 4f29eab6ab..639f2d3bfb 100644
--- a/code/modules/clothing/suits/toggles.dm
+++ b/code/modules/clothing/suits/toggles.dm
@@ -37,7 +37,6 @@
..()
/obj/item/clothing/suit/hooded/proc/RemoveHood()
- src.icon_state = "[initial(icon_state)]"
suittoggled = FALSE
if(ishuman(hood.loc))
var/mob/living/carbon/H = hood.loc
@@ -45,9 +44,14 @@
H.update_inv_wear_suit()
else
hood.forceMove(src)
- for(var/X in actions)
- var/datum/action/A = X
- A.UpdateButtonIcon()
+ update_icon()
+
+/obj/item/clothing/suit/hooded/update_icon_state()
+ icon_state = "[initial(icon_state)]"
+ if(ishuman(hood.loc))
+ var/mob/living/carbon/human/H = hood.loc
+ if(H.head == hood)
+ icon_state += "_t"
/obj/item/clothing/suit/hooded/dropped(mob/user)
..()
@@ -65,11 +69,8 @@
return
else if(H.equip_to_slot_if_possible(hood,SLOT_HEAD,0,0,1))
suittoggled = TRUE
- src.icon_state = "[initial(icon_state)]_t"
+ update_icon()
H.update_inv_wear_suit()
- for(var/X in actions)
- var/datum/action/A = X
- A.UpdateButtonIcon()
else
RemoveHood()
diff --git a/code/modules/clothing/under/jobs/cargo.dm b/code/modules/clothing/under/jobs/cargo.dm
index 92afe238ef..aa4db2fd30 100644
--- a/code/modules/clothing/under/jobs/cargo.dm
+++ b/code/modules/clothing/under/jobs/cargo.dm
@@ -18,7 +18,7 @@
/obj/item/clothing/under/rank/cargo/tech
name = "cargo technician's jumpsuit"
desc = "Shooooorts! They're comfy and easy to wear!"
- icon_state = "cargotech"
+ icon_state = "cargo"
item_state = "lb_suit"
body_parts_covered = CHEST|GROIN|ARMS
alt_covers_chest = TRUE
diff --git a/code/modules/food_and_drinks/food/snacks_burgers.dm b/code/modules/food_and_drinks/food/snacks_burgers.dm
index 9a4ef2ce89..f8c85700c9 100644
--- a/code/modules/food_and_drinks/food/snacks_burgers.dm
+++ b/code/modules/food_and_drinks/food/snacks_burgers.dm
@@ -365,7 +365,7 @@
/obj/item/reagent_containers/food/snacks/burger/chicken
name = "chicken sandwich" //Apparently the proud people of Americlapstan object to this thing being called a burger. Apparently McDonald's just calls it a burger in Europe as to not scare and confuse us.
- desc = "A delicious chicken sandwich, it is said the proceeds from this treat helps criminalize homosexuality on the space frontier."
+ desc = "A delicious chicken sandwich, it is said the proceeds from this treat helps criminalize disarming people on the space frontier."
icon_state = "chickenburger"
tastes = list("bun" = 2, "chicken" = 4, "God's covenant" = 1)
bonus_reagents = list(/datum/reagent/consumable/mayonnaise = 3, /datum/reagent/consumable/cooking_oil = 2, /datum/reagent/consumable/nutriment = 2)
diff --git a/code/modules/holodeck/area_copy.dm b/code/modules/holodeck/area_copy.dm
index 316bdb8289..cb9965d34a 100644
--- a/code/modules/holodeck/area_copy.dm
+++ b/code/modules/holodeck/area_copy.dm
@@ -70,7 +70,7 @@ GLOBAL_LIST_INIT(duplicate_forbidden_vars_by_type, typecacheof_assoc_list(list(
for (var/turf/T in turfs_src)
src_min_x = min(src_min_x,T.x)
src_min_y = min(src_min_y,T.y)
- src_max_x = max(src_max_x,T.y)
+ src_max_x = max(src_max_x,T.x)
src_max_y = max(src_max_y,T.y)
for (var/turf/T in turfs_src)
refined_src[T] = "[T.x - src_min_x].[T.y - src_min_y]"
@@ -84,7 +84,7 @@ GLOBAL_LIST_INIT(duplicate_forbidden_vars_by_type, typecacheof_assoc_list(list(
for (var/turf/T in turfs_trg)
trg_min_x = min(trg_min_x,T.x)
trg_min_y = min(trg_min_y,T.y)
- trg_max_x = max(trg_max_x,T.y)
+ trg_max_x = max(trg_max_x,T.x)
trg_max_y = max(trg_max_y,T.y)
var/diff_x = round(((src_max_x - src_min_x) - (trg_max_x - trg_min_x))/2)
diff --git a/code/modules/holodeck/computer.dm b/code/modules/holodeck/computer.dm
index 3c87082393..65c69b995f 100644
--- a/code/modules/holodeck/computer.dm
+++ b/code/modules/holodeck/computer.dm
@@ -31,12 +31,12 @@
var/area/holodeck/last_program
var/area/offline_program = /area/holodeck/rec_center/offline
- var/list/program_cache
- var/list/emag_programs
-
// Splitting this up allows two holodecks of the same size
// to use the same source patterns. Y'know, if you want to.
- var/holodeck_type = /area/holodeck/rec_center // locate(this) to get the target holodeck
+ var/holodeck_type = /area/holodeck/rec_center
+
+ var/list/program_cache
+ var/list/emag_programs
var/active = FALSE
var/damaged = FALSE
@@ -49,16 +49,18 @@
return INITIALIZE_HINT_LATELOAD
/obj/machinery/computer/holodeck/LateInitialize()
- if(ispath(holodeck_type, /area))
- linked = pop(get_areas(holodeck_type, FALSE))
- if(ispath(offline_program, /area))
- offline_program = pop(get_areas(offline_program), FALSE)
- // the following is necessary for power reasons
+ linked = SSholodeck.target_holodeck_area[type]
+ offline_program = SSholodeck.offline_programs[type]
if(!linked || !offline_program)
log_world("No matching holodeck area found")
qdel(src)
return
- var/area/AS = get_area(src)
+
+ program_cache = SSholodeck.program_cache[type]
+ emag_programs = SSholodeck.emag_program_cache[type]
+
+ // the following is necessary for power reasons
+ var/area/AS = get_base_area(src)
if(istype(AS, /area/holodeck))
log_mapping("Holodeck computer cannot be in a holodeck, This would cause circular power dependency.")
qdel(src)
@@ -66,7 +68,6 @@
else
linked.linked = src
- generate_program_list()
load_program(offline_program, FALSE, FALSE)
/obj/machinery/computer/holodeck/Destroy()
@@ -181,19 +182,6 @@
emergency_shutdown()
return ..()
-/obj/machinery/computer/holodeck/proc/generate_program_list()
- for(var/typekey in GLOB.holodeck_areas_prototypes[type])
- var/area/holodeck/A = GLOB.areas_by_type[typekey]
- if(!A || !A.contents.len)
- continue
- var/list/info_this = list()
- info_this["name"] = A.name
- info_this["type"] = A.type
- if(A.restricted)
- LAZYADD(emag_programs, list(info_this))
- else
- LAZYADD(program_cache, list(info_this))
-
/obj/machinery/computer/holodeck/proc/toggle_power(toggleOn = FALSE)
if(active == toggleOn)
return
diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm
index b049b7e967..10a630e034 100644
--- a/code/modules/mob/living/carbon/human/update_icons.dm
+++ b/code/modules/mob/living/carbon/human/update_icons.dm
@@ -283,7 +283,7 @@ There are several things that need to be remembered:
alt_icon = S.anthro_mob_worn_overlay || 'icons/mob/clothing/feet_digi.dmi'
variation_flag |= STYLE_DIGITIGRADE
- overlays_standing[SHOES_LAYER] = shoes.build_worn_icon(SHOES_LAYER, alt_icon, FALSE, NO_FEMALE_UNIFORM, variation_flag, FALSE)
+ overlays_standing[SHOES_LAYER] = shoes.build_worn_icon(SHOES_LAYER, alt_icon, FALSE, NO_FEMALE_UNIFORM, S.icon_state, variation_flag, FALSE)
var/mutable_appearance/shoes_overlay = overlays_standing[SHOES_LAYER]
if(OFFSET_SHOES in dna.species.offset_features)
shoes_overlay.pixel_x += dna.species.offset_features[OFFSET_SHOES][1]
diff --git a/code/modules/power/cable.dm b/code/modules/power/cable.dm
index 49848824e4..ed90ed407f 100644
--- a/code/modules/power/cable.dm
+++ b/code/modules/power/cable.dm
@@ -556,13 +556,12 @@ By design, d1 is the smallest direction and d2 is the highest
new_cable.update_icon()
/obj/item/stack/cable_coil/attack_self(mob/user)
- if(!use(15))
- to_chat(user, "You dont have enough cable coil to make restraints out of them")
+ if(amount < 15)
+ to_chat(user, "You don't have enough cable coil to make restraints out of them")
return
to_chat(user, "You start making some cable restraints.")
- if(!do_after(user, 30, TRUE, user, TRUE))
- to_chat(user, "You fail to make cable restraints, you need to stand still while doing so.")
- give(15)
+ if(!do_after(user, 30, TRUE, user, TRUE) || !use(15))
+ to_chat(user, "You fail to make cable restraints, you need to be standing still to do it")
return
var/obj/item/restraints/handcuffs/cable/result = new(get_turf(user))
user.put_in_hands(result)
diff --git a/code/modules/research/designs/weapon_designs.dm b/code/modules/research/designs/weapon_designs.dm
index 658e108288..44b71a025f 100644
--- a/code/modules/research/designs/weapon_designs.dm
+++ b/code/modules/research/designs/weapon_designs.dm
@@ -435,9 +435,9 @@
category = list("Weapons")
departmental_flags = DEPARTMENTAL_FLAG_SECURITY | DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE
-//////////
-//MISC////
-//////////
+///////////
+//Shields//
+///////////
/datum/design/tele_shield
name = "Telescopic Riot Shield"
@@ -449,6 +449,30 @@
category = list("Weapons")
departmental_flags = DEPARTMENTAL_FLAG_SECURITY
+/datum/design/laser_shield
+ name = "Laser Resistant Riot Shield"
+ desc = "An advanced riot shield made of darker glasses to prevent laser fire from passing through."
+ id = "laser_shield"
+ build_type = PROTOLATHE
+ materials = list(/datum/material/iron = 4000, /datum/material/glass = 1000, /datum/material/plastic = 4000, /datum/material/silver = 800, /datum/material/titanium = 600, /datum/material/plasma = 5000)
+ build_path = /obj/item/shield/riot/laser_proof
+ category = list("Weapons")
+ departmental_flags = DEPARTMENTAL_FLAG_SECURITY
+
+/datum/design/bullet_shield
+ name = "Bullet Resistant Riot Shield"
+ desc = "An advanced riot shield made bullet resistant plastics and heavy metals to protect against projectile harm."
+ id = "bullet_shield"
+ build_type = PROTOLATHE
+ materials = list(/datum/material/iron = 4000, /datum/material/glass = 1000, /datum/material/silver = 2000, /datum/material/titanium = 1200, /datum/material/plastic = 2500)
+ build_path = /obj/item/shield/riot/bullet_proof
+ category = list("Weapons")
+ departmental_flags = DEPARTMENTAL_FLAG_SECURITY
+
+//////////
+//MISC////
+//////////
+
/datum/design/suppressor
name = "Suppressor"
desc = "A reverse-engineered suppressor that fits on most small arms with threaded barrels."
diff --git a/code/modules/research/techweb/all_nodes.dm b/code/modules/research/techweb/all_nodes.dm
index dafa119873..a34a82c156 100644
--- a/code/modules/research/techweb/all_nodes.dm
+++ b/code/modules/research/techweb/all_nodes.dm
@@ -535,7 +535,7 @@
display_name = "Combat Cybernetic Implants"
description = "Military grade combat implants to improve performance."
prereq_ids = list("adv_cyber_implants","weaponry","NVGtech","high_efficiency")
- design_ids = list("ci-xray", "ci-thermals", "ci-antidrop", "ci-antistun", "ci-thrusters")
+ design_ids = list("ci-xray", "ci-thermals", "ci-antidrop", "ci-antistun", "ci-thrusters", "ci-shield")
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
////////////////////////Tools////////////////////////
@@ -609,7 +609,7 @@
display_name = "Advanced Weapon Development Technology"
description = "Our weapons are breaking the rules of reality by now."
prereq_ids = list("adv_engi", "weaponry")
- design_ids = list("pin_loyalty")
+ design_ids = list("pin_loyalty", "laser_shield", "bullet_shield")
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 7500)
/datum/techweb_node/electric_weapons
diff --git a/code/modules/surgery/helpers.dm b/code/modules/surgery/helpers.dm
index 773048f838..7a92b39692 100644
--- a/code/modules/surgery/helpers.dm
+++ b/code/modules/surgery/helpers.dm
@@ -89,18 +89,23 @@
"You remove [I] from [M]'s [parse_zone(selected_zone)].")
qdel(S)
else if(S.can_cancel)
- var/close_tool_type = /obj/item/cautery
+ var/required_tool_type = TOOL_CAUTERY
var/obj/item/close_tool = user.get_inactive_held_item()
var/is_robotic = S.requires_bodypart_type == BODYPART_ROBOTIC
if(is_robotic)
- close_tool_type = /obj/item/screwdriver
- if(istype(close_tool, close_tool_type) || iscyborg(user))
- M.surgeries -= S
- user.visible_message("[user] closes [M]'s [parse_zone(selected_zone)] with [close_tool] and removes [I].", \
- "You close [M]'s [parse_zone(selected_zone)] with [close_tool] and remove [I].")
- qdel(S)
- else
+ required_tool_type = TOOL_SCREWDRIVER
+ if(iscyborg(user))
+ close_tool = locate(/obj/item/cautery) in user.held_items
+ if(!close_tool)
+ to_chat(user, "You need to equip a cautery in an inactive slot to stop [M]'s surgery!")
+ return
+ else if(!close_tool || close_tool.tool_behaviour != required_tool_type)
to_chat(user, "You need to hold a [is_robotic ? "screwdriver" : "cautery"] in your inactive hand to stop [M]'s surgery!")
+ return
+ M.surgeries -= S
+ user.visible_message("[user] closes [M]'s [parse_zone(selected_zone)] with [close_tool] and removes [I].", \
+ "You close [M]'s [parse_zone(selected_zone)] with [close_tool] and remove [I].")
+ qdel(S)
/proc/get_location_modifier(mob/M)
var/turf/T = get_turf(M)
diff --git a/html/changelog.html b/html/changelog.html
index d8e8b8404a..b02b2d74a5 100644
--- a/html/changelog.html
+++ b/html/changelog.html
@@ -50,6 +50,79 @@
-->
+
19 April 2020
+
Anonymous updated:
+
+ - Xenohybrids will now scream like xeno.
+
+
Arturlang updated:
+
+ - You can no longer spam craft things using the crafting menu
+
+
Detective-Google updated:
+
+ - uncorks some of Lambda's rooms.
+
+
Ghommie updated:
+
+ - Custom skin tone preferences.
+ - Normalized box dorm lockers. Also removed a straight jacket found in the same area.
+
+
Jake Park updated:
+
+ - fixed path name for youtool vending
+
+
Putnam3145 updated:
+
+ - Objectives now clean theirselves up instead of leaving null entries in lists everywhere.
+
+
Seris02 updated:
+
+ - stops magboots from not updating slowdowns
+
+
Trilbyspaceclone updated:
+
+ - Maints have seen an uptick in left over types of welders, and tools. As well as different types of masks
+ - New type of 02 locker - Rng! It can have almost any type of gas/breath mask and almost any type of o2 tank as well as even plasma men internals - Fancy!
+ - Tool lockers have 70% odds to have a spare random tool inside!
+ - 12 new more drinks for most races!
+ - New animations for mauna loa, and colour swap from red to blue for a Paramedic Hardsuit helm
+ - Lowers cog champ ((the drink)) flare rate
+ - Six more Sci based bounties have been posted at your local Cargo Bounty Request console
+ - Mimes have made catnip plants not become invisible. How helpful.
+ - Honey Palm now distills into mead rather then wine
+
+
UristMcAstronaut updated:
+
+ - Adds circuit analyzers to maps and to integrated circuit printer and circuitry starter crate.
+
+
kappa-sama updated:
+
+ - aranesp heals 10 instead of 18 stamina per tick
+ - removed roundstart hyper earrape screams from xenohybrids
+
+
kevinz000 updated:
+
+ - you can no longer stun xenos
+ - Contractor kits are now poplocked to 30 players.
+ - Shield bashing has been added
+
+
necromanceranne updated:
+
+ - You can now craft armwraps!
+ - Pugilists disarm you more easily and are harder to disarm. They also get a discount on disarm.
+ - Pugilists only suffer a flat 10% chance to miss you. It's just like old punches! Kinda.
+ - Chaplain's armbands are a +2, up from a +1!
+ - Martial artists spend stamina when they disarm.
+ - Rising Bass had several moves shortened and made stronger. Has a disarm override attack which does stamina damage and trips people on a disarm stun punch.
+ - CQC had it's disarm move altered to be a stronger version of Krav Maga's. Dizzies and disarms on a disarm stun punch or just does some stamina damage and brute damage.
+ - Sleeping Carp can punch you to the floor on a harm stun punch.
+ - Hugs of the Northstar are no longer nodrop.
+ - Adding in some overrides and proper flag checks for martial arts.
+ - Stun thresholding stops disarm spams at extremely high stamina loss.
+ - Ashen Arrows are actually called Ashen Arrows in the crafting menu.
+
+
16 April 2020
ForrestWick updated:
diff --git a/html/changelogs/.all_changelog.yml b/html/changelogs/.all_changelog.yml
index c2cd031447..d07b7c3a4f 100644
--- a/html/changelogs/.all_changelog.yml
+++ b/html/changelogs/.all_changelog.yml
@@ -25771,3 +25771,64 @@ DO NOT EDIT THIS FILE BY HAND! AUTOMATICALLY GENERATED BY ss13_genchangelog.py.
- tweak: changed a certain item to be called meatball, ended racism, thank you obama
Linzolle:
- tweak: remove any slurs, etc. to comply with GitHub's ToS
+2020-04-19:
+ Anonymous:
+ - rscadd: Xenohybrids will now scream like xeno.
+ Arturlang:
+ - bugfix: You can no longer spam craft things using the crafting menu
+ Detective-Google:
+ - bugfix: uncorks some of Lambda's rooms.
+ Ghommie:
+ - rscadd: Custom skin tone preferences.
+ - tweak: Normalized box dorm lockers. Also removed a straight jacket found in the
+ same area.
+ Jake Park:
+ - bugfix: fixed path name for youtool vending
+ Putnam3145:
+ - bugfix: Objectives now clean theirselves up instead of leaving null entries in
+ lists everywhere.
+ Seris02:
+ - bugfix: stops magboots from not updating slowdowns
+ Trilbyspaceclone:
+ - rscadd: Maints have seen an uptick in left over types of welders, and tools. As
+ well as different types of masks
+ - rscadd: New type of 02 locker - Rng! It can have almost any type of gas/breath
+ mask and almost any type of o2 tank as well as even plasma men internals - Fancy!
+ - tweak: Tool lockers have 70% odds to have a spare random tool inside!
+ - rscadd: 12 new more drinks for most races!
+ - rscadd: New animations for mauna loa, and colour swap from red to blue for a Paramedic
+ Hardsuit helm
+ - tweak: Lowers cog champ ((the drink)) flare rate
+ - rscadd: Six more Sci based bounties have been posted at your local Cargo Bounty
+ Request console
+ - bugfix: Mimes have made catnip plants not become invisible. How helpful.
+ - rscadd: Honey Palm now distills into mead rather then wine
+ UristMcAstronaut:
+ - rscadd: Adds circuit analyzers to maps and to integrated circuit printer and circuitry
+ starter crate.
+ kappa-sama:
+ - balance: aranesp heals 10 instead of 18 stamina per tick
+ - rscdel: removed roundstart hyper earrape screams from xenohybrids
+ kevinz000:
+ - bugfix: you can no longer stun xenos
+ - balance: Contractor kits are now poplocked to 30 players.
+ - rscadd: Shield bashing has been added
+ necromanceranne:
+ - rscadd: You can now craft armwraps!
+ - balance: Pugilists disarm you more easily and are harder to disarm. They also
+ get a discount on disarm.
+ - balance: Pugilists only suffer a flat 10% chance to miss you. It's just like old
+ punches! Kinda.
+ - balance: Chaplain's armbands are a +2, up from a +1!
+ - balance: Martial artists spend stamina when they disarm.
+ - balance: Rising Bass had several moves shortened and made stronger. Has a disarm
+ override attack which does stamina damage and trips people on a disarm stun
+ punch.
+ - balance: CQC had it's disarm move altered to be a stronger version of Krav Maga's.
+ Dizzies and disarms on a disarm stun punch or just does some stamina damage
+ and brute damage.
+ - balance: Sleeping Carp can punch you to the floor on a harm stun punch.
+ - bugfix: Hugs of the Northstar are no longer nodrop.
+ - bugfix: Adding in some overrides and proper flag checks for martial arts.
+ - bugfix: Stun thresholding stops disarm spams at extremely high stamina loss.
+ - tweak: Ashen Arrows are actually called Ashen Arrows in the crafting menu.
diff --git a/html/changelogs/AutoChangeLog-pr-11734.yml b/html/changelogs/AutoChangeLog-pr-11734.yml
deleted file mode 100644
index 9748f973fc..0000000000
--- a/html/changelogs/AutoChangeLog-pr-11734.yml
+++ /dev/null
@@ -1,4 +0,0 @@
-author: "Trilbyspaceclone"
-delete-after: True
-changes:
- - rscadd: "Six more Sci based bounties have been posted at your local Cargo Bounty Request console"
diff --git a/html/changelogs/AutoChangeLog-pr-11774.yml b/html/changelogs/AutoChangeLog-pr-11774.yml
deleted file mode 100644
index b694404e75..0000000000
--- a/html/changelogs/AutoChangeLog-pr-11774.yml
+++ /dev/null
@@ -1,6 +0,0 @@
-author: "Trilbyspaceclone"
-delete-after: True
-changes:
- - rscadd: "Maints have seen an uptick in left over types of welders, and tools. As well as different types of masks"
- - rscadd: "New type of 02 locker - Rng! It can have almost any type of gas/breath mask and almost any type of o2 tank as well as even plasma men internals - Fancy!"
- - tweak: "Tool lockers have 70% odds to have a spare random tool inside!"
diff --git a/html/changelogs/AutoChangeLog-pr-11820.yml b/html/changelogs/AutoChangeLog-pr-11820.yml
deleted file mode 100644
index 2aa24287bb..0000000000
--- a/html/changelogs/AutoChangeLog-pr-11820.yml
+++ /dev/null
@@ -1,4 +0,0 @@
-author: "kevinz000"
-delete-after: True
-changes:
- - rscadd: "Shield bashing has been added"
diff --git a/html/changelogs/AutoChangeLog-pr-11839.yml b/html/changelogs/AutoChangeLog-pr-11839.yml
deleted file mode 100644
index a3a97b7949..0000000000
--- a/html/changelogs/AutoChangeLog-pr-11839.yml
+++ /dev/null
@@ -1,4 +0,0 @@
-author: "kevinz000"
-delete-after: True
-changes:
- - bugfix: "you can no longer stun xenos"
diff --git a/html/changelogs/AutoChangeLog-pr-11844.yml b/html/changelogs/AutoChangeLog-pr-11844.yml
deleted file mode 100644
index 980d71f79c..0000000000
--- a/html/changelogs/AutoChangeLog-pr-11844.yml
+++ /dev/null
@@ -1,4 +0,0 @@
-author: "Arturlang"
-delete-after: True
-changes:
- - bugfix: "You can no longer spam craft things using the crafting menu"
diff --git a/html/changelogs/AutoChangeLog-pr-11849.yml b/html/changelogs/AutoChangeLog-pr-11849.yml
deleted file mode 100644
index 2a5bf783dc..0000000000
--- a/html/changelogs/AutoChangeLog-pr-11849.yml
+++ /dev/null
@@ -1,4 +0,0 @@
-author: "Ghommie"
-delete-after: True
-changes:
- - tweak: "Normalized box dorm lockers. Also removed a straight jacket found in the same area."
diff --git a/html/changelogs/AutoChangeLog-pr-11851.yml b/html/changelogs/AutoChangeLog-pr-11851.yml
deleted file mode 100644
index 76b7767258..0000000000
--- a/html/changelogs/AutoChangeLog-pr-11851.yml
+++ /dev/null
@@ -1,4 +0,0 @@
-author: "kevinz000"
-delete-after: True
-changes:
- - balance: "Contractor kits are now poplocked to 30 players."
diff --git a/html/changelogs/AutoChangeLog-pr-11852.yml b/html/changelogs/AutoChangeLog-pr-11852.yml
deleted file mode 100644
index 85a3295af4..0000000000
--- a/html/changelogs/AutoChangeLog-pr-11852.yml
+++ /dev/null
@@ -1,4 +0,0 @@
-author: "Ghommie"
-delete-after: True
-changes:
- - rscadd: "Custom skin tone preferences."
diff --git a/html/changelogs/AutoChangeLog-pr-11853.yml b/html/changelogs/AutoChangeLog-pr-11853.yml
deleted file mode 100644
index 52092c854a..0000000000
--- a/html/changelogs/AutoChangeLog-pr-11853.yml
+++ /dev/null
@@ -1,4 +0,0 @@
-author: "UristMcAstronaut"
-delete-after: True
-changes:
- - rscadd: "Adds circuit analyzers to maps and to integrated circuit printer and circuitry starter crate."
diff --git a/html/changelogs/AutoChangeLog-pr-11857.yml b/html/changelogs/AutoChangeLog-pr-11857.yml
deleted file mode 100644
index f6212d2d00..0000000000
--- a/html/changelogs/AutoChangeLog-pr-11857.yml
+++ /dev/null
@@ -1,6 +0,0 @@
-author: "Trilbyspaceclone"
-delete-after: True
-changes:
- - rscadd: "12 new more drinks for most races!"
- - rscadd: "New animations for mauna loa, and colour swap from red to blue for a Paramedic Hardsuit helm"
- - tweak: "Lowers cog champ ((the drink)) flare rate"
diff --git a/html/changelogs/AutoChangeLog-pr-11863.yml b/html/changelogs/AutoChangeLog-pr-11863.yml
deleted file mode 100644
index f7d9b75d51..0000000000
--- a/html/changelogs/AutoChangeLog-pr-11863.yml
+++ /dev/null
@@ -1,4 +0,0 @@
-author: "Trilbyspaceclone"
-delete-after: True
-changes:
- - rscadd: "Honey Palm now distills into mead rather then wine"
diff --git a/html/changelogs/AutoChangeLog-pr-11869.yml b/html/changelogs/AutoChangeLog-pr-11869.yml
deleted file mode 100644
index c75d84dd90..0000000000
--- a/html/changelogs/AutoChangeLog-pr-11869.yml
+++ /dev/null
@@ -1,15 +0,0 @@
-author: "necromanceranne"
-delete-after: True
-changes:
- - rscadd: "You can now craft armwraps!"
- - balance: "Pugilists disarm you more easily and are harder to disarm. They also get a discount on disarm."
- - balance: "Pugilists only suffer a flat 10% chance to miss you. It's just like old punches! Kinda."
- - balance: "Chaplain's armbands are a +2, up from a +1!"
- - balance: "Martial artists spend stamina when they disarm."
- - balance: "Rising Bass had several moves shortened and made stronger. Has a disarm override attack which does stamina damage and trips people on a disarm stun punch."
- - balance: "CQC had it's disarm move altered to be a stronger version of Krav Maga's. Dizzies and disarms on a disarm stun punch or just does some stamina damage and brute damage."
- - balance: "Sleeping Carp can punch you to the floor on a harm stun punch."
- - bugfix: "Hugs of the Northstar are no longer nodrop."
- - bugfix: "Adding in some overrides and proper flag checks for martial arts."
- - bugfix: "Stun thresholding stops disarm spams at extremely high stamina loss."
- - tweak: "Ashen Arrows are actually called Ashen Arrows in the crafting menu."
diff --git a/html/changelogs/AutoChangeLog-pr-11870.yml b/html/changelogs/AutoChangeLog-pr-11870.yml
deleted file mode 100644
index a2861d1dad..0000000000
--- a/html/changelogs/AutoChangeLog-pr-11870.yml
+++ /dev/null
@@ -1,4 +0,0 @@
-author: "Trilbyspaceclone"
-delete-after: True
-changes:
- - bugfix: "Mimes have made catnip plants not become invisible. How helpful."
diff --git a/html/changelogs/AutoChangeLog-pr-11871.yml b/html/changelogs/AutoChangeLog-pr-11871.yml
deleted file mode 100644
index bcbeb3e4a0..0000000000
--- a/html/changelogs/AutoChangeLog-pr-11871.yml
+++ /dev/null
@@ -1,4 +0,0 @@
-author: "kappa-sama"
-delete-after: True
-changes:
- - balance: "aranesp heals 10 instead of 18 stamina per tick"
diff --git a/html/changelogs/AutoChangeLog-pr-11877.yml b/html/changelogs/AutoChangeLog-pr-11877.yml
deleted file mode 100644
index b75747a3cd..0000000000
--- a/html/changelogs/AutoChangeLog-pr-11877.yml
+++ /dev/null
@@ -1,4 +0,0 @@
-author: "Detective-Google"
-delete-after: True
-changes:
- - bugfix: "uncorks some of Lambda's rooms."
diff --git a/html/changelogs/AutoChangeLog-pr-11879.yml b/html/changelogs/AutoChangeLog-pr-11879.yml
deleted file mode 100644
index 02fc0d23a1..0000000000
--- a/html/changelogs/AutoChangeLog-pr-11879.yml
+++ /dev/null
@@ -1,4 +0,0 @@
-author: "Seris02"
-delete-after: True
-changes:
- - bugfix: "stops magboots from not updating slowdowns"
diff --git a/html/changelogs/AutoChangeLog-pr-11880.yml b/html/changelogs/AutoChangeLog-pr-11880.yml
deleted file mode 100644
index c2bf19a6b3..0000000000
--- a/html/changelogs/AutoChangeLog-pr-11880.yml
+++ /dev/null
@@ -1,4 +0,0 @@
-author: "Anonymous"
-delete-after: True
-changes:
- - rscadd: "Xenohybrids will now scream like xeno."
diff --git a/html/changelogs/AutoChangeLog-pr-11882.yml b/html/changelogs/AutoChangeLog-pr-11882.yml
deleted file mode 100644
index b29829e507..0000000000
--- a/html/changelogs/AutoChangeLog-pr-11882.yml
+++ /dev/null
@@ -1,4 +0,0 @@
-author: "Putnam3145"
-delete-after: True
-changes:
- - bugfix: "Objectives now clean theirselves up instead of leaving null entries in lists everywhere."
diff --git a/html/changelogs/AutoChangeLog-pr-11886.yml b/html/changelogs/AutoChangeLog-pr-11886.yml
deleted file mode 100644
index ca6b194533..0000000000
--- a/html/changelogs/AutoChangeLog-pr-11886.yml
+++ /dev/null
@@ -1,4 +0,0 @@
-author: "Jake Park"
-delete-after: True
-changes:
- - bugfix: "fixed path name for youtool vending"
diff --git a/html/changelogs/AutoChangeLog-pr-11900.yml b/html/changelogs/AutoChangeLog-pr-11900.yml
deleted file mode 100644
index b4fddc3eb2..0000000000
--- a/html/changelogs/AutoChangeLog-pr-11900.yml
+++ /dev/null
@@ -1,4 +0,0 @@
-author: "kappa-sama"
-delete-after: True
-changes:
- - rscdel: "removed roundstart hyper earrape screams from xenohybrids"
diff --git a/icons/mecha/mech_construction.dmi b/icons/mecha/mech_construction.dmi
index d7f0f3e054..a1ac490f00 100644
Binary files a/icons/mecha/mech_construction.dmi and b/icons/mecha/mech_construction.dmi differ
diff --git a/icons/mob/inhands/equipment/shields_lefthand.dmi b/icons/mob/inhands/equipment/shields_lefthand.dmi
index 3f29410f98..24bb824f1d 100644
Binary files a/icons/mob/inhands/equipment/shields_lefthand.dmi and b/icons/mob/inhands/equipment/shields_lefthand.dmi differ
diff --git a/icons/mob/inhands/equipment/shields_righthand.dmi b/icons/mob/inhands/equipment/shields_righthand.dmi
index 2c3f291e43..31d84f480c 100644
Binary files a/icons/mob/inhands/equipment/shields_righthand.dmi and b/icons/mob/inhands/equipment/shields_righthand.dmi differ
diff --git a/icons/obj/clothing/uniforms.dmi b/icons/obj/clothing/uniforms.dmi
index a14edf9fad..a485deb9ad 100644
Binary files a/icons/obj/clothing/uniforms.dmi and b/icons/obj/clothing/uniforms.dmi differ
diff --git a/icons/obj/items_and_weapons.dmi b/icons/obj/items_and_weapons.dmi
index 6ee7873469..eee164cead 100644
Binary files a/icons/obj/items_and_weapons.dmi and b/icons/obj/items_and_weapons.dmi differ
diff --git a/icons/obj/shields.dmi b/icons/obj/shields.dmi
new file mode 100644
index 0000000000..ed528d4a5a
Binary files /dev/null and b/icons/obj/shields.dmi differ
diff --git a/sound/instruments/synthesis_samples/brass/crisis_brass/c2.ogg b/sound/instruments/synthesis_samples/brass/crisis_brass/c2.ogg
index 9808431b25..aaa1e27ab8 100644
Binary files a/sound/instruments/synthesis_samples/brass/crisis_brass/c2.ogg and b/sound/instruments/synthesis_samples/brass/crisis_brass/c2.ogg differ
diff --git a/sound/instruments/synthesis_samples/brass/crisis_brass/c3.ogg b/sound/instruments/synthesis_samples/brass/crisis_brass/c3.ogg
index 4118cff81c..ce50e76aae 100644
Binary files a/sound/instruments/synthesis_samples/brass/crisis_brass/c3.ogg and b/sound/instruments/synthesis_samples/brass/crisis_brass/c3.ogg differ
diff --git a/sound/instruments/synthesis_samples/brass/crisis_brass/c4.ogg b/sound/instruments/synthesis_samples/brass/crisis_brass/c4.ogg
index ae9e1361d2..22f34d6759 100644
Binary files a/sound/instruments/synthesis_samples/brass/crisis_brass/c4.ogg and b/sound/instruments/synthesis_samples/brass/crisis_brass/c4.ogg differ
diff --git a/sound/instruments/synthesis_samples/brass/crisis_brass/c5.ogg b/sound/instruments/synthesis_samples/brass/crisis_brass/c5.ogg
index f19ddd9300..eb5bb7c295 100644
Binary files a/sound/instruments/synthesis_samples/brass/crisis_brass/c5.ogg and b/sound/instruments/synthesis_samples/brass/crisis_brass/c5.ogg differ
diff --git a/sound/instruments/synthesis_samples/brass/crisis_trombone/C2.ogg b/sound/instruments/synthesis_samples/brass/crisis_trombone/C2.ogg
index d2c872d5a3..bd299e321a 100644
Binary files a/sound/instruments/synthesis_samples/brass/crisis_trombone/C2.ogg and b/sound/instruments/synthesis_samples/brass/crisis_trombone/C2.ogg differ
diff --git a/sound/instruments/synthesis_samples/brass/crisis_trombone/C3.ogg b/sound/instruments/synthesis_samples/brass/crisis_trombone/C3.ogg
index e1e3fc8635..0519d2d20d 100644
Binary files a/sound/instruments/synthesis_samples/brass/crisis_trombone/C3.ogg and b/sound/instruments/synthesis_samples/brass/crisis_trombone/C3.ogg differ
diff --git a/sound/instruments/synthesis_samples/brass/crisis_trombone/C4.ogg b/sound/instruments/synthesis_samples/brass/crisis_trombone/C4.ogg
index 42c4aa755d..3b969a34b1 100644
Binary files a/sound/instruments/synthesis_samples/brass/crisis_trombone/C4.ogg and b/sound/instruments/synthesis_samples/brass/crisis_trombone/C4.ogg differ
diff --git a/sound/instruments/synthesis_samples/brass/crisis_trombone/C5.ogg b/sound/instruments/synthesis_samples/brass/crisis_trombone/C5.ogg
index 762d2868d0..75f709c16f 100644
Binary files a/sound/instruments/synthesis_samples/brass/crisis_trombone/C5.ogg and b/sound/instruments/synthesis_samples/brass/crisis_trombone/C5.ogg differ
diff --git a/sound/instruments/synthesis_samples/brass/crisis_trumpet/C4.ogg b/sound/instruments/synthesis_samples/brass/crisis_trumpet/C4.ogg
index baf71063af..ba347f8003 100644
Binary files a/sound/instruments/synthesis_samples/brass/crisis_trumpet/C4.ogg and b/sound/instruments/synthesis_samples/brass/crisis_trumpet/C4.ogg differ
diff --git a/sound/instruments/synthesis_samples/brass/crisis_trumpet/C5.ogg b/sound/instruments/synthesis_samples/brass/crisis_trumpet/C5.ogg
index 92b4a11018..cee89761d0 100644
Binary files a/sound/instruments/synthesis_samples/brass/crisis_trumpet/C5.ogg and b/sound/instruments/synthesis_samples/brass/crisis_trumpet/C5.ogg differ
diff --git a/sound/instruments/synthesis_samples/chromatic/fluid_celeste/C2.ogg b/sound/instruments/synthesis_samples/chromatic/fluid_celeste/C2.ogg
index 5a50a5091c..105f767655 100644
Binary files a/sound/instruments/synthesis_samples/chromatic/fluid_celeste/C2.ogg and b/sound/instruments/synthesis_samples/chromatic/fluid_celeste/C2.ogg differ
diff --git a/sound/instruments/synthesis_samples/chromatic/fluid_celeste/C3.ogg b/sound/instruments/synthesis_samples/chromatic/fluid_celeste/C3.ogg
index f086938260..4aa33b6cde 100644
Binary files a/sound/instruments/synthesis_samples/chromatic/fluid_celeste/C3.ogg and b/sound/instruments/synthesis_samples/chromatic/fluid_celeste/C3.ogg differ
diff --git a/sound/instruments/synthesis_samples/chromatic/fluid_celeste/C4.ogg b/sound/instruments/synthesis_samples/chromatic/fluid_celeste/C4.ogg
index 1246bd5341..d661e8d758 100644
Binary files a/sound/instruments/synthesis_samples/chromatic/fluid_celeste/C4.ogg and b/sound/instruments/synthesis_samples/chromatic/fluid_celeste/C4.ogg differ
diff --git a/sound/instruments/synthesis_samples/chromatic/fluid_celeste/C5.ogg b/sound/instruments/synthesis_samples/chromatic/fluid_celeste/C5.ogg
index 73680ce627..bf650f1a6f 100644
Binary files a/sound/instruments/synthesis_samples/chromatic/fluid_celeste/C5.ogg and b/sound/instruments/synthesis_samples/chromatic/fluid_celeste/C5.ogg differ
diff --git a/sound/instruments/synthesis_samples/chromatic/fluid_celeste/C6.ogg b/sound/instruments/synthesis_samples/chromatic/fluid_celeste/C6.ogg
index 72841fb189..c00f7949b7 100644
Binary files a/sound/instruments/synthesis_samples/chromatic/fluid_celeste/C6.ogg and b/sound/instruments/synthesis_samples/chromatic/fluid_celeste/C6.ogg differ
diff --git a/sound/instruments/synthesis_samples/chromatic/fluid_celeste/C7.ogg b/sound/instruments/synthesis_samples/chromatic/fluid_celeste/C7.ogg
index 47797e4c00..72588e9ca4 100644
Binary files a/sound/instruments/synthesis_samples/chromatic/fluid_celeste/C7.ogg and b/sound/instruments/synthesis_samples/chromatic/fluid_celeste/C7.ogg differ
diff --git a/sound/instruments/synthesis_samples/chromatic/fluid_celeste/C8.ogg b/sound/instruments/synthesis_samples/chromatic/fluid_celeste/C8.ogg
index ea34703160..b2a0b445b9 100644
Binary files a/sound/instruments/synthesis_samples/chromatic/fluid_celeste/C8.ogg and b/sound/instruments/synthesis_samples/chromatic/fluid_celeste/C8.ogg differ
diff --git a/sound/instruments/synthesis_samples/chromatic/sgmbox/c2.ogg b/sound/instruments/synthesis_samples/chromatic/sgmbox/c2.ogg
index 4b96dd3dd3..ecf6778343 100644
Binary files a/sound/instruments/synthesis_samples/chromatic/sgmbox/c2.ogg and b/sound/instruments/synthesis_samples/chromatic/sgmbox/c2.ogg differ
diff --git a/sound/instruments/synthesis_samples/chromatic/sgmbox/c3.ogg b/sound/instruments/synthesis_samples/chromatic/sgmbox/c3.ogg
index 25daf5372e..867e9ce00d 100644
Binary files a/sound/instruments/synthesis_samples/chromatic/sgmbox/c3.ogg and b/sound/instruments/synthesis_samples/chromatic/sgmbox/c3.ogg differ
diff --git a/sound/instruments/synthesis_samples/chromatic/sgmbox/c4.ogg b/sound/instruments/synthesis_samples/chromatic/sgmbox/c4.ogg
index 9b989404e7..446d45993e 100644
Binary files a/sound/instruments/synthesis_samples/chromatic/sgmbox/c4.ogg and b/sound/instruments/synthesis_samples/chromatic/sgmbox/c4.ogg differ
diff --git a/sound/instruments/synthesis_samples/chromatic/sgmbox/c5.ogg b/sound/instruments/synthesis_samples/chromatic/sgmbox/c5.ogg
index 7fa99d9278..54d56400c0 100644
Binary files a/sound/instruments/synthesis_samples/chromatic/sgmbox/c5.ogg and b/sound/instruments/synthesis_samples/chromatic/sgmbox/c5.ogg differ
diff --git a/sound/instruments/synthesis_samples/chromatic/vibraphone1/c2.ogg b/sound/instruments/synthesis_samples/chromatic/vibraphone1/c2.ogg
index 64578a8fe1..f3770c1f1a 100644
Binary files a/sound/instruments/synthesis_samples/chromatic/vibraphone1/c2.ogg and b/sound/instruments/synthesis_samples/chromatic/vibraphone1/c2.ogg differ
diff --git a/sound/instruments/synthesis_samples/chromatic/vibraphone1/c3.ogg b/sound/instruments/synthesis_samples/chromatic/vibraphone1/c3.ogg
index d97230ce1f..28954fbb47 100644
Binary files a/sound/instruments/synthesis_samples/chromatic/vibraphone1/c3.ogg and b/sound/instruments/synthesis_samples/chromatic/vibraphone1/c3.ogg differ
diff --git a/sound/instruments/synthesis_samples/chromatic/vibraphone1/c4.ogg b/sound/instruments/synthesis_samples/chromatic/vibraphone1/c4.ogg
index eb6f80654a..1233f5314a 100644
Binary files a/sound/instruments/synthesis_samples/chromatic/vibraphone1/c4.ogg and b/sound/instruments/synthesis_samples/chromatic/vibraphone1/c4.ogg differ
diff --git a/sound/instruments/synthesis_samples/chromatic/vibraphone1/c5.ogg b/sound/instruments/synthesis_samples/chromatic/vibraphone1/c5.ogg
index 8f25ee2747..00daf33135 100644
Binary files a/sound/instruments/synthesis_samples/chromatic/vibraphone1/c5.ogg and b/sound/instruments/synthesis_samples/chromatic/vibraphone1/c5.ogg differ
diff --git a/sound/instruments/synthesis_samples/guitar/crisis_clean/C2.ogg b/sound/instruments/synthesis_samples/guitar/crisis_clean/C2.ogg
index 17bea8122c..13ad54bff0 100644
Binary files a/sound/instruments/synthesis_samples/guitar/crisis_clean/C2.ogg and b/sound/instruments/synthesis_samples/guitar/crisis_clean/C2.ogg differ
diff --git a/sound/instruments/synthesis_samples/guitar/crisis_clean/C3.ogg b/sound/instruments/synthesis_samples/guitar/crisis_clean/C3.ogg
index 6dc0d8ad38..17bf392c4b 100644
Binary files a/sound/instruments/synthesis_samples/guitar/crisis_clean/C3.ogg and b/sound/instruments/synthesis_samples/guitar/crisis_clean/C3.ogg differ
diff --git a/sound/instruments/synthesis_samples/guitar/crisis_clean/C4.ogg b/sound/instruments/synthesis_samples/guitar/crisis_clean/C4.ogg
index fbbcacb372..feda419a0a 100644
Binary files a/sound/instruments/synthesis_samples/guitar/crisis_clean/C4.ogg and b/sound/instruments/synthesis_samples/guitar/crisis_clean/C4.ogg differ
diff --git a/sound/instruments/synthesis_samples/guitar/crisis_clean/C5.ogg b/sound/instruments/synthesis_samples/guitar/crisis_clean/C5.ogg
index f9bb3f6e92..bd088dd850 100644
Binary files a/sound/instruments/synthesis_samples/guitar/crisis_clean/C5.ogg and b/sound/instruments/synthesis_samples/guitar/crisis_clean/C5.ogg differ
diff --git a/sound/instruments/synthesis_samples/guitar/crisis_muted/C2.ogg b/sound/instruments/synthesis_samples/guitar/crisis_muted/C2.ogg
index 777a38664f..09cdbeec42 100644
Binary files a/sound/instruments/synthesis_samples/guitar/crisis_muted/C2.ogg and b/sound/instruments/synthesis_samples/guitar/crisis_muted/C2.ogg differ
diff --git a/sound/instruments/synthesis_samples/guitar/crisis_muted/C3.ogg b/sound/instruments/synthesis_samples/guitar/crisis_muted/C3.ogg
index c14aa5ec93..f82c39cee5 100644
Binary files a/sound/instruments/synthesis_samples/guitar/crisis_muted/C3.ogg and b/sound/instruments/synthesis_samples/guitar/crisis_muted/C3.ogg differ
diff --git a/sound/instruments/synthesis_samples/guitar/crisis_muted/C4.ogg b/sound/instruments/synthesis_samples/guitar/crisis_muted/C4.ogg
index b2a457b496..23bfd113d6 100644
Binary files a/sound/instruments/synthesis_samples/guitar/crisis_muted/C4.ogg and b/sound/instruments/synthesis_samples/guitar/crisis_muted/C4.ogg differ
diff --git a/sound/instruments/synthesis_samples/guitar/crisis_muted/C5.ogg b/sound/instruments/synthesis_samples/guitar/crisis_muted/C5.ogg
index c4f5aac8bf..e5ec38d5ab 100644
Binary files a/sound/instruments/synthesis_samples/guitar/crisis_muted/C5.ogg and b/sound/instruments/synthesis_samples/guitar/crisis_muted/C5.ogg differ
diff --git a/sound/instruments/synthesis_samples/guitar/crisis_nylon/c2.ogg b/sound/instruments/synthesis_samples/guitar/crisis_nylon/c2.ogg
index 6a8115f004..42a6cdfad3 100644
Binary files a/sound/instruments/synthesis_samples/guitar/crisis_nylon/c2.ogg and b/sound/instruments/synthesis_samples/guitar/crisis_nylon/c2.ogg differ
diff --git a/sound/instruments/synthesis_samples/guitar/crisis_nylon/c3.ogg b/sound/instruments/synthesis_samples/guitar/crisis_nylon/c3.ogg
index 15ec741bb6..cd6414c0aa 100644
Binary files a/sound/instruments/synthesis_samples/guitar/crisis_nylon/c3.ogg and b/sound/instruments/synthesis_samples/guitar/crisis_nylon/c3.ogg differ
diff --git a/sound/instruments/synthesis_samples/guitar/crisis_nylon/c4.ogg b/sound/instruments/synthesis_samples/guitar/crisis_nylon/c4.ogg
index df4ef3fb79..e536601865 100644
Binary files a/sound/instruments/synthesis_samples/guitar/crisis_nylon/c4.ogg and b/sound/instruments/synthesis_samples/guitar/crisis_nylon/c4.ogg differ
diff --git a/sound/instruments/synthesis_samples/guitar/crisis_nylon/c5.ogg b/sound/instruments/synthesis_samples/guitar/crisis_nylon/c5.ogg
index 961f4a6b90..6038222837 100644
Binary files a/sound/instruments/synthesis_samples/guitar/crisis_nylon/c5.ogg and b/sound/instruments/synthesis_samples/guitar/crisis_nylon/c5.ogg differ
diff --git a/sound/instruments/synthesis_samples/guitar/crisis_steel/c2.ogg b/sound/instruments/synthesis_samples/guitar/crisis_steel/c2.ogg
index 06ccf6ae51..648549d594 100644
Binary files a/sound/instruments/synthesis_samples/guitar/crisis_steel/c2.ogg and b/sound/instruments/synthesis_samples/guitar/crisis_steel/c2.ogg differ
diff --git a/sound/instruments/synthesis_samples/guitar/crisis_steel/c3.ogg b/sound/instruments/synthesis_samples/guitar/crisis_steel/c3.ogg
index 14756fb249..01ba59a908 100644
Binary files a/sound/instruments/synthesis_samples/guitar/crisis_steel/c3.ogg and b/sound/instruments/synthesis_samples/guitar/crisis_steel/c3.ogg differ
diff --git a/sound/instruments/synthesis_samples/guitar/crisis_steel/c4.ogg b/sound/instruments/synthesis_samples/guitar/crisis_steel/c4.ogg
index 544b324786..7cfaa8ca72 100644
Binary files a/sound/instruments/synthesis_samples/guitar/crisis_steel/c4.ogg and b/sound/instruments/synthesis_samples/guitar/crisis_steel/c4.ogg differ
diff --git a/sound/instruments/synthesis_samples/guitar/crisis_steel/c5.ogg b/sound/instruments/synthesis_samples/guitar/crisis_steel/c5.ogg
index df2dc8def5..b4ca49dc04 100644
Binary files a/sound/instruments/synthesis_samples/guitar/crisis_steel/c5.ogg and b/sound/instruments/synthesis_samples/guitar/crisis_steel/c5.ogg differ
diff --git a/sound/instruments/synthesis_samples/organ/crisis_accordian/c2.ogg b/sound/instruments/synthesis_samples/organ/crisis_accordian/c2.ogg
index ba20e3f4b6..7c9870a7c3 100644
Binary files a/sound/instruments/synthesis_samples/organ/crisis_accordian/c2.ogg and b/sound/instruments/synthesis_samples/organ/crisis_accordian/c2.ogg differ
diff --git a/sound/instruments/synthesis_samples/organ/crisis_accordian/c3.ogg b/sound/instruments/synthesis_samples/organ/crisis_accordian/c3.ogg
index fcc8715e04..5723c2edd2 100644
Binary files a/sound/instruments/synthesis_samples/organ/crisis_accordian/c3.ogg and b/sound/instruments/synthesis_samples/organ/crisis_accordian/c3.ogg differ
diff --git a/sound/instruments/synthesis_samples/organ/crisis_accordian/c4.ogg b/sound/instruments/synthesis_samples/organ/crisis_accordian/c4.ogg
index aa21d7e230..329f14f6fe 100644
Binary files a/sound/instruments/synthesis_samples/organ/crisis_accordian/c4.ogg and b/sound/instruments/synthesis_samples/organ/crisis_accordian/c4.ogg differ
diff --git a/sound/instruments/synthesis_samples/organ/crisis_accordian/c5.ogg b/sound/instruments/synthesis_samples/organ/crisis_accordian/c5.ogg
index ac45bc6be4..5e8ac69de2 100644
Binary files a/sound/instruments/synthesis_samples/organ/crisis_accordian/c5.ogg and b/sound/instruments/synthesis_samples/organ/crisis_accordian/c5.ogg differ
diff --git a/sound/instruments/synthesis_samples/organ/crisis_church/c2.ogg b/sound/instruments/synthesis_samples/organ/crisis_church/c2.ogg
index 71b9280e86..ddc44c69c2 100644
Binary files a/sound/instruments/synthesis_samples/organ/crisis_church/c2.ogg and b/sound/instruments/synthesis_samples/organ/crisis_church/c2.ogg differ
diff --git a/sound/instruments/synthesis_samples/organ/crisis_church/c3.ogg b/sound/instruments/synthesis_samples/organ/crisis_church/c3.ogg
index 676a24669f..2855747528 100644
Binary files a/sound/instruments/synthesis_samples/organ/crisis_church/c3.ogg and b/sound/instruments/synthesis_samples/organ/crisis_church/c3.ogg differ
diff --git a/sound/instruments/synthesis_samples/organ/crisis_church/c4.ogg b/sound/instruments/synthesis_samples/organ/crisis_church/c4.ogg
index 24e3732d7e..906fff5bd8 100644
Binary files a/sound/instruments/synthesis_samples/organ/crisis_church/c4.ogg and b/sound/instruments/synthesis_samples/organ/crisis_church/c4.ogg differ
diff --git a/sound/instruments/synthesis_samples/organ/crisis_church/c5.ogg b/sound/instruments/synthesis_samples/organ/crisis_church/c5.ogg
index 72dc2ce764..96d28a7206 100644
Binary files a/sound/instruments/synthesis_samples/organ/crisis_church/c5.ogg and b/sound/instruments/synthesis_samples/organ/crisis_church/c5.ogg differ
diff --git a/sound/instruments/synthesis_samples/organ/crisis_hammond/c2.ogg b/sound/instruments/synthesis_samples/organ/crisis_hammond/c2.ogg
index 853b7591b4..9b917b7eb5 100644
Binary files a/sound/instruments/synthesis_samples/organ/crisis_hammond/c2.ogg and b/sound/instruments/synthesis_samples/organ/crisis_hammond/c2.ogg differ
diff --git a/sound/instruments/synthesis_samples/organ/crisis_hammond/c3.ogg b/sound/instruments/synthesis_samples/organ/crisis_hammond/c3.ogg
index 205e190379..c68410d6f0 100644
Binary files a/sound/instruments/synthesis_samples/organ/crisis_hammond/c3.ogg and b/sound/instruments/synthesis_samples/organ/crisis_hammond/c3.ogg differ
diff --git a/sound/instruments/synthesis_samples/organ/crisis_hammond/c4.ogg b/sound/instruments/synthesis_samples/organ/crisis_hammond/c4.ogg
index e90c28f14c..df84ba99e8 100644
Binary files a/sound/instruments/synthesis_samples/organ/crisis_hammond/c4.ogg and b/sound/instruments/synthesis_samples/organ/crisis_hammond/c4.ogg differ
diff --git a/sound/instruments/synthesis_samples/organ/crisis_hammond/c5.ogg b/sound/instruments/synthesis_samples/organ/crisis_hammond/c5.ogg
index a56d3cc3f6..af8c178efe 100644
Binary files a/sound/instruments/synthesis_samples/organ/crisis_hammond/c5.ogg and b/sound/instruments/synthesis_samples/organ/crisis_hammond/c5.ogg differ
diff --git a/sound/instruments/synthesis_samples/organ/crisis_harmonica/c3.ogg b/sound/instruments/synthesis_samples/organ/crisis_harmonica/c3.ogg
index 14c5f35eef..268b41f1fc 100644
Binary files a/sound/instruments/synthesis_samples/organ/crisis_harmonica/c3.ogg and b/sound/instruments/synthesis_samples/organ/crisis_harmonica/c3.ogg differ
diff --git a/sound/instruments/synthesis_samples/organ/crisis_harmonica/c4.ogg b/sound/instruments/synthesis_samples/organ/crisis_harmonica/c4.ogg
index e06e733eb2..04ceb54bfc 100644
Binary files a/sound/instruments/synthesis_samples/organ/crisis_harmonica/c4.ogg and b/sound/instruments/synthesis_samples/organ/crisis_harmonica/c4.ogg differ
diff --git a/sound/instruments/synthesis_samples/organ/crisis_harmonica/c5.ogg b/sound/instruments/synthesis_samples/organ/crisis_harmonica/c5.ogg
index 3d21e92d53..b321983e74 100644
Binary files a/sound/instruments/synthesis_samples/organ/crisis_harmonica/c5.ogg and b/sound/instruments/synthesis_samples/organ/crisis_harmonica/c5.ogg differ
diff --git a/sound/instruments/synthesis_samples/organ/crisis_tangaccordian/c2.ogg b/sound/instruments/synthesis_samples/organ/crisis_tangaccordian/c2.ogg
index be51b6dcd4..250a5c08e0 100644
Binary files a/sound/instruments/synthesis_samples/organ/crisis_tangaccordian/c2.ogg and b/sound/instruments/synthesis_samples/organ/crisis_tangaccordian/c2.ogg differ
diff --git a/sound/instruments/synthesis_samples/organ/crisis_tangaccordian/c3.ogg b/sound/instruments/synthesis_samples/organ/crisis_tangaccordian/c3.ogg
index 7426d246a0..8b1c23007b 100644
Binary files a/sound/instruments/synthesis_samples/organ/crisis_tangaccordian/c3.ogg and b/sound/instruments/synthesis_samples/organ/crisis_tangaccordian/c3.ogg differ
diff --git a/sound/instruments/synthesis_samples/organ/crisis_tangaccordian/c4.ogg b/sound/instruments/synthesis_samples/organ/crisis_tangaccordian/c4.ogg
index af7b66cf19..098587183b 100644
Binary files a/sound/instruments/synthesis_samples/organ/crisis_tangaccordian/c4.ogg and b/sound/instruments/synthesis_samples/organ/crisis_tangaccordian/c4.ogg differ
diff --git a/sound/instruments/synthesis_samples/organ/crisis_tangaccordian/c5.ogg b/sound/instruments/synthesis_samples/organ/crisis_tangaccordian/c5.ogg
index 58ff4ff216..81b60ef4c2 100644
Binary files a/sound/instruments/synthesis_samples/organ/crisis_tangaccordian/c5.ogg and b/sound/instruments/synthesis_samples/organ/crisis_tangaccordian/c5.ogg differ
diff --git a/sound/instruments/synthesis_samples/piano/crisis_bright_piano/c2.ogg b/sound/instruments/synthesis_samples/piano/crisis_bright_piano/c2.ogg
index 4b7feb77a4..39e992fbd8 100644
Binary files a/sound/instruments/synthesis_samples/piano/crisis_bright_piano/c2.ogg and b/sound/instruments/synthesis_samples/piano/crisis_bright_piano/c2.ogg differ
diff --git a/sound/instruments/synthesis_samples/piano/crisis_bright_piano/c3.ogg b/sound/instruments/synthesis_samples/piano/crisis_bright_piano/c3.ogg
index 5e7eefa79a..04aa985281 100644
Binary files a/sound/instruments/synthesis_samples/piano/crisis_bright_piano/c3.ogg and b/sound/instruments/synthesis_samples/piano/crisis_bright_piano/c3.ogg differ
diff --git a/sound/instruments/synthesis_samples/piano/crisis_bright_piano/c4.ogg b/sound/instruments/synthesis_samples/piano/crisis_bright_piano/c4.ogg
index 13e49d4f3a..aff97942e9 100644
Binary files a/sound/instruments/synthesis_samples/piano/crisis_bright_piano/c4.ogg and b/sound/instruments/synthesis_samples/piano/crisis_bright_piano/c4.ogg differ
diff --git a/sound/instruments/synthesis_samples/piano/crisis_bright_piano/c5.ogg b/sound/instruments/synthesis_samples/piano/crisis_bright_piano/c5.ogg
index 6ef00f0700..19fd937707 100644
Binary files a/sound/instruments/synthesis_samples/piano/crisis_bright_piano/c5.ogg and b/sound/instruments/synthesis_samples/piano/crisis_bright_piano/c5.ogg differ
diff --git a/sound/instruments/synthesis_samples/piano/crisis_bright_piano/c6.ogg b/sound/instruments/synthesis_samples/piano/crisis_bright_piano/c6.ogg
index a868249ca8..452e7485be 100644
Binary files a/sound/instruments/synthesis_samples/piano/crisis_bright_piano/c6.ogg and b/sound/instruments/synthesis_samples/piano/crisis_bright_piano/c6.ogg differ
diff --git a/sound/instruments/synthesis_samples/piano/crisis_bright_piano/c7.ogg b/sound/instruments/synthesis_samples/piano/crisis_bright_piano/c7.ogg
index 2d08d98dd9..66c88185a7 100644
Binary files a/sound/instruments/synthesis_samples/piano/crisis_bright_piano/c7.ogg and b/sound/instruments/synthesis_samples/piano/crisis_bright_piano/c7.ogg differ
diff --git a/sound/instruments/synthesis_samples/piano/crisis_bright_piano/c8.ogg b/sound/instruments/synthesis_samples/piano/crisis_bright_piano/c8.ogg
index 50e3cb76a7..d93c5176ce 100644
Binary files a/sound/instruments/synthesis_samples/piano/crisis_bright_piano/c8.ogg and b/sound/instruments/synthesis_samples/piano/crisis_bright_piano/c8.ogg differ
diff --git a/sound/instruments/synthesis_samples/piano/crisis_grand_piano/c2.ogg b/sound/instruments/synthesis_samples/piano/crisis_grand_piano/c2.ogg
index 0b87714166..fabd90d2e6 100644
Binary files a/sound/instruments/synthesis_samples/piano/crisis_grand_piano/c2.ogg and b/sound/instruments/synthesis_samples/piano/crisis_grand_piano/c2.ogg differ
diff --git a/sound/instruments/synthesis_samples/piano/crisis_grand_piano/c3.ogg b/sound/instruments/synthesis_samples/piano/crisis_grand_piano/c3.ogg
index 31fd625098..e4cda1487a 100644
Binary files a/sound/instruments/synthesis_samples/piano/crisis_grand_piano/c3.ogg and b/sound/instruments/synthesis_samples/piano/crisis_grand_piano/c3.ogg differ
diff --git a/sound/instruments/synthesis_samples/piano/crisis_grand_piano/c4.ogg b/sound/instruments/synthesis_samples/piano/crisis_grand_piano/c4.ogg
index 0ed309dbb7..c596994b3e 100644
Binary files a/sound/instruments/synthesis_samples/piano/crisis_grand_piano/c4.ogg and b/sound/instruments/synthesis_samples/piano/crisis_grand_piano/c4.ogg differ
diff --git a/sound/instruments/synthesis_samples/piano/crisis_grand_piano/c5.ogg b/sound/instruments/synthesis_samples/piano/crisis_grand_piano/c5.ogg
index 7fd820d373..d265514e27 100644
Binary files a/sound/instruments/synthesis_samples/piano/crisis_grand_piano/c5.ogg and b/sound/instruments/synthesis_samples/piano/crisis_grand_piano/c5.ogg differ
diff --git a/sound/instruments/synthesis_samples/piano/crisis_grand_piano/c6.ogg b/sound/instruments/synthesis_samples/piano/crisis_grand_piano/c6.ogg
index b4ed66e27c..3e17b3f99a 100644
Binary files a/sound/instruments/synthesis_samples/piano/crisis_grand_piano/c6.ogg and b/sound/instruments/synthesis_samples/piano/crisis_grand_piano/c6.ogg differ
diff --git a/sound/instruments/synthesis_samples/piano/crisis_grand_piano/c7.ogg b/sound/instruments/synthesis_samples/piano/crisis_grand_piano/c7.ogg
index 13a5f7d873..b57a8a9109 100644
Binary files a/sound/instruments/synthesis_samples/piano/crisis_grand_piano/c7.ogg and b/sound/instruments/synthesis_samples/piano/crisis_grand_piano/c7.ogg differ
diff --git a/sound/instruments/synthesis_samples/piano/crisis_grand_piano/c8.ogg b/sound/instruments/synthesis_samples/piano/crisis_grand_piano/c8.ogg
index 0169d52c21..ce4d9535e8 100644
Binary files a/sound/instruments/synthesis_samples/piano/crisis_grand_piano/c8.ogg and b/sound/instruments/synthesis_samples/piano/crisis_grand_piano/c8.ogg differ
diff --git a/sound/instruments/synthesis_samples/piano/crisis_harpsichord/c2.ogg b/sound/instruments/synthesis_samples/piano/crisis_harpsichord/c2.ogg
index 16d49cb15e..bb02363fff 100644
Binary files a/sound/instruments/synthesis_samples/piano/crisis_harpsichord/c2.ogg and b/sound/instruments/synthesis_samples/piano/crisis_harpsichord/c2.ogg differ
diff --git a/sound/instruments/synthesis_samples/piano/crisis_harpsichord/c3.ogg b/sound/instruments/synthesis_samples/piano/crisis_harpsichord/c3.ogg
index 83e906cd1a..1a532ac8d4 100644
Binary files a/sound/instruments/synthesis_samples/piano/crisis_harpsichord/c3.ogg and b/sound/instruments/synthesis_samples/piano/crisis_harpsichord/c3.ogg differ
diff --git a/sound/instruments/synthesis_samples/piano/crisis_harpsichord/c4.ogg b/sound/instruments/synthesis_samples/piano/crisis_harpsichord/c4.ogg
index 33f766e4aa..16ff313baa 100644
Binary files a/sound/instruments/synthesis_samples/piano/crisis_harpsichord/c4.ogg and b/sound/instruments/synthesis_samples/piano/crisis_harpsichord/c4.ogg differ
diff --git a/sound/instruments/synthesis_samples/piano/crisis_harpsichord/c5.ogg b/sound/instruments/synthesis_samples/piano/crisis_harpsichord/c5.ogg
index 6ce06dda56..04161d2571 100644
Binary files a/sound/instruments/synthesis_samples/piano/crisis_harpsichord/c5.ogg and b/sound/instruments/synthesis_samples/piano/crisis_harpsichord/c5.ogg differ
diff --git a/sound/instruments/synthesis_samples/piano/fluid_harpsi/C2.ogg b/sound/instruments/synthesis_samples/piano/fluid_harpsi/C2.ogg
index 3941e7af03..30a3c653a1 100644
Binary files a/sound/instruments/synthesis_samples/piano/fluid_harpsi/C2.ogg and b/sound/instruments/synthesis_samples/piano/fluid_harpsi/C2.ogg differ
diff --git a/sound/instruments/synthesis_samples/piano/fluid_harpsi/C3.ogg b/sound/instruments/synthesis_samples/piano/fluid_harpsi/C3.ogg
index 4f79ee9987..f6bc891506 100644
Binary files a/sound/instruments/synthesis_samples/piano/fluid_harpsi/C3.ogg and b/sound/instruments/synthesis_samples/piano/fluid_harpsi/C3.ogg differ
diff --git a/sound/instruments/synthesis_samples/piano/fluid_harpsi/C4.ogg b/sound/instruments/synthesis_samples/piano/fluid_harpsi/C4.ogg
index 1d773c62e7..ab47f6940c 100644
Binary files a/sound/instruments/synthesis_samples/piano/fluid_harpsi/C4.ogg and b/sound/instruments/synthesis_samples/piano/fluid_harpsi/C4.ogg differ
diff --git a/sound/instruments/synthesis_samples/piano/fluid_harpsi/C5.ogg b/sound/instruments/synthesis_samples/piano/fluid_harpsi/C5.ogg
index 938a557e04..5dfb9aa529 100644
Binary files a/sound/instruments/synthesis_samples/piano/fluid_harpsi/C5.ogg and b/sound/instruments/synthesis_samples/piano/fluid_harpsi/C5.ogg differ
diff --git a/sound/instruments/synthesis_samples/piano/fluid_harpsi/C6.ogg b/sound/instruments/synthesis_samples/piano/fluid_harpsi/C6.ogg
index c65f06ce3e..7bc8784207 100644
Binary files a/sound/instruments/synthesis_samples/piano/fluid_harpsi/C6.ogg and b/sound/instruments/synthesis_samples/piano/fluid_harpsi/C6.ogg differ
diff --git a/sound/instruments/synthesis_samples/piano/fluid_harpsi/C7.ogg b/sound/instruments/synthesis_samples/piano/fluid_harpsi/C7.ogg
index 87d4943509..185b4d3db6 100644
Binary files a/sound/instruments/synthesis_samples/piano/fluid_harpsi/C7.ogg and b/sound/instruments/synthesis_samples/piano/fluid_harpsi/C7.ogg differ
diff --git a/sound/instruments/synthesis_samples/piano/fluid_harpsi/C8.ogg b/sound/instruments/synthesis_samples/piano/fluid_harpsi/C8.ogg
index 5800b2d0ff..f358ef0810 100644
Binary files a/sound/instruments/synthesis_samples/piano/fluid_harpsi/C8.ogg and b/sound/instruments/synthesis_samples/piano/fluid_harpsi/C8.ogg differ
diff --git a/sound/instruments/synthesis_samples/piano/fluid_piano/c2.ogg b/sound/instruments/synthesis_samples/piano/fluid_piano/c2.ogg
index 9ce5eee76e..048f9640bf 100644
Binary files a/sound/instruments/synthesis_samples/piano/fluid_piano/c2.ogg and b/sound/instruments/synthesis_samples/piano/fluid_piano/c2.ogg differ
diff --git a/sound/instruments/synthesis_samples/piano/fluid_piano/c3.ogg b/sound/instruments/synthesis_samples/piano/fluid_piano/c3.ogg
index 4644327476..f1083d7dcb 100644
Binary files a/sound/instruments/synthesis_samples/piano/fluid_piano/c3.ogg and b/sound/instruments/synthesis_samples/piano/fluid_piano/c3.ogg differ
diff --git a/sound/instruments/synthesis_samples/piano/fluid_piano/c4.ogg b/sound/instruments/synthesis_samples/piano/fluid_piano/c4.ogg
index ab6d8a2a92..244ebc3d5f 100644
Binary files a/sound/instruments/synthesis_samples/piano/fluid_piano/c4.ogg and b/sound/instruments/synthesis_samples/piano/fluid_piano/c4.ogg differ
diff --git a/sound/instruments/synthesis_samples/piano/fluid_piano/c5.ogg b/sound/instruments/synthesis_samples/piano/fluid_piano/c5.ogg
index 0041ea2e13..d3c68d64e9 100644
Binary files a/sound/instruments/synthesis_samples/piano/fluid_piano/c5.ogg and b/sound/instruments/synthesis_samples/piano/fluid_piano/c5.ogg differ
diff --git a/sound/instruments/synthesis_samples/piano/fluid_piano/c6.ogg b/sound/instruments/synthesis_samples/piano/fluid_piano/c6.ogg
index 5d836b9f7c..2666ee6613 100644
Binary files a/sound/instruments/synthesis_samples/piano/fluid_piano/c6.ogg and b/sound/instruments/synthesis_samples/piano/fluid_piano/c6.ogg differ
diff --git a/sound/instruments/synthesis_samples/piano/fluid_piano/c7.ogg b/sound/instruments/synthesis_samples/piano/fluid_piano/c7.ogg
index 1981572cf2..050e463c0d 100644
Binary files a/sound/instruments/synthesis_samples/piano/fluid_piano/c7.ogg and b/sound/instruments/synthesis_samples/piano/fluid_piano/c7.ogg differ
diff --git a/sound/instruments/synthesis_samples/piano/fluid_piano/c8.ogg b/sound/instruments/synthesis_samples/piano/fluid_piano/c8.ogg
index 35e5b147bc..4793c5b7fd 100644
Binary files a/sound/instruments/synthesis_samples/piano/fluid_piano/c8.ogg and b/sound/instruments/synthesis_samples/piano/fluid_piano/c8.ogg differ
diff --git a/sound/instruments/synthesis_samples/tones/Sawtooth.ogg b/sound/instruments/synthesis_samples/tones/Sawtooth.ogg
index e46f5eaced..10b1930a64 100644
Binary files a/sound/instruments/synthesis_samples/tones/Sawtooth.ogg and b/sound/instruments/synthesis_samples/tones/Sawtooth.ogg differ
diff --git a/sound/instruments/synthesis_samples/tones/Sine.ogg b/sound/instruments/synthesis_samples/tones/Sine.ogg
index e0b14869e9..96a09d501b 100644
Binary files a/sound/instruments/synthesis_samples/tones/Sine.ogg and b/sound/instruments/synthesis_samples/tones/Sine.ogg differ
diff --git a/sound/instruments/synthesis_samples/tones/Square.ogg b/sound/instruments/synthesis_samples/tones/Square.ogg
index 817531bcca..71029c07f9 100644
Binary files a/sound/instruments/synthesis_samples/tones/Square.ogg and b/sound/instruments/synthesis_samples/tones/Square.ogg differ
diff --git a/sound/vore/pred/death_01.ogg b/sound/vore/pred/death_01.ogg
index 231884ef54..ed26c1b413 100644
Binary files a/sound/vore/pred/death_01.ogg and b/sound/vore/pred/death_01.ogg differ
diff --git a/sound/vore/pred/death_02.ogg b/sound/vore/pred/death_02.ogg
index 5de3e4148c..15168455a4 100644
Binary files a/sound/vore/pred/death_02.ogg and b/sound/vore/pred/death_02.ogg differ
diff --git a/sound/vore/pred/death_03.ogg b/sound/vore/pred/death_03.ogg
index 4ffa271af7..f9e4f7d08d 100644
Binary files a/sound/vore/pred/death_03.ogg and b/sound/vore/pred/death_03.ogg differ
diff --git a/sound/vore/pred/death_04.ogg b/sound/vore/pred/death_04.ogg
index a4c0e91be6..ec8fac62ec 100644
Binary files a/sound/vore/pred/death_04.ogg and b/sound/vore/pred/death_04.ogg differ
diff --git a/sound/vore/pred/death_05.ogg b/sound/vore/pred/death_05.ogg
index aeec557758..c637e59658 100644
Binary files a/sound/vore/pred/death_05.ogg and b/sound/vore/pred/death_05.ogg differ
diff --git a/sound/vore/pred/death_06.ogg b/sound/vore/pred/death_06.ogg
index f5b077ebd4..024549f5e6 100644
Binary files a/sound/vore/pred/death_06.ogg and b/sound/vore/pred/death_06.ogg differ
diff --git a/sound/vore/pred/death_07.ogg b/sound/vore/pred/death_07.ogg
index afaaab65bb..cc1cdfab4b 100644
Binary files a/sound/vore/pred/death_07.ogg and b/sound/vore/pred/death_07.ogg differ
diff --git a/sound/vore/pred/death_08.ogg b/sound/vore/pred/death_08.ogg
index b1b8479ea8..8a310f7732 100644
Binary files a/sound/vore/pred/death_08.ogg and b/sound/vore/pred/death_08.ogg differ
diff --git a/sound/vore/pred/death_09.ogg b/sound/vore/pred/death_09.ogg
index 1454deafad..87dcb0cc9a 100644
Binary files a/sound/vore/pred/death_09.ogg and b/sound/vore/pred/death_09.ogg differ
diff --git a/sound/vore/pred/death_10.ogg b/sound/vore/pred/death_10.ogg
index f0e23e1d54..69a14fc675 100644
Binary files a/sound/vore/pred/death_10.ogg and b/sound/vore/pred/death_10.ogg differ
diff --git a/sound/vore/pred/death_11.ogg b/sound/vore/pred/death_11.ogg
index 43e80467e0..0f51ec8de2 100644
Binary files a/sound/vore/pred/death_11.ogg and b/sound/vore/pred/death_11.ogg differ
diff --git a/sound/vore/pred/death_12.ogg b/sound/vore/pred/death_12.ogg
index 5ec6029998..99fc7faa02 100644
Binary files a/sound/vore/pred/death_12.ogg and b/sound/vore/pred/death_12.ogg differ
diff --git a/sound/vore/pred/death_13.ogg b/sound/vore/pred/death_13.ogg
index 9073bac4f2..73aec12372 100644
Binary files a/sound/vore/pred/death_13.ogg and b/sound/vore/pred/death_13.ogg differ
diff --git a/sound/vore/pred/digest_01.ogg b/sound/vore/pred/digest_01.ogg
index 20b6d1d43a..9171a568a5 100644
Binary files a/sound/vore/pred/digest_01.ogg and b/sound/vore/pred/digest_01.ogg differ
diff --git a/sound/vore/pred/digest_02.ogg b/sound/vore/pred/digest_02.ogg
index 7fc41e2305..44cfaaeec4 100644
Binary files a/sound/vore/pred/digest_02.ogg and b/sound/vore/pred/digest_02.ogg differ
diff --git a/sound/vore/pred/digest_03.ogg b/sound/vore/pred/digest_03.ogg
index 98b032c7cb..71bc28a8fa 100644
Binary files a/sound/vore/pred/digest_03.ogg and b/sound/vore/pred/digest_03.ogg differ
diff --git a/sound/vore/pred/digest_04.ogg b/sound/vore/pred/digest_04.ogg
index ed494e813c..6552a11aad 100644
Binary files a/sound/vore/pred/digest_04.ogg and b/sound/vore/pred/digest_04.ogg differ
diff --git a/sound/vore/pred/digest_05.ogg b/sound/vore/pred/digest_05.ogg
index 53bb4814f7..f88d1590d5 100644
Binary files a/sound/vore/pred/digest_05.ogg and b/sound/vore/pred/digest_05.ogg differ
diff --git a/sound/vore/pred/digest_06.ogg b/sound/vore/pred/digest_06.ogg
index 787c336282..fbad31b160 100644
Binary files a/sound/vore/pred/digest_06.ogg and b/sound/vore/pred/digest_06.ogg differ
diff --git a/sound/vore/pred/digest_07.ogg b/sound/vore/pred/digest_07.ogg
index f63d4c633a..2efd7504d9 100644
Binary files a/sound/vore/pred/digest_07.ogg and b/sound/vore/pred/digest_07.ogg differ
diff --git a/sound/vore/pred/digest_08.ogg b/sound/vore/pred/digest_08.ogg
index dbbda3b517..5f8cf09ad1 100644
Binary files a/sound/vore/pred/digest_08.ogg and b/sound/vore/pred/digest_08.ogg differ
diff --git a/sound/vore/pred/digest_09.ogg b/sound/vore/pred/digest_09.ogg
index 1877f1ca05..d678bc1588 100644
Binary files a/sound/vore/pred/digest_09.ogg and b/sound/vore/pred/digest_09.ogg differ
diff --git a/sound/vore/pred/digest_10.ogg b/sound/vore/pred/digest_10.ogg
index 3e22b8b2fb..6de49d53fd 100644
Binary files a/sound/vore/pred/digest_10.ogg and b/sound/vore/pred/digest_10.ogg differ
diff --git a/sound/vore/pred/digest_11.ogg b/sound/vore/pred/digest_11.ogg
index 089d4ee7e4..7651912a46 100644
Binary files a/sound/vore/pred/digest_11.ogg and b/sound/vore/pred/digest_11.ogg differ
diff --git a/sound/vore/pred/digest_12.ogg b/sound/vore/pred/digest_12.ogg
index 76a9134646..796058bbc1 100644
Binary files a/sound/vore/pred/digest_12.ogg and b/sound/vore/pred/digest_12.ogg differ
diff --git a/sound/vore/pred/digest_13.ogg b/sound/vore/pred/digest_13.ogg
index 12b1c6bb18..fe1fb37da7 100644
Binary files a/sound/vore/pred/digest_13.ogg and b/sound/vore/pred/digest_13.ogg differ
diff --git a/sound/vore/pred/digest_14.ogg b/sound/vore/pred/digest_14.ogg
index c68231585c..648ba7ff76 100644
Binary files a/sound/vore/pred/digest_14.ogg and b/sound/vore/pred/digest_14.ogg differ
diff --git a/sound/vore/pred/digest_15.ogg b/sound/vore/pred/digest_15.ogg
index 32aecca35b..80fdbc1ca7 100644
Binary files a/sound/vore/pred/digest_15.ogg and b/sound/vore/pred/digest_15.ogg differ
diff --git a/sound/vore/pred/digest_16.ogg b/sound/vore/pred/digest_16.ogg
index d112913570..2f99901c7d 100644
Binary files a/sound/vore/pred/digest_16.ogg and b/sound/vore/pred/digest_16.ogg differ
diff --git a/sound/vore/pred/digest_17.ogg b/sound/vore/pred/digest_17.ogg
index d23c4c6ddc..5670af0722 100644
Binary files a/sound/vore/pred/digest_17.ogg and b/sound/vore/pred/digest_17.ogg differ
diff --git a/sound/vore/pred/digest_18.ogg b/sound/vore/pred/digest_18.ogg
index ae8ac9f74f..8b0ae75028 100644
Binary files a/sound/vore/pred/digest_18.ogg and b/sound/vore/pred/digest_18.ogg differ
diff --git a/sound/vore/pred/escape.ogg b/sound/vore/pred/escape.ogg
index fc093a5acf..a2868183f0 100644
Binary files a/sound/vore/pred/escape.ogg and b/sound/vore/pred/escape.ogg differ
diff --git a/sound/vore/pred/insertion_01.ogg b/sound/vore/pred/insertion_01.ogg
index 4ca8b6e425..58e78f8578 100644
Binary files a/sound/vore/pred/insertion_01.ogg and b/sound/vore/pred/insertion_01.ogg differ
diff --git a/sound/vore/pred/insertion_02.ogg b/sound/vore/pred/insertion_02.ogg
index a23cfaf201..73a3bbb8b2 100644
Binary files a/sound/vore/pred/insertion_02.ogg and b/sound/vore/pred/insertion_02.ogg differ
diff --git a/sound/vore/pred/loop.ogg b/sound/vore/pred/loop.ogg
index 5f0994251a..3fd9f1fa78 100644
Binary files a/sound/vore/pred/loop.ogg and b/sound/vore/pred/loop.ogg differ
diff --git a/sound/vore/pred/schlorp.ogg b/sound/vore/pred/schlorp.ogg
index eefb9dd71e..ff42b64e7b 100644
Binary files a/sound/vore/pred/schlorp.ogg and b/sound/vore/pred/schlorp.ogg differ
diff --git a/sound/vore/pred/squish _02.ogg b/sound/vore/pred/squish _02.ogg
index 846f0a2ece..4d674d1cba 100644
Binary files a/sound/vore/pred/squish _02.ogg and b/sound/vore/pred/squish _02.ogg differ
diff --git a/sound/vore/pred/squish _03.ogg b/sound/vore/pred/squish _03.ogg
index 568aa81a3d..c4e49de60b 100644
Binary files a/sound/vore/pred/squish _03.ogg and b/sound/vore/pred/squish _03.ogg differ
diff --git a/sound/vore/pred/squish_01.ogg b/sound/vore/pred/squish_01.ogg
index bc014b811d..5ae280397a 100644
Binary files a/sound/vore/pred/squish_01.ogg and b/sound/vore/pred/squish_01.ogg differ
diff --git a/sound/vore/pred/squish_02.ogg b/sound/vore/pred/squish_02.ogg
index 8d92bfd19e..c28a82d1c7 100644
Binary files a/sound/vore/pred/squish_02.ogg and b/sound/vore/pred/squish_02.ogg differ
diff --git a/sound/vore/pred/squish_03.ogg b/sound/vore/pred/squish_03.ogg
index f62bf7ff60..1362310411 100644
Binary files a/sound/vore/pred/squish_03.ogg and b/sound/vore/pred/squish_03.ogg differ
diff --git a/sound/vore/pred/squish_04.ogg b/sound/vore/pred/squish_04.ogg
index 47037d9a3a..5ed518ceb8 100644
Binary files a/sound/vore/pred/squish_04.ogg and b/sound/vore/pred/squish_04.ogg differ
diff --git a/sound/vore/pred/stomachmove.ogg b/sound/vore/pred/stomachmove.ogg
index 4e11cc03ed..87ad72846c 100644
Binary files a/sound/vore/pred/stomachmove.ogg and b/sound/vore/pred/stomachmove.ogg differ
diff --git a/sound/vore/pred/struggle_01.ogg b/sound/vore/pred/struggle_01.ogg
index 96c569b0f9..bae92a00a9 100644
Binary files a/sound/vore/pred/struggle_01.ogg and b/sound/vore/pred/struggle_01.ogg differ
diff --git a/sound/vore/pred/struggle_02.ogg b/sound/vore/pred/struggle_02.ogg
index 2f0d3324f1..46d0954e4f 100644
Binary files a/sound/vore/pred/struggle_02.ogg and b/sound/vore/pred/struggle_02.ogg differ
diff --git a/sound/vore/pred/struggle_03.ogg b/sound/vore/pred/struggle_03.ogg
index 9632817010..3fd16e35a4 100644
Binary files a/sound/vore/pred/struggle_03.ogg and b/sound/vore/pred/struggle_03.ogg differ
diff --git a/sound/vore/pred/struggle_04.ogg b/sound/vore/pred/struggle_04.ogg
index 7a30de3baf..a873a56e4c 100644
Binary files a/sound/vore/pred/struggle_04.ogg and b/sound/vore/pred/struggle_04.ogg differ
diff --git a/sound/vore/pred/struggle_05.ogg b/sound/vore/pred/struggle_05.ogg
index 0bae93d50f..411fa1d342 100644
Binary files a/sound/vore/pred/struggle_05.ogg and b/sound/vore/pred/struggle_05.ogg differ
diff --git a/sound/vore/pred/swallow_01.ogg b/sound/vore/pred/swallow_01.ogg
index 45a0008586..9dd0dfb780 100644
Binary files a/sound/vore/pred/swallow_01.ogg and b/sound/vore/pred/swallow_01.ogg differ
diff --git a/sound/vore/pred/swallow_02.ogg b/sound/vore/pred/swallow_02.ogg
index 8f9bcb2e84..c4cd4ec53d 100644
Binary files a/sound/vore/pred/swallow_02.ogg and b/sound/vore/pred/swallow_02.ogg differ
diff --git a/sound/vore/pred/taurswallow.ogg b/sound/vore/pred/taurswallow.ogg
index c700f71803..cfd8b90103 100644
Binary files a/sound/vore/pred/taurswallow.ogg and b/sound/vore/pred/taurswallow.ogg differ
diff --git a/sound/vore/prey/death_01.ogg b/sound/vore/prey/death_01.ogg
index 539a873a7e..e09325bbec 100644
Binary files a/sound/vore/prey/death_01.ogg and b/sound/vore/prey/death_01.ogg differ
diff --git a/sound/vore/prey/death_02.ogg b/sound/vore/prey/death_02.ogg
index 4dd1a285ea..dded921b94 100644
Binary files a/sound/vore/prey/death_02.ogg and b/sound/vore/prey/death_02.ogg differ
diff --git a/sound/vore/prey/death_03.ogg b/sound/vore/prey/death_03.ogg
index 30a3622c86..a7d9787f02 100644
Binary files a/sound/vore/prey/death_03.ogg and b/sound/vore/prey/death_03.ogg differ
diff --git a/sound/vore/prey/death_04.ogg b/sound/vore/prey/death_04.ogg
index ff983c2c31..99f9fda1e4 100644
Binary files a/sound/vore/prey/death_04.ogg and b/sound/vore/prey/death_04.ogg differ
diff --git a/sound/vore/prey/death_05.ogg b/sound/vore/prey/death_05.ogg
index 44b8603048..3426e1c10f 100644
Binary files a/sound/vore/prey/death_05.ogg and b/sound/vore/prey/death_05.ogg differ
diff --git a/sound/vore/prey/death_06.ogg b/sound/vore/prey/death_06.ogg
index 836a4fd18c..1695fa43ec 100644
Binary files a/sound/vore/prey/death_06.ogg and b/sound/vore/prey/death_06.ogg differ
diff --git a/sound/vore/prey/death_07.ogg b/sound/vore/prey/death_07.ogg
index 2406fea727..c94a83506e 100644
Binary files a/sound/vore/prey/death_07.ogg and b/sound/vore/prey/death_07.ogg differ
diff --git a/sound/vore/prey/death_08.ogg b/sound/vore/prey/death_08.ogg
index 0d7627dfae..d41b9f8060 100644
Binary files a/sound/vore/prey/death_08.ogg and b/sound/vore/prey/death_08.ogg differ
diff --git a/sound/vore/prey/death_09.ogg b/sound/vore/prey/death_09.ogg
index fa00a29d31..086407c499 100644
Binary files a/sound/vore/prey/death_09.ogg and b/sound/vore/prey/death_09.ogg differ
diff --git a/sound/vore/prey/death_10.ogg b/sound/vore/prey/death_10.ogg
index 738e7cf909..03f4c498cb 100644
Binary files a/sound/vore/prey/death_10.ogg and b/sound/vore/prey/death_10.ogg differ
diff --git a/sound/vore/prey/death_11.ogg b/sound/vore/prey/death_11.ogg
index bfd47945ae..175c024f70 100644
Binary files a/sound/vore/prey/death_11.ogg and b/sound/vore/prey/death_11.ogg differ
diff --git a/sound/vore/prey/death_12.ogg b/sound/vore/prey/death_12.ogg
index e6e800b2da..3b18c4bfac 100644
Binary files a/sound/vore/prey/death_12.ogg and b/sound/vore/prey/death_12.ogg differ
diff --git a/sound/vore/prey/death_13.ogg b/sound/vore/prey/death_13.ogg
index c9b79887d7..3adbbbaedc 100644
Binary files a/sound/vore/prey/death_13.ogg and b/sound/vore/prey/death_13.ogg differ
diff --git a/sound/vore/prey/digest_01.ogg b/sound/vore/prey/digest_01.ogg
index a1d13f7fb7..d2a6f38995 100644
Binary files a/sound/vore/prey/digest_01.ogg and b/sound/vore/prey/digest_01.ogg differ
diff --git a/sound/vore/prey/digest_02.ogg b/sound/vore/prey/digest_02.ogg
index 443d23c194..ead4fcad7f 100644
Binary files a/sound/vore/prey/digest_02.ogg and b/sound/vore/prey/digest_02.ogg differ
diff --git a/sound/vore/prey/digest_03.ogg b/sound/vore/prey/digest_03.ogg
index eb798b66ff..aaff366fe8 100644
Binary files a/sound/vore/prey/digest_03.ogg and b/sound/vore/prey/digest_03.ogg differ
diff --git a/sound/vore/prey/digest_04.ogg b/sound/vore/prey/digest_04.ogg
index a2c2c3e1ac..7c9bfed0eb 100644
Binary files a/sound/vore/prey/digest_04.ogg and b/sound/vore/prey/digest_04.ogg differ
diff --git a/sound/vore/prey/digest_05.ogg b/sound/vore/prey/digest_05.ogg
index 752a6d48f3..abfa800926 100644
Binary files a/sound/vore/prey/digest_05.ogg and b/sound/vore/prey/digest_05.ogg differ
diff --git a/sound/vore/prey/digest_06.ogg b/sound/vore/prey/digest_06.ogg
index f2e80b919f..537d1470d1 100644
Binary files a/sound/vore/prey/digest_06.ogg and b/sound/vore/prey/digest_06.ogg differ
diff --git a/sound/vore/prey/digest_07.ogg b/sound/vore/prey/digest_07.ogg
index 6a2ff70ff8..96f9e79edf 100644
Binary files a/sound/vore/prey/digest_07.ogg and b/sound/vore/prey/digest_07.ogg differ
diff --git a/sound/vore/prey/digest_08.ogg b/sound/vore/prey/digest_08.ogg
index 4e55f4671d..a79b3518a0 100644
Binary files a/sound/vore/prey/digest_08.ogg and b/sound/vore/prey/digest_08.ogg differ
diff --git a/sound/vore/prey/digest_09.ogg b/sound/vore/prey/digest_09.ogg
index 452e6b4a2e..d0d0b27865 100644
Binary files a/sound/vore/prey/digest_09.ogg and b/sound/vore/prey/digest_09.ogg differ
diff --git a/sound/vore/prey/digest_10.ogg b/sound/vore/prey/digest_10.ogg
index 4c5dc2e333..1afc99589b 100644
Binary files a/sound/vore/prey/digest_10.ogg and b/sound/vore/prey/digest_10.ogg differ
diff --git a/sound/vore/prey/digest_11.ogg b/sound/vore/prey/digest_11.ogg
index e94c0af656..5a342b45e7 100644
Binary files a/sound/vore/prey/digest_11.ogg and b/sound/vore/prey/digest_11.ogg differ
diff --git a/sound/vore/prey/digest_12.ogg b/sound/vore/prey/digest_12.ogg
index cb212fed1c..84d2bd691d 100644
Binary files a/sound/vore/prey/digest_12.ogg and b/sound/vore/prey/digest_12.ogg differ
diff --git a/sound/vore/prey/digest_13.ogg b/sound/vore/prey/digest_13.ogg
index 9fd292184e..e43298a473 100644
Binary files a/sound/vore/prey/digest_13.ogg and b/sound/vore/prey/digest_13.ogg differ
diff --git a/sound/vore/prey/digest_14.ogg b/sound/vore/prey/digest_14.ogg
index 24279d4712..25288719e8 100644
Binary files a/sound/vore/prey/digest_14.ogg and b/sound/vore/prey/digest_14.ogg differ
diff --git a/sound/vore/prey/digest_15.ogg b/sound/vore/prey/digest_15.ogg
index 2bf555ba41..176370a5e6 100644
Binary files a/sound/vore/prey/digest_15.ogg and b/sound/vore/prey/digest_15.ogg differ
diff --git a/sound/vore/prey/digest_16.ogg b/sound/vore/prey/digest_16.ogg
index 98edd6fb61..6a8437ff92 100644
Binary files a/sound/vore/prey/digest_16.ogg and b/sound/vore/prey/digest_16.ogg differ
diff --git a/sound/vore/prey/digest_17.ogg b/sound/vore/prey/digest_17.ogg
index 2ff5c173e1..315b6a8336 100644
Binary files a/sound/vore/prey/digest_17.ogg and b/sound/vore/prey/digest_17.ogg differ
diff --git a/sound/vore/prey/digest_18.ogg b/sound/vore/prey/digest_18.ogg
index 6a1ae78fb8..ca73cee597 100644
Binary files a/sound/vore/prey/digest_18.ogg and b/sound/vore/prey/digest_18.ogg differ
diff --git a/sound/vore/prey/escape.ogg b/sound/vore/prey/escape.ogg
index 621997a56d..eafdd6343a 100644
Binary files a/sound/vore/prey/escape.ogg and b/sound/vore/prey/escape.ogg differ
diff --git a/sound/vore/prey/insertion_01.ogg b/sound/vore/prey/insertion_01.ogg
index 5a3b942bb3..eff2080bf7 100644
Binary files a/sound/vore/prey/insertion_01.ogg and b/sound/vore/prey/insertion_01.ogg differ
diff --git a/sound/vore/prey/insertion_02.ogg b/sound/vore/prey/insertion_02.ogg
index 2d35094522..3879287a1b 100644
Binary files a/sound/vore/prey/insertion_02.ogg and b/sound/vore/prey/insertion_02.ogg differ
diff --git a/sound/vore/prey/loop.ogg b/sound/vore/prey/loop.ogg
index 1584482d92..167dde592a 100644
Binary files a/sound/vore/prey/loop.ogg and b/sound/vore/prey/loop.ogg differ
diff --git a/sound/vore/prey/schlorp.ogg b/sound/vore/prey/schlorp.ogg
index d1895ee26a..96eeb6f15b 100644
Binary files a/sound/vore/prey/schlorp.ogg and b/sound/vore/prey/schlorp.ogg differ
diff --git a/sound/vore/prey/squish_01.ogg b/sound/vore/prey/squish_01.ogg
index 2785a4a080..20d5b897bd 100644
Binary files a/sound/vore/prey/squish_01.ogg and b/sound/vore/prey/squish_01.ogg differ
diff --git a/sound/vore/prey/squish_02.ogg b/sound/vore/prey/squish_02.ogg
index f5671f7165..24849ef8f1 100644
Binary files a/sound/vore/prey/squish_02.ogg and b/sound/vore/prey/squish_02.ogg differ
diff --git a/sound/vore/prey/squish_03.ogg b/sound/vore/prey/squish_03.ogg
index 1e8f2bb896..29dd56868b 100644
Binary files a/sound/vore/prey/squish_03.ogg and b/sound/vore/prey/squish_03.ogg differ
diff --git a/sound/vore/prey/squish_04.ogg b/sound/vore/prey/squish_04.ogg
index 2e618890a9..caa9ef0b79 100644
Binary files a/sound/vore/prey/squish_04.ogg and b/sound/vore/prey/squish_04.ogg differ
diff --git a/sound/vore/prey/stomachmove.ogg b/sound/vore/prey/stomachmove.ogg
index e4e004b072..15a6b252b4 100644
Binary files a/sound/vore/prey/stomachmove.ogg and b/sound/vore/prey/stomachmove.ogg differ
diff --git a/sound/vore/prey/struggle_01.ogg b/sound/vore/prey/struggle_01.ogg
index de0f3ad8bd..ef315e2f3e 100644
Binary files a/sound/vore/prey/struggle_01.ogg and b/sound/vore/prey/struggle_01.ogg differ
diff --git a/sound/vore/prey/struggle_02.ogg b/sound/vore/prey/struggle_02.ogg
index 2695ab0adf..2c37593725 100644
Binary files a/sound/vore/prey/struggle_02.ogg and b/sound/vore/prey/struggle_02.ogg differ
diff --git a/sound/vore/prey/struggle_03.ogg b/sound/vore/prey/struggle_03.ogg
index 17dd8bec8a..bde08feff6 100644
Binary files a/sound/vore/prey/struggle_03.ogg and b/sound/vore/prey/struggle_03.ogg differ
diff --git a/sound/vore/prey/struggle_04.ogg b/sound/vore/prey/struggle_04.ogg
index 8631853509..5bcdbb1287 100644
Binary files a/sound/vore/prey/struggle_04.ogg and b/sound/vore/prey/struggle_04.ogg differ
diff --git a/sound/vore/prey/struggle_05.ogg b/sound/vore/prey/struggle_05.ogg
index 233addec0b..77ade72af2 100644
Binary files a/sound/vore/prey/struggle_05.ogg and b/sound/vore/prey/struggle_05.ogg differ
diff --git a/sound/vore/prey/swallow_01.ogg b/sound/vore/prey/swallow_01.ogg
index 3da3fef66a..194ec691f7 100644
Binary files a/sound/vore/prey/swallow_01.ogg and b/sound/vore/prey/swallow_01.ogg differ
diff --git a/sound/vore/prey/swallow_02.ogg b/sound/vore/prey/swallow_02.ogg
index 30d9a4e44d..8a50ca8d32 100644
Binary files a/sound/vore/prey/swallow_02.ogg and b/sound/vore/prey/swallow_02.ogg differ
diff --git a/sound/vore/prey/taurswallow.ogg b/sound/vore/prey/taurswallow.ogg
index f5b5706b36..6eb5f2a1f8 100644
Binary files a/sound/vore/prey/taurswallow.ogg and b/sound/vore/prey/taurswallow.ogg differ
diff --git a/tgstation.dme b/tgstation.dme
index b358ca8c59..3b3bb74df1 100755
--- a/tgstation.dme
+++ b/tgstation.dme
@@ -265,6 +265,7 @@
#include "code\controllers\subsystem\fail2topic.dm"
#include "code\controllers\subsystem\fire_burning.dm"
#include "code\controllers\subsystem\garbage.dm"
+#include "code\controllers\subsystem\holodeck.dm"
#include "code\controllers\subsystem\icon_smooth.dm"
#include "code\controllers\subsystem\idlenpcpool.dm"
#include "code\controllers\subsystem\input.dm"