From c4eb753f6399504a324bda9808f16cc17b1d7a2d Mon Sep 17 00:00:00 2001 From: Marco Hladik Date: Fri, 4 Jan 2019 20:39:45 +0100 Subject: [PATCH] env_spark autostart fix --- Source/gs-entbase/server/env_spark.cpp | 51 +++++++++++++------------- 1 file changed, 26 insertions(+), 25 deletions(-) diff --git a/Source/gs-entbase/server/env_spark.cpp b/Source/gs-entbase/server/env_spark.cpp index 8a697606..d1d34ce9 100644 --- a/Source/gs-entbase/server/env_spark.cpp +++ b/Source/gs-entbase/server/env_spark.cpp @@ -6,7 +6,8 @@ * ****/ -enumflags { +enumflags +{ EVSPARK_UNUSED1, EVSPARK_UNUSED2, EVSPARK_UNUSED3, @@ -36,28 +37,11 @@ class env_spark:CBaseTrigger virtual void() Respawn; }; -void env_spark::env_spark(void) -{ - for (int i = 1; i < (tokenize(__fullspawndata) - 1); i += 2) { - switch (argv(i)) { - case "MaxDelay": - m_flMaxDelay = stof(argv(i + 1)); - break; - default: - break; - } - } - for (int i = 0; i < spark_snd.length; i++) { - precache_sound(spark_snd[i]); - } - CBaseTrigger::CBaseTrigger(); - Respawn(); -} - void env_spark::CreateSpark(void) { - int r = floor((random() * 6)); + int r = floor((random() * spark_snd.length)); sound(this, CHAN_AUTO, spark_snd[r], 1.0f, ATTN_IDLE); + Effect_CreateSpark(self.origin, self.angles); } void env_spark::TimedSpark(void) @@ -87,10 +71,27 @@ void env_spark::Respawn(void) m_flMaxDelay = 1.0f; } - if (spawnflags & EVSPARK_TOGGLE) { - if (spawnflags & EVSPARK_STARTON) { - think = TimedSpark; - nextthink = time + (random() * m_flMaxDelay); - } + if (spawnflags & EVSPARK_STARTON) { + think = TimedSpark; + nextthink = time + (random() * m_flMaxDelay); } } + +void env_spark::env_spark(void) +{ + int i; + for (i = 1; i < (tokenize(__fullspawndata) - 1); i += 2) { + switch (argv(i)) { + case "MaxDelay": + m_flMaxDelay = stof(argv(i + 1)); + break; + default: + break; + } + } + for (i = 0; i < spark_snd.length; i++) { + precache_sound(spark_snd[i]); + } + CBaseTrigger::CBaseTrigger(); + Respawn(); +}