{\r
// this player is being swallowed by another player, apply the proper changes\r
\r
+ float scalediff;\r
+ scalediff = cvar("g_healthsize") ? e.scale / e.predator.scale : 1; // the tighter the gut, the greater the effect\r
+\r
e.vore_oldmovetype = e.movetype;\r
e.vore_oldsolid = e.solid;\r
e.punchvector_z = cvar("g_balance_vore_swallow_prey_punchvector");\r
\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 = 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.punchangle_x = crandom() * cvar("g_balance_vore_swallow_predator_punchangle") * scalediff;\r
+ e.predator.punchangle_y = crandom() * cvar("g_balance_vore_swallow_predator_punchangle") * scalediff;\r
+ e.predator.punchangle_z = crandom() * cvar("g_balance_vore_swallow_predator_punchangle") * scalediff;\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
{\r
// this player is being regurgitated by their predator, apply the proper changes\r
\r
+ float scalediff;\r
+ scalediff = cvar("g_healthsize") ? e.scale / e.predator.scale : 1; // the tighter the gut, the greater the effect\r
+\r
e.movetype = e.vore_oldmovetype;\r
if(e.health > 0) // leave SOLID_NOT for dead bodies\r
e.solid = e.vore_oldsolid;\r
}\r
\r
// apply velocities\r
- float scalediff;\r
- scalediff = cvar("g_healthsize") ? e.scale / e.predator.scale : 1; // the tighter the gut, the greater the velocity\r
makevectors(e.predator.v_angle);\r
e.velocity = v_forward * cvar("g_balance_vore_regurgitate_force") * scalediff;\r
e.predator.velocity += -v_forward * cvar("g_balance_vore_regurgitate_predatorforce") * scalediff;\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 = 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.punchangle_x = crandom() * cvar("g_balance_vore_regurgitate_predator_punchangle") * scalediff;\r
+ e.predator.punchangle_y = crandom() * cvar("g_balance_vore_regurgitate_predator_punchangle") * scalediff;\r
+ e.predator.punchangle_z = crandom() * cvar("g_balance_vore_regurgitate_predator_punchangle") * scalediff;\r
e.predator.regurgitate_prepare = 0;\r
e.predator.action_delay = time + cvar("g_balance_vore_action_delay");\r
Vore_SetPreyPositions(e.predator);\r
if(self.deadflag != DEAD_NO)\r
return;\r
\r
+ float scalediff;\r
+ scalediff = pow(self.scale / self.predator.scale, cvar("g_balance_vore_kick_scalediff"));\r
+\r
if(time > self.stomachkick_delay && !self.kick_pressed)\r
{\r
float damage, vol, pitch;\r
// apply player scale to the damage / force of the kick\r
if(cvar("g_healthsize") && cvar("g_balance_vore_kick_scalediff"))\r
{\r
- damage *= pow(self.scale / self.predator.scale, cvar("g_balance_vore_kick_scalediff"));\r
- force *= pow(self.scale / self.predator.scale, cvar("g_balance_vore_kick_scalediff"));\r
- vol *= pow(self.scale / self.predator.scale, cvar("g_balance_vore_kick_scalediff")); // kick sound volume based on the same scale\r
+ damage *= scalediff;\r
+ force *= scalediff;\r
+ vol *= scalediff; // kick sound volume based on the same scale\r
}\r
vol = bound(0, vol, 1);\r
\r
Damage(self.predator, self, self, damage, DEATH_STOMACHKICK, self.predator.origin, force);\r
sound7(self.predator, CHAN_PROJECTILE, strcat("weapons/hit", ftos(floor(random() * 8)), ".wav"), vol, ATTN_NORM, 100 * pitch, 0);\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
+ self.predator.punchangle_x = crandom() * cvar("g_balance_vore_kick_predator_punchangle") * scalediff;\r
+ self.predator.punchangle_y = crandom() * cvar("g_balance_vore_kick_predator_punchangle") * scalediff;\r
+ self.predator.punchangle_z = crandom() * cvar("g_balance_vore_kick_predator_punchangle") * scalediff;\r
+ self.punchangle_x = crandom() * cvar("g_balance_vore_kick_prey_punchangle") * scalediff;\r
+ self.punchangle_y = crandom() * cvar("g_balance_vore_kick_prey_punchangle") * scalediff;\r
+ self.punchangle_z = crandom() * cvar("g_balance_vore_kick_prey_punchangle") * scalediff;\r
\r
// abort the predator's scheduled regurgitation\r
if(random() < cvar("g_balance_vore_kick_cutregurgitate"))\r