]> de.git.xonotic.org Git - voretournament/voretournament.git/commitdiff
Vore AI: Team heal abandoning. When the probability returns true, a bot will abandon...
authorMirceaKitsune <sonichedgehog_hyperblast00@yahoo.com>
Tue, 7 Sep 2010 23:31:04 +0000 (02:31 +0300)
committerMirceaKitsune <sonichedgehog_hyperblast00@yahoo.com>
Tue, 7 Sep 2010 23:31:04 +0000 (02:31 +0300)
data/defaultVoretournament.cfg
data/qcsrc/server/bot/havocbot/vore_ai.qc

index f600a44e41eff6d4226e8fa081a045ca453a3a43..cb81b7d9bac6aa6b1760b96f11d813a0e34dd68d 100644 (file)
@@ -351,6 +351,7 @@ set bot_ai_bunnyhop_firstjumpdelay 0.5 "Start running to the goal only if it was
 set bot_ai_vore_decide_pred 4 "How fast bots decide what to do with their prey, at lowest skill"\r
 set bot_ai_vore_decide_prey 4 "How fast bots decide what to do with their predator, at lowest skill"\r
 set bot_ai_vore_decide_fear 2 "How much bots will fear players more powerful than them, and therefore avoid them in some situations"\r
+set bot_ai_vore_decide_teamhealabandon 0.5 "Probability (from 0 to 1) of bot stopping a team heal when seeing a foe that they can vore"\r
 set bot_god 0 "god mode for bots"\r
 set bot_ai_navigation_jetpack 0 "Enable bots to navigat maps using the jetpack"\r
 set bot_ai_navigation_jetpack_mindistance 3500 "Bots will try fly to objects located farther than this distance"\r
index e37942af61570008c85805891d3715ef58d8e3ef..e4138c50e9bdac7fb22bc04b89da31e4d882a579 100644 (file)
@@ -28,6 +28,15 @@ float Swallow_condition_check_bot(entity prey)
 void Vore_AI_Teamheal(entity prey)
 {
        // allows bots to take advantage of the teamheal feature, and use it to heal damaged team mates
+       // the prey entity is only used when it's available (a player is detected in-range), otherwise the rest of the code executes as expected
+
+       // if a teamheal is ongoing, decide whether or not to abandon it when seeing a foe that we can attack instead
+       // this only causes the bot to regurgitate their team mate when seeing an enemy, with the hope that this enemy will still be there once we can swallow again
+       if(self.status_teamhealing > 1)
+       if(Swallow_condition_check_bot(prey))
+       if(prey.team != self.team)
+       if(random() < cvar("bot_ai_vore_decide_teamhealabandon"))
+               self.BUTTON_REGURGITATE = TRUE; // release the team mate
 
        entity head;