WeaponFire
Weapons in UT2003 have been divided up into multiple actors, of which this one is intimately involved. WeaponFire actors and their children form the FireMode[i] array in Weapon which manifests itself on the screen as the different modes of firing a weapon can do (typically the primary and secondary fire). The properties for the firing of a weapon reside in the weaponfire classes, including fire rate, damage, etc.
Properties
- Weapon (Weapon)
- Points to the weapon this WeaponFire belongs to.
- ThisModeNum (int)
- Either 0 or 1 depending on which position in the weapon's FireMode array this WeaponFire is.
- PreFireAnim (Name)
- Animation played before firing starts.
- FireAnim (Name)
- Animation played when firing starts.
- FireLoopAnim (Name)
- FireEndAnim (Name)
- Animation played when firing ends.
- ReloadAnim (Name)
- PreFireAnimRate (float)
- FireAnimRate (float)
- FireLoopAnimRate (float)
- FireEndAnimRate (float)
- ReloadAnimRate (float)
- TweenTime (float)
- Used to create fluent transitions between animations. Old anim will fade into new one depending on the given time.
- FireSound (Sound)
- ReloadSound (Sound)
- NoAmmoSound (Sound)
- FireForce (String)
- Force FeedBack file to play with the .ifr file
- PreFireForce (String)
- PreFireTime (float)
- seconds before first shot*/
- FireRate (float)
- seconds between shots*/
- MaxHoldTime (float)
- Maximum value to clamp HoldTime.
- HoldTime (float)
- How long the fire button has been held, in seconds. Great for chargeable weapons.
- bFireOnRelease ()
- if true, shot will be fired when button is released, HoldTime will be the time the button was held for*/
- bWaitForRelease ()
- if true, fire button must be released between each shot*/
- bModeExclusive ()
- if true, no other fire modes can be active at the same time as this one*/
- AmmoClass (class<Ammunition>)
- AmmoPerFire (int)
- Ammount of Ammo used when gun fired
- AmmoClipSize (int)
- Load (float)
- Ammo the firemode wants to consume. May vary if the firemode uses variable amounts of ammo. Automatically set to be equal to AmmoPerFire initially.
- ShakeRotMag (vector)
- how far to rot view*/
- ShakeRotRate (vector)
- how fast to rot view*/
- ShakeRotTime ()
- how much time to rot the instigator's view*/
- ShakeOffsetMag (vector)
- max view offset vertically*/
- ShakeOffsetRate (vector)
- how fast to offset view vertically*/
- ShakeOffsetTime ()
- how much time to offset view*/
- ProjectileClass (class<Projectile>)
- Which projectile to create when firing
- BotRefireRate (float)
- AI setting, for how fast bot can fire - 0.99 highest (for assault rifle) (Foxpaw: I believe this is actually the probability that a bot will continue firing in "full automatic" as opposed to stopping firing briefly and then resuming the next time it thinks it has a good shot. The higher this value is, the more the bot will "spray and pray" as opposed to taking aimed shots.)
- WarnTargetPct (float)
- AI & Projectile setting, warns target - for bot dodging etc
- bSplashDamage (bool)
- AI setting, lets bot know that weapon causes plash damage
- bSplashJump (bool)
- bRecommendSplashDamage (bool)
- AI setting, try to hit people with splash damage e.g. bouncing people with rockets
- bTossed (bool)
- AI setting, tells bots to launch projectile up at an angle, e.g. for grenades.
- bLeadTarget (bool)
- AI setting for prjectile so that bot aims ahead of target
- bInstantHit (bool)
- AI setting for intant hit weapons so bot aim at target
- bPawnRapidFireAnim ()
- for determining what anim the firer should play*/
- bReflective ()
- bAttachSmokeEmitter (bool)
- bAttachFlashEmitter (bool)
- FlashEmitterClass (class<xEmitter>)
- FlashEmitter (xEmitter)
- SmokeEmitterClass (class<xEmitter>)
- SmokeEmitter (xEmitter)
- AimError (float)
- 0=none 1000=quite a bit*/
- Spread (float)
- rotator units. no relation to AimError*/
- SpreadStyle (ESpreadStyle)
- How the shots spread. Has four values: SS_None, SS_Random, where spread is max random angle deviation, SS_Line where spread is angle between each projectile and SS_Ring.
- DamageAtten (float)
- attenuate instant-hit/projectile damage by this multiplier*/
Non-editable
- ServerStartFireTime (float)
- NextFireTime (float)
- Minimum required Level.timeSeconds for the engine to call ModeDoFire().
- bIsFiring ()
- Used by the engine to decide if ModeDoFire() has to be called. It's set by Weapon.startFire(mode) and cleared by Weapon.stopFire(mode).
- bNowWaiting ()
- bServerDelayStopFire ()
- bServerDelayStartFire ()
- FireCount (int)
Known Subclasses
+-BallTarget? +-InstantFire | +-AssaultFire? | +-MinigunFire | | +-MinigunAltFire | +-ShockBeamFire | | +-SuperShockBeamFire? | +-SniperFire? +-LinkFire? +-PainterFire? +-PainterZoom? +-ProjectileFire? | +-AssaultGrenade? | +-BallShot? | +-BioChargedFire? | +-BioFire? | +-FlakAltFire | +-FlakFire? | +-LinkAltFire? | +-RedeemerFire? | | +-RedeemerGuidedFire? | +-RocketFire? | +-RocketMultiFire? | +-ShockProjFire? | +-TransFire? +-ShieldAltFire? +-ShieldFire? +-SniperZoom? +-TransRecall?
Category Class (UT2003)
Category Class Tree
Category To Do – add functions and bring properties into standard format