'
' This is a built-in Unreal class and it shouldn't be modified
'
' A projectile fired from a weapon. 
' A delayed-hit projectile moves around for some time after it is created.
' An instant-hit projectile acts immediately. 
'
Class Projectile Expands Root Intrinsic

' Editable projectile parameters

Dim bVerticalSeek         As Editable Boolean
Dim bFollowFloor          As Editable Boolean
Dim bBounce               As Editable Boolean
Dim bIsInstantHit         As Editable Boolean ' Is the projectile instant-hit?

' Effects on impact or at the end of the projectiles life: (only 1 is selected)
Dim EffectAtLifeSpan      As Editable Class   ' Explosion or pyrotechnic when projectile expires.
Dim EffectOnWallImpact    As Editable Class   ' Explosion or pyrotechnic when projectile hits a wall.
Dim EffectOnPawnImpact    As Editable Class   ' Explosion or pyrotechnic when projectile hits a pawn.
Dim EffectOnImpact        As Editable Class   ' Default explosion or pyrotechnic on impact (when other effects do not apply).

' Motion information:
Dim Speed                 As Editable Real    ' Initial speed of projectile.
Dim Acceleration          As Editable Real    '
Dim MaxSpeed              As Editable Real    ' Limit on speed of projectile (0 means no limit)
Dim MaxBounceCount        As Editable Byte    ' If bBounce, limit on number of bounces, or 0 for unlimited.
Dim BounceCount           As          Byte    ' Number of times projectile has bounced.
Dim BounceIncidence       As Editable Real    ' If bBounce, cosine of smallest incident angle (measured to normal) which causes bouncing. 0 for no restriction.

' Other properties
Dim FollowFloorHeight as Real
Dim Textures(20) As Editable Texture ' A sequence of animating textures - the first TextureCount are used.

' Damage attributes:
' DamageDecay() identifies the damage lost per tick (for a delayed-hit projectile)
' or the damage lost per unit distance travelled (for an instant-hit projectile).
Dim Damage(4)             As Editable Real    ' Indexed by EDamageType
Dim DamageDecay(4)        As Editable Real    ' Indexed by EDamageType. Damage lost per tick or distance.
Dim ExplosiveTransfer     As Editable Byte    ' Amount of explosive charge transfered to target (makes target volatile).
Dim Hack                  As EDamageType      ' Hack so that EDamageType is not discarded
 