Skip to content

Commit

Permalink
TGS Test Merge (#6824)
Browse files Browse the repository at this point in the history
  • Loading branch information
cm13-github committed Sep 3, 2024
2 parents 8edb5fb + 0545431 commit 1a2c361
Show file tree
Hide file tree
Showing 32 changed files with 55 additions and 10 deletions.
2 changes: 2 additions & 0 deletions code/__DEFINES/flags.dm
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,8 @@
#define EMOTE_IMPORTANT (1<<2)
/// Does the emote not have a message?
#define EMOTE_NO_MESSAGE (1<<3)
/// Can only code call this event instead of the player.
#define EMOTE_FORCED_AUDIO (1<<4)

// Bitflags for Working Joe emotes
/// Working Joe emote
Expand Down
3 changes: 3 additions & 0 deletions code/datums/emotes.dm
Original file line number Diff line number Diff line change
Expand Up @@ -262,6 +262,9 @@
return FALSE
if(is_type_in_typecache(user, mob_type_blacklist_typecache))
return FALSE
if(intentional)
if(emote_type & EMOTE_FORCED_AUDIO)
return FALSE
if(status_check && !is_type_in_typecache(user, mob_type_ignore_stat_typecache))
if(user.stat > stat_allowed)
if(!intentional)
Expand Down
10 changes: 10 additions & 0 deletions code/game/sound.dm
Original file line number Diff line number Diff line change
Expand Up @@ -373,6 +373,10 @@
sound = pick('sound/voice/warcry/male_go.ogg', 'sound/voice/warcry/male_attack.ogg', 'sound/voice/warcry/male_charge.ogg', 'sound/voice/warcry/male_charge2.ogg', 'sound/voice/warcry/warcry_male_1.ogg', 'sound/voice/warcry/warcry_male_2.ogg', 'sound/voice/warcry/warcry_male_3.ogg', 'sound/voice/warcry/warcry_male_4.ogg', 'sound/voice/warcry/warcry_male_5.ogg', 'sound/voice/warcry/warcry_male_6.ogg', 'sound/voice/warcry/warcry_male_7.ogg', 'sound/voice/warcry/warcry_male_8.ogg', 'sound/voice/warcry/warcry_male_9.ogg', 'sound/voice/warcry/warcry_male_10.ogg', 'sound/voice/warcry/warcry_male_11.ogg', 'sound/voice/warcry/warcry_male_12.ogg', 'sound/voice/warcry/warcry_male_13.ogg', 'sound/voice/warcry/warcry_male_14.ogg', 'sound/voice/warcry/warcry_male_15.ogg', 'sound/voice/warcry/warcry_male_16.ogg', 'sound/voice/warcry/warcry_male_17.ogg', 'sound/voice/warcry/warcry_male_18.ogg', 'sound/voice/warcry/warcry_male_19.ogg', 'sound/voice/warcry/warcry_male_20.ogg', 'sound/voice/warcry/warcry_male_21.ogg', 'sound/voice/warcry/warcry_male_22.ogg', 'sound/voice/warcry/warcry_male_23.ogg', 'sound/voice/warcry/warcry_male_24.ogg', 'sound/voice/warcry/warcry_male_25.ogg', 'sound/voice/warcry/warcry_male_26.ogg', 'sound/voice/warcry/warcry_male_27.ogg', 'sound/voice/warcry/warcry_male_28.ogg', 'sound/voice/warcry/warcry_male_29.ogg', 'sound/voice/warcry/warcry_male_30.ogg', 'sound/voice/warcry/warcry_male_31.ogg', 'sound/voice/warcry/warcry_male_32.ogg', 'sound/voice/warcry/warcry_male_33.ogg', 'sound/voice/warcry/warcry_male_34.ogg', 'sound/voice/warcry/warcry_male_35.ogg', 5;'sound/voice/warcry/warcry_male_rare_1.ogg', 5;'sound/voice/warcry/warcry_male_rare_2.ogg', 5;'sound/voice/warcry/warcry_male_rare_3.ogg', 5;'sound/voice/warcry/warcry_male_rare_4.ogg', 5;'sound/voice/warcry/warcry_male_rare_5.ogg')
if("male_upp_warcry")
sound = pick('sound/voice/upp_warcry/warcry_male_1.ogg', 'sound/voice/upp_warcry/warcry_male_2.ogg')
if("male_preburst")
sound = pick("sound/voice/human_male_preburst1.ogg", 'sound/voice/human_male_preburst2.ogg', 'sound/voice/human_male_preburst3.ogg', 'sound/voice/human_male_preburst4.ogg', 'sound/voice/human_male_preburst5.ogg', 'sound/voice/human_male_preburst6.ogg', 'sound/voice/human_male_preburst7.ogg', 'sound/voice/human_male_preburst8.ogg', 'sound/voice/human_male_preburst9.ogg')
if("male_hugged")
sound = pick("sound/voice/human_male_facehugged1.ogg", 'sound/voice/human_male_facehugged2.ogg', 'sound/voice/human_male_facehugged3.ogg')
if("female_scream")
sound = pick('sound/voice/human_female_scream_1.ogg','sound/voice/human_female_scream_2.ogg','sound/voice/human_female_scream_3.ogg','sound/voice/human_female_scream_4.ogg',5;'sound/voice/human_female_scream_5.ogg')
if("female_pain")
Expand All @@ -383,6 +387,10 @@
sound = pick('sound/voice/warcry/female_charge.ogg', 'sound/voice/warcry/female_yell1.ogg', 'sound/voice/warcry/warcry_female_1.ogg', 'sound/voice/warcry/warcry_female_2.ogg', 'sound/voice/warcry/warcry_female_3.ogg', 'sound/voice/warcry/warcry_female_4.ogg', 'sound/voice/warcry/warcry_female_5.ogg', 'sound/voice/warcry/warcry_female_6.ogg', 'sound/voice/warcry/warcry_female_7.ogg', 'sound/voice/warcry/warcry_female_8.ogg', 'sound/voice/warcry/warcry_female_9.ogg', 'sound/voice/warcry/warcry_female_10.ogg', 'sound/voice/warcry/warcry_female_11.ogg', 'sound/voice/warcry/warcry_female_12.ogg', 'sound/voice/warcry/warcry_female_13.ogg', 'sound/voice/warcry/warcry_female_14.ogg', 'sound/voice/warcry/warcry_female_15.ogg', 'sound/voice/warcry/warcry_female_16.ogg', 'sound/voice/warcry/warcry_female_17.ogg', 'sound/voice/warcry/warcry_female_18.ogg', 'sound/voice/warcry/warcry_female_19.ogg', 'sound/voice/warcry/warcry_female_20.ogg')
if("female_upp_warcry")
sound = pick('sound/voice/upp_warcry/warcry_female_1.ogg', 'sound/voice/upp_warcry/warcry_female_2.ogg')
if("female_preburst")
sound = pick("sound/voice/human_female_preburst1.ogg", 'sound/voice/human_female_preburst2.ogg', 'sound/voice/human_female_preburst3.ogg', 'sound/voice/human_female_preburst4.ogg', 'sound/voice/human_female_preburst5.ogg', 'sound/voice/human_female_preburst6.ogg', 'sound/voice/human_female_preburst7.ogg')
if("female_hugged")
sound = pick("sound/voice/human_female_facehugged1.ogg", 'sound/voice/human_female_facehugged2.ogg')
if("rtb_handset")
sound = pick('sound/machines/telephone/rtb_handset_1.ogg', 'sound/machines/telephone/rtb_handset_2.ogg', 'sound/machines/telephone/rtb_handset_3.ogg', 'sound/machines/telephone/rtb_handset_4.ogg', 'sound/machines/telephone/rtb_handset_5.ogg')
if("talk_phone")
Expand All @@ -396,6 +404,8 @@
sound = pick('sound/voice/cat_meow_1.ogg','sound/voice/cat_meow_2.ogg','sound/voice/cat_meow_3.ogg','sound/voice/cat_meow_4.ogg','sound/voice/cat_meow_5.ogg','sound/voice/cat_meow_6.ogg','sound/voice/cat_meow_7.ogg')
if("pred_pain")
sound = pick('sound/voice/pred_pain1.ogg','sound/voice/pred_pain2.ogg','sound/voice/pred_pain3.ogg','sound/voice/pred_pain4.ogg','sound/voice/pred_pain5.ogg',5;'sound/voice/pred_pain_rare1.ogg')
if("pred_preburst")
sound = pick('sound/voice/pred_pain_rare1.ogg')
if("clownstep")
sound = pick('sound/effects/clownstep1.ogg', 'sound/effects/clownstep2.ogg')
if("giant_lizard_growl")
Expand Down
22 changes: 22 additions & 0 deletions code/modules/mob/living/carbon/human/emote.dm
Original file line number Diff line number Diff line change
Expand Up @@ -219,6 +219,7 @@

var/pain_message = pick("OW!!", "AGH!!", "ARGH!!", "OUCH!!", "ACK!!", "OUF!")
user.langchat_speech(pain_message, group, GLOB.all_languages, skip_language_check = TRUE, animation_style = LANGCHAT_FAST_POP, additional_styles = list("langchat_yell"))

/datum/emote/living/carbon/human/salute
key = "salute"
key_third_person = "salutes"
Expand Down Expand Up @@ -382,3 +383,24 @@
return

user.show_speech_bubble("scream")

/datum/emote/living/carbon/human/burstscream
key = "burstscream"
message = "screams in agony!"
emote_type = EMOTE_FORCED_AUDIO|EMOTE_AUDIBLE|EMOTE_VISIBLE
stat_allowed = UNCONSCIOUS

/datum/emote/living/carbon/human/burstscream/get_sound(mob/living/carbon/human/user)
if(!user.species)
return
if(user.species.burstscreams[user.gender])
return user.species.burstscreams[user.gender]
if(user.species.burstscreams[NEUTER])
return user.species.burstscreams[NEUTER]

/datum/emote/living/carbon/human/burstscream/run_emote(mob/living/user, params, type_override, intentional)
. = ..()
if(!.)
return FALSE

user.show_speech_bubble("pain")
2 changes: 2 additions & 0 deletions code/modules/mob/living/carbon/human/species/human.dm
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,8 @@
uses_skin_color = TRUE
special_body_types = TRUE

burstscreams = list(MALE = "male_preburst", FEMALE = "female_preburst")

/datum/species/human/handle_on_fire(humanoidmob)
. = ..()
INVOKE_ASYNC(humanoidmob, TYPE_PROC_REF(/mob, emote), pick("pain", "scream"))
Expand Down
3 changes: 3 additions & 0 deletions code/modules/mob/living/carbon/human/species/species.dm
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,9 @@

var/has_species_tab_items = FALSE

//Species specific emote sound lists
var/list/burstscreams = list()

/datum/species/New()
if(unarmed_type)
unarmed = new unarmed_type()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,8 @@

bloodsplatter_type = /obj/effect/temp_visual/dir_setting/bloodsplatter/yautjasplatter

burstscreams = list(MALE = "pred_preburst", FEMALE = "pred_preburst")

heat_level_1 = 500
heat_level_2 = 700
heat_level_3 = 1000
Expand Down
7 changes: 5 additions & 2 deletions code/modules/mob/living/carbon/human/update_icons.dm
Original file line number Diff line number Diff line change
Expand Up @@ -694,11 +694,14 @@ Applied by gun suicide and high impact bullet executions, removed by rejuvenate,
/mob/living/carbon/human/update_burst()
remove_overlay(BURST_LAYER)
var/image/standing
var/bursting_icon = "stand"
if(isyautja(src))
bursting_icon = "yautja_stand"
switch(chestburst)
if(1)
standing = image("icon" = 'icons/mob/xenos/effects.dmi',"icon_state" = "burst_stand", "layer" = -BURST_LAYER)
standing = image("icon" = 'icons/mob/xenos/effects.dmi',"icon_state" = "burst_[bursting_icon]", "layer" = -BURST_LAYER)
if(2)
standing = image("icon" = 'icons/mob/xenos/effects.dmi',"icon_state" = "bursted_stand", "layer" = -BURST_LAYER)
standing = image("icon" = 'icons/mob/xenos/effects.dmi',"icon_state" = "bursted_[bursting_icon]", "layer" = -BURST_LAYER)
else
return
overlays_standing[BURST_LAYER] = standing
Expand Down
12 changes: 5 additions & 7 deletions code/modules/mob/living/carbon/xenomorph/Embryo.dm
Original file line number Diff line number Diff line change
Expand Up @@ -309,20 +309,18 @@
if(loc != victim)
victim.chestburst = 0
return
if(ishuman(victim) || isyautja(victim))
victim.emote("burstscream")
sleep(25) //Sound delay
victim.update_burst()
sleep(6) //Sprite delay
sleep(10) //Sprite delay
if(!victim || !victim.loc)
return
if(loc != victim)
victim.chestburst = 0 //if a doc removes the larva during the sleep(6), we must remove the 'bursting' overlay on the human
victim.chestburst = 0 //if a doc removes the larva during the sleep(10), we must remove the 'bursting' overlay on the human
victim.update_burst()
return

if(isyautja(victim))
victim.emote("roar")
else
victim.emote("scream")

var/burstcount = 0

victim.spawn_gibs()
Expand Down
2 changes: 1 addition & 1 deletion code/modules/mob/living/carbon/xenomorph/Facehuggers.dm
Original file line number Diff line number Diff line change
Expand Up @@ -293,7 +293,7 @@
human.disable_lights()
human.disable_special_items()
if(ishuman_strict(human))
playsound(loc, human.gender == "male" ? 'sound/misc/facehugged_male.ogg' : 'sound/misc/facehugged_female.ogg' , 25, 0)
playsound(loc, human.gender == "male" ? "male_hugged" : "female_hugged" , 25, 0)
else if(isyautja(human))
playsound(loc, 'sound/voice/pred_facehugged.ogg', 65, FALSE)
if(!sterile)
Expand Down
Binary file modified icons/mob/xenos/effects.dmi
Binary file not shown.
File renamed without changes.
Binary file added sound/voice/human_female_facehugged2.ogg
Binary file not shown.
Binary file added sound/voice/human_female_preburst1.ogg
Binary file not shown.
Binary file added sound/voice/human_female_preburst2.ogg
Binary file not shown.
Binary file added sound/voice/human_female_preburst3.ogg
Binary file not shown.
Binary file added sound/voice/human_female_preburst4.ogg
Binary file not shown.
Binary file added sound/voice/human_female_preburst5.ogg
Binary file not shown.
Binary file added sound/voice/human_female_preburst6.ogg
Binary file not shown.
Binary file added sound/voice/human_female_preburst7.ogg
Binary file not shown.
File renamed without changes.
Binary file added sound/voice/human_male_facehugged2.ogg
Binary file not shown.
Binary file added sound/voice/human_male_facehugged3.ogg
Binary file not shown.
Binary file added sound/voice/human_male_preburst1.ogg
Binary file not shown.
Binary file added sound/voice/human_male_preburst2.ogg
Binary file not shown.
Binary file added sound/voice/human_male_preburst3.ogg
Binary file not shown.
Binary file added sound/voice/human_male_preburst4.ogg
Binary file not shown.
Binary file added sound/voice/human_male_preburst5.ogg
Binary file not shown.
Binary file added sound/voice/human_male_preburst6.ogg
Binary file not shown.
Binary file added sound/voice/human_male_preburst7.ogg
Binary file not shown.
Binary file added sound/voice/human_male_preburst8.ogg
Binary file not shown.
Binary file added sound/voice/human_male_preburst9.ogg
Binary file not shown.

0 comments on commit 1a2c361

Please sign in to comment.