set g_balance_grabber_reload_time 2\r
// }}}\r
\r
-// {{{ stomach\r
+// {{{ vore\r
set g_balance_vore_action_delay 1 "how many seconds must pass before you can swallow or regurgitate again, after swallowing or regurgitating another player"\r
set g_balance_vore_load_pred_capacity 100 "capacity percent a player's stomach has, influenced by player size"\r
set g_balance_vore_load_pred_weight 1 "you get this heavier the more you eat, at 1 a full belly makes you two times heavier"\r
set g_balance_vore_swallow_predator_punchangle 10 "your view gets tilted by this amount when swallowing someone"\r
set g_balance_vore_swallow_predator_punchangle_item 8 "your view gets tilted by this amount when swallowing an item"\r
set g_balance_vore_swallow_prey_punchvector 25 "your view gets lifted by this amount when getting swallowed"\r
+set g_balance_vore_swallow_prey_orient 1 "prey has the same view origin as the the predator while being swallowed"\r
+set g_balance_vore_swallow_prey_orient_speed 10 "speed at which the view returns to normal once as are no longer eaten by your predayor"\r
set g_balance_vore_regurgitate_damage 10 "predators take this amount of damage whenever regurgitating someone (influenced by player scale difference)"\r
set g_balance_vore_regurgitate_swallowprogress 0.5 "regurgitated prey is given this amount of swallow progress, to simulate being more vulnerable (if slow swallowing is enabled)"\r
set g_balance_vore_regurgitate_force 600 "regurgitated players rocket out at this speed, in the direction the predator is facing (influenced by player scale difference)"\r
\r
set sv_gibhealth -150 "Amount of health a dead body must have in order to get gibbed, influenced by player size"\r
\r
-set sv_punchangle_speed 16 "speed at which punchangle returns to normal"\r
-set sv_punchvector_speed 32 "speed at which punchvector returns to normal"\r
+set sv_punchangle_speed 16 "default speed at which punchangle returns to normal"\r
+set sv_punchvector_speed 32 "default speed at which punchvector returns to normal"\r
\r
// fragmessage: This allows extra information to be displayed with the frag centerprints. \r
set sv_fragmessage_information_ping 0 "Enable ping display information, 0 = Never display; 1 = Always display (If the player is a bot, it will say bot instead of the ping.)"\r
\r
if (self.punchangle != '0 0 0')\r
{\r
- f = vlen(self.punchangle) - cvar("sv_punchangle_speed") * frametime;\r
+ float speed = cvar("sv_punchangle_speed");\r
+ if (self.punchangle_speed)\r
+ speed *= self.punchangle_speed + 1;\r
+\r
+ f = vlen(self.punchangle) - speed * frametime;\r
if (f > 0)\r
self.punchangle = normalize(self.punchangle) * f;\r
else\r
self.punchangle = '0 0 0';\r
}\r
+ else\r
+ self.punchangle_speed = 0;\r
\r
if (self.punchvector != '0 0 0')\r
{\r
- f = vlen(self.punchvector) - cvar("sv_punchvector_speed") * frametime;\r
+ float speed = cvar("sv_punchvector_speed");\r
+ if (self.punchvector_speed)\r
+ speed *= self.punchvector_speed + 1;\r
+\r
+ f = vlen(self.punchvector) - speed * frametime;\r
if (f > 0)\r
self.punchvector = normalize(self.punchvector) * f;\r
else\r
self.punchvector = '0 0 0';\r
}\r
+ else\r
+ self.punchvector_speed = 0;\r
\r
if (clienttype(self) == CLIENTTYPE_BOT)\r
{\r
.float sounds;\r
.string noise, noise1, noise2, noise3;\r
\r
+.float punchangle_speed;\r
+.float punchvector_speed;\r
+\r
/////////////////////////////////////////////////////////\r
void end_sys_fields;\r
/////////////////////////////////////////////////////////\r
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
\r
- Fully customizable HUD. Each component can be positioned and scaled independently using cvars in the HUD config file, allowing the player to create their own HUD setup. Note that not all HUD components were adapted to the new system yet.\r
\r
+- Prey is oriented same as the predator while being eaten (1st person view), to simulate being swallowed feet-first.\r
+\r
Known bugs:\r