X-Git-Url: http://de.git.xonotic.org/?p=xonotic%2Fxonotic-data.pk3dir.git;a=blobdiff_plain;f=qcsrc%2Fserver%2Ffunc_breakable.qc;h=d67e79cd4d3396e45b74e9747291036680fc968d;hp=9560133bd08b6f3d0e3180b073108eaa66715f53;hb=31bf64ba7821ebb5c0aba8a154472810074ed11e;hpb=d5c0efcb78a5ed485ccfc0da2f11274965973101 diff --git a/qcsrc/server/func_breakable.qc b/qcsrc/server/func_breakable.qc index 9560133bd..d67e79cd4 100644 --- a/qcsrc/server/func_breakable.qc +++ b/qcsrc/server/func_breakable.qc @@ -70,7 +70,7 @@ void LaunchDebris (string debrisname, vector force) void func_breakable_colormod() { float h; - if not(self.spawnflags & 2) + if (!(self.spawnflags & 2)) return; h = self.health / self.max_health; if(h < 0.25) @@ -79,6 +79,8 @@ void func_breakable_colormod() self.colormod = '1 0 0' + '0 1 0' * (2 * h - 0.5); else self.colormod = '1 1 1'; + + CSQCMODEL_AUTOUPDATE(); } void func_breakable_look_destroyed() @@ -140,12 +142,16 @@ void func_breakable_destroyed() { func_breakable_look_destroyed(); func_breakable_behave_destroyed(); + + CSQCMODEL_AUTOUPDATE(); } void func_breakable_restore() { func_breakable_look_restore(); func_breakable_behave_restore(); + + CSQCMODEL_AUTOUPDATE(); } vector debrisforce; // global, set before calling this @@ -164,7 +170,7 @@ void func_breakable_destroy() { func_breakable_destroyed(); if(self.noise) - sound (self, CH_TRIGGER, self.noise, VOL_BASE, ATTN_NORM); + sound (self, CH_TRIGGER, self.noise, VOL_BASE, ATTEN_NORM); if(self.dmg) RadiusDamage(self, activator, self.dmg, self.dmg_edge, self.dmg_radius, self, self.dmg_force, DEATH_HURTTRIGGER, world); @@ -217,6 +223,8 @@ void func_breakable_reset() func_breakable_behave_destroyed(); else func_breakable_behave_restore(); + + CSQCMODEL_AUTOUPDATE(); } // destructible walls that can be used to trigger target_objective_decrease @@ -240,9 +248,9 @@ void spawnfunc_func_breakable() { if(self.count == 0) self.count = 1; - if(!self.message) + if(self.message == "") self.message = "got too close to an explosion"; - if(!self.message2) + if(self.message2 == "") self.message2 = "was pushed into an explosion by"; if(!self.dmg_radius) self.dmg_radius = 150; @@ -268,6 +276,8 @@ void spawnfunc_func_breakable() { self.reset = func_breakable_reset; func_breakable_reset(); + + CSQCMODEL_AUTOINIT(); } // for use in maps with a "model" key set