mirror of
https://github.com/ineedbots/iw2_bot_warfare.git
synced 2025-04-19 14:22:54 +00:00
formatting update
This commit is contained in:
parent
c842ef54af
commit
458c33c85c
14
.astylerc
14
.astylerc
@ -1,21 +1,27 @@
|
||||
# try to mimic the original gsc provided
|
||||
# mode=ghc
|
||||
mode=c
|
||||
style=allman
|
||||
|
||||
indent=tab
|
||||
indent=force-tab=2
|
||||
lineend=windows
|
||||
|
||||
pad-oper
|
||||
pad-paren-in
|
||||
pad-header
|
||||
|
||||
# delete-empty-lines
|
||||
# pad-brackets-in
|
||||
fill-empty-lines
|
||||
squeeze-lines=2
|
||||
squeeze-ws
|
||||
break-one-line-headers
|
||||
add-braces
|
||||
remove-comment-prefix
|
||||
|
||||
break-blocks
|
||||
# remove-braces
|
||||
|
||||
indent-switches
|
||||
indent-cases
|
||||
indent-after-parens
|
||||
indent-col1-comments
|
||||
|
||||
remove-comment-prefix
|
||||
|
@ -4,7 +4,7 @@ root = true
|
||||
indent_style = tab
|
||||
indent_size = 2
|
||||
charset = latin1
|
||||
trim_trailing_whitespace = true
|
||||
trim_trailing_whitespace = false
|
||||
insert_final_newline = true
|
||||
|
||||
[*.md]
|
||||
|
684
.vscode/settings.json
vendored
684
.vscode/settings.json
vendored
@ -13,687 +13,3 @@
|
||||
},
|
||||
"vscode-codscript.use_builtin_completionItems": false
|
||||
}
|
||||
|
||||
// use below to verify no single line blocks with no braces
|
||||
// /^\s*(if|while|for|switch|else)(?!\w).*\s*[\r\n]+\s*[^\s{]/gm
|
||||
|
||||
// use below to verify array indexing spacing style
|
||||
// $ egrep -ron "(\[\S|\S\])" --include \*.gsc ./ | egrep -v "\[\[" | egrep -v "\]\]" | egrep -v "\[\]" | egrep -v "\[\{" | egrep -v "\}\]"
|
||||
|
||||
// python script for casing fixes i did
|
||||
/*
|
||||
import sys
|
||||
import re
|
||||
|
||||
builtins = """
|
||||
assert
|
||||
isdefined
|
||||
println
|
||||
getentitynumber
|
||||
delete
|
||||
spawnstruct
|
||||
getdvar
|
||||
setdvar
|
||||
visionsetnaked
|
||||
visionsetnight
|
||||
int
|
||||
setsunlight
|
||||
gettime
|
||||
assertex
|
||||
isalive
|
||||
assertmsg
|
||||
issubstr
|
||||
istouching
|
||||
savegame~
|
||||
getdebugdvar
|
||||
getarraykeys
|
||||
print3d
|
||||
getentarray
|
||||
spawn
|
||||
getorigin
|
||||
setmodel
|
||||
distance
|
||||
vectortoangles
|
||||
anglestoforward
|
||||
vectordot
|
||||
getaiarray
|
||||
distancesquared
|
||||
bloodimpact
|
||||
isai
|
||||
issentient
|
||||
randomint
|
||||
radiusdamage
|
||||
activateclientexploder
|
||||
deactivateclientexploder
|
||||
playloopsound
|
||||
connectpaths
|
||||
hide
|
||||
notsolid
|
||||
show
|
||||
solid
|
||||
disconnectpaths
|
||||
getent
|
||||
physicslaunch
|
||||
rotatevelocity
|
||||
movegravity
|
||||
ambientplay
|
||||
getnode
|
||||
shellshock
|
||||
iswaitingonsound
|
||||
linkto
|
||||
playsound
|
||||
stopsounds
|
||||
stoploopsound
|
||||
playsoundasmaster
|
||||
iprintlnbold
|
||||
useanimtree
|
||||
getaispeciesarray
|
||||
line
|
||||
anglestoright
|
||||
anglestoup
|
||||
clearenemy
|
||||
setfriendlychain
|
||||
strtok
|
||||
getvehiclenode
|
||||
soundexists
|
||||
newhudelem
|
||||
setclock
|
||||
missionfailed
|
||||
randomfloatrange
|
||||
clearfixednodesafevolume
|
||||
tolower
|
||||
playrumbleonentity
|
||||
setflashbanged
|
||||
getthreatbiasgroup
|
||||
getentnum
|
||||
createthreatbiasgroup
|
||||
setthreatbiasgroup
|
||||
setthreatbias
|
||||
bullettrace
|
||||
playerphysicstrace
|
||||
unlink
|
||||
precachestring
|
||||
vectornormalize
|
||||
settext
|
||||
destroy
|
||||
setshader
|
||||
threatbiasgroupexists
|
||||
setignoremegroup
|
||||
getcurrentweapon
|
||||
getfractionmaxammo
|
||||
givemaxammo
|
||||
getspawnerarray
|
||||
isplayer
|
||||
dodamage
|
||||
dospawn
|
||||
getdvarfloat
|
||||
getspeedmph
|
||||
setgoalentity
|
||||
getplayerangles
|
||||
playerlinkto
|
||||
rotateto
|
||||
playerlinktodelta
|
||||
gettagorigin
|
||||
gettagangles
|
||||
stalingradspawn
|
||||
setblur
|
||||
setgoalnode
|
||||
setgoalpos
|
||||
objective_state
|
||||
setanimrestart
|
||||
getdvarint
|
||||
fadeovertime
|
||||
getplayerviewheight
|
||||
setsaveddvar
|
||||
stopanimscripted
|
||||
setlightintensity
|
||||
playerads
|
||||
geteye
|
||||
earthquake
|
||||
getvelocity
|
||||
playfx
|
||||
setsoundblend
|
||||
getweaponslist
|
||||
getweaponammoclip
|
||||
iscoopepd
|
||||
giveachievement
|
||||
issplitscreen
|
||||
detach
|
||||
musicplay
|
||||
setvolfog
|
||||
setculldist
|
||||
splitviewallowed
|
||||
getplayers
|
||||
freezecontrols
|
||||
setdoublevision
|
||||
visionsetnaked
|
||||
clientsysregister
|
||||
clientsyssetstate
|
||||
clientsyssetstate
|
||||
getsnapshotindexarray
|
||||
snapshotacknowledged
|
||||
oktospawn
|
||||
getturretowner
|
||||
useby
|
||||
stopusingturret
|
||||
setorigin
|
||||
setplayerangles
|
||||
setvolfog
|
||||
enableinvulnerability
|
||||
disableweapons
|
||||
newclienthudelem
|
||||
enableweapons
|
||||
disableinvulnerability
|
||||
setprintchannel
|
||||
randomfloat
|
||||
openfile
|
||||
fprintln
|
||||
closefile
|
||||
spawnfx
|
||||
triggerfx
|
||||
playfxontag
|
||||
moveovertime
|
||||
scaleovertime
|
||||
clearanim
|
||||
setanim
|
||||
setproneanimnodes
|
||||
setanimknoball
|
||||
getattachsize
|
||||
getattachmodelname
|
||||
weaponclass
|
||||
localtoworldcoords
|
||||
getshootatpos
|
||||
canshoot
|
||||
getdebugdvarint
|
||||
angleclamp180
|
||||
isstanceallowed
|
||||
getweaponmodel
|
||||
nearnode
|
||||
floor
|
||||
cos
|
||||
sin
|
||||
setflaggedanimknoballrestart
|
||||
getanimlength
|
||||
getdebugeye
|
||||
orientmode
|
||||
isingoal
|
||||
useturret
|
||||
setmode
|
||||
shoot
|
||||
randomintrange
|
||||
stopshoot
|
||||
bulletspread
|
||||
issuppressed
|
||||
cansee
|
||||
sighttracepassed
|
||||
abs
|
||||
canattackenemynode
|
||||
length
|
||||
weaponisboltaction
|
||||
weaponisgasweapon
|
||||
weaponcliptype
|
||||
enterprone
|
||||
exitprone
|
||||
isarray
|
||||
getmovedelta
|
||||
startragdoll
|
||||
physicsexplosionsphere
|
||||
setflaggedanimknoball
|
||||
setanimknoblimited
|
||||
setanimknob
|
||||
getmotionangle
|
||||
maymovetopoint
|
||||
animhasnotetrack
|
||||
setflaggedanimknob
|
||||
setanimlimited
|
||||
updateplayersightaccuracy
|
||||
absangleclamp180
|
||||
getanimtime
|
||||
weaponclipsize
|
||||
getclosestenemysqdist
|
||||
setflaggedanimknobrestart
|
||||
hidepart
|
||||
updateprone
|
||||
getthreatbias
|
||||
max
|
||||
physicstrace
|
||||
checkgrenadethrowpos
|
||||
checkgrenadethrow
|
||||
min
|
||||
getattachtagname
|
||||
throwgrenade
|
||||
print
|
||||
attach
|
||||
magicgrenademanual
|
||||
findbestcovernode
|
||||
usecovernode
|
||||
findreacquiredirectpath
|
||||
findreacquireproximatepath
|
||||
reacquiremove
|
||||
badplace_cylinder
|
||||
badplace_delete
|
||||
getcurrentweaponclipammo
|
||||
getflashbangedstrength
|
||||
setflaggedanimknoblimitedrestart
|
||||
logstring
|
||||
setburn
|
||||
startfadingblur
|
||||
setnormalhealth
|
||||
iprintln
|
||||
changefontscaleovertime
|
||||
getkeybinding
|
||||
getscoremultiplier
|
||||
setclientdvars
|
||||
newscorehudelem
|
||||
ban
|
||||
coopinfo
|
||||
setvalue
|
||||
setscoremultiplier
|
||||
playlocalsound
|
||||
closemenu
|
||||
closeingamemenu
|
||||
setdepthoffield
|
||||
resettimeout
|
||||
stopshellshock
|
||||
stoprumble
|
||||
spawn
|
||||
getcurrentarcadehighscore
|
||||
uploadscore
|
||||
loadfx
|
||||
setcollectible
|
||||
hascollectible
|
||||
tablelookup
|
||||
sethintstring
|
||||
usetriggerrequirelookat
|
||||
takeallweapons
|
||||
giveweapon
|
||||
allowsprint
|
||||
setmovespeedscale
|
||||
setclientdvar
|
||||
visionsetberserker
|
||||
disableberserker
|
||||
enableberserker
|
||||
unsetcollectible
|
||||
switchtoweapon
|
||||
getweaponammostock
|
||||
setweaponammoclip
|
||||
setweaponammostock
|
||||
getweaponslistprimaries
|
||||
takeweapon
|
||||
switchtooffhand
|
||||
precacheitem
|
||||
allowjump
|
||||
visionsetlaststand
|
||||
weapontype
|
||||
isthrowinggrenade
|
||||
setcursorhint
|
||||
enablelinkto
|
||||
depthinwater
|
||||
disableweaponcycling
|
||||
disableoffhandweapons
|
||||
enableweaponcycling
|
||||
enableoffhandweapons
|
||||
bullettracepassed
|
||||
usebuttonpressed
|
||||
hasperk
|
||||
startrevive
|
||||
stoprevive
|
||||
reviveplayer
|
||||
setrank
|
||||
precacheshader
|
||||
getstat
|
||||
setstat
|
||||
tablelookupistring
|
||||
setstatbit
|
||||
getsubstr
|
||||
iprintlnbold
|
||||
setpulsefx
|
||||
weaponissemiauto
|
||||
weaponfiretime
|
||||
getweaponclipmodel
|
||||
precachemodel
|
||||
createprintchannel
|
||||
precacheheadicon
|
||||
precacheshellshock
|
||||
precacherumble
|
||||
watersimenable
|
||||
getnodearray
|
||||
detachall
|
||||
itemweaponsetammo
|
||||
setexploderid
|
||||
transmittargetname
|
||||
isweapondetonationtimed
|
||||
allowprone
|
||||
allowcrouch
|
||||
allowstand
|
||||
getallnodes
|
||||
buttonpressed
|
||||
changelevel
|
||||
newdebughudelem
|
||||
eqoff
|
||||
eqon
|
||||
allowads
|
||||
setspreadoverride
|
||||
resetspreadoverride
|
||||
setmapcenter
|
||||
numremoteclients
|
||||
getspawnerteamarray
|
||||
settimescale
|
||||
getnumconnectedplayers
|
||||
getnumexpectedplayers
|
||||
dropweapon
|
||||
animmode
|
||||
asin
|
||||
geteyeapprox
|
||||
lengthsquared
|
||||
getanglestolikelyenemypath
|
||||
showpart
|
||||
teleport
|
||||
trackscriptstate
|
||||
setflaggedanimlimited
|
||||
setanimknoballrestart
|
||||
sqrt
|
||||
reacquirestep
|
||||
findreacquirenode
|
||||
getreacquirenode
|
||||
usereacquirenode
|
||||
flagenemyunattackable
|
||||
getstance
|
||||
animcustom
|
||||
getnorthyaw
|
||||
stopsound
|
||||
getnotetracktimes
|
||||
vectorcross
|
||||
isgodmode
|
||||
viewkick
|
||||
getpersistentprofilevar
|
||||
setpersistentprofilevar
|
||||
updategamerprofile
|
||||
meleebuttonpressed
|
||||
setcandamage
|
||||
clearpitchorient
|
||||
setstance
|
||||
playerlinktoabsolute
|
||||
allowlean
|
||||
allowmelee
|
||||
enablehealthshield
|
||||
hideviewmodel
|
||||
showviewmodel
|
||||
acos
|
||||
findpath
|
||||
settargetentity
|
||||
cleartargetentity
|
||||
isfiringturret
|
||||
shootturret
|
||||
stopfiring
|
||||
startfiring
|
||||
isturretactive
|
||||
canuseturret
|
||||
getdifficulty
|
||||
getturrettarget
|
||||
restoredefaultdroppitch
|
||||
stopuseturret
|
||||
getstartorigin
|
||||
setruntopos
|
||||
animscripted
|
||||
maketurretunusable
|
||||
setdefaultdroppitch
|
||||
maketurretusable
|
||||
isturretfiring
|
||||
pushplayer
|
||||
setgoalvolume
|
||||
makefakeai
|
||||
getstartangles
|
||||
setanimknobrestart
|
||||
setflaggedanim
|
||||
setanimtime
|
||||
setflaggedanimrestart
|
||||
getvehicleowner
|
||||
allowedstances
|
||||
magicgrenade
|
||||
weaponfightdist
|
||||
getangledelta
|
||||
playrumbleonposition
|
||||
canspawnturret
|
||||
spawnturret
|
||||
getnegotiationstartnode
|
||||
startcoverarrival
|
||||
atan
|
||||
checkcoverexitposwithpath
|
||||
maymovefrompointtopoint
|
||||
issaverecentlyloaded
|
||||
musicstop
|
||||
setexpfog
|
||||
setswitchnode
|
||||
setwaitnode
|
||||
setspeed
|
||||
clearlookatent
|
||||
sethoverparams
|
||||
setneargoalnotifydist
|
||||
setairresistance
|
||||
cleartargetyaw
|
||||
setgoalyaw
|
||||
cleargoalyaw
|
||||
settargetyaw
|
||||
attachpath
|
||||
setspeedimmediate
|
||||
startpath
|
||||
spawnvehicle
|
||||
setvehicleteam
|
||||
freevehicle
|
||||
clearturrettarget
|
||||
setvehgoalpos
|
||||
getspeed
|
||||
resumespeed
|
||||
getallvehiclenodes
|
||||
setshadowhint
|
||||
setturretteam
|
||||
precacheturret
|
||||
playrumblelooponentity
|
||||
badplace_arc
|
||||
fireweapon
|
||||
addvehicletocompass
|
||||
removevehiclefromcompass
|
||||
getattachpos
|
||||
dontinterpolate
|
||||
precachevehicle
|
||||
setlookatent
|
||||
setturrettargetent
|
||||
setenginevolume
|
||||
joltbody
|
||||
isragdoll
|
||||
setwaitspeed
|
||||
setturretignoregoals
|
||||
getturret
|
||||
makevehicleunusable
|
||||
isturretready
|
||||
setvehiclelookattext
|
||||
clearalltextafterhudelem
|
||||
devaddpitch
|
||||
devaddyaw
|
||||
devaddroll
|
||||
isstring
|
||||
playloopedfx
|
||||
precachemenu
|
||||
playerpositionvalid
|
||||
allowspectateteam
|
||||
finishplayerdamage
|
||||
openmenu
|
||||
reportclientdisconnected
|
||||
setactionslot
|
||||
setviewmodel
|
||||
getcurrentoffhand
|
||||
damageconetrace
|
||||
detonate
|
||||
distance2d
|
||||
rotateyaw
|
||||
modelhasphyspreset
|
||||
launchragdoll
|
||||
beginprediction
|
||||
endprediction
|
||||
getpartname
|
||||
createdynentandlaunch
|
||||
starttanning
|
||||
weaponmountable
|
||||
playsoundatposition
|
||||
isbeingwatched
|
||||
pointonsegmentnearesttopoint
|
||||
predictanim
|
||||
predictoriginandangles
|
||||
gethitenttype
|
||||
gethityaw
|
||||
isdeflected
|
||||
lerpposition
|
||||
getvisionsetnaked
|
||||
savegamenocommit
|
||||
commitsave
|
||||
issavesuccessful
|
||||
ismeleeing
|
||||
isfiring
|
||||
deactivatereverb
|
||||
setreverb
|
||||
forcelevelend
|
||||
makedvarserverinfo
|
||||
exitlevel
|
||||
getreflectionlocs
|
||||
getreflectionorigin
|
||||
setdebugangles
|
||||
setdebugorigin
|
||||
weaponbayonetinfo
|
||||
hasusedweapon
|
||||
getnumrestarts
|
||||
setuinextlevel
|
||||
missionsuccess
|
||||
setmissiondvar
|
||||
attackbuttonpressed
|
||||
rotateroll
|
||||
getlightintensity
|
||||
setcontents
|
||||
radiusdamage
|
||||
vibrate
|
||||
disableaimassist
|
||||
enableaimassist
|
||||
setfixednodesafevolume
|
||||
isknownenemyinradius
|
||||
isknownenemyinvolume
|
||||
setlightcolor
|
||||
getlightcolor
|
||||
vectorlerp
|
||||
pickupgrenade
|
||||
startscriptedanim
|
||||
spawncollision
|
||||
rotatepitch
|
||||
setelectrified
|
||||
movez
|
||||
isnotarget
|
||||
hasweapon
|
||||
setvisibletoplayer
|
||||
bbprint
|
||||
setvisibletoall
|
||||
setinvisibletoplayer
|
||||
weaponmaxammo
|
||||
getammocount
|
||||
isswitchingweapons
|
||||
setperk
|
||||
unsetperk
|
||||
forceteleport
|
||||
iprintln
|
||||
cleargoalvolume
|
||||
settalktospecies
|
||||
setailimit
|
||||
disablegrenadesuicide
|
||||
adsbuttonpressed
|
||||
playersetgroundreferenceent
|
||||
isonground
|
||||
resetmissiledetonationtime
|
||||
settransported
|
||||
setengagementmindist
|
||||
setengagementmaxdist
|
||||
setspawnerteam
|
||||
traversemode
|
||||
getnegotiationendnode
|
||||
getnormalhealth
|
||||
animrelative
|
||||
getaivelocity
|
||||
finishactordamage
|
||||
isdedicated
|
||||
getfunction
|
||||
replacefunc
|
||||
disabledetouronce
|
||||
cmdexec
|
||||
getguid
|
||||
logprint
|
||||
printconsole
|
||||
isweaponcliponly
|
||||
botaction
|
||||
botstop
|
||||
botmovement
|
||||
botmeleeparams
|
||||
generatepath
|
||||
getmins
|
||||
getmaxs
|
||||
setallowedtraversals
|
||||
setignoredlinks
|
||||
getnodenumber
|
||||
getlinkednodes
|
||||
addtestclient
|
||||
notifyonplayercommand
|
||||
ishost
|
||||
closer
|
||||
""".split()
|
||||
|
||||
if sys.argv[1] == '1': # checks for capitals in builtins
|
||||
for fn in sys.argv[2:]:
|
||||
whole_file = ''
|
||||
|
||||
with open(fn, 'r') as file:
|
||||
whole_file = file.read()
|
||||
|
||||
seen = {}
|
||||
file.seek(0)
|
||||
for line in file:
|
||||
toks = line.split()
|
||||
|
||||
for tok in toks:
|
||||
matches = re.findall(r'\w+', tok)
|
||||
|
||||
for match in matches:
|
||||
if any(char.isupper() for char in match) and match.lower() in builtins:
|
||||
print(match, match.lower())
|
||||
whole_file = whole_file.replace(match, match.lower())
|
||||
|
||||
with open(fn, 'w') as file:
|
||||
file.write(whole_file)
|
||||
elif sys.argv[1] == '2': # checks for capital letters for field names
|
||||
for fn in sys.argv[2:]:
|
||||
whole_file = ''
|
||||
|
||||
with open(fn, 'r') as file:
|
||||
whole_file = file.read()
|
||||
file.seek(0)
|
||||
|
||||
for line in file:
|
||||
toks = line.split()
|
||||
|
||||
for tok in toks:
|
||||
matches = re.findall(r'(\S+(\.\w+)+)', tok)
|
||||
|
||||
for match in matches:
|
||||
toks2 = match[0].split('.')
|
||||
left = toks2[0]
|
||||
|
||||
if left.isnumeric():
|
||||
continue
|
||||
|
||||
right = '.'.join(toks2[1:])
|
||||
|
||||
if not any(char.isupper() for char in right):
|
||||
continue
|
||||
|
||||
print(match[0], left + '.' + right.lower())
|
||||
whole_file = whole_file.replace(match[0], left + '.' + right.lower())
|
||||
|
||||
with open(fn, 'w') as file:
|
||||
file.write(whole_file)
|
||||
|
||||
*/
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -7,7 +7,7 @@
|
||||
added()
|
||||
{
|
||||
self endon( "disconnect" );
|
||||
|
||||
|
||||
self set_diff();
|
||||
}
|
||||
|
||||
@ -17,11 +17,11 @@ added()
|
||||
connected()
|
||||
{
|
||||
self endon( "disconnect" );
|
||||
|
||||
|
||||
self.killerlocation = undefined;
|
||||
self.lastkiller = undefined;
|
||||
self.bot_change_class = true;
|
||||
|
||||
|
||||
self thread difficulty();
|
||||
self thread teamWatch();
|
||||
self thread classWatch();
|
||||
@ -36,47 +36,47 @@ onKilled( eInflictor, eAttacker, iDamage, sMeansOfDeath, sWeapon, vDir, sHitLoc,
|
||||
{
|
||||
self.killerlocation = undefined;
|
||||
self.lastkiller = undefined;
|
||||
|
||||
|
||||
if ( !isdefined( self ) || !isdefined( self.team ) )
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
if ( sMeansOfDeath == "MOD_FALLING" || sMeansOfDeath == "MOD_SUICIDE" )
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
if ( iDamage <= 0 )
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
if ( !isdefined( eAttacker ) || !isdefined( eAttacker.team ) )
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
if ( eAttacker == self )
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
if ( level.teambased && eAttacker.team == self.team )
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
if ( !isdefined( eInflictor ) || eInflictor.classname != "player" )
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
if ( !isalive( eAttacker ) )
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
self.killerlocation = eAttacker.origin;
|
||||
self.lastkiller = eAttacker;
|
||||
}
|
||||
@ -90,49 +90,49 @@ onDamage( eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeath, sWeapon, vPoin
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
if ( !isalive( self ) )
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
if ( sMeansOfDeath == "MOD_FALLING" || sMeansOfDeath == "MOD_SUICIDE" )
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
if ( iDamage <= 0 )
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
if ( !isdefined( eAttacker ) || !isdefined( eAttacker.team ) )
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
if ( eAttacker == self )
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
if ( level.teambased && eAttacker.team == self.team )
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
if ( !isdefined( eInflictor ) || eInflictor.classname != "player" )
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
if ( !isalive( eAttacker ) )
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
self bot_cry_for_help( eAttacker );
|
||||
|
||||
|
||||
self SetAttacker( eAttacker );
|
||||
}
|
||||
|
||||
@ -145,62 +145,62 @@ bot_cry_for_help( attacker )
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
theTime = gettime();
|
||||
|
||||
|
||||
if ( isdefined( self.help_time ) && theTime - self.help_time < 1000 )
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
self.help_time = theTime;
|
||||
|
||||
|
||||
for ( i = level.players.size - 1; i >= 0; i-- )
|
||||
{
|
||||
player = level.players[ i ];
|
||||
|
||||
|
||||
if ( !player is_bot() )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
|
||||
if ( !isdefined( player.team ) )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
|
||||
if ( !player IsPlayerModelOK() )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
|
||||
if ( !isalive( player ) )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
|
||||
if ( player == self )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
|
||||
if ( player.team != self.team )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
|
||||
dist = player.pers[ "bots" ][ "skill" ][ "help_dist" ];
|
||||
dist *= dist;
|
||||
|
||||
|
||||
if ( distancesquared( self.origin, player.origin ) > dist )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
|
||||
if ( randomint( 100 ) < 50 )
|
||||
{
|
||||
self SetAttacker( attacker );
|
||||
|
||||
|
||||
if ( randomint( 100 ) > 70 )
|
||||
{
|
||||
break;
|
||||
@ -215,16 +215,16 @@ bot_cry_for_help( attacker )
|
||||
set_diff()
|
||||
{
|
||||
rankVar = getcvarint( "bots_skill" );
|
||||
|
||||
|
||||
switch ( rankVar )
|
||||
{
|
||||
case 0:
|
||||
self.pers[ "bots" ][ "skill" ][ "base" ] = RoundNum( random_normal_distribution( 3.5, 1.75, 1, 7 ) );
|
||||
break;
|
||||
|
||||
|
||||
case 8:
|
||||
break;
|
||||
|
||||
|
||||
case 9:
|
||||
self.pers[ "bots" ][ "skill" ][ "base" ] = randomintrange( 1, 7 );
|
||||
self.pers[ "bots" ][ "skill" ][ "aim_time" ] = 0.05 * randomintrange( 1, 20 );
|
||||
@ -234,11 +234,11 @@ set_diff()
|
||||
self.pers[ "bots" ][ "skill" ][ "no_trace_look_time" ] = 50 * randomint( 100 );
|
||||
self.pers[ "bots" ][ "skill" ][ "remember_time" ] = 50 * randomint( 100 );
|
||||
self.pers[ "bots" ][ "skill" ][ "fov" ] = randomfloatrange( -1, 1 );
|
||||
|
||||
|
||||
randomNum = randomintrange( 500, 25000 );
|
||||
self.pers[ "bots" ][ "skill" ][ "dist_start" ] = randomNum;
|
||||
self.pers[ "bots" ][ "skill" ][ "dist_max" ] = randomNum * 2;
|
||||
|
||||
|
||||
self.pers[ "bots" ][ "skill" ][ "spawn_time" ] = 0.05 * randomint( 20 );
|
||||
self.pers[ "bots" ][ "skill" ][ "help_dist" ] = randomintrange( 500, 25000 );
|
||||
self.pers[ "bots" ][ "skill" ][ "semi_time" ] = randomfloatrange( 0.05, 1 );
|
||||
@ -247,7 +247,7 @@ set_diff()
|
||||
self.pers[ "bots" ][ "skill" ][ "aim_offset_amount" ] = randomfloatrange( 0.05, 1 );
|
||||
self.pers[ "bots" ][ "skill" ][ "bone_update_interval" ] = randomfloatrange( 0.05, 1 );
|
||||
self.pers[ "bots" ][ "skill" ][ "bones" ] = "j_head,j_spine4,j_ankle_ri,j_ankle_le";
|
||||
|
||||
|
||||
self.pers[ "bots" ][ "behavior" ][ "strafe" ] = randomint( 100 );
|
||||
self.pers[ "bots" ][ "behavior" ][ "nade" ] = randomint( 100 );
|
||||
self.pers[ "bots" ][ "behavior" ][ "camp" ] = randomint( 100 );
|
||||
@ -257,7 +257,7 @@ set_diff()
|
||||
self.pers[ "bots" ][ "behavior" ][ "class" ] = randomint( 100 );
|
||||
self.pers[ "bots" ][ "behavior" ][ "jump" ] = randomint( 100 );
|
||||
break;
|
||||
|
||||
|
||||
default:
|
||||
self.pers[ "bots" ][ "skill" ][ "base" ] = rankVar;
|
||||
break;
|
||||
@ -270,7 +270,7 @@ set_diff()
|
||||
difficulty()
|
||||
{
|
||||
self endon( "disconnect" );
|
||||
|
||||
|
||||
for ( ;; )
|
||||
{
|
||||
if ( getcvarint( "bots_skill" ) != 9 )
|
||||
@ -297,7 +297,7 @@ difficulty()
|
||||
self.pers[ "bots" ][ "skill" ][ "bones" ] = "j_spine4,j_ankle_le,j_ankle_ri";
|
||||
self.pers[ "bots" ][ "skill" ][ "ads_fov_multi" ] = 0.5;
|
||||
self.pers[ "bots" ][ "skill" ][ "ads_aimspeed_multi" ] = 0.5;
|
||||
|
||||
|
||||
self.pers[ "bots" ][ "behavior" ][ "strafe" ] = 0;
|
||||
self.pers[ "bots" ][ "behavior" ][ "nade" ] = 10;
|
||||
self.pers[ "bots" ][ "behavior" ][ "camp" ] = 5;
|
||||
@ -307,7 +307,7 @@ difficulty()
|
||||
self.pers[ "bots" ][ "behavior" ][ "class" ] = 2;
|
||||
self.pers[ "bots" ][ "behavior" ][ "jump" ] = 0;
|
||||
break;
|
||||
|
||||
|
||||
case 2:
|
||||
self.pers[ "bots" ][ "skill" ][ "aim_time" ] = 0.55;
|
||||
self.pers[ "bots" ][ "skill" ][ "init_react_time" ] = 1000;
|
||||
@ -328,7 +328,7 @@ difficulty()
|
||||
self.pers[ "bots" ][ "skill" ][ "bones" ] = "j_spine4,j_ankle_le,j_ankle_ri,j_head";
|
||||
self.pers[ "bots" ][ "skill" ][ "ads_fov_multi" ] = 0.5;
|
||||
self.pers[ "bots" ][ "skill" ][ "ads_aimspeed_multi" ] = 0.5;
|
||||
|
||||
|
||||
self.pers[ "bots" ][ "behavior" ][ "strafe" ] = 10;
|
||||
self.pers[ "bots" ][ "behavior" ][ "nade" ] = 15;
|
||||
self.pers[ "bots" ][ "behavior" ][ "camp" ] = 5;
|
||||
@ -338,7 +338,7 @@ difficulty()
|
||||
self.pers[ "bots" ][ "behavior" ][ "class" ] = 2;
|
||||
self.pers[ "bots" ][ "behavior" ][ "jump" ] = 10;
|
||||
break;
|
||||
|
||||
|
||||
case 3:
|
||||
self.pers[ "bots" ][ "skill" ][ "aim_time" ] = 0.4;
|
||||
self.pers[ "bots" ][ "skill" ][ "init_react_time" ] = 750;
|
||||
@ -359,7 +359,7 @@ difficulty()
|
||||
self.pers[ "bots" ][ "skill" ][ "bones" ] = "j_spine4,j_spine4,j_ankle_le,j_ankle_ri,j_head";
|
||||
self.pers[ "bots" ][ "skill" ][ "ads_fov_multi" ] = 0.5;
|
||||
self.pers[ "bots" ][ "skill" ][ "ads_aimspeed_multi" ] = 0.5;
|
||||
|
||||
|
||||
self.pers[ "bots" ][ "behavior" ][ "strafe" ] = 20;
|
||||
self.pers[ "bots" ][ "behavior" ][ "nade" ] = 20;
|
||||
self.pers[ "bots" ][ "behavior" ][ "camp" ] = 5;
|
||||
@ -369,7 +369,7 @@ difficulty()
|
||||
self.pers[ "bots" ][ "behavior" ][ "class" ] = 2;
|
||||
self.pers[ "bots" ][ "behavior" ][ "jump" ] = 25;
|
||||
break;
|
||||
|
||||
|
||||
case 4:
|
||||
self.pers[ "bots" ][ "skill" ][ "aim_time" ] = 0.3;
|
||||
self.pers[ "bots" ][ "skill" ][ "init_react_time" ] = 600;
|
||||
@ -390,7 +390,7 @@ difficulty()
|
||||
self.pers[ "bots" ][ "skill" ][ "bones" ] = "j_spine4,j_spine4,j_ankle_le,j_ankle_ri,j_head,j_head";
|
||||
self.pers[ "bots" ][ "skill" ][ "ads_fov_multi" ] = 0.5;
|
||||
self.pers[ "bots" ][ "skill" ][ "ads_aimspeed_multi" ] = 0.5;
|
||||
|
||||
|
||||
self.pers[ "bots" ][ "behavior" ][ "strafe" ] = 30;
|
||||
self.pers[ "bots" ][ "behavior" ][ "nade" ] = 25;
|
||||
self.pers[ "bots" ][ "behavior" ][ "camp" ] = 5;
|
||||
@ -400,7 +400,7 @@ difficulty()
|
||||
self.pers[ "bots" ][ "behavior" ][ "class" ] = 2;
|
||||
self.pers[ "bots" ][ "behavior" ][ "jump" ] = 35;
|
||||
break;
|
||||
|
||||
|
||||
case 5:
|
||||
self.pers[ "bots" ][ "skill" ][ "aim_time" ] = 0.25;
|
||||
self.pers[ "bots" ][ "skill" ][ "init_react_time" ] = 500;
|
||||
@ -421,7 +421,7 @@ difficulty()
|
||||
self.pers[ "bots" ][ "skill" ][ "bones" ] = "j_spine4,j_head";
|
||||
self.pers[ "bots" ][ "skill" ][ "ads_fov_multi" ] = 0.5;
|
||||
self.pers[ "bots" ][ "skill" ][ "ads_aimspeed_multi" ] = 0.5;
|
||||
|
||||
|
||||
self.pers[ "bots" ][ "behavior" ][ "strafe" ] = 40;
|
||||
self.pers[ "bots" ][ "behavior" ][ "nade" ] = 35;
|
||||
self.pers[ "bots" ][ "behavior" ][ "camp" ] = 5;
|
||||
@ -431,7 +431,7 @@ difficulty()
|
||||
self.pers[ "bots" ][ "behavior" ][ "class" ] = 2;
|
||||
self.pers[ "bots" ][ "behavior" ][ "jump" ] = 50;
|
||||
break;
|
||||
|
||||
|
||||
case 6:
|
||||
self.pers[ "bots" ][ "skill" ][ "aim_time" ] = 0.2;
|
||||
self.pers[ "bots" ][ "skill" ][ "init_react_time" ] = 250;
|
||||
@ -452,7 +452,7 @@ difficulty()
|
||||
self.pers[ "bots" ][ "skill" ][ "bones" ] = "j_spine4,j_head,j_head";
|
||||
self.pers[ "bots" ][ "skill" ][ "ads_fov_multi" ] = 0.5;
|
||||
self.pers[ "bots" ][ "skill" ][ "ads_aimspeed_multi" ] = 0.5;
|
||||
|
||||
|
||||
self.pers[ "bots" ][ "behavior" ][ "strafe" ] = 50;
|
||||
self.pers[ "bots" ][ "behavior" ][ "nade" ] = 45;
|
||||
self.pers[ "bots" ][ "behavior" ][ "camp" ] = 5;
|
||||
@ -462,7 +462,7 @@ difficulty()
|
||||
self.pers[ "bots" ][ "behavior" ][ "class" ] = 2;
|
||||
self.pers[ "bots" ][ "behavior" ][ "jump" ] = 75;
|
||||
break;
|
||||
|
||||
|
||||
case 7:
|
||||
self.pers[ "bots" ][ "skill" ][ "aim_time" ] = 0.1;
|
||||
self.pers[ "bots" ][ "skill" ][ "init_react_time" ] = 100;
|
||||
@ -483,7 +483,7 @@ difficulty()
|
||||
self.pers[ "bots" ][ "skill" ][ "bones" ] = "j_head";
|
||||
self.pers[ "bots" ][ "skill" ][ "ads_fov_multi" ] = 0.5;
|
||||
self.pers[ "bots" ][ "skill" ][ "ads_aimspeed_multi" ] = 0.5;
|
||||
|
||||
|
||||
self.pers[ "bots" ][ "behavior" ][ "strafe" ] = 65;
|
||||
self.pers[ "bots" ][ "behavior" ][ "nade" ] = 65;
|
||||
self.pers[ "bots" ][ "behavior" ][ "camp" ] = 5;
|
||||
@ -495,7 +495,7 @@ difficulty()
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
wait 5;
|
||||
}
|
||||
}
|
||||
@ -506,21 +506,21 @@ difficulty()
|
||||
teamWatch()
|
||||
{
|
||||
self endon( "disconnect" );
|
||||
|
||||
|
||||
for ( ;; )
|
||||
{
|
||||
while ( !isdefined( self.pers[ "team" ] ) || !allowTeamChoice() )
|
||||
while ( !isdefined( self.pers[ "team" ] ) || !allowTeamChoice() )
|
||||
{
|
||||
wait .05;
|
||||
}
|
||||
|
||||
|
||||
wait 0.1;
|
||||
|
||||
|
||||
if ( self.team != "axis" && self.team != "allies" )
|
||||
{
|
||||
self notify( "menuresponse", game[ "menu_team" ], getcvar( "bots_team" ) );
|
||||
}
|
||||
|
||||
|
||||
while ( isdefined( self.pers[ "team" ] ) )
|
||||
{
|
||||
wait .05;
|
||||
@ -535,7 +535,7 @@ chooseRandomClass()
|
||||
{
|
||||
weap = "";
|
||||
weapons = [];
|
||||
|
||||
|
||||
if ( self.team == "axis" )
|
||||
{
|
||||
weapons[ weapons.size ] = "mp40_mp";
|
||||
@ -577,9 +577,9 @@ chooseRandomClass()
|
||||
weapons[ weapons.size ] = "PPS42_mp";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
weap = weapons[ randomint( weapons.size ) ];
|
||||
|
||||
|
||||
return weap;
|
||||
}
|
||||
|
||||
@ -589,26 +589,26 @@ chooseRandomClass()
|
||||
classWatch()
|
||||
{
|
||||
self endon( "disconnect" );
|
||||
|
||||
|
||||
// cod2 has to wait this long or else theres a crash?
|
||||
wait 3;
|
||||
|
||||
|
||||
for ( ;; )
|
||||
{
|
||||
while ( !isdefined( self.pers[ "team" ] ) || !allowClassChoice() )
|
||||
{
|
||||
wait .05;
|
||||
}
|
||||
|
||||
|
||||
wait 0.5;
|
||||
|
||||
|
||||
if ( !isdefined( self.pers[ "weapon" ] ) || self.pers[ "weapon" ] == "" || !isdefined( self.bot_change_class ) )
|
||||
{
|
||||
self notify( "menuresponse", game[ "menu_weapon_" + self.team ], self chooseRandomClass() );
|
||||
}
|
||||
|
||||
|
||||
self.bot_change_class = true;
|
||||
|
||||
|
||||
while ( isdefined( self.pers[ "team" ] ) && isdefined( self.pers[ "weapon" ] ) && self.pers[ "weapon" ] != "" && isdefined( self.bot_change_class ) )
|
||||
{
|
||||
wait .05;
|
||||
@ -622,16 +622,16 @@ classWatch()
|
||||
onSpawned()
|
||||
{
|
||||
self endon( "disconnect" );
|
||||
|
||||
|
||||
for ( ;; )
|
||||
{
|
||||
self waittill( "spawned_player" );
|
||||
|
||||
|
||||
if ( randomint( 100 ) <= self.pers[ "bots" ][ "behavior" ][ "class" ] )
|
||||
{
|
||||
self.bot_change_class = undefined;
|
||||
}
|
||||
|
||||
|
||||
self.bot_lock_goal = false;
|
||||
self.help_time = undefined;
|
||||
self.bot_was_follow_script_update = undefined;
|
||||
@ -645,11 +645,11 @@ onBotSpawned()
|
||||
{
|
||||
self endon( "disconnect" );
|
||||
level endon( "game_ended" );
|
||||
|
||||
|
||||
for ( ;; )
|
||||
{
|
||||
self waittill( "bot_spawned" );
|
||||
|
||||
|
||||
self thread start_bot_threads();
|
||||
}
|
||||
}
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,4 +1,4 @@
|
||||
main(mapname)
|
||||
main( mapname )
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -1,9 +1,9 @@
|
||||
init()
|
||||
{
|
||||
level.clientid = 0;
|
||||
|
||||
|
||||
level thread onPlayerConnect();
|
||||
|
||||
|
||||
// bootstrap
|
||||
level thread scripts\bots_adapter_libcod::init();
|
||||
level thread scripts\bots::init();
|
||||
@ -11,10 +11,10 @@ init()
|
||||
|
||||
onPlayerConnect()
|
||||
{
|
||||
for(;;)
|
||||
for ( ;; )
|
||||
{
|
||||
level waittill("connecting", player);
|
||||
|
||||
level waittill( "connecting", player );
|
||||
|
||||
player.clientid = level.clientid;
|
||||
level.clientid++; // Is this safe? What if a server runs for a long time and many people join/leave
|
||||
}
|
||||
|
@ -19,67 +19,67 @@ do_botaction( action )
|
||||
case "+fire":
|
||||
self fireweapon( true );
|
||||
break;
|
||||
|
||||
|
||||
case "-fire":
|
||||
self fireweapon( false );
|
||||
break;
|
||||
|
||||
|
||||
case "+ads":
|
||||
self adsaim( true );
|
||||
break;
|
||||
|
||||
|
||||
case "-ads":
|
||||
self adsaim( false );
|
||||
break;
|
||||
|
||||
|
||||
case "-reload":
|
||||
self reloadweapon( false );
|
||||
break;
|
||||
|
||||
|
||||
case "+reload":
|
||||
self reloadweapon( true );
|
||||
break;
|
||||
|
||||
|
||||
case "-melee":
|
||||
self meleeweapon( false );
|
||||
break;
|
||||
|
||||
|
||||
case "+melee":
|
||||
self meleeweapon( true );
|
||||
break;
|
||||
|
||||
|
||||
case "+frag":
|
||||
self thrownade( true );
|
||||
break;
|
||||
|
||||
|
||||
case "-frag":
|
||||
self thrownade( false );
|
||||
break;
|
||||
|
||||
|
||||
case "-gocrouch":
|
||||
case "-goprone":
|
||||
case "-gostand":
|
||||
self setbotstance( "stand" );
|
||||
break;
|
||||
|
||||
|
||||
case "+gocrouch":
|
||||
self setbotstance( "crouch" );
|
||||
break;
|
||||
|
||||
|
||||
case "+goprone":
|
||||
self setbotstance( "prone" );
|
||||
break;
|
||||
|
||||
|
||||
case "+gostand":
|
||||
self setbotstance( "jump" );
|
||||
break;
|
||||
|
||||
|
||||
case "-smoke": // no equal in libcod
|
||||
case "-activate":
|
||||
case "-holdbreath":
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
// self botaction( action );
|
||||
}
|
||||
|
||||
@ -94,7 +94,7 @@ do_botstop()
|
||||
self setlean( "none" );
|
||||
self setwalkdir( "none" );
|
||||
self switchtoweaponid( 1 ); // libcod needs weapon name to id
|
||||
|
||||
|
||||
// self botstop();
|
||||
}
|
||||
|
||||
@ -106,27 +106,27 @@ do_botmovement( forward, right )
|
||||
self setwalkdir( "forward" );
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
if ( right > 63 )
|
||||
{
|
||||
self setwalkdir( "right" );
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
if ( forward < -63 )
|
||||
{
|
||||
self setwalkdir( "back" );
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
if ( right < -63 )
|
||||
{
|
||||
self setwalkdir( "left" );
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
self setwalkdir( "none" );
|
||||
|
||||
|
||||
// self botmovement( forward, right );
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user