]> de.git.xonotic.org Git - voretournament/voretournament.git/commitdiff
Get the gravity system to work properly
authorMirceaKitsune <sonichedgehog_hyperblast00@yahoo.com>
Mon, 18 Jul 2011 12:51:59 +0000 (15:51 +0300)
committerMirceaKitsune <sonichedgehog_hyperblast00@yahoo.com>
Mon, 18 Jul 2011 12:51:59 +0000 (15:51 +0300)
data/balanceVT.cfg
data/qcsrc/server/vore.qc

index bcfe34910d86380a0b74eae7d83f661b0268f200..bafb2691ebcb687debdd06f5a1f5122266bafcd1 100644 (file)
@@ -186,7 +186,7 @@ set g_balance_grabber_reload_time 2
 \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
index 548e19b6089145724974ae0f1f4479b87226889b..968f3711b7e62643966332260c3fc5d68f6d93ae 100644 (file)
@@ -1,7 +1,7 @@
 .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
@@ -40,7 +40,7 @@ float Swallow_condition_check(entity prey)
        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
@@ -190,22 +190,21 @@ void Vore_StomachLoad_Apply()
                {\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
@@ -885,7 +884,7 @@ void Vore()
 \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