diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm index c55232b40b6..7e4923e93b4 100644 --- a/code/modules/clothing/clothing.dm +++ b/code/modules/clothing/clothing.dm @@ -225,7 +225,7 @@ BLIND // can't see anything allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank/emergency_oxygen) slowdown = 3 armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 100, rad = 50) - flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT + flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT||HIDETAIL cold_protection = UPPER_TORSO | LOWER_TORSO | LEGS | FEET | ARMS | HANDS min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECITON_TEMPERATURE siemens_coefficient = 0.9 diff --git a/code/modules/clothing/masks/breath.dm b/code/modules/clothing/masks/breath.dm index ffbe5c0a8b5..f14101fcd9f 100644 --- a/code/modules/clothing/masks/breath.dm +++ b/code/modules/clothing/masks/breath.dm @@ -43,18 +43,11 @@ icon_state = "voxmask" item_state = "voxmask" permeability_coefficient = 0.01 + species_restricted = ("Vox") toggle() set category = "Object" set name = "Adjust mask" set src in usr - usr << "You can't really adjust this mask - it's moulded to your beak!" - -/obj/item/clothing/mask/breath/vox/mob_can_equip(M as mob, slot) - var/mob/living/carbon/human/V = M - if(V.species.name != "Vox") - V << "This clearly isn't designed for your species!" - return 0 - - return ..() + usr << "You can't really adjust this mask - it's moulded to your beak!" \ No newline at end of file diff --git a/code/modules/clothing/spacesuits/alien.dm b/code/modules/clothing/spacesuits/alien.dm index a2842397b39..0cddf59d4af 100644 --- a/code/modules/clothing/spacesuits/alien.dm +++ b/code/modules/clothing/spacesuits/alien.dm @@ -166,7 +166,8 @@ if (!is_equipped()) user << "You will have to put on the [src] before you can do that." return - + + flags |= NOSLIP magpulse = 1 canremove = 0 //kinda hard to take off magclaws when you are gripping them tightly. @@ -189,6 +190,36 @@ usr << "It would be hard to take these off without relaxing your grip first." //theoretically this message should only be seen by the wearer when the claws are equipped. +//Vox Armalis gear. +/obj/item/clothing/shoes/magboots/vox/armalis + name = "large vox magclaws" + item_state = "boots-armalis" + icon_state = "boots-armalis" + icon_override = 'icons/mob/vox.dmi' + species_restricted = list("Vox Armalis") + +/obj/item/clothing/gloves/yellow/vox/armalis + name = "large insulated gauntlets" + item_state = "gloves-armalis" + icon_state = "gloves-armalis" + icon_override = 'icons/mob/vox.dmi' + species_restricted = list("Vox Armalis") + +/obj/item/clothing/mask/breath/vox/armalis + name = "large vox mask" + item_state = "mask-armalis" + icon_state = "mask-armalis" + icon_override = 'icons/mob/vox.dmi' + species_restricted = list("Vox Armalis") + +/obj/item/clothing/suit/space/vox/carapace/armalis + name = "large alien carapace armour" + item_state = "armour-armalis" + icon_state = "armour-armalis" + icon_override = 'icons/mob/vox.dmi' + species_restricted = list("Vox Armalis") + + //Species-specific Syndicate rigs. /obj/item/clothing/head/helmet/space/rig/syndi/tajara icon_state = "rig0-syndie-taj" diff --git a/code/modules/clothing/spacesuits/captain.dm b/code/modules/clothing/spacesuits/captain.dm index c9c169ba774..addc15824dc 100644 --- a/code/modules/clothing/spacesuits/captain.dm +++ b/code/modules/clothing/spacesuits/captain.dm @@ -23,7 +23,7 @@ allowed = list(/obj/item/weapon/tank/emergency_oxygen, /obj/item/device/flashlight,/obj/item/weapon/gun/energy, /obj/item/weapon/gun/projectile, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/weapon/melee/baton,/obj/item/weapon/handcuffs) slowdown = 1.5 armor = list(melee = 65, bullet = 50, laser = 50, energy = 25, bomb = 50, bio = 100, rad = 50) - flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT + flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT||HIDETAIL cold_protection = UPPER_TORSO | LOWER_TORSO | LEGS | FEET | ARMS | HANDS min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECITON_TEMPERATURE siemens_coefficient = 0.7 diff --git a/code/modules/clothing/spacesuits/miscellaneous.dm b/code/modules/clothing/spacesuits/miscellaneous.dm index ef3af6fe3f3..d4aa7637bbd 100644 --- a/code/modules/clothing/spacesuits/miscellaneous.dm +++ b/code/modules/clothing/spacesuits/miscellaneous.dm @@ -22,7 +22,7 @@ allowed = list(/obj/item/weapon/tank/emergency_oxygen, /obj/item/device/flashlight,/obj/item/weapon/gun/energy, /obj/item/weapon/gun/projectile, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/weapon/melee/baton,/obj/item/weapon/handcuffs) slowdown = 1.5 armor = list(melee = 65, bullet = 50, laser = 50, energy = 25, bomb = 50, bio = 100, rad = 50) - flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT + flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT|HIDETAIL cold_protection = UPPER_TORSO | LOWER_TORSO | LEGS | FEET | ARMS | HANDS min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECITON_TEMPERATURE siemens_coefficient = 0.7 diff --git a/code/modules/clothing/suits/bio.dm b/code/modules/clothing/suits/bio.dm index 56513a0e85c..18025e077e4 100644 --- a/code/modules/clothing/suits/bio.dm +++ b/code/modules/clothing/suits/bio.dm @@ -23,7 +23,7 @@ slowdown = 1.0 allowed = list(/obj/item/weapon/tank/emergency_oxygen,/obj/item/weapon/pen,/obj/item/device/flashlight/pen) armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 100, rad = 20) - flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT + flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT|HIDETAIL siemens_coefficient = 0.9 diff --git a/code/modules/clothing/suits/miscellaneous.dm b/code/modules/clothing/suits/miscellaneous.dm index e675b2e1501..ec8a352db5e 100644 --- a/code/modules/clothing/suits/miscellaneous.dm +++ b/code/modules/clothing/suits/miscellaneous.dm @@ -195,7 +195,7 @@ icon_state = "straight_jacket" item_state = "straight_jacket" body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS|HANDS - flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT + flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT|HIDETAIL flags = FPRINT | TABLEPASS | ONESIZEFITSALL /obj/item/clothing/suit/ianshirt diff --git a/code/modules/clothing/suits/utility.dm b/code/modules/clothing/suits/utility.dm index 7c6772eb1e9..24cbe3b8c94 100644 --- a/code/modules/clothing/suits/utility.dm +++ b/code/modules/clothing/suits/utility.dm @@ -20,7 +20,7 @@ body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank/emergency_oxygen,/obj/item/weapon/extinguisher) slowdown = 1.0 - flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT + flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT|HIDETAIL flags = FPRINT | TABLEPASS heat_protection = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS max_heat_protection_temperature = FIRESUIT_MAX_HEAT_PROTECITON_TEMPERATURE @@ -66,7 +66,7 @@ body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS slowdown = 2 armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 100, bio = 0, rad = 0) - flags_inv = HIDEJUMPSUIT + flags_inv = HIDEJUMPSUIT|HIDETAIL heat_protection = UPPER_TORSO|LOWER_TORSO max_heat_protection_temperature = ARMOR_MAX_HEAT_PROTECITON_TEMPERATURE siemens_coefficient = 0 @@ -105,4 +105,4 @@ allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank/emergency_oxygen) slowdown = 1.5 armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 60, rad = 100) - flags_inv = HIDEJUMPSUIT + flags_inv = HIDEJUMPSUIT|HIDETAIL diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 35587b147ea..a95b44460d7 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -29,6 +29,10 @@ h_style = "Short Vox Quills" ..(new_loc, "Vox") +/mob/living/carbon/human/voxarmalis/New(var/new_loc) + h_style = "Bald" + ..(new_loc, "Vox Armalis") + /mob/living/carbon/human/skellington/New(var/new_loc) h_style = "Bald" ..(new_loc, "Skellington") @@ -120,6 +124,13 @@ now_pushing = 0 return + //Leaping mobs just land on the tile, no pushing, no anything. + if(status_flags & LEAPING) + loc = tmob.loc + status_flags &= ~LEAPING + now_pushing = 0 + return + //BubbleWrap: people in handcuffs are always switched around as if they were on 'help' intent to prevent a person being pulled from being seperated from their puller if((tmob.a_intent == "help" || tmob.restrained()) && (a_intent == "help" || src.restrained()) && tmob.canmove && canmove) // mutual brohugs all around! var/turf/oldloc = loc @@ -1419,3 +1430,104 @@ return 0 return 1 + +//Putting a couple of procs here that I don't know where else to dump. +//Mostly going to be used for Vox and Vox Armalis, but other human mobs might like them (for adminbuse). + +/mob/living/carbon/human/proc/leap() + set category = "IC" + set name = "Leap" + set desc = "Leap at a target and grab them aggressively." + + if(last_special > world.time) + return + + if(stat) + src << "You cannot leap in your current state." + return + + var/list/choices = list() + for(var/mob/living/M in view(6,src)) + if(!istype(M,/mob/living/silicon)) + choices += M + choices -= src + + var/mob/living/T = input(src,"Who do you wish to leap at?") in null|choices + + if(!T || !src || src.stat) return + + if(get_dist(get_turf(T), get_turf(src)) > 6) return + + last_special = world.time + 100 + status_flags |= LEAPING + + src.visible_message("\The [src] leaps at [T]!") + src.throw_at(get_step(get_turf(T),get_turf(src)), 5, 1) + playsound(src.loc, 'sound/voice/shriek1.ogg', 50, 1) + + sleep(5) + + if(status_flags & LEAPING) status_flags &= ~LEAPING + + if(!src.Adjacent(T)) + src << "\red You miss!" + return + + T.Weaken(5) + + var/use_hand = "left" + if(l_hand) + if(r_hand) + src << "\red You need to have one hand free to grab someone." + return + else + use_hand = "right" + + src.visible_message("\The [src] seizes [T] aggressively!") + + var/obj/item/weapon/grab/G = new(src,T) + if(use_hand == "left") + l_hand = G + else + r_hand = G + + G.state = GRAB_AGGRESSIVE + G.icon_state = "grabbed1" + G.synch() + +/mob/living/carbon/human/proc/gut() + set category = "IC" + set name = "Gut" + set desc = "While grabbing someone aggressively, rip their guts out or tear them apart." + + if(last_special > world.time) + return + + if(stat) + src << "\red You cannot do that in your current state." + return + + var/obj/item/weapon/grab/G = locate() in src + if(!G || !istype(G)) + src << "\red You are not grabbing anyone." + return + + if(G.state < GRAB_AGGRESSIVE) + src << "\red You must have an aggressive grab to gut your prey!" + return + + last_special = world.time + 50 + + visible_message("\The [src] rips viciously at \the [G.affecting]'s body with its claws!") + + if(istype(G.affecting,/mob/living/carbon/human)) + var/mob/living/carbon/human/H = G.affecting + H.apply_damage(50,BRUTE) + if(H.stat == 2) + H.gib() + else + var/mob/living/M = G.affecting + if(!istype(M)) return //wut + M.apply_damage(50,BRUTE) + if(M.stat == 2) + M.gib() diff --git a/code/modules/mob/living/carbon/human/say.dm b/code/modules/mob/living/carbon/human/say.dm index e7cf18a51c1..7b8f8ead6c2 100644 --- a/code/modules/mob/living/carbon/human/say.dm +++ b/code/modules/mob/living/carbon/human/say.dm @@ -84,8 +84,11 @@ if (src.slurring) if(copytext(message, 1, 2) != "*") message = slur(message) - ..(message) + if((species.name == "Vox" || species.name == "Vox Armalis") && prob(20)) + playsound(src.loc, 'sound/voice/shriek1.ogg', 50, 1) + + ..(message) /mob/living/carbon/human/say_understands(var/other,var/datum/language/speaking = null) @@ -123,4 +126,4 @@ return /mob/living/carbon/human/proc/GetSpecialVoice() - return special_voice + return special_voice \ No newline at end of file diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm index 973a2ff0b90..90147c666e6 100644 --- a/code/modules/mob/living/carbon/human/update_icons.dm +++ b/code/modules/mob/living/carbon/human/update_icons.dm @@ -865,12 +865,9 @@ proc/get_damage_icon_part(damage_state, body_part) if(r_hand) r_hand.screen_loc = ui_rhand //TODO var/t_state = r_hand.item_state - if(!t_state) - t_state = r_hand.icon_state - var/dmi='icons/mob/items_righthand.dmi' - if(r_hand.custom) - dmi=r_hand.icon - overlays_standing[R_HAND_LAYER] = image("icon" = dmi, "icon_state" = "[t_state]") + if(!t_state) t_state = r_hand.icon_state + if(r_hand.icon_override) t_state = "[t_state]_r" + overlays_standing[R_HAND_LAYER] = image("icon" = ((r_hand.icon_override) ? r_hand.icon_override : 'icons/mob/items_righthand.dmi'), "icon_state" = "[t_state]") if (handcuffed) drop_r_hand() else overlays_standing[R_HAND_LAYER] = null @@ -881,12 +878,9 @@ proc/get_damage_icon_part(damage_state, body_part) if(l_hand) l_hand.screen_loc = ui_lhand //TODO var/t_state = l_hand.item_state - if(!t_state) - t_state = l_hand.icon_state - var/dmi='icons/mob/items_lefthand.dmi' - if(l_hand.custom) - dmi=l_hand.icon - overlays_standing[L_HAND_LAYER] = image("icon" = dmi, "icon_state" = "[t_state]") + if(!t_state) t_state = l_hand.icon_state + if(l_hand.icon_override) t_state = "[t_state]_l" + overlays_standing[L_HAND_LAYER] = image("icon" = ((l_hand.icon_override) ? l_hand.icon_override : 'icons/mob/items_lefthand.dmi'), "icon_state" = "[t_state]") if (handcuffed) drop_l_hand() else overlays_standing[L_HAND_LAYER] = null @@ -896,7 +890,7 @@ proc/get_damage_icon_part(damage_state, body_part) overlays_standing[TAIL_LAYER] = null if(species.tail && species.bodyflags & HAS_TAIL) - if(!wear_suit || !(wear_suit.flags_inv & HIDEJUMPSUIT) && !istype(wear_suit, /obj/item/clothing/suit/space)) + if(!wear_suit || !(wear_suit.flags_inv & HIDETAIL) && !istype(wear_suit, /obj/item/clothing/suit/space)) var/icon/tail_s = new/icon("icon" = 'icons/effects/species.dmi', "icon_state" = "[species.tail]_s") tail_s.Blend(rgb(r_skin, g_skin, b_skin), ICON_ADD) diff --git a/code/modules/mob/living/carbon/species.dm b/code/modules/mob/living/carbon/species.dm index e80cb41b766..41ba3b266ef 100644 --- a/code/modules/mob/living/carbon/species.dm +++ b/code/modules/mob/living/carbon/species.dm @@ -212,7 +212,44 @@ flags = NO_SCAN | IS_WHITELISTED | NO_BLOOD +/datum/species/vox/armalis + name = "Vox Armalis" + icobase = 'icons/mob/human_races/r_armalis.dmi' + deform = 'icons/mob/human_races/r_armalis.dmi' + language = "Vox-pidgin" + + warning_low_pressure = 50 + hazard_low_pressure = 0 + + cold_level_1 = 80 + cold_level_2 = 50 + cold_level_3 = 0 + + heat_level_1 = 2000 + heat_level_2 = 3000 + heat_level_3 = 4000 + + brute_mod = 0.2 + burn_mod = 0.2 + + eyes = "blank_eyes" + breath_type = "nitrogen" + + flags = NO_SCAN | NO_BLOOD | HAS_TAIL | NO_PAIN | IS_WHITELISTED + + blood_color = "#2299FC" + flesh_color = "#808D11" + + tail = "armalis_tail" + +/datum/species/vox/armalis/handle_post_spawn(var/mob/living/carbon/human/H) + H.verbs += /mob/living/carbon/human/proc/gut + ..() + /datum/species/vox/handle_post_spawn(var/mob/living/carbon/human/H) + + H.verbs += /mob/living/carbon/human/proc/leap + var/datum/organ/external/affected = H.get_organ("head") //To avoid duplicates. diff --git a/code/modules/projectiles/guns/alien.dm b/code/modules/projectiles/guns/alien.dm index 0f5c8400b06..24a1a550f01 100644 --- a/code/modules/projectiles/guns/alien.dm +++ b/code/modules/projectiles/guns/alien.dm @@ -12,7 +12,6 @@ item_state = "bolt" //Launcher. - /obj/item/weapon/spikethrower name = "Vox spike thrower" @@ -112,4 +111,59 @@ spike.loc = get_turf(src) spike.throw_at(target,10,fire_force) spike = null - update_icon() \ No newline at end of file + update_icon() + +//This gun only functions for armalis. The on-sprite is too huge to render properly on other sprites. +/obj/item/weapon/gun/energy/noisecannon + + name = "alien heavy cannon" + desc = "It's some kind of enormous alien weapon, as long as a man is tall." + + icon = 'icons/obj/gun.dmi' //Actual on-sprite is handled by icon_override. + icon_override = 'icons/mob/vox.dmi' + icon_state = "noisecannon" + item_state = "noisecannon" + recoil = 1 + + force = 10 + projectile_type = "/obj/item/projectile/energy/sonic" + cell_type = "/obj/item/weapon/cell/super" + fire_delay = 40 + fire_sound = 'sound/effects/basscannon.ogg' + + var/mode = 1 + +/obj/item/weapon/gun/energy/noisecannon/attack_hand(mob/user as mob) + if(loc != user) + var/mob/living/carbon/human/H = user + if(istype(H)) + if(H.species.name == "Vox Armalis") + ..() + return + user << "\red \The [src] is far too large for you to pick up." + return + +/obj/item/weapon/gun/energy/noisecannon/process_chambered() //Does not have ammo. + in_chamber = new projectile_type(src) + return 1 + +/obj/item/weapon/gun/energy/noisecannon/update_icon() + return + +//Projectile. +/obj/item/projectile/energy/sonic + name = "distortion" + icon = 'icons/obj/machines/particle_accelerator2.dmi' + icon_state = "particle" + damage = 60 + damage_type = BRUTE + flag = "bullet" + pass_flags = PASSTABLE | PASSGLASS | PASSGRILLE + + embed = 0 + weaken = 5 + stun = 5 + +/obj/item/projectile/energy/sonic/proc/split() + //TODO: create two more projectiles to either side of this one, fire at targets to the side of target turf. + return \ No newline at end of file diff --git a/code/setup.dm b/code/setup.dm index f013b23a471..3176d841f5b 100644 --- a/code/setup.dm +++ b/code/setup.dm @@ -227,6 +227,7 @@ var/MAX_EXPLOSION_RANGE = 14 #define HIDESUITSTORAGE 2 //APPLIES ONLY TO THE EXTERIOR SUIT!! #define HIDEJUMPSUIT 4 //APPLIES ONLY TO THE EXTERIOR SUIT!! #define HIDESHOES 8 //APPLIES ONLY TO THE EXTERIOR SUIT!! +#define HIDETAIL 16 //APPLIES ONLY TO THE EXTERIOR SUIT!! #define HIDEMASK 1 //APPLIES ONLY TO HELMETS/MASKS!! #define HIDEEARS 2 //APPLIES ONLY TO HELMETS/MASKS!! (ears means headsets and such) #define HIDEEYES 4 //APPLIES ONLY TO HELMETS/MASKS!! (eyes means glasses) @@ -483,6 +484,7 @@ var/list/global_mutations = list() // list of hidden mutation things #define CANWEAKEN 2 #define CANPARALYSE 4 #define CANPUSH 8 +#define LEAPING 16 #define GODMODE 4096 #define FAKEDEATH 8192 //Replaces stuff like changeling.changeling_fakedeath #define DISFIGURED 16384 //I'll probably move this elsewhere if I ever get wround to writing a bitflag mob-damage system diff --git a/icons/effects/species.dmi b/icons/effects/species.dmi index 3129808d01a..d5405066ab9 100644 Binary files a/icons/effects/species.dmi and b/icons/effects/species.dmi differ diff --git a/icons/mob/suit.dmi b/icons/mob/suit.dmi index f0eb612f407..bc995d223de 100644 Binary files a/icons/mob/suit.dmi and b/icons/mob/suit.dmi differ diff --git a/icons/mob/vox.dmi b/icons/mob/vox.dmi index 0661fd0f17f..2903ede5464 100644 Binary files a/icons/mob/vox.dmi and b/icons/mob/vox.dmi differ diff --git a/icons/obj/clothing/gloves.dmi b/icons/obj/clothing/gloves.dmi index c4e727d4eca..016b8bb5cd2 100644 Binary files a/icons/obj/clothing/gloves.dmi and b/icons/obj/clothing/gloves.dmi differ diff --git a/icons/obj/clothing/masks.dmi b/icons/obj/clothing/masks.dmi index 71719c626fb..f735c9d74a7 100644 Binary files a/icons/obj/clothing/masks.dmi and b/icons/obj/clothing/masks.dmi differ diff --git a/icons/obj/clothing/shoes.dmi b/icons/obj/clothing/shoes.dmi index 931d223743f..4776604d086 100644 Binary files a/icons/obj/clothing/shoes.dmi and b/icons/obj/clothing/shoes.dmi differ diff --git a/icons/obj/gun.dmi b/icons/obj/gun.dmi index f7ad8381fa7..0f881d9322e 100644 Binary files a/icons/obj/gun.dmi and b/icons/obj/gun.dmi differ diff --git a/icons/obj/machines/particle_accelerator2.dmi b/icons/obj/machines/particle_accelerator2.dmi new file mode 100644 index 00000000000..ace6526b601 Binary files /dev/null and b/icons/obj/machines/particle_accelerator2.dmi differ diff --git a/sound/effects/basscannon.ogg b/sound/effects/basscannon.ogg new file mode 100644 index 00000000000..c0bc8efe445 Binary files /dev/null and b/sound/effects/basscannon.ogg differ diff --git a/sound/voice/shriek1.ogg b/sound/voice/shriek1.ogg new file mode 100644 index 00000000000..bb13db1ca0e Binary files /dev/null and b/sound/voice/shriek1.ogg differ