]> de.git.xonotic.org Git - voretournament/voretournament.git/blobdiff - data/qcsrc/server/vore.qc
Implement constant particles falling off regurgitated prey, until the green goo color...
[voretournament/voretournament.git] / data / qcsrc / server / vore.qc
index 078c5b4fd76f3501e4fab6617e158fe0370b2636..6e333e1d9735a54ad57b6ae32edc892e0f08bb59 100644 (file)
@@ -662,6 +662,7 @@ void Vore_SetSbarRings()
        }\r
 }\r
 \r
+.float regurgitatecolor_particles_tick;\r
 void Vore()\r
 {\r
        // main vore code, this is where it all happens\r
@@ -672,17 +673,28 @@ void Vore()
        if(!self.stat_eaten)\r
        if(stov(cvar_string("g_vore_regurgitatecolor_release")))\r
        if(self.colormod)\r
-       if(cvar("g_vore_regurgitatecolor_release_fade"))\r
+       if(self.colormod != '1 1 1')\r
        {\r
-               self.colormod_x += cvar("g_vore_regurgitatecolor_release_fade") * frametime;\r
-               if(self.colormod_x > 1)\r
-                       self.colormod_x = 1;\r
-               self.colormod_y += cvar("g_vore_regurgitatecolor_release_fade") * frametime;\r
-               if(self.colormod_y > 1)\r
-                       self.colormod_y = 1;\r
-               self.colormod_z += cvar("g_vore_regurgitatecolor_release_fade") * frametime;\r
-               if(self.colormod_z > 1)\r
-                       self.colormod_z = 1;\r
+               if(cvar("g_vore_regurgitatecolor_release_fade"))\r
+               {\r
+                       self.colormod_x += cvar("g_vore_regurgitatecolor_release_fade") * frametime;\r
+                       if(self.colormod_x > 1)\r
+                               self.colormod_x = 1;\r
+                       self.colormod_y += cvar("g_vore_regurgitatecolor_release_fade") * frametime;\r
+                       if(self.colormod_y > 1)\r
+                               self.colormod_y = 1;\r
+                       self.colormod_z += cvar("g_vore_regurgitatecolor_release_fade") * frametime;\r
+                       if(self.colormod_z > 1)\r
+                               self.colormod_z = 1;\r
+               }\r
+\r
+               if(cvar("g_vore_regurgitatecolor_particles"))\r
+               if(self.regurgitatecolor_particles_tick < time)\r
+               {\r
+                       pointparticles(particleeffectnum("vore_regurgitate_constant"), self.origin, '0 0 0', 1);\r
+                       self.regurgitatecolor_particles_tick = time + cvar("g_vore_regurgitatecolor_particles") * vlen(self.colormod);\r
+                       dprint(strcat(ftos(cvar("g_vore_regurgitatecolor_particles") * vlen(self.colormod)), " --------\n"));\r
+               }\r
        }\r
 \r
        // set all vore stats\r
@@ -861,7 +873,6 @@ void Vore()
        }\r
        if(cvar("g_balance_vore_load_pred_speedcap") && vlen(self.predator.velocity) >= cvar("g_balance_vore_load_pred_speedcap") / (self.predator.stomach_load / self.predator.stomach_maxload)) // predator's going too fast, gets sick and throws up\r
        {\r
-dprint(strcat(ftos(cvar("g_balance_vore_load_pred_speedcap") / (self.predator.stomach_load / self.predator.stomach_maxload)), " --------\n"));\r
                Vore_Regurgitate(self);\r
                return;\r
        }\r