Decl Music and Ported Music + Licenses (#8221)

* Decl music + ported music

* Bugfixes and not

* unit test

* debug shit + some fixes

* More Changes

* Removes some unused/extra songs in case it was a file size issue

* Nuke crash-prone songs

* Add cynosure defines

* It Just Works Now + Finished Headphone code/sprites

* requested tweaks/debug removal

* recheck dme
This commit is contained in:
Cerebulon
2022-03-13 03:45:36 +00:00
committed by GitHub
parent 65db4f5a98
commit 474a8c43cf
62 changed files with 662 additions and 98 deletions

View File

@@ -4,7 +4,7 @@
var/msg = "" // This is to make sure that the pieces have actually added something
var/raw_msg = ""
. = list("formatted" = "[verb], \"", "raw" = "")
for(var/datum/multilingual_say_piece/SP in message_pieces)
iteration_count++
var/piece = SP.message
@@ -15,11 +15,11 @@
if(radio)
.["formatted"] = SP.speaking.format_message_radio(piece)
.["raw"] = piece
return
return
else
.["formatted"] = SP.speaking.format_message(piece)
.["raw"] = piece
return
return
if(iteration_count == 1)
piece = capitalize(piece)
@@ -34,7 +34,7 @@
piece = pick(S.say_list.speak)
raw_msg += (piece + " ")
//HTML formatting
if(!SP.speaking) // Catch the most generic case first
piece = "<span class='message body'>[piece]</span>"
@@ -44,7 +44,7 @@
piece = SP.speaking.format_message(piece)
msg += (piece + " ")
if(msg == "")
// There is literally no content left in this message, we need to shut this shit down
.["formatted"] = "" // hear_say will suppress it
@@ -90,7 +90,7 @@
var/message = combined["formatted"]
if(message == "")
return
if(sleeping || stat == UNCONSCIOUS)
hear_sleep(message)
return FALSE
@@ -108,7 +108,7 @@
if(is_preference_enabled(/datum/client_preference/ghost_ears) && (speaker in view(src)))
message = "<b>[message]</b>"
if(is_deaf())
if(is_deaf() || get_sound_volume_multiplier() < 0.2)
if(speaker == src)
to_chat(src, "<span class='filter_say'><span class='warning'>You cannot hear yourself speak!</span></span>")
else
@@ -169,7 +169,7 @@
var/regex/R = new("\\[delimiter](.+?)\\[delimiter]","g")
var/tag = GLOB.speech_toppings[delimiter]
tagged_message = R.Replace(tagged_message,"<[tag]>$1</[tag]>")
return tagged_message
/mob/proc/hear_radio(var/list/message_pieces, var/verb = "says", var/part_a, var/part_b, var/part_c, var/mob/speaker = null, var/hard_to_hear = 0, var/vname = "")
@@ -293,4 +293,4 @@
name = speaker.voice_name
var/rendered = "<span class='game say'><span class='name'>[name]</span> [message]</span>"
to_chat(src, rendered)
to_chat(src, rendered)

View File

@@ -138,7 +138,7 @@
b_loss = b_loss/1.5
f_loss = f_loss/1.5
if (!get_ear_protection() >= 2)
if (get_sound_volume_multiplier() >= 0.2)
ear_damage += 30
ear_deaf += 120
if (prob(70) && !shielded)
@@ -148,7 +148,7 @@
b_loss += 30
if (prob(getarmor(null, "bomb")))
b_loss = b_loss/2
if (!get_ear_protection() >= 2)
if (get_sound_volume_multiplier() >= 0.2)
ear_damage += 15
ear_deaf += 60
if (prob(50) && !shielded)
@@ -1621,3 +1621,8 @@
/mob/living/carbon/human/get_mob_riding_slots()
return list(back, head, wear_suit)
/mob/living/carbon/human/get_sound_volume_multiplier()
. = ..()
for(var/obj/item/clothing/C in list(l_ear, r_ear, head))
. = min(., C.volume_multiplier)

View File

@@ -80,17 +80,12 @@
return ..()
/mob/living/carbon/human/get_ear_protection()
var/sum = 0
if(istype(l_ear, /obj/item/clothing/ears))
var/obj/item/clothing/ears/L = l_ear
sum += L.ear_protection
if(istype(r_ear, /obj/item/clothing/ears))
var/obj/item/clothing/ears/R = r_ear
sum += R.ear_protection
if(istype(head, /obj/item/clothing/head))
var/obj/item/clothing/head/H = head
sum += H.ear_protection
return sum
if (get_sound_volume_multiplier() <= 0.2)
return 2
else if (get_sound_volume_multiplier() <= 0.5)
return 1
else
return 0
/mob/living/carbon/human/get_gender()
return identifying_gender ? identifying_gender : gender

View File

@@ -1185,3 +1185,6 @@
/mob/proc/grab_ghost(force)
if(mind)
return mind.grab_ghost(force = force)
/mob/proc/get_sound_volume_multiplier()
return !ear_deaf

View File

@@ -638,3 +638,13 @@
/mob/new_player/MayRespawn()
return 1
/mob/new_player/verb/next_lobby_track()
set name = "Play Different Lobby Track"
set category = "OOC"
if(!is_preference_enabled(/datum/client_preference/play_lobby_music))
return
var/decl/music_track/new_track = using_map.get_lobby_track(using_map.lobby_track.type)
if(new_track)
new_track.play_to(src)