==Overview==
RTCW:Omnibot is a modification for http://en.wikipedia.org/wiki/Return_to_Castle_Wolfenstein. Complete bot support has been added using the [http://www.omni-bot.de/e107/news.php Omni-bot] framework and some general modifications have been made to the 1.4 SDK. 

===Bot Features===
* 63 fully supported maps (complete waypoints / scripts)
* Complete Class and Weapon support
* Riding movers (trams, trains, etc)
* Targeting of breakables
* Customizable difficulty settings
** Aim skill
** Combat behaviors
* Elevator usage
* Switch usage
* Routing
* Class Management
* Role Management
* Complete Goal Support
** Artillery
** Dynamite
*** Plant
*** Defuse
** Steal
** Return
** Checkpoint
** Attack
** Defend
** Roam
** Panzerfaust camps 
** Snipe camps
** Flamethrower camps
** Venom camps
** Revive Teammate
* Scripted Goal Support
** Airstrike
** Call for supplies ( medic packs and ammo ) 
** Deliver supplies
** Dispense ammo
** Grenade target 
** Supply self ( for medics and lieutenants )

===General Mod Features===
* Hitsounds
* Colored Crosshairs
* Local time in hud
* Crosshair Pulse
* ET / OSP style Table Stats
* Shrub like /stats command
* Private Messages
* Fixed Physics
* Helmet Protection
* Drop Items
* Throwable Knives
* Instagib game mode
* ET / OSP colors
* Weapon Flash
* Blood Flash
* Objective Info Prints
* Warmup Damage
* Water Revive
* NQ / ETPub Killing Sprees
* ETPro Antiwarp
* End of round awards
* Banner Messages
* Goombas
* Shoving
* Corpse Dragging
* Tap out reports
* Revive reports
* Gib reports
* Right aligned overlays for fps, kills, spree, speedometer, and ping
* Extra clips
* OSP's goat sound for knife kills
* Reinforcement time offsets
* Poison needles
* Betting and Buying system
* Deathmatch support
* Kickable Airstrikes and Grenades
* Binoculars for all classes
* Unlockable weapons
* Flag locking
* Grenade Packs
* Smoke Grenades
* LUA support


==Installation==
The mod is installed in two locations; an omnibot folder for the game folder and an omni-bot folder which contains the bot dll as well as waypoints and scripts.

===Windows===
Unzip the archive to your Return to Castle Wolfenstein folder.

===Linux===
It is recommended that the zip be copied to the games root folder as a user with root priveledges (default is /usr/local/games/wolfenstein). Extract the zip to this location. Once extracted, the omnibot_path must be set in either the server config or wolfconfig_mp.cfg. It must be set to the exact path of the omni-bot folder. Alternatively, you can start the game and set the value in the console; /seta omnibot_path /usr/local/games/wolfenstein/omi-bot for example. If set with the console, a map_restart is required.

===LUA===
Copy the lua library from the with_lua folder to the RTCW root directory that contains the game executable ( wolfmp.exe / wolfmp ). Copy the qagame library from the with_lua folder to the omnibot mod folder (replacing the existing qagame). Note that for linux, the file extension is .so while in Windows it is .dll.

==Starting Omnibot==
There are two ways to start the mod. One way is to start Wolfmp.exe, then select options / mods / omnibot. The other way is to create a shortcut. To do this, copy your Wolfmp.exe to the desktop, then right click it. Select properties, then add +set fs_game omnibot to the target line:

 "C:\games\Return to Castle Wolfenstein\WolfMP.exe" +set fs_game omnibot


==Configuration==
===Difficulty Settings===
Aim and Combat movement difficulty can be set with bot commands.
* /bot difficulty - from 0 to 5, default 3. 0 is easiest, 5 is hardest
* /bot moveskill - from 0 to 4, default 3. 0 = off, 1 = easy, 2 = medium, 3 = hard, 4 = random per bot

===CVARS===
====Server Vars====
=====Extra Clips=====
Add extra clips to players when they spawn
default 0, x : x = number of extra clips
*g_engExtraClips - max 9
*g_ltExtraClips - max 9
*g_mauserExtraClips - max 3
*g_medExtraClips - max 9
*g_panzerExtraClips - max 3
*g_pistolExtraClips - max 3
*g_soldExtraClips - max 9
*g_venomExtraClips - max 3

=====g_allowGiveAmmo=====
Enables the usage of the /giveammo # command<br>
default 0, 1 to enable

=====g_announcer=====
NQ / ETPub Killing Sprees
default 0, bit flagged cvar:
*1 - killing spree
*2 - death spree
*4 - multi-kill
g_announcer 7 enables all messages / sounds 

=====g_antiwarp=====
zinx ETPro antiwarp<br>
default 0,  1 to enable

=====g_awards=====
Display end of round awards'<br>
default 0,  1 to enable

=====g_betting=====
Allow players to bet against each other<br>
default 0, bit flagged cvar:
*1 - enable betting
*2 - enable buying

