Fix the final cvars and document the new feature of swallowing items. It should now...
authorMirceaKitsune <sonichedgehog_hyperblast00@yahoo.com>
Mon, 19 Mar 2012 15:57:10 +0000 (17:57 +0200)
committerMirceaKitsune <sonichedgehog_hyperblast00@yahoo.com>
Mon, 19 Mar 2012 15:57:10 +0000 (17:57 +0200)
data/balanceVT.cfg
data/qcsrc/server/t_items.qc
data/qcsrc/server/vore.qc
docs/Release notes.txt
docs/TODO.txt

index 5bc0059..620adc9 100644 (file)
@@ -204,9 +204,9 @@ set g_balance_vore_load_pred_speed 1 "you get this slower the more you eat, at 1
 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
index 9b65c50..f06ba5e 100644 (file)
@@ -428,9 +428,9 @@ float Item_Swallow(entity item, entity player)
        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
index cae9440..12c0dbe 100644 (file)
@@ -341,7 +341,7 @@ void Vore_Swallow(entity e)
 \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
@@ -357,11 +357,11 @@ void Vore_SwallowStep(entity e)
        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
@@ -420,7 +420,7 @@ void Vore_Regurgitate(entity e)
        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
index 635c633..e9134d7 100644 (file)
@@ -346,4 +346,6 @@ Features:
 \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
index 37cc1d4..11a809f 100644 (file)
 \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