e.predator = self;\r
setorigin(e, e.predator.origin);\r
e.velocity = '0 0 0';\r
+ e.punchangle = '0 0 0';\r
e.movetype = MOVETYPE_FOLLOW;\r
e.solid = SOLID_NOT;\r
e.aiment = e.predator; // follow the predator, automatically unset when regurgitated\r
if(!self.swallow_progress_pred)\r
PlayerSound(self, playersound_grab, CHAN_PAIN, VOICETYPE_PLAYERSOUND);\r
\r
+ // apply prey orientation\r
+ if(cvar("g_balance_vore_swallow_prey_orient"))\r
+ {\r
+ e.punchangle = self.angles - e.angles;\r
+ e.punchangle_speed = cvar("g_balance_vore_swallow_prey_orient_speed") * (1 - e.swallow_progress_prey);\r
+ }\r
+\r
Vore_GulletModel_Update(e, self);\r
\r
// increase the progress value until it reaches 1, then swallow the player\r
e.pusher = e.predator; // allows us to frag players by regurgitating them in deadly pits\r
e.pushltime = time + cvar("g_maxpushtime");\r
\r
+ // apply prey orientation\r
+ if(cvar("g_balance_vore_swallow_prey_orient"))\r
+ {\r
+ e.punchangle = e.predator.angles - e.angles;\r
+ e.punchangle_speed = cvar("g_balance_vore_swallow_prey_orient_speed") * (1 - e.swallow_progress_prey);\r
+ }\r
+\r
// if the dead body of the prey is below gibbing health, gib it\r
e.stat_eaten = 0; // necessary for gibs to show\r
PlayerGib(e, e.predator);\r
if(cvar("g_balance_vore_swallow_speed_decrease"))\r
{\r
if(self.swallow_progress_pred)\r
- self.swallow_progress_pred = max(0, self.swallow_progress_pred - cvar("g_balance_vore_swallow_speed_decrease") * frametime);\r
+ {\r
+ float speed = cvar("g_balance_vore_swallow_speed_decrease");\r
+ if(cvar("g_balance_vore_swallow_speed_decrease_even"))\r
+ speed += self.swallow_progress_prey * cvar("g_balance_vore_swallow_speed_decrease_even");\r
+ self.swallow_progress_pred = max(0, self.swallow_progress_pred - speed * frametime);\r
+ }\r
if(self.swallow_progress_prey)\r
+ {\r
+ float speed = cvar("g_balance_vore_swallow_speed_decrease");\r
+ if(cvar("g_balance_vore_swallow_speed_decrease_even"))\r
+ speed += self.swallow_progress_pred * cvar("g_balance_vore_swallow_speed_decrease_even");\r
self.swallow_progress_prey = max(0, self.swallow_progress_prey - cvar("g_balance_vore_swallow_speed_decrease") * frametime);\r
+ }\r
}\r
\r
// set the predator's stomach load and capacity\r