3 vore personalities for bots (multiplied by the bot_ai_vore_* cvars)
authorMirceaKitsune <sonichedgehog_hyperblast00@yahoo.com>
Wed, 8 Sep 2010 00:55:06 +0000 (03:55 +0300)
committerMirceaKitsune <sonichedgehog_hyperblast00@yahoo.com>
Wed, 8 Sep 2010 00:55:06 +0000 (03:55 +0300)
Todo & known bugs.txt
data/bots.txt
data/qcsrc/server/bot/bot.qc
data/qcsrc/server/bot/bot.qh
data/qcsrc/server/bot/havocbot/vore_ai.qc

index d6abe91..71ad134 100644 (file)
@@ -6,6 +6,4 @@ Todo:
 \r
 - Allow an item respawn time of -1 (never respawn again). Useful for RPG and Single Player maps\r
 \r
-- Use bot personalities (specified in bots.txt) for vore too, and remove what VoreTournament doesn't use from them any more\r
-\r
 Known bugs:\r
index 251c1ae..5ceb17c 100644 (file)
@@ -1,15 +1,15 @@
-//bot configuration: name      model   skin    shirt   pants   team    keyboard use    moving  dodging ping    weapon use      aggressivity    range   aiming  calmhand        mouse   fightthink      aithink\r
+//bot configuration: name      model   skin    shirt   pants   team    keyboard use    moving  dodging ping    weapon use      aggressivity    range   aiming  calmhand        mouse   fightthink      aithink vore    vorethink       vorefear        voreteamheal\r
 //default team values (team-override): 1 = red, 2 = blue, 3 = yellow, 4 = pink                                                                                                                                 \r
 //use -1 for shirt-color or pants-color to get random colors                                                                                                                                   \r
-DarkVixen      vixen.zym       1       4       0       0       0       0       -0.5    -1      1       1       -0.5    -1      -1      2       0.5     -1\r
-Rainbow        vixen.zym       1       15      0       0       0       -1      -1      -1      0       2       0       1       0       2       -1      -1\r
-VorePrincess   vixen.zym       0       -1      0       0       -0.5    0       0       1       -0.5    0       1       0       0       0       0       0\r
-Eater  vixen.zym       0       1       1       0       0       -1      0       -0.5    0.5     1       0       1       -2      1       0       0\r
-HungryFox      vixen.zym       1       8       14      0       0       0       0       1       0       -1      -0.5    -1      1       0       0       0\r
-Angel  vixen.zym       1       0       0       0       0       0       0       2       -1      0       0       0       -1      0       0       0\r
-Mystic vixen.zym       0       11      4       0       0       0       0       -0.5    -1      1       0.5     0.5     -0.5    0       0.5     0\r
-Sweetie        vixen.zym       0       9       9       0       1       1       1       1       -1      -1      0       1       1       -2      -1      -1\r
-Silver vixen.zym       1       6       5       0       1       1.5     2       -1      -1      -1      1       0       1       -0.5    -1      -1\r
-Shadow vixen.zym       0       4       8       0       -0.5    2       1       0       0       -1      0       -1      0       1       -1      -0.5\r
-BellyFox       vixen.zym       1       12      -1      0       1       1       1       1       -1      0       0.5     0       -2      0       -1      0\r
-Snack  vixen.zym       1       -1      -1      0       0       0       -1.5    -0.5    -0.5    0       0       0       0       -0.5    1.5     1.5
\ No newline at end of file
+DarkVixen      vixen.zym       1       4       0       0       0       0       -0.5    -1      1       1       -0.5    -1      -1      2       0.5     -1      1.25    1.5     0.5\r
+Rainbow        vixen.zym       1       15      0       0       0       -1      -1      -1      0       2       0       1       0       2       -1      -1      0.75    0.5     1.25\r
+VorePrincess   vixen.zym       0       -1      0       0       -0.5    0       0       1       -0.5    0       1       0       0       0       0       0       1.5     1.25    0.75\r
+Eater  vixen.zym       0       1       1       0       0       -1      0       -0.5    0.5     1       0       1       -2      1       0       0       1       1       0.75\r
+HungryFox      vixen.zym       1       8       14      0       0       0       0       1       0       -1      -0.5    -1      1       0       0       0       1.25    1       0.5\r
+Angel  vixen.zym       1       0       0       0       0       0       0       2       -1      0       0       0       -1      0       0       0       0.75    1.25    1.5\r
+Mystic vixen.zym       0       11      4       0       0       0       0       -0.5    -1      1       0.5     0.5     -0.5    0       0.5     0       1       1.25    1\r
+Sweetie        vixen.zym       0       9       9       0       1       1       1       1       -1      -1      0       1       1       -2      -1      -1      1       0.5     1.25\r
+Silver vixen.zym       1       6       5       0       1       1.5     2       -1      -1      -1      1       0       1       -0.5    -1      -1      1.25    1       1\r
+Shadow vixen.zym       0       4       8       0       -0.5    2       1       0       0       -1      0       -1      0       1       -1      -0.5    1.25    1.25    0.75\r
+BellyFox       vixen.zym       1       12      -1      0       1       1       1       1       -1      0       0.5     0       -2      0       -1      0       0.75    1       1\r
+Snack  vixen.zym       1       -1      -1      0       0       0       -1.5    -0.5    -0.5    0       0       0       0       -0.5    1.5     1.5     0.75    1       1.25
\ No newline at end of file
index de6bed1..c9c1e44 100644 (file)
@@ -191,6 +191,10 @@ void bot_setnameandstuff()
        READSKILL(bot_thinkskill, 1, 0.5); // think skill
        READSKILL(bot_aiskill, 2, 0); // "ai" skill
 