=====g_botTeam=====
Limit bots to a specific team<br>
default 0,  1 = axis, 2 = allies

=====g_binocs=====
Supply classes other than lieutenants with binoculars<br>
default 0,  bit flagged cvar:
*1 - soldiers
*2 - engineers
*4 - medics

=====g_botGib=====
Allow bots to target injured players<br>
default 1, 0 to disable bot gibbing

=====g_deathmatch=====
Enable team deathmatch mode<br>
default 0, 1 to enable. requires map_restart

=====g_debugPlayerHitboxes=====
Cheat Protected, renders client hitboxes<br>
default 0,  1 to enable

=====g_dragCorpse=====
Enable dragging of corpse using +activate<br>
default 0,  1 to enable

=====g_dropItems=====
When enabled, Medics and Lt's will drop packs when gibbed<br>
default 0, 1 to enable 

=====g_fixedPhysics=====
Simulate fps movement advantages for 125 or 333 fps<br>
default 0, 1 = 125 fps, 2 = 333 fps

=====g_flagLock=====
Checkpoints cannot be re-captured<br>
default 0, 1 = disable recapturing of checkpoints

=====g_goomba=====
Enable Shrub like goomba kills<br>
default 0,  1 to enable

=====g_goombaDmg=====
Optional override of default goomba damage<br>
default 0, #: g_goombaDmg 999 for instagib at all fall distances

=====g_helmetProtection=====
If a player has a helmet, headshot damage is reduced to 20. Ammo replaces a missing helmet.<br>
default 0, 1 to enable

=====g_httpdownhost=====
The http server for windows clients to download maps from<br>
default www.s4ndmod.com/downloads

=====g_instaGib=====
An alternate game mode where all players use an unscoped mauser. Headshots, thrown knives, and some explosions instantly gib<br>
default 0, 1 to enable

=====g_kickItems=====
Allow kicking of Airstrike cannisters and / or grenades<br>
default 0,  bit flagged cvar:
*1 - grenades
*2 - airstrike cannisters

=====g_knifeDamage=====
The amount of damage a thrown knife deals<br>
default 35

=====g_LTNades=====
The amount of grenades a Lieutenant spawns with<br>
default 1

=====g_LTInfoMsg=====
Display the amount of ammo a teammate currently has<br>
default 0, 1 to enable.

=====g_mapconfigs=====
The directory in which to load map specific configs<br>
default ""<br>
example: g_mapconfigs "mapconfigs" will search for omnibot/mapconfigs
note: a default.cfg in the map config directory is loaded in cases where a map specific config does not exist

=====g_maxKnives=====
The amount of throwable knives a player can have<br>
default 5

=====g_MedNades=====
The amount of grenades a Medic spawns with<br>
default 1

=====g_msg1 - 10=====
Banner message strings<br>
messages for the banner as strings. g_msg5 = "This is my message" for example

=====g_msgPos=====
Banner message position<br>
default 0,  0 = console, 1 = chat, 2 = center print

=====g_msgs=====
Enable Banner Messages<br>
default 0,  1 to enable

=====g_multikilltime=====
Time in milliseconds for multikill registration<br>
default 1000

=====g_mutespecs=====
Disable global voice chat for spectators<br>
default 0,  1 to mute spectators

=====g_nadepacks=====
Allow lieutenants to supply grenade packs<br>
default 0,  1 to enable

=====g_poison=====
Medics can poison enemy players<br>
default 0,  1 to enable

=====g_poisonDmg=====
The amount of damage each tick of poison deals<br>
default 10

=====g_privateMessages=====
Allow player to player private communication<br>
default 0, 1 to enable

=====g_reportGibs=====
Enable gib reporting<br>
default 0,  1 to enable

=====g_reportRevives=====
Enable revive reporting<br>
default 0,  1 to enable

=====g_reportTaps=====
Enable Tap out reporting<br>
default 0,  1 to enable

=====g_shortcuts=====
Enables usage of shortcuts in chat messages<br>
default 0, 1 to enable

=====g_shove=====
Enable Shrub like shoving with +activate'<br>
default 0,  1+ to enable where 1+ is the distance to shove.<br>
example: seta g_shove 60

=====g_shoveNoZ=====
Disable shoving along Z axis (prevents wall boosting)<br>
default 1,  0 to disable

=====g_smokeGrenades=====
Allow lieutenants to throw smoke grenades<br>
default 0,  1 to enable

=====g_throwableKnives=====
The amount of throwable knives a player starts with<br>
default 0, any number greater than 0 enables usage. -1 grants infinite throwable knives

=====g_unlockWeapons=====
Unlock all weapons for all classes<br>
default 0, 1 to unlock weapons

=====g_warmupDamage=====
Allow damage to be given in warmup<br>
default 0, 1 to enable

=====g_waterRevive=====
Allow players to be revived under water<br>
default 0, 1 to enable

====Client Vars====
=====cg_announcer=====
Enable the OSP style announcer sounds<br>
default 0, 1 to enable
* prepare to fight
* fight
* axis win
* allies win

=====cg_bloodDamageBlend=====
Disable the blood splotches when taking damage<br>
default 0, 1 to remove the blood splotches

=====cg_bloodFlash=====
Disable the full screen flash when taking damage<br>
default 0, 1 to remove the flashing

=====cg_crosshairColor=====
Adjust color of crosshair as string or hex<br>
Default white

Strings for colors:
* white
* red
* green
* blue
* yellow
* magenta
* cyan
* orange
* mdred
* mdgreen
* dkgreen
* mdcyan
* mdyellow
* mdorange
* mdblue
* ltgrey
* mdgrey
* dkgrey
* black

note: this can also be changed via the in game menu

=====cg_crosshairPulse=====
Toggle the pulsing of crosshair<br>
default 1, 0 = disabled, 1 = enabled

=====cg_drawCrosshairNames=====
Toggle the different modes for display of crosshair names<br>
default 1, 0 = disabled, 1 = white names, 2 = colored names

=====cg_drawKillCount=====
Enable drawing of kills or current spree in right aligned overlay - '''version 2 only'''<br>
default 0,  1 = kills, 2 = current spree

=====cg_drawLocalTime=====
Toggle the drawing of local time in the hud<br>
default 0, 0 = disabled, 1 = enabled

=====cg_drawPing=====
Enable drawing of ping in right aligned overlay - '''version 2 only'''<br>
default 0,  1 to enable

=====cg_drawSpeedometer=====
Enable drawing of speedometer in right aligned overlay - '''version 2 only'''<br>
default 0,  1 = mph, 2 = kph, 3 = ups

=====cg_drawStopwatchSprite=====
Enable drawing of the stopwatch sprite - '''version 2 only'''<br>
default 1,  0 to disable

=====cg_drawWeaponIconFlash=====
Enable flashing of weapon icon on certain events ( firing, etc )<br>
default 0, 1 to enable

=====cg_goat=====
Enable OSP goat sound for knife kill - '''version 2 only'''<br>
default 0,  1 to enable

=====cg_hitsounds=====
Enable playing of sounds when shots hit a player<br>
default 0, 1 to enable

=====cg_muzzleFlash=====
Disable the flash when firing a weapon<br>
default 1, 0 to disable the flashing

=====cg_ospFonts=====
Enable usage of OSP fonts in hud. Requires vid_restart<br>
default 0, 1 to enable

=====cg_printObjectiveInfo=====
Enable info prints when objectives are completed<br>
default 0, 1 to enable

====Client Commands====
=====bet=====
Bet against an opponent that you will kill them before they kill you
 /bet <partial name> <num credits>

=====buy=====
Buy some items with your earned credits. Players earn credits by killing, completing objectives, and betting other players
 /buy <ammo | health> <br>
example: buy health

=====mycredits=====
Displays in console how many credits you have accumulated
 /mycredits

=====injure=====
An alternative to /kill that does not send the player to limbo. Useful in friendly fire off games to benefit from a quick revive
 /injure

=====pm=====
Send a private message to one or more clients<br>
 /pm <full or partial name> <message>

=====stats=====
Print current round stats to console<br>
 /stats

=====resettimer=====
 /resettimer - restarts the spawn timer countdown. use this command when you notice an enemy has just respawned 

=====timerset=====
 /timerset <seconds> - the spawn time in seconds for the enemy team<br>

using this command will render enemy spawn time in cyan next to your own spawn time. note that you must use the command /resettimer in order for it to be accurate.

==Credits==
* crapshoot - integrated omni-bot support, added mod features, waypointing, and scripting
* DrEvil - creator of the omni-bot framework
* Jaskot / GeekFestStarter - omni-bot team member
* AG3NT - provided some mod code, beta testing, waypoints / scripts
* 420Blunt / FireItUp - beta testing, waypoints / scripts
* S4NDM4NN - provided some mod code and bug fixes
* Guerna - dedicated server beta testing
* TeamWhore / Old Lady Giblet - ubersoldat mod developer, provided some mod code
* tjw - private messaging code from etpub mod
* Denny - Fritzbot team member who graciously gave permission to convert his waypoints to omni-bot
* The BindleStiff - Fritzbot team member who graciously gave permission to convert his waypoints to omni-bot
* OSP - Announcer sounds, goat sound, fonts and some mod code
* (LuNaTiC)Marcus - beta testing, feature requests
* NoQuarter - Killing spree code, debug player hitbox code
* Chruker - some bug fix code from project bug fix
* etpub - LUA api code, fling code, spawn timer code
* splashdamage - antilag code in the et sdk
* |ToaK|JD - feature requests, bug reports, beta testing, hosting of several omnibot rtcw servers
* n00b-l00ps - mp_depot waypoint improvements
* madaaron - feature requests
