+ // main vore code, this is where it all happens\r
+\r
+ if(!cvar("g_vore")) // the vore system is disabled\r
+ {\r
+ Vore_Disconnect();\r
+ return;\r
+ }\r
+\r
+ Vore_AutoTaunt();\r
+\r
+ // wash the goo away from players once they leave the stomach\r
+ if(self.predator.classname != "player")\r
+ if(stov(cvar_string("g_vore_regurgitatecolor_release")))\r
+ if(self.colormod)\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
+ // set all vore stats\r
+ if(self.fakeprey > 1)\r
+ self.stat_eaten = num_for_edict(self.fakepredator);\r
+ else if(self.predator.classname == "player")\r
+ {\r
+ self.stat_stomachload = self.predator.stomach_load; // necessary for the stomach board\r
+ self.stat_digesting = self.predator.digesting; // necessary for the stomach board\r
+ self.stat_eaten = num_for_edict(self.predator);\r
+ }\r
+ else\r
+ {\r
+ self.stat_stomachload = self.stomach_load;\r
+ self.stat_digesting = self.digesting;\r
+ self.stat_eaten = 0;\r
+ }\r
+ self.stat_canleave = Vore_CanLeave();\r
+\r
+ // don't allow a player inside a player inside another player :)\r
+ // prevent this by checking if such has happened, and taking the proper measures\r
+ // this code has a high priority and must not be stopped by any delay, so run it here\r
+ if(self.predator.predator.classname == "player")\r
+ {\r
+ entity target_predator, target_predator_predator, oldself;\r
+ target_predator = self.predator;\r
+ target_predator_predator = self.predator.predator;\r
+\r
+ Vore_Regurgitate(self);\r
+\r
+ // now steal our prey's prey if this probability applies\r
+ if(random() < cvar("g_balance_vore_swallow_stealprey"))\r
+ {\r
+ oldself = self;\r
+ self = target_predator_predator;\r
+ if(Swallow_condition_check(oldself))\r
+ if not(teams_matter && self.team == target_predator.team) // don't steal a team mate's prey\r
+ if not(teams_matter && self.team == oldself.team) // if the prey we would be stealing is a team mate, don't do it\r
+ Vore_Swallow(oldself);\r
+ self = oldself;\r
+ }\r
+ }\r
+\r
+ // apply delays and skip the vore system under some circumstances\r
+ if(time < game_starttime || (time < warmup && !inWarmupStage)) // don't allow vore before a round begins\r