\r
PlayerSound(e.predator, playersound_swallow, CHAN_VOICE, VOICETYPE_PLAYERSOUND);\r
setanim(e.predator, e.predator.anim_pain1, FALSE, TRUE, TRUE); // looks good for swallowing / regurgitating\r
- e.predator.punchangle_x -= cvar("g_balance_vore_swallow_predator_punchangle");\r
+ e.predator.punchangle_x = crandom() * cvar("g_balance_vore_swallow_predator_punchangle");\r
+ e.predator.punchangle_y = crandom() * cvar("g_balance_vore_swallow_predator_punchangle");\r
+ e.predator.punchangle_z = crandom() * cvar("g_balance_vore_swallow_predator_punchangle");\r
e.predator.regurgitate_prepare = 0;\r
e.predator.spawnshieldtime = 0; // lose spawn shield when we vore\r
e.predator.hitsound += 1; // play this for team mates too, as we could be swallowing them to heal them\r
PlayerSound(e.predator, playersound_regurgitate, CHAN_VOICE, VOICETYPE_PLAYERSOUND);\r
setanim(e.predator, e.predator.anim_pain1, FALSE, TRUE, TRUE); // looks good for swallowing / regurgitating\r
pointparticles(particleeffectnum("vore_regurgitate"), e.predator.origin, '0 0 0', 1);\r
- e.predator.punchangle_x += cvar("g_balance_vore_regurgitate_predator_punchangle");\r
+ e.predator.punchangle_x = crandom() * cvar("g_balance_vore_regurgitate_predator_punchangle");\r
+ e.predator.punchangle_y = crandom() * cvar("g_balance_vore_regurgitate_predator_punchangle");\r
+ e.predator.punchangle_z = crandom() * cvar("g_balance_vore_regurgitate_predator_punchangle");\r
e.predator.regurgitate_prepare = 0;\r
e.predator.action_delay = time + cvar("g_balance_vore_action_delay");\r
Vore_SetPreyPositions(e.predator);\r
\r
Damage(self.predator, self, self, damage, DEATH_STOMACHKICK, self.predator.origin, force);\r
sound(self.predator, CHAN_PROJECTILE, strcat("weapons/hit", ftos(floor(random() * 8)), ".wav"), vol, ATTN_NORM);\r
- self.predator.punchangle_x -= cvar("g_balance_vore_kick_predator_punchangle");\r
- self.punchangle_x += cvar("g_balance_vore_kick_prey_punchangle");\r
+ self.predator.punchangle_x = crandom() * cvar("g_balance_vore_kick_predator_punchangle");\r
+ self.predator.punchangle_y = crandom() * cvar("g_balance_vore_kick_predator_punchangle");\r
+ self.predator.punchangle_z = crandom() * cvar("g_balance_vore_kick_predator_punchangle");\r
+ self.punchangle_x = crandom() * cvar("g_balance_vore_kick_prey_punchangle");\r
+ self.punchangle_y = crandom() * cvar("g_balance_vore_kick_prey_punchangle");\r
+ self.punchangle_z = crandom() * cvar("g_balance_vore_kick_prey_punchangle");\r
\r
// abort the predator's scheduled regurgitation\r
if(random() < cvar("g_balance_vore_kick_cutregurgitate"))\r
\r
// predator wishes to regurgitate his prey\r
if(self.BUTTON_REGURGITATE && time > self.action_delay)\r
+ if(!self.regurgitate_prepare)\r
{\r
if(self.stomach_load)\r
{\r
// apply delayed regurgitating if it was scheduled\r
if(self.predator.regurgitate_prepare && time > self.predator.regurgitate_prepare)\r
{\r
- self.predator.regurgitate_prepare = 0;\r
- self.predator.complain_vore = time + complain_delay_time; // prevent complaining the next frame if this empties our stomach\r
Vore_Regurgitate(self);\r
+ self.predator.complain_vore = time + complain_delay_time; // prevent complaining the next frame if this empties our stomach\r
}\r
\r
// execute digesting and team healing\r