diff --git a/code/modules/keybindings/bindings_atom.dm b/code/modules/keybindings/bindings_atom.dm
index 4aac76bd..5f3e8792 100644
--- a/code/modules/keybindings/bindings_atom.dm
+++ b/code/modules/keybindings/bindings_atom.dm
@@ -15,4 +15,4 @@
movement_dir &= ~(NORTH|SOUTH)
if((movement_dir & EAST) && (movement_dir & WEST))
movement_dir &= ~(EAST|WEST)
- user.Move(get_step(src, movement_dir), movement_dir)
\ No newline at end of file
+ user.Move(get_step(src, movement_dir), movement_dir)
diff --git a/code/modules/keybindings/bindings_client.dm b/code/modules/keybindings/bindings_client.dm
index 0b1e526d..3233005b 100644
--- a/code/modules/keybindings/bindings_client.dm
+++ b/code/modules/keybindings/bindings_client.dm
@@ -88,4 +88,4 @@
if(holder)
holder.keyLoop(src)
if(mob.focus)
- mob.focus.keyLoop(src)
\ No newline at end of file
+ mob.focus.keyLoop(src)
diff --git a/code/modules/keybindings/bindings_mob.dm b/code/modules/keybindings/bindings_mob.dm
index 1e97d4d3..069e23da 100644
--- a/code/modules/keybindings/bindings_mob.dm
+++ b/code/modules/keybindings/bindings_mob.dm
@@ -58,31 +58,20 @@
user.body_l_leg()
return
- if(client.keys_held["Ctrl"])
+ //!shift for pixel shifting
+ if(client.keys_held["Ctrl"] && !client.keys_held["Shift"])
switch(SSinput.movement_keys[_key])
if(NORTH)
- if(client.keys_held["Shift"])
- northshift()
- else
- northface()
+ northface()
return
if(SOUTH)
- if(client.keys_held["Shift"])
- southshift()
- else
- southface()
+ southface()
return
if(WEST)
- if(client.keys_held["Shift"])
- westshift()
- else
- westface()
+ westface()
return
if(EAST)
- if(client.keys_held["Shift"])
- eastshift()
- else
- eastface()
+ eastface()
return
return ..()
@@ -91,4 +80,21 @@
if("Alt")
toggle_move_intent()
return
- return ..()
\ No newline at end of file
+ return ..()
+
+/// Mostly used for pixel shift right now
+/mob/keyLoop(client/user)
+ ..() //Oops! You need this to move, don't you?
+ if(user.keys_held["Ctrl"] && user.keys_held["Shift"])
+ var/direction = NONE
+ for(var/_key in user.keys_held)
+ direction = direction | SSinput.movement_keys[_key]
+ switch(direction)
+ if(NORTH)
+ northshift()
+ if(SOUTH)
+ southshift()
+ if(WEST)
+ westshift()
+ if(EAST)
+ eastshift()
diff --git a/code/modules/mob/living/emote.dm b/code/modules/mob/living/emote.dm
index 4a93a0e0..c22b2de1 100644
--- a/code/modules/mob/living/emote.dm
+++ b/code/modules/mob/living/emote.dm
@@ -57,6 +57,15 @@
if(HAS_TRAIT(user, TRAIT_SOOTHED_THROAT))
return FALSE
+/datum/emote/living/cough/run_emote(mob/user, params)
+ . = ..()
+ if(. && ishuman(user))
+ var/mob/living/carbon/C = user
+ if(user.gender == FEMALE)
+ playsound(C, pick('hyperstation/sound/voice/emotes/female_cough1.ogg', 'hyperstation/sound/voice/emotes/female_cough2.ogg', 'hyperstation/sound/voice/emotes/female_cough3.ogg', 'hyperstation/sound/voice/emotes/female_cough4.ogg', 'hyperstation/sound/voice/emotes/female_cough5.ogg', 'hyperstation/sound/voice/emotes/female_cough6.ogg'), 50, 1)
+ else
+ playsound(C, pick('hyperstation/sound/voice/emotes/male_cough1.ogg', 'hyperstation/sound/voice/emotes/male_cough2.ogg', 'hyperstation/sound/voice/emotes/male_cough3.ogg', 'hyperstation/sound/voice/emotes/male_cough4.ogg'), 50, 1)
+
/datum/emote/living/dance
key = "dance"
key_third_person = "dances"
@@ -214,6 +223,10 @@
'sound/voice/catpeople/nyahehe.ogg'),
50, 1)
return
+ if(isinsect(C))
+ playsound(C, pick('sound/voice/mothlaugh.ogg'),
+ 50, 1)
+ return
if(ishumanbasic(C))
if(user.gender == FEMALE)
playsound(C, 'sound/voice/human/womanlaugh.ogg', 50, 1)
@@ -289,6 +302,13 @@
message = "sighs."
emote_type = EMOTE_AUDIBLE
+/datum/emote/living/sigh/run_emote(mob/user, params)
+ . = ..()
+ if(. && iscarbon(user))
+ var/mob/living/carbon/C = user
+ if(!C.mind || C.mind.miming)
+ return
+
/datum/emote/living/sit
key = "sit"
key_third_person = "sits"
@@ -305,6 +325,19 @@
message = "sneezes."
emote_type = EMOTE_AUDIBLE
+/datum/emote/living/sneeze/can_run_emote(mob/living/user, status_check = TRUE)
+ . = ..()
+ if(. && iscarbon(user))
+ var/mob/living/carbon/C = user
+ return !C.silent
+
+/datum/emote/living/sneeze/run_emote(mob/user, params)
+ . = ..()
+ if(. && iscarbon(user))
+ var/mob/living/carbon/C = user
+ if(!C.mind || C.mind.miming)//mimes can't sneeze because fuck you that's why
+ return
+
/datum/emote/living/smug
key = "smug"
key_third_person = "smugs"
@@ -316,6 +349,16 @@
message = "sniffs."
emote_type = EMOTE_AUDIBLE
+/datum/emote/living/sniff/run_emote(mob/user, params)
+ . = ..()
+ if(. && iscarbon(user))
+ var/mob/living/carbon/C = user
+ if(!C.mind || C.mind.miming)
+ return
+ if(ishumanbasic(C))
+ playsound(C, pick('hyperstation/sound/voice/emotes/sniff.ogg'), 50, 1)
+
+
/datum/emote/living/snore
key = "snore"
key_third_person = "snores"
@@ -382,6 +425,13 @@
message = "whimpers."
message_mime = "appears hurt."
+/datum/emote/living/whimper/run_emote(mob/user, params)
+ . = ..()
+ if(. && iscarbon(user))
+ var/mob/living/carbon/C = user
+ if(!C.mind || C.mind.miming)
+ return
+
/datum/emote/living/wsmile
key = "wsmile"
key_third_person = "wsmiles"
@@ -393,6 +443,13 @@
message = "yawns."
emote_type = EMOTE_AUDIBLE
+/datum/emote/living/yawn/run_emote(mob/user, params)
+ . = ..()
+ if(. && iscarbon(user))
+ var/mob/living/carbon/C = user
+ if(!C.mind || C.mind.miming)
+ return
+
/datum/emote/living/custom
key = "me"
key_third_person = "custom"
@@ -504,3 +561,91 @@
to_chat(user, "You ready your slapping hand.")
else
to_chat(user, "You're incapable of slapping in your current state.")
+
+//Carl wuz here
+//FUCK YOU CARL SUCK MY BALLS YOU WHORE
+/datum/emote/living/tesh_sneeze
+ key = "tesh_sneeze"
+ key_third_person = "sneezes"
+ message = "sneezes."
+ emote_type = EMOTE_AUDIBLE
+
+/datum/emote/living/tesh_sneeze/can_run_emote(mob/living/user, status_check = TRUE)
+ . = ..()
+ if(. && iscarbon(user))
+ var/mob/living/carbon/C = user
+ return !C.silent
+
+/datum/emote/living/tesh_sneeze/run_emote(mob/user, params)
+ . = ..()
+ if(. && iscarbon(user))
+ var/mob/living/carbon/C = user
+ if(!C.mind || C.mind.miming)//no cute sneezing for you.
+ return
+ if(ishumanbasic(C))
+ playsound(C, pick('hyperstation/sound/voice/emotes/tesh_sneeze1.ogg', 'hyperstation/sound/voice/emotes/tesh_sneeze1b.ogg'), 50, 1)
+ if(is_species(user, /datum/species/avian))//This is required(related to subtypes), otherwise it doesn't play the noises. Sometimes. Always sometimes. Just how it be.
+ playsound(C, pick('hyperstation/sound/voice/emotes/tesh_sneeze1.ogg', 'hyperstation/sound/voice/emotes/tesh_sneeze1b.ogg'), 50, 1)
+ if(is_species(user, /datum/species/mammal))//Just because the avian subspecies doesn't have proper sprites. Some people can't use it.
+ playsound(C, pick('hyperstation/sound/voice/emotes/tesh_sneeze1.ogg', 'hyperstation/sound/voice/emotes/tesh_sneeze1b.ogg'), 50, 1)
+
+/datum/emote/living/racc
+ key = "racc_chitter"
+ key_third_person = "chitters"
+ message = "chitters."
+ emote_type = EMOTE_AUDIBLE
+
+/datum/emote/living/racc/can_run_emote(mob/living/user, status_check = TRUE)
+ . = ..()
+ if(. && iscarbon(user))
+ var/mob/living/carbon/C = user
+ return !C.silent
+
+/datum/emote/living/racc/run_emote(mob/user, params)
+ . = ..()
+ if(. && iscarbon(user))
+ var/mob/living/carbon/C = user
+ if(!C.mind || C.mind.miming)
+ return
+ if(ishumanbasic(C))
+ playsound(C, pick('hyperstation/sound/voice/emotes/racc_chitter_1.ogg', 'hyperstation/sound/voice/emotes/racc_chitter_2.ogg',\
+ 'hyperstation/sound/voice/emotes/racc_chitter_3.ogg', 'hyperstation/sound/voice/emotes/racc_chitter_4.ogg', 'hyperstation/sound/voice/emotes/racc_chitter_5.ogg',\
+ 'hyperstation/sound/voice/emotes/racc_chitter_6.ogg', 'hyperstation/sound/voice/emotes/racc_chitter_7.ogg', 'hyperstation/sound/voice/emotes/racc_chitter_8.ogg'), 50, 1)
+ if(is_species(user, /datum/species/mammal))
+ playsound(C, pick('hyperstation/sound/voice/emotes/racc_chitter_1.ogg', 'hyperstation/sound/voice/emotes/racc_chitter_2.ogg',\
+ 'hyperstation/sound/voice/emotes/racc_chitter_3.ogg', 'hyperstation/sound/voice/emotes/racc_chitter_4.ogg', 'hyperstation/sound/voice/emotes/racc_chitter_5.ogg',\
+ 'hyperstation/sound/voice/emotes/racc_chitter_6.ogg', 'hyperstation/sound/voice/emotes/racc_chitter_7.ogg', 'hyperstation/sound/voice/emotes/racc_chitter_8.ogg'), 50, 1)
+
+/datum/emote/living/bat
+ key = "bat_chitter"
+ key_third_person = "chitters"
+ message = "chitters."
+ emote_type = EMOTE_AUDIBLE
+
+/datum/emote/living/bat/can_run_emote(mob/living/user, status_check = TRUE)
+ . = ..()
+ if(. && iscarbon(user))
+ var/mob/living/carbon/C = user
+ return !C.silent
+
+/datum/emote/living/bat/run_emote(mob/user, params)
+ . = ..()
+ if(. && iscarbon(user))
+ var/mob/living/carbon/C = user
+ if(!C.mind || C.mind.miming)
+ return
+ if(ishumanbasic(C))
+ playsound(C, pick('hyperstation/sound/voice/emotes/bat_c1.ogg', 'hyperstation/sound/voice/emotes/bat_c2.ogg', 'hyperstation/sound/voice/emotes/bat_c3.ogg',\
+ 'hyperstation/sound/voice/emotes/bat_c4.ogg', 'hyperstation/sound/voice/emotes/bat_c5.ogg',\
+ 'hyperstation/sound/voice/emotes/bat_c6.ogg', 'hyperstation/sound/voice/emotes/bat_c7.ogg', 'hyperstation/sound/voice/emotes/bat_c8.ogg',\
+ 'hyperstation/sound/voice/emotes/bat_c9.ogg'), 50, 1)
+ if(is_species(user, /datum/species/mammal))
+ playsound(C, pick('hyperstation/sound/voice/emotes/bat_c1.ogg', 'hyperstation/sound/voice/emotes/bat_c2.ogg', 'hyperstation/sound/voice/emotes/bat_c3.ogg',\
+ 'hyperstation/sound/voice/emotes/bat_c4.ogg', 'hyperstation/sound/voice/emotes/bat_c5.ogg',\
+ 'hyperstation/sound/voice/emotes/bat_c6.ogg', 'hyperstation/sound/voice/emotes/bat_c7.ogg', 'hyperstation/sound/voice/emotes/bat_c8.ogg',\
+ 'hyperstation/sound/voice/emotes/bat_c9.ogg'), 50, 1)
+ if(is_species(user, /datum/species/avian))//this and mammal should be considered the same AAAAAAAAAAAA
+ playsound(C, pick('hyperstation/sound/voice/emotes/bat_c1.ogg', 'hyperstation/sound/voice/emotes/bat_c2.ogg', 'hyperstation/sound/voice/emotes/bat_c3.ogg',\
+ 'hyperstation/sound/voice/emotes/bat_c4.ogg', 'hyperstation/sound/voice/emotes/bat_c5.ogg',\
+ 'hyperstation/sound/voice/emotes/bat_c6.ogg', 'hyperstation/sound/voice/emotes/bat_c7.ogg', 'hyperstation/sound/voice/emotes/bat_c8.ogg',\
+ 'hyperstation/sound/voice/emotes/bat_c9.ogg'), 50, 1)
diff --git a/config/game_options.txt b/config/game_options.txt
index 781134d0..a75714bc 100644
--- a/config/game_options.txt
+++ b/config/game_options.txt
@@ -454,6 +454,9 @@ ROUNDSTART_RACES slimeperson
ROUNDSTART_RACES guilmon
ROUNDSTART_RACES ipc
+## Races that I, Christian, wanted to make playable.
+ROUNDSTART_RACES dullahan
+
##-------------------------------------------------------------------------------------------
## Uncomment to give players the choice of joining as a human with mutant bodyparts before they join the game
diff --git a/hyperstation/code/effects/lighting.dm b/hyperstation/code/effects/lighting.dm
new file mode 100644
index 00000000..efa424dd
--- /dev/null
+++ b/hyperstation/code/effects/lighting.dm
@@ -0,0 +1,18 @@
+/obj/effect/light/
+ name = "bloom"
+ icon = 'hyperstation/icons/effects/lighting.dmi'
+ icon_state = "light"
+ plane = ABOVE_LIGHTING_PLANE
+ blend_mode = BLEND_ADD
+ mouse_opacity = 0
+ anchored = TRUE //no more flying around.
+
+/obj/effect/light/medium
+ icon = 'hyperstation/icons/effects/lightingmed.dmi'
+ pixel_x = -16
+ pixel_y = -16
+
+/obj/effect/light/large
+ icon = 'hyperstation/icons/effects/lightinglarge.dmi'
+ pixel_x = -48
+ pixel_y = -48
diff --git a/hyperstation/icons/effects/lighting.dmi b/hyperstation/icons/effects/lighting.dmi
new file mode 100644
index 00000000..3f59b47d
Binary files /dev/null and b/hyperstation/icons/effects/lighting.dmi differ
diff --git a/hyperstation/icons/effects/lightinglarge.dmi b/hyperstation/icons/effects/lightinglarge.dmi
new file mode 100644
index 00000000..fb1eeebc
Binary files /dev/null and b/hyperstation/icons/effects/lightinglarge.dmi differ
diff --git a/hyperstation/icons/effects/lightingmed.dmi b/hyperstation/icons/effects/lightingmed.dmi
new file mode 100644
index 00000000..0b87ce7d
Binary files /dev/null and b/hyperstation/icons/effects/lightingmed.dmi differ
diff --git a/hyperstation/sound/voice/emotes/bat_c1.ogg b/hyperstation/sound/voice/emotes/bat_c1.ogg
new file mode 100644
index 00000000..c11beedc
Binary files /dev/null and b/hyperstation/sound/voice/emotes/bat_c1.ogg differ
diff --git a/hyperstation/sound/voice/emotes/bat_c2.ogg b/hyperstation/sound/voice/emotes/bat_c2.ogg
new file mode 100644
index 00000000..45e13541
Binary files /dev/null and b/hyperstation/sound/voice/emotes/bat_c2.ogg differ
diff --git a/hyperstation/sound/voice/emotes/bat_c3.ogg b/hyperstation/sound/voice/emotes/bat_c3.ogg
new file mode 100644
index 00000000..1e34c2cf
Binary files /dev/null and b/hyperstation/sound/voice/emotes/bat_c3.ogg differ
diff --git a/hyperstation/sound/voice/emotes/bat_c4.ogg b/hyperstation/sound/voice/emotes/bat_c4.ogg
new file mode 100644
index 00000000..94f43daf
Binary files /dev/null and b/hyperstation/sound/voice/emotes/bat_c4.ogg differ
diff --git a/hyperstation/sound/voice/emotes/bat_c5.ogg b/hyperstation/sound/voice/emotes/bat_c5.ogg
new file mode 100644
index 00000000..17207ccb
Binary files /dev/null and b/hyperstation/sound/voice/emotes/bat_c5.ogg differ
diff --git a/hyperstation/sound/voice/emotes/bat_c6.ogg b/hyperstation/sound/voice/emotes/bat_c6.ogg
new file mode 100644
index 00000000..ebb74007
Binary files /dev/null and b/hyperstation/sound/voice/emotes/bat_c6.ogg differ
diff --git a/hyperstation/sound/voice/emotes/bat_c7.ogg b/hyperstation/sound/voice/emotes/bat_c7.ogg
new file mode 100644
index 00000000..de58d94f
Binary files /dev/null and b/hyperstation/sound/voice/emotes/bat_c7.ogg differ
diff --git a/hyperstation/sound/voice/emotes/bat_c8.ogg b/hyperstation/sound/voice/emotes/bat_c8.ogg
new file mode 100644
index 00000000..3952d540
Binary files /dev/null and b/hyperstation/sound/voice/emotes/bat_c8.ogg differ
diff --git a/hyperstation/sound/voice/emotes/bat_c9.ogg b/hyperstation/sound/voice/emotes/bat_c9.ogg
new file mode 100644
index 00000000..702eac32
Binary files /dev/null and b/hyperstation/sound/voice/emotes/bat_c9.ogg differ
diff --git a/hyperstation/sound/voice/emotes/female_cough1.ogg b/hyperstation/sound/voice/emotes/female_cough1.ogg
new file mode 100644
index 00000000..35cea5a5
Binary files /dev/null and b/hyperstation/sound/voice/emotes/female_cough1.ogg differ
diff --git a/hyperstation/sound/voice/emotes/female_cough2.ogg b/hyperstation/sound/voice/emotes/female_cough2.ogg
new file mode 100644
index 00000000..1322ed05
Binary files /dev/null and b/hyperstation/sound/voice/emotes/female_cough2.ogg differ
diff --git a/hyperstation/sound/voice/emotes/female_cough3.ogg b/hyperstation/sound/voice/emotes/female_cough3.ogg
new file mode 100644
index 00000000..97c2d810
Binary files /dev/null and b/hyperstation/sound/voice/emotes/female_cough3.ogg differ
diff --git a/hyperstation/sound/voice/emotes/female_cough4.ogg b/hyperstation/sound/voice/emotes/female_cough4.ogg
new file mode 100644
index 00000000..bb0b3288
Binary files /dev/null and b/hyperstation/sound/voice/emotes/female_cough4.ogg differ
diff --git a/hyperstation/sound/voice/emotes/female_cough5.ogg b/hyperstation/sound/voice/emotes/female_cough5.ogg
new file mode 100644
index 00000000..4f95822a
Binary files /dev/null and b/hyperstation/sound/voice/emotes/female_cough5.ogg differ
diff --git a/hyperstation/sound/voice/emotes/female_cough6.ogg b/hyperstation/sound/voice/emotes/female_cough6.ogg
new file mode 100644
index 00000000..debd775e
Binary files /dev/null and b/hyperstation/sound/voice/emotes/female_cough6.ogg differ
diff --git a/hyperstation/sound/voice/emotes/male_cough1.ogg b/hyperstation/sound/voice/emotes/male_cough1.ogg
new file mode 100644
index 00000000..142d90b2
Binary files /dev/null and b/hyperstation/sound/voice/emotes/male_cough1.ogg differ
diff --git a/hyperstation/sound/voice/emotes/male_cough2.ogg b/hyperstation/sound/voice/emotes/male_cough2.ogg
new file mode 100644
index 00000000..7dde1e86
Binary files /dev/null and b/hyperstation/sound/voice/emotes/male_cough2.ogg differ
diff --git a/hyperstation/sound/voice/emotes/male_cough3.ogg b/hyperstation/sound/voice/emotes/male_cough3.ogg
new file mode 100644
index 00000000..35cc3e7a
Binary files /dev/null and b/hyperstation/sound/voice/emotes/male_cough3.ogg differ
diff --git a/hyperstation/sound/voice/emotes/male_cough4.ogg b/hyperstation/sound/voice/emotes/male_cough4.ogg
new file mode 100644
index 00000000..16878448
Binary files /dev/null and b/hyperstation/sound/voice/emotes/male_cough4.ogg differ
diff --git a/hyperstation/sound/voice/emotes/racc_chitter_1.ogg b/hyperstation/sound/voice/emotes/racc_chitter_1.ogg
new file mode 100644
index 00000000..35a90dff
Binary files /dev/null and b/hyperstation/sound/voice/emotes/racc_chitter_1.ogg differ
diff --git a/hyperstation/sound/voice/emotes/racc_chitter_2.ogg b/hyperstation/sound/voice/emotes/racc_chitter_2.ogg
new file mode 100644
index 00000000..060c442f
Binary files /dev/null and b/hyperstation/sound/voice/emotes/racc_chitter_2.ogg differ
diff --git a/hyperstation/sound/voice/emotes/racc_chitter_3.ogg b/hyperstation/sound/voice/emotes/racc_chitter_3.ogg
new file mode 100644
index 00000000..ad750c8a
Binary files /dev/null and b/hyperstation/sound/voice/emotes/racc_chitter_3.ogg differ
diff --git a/hyperstation/sound/voice/emotes/racc_chitter_4.ogg b/hyperstation/sound/voice/emotes/racc_chitter_4.ogg
new file mode 100644
index 00000000..538e765e
Binary files /dev/null and b/hyperstation/sound/voice/emotes/racc_chitter_4.ogg differ
diff --git a/hyperstation/sound/voice/emotes/racc_chitter_5.ogg b/hyperstation/sound/voice/emotes/racc_chitter_5.ogg
new file mode 100644
index 00000000..478edce3
Binary files /dev/null and b/hyperstation/sound/voice/emotes/racc_chitter_5.ogg differ
diff --git a/hyperstation/sound/voice/emotes/racc_chitter_6.ogg b/hyperstation/sound/voice/emotes/racc_chitter_6.ogg
new file mode 100644
index 00000000..871a47c4
Binary files /dev/null and b/hyperstation/sound/voice/emotes/racc_chitter_6.ogg differ
diff --git a/hyperstation/sound/voice/emotes/racc_chitter_7.ogg b/hyperstation/sound/voice/emotes/racc_chitter_7.ogg
new file mode 100644
index 00000000..0f10084b
Binary files /dev/null and b/hyperstation/sound/voice/emotes/racc_chitter_7.ogg differ
diff --git a/hyperstation/sound/voice/emotes/racc_chitter_8.ogg b/hyperstation/sound/voice/emotes/racc_chitter_8.ogg
new file mode 100644
index 00000000..2e141dd3
Binary files /dev/null and b/hyperstation/sound/voice/emotes/racc_chitter_8.ogg differ
diff --git a/hyperstation/sound/voice/emotes/sniff.ogg b/hyperstation/sound/voice/emotes/sniff.ogg
new file mode 100644
index 00000000..4e4edf8b
Binary files /dev/null and b/hyperstation/sound/voice/emotes/sniff.ogg differ
diff --git a/hyperstation/sound/voice/emotes/tesh_sneeze1.ogg b/hyperstation/sound/voice/emotes/tesh_sneeze1.ogg
new file mode 100644
index 00000000..b344bbcf
Binary files /dev/null and b/hyperstation/sound/voice/emotes/tesh_sneeze1.ogg differ
diff --git a/hyperstation/sound/voice/emotes/tesh_sneeze1b.ogg b/hyperstation/sound/voice/emotes/tesh_sneeze1b.ogg
new file mode 100644
index 00000000..f7428654
Binary files /dev/null and b/hyperstation/sound/voice/emotes/tesh_sneeze1b.ogg differ
diff --git a/sound/voice/mothlaugh.ogg b/sound/voice/mothlaugh.ogg
new file mode 100644
index 00000000..391d6c5a
Binary files /dev/null and b/sound/voice/mothlaugh.ogg differ