]> git.rm.cloudns.org Git - voretournament/voretournament.git/commitdiff
More progress on the mass based stomach system, implementing actual prey mass. Still...
authorMirceaKitsune <sonichedgehog_hyperblast00@yahoo.com>
Mon, 18 Jul 2011 10:32:15 +0000 (13:32 +0300)
committerMirceaKitsune <sonichedgehog_hyperblast00@yahoo.com>
Mon, 18 Jul 2011 10:32:15 +0000 (13:32 +0300)
data/balanceVT.cfg
data/qcsrc/server/vore.qc

index 2643e00f47b160df631befe7e5c908457e30fba6..a4e7bb1a6fc30650aa2badd173f8f29109d7d395 100644 (file)
@@ -186,6 +186,7 @@ set g_balance_grabber_reload_time 2
 \r
 // {{{ stomach\r
 set g_balance_vore_load_capacity 100 "capacity percent a player's stomach has, influenced by player size"\r
+set g_balance_vore_load_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_fill 2.5 "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
index 98393a8fa0911f028fa3edd743730c103578f9fc..848ddaf9327f5c21606c20cc9657bebd1a081b70 100644 (file)
@@ -69,6 +69,16 @@ float Swallow_condition_check(entity prey)
        return FALSE;\r
 }\r
 \r
+float Prey_Mass(entity prey)\r
+{\r
+       float vore_mass;\r
+       vore_mass = cvar("g_balance_vore_load_mass");\r
+       if(cvar("g_healthsize"))\r
+               vore_mass *= prey.scale;\r
+       vore_mass = ceil(vore_mass);\r
+       return vore_mass;\r
+}\r
+\r
 float Stomach_TeamMates_check(entity pred)\r
 {\r
        // checks if a player's stomach contains any team mates\r
@@ -310,7 +320,7 @@ void Vore_Swallow(entity e)
        PlayerSound(e.predator, playersound_swallow, CHAN_VOICE, VOICETYPE_PLAYERSOUND);\r
        setanim(e.predator, e.predator.anim_pain1, FALSE, TRUE, TRUE); // looks good for swallowing / regurgitating\r
        e.predator.punchangle_x -= cvar("g_balance_vore_swallow_punchangle");\r
-       e.predator.stomach_load += 1;\r
+       e.predator.stomach_load += Prey_Mass(e);\r
        e.predator.regurgitate_prepare = 0;\r
        e.predator.spawnshieldtime = 0; // lose spawn shield when we vore\r
        e.predator.hitsound += 1; // play this for team mates too, as we could be swallowing them to heal them\r
@@ -401,7 +411,7 @@ void Vore_Regurgitate(entity e)
        setanim(e.predator, e.predator.anim_pain1, FALSE, TRUE, TRUE); // looks good for swallowing / regurgitating\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.stomach_load -= Prey_Mass(e);\r
        e.predator.regurgitate_prepare = 0;\r
        e.predator.action_delay = time + cvar("g_balance_vore_action_delay");\r
        Vore_WeightApply(e.predator);\r
@@ -425,7 +435,7 @@ void Vore_DeadPrey_Configure(entity e)
 \r
        // first release the prey from the predator, as dead prey needs to be attached differently\r
        // the predator's stomach load is also decreased, as dead prey doesn't count any more\r
-       e.predator.stomach_load -= 1;\r
+       e.predator.stomach_load -= Prey_Mass(e);\r
        Vore_WeightApply(e.predator);\r
        e.predator = world;\r
 \r