    Author        : $Author: jwalstra $
    Revision      : $Revision: 1.12 $
    Checkout Date : $Date: 2003/05/23 03:37:48 $
    Source File   : $Source: /home/cvs/SniperArena/Info/SA_README.html,v $

    GNU GENERAL PUBLIC LICENSE Version 2, June 1991
    See LICENSE or http://www.fsf.org/license/gpl.txt

    Coded using "vim". The only editor you'll ever need.

## About

This mutator is a port of the UT Sniper Rifle. The mutator can be used in normal and arena play.

Arena style removes all the weapon pickups and replaces all ammo with the Sniper Rifle ammo. When you spawn, you are spawned with the Sniper Rifle. The Sniper Rifle can not be thrown. Normally in arena mode, the translocator is disabled, however the server is allowed to turn it on.

In non-arena style, the Sniper Rifle replaces the Lightning Gun. The Lightning Guns ammo is also replaced with Sniper Rifle ammo.

This mutator offers the ability to change most of the default settings like fire rates, the amount of ammo in the pickups, bonus and penalties for killing or being killed, etc. Some of these features will allow you to emulate the popular "Zark" sniper mutator from UT. Check the Server Configuration section for more information.

Enjoy,
spoon (aka supun)

## Thanks

Col Kassad - For the making the sniper rifle models work.
Fuzz[Frnz] - For the sniper ammo pickup and the Frnz logo.
Sniper Clan Frnz - For testing and being the best clan out there. :)
Ob1 - For being my Unrealscript Jedi master and being the first person I turn to when I'm clueless.
Epic - The rifle model came from UT. I'll call it even for the familiar looking health and ammo stations, re-charging translocator, and the shield gun :) Seriously, did you guys like WFUT?

## Installation

The archived file should contain the following files (along with images for the README)

