mirror of
https://github.com/Citadel-Station-13/Citadel-Station-13-RP.git
synced 2025-12-10 23:01:17 +00:00
send sound
This commit is contained in:
@@ -168,7 +168,7 @@
|
||||
SSticker.mode:explosion_in_progress = 1
|
||||
for(var/mob/M in world)
|
||||
if(M.client)
|
||||
M << 'sound/machines/Alarm.ogg'
|
||||
SEND_SOUND(M, sound('sound/machines/Alarm'))
|
||||
to_chat(world, "<span class='notice'><b>Incoming missile detected.. Impact in 10..</b></span>")
|
||||
for (var/i=9 to 1 step -1)
|
||||
sleep(10)
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
copied = AM
|
||||
update_icon()
|
||||
to_chat(user, "<span class='notice'>You've copied \the [AM]'s appearance.</span>")
|
||||
user << 'sound/weapons/flash.ogg'
|
||||
SEND_SOUND(user, sound('sound/weapons/flash'))
|
||||
return 1
|
||||
else if(istype(hit_atom, /turf))
|
||||
var/turf/T = hit_atom
|
||||
@@ -34,7 +34,7 @@
|
||||
illusion = new(T)
|
||||
illusion.copy_appearance(copied)
|
||||
to_chat(user, "<span class='notice'>An illusion of \the [copied] is made on \the [T].</span>")
|
||||
user << 'sound/effects/pop.ogg'
|
||||
SEND_SOUND(user, sound('sound/effects/pop'))
|
||||
return 1
|
||||
else
|
||||
if(pay_energy(100))
|
||||
|
||||
@@ -267,7 +267,7 @@
|
||||
else
|
||||
|
||||
var/mob/selected = find_dead_player("[C.ckey]")
|
||||
selected << 'sound/machines/chime.ogg' //probably not the best sound but I think it's reasonable
|
||||
SEND_SOUND(selected, sound('sound/machines/chime')) //probably not the best sound but I think it's reasonable
|
||||
var/answer = alert(selected,"Do you want to return to life?","Cloning","Yes","No")
|
||||
if(answer != "No" && pod.growclone(C))
|
||||
temp = "Initiating cloning cycle..."
|
||||
|
||||
@@ -31,7 +31,7 @@ proc/empulse(turf/epicenter, first_range, second_range, third_range, fourth_rang
|
||||
fourth_range = third_range
|
||||
|
||||
for(var/mob/M in range(first_range, epicenter))
|
||||
M << 'sound/effects/EMPulse.ogg'
|
||||
SEND_SOUND(M, sound('sound/effects/EMPulse'))
|
||||
|
||||
for(var/atom/T in range(fourth_range, epicenter))
|
||||
#ifdef EMPDEBUG
|
||||
|
||||
@@ -57,11 +57,11 @@ proc/explosion(turf/epicenter, devastation_range, heavy_impact_range, light_impa
|
||||
if(!istype(M.loc,/turf/space))
|
||||
if(creaking_explosion)
|
||||
if(prob(65))
|
||||
M << 'sound/effects/explosioncreak1.ogg'
|
||||
SEND_SOUND(M, sound('sound/effects/explosioncreak1'))
|
||||
else
|
||||
M << 'sound/effects/explosioncreak2.ogg'
|
||||
SEND_SOUND(M, sound('sound/effects/explosioncreak2'))
|
||||
else
|
||||
M << 'sound/effects/explosionfar.ogg'
|
||||
SEND_SOUND(M, sound('sound/effects/explosionfar'))
|
||||
|
||||
if(creaking_explosion)
|
||||
addtimer(CALLBACK(M, /mob/proc/playsound_local, epicenter, null, rand(25, 40), 1, frequency, null, null, FALSE, 'sound/effects/creak1.ogg', null, null, null, null, 0), 5 SECONDS)
|
||||
|
||||
@@ -95,22 +95,22 @@
|
||||
switch(new_state)
|
||||
if(PROXIMITY_OFF_CAMERANET)
|
||||
to_chat(carrier, "<span class='notice'>[icon2html(thing = src, target = carrier)] Now outside of camera network.</span>")
|
||||
carrier << 'sound/machines/defib_failed.ogg'
|
||||
SEND_SOUND(carrier, sound('sound/machines/defib_failed'))
|
||||
if(PROXIMITY_NONE)
|
||||
to_chat(carrier, "<span class='notice'>[icon2html(thing = src, target = carrier)] Now within camera network, AI and cameras unfocused.</span>")
|
||||
carrier << 'sound/machines/defib_safetyOff.ogg'
|
||||
SEND_SOUND(carrier, sound('sound/machines/defib_safetyOff'))
|
||||
if(PROXIMITY_NEAR)
|
||||
to_chat(carrier, "<span class='warning'>[icon2html(thing = src, target = carrier)] Warning: AI focus at nearby location.</span>")
|
||||
carrier << 'sound/machines/defib_SafetyOn.ogg'
|
||||
SEND_SOUND(carrier, sound('sound/machines/defib_SafetyOn'))
|
||||
if(PROXIMITY_ON_SCREEN)
|
||||
to_chat(carrier, "<font size='3'><span class='danger'>[icon2html(thing = src, target = carrier)] Alert: AI or camera focused at current location!</span></font>")
|
||||
carrier <<'sound/machines/defib_ready.ogg'
|
||||
SEND_SOUND(carrier, sound('sound/machines/defib_ready'))
|
||||
if(PROXIMITY_TRACKING)
|
||||
to_chat(carrier, "<font size='3'><span class='danger'>[icon2html(thing = src, target = carrier)] Danger: AI is actively tracking you!</span></font>")
|
||||
carrier << 'sound/machines/defib_success.ogg'
|
||||
SEND_SOUND(carrier, sound('sound/machines/defib_success'))
|
||||
if(PROXIMITY_TRACKING_FAIL)
|
||||
to_chat(carrier, "<font size='3'><span class='danger'>[icon2html(thing = src, target = carrier)] Danger: AI is attempting to actively track you, but you are outside of the camera network!</span></font>")
|
||||
carrier <<'sound/machines/defib_ready.ogg'
|
||||
SEND_SOUND(carrier, sound('sound/machines/defib_ready'))
|
||||
|
||||
|
||||
#undef PROXIMITY_OFF_CAMERANET
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
return
|
||||
to_chat(src, "<span class='notice'>[icon2html(thing = origin_atom, target = src)] Receiving communicator request from [origin_atom]. To answer, use the <b>Call Communicator</b> \
|
||||
verb, and select that name to answer the call.</span>")
|
||||
src << 'sound/machines/defib_SafetyOn.ogg'
|
||||
SEND_SOUND(src, sound('sound/machines/defib_SafetyOn'))
|
||||
comm.voice_invites |= src
|
||||
if(message == "ping")
|
||||
if(client && client.prefs.communicator_visibility)
|
||||
@@ -45,7 +45,7 @@
|
||||
exonet.send_message(origin_address, "64 bytes received from [exonet.address] ecmp_seq=1 ttl=51 time=[random] ms")
|
||||
if(message == "text")
|
||||
to_chat(src, "<span class='notice'>[icon2html(thing = origin_atom, target = src)] Received text message from [origin_atom]: <b>\"[text]\"</b></span>")
|
||||
src << 'sound/machines/defib_safetyOff.ogg'
|
||||
SEND_SOUND(src, sound('sound/machines/defib_safetyOff'))
|
||||
exonet_messages.Add("<b>From [origin_atom]:</b><br>[text]")
|
||||
return
|
||||
|
||||
|
||||
@@ -1074,7 +1074,7 @@ var/list/admin_verbs_event_manager = list(
|
||||
|
||||
for (var/mob/T as mob in mob_list)
|
||||
to_chat(T, "<br><center><span class='notice'><b><font size=4>Man up.<br> Deal with it.</font></b><br>Move along.</span></center><br>")
|
||||
T << 'sound/voice/ManUp1.ogg'
|
||||
SEND_SOUND(T, sound('sound/voice/ManUp1'))
|
||||
|
||||
log_admin("[key_name(usr)] told everyone to man up and deal with it.")
|
||||
message_admins("<font color='blue'>[key_name_admin(usr)] told everyone to man up and deal with it.</font>", 1)
|
||||
|
||||
@@ -255,7 +255,7 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new)
|
||||
|
||||
for(var/client/X in admins)
|
||||
if(X.is_preference_enabled(/datum/client_preference/holder/play_adminhelp_ping))
|
||||
X << 'sound/effects/adminhelp.ogg'
|
||||
SEND_SOUND(X, sound('sound/effects/adminhelp'))
|
||||
window_flash(X)
|
||||
to_chat(X, chat_msg)
|
||||
|
||||
@@ -342,7 +342,7 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new)
|
||||
|
||||
if(initiator)
|
||||
if(initiator.is_preference_enabled(/datum/client_preference/holder/play_adminhelp_ping))
|
||||
initiator << 'sound/effects/adminhelp.ogg'
|
||||
SEND_SOUND(initiator, sound('sound/effects/adminhelp'))
|
||||
|
||||
to_chat(initiator, "<font color='red' size='4'><b>- AdminHelp Rejected! -</b></font>")
|
||||
to_chat(initiator, "<font color='red'><b>Your admin help was rejected.</b></font>")
|
||||
|
||||
@@ -164,7 +164,7 @@
|
||||
|
||||
//play the recieving admin the adminhelp sound (if they have them enabled)
|
||||
if(recipient.is_preference_enabled(/datum/client_preference/holder/play_adminhelp_ping))
|
||||
recipient << 'sound/effects/adminhelp.ogg'
|
||||
SEND_SOUND(recipient, sound('sound/effects/adminhelp'))
|
||||
|
||||
else
|
||||
if(holder) //sender is an admin but recipient is not. Do BIG RED TEXT
|
||||
@@ -179,7 +179,7 @@
|
||||
admin_ticket_log(recipient, "<font color='blue'>PM From [key_name_admin(src)]: [keywordparsedmsg]</font>")
|
||||
|
||||
//always play non-admin recipients the adminhelp sound
|
||||
recipient << 'sound/effects/adminhelp.ogg'
|
||||
SEND_SOUND(recipient, sound('sound/effects/adminhelp'))
|
||||
|
||||
//AdminPM popup for ApocStation and anybody else who wants to use it. Set it with POPUP_ADMIN_PM in config_legacy.txt ~Carn
|
||||
if(config_legacy.popup_admin_pm)
|
||||
@@ -264,7 +264,7 @@
|
||||
|
||||
window_flash(C)
|
||||
//always play non-admin recipients the adminhelp sound
|
||||
C << 'sound/effects/adminhelp.ogg'
|
||||
SEND_SOUND(C, sound('sound/effects/adminhelp'))
|
||||
|
||||
C.ircreplyamount = IRCREPLYCOUNT
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
if((R_ADMIN|R_MOD) & C.holder.rights)
|
||||
if(C.is_preference_enabled(/datum/client_preference/admin/show_chat_prayers))
|
||||
C << msg
|
||||
C << 'sound/effects/ding.ogg'
|
||||
SEND_SOUND(C, sound('sound/effects/ding'))
|
||||
to_chat(usr, "Your prayers have been received by the gods.")
|
||||
|
||||
feedback_add_details("admin_verb","PR") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
@@ -34,11 +34,11 @@
|
||||
for(var/client/C in admins)
|
||||
if((R_ADMIN|R_MOD) & C.holder.rights)
|
||||
C << msg
|
||||
C << 'sound/machines/signal.ogg'
|
||||
SEND_SOUND(C, sound('sound/machines/signal'))
|
||||
|
||||
/proc/Syndicate_announce(var/msg, var/mob/Sender)
|
||||
msg = "<font color='blue'><b><font color=crimson>ILLEGAL:</font>[key_name(Sender, 1)] (<A HREF='?_src_=holder;adminplayeropts=\ref[Sender]'>PP</A>) (<A HREF='?_src_=vars;Vars=\ref[Sender]'>VV</A>) (<A HREF='?_src_=holder;subtlemessage=\ref[Sender]'>SM</A>) ([admin_jump_link(Sender, null)]) (<A HREF='?_src_=holder;secretsadmin=check_antagonist'>CA</A>) (<A HREF='?_src_=holder;BlueSpaceArtillery=\ref[Sender]'>BSA</A>) (<A HREF='?_src_=holder;SyndicateReply=\ref[Sender]'>RPLY</A>):</b> [msg]</font>"
|
||||
for(var/client/C in admins)
|
||||
if((R_ADMIN|R_MOD) & C.holder.rights)
|
||||
C << msg
|
||||
C << 'sound/machines/signal.ogg'
|
||||
SEND_SOUND(C, sound('sound/machines/signal'))
|
||||
|
||||
@@ -126,7 +126,7 @@ obj/machinery/gateway/centerstation/process(delta_time)
|
||||
if(!awaygate) return
|
||||
|
||||
use_power(5000)
|
||||
M << 'sound/effects/phasein.ogg'
|
||||
SEND_SOUND(M, sound('sound/effects/phasein'))
|
||||
playsound(src, 'sound/effects/phasein.ogg', 100, 1)
|
||||
if(awaygate.calibrated)
|
||||
M.forceMove(get_step(awaygate.loc, SOUTH))
|
||||
@@ -243,7 +243,7 @@ obj/machinery/gateway/centerstation/process(delta_time)
|
||||
return
|
||||
M.forceMove(get_step(stationgate.loc, SOUTH))
|
||||
M.setDir(SOUTH)
|
||||
M << 'sound/effects/phasein.ogg'
|
||||
SEND_SOUND(M, sound('sound/effects/phasein'))
|
||||
playsound(src, 'sound/effects/phasein.ogg', 100, 1)
|
||||
|
||||
|
||||
|
||||
@@ -515,7 +515,7 @@
|
||||
|
||||
for(var/mob/M in player_list) // For everyone else.
|
||||
if(M.z == T.z && get_dist(M, T) > world.view && !M.ear_deaf && !istype(M.loc,/turf/space))
|
||||
M << 'sound/effects/explosionfar.ogg'
|
||||
SEND_SOUND(M, sound('sound/effects/explosionfar'))
|
||||
|
||||
exploding = FALSE
|
||||
|
||||
|
||||
@@ -19,11 +19,11 @@
|
||||
if(A.z in zLevels)
|
||||
A.gravitychange(gravity_is_on, A)
|
||||
if(prob(50))
|
||||
A << 'sound/effects/creak1.ogg'
|
||||
SEND_SOUND(A, sound('sound/effects/creak1'))
|
||||
else if (prob(33))
|
||||
A << 'sound/effects/creak2.ogg'
|
||||
SEND_SOUND(A, sound('sound/effects/creak2'))
|
||||
else
|
||||
A << 'sound/effects/creak3.ogg'
|
||||
SEND_SOUND(A, sound('sound/effects/creak3'))
|
||||
|
||||
|
||||
/datum/event/gravity/end()
|
||||
|
||||
@@ -69,7 +69,7 @@
|
||||
to_chat(L, "<span class='danger'>The ground lurches beneath you!</span>")
|
||||
shake_camera(L, 6, 1)
|
||||
if(!L.ear_deaf)
|
||||
L << 'sound/effects/explosionfar.ogg'
|
||||
SEND_SOUND(L, sound('sound/effects/explosionfar'))
|
||||
qdel(src)
|
||||
|
||||
/obj/structure/meteorite
|
||||
|
||||
@@ -112,27 +112,27 @@ mob/living/carbon/proc/handle_hallucinations()
|
||||
//Strange audio
|
||||
//to_chat(src, "Strange Audio")
|
||||
switch(rand(1,12))
|
||||
if(1) src << 'sound/machines/airlock.ogg'
|
||||
if(1) SEND_SOUND(src, sound('sound/machines/airlock'))
|
||||
if(2)
|
||||
if(prob(50))src << 'sound/effects/Explosion1.ogg'
|
||||
else src << 'sound/effects/Explosion2.ogg'
|
||||
if(3) src << 'sound/effects/explosionfar.ogg'
|
||||
if(4) src << 'sound/effects/Glassbr1.ogg'
|
||||
if(5) src << 'sound/effects/Glassbr2.ogg'
|
||||
if(6) src << 'sound/effects/Glassbr3.ogg'
|
||||
if(7) src << 'sound/machines/twobeep.ogg'
|
||||
if(8) src << 'sound/machines/windowdoor.ogg'
|
||||
if(prob(50))SEND_SOUND(src, sound('sound/effects/Explosion1'))
|
||||
else SEND_SOUND(src, sound('sound/effects/Explosion2'))
|
||||
if(3) SEND_SOUND(src, sound('sound/effects/explosionfar'))
|
||||
if(4) SEND_SOUND(src, sound('sound/effects/Glassbr1'))
|
||||
if(5) SEND_SOUND(src, sound('sound/effects/Glassbr2'))
|
||||
if(6) SEND_SOUND(src, sound('sound/effects/Glassbr3'))
|
||||
if(7) SEND_SOUND(src, sound('sound/machines/twobeep'))
|
||||
if(8) SEND_SOUND(src, sound('sound/machines/windowdoor'))
|
||||
if(9)
|
||||
//To make it more realistic, I added two gunshots (enough to kill)
|
||||
src << 'sound/weapons/Gunshot1.ogg'
|
||||
SEND_SOUND(src, sound('sound/weapons/Gunshot1'))
|
||||
spawn(rand(10,30))
|
||||
src << 'sound/weapons/Gunshot2.ogg'
|
||||
if(10) src << 'sound/weapons/smash.ogg'
|
||||
SEND_SOUND(src, sound('sound/weapons/Gunshot2'))
|
||||
if(10) SEND_SOUND(src, sound('sound/weapons/smash'))
|
||||
if(11)
|
||||
//Same as above, but with tasers.
|
||||
src << 'sound/weapons/Taser.ogg'
|
||||
SEND_SOUND(src, sound('sound/weapons/Taser'))
|
||||
spawn(rand(10,30))
|
||||
src << 'sound/weapons/Taser.ogg'
|
||||
SEND_SOUND(src, sound('sound/weapons/Taser'))
|
||||
//Rare audio
|
||||
if(12)
|
||||
//These sounds are (mostly) taken from Hidden: Source
|
||||
|
||||
@@ -246,27 +246,27 @@
|
||||
//Strange audio
|
||||
//to_chat(src, "Strange Audio")
|
||||
switch(rand(1,12))
|
||||
if(1) src << 'sound/machines/airlock.ogg'
|
||||
if(1) SEND_SOUND(src, sound('sound/machines/airlock'))
|
||||
if(2)
|
||||
if(prob(50))src << 'sound/effects/Explosion1.ogg'
|
||||
else src << 'sound/effects/Explosion2.ogg'
|
||||
if(3) src << 'sound/effects/explosionfar.ogg'
|
||||
if(4) src << 'sound/effects/Glassbr1.ogg'
|
||||
if(5) src << 'sound/effects/Glassbr2.ogg'
|
||||
if(6) src << 'sound/effects/Glassbr3.ogg'
|
||||
if(7) src << 'sound/machines/twobeep.ogg'
|
||||
if(8) src << 'sound/machines/windowdoor.ogg'
|
||||
if(prob(50))SEND_SOUND(src, sound('sound/effects/Explosion1'))
|
||||
else SEND_SOUND(src, sound('sound/effects/Explosion2'))
|
||||
if(3) SEND_SOUND(src, sound('sound/effects/explosionfar'))
|
||||
if(4) SEND_SOUND(src, sound('sound/effects/Glassbr1'))
|
||||
if(5) SEND_SOUND(src, sound('sound/effects/Glassbr2'))
|
||||
if(6) SEND_SOUND(src, sound('sound/effects/Glassbr3'))
|
||||
if(7) SEND_SOUND(src, sound('sound/machines/twobeep'))
|
||||
if(8) SEND_SOUND(src, sound('sound/machines/windowdoor'))
|
||||
if(9)
|
||||
//To make it more realistic, I added two gunshots (enough to kill)
|
||||
src << 'sound/weapons/Gunshot1.ogg'
|
||||
SEND_SOUND(src, sound('sound/weapons/Gunshot1'))
|
||||
spawn(rand(10,30))
|
||||
src << 'sound/weapons/Gunshot2.ogg'
|
||||
if(10) src << 'sound/weapons/smash.ogg'
|
||||
SEND_SOUND(src, sound('sound/weapons/Gunshot2'))
|
||||
if(10) SEND_SOUND(src, sound('sound/weapons/smash'))
|
||||
if(11)
|
||||
//Same as above, but with tasers.
|
||||
src << 'sound/weapons/Taser.ogg'
|
||||
SEND_SOUND(src, sound('sound/weapons/Taser'))
|
||||
spawn(rand(10,30))
|
||||
src << 'sound/weapons/Taser.ogg'
|
||||
SEND_SOUND(src, sound('sound/weapons/Taser'))
|
||||
//Rare audio
|
||||
if(12)
|
||||
//These sounds are (mostly) taken from Hidden: Source
|
||||
|
||||
@@ -49,7 +49,7 @@
|
||||
|
||||
if(prob(speak_chance))
|
||||
for(var/mob/M in view())
|
||||
M << 'sound/effects/mouse_squeak.ogg'
|
||||
SEND_SOUND(M, sound('sound/effects/mouse_squeak'))
|
||||
|
||||
if(!resting && prob(0.5))
|
||||
lay_down()
|
||||
@@ -97,7 +97,7 @@
|
||||
if(!stat)
|
||||
var/mob/M = AM
|
||||
M.visible_message("<font color='blue'>[icon2html(thing = src, target = world)] Squeek!</font>")
|
||||
M << 'sound/effects/mouse_squeak.ogg'
|
||||
SEND_SOUND(M, sound('sound/effects/mouse_squeak'))
|
||||
..()
|
||||
|
||||
/mob/living/simple_mob/mouse/death()
|
||||
|
||||
@@ -69,7 +69,7 @@
|
||||
return //do not send ghosts, zshadows, ai eyes, etc
|
||||
var/obj/effect/landmark/dest = pick(eventdestinations)
|
||||
if(dest)
|
||||
M << 'sound/effects/phasein.ogg'
|
||||
SEND_SOUND(M, sound('sound/effects/phasein'))
|
||||
playsound(src, 'sound/effects/phasein.ogg', 100, 1)
|
||||
M.forceMove(dest.loc)
|
||||
return
|
||||
|
||||
@@ -207,7 +207,7 @@ var/list/adminfaxes = list() //cache for faxes that have been sent to admins
|
||||
for(var/client/C in admins)
|
||||
if(check_rights((R_ADMIN|R_MOD),0,C))
|
||||
C << msg
|
||||
C << 'sound/machines/printer.ogg'
|
||||
SEND_SOUND(C, sound('sound/machines/printer'))
|
||||
|
||||
// VoreStation Edit Start
|
||||
var/faxid = export_fax(sent)
|
||||
|
||||
@@ -219,7 +219,7 @@
|
||||
global_announcer.autosay("DANGER: SUPERMATTER CRYSTAL DEGRADATION IN PROGRESS! INTEGRITY AT [integrity]%", "Supermatter Monitor")
|
||||
for(var/mob/M in player_list)
|
||||
if(!istype(M,/mob/new_player) && !isdeaf(M))
|
||||
M << 'sound/ambience/engine_alert2.ogg'
|
||||
SEND_SOUND(M, sound('sound/ambience/engine_alert2'))
|
||||
else if(safe_warned && public_alert)
|
||||
global_announcer.autosay(alert_msg, "Supermatter Monitor")
|
||||
public_alert = 0
|
||||
|
||||
@@ -552,7 +552,7 @@
|
||||
if(istype(mob, /mob/living/carbon/human))
|
||||
var/mob/living/carbon/human/H = mob
|
||||
to_chat(H, "<span class='notice'>You hear an awful ringing in your ears.</span>")
|
||||
H << 'sound/weapons/flash.ogg'
|
||||
SEND_SOUND(H, sound('sound/weapons/flash'))
|
||||
|
||||
/datum/disease2/effect/vomiting
|
||||
name = "Vomiting"
|
||||
|
||||
@@ -160,7 +160,7 @@
|
||||
L.drop_from_inventory(I, loc)
|
||||
L.Paralyse(10)
|
||||
L.forceMove(get_turf(pick(teleport_to)))
|
||||
L << 'sound/effects/bamf.ogg'
|
||||
SEND_SOUND(L, sound('sound/effects/bamf'))
|
||||
to_chat(L,"<span class='warning'>You're starting to come to. You feel like you've been out for a few minutes, at least...</span>")
|
||||
|
||||
/area/tether_away/alienship
|
||||
|
||||
Reference in New Issue
Block a user