\r
// {{{ stomach\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 0.01 "you get this heavier the more you eat, at 1 each meal makes you two times heavier"\r
+set g_balance_vore_load_pred_weight 1 "you get this heavier the more you eat, at 1 each meal makes you two times heavier"\r
set g_balance_vore_load_pred_speed 0.0015 "you get this slower the more you eat, at 0.5 each meal makes you two times slower"\r
set g_balance_vore_load_pred_speedcap 34 "when a predator is going faster than this, their prey is squeezed out of them, multiplied by stomach load"\r
set g_balance_vore_load_prey_mass 30 "prey mass, influenced by player size"\r
.float regurgitate_prepare;\r
.float stomachkick_delay, system_delay, action_delay, digest_button_delay_time, regurgitate_button_delay_time;\r
.float complain_vore;\r
-.float vore_oldmovetype, vore_oldsolid, vore_oldstomachload;\r
+.float vore_oldmovetype, vore_oldsolid;\r
\r
const float system_delay_time = 0.1;\r
const float complain_delay_time = 1;\r
if(prey.classname == "player" && !prey.stat_eaten && prey.deadflag == DEAD_NO) // we can't swallow someone who's already in someone else's stomach\r
if(self.classname == "player" && !self.stat_eaten && self.deadflag == DEAD_NO) // we can't swallow players while inside someone's stomach ourselves\r
if(!self.BUTTON_REGURGITATE && time > self.action_delay)\r
- if not(vlen(self.velocity) > cvar("g_balance_vore_load_pred_speedcap") / (self.stomach_maxload / self.stomach_load))\r
+ if not(cvar("g_balance_vore_load_pred_speedcap") && vlen(self.velocity) > cvar("g_balance_vore_load_pred_speedcap") / (self.stomach_maxload / self.stomach_load))\r
{\r
string swallow_complain;\r
if(teams_matter && prey.team == self.team && !cvar("g_vore_teamvore"))\r
{\r
vore_mass = cvar("g_balance_vore_load_prey_mass");\r
if(cvar("g_healthsize"))\r
- vore_mass *= self.scale;\r
+ vore_mass *= e.scale;\r
self.stomach_load += floor(vore_mass);\r
}\r
}\r
\r
- if(self.stomach_load != self.vore_oldstomachload)\r
- self.gravity += 1 + (self.stomach_load / self.stomach_maxload * cvar("g_balance_vore_load_pred_weight") - self.vore_oldstomachload);\r
- if(self.gravity == 0)\r
- self.gravity = 0.00001; // 0 becomes 1 for gravity, so do this to allow 0 gravity\r
- self.vore_oldstomachload = self.stomach_load;\r
-\r
// apply the stomach capacity of the predator\r
self.stomach_maxload = cvar("g_balance_vore_load_pred_capacity");\r
if(cvar("g_healthsize"))\r
self.stomach_maxload *= self.scale;\r
self.stomach_maxload = floor(self.stomach_maxload);\r
+\r
+ // apply weight\r
+ self.gravity = 1 + (self.stomach_load / self.stomach_maxload) * cvar("g_balance_vore_load_pred_weight");\r
+ if(!self.gravity && self.stomach_load)\r
+ self.gravity = 0.00001; // 0 becomes 1 for gravity, so do this to allow 0 gravity\r
}\r
\r
void Vore_AutoDigest(entity e)\r
\r
if(self.predator.deadflag != DEAD_NO)\r
Vore_Regurgitate(self);\r
- else if(vlen(self.predator.velocity) > cvar("g_balance_vore_load_pred_speedcap") / (self.stomach_maxload / self.stomach_load))\r
+ else if(cvar("g_balance_vore_load_pred_speedcap") && vlen(self.predator.velocity) > cvar("g_balance_vore_load_pred_speedcap") / (self.stomach_maxload / self.stomach_load))\r
Vore_Regurgitate(self);\r
\r
// apply delayed regurgitating if it was scheduled\r