;Projectile Definition: MAGIC BOLT

; mode [Default 0] (0 - Raycast (Fast simple projectiles), 1 - Dynamic (Grenades, Rockets), 2 - Static (Mines, C4))
mode                   = 1

; for expert users: number of projectiles to create in advance in the projectile cache
cacheNumber            = 10

; object .X file and textures (diffuse,normal,specular) - Leave blank for projectiles with no object (bullets)
object                 = magicbolt.x
textureD               = magicbolt_D.dds
textureN               = magicbolt_N.dds
textureS               = magicbolt_S.dds
effect                 = decal_animate8.fx
noZWrite               = 1

; scale values for randomness in projectile size (for variety in particle weapons)
scaleMinX              = 200
scaleMaxX              = 200
scaleMinY              = 200
scaleMaxY              = 200
scaleMinZ              = 200
scaleMaxZ              = 200

; Move projectile forward on initial firing
avoidPlayerPenetration = 0
attachToWeaponLimb     = -1

; maximum angle of inaccuracy in degrees when projectile fired
accuracyX              = 1
accuracyY              = 1

; time in milliseconds before projectile destroyed
life                   = 5000

; maximum distance before projectile destroyed
range                  = 10000

; minimum speed in units/second of projectile when fired
speedMin               = 450

; maximum speed in units/second of projectile when fired
speedMax               = 550

; final damage
damage                 = 0

; final damage value is +/- this value
damageRandom           = 1

; distance to travel before damage decreases, tending to 0 when as projectile approaches 'range'
fullDamageRange        = 0

; radius of damage effect if explosive
damageRadius           = 100

; time in milliseconds for the projectile to thrust forwards
thrustTime             = 2000  

; time in milliseconds before thrusting begins
thrustDelay            = 0     

; minimum and maximum angular speed values for projectile in degrees/second
; Does not affect direction of travel (rotating grenades, spinning rockets)
speedAngMinX           = 0
speedAngMaxX           = 0
speedAngMinY           = 0
speedAngMaxY           = 0
speedAngMinZ           = -90
speedAngMaxZ           = 90

; minimum and maximum angular speed values for projectile to turn
speedTurnMinX          = -1
speedTurnMaxX          = 1
speedTurnMinY          = -1
speedTurnMaxY          = 1
speedTurnMinZ          = -360
speedTurnMaxZ          = 360

; whether projectile uses real physics
usingRealPhysics       = 0	

; effect of gravity of projectile
gravityModifier        = 0

; effect of wind resistance on projectile
airFrictionModifier    = 0

; effect of making contact with the ground 
groundFrictionModifier = 0

; power of thrust (acceleration/second as proportion of initial speed)
thrustModifier         = 0.2
 
; If 1, object can bounce and continue to move when it hits things (grenades)
bounceFlag             = 0

; Elasticity of projectile bounce (0..1)
bounceModifier         = 0
 
; sound the projectile makes while alive (e.g. beeping C4, or whizzing rocket sound) Reference to .wav or .ogg file
sound                  = fly.wav

; If 1, sound is looped, otherwise played at 'soundInterval'
soundLoopFlag          = 1

; If 1, calculate doppler effect and modify sound frequency accordingly (passing rocket effect)
soundDopplerFlag       = 1

; The normal frequency for the sound. Doppler will adjust this frequency from -50% to +100% (22000 recommended)
soundDopplerBaseSpeed  = 22050

; How often, in milliseconds to trigger sound
soundInterval          = 0

; The sound on death
soundDeath             = explode.wav

; result (0 - Nothing, 1 - Damage hit object, 2 - Create explosion)
; what happens when projectile reaches the end of it's life
resultEndOfLife        = 0

; what happens if the projectile is damaged (shot, or in an explosion)
resultIfDamaged        = 0

; how long before resultIfDamaged is triggered after the damage occurs
resultIfDamagedDelay   = 0

; trigger a result constantly at a set interval (special weapons)
resultOnInterval       = 0

; time in milliseconds between triggers of resultOnInterval
resultOnIntervalTime   = 0

; what happens if the object hits something
resultBounce           = 2

; optional spot lighting override
overridespotlighting   = 1

; type of particle this projectile makes (0 - None, 1 - Smoke, 2 - Flare, 3 - Fire, 99 - Custom)
particleType           = 99
particleName           = trail.dds

; type of explosion if triggered (0 - Default, 99 - Custom)
explosionType          = 99
explosionName          = explode.dds
explosionLightFlag     = 1
explosionSmokeName     = smoke.dds
explosionSparksCount   = 20

; optionally set a LUA global when projectile explodes (see g_projectileevent_explosion in global.lua)
projectileEventType    = 1