+       READSKILL(bot_vorethink, 1, 0.5); // vore think skill
+       READSKILL(bot_vorefear, 1, 0.5); // vore fear skill
+       READSKILL(bot_voreteamheal, 1, 0.5); // vore teamheal skill
+
        self.bot_config_loaded = TRUE;
 
        // this is really only a default, JoinBestTeam is called later
index 0550431..21adcf1 100644 (file)
@@ -38,6 +38,10 @@ float autoskill_nextthink;
 .float bot_thinkskill; // target choice
 .float bot_aiskill; // strategy choice
 
+.float bot_vorethink; // vore decision time
+.float bot_vorefear; // vore fear choice
+.float bot_voreteamheal; // vore teamheal choice
+
 .float totalfrags_lastcheck;
 
 // Custom weapon priorities
index 11ef838..12039c4 100644 (file)
@@ -36,7 +36,7 @@ void Vore_AI_Teamheal(entity prey)
        if(self.status_teamhealing > 1)
        if(Swallow_condition_check_bot(prey))
        if(prey.team != self.team)
-       if(random() * 10 < cvar("bot_ai_vore_decide_teamhealabandon") * skill) // there are 10 bot skill steps
+       if(random() * 10 < cvar("bot_ai_vore_decide_teamhealabandon") * skill / self.bot_voreteamheal) // there are 10 bot skill steps
                self.BUTTON_REGURGITATE = TRUE; // release the team mate
 
        entity head;
@@ -118,11 +118,11 @@ void Vore_AI()
 
        random_try = random() * 10; // there are 10 bot skill steps
        if(prey.items & IT_STRENGTH) // avoid eating bots that have the Strenght powerup
-               random_try /= cvar("bot_ai_vore_decide_fear");
+               random_try /= cvar("bot_ai_vore_decide_fear") * self.bot_vorefear;
        if(prey.items & IT_INVINCIBLE) // avoid eating bots that have the Invincible powerup
-               random_try /= cvar("bot_ai_vore_decide_fear");
-       decide_prey = cvar("bot_ai_vore_decide_prey") / (skill * 2 + 1);
-       decide_pred = cvar("bot_ai_vore_decide_pred") / (skill * 2 + 1);
+               random_try /= cvar("bot_ai_vore_decide_fear") * self.bot_vorefear;
+       decide_prey = cvar("bot_ai_vore_decide_prey") / (skill * 2 + 1) / self.bot_vorethink;
+       decide_pred = cvar("bot_ai_vore_decide_pred") / (skill * 2 + 1) / self.bot_vorethink;
 
        if(time > self.swallow_retry)
        if(Swallow_condition_check_bot(prey))