1. System/SA110.u
2. System/SA110.int
3. System/SA110.ini
4. System/SA110.md5
5. Help/SniperArena/SA110/SA110.ini.sample
6. Help/SniperArena/SA110/LICENSE
7. Help/SniperArena/SA110/SA_README.html ( and it's support files )

This archive should be unzipped into your UT2003 base directory in order for the files to be placed in the correct location. SA110 will not interfere with a currently installed Sniper Arena, since it does not replace or over-write older files. Since SA110's ini file is completely different from previous version, a default version is placed in your System directory. You will need to edit SA110.ini to use your previous setting, if you have been using an older version of Sniper Arena. See the Server section for information on how to set these values.

## Server

### Post Install

Once you have installed Sniper Arena 109, you will need to edit your server .ini file. Servers use UT2003.ini if not told differently.

You need to add ServerPackages=SA110 into the [Engine.GameEngine] section.

    [Engine.GameEngine]
    . ( other lines )
    .
    ServerPackages=SA110

If you are using UTSecure, Sniper Arena 109 can run with bCheckSets set to True (tested against UTSecure 2.11). Sniper Arena 109 has the following MD5 information. This information can also be found in UT2003/System/SA110.md5.

    Executing Class Engine.MasterMD5Commandlet
    ==================================================
     MD5 Database Management
    ==================================================

    Performing full MD5 on SA110.u

     GUID = [3C6D9B2CD71172B6D000C6874E3993B7]
      MD5 = [d52407c188579a8c72a75f2cc5d1b991]

    Success - 0 error(s), 0 warning(s)

You will need to add, to the section of the version of UTSecure you are currently using, the following lines ...

    [UTSecure###.UTChecker]
    . ( other lines )
    .
    Checks=( FName="SA110.u", MD5="d52407c188579a8c72a75f2cc5d1b991", ...
      MD5Type=2,GUID="3C6D9B2CD71172B6D000C6874E3993B7", MaxGenerations=1)
    bCheckSets=true

NOTE - Having extra spaces at the end of the line has been known to cause problems. I'm too lazy to test it, so for good measure don't put extra spaces at the end of the line. UT2003 urban legend #1. Oh yeah, the "..." just means continuation of the line.

At this point, normally I'd tell you to edit the SA110.ini to your liking, but Sniper Arena 109 offers better ways to configure the mutator over hand editing the .ini file. So I'll defer this topic till after you start a server. If you like hand editing .ini files, skip this section until you edit your .ini file.

### Starting A Server

UT2003 has two says to start a server. One is via the Host Multiplayer Game menu in UT2003, the other is by using UCC.exe ( Windows ) or ucc-bin ( Linux ). For more information on UT2003 command line see The Admin Page. Here is an example ...

Windows

    UCC.exe server <map>?game=<game class>mutator=SA110.MutSniperArena109ver ...
      ini=<ini file> log=<log file>

Linux

    ./ucc-bin server <map>?game=<game class>mutator=SA110.MutSniperArena109ver ...
      ini=<ini file> log=<log file>

With the server up, it's time to configure the server.

### Configuration

There are three ways to configure Sniper Arena 109.

1. Configure Mutator
2. Web Admin Configuration
3. Hand edit SA110.ini

#### Configure Mutator

UT2003 allows for configuration of some mutators via the Configure Mutator located under the Mutator tab in the Host Mutliplayer Game section. Just select "Frnz Sniper Arena 109" then click "Configure Mutator" to bring up the configuration GUI.

More information on this style can be found in the Client - Instant Action Section, since it's pretty much the same thing.

#### Web Admin Configuration

Web Admin is a feature of UT2003 that allows an admin to administrate the server via their web browser. It allow you to set the game rules from your web browser. You need to have your server configured to allow for web administration in order to configure Sniper Arena in this fashion.

To get to the Sniper Arena settings, click on Defaults, then SniperArena109. This will bring up the Sniper Arena settings. When done, click Accept to save the setting. Click on Restart Level to restart the server using the new settings.

Rule | Description
Arena Mode | Controls whether the game is arena style or normal.
Translocation in Arena Mode | Controls whether the translocator can be used in arena mode.
Default Scope | The default scope for a new players and admin forced scope.
Force Scope | Force players to use the Default Scope.
Bot Rifle Sound | Sets the rifle sound for the bots.
Show Help Message | Controls whether a help message is displayed.
Help Timer | Time interval between when 'Help' messages are displayed.
Help Message | Help message text.
Maximum Ammo | Maximum sniper ammo a player can carry.
Initial Amount | Amount of sniper ammo a player is spawned with.
Ammo Drop | Amount of ammo in dropped ammo pack.
Ammo Pickup | Amount of ammo in map pickups.
Fire Rate | Seconds between firing.
Crouched Fire Rate | Seconds between firing when crouched.
Headshot Radius | Radius around the head bone that will be considered a head shot.
Headshot Damage | Damage caused by a head shot.
Normal Damage | Normal body damage.
Momentum | Amount of momentum to apply to hit player.
Adjust Attributes | Allow adjustment of player attributes when killed or when scoring a kill.
Add Headshot Health | Amount of health added for a head shot.
Add Headshot Frags | Amount of frags added, in addition to default frags, for a head shot.
HeadshotAddShield | Amount of shield points added for a head shot.
Add Headshot Adrenaline | Amount of adrenaline added, in addition to default adrenaline, for a head shot.
Add Bodyshot Health | Amount of health added for a body shot.
Add Bodyshot Frags | Amount of frags added, in addition to default frags, for a body shot.
Add Bodyshot Shield | Amount of shield points added for a body shot.
Add Bodyshot Adrenaline | Amount of adrenaline added, in addition to default adrenaline, for a body shot.
Remove Headshot Frags | Amount of frags to remove for being head shot.
Remove Headshot Adrenaline | Amount of adrenaline to remove for being head shot.
Remove Bodyshot Frags | Amount of frags to remove for being body shot.
Remove Bodyshot Adrenaline | Amount of adrenaline to remove for being body shot.

#### Hand Edit SA110.ini

A sample of the SA110.ini file exist in the UT2003/Help/SniperArena/SA110 directory. This file should be copied to the UT2003/System directory, if it does not already exist there. Here is what SA110.ini looks like.

    ; See "Help/SniperArena/SA110/SA_README.html" for help

    [SA110.ServerInfo]
    bArenaStyle=True
    bAllowTranslocator=False
    DefaultZoomStyle=1
    bForceZoomStyle=False
    bShowHelp=True
    BotRifleSound=0
    HelpTimer=60
    HelpMessage=For help with Frnz Sniper Arena, type 'mutate sahelp' in the console
    MaxAmmo=50
    InitialAmount=30
    DropAmmoAmount=5
    PickupAmount=10
    FireRate=0.600000
    CrouchFireRate=0.600000
    HeadShotRadius=8.000000
    HeadshotDamage=100
    BodyDamage=45
    Momentum=20000
    bAdjustPlayer=False
    HeadshotAddHealth=10
    HeadshotAddFrag=1
    HeadshotAddShield=0
    HeadshotAddAdrenaline=0
    BodyshotAddHealth=0
    BodyshotAddFrag=0
    BodyshotAddShield=0
    BodyshotAddAdrenaline=0
    HeadshotRemoveFrag=2
    HeadshotRemoveAdrenaline=0
    BodyshotRemoveFrag=1
    BodyshotRemoveAdrenaline=0

Here is a description of the properties. All these properties are located in the [SA110.ServerInfo] section of SA110.ini

Property | Type | Default | Description
bArenaStyle | Boolean | true | Controls whether the game is arena style or normal.
bAllowTranslocator | Boolean | false | Controls whether the translocator can be used in arena mode.
DefaultZoomStyle | Integer | 1 | Sets the default scope. 0=UT2003 1=UT 2=None 3=UT2003 Clean
bForceZoomStyle | Boolean | false | Force the DefaultZoomStyle on all players.
BotRifleSound | Integer | 0 | The sound a bot's rifle makes when fired. 0=Unreal 1=UT 2=Lightning Gun
bShowHelp | Boolean | true | Controls whether a help message is displayed.
HelpTimer | Float | 60.00000 | Time interval between when 'Help' messages are displayed.
HelpMessage | String | For help with Frnz Sniper Arena, type 'mutate sahelp' in the console. | Help message text.
FireRate | Float | 0.60000 | Seconds between firing.
CrouchFireRate | Float | 0.60000 | Seconds between firing when crouching.
MaxAmmo | Integer | 50 | Maximum sniper ammo a player can carry.
InitialAmount | Integer | 30 | Amount of sniper ammo a player is spawned with.
bDropAmmo | Boolean | False | Allow ammo to be dropped when player is killed.
DropAmmoAmount | Integer | 5 | Amount of ammo in dropped ammo pack.
HeadShotRadius | Float | 8.00000 | Radius around the head bone that will be considered a head shot.
HeadshotDamage | Integer | 100 | Damage caused by a head shot.
BodyDamage | Integer | 45 | Normal body damage.
Momentum | Integer | 20000 | Amount of force to apply to hit player.
bAdjustPlayer | Boolean | False | Allow adjustment of player attributes when killed or when scoring a kill.
HeadshotAddHealth | Integer | 10 | Amount of health added for a head shot.
HeadshotAddFrag | Integer | 1 | Amount of frags added, in addition to default frags, for a head shot.
HeadshotAddShield | Integer | 0 | Amount of shield points added for a head shot.
HeadshotAddAdrenaline | Integer | 0 | Amount of adrenaline added, in addition to default adrenaline, for a head shot.
BodyshotAddHealth | Integer | 0 | Amount of health added for a body shot.
BodyshotAddFrag | Integer | 0 | Amount of frags added, in addition to default frags, for a body shot.
BodyshotAddShield | Integer | 0 | Amount of shield points added for a body shot.
BodyshotAddAdrenaline | Integer | 0 | Amount of adrenaline added, in addition to default adrenaline, for a body shot.
HeadshotRemoveFrag | Integer | 2 | Amount of frags to remove for being head shot.
HeadshotRemoveAdrenaline | Integer | 0 | Amount of adrenaline to remove for being head shot.
BodyshotRemoveFrag | Integer | 1 | Amount of frags to remove for being body shot.
BodyshotRemoveAdrenaline | Integer | 0 | Amount of adrenaline to remove for being body shot.
PickupAmount | Integer | 10 | Amount of ammo in map pickups.

## Client

### Items

Sniper Arena has two map pickups. One is the Frnz Sniper Rifle. This pickup is only available when the server is set to non-arena mode. The seconds is the Frnz Sniper Ammo, which gives you sniper bullets.

Sniper Rifle Pickup | Sniper Ammo

### Scopes

Sniper Arena offers four types of scopes.

UT2003 Zoom (default) | UT Zoom
No Zoom | UT2003 Clean Zoom

### Instant Action

If you are planning on playing offline, you can change the settings of Sniper Arena via the Configure Mutator ability under the Mutator tab in the Instant Action section.

Just highlight Frnz Sniper Arena 109 in the Available Mutators list, click Add, and it should move over into the Active Mutators list.

If you highlight Frnz Sniper Arena 109 again, you'll notice that it will display a description and a button called Configure Mutator. If you click on the button, a configure menu system will appear that will allow you to change the setting in Sniper Arena. Currently, there is no way to automatically restore the default values. Default values can be found in the Server - Hand Edit SA110.ini

#### General

The General tab controls the basic functions of the mutator. You can choose from the following settings on this screen.

Setting | Description | Default
Arena Mode | Controls whether the game is arena style or normal. | Checked
Allow Translocation | Controls whether the translocator can be used in arena mode. | Not Checked
Default Scope | The default scope for a new players and admin forced scope. | UT
Bot Rifle Sound | Sets the rifle sound for the bots. | Unreal
Force Default Scope on Players | Force players to use the Default Scope. | Not Checked
Show Help Message | Controls whether a help message is displayed. | Checked
Help Message | Help message text. | NA
Help Timer | Time interval between when 'Help' messages are displayed. | 60

#### Rifle

The Rifle tab controls the settings of the rifle. You can choose from the following settings on this screen.

Setting | Description | Default
Fire Rate | Seconds between firing. | .60
Crouched Fire Rate | Seconds between firing when crouched. | .60
Headshot Radius | Radius around the head bone that will be considered a head shot. | 8.0
Headshot Damage | Damage caused by a head shot. | 100
Body Damage | Normal body damage. | 45
Momentum | Amount of momentum to apply to hit player. | 20000
Maximum Ammo | Maximum sniper ammo a player can carry. | 50
Initial Amount | Amount of sniper ammo a player is spawned with. | 30
Ammo Drop | Amount of ammo in dropped ammo pack. | 5
Ammo Pickup | Amount of ammo in map pickups. | 10

#### Attributes

The Attributes tab controls attributes that affect a player when killed or when they have killed.

Setting | Description | Default
Adjust Player Attributes | Allow adjustment of player attributes when killed or when scoring a kill. | Not Checked
Headshot + Health | Amount of health added for a head shot. | 10
Headshot + Frags | Amount of frags added, in addition to default frags, for a head shot. | 1
Headshot + Shield | Amount of shield points added for a head shot. | 0
Headshot + Adren. | Amount of adrenaline added, in addition to default adrenaline, for a head shot. | 0
Bodyshot + Health | Amount of health added for a body shot. | 0
Bodyshot + Frags | Amount of frags added, in addition to default frags, for a body shot. | 0
Bodyshot + Shield | Amount of shield points added for a body shot. | 0
Bodyshot + Adren. | Amount of adrenaline added, in addition to default adrenaline, for a body shot. | 0
Headshot - Frags | Amount of frags to remove for being head shot. | 2
Headshot - Adren. | Amount of adrenaline to remove for being head shot. | 0
Bodyshot - Frags | Amount of frags to remove for being body shot. | 1
Bodyshot -Adren. | Amount of adrenaline to remove for being body shot. | 0

### Console Commands

The commands hudtype, zs_on, zs_off, and zs_toggle have been removed in favor of the mutate commands.

The new commands use the mutate command format. They can be called as a spectator, and when you are alive or dead in the game.

Command | Description
mutate sahelp | Brings up the help screen.
mutate sarifle | Brings on the rifle configuration screen.
mutate saserver | Brings on the server information screen.

The mutate commands can be bound to a key for quick access. The following is the UT2003 console command to bind a key. Replace <key> with the keyboard key your wish to press in order to bring up the desired screen.

    set input <key> mutate sahelp
    set input <key> mutate sarifle
    set input <key> mutate saserver

### Client Menu Screen

#### Help Tab

mutate sahelp brings up this menu screen.

The in-game help screen displays important information about playing Sniper Arena for the current server. The information changes based on the setting of the server, the setting for Sniper Arena on the current setting, and your current rifle settings.

#### Rifle Tab

mutate sarifle brings up this menu screen.

This screen allows you to select a sniper scope, turn on and off zoom sounds, and set the rifle shot sound you wish to be heard from your rifle. Any changes on this screen will be saved. If the server is running with Force Default Scope enabled, you will not be able to select a different scope. You will still be able to change the zoom and rifle sounds.

#### Sever Info Tab

mutate saserver brings up this menu screen.

This screen shows the server settings of the current server.

#### About Tab

The in-game thanks page.

### SniperArena.ini

If the GUI is not your cup of tea, you can always hand edit the SniperArena.ini file to your liking. All properties are part of the [SA110.ClientInfo] section.

Property | Type | Default | Description
Scope | Integer | 0 | Your sniper scope 0=UT2003 1=UT 2=None 3=UT2003 Clean
RifleSound | Integer | 0 | Your rifle shot sound 0=Unreal 1=UT 2=Lightning Gun
bZoomSound | Boolean | true | Controls whether sounds are played when you zoom.

## Notes

- In arena play, the Sniper Rifle is not dropped when a player is killed. In non-arena play, the sniper rifle is dropped, like all weapons, when the player is killed.
- In non-arena play, it's wise to set the drop ammo about to zero since when killed the rifle is dropped instead. Not setting the values to zero can cause a unlimited sniper ammo bug.
- To enable a Zark style play, enable Adjust Player's Attributes and set the properties.
- To allow the translocator in arena play, enable Allow Translocator in Sniper Arena. You must enable it in the normal server configuration.

## Known "Problems"

- Throwing weapon and ammo trick. The guide to unlimited ammo.
- Cross hair comes back. The UT style HUD removes the cross hair, but now and then does not return the cross hair after a zoom. The hack is just to turn on the cross hair no matter what after a zoom.

## TODO

- Find the stupid scroll box video glitch that appears when ever you bring up a GUI page with a scroll box.
- Clean up the mutator configuration menu.
- Disable ammo dropping in non-arena mode.
- Add ability to revert changes via the server config menu.

## Change Log

### Release 110

- Fixed the problem with help text spaces being eaten by web admin.
- Fixed problem with scope black out box being out of place when admin locks the scope.
- Fixed problem with frags going below zero when player attributes are turned on
- Removed "arena" status so UTClassic can be used.
- Fixed weapon priority
- Added the sniper rifle into weapon list page
- Optimized data replication to reduce lag

### Release 109

- Changed the package name to reflex the release to get rid of mismatch errors.
- Placed media into separate files for better upgrading in the future.
- Revamped how configs are handled. Moved the client and server into it's own class.
- Added Web Admin capabilities.
- Added a mutator configuration menu.
- Added a client rifle configuration menu.
  - online help
  - scope configuration
  - server info
- Added hit momentum.
- Added ability to set default scope and also to force the scope.
- Added ability to change the rifle fire sound for player and bots.

### Release 108

- Fixed problem with ammo being dropped even when disabled in SniperArena.ini
- Fixed problem with MaxAmmo and InitialAmount being initialized to 0 if entries didn't exist in SniperArena.ini.
- Fixed this document to show MaxAmmo and InitialAmount info.
- Added ability to play this mutator in non-arena mode.
- Added StaticMesh for sniper rifle pickup.
- Added ability to disable help message.
- Added control to allow translocator to be used in arena mode.
- Moved the ammo drop functions, so the the config locations changed.

### Release 107x

- Added new zoom HUD style - UT Clean (3)
- Allow server admins to control ....
  - Ammo pickups
  - Spawn ammo amount and max ammo amount
  - Normal fire rate
  - Crouch fire rate (Zark style)
  - Bonus/Penalities (Zark style)
    - Health (bonus only)
    - Frags
    - Sheild (bonus only)
    - Adrenaline
  - Headshot damage
  - Headshot damage radius
  - Bodyshot damage
  - Help message and display timing

### Release 106

- Fixed problem with cross hairs being turned off if zoom HUD is type UT2003 or None.
- Fixed console commands so they save defaults in client's .ini instead of server's.
- Added SAHelp and Help reminder message.
- Hacked it so if player changes to or from UT zoom HUD, while zoomed, the cross hair is either shown or hidden.

### Release 105

- Fixed problem with cross hair disappearing when zooming or unzooming. I can not replicate the problem, so this is untested.

### Release 104

- Removed "Zark" code. Couldn't get replication work right, add it back later.
- Made it so the cross-hair for UT zoom HUD is removed when zoomed.
- Improved reliability of hit effect showing up.

### Release 103

- Added one my HUDType ( 3 = No Zoom HUD )
- Fixed model ( Col Kassad )
- Added muzzle flashes (1st and 3rd views)
- Make it so server can control default ammo amount, rifle damage, fire rate
- Added "Zark" style firing and player attribute adjustment (HP,SP,frag, Adren)
- Fixed problem with shell ejection and new model.

### Release 102

- Added sniper rifle model.
- Fixed problem with HUDtype and zoom sound console command.
- Changed HUDType to use value. (0,default = UT2003; 1 = UT )
- Replaced ZoomSound with ZS_on,ZS_off,ZS_toggle.
- Fixed problem with impact effect not working on mutliplayer.
- Ported UT impacts sounds.
- Ported UT pickup sound.
- Added Sniper Rifle model.
- Ported UT body impact sound.
- Removed HitFlame effect from head shots
- Removed electric effect from body when killed

### Release 101

- Replaced 3rd person Lightning gun mesh with shock rifle.
- Added wall impact effect (visual/sound)
- Added back the UT2003 zoom HUD
- Added ability to switch between UT and UT2003 zoom HUD
- Added ability to turn zoom sound on and off.
- Allowed health and armor pickups to not be replaced.
- Changed the death messages
- Add Frnz clan name to UT2003 HUD :)

### Release 100 (First Release)

- Create mutator code to remove all pickup items in map.
- Create SA Sniper Rifle using Lightning gun code.
- Removed the UT2003 zoom HUD.
- Inserted the UT zoom HUD.
- Change damage code to UT style.
- Replaced 1st person Lightning gun mesh with shock rifle.
- Replaced gun fire sound with UT sniper rifle fire.