From c74ebbb00f1d9b87b49d2d3824d1b0711600edec Mon Sep 17 00:00:00 2001 From: MikeyRay Date: Fri, 24 Mar 2023 18:35:01 +0100 Subject: [PATCH 1/4] SERVER: Attempt to alleviate the issue where powerup light does not despawn --- source/server/entities/powerups.qc | 1 + 1 file changed, 1 insertion(+) diff --git a/source/server/entities/powerups.qc b/source/server/entities/powerups.qc index ee89f0b..c64f16e 100644 --- a/source/server/entities/powerups.qc +++ b/source/server/entities/powerups.qc @@ -542,6 +542,7 @@ void() PU_Flash = // Too late, free the Power-Up if (self.hitcount >= 40) { + Light_None(self); PU_FreeEnt(self); PU_FreeEnt(self.owner); } From 0dd35ccef53602180acbe3f1e2f70605375c77e7 Mon Sep 17 00:00:00 2001 From: MikeyRay Date: Fri, 24 Mar 2023 19:09:11 +0100 Subject: [PATCH 2/4] SERVER: Fixed most window sounds not using flags and being 2D --- source/server/entities/window.qc | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/source/server/entities/window.qc b/source/server/entities/window.qc index 0f541a9..9a4f1b0 100644 --- a/source/server/entities/window.qc +++ b/source/server/entities/window.qc @@ -59,7 +59,7 @@ void() Window_repaired = { if (maxreward > totalreward) { - sound(self, 0,"sounds/misc/ching.wav", 1, 0); + sound(self, 0,"sounds/misc/ching.wav", 1, ATTN_NORM); addmoney(self.enemy, 10, 1); totalreward = totalreward + 10; } @@ -69,7 +69,7 @@ void() Window_repaired = void() Barricade_hit_window = { - sound(self, 0, self.oldmodel, 1, 0); + sound(self, 0, self.oldmodel, 1, ATTN_NORM); } void(void() next) checkForSpeed = { @@ -224,17 +224,17 @@ void() window_repair6_6 =[ 6, window_repair6_7 ] {self.frame = 46;}; void() window_repair6_7 =[ 7, window_repair6_8 ] {self.frame = 47;Barricade_hit_window();}; void() window_repair6_8 =[ 8, SUB_Null ] {self.frame = 48; Window_repaired();}; -void() window_carpenter_1 =[ 1, window_carpenter_2 ] {self.frame = 47;sound(self, 0, self.oldmodel, 1, 1);}; +void() window_carpenter_1 =[ 1, window_carpenter_2 ] {self.frame = 47;sound(self, 0, self.oldmodel, 1, ATTN_NORM);}; void() window_carpenter_2 =[ 2, window_carpenter_3 ] {self.frame = 48;}; -void() window_carpenter_3 =[ 3, window_carpenter_4 ] {self.frame = 55;sound(self, 1, self.oldmodel, 1, 1);}; +void() window_carpenter_3 =[ 3, window_carpenter_4 ] {self.frame = 55;sound(self, 1, self.oldmodel, 1, ATTN_NORM);}; void() window_carpenter_4 =[ 4, window_carpenter_5 ] {self.frame = 56;}; -void() window_carpenter_5 =[ 5, window_carpenter_6 ] {self.frame = 63;sound(self, 2, self.oldmodel, 1, 1);}; +void() window_carpenter_5 =[ 5, window_carpenter_6 ] {self.frame = 63;sound(self, 2, self.oldmodel, 1, ATTN_NORM);}; void() window_carpenter_6 =[ 6, window_carpenter_7 ] {self.frame = 64;}; -void() window_carpenter_7 =[ 7, window_carpenter_8 ] {self.frame = 71;sound(self, 0, self.oldmodel, 1, 1);}; +void() window_carpenter_7 =[ 7, window_carpenter_8 ] {self.frame = 71;sound(self, 0, self.oldmodel, 1, ATTN_NORM);}; void() window_carpenter_8 =[ 8, window_carpenter_9 ] {self.frame = 72;}; -void() window_carpenter_9 =[ 7, window_carpenter_10 ] {self.frame = 79;sound(self, 1, self.oldmodel, 1, 1);}; +void() window_carpenter_9 =[ 7, window_carpenter_10 ] {self.frame = 79;sound(self, 1, self.oldmodel, 1, ATTN_NORM);}; void() window_carpenter_10 =[ 8, window_carpenter_11 ] {self.frame = 80;}; -void() window_carpenter_11 =[ 7, window_carpenter_12 ] {self.frame = 87;sound(self, 2, self.oldmodel, 1, 1);}; +void() window_carpenter_11 =[ 7, window_carpenter_12 ] {self.frame = 87;sound(self, 2, self.oldmodel, 1, ATTN_NORM);}; void() window_carpenter_12 =[ 8, SUB_Null ] {self.frame = 88;}; @@ -243,7 +243,7 @@ void() Window_Damage = if(self.health == 0) return; - sound(self, CHAN_VOICE, self.aistatus, 1, 0); + sound(self, CHAN_VOICE, self.aistatus, 1, ATTN_NORM); self.health = self.health - 1; From 723ccf852a6007f66255fb06535bc4296d4cebdd Mon Sep 17 00:00:00 2001 From: MikeyRay Date: Fri, 24 Mar 2023 19:40:30 +0100 Subject: [PATCH 3/4] SERVER: Fixed co-op spawning too many zombies --- source/server/rounds.qc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/server/rounds.qc b/source/server/rounds.qc index fdab561..5c68f89 100644 --- a/source/server/rounds.qc +++ b/source/server/rounds.qc @@ -71,7 +71,7 @@ float() getZombieTotal = { if (plrcnt == 1) count += rint((0.5 * 6) * multiplier); else - count += rint((plrcnt * 6) * multiplier); + count += rint(((plrcnt - 1) * 6) * multiplier); if (rounds < 2) count = floor(count * 0.25); From eeab4dd4c2b5f6b52fd22302c1fc156146cb3b68 Mon Sep 17 00:00:00 2001 From: MikeyRay Date: Fri, 24 Mar 2023 20:06:17 +0100 Subject: [PATCH 4/4] SERVER: Potentially alleviate an issue where zombies could melee during actions they shouldn't be able to --- source/server/ai/zombie_core.qc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/source/server/ai/zombie_core.qc b/source/server/ai/zombie_core.qc index 69ca66c..f73637d 100644 --- a/source/server/ai/zombie_core.qc +++ b/source/server/ai/zombie_core.qc @@ -885,6 +885,9 @@ void() zombie_attack = { self.velocity = '0 0 0'; + if(self.state == 1) // If the zombie is in this state (rising, or something else) they shouldn't be able to attack! + return; + if (self.classname == "wunder" || self.electro_targeted == true) return;