]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/server/func_breakable.qc
Add func_breakable CSQC model linking again
[xonotic/xonotic-data.pk3dir.git] / qcsrc / server / func_breakable.qc
index 4d29b014faff68c9528bb954d3d51512e88b6d3e..8db84027e13e41170d460c70cb489f409d51e458 100644 (file)
@@ -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()
@@ -115,7 +117,7 @@ void func_breakable_behave_destroyed()
        self.health = self.max_health;
        self.takedamage = DAMAGE_NO;
        self.bot_attack = FALSE;
-       self.event_damage = SUB_Null;
+       self.event_damage = func_null;
        self.state = 1;
        func_breakable_colormod();
 }
@@ -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