Vore_SwallowModel_Update(e, e.predator);\r
}\r
\r
+ // apply regurgitation damage to the predator\r
+ if(cvar("g_balance_vore_regurgitate_damage"))\r
+ {\r
+ float regurgitate_dmg;\r
+ regurgitate_dmg = cvar("g_balance_vore_regurgitate_damage");\r
+ if(cvar("g_healthsize"))\r
+ regurgitate_dmg *= e.scale / e.predator.scale;\r
+ Damage(e.predator, e.predator, e.predator, regurgitate_dmg, DEATH_REGURGITATION, e.predator.origin, '0 0 0');\r
+ }\r
+\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("regurgitate"), e.predator.origin, '0 0 0', 1);\r
+ pointparticles(particleeffectnum("vore_regurgitate"), e.predator.origin, '0 0 0', 1);\r
e.predator.punchangle_x += cvar("g_balance_vore_regurgitate_punchangle");\r
e.predator.stomach_load -= 1;\r
e.predator.regurgitate_prepare = 0;\r
\r
if(time > self.stomachkick_delay && !self.kick_pressed)\r
{\r
- float damage;\r
+ float damage, vol;\r
vector force;\r
damage = ceil(random() * (cvar("g_balance_vore_kick_damage_max") - cvar("g_balance_vore_kick_damage_min")) + cvar("g_balance_vore_kick_damage_min"));\r
force = v_forward * cvar("g_balance_vore_kick_force");\r
+ vol = VOL_BASE;\r
\r
// apply player scale to the damage / force of the kick\r
- if(cvar("g_balance_vore_kick_scalediff"))\r
+ if(cvar("g_healthsize") && cvar("g_balance_vore_kick_scalediff"))\r
{\r
damage *= (self.scale / self.predator.scale);\r
force *= (self.scale / self.predator.scale);\r
+ vol *= (self.scale / self.predator.scale); // 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
- sound(self.predator, CHAN_PROJECTILE, strcat("weapons/hit", ftos(floor(random() * 8)), ".wav"), VOL_BASE, ATTN_NORM);\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
\r
{\r
// 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
}\r
\r
// apply delays and skip the vore system under some circumstances\r
+ if(!cvar("g_vore")) // the vore system is disabled\r
+ {\r
+ Vore_Disconnect();\r
+ return;\r
+ }\r
if(time < game_starttime || (time < warmup && !inWarmupStage)) // don't allow vore before a round begins\r
{\r
Vore_Disconnect();\r