set g_balance_vore_load_pred_speedcap 800 "when a predator is going faster than this (at full stomach capacity), their prey is squeezed out of them"\r
set g_balance_vore_load_prey_mass 30 "prey mass, influenced by player size"\r
set g_balance_vore_swallow_range 140 "distance below which you can swallow another player when facing them"\r
-set g_balance_vore_swallow_speed_item_fill 0.01 "how long it takes to swallow a health item, offset by item health, 0 is instant"\r
-set g_balance_vore_swallow_speed_fill 2 "how long it takes to swallow a player, 0 is instant"\r
-set g_balance_vore_swallow_speed_fill_scalediff 0.5 "fill rate depends on predator size compared to prey size by this amount"\r
+set g_balance_vore_swallow_speed_fill_player 2 "how long it takes to swallow a player, 0 is instant"\r
+set g_balance_vore_swallow_speed_fill_item 0.01 "how long it takes to swallow a health item, 0 is instant"\r
+set g_balance_vore_swallow_speed_fill_scalediff 0.5 "fill rate depends on predator size compared to prey size by this amount, and player health compared to item health for items"\r
set g_balance_vore_swallow_speed_fill_stomachload 1 "fill rate is influenced by the prey's stomach load by this amount"\r
set g_balance_vore_swallow_speed_decrease 0.5 "how fast the swallow progress decreases, when the predator is no longer swallowing"\r
set g_balance_vore_swallow_speed_cutspd_prey 1 "prey movement slows down by this amount the closer they are to being swallowed"\r
if(!usage)\r
return FALSE;\r
\r
- item.swallow_progress_prey = item.swallow_progress_prey + cvar("g_balance_vore_swallow_speed_item_fill") * (player.health / item.health);\r
+ item.swallow_progress_prey = item.swallow_progress_prey + cvar("g_balance_vore_swallow_speed_fill_item") * pow(player.health / item.health, cvar("g_balance_vore_swallow_speed_fill_scalediff"));\r
player.swallow_progress_pred = item.swallow_progress_prey;\r
- if(item.swallow_progress_prey < 1)\r
+ if(item.swallow_progress_prey < 1 && !cvar("g_balance_vore_swallow_speed_fill_item"))\r
return FALSE; // swallow progress not full yet\r
\r
if(usage > 1)\r
\r
void Vore_SwallowStep(entity e)\r
{\r
- if(!cvar("g_balance_vore_swallow_speed_fill"))\r
+ if(!cvar("g_balance_vore_swallow_speed_fill_player"))\r
{\r
Vore_Swallow(e);\r
return;\r
if(e.swallow_progress_prey < 1)\r
{\r
float fill;\r
- fill = cvar("g_balance_vore_swallow_speed_fill") * frametime;\r
- if(cvar("g_healthsize") && cvar("g_balance_vore_swallow_speed_fill_scalediff")) // fill rate depends on predator size compared to prey size\r
- fill *= pow(self.scale / e.scale, cvar("g_balance_vore_swallow_speed_fill_scalediff"));\r
- if(cvar("g_balance_vore_swallow_speed_fill_stomachload") && e.stomach_load) // fill rate is influenced by the prey's stomach load\r
- fill *= (1 - ((e.stomach_load / e.stomach_maxload) * bound(0, cvar("g_balance_vore_swallow_speed_fill_stomachload"), 1)));\r
+ fill = cvar("g_balance_vore_swallow_speed_fill_player") * frametime;\r
+ if(cvar("g_healthsize") && cvar("g_balance_vore_swallow_speed_fill_player_scalediff")) // fill rate depends on predator size compared to prey size\r
+ fill *= pow(self.scale / e.scale, cvar("g_balance_vore_swallow_speed_fill_player_scalediff"));\r
+ if(cvar("g_balance_vore_swallow_speed_fill_player_stomachload") && e.stomach_load) // fill rate is influenced by the prey's stomach load\r
+ fill *= (1 - ((e.stomach_load / e.stomach_maxload) * bound(0, cvar("g_balance_vore_swallow_speed_fill_player_stomachload"), 1)));\r
\r
// skill-based speed offset for bots\r
if(skill && cvar("skill_offset"))\r
PlayerGib(e, e.predator);\r
\r
// regurgitated prey is given this amount of swallow progress, to simulate being more vulnerable\r
- if(cvar("g_balance_vore_swallow_speed_fill") && cvar("g_balance_vore_regurgitate_swallowprogress"))\r
+ if(cvar("g_balance_vore_swallow_speed_fill_player") && cvar("g_balance_vore_regurgitate_swallowprogress"))\r
{\r
e.swallow_progress_prey = cvar("g_balance_vore_regurgitate_swallowprogress");\r
Vore_SwallowModel_Update(e, e.predator);\r
\r
- Player size also influences weight. Macros will have more gravity while micros float more easily. Jump pads throw players at the correct destination if their weight is changed by scale, but a loaded stomach will still reduce traveling speed.\r
\r
+- Health items are now swallowed slowly like players. The swallow speed depends on an item's health compared to the player's health, rather than a size comparison as done between players. This does not conflict with consumable items, and the two can be toggled individually. Items are still eaten by standing over them.\r
+\r
Known bugs:\r
\r
- 0.8: Does item alpha break any game modes, now that slow swallowing items are implemented?\r
\r
+- 0.8: What should depend on health difference and what should depend on size difference between items and players, for swallowing items?\r
+\r
+- 0.8: Should items always be swallowed by standing over them only?\r
+\r
- 0.8: Don't allow macros in the tutorial map (use health rot), since their weight makes it impossible to pass some parts\r
\r
- 0.8: Make some g_healthsize cvars g_balance_healthsize, and move them to balanceVT.cfg\r