RTCW:Mod README

## Overview

RTCW:Omnibot is a modification for Return to Castle Wolfenstein Multiplayer. Complete bot support has been added using the 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 7, default 3. 0 is easiest, 7 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

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

default 0, 1 to enable

##### g\_awards

Display end of round awards'

default 0, 1 to enable

##### g\_betting

Allow players to bet against each other

default 0, bit flagged cvar:

* 1 - enable betting
* 2 - enable buying

##### g\_botTeam

Limit bots to a specific team

default 0, 1 = axis, 2 = allies

##### g\_binocs

Supply classes other than lieutenants with binoculars

default 0, bit flagged cvar:

* 1 - soldiers
* 2 - engineers
* 4 - medics

##### g\_botGib

Allow bots to target injured players

default 1, 0 to disable bot gibbing

##### g\_deathmatch

Enable team deathmatch mode

default 0, 1 to enable. requires map\_restart

##### g\_debugPlayerHitboxes

Cheat Protected, renders client hitboxes

default 0, 1 to enable

##### g\_dragCorpse

Enable dragging of corpse using +activate

default 0, 1 to enable

##### g\_dropItems

When enabled, Medics and Lt's will drop packs when gibbed

default 0, 1 to enable

##### g\_fixedPhysics

Simulate fps movement advantages for 125 or 333 fps

default 0, 1 = 125 fps, 2 = 333 fps

##### g\_flagLock

Checkpoints cannot be re-captured

default 0, 1 = disable recapturing of checkpoints

##### g\_goomba

Enable Shrub like goomba kills

default 0, 1 to enable

##### g\_goombaDmg

Optional override of default goomba damage

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.

default 0, 1 to enable

##### g\_httpdownhost

The http server for windows clients to download maps from

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

default 0, 1 to enable

##### g\_kickItems

Allow kicking of Airstrike cannisters and / or grenades

default 0, bit flagged cvar:

* 1 - grenades
* 2 - airstrike cannisters

##### g\_knifeDamage

The amount of damage a thrown knife deals

default 35

##### g\_LTNades

The amount of grenades a Lieutenant spawns with

default 1

##### g\_LTInfoMsg

Display the amount of ammo a teammate currently has

default 0, 1 to enable.

##### g\_mapconfigs

The directory in which to load map specific configs

default ""

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

default 5

##### g\_MedNades

The amount of grenades a Medic spawns with

default 1

##### g\_msg1 - 10

Banner message strings

messages for the banner as strings. g\_msg5 = "This is my message" for example

##### g\_msgPos

Banner message position

default 0, 0 = console, 1 = chat, 2 = center print

##### g\_msgs

Enable Banner Messages

default 0, 1 to enable

##### g\_multikilltime

Time in milliseconds for multikill registration

default 1000

##### g\_mutespecs

Disable global voice chat for spectators

default 0, 1 to mute spectators

##### g\_nadepacks

Allow lieutenants to supply grenade packs

default 0, 1 to enable

##### g\_poison

Medics can poison enemy players

default 0, 1 to enable

##### g\_poisonDmg

The amount of damage each tick of poison deals

default 10

##### g\_privateMessages

Allow player to player private communication

default 0, 1 to enable

##### g\_reportGibs

Enable gib reporting

default 0, 1 to enable

##### g\_reportRevives

Enable revive reporting

default 0, 1 to enable

##### g\_reportTaps

Enable Tap out reporting

default 0, 1 to enable

##### g\_shortcuts

Enables usage of shortcuts in chat messages

default 0, 1 to enable

##### g\_shove

Enable Shrub like shoving with +activate'

default 0, 1+ to enable where 1+ is the distance to shove.

example: seta g\_shove 60

##### g\_shoveNoZ

Disable shoving along Z axis (prevents wall boosting)

default 1, 0 to disable

##### g\_smokeGrenades

Allow lieutenants to throw smoke grenades

default 0, 1 to enable

##### g\_throwableKnives

The amount of throwable knives a player starts with

default 0, any number greater than 0 enables usage. -1 grants infinite throwable knives

##### g\_unlockWeapons

Unlock all weapons for all classes

default 0, 1 to unlock weapons

##### g\_warmupDamage

Allow damage to be given in warmup

default 0, 1 to enable

##### g\_waterRevive

Allow players to be revived under water

default 0, 1 to enable

#### Client Vars

##### cg\_announcer

Enable the OSP style announcer sounds

default 0, 1 to enable

* prepare to fight
* fight
* axis win
* allies win

##### cg\_bloodDamageBlend

Disable the blood splotches when taking damage

default 0, 1 to remove the blood splotches

##### cg\_bloodFlash

Disable the full screen flash when taking damage

default 0, 1 to remove the flashing

##### cg\_crosshairColor

Adjust color of crosshair as string or hex

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

default 1, 0 = disabled, 1 = enabled

##### cg\_drawCrosshairNames

Toggle the different modes for display of crosshair names

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**

default 0, 1 = kills, 2 = current spree

##### cg\_drawLocalTime

Toggle the drawing of local time in the hud

default 0, 0 = disabled, 1 = enabled

##### cg\_drawPing

Enable drawing of ping in right aligned overlay - **version 2 only**

default 0, 1 to enable

##### cg\_drawSpeedometer

Enable drawing of speedometer in right aligned overlay - **version 2 only**

default 0, 1 = mph, 2 = kph, 3 = ups

##### cg\_drawStopwatchSprite

Enable drawing of the stopwatch sprite - **version 2 only**

default 1, 0 to disable

##### cg\_drawWeaponIconFlash

Enable flashing of weapon icon on certain events ( firing, etc )

default 0, 1 to enable

##### cg\_goat

Enable OSP goat sound for knife kill - **version 2 only**

default 0, 1 to enable

##### cg\_hitsounds

Enable playing of sounds when shots hit a player

default 0, 1 to enable

##### cg\_muzzleFlash

Disable the flash when firing a weapon

default 1, 0 to disable the flashing

##### cg\_ospFonts

Enable usage of OSP fonts in hud. Requires vid\_restart

default 0, 1 to enable

##### cg\_printObjectiveInfo

Enable info prints when objectives are completed

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 | para>

```

example: /buy para # purchase a parachute

##### 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

```
/pm <full or partial name> <message>

```

##### stats

Print current round stats to console

```
/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

```

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