lgbot: bots have minqlx Steam IDs >= 90071996842377216; hunter chat; skill 1/4/5 only
Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
1 parent
8989780cd2
commit
c6a495ce2c
3 files changed
+17
-111
No files matched your search
@@ -1,6 +1,7 @@
|
|||||||
//===========================================================================
|
//===========================================================================
|
||||||
// lgbot: LG training bot. Aim per skill level (the N in "addbot lgbot N"); never jumps or
|
// lgbot: LG training bot. Aim per skill level (the N in "addbot lgbot N"); never jumps or
|
||||||
// crouches, LG only. Movement is steered by the lgbot minqlx plugin.
|
// crouches, LG only. Movement is steered by the lgbot minqlx plugin.
|
||||||
|
// QL reads skill 1, 4 and 5 from this file and interpolates levels 2-3 between 1 and 4.
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
|
|
||||||
#include "chars.h"
|
#include "chars.h"
|
||||||
@@ -17,7 +18,7 @@ skill 1
|
|||||||
CHARACTERISTIC_VIEW_MAXCHANGE 90
|
CHARACTERISTIC_VIEW_MAXCHANGE 90
|
||||||
CHARACTERISTIC_REACTIONTIME 3.0
|
CHARACTERISTIC_REACTIONTIME 3.0
|
||||||
CHARACTERISTIC_CHAT_FILE "bots/hunter_t.c"
|
CHARACTERISTIC_CHAT_FILE "bots/hunter_t.c"
|
||||||
CHARACTERISTIC_CHAT_NAME "lgbot"
|
CHARACTERISTIC_CHAT_NAME "hunter"
|
||||||
CHARACTERISTIC_CHAT_CPM 400
|
CHARACTERISTIC_CHAT_CPM 400
|
||||||
CHARACTERISTIC_CHAT_INSULT 0
|
CHARACTERISTIC_CHAT_INSULT 0
|
||||||
CHARACTERISTIC_CHAT_MISC 0
|
CHARACTERISTIC_CHAT_MISC 0
|
||||||
@@ -58,112 +59,6 @@ skill 1
|
|||||||
CHARACTERISTIC_FIRETHROTTLE 1.0
|
CHARACTERISTIC_FIRETHROTTLE 1.0
|
||||||
}
|
}
|
||||||
|
|
||||||
skill 2
|
|
||||||
{
|
|
||||||
CHARACTERISTIC_NAME "lgbot"
|
|
||||||
CHARACTERISTIC_GENDER "female"
|
|
||||||
CHARACTERISTIC_ATTACK_SKILL 0.45
|
|
||||||
CHARACTERISTIC_WEAPONWEIGHTS "bots/lgbot_w.c"
|
|
||||||
CHARACTERISTIC_AIM_SKILL 0.35
|
|
||||||
CHARACTERISTIC_AIM_ACCURACY 0.4
|
|
||||||
CHARACTERISTIC_VIEW_FACTOR 0.55
|
|
||||||
CHARACTERISTIC_VIEW_MAXCHANGE 110
|
|
||||||
CHARACTERISTIC_REACTIONTIME 2.0
|
|
||||||
CHARACTERISTIC_CHAT_FILE "bots/hunter_t.c"
|
|
||||||
CHARACTERISTIC_CHAT_NAME "lgbot"
|
|
||||||
CHARACTERISTIC_CHAT_CPM 400
|
|
||||||
CHARACTERISTIC_CHAT_INSULT 0
|
|
||||||
CHARACTERISTIC_CHAT_MISC 0
|
|
||||||
CHARACTERISTIC_CHAT_STARTENDLEVEL 0
|
|
||||||
CHARACTERISTIC_CHAT_ENTEREXITGAME 0
|
|
||||||
CHARACTERISTIC_CHAT_KILL 0
|
|
||||||
CHARACTERISTIC_CHAT_DEATH 0
|
|
||||||
CHARACTERISTIC_CHAT_ENEMYSUICIDE 0
|
|
||||||
CHARACTERISTIC_CHAT_HITTALKING 0
|
|
||||||
CHARACTERISTIC_CHAT_HITNODEATH 0
|
|
||||||
CHARACTERISTIC_CHAT_HITNOKILL 0
|
|
||||||
CHARACTERISTIC_CHAT_RANDOM 0
|
|
||||||
CHARACTERISTIC_CHAT_REPLY 0
|
|
||||||
CHARACTERISTIC_CROUCHER 0
|
|
||||||
CHARACTERISTIC_JUMPER 0
|
|
||||||
CHARACTERISTIC_WALKER 0
|
|
||||||
CHARACTERISTIC_WEAPONJUMPING 0
|
|
||||||
CHARACTERISTIC_GRAPPLE_USER 0
|
|
||||||
CHARACTERISTIC_ITEMWEIGHTS "bots/hunter_i.c"
|
|
||||||
CHARACTERISTIC_AGGRESSION 1.0
|
|
||||||
CHARACTERISTIC_SELFPRESERVATION 0
|
|
||||||
CHARACTERISTIC_VENGEFULNESS 1.0
|
|
||||||
CHARACTERISTIC_CAMPER 0
|
|
||||||
CHARACTERISTIC_EASY_FRAGGER 0.5
|
|
||||||
CHARACTERISTIC_ALERTNESS 1.0
|
|
||||||
CHARACTERISTIC_AIM_ACCURACY_MACHINEGUN 0.4
|
|
||||||
CHARACTERISTIC_AIM_ACCURACY_SHOTGUN 0.4
|
|
||||||
CHARACTERISTIC_AIM_ACCURACY_ROCKETLAUNCHER 0.4
|
|
||||||
CHARACTERISTIC_AIM_ACCURACY_GRENADELAUNCHER 0.4
|
|
||||||
CHARACTERISTIC_AIM_ACCURACY_LIGHTNING 0.4
|
|
||||||
CHARACTERISTIC_AIM_ACCURACY_PLASMAGUN 0.4
|
|
||||||
CHARACTERISTIC_AIM_ACCURACY_RAILGUN 0.4
|
|
||||||
CHARACTERISTIC_AIM_ACCURACY_BFG10K 0.4
|
|
||||||
CHARACTERISTIC_AIM_SKILL_ROCKETLAUNCHER 0.35
|
|
||||||
CHARACTERISTIC_AIM_SKILL_GRENADELAUNCHER 0.35
|
|
||||||
CHARACTERISTIC_AIM_SKILL_PLASMAGUN 0.35
|
|
||||||
CHARACTERISTIC_AIM_SKILL_BFG10K 0.35
|
|
||||||
CHARACTERISTIC_FIRETHROTTLE 1.0
|
|
||||||
}
|
|
||||||
|
|
||||||
skill 3
|
|
||||||
{
|
|
||||||
CHARACTERISTIC_NAME "lgbot"
|
|
||||||
CHARACTERISTIC_GENDER "female"
|
|
||||||
CHARACTERISTIC_ATTACK_SKILL 0.6
|
|
||||||
CHARACTERISTIC_WEAPONWEIGHTS "bots/lgbot_w.c"
|
|
||||||
CHARACTERISTIC_AIM_SKILL 0.5
|
|
||||||
CHARACTERISTIC_AIM_ACCURACY 0.6
|
|
||||||
CHARACTERISTIC_VIEW_FACTOR 0.7
|
|
||||||
CHARACTERISTIC_VIEW_MAXCHANGE 130
|
|
||||||
CHARACTERISTIC_REACTIONTIME 1.2
|
|
||||||
CHARACTERISTIC_CHAT_FILE "bots/hunter_t.c"
|
|
||||||
CHARACTERISTIC_CHAT_NAME "lgbot"
|
|
||||||
CHARACTERISTIC_CHAT_CPM 400
|
|
||||||
CHARACTERISTIC_CHAT_INSULT 0
|
|
||||||
CHARACTERISTIC_CHAT_MISC 0
|
|
||||||
CHARACTERISTIC_CHAT_STARTENDLEVEL 0
|
|
||||||
CHARACTERISTIC_CHAT_ENTEREXITGAME 0
|
|
||||||
CHARACTERISTIC_CHAT_KILL 0
|
|
||||||
CHARACTERISTIC_CHAT_DEATH 0
|
|
||||||
CHARACTERISTIC_CHAT_ENEMYSUICIDE 0
|
|
||||||
CHARACTERISTIC_CHAT_HITTALKING 0
|
|
||||||
CHARACTERISTIC_CHAT_HITNODEATH 0
|
|
||||||
CHARACTERISTIC_CHAT_HITNOKILL 0
|
|
||||||
CHARACTERISTIC_CHAT_RANDOM 0
|
|
||||||
CHARACTERISTIC_CHAT_REPLY 0
|
|
||||||
CHARACTERISTIC_CROUCHER 0
|
|
||||||
CHARACTERISTIC_JUMPER 0
|
|
||||||
CHARACTERISTIC_WALKER 0
|
|
||||||
CHARACTERISTIC_WEAPONJUMPING 0
|
|
||||||
CHARACTERISTIC_GRAPPLE_USER 0
|
|
||||||
CHARACTERISTIC_ITEMWEIGHTS "bots/hunter_i.c"
|
|
||||||
CHARACTERISTIC_AGGRESSION 1.0
|
|
||||||
CHARACTERISTIC_SELFPRESERVATION 0
|
|
||||||
CHARACTERISTIC_VENGEFULNESS 1.0
|
|
||||||
CHARACTERISTIC_CAMPER 0
|
|
||||||
CHARACTERISTIC_EASY_FRAGGER 0.5
|
|
||||||
CHARACTERISTIC_ALERTNESS 1.0
|
|
||||||
CHARACTERISTIC_AIM_ACCURACY_MACHINEGUN 0.6
|
|
||||||
CHARACTERISTIC_AIM_ACCURACY_SHOTGUN 0.6
|
|
||||||
CHARACTERISTIC_AIM_ACCURACY_ROCKETLAUNCHER 0.6
|
|
||||||
CHARACTERISTIC_AIM_ACCURACY_GRENADELAUNCHER 0.6
|
|
||||||
CHARACTERISTIC_AIM_ACCURACY_LIGHTNING 0.6
|
|
||||||
CHARACTERISTIC_AIM_ACCURACY_PLASMAGUN 0.6
|
|
||||||
CHARACTERISTIC_AIM_ACCURACY_RAILGUN 0.6
|
|
||||||
CHARACTERISTIC_AIM_ACCURACY_BFG10K 0.6
|
|
||||||
CHARACTERISTIC_AIM_SKILL_ROCKETLAUNCHER 0.5
|
|
||||||
CHARACTERISTIC_AIM_SKILL_GRENADELAUNCHER 0.5
|
|
||||||
CHARACTERISTIC_AIM_SKILL_PLASMAGUN 0.5
|
|
||||||
CHARACTERISTIC_AIM_SKILL_BFG10K 0.5
|
|
||||||
CHARACTERISTIC_FIRETHROTTLE 1.0
|
|
||||||
}
|
|
||||||
|
|
||||||
skill 4
|
skill 4
|
||||||
{
|
{
|
||||||
CHARACTERISTIC_NAME "lgbot"
|
CHARACTERISTIC_NAME "lgbot"
|
||||||
@@ -176,7 +71,7 @@ skill 4
|
|||||||
CHARACTERISTIC_VIEW_MAXCHANGE 160
|
CHARACTERISTIC_VIEW_MAXCHANGE 160
|
||||||
CHARACTERISTIC_REACTIONTIME 0.6
|
CHARACTERISTIC_REACTIONTIME 0.6
|
||||||
CHARACTERISTIC_CHAT_FILE "bots/hunter_t.c"
|
CHARACTERISTIC_CHAT_FILE "bots/hunter_t.c"
|
||||||
CHARACTERISTIC_CHAT_NAME "lgbot"
|
CHARACTERISTIC_CHAT_NAME "hunter"
|
||||||
CHARACTERISTIC_CHAT_CPM 400
|
CHARACTERISTIC_CHAT_CPM 400
|
||||||
CHARACTERISTIC_CHAT_INSULT 0
|
CHARACTERISTIC_CHAT_INSULT 0
|
||||||
CHARACTERISTIC_CHAT_MISC 0
|
CHARACTERISTIC_CHAT_MISC 0
|
||||||
@@ -229,7 +124,7 @@ skill 5
|
|||||||
CHARACTERISTIC_VIEW_MAXCHANGE 180
|
CHARACTERISTIC_VIEW_MAXCHANGE 180
|
||||||
CHARACTERISTIC_REACTIONTIME 0.2
|
CHARACTERISTIC_REACTIONTIME 0.2
|
||||||
CHARACTERISTIC_CHAT_FILE "bots/hunter_t.c"
|
CHARACTERISTIC_CHAT_FILE "bots/hunter_t.c"
|
||||||
CHARACTERISTIC_CHAT_NAME "lgbot"
|
CHARACTERISTIC_CHAT_NAME "hunter"
|
||||||
CHARACTERISTIC_CHAT_CPM 400
|
CHARACTERISTIC_CHAT_CPM 400
|
||||||
CHARACTERISTIC_CHAT_INSULT 0
|
CHARACTERISTIC_CHAT_INSULT 0
|
||||||
CHARACTERISTIC_CHAT_MISC 0
|
CHARACTERISTIC_CHAT_MISC 0
|
||||||
|
|||||||
@@ -23,6 +23,11 @@ PRESETS = {
|
|||||||
PUSH_RANGE, BACKOFF_RANGE = 250, 700
|
PUSH_RANGE, BACKOFF_RANGE = 250, 700
|
||||||
BACKOFF_HEALTH, PUSH_LEAD = 60, 30
|
BACKOFF_HEALTH, PUSH_LEAD = 60, 30
|
||||||
MAX_TARGET_DIST = 1500
|
MAX_TARGET_DIST = 1500
|
||||||
|
BOT_STEAM_ID = 90071996842377216 # minqlx gives bots this + their client number
|
||||||
|
|
||||||
|
|
||||||
|
def is_bot(steam_id):
|
||||||
|
return steam_id == 0 or steam_id >= BOT_STEAM_ID
|
||||||
|
|
||||||
|
|
||||||
def to_int(text):
|
def to_int(text):
|
||||||
@@ -156,7 +161,7 @@ if minqlx:
|
|||||||
for p in players:
|
for p in players:
|
||||||
if p.id == bot.id or p.team == "spectator" or not p.is_alive:
|
if p.id == bot.id or p.team == "spectator" or not p.is_alive:
|
||||||
continue
|
continue
|
||||||
if p.steam_id == 0 and not self.target_bots: # bots have Steam ID 0
|
if is_bot(p.steam_id) and not self.target_bots:
|
||||||
continue
|
continue
|
||||||
pos = p.position()
|
pos = p.position()
|
||||||
cands.append(((pos.x, pos.y), p))
|
cands.append(((pos.x, pos.y), p))
|
||||||
|
|||||||
+7
-1
@@ -1,7 +1,7 @@
|
|||||||
import math, os, random, sys, unittest
|
import math, os, random, sys, unittest
|
||||||
|
|
||||||
sys.path.insert(0, os.path.join(os.path.dirname(os.path.abspath(__file__)), "..", "home", "minqlx-plugins"))
|
sys.path.insert(0, os.path.join(os.path.dirname(os.path.abspath(__file__)), "..", "home", "minqlx-plugins"))
|
||||||
from lgbot import (PRESETS, KEYS, resolve, Strafer, wanted_range, steer, fix_z, pick_target, to_int)
|
from lgbot import (PRESETS, KEYS, resolve, Strafer, wanted_range, steer, fix_z, pick_target, to_int, is_bot)
|
||||||
|
|
||||||
|
|
||||||
def preset(n, **kw):
|
def preset(n, **kw):
|
||||||
@@ -123,6 +123,12 @@ class Misc(unittest.TestCase):
|
|||||||
self.assertEqual(fix_z(40), 40) # slopes/stairs
|
self.assertEqual(fix_z(40), 40) # slopes/stairs
|
||||||
self.assertEqual(fix_z(800), 800) # jump pads
|
self.assertEqual(fix_z(800), 800) # jump pads
|
||||||
|
|
||||||
|
def test_is_bot(self):
|
||||||
|
self.assertTrue(is_bot(90071996842377216)) # minqlx bot ids: base + client number
|
||||||
|
self.assertTrue(is_bot(90071996842377216 + 5))
|
||||||
|
self.assertTrue(is_bot(0))
|
||||||
|
self.assertFalse(is_bot(76561198000000000)) # real SteamID64
|
||||||
|
|
||||||
def test_to_int(self):
|
def test_to_int(self):
|
||||||
self.assertEqual(to_int("5"), 5)
|
self.assertEqual(to_int("5"), 5)
|
||||||
self.assertEqual(to_int(" -1 "), -1)
|
self.assertEqual(to_int(" -1 "), -1)
|
||||||
|
|||||||
Reference in new issue
Block a user