Solving several issues.

This commit is contained in:
Ghommie
2020-06-26 18:40:20 +02:00
parent 07c7432f43
commit 8f6b31c26e
13 changed files with 72 additions and 54 deletions
+9 -3
View File
@@ -23,10 +23,14 @@
var/end_sound
var/chance
var/volume = 100
var/vary = FALSE
var/max_loops
var/direct
var/extra_range = 0
var/falloff
var/timerid
var/init_timerid
/datum/looping_sound/New(list/_output_atoms=list(), start_immediately=FALSE, _direct=FALSE)
if(!mid_sounds)
@@ -47,13 +51,15 @@
/datum/looping_sound/proc/start(atom/add_thing)
if(add_thing)
output_atoms |= add_thing
if(timerid)
if(timerid || init_timerid)
return
on_start()
/datum/looping_sound/proc/stop(atom/remove_thing)
if(remove_thing)
output_atoms -= remove_thing
if(init_timerid)
deltimer(init_timerid)
if(!timerid)
return
on_stop()
@@ -80,7 +86,7 @@
if(direct)
SEND_SOUND(thing, S)
else
playsound(thing, S, volume)
playsound(thing, S, volume, vary, extra_range, falloff)
/datum/looping_sound/proc/get_sound(starttime, _mid_sounds)
. = _mid_sounds || mid_sounds
@@ -92,7 +98,7 @@
if(start_sound)
play(start_sound)
start_wait = start_length
addtimer(CALLBACK(src, .proc/sound_loop), start_wait, TIMER_CLIENT_TIME)
init_timerid = addtimer(CALLBACK(src, .proc/sound_loop), start_wait, TIMER_CLIENT_TIME | TIMER_STOPPABLE)
/datum/looping_sound/proc/on_stop()
if(end_sound)