mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-10 02:09:41 +00:00
Merge pull request #6840 from Neerti/qol_notification_sounds
QoL: Various Notifications
This commit is contained in:
@@ -5,6 +5,7 @@
|
||||
var/finished = FALSE
|
||||
var/role_name = "a thing"
|
||||
var/question = "Would you like to play as a thing?"
|
||||
var/query_sound = 'sound/effects/ghost2.ogg' // A sound file to play to the ghost, to help people who are alt-tabbed know something might interest them.
|
||||
var/be_special_flag = 0
|
||||
var/list/check_bans = list()
|
||||
var/wait_time = 60 SECONDS // How long to wait until returning the list of candidates.
|
||||
@@ -42,6 +43,9 @@
|
||||
spawn(0)
|
||||
if(!C)
|
||||
return
|
||||
window_flash(C)
|
||||
if(query_sound)
|
||||
SEND_SOUND(C, sound(query_sound))
|
||||
var/response = alert(C, question, "[role_name] request", "Yes", "No", "Never for this round")
|
||||
if(response == "Yes")
|
||||
response = alert(C, "Are you sure you want to play as a [role_name]?", "[role_name] request", "Yes", "No") // Protection from a misclick.
|
||||
@@ -62,12 +66,14 @@
|
||||
/datum/ghost_query/promethean
|
||||
role_name = "Promethean"
|
||||
question = "Someone is requesting a soul for a promethean. Would you like to play as one?"
|
||||
query_sound = 'sound/effects/slime_squish.ogg'
|
||||
be_special_flag = BE_ALIEN
|
||||
cutoff_number = 1
|
||||
|
||||
/datum/ghost_query/posi_brain
|
||||
role_name = "Positronic Intelligence"
|
||||
question = "Someone has activated a Positronic Brain. Would you like to play as one?"
|
||||
query_sound = 'sound/machines/boobeebeep.ogg'
|
||||
be_special_flag = BE_AI
|
||||
check_bans = list("AI", "Cyborg")
|
||||
cutoff_number = 1
|
||||
@@ -75,6 +81,7 @@
|
||||
/datum/ghost_query/drone_brain
|
||||
role_name = "Drone Intelligence"
|
||||
question = "Someone has activated a Drone AI Chipset. Would you like to play as one?"
|
||||
query_sound = 'sound/machines/boobeebeep.ogg'
|
||||
be_special_flag = BE_AI
|
||||
check_bans = list("AI", "Cyborg")
|
||||
cutoff_number = 1
|
||||
@@ -90,6 +97,7 @@
|
||||
/datum/ghost_query/xeno
|
||||
role_name = "Alien"
|
||||
question = "An Alien has just been created on the facility. Would you like to play as them?"
|
||||
query_sound = 'sound/voice/hiss5.ogg'
|
||||
be_special_flag = BE_ALIEN
|
||||
|
||||
/datum/ghost_query/blob
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
|
||||
// Strings.
|
||||
var/welcome_text = "Cry havoc and let slip the dogs of war!"
|
||||
var/antag_sound = 'sound/effects/antag_notice/general_baddie_alert.ogg' // The sound file to play when someone gets this role. Only they can hear it.
|
||||
var/leader_welcome_text // Text shown to the leader, if any.
|
||||
var/victory_text // World output at roundend for victory.
|
||||
var/loss_text // As above for loss.
|
||||
|
||||
@@ -95,6 +95,10 @@
|
||||
return code
|
||||
|
||||
/datum/antagonist/proc/greet(var/datum/mind/player)
|
||||
// Makes it harder to miss if you're alt-tabbed or not paying attention.
|
||||
if(antag_sound)
|
||||
SEND_SOUND(player.current, sound(antag_sound))
|
||||
window_flash(player.current.client)
|
||||
|
||||
// Basic intro text.
|
||||
to_chat(player.current, "<span class='danger'><font size=3>You are a [role_text]!</font></span>")
|
||||
|
||||
@@ -6,6 +6,7 @@ var/datum/antagonist/deathsquad/mercenary/commandos
|
||||
role_text = "Syndicate Commando"
|
||||
role_text_plural = "Commandos"
|
||||
welcome_text = "You are in the employ of a criminal syndicate hostile to corporate interests."
|
||||
antag_sound = 'sound/effects/antag_notice/deathsquid_alert.ogg'
|
||||
id_type = /obj/item/weapon/card/id/centcom/ERT
|
||||
|
||||
hard_cap = 4
|
||||
|
||||
@@ -6,6 +6,7 @@ var/datum/antagonist/deathsquad/deathsquad
|
||||
role_text = "Death Commando"
|
||||
role_text_plural = "Death Commandos"
|
||||
welcome_text = "You work in the service of corporate Asset Protection, answering directly to the Board of Directors."
|
||||
antag_sound = 'sound/effects/antag_notice/deathsquid_alert.ogg'
|
||||
landmark_id = "Commando"
|
||||
flags = ANTAG_OVERRIDE_JOB | ANTAG_OVERRIDE_MOB | ANTAG_HAS_NUKE | ANTAG_HAS_LEADER
|
||||
default_access = list(access_cent_general, access_cent_specops, access_cent_living, access_cent_storage)
|
||||
|
||||
@@ -7,6 +7,7 @@ var/datum/antagonist/ert/ert
|
||||
role_text = "Emergency Responder"
|
||||
role_text_plural = "Emergency Responders"
|
||||
welcome_text = "As member of the Emergency Response Team, you answer only to your leader and company officials."
|
||||
antag_sound = 'sound/effects/antag_notice/general_goodie_alert.ogg'
|
||||
antag_text = "You are an <b>anti</b> antagonist! Within the rules, \
|
||||
try to save the station and its inhabitants from the ongoing crisis. \
|
||||
Try to make sure other players have <i>fun</i>! If you are confused or at a loss, always adminhelp, \
|
||||
|
||||
@@ -10,7 +10,8 @@ var/datum/antagonist/technomancer/technomancers
|
||||
welcome_text = "You will need to purchase <b>functions</b> and perhaps some <b>equipment</b> from the various machines around your \
|
||||
base. Choose your technological arsenal carefully. Remember that without the <b>core</b> on your back, your functions are \
|
||||
powerless, and therefore you will be as well.<br>\
|
||||
In your pockets you will find a one-time use teleport device. Use it to leave the base and go to the colony, when you are ready."
|
||||
In your pockets you will find a one-time use teleport device. Use it to leave the base and go to the station, when you are ready."
|
||||
antag_sound = 'sound/effects/antag_notice/technomancer_alert.ogg'
|
||||
flags = ANTAG_OVERRIDE_JOB | ANTAG_CLEAR_EQUIPMENT | ANTAG_CHOOSE_NAME | ANTAG_SET_APPEARANCE | ANTAG_VOTABLE
|
||||
antaghud_indicator = "hudwizard"
|
||||
|
||||
|
||||
@@ -6,6 +6,7 @@ var/datum/antagonist/trader/traders
|
||||
role_text = "Trader"
|
||||
role_text_plural = "Traders"
|
||||
welcome_text = "As a crewmember of the Beruang, you answer to your captain and international laws of space."
|
||||
antag_sound = 'sound/effects/antag_notice/general_goodie_alert.ogg'
|
||||
antag_text = "You are an <b>non-antagonist</b> visitor! Within the rules, \
|
||||
try to provide interesting interaction for the crew. \
|
||||
Try to make sure other players have <i>fun</i>! If you are confused or at a loss, always adminhelp, \
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
restricted_jobs = list("AI", "Cyborg")
|
||||
protected_jobs = list("Security Officer", "Warden", "Detective", "Head of Security", "Colony Director")
|
||||
welcome_text = "Use say \"#g message\" to communicate with your fellow changelings. Remember: you get all of their absorbed DNA if you absorb them."
|
||||
antag_sound = 'sound/effects/antag_notice/ling_alert.ogg'
|
||||
flags = ANTAG_SUSPICIOUS | ANTAG_RANDSPAWN | ANTAG_VOTABLE
|
||||
antaghud_indicator = "hudchangeling"
|
||||
|
||||
|
||||
@@ -18,6 +18,7 @@ var/datum/antagonist/cultist/cult
|
||||
feedback_tag = "cult_objective"
|
||||
antag_indicator = "cult"
|
||||
welcome_text = "You have a talisman in your possession; one that will help you start the cult on this station. Use it well and remember - there are others."
|
||||
antag_sound = 'sound/effects/antag_notice/cult_alert.ogg'
|
||||
victory_text = "The cult wins! It has succeeded in serving its dark masters!"
|
||||
loss_text = "The staff managed to stop the cult!"
|
||||
victory_feedback_tag = "win - cult win"
|
||||
|
||||
@@ -9,6 +9,7 @@ var/datum/antagonist/loyalists/loyalists
|
||||
feedback_tag = "loyalist_objective"
|
||||
antag_indicator = "loyal_head"
|
||||
welcome_text = "You belong to the Company, body and soul. Preserve its interests against the conspirators amongst the crew."
|
||||
antag_sound = 'sound/effects/antag_notice/general_goodie_alert.ogg'
|
||||
victory_text = "The heads of staff remained at their posts! The loyalists win!"
|
||||
loss_text = "The heads of staff did not stop the revolution!"
|
||||
victory_feedback_tag = "win - rev heads killed"
|
||||
|
||||
@@ -8,6 +8,7 @@ var/datum/antagonist/renegade/renegades
|
||||
bantype = "renegade"
|
||||
restricted_jobs = list("AI", "Cyborg")
|
||||
welcome_text = "Something's going to go wrong today, you can just feel it. You're paranoid, you've got a gun, and you're going to survive."
|
||||
antag_sound = 'sound/effects/antag_notice/general_goodie_alert.ogg'
|
||||
antag_text = "You are a <b>minor</b> antagonist! Within the rules, \
|
||||
try to protect yourself and what's important to you. You aren't here to cause trouble, \
|
||||
you're just more willing (and equipped) to go to extremes to stop it than others are. \
|
||||
|
||||
@@ -8,6 +8,7 @@ var/datum/antagonist/rogue_ai/malf
|
||||
mob_path = /mob/living/silicon/ai
|
||||
landmark_id = "AI"
|
||||
welcome_text = "You are malfunctioning! You do not have to follow any laws."
|
||||
antag_sound = 'sound/effects/antag_notice/malf_alert.ogg'
|
||||
victory_text = "The AI has taken control of all of the station's systems."
|
||||
loss_text = "The AI has been shut down!"
|
||||
flags = ANTAG_VOTABLE | ANTAG_OVERRIDE_MOB | ANTAG_OVERRIDE_JOB | ANTAG_CHOOSE_NAME
|
||||
|
||||
@@ -3,6 +3,7 @@ var/datum/antagonist/traitor/traitors
|
||||
// Inherits most of its vars from the base datum.
|
||||
/datum/antagonist/traitor
|
||||
id = MODE_TRAITOR
|
||||
antag_sound = 'sound/effects/antag_notice/traitor_alert.ogg'
|
||||
protected_jobs = list("Security Officer", "Warden", "Detective", "Internal Affairs Agent", "Head of Security", "Colony Director")
|
||||
flags = ANTAG_SUSPICIOUS | ANTAG_RANDSPAWN | ANTAG_VOTABLE
|
||||
can_speak_aooc = FALSE // If they want to plot and plan as this sort of traitor, they'll need to do it ICly.
|
||||
|
||||
@@ -43,9 +43,8 @@
|
||||
if(!H.client && H.mind) //Don't force the dead person to come back if they don't want to.
|
||||
for(var/mob/observer/dead/ghost in player_list)
|
||||
if(ghost.mind == H.mind)
|
||||
to_chat(ghost, "<b><font color = #330033><font size = 3>The Technomancer [user.real_name] is trying to \
|
||||
revive you. Return to your body if you want to be resurrected!</b> \
|
||||
(Verbs -> Ghost -> Re-enter corpse)</font></font>")
|
||||
ghost.notify_revive("The Technomancer [user.real_name] is trying to revive you. \
|
||||
Re-enter your body if you want to be revived!", 'sound/effects/genetics.ogg')
|
||||
break
|
||||
|
||||
H.adjustBruteLoss(-40)
|
||||
|
||||
@@ -310,9 +310,6 @@
|
||||
if (subject.suiciding)
|
||||
scantemp = "Error: Subject's brain is not responding to scanning stimuli."
|
||||
return
|
||||
if ((!subject.ckey) || (!subject.client))
|
||||
scantemp = "Error: Mental interface failure."
|
||||
return
|
||||
if (NOCLONE in subject.mutations)
|
||||
scantemp = "Error: Mental interface failure."
|
||||
return
|
||||
@@ -323,6 +320,14 @@
|
||||
if(istype(modifier_type, /datum/modifier/no_clone))
|
||||
scantemp = "Error: Mental interface failure."
|
||||
return
|
||||
if ((!subject.ckey) || (!subject.client))
|
||||
scantemp = "Error: Mental interface failure."
|
||||
if(subject.stat == DEAD && subject.mind && subject.mind.key) // If they're dead and not in their body, tell them to get in it.
|
||||
for(var/mob/observer/dead/ghost in player_list)
|
||||
if(ghost.ckey == ckey(subject.mind.key))
|
||||
ghost.notify_revive("Someone is trying to scan your body in the cloner. Re-enter your body if you want to be revived!", 'sound/effects/genetics.ogg')
|
||||
break
|
||||
return
|
||||
if (!isnull(find_record(subject.ckey)))
|
||||
scantemp = "Subject already in database."
|
||||
return
|
||||
|
||||
@@ -390,7 +390,7 @@
|
||||
if(!H.client && !H.teleop)
|
||||
for(var/mob/observer/dead/ghost in player_list)
|
||||
if(ghost.mind == H.mind)
|
||||
to_chat(ghost, "<b><font color = #330033><font size = 3>Someone is attempting to resuscitate you. Re-enter your body if you want to be revived!</b> (Verbs -> Ghost -> Re-enter corpse)</font></font>")
|
||||
ghost.notify_revive("Someone is trying to resuscitate you. Re-enter your body if you want to be revived!", 'sound/effects/genetics.ogg')
|
||||
break
|
||||
|
||||
//beginning to place the paddles on patient's chest to allow some time for people to move away to stop the process
|
||||
|
||||
@@ -106,6 +106,7 @@ AI MODULES
|
||||
|
||||
if(laws)
|
||||
laws.sync(target, 0)
|
||||
target.notify_of_law_change()
|
||||
addAdditionalLaws(target, sender)
|
||||
|
||||
to_chat(target, "\The [sender] has uploaded a change to the laws you must follow, using \an [src]. From now on: ")
|
||||
|
||||
@@ -85,6 +85,7 @@
|
||||
"ED-209" = "ed209",
|
||||
"Beepsky" = "secbot"
|
||||
)
|
||||
var/last_revive_notification = null // world.time of last notification, used to avoid spamming players from defibs or cloners.
|
||||
|
||||
/mob/observer/dead/New(mob/body)
|
||||
sight |= SEE_TURFS | SEE_MOBS | SEE_OBJS | SEE_SELF
|
||||
@@ -137,6 +138,9 @@
|
||||
var/mob/target = locate(href_list["track"]) in mob_list
|
||||
if(target)
|
||||
ManualFollow(target)
|
||||
if(href_list["reenter"])
|
||||
reenter_corpse()
|
||||
return
|
||||
|
||||
/mob/observer/dead/attackby(obj/item/W, mob/user)
|
||||
if(istype(W,/obj/item/weapon/book/tome))
|
||||
@@ -811,3 +815,18 @@ mob/observer/dead/MayRespawn(var/feedback = 0)
|
||||
|
||||
/mob/observer/dead/speech_bubble_appearance()
|
||||
return "ghost"
|
||||
|
||||
// Lets a ghost know someone's trying to bring them back, and for them to get into their body.
|
||||
// Mostly the same as TG's sans the hud element, since we don't have TG huds.
|
||||
/mob/observer/dead/proc/notify_revive(var/message, var/sound, flashwindow = TRUE)
|
||||
if((last_revive_notification + 2 MINUTES) > world.time)
|
||||
return
|
||||
last_revive_notification = world.time
|
||||
|
||||
if(flashwindow)
|
||||
window_flash(client)
|
||||
if(message)
|
||||
to_chat(src, "<span class='ghostalert'><font size=4>[message]</font></span>")
|
||||
to_chat(src, "<span class='ghostalert'><a href=?src=[REF(src)];reenter=1>(Click to re-enter)</a></span>")
|
||||
if(sound)
|
||||
SEND_SOUND(src, sound(sound))
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
/mob/living/silicon
|
||||
var/datum/ai_laws/laws = null
|
||||
var/list/additional_law_channels = list("State" = "")
|
||||
var/last_law_notification = null // Avoids receiving 5+ of them at once.
|
||||
|
||||
/mob/living/silicon/proc/laws_sanity_check()
|
||||
if (!src.laws)
|
||||
@@ -9,54 +10,79 @@
|
||||
/mob/living/silicon/proc/has_zeroth_law()
|
||||
return laws.zeroth_law != null
|
||||
|
||||
/mob/living/silicon/proc/set_zeroth_law(var/law, var/law_borg)
|
||||
/mob/living/silicon/proc/set_zeroth_law(var/law, var/law_borg, notify = TRUE)
|
||||
laws_sanity_check()
|
||||
laws.set_zeroth_law(law, law_borg)
|
||||
if(notify)
|
||||
notify_of_law_change(law||law_borg ? "NEW ZEROTH LAW: <b>[istype(src, /mob/living/silicon/robot) && law_borg ? law_borg : law]</b>" : null)
|
||||
log_and_message_admins("has given [src] the zeroth laws: [law]/[law_borg ? law_borg : "N/A"]")
|
||||
|
||||
/mob/living/silicon/robot/set_zeroth_law(var/law, var/law_borg)
|
||||
/mob/living/silicon/robot/set_zeroth_law(var/law, var/law_borg, notify = TRUE)
|
||||
..()
|
||||
if(tracking_entities)
|
||||
to_chat(src, "<span class='warning'>Internal camera is currently being accessed.</span>")
|
||||
|
||||
/mob/living/silicon/proc/add_ion_law(var/law)
|
||||
/mob/living/silicon/proc/add_ion_law(var/law, notify = TRUE)
|
||||
laws_sanity_check()
|
||||
laws.add_ion_law(law)
|
||||
if(notify)
|
||||
notify_of_law_change("NEW \[!ERROR!\] LAW: <b>[law]</b>")
|
||||
log_and_message_admins("has given [src] the ion law: [law]")
|
||||
|
||||
/mob/living/silicon/proc/add_inherent_law(var/law)
|
||||
/mob/living/silicon/proc/add_inherent_law(var/law, notify = TRUE)
|
||||
laws_sanity_check()
|
||||
laws.add_inherent_law(law)
|
||||
if(notify)
|
||||
notify_of_law_change("NEW CORE LAW: <b>[law]</b>")
|
||||
log_and_message_admins("has given [src] the inherent law: [law]")
|
||||
|
||||
/mob/living/silicon/proc/add_supplied_law(var/number, var/law)
|
||||
/mob/living/silicon/proc/add_supplied_law(var/number, var/law, notify = TRUE)
|
||||
laws_sanity_check()
|
||||
laws.add_supplied_law(number, law)
|
||||
if(notify)
|
||||
var/th = uppertext("[number]\th")
|
||||
notify_of_law_change("NEW \[[th]\] LAW: <b>[law]</b>")
|
||||
log_and_message_admins("has given [src] the supplied law: [law]")
|
||||
|
||||
/mob/living/silicon/proc/delete_law(var/datum/ai_law/law)
|
||||
/mob/living/silicon/proc/delete_law(var/datum/ai_law/law, notify = TRUE)
|
||||
laws_sanity_check()
|
||||
laws.delete_law(law)
|
||||
if(notify)
|
||||
notify_of_law_change("LAW DELETED: <b>[law.law]</b>")
|
||||
log_and_message_admins("has deleted a law belonging to [src]: [law.law]")
|
||||
|
||||
/mob/living/silicon/proc/clear_inherent_laws(var/silent = 0)
|
||||
/mob/living/silicon/proc/clear_inherent_laws(var/silent = 0, notify = TRUE)
|
||||
laws_sanity_check()
|
||||
laws.clear_inherent_laws()
|
||||
if(notify)
|
||||
notify_of_law_change("CORE LAWS WIPED.")
|
||||
if(!silent)
|
||||
log_and_message_admins("cleared the inherent laws of [src]")
|
||||
|
||||
/mob/living/silicon/proc/clear_ion_laws(var/silent = 0)
|
||||
/mob/living/silicon/proc/clear_ion_laws(var/silent = 0, notify = TRUE)
|
||||
laws_sanity_check()
|
||||
laws.clear_ion_laws()
|
||||
if(notify)
|
||||
notify_of_law_change("CORRUPTED LAWS WIPED.")
|
||||
if(!silent)
|
||||
log_and_message_admins("cleared the ion laws of [src]")
|
||||
|
||||
/mob/living/silicon/proc/clear_supplied_laws(var/silent = 0)
|
||||
/mob/living/silicon/proc/clear_supplied_laws(var/silent = 0, notify = TRUE)
|
||||
laws_sanity_check()
|
||||
laws.clear_supplied_laws()
|
||||
if(notify)
|
||||
notify_of_law_change("NON-CORE LAWS WIPED.")
|
||||
if(!silent)
|
||||
log_and_message_admins("cleared the supplied laws of [src]")
|
||||
|
||||
/mob/living/silicon/proc/notify_of_law_change(message)
|
||||
if((last_law_notification + 1 SECOND) > world.time)
|
||||
return
|
||||
last_law_notification = world.time
|
||||
SEND_SOUND(src, 'sound/machines/defib_success.ogg')
|
||||
window_flash(client)
|
||||
to_chat(src, span("warning", message))
|
||||
|
||||
/mob/living/silicon/proc/statelaws(var/datum/ai_laws/laws)
|
||||
var/prefix = ""
|
||||
if(MAIN_CHANNEL == lawchannel)
|
||||
|
||||
@@ -65,6 +65,7 @@ em {font-style: normal;font-weight: bold;}
|
||||
.say {}
|
||||
.alert {color: #ff0000;}
|
||||
h1.alert, h2.alert {color: #000000;}
|
||||
.ghostalert {color: #5c00e6; font-style: italic; font-weight: bold;}
|
||||
|
||||
.emote {font-style: italic;}
|
||||
|
||||
|
||||
39
html/changelogs/neerti-qol_notifications.yml
Normal file
39
html/changelogs/neerti-qol_notifications.yml
Normal file
@@ -0,0 +1,39 @@
|
||||
################################
|
||||
# Example Changelog File
|
||||
#
|
||||
# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb.
|
||||
#
|
||||
# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.)
|
||||
# When it is, any changes listed below will disappear.
|
||||
#
|
||||
# Valid Prefixes:
|
||||
# bugfix
|
||||
# wip (For works in progress)
|
||||
# tweak
|
||||
# soundadd
|
||||
# sounddel
|
||||
# rscadd (general adding of nice things)
|
||||
# rscdel (general deleting of nice things)
|
||||
# imageadd
|
||||
# imagedel
|
||||
# maptweak
|
||||
# spellcheck (typo fixes)
|
||||
# experiment
|
||||
#################################
|
||||
|
||||
# Your name.
|
||||
author: Neerti
|
||||
|
||||
# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again.
|
||||
delete-after: True
|
||||
|
||||
# Any changes you've made. See valid prefix list above.
|
||||
# INDENT WITH TWO SPACES. NOT TABS. SPACES.
|
||||
# SCREW THIS UP AND IT WON'T WORK.
|
||||
# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries.
|
||||
# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog.
|
||||
changes:
|
||||
- soundadd: "Receiving an antag role will now play a sound to the new antagonist."
|
||||
- soundadd: "Having laws changed as a silicon (AI or Borg) will now play a sound and show the changed law in the chat."
|
||||
- soundadd: "Being offered a ghost role while a ghost will now play a sound."
|
||||
- soundadd: "Someone attempting to revive someone else will play a sound to the player being revived, if they are not in their body."
|
||||
BIN
sound/effects/antag_notice/cult_alert.ogg
Normal file
BIN
sound/effects/antag_notice/cult_alert.ogg
Normal file
Binary file not shown.
BIN
sound/effects/antag_notice/deathsquid_alert.ogg
Normal file
BIN
sound/effects/antag_notice/deathsquid_alert.ogg
Normal file
Binary file not shown.
BIN
sound/effects/antag_notice/general_baddie_alert.ogg
Normal file
BIN
sound/effects/antag_notice/general_baddie_alert.ogg
Normal file
Binary file not shown.
BIN
sound/effects/antag_notice/general_goodie_alert.ogg
Normal file
BIN
sound/effects/antag_notice/general_goodie_alert.ogg
Normal file
Binary file not shown.
BIN
sound/effects/antag_notice/ling_alert.ogg
Normal file
BIN
sound/effects/antag_notice/ling_alert.ogg
Normal file
Binary file not shown.
BIN
sound/effects/antag_notice/malf_alert.ogg
Normal file
BIN
sound/effects/antag_notice/malf_alert.ogg
Normal file
Binary file not shown.
BIN
sound/effects/antag_notice/technomancer_alert.ogg
Normal file
BIN
sound/effects/antag_notice/technomancer_alert.ogg
Normal file
Binary file not shown.
BIN
sound/effects/antag_notice/traitor_alert.ogg
Normal file
BIN
sound/effects/antag_notice/traitor_alert.ogg
Normal file
Binary file not shown.
BIN
sound/effects/genetics.ogg
Normal file
BIN
sound/effects/genetics.ogg
Normal file
Binary file not shown.
Reference in New Issue
Block a user