]> git.rm.cloudns.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Merge branch 'master' into morphed/splashfx
authorMario <mario@smbclan.net>
Tue, 14 Jun 2016 18:02:58 +0000 (04:02 +1000)
committerMario <mario@smbclan.net>
Tue, 14 Jun 2016 18:02:58 +0000 (04:02 +1000)
# Conflicts:
# effectinfo.txt

1  2 
effectinfo.txt
qcsrc/common/effects/effectinfo.inc
wtf.diff

diff --cc effectinfo.txt
index 5cf30cce457ed86a09bac4c9c5a50b66164746e5,b2544fa0740c89e540773baa6b08dd9cd12483c0..b7ae6e10f4aa92358174a939a498c70e28229a03
- // item respawn effect
- // flare particle and light
- // used in qcsrc/server/bots.qc:      //te_wizspike(e.origin)
- // used in qcsrc/server/bots.qc:              //te_wizspike(e.nearestwaypoint.wpnearestpoint)
- // used in qcsrc/server/havocbot.qc:                  //      te_wizspike(newgoal.origin)
+ // ********************************************** //
+ // ** WARNING - DO NOT MANUALLY EDIT THIS FILE ** //
+ // **                                          ** //
+ // **  This file is automatically generated by ** //
+ // **  code with the command 'dumpeffectinfo'. ** //
+ // **                                          ** //
+ // **  If you modify an effect, please         ** //
+ // **  regenerate this file with that command. ** //
+ // **                                          ** //
+ // ********************************************** //
  effect TE_WIZSPIKE
- countabsolute 1
- type static
- color 0x63F2EA 0x63f2EA
- size 20 20
- alpha 128 128 128
- lightradius 200
- lightradiusfade 200
- lightcolor 0.4 0.9 0.9
- // cloud of particles which expand rapidly and then slow to form a ball
+       type static
+       alpha 128 128 128
+       color 0x63F2EA 0x63f2EA
+       countabsolute 1
+       lightcolor 0.4 0.9 0.9
+       lightradiusfade 200
+       lightradius 200
+       size 20 20
  effect TE_WIZSPIKE
- count 50
- type static
- color 0x63F2EA 0x63f2EA
- size 2 2
- alpha 64 64 64
- airfriction 2
- liquidfriction 2
- originjitter 16 16 16
- velocityjitter 32 32 32
- // laser impact
- // decal
- // used in qcsrc/server/w_seeker.qc:  te_knightspike(org2)
+       type static
+       airfriction 2
+       alpha 64 64 64
+       color 0x63F2EA 0x63f2EA
+       count 50
+       liquidfriction 2
+       originjitter 16 16 16
+       size 2 2
+       velocityjitter 32 32 32
  effect TE_KNIGHTSPIKE
- countabsolute 1
- type decal
- tex 47 47
- size 24 24
- alpha 256 256 0
- originjitter 16 16 16
- lightradius 200
- lightradiusfade 1000
- lightcolor 4 0.2 0.2
- // flare effect
+       type decal
+       alpha 256 256 0
+       countabsolute 1
+       lightcolor 4 0.2 0.2
+       lightradiusfade 1000
+       lightradius 200
+       originjitter 16 16 16
+       size 24 24
+       tex 47 47
  effect TE_KNIGHTSPIKE
- countabsolute 1
- type static
- tex 39 39
- color 0xFF2010 0xFF2010
- alpha 256 256 1024
- size 24 24
- // sparks that rapidly expand and rapidly slow down to form an interesting spherical effect
+       type static
+       alpha 256 256 1024
+       color 0xFF2010 0xFF2010
+       countabsolute 1
+       size 24 24
+       tex 39 39
  effect TE_KNIGHTSPIKE
- count 128
- type spark
- color 0x800000 0xFF8020
- alpha 256 256 1024
- size 4 4
- //bounce 1.5
- airfriction 6
- liquidfriction 6
- //originjitter 32 32 32
- velocityjitter 256 256 256
- // machinegun bullet impact
- // bullet impact decal
- // used nowhere in code
+       type spark
+       airfriction 6
+       alpha 256 256 1024
+       color 0x800000 0xFF8020
+       count 128
+       liquidfriction 6
+       size 4 4
+       velocityjitter 256 256 256
  effect TE_SPIKE
- countabsolute 1
- type decal
- tex 56 59
- size 5 5
- alpha 256 256 0
- originjitter 6 6 6
- // dust/smoke drifting away from the impact
+       type decal
+       alpha 256 256 0
+       countabsolute 1
+       originjitter 6 6 6
+       size 5 5
+       tex 56 59
  effect TE_SPIKE
- count 4
- type smoke
- tex 0 8
- color 0x101010 0x101010
- size 3 3
- sizeincrease 3
- alpha 255 255 256
- originjitter 0 0 0
- velocityjitter 8 8 8
- // dust/smoke staying at the impact
+       type smoke
+       alpha 255 255 256
+       color 0x101010 0x101010
+       count 4
+       sizeincrease 3
+       size 3 3
+       tex 0 8
+       velocityjitter 8 8 8
  effect TE_SPIKE
- count 0.5
- type smoke
- tex 0 8
- color 0x505050 0x505050
- size 4 4
- sizeincrease 4
- alpha 255 255 128
- originjitter 0 0 0
- velocityjitter 0 0 0
- // bouncing sparks
+       type smoke
+       alpha 255 255 128
+       color 0x505050 0x505050
+       count 0.500000
+       sizeincrease 4
+       size 4 4
+       tex 0 8
  effect TE_SPIKE
- count 10
- type spark
- color 0x8f4333 0xfff31b
- size 0.4 0.4
- alpha 0 256 256
- gravity 1
- bounce 1.5
- velocityoffset 0 0 80
- velocityjitter 64 64 64
- // electro combo explosion
- // decal
- // used nowhere in code
+       type spark
+       alpha 0 256 256
+       bounce 1.500000
+       color 0x8f4333 0xfff31b
+       count 10
+       gravity 1
+       size 0.400000 0.400000
+       velocityjitter 64 64 64
+       velocityoffset 0 0 80
  effect TE_SPIKEQUAD
- countabsolute 1
- type decal
- tex 59 59
- size 64 64
- alpha 256 256 0
- originjitter 34 34 34
- lightradius 400
- lightradiusfade 200
- lightcolor 2 2.5 3
- // flare effect
+       type decal
+       alpha 256 256 0
+       countabsolute 1
+       lightcolor 2 2.5 3
+       lightradiusfade 200
+       lightradius 400
+       originjitter 34 34 34
+       size 64 64
+       tex 59 59
  effect TE_SPIKEQUAD
- countabsolute 1
- type static
- tex 38 38
- color 0x80C0FF 0x80C0FF
- size 48 48
- alpha 256 256 128
- // large sparks
+       type static
+       alpha 256 256 128
+       color 0x80C0FF 0x80C0FF
+       countabsolute 1
+       size 48 48
+       tex 38 38
  effect TE_SPIKEQUAD
- count 10
- type static
- color 0x2030FF 0x80C0FF
- size 32 32
- alpha 256 256 256
- //gravity 1
- bounce 1.5
- airfriction 4
- liquidfriction 16
- //velocityoffset 0 0 120
- velocityjitter 512 512 512
- // quake effect
- // decal
- // used nowhere in code
+       type static
+       airfriction 4
+       alpha 256 256 256
+       bounce 1.500000
+       color 0x2030FF 0x80C0FF
+       count 10
+       liquidfriction 16
+       size 32 32
+       velocityjitter 512 512 512
  effect TE_SUPERSPIKE
- countabsolute 1
- type decal
- tex 56 59
- size 3 3
- alpha 256 256 0
- originjitter 6 6 6
- // dust/smoke drifting away from the impact
+       type decal
+       alpha 256 256 0
+       countabsolute 1
+       originjitter 6 6 6
+       size 3 3
+       tex 56 59
  effect TE_SUPERSPIKE
- count 4
- type smoke
- tex 0 8
- color 0x101010 0x101010
- size 3 3
- sizeincrease 3
- alpha 255 255 256
- originjitter 0 0 0
- velocityjitter 8 8 8
- // dust/smoke staying at the impact
+       type smoke
+       alpha 255 255 256
+       color 0x101010 0x101010
+       count 4
+       sizeincrease 3
+       size 3 3
+       tex 0 8
+       velocityjitter 8 8 8
  effect TE_SUPERSPIKE
- count 0.5
- type smoke
- tex 0 8
- color 0x505050 0x505050
- size 4 4
- sizeincrease 4
- alpha 255 255 128
- originjitter 0 0 0
- velocityjitter 0 0 0
- // sparks that disappear on impact
+       type smoke
+       alpha 255 255 128
+       color 0x505050 0x505050
+       count 0.500000
+       sizeincrease 4
+       size 4 4
+       tex 0 8
  effect TE_SUPERSPIKE
- count 15
- type spark
- color 0x8f4333 0xfff31b
- size 0.4 0.4
- alpha 0 256 768
- gravity 1
- bounce -1
- velocityoffset 0 0 80
- velocityjitter 64 64 64
- // quake effect
- // decal
- // used nowhere in code
+       type spark
+       alpha 0 256 768
+       bounce -1
+       color 0x8f4333 0xfff31b
+       count 15
+       gravity 1
+       size 0.400000 0.400000
+       velocityjitter 64 64 64
+       velocityoffset 0 0 80
  effect TE_SUPERSPIKEQUAD
- countabsolute 1
- type decal
- tex 56 59
- size 3 3
- alpha 256 256 0
- originjitter 6 6 6
- lightradius 100
- lightradiusfade 500
- lightcolor 0.15 0.15 1.5
- // dust/smoke drifting away from the impact
+       type decal
+       alpha 256 256 0
+       countabsolute 1
+       lightcolor 0.2 0.2 1.5
+       lightradiusfade 500
+       lightradius 100
+       originjitter 6 6 6
+       size 3 3
+       tex 56 59
  effect TE_SUPERSPIKEQUAD
- count 4
- type smoke
- tex 0 8
- color 0x101010 0x101010
- size 3 3
- sizeincrease 3
- alpha 255 255 256
- originjitter 0 0 0
- velocityjitter 8 8 8
- // dust/smoke staying at the impact
+       type smoke
+       alpha 255 255 256
+       color 0x101010 0x101010
+       count 4
+       sizeincrease 3
+       size 3 3
+       tex 0 8
+       velocityjitter 8 8 8
  effect TE_SUPERSPIKEQUAD
- count 0.5
- type smoke
- tex 0 8
- color 0x505050 0x505050
- size 4 4
- sizeincrease 4
- alpha 255 255 128
- originjitter 0 0 0
- velocityjitter 0 0 0
- // sparks that disappear on impact
+       type smoke
+       alpha 255 255 128
+       color 0x505050 0x505050
+       count 0.500000
+       sizeincrease 4
+       size 4 4
+       tex 0 8
  effect TE_SUPERSPIKEQUAD
- count 15
- type spark
- color 0x8f4333 0xfff31b
- size 0.4 0.4
- alpha 0 256 768
- gravity 1
- bounce -1
- velocityoffset 0 0 80
- velocityjitter 64 64 64
- // shotgun pellet impact
- // decal
- // used nowhere in code
+       type spark
+       alpha 0 256 768
+       bounce -1
+       color 0x8f4333 0xfff31b
+       count 15
+       gravity 1
+       size 0.400000 0.400000
+       velocityjitter 64 64 64
+       velocityoffset 0 0 80
  effect TE_GUNSHOT
- countabsolute 1
- type decal
- tex 56 59
- size 3 3
- alpha 256 256 0
- originjitter 6 6 6
- // dust/smoke drifting away from the impact
+       type decal
+       alpha 256 256 0
+       countabsolute 1
+       originjitter 6 6 6
+       size 3 3
+       tex 56 59
  effect TE_GUNSHOT
- count 0.8
- type smoke
- tex 0 8
- color 0x101010 0x101010
- size 3 3
- sizeincrease 3
- alpha 128 128 64
- originjitter 0 0 0
- velocityjitter 8 8 8
- // dust/smoke staying at the impact
+       type smoke
+       alpha 128 128 64
+       color 0x101010 0x101010
+       count 0.800000
+       sizeincrease 3
+       size 3 3
+       tex 0 8
+       velocityjitter 8 8 8
  effect TE_GUNSHOT
- count 0.2
- type smoke
- tex 0 8
- color 0x505050 0x505050
- size 4 4
- sizeincrease 4
- alpha 128 128 64
- originjitter 0 0 0
- velocityjitter 0 0 0
- // bouncing sparks
+       type smoke
+       alpha 128 128 64
+       color 0x505050 0x505050
+       count 0.200000
+       sizeincrease 4
+       size 4 4
+       tex 0 8
  effect TE_GUNSHOT
- count 2.5
- type spark
- color 0x8f4333 0xfff31b
- size 0.4 0.4
- alpha 0 64 64
- gravity 1
- bounce 1.5
- velocityoffset 0 0 80
- velocityjitter 64 64 64
- // crylink impact effect
- // decal
- // used nowhere in code
+       type spark
+       alpha 0 64 64
+       bounce 1.500000
+       color 0x8f4333 0xfff31b
+       count 2.500000
+       gravity 1
+       size 0.400000 0.400000
+       velocityjitter 64 64 64
+       velocityoffset 0 0 80
  effect TE_GUNSHOTQUAD
- countabsolute 1
- type decal
- tex 47 47
- size 8 8
- alpha 256 256 0
- originjitter 12 12 12
- //lightradius 100
- //lightradiusfade 300
- //lightcolor 0.5 0.5 0.5
- // purple flare effect
+       type decal
+       alpha 256 256 0
+       countabsolute 1
+       originjitter 12 12 12
+       size 8 8
+       tex 47 47
  effect TE_GUNSHOTQUAD
- countabsolute 1
- type static
- tex 39 39
- color 0x504060 0x504060
- size 8 8
- alpha 256 256 512
- // purple sparks
+       type static
+       alpha 256 256 512
+       color 0x504060 0x504060
+       countabsolute 1
+       size 8 8
+       tex 39 39
  effect TE_GUNSHOTQUAD
- count 6
- type spark
- color 0xA040C0 0xFFFFFF
- size 1 1
- alpha 128 128 384
- gravity 1
- bounce 1.5
- velocityoffset 0 0 80
- velocityjitter 128 128 128
- // mortar/hagar explosion (smaller than rocket)
- // decal
- // used in qcsrc/server/cl_client.qc: te_explosion(org)
+       type spark
+       alpha 128 128 384
+       bounce 1.500000
+       color 0xA040C0 0xFFFFFF
+       count 6
+       gravity 1
+       size 1 1
+       velocityjitter 128 128 128
+       velocityoffset 0 0 80
  effect TE_EXPLOSION
- countabsolute 1
- type decal
- tex 8 16
- size 48 48
- alpha 256 256 0
- originjitter 40 40 40
- lightradius 150
- lightradiusfade 300
- lightcolor 4 2 0.5
- // flare effect
+       type decal
+       alpha 256 256 0
+       countabsolute 1
+       lightcolor 4 2 0.5
+       lightradiusfade 300
+       lightradius 150
+       originjitter 40 40 40
+       size 48 48
+       tex 8 16
  effect TE_EXPLOSION
- countabsolute 1
- type static
- tex 35 37
- color 0x404040 0x404040
- size 48 48
- alpha 192 192 64
- // fire effect which expands then slows
+       type static
+       alpha 192 192 64
+       color 0x404040 0x404040
+       countabsolute 1
+       size 48 48
+       tex 35 37
  effect TE_EXPLOSION
- notunderwater
- count 64
- type static
- tex 48 55
- color 0x902010 0xFFD080
- size 16 16
- alpha 128 128 256
- bounce 1.5
- airfriction 4
- liquidfriction 4
- originjitter 8 8 8
- velocityjitter 256 256 256
- // underwater bubbles
+       type static
+       airfriction 4
+       alpha 128 128 256
+       bounce 1.500000
+       color 0x902010 0xFFD080
+       count 64
+       liquidfriction 4
+       notunderwater
+       originjitter 8 8 8
+       size 16 16
+       tex 48 55
+       velocityjitter 256 256 256
  effect TE_EXPLOSION
- underwater
- count 16
- type bubble
- tex 62 62
- color 0x404040 0x808080
- size 3 3
- alpha 128 256 64
- gravity -0.125
- bounce 1.5
- liquidfriction 0.25
- originjitter 16 16 16
- velocityjitter 96 96 96
- // bouncing sparks
+       type bubble
+       alpha 128 256 64
+       bounce 1.500000
+       color 0x404040 0x808080
+       count 16
+       gravity -0.125000
+       liquidfriction 0.250000
+       originjitter 16 16 16
+       size 3 3
+       tex 62 62
+       underwater
+       velocityjitter 96 96 96
  effect TE_EXPLOSION
- notunderwater
- count 16
- type spark
- color 0x903010 0xFFD030
- size 2 2
- alpha 256 256 384
- gravity 1
- airfriction 0.2
- bounce 1.5
- liquidfriction 0.8
- velocityoffset 0 0 80
- velocityjitter 256 256 256
- // quake effect
- // decal
- // used nowhere in code
+       type spark
+       airfriction 0.200000
+       alpha 256 256 384
+       bounce 1.500000
+       color 0x903010 0xFFD030
+       count 16
+       gravity 1
+       liquidfriction 0.800000
+       notunderwater
+       size 2 2
+       velocityjitter 256 256 256
+       velocityoffset 0 0 80
  effect TE_EXPLOSIONQUAD
- countabsolute 1
- type decal
- tex 8 16
- size 48 48
- alpha 256 256 0
- originjitter 40 40 40
- lightradius 350
- lightradiusfade 700
- lightcolor 4 2 8
- // smoke cloud
+       type decal
+       alpha 256 256 0
+       countabsolute 1
+       lightcolor 4 2 8
+       lightradiusfade 700
+       lightradius 350
+       originjitter 40 40 40
+       size 48 48
+       tex 8 16
  effect TE_EXPLOSIONQUAD
- notunderwater
- count 16
- type smoke
- color 0x202020 0x404040
- tex 0 8
- size 12 12
- alpha 32 32 64
- velocityjitter 48 48 48
- // underwater bubbles
+       type smoke
+       alpha 32 32 64
+       color 0x202020 0x404040
+       count 16
+       notunderwater
+       size 12 12
+       tex 0 8
+       velocityjitter 48 48 48
  effect TE_EXPLOSIONQUAD
- underwater
- count 16
- type bubble
- tex 62 62
- color 0x404040 0x808080
- size 3 3
- alpha 128 256 64
- gravity -0.125
- bounce 1.5
- liquidfriction 0.25
- originjitter 16 16 16
- velocityjitter 96 96 96
- // sparks which go through walls
+       type bubble
+       alpha 128 256 64
+       bounce 1.500000
+       color 0x404040 0x808080
+       count 16
+       gravity -0.125000
+       liquidfriction 0.250000
+       originjitter 16 16 16
+       size 3 3
+       tex 62 62
+       underwater
+       velocityjitter 96 96 96
  effect TE_EXPLOSIONQUAD
- notunderwater
- count 64
- type spark
- color 0x903010 0xFFD030
- size 1 1
- alpha 0 256 512
- gravity 1
- airfriction 0.2
- liquidfriction 0.8
- velocityoffset 0 0 80
- velocityjitter 256 256 256
- // quake effect
- // decal
- // used in qcsrc/server/keyhunt.qc:   te_tarexplosion(lostkey.origin)
+       type spark
+       airfriction 0.200000
+       alpha 0 256 512
+       color 0x903010 0xFFD030
+       count 64
+       gravity 1
+       liquidfriction 0.800000
+       notunderwater
+       size 1 1
+       velocityjitter 256 256 256
+       velocityoffset 0 0 80
  effect TE_TAREXPLOSION
- countabsolute 1
- type decal
- tex 8 16
- size 48 48
- alpha 256 256 0
- originjitter 40 40 40
- lightradius 600
- lightradiusfade 1200
- lightcolor 1.6 0.8 2
- // smoke cloud
+       type decal
+       alpha 256 256 0
+       countabsolute 1
+       lightcolor 1.6 0.8 2
+       lightradiusfade 1200
+       lightradius 600
+       originjitter 40 40 40
+       size 48 48
+       tex 8 16
  effect TE_TAREXPLOSION
- notunderwater
- count 16
- type smoke
- color 0x202020 0x404040
- tex 0 8
- size 12 12
- alpha 32 32 64
- velocityjitter 48 48 48
- // underwater bubbles
+       type smoke
+       alpha 32 32 64
+       color 0x202020 0x404040
+       count 16
+       notunderwater
+       size 12 12
+       tex 0 8
+       velocityjitter 48 48 48
  effect TE_TAREXPLOSION
- underwater
- count 16
- type bubble
- tex 62 62
- color 0x404040 0x808080
- size 3 3
- alpha 128 256 64
- gravity -0.125
- bounce 1.5
- liquidfriction 0.25
- originjitter 16 16 16
- velocityjitter 96 96 96
- // sparks which go through walls
+       type bubble
+       alpha 128 256 64
+       bounce 1.500000
+       color 0x404040 0x808080
+       count 16
+       gravity -0.125000
+       liquidfriction 0.250000
+       originjitter 16 16 16
+       size 3 3
+       tex 62 62
+       underwater
+       velocityjitter 96 96 96
  effect TE_TAREXPLOSION
- notunderwater
- count 64
- type spark
- color 0x903010 0xFFD030
- size 1 1
- alpha 0 256 512
- gravity 1
- airfriction 0.2
- liquidfriction 0.8
- velocityoffset 0 0 80
- velocityjitter 256 256 256
- // bloody impact effect indicating damage
- // used nowhere in code
+       type spark
+       airfriction 0.200000
+       alpha 0 256 512
+       color 0x903010 0xFFD030
+       count 64
+       gravity 1
+       liquidfriction 0.800000
+       notunderwater
+       size 1 1
+       velocityjitter 256 256 256
+       velocityoffset 0 0 80
  effect TE_BLOOD
- count 0.167
- type blood
- tex 24 32
- size 8 8
- alpha 256 256 64
- bounce -1
- airfriction 1
- liquidfriction 4
- velocityjitter 64 64 64
- velocitymultiplier 1
- staincolor 0x808080 0x808080
- staintex 16 24
- // sparks (quake effect)
- // used in qcsrc/server/antilag.qc:           te_spark(antilag_takebackorigin(e, time - e.antilag_debug), '0 0 0', 32)
- // used in qcsrc/server/g_triggers.qc:        self.mdl = "TE_SPARK"
+       type blood
+       airfriction 1
+       alpha 256 256 64
+       bounce -1
+       count 0.167000
+       liquidfriction 4
+       size 8 8
+       staincolor 0x808080 0x808080
+       staintex 16 24
+       tex 24 32
+       velocityjitter 64 64 64
+       velocitymultiplier 1
  effect TE_SPARK
- count 0.5
- type spark
- tex 40 40
- color 0x8f4333 0xfff31b
- size 0.4 0.6
- alpha 64 256 768
- gravity 1
- bounce -1
- velocityoffset 0 0 80
- velocityjitter 64 64 64
- velocitymultiplier 1
- // nex impact
- // decal
- // used in qcsrc/server/bots.qc:              te_plasmaburn(org)
+       type spark
+       alpha 64 256 768
+       bounce -1
+       color 0x8f4333 0xfff31b
+       count 0.500000
+       gravity 1
+       size 0.400000 0.600000
+       tex 40 40
+       velocityjitter 64 64 64
+       velocitymultiplier 1
+       velocityoffset 0 0 80
  effect TE_PLASMABURN
- countabsolute 1
- type decal
- tex 47 47
- size 24 24
- alpha 256 256 0
- originjitter 16 16 16
- lightradius 200
- lightradiusfade 400
- lightcolor 1 1 1
- // flare effect
+       type decal
+       alpha 256 256 0
+       countabsolute 1
+       lightcolor 1 1 1
+       lightradiusfade 400
+       lightradius 200
+       originjitter 16 16 16
+       size 24 24
+       tex 47 47
  effect TE_PLASMABURN
- countabsolute 1
- type static
- tex 37 37
- color 0x80C0FF 0x80C0FF
- size 8 8
- alpha 256 256 512
- // small sparks which form a sphere as they slow down
+       type static
+       alpha 256 256 512
+       color 0x80C0FF 0x80C0FF
+       countabsolute 1
+       size 8 8
+       tex 37 37
  effect TE_PLASMABURN
- count 128
- type spark
- color 0x2030FF 0x80C0FF
- size 1 2
- alpha 256 256 1024
- bounce 2
- airfriction 8
- liquidfriction 8
- velocityjitter 128 128 128
- // quake effect
- // used in qcsrc/server/bots.qc:      //te_smallflash((e.absmin + e.absmax) * 0.5)
- // used in qcsrc/server/bots.qc:              //te_smallflash((e.absmin + e.absmax) * 0.5)
+       type spark
+       airfriction 8
+       alpha 256 256 1024
+       bounce 2
+       color 0x2030FF 0x80C0FF
+       count 128
+       liquidfriction 8
+       size 1 2
+       velocityjitter 128 128 128
  effect TE_SMALLFLASH
- lightradius 200
- lightradiusfade 1000
- lightcolor 2 2 2
- // quake effect
- // used nowhere in code
+       lightcolor 2 2 2
+       lightradiusfade 1000
+       lightradius 200
  effect TE_FLAMEJET
- count 0.5
- type smoke
- color 0x6f0f00 0xe3974f
- size 4 4
- alpha 64 128 384
- gravity -1
- bounce 1.1
- airfriction 1
- liquidfriction 4
- velocityjitter 128 128 128
- velocitymultiplier 1
- // quake effect
- // used nowhere in code
+       type smoke
+       airfriction 1
+       alpha 64 128 384
+       bounce 1.100000
+       color 0x6f0f00 0xe3974f
+       count 0.500000
+       gravity -1
+       liquidfriction 4
+       size 4 4
+       velocityjitter 128 128 128
+       velocitymultiplier 1
  effect TE_LAVASPLASH
- count 32
- type alphastatic
- color 0x6f0f00 0xe3974f
- size 12 12
- alpha 256 256 256
- gravity 0.05
- originoffset 0 0 32
- originjitter 128 128 32
- velocityoffset 0 0 256
- velocityjitter 128 128 0
- // player teleport effect
- // used nowhere in code
+       type alphastatic
+       alpha 256 256 256
+       color 0x6f0f00 0xe3974f
+       count 32
+       gravity 0.050000
+       originjitter 128 128 32
+       originoffset 0 0 32
+       size 12 12
+       velocityjitter 128 128 0
+       velocityoffset 0 0 256
  effect TE_TELEPORT
- count 56
- type static
- color 0xA0A0A0 0xFFFFFF
- size 10 10
- alpha 64 128 256
- airfriction 1
- liquidfriction 4
- originoffset 0 0 28
- originjitter 16 16 28
- velocityjitter 0 0 256
- // nex beam
- // used in qcsrc/server/w_minstanex.qc:       trailparticles(world, particleeffectnum("TE_TEI_G3"), w_shotorg, trace_endpos)
- // used in qcsrc/client/particles.qc:         trailparticles(world, particleeffectnum("TE_TEI_G3"), shotorg, endpos)
+       type static
+       airfriction 1
+       alpha 64 128 256
+       color 0xA0A0A0 0xFFFFFF
+       count 56
+       liquidfriction 4
+       originjitter 16 16 28
+       originoffset 0 0 28
+       size 10 10
+       velocityjitter 0 0 256
  effect TE_TEI_G3
- countabsolute 1
- type beam
- tex 200 200
- color 0xFFFFFF 0xFFFFFF
- size 4 4
- alpha 128 128 256
- // experimental
+       type beam
+       alpha 128 128 256
+       color 0xFFFFFF 0xFFFFFF
+       countabsolute 1
+       size 4 4
+       tex 200 200
  effect TE_TEI_G3
- trailspacing 4
- type static
- color 0x202020 0x404040
- size 1 1
- alpha 256 256 512
- airfriction -4
- //liquidfriction -4
- velocityjitter 8 8 8
- type smoke
- // smoke effect
- // used nowhere in code
+       type smoke
+       airfriction -4
+       alpha 256 256 512
+       color 0x202020 0x404040
+       size 1 1
+       trailspacing 4
+       velocityjitter 8 8 8
  effect TE_TEI_SMOKE
- count 0.167
- type smoke
- color 0x202020 0x404040
- tex 0 8
- size 5 5
- alpha 256 256 512
- originjitter 1.5 1.5 1.5
- velocityjitter 6 6 6
- velocitymultiplier 1
- // rocket explosion (bigger than mortar and hagar)
- // decal
- // used nowhere in code
+       type smoke
+       alpha 256 256 512
+       color 0x202020 0x404040
+       count 0.167000
+       originjitter 1.5 1.5 1.5
+       size 5 5
+       tex 0 8
+       velocityjitter 6 6 6
+       velocitymultiplier 1
  effect TE_TEI_BIGEXPLOSION
- countabsolute 1
- type decal
- tex 8 16
- size 72 72
- alpha 256 256 0
- originjitter 40 40 40
- lightradius 500
- lightradiusfade 500
- lightcolor 4 2 0.5
- // flare effect
+       type decal
+       alpha 256 256 0
+       countabsolute 1
+       lightcolor 4 2 0.5
+       lightradiusfade 500
+       lightradius 500
+       originjitter 40 40 40
+       size 72 72
+       tex 8 16
  effect TE_TEI_BIGEXPLOSION
- countabsolute 1
- type static
- tex 35 37
- color 0x404040 0x404040
- size 72 72
- alpha 192 192 64
- // fire effect
+       type static
+       alpha 192 192 64
+       color 0x404040 0x404040
+       countabsolute 1
+       size 72 72
+       tex 35 37
  effect TE_TEI_BIGEXPLOSION
- notunderwater
- count 128
- type static
- tex 48 55
- color 0x902010 0xFFD080
- size 16 16
- alpha 128 128 256
- bounce 1.5
- airfriction 4
- liquidfriction 4
- originjitter 8 8 8
- velocityjitter 512 512 512
- // underwater bubbles
+       type static
+       airfriction 4
+       alpha 128 128 256
+       bounce 1.500000
+       color 0x902010 0xFFD080
+       count 128
+       liquidfriction 4
+       notunderwater
+       originjitter 8 8 8
+       size 16 16
+       tex 48 55
+       velocityjitter 512 512 512
  effect TE_TEI_BIGEXPLOSION
- underwater
- count 32
- type bubble
- tex 62 62
- color 0x404040 0x808080
- size 3 3
- alpha 128 256 64
- gravity -0.125
- bounce 1.5
- liquidfriction 0.25
- originjitter 16 16 16
- velocityjitter 144 144 144
- // bouncing sparks
+       type bubble
+       alpha 128 256 64
+       bounce 1.500000
+       color 0x404040 0x808080
+       count 32
+       gravity -0.125000
+       liquidfriction 0.250000
+       originjitter 16 16 16
+       size 3 3
+       tex 62 62
+       underwater
+       velocityjitter 144 144 144
  effect TE_TEI_BIGEXPLOSION
- notunderwater
- count 64
- type spark
- color 0x903010 0xFFD030
- size 2 2
- alpha 256 256 384
- gravity 1
- airfriction 0.2
- bounce 1.5
- liquidfriction 0.8
- velocityoffset 0 0 80
- velocityjitter 384 384 384
- // electro explosion
- // decal
- // used nowhere in code
+       type spark
+       airfriction 0.200000
+       alpha 256 256 384
+       bounce 1.500000
+       color 0x903010 0xFFD030
+       count 64
+       gravity 1
+       liquidfriction 0.800000
+       notunderwater
+       size 2 2
+       velocityjitter 384 384 384
+       velocityoffset 0 0 80
  effect TE_TEI_PLASMAHIT
- countabsolute 1
- type decal
- tex 59 59
- size 32 32
- alpha 256 256 0
- originjitter 20 20 20
- lightradius 200
- lightradiusfade 600
- lightcolor 2.4 4.8 8
- // flare effect
+       type decal
+       alpha 256 256 0
+       countabsolute 1
+       lightcolor 2.4 4.8 8
+       lightradiusfade 600
+       lightradius 200
+       originjitter 20 20 20
+       size 32 32
+       tex 59 59
  effect TE_TEI_PLASMAHIT
- countabsolute 1
- type static
- tex 38 38
- color 0x80C0FF 0x80C0FF
- size 32 32
- alpha 256 256 512
- // cloud of bouncing sparks
+       type static
+       alpha 256 256 512
+       color 0x80C0FF 0x80C0FF
+       countabsolute 1
+       size 32 32
+       tex 38 38
  effect TE_TEI_PLASMAHIT
- count 0.5
- type spark
- color 0x2030FF 0x80C0FF
- size 2 4
- alpha 256 256 1024
- //gravity 1
- bounce 1.5
- //velocityoffset 0 0 120
- velocityjitter 512 512 512
- //////////////////////////////////////////////////
- // New effects in 2.4
- //////////////////////////////////////////////////
- // bloody impact effect indicating damage
- // used in qcsrc/client/gibs.qc:      pointparticles(particleeffectnum("blood"), self.origin + '0 0 1', '0 0 30', 10)
- // used in qcsrc/client/gibs.qc:                      pointparticles(particleeffectnum("blood"), org, vel, amount * 16)
+       type spark
+       alpha 256 256 1024
+       bounce 1.500000
+       color 0x2030FF 0x80C0FF
+       count 0.500000
+       size 2 4
+       velocityjitter 512 512 512
  effect blood
- count 0.4
- type spark
- blend invmod
- tex 24 32
- size 5 11
- alpha 1560 2560 7000
- color 0xA8FFFF 0xA8FFFFF
- bounce -1
- airfriction 0.4
- velocityjitter 99 99 55
- //velocitymultiplier 2
- staincolor 0x808080 0x808080
- staintex 16 24
- stainsize 1 2
- stretchfactor 20
- sizeincrease 20
- //blood mist
+       type spark
+       airfriction 0.400000
+       alpha 1560 2560 7000
+       blend invmod
+       bounce -1
+       color 0xA8FFFF 0xA8FFFFF
+       count 0.400000
+       sizeincrease 20
+       size 5 11
+       staincolor 0x808080 0x808080
+       stainsize 1 2
+       staintex 16 24
+       stretchfactor 20
+       tex 24 32
+       velocityjitter 99 99 55
  effect blood
- countabsolute 1
- type alphastatic
- blend invmod
- tex 24 32
- size 25 30
- sizeincrease 20
- alpha 100 256 400
- color 0x000000 0x420000
- originjitter 11 11 11
- // player teleport effect
- // used in qcsrc/server/t_teleporters.qc:             pointparticles(particleeffectnum("teleport"), player.origin, '0 0 0', 1)
- // used in qcsrc/server/t_teleporters.qc:             pointparticles(particleeffectnum("teleport"), to + v_forward * 32, '0 0 0', 1)
+       type alphastatic
+       alpha 100 256 400
+       blend invmod
+       color 0x000000 0x420000
+       countabsolute 1
+       originjitter 11 11 11
+       sizeincrease 20
+       size 25 30
+       tex 24 32
  effect teleport
- count 500
- type spark
- tex 64 64
- color 0x807aff 0x4463d5
- size 1 1
- alpha 0 256 100
- stretchfactor 2
- //gravity 1
- bounce 1.5
- originjitter 1 1 1
- velocityjitter 1000 1000 1500
- velocitymultiplier 0.5
- airfriction 2
- stretchfactor 0.6
+       type spark
+       airfriction 2
+       alpha 0 256 100
+       bounce 1.500000
+       color 0x807aff 0x4463d5
+       count 500
+       originjitter 1 1 1
+       size 1 1
+       stretchfactor 0.600000
+       tex 64 64
+       velocityjitter 1000 1000 1500
+       velocitymultiplier 0.500000
  effect teleport
- countabsolute 1
- type smoke
- tex 65 65
- size 150 150
- alpha 190 190 180
- sizeincrease -80
- color 0x807aff 0x4463d5
- // normal super gory blood trail (used by gibs)
- // used in qcsrc/client/gibs.qc:              trailparticles(self, particleeffectnum("TR_BLOOD"), oldorg, self.origin)
+       type smoke
+       alpha 190 190 180
+       color 0x807aff 0x4463d5
+       countabsolute 1
+       sizeincrease -80
+       size 150 150
+       tex 65 65
+ effect TR_BLOOD
+       type spark
+       airfriction -2
+       alpha 384 984 1492
+       blend invmod
+       bounce -1
+       color 0xA8FFFF 0xA8FFFF
+       gravity 0.400000
+       liquidfriction 1
+       sizeincrease -5
+       size 4 19
+       staincolor 0x808080 0x808080
+       stainsize 1 2
+       staintex 16 24
+       stretchfactor 7
+       tex 24 32
+       trailspacing 20
+       velocityjitter 64 64 64
+       velocitymultiplier -0.100000
  effect TR_BLOOD
- trailspacing 20
- type spark
- blend invmod
- color 0xA8FFFF 0xA8FFFF
- tex 24 32
- size 4 19
- alpha 384 984 1492
- bounce -1
- gravity 0.4
- airfriction -2
- liquidfriction 1
- velocityjitter 64 64 64
- velocitymultiplier -0.1
- staincolor 0x808080 0x808080
- staintex 16 24
- stainsize 1 2
- stretchfactor 7
- sizeincrease -5
- // splash around gib
+       type blood
+       alpha 684 684 7492
+       color 0xA8FFFF 0xA8FFFF
+       sizeincrease 500
+       size 4 6
+       tex 24 32
+       trailspacing 42
  effect TR_BLOOD
- trailspacing 42
- type blood
- color 0xA8FFFF 0xA8FFFF
- tex 24 32
- size 4 6
- alpha 684 684 7492
- sizeincrease 500
- // thinner blood trail (used by quake zombies)
- // used in qcsrc/client/gibs.qc:              trailparticles(self, particleeffectnum("TR_SLIGHTBLOOD"), oldorg, self.origin)
+       type blood
+       alpha 684 684 7492
+       color 0xA8FFFF 0xA8FFFF
+       sizeincrease 500
+       size 4 6
+       tex 24 32
+       trailspacing 42
  effect TR_SLIGHTBLOOD
- trailspacing 64
- type blood
- color 0xA8FFFF 0xA8FFFF
- tex 24 32
- size 8 8
- alpha 384 384 192
- bounce -1
- airfriction 1
- liquidfriction 4
- velocityjitter 64 64 64
- velocitymultiplier 0.5
- staincolor 0x808080 0x808080
- staintex 16 24
- // func_stardust effect, used in some maps to indicate teleporters
- // used in qcsrc/server/g_triggers.qc:        self.effects = EF_STARDUST
- // used in qcsrc/server/portals.qc:   portal.effects = EF_STARDUST | EF_BLUE
+       type blood
+       airfriction 1
+       alpha 384 384 192
+       bounce -1
+       color 0xA8FFFF 0xA8FFFF
+       liquidfriction 4
+       size 8 8
+       staincolor 0x808080 0x808080
+       staintex 16 24
+       tex 24 32
+       trailspacing 64
+       velocityjitter 64 64 64
+       velocitymultiplier 0.500000
  effect EF_STARDUST
- count 37.5
- type static
- color 0xfff368 0xfff368
- size 1.0 2.0
- alpha 64 128 128
- gravity -0.1
- airfriction 0.2
- liquidfriction 0.8
- originjitter 16 16 64
- velocityjitter 32 32 0
- //lightradius 200
- //lighttime 0
- //lightcolor 0.4 0.9 0.9
- // flare particle and light
- // used in qcsrc/server/t_items.qc:   //pointparticles(particleeffectnum("item_respawn"), self.origin + self.mins_z * '0 0 1' + '0 0 48', '0 0 0', 1)
- // used in qcsrc/server/t_items.qc:   pointparticles(particleeffectnum("item_respawn"), self.origin + 0.5 * (self.mins + self.maxs), '0 0 0', 1)
+       type static
+       airfriction 0.200000
+       alpha 64 128 128
+       color 0xfff368 0xfff368
+       count 37.500000
+       gravity -0.100000
+       liquidfriction 0.800000
+       originjitter 16 16 64
+       size 1 2
+       velocityjitter 32 32 0
  effect item_respawn
- countabsolute 1
- type static
- color 0x63F2EA 0x63f2EA
- size 32 32
- alpha 128 128 128
- // cloud of particles which expand rapidly and then slow to form a ball
+       type static
+       alpha 128 128 128
+       color 0x63F2EA 0x63f2EA
+       countabsolute 1
+       size 32 32
  effect item_respawn
- count 128
- type spark
- tex 41 41
- color 0x63F2EA 0x63f2EA
- size 2 2
- alpha 256 256 1280
- //originjitter 24 24 24
- velocityjitter 256 256 256
- // used in qcsrc/server/t_jumppads.qc:                        pointparticles(particleeffectnum("jumppad_activate"), other.origin, other.velocity, 1)
+       type spark
+       alpha 256 256 1280
+       color 0x63F2EA 0x63f2EA
+       count 128
+       size 2 2
+       tex 41 41
+       velocityjitter 256 256 256
  effect jumppad_activate
- lightradius 200
- lightradiusfade 2000
- lightcolor 2 2 2
- // used in qcsrc/server/w_hlac.qc:    pointparticles(particleeffectnum("laser_muzzleflash"), w_shotorg, w_shotdir * 1000, 1)
- // used in qcsrc/server/w_hlac.qc:    pointparticles(particleeffectnum("laser_muzzleflash"), w_shotorg, w_shotdir * 1000, 1)
- // used in qcsrc/server/w_laser.qc:   pointparticles(particleeffectnum("laser_muzzleflash"), w_shotorg, w_shotdir * 1000, 1)
+       lightcolor 2 2 2
+       lightradiusfade 2000
+       lightradius 200
  effect laser_muzzleflash
- // glow and light
- countabsolute 1
- type smoke
- color 0xcc0000 0xff0000
- tex 65 65
- size 10 15
- alpha 256 512 6280
- airfriction 10
- sizeincrease -100
- stretchfactor 2
- lightradius 200
- lightradiusfade 2000
- lightcolor 3 0.1 0.1
- // electricity
+       type smoke
+       airfriction 10
+       alpha 256 512 6280
+       color 0xcc0000 0xff0000
+       countabsolute 1
+       lightcolor 3 0.1 0.1
+       lightradiusfade 2000
+       lightradius 200
+       sizeincrease -100
+       size 10 15
+       stretchfactor 2
+       tex 65 65
  effect laser_muzzleflash
- count 3
- type spark
- color 0xb44215 0xff0000
- tex 43 43
- size 5 7
- alpha 256 512 6280
- airfriction 10
- originjitter 2 2 2
- velocityjitter 150 150 150
- velocitymultiplier 0.2
- sizeincrease -100
- stretchfactor 2.3
- rotate -180 180 4000 -4000
- // fire
+       type spark
+       airfriction 10
+       alpha 256 512 6280
+       color 0xb44215 0xff0000
+       count 3
+       originjitter 2 2 2
+       rotate -180 180 4000 -4000
+       sizeincrease -100
+       size 5 7
+       stretchfactor 2.300000
+       tex 43 43
+       velocityjitter 150 150 150
+       velocitymultiplier 0.200000
  effect laser_muzzleflash
- count 6
- type spark
- color 0xff4200 0xff0000
- tex 8 15
- size 7 9
- alpha 256 512 6280
- airfriction 12
- originjitter 2 2 2
- velocityjitter 100 100 100
- velocitymultiplier 0.2
- sizeincrease -100
- stretchfactor 2
- // decal
- // used in qcsrc/client/damage.qc:                            pointparticles(particleeffectnum("laser_impact"), org2, backoff * 1000, 1)
- // used in qcsrc/client/damage.qc:                            pointparticles(particleeffectnum("laser_impact"), org2, backoff * 1000, 1)
- effect laser_impact
- countabsolute 1
- type decal
- tex 47 47
- size 24 24
- alpha 256 256 0
- originjitter 14 14 14
- lightradius 200
- lightradiusfade 500
- lightcolor 8 0.4 0.4
- // flare effect
+       type spark
+       airfriction 12
+       alpha 256 512 6280
+       color 0xff4200 0xff0000
+       count 6
+       originjitter 2 2 2
+       sizeincrease -100
+       size 7 9
+       stretchfactor 2
+       tex 8 15
+       velocityjitter 100 100 100
+       velocitymultiplier 0.200000
  effect laser_impact
- countabsolute 1
- type static
- tex 39 39
- color 0xFF2010 0xFF2010
- alpha 256 256 1024
- size 24 24
- // sparks that rapidly expand and rapidly slow down to form an interesting spherical effect
+       type decal
+       alpha 256 256 0
+       countabsolute 1
+       lightcolor 8 0.4 0.4
+       lightradiusfade 500
+       lightradius 200
+       originjitter 14 14 14
+       size 24 24
+       tex 47 47
  effect laser_impact
- count 128
- type spark
- color 0x800000 0xFF8020
- alpha 256 256 1024
- size 4 4
- //bounce 1.5
- airfriction 6
- liquidfriction 6
- //originjitter 32 32 32
- velocityjitter 256 256 256
+       type static
+       alpha 256 256 1024
+       color 0xFF2010 0xFF2010
+       countabsolute 1
+       size 24 24
+       tex 39 39
  effect laser_impact
- count 4
- type smoke
- tex 48 55
- color 0x800000 0xFF8020
- size 12 12
- alpha 128 256 256
- originjitter 1 1 1
- velocitymultiplier 0.01
- velocityjitter 16 16 16
- sizeincrease 6
- // used in qcsrc/server/w_campingrifle.qc:    pointparticles(particleeffectnum("shotgun_muzzleflash"), w_shotorg, w_shotdir * 2000, 1)
- // used in qcsrc/server/w_shotgun.qc: pointparticles(particleeffectnum("shotgun_muzzleflash"), w_shotorg, w_shotdir * 1000, cvar("g_balance_shotgun_primary_ammo"))
- // used in qcsrc/server/w_shotgun.qc: pointparticles(particleeffectnum("shotgun_muzzleflash"), w_shotorg, w_shotdir * 1000, cvar("g_balance_shotgun_secondary_ammo"))
+       type spark
+       airfriction 6
+       alpha 256 256 1024
+       color 0x800000 0xFF8020
+       count 128
+       liquidfriction 6
+       size 4 4
+       velocityjitter 256 256 256
+ effect laser_impact
+       type smoke
+       alpha 128 256 256
+       color 0x800000 0xFF8020
+       count 4
+       originjitter 1 1 1
+       sizeincrease 6
+       size 12 12
+       tex 48 55
+       velocityjitter 16 16 16
+       velocitymultiplier 0.010000
  effect shotgun_muzzleflash
- count 1.5
- type smoke
- color 0x202020 0x404040
- tex 0 8
- size 5 5
- alpha 256 256 512
- originjitter 1.5 1.5 1.5
- velocityjitter 6 6 6
- velocitymultiplier 0.01
- lightradius 200
- lightradiusfade 2000
- lightcolor 2 1.5 0.2
- sizeincrease 12
- velocitymultiplier 0.05
+       type smoke
+       alpha 256 256 512
+       color 0x202020 0x404040
+       count 1.500000
+       lightcolor 2 1.5 0.2
+       lightradiusfade 2000
+       lightradius 200
+       originjitter 1.5 1.5 1.5
+       sizeincrease 12
+       size 5 5
+       tex 0 8
+       velocityjitter 6 6 6
+       velocitymultiplier 0.050000
  effect shotgun_muzzleflash
- count 16
- type spark
- tex 48 55
- color 0xffdb96 0xff5400
- size 10 20
- alpha 0 128 1024
- originjitter 1 1 1
- velocityjitter 100 100 100
- airfriction 5
- stretchfactor 2.5
- velocitymultiplier 0.5
- // shotgun pellet impact
- // decal
- // used in qcsrc/client/damage.qc:                            pointparticles(particleeffectnum("shotgun_impact"), org2, backoff * 1000, 1)
+       type spark
+       airfriction 5
+       alpha 0 128 1024
+       color 0xffdb96 0xff5400
+       count 16
+       originjitter 1 1 1
+       size 10 20
+       stretchfactor 2.500000
+       tex 48 55
+       velocityjitter 100 100 100
+       velocitymultiplier 0.500000
  effect shotgun_impact
- countabsolute 1
- type decal
- tex 56 59
- size 5 8
- alpha 256 256 0
- originjitter 10 10 10
- //lightradius 30
- //lightradiusfade 90
- //lightcolor 1 1 1
- // dust/smoke drifting away from the impact
+       type decal
+       alpha 256 256 0
+       countabsolute 1
+       originjitter 10 10 10
+       size 5 8
+       tex 56 59
  effect shotgun_impact
- type alphastatic
- notunderwater
- tex 0 8
- count 1
- size 10 20
- sizeincrease 25
- alpha 300 550 756
- velocityjitter 150 150 150
- velocitymultiplier 0.2
- airfriction 5
- color 0x473a37 0x0b0a07
- rotate 0 360 -50 50
- // dust/smoke staying at the impact
+       type alphastatic
+       airfriction 5
+       alpha 300 550 756
+       color 0x473a37 0x0b0a07
+       count 1
+       notunderwater
+       rotate 0 360 -50 50
+       sizeincrease 25
+       size 10 20
+       tex 0 8
+       velocityjitter 150 150 150
+       velocitymultiplier 0.200000
  effect shotgun_impact
- type alphastatic
- notunderwater
- tex 36 36
- count 0.2
- size 10 11
- sizeincrease 74
- alpha 200 350 500
- velocityjitter 11 11 11
- airfriction 5
- color 0x201d1a 0x000000
- bounce 6
- velocitymultiplier 0.03
- rotate 0 360 -50 50
- // sparks
+       type alphastatic
+       airfriction 5
+       alpha 200 350 500
+       bounce 6
+       color 0x201d1a 0x000000
+       count 0.200000
+       notunderwater
+       rotate 0 360 -50 50
+       sizeincrease 74
+       size 10 11
+       tex 36 36
+       velocityjitter 11 11 11
+       velocitymultiplier 0.030000
  effect shotgun_impact
- notunderwater
- count 0.5
- type spark
- tex 40 40
- color 0xFDFFD9 0xFDFFD9
- size 0.6 0.6
- alpha 0 356 268
- gravity 1
- bounce 1.5
- airfriction 1.1
- originjitter 1 1 1
- velocityjitter 200 200 200
- velocitymultiplier 0.2
- // used in qcsrc/server/w_uzi.qc:     pointparticles(particleeffectnum("uzi_muzzleflash"), w_shotorg, w_shotdir * 1000, 1)
+       type spark
+       airfriction 1.100000
+       alpha 0 356 268
+       bounce 1.500000
+       color 0xFDFFD9 0xFDFFD9
+       count 0.500000
+       gravity 1
+       notunderwater
+       originjitter 1 1 1
+       size 0.600000 0.600000
+       tex 40 40
+       velocityjitter 200 200 200
+       velocitymultiplier 0.200000
  effect uzi_muzzleflash
- count 1
- type static
- color 0x202020 0x404040
- tex 0 8
- size 5 5
alpha 256 256 512
- originjitter 1.5 1.5 1.5
- velocityjitter 1 1 1
- velocitymultiplier 0.03
- lightradius 200
- lightradiusfade 2000
- lightcolor 2 1.5 0.2
- gravity -0.1
+       type static
+       alpha 256 256 512
      color 0x202020 0x404040
+       count 1
+       gravity -0.100000
      lightcolor 2 1.5 0.2
+       lightradiusfade 2000
+       lightradius 200
+       originjitter 1.5 1.5 1.5
+       size 5 5
+       tex 0 8
+       velocityjitter 1 1 1
+       velocitymultiplier 0.030000
  effect uzi_muzzleflash
- count 3
- type spark
- tex 40 40
- color 0xff9c00 0xffd200
- size 0.3 0.4
- alpha 0 256 6000
- originjitter 1 1 1
- velocityjitter 555 555 555
- velocitymultiplier 3
- stretchfactor 0.15
- airfriction 12
- // used in qcsrc/server/cl_client.qc: //pointparticles(particleeffectnum("machinegun_impact"), self.origin + self.view_ofs + '0 0 7', '0 0 0', 1)
- // used in qcsrc/client/damage.qc:                            pointparticles(particleeffectnum("machinegun_impact"), org2, backoff * 1000, 1)
- // used in qcsrc/client/damage.qc:                            pointparticles(particleeffectnum("machinegun_impact"), org2, backoff * 1000, 1)
- // decal
+       type spark
+       airfriction 12
+       alpha 0 256 6000
+       color 0xff9c00 0xffd200
+       count 3
+       originjitter 1 1 1
+       size 0.300000 0.400000
+       stretchfactor 0.150000
+       tex 40 40
+       velocityjitter 555 555 555
+       velocitymultiplier 3
  effect machinegun_impact
- countabsolute 1
- type decal
- tex 56 59
- size 5 5
- alpha 256 256 0
- originjitter 10 10 10
- lightradius 80
- lightradiusfade 800
- lightcolor 6 3.6 0.6
- // dust/smoke drifting away from the impact
+       type decal
+       alpha 256 256 0
+       countabsolute 1
+       lightcolor 6 3.6 0.6
+       lightradiusfade 800
+       lightradius 80
+       originjitter 10 10 10
+       size 5 5
+       tex 56 59
  effect machinegun_impact
- type alphastatic
- notunderwater
- tex 0 8
- count 1.5
- size 10 20
- sizeincrease 15
- alpha 300 550 456
- velocityjitter 150 150 150
- velocitymultiplier 0.1
- airfriction 5
- color 0x473a37 0x0b0a07
- rotate 0 360 -50 50
- // dust/smoke staying at the impact
+       type alphastatic
+       airfriction 5
+       alpha 300 550 456
+       color 0x473a37 0x0b0a07
+       count 1.500000
+       notunderwater
+       rotate 0 360 -50 50
+       sizeincrease 15
+       size 10 20
+       tex 0 8
+       velocityjitter 150 150 150
+       velocitymultiplier 0.100000
  effect machinegun_impact
- type alphastatic
- notunderwater
- tex 36 36
- count 0.5
- size 10 11
- sizeincrease 74
- alpha 200 350 500
- velocityjitter 11 11 11
- airfriction 5
- color 0x201d1a 0x000000
- bounce 6
- velocitymultiplier 0.03
- rotate 0 360 -50 50
- //debris
+       type alphastatic
+       airfriction 5
+       alpha 200 350 500
+       bounce 6
+       color 0x201d1a 0x000000
+       count 0.500000
+       notunderwater
+       rotate 0 360 -50 50
+       sizeincrease 74
+       size 10 11
+       tex 36 36
+       velocityjitter 11 11 11
+       velocitymultiplier 0.030000
  effect machinegun_impact
- type alphastatic
- notunderwater
- tex 66 68
- count 1
- size 1 5
- airfriction 1
- gravity 1.4
- alpha 300 550 256
- velocityjitter 350 350 350
- velocitymultiplier 0.2
- bounce 1.7
- color 0x63493e 0xffffff
- rotate 0 360 -500 500
- // sparks
+       type alphastatic
+       airfriction 1
+       alpha 300 550 256
+       bounce 1.700000
+       color 0x63493e 0xffffff
+       count 1
+       gravity 1.400000
+       notunderwater
+       rotate 0 360 -500 500
+       size 1 5
+       tex 66 68
+       velocityjitter 350 350 350
+       velocitymultiplier 0.200000
  effect machinegun_impact
- notunderwater
- count 1
- type spark
- tex 40 40
- color 0xFDFFD9 0xFDFFD9
- size 0.3 0.3
- alpha 256 256 168
- gravity 1
- bounce 1
- airfriction 2
- originjitter 1 1 1
- velocityjitter 300 300 300
- velocitymultiplier 0.2
- // used in qcsrc/server/nexball.qc:   pointparticles(particleeffectnum("grenadelauncher_muzzleflash"), w_shotorg, w_shotdir * 1000, 1)
- // used in qcsrc/server/w_grenadelauncher.qc: pointparticles(particleeffectnum("grenadelauncher_muzzleflash"), w_shotorg, w_shotdir * 1000, 1)
- // used in qcsrc/server/w_grenadelauncher.qc: pointparticles(particleeffectnum("grenadelauncher_muzzleflash"), w_shotorg, w_shotdir * 1000, 1)
- // used in qcsrc/server/w_porto.qc:   //pointparticles(particleeffectnum("grenadelauncher_muzzleflash"), w_shotorg, w_shotdir * 1000, 1)
+       type spark
+       airfriction 2
+       alpha 256 256 168
+       bounce 1
+       color 0xFDFFD9 0xFDFFD9
+       count 1
+       gravity 1
+       notunderwater
+       originjitter 1 1 1
+       size 0.300000 0.300000
+       tex 40 40
+       velocityjitter 300 300 300
+       velocitymultiplier 0.200000
  effect grenadelauncher_muzzleflash
- count 1.5
- type smoke
- color 0x202020 0x404040
- tex 0 8
- size 5 5
alpha 256 256 512
- originjitter 1.5 1.5 1.5
- airfriction 12
- velocityjitter 20 20 20
- velocitymultiplier 0.03
- lightradius 200
lightradiusfade 2000
- lightcolor 2 1.5 0.2
+       type smoke
+       airfriction 12
+       alpha 256 256 512
+       color 0x202020 0x404040
+       count 1.500000
      lightcolor 2 1.5 0.2
+       lightradiusfade 2000
+       lightradius 200
+       originjitter 1.5 1.5 1.5
+       size 5 5
+       tex 0 8
      velocityjitter 20 20 20
+       velocitymultiplier 0.030000
  effect grenadelauncher_muzzleflash
- count 16
- type spark
- tex 48 55
- color 0xffdb96 0xff5400
- size 10 20
- alpha 0 128 1024
- originjitter 1 1 1
- velocityjitter 100 100 100
- velocitymultiplier 0.5
- airfriction 5
- stretchfactor 2.5
- // mortar trail
- // smoke
- // used in qcsrc/client/projectile.qc:                        trailparticles(self, particleeffectnum("TR_GRENADE"), from, to)
- // used in qcsrc/client/projectile.qc:                        trailparticles(self, particleeffectnum("TR_GRENADE"), from, to)
+       type spark
+       airfriction 5
+       alpha 0 128 1024
+       color 0xffdb96 0xff5400
+       count 16
+       originjitter 1 1 1
+       size 10 20
+       stretchfactor 2.500000
+       tex 48 55
+       velocityjitter 100 100 100
+       velocitymultiplier 0.500000
  effect TR_GRENADE
- trailspacing 4
- type smoke
- color 0x101010 0x000000
- tex 0 8
- size 3 2
- bounce 1
- sizeincrease 10
- alpha 300 400 780
- originjitter 1 1 1
- velocityjitter 1 1 1
- velocitymultiplier -0.02
- //gravity -0.11
- // fire
+       type smoke
+       alpha 300 400 780
+       bounce 1
+       color 0x101010 0x000000
+       originjitter 1 1 1
+       sizeincrease 10
+       size 3 2
+       tex 0 8
+       trailspacing 4
+       velocityjitter 1 1 1
+       velocitymultiplier -0.020000
  effect TR_GRENADE
- notunderwater
- trailspacing 4
- type static
- color 0xffdf72 0x811200
- tex 48 55
- size 5 2
- sizeincrease -15
- alpha 100 144 988
- airfriction 8
- velocityjitter 32 32 32
- velocitymultiplier -1.0
- // bubbles
+       type static
+       airfriction 8
+       alpha 100 144 988
+       color 0xffdf72 0x811200
+       notunderwater
+       sizeincrease -15
+       size 5 2
+       tex 48 55
+       trailspacing 4
+       velocityjitter 32 32 32
+       velocitymultiplier -1
  effect TR_GRENADE
- underwater
- trailspacing 16
- type bubble
- tex 62 62
- color 0x404040 0x808080
- size 1 1
- alpha 256 256 256
- gravity -0.125
- bounce 1.5
- liquidfriction 4
- velocityjitter 16 16 16
- // hookbomb trail
- // smoke
- // used in qcsrc/client/projectile.qc:                        trailparticles(self, particleeffectnum("TR_KNIGHTSPIKE"), from, to)
- // used in qcsrc/client/projectile.qc:                        trailparticles(self, particleeffectnum("TR_KNIGHTSPIKE"), from, to)
- // used in qcsrc/client/projectile.qc:                        trailparticles(self, particleeffectnum("TR_KNIGHTSPIKE"), from, to)
- effect TR_KNIGHTSPIKE // used for MF_TRACER2
- notunderwater
- trailspacing 6
- type smoke
- color 0x303030 0x000000
- tex 0 8
- size 3 3
- bounce 1
- sizeincrease 11
- alpha 300 400 600
- originjitter 2 2 2
- velocityjitter 3 3 3
- velocitymultiplier -0.02
- gravity -0.11
- //marker
- effect TR_KNIGHTSPIKE // used for MF_TRACER2
- type alphastatic
- color 0x666666 0x000000
- tex 62 62
- size 1 1
- sizeincrease -0.1
- trailspacing 2
- alpha 256 256 720
- // bubbles
- effect TR_KNIGHTSPIKE // used for MF_TRACER2
- underwater
- trailspacing 32
- type bubble
- tex 62 62
- color 0x404040 0x808080
- size 1 1
- alpha 256 256 256
- gravity -0.125
- bounce 1.5
- liquidfriction 4
- velocityjitter 16 16 16
- // decal
- // used in qcsrc/client/damage.qc:                            pointparticles(particleeffectnum("grenade_explode"), org2, '0 0 0', 1)
+       type bubble
+       alpha 256 256 256
+       bounce 1.500000
+       color 0x404040 0x808080
+       gravity -0.125000
+       liquidfriction 4
+       size 1 1
+       tex 62 62
+       trailspacing 16
+       underwater
+       velocityjitter 16 16 16
+ effect TR_KNIGHTSPIKE
+       type smoke
+       alpha 300 400 600
+       bounce 1
+       color 0x303030 0x000000
+       gravity -0.110000
+       notunderwater
+       originjitter 2 2 2
+       sizeincrease 11
+       size 3 3
+       tex 0 8
+       trailspacing 6
+       velocityjitter 3 3 3
+       velocitymultiplier -0.020000
+ effect TR_KNIGHTSPIKE
+       type alphastatic
+       alpha 256 256 720
+       color 0x666666 0x000000
+       sizeincrease -0.100000
+       size 1 1
+       tex 62 62
+       trailspacing 2
+ effect TR_KNIGHTSPIKE
+       type bubble
+       alpha 256 256 256
+       bounce 1.500000
+       color 0x404040 0x808080
+       gravity -0.125000
+       liquidfriction 4
+       size 1 1
+       tex 62 62
+       trailspacing 32
+       underwater
+       velocityjitter 16 16 16
  effect grenade_explode
- countabsolute 1
- type decal
- tex 8 16
- size 48 48
- alpha 256 256 0
- originjitter 26 26 26
- lightradius 250
- lightradiusfade 400
- lightcolor 8 4 1
- // fire effect which expands then slows
+       type decal
+       alpha 256 256 0
+       countabsolute 1
+       lightcolor 8 4 1
+       lightradiusfade 400
+       lightradius 250
+       originjitter 26 26 26
+       size 48 48
+       tex 8 16
  effect grenade_explode
- notunderwater
- count 40
- type static
- tex 48 55
- color 0xe03f00 0x5e0000
- size 16 26
- sizeincrease 20
- alpha 128 228 356
- bounce 4.5
- airfriction 8
- liquidfriction 8
- originjitter 8 8 8
- velocityjitter 256 256 256
- // fire effect which make brigt dot inside
+       type static
+       airfriction 8
+       alpha 128 228 356
+       bounce 4.500000
+       color 0xe03f00 0x5e0000
+       count 40
+       liquidfriction 8
+       notunderwater
+       originjitter 8 8 8
+       sizeincrease 20
+       size 16 26
+       tex 48 55
+       velocityjitter 256 256 256
  effect grenade_explode
- notunderwater
- count 15
- type static
- tex 48 55
- color 0xe03f00 0xffdf92
- size 6 16
- sizeincrease 40
- alpha 228 328 756
- bounce 1
- airfriction 8
- liquidfriction 8
- originjitter 8 8 8
- velocityjitter 256 256 256
- // smoke
+       type static
+       airfriction 8
+       alpha 228 328 756
+       bounce 1
+       color 0xe03f00 0xffdf92
+       count 15
+       liquidfriction 8
+       notunderwater
+       originjitter 8 8 8
+       sizeincrease 40
+       size 6 16
+       tex 48 55
+       velocityjitter 256 256 256
  effect grenade_explode
- type alphastatic
- notunderwater
- tex 0 8
- count 10
- size 20 40
- sizeincrease 34
- alpha 300 550 556
- velocityjitter 256 256 256
- airfriction 5
- color 0x000000 0x111111
- bounce 6
- // underwater bubbles
+       type alphastatic
+       airfriction 5
+       alpha 300 550 556
+       bounce 6
+       color 0x000000 0x111111
+       count 10
+       notunderwater
+       sizeincrease 34
+       size 20 40
+       tex 0 8
+       velocityjitter 256 256 256
  effect grenade_explode
- underwater
- count 32
- type bubble
- tex 62 62
- color 0x404040 0x808080
- size 3 6
- alpha 128 256 64
- gravity -0.125
- bounce 1.5
- liquidfriction 0.25
- originjitter 16 16 16
- velocityjitter 196 196 196
- rotate 0 0 0 0
- // underwatershockwave
+       type bubble
+       alpha 128 256 64
+       bounce 1.500000
+       color 0x404040 0x808080
+       count 32
+       gravity -0.125000
+       liquidfriction 0.250000
+       originjitter 16 16 16
+       size 3 6
+       tex 62 62
+       underwater
+       velocityjitter 196 196 196
  effect grenade_explode
- underwater
- type smoke
- countabsolute 1
- tex 33 33
- size 5 5
- sizeincrease 1500
- alpha 40 40 300
- velocitymultiplier 0.3
- // bouncing sparks
+       type smoke
+       alpha 40 40 300
+       countabsolute 1
+       sizeincrease 1500
+       size 5 5
+       tex 33 33
+       underwater
+       velocitymultiplier 0.300000
  effect grenade_explode
- notunderwater
- count 16
- type spark
- tex 40 40
- color 0xffa35b 0xfff2be
- size 1 0.1
- alpha 644 956 484
- gravity 1
- airfriction 1
- bounce 1.6
- liquidfriction 0.8
- velocityoffset 0 0 80
- originjitter 16 16 16
- velocityjitter 424 424 624
- // debris
+       type spark
+       airfriction 1
+       alpha 644 956 484
+       bounce 1.600000
+       color 0xffa35b 0xfff2be
+       count 16
+       gravity 1
+       liquidfriction 0.800000
+       notunderwater
+       originjitter 16 16 16
+       size 1 0.100000
+       tex 40 40
+       velocityjitter 424 424 624
+       velocityoffset 0 0 80
  effect grenade_explode
- notunderwater
- count 12
- type alphastatic
- tex 66 68
- color 0x6a3d25 0xcac5b4
- size 2 6
- alpha 644 956 684
- gravity 1.3
- airfriction 0.5
- bounce 1.6
- velocityjitter 324 324 524
- rotate -180 180 -1000 1000
- // used in qcsrc/server/w_electro.qc: pointparticles(particleeffectnum("electro_muzzleflash"), w_shotorg, w_shotdir * 1000, 1)
- // used in qcsrc/server/w_electro.qc: pointparticles(particleeffectnum("electro_muzzleflash"), w_shotorg, w_shotdir * 1000, 1)
+       type alphastatic
+       airfriction 0.500000
+       alpha 644 956 684
+       bounce 1.600000
+       color 0x6a3d25 0xcac5b4
+       count 12
+       gravity 1.300000
+       notunderwater
+       rotate -180 180 -1000 1000
+       size 2 6
+       tex 66 68
+       velocityjitter 324 324 524
  effect electro_muzzleflash
- countabsolute 1
- type smoke
- color 0x283880 0x283880 // 0x202020 0x404040
- tex 65 65
- size 15 15
- alpha 256 256 512
- originjitter 1.5 1.5 1.5
- velocityjitter 6 6 6
- sizeincrease -10
- velocitymultiplier 0.01
- lightradius 200
- lightradiusfade 2000
- lightcolor 1.5 3 6
+       type smoke
+       alpha 256 256 512
+       color 0x283880 0x283880
+       countabsolute 1
+       lightcolor 1.5 3 6
+       lightradiusfade 2000
+       lightradius 200
+       originjitter 1.5 1.5 1.5
+       sizeincrease -10
+       size 15 15
+       tex 65 65
+       velocityjitter 6 6 6
+       velocitymultiplier 0.010000
  effect electro_muzzleflash
- count 7
- type spark
- tex 8 15
- color 0xD9FDFF 0xD9FDFF
- size 5 15
- alpha 110 228 2024
- originjitter 1 1 1
- velocityjitter 150 150 150
- velocitymultiplier 0.5
- airfriction 2
- stretchfactor 1.5
+       type spark
+       airfriction 2
+       alpha 110 228 2024
+       color 0xD9FDFF 0xD9FDFF
+       count 7
+       originjitter 1 1 1
+       size 5 15
+       stretchfactor 1.500000
+       tex 8 15
+       velocityjitter 150 150 150
+       velocitymultiplier 0.500000
  effect electro_muzzleflash
- count 5
- type spark
- tex 41 41
- color 0xD9FDFF 0xD9FDFF
- size 7 6
- alpha 110 228 1024
- originjitter 1 1 1
- velocityjitter 350 350 350
- velocitymultiplier 2.5
- airfriction 8
- gravity 1.3
- stretchfactor 0.1
- // electro trail
- // glowing vapor trail
- // used in qcsrc/client/projectile.qc:                        trailparticles(self, particleeffectnum("TR_NEXUIZPLASMA"), from, to)
+       type spark
+       airfriction 8
+       alpha 110 228 1024
+       color 0xD9FDFF 0xD9FDFF
+       count 5
+       gravity 1.300000
+       originjitter 1 1 1
+       size 7 6
+       stretchfactor 0.100000
+       tex 41 41
+       velocityjitter 350 350 350
+       velocitymultiplier 2.500000
  effect TR_NEXUIZPLASMA
- trailspacing 2
- type static
- color 0x283880 0x283880
- size 3 3
- tex 38 38
- alpha 256 256 968
- //velocityjitter 16 16 16
- lightradius 90
- lighttime 0
- lightcolor 1.5 3 6
- velocitymultiplier -0.1
- // bright sparks
+       type static
+       alpha 256 256 968
+       color 0x283880 0x283880
+       lightcolor 1.5 3 6
+       lightradius 90
+       size 3 3
+       tex 38 38
+       trailspacing 2
+       velocitymultiplier -0.100000
  effect TR_NEXUIZPLASMA
- trailspacing 12
- count 1.5
- type snow
- tex 42 42
- color 0x629dff 0x0018ff
- size 2 4
- sizeincrease -20
- alpha 444 512 1866
- bounce 1
- velocityoffset 0 0 15
- airfriction 12
- originjitter 1 1 1
- velocityjitter 50 50 50
- // decal
- // used in qcsrc/client/damage.qc:                                            pointparticles(particleeffectnum("electro_impact"), org2, '0 0 0', 1)
+       type snow
+       airfriction 12
+       alpha 444 512 1866
+       bounce 1
+       color 0x629dff 0x0018ff
+       count 1.500000
+       originjitter 1 1 1
+       sizeincrease -20
+       size 2 4
+       tex 42 42
+       trailspacing 12
+       velocityjitter 50 50 50
+       velocityoffset 0 0 15
  effect electro_impact
- countabsolute 1
- type decal
- tex 59 59
- size 32 32
- alpha 256 256 0
- originjitter 17 17 17
- lightradius 250
- lightradiusfade 250
- lightcolor 3.125 4.375 10
- // shockwave
+       type decal
+       alpha 256 256 0
+       countabsolute 1
+       lightcolor 3.1 4.4 10
+       lightradiusfade 250
+       lightradius 250
+       originjitter 17 17 17
+       size 32 32
+       tex 59 59
  effect electro_impact
- type smoke
- countabsolute 1
- tex 33 33
- size 32 32
- sizeincrease 1000
- color 0x80C0FF 0x80C0FF
- alpha 40 40 350
- velocitymultiplier 44
- // flare effect
+       type smoke
+       alpha 40 40 350
+       color 0x80C0FF 0x80C0FF
+       countabsolute 1
+       sizeincrease 1000
+       size 32 32
+       tex 33 33
+       velocitymultiplier 44
  effect electro_impact
- countabsolute 1
- type static
- tex 38 38
- color 0x80C0FF 0x80C0FF
- size 12 32
- alpha 256 256 512
- // cloud of bouncing sparks
+       type static
+       alpha 256 256 512
+       color 0x80C0FF 0x80C0FF
+       countabsolute 1
+       size 12 32
+       tex 38 38
  effect electro_impact
- count 30
- type smoke
- tex 42 42
- color 0x629dff 0x0018ff
- size 36 36
- sizeincrease -50
- alpha 256 256 1024
- bounce 2
- gravity -0.3
- airfriction 6
- originjitter 1 1 1
- velocityjitter 512 512 512
- rotate -180 180 -9999 9999
- // inner cloud of smoke
+       type smoke
+       airfriction 6
+       alpha 256 256 1024
+       bounce 2
+       color 0x629dff 0x0018ff
+       count 30
+       gravity -0.300000
+       originjitter 1 1 1
+       rotate -180 180 -9999 9999
+       sizeincrease -50
+       size 36 36
+       tex 42 42
+       velocityjitter 512 512 512
  effect electro_impact
- count 30
- type smoke
- color 0x629dff 0x0018ff
- tex 0 8
- size 20 24
- sizeincrease 50
- alpha 200 256 512
- airfriction 30
- originjitter 20 20 20
- velocityjitter 320 320 320
- // decal
- // used in qcsrc/client/damage.qc:                                    pointparticles(particleeffectnum("electro_ballexplode"), org2, '0 0 0', 1)
+       type smoke
+       airfriction 30
+       alpha 200 256 512
+       color 0x629dff 0x0018ff
+       count 30
+       originjitter 20 20 20
+       sizeincrease 50
+       size 20 24
+       tex 0 8
+       velocityjitter 320 320 320
  effect electro_ballexplode
- countabsolute 1
- type decal
- tex 59 59
- size 32 32
- alpha 256 256 0
- originjitter 17 17 17
- lightradius 250
- lightradiusfade 250
- lightcolor 3.125 4.375 10
- // flare effect
+       type decal
+       alpha 256 256 0
+       countabsolute 1
+       lightcolor 3.1 4.4 10
+       lightradiusfade 250
+       lightradius 250
+       originjitter 17 17 17
+       size 32 32
+       tex 59 59
  effect electro_ballexplode
- countabsolute 1
- type static
- tex 38 38
- color 0x80C0FF 0x80C0FF
- size 32 32
- alpha 256 256 512
- // cloud of bouncing sparks
+       type static
+       alpha 256 256 512
+       color 0x80C0FF 0x80C0FF
+       countabsolute 1
+       size 32 32
+       tex 38 38
  effect electro_ballexplode
- count 64
- type spark
- tex 41 41
- color 0xFDFFD9 0xFDFFD9
- size 1 2
- alpha 256 256 1024
- bounce 2
- stretchfactor 0.4
- //airfriction 2
- originjitter 1 1 1
- velocityjitter 512 512 512
- // inner cloud of smoke
+       type spark
+       alpha 256 256 1024
+       bounce 2
+       color 0xFDFFD9 0xFDFFD9
+       count 64
+       originjitter 1 1 1
+       size 1 2
+       stretchfactor 0.400000
+       tex 41 41
+       velocityjitter 512 512 512
  effect electro_ballexplode
- count 8
- type smoke
- color 0x202020 0x404040
- tex 0 8
- size 24 24
- alpha 256 256 512
- originjitter 20 20 20
- velocityjitter 32 32 32
- // decal
- // used in qcsrc/client/damage.qc:                                            pointparticles(particleeffectnum("electro_combo"), org2, '0 0 0', 1)
+       type smoke
+       alpha 256 256 512
+       color 0x202020 0x404040
+       count 8
+       originjitter 20 20 20
+       size 24 24
+       tex 0 8
+       velocityjitter 32 32 32
  effect electro_combo
- countabsolute 1
- type decal
- tex 59 59
- size 64 64
- alpha 256 256 0
- originjitter 17 17 17
- lightradius 400
- lightradiusfade 300
- lightcolor 4 5 6
- // flare effect
+       type decal
+       alpha 256 256 0
+       countabsolute 1
+       lightcolor 4 5 6
+       lightradiusfade 300
+       lightradius 400
+       originjitter 17 17 17
+       size 64 64
+       tex 59 59
  effect electro_combo
- countabsolute 1
- type static
- tex 38 38
- color 0x80C0FF 0x80C0FF
- size 48 48
- alpha 128 128 64
- // large sparks
+       type static
+       alpha 128 128 64
+       color 0x80C0FF 0x80C0FF
+       countabsolute 1
+       size 48 48
+       tex 38 38
  effect electro_combo
- count 5
- type static
- color 0x2030FF 0x80C0FF
- size 32 32
- sizeincrease 50
- tex 0 7
- alpha 156 156 156
- bounce 2
- airfriction 6
- liquidfriction 16
- //velocityoffset 0 0 120
- velocityjitter 512 512 512
+       type static
+       airfriction 6
+       alpha 156 156 156
+       bounce 2
+       color 0x2030FF 0x80C0FF
+       count 5
+       liquidfriction 16
+       sizeincrease 50
+       size 32 32
+       tex 0 7
+       velocityjitter 512 512 512
  effect electro_combo
- count 32
- type spark
- tex 41 41
- color 0xa9cacf 0x0054ff
- size 2 4
- stretchfactor 2
- gravity 0.3
- alpha 444 512 700
- velocitymultiplier 3
- bounce 1.6
- //airfriction 2
- originjitter 1 1 1
- velocityjitter 312 312 312
- // inner cloud of smoke
+       type spark
+       alpha 444 512 700
+       bounce 1.600000
+       color 0xa9cacf 0x0054ff
+       count 32
+       gravity 0.300000
+       originjitter 1 1 1
+       size 2 4
+       stretchfactor 2
+       tex 41 41
+       velocityjitter 312 312 312
+       velocitymultiplier 3
  effect electro_combo
- count 0.125
- type smoke
- color 0x202020 0x404040
- tex 0 8
- size 24 24
- alpha 256 256 256
- originjitter 20 20 20
- velocityjitter 32 32 32
- // shockwave
+       type smoke
+       alpha 256 256 256
+       color 0x202020 0x404040
+       count 0.125000
+       originjitter 20 20 20
+       size 24 24
+       tex 0 8
+       velocityjitter 32 32 32
  effect electro_combo
- type smoke
- countabsolute 1
- color 0xa9cacf 0x0054ff
- tex 33 33
- size 30 30
- sizeincrease 600
- alpha 40 40 100
- velocitymultiplier 0.3
- // used in qcsrc/server/w_crylink.qc: pointparticles(particleeffectnum("crylink_muzzleflash"), w_shotorg, w_shotdir * 1000, shots)
- // used in qcsrc/server/w_crylink.qc: pointparticles(particleeffectnum("crylink_muzzleflash"), w_shotorg, w_shotdir * 1000, shots)
+       type smoke
+       alpha 40 40 100
+       color 0xa9cacf 0x0054ff
+       countabsolute 1
+       sizeincrease 600
+       size 30 30
+       tex 33 33
+       velocitymultiplier 0.300000
  effect crylink_muzzleflash
- count 0.5
- type smoke
- color 0xdd9cff 0xff0090
- tex 65 65
- size 15 20
- alpha 128 128 2024
- velocitymultiplier 0.01
lightradius 200
- lightradiusfade 2000
- lightcolor 1.6 0.2 2
+       type smoke
+       alpha 128 128 2024
      color 0xdd9cff 0xff0090
+       count 0.500000
+       lightcolor 1.6 0.2 2
+       lightradiusfade 2000
+       lightradius 200
      size 15 20
+       tex 65 65
+       velocitymultiplier 0.010000
  effect crylink_muzzleflash
- count 5
- type spark
- tex 35 36
- color 0xA080C0 0xA080C0
- size 5 10
- alpha 0 128 1024
- originjitter 1 1 1
- velocityjitter 200 200 200
- velocitymultiplier 0.3
- airfriction 12
- stretchfactor 1.5
- // crylink impact effect
- // decal
- // used in qcsrc/client/damage.qc:                                    pointparticles(particleeffectnum("crylink_impact"), org2, '0 0 0', 1)
+       type spark
+       airfriction 12
+       alpha 0 128 1024
+       color 0xA080C0 0xA080C0
+       count 5
+       originjitter 1 1 1
+       size 5 10
+       stretchfactor 1.500000
+       tex 35 36
+       velocityjitter 200 200 200
+       velocitymultiplier 0.300000
  effect crylink_impact
- countabsolute 1
- type decal
- tex 47 47
- size 24 24
- alpha 256 256 0
- originjitter 12 12 12
- //lightradius 200
- //lightradiusfade 800
- //lightcolor 3.2 0.4 4
- // purple flare effect
+       type decal
+       alpha 256 256 0
+       countabsolute 1
+       originjitter 12 12 12
+       size 24 24
+       tex 47 47
  effect crylink_impact
- countabsolute 1
- type static
- tex 39 39
- color 0x504060 0x504060
- size 24 24
- alpha 256 256 512
- // purple sparks
+       type static
+       alpha 256 256 512
+       color 0x504060 0x504060
+       countabsolute 1
+       size 24 24
+       tex 39 39
  effect crylink_impact
- count 40
- type spark
- tex 41 41
- color 0xA040C0 0xA040C0
- bounce 2
- size 6 6
- alpha 256 256 1024
- velocityjitter 512 512 512
- // purple splash
+       type spark
+       alpha 256 256 1024
+       bounce 2
+       color 0xA040C0 0xA040C0
+       count 40
+       size 6 6
+       tex 41 41
+       velocityjitter 512 512 512
  effect crylink_impact
- count 1.5
- type static
- color 0xE070FF 0xE070FF
- size 16 16
- alpha 256 256 512
- velocityjitter 32 32 32
- // purple splash
+       type static
+       alpha 256 256 512
+       color 0xE070FF 0xE070FF
+       count 1.500000
+       size 16 16
+       velocityjitter 32 32 32
  effect crylink_impact
- count 3
- type static
- color 0xE070FF 0xE070FF
- size 16 16
- alpha 256 256 1024
- velocityjitter 256 256 256
- // used in qcsrc/server/w_minstanex.qc:       pointparticles(particleeffectnum("nex_muzzleflash"), w_shotorg, w_shotdir * 1000, 1)
- // used in qcsrc/client/particles.qc: pointparticles(particleeffectnum("nex_muzzleflash"), shotorg, normalize(endpos - shotorg) * 1000, 1)
+       type static
+       alpha 256 256 1024
+       color 0xE070FF 0xE070FF
+       count 3
+       size 16 16
+       velocityjitter 256 256 256
  effect nex_muzzleflash
- count 12
- type spark
- color 0x202020 0x0072ff
- tex 48 55
- size 16 16
- alpha 328 328 4000
- originjitter 4 4 4
velocityjitter 180 180 180
velocitymultiplier 1.4
- stretchfactor 2
- sizeincrease -100
- airfriction 9
- lightradius 200
lightradiusfade 200
- lightcolor 2 2.5 3
+       type spark
+       airfriction 9
+       alpha 328 328 4000
+       color 0x202020 0x0072ff
+       count 12
+       lightcolor 2 2.5 3
+       lightradiusfade 200
      lightradius 200
      originjitter 4 4 4
+       sizeincrease -100
+       size 16 16
+       stretchfactor 2
+       tex 48 55
      velocityjitter 180 180 180
+       velocitymultiplier 1.400000
  effect nex_muzzleflash
- count 50
- type spark
- tex 41 41
- color 0xD9FDFF 0xD9FDFF
- size 1 1
- alpha 0 128 1024
- originjitter 1 1 1
- velocityjitter 600 600 600
- velocitymultiplier 1.5
- airfriction 9
- //// nex beam
- //effect nex_beam
- //countabsolute 1
- //type beam
- //tex 200 200
- //color 0xFFFFFF 0xFFFFFF
- //size 6 6
- //alpha 128 128 192
- // nex beam: ring smoke
- // used in qcsrc/client/particles.qc:         trailparticles(world, particleeffectnum("nex_beam"), shotorg, endpos)
+       type spark
+       airfriction 9
+       alpha 0 128 1024
+       color 0xD9FDFF 0xD9FDFF
+       count 50
+       originjitter 1 1 1
+       size 1 1
+       tex 41 41
+       velocityjitter 600 600 600
+       velocitymultiplier 1.500000
  effect nex_beam
- trailspacing 64
- color 0x1680A0 0x1680A0
- size 4 4
- tex 32 32
- alpha 64 128 64
- airfriction 5
- sizeincrease 2
- type static
- // nex beam: drifting smoke
+       type static
+       airfriction 5
+       alpha 64 128 64
+       color 0x1680A0 0x1680A0
+       sizeincrease 2
+       size 4 4
+       tex 32 32
+       trailspacing 64
  effect nex_beam
- trailspacing 12
- color 0x5080A0 0x5080A0
- size 1 1
- tex 0 8
- alpha 32 64 32
- airfriction 9
- sizeincrease 8
- velocityjitter 64 64 64
- type static
- // nex beam: bright core
+       type static
+       airfriction 9
+       alpha 32 64 32
+       color 0x5080A0 0x5080A0
+       sizeincrease 8
+       size 1 1
+       tex 0 8
+       trailspacing 12
+       velocityjitter 64 64 64
  effect nex_beam
- trailspacing 12
- color 0x80CDFF 0x80CDFF
- size 4 4
- //tex 48 55
- alpha 256 256 1280
- type static
- //sparks
+       type static
+       alpha 256 256 1280
+       color 0x80CDFF 0x80CDFF
+       size 4 4
+       trailspacing 12
  effect nex_beam
- trailspacing 16
- color 0x1680A0 0x1680A0
- size 1 1
- tex 63 63
- alpha 64 128 80
- airfriction 5
- gravity -0.01
- type snow
- // nex impact
- // decal
- // used in qcsrc/client/damage.qc:                            pointparticles(particleeffectnum("nex_impact"), org2, '0 0 0', 1)
- // used in qcsrc/client/damage.qc:                            pointparticles(particleeffectnum("nex_impact"), org2, '0 0 0', 1)
+       type snow
+       airfriction 5
+       alpha 64 128 80
+       color 0x1680A0 0x1680A0
+       gravity -0.010000
+       size 1 1
+       tex 63 63
+       trailspacing 16
  effect nex_impact
- countabsolute 1
- type decal
- tex 47 47
- size 24 24
- alpha 256 256 0
- originjitter 14 14 14
- lightradius 200
- lightradiusfade 250
- lightcolor 4 6 8
- rotate -180 180 0 0
- // rotating something
+       type decal
+       alpha 256 256 0
+       countabsolute 1
+       lightcolor 4 6 8
+       lightradiusfade 250
+       lightradius 200
+       originjitter 14 14 14
+       rotate -180 180 0 0
+       size 24 24
+       tex 47 47
  effect nex_impact
- count 5
- type smoke
- tex 46 46
- color 0x1680A0 0x1680A0
- size 25 28
- sizeincrease 20
- alpha 55 55 50
- rotate 180 -180 500 -500
- // shockwave
+       type smoke
+       alpha 55 55 50
+       color 0x1680A0 0x1680A0
+       count 5
+       rotate 180 -180 500 -500
+       sizeincrease 20
+       size 25 28
+       tex 46 46
  effect nex_impact
- countabsolute 1
- type static
- tex 33 33
- color 0x1680A0 0x1680A0
- size 16 16
- alpha 50 50 400
- sizeincrease 900
- // shockwave2
+       type static
+       alpha 50 50 400
+       color 0x1680A0 0x1680A0
+       countabsolute 1
+       sizeincrease 900
+       size 16 16
+       tex 33 33
  effect nex_impact
- countabsolute 1
- type static
- tex 65 65
- color 0x1680A0 0x1680A0
- size 5 5
- alpha 50 50 100
- sizeincrease 500
- // flare effect
+       type static
+       alpha 50 50 100
+       color 0x1680A0 0x1680A0
+       countabsolute 1
+       sizeincrease 500
+       size 5 5
+       tex 65 65
  effect nex_impact
- countabsolute 1
- type static
- tex 37 37
- color 0x80C0FF 0x80C0FF
- size 8 8
- alpha 256 256 256
- // small sparks which form a sphere as they slow down
- //effect nex_impact
- //count 256
- //type spark
- //color 0x2030FF 0x80C0FF
- //size 1 2
- //alpha 256 256 512
- //bounce 2
- //airfriction 8
- //liquidfriction 8
- //velocityjitter 384 384 384
- // small sparks which glow brightly but live briefly
+       type static
+       alpha 256 256 256
+       color 0x80C0FF 0x80C0FF
+       countabsolute 1
+       size 8 8
+       tex 37 37
  effect nex_impact
- count 64
- type spark
- tex 41 41
- color 0xD9FDFF 0xD9FDFF
- size 4 4
- alpha 0 128 512
- bounce 2
- stretchfactor 3
- velocityjitter 600 600 600
- velocitymultiplier 0.5
- airfriction 9
- // small sparks that live longer
+       type spark
+       airfriction 9
+       alpha 0 128 512
+       bounce 2
+       color 0xD9FDFF 0xD9FDFF
+       count 64
+       size 4 4
+       stretchfactor 3
+       tex 41 41
+       velocityjitter 600 600 600
+       velocitymultiplier 0.500000
  effect nex_impact
- count 16
- type spark
- tex 41 41
- color 0xD9FDFF 0xD9FDFF
- size 2 2
- alpha 255 255 112
- bounce 1.6
- stretchfactor 0.7
- velocityjitter 300 300 600
- velocitymultiplier 2.5
- airfriction 2
- gravity 1
- // used in qcsrc/server/w_hagar.qc:   pointparticles(particleeffectnum("hagar_muzzleflash"), w_shotorg, w_shotdir * 1000, 1)
- // used in qcsrc/server/w_hagar.qc:   pointparticles(particleeffectnum("hagar_muzzleflash"), w_shotorg, w_shotdir * 1000, 1)
- // used in qcsrc/server/w_seeker.qc:  pointparticles(particleeffectnum("hagar_muzzleflash"), w_shotorg, w_shotdir * 1000, 1)
+       type spark
+       airfriction 2
+       alpha 255 255 112
+       bounce 1.600000
+       color 0xD9FDFF 0xD9FDFF
+       count 16
+       gravity 1
+       size 2 2
+       stretchfactor 0.700000
+       tex 41 41
+       velocityjitter 300 300 600
+       velocitymultiplier 2.500000
  effect hagar_muzzleflash
- count 2
- type smoke
- color 0x202020 0x404040
- tex 0 8
- size 5 5
- alpha 256 256 512
- originjitter 1.5 1.5 1.5
- velocityjitter 6 6 6
- velocitymultiplier 0.01
- lightradius 200
- lightradiusfade 2000
- lightcolor 2 1.5 0.2
+       type smoke
+       alpha 256 256 512
      color 0x202020 0x404040
+       count 2
+       lightcolor 2 1.5 0.2
+       lightradiusfade 2000
+       lightradius 200
+       originjitter 1.5 1.5 1.5
+       size 5 5
+       tex 0 8
+       velocityjitter 6 6 6
+       velocitymultiplier 0.010000
  effect hagar_muzzleflash
- count 15
- type spark
- tex 48 55
- color 0xff8400 0xff4200
- size 5 10
- alpha 0 128 1024
- originjitter 1 1 1
- velocityjitter 200 200 200
- velocitymultiplier 0.5
- airfriction 12
- stretchfactor 2
- rotate -180 180 -400 400
- // used in qcsrc/server/w_hagar.qc:           pointparticles(particleeffectnum("hagar_bounce"), self.origin, self.velocity, 1)
+       type spark
+       airfriction 12
+       alpha 0 128 1024
+       color 0xff8400 0xff4200
+       count 15
+       originjitter 1 1 1
+       rotate -180 180 -400 400
+       size 5 10
+       stretchfactor 2
+       tex 48 55
+       velocityjitter 200 200 200
+       velocitymultiplier 0.500000
  effect hagar_bounce
- count 2
- type smoke
- color 0x202020 0x404040
- tex 0 8
- size 5 5
- alpha 256 256 256
- originjitter 1.5 1.5 1.5
- velocityjitter 6 6 6
- velocitymultiplier 0.01
- lightradius 60
- lightradiusfade 300
- lightcolor 2 1.5 0.2
+       type smoke
+       alpha 256 256 256
      color 0x202020 0x404040
+       count 2
+       lightcolor 2 1.5 0.2
+       lightradiusfade 300
+       lightradius 60
+       originjitter 1.5 1.5 1.5
+       size 5 5
+       tex 0 8
+       velocityjitter 6 6 6
+       velocitymultiplier 0.010000
  effect hagar_bounce
- count 15
- type spark
- tex 40 40
- color 0xFFFDD9 0xFFFDD9
- size 3 3
- alpha 0 256 256
- gravity 1
- bounce 1.5
- originjitter 1 1 1
- velocityjitter 600 600 600
- velocitymultiplier 0.5
- airfriction 12
- // decal
- // used in qcsrc/client/damage.qc:                            pointparticles(particleeffectnum("hagar_explode"), org2, '0 0 0', 1)
- // used in qcsrc/client/damage.qc:                                            pointparticles(particleeffectnum("hagar_explode"), org2, '0 0 0', 1)
- // used in qcsrc/client/damage.qc:                                            pointparticles(particleeffectnum("hagar_explode"), org2, '0 0 0', 1)
+       type spark
+       airfriction 12
+       alpha 0 256 256
+       bounce 1.500000
+       color 0xFFFDD9 0xFFFDD9
+       count 15
+       gravity 1
+       originjitter 1 1 1
+       size 3 3
+       tex 40 40
+       velocityjitter 600 600 600
+       velocitymultiplier 0.500000
  effect hagar_explode
- countabsolute 1
- type decal
- tex 8 16
- size 28 38
- alpha 256 256 0
- originjitter 14 14 14
- lightradius 120
- lightradiusfade 400
- lightcolor 8 4 1
- // fire effect which make bright dot inside
+       type decal
+       alpha 256 256 0
+       countabsolute 1
+       lightcolor 8 4 1
+       lightradiusfade 400
+       lightradius 120
+       originjitter 14 14 14
+       size 28 38
+       tex 8 16
  effect hagar_explode
- notunderwater
- count 3.5
- type smoke
- tex 48 55
- color 0xffe955 0xff5a00
- size 16 26
- sizeincrease 5
- alpha 80 200 356
- bounce 1.5
- airfriction 8
- liquidfriction 8
- originjitter 8 8 8
- velocityjitter 156 156 156
- // fire effect which expands then slows
+       type smoke
+       airfriction 8
+       alpha 80 200 356
+       bounce 1.500000
+       color 0xffe955 0xff5a00
+       count 3.500000
+       liquidfriction 8
+       notunderwater
+       originjitter 8 8 8
+       sizeincrease 5
+       size 16 26
+       tex 48 55
+       velocityjitter 156 156 156
  effect hagar_explode
- notunderwater
- count 12
- type static
- tex 48 55
- color 0x8f0d00 0xff5a00
- size 20 26
- sizeincrease 15
- alpha 128 256 456
- bounce 1.5
- airfriction 12
- liquidfriction 8
- originjitter 8 8 8
- velocityjitter 286 286 286
- // smoke
+       type static
+       airfriction 12
+       alpha 128 256 456
+       bounce 1.500000
+       color 0x8f0d00 0xff5a00
+       count 12
+       liquidfriction 8
+       notunderwater
+       originjitter 8 8 8
+       sizeincrease 15
+       size 20 26
+       tex 48 55
+       velocityjitter 286 286 286
  effect hagar_explode
- type alphastatic
- notunderwater
- tex 0 8
- count 7
- size 20 40
- sizeincrease 20
- alpha 200 500 600
- velocityjitter 244 244 244
- airfriction 5
- color 0x000000 0x111111
- bounce 2
- // underwater bubbles
+       type alphastatic
+       airfriction 5
+       alpha 200 500 600
+       bounce 2
+       color 0x000000 0x111111
+       count 7
+       notunderwater
+       sizeincrease 20
+       size 20 40
+       tex 0 8
+       velocityjitter 244 244 244
  effect hagar_explode
- underwater
- count 16
- type bubble
- tex 62 62
- color 0x404040 0x808080
- size 3 3
- alpha 128 256 64
- gravity -0.125
- bounce 1.5
- liquidfriction 0.25
- originjitter 16 16 16
- velocityjitter 96 96 96
- // bouncing sparks
+       type bubble
+       alpha 128 256 64
+       bounce 1.500000
+       color 0x404040 0x808080
+       count 16
+       gravity -0.125000
+       liquidfriction 0.250000
+       originjitter 16 16 16
+       size 3 3
+       tex 62 62
+       underwater
+       velocityjitter 96 96 96
  effect hagar_explode
- notunderwater
- count 4
- type spark
- tex 40 40
- color 0xffa35b 0xfff2be
- size 1 0.1
- alpha 644 956 684
- gravity 1
- airfriction 1
- bounce 1.6
- liquidfriction 0.8
- velocityoffset 0 0 80
- originjitter 16 16 16
- velocityjitter 224 224 224
- // used in qcsrc/server/w_rocketlauncher.qc:  pointparticles(particleeffectnum("rocketlauncher_muzzleflash"), w_shotorg, w_shotdir * 1000, 1)
+       type spark
+       airfriction 1
+       alpha 644 956 684
+       bounce 1.600000
+       color 0xffa35b 0xfff2be
+       count 4
+       gravity 1
+       liquidfriction 0.800000
+       notunderwater
+       originjitter 16 16 16
+       size 1 0.100000
+       tex 40 40
+       velocityjitter 224 224 224
+       velocityoffset 0 0 80
  effect rocketlauncher_muzzleflash
- count 10
- type smoke
- color 0x202020 0x404040
- tex 0 8
- size 1 1
- sizeincrease 20
- alpha 256 256 256
- airfriction 2
- originjitter 1.5 1.5 1.5
- velocityjitter 40 40 40
- velocitymultiplier -0.13
- //lightradius 200
- //lightradiusfade 2000
- //lightcolor 2 1.5 0.2
+       type smoke
+       airfriction 2
+       alpha 256 256 256
+       color 0x202020 0x404040
+       count 10
+       originjitter 1.5 1.5 1.5
+       sizeincrease 20
+       size 1 1
+       tex 0 8
+       velocityjitter 40 40 40
+       velocitymultiplier -0.130000
  effect rocketlauncher_muzzleflash
- count 6
- type smoke
- tex 35 36
- color 0xFFFDD9 0xFFFDD9
- size 5 10
- sizeincrease 20
- alpha 10 25 20
- originjitter 3 3 3
- velocityjitter 100 100 100
- velocitymultiplier 0.3
- airfriction 9
- rotate -180 180 -30 30
- // rocket trail
- // smoke
- // used in qcsrc/server/cl_client.qc:         self.modelflags |= MF_ROCKET
- // used in qcsrc/server/cl_client.qc:         self.modelflags &~= MF_ROCKET
- // used in qcsrc/client/projectile.qc:                        trailparticles(self, particleeffectnum("TR_ROCKET"), from, to)
- // used in qcsrc/client/projectile.qc:                        trailparticles(self, particleeffectnum("TR_ROCKET"), from, to)
+       type smoke
+       airfriction 9
+       alpha 10 25 20
+       color 0xFFFDD9 0xFFFDD9
+       count 6
+       originjitter 3 3 3
+       rotate -180 180 -30 30
+       sizeincrease 20
+       size 5 10
+       tex 35 36
+       velocityjitter 100 100 100
+       velocitymultiplier 0.300000
  effect TR_ROCKET
- trailspacing 10
- type smoke
- notunderwater
- color 0x000000 0x666666
- tex 0 8
- size 3 4
- bounce 1
- sizeincrease 11
- alpha 200 300 200
- lightradius 150
- lighttime 0
- lightcolor 6 3 1
- originjitter 2 2 2
- velocityjitter 3 3 3
- velocitymultiplier -0.02
- rotate -180 180 -30 30
- //gravity -0.11
- // fire
+       type smoke
+       alpha 200 300 200
+       bounce 1
+       color 0x000000 0x666666
+       lightcolor 6 3 1
+       lightradius 150
+       notunderwater
+       originjitter 2 2 2
+       rotate -180 180 -30 30
+       sizeincrease 11
+       size 3 4
+       tex 0 8
+       trailspacing 10
+       velocityjitter 3 3 3
+       velocitymultiplier -0.020000
  effect TR_ROCKET
- trailspacing 4
- type static
- color 0xffdf72 0x811200
- tex 48 55
- size 7 7
- sizeincrease -30
- alpha 100 144 588
- airfriction 8
- velocityjitter 32 32 32
- velocitymultiplier -1.5
- // bubbles
+       type static
+       airfriction 8
+       alpha 100 144 588
+       color 0xffdf72 0x811200
+       sizeincrease -30
+       size 7 7
+       tex 48 55
+       trailspacing 4
+       velocityjitter 32 32 32
+       velocitymultiplier -1.500000
  effect TR_ROCKET
- type bubble
- underwater
- trailspacing 16
- tex 62 62
- size 1 2
- alpha 256 256 256
- gravity -0.125
- bounce 1.5
- liquidfriction 4
- velocityjitter 16 16 16
- velocitymultiplier -0.31
- rotate 0 0 0 0
- // sparks
+       type bubble
+       alpha 256 256 256
+       bounce 1.500000
+       gravity -0.125000
+       liquidfriction 4
+       size 1 2
+       tex 62 62
+       trailspacing 16
+       underwater
+       velocityjitter 16 16 16
+       velocitymultiplier -0.310000
  effect TR_ROCKET
- notunderwater
- trailspacing 20
- type spark
- tex 40 40
- color 0xFFFDD9 0xFFFDD9
- size 0.5 0.5
- alpha 444 512 1866
- stretchfactor 0.3
- //gravity 1
- bounce 1
- //velocityoffset 0 0 15
- airfriction 5
- originjitter 1 1 1
- velocityjitter 100 100 100
- velocitymultiplier -0.31
- // rocket explosion (bigger than mortar and hagar)
+       type spark
+       airfriction 5
+       alpha 444 512 1866
+       bounce 1
+       color 0xFFFDD9 0xFFFDD9
+       notunderwater
+       originjitter 1 1 1
+       size 0.500000 0.500000
+       stretchfactor 0.300000
+       tex 40 40
+       trailspacing 20
+       velocityjitter 100 100 100
+       velocitymultiplier -0.310000
  effect rocket_explode
- countabsolute 1
- type decal
- tex 8 16
- size 72 72
- alpha 256 256 0
- originjitter 23 23 23
- lightradius 400
- lightradiusfade 750
- lightcolor 8 4 1
- // fire effect
+       type decal
+       alpha 256 256 0
+       countabsolute 1
+       lightcolor 8 4 1
+       lightradiusfade 750
+       lightradius 400
+       originjitter 23 23 23
+       size 72 72
+       tex 8 16
  effect rocket_explode
- notunderwater
- count 32
- type static
- tex 48 55
- color 0x8f0d00 0xff5a00
- size 33 44
- sizeincrease 45
- alpha 200 256 512
- bounce 1.5
- airfriction 8
- liquidfriction 8
- originjitter 8 8 8
- velocityjitter 512 512 512
- // fire effect 2
+       type static
+       airfriction 8
+       alpha 200 256 512
+       bounce 1.500000
+       color 0x8f0d00 0xff5a00
+       count 32
+       liquidfriction 8
+       notunderwater
+       originjitter 8 8 8
+       sizeincrease 45
+       size 33 44
+       tex 48 55
+       velocityjitter 512 512 512
  effect rocket_explode
- notunderwater
- count 14
- type smoke
- tex 48 55
- color 0xea691b 0xeed05a
- size 33 44
- sizeincrease 55
- alpha 200 256 612
- bounce 2.5
- airfriction 19
- liquidfriction 19
- originjitter 8 8 8
- velocityjitter 912 912 912
- // smoke
+       type smoke
+       airfriction 19
+       alpha 200 256 612
+       bounce 2.500000
+       color 0xea691b 0xeed05a
+       count 14
+       liquidfriction 19
+       notunderwater
+       originjitter 8 8 8
+       sizeincrease 55
+       size 33 44
+       tex 48 55
+       velocityjitter 912 912 912
  effect rocket_explode
- type alphastatic
- notunderwater
- tex 0 8
- count 32
- size 20 40
- sizeincrease 44
- alpha 200 450 456
- velocityjitter 444 444 444
- airfriction 5
- color 0x000000 0x111111
- bounce 2
- // underwater bubbles
+       type alphastatic
+       airfriction 5
+       alpha 200 450 456
+       bounce 2
+       color 0x000000 0x111111
+       count 32
+       notunderwater
+       sizeincrease 44
+       size 20 40
+       tex 0 8
+       velocityjitter 444 444 444
  effect rocket_explode
- underwater
- count 32
- type bubble
- tex 62 62
- color 0x404040 0x808080
- size 3 3
- alpha 128 256 64
- gravity -0.125
- bounce 1.5
- liquidfriction 0.25
- originjitter 16 16 16
- velocityjitter 144 144 144
- // underwatershockwave
+       type bubble
+       alpha 128 256 64
+       bounce 1.500000
+       color 0x404040 0x808080
+       count 32
+       gravity -0.125000
+       liquidfriction 0.250000
+       originjitter 16 16 16
+       size 3 3
+       tex 62 62
+       underwater
+       velocityjitter 144 144 144
  effect rocket_explode
- underwater
- type smoke
- countabsolute 1
- tex 33 33
- size 30 30
- sizeincrease 1900
- alpha 40 40 300
- velocitymultiplier 0.3
- // bouncing sparks
+       type smoke
+       alpha 40 40 300
+       countabsolute 1
+       sizeincrease 1900
+       size 30 30
+       tex 33 33
+       underwater
+       velocitymultiplier 0.300000
  effect rocket_explode
- notunderwater
- count 16
- type spark
- tex 40 40
- color 0xffa35b 0xfff2be
- size 1 0.1
- alpha 644 956 484
- gravity 1
- airfriction 1
- bounce 1.6
- liquidfriction 0.8
- velocityoffset 0 0 80
- originjitter 16 16 16
- velocityjitter 424 424 624
- // debris
+       type spark
+       airfriction 1
+       alpha 644 956 484
+       bounce 1.600000
+       color 0xffa35b 0xfff2be
+       count 16
+       gravity 1
+       liquidfriction 0.800000
+       notunderwater
+       originjitter 16 16 16
+       size 1 0.100000
+       tex 40 40
+       velocityjitter 424 424 624
+       velocityoffset 0 0 80
  effect rocket_explode
- notunderwater
- count 12
- type alphastatic
- tex 66 68
- color 0x6a3d25 0xcac5b4
- size 2 6
- alpha 644 956 684
- gravity 1.3
- airfriction 0.5
- bounce 1.6
- velocityjitter 324 324 524
- rotate -180 180 -1000 1000
- // used in qcsrc/server/g_hook.qc:    pointparticles(particleeffectnum("grapple_muzzleflash"), org, '0 0 0', 1)
+       type alphastatic
+       airfriction 0.500000
+       alpha 644 956 684
+       bounce 1.600000
+       color 0x6a3d25 0xcac5b4
+       count 12
+       gravity 1.300000
+       notunderwater
+       rotate -180 180 -1000 1000
+       size 2 6
+       tex 66 68
+       velocityjitter 324 324 524
  effect grapple_muzzleflash
- lightradius 160
- lightradiusfade 800
- lightcolor 1 0 0
- // used in qcsrc/server/g_hook.qc:    pointparticles(particleeffectnum("grapple_impact"), self.origin, '0 0 0', 1)
+       lightcolor 1 0 0
+       lightradiusfade 800
+       lightradius 160
  effect grapple_impact
- lightradius 160
- lightradiusfade 800
- lightcolor 1 0 0
- // used nowhere in code
+       lightcolor 1 0 0
+       lightradiusfade 800
+       lightradius 160
  effect nex242_misc_laser_beam
- countabsolute 1
- type beam
- tex 200 200
- size 1 1
- alpha 256 256 64
- color 0xff0000 0xff0000
- sizeincrease 1
- // used nowhere in code
+       type beam
+       alpha 256 256 64
+       color 0xff0000 0xff0000
+       countabsolute 1
+       sizeincrease 1
+       size 1 1
+       tex 200 200
  effect nex242_misc_laser_beam_end
- count 0.5
- type spark
- color 0x8f4333 0xfff31b
- size 0.4 0.4
- alpha 128 256 768
- gravity 1
- bounce -1
- velocityjitter 64 64 64
- velocitymultiplier 100
- // used nowhere in code
+       type spark
+       alpha 128 256 768
+       bounce -1
+       color 0x8f4333 0xfff31b
+       count 0.500000
+       gravity 1
+       size 0.400000 0.400000
+       velocityjitter 64 64 64
+       velocitymultiplier 100
  effect nex242_misc_laser_beam_fast
- countabsolute 1
- type beam
- tex 200 200
- size 1 1
- alpha 256 256 640
- color 0xff0000 0xff0000
- sizeincrease 0.1
- // used nowhere in code
+       type beam
+       alpha 256 256 640
+       color 0xff0000 0xff0000
+       countabsolute 1
+       sizeincrease 0.100000
+       size 1 1
+       tex 200 200
  effect nex242_misc_laser_beam_fast_end
- count 0.5
- type spark
- color 0x8f4333 0xfff31b
- size 0.4 0.4
- alpha 128 256 768
- gravity 1
- bounce -1
- velocityjitter 64 64 64
- velocitymultiplier 100
- // additional laser colors (mike)
- // used nowhere in code
+       type spark
+       alpha 128 256 768
+       bounce -1
+       color 0x8f4333 0xfff31b
+       count 0.500000
+       gravity 1
+       size 0.400000 0.400000
+       velocityjitter 64 64 64
+       velocitymultiplier 100
  effect nex242_misc_laser_green_beam
- countabsolute 1
- type beam
- tex 200 200
- size 1 1
- alpha 256 256 64
- color 0x00ff00 0x00ff00
- sizeincrease 1
- // used nowhere in code
+       type beam
+       alpha 256 256 64
+       color 0x00ff00 0x00ff00
+       countabsolute 1
+       sizeincrease 1
+       size 1 1
+       tex 200 200
  effect nex242_misc_laser_green_beam_end
- count 0.5
- type spark
- color 0x8f4333 0xfff31b
- size 0.4 0.4
- alpha 128 256 768
- gravity 1
- bounce -1
- velocityjitter 64 64 64
- velocitymultiplier 100
- // used nowhere in code
+       type spark
+       alpha 128 256 768
+       bounce -1
+       color 0x8f4333 0xfff31b
+       count 0.500000
+       gravity 1
+       size 0.400000 0.400000
+       velocityjitter 64 64 64
+       velocitymultiplier 100
  effect nex242_misc_laser_blue_beam
- countabsolute 1
- type beam
- tex 200 200
- size 1 1
- alpha 256 256 64
- color 0x0000ff 0x0000ff
- sizeincrease 1
- // used nowhere in code
+       type beam
+       alpha 256 256 64
+       color 0x0000ff 0x0000ff
+       countabsolute 1
+       sizeincrease 1
+       size 1 1
+       tex 200 200
  effect nex242_misc_laser_blue_beam_end
- count 0.5
- type spark
- color 0x8f4333 0xfff31b
- size 0.4 0.4
- alpha 128 256 768
- gravity 1
- bounce -1
- velocityjitter 64 64 64
- velocitymultiplier 100
- // used nowhere in code
+       type spark
+       alpha 128 256 768
+       bounce -1
+       color 0x8f4333 0xfff31b
+       count 0.500000
+       gravity 1
+       size 0.400000 0.400000
+       velocityjitter 64 64 64
+       velocitymultiplier 100
  effect nex242_misc_laser_yellow_beam
- countabsolute 1
- type beam
- tex 200 200
- size 1 1
- alpha 256 256 64
- color 0xffff00 0xffff00
- sizeincrease 1
- // used nowhere in code
+       type beam
+       alpha 256 256 64
+       color 0xffff00 0xffff00
+       countabsolute 1
+       sizeincrease 1
+       size 1 1
+       tex 200 200
  effect nex242_misc_laser_yellow_beam_end
- count 0.5
- type spark
- color 0x8f4333 0xfff31b
- size 0.4 0.4
- alpha 128 256 768
- gravity 1
- bounce -1
- velocityjitter 64 64 64
- velocitymultiplier 100
- // used nowhere in code
+       type spark
+       alpha 128 256 768
+       bounce -1
+       color 0x8f4333 0xfff31b
+       count 0.500000
+       gravity 1
+       size 0.400000 0.400000
+       velocityjitter 64 64 64
+       velocitymultiplier 100
  effect nex242_misc_laser_cyan_beam
- countabsolute 1
- type beam
- tex 200 200
- size 1 1
- alpha 256 256 64
- color 0x00ffff 0x00ffff
- sizeincrease 1
- // used nowhere in code
+       type beam
+       alpha 256 256 64
+       color 0x00ffff 0x00ffff
+       countabsolute 1
+       sizeincrease 1
+       size 1 1
+       tex 200 200
  effect nex242_misc_laser_cyan_beam_end
- count 0.5
- type spark
- color 0x8f4333 0xfff31b
- size 0.4 0.4
- alpha 128 256 768
- gravity 1
- bounce -1
- velocityjitter 64 64 64
- velocitymultiplier 100
- // used nowhere in code
+       type spark
+       alpha 128 256 768
+       bounce -1
+       color 0x8f4333 0xfff31b
+       count 0.500000
+       gravity 1
+       size 0.400000 0.400000
+       velocityjitter 64 64 64
+       velocitymultiplier 100
  effect nex242_misc_laser_magenta_beam
- countabsolute 1
- type beam
- tex 200 200
- size 1 1
- alpha 256 256 64
- color 0xff00ff 0xff00ff
- sizeincrease 1
- // used nowhere in code
+       type beam
+       alpha 256 256 64
+       color 0xff00ff 0xff00ff
+       countabsolute 1
+       sizeincrease 1
+       size 1 1
+       tex 200 200
  effect nex242_misc_laser_magenta_beam_end
- count 0.5
- type spark
- color 0x8f4333 0xfff31b
- size 0.4 0.4
- alpha 128 256 768
- gravity 1
- bounce -1
- velocityjitter 64 64 64
- velocitymultiplier 100
- // used nowhere in code
+       type spark
+       alpha 128 256 768
+       bounce -1
+       color 0x8f4333 0xfff31b
+       count 0.500000
+       gravity 1
+       size 0.400000 0.400000
+       velocityjitter 64 64 64
+       velocitymultiplier 100
  effect nex242_misc_laser_white_beam
- countabsolute 1
- type beam
- tex 200 200
- size 1 1
- alpha 256 256 64
- color 0xffffff 0xffffff
- sizeincrease 1
- // used nowhere in code
+       type beam
+       alpha 256 256 64
+       color 0xffffff 0xffffff
+       countabsolute 1
+       sizeincrease 1
+       size 1 1
+       tex 200 200
  effect nex242_misc_laser_white_beam_end
- count 0.5
- type spark
- color 0x8f4333 0xfff31b
- size 0.4 0.4
- alpha 128 256 768
- gravity 1
- bounce -1
- velocityjitter 64 64 64
- velocitymultiplier 100
- // used nowhere in code
+       type spark
+       alpha 128 256 768
+       bounce -1
+       color 0x8f4333 0xfff31b
+       count 0.500000
+       gravity 1
+       size 0.400000 0.400000
+       velocityjitter 64 64 64
+       velocitymultiplier 100
  effect nex242_misc_laser_black_beam
- countabsolute 1
- type beam
- tex 200 200
- size 1 1
- alpha 256 256 64
- color 0x000000 0x000000
- sizeincrease 1
- // used nowhere in code
+       type beam
+       alpha 256 256 64
+       color 0x000000 0x000000
+       countabsolute 1
+       sizeincrease 1
+       size 1 1
+       tex 200 200
  effect nex242_misc_laser_black_beam_end
- count 0.5
- type spark
- color 0x8f4333 0xfff31b
- size 0.4 0.4
- alpha 128 256 768
- gravity 1
- bounce -1
- velocityjitter 64 64 64
- velocitymultiplier 100
- // used nowhere in code
+       type spark
+       alpha 128 256 768
+       bounce -1
+       color 0x8f4333 0xfff31b
+       count 0.500000
+       gravity 1
+       size 0.400000 0.400000
+       velocityjitter 64 64 64
+       velocitymultiplier 100
  effect nex242_misc_laser_orange_beam
- countabsolute 1
- type beam
- tex 200 200
- size 1 1
- alpha 256 256 64
- color 0xff6600 0xff6600
- sizeincrease 1
- // used nowhere in code
+       type beam
+       alpha 256 256 64
+       color 0xff6600 0xff6600
+       countabsolute 1
+       sizeincrease 1
+       size 1 1
+       tex 200 200
  effect nex242_misc_laser_orange_beam_end
- count 0.5
- type spark
- color 0x8f4333 0xfff31b
- size 0.4 0.4
- alpha 128 256 768
- gravity 1
- bounce -1
- velocityjitter 64 64 64
- velocitymultiplier 100
- // bigger crylink impact effect
- // decal
- // used in qcsrc/client/damage.qc:                                    pointparticles(particleeffectnum("crylink_impactbig"), org2, '0 0 0', 1)
+       type spark
+       alpha 128 256 768
+       bounce -1
+       color 0x8f4333 0xfff31b
+       count 0.500000
+       gravity 1
+       size 0.400000 0.400000
+       velocityjitter 64 64 64
+       velocitymultiplier 100
  effect crylink_impactbig
- countabsolute 1
- type decal
- tex 47 47
- size 24 24
- alpha 256 256 0
- originjitter 12 12 12
- //lightradius 200
- //lightradiusfade 800
- //lightcolor 3.2 0.4 4
- // purple flare effect
+       type decal
+       alpha 256 256 0
+       countabsolute 1
+       originjitter 12 12 12
+       size 24 24
+       tex 47 47
  effect crylink_impactbig
- countabsolute 1
- type static
- tex 39 39
- color 0x504060 0x504060
- size 24 24
- alpha 256 256 512
- // purple sparks
+       type static
+       alpha 256 256 512
+       color 0x504060 0x504060
+       countabsolute 1
+       size 24 24
+       tex 39 39
  effect crylink_impactbig
- count 40
- type spark
- tex 41 41
- color 0xA040C0 0xA040C0
- bounce 2
- size 6 6
- alpha 256 256 1024
- velocityjitter 512 512 512
- // purple splash
+       type spark
+       alpha 256 256 1024
+       bounce 2
+       color 0xA040C0 0xA040C0
+       count 40
+       size 6 6
+       tex 41 41
+       velocityjitter 512 512 512
  effect crylink_impactbig
- count 1.5
- type static
- color 0xE070FF 0xE070FF
- size 16 16
- alpha 256 256 512
- velocityjitter 32 32 32
- // purple splash
+       type static
+       alpha 256 256 512
+       color 0xE070FF 0xE070FF
+       count 1.500000
+       size 16 16
+       velocityjitter 32 32 32
  effect crylink_impactbig
- count 3
- type static
- color 0xE070FF 0xE070FF
- size 16 16
- alpha 256 256 1024
- velocityjitter 256 256 256
- // Zero-violence effects
- // impact effect indicating damage
- // used in qcsrc/client/gibs.qc:                      pointparticles(particleeffectnum("damage_hit"), org, vel, amount * 16)
+       type static
+       alpha 256 256 1024
+       color 0xE070FF 0xE070FF
+       count 3
+       size 16 16
+       velocityjitter 256 256 256
  effect damage_hit
- tex 48 55
count 0.5
- type alphastatic
- color 0x00FFFF 0xFF00FF
- size 16 16
- sizeincrease -24
- alpha 128 128 192
- gravity -0.4
- bounce 1.5
- airfriction 5
- liquidfriction 10
- velocityjitter 256 256 256
+       type alphastatic
      airfriction 5
+       alpha 128 128 192
+       bounce 1.500000
+       color 0x00FFFF 0xFF00FF
+       count 0.500000
+       gravity -0.400000
+       liquidfriction 10
+       sizeincrease -24
+       size 16 16
+       tex 48 55
      velocityjitter 256 256 256
  effect damage_hit
- tex 48 55
count 0.5
- type alphastatic
color 0xFF00FF 0xFFFF00
- size 16 16
- sizeincrease -24
- alpha 128 128 192
- gravity -0.4
- bounce 1.5
- airfriction 5
- liquidfriction 10
- velocityjitter 256 256 256
+       type alphastatic
      airfriction 5
+       alpha 128 128 192
      bounce 1.500000
+       color 0xFF00FF 0xFFFF00
+       count 0.500000
+       gravity -0.400000
+       liquidfriction 10
+       sizeincrease -24
+       size 16 16
+       tex 48 55
      velocityjitter 256 256 256
  effect damage_hit
- tex 48 55
- count 0.5
- type alphastatic
- color 0xFFFF00 0x00FFFF
- size 16 16
- sizeincrease -24
- alpha 128 128 192
- gravity -0.4
- bounce 1.5
- airfriction 5
- liquidfriction 10
- velocityjitter 256 256 256
- // effect for removing player model
- // "teleport"
- // NOTE: maintained by div0, make your own new effect instead of changing this one without asking!
- // large sparks
- // used in qcsrc/client/gibs.qc:                      pointparticles(particleeffectnum("damage_dissolve"), org, vel, amount)
+       type alphastatic
+       airfriction 5
+       alpha 128 128 192
+       bounce 1.500000
+       color 0xFFFF00 0x00FFFF
+       count 0.500000
+       gravity -0.400000
+       liquidfriction 10
+       sizeincrease -24
+       size 16 16
+       tex 48 55
+       velocityjitter 256 256 256
  effect damage_dissolve
- tex 48 55
- count 15
- type alphastatic
- color 0x00FFFF 0xFF00FF
- size 32 32
- sizeincrease -16
- alpha 256 256 128
- gravity -0.4
- bounce 1.5
- airfriction 3
- liquidfriction 6
- velocityjitter 512 512 512
+       type alphastatic
+       airfriction 3
+       alpha 256 256 128
+       bounce 1.500000
+       color 0x00FFFF 0xFF00FF
+       count 15
+       gravity -0.400000
+       liquidfriction 6
+       sizeincrease -16
+       size 32 32
+       tex 48 55
      velocityjitter 512 512 512
  effect damage_dissolve
- tex 48 55
- count 15
- type alphastatic
color 0xFF00FF 0xFFFF00
- size 32 32
- sizeincrease -16
- alpha 256 256 128
- gravity -0.4
- bounce 1.5
- airfriction 3
- liquidfriction 6
- velocityjitter 512 512 512
+       type alphastatic
+       airfriction 3
+       alpha 256 256 128
      bounce 1.500000
+       color 0xFF00FF 0xFFFF00
+       count 15
+       gravity -0.400000
+       liquidfriction 6
+       sizeincrease -16
+       size 32 32
+       tex 48 55
      velocityjitter 512 512 512
  effect damage_dissolve
- tex 48 55
- count 15
- type alphastatic
- color 0xFFFF00 0x00FFFF
- size 32 32
- sizeincrease -16
- alpha 256 256 128
- gravity -0.4
- bounce 1.5
- airfriction 3
- liquidfriction 6
- velocityjitter 512 512 512
- // decal
- // used in qcsrc/server/g_triggers.qc:                                        self.cnt = particleeffectnum("laser_deadly")
- // used in qcsrc/server/g_triggers.qc:                        self.cnt = particleeffectnum("laser_deadly")
+       type alphastatic
+       airfriction 3
+       alpha 256 256 128
+       bounce 1.500000
+       color 0xFFFF00 0x00FFFF
+       count 15
+       gravity -0.400000
+       liquidfriction 6
+       sizeincrease -16
+       size 32 32
+       tex 48 55
+       velocityjitter 512 512 512
  effect laser_deadly
- countabsolute 1
- type decal
- tex 56 59
- size 5 5
- alpha 256 256 0
- originjitter 6 6 6
- // dust/smoke drifting away from the impact
+       type decal
+       alpha 256 256 0
+       countabsolute 1
+       originjitter 6 6 6
+       size 5 5
+       tex 56 59
  effect laser_deadly
- count 0.025
- type smoke
- tex 48 55
- color 0xFFFFFF 0xFFFFFF
- size 3 3
- alpha 0 64 64
- originjitter 1 1 1
- airfriction 7
- liquidfriction 16
- velocityjitter 15 15 15
- sizeincrease 2
- velocitymultiplier 20
- // sparks
+       type smoke
+       airfriction 7
+       alpha 0 64 64
+       color 0xFFFFFF 0xFFFFFF
+       count 0.025000
+       liquidfriction 16
+       originjitter 1 1 1
+       sizeincrease 2
+       size 3 3
+       tex 48 55
+       velocityjitter 15 15 15
+       velocitymultiplier 20
  effect laser_deadly
- notunderwater
- count 0.025
- type spark
- tex 40 40
- color 0xFDFFD9 0xFDFFD9
- size 0.6 0.6
- alpha 256 256 768
- gravity 1
- bounce 1
- airfriction 5
- originjitter 1 1 1
- velocityjitter 100 100 100
- velocitymultiplier 100
- //torch
- //fire
- // used nowhere in code
+       type spark
+       airfriction 5
+       alpha 256 256 768
+       bounce 1
+       color 0xFDFFD9 0xFDFFD9
+       count 0.025000
+       gravity 1
+       notunderwater
+       originjitter 1 1 1
+       size 0.600000 0.600000
+       tex 40 40
+       velocityjitter 100 100 100
+       velocitymultiplier 100
  effect torch_small
- //notunderwater
- count 8
- type smoke
- tex 48 55
- size 1 11
- alpha 200 256 512
- gravity -0.5
- color 0x8f0d00 0xff5a00
- //bounce 1
- sizeincrease -1
- originjitter 5 5 5
- velocityjitter 1 1 50
- // smoke
+       type smoke
+       alpha 200 256 512
+       color 0x8f0d00 0xff5a00
+       count 8
+       gravity -0.500000
+       originjitter 5 5 5
+       sizeincrease -1
+       size 1 11
+       tex 48 55
+       velocityjitter 1 1 50
  effect torch_small
- type alphastatic
- count 4
- tex 0 8
- size 5 10
- sizeincrease 5
- alpha 200 256 200
- color 0x000000 0x111111
- gravity -0.3
- originjitter 3 3 3
- velocityjitter 11 11 50
- //bounce 1
- //fountain01
- // used nowhere in code
+       type alphastatic
+       alpha 200 256 200
+       color 0x000000 0x111111
+       count 4
+       gravity -0.300000
+       originjitter 3 3 3
+       sizeincrease 5
+       size 5 10
+       tex 0 8
+       velocityjitter 11 11 50
  effect fountain01
- count 16
- tex 0 8
- size 10 15
- alpha 0 100 100
- gravity 0.6
- bounce 1
- sizeincrease 20
- type snow
- bounce 1
- originjitter 5 5 5
- velocityjitter 81 81 150
- color 0x7cbaff 0xcfd1ff
- velocitymultiplier 2
- // decal
- // used in qcsrc/client/damage.qc:                            pointparticles(particleeffectnum("hookbomb_explode"), org2, '0 0 0', 1)
+       type snow
+       alpha 0 100 100
+       bounce 1
+       color 0x7cbaff 0xcfd1ff
+       count 16
+       gravity 0.600000
+       originjitter 5 5 5
+       sizeincrease 20
+       size 10 15
+       tex 0 8
+       velocityjitter 81 81 150
+       velocitymultiplier 2
  effect hookbomb_explode
- count 25
- type static
- tex 38 38
- color 0x807aff 0x4463d5
- size 150 200
- sizeincrease -160
- alpha 0 256 200
- //gravity 1
- bounce 1.5
- originjitter 10 10 10
- velocityjitter 550 550 550
- //velocitymultiplier -20
- airfriction 10
- // decal in the air
+       type static
+       airfriction 10
+       alpha 0 256 200
+       bounce 1.500000
+       color 0x807aff 0x4463d5
+       count 25
+       originjitter 10 10 10
+       sizeincrease -160
+       size 150 200
+       tex 38 38
+       velocityjitter 550 550 550
  effect hookbomb_explode
- countabsolute 3
- type static
- tex 38 38
- color 0x807aff 0x4463d5
- size 160 200
- alpha 256 265 100
- sizeincrease -60
- originoffset 0 0 6
- // decal on the ground
+       type static
+       alpha 256 265 100
+       color 0x807aff 0x4463d5
+       countabsolute 3
+       originoffset 0 0 6
+       sizeincrease -60
+       size 160 200
+       tex 38 38
  effect hookbomb_explode
- countabsolute 1
- type decal
- tex 39 39
- size 80 100
- alpha 256 256 0
- originjitter 6 6 6
- // some sparks
+       type decal
+       alpha 256 256 0
+       countabsolute 1
+       originjitter 6 6 6
+       size 80 100
+       tex 39 39
  effect hookbomb_explode
- count 30
- type spark
- tex 38 38
- color 0x807aff 0x4463d5
- size 20 30
- alpha 256 256 456
- sizeincrease -60
- gravity 1
- bounce 1.5
- originjitter 1 1 1
- velocityjitter 1900 1900 1300
- velocitymultiplier 0.5
- airfriction 2
- // smoke
+       type spark
+       airfriction 2
+       alpha 256 256 456
+       bounce 1.500000
+       color 0x807aff 0x4463d5
+       count 30
+       gravity 1
+       originjitter 1 1 1
+       sizeincrease -60
+       size 20 30
+       tex 38 38
+       velocityjitter 1900 1900 1300
+       velocitymultiplier 0.500000
  effect EF_MGTURRETTRAIL
- notunderwater
- trailspacing 10
- type smoke
- color 0xd0d0a0 0xffffff
- tex 0 8
- size 5 4
- alpha 128 196 768
- sizeincrease -8
- gravity -0.01
- // bubbles
+       type smoke
+       alpha 128 196 768
+       color 0xd0d0a0 0xffffff
+       gravity -0.010000
+       notunderwater
+       sizeincrease -8
+       size 5 4
+       tex 0 8
+       trailspacing 10
  effect EF_MGTURRETTRAIL
- underwater
- trailspacing 32
- type bubble
- tex 62 62
- color 0x404040 0x808080
- size 1 1
- alpha 256 256 256
- gravity -0.125
- bounce 1.5
- liquidfriction 4
- velocityjitter 16 16 16
- //fire_big
- //fire
- // used nowhere in code
+       type bubble
+       alpha 256 256 256
+       bounce 1.500000
+       color 0x404040 0x808080
+       gravity -0.125000
+       liquidfriction 4
+       size 1 1
+       tex 62 62
+       trailspacing 32
+       underwater
+       velocityjitter 16 16 16
  effect fire_big
- //notunderwater
- count 26
- type smoke
- tex 48 55
- size 11 31
- alpha 200 356 512
- gravity -0.5
- color 0x8f0d00 0xff5a00
- bounce 2
- sizeincrease -3
- originjitter 33 33 33
- velocityjitter 22 22 50
- // smoke
+       type smoke
+       alpha 200 356 512
+       bounce 2
+       color 0x8f0d00 0xff5a00
+       count 26
+       gravity -0.500000
+       originjitter 33 33 33
+       sizeincrease -3
+       size 11 31
+       tex 48 55
+       velocityjitter 22 22 50
  effect fire_big
- type alphastatic
- count 11
- tex 0 8
- size 22 33
- sizeincrease 11
- alpha 200 256 200
- color 0x000000 0x111111
- gravity -0.3
- originjitter 44 44 44
- velocityjitter 11 11 50
- bounce 2
- //red_flare
- //smoke
- // used nowhere in code
+       type alphastatic
+       alpha 200 256 200
+       bounce 2
+       color 0x000000 0x111111
+       count 11
+       gravity -0.300000
+       originjitter 44 44 44
+       sizeincrease 11
+       size 22 33
+       tex 0 8
+       velocityjitter 11 11 50
  effect red_flare
- type alphastatic
- count 10.5
- tex 0 8
- size 1 11
- sizeincrease 11
- alpha 200 256 160
- color 0xff0000 0xdc7171
- gravity -0.24
- originjitter 2 2 0
- velocityjitter 15 15 30
- bounce 1
- //blue_flare
- //smoke
- // used nowhere in code
+       type alphastatic
+       alpha 200 256 160
+       bounce 1
+       color 0xff0000 0xdc7171
+       count 10.500000
+       gravity -0.240000
+       originjitter 2 2 0
+       sizeincrease 11
+       size 1 11
+       tex 0 8
+       velocityjitter 15 15 30
  effect blue_flare
- type alphastatic
- count 10.5
- tex 0 8
- size 1 11
- sizeincrease 11
- alpha 200 256 160
- color 0x0000ff 0x7194dc
- gravity -0.24
- originjitter 2 2 0
- velocityjitter 15 15 30
- bounce 1
- //smoke_ring
- //smoke
- // used in qcsrc/server/ctf.qc:               pointparticles(particleeffectnum("smoke_ring"), 0.5 * (self.absmin + self.absmax), '0 0 0', 1);
+       type alphastatic
+       alpha 200 256 160
+       bounce 1
+       color 0x0000ff 0x7194dc
+       count 10.500000
+       gravity -0.240000
+       originjitter 2 2 0
+       sizeincrease 11
+       size 1 11
+       tex 0 8
+       velocityjitter 15 15 30
  effect smoke_ring
- type smoke
- count 45
- tex 0 8
- size 1 11
- sizeincrease 21
- gravity 0.1
- airfriction 3
- alpha 100 156 200
- color 0x111111 0x979797
- //originjitter 2 2 0
- velocityjitter 190 190 50
- bounce 1.1
- notunderwater
- //smoke_large
- //smoke
- // used nowhere in code
+       type smoke
+       airfriction 3
+       alpha 100 156 200
+       bounce 1.100000
+       color 0x111111 0x979797
+       count 45
+       gravity 0.100000
+       notunderwater
+       sizeincrease 21
+       size 1 11
+       tex 0 8
+       velocityjitter 190 190 50
  effect smoke_large
- type alphastatic
- count 25
- tex 0 8
- size 11 21
- sizeincrease 21
- gravity -0.15
- airfriction 7
- alpha 140 256 190
- color 0x9e895f 0xffd39b
- //originjitter 2 2 0
- velocityjitter 390 390 390
- bounce 1.1
- notunderwater
- //sparks
- // used nowhere in code
+       type alphastatic
+       airfriction 7
+       alpha 140 256 190
+       bounce 1.100000
+       color 0x9e895f 0xffd39b
+       count 25
+       gravity -0.150000
+       notunderwater
+       sizeincrease 21
+       size 11 21
+       tex 0 8
+       velocityjitter 390 390 390
  effect sparks
- count 15
- type spark
- tex 40 40
- color 0xFFFDD9 0xFFFDD9
- size 1 3
- alpha 0 256 256
- gravity 1
- bounce 1.5
- originjitter 1 1 1
- velocityjitter 300 300 200
- velocitymultiplier 1.5
- airfriction 3
- //sparks
- // used nowhere in code
+       type spark
+       airfriction 3
+       alpha 0 256 256
+       bounce 1.500000
+       color 0xFFFDD9 0xFFFDD9
+       count 15
+       gravity 1
+       originjitter 1 1 1
+       size 1 3
+       tex 40 40
+       velocityjitter 300 300 200
+       velocitymultiplier 1.500000
  effect electricity_sparks
- count 35
- type spark
- tex 40 40
- color 0x807aff 0x4463d5
- size 1 3
- alpha 0 256 556
- gravity 1
- bounce 1.5
- originjitter 1 1 1
- velocityjitter 300 300 300
- velocitymultiplier 0.5
- airfriction 3
- //steam, it needs direction
- // used nowhere in code
+       type spark
+       airfriction 3
+       alpha 0 256 556
+       bounce 1.500000
+       color 0x807aff 0x4463d5
+       count 35
+       gravity 1
+       originjitter 1 1 1
+       size 1 3
+       tex 40 40
+       velocityjitter 300 300 300
+       velocitymultiplier 0.500000
  effect steam
- type smoke
- count 1
- tex 0 8
- size 1 3
- sizeincrease 7
- gravity -0.25
- velocitymultiplier 14
- airfriction 5
- alpha 140 256 190
- color 0xfffbdf 0xffffff
- //originjitter 2 2 0
- velocityjitter 19 19 19
- bounce 1.1
- notunderwater
- // smoke emiter
- // used nowhere in code
+       type smoke
+       airfriction 5
+       alpha 140 256 190
+       bounce 1.100000
+       color 0xfffbdf 0xffffff
+       count 1
+       gravity -0.250000
+       notunderwater
+       sizeincrease 7
+       size 1 3
+       tex 0 8
+       velocityjitter 19 19 19
+       velocitymultiplier 14
  effect smoking
- count 10
- type alphastatic
- tex 0 8
- color 0x292929 0x000000
- size 10 40
- sizeincrease 5
- alpha 100 256 100
- gravity -0.1
- bounce 1.5
- originjitter 10 10 10
- velocityjitter 5 5 20
- //velocitymultiplier -20
- airfriction -1
- //golden dust (create it once per second to cover large area in small yellow particles)
- // used nowhere in code
+       type alphastatic
+       airfriction -1
+       alpha 100 256 100
+       bounce 1.500000
+       color 0x292929 0x000000
+       count 10
+       gravity -0.100000
+       originjitter 10 10 10
+       sizeincrease 5
+       size 10 40
+       tex 0 8
+       velocityjitter 5 5 20
  effect goldendust
- count 25
- type snow
- tex 38 38
- color 0xff9600 0xffefb8
- size 2 3
- sizeincrease -0.3
- alpha 256 256 70
- //gravity -0.1
- bounce 1.5
- originjitter 500 500 500
- velocityjitter 0.1 0.1 0.1
- //velocitymultiplier -20
- //airfriction -0.1
- // used nowhere in code
+       type snow
+       alpha 256 256 70
+       bounce 1.500000
+       color 0xff9600 0xffefb8
+       count 25
+       originjitter 500 500 500
+       sizeincrease -0.300000
+       size 2 3
+       tex 38 38
+       velocityjitter 0.1 0.1 0.1
  effect healing_fx
- count 25
- type spark
- tex 40 40
- color 0xff0000 0xff0000
- size 1 3
- sizeincrease -0.05
- alpha 256 256 170
- gravity -0.1
- bounce 1.5
- originjitter 5 5 100
- velocityjitter 50 50 0
- //velocitymultiplier 20
- airfriction -0.5
- // used nowhere in code
+       type spark
+       airfriction -0.500000
+       alpha 256 256 170
+       bounce 1.500000
+       color 0xff0000 0xff0000
+       count 25
+       gravity -0.100000
+       originjitter 5 5 100
+       sizeincrease -0.050000
+       size 1 3
+       tex 40 40
+       velocityjitter 50 50 0
  effect armorrepair_fx
- count 25
- type spark
- tex 40 40
- color 0x00ff00 0x00ff00
- size 1 3
- sizeincrease -0.05
- alpha 256 256 170
- gravity -0.1
- bounce 1.5
- originjitter 5 5 50
- velocityjitter 50 50 0
- //velocitymultiplier 20
- airfriction -0.5
- // used nowhere in code
+       type spark
+       airfriction -0.500000
+       alpha 256 256 170
+       bounce 1.500000
+       color 0x00ff00 0x00ff00
+       count 25
+       gravity -0.100000
+       originjitter 5 5 50
+       sizeincrease -0.050000
+       size 1 3
+       tex 40 40
+       velocityjitter 50 50 0
  effect ammoregen_fx
- count 25
- type spark
- tex 40 40
- color 0x0000ff 0x0000ff
- size 1 3
- sizeincrease -0.05
- alpha 256 256 170
- gravity -0.1
- bounce 1.5
- originjitter 5 5 50
- velocityjitter 50 50 0
- //velocitymultiplier 20
- airfriction -0.5
- // red-yellow flame like fx
- // used nowhere in code
+       type spark
+       airfriction -0.500000
+       alpha 256 256 170
+       bounce 1.500000
+       color 0x0000ff 0x0000ff
+       count 25
+       gravity -0.100000
+       originjitter 5 5 50
+       sizeincrease -0.050000
+       size 1 3
+       tex 40 40
+       velocityjitter 50 50 0
  effect rage
- count 2.5
- type smoke
- tex 35 36
- color 0xff0000 0xff7800
- size 1 3
- sizeincrease 10
- gravity -0.06
- alpha 256 256 190
- originjitter 5 5 5
- velocityjitter 25 25 25
- airfriction 2
- // pieces of glass or ice falling on the floor
- // used nowhere in code
+       type smoke
+       airfriction 2
+       alpha 256 256 190
+       color 0xff0000 0xff7800
+       count 2.500000
+       gravity -0.060000
+       originjitter 5 5 5
+       sizeincrease 10
+       size 1 3
+       tex 35 36
+       velocityjitter 25 25 25
  effect iceorglass
- count 15
- type alphastatic
- tex 44 44
- color 0xffffff 0xb2d3e6
- size 3 7
- //sizeincrease 10
- gravity 1.3
- alpha 256 256 0
- time 1 3
- bounce 2
- originjitter 30 30 30
- velocityjitter 100 100 100
- airfriction 3
- // cover small area in poison gas, spawn it once per second
- // used nowhere in code
+       type alphastatic
+       airfriction 3
+       alpha 256 256 0
+       bounce 2
+       color 0xffffff 0xb2d3e6
+       count 15
+       gravity 1.300000
+       originjitter 30 30 30
+       size 3 7
+       tex 44 44
+       time 1 3
+       velocityjitter 100 100 100
  effect poisonfield
- count 15
- type smoke
- tex 0 8
- color 0x00ff00 0x7db843
- size 1 1
- sizeincrease 30
-  gravity -0.01
- alpha 256 256 50
- bounce 1.5
- originjitter 333 333 50
- velocityjitter 5 5 5
- airfriction 1
- // cover small area in icy mist, spawn it once per second
- // used nowhere in code
+       type smoke
+       airfriction 1
+       alpha 256 256 50
+       bounce 1.500000
+       color 0x00ff00 0x7db843
+       count 15
+       gravity -0.010000
+       originjitter 333 333 50
+       sizeincrease 30
+       size 1 1
+       tex 0 8
+       velocityjitter 5 5 5
  effect icefield
- count 10
- type smoke
- tex 0 8
- color 0x008aff 0x75e7ff
- size 1 1
sizeincrease 10
-  gravity -0.01
alpha 256 256 50
- bounce 1.5
- originjitter 333 333 0
- velocityjitter 5 5 30
- airfriction 1
+       type smoke
+       airfriction 1
+       alpha 256 256 50
+       bounce 1.500000
+       color 0x008aff 0x75e7ff
      count 10
+       gravity -0.010000
      originjitter 333 333 0
+       sizeincrease 10
+       size 1 1
+       tex 0 8
+       velocityjitter 5 5 30
  effect icefield
- count 5
- type smoke
- tex 48 55
- size 1 1
- sizeincrease 10
- color 0x008aff 0x75e7ff
- alpha 256 256 50
- gravity -0.001
- originjitter 333 333 0
- // cover very small area in flames, spawn it 3 times per second (or more often to get better looking fire at cost of fps hit )
- // flames that go up
- // used nowhere in code
+       type smoke
+       alpha 256 256 50
+       color 0x008aff 0x75e7ff
+       count 5
+       gravity -0.001000
+       originjitter 333 333 0
+       sizeincrease 10
+       size 1 1
+       tex 48 55
  effect firefield
- count 100
- type smoke
- tex 48 55
- color 0x8f0d00 0xff5a00
- size 1 1
- sizeincrease 20
-  gravity -0.06
- alpha 50 256 200
- bounce 1.5
- originjitter 180 180 0
- velocityjitter 5 5 30
- airfriction 1
- //flames that stay on the ground
+       type smoke
+       airfriction 1
+       alpha 50 256 200
+       bounce 1.500000
+       color 0x8f0d00 0xff5a00
+       count 100
+       gravity -0.060000
+       originjitter 180 180 0
+       sizeincrease 20
+       size 1 1
+       tex 48 55
+       velocityjitter 5 5 30
  effect firefield
- count 50
- type smoke
- tex 48 55
- color 0x8f0d00 0xff5a00
- size 1 1
- sizeincrease 40
- alpha 50 256 200
- originjitter 180 180 0
- // smoke
+       type smoke
+       alpha 50 256 200
+       color 0x8f0d00 0xff5a00
+       count 50
+       originjitter 180 180 0
+       sizeincrease 40
+       size 1 1
+       tex 48 55
  effect firefield
- count 20
- type alphastatic
- tex 0 8
- size 1 1
- sizeincrease 7
- color 0x000000 0x111111
- alpha 256 256 70
- gravity -0.02
- originjitter 180 180 0
- //flamethrower, spawn it as fast as you can  20 times per second or more, it needs direction
- //fast fire
- // used nowhere in code
+       type alphastatic
+       alpha 256 256 70
+       color 0x000000 0x111111
+       count 20
+       gravity -0.020000
+       originjitter 180 180 0
+       sizeincrease 7
+       size 1 1
+       tex 0 8
  effect flamethrower
- count 3
- type smoke
- tex 48 55
- color 0x8f0d00 0xff5a00
- size 5 5
- sizeincrease 20
-  gravity -0.06
- alpha 50 256 250
- bounce 1.5
- velocityjitter 40 40 11
- velocitymultiplier 30
- airfriction 1.2
- //slowfire
+       type smoke
+       airfriction 1.200000
+       alpha 50 256 250
+       bounce 1.500000
+       color 0x8f0d00 0xff5a00
+       count 3
+       gravity -0.060000
+       sizeincrease 20
+       size 5 5
+       tex 48 55
+       velocityjitter 40 40 11
+       velocitymultiplier 30
  effect flamethrower
- count 2.5
- type smoke
- tex 48 55
- color 0x8f0d00 0xff5a00
- size 5 5
- sizeincrease 20
-  gravity -0.06
- alpha 50 256 200
- bounce 1.5
- velocityjitter 40 40 40
- velocitymultiplier 20
- airfriction 1.2
- // very slow and small fire
+       type smoke
+       airfriction 1.200000
+       alpha 50 256 200
+       bounce 1.500000
+       color 0x8f0d00 0xff5a00
+       count 2.500000
+       gravity -0.060000
+       sizeincrease 20
+       size 5 5
+       tex 48 55
+       velocityjitter 40 40 40
+       velocitymultiplier 20
  effect flamethrower
- count 1.5
- type smoke
- tex 48 55
- color 0x8f0d00 0xff5a00
- size 5 5
- sizeincrease 10
-  gravity -0.06
- alpha 50 256 200
- bounce 1.5
- velocityjitter 30 30 30
- velocitymultiplier 10
- airfriction 0.3
- //decreasing fire
+       type smoke
+       airfriction 0.300000
+       alpha 50 256 200
+       bounce 1.500000
+       color 0x8f0d00 0xff5a00
+       count 1.500000
+       gravity -0.060000
+       sizeincrease 10
+       size 5 5
+       tex 48 55
+       velocityjitter 30 30 30
+       velocitymultiplier 10
  effect flamethrower
- count 2
- type smoke
- tex 48 55
- color 0x8f0d00 0xff5a00
- size 20 30
- sizeincrease -10
-  gravity -0.06
- alpha 50 256 200
- bounce 1.5
- velocityjitter 10 10 10
- velocitymultiplier 15
- airfriction 0.3
- //smoke
+       type smoke
+       airfriction 0.300000
+       alpha 50 256 200
+       bounce 1.500000
+       color 0x8f0d00 0xff5a00
+       count 2
+       gravity -0.060000
+       sizeincrease -10
+       size 20 30
+       tex 48 55
+       velocityjitter 10 10 10
+       velocitymultiplier 15
  effect flamethrower
- count 0.5
- type alphastatic
- tex 0 8
- size 5 15
- sizeincrease 7
- color 0x000000 0x111111
- alpha 256 256 90
- //gravity -0.2
- originjitter 10 10 10
- velocitymultiplier 20
- velocityoffset 0 0 10
- airfriction 1
- // port-o-launch trail
- // glowing vapor trail
- // used in qcsrc/client/projectile.qc:                        trailparticles(self, particleeffectnum("TR_WIZSPIKE"), from, to)
- // used in qcsrc/client/projectile.qc:                        trailparticles(self, particleeffectnum("TR_WIZSPIKE"), from, to)
+       type alphastatic
+       airfriction 1
+       alpha 256 256 90
+       color 0x000000 0x111111
+       count 0.500000
+       originjitter 10 10 10
+       sizeincrease 7
+       size 5 15
+       tex 0 8
+       velocitymultiplier 20
+       velocityoffset 0 0 10
  effect TR_WIZSPIKE
- trailspacing 4
- type static
- color 0x404040 0x404040
- size 3 3
- tex 62 62
- alpha 256 256 968
- //velocityjitter 16 16 16
- lightradius 90
- lighttime 0
- lightcolor 1.5 3 6
- velocitymultiplier -0.1
- // bright sparks
+       type static
+       alpha 256 256 968
+       color 0x404040 0x404040
+       lightcolor 1.5 3 6
+       lightradius 90
+       size 3 3
+       tex 62 62
+       trailspacing 4
+       velocitymultiplier -0.100000
  effect TR_WIZSPIKE
- trailspacing 12
- count 1.5
- type snow
- tex 42 42
- color 0x404040 0x404040
- size 2 4
- sizeincrease -20
- alpha 444 512 1866
- bounce 1
- velocityoffset 0 0 15
- airfriction 12
- originjitter 1 1 1
- velocityjitter 50 50 50
- // TAG trail
- // glowing vapor trail
- // used in qcsrc/client/projectile.qc:                        trailparticles(self, particleeffectnum("TR_VORESPIKE"), from, to)
- // used in qcsrc/client/projectile.qc:                        trailparticles(self, particleeffectnum("TR_VORESPIKE"), from, to)
+       type snow
+       airfriction 12
+       alpha 444 512 1866
+       bounce 1
+       color 0x404040 0x404040
+       count 1.500000
+       originjitter 1 1 1
+       sizeincrease -20
+       size 2 4
+       tex 42 42
+       trailspacing 12
+       velocityjitter 50 50 50
+       velocityoffset 0 0 15
  effect TR_VORESPIKE
- trailspacing 4
- type static
- color 0x804000 0x804000
- size 3 3
- tex 62 62
- alpha 256 256 968
- //velocityjitter 16 16 16
- lightradius 90
- lighttime 0
- lightcolor 1.5 3 6
- velocitymultiplier -0.1
- // bright sparks
+       type static
+       alpha 256 256 968
+       color 0x804000 0x804000
+       lightcolor 1.5 3 6
+       lightradius 90
+       size 3 3
+       tex 62 62
+       trailspacing 4
+       velocitymultiplier -0.100000
  effect TR_VORESPIKE
- trailspacing 12
- count 1.5
- type snow
- tex 42 42
- color 0xff8000 0xff8000
- size 2 4
- sizeincrease -20
- alpha 444 512 1866
- bounce 1
- velocityoffset 0 0 15
- airfriction 12
- originjitter 1 1 1
- velocityjitter 50 50 50
- // used in qcsrc/client/damage.qc:                                    pointparticles(particleeffectnum("flac_explode"), org2, '0 0 0', 1)
+       type snow
+       airfriction 12
+       alpha 444 512 1866
+       bounce 1
+       color 0xff8000 0xff8000
+       count 1.500000
+       originjitter 1 1 1
+       sizeincrease -20
+       size 2 4
+       tex 42 42
+       trailspacing 12
+       velocityjitter 50 50 50
+       velocityoffset 0 0 15
  effect flac_explode
- countabsolute 1
- type decal
- tex 8 16
- size 18 28
- alpha 256 256 0
- originjitter 40 40 40
- lightradius 150
- lightradiusfade 400
- lightcolor 8 4 1
- // fire effect which make bright dot inside
+       type decal
+       alpha 256 256 0
+       countabsolute 1
+       lightcolor 8 4 1
+       lightradiusfade 400
+       lightradius 150
+       originjitter 40 40 40
+       size 18 28
+       tex 8 16
  effect flac_explode
- notunderwater
- count 3
- type smoke
- tex 48 55
- color 0xffe955 0xff5a00
- size 6 16
- sizeincrease 5
- alpha 128 256 456
- bounce 1.5
- airfriction 8
- liquidfriction 8
- originjitter 8 8 8
- velocityjitter 156 156 156
- // fire effect which expands then slows
+       type smoke
+       airfriction 8
+       alpha 128 256 456
+       bounce 1.500000
+       color 0xffe955 0xff5a00
+       count 3
+       liquidfriction 8
+       notunderwater
+       originjitter 8 8 8
+       sizeincrease 5
+       size 6 16
+       tex 48 55
+       velocityjitter 156 156 156
  effect flac_explode
- notunderwater
- count 6
- type static
- tex 48 55
- color 0x8f0d00 0xff5a00
- size 10 16
- sizeincrease 15
- alpha 128 256 456
- bounce 1.5
- airfriction 12
- liquidfriction 8
- originjitter 8 8 8
- velocityjitter 256 256 256
- // smoke
+       type static
+       airfriction 12
+       alpha 128 256 456
+       bounce 1.500000
+       color 0x8f0d00 0xff5a00
+       count 6
+       liquidfriction 8
+       notunderwater
+       originjitter 8 8 8
+       sizeincrease 15
+       size 10 16
+       tex 48 55
+       velocityjitter 256 256 256
  effect flac_explode
- type alphastatic
- notunderwater
- tex 0 8
- count 5
- size 10 20
- sizeincrease 20
- alpha 500 600 556
- velocityjitter 244 244 244
- airfriction 5
- color 0x000000 0x111111
- bounce 2
- // underwater bubbles
+       type alphastatic
+       airfriction 5
+       alpha 500 600 556
+       bounce 2
+       color 0x000000 0x111111
+       count 5
+       notunderwater
+       sizeincrease 20
+       size 10 20
+       tex 0 8
+       velocityjitter 244 244 244
  effect flac_explode
- underwater
- count 8
- type bubble
- tex 62 62
- color 0x404040 0x808080
- size 1 2
- alpha 128 256 64
- gravity -0.125
- bounce 1.5
- liquidfriction 0.25
- originjitter 16 16 16
- velocityjitter 96 96 96
- // bouncing sparks
+       type bubble
+       alpha 128 256 64
+       bounce 1.500000
+       color 0x404040 0x808080
+       count 8
+       gravity -0.125000
+       liquidfriction 0.250000
+       originjitter 16 16 16
+       size 1 2
+       tex 62 62
+       underwater
+       velocityjitter 96 96 96
  effect flac_explode
- notunderwater
- count 4
- type spark
- color 0x903010 0xFFD030
- size 2 2
- tex 40 40
- alpha 256 256 384
- gravity 1
- airfriction 0.2
- bounce 1.5
- liquidfriction 0.8
- velocityoffset 0 0 80
- velocityjitter 256 256 256
- // bullet trail (somewhat like a tracer)
- // used in qcsrc/server/w_common.qc:                          zcurveparticles_from_tracetoss(particleeffectnum("tr_bullet"), self.origin, trace_endpos, self.velocity)
- // used in qcsrc/client/projectile.qc:                        trailparticles(self, particleeffectnum("tr_bullet"), from, to)
+       type spark
+       airfriction 0.200000
+       alpha 256 256 384
+       bounce 1.500000
+       color 0x903010 0xFFD030
+       count 4
+       gravity 1
+       liquidfriction 0.800000
+       notunderwater
+       size 2 2
+       tex 40 40
+       velocityjitter 256 256 256
+       velocityoffset 0 0 80
  effect tr_bullet
- trailspacing 750
- type spark
- tex 70 70
- color 0xff8960 0xff8533
- alpha 256 256 2560
- size 4 4
- stretchfactor 0.2
- velocitymultiplier 3
- // smoke emitter for small pipes
- // used nowhere in code
+       type spark
+       alpha 256 256 2560
+       color 0xff8960 0xff8533
+       size 4 4
+       stretchfactor 0.200000
+       tex 70 70
+       trailspacing 750
+       velocitymultiplier 3
  effect smoking_smallemitter
- count 10
- type alphastatic
- tex 0 8
- color 0x292929 0x000000
- size 6 15
- sizeincrease 20
- alpha 200 256 100
- gravity -0.1
- bounce 0
- originjitter 10 10 10
- velocityjitter 5 5 20
- //velocitymultiplier -20
- airfriction -1
- // crylink trail
- // plasma smoke
- // used in qcsrc/client/projectile.qc:                        trailparticles(self, particleeffectnum("TR_CRYLINKPLASMA"), from, to)
- // used in qcsrc/client/projectile.qc:                        trailparticles(self, particleeffectnum("TR_CRYLINKPLASMA"), from, to)
+       type alphastatic
+       airfriction -1
+       alpha 200 256 100
+       color 0x292929 0x000000
+       count 10
+       gravity -0.100000
+       originjitter 10 10 10
+       sizeincrease 20
+       size 6 15
+       tex 0 8
+       velocityjitter 5 5 20
  effect TR_CRYLINKPLASMA
- trailspacing 128
- type static
- color 0x5522aa 0x6622ff
- size 2 2
- sizeincrease 8
- tex 32 32
- alpha 256 256 1024
- velocityjitter 8 8 8
- //lightradius 90
- //lighttime 0
- //lightcolor 1 0 1
- velocitymultiplier -0.01
- // crylink main trail
+       type static
+       alpha 256 256 1024
+       color 0x5522aa 0x6622ff
+       sizeincrease 8
+       size 2 2
+       tex 32 32
+       trailspacing 128
+       velocityjitter 8 8 8
+       velocitymultiplier -0.010000
  effect TR_CRYLINKPLASMA
- trailspacing 16
- type static
- color 0x5522aa 0x6622ff
- size 3 3
- sizeincrease 15
- tex 3 3
- alpha 256 256 2600
- velocityjitter 2 2 2
- velocitymultiplier 0.01
+       type static
+       alpha 256 256 2600
+       color 0x5522aa 0x6622ff
+       sizeincrease 15
+       size 3 3
+       tex 3 3
+       trailspacing 16
+       velocityjitter 2 2 2
+       velocitymultiplier 0.010000
  effect cherryblossom
- count 1.5
- type static
- color 0xb123ff 0xb183ff
- size 1.5 2
- alpha 128 256 32
- gravity 0.05
- bounce 1.5
- airfriction 1
- liquidfriction 1
- originjitter 16 16 16
- velocityjitter 32 32 0
- tex 40 40
- //lightradius 200
- //lighttime 0
+       type static
+       airfriction 1
+       alpha 128 256 32
+       bounce 1.500000
+       color 0xb123ff 0xb183ff
+       count 1.500000
+       gravity 0.050000
+       liquidfriction 1
+       originjitter 16 16 16
+       size 1.500000 2
+       tex 40 40
+       velocityjitter 32 32 0
  effect alien_blood
- count 0.4
- type spark
- blend invmod
- tex 24 32
- size 5 11
- alpha 1560 2560 7000
- color 0xDC9BCD 0xDC9BCD
- bounce -1
- airfriction 0.4
- velocityjitter 99 99 55
- //velocitymultiplier 2
- staincolor 0xDC9BCD 0xDC9BCD
- staintex 16 24
- stainsize 1 2
- stretchfactor 25
- sizeincrease 20
- //blood mist
+       type spark
+       airfriction 0.400000
+       alpha 1560 2560 7000
+       blend invmod
+       bounce -1
+       color 0xDC9BCD 0xDC9BCD
+       count 0.400000
+       sizeincrease 20
+       size 5 11
+       staincolor 0xDC9BCD 0xDC9BCD
+       stainsize 1 2
+       staintex 16 24
+       stretchfactor 25
+       tex 24 32
+       velocityjitter 99 99 55
  effect alien_blood
- countabsolute 1
- type smoke
- blend invmod
- tex 24 32
- size 25 30
- sizeincrease 20
- alpha 3000 5560 12000
- color 0xDC9BCD 0xDC9BCD
- originjitter 11 11 11
+       type smoke
+       alpha 3000 5560 12000
+       blend invmod
+       color 0xDC9BCD 0xDC9BCD
+       countabsolute 1
+       originjitter 11 11 11
+       sizeincrease 20
+       size 25 30
+       tex 24 32
  effect robot_blood
- count 0.167
- type spark
- tex 70 70
- size 1 2
- alpha 256 256 64
- color 0xff3000 0xff7373
- bounce -1
- gravity 1
- airfriction 1
- liquidfriction 4
- velocityjitter 264 264 264
- velocityoffset 0 0 100
- //shockwave
+       type spark
+       airfriction 1
+       alpha 256 256 64
+       bounce -1
+       color 0xff3000 0xff7373
+       count 0.167000
+       gravity 1
+       liquidfriction 4
+       size 1 2
+       tex 70 70
+       velocityjitter 264 264 264
+       velocityoffset 0 0 100
  effect robot_blood
- countabsolute 1
- type smoke
- tex 74 74
- size 2 2
- alpha 0 90 1000
- color 0xff8400 0xffbb72
- originjitter 11 11 11
- sizeincrease 800
- // electo sparcks
+       type smoke
+       alpha 0 90 1000
+       color 0xff8400 0xffbb72
+       countabsolute 1
+       originjitter 11 11 11
+       sizeincrease 800
+       size 2 2
+       tex 74 74
  effect robot_blood
- count 0.1
- type smoke
- tex 71 73
- size 20 40
- alpha 256 256 5120
- color 0xff3000 0xff8585
- originjitter 41 41 21
- rotate -180 180 4000 -4000
+       type smoke
+       alpha 256 256 5120
+       color 0xff3000 0xff8585
+       count 0.100000
+       originjitter 41 41 21
+       rotate -180 180 4000 -4000
+       size 20 40
+       tex 71 73
  effect alien_TR_BLOOD
- trailspacing 20
- type spark
- blend invmod
- color 0xC080B0 0xC080B0
- tex 24 32
- size 4 19
- alpha 384 984 1492
- bounce -1
- gravity 0.4
- airfriction -2
- liquidfriction 1
- velocityjitter 64 64 64
- velocitymultiplier -0.1
- staincolor 0xC080B0 0xC080B0
- staintex 16 24
- stainsize 1 2
- stretchfactor 7
- sizeincrease -5
- // splash around gib
- effect TR_BLOOD
- trailspacing 42
- type blood
- color 0xA8FFFF 0xA8FFFF
- tex 24 32
- size 4 6
- alpha 684 684 7492
- sizeincrease 500
+       type spark
+       airfriction -2
+       alpha 384 984 1492
+       blend invmod
+       bounce -1
+       color 0xC080B0 0xC080B0
+       gravity 0.400000
+       liquidfriction 1
+       sizeincrease -5
+       size 4 19
+       staincolor 0xC080B0 0xC080B0
+       stainsize 1 2
+       staintex 16 24
+       stretchfactor 7
+       tex 24 32
+       trailspacing 20
+       velocityjitter 64 64 64
+       velocitymultiplier -0.100000
  effect robot_TR_BLOOD
- trailspacing 16
- type spark
- blend invmod
- color 0xC0D890 0xC0D890
- tex 24 32
- size 4 13
- alpha 384 984 1892
- bounce -1
- gravity 0.4
- airfriction -2
- liquidfriction 1
- velocityjitter 64 64 64
- velocitymultiplier -0.3
- staincolor 0x808080 0x808080
- staintex 16 24
- stainsize 1 3
- stretchfactor 6
- sizeincrease -6
- // fire
+       type spark
+       airfriction -2
+       alpha 384 984 1892
+       blend invmod
+       bounce -1
+       color 0xC0D890 0xC0D890
+       gravity 0.400000
+       liquidfriction 1
+       sizeincrease -6
+       size 4 13
+       staincolor 0x808080 0x808080
+       stainsize 1 3
+       staintex 16 24
+       stretchfactor 6
+       tex 24 32
+       trailspacing 16
+       velocityjitter 64 64 64
+       velocitymultiplier -0.300000
  effect robot_TR_BLOOD
- notunderwater
- trailspacing 16
- type spark
- tex 48 55
- color 0x902010 0xff3600
- size 5 20
- alpha 128 256 900
- gravity -1
- airfriction 4
- liquidfriction 4
- stretchfactor 5
- sizeincrease 10
- velocityjitter 44 44 44
- // arcs
+       type spark
+       airfriction 4
+       alpha 128 256 900
+       color 0x902010 0xff3600
+       gravity -1
+       liquidfriction 4
+       notunderwater
+       sizeincrease 10
+       size 5 20
+       stretchfactor 5
+       tex 48 55
+       trailspacing 16
+       velocityjitter 44 44 44
  effect robot_TR_BLOOD
- trailspacing 128
- type smoke
- tex 71 73
- color 0xff3000 0xff8585
- size 25 30
- alpha 1128 1256 44900
- rotate -180 180 4000 -4000
- velocityjitter 44 44 44
+       type smoke
+       alpha 1128 1256 44900
+       color 0xff3000 0xff8585
+       rotate -180 180 4000 -4000
+       size 25 30
+       tex 71 73
+       trailspacing 128
+       velocityjitter 44 44 44
  effect alien_TR_SLIGHTBLOOD
- trailspacing 64
- type blood
- color 0xC080B0 0xC080B0
- tex 24 32
- size 80 80
- alpha 384 384 192
- bounce -1
- airfriction 1
- liquidfriction 4
- velocityjitter 64 64 64
- velocitymultiplier 0.5
- staincolor 0x808080 0x808080
- staintex 16 24
+       type blood
+       airfriction 1
+       alpha 384 384 192
+       bounce -1
+       color 0xC080B0 0xC080B0
+       liquidfriction 4
+       size 80 80
+       staincolor 0x808080 0x808080
+       staintex 16 24
+       tex 24 32
+       trailspacing 64
+       velocityjitter 64 64 64
+       velocitymultiplier 0.500000
  effect robot_TR_SLIGHTBLOOD
- trailspacing 64
- type blood
- color 0xC0D890 0xC0D890
- tex 24 32
- size 8 8
- alpha 384 384 192
- bounce -1
- airfriction 1
- liquidfriction 4
- velocityjitter 64 64 64
- velocitymultiplier 0.5
- staincolor 0x808080 0x808080
- staintex 16 24
- // flare particle and light
- // used in qcsrc/server/t_items.qc:   pointparticles(particleeffectnum("item_pickup"), self.origin, '0 0 0', 1)
+       type blood
+       airfriction 1
+       alpha 384 384 192
+       bounce -1
+       color 0xC0D890 0xC0D890
+       liquidfriction 4
+       size 8 8
+       staincolor 0x808080 0x808080
+       staintex 16 24
+       tex 24 32
+       trailspacing 64
+       velocityjitter 64 64 64
+       velocitymultiplier 0.500000
  effect item_pickup
- countabsolute 1
- type static
- color 0x63F2EA 0xB0C5C4
- size 8 16
- alpha 128 64 64
- // cloud of particles which expand rapidly and then slow to form a ball
+       type static
+       alpha 128 64 64
+       color 0x63F2EA 0xB0C5C4
+       countabsolute 1
+       size 8 16
  effect item_pickup
- count 32
- type spark
- tex 41 41
- color 0x63F2EA 0xB0C5C4
- size 1 1
- alpha 256 256 1280
- //originjitter 24 24 24
- velocityjitter 256 256 256
+       type spark
+       alpha 256 256 1280
+       color 0x63F2EA 0xB0C5C4
+       count 32
+       size 1 1
+       tex 41 41
+       velocityjitter 256 256 256
  effect bloodshower
- count 125
- type spark
- blend invmod
- tex 24 32
- size 8 28
- color 0xA8FFFF 0xA8FFFFF
- alpha 156 656 1664
- bounce -1
- gravity 1
- stretchfactor 3
- liquidfriction 4
- velocityjitter 764 764 764
- // velocitymultiplier 1
- staincolor 0x808080 0x808080
- staintex 16 24
- stainsize 1 2
- // center blood
+       type spark
+       alpha 156 656 1664
+       blend invmod
+       bounce -1
+       color 0xA8FFFF 0xA8FFFFF
+       count 125
+       gravity 1
+       liquidfriction 4
+       size 8 28
+       staincolor 0x808080 0x808080
+       stainsize 1 2
+       staintex 16 24
+       stretchfactor 3
+       tex 24 32
+       velocityjitter 764 764 764
  effect bloodshower
- countabsolute 0.1
- type smoke
- blend invmod
- tex 24 32
- size 1 28
- sizeincrease 300
- originjitter 50 50 50
- color 0xA8FFFF 0xA8FFFFF
- alpha 156 656 1664
- effect alien_bloodshower
- count 125
- type spark
- blend invmod
- tex 24 32
- size 8 28
- color 0xC080B0 0xC080B0
- alpha 156 656 1664
- bounce -1
- gravity 1
- stretchfactor 3
- liquidfriction 4
- velocityjitter 764 764 764
- // velocitymultiplier 1
- staincolor 0xC080B0 0xC080B0
- staintex 16 24
- stainsize 1 2
- // center blood
+       type smoke
+       alpha 156 656 1664
+       blend invmod
+       color 0xA8FFFF 0xA8FFFFF
+       countabsolute 0.100000
+       originjitter 50 50 50
+       sizeincrease 300
+       size 1 28
+       tex 24 32
  effect bloodshower
- countabsolute 0.1
- type smoke
- blend invmod
- tex 24 32
- size 1 28
- sizeincrease 300
- originjitter 50 50 50
- color 0xA8FFFF 0xA8FFFFF
- alpha 156 656 1664
+       type smoke
+       alpha 156 656 1664
+       blend invmod
+       color 0xA8FFFF 0xA8FFFFF
+       countabsolute 0.100000
+       originjitter 50 50 50
+       sizeincrease 300
+       size 1 28
+       tex 24 32
+ effect alien_bloodshower
+       type spark
+       alpha 156 656 1664
+       blend invmod
+       bounce -1
+       color 0xC080B0 0xC080B0
+       count 125
+       gravity 1
+       liquidfriction 4
+       size 8 28
+       staincolor 0xC080B0 0xC080B0
+       stainsize 1 2
+       staintex 16 24
+       stretchfactor 3
+       tex 24 32
+       velocityjitter 764 764 764
  effect robot_bloodshower
- count 100
- type spark
- blend invmod
- tex 24 32
- size 8 28
- color 0xC0D890 0xC0D890
- alpha 156 656 1664
- bounce -1
- gravity 1
- stretchfactor 3
- liquidfriction 4
- velocityjitter 764 764 764
- // velocitymultiplier 1
- staincolor 0xC0D890 0xC0D890
- staintex 16 24
- stainsize 1 2
- // arc
+       type spark
+       alpha 156 656 1664
+       blend invmod
+       bounce -1
+       color 0xC0D890 0xC0D890
+       count 100
+       gravity 1
+       liquidfriction 4
+       size 8 28
+       staincolor 0xC0D890 0xC0D890
+       stainsize 1 2
+       staintex 16 24
+       stretchfactor 3
+       tex 24 32
+       velocityjitter 764 764 764
  effect robot_bloodshower
- count 2.5
- type smoke
- tex 71 73
- color 0xff3000 0xff8585
- size 25 40
- alpha 1128 1256 4200
- rotate -180 180 99 -99
- velocityjitter 44 44 44
- originjitter 150 150 150
- // shockwave
+       type smoke
+       alpha 1128 1256 4200
+       color 0xff3000 0xff8585
+       count 2.500000
+       originjitter 150 150 150
+       rotate -180 180 99 -99
+       size 25 40
+       tex 71 73
+       velocityjitter 44 44 44
  effect robot_bloodshower
- count 2.5
- type smoke
- tex 74 74
- color 0xff3000 0xff8585
- size 5 50
- sizeincrease 3000
- alpha 11 125 990
- //red_ground_quake
- //smoke
- // used in qsrc/server/ctf.qc:                pointparticles(particleeffectnum("red_ground_quake"), self.origin, '0 0 0', 1);
+       type smoke
+       alpha 11 125 990
+       color 0xff3000 0xff8585
+       count 2.500000
+       sizeincrease 3000
+       size 5 50
+       tex 74 74
  effect red_ground_quake
- type smoke
- count 90
- tex 0 8
- size 20 50
- sizeincrease 100
- gravity 0.5
- time 5 10
- airfriction 3
- alpha 100 126 200
- color 0x111111 0xbbbbbb
- //originjitter 2 2 0
- velocityjitter 190 190 50
- bounce 1.1
- notunderwater
+       type smoke
+       airfriction 3
+       alpha 100 126 200
+       bounce 1.100000
+       color 0x111111 0xbbbbbb
+       count 90
+       gravity 0.500000
+       notunderwater
+       sizeincrease 100
+       size 20 50
+       tex 0 8
+       time 5 10
+       velocityjitter 190 190 50
  effect red_ground_quake
- type smoke
- count 40
- tex 0 8
- size 10 30
- sizeincrease 60
- gravity 0.2
- time 10 15
- airfriction 4
- alpha 100 126 200
- color 0x111111 0x979797
- //originjitter 2 2 0
- velocityjitter 190 190 50
- bounce 1.2
- notunderwater
+       type smoke
+       airfriction 4
+       alpha 100 126 200
+       bounce 1.200000
+       color 0x111111 0x979797
+       count 40
+       gravity 0.200000
+       notunderwater
+       sizeincrease 60
+       size 10 30
+       tex 0 8
+       time 10 15
+       velocityjitter 190 190 50
  effect red_ground_quake
- //notunderwater
- count 16
- type smoke
- tex 48 55
- size 4 20
- time 15 25
- alpha 200 356 512
- gravity -0.5
- color 0x9E6A64 0x91302D
- bounce 6
- sizeincrease 5
- originjitter 33 33 33
- velocityjitter 22 22 50
- // smoke
+       type smoke
+       alpha 200 356 512
+       bounce 6
+       color 0x9E6A64 0x91302D
+       count 16
+       gravity -0.500000
+       originjitter 33 33 33
+       sizeincrease 5
+       size 4 20
+       tex 48 55
+       time 15 25
+       velocityjitter 22 22 50
  effect red_ground_quake
- type alphastatic
- count 11
- tex 0 8
- size 22 33
- sizeincrease 11
- time 25 35
- alpha 200 256 200
- color 0x000000 0xffffff
- gravity -0.3
- originjitter 44 44 44
- velocityjitter 11 11 50
- bounce 2
- //blue_ground_quake
- //smoke
- // used in qsrc/server/ctf.qc:                pointparticles(particleeffectnum("blue_ground_quake"), self.origin, '0 0 0', 1);
+       type alphastatic
+       alpha 200 256 200
+       bounce 2
+       color 0x000000 0xffffff
+       count 11
+       gravity -0.300000
+       originjitter 44 44 44
+       sizeincrease 11
+       size 22 33
+       tex 0 8
+       time 25 35
+       velocityjitter 11 11 50
  effect blue_ground_quake
- type smoke
- count 90
- tex 0 8
- size 20 50
- sizeincrease 100
- gravity 0.5
- time 5 10
- airfriction 3
- alpha 100 126 200
- color 0x111111 0xbbbbbb
- //originjitter 2 2 0
- velocityjitter 190 190 50
- bounce 1.1
- notunderwater
+       type smoke
+       airfriction 3
+       alpha 100 126 200
+       bounce 1.100000
+       color 0x111111 0xbbbbbb
+       count 90
+       gravity 0.500000
+       notunderwater
+       sizeincrease 100
+       size 20 50
+       tex 0 8
+       time 5 10
+       velocityjitter 190 190 50
  effect blue_ground_quake
- type smoke
- count 40
- tex 0 8
- size 10 30
- sizeincrease 60
- gravity 0.2
- time 10 15
- airfriction 4
- alpha 100 126 200
- color 0x111111 0x979797
- //originjitter 2 2 0
- velocityjitter 190 190 50
- bounce 1.2
- notunderwater
+       type smoke
+       airfriction 4
+       alpha 100 126 200
+       bounce 1.200000
+       color 0x111111 0x979797
+       count 40
+       gravity 0.200000
+       notunderwater
+       sizeincrease 60
+       size 10 30
+       tex 0 8
+       time 10 15
+       velocityjitter 190 190 50
  effect blue_ground_quake
- //notunderwater
- count 16
- type smoke
- tex 48 55
- size 4 20
- time 15 25
- alpha 200 356 512
- gravity -0.5
- color 0x64679E 0x2D4C91
- bounce 6
- sizeincrease 5
- originjitter 33 33 33
- velocityjitter 22 22 50
- // smoke
+       type smoke
+       alpha 200 356 512
+       bounce 6
+       color 0x64679E 0x2D4C91
+       count 16
+       gravity -0.500000
+       originjitter 33 33 33
+       sizeincrease 5
+       size 4 20
+       tex 48 55
+       time 15 25
+       velocityjitter 22 22 50
  effect blue_ground_quake
- type alphastatic
- count 11
- tex 0 8
- size 22 33
- sizeincrease 11
- time 25 35
- alpha 200 256 200
- color 0x000000 0xffffff
- gravity -0.3
- originjitter 44 44 44
- velocityjitter 11 11 50
- bounce 2
- // cl_gentle impact effect indicating damage
- // maintained by morphed
- // used in qcsrc/client/gibs.qc:                      pointparticles(particleeffectnum("damage_hit"), org, vel, amount * 16)
+       type alphastatic
+       alpha 200 256 200
+       bounce 2
+       color 0x000000 0xffffff
+       count 11
+       gravity -0.300000
+       originjitter 44 44 44
+       sizeincrease 11
+       size 22 33
+       tex 0 8
+       time 25 35
+       velocityjitter 11 11 50
  effect morphed_damage_hit
- tex 43 43
- count 0.5
- type spark
- color 0xffffff 0x9271fb
- size 14 24
- sizeincrease -24
- alpha 128 128 292
- gravity -0.4
- airfriction 5
- liquidfriction 10
- velocityjitter 356 356 456
+       type spark
+       airfriction 5
+       alpha 128 128 292
+       color 0xffffff 0x9271fb
+       count 0.500000
+       gravity -0.400000
+       liquidfriction 10
+       sizeincrease -24
+       size 14 24
+       tex 43 43
+       velocityjitter 356 356 456
  effect morphed_damage_hit
- tex 0 8
- count 0.5
- type smoke
- color 0xffffff 0x9271fb
- size 24 24
- sizeincrease -24
- alpha 128 128 292
- airfriction 5
- liquidfriction 10
- originjitter 10 10 10
- // effect for removing player model
- // "teleport"
- // cl_gentle deathfx
- // used in qcsrc/client/gibs.qc:                      pointparticles(particleeffectnum("damage_dissolve"), org, vel, amount)
+       type smoke
+       airfriction 5
+       alpha 128 128 292
+       color 0xffffff 0x9271fb
+       count 0.500000
+       liquidfriction 10
+       originjitter 10 10 10
+       sizeincrease -24
+       size 24 24
+       tex 0 8
  effect morphed_damage_dissolve
- tex 43 43
- count 10
- type smoke
- color 0xffffff 0x9271fb
- size 40 40
- sizeincrease -16
- alpha 456 456 1828
- gravity -1.9
- airfriction 8
- liquidfriction 6
- velocityjitter 256 256 512
- rotate -180 180 -399 -99
+       type smoke
+       airfriction 8
+       alpha 456 456 1828
+       color 0xffffff 0x9271fb
+       count 10
+       gravity -1.900000
+       liquidfriction 6
+       rotate -180 180 -399 -99
+       sizeincrease -16
+       size 40 40
+       tex 43 43
+       velocityjitter 256 256 512
  effect morphed_damage_dissolve
- tex 43 43
- count 2.5
- type smoke
- color 0x7bdbff 0xbed2ff
- size 40 40
- sizeincrease -16
- alpha 256 256 628
- gravity -0.8
- airfriction 9
- liquidfriction 6
- velocityjitter 256 256 512
- rotate -180 180 0 0
+       type smoke
+       airfriction 9
+       alpha 256 256 628
+       color 0x7bdbff 0xbed2ff
+       count 2.500000
+       gravity -0.800000
+       liquidfriction 6
+       rotate -180 180 0 0
+       sizeincrease -16
+       size 40 40
+       tex 43 43
+       velocityjitter 256 256 512
  effect morphed_damage_dissolve
- tex 65 65
- count 5
- type smoke
- color 0xffffff 0x9271fb
- size 44 44
- sizeincrease -16
- alpha 156 156 128
- airfriction 3
- liquidfriction 6
- originjitter 22 22 76
+       type smoke
+       airfriction 3
+       alpha 156 156 128
+       color 0xffffff 0x9271fb
+       count 5
+       liquidfriction 6
+       originjitter 22 22 76
+       sizeincrease -16
+       size 44 44
+       tex 65 65
  effect morphed_damage_dissolve
- tex 46 46
- count 15
- type smoke
- color 0xffffff 0x9271fb
- size 32 32
- sizeincrease -16
- alpha 56 56 128
- gravity 1
- bounce 1.5
- airfriction 3
- liquidfriction 6
- velocityjitter 400 400 0
- rotate -180 180 999 -999
- // Team / hit minsta effects
+       type smoke
+       airfriction 3
+       alpha 56 56 128
+       bounce 1.500000
+       color 0xffffff 0x9271fb
+       count 15
+       gravity 1
+       liquidfriction 6
+       rotate -180 180 999 -999
+       sizeincrease -16
+       size 32 32
+       tex 46 46
+       velocityjitter 400 400 0
  effect TE_TEI_G3RED
- countabsolute 1
- type beam
- tex 200 200
- color 0xFF0000 0xFF0000
- size 4 4
- alpha 128 128 256
- // experimental
+       type beam
+       alpha 128 128 256
+       color 0xFF0000 0xFF0011
+       countabsolute 1
+       size 4 4
+       tex 200 200
  effect TE_TEI_G3RED
- trailspacing 8
- type static
- color 0x200000 0x400000
- size 0.3 0.3
- sizeincrease 3
- tex 46 46
- alpha 256 256 512
- airfriction -4
- //liquidfriction -4
- velocityjitter 3 3 3
- type smoke
+       type smoke
+       airfriction -4
+       alpha 256 256 512
+       color 0x200000 0x400000
+       sizeincrease 3
+       size 0.300000 0.300000
+       tex 46 46
+       trailspacing 8
+       velocityjitter 3 3 3
  effect TE_TEI_G3RED_HIT
- countabsolute 1
- type beam
- tex 200 200
- color 0xFF0000 0xFF0000
- size 8 8
- alpha 128 128 256
- // experimental
+       type beam
+       alpha 128 128 256
+       color 0xFF0000 0xFF0011
+       countabsolute 1
+       size 8 8
+       tex 200 200
  effect TE_TEI_G3RED_HIT
- trailspacing 20
- type static
- color 0xFFFFFF 0xFF0011
- size 2 2
- sizeincrease -2
- alpha 256 256 512
- airfriction -4
- //liquidfriction -4
- velocityjitter 2 2 2
- type smoke
- // rings
+       type smoke
+       airfriction -4
+       alpha 256 256 512
+       color 0xFFFFFF 0xFF0011
+       sizeincrease -2
+       size 2 2
+       trailspacing 20
+       velocityjitter 2 2 2
  effect TE_TEI_G3RED_HIT
- trailspacing 40
- type static
- color 0xFF0000 0xFF0011
- size 10 10 
- sizeincrease -6
- alpha 256 256 512
- airfriction -4
- //liquidfriction -4
- type smoke
+       type smoke
+       airfriction -4
+       alpha 256 256 512
+       color 0xFF0000 0xFF0011
+       sizeincrease -6
+       size 10 10
+       trailspacing 40
  effect TE_TEI_G3BLUE
- countabsolute 1
- type beam
- tex 200 200
- color 0x0000FF 0x1100FF
- size 4 4
- alpha 128 128 256
- // experimental
+       type beam
+       alpha 128 128 256
+       color 0x0000FF 0x1100FF
+       countabsolute 1
+       size 4 4
+       tex 200 200
  effect TE_TEI_G3BLUE
- trailspacing 8
- type static
- color 0x000020 0x000040
- size 0.3 0.3
- sizeincrease 3
- tex 46 46
- alpha 256 256 512
- airfriction -4
- //liquidfriction -4
- velocityjitter 3 3 3
- type smoke
+       type smoke
+       airfriction -4
+       alpha 256 256 512
+       color 0x000020 0x000040
+       sizeincrease 3
+       size 0.300000 0.300000
+       tex 46 46
+       trailspacing 8
+       velocityjitter 3 3 3
  effect TE_TEI_G3BLUE_HIT
- countabsolute 1
- type beam
- tex 200 200
- color 0x0000FF 0x1100FF
- size 8 8
- alpha 128 128 256
- // experimental
+       type beam
+       alpha 128 128 256
+       color 0x0000FF 0x1100FF
+       countabsolute 1
+       size 8 8
+       tex 200 200
  effect TE_TEI_G3BLUE_HIT
- trailspacing 20
- type static
- color 0xFFFFFF 0x100FF
- size 2 2
- sizeincrease -2
- alpha 256 256 512
- airfriction -4
- //liquidfriction -4
- velocityjitter 2 2 2
- type smoke
- // rings
+       type smoke
+       airfriction -4
+       alpha 256 256 512
+       color 0xFFFFFF 0x1100FF
+       sizeincrease -2
+       size 2 2
+       trailspacing 20
+       velocityjitter 2 2 2
  effect TE_TEI_G3BLUE_HIT
- trailspacing 40
- type static
- color 0x0000FF 0x1100FF
- size 10 10 
- sizeincrease -6
- alpha 256 256 512
- airfriction -4
- //liquidfriction -4
- type smoke
- // Yellow 
+       type smoke
+       airfriction -4
+       alpha 256 256 512
+       color 0x0000FF 0x1100FF
+       sizeincrease -6
+       size 10 10
+       trailspacing 40
  effect TE_TEI_G3YELLOW
- countabsolute 1
- type beam
- tex 200 200
color 0xffff00 0xffff11
- size 4 4
- alpha 128 128 256
+       type beam
+       alpha 128 128 256
+       color 0xffff00 0xffff11
      countabsolute 1
      size 4 4
+       tex 200 200
  effect TE_TEI_G3YELLOW
- trailspacing 8
- type static
- color 0x202000 0x404000
- size 0.3 0.3
- sizeincrease 3
- tex 46 46
- alpha 256 256 512
- airfriction -4
- velocityjitter 3 3 3
- type smoke
+       type smoke
+       airfriction -4
+       alpha 256 256 512
+       color 0x202000 0x404000
+       sizeincrease 3
+       size 0.300000 0.300000
+       tex 46 46
+       trailspacing 8
+       velocityjitter 3 3 3
  effect TE_TEI_G3YELLOW_HIT
- countabsolute 1
- type beam
- tex 200 200
color 0xffff00 0xffff11
- size 8 8
- alpha 128 128 256
+       type beam
+       alpha 128 128 256
+       color 0xffff00 0xffff11
      countabsolute 1
      size 8 8
+       tex 200 200
  effect TE_TEI_G3YELLOW_HIT
- trailspacing 20
- type static
- color 0xFFFFFF 0xffff10
- size 2 2
- sizeincrease -2
- alpha 256 256 512
- airfriction -4
- velocityjitter 2 2 2
- type smoke
- // rings
+       type smoke
+       airfriction -4
+       alpha 256 256 512
+       color 0xFFFFFF 0xffff11
+       sizeincrease -2
+       size 2 2
+       trailspacing 20
+       velocityjitter 2 2 2
  effect TE_TEI_G3YELLOW_HIT
- trailspacing 40
- type static
- color 0xffff00 0xffff11
- size 10 10 
- sizeincrease -6
- alpha 256 256 512
- airfriction -4
- //liquidfriction -4
- type smoke
- // Pink
+       type smoke
+       airfriction -4
+       alpha 256 256 512
+       color 0xffff00 0xffff11
+       sizeincrease -6
+       size 10 10
+       trailspacing 40
  effect TE_TEI_G3PINK
- countabsolute 1
- type beam
- tex 200 200
- color 0xFF00FF 0xFF11FF
- size 4 4
- alpha 128 128 256
- // experimental
+       type beam
+       alpha 128 128 256
+       color 0xFF00FF 0xFF11FF
+       countabsolute 1
+       size 4 4
+       tex 200 200
  effect TE_TEI_G3PINK
- trailspacing 8
- type static
- color 0x200020 0x400040
- size 0.3 0.3
- sizeincrease 3
- tex 46 46
- alpha 256 256 512
- airfriction -4
- //liquidfriction -4
- velocityjitter 3 3 3
- type smoke
+       type smoke
+       airfriction -4
+       alpha 256 256 512
+       color 0x200020 0x400040
+       sizeincrease 3
+       size 0.300000 0.300000
+       tex 46 46
+       trailspacing 8
+       velocityjitter 3 3 3
  effect TE_TEI_G3PINK_HIT
- countabsolute 1
- type beam
- tex 200 200
- color 0xFF00FF 0xFF11FF
- size 8 8
- alpha 128 128 256
- // experimental
+       type beam
+       alpha 128 128 256
+       color 0xFF00FF 0xFF11FF
+       countabsolute 1
+       size 8 8
+       tex 200 200
  effect TE_TEI_G3PINK_HIT
- trailspacing 20
- type static
- color 0xFFFFFF 0xFF10FF
- size 2 2
- sizeincrease -2
- alpha 256 256 512
- airfriction -4
- //liquidfriction -4
- velocityjitter 2 2 2
- type smoke
- // rings
+       type smoke
+       airfriction -4
+       alpha 256 256 512
+       color 0xFFFFFF 0xFF11FF
+       sizeincrease -2
+       size 2 2
+       trailspacing 20
+       velocityjitter 2 2 2
  effect TE_TEI_G3PINK_HIT
- trailspacing 40
- type static
- color 0xFF00FF 0xFF11FF
- size 10 10 
- sizeincrease -6
- alpha 256 256 512
- airfriction -4
- //liquidfriction -4
- type smoke
- // cl_gentle impact effect indicating damage
- // maintained by particlegibs
- // used in qcsrc/client/gibs.qc:                        pointparticles(particleeffectnum("damage_hit"), org, vel, amount * 16)
- // core decal
+       type smoke
+       airfriction -4
+       alpha 256 256 512
+       color 0xFF00FF 0xFF11FF
+       sizeincrease -6
+       size 10 10
+       trailspacing 40
  effect particlegibs_damage_hit
- type blood
- count 0.5
- tex 0 8
- size 5 10
- color 0xA8FFFF 0xA8FFFFF
- alpha 256 256 428
- gravity 1
- bounce -1
- airfriction 3
- liquidfriction 6
- velocityjitter 156 156 212
- staincolor 0x808080 0x808080
- staintex 16 24
- // front blood
+       type blood
+       airfriction 3
+       alpha 256 256 428
+       bounce -1
+       color 0xA8FFFF 0xA8FFFFF
+       count 0.500000
+       gravity 1
+       liquidfriction 6
+       size 5 10
+       staincolor 0x808080 0x808080
+       staintex 16 24
+       tex 0 8
+       velocityjitter 156 156 212
  effect particlegibs_damage_hit
- type blood
- count 0.1
- tex 24 32
- size 10 20
- color 0xA8FFFF 0xA8FFFFF
- sizeincrease -15
- alpha 256 256 328
- bounce -1
- gravity 0.5
- airfriction 1
- liquidfriction 3
- velocityjitter 6 6 30
- velocitymultiplier -1
- staincolor 0x808080 0x808080
- staintex 16 24
- // back blood
+       type blood
+       airfriction 1
+       alpha 256 256 328
+       bounce -1
+       color 0xA8FFFF 0xA8FFFFF
+       count 0.100000
+       gravity 0.500000
+       liquidfriction 3
+       sizeincrease -15
+       size 10 20
+       staincolor 0x808080 0x808080
+       staintex 16 24
+       tex 24 32
+       velocityjitter 6 6 30
+       velocitymultiplier -1
  effect particlegibs_damage_hit
- type blood
- count 0.1
- tex 24 32
- size 5 15
- color 0xA8FFFF 0xA8FFFFF
- sizeincrease 10
- alpha 256 256 328
- bounce -1
- gravity 1
- airfriction 1
- liquidfriction 3
- velocityjitter 26 26 112
- originjitter 3 3 3
- velocitymultiplier 2
- staincolor 0x808080 0x808080
- staintex 16 24
-  
- // effect for removing player model
- // "teleport"
-  
- // cl_gentle deathfx
- // used in qcsrc/client/gibs.qc:                        pointparticles(particleeffectnum("damage_dissolve"), org, vel, amount)
- // small core blood no decals
+       type blood
+       airfriction 1
+       alpha 256 256 328
+       bounce -1
+       color 0xA8FFFF 0xA8FFFFF
+       count 0.100000
+       gravity 1
+       liquidfriction 3
+       originjitter 3 3 3
+       sizeincrease 10
+       size 5 15
+       staincolor 0x808080 0x808080
+       staintex 16 24
+       tex 24 32
+       velocityjitter 26 26 112
+       velocitymultiplier 2
  effect particlegibs_damage_dissolve
- type blood
- count 32
- tex 0 8
- size 15 20
- color 0x00ffff 0x82ffff
- alpha 256 256 328
- gravity 1
- airfriction 3
- liquidfriction 6
- originjitter 10 10 25
- velocityjitter 256 256 312
- staincolor 0x808080 0x808080
- staintex 16 24
- // core decal
+       type blood
+       airfriction 3
+       alpha 256 256 328
+       color 0x00ffff 0x82ffff
+       count 32
+       gravity 1
+       liquidfriction 6
+       originjitter 10 10 25
+       size 15 20
+       staincolor 0x808080 0x808080
+       staintex 16 24
+       tex 0 8
+       velocityjitter 256 256 312
  effect particlegibs_damage_dissolve
- type blood
- count 12
- tex 0 8
- size 20 40
- color 0xA8FFFF 0xA8FFFFF
- alpha 256 256 528
- gravity 2
- bounce -1
- airfriction 2
- liquidfriction 6
- originjitter 10 10 25
- velocityjitter 356 356 412
- staincolor 0x808080 0x808080
- staintex 16 24
- // front blood
+       type blood
+       airfriction 2
+       alpha 256 256 528
+       bounce -1
+       color 0xA8FFFF 0xA8FFFFF
+       count 12
+       gravity 2
+       liquidfriction 6
+       originjitter 10 10 25
+       size 20 40
+       staincolor 0x808080 0x808080
+       staintex 16 24
+       tex 0 8
+       velocityjitter 356 356 412
  effect particlegibs_damage_dissolve
- type blood
- count 32
- tex 24 32
- size 10 20
- color 0xA8FFFF 0xA8FFFFF
- sizeincrease -15
- alpha 256 256 328
- bounce -1
- gravity 0.5
- airfriction 1
- liquidfriction 3
- velocityjitter 56 56 212
- originjitter 5 5 10
- velocitymultiplier -0.3
- staincolor 0x808080 0x808080
- staintex 16 24
- // back blood
+       type blood
+       airfriction 1
+       alpha 256 256 328
+       bounce -1
+       color 0xA8FFFF 0xA8FFFFF
+       count 32
+       gravity 0.500000
+       liquidfriction 3
+       originjitter 5 5 10
+       sizeincrease -15
+       size 10 20
+       staincolor 0x808080 0x808080
+       staintex 16 24
+       tex 24 32
+       velocityjitter 56 56 212
+       velocitymultiplier -0.300000
  effect particlegibs_damage_dissolve
- type blood
- count 32
- tex 24 32
- size 5 15
- color 0xA8FFFF 0xA8FFFFF
- sizeincrease 10
- alpha 256 256 328
- bounce -1
- gravity 1
- airfriction 1
- liquidfriction 3
- velocityjitter 56 56 212
- originjitter 5 5 10
- velocitymultiplier 0.5
- staincolor 0x808080 0x808080
- staintex 16 24
- // small bits
+       type blood
+       airfriction 1
+       alpha 256 256 328
+       bounce -1
+       color 0xA8FFFF 0xA8FFFFF
+       count 32
+       gravity 1
+       liquidfriction 3
+       originjitter 5 5 10
+       sizeincrease 10
+       size 5 15
+       staincolor 0x808080 0x808080
+       staintex 16 24
+       tex 24 32
+       velocityjitter 56 56 212
+       velocitymultiplier 0.500000
  effect particlegibs_damage_dissolve
- type blood
- count 75
- tex 24 32
- size 1 1
- color 0xA8FFFF 0xA8FFFFF
- sizeincrease 10
- alpha 256 256 328
- gravity 1
- airfriction 1.5
- liquidfriction 3
- originjitter 10 10 25
- velocityjitter 656 656 912
- staincolor 0x808080 0x808080
- staintex 16 24
- // fire effect which expands then slows
+       type blood
+       airfriction 1.500000
+       alpha 256 256 328
+       color 0xA8FFFF 0xA8FFFFF
+       count 75
+       gravity 1
+       liquidfriction 3
+       originjitter 10 10 25
+       sizeincrease 10
+       size 1 1
+       staincolor 0x808080 0x808080
+       staintex 16 24
+       tex 24 32
+       velocityjitter 656 656 912
  effect onslaught_generator_gib_explode
- notunderwater
- count 17
- type static
- tex 48 55
- color 0x8f0d00 0xff5a00
- size 20 26
- sizeincrease 45
- alpha 128 256 356
- bounce 1.5
- airfriction 5
- liquidfriction 8
- originjitter 8 8 8
- velocityjitter 286 286 286
- // smoke
+       type static
+       airfriction 5
+       alpha 128 256 356
+       bounce 1.500000
+       color 0x8f0d00 0xff5a00
+       count 17
+       liquidfriction 8
+       notunderwater
+       originjitter 8 8 8
+       sizeincrease 45
+       size 20 26
+       tex 48 55
+       velocityjitter 286 286 286
  effect onslaught_generator_gib_explode
- type alphastatic
- notunderwater
- tex 0 8
- count 6
- size 1 10
- sizeincrease 90
- gravity -0.3
- alpha 200 500 600
- velocityjitter 244 244 244
- airfriction 5
- color 0x000000 0x111111
- bounce 2
- // underwater bubbles
+       type alphastatic
+       airfriction 5
+       alpha 200 500 600
+       bounce 2
+       color 0x000000 0x111111
+       count 6
+       gravity -0.300000
+       notunderwater
+       sizeincrease 90
+       size 1 10
+       tex 0 8
+       velocityjitter 244 244 244
  effect onslaught_generator_gib_explode
- underwater
- count 16
- type bubble
- tex 62 62
- color 0x404040 0x808080
- size 3 3
- alpha 128 256 64
- gravity -0.125
- bounce 1.5
- liquidfriction 0.25
- originjitter 16 16 16
- velocityjitter 96 96 96
- // fire effect which expands then slows
+       type bubble
+       alpha 128 256 64
+       bounce 1.500000
+       color 0x404040 0x808080
+       count 16
+       gravity -0.125000
+       liquidfriction 0.250000
+       originjitter 16 16 16
+       size 3 3
+       tex 62 62
+       underwater
+       velocityjitter 96 96 96
  effect onslaught_generator_gib_flame
- notunderwater
- count 15
- type static
- tex 48 55
- color 0x8f0d00 0xff5a00
- size 5 10
- sizeincrease 25
- alpha 128 256 356
- gravity -0.5
- airfriction 5
- liquidfriction 8
- originjitter 3 3 3
- velocityjitter 86 86 86
- // smoke
+       type static
+       airfriction 5
+       alpha 128 256 356
+       color 0x8f0d00 0xff5a00
+       count 15
+       gravity -0.500000
+       liquidfriction 8
+       notunderwater
+       originjitter 3 3 3
+       sizeincrease 25
+       size 5 10
+       tex 48 55
+       velocityjitter 86 86 86
  effect onslaught_generator_gib_flame
- type alphastatic
- notunderwater
- tex 0 8
- count 1
- size 10 20
- sizeincrease 30
- gravity -0.8
- alpha 200 500 600
- velocityjitter 44 44 44
- airfriction 5
- color 0x000000 0x111111
- bounce 2
- // underwater bubbles
+       type alphastatic
+       airfriction 5
+       alpha 200 500 600
+       bounce 2
+       color 0x000000 0x111111
+       count 1
+       gravity -0.800000
+       notunderwater
+       sizeincrease 30
+       size 10 20
+       tex 0 8
+       velocityjitter 44 44 44
  effect onslaught_generator_gib_flame
- underwater
- count 16
- type bubble
- tex 62 62
- color 0x404040 0x808080
- size 3 3
- alpha 128 256 64
- gravity -0.125
- bounce 1.5
- liquidfriction 0.25
- originjitter 16 16 16
- velocityjitter 96 96 96
- // used nowhere in code
+       type bubble
+       alpha 128 256 64
+       bounce 1.500000
+       color 0x404040 0x808080
+       count 16
+       gravity -0.125000
+       liquidfriction 0.250000
+       originjitter 16 16 16
+       size 3 3
+       tex 62 62
+       underwater
+       velocityjitter 96 96 96
  effect firemine
- trailspacing 2
- count 0.5
- type smoke
- tex 48 55
- color 0x8f0d00 0xff5a00
- size 1 1
- sizeincrease 5
- gravity -0.06
- alpha 50 256 250
- bounce 1.5
- velocityjitter 10 10 2
- airfriction 1.2
- //slowfire
+       type smoke
+       airfriction 1.200000
+       alpha 50 256 250
+       bounce 1.500000
+       color 0x8f0d00 0xff5a00
+       count 0.500000
+       gravity -0.060000
+       sizeincrease 5
+       size 1 1
+       tex 48 55
+       trailspacing 2
+       velocityjitter 10 10 2
  effect firemine
- trailspacing 2
- count 0.5
- type smoke
- tex 48 55
- color 0x8f0d00 0xff5a00
- size 1 1
- sizeincrease 5
- gravity -0.06
- alpha 50 256 200
- bounce 1.5
- velocityjitter 10 10 10
- airfriction 1.2
- // very slow and small fire
+       type smoke
+       airfriction 1.200000
+       alpha 50 256 200
+       bounce 1.500000
+       color 0x8f0d00 0xff5a00
+       count 0.500000
+       gravity -0.060000
+       sizeincrease 5
+       size 1 1
+       tex 48 55
+       trailspacing 2
+       velocityjitter 10 10 10
  effect firemine
- trailspacing 4
- count 0.5
- type smoke
- tex 48 55
- color 0x8f0d00 0xff5a00
- size 1 1
- sizeincrease 2
- gravity -0.06
- alpha 50 256 200
- bounce 1.5
- velocityjitter 8 8 8
- airfriction 0.3
- //decreasing fire
+       type smoke
+       airfriction 0.300000
+       alpha 50 256 200
+       bounce 1.500000
+       color 0x8f0d00 0xff5a00
+       count 0.500000
+       gravity -0.060000
+       sizeincrease 2
+       size 1 1
+       tex 48 55
+       trailspacing 4
+       velocityjitter 8 8 8
  effect firemine
- trailspacing 4
- count 0.5
- type smoke
- tex 48 55
- color 0x8f0d00 0xff5a00
- size 5 7
- sizeincrease -3
- gravity -0.06
- alpha 50 256 200
- bounce 1.5
- velocityjitter 3 3 3
- airfriction 0.3
- //smoke
+       type smoke
+       airfriction 0.300000
+       alpha 50 256 200
+       bounce 1.500000
+       color 0x8f0d00 0xff5a00
+       count 0.500000
+       gravity -0.060000
+       sizeincrease -3
+       size 5 7
+       tex 48 55
+       trailspacing 4
+       velocityjitter 3 3 3
  effect firemine
- trailspacing 8
- count 0.5
- type alphastatic
- tex 0 8
- size 1 4
- sizeincrease 1
- color 0x000000 0x111111
- alpha 256 256 90
- //gravity -0.2
- originjitter 2 2 2
- velocityoffset 0 0 3
- airfriction 1
- //fastfire
+       type alphastatic
+       airfriction 1
+       alpha 256 256 90
+       color 0x000000 0x111111
+       count 0.500000
+       originjitter 2 2 2
+       sizeincrease 1
+       size 1 4
+       tex 0 8
+       trailspacing 8
+       velocityoffset 0 0 3
  effect firemine
- trailspacing 1
- count 0.5
- type smoke
- tex 48 55
- color 0x8f0d00 0xff5a00
- size 12 12
- sizeincrease 0
- gravity 0
- alpha 50 256 1600
- bounce 1.5
- velocityjitter 0 0 0
- airfriction 1.2
- // light only
+       type smoke
+       airfriction 1.200000
+       alpha 50 256 1600
+       bounce 1.500000
+       color 0x8f0d00 0xff5a00
+       count 0.500000
+       size 12 12
+       tex 48 55
+       trailspacing 1
  effect firemine
- trailspacing 16
- lightradius 50
- lightradiusfade 50000
- lightcolor 2.7 2.7 0.6
- // used nowhere in code
+       lightcolor 2.7 2.7 0.6
+       lightradiusfade 50000
+       lightradius 50
+       trailspacing 16
  effect fireball
- trailspacing 2
- count 0.5
- type smoke
- tex 48 55
- color 0x8f0d00 0xff5a00
- size 5 5
- sizeincrease 20
- gravity -0.06
- alpha 50 256 250
- bounce 1.5
- velocityjitter 40 40 11
- airfriction 1.2
- //slowfire
+       type smoke
+       airfriction 1.200000
+       alpha 50 256 250
+       bounce 1.500000
+       color 0x8f0d00 0xff5a00
+       count 0.500000
+       gravity -0.060000
+       sizeincrease 20
+       size 5 5
+       tex 48 55
+       trailspacing 2
+       velocityjitter 40 40 11
  effect fireball
- trailspacing 2
- count 0.5
- type smoke
- tex 48 55
- color 0x8f0d00 0xff5a00
- size 5 5
- sizeincrease 20
- gravity -0.06
- alpha 50 256 200
- bounce 1.5
- velocityjitter 40 40 40
- airfriction 1.2
- // very slow and small fire
+       type smoke
+       airfriction 1.200000
+       alpha 50 256 200
+       bounce 1.500000
+       color 0x8f0d00 0xff5a00
+       count 0.500000
+       gravity -0.060000
+       sizeincrease 20
+       size 5 5
+       tex 48 55
+       trailspacing 2
+       velocityjitter 40 40 40
  effect fireball
- trailspacing 4
- count 0.5
- type smoke
- tex 48 55
- color 0x8f0d00 0xff5a00
- size 5 5
- sizeincrease 10
- gravity -0.06
- alpha 50 256 200
- bounce 1.5
- velocityjitter 30 30 30
- airfriction 0.3
- //decreasing fire
+       type smoke
+       airfriction 0.300000
+       alpha 50 256 200
+       bounce 1.500000
+       color 0x8f0d00 0xff5a00
+       count 0.500000
+       gravity -0.060000
+       sizeincrease 10
+       size 5 5
+       tex 48 55
+       trailspacing 4
+       velocityjitter 30 30 30
  effect fireball
- trailspacing 4
- count 0.5
- type smoke
- tex 48 55
- color 0x8f0d00 0xff5a00
- size 20 30
- sizeincrease -10
- gravity -0.06
- alpha 50 256 200
- bounce 1.5
- velocityjitter 10 10 10
- airfriction 0.3
- //smoke
+       type smoke
+       airfriction 0.300000
+       alpha 50 256 200
+       bounce 1.500000
+       color 0x8f0d00 0xff5a00
+       count 0.500000
+       gravity -0.060000
+       sizeincrease -10
+       size 20 30
+       tex 48 55
+       trailspacing 4
+       velocityjitter 10 10 10
  effect fireball
- trailspacing 8
- count 0.5
- type alphastatic
- tex 0 8
- size 5 15
- sizeincrease 7
- color 0x000000 0x111111
- alpha 256 256 90
- //gravity -0.2
- originjitter 10 10 10
- velocityoffset 0 0 10
- airfriction 1
- //fastfire
+       type alphastatic
+       airfriction 1
+       alpha 256 256 90
+       color 0x000000 0x111111
+       count 0.500000
+       originjitter 10 10 10
+       sizeincrease 7
+       size 5 15
+       tex 0 8
+       trailspacing 8
+       velocityoffset 0 0 10
  effect fireball
- trailspacing 1
- count 0.5
- type smoke
- tex 48 55
- color 0x8f0d00 0xff5a00
- size 48 48
- sizeincrease 0
- gravity 0
- alpha 50 256 1600
- bounce 1.5
- velocityjitter 0 0 0
- airfriction 1.2
- // light only
+       type smoke
+       airfriction 1.200000
+       alpha 50 256 1600
+       bounce 1.500000
+       color 0x8f0d00 0xff5a00
+       count 0.500000
+       size 48 48
+       tex 48 55
+       trailspacing 1
  effect fireball
- trailspacing 16
- lightradius 300
- lightradiusfade 3000
- lightcolor 2.7 2.7 0.6
- // fireball
+       lightcolor 2.7 2.7 0.6
+       lightradiusfade 3000
+       lightradius 300
+       trailspacing 16
  effect fireball_laser
- count 10
- type spark
- color 0x800000 0xFF8020
- alpha 192 256 2560
- size 1 1
- velocityjitter 1 1 1
- velocitymultiplier 10
- stretchfactor 0.7
- // rocket explosion (bigger than mortar and hagar)
- // decal
- // used nowhere in code
+       type spark
+       alpha 192 256 2560
+       color 0x800000 0xFF8020
+       count 10
+       size 1 1
+       stretchfactor 0.700000
+       velocityjitter 1 1 1
+       velocitymultiplier 10
  effect fireball_explode
- countabsolute 1
- type decal
- tex 8 16
- size 72 72
- alpha 256 256 0
- originjitter 56 56 56
- lightradius 500
- lightradiusfade 500
- lightcolor 4 2 0.5
- // flare effect
+       type decal
+       alpha 256 256 0
+       countabsolute 1
+       lightcolor 4 2 0.5
+       lightradiusfade 500
+       lightradius 500
+       originjitter 56 56 56
+       size 72 72
+       tex 8 16
  effect fireball_explode
- countabsolute 1
- type static
- tex 35 37
- color 0x404040 0x404040
- size 72 72
- alpha 192 192 64
- // fire effect
+       type static
+       alpha 192 192 64
+       color 0x404040 0x404040
+       countabsolute 1
+       size 72 72
+       tex 35 37
  effect fireball_explode
- notunderwater
- count 128
- type static
- tex 48 55
- color 0x902010 0xFFD080
- size 16 16
- alpha 128 128 256
- bounce 1.5
- airfriction 4
- liquidfriction 4
- originjitter 8 8 8
- velocityjitter 512 512 512
- // underwater bubbles
+       type static
+       airfriction 4
+       alpha 128 128 256
+       bounce 1.500000
+       color 0x902010 0xFFD080
+       count 128
+       liquidfriction 4
+       notunderwater
+       originjitter 8 8 8
+       size 16 16
+       tex 48 55
+       velocityjitter 512 512 512
  effect fireball_explode
- underwater
- count 32
- type bubble
- tex 62 62
- color 0x404040 0x808080
- size 3 3
- alpha 128 256 64
- gravity -0.125
- bounce 1.5
- liquidfriction 0.25
- originjitter 16 16 16
- velocityjitter 144 144 144
- // bouncing sparks
+       type bubble
+       alpha 128 256 64
+       bounce 1.500000
+       color 0x404040 0x808080
+       count 32
+       gravity -0.125000
+       liquidfriction 0.250000
+       originjitter 16 16 16
+       size 3 3
+       tex 62 62
+       underwater
+       velocityjitter 144 144 144
  effect fireball_explode
- notunderwater
- count 64
- type spark
- color 0x903010 0xFFD030
- size 2 2
- alpha 256 256 384
- gravity 1
- airfriction 0.2
- bounce 1.5
- liquidfriction 0.8
- velocityoffset 0 0 80
- velocityjitter 384 384 384
+       type spark
+       airfriction 0.200000
+       alpha 256 256 384
+       bounce 1.500000
+       color 0x903010 0xFFD030
+       count 64
+       gravity 1
+       liquidfriction 0.800000
+       notunderwater
+       size 2 2
+       velocityjitter 384 384 384
+       velocityoffset 0 0 80
  effect fireball_muzzleflash
- count 2
- type smoke
- color 0x202020 0x404040
- tex 0 8
- size 5 5
- alpha 256 256 512
- originjitter 1.5 1.5 1.5
- velocityjitter 6 6 6
- velocitymultiplier 0.01
- lightradius 200
- lightradiusfade 2000
- lightcolor 2 1.5 0.2
+       type smoke
+       alpha 256 256 512
      color 0x202020 0x404040
+       count 2
+       lightcolor 2 1.5 0.2
+       lightradiusfade 2000
+       lightradius 200
+       originjitter 1.5 1.5 1.5
+       size 5 5
+       tex 0 8
+       velocityjitter 6 6 6
+       velocitymultiplier 0.010000
  effect fireball_muzzleflash
- count 15
- type spark
- tex 40 40
- color 0xFFFDD9 0xFFFDD9
- size 3 3
- alpha 0 128 1024
- originjitter 1 1 1
- velocityjitter 300 300 300
- velocitymultiplier 0.5
- airfriction 12
+       type spark
+       airfriction 12
+       alpha 0 128 1024
+       color 0xFFFDD9 0xFFFDD9
+       count 15
+       originjitter 1 1 1
+       size 3 3
+       tex 40 40
+       velocityjitter 300 300 300
+       velocitymultiplier 0.500000
  effect fireball_preattack_muzzleflash
- count 2
- type smoke
- color 0x202020 0x404040
- tex 0 8
- size 5 5
- alpha 256 256 512
- originjitter 1.5 1.5 1.5
- velocityjitter 6 6 6
- velocitymultiplier 0.01
- lightradius 200
- lightradiusfade 2000
- lightcolor 2 1.5 0.2
+       type smoke
+       alpha 256 256 512
      color 0x202020 0x404040
+       count 2
+       lightcolor 2 1.5 0.2
+       lightradiusfade 2000
+       lightradius 200
+       originjitter 1.5 1.5 1.5
+       size 5 5
+       tex 0 8
+       velocityjitter 6 6 6
+       velocitymultiplier 0.010000
  effect fireball_preattack_muzzleflash
- count 15
- type spark
- tex 40 40
- color 0xFFFDD9 0xFFFDD9
- size 3 3
- alpha 0 128 1024
- originjitter 1 1 1
- velocityjitter 300 300 300
- velocitymultiplier 0.5
- airfriction 12
+       type spark
+       airfriction 12
+       alpha 0 128 1024
+       color 0xFFFDD9 0xFFFDD9
+       count 15
+       originjitter 1 1 1
+       size 3 3
+       tex 40 40
+       velocityjitter 300 300 300
+       velocitymultiplier 0.500000
  effect fireball_bfgdamage
- count 2
- type smoke
- color 0x202020 0x404040
- tex 0 8
- size 5 5
- alpha 256 256 512
- originjitter 1.5 1.5 1.5
- velocityjitter 6 6 6
- velocitymultiplier 0.01
- lightradius 200
- lightradiusfade 2000
- lightcolor 2 1.5 0.2
+       type smoke
+       alpha 256 256 512
      color 0x202020 0x404040
+       count 2
+       lightcolor 2 1.5 0.2
+       lightradiusfade 2000
+       lightradius 200
+       originjitter 1.5 1.5 1.5
+       size 5 5
+       tex 0 8
+       velocityjitter 6 6 6
+       velocitymultiplier 0.010000
  effect fireball_bfgdamage
- count 15
- type spark
- tex 40 40
- color 0xFFFDD9 0xFFFDD9
- size 3 3
- alpha 0 128 1024
- originjitter 1 1 1
- velocityjitter 300 300 300
- velocitymultiplier 0.5
- airfriction 12
- //EF_FLAME
- //fire
- // used nowhere in code
+       type spark
+       airfriction 12
+       alpha 0 128 1024
+       color 0xFFFDD9 0xFFFDD9
+       count 15
+       originjitter 1 1 1
+       size 3 3
+       tex 40 40
+       velocityjitter 300 300 300
+       velocitymultiplier 0.500000
  effect EF_FLAME
- //notunderwater
- count 100
- type smoke
- tex 48 55
- size 5 21
- alpha 200 356 512
- gravity -0.5
- color 0x8f0d00 0xff5a00
- bounce 2
- sizeincrease -1
- originoffset 0 0 10
- originjitter 12 12 34
- velocityjitter 22 22 50
- // smoke
+       type smoke
+       alpha 200 356 512
+       bounce 2
+       color 0x8f0d00 0xff5a00
+       count 100
+       gravity -0.500000
+       originjitter 12 12 34
+       originoffset 0 0 10
+       sizeincrease -1
+       size 5 21
+       tex 48 55
+       velocityjitter 22 22 50
  effect EF_FLAME
- type alphastatic
count 50
- tex 0 8
- size 11 15
- sizeincrease 6
alpha 200 256 200
- color 0x000000 0x111111
- gravity -0.3
- originoffset 0 0 10
- originjitter 12 12 34
- velocityjitter 11 11 50
- bounce 2
      type alphastatic
      alpha 200 256 200
+       bounce 2
+       color 0x000000 0x111111
+       count 50
      gravity -0.300000
+       originjitter 12 12 34
+       originoffset 0 0 10
+       sizeincrease 6
+       size 11 15
+       tex 0 8
+       velocityjitter 11 11 50
  effect EF_FLAME
- count 0.5
- lightradius 200
- lightradiusfade 10000
- lightcolor 0.9 0.9 0.2
- // rifle bullet trail (somewhat like a tracer)
- // used in qcsrc/server/w_common.qc:                          zcurveparticles_from_tracetoss(particleeffectnum("tr_bullet"), self.origin, trace_endpos, self.velocity)
- // used in qcsrc/client/projectile.qc:                        trailparticles(self, particleeffectnum("tr_bullet"), from, to)
+       count 0.500000
+       lightcolor 0.9 0.9 0.2
+       lightradiusfade 10000
+       lightradius 200
  effect tr_rifle
- trailspacing 128
- type spark
- color 0x800000 0xFF8020
alpha 256 256 2560
- size 1.5 1.5
- stretchfactor 1
- velocitymultiplier 0.7
+       type spark
+       alpha 256 256 2560
      color 0x800000 0xFF8020
      size 1.500000 1.500000
+       stretchfactor 1
+       trailspacing 128
+       velocitymultiplier 0.700000
  effect tr_rifle
- notunderwater
- tex 0 8
- trailspacing 8
- type static
- color 0x202020 0x404040
- size 4 4
- sizeincrease 0.4
- alpha 256 256 256
- airfriction -4
- velocityjitter 4 4 4
- type smoke
+       type smoke
+       airfriction -4
+       alpha 256 256 256
+       color 0x202020 0x404040
+       notunderwater
+       sizeincrease 0.400000
+       size 4 4
+       tex 0 8
+       trailspacing 8
+       velocityjitter 4 4 4
  effect tr_rifle
- underwater
- trailspacing 32
- type bubble
- tex 62 62
- color 0x404040 0x808080
- size 2 2
- alpha 256 256 128
- gravity -0.125
- bounce 1.5
- liquidfriction 4
- velocityjitter 16 16 16
- // rocket guiding start
- // underwater bubbles
+       type bubble
+       alpha 256 256 128
+       bounce 1.500000
+       color 0x404040 0x808080
+       gravity -0.125000
+       liquidfriction 4
+       size 2 2
+       tex 62 62
+       trailspacing 32
+       underwater
+       velocityjitter 16 16 16
  effect rocket_guide
- underwater
- count 2
- type bubble
- tex 62 62
- color 0x404040 0x808080
- size 1.5 1.5
- alpha 128 256 64
- gravity -0.125
- bounce 1.5
- liquidfriction 0.25
- originjitter 8 8 8
- velocityjitter 48 48 48
- velocitymultiplier -0.1
- // bouncing sparks
+       type bubble
+       alpha 128 256 64
+       bounce 1.500000
+       color 0x404040 0x808080
+       count 2
+       gravity -0.125000
+       liquidfriction 0.250000
+       originjitter 8 8 8
+       size 1.500000 1.500000
+       tex 62 62
+       underwater
+       velocityjitter 48 48 48
+       velocitymultiplier -0.100000
  effect rocket_guide
- notunderwater
- count 8
- type spark
color 0x903010 0xFFD030
- size 0.3 0.7
- tex 40 40
- alpha 256 256 984
- gravity 1
- airfriction 0.2
- bounce 1.5
- liquidfriction 0.8
velocityoffset 0 0 80
- velocityjitter 156 156 156
- velocitymultiplier -0.3
- stretchfactor 0.4
+       type spark
+       airfriction 0.200000
+       alpha 256 256 984
      bounce 1.500000
+       color 0x903010 0xFFD030
+       count 8
+       gravity 1
+       liquidfriction 0.800000
+       notunderwater
+       size 0.300000 0.700000
+       stretchfactor 0.400000
      tex 40 40
      velocityjitter 156 156 156
+       velocitymultiplier -0.300000
+       velocityoffset 0 0 80
  effect rocket_guide
- countabsolute 1
- type smoke
- tex 65 65
- color 0x903010 0xFFD030
- size 10 10
- sizeincrease 300
- alpha 100 100 500
- // gauntlet laser
- // based off morphed's cl_gentle
- // used in qcsrc/server/w_laser.qc
+       type smoke
+       alpha 100 100 500
+       color 0x903010 0xFFD030
+       countabsolute 1
+       sizeincrease 300
+       size 10 10
+       tex 65 65
  effect laser_gauntlet
- count 3
- type spark
- color 0xb44215 0x880000
- tex 43 43
- size 7 10
- alpha 128 512 6280
- airfriction 10
- originjitter 2 2 2
- velocityjitter 150 150 150
- velocitymultiplier 0.2
- sizeincrease -100
- stretchfactor 2.3
- rotate -180 180 4000 -4000
+       type spark
+       airfriction 10
+       alpha 128 512 6280
+       color 0xb44215 0x880000
+       count 3
+       originjitter 2 2 2
+       rotate -180 180 4000 -4000
+       sizeincrease -100
+       size 7 10
+       stretchfactor 2.300000
+       tex 43 43
+       velocityjitter 150 150 150
+       velocitymultiplier 0.200000
  effect laser_gauntlet
- count 6
- type spark
- color 0xff4200 0xff0000
- tex 8 15
- size 7 9
- alpha 256 512 6280
- airfriction 12
- originjitter 2 2 2
- velocityjitter 100 100 100
- velocitymultiplier 0.2
- sizeincrease -100
- stretchfactor 2
- // muzzle flash
+       type spark
+       airfriction 12
+       alpha 256 512 6280
+       color 0xff4200 0xff0000
+       count 6
+       originjitter 2 2 2
+       sizeincrease -100
+       size 7 9
+       stretchfactor 2
+       tex 8 15
+       velocityjitter 100 100 100
+       velocitymultiplier 0.200000
  effect laser_gauntletmuzzleflash
- // glow and light
- countabsolute 1
- type smoke
- color 0x220000 0x880000
- tex 65 65
- size 10 15
- alpha 256 512 6280
- airfriction 10
- sizeincrease -100
- stretchfactor 2
- lightradius 150
- lightradiusfade 500
- lightcolor 3 0.1 0.1
- // electricity
+       type smoke
+       airfriction 10
+       alpha 256 512 6280
+       color 0x220000 0x880000
+       countabsolute 1
+       lightcolor 3 0.1 0.1
+       lightradiusfade 500
+       lightradius 150
+       sizeincrease -100
+       size 10 15
+       stretchfactor 2
+       tex 65 65
  effect laser_gauntletmuzzleflash
- count 3
- type spark
- color 0xb44215 0x880000
- tex 43 43
- size 7 10
- alpha 128 512 6280
- airfriction 10
- originjitter 2 2 2
- velocityjitter 150 150 150
- velocitymultiplier 0.2
- sizeincrease -100
- stretchfactor 2.3
- rotate -180 180 4000 -4000
- // fire
+       type spark
+       airfriction 10
+       alpha 128 512 6280
+       color 0xb44215 0x880000
+       count 3
+       originjitter 2 2 2
+       rotate -180 180 4000 -4000
+       sizeincrease -100
+       size 7 10
+       stretchfactor 2.300000
+       tex 43 43
+       velocityjitter 150 150 150
+       velocitymultiplier 0.200000
  effect laser_gauntletmuzzleflash
- count 6
- type spark
- color 0xff4200 0xff0000
- tex 8 15
- size 7 9
- alpha 256 512 6280
- airfriction 12
- originjitter 2 2 2
- velocityjitter 100 100 100
- velocitymultiplier 0.2
- sizeincrease -100
- stretchfactor 2
- //torch flame, spawn it as fast as you can  20 times per second or more, supports direction but not required
- //fast fire
- // used nowhere in code, meant for maps
+       type spark
+       airfriction 12
+       alpha 256 512 6280
+       color 0xff4200 0xff0000
+       count 6
+       originjitter 2 2 2
+       sizeincrease -100
+       size 7 9
+       stretchfactor 2
+       tex 8 15
+       velocityjitter 100 100 100
+       velocitymultiplier 0.200000
  effect torchflame
- count 3
- type smoke
- tex 48 55
- color 0x8f0d00 0xff5a00
- size 5 5
- sizeincrease 20
-  gravity -0.06
- alpha 50 256 250
- velocityjitter 40 40 11
- velocitymultiplier 30
- airfriction 1.2
- //slowfire
+       type smoke
+       airfriction 1.200000
+       alpha 50 256 250
+       color 0x8f0d00 0xff5a00
+       count 3
+       gravity -0.060000
+       sizeincrease 20
+       size 5 5
+       tex 48 55
+       velocityjitter 40 40 11
+       velocitymultiplier 30
  effect torchflame
- count 2.5
- type smoke
- tex 48 55
- color 0x8f0d00 0xff5a00
- size 5 5
- sizeincrease 20
-  gravity -0.06
- alpha 50 256 200
- velocityjitter 40 40 40
- velocitymultiplier 20
- airfriction 1.2
- // very slow and small fire
+       type smoke
+       airfriction 1.200000
+       alpha 50 256 200
+       color 0x8f0d00 0xff5a00
+       count 2.500000
+       gravity -0.060000
+       sizeincrease 20
+       size 5 5
+       tex 48 55
+       velocityjitter 40 40 40
+       velocitymultiplier 20
  effect torchflame
- count 1.5
- type smoke
- tex 48 55
- color 0x8f0d00 0xff5a00
- size 5 5
- sizeincrease 10
-  gravity -0.06
- alpha 50 256 200
- velocityjitter 30 30 30
- velocitymultiplier 10
- airfriction 0.3
- //decreasing fire
+       type smoke
+       airfriction 0.300000
+       alpha 50 256 200
+       color 0x8f0d00 0xff5a00
+       count 1.500000
+       gravity -0.060000
+       sizeincrease 10
+       size 5 5
+       tex 48 55
+       velocityjitter 30 30 30
+       velocitymultiplier 10
  effect torchflame
- count 2
- type smoke
- tex 48 55
- color 0x8f0d00 0xff5a00
- size 20 30
- sizeincrease -10
-  gravity -0.06
- alpha 50 256 200
- velocityjitter 10 10 10
- velocitymultiplier 15
- airfriction 0.3
- //smoke
+       type smoke
+       airfriction 0.300000
+       alpha 50 256 200
+       color 0x8f0d00 0xff5a00
+       count 2
+       gravity -0.060000
+       sizeincrease -10
+       size 20 30
+       tex 48 55
+       velocityjitter 10 10 10
+       velocitymultiplier 15
  effect torchflame
- count 0.5
- type alphastatic
- tex 0 8
- size 5 15
- sizeincrease 7
- color 0x000000 0x111111
- alpha 256 256 90
- //gravity -0.2
- originjitter 10 10 10
- velocitymultiplier 20
- velocityoffset 0 0 10
- airfriction 1
- //happy death fx for cl_gentle
+       type alphastatic
+       airfriction 1
+       alpha 256 256 90
+       color 0x000000 0x111111
+       count 0.500000
+       originjitter 10 10 10
+       sizeincrease 7
+       size 5 15
+       tex 0 8
+       velocitymultiplier 20
+       velocityoffset 0 0 10
  effect happy_damage_dissolve
- tex 69 69
- count 15
- type alphastatic
- color 0x00FFFF 0xFF00FF
- size 32 32
- sizeincrease -10
- alpha 256 256 228
- gravity -0.4
- bounce 1.5
- airfriction 3
- liquidfriction 6
- velocityjitter 312 312 312
+       type alphastatic
+       airfriction 3
+       alpha 256 256 228
+       bounce 1.500000
+       color 0x00FFFF 0xFF00FF
+       count 15
+       gravity -0.400000
+       liquidfriction 6
+       sizeincrease -10
+       size 32 32
+       tex 69 69
      velocityjitter 312 312 312
  effect happy_damage_dissolve
- tex 69 69
- count 15
- type alphastatic
color 0xFF00FF 0xFFFF00
- size 32 32
- sizeincrease -10
- alpha 256 256 228
- gravity -0.4
- bounce 1.5
- airfriction 3
- liquidfriction 6
- velocityjitter 312 312 312
+       type alphastatic
+       airfriction 3
+       alpha 256 256 228
      bounce 1.500000
+       color 0xFF00FF 0xFFFF00
+       count 15
+       gravity -0.400000
+       liquidfriction 6
+       sizeincrease -10
+       size 32 32
+       tex 69 69
      velocityjitter 312 312 312
  effect happy_damage_dissolve
- tex 69 69
- count 15
- type alphastatic
- color 0xFFFF00 0x00FFFF
- size 32 32
- sizeincrease -10
- alpha 256 256 228
- gravity -0.4
- bounce 1.5
- airfriction 3
- liquidfriction 6
- velocityjitter 312 312 312
- //happy damage fx for cl_gentle
+       type alphastatic
+       airfriction 3
+       alpha 256 256 228
+       bounce 1.500000
+       color 0xFFFF00 0x00FFFF
+       count 15
+       gravity -0.400000
+       liquidfriction 6
+       sizeincrease -10
+       size 32 32
+       tex 69 69
+       velocityjitter 312 312 312
  effect happy_damage_hit
- tex 69 69
- count 0.1
- type alphastatic
- color 0x00FFFF 0xFF00FF
- size 26 26
- sizeincrease -28
- alpha 128 128 192
- gravity -0.4
- bounce 1.5
- airfriction 5
- liquidfriction 10
- velocityjitter 156 156 156
+       type alphastatic
+       airfriction 5
+       alpha 128 128 192
+       bounce 1.500000
+       color 0x00FFFF 0xFF00FF
+       count 0.100000
+       gravity -0.400000
+       liquidfriction 10
+       sizeincrease -28
+       size 26 26
+       tex 69 69
      velocityjitter 156 156 156
  effect happy_damage_hit
- tex 69 69
- count 0.1
- type alphastatic
color 0xFF00FF 0xFFFF00
- size 26 26
- sizeincrease -28
- alpha 128 128 192
- gravity -0.4
- bounce 1.5
- airfriction 5
- liquidfriction 10
- velocityjitter 156 156 156
+       type alphastatic
+       airfriction 5
+       alpha 128 128 192
      bounce 1.500000
+       color 0xFF00FF 0xFFFF00
+       count 0.100000
+       gravity -0.400000
+       liquidfriction 10
+       sizeincrease -28
+       size 26 26
+       tex 69 69
      velocityjitter 156 156 156
  effect happy_damage_hit
- tex 69 69
- count 0.1
- type alphastatic
- color 0xFFFF00 0x00FFFF
- size 26 26
- sizeincrease -28
- alpha 128 128 192
- gravity -0.4
- bounce 1.5
- airfriction 5
- liquidfriction 10
- velocityjitter 156 156 156
- // used in qcsrc/server/w_electro.qc: pointparticles(particleeffectnum("electro_muzzleflash"), w_shotorg, w_shotdir * 1000, 1)
- // used in qcsrc/server/w_electro.qc: pointparticles(particleeffectnum("electro_muzzleflash"), w_shotorg, w_shotdir * 1000, 1)
+       type alphastatic
+       airfriction 5
+       alpha 128 128 192
+       bounce 1.500000
+       color 0xFFFF00 0x00FFFF
+       count 0.100000
+       gravity -0.400000
+       liquidfriction 10
+       sizeincrease -28
+       size 26 26
+       tex 69 69
+       velocityjitter 156 156 156
  effect electro_lightning
- countabsolute 1
- type decal
- tex 59 59
- size 16 16
alpha 256 256 0
- originjitter 2 2 2
- lightradius 50
- lightradiusfade 500
- lightcolor 3.125 4.375 10
+       type decal
+       alpha 256 256 0
+       countabsolute 1
+       lightcolor 3.1 4.4 10
      lightradiusfade 500
+       lightradius 50
+       originjitter 2 2 2
+       size 16 16
+       tex 59 59
  effect electro_lightning
- count 300
- type spark
- // color 0x501860 0x501860 // 0x202020 0x404040
- color 0x2030FF 0x80C0FF
- tex 65 65
- size 6 6
- alpha 100 206 1724
- originjitter 1.5 1.5 1.5
- velocityjitter 6 6 6
- sizeincrease 10
- velocitymultiplier 2000
+       type spark
+       alpha 100 206 1724
+       color 0x2030FF 0x80C0FF
+       count 300
+       originjitter 1.5 1.5 1.5
+       sizeincrease 10
+       size 6 6
+       tex 65 65
+       velocityjitter 6 6 6
+       velocitymultiplier 2000
  effect electro_lightning
- count 30
- type spark
- tex 8 15
- color 0xDDFDFF 0xFDFDFF
- size 2 5
- alpha 110 170 1500
- originjitter 1 1 1
velocityjitter 150 150 150
velocitymultiplier 0.5
- airfriction 2
- stretchfactor 1.5
+       type spark
+       airfriction 2
+       alpha 110 170 1500
      color 0xDDFDFF 0xFDFDFF
+       count 30
+       originjitter 1 1 1
+       size 2 5
      stretchfactor 1.500000
      tex 8 15
+       velocityjitter 150 150 150
+       velocitymultiplier 0.500000
  effect electro_lightning
- count 50
- type spark
- tex 41 41
- color 0xFDFDFF 0xF9FDFF
- size 2 3
- alpha 110 170 1500
- originjitter 1 1 1
- velocityjitter 350 350 350
- velocitymultiplier 2.5
- airfriction 8
- gravity 1.3
- stretchfactor 0.1
- // used in qcsrc/server/w_gauntlet.qc:        pointparticles(particleeffectnum("electro_muzzleflash"), w_shotorg, w_shotdir * 1000, 1)
+       type spark
+       airfriction 8
+       alpha 110 170 1500
+       color 0xFDFDFF 0xF9FDFF
+       count 50
+       gravity 1.300000
+       originjitter 1 1 1
+       size 2 3
+       stretchfactor 0.100000
+       tex 41 41
+       velocityjitter 350 350 350
+       velocitymultiplier 2.500000
  effect gauntlet_lightning
- count 300
- type spark
color 0x280000 0x280000 // 0x202020 0x404040
- tex 65 65
- size 3 3
- alpha 256 256 1024
- originjitter 1.5 1.5 1.5
- velocityjitter 6 6 6
- sizeincrease 15
- velocitymultiplier 2000
+       type spark
+       alpha 256 256 1024
      color 0x280000 0x280000
+       count 300
+       originjitter 1.5 1.5 1.5
+       sizeincrease 15
+       size 3 3
+       tex 65 65
+       velocityjitter 6 6 6
      velocitymultiplier 2000
  effect gauntlet_lightning
- count 30
- type spark
- tex 8 15
- color 0xDD0000 0xFD0000
- size 2 5
- alpha 110 228 1024
- originjitter 1 1 1
velocityjitter 150 150 150
velocitymultiplier 0.5
- airfriction 2
- stretchfactor 1.5
+       type spark
+       airfriction 2
+       alpha 110 228 1024
      color 0xDD0000 0xFD0000
+       count 30
+       originjitter 1 1 1
+       size 2 5
      stretchfactor 1.500000
      tex 8 15
+       velocityjitter 150 150 150
+       velocitymultiplier 0.500000
  effect gauntlet_lightning
- count 50
- type spark
- tex 41 41
- color 0xFD0000 0xF90000
- size 2 3
- alpha 110 228 600
- originjitter 1 1 1
- velocityjitter 350 350 350
- velocitymultiplier 2.5
- airfriction 8
- gravity 1.3
- stretchfactor 0.1
- // crylink joinexplode effect
- // decal
- // used in qcsrc/client/damage.qc:                                    pointparticles(particleeffectnum("crylink_joinexplode"), org2, '0 0 0', 1)
+       type spark
+       airfriction 8
+       alpha 110 228 600
+       color 0xFD0000 0xF90000
+       count 50
+       gravity 1.300000
+       originjitter 1 1 1
+       size 2 3
+       stretchfactor 0.100000
+       tex 41 41
+       velocityjitter 350 350 350
+       velocitymultiplier 2.500000
  effect crylink_joinexplode
- countabsolute 1
- type decal
- tex 47 47
- size 24 24
- alpha 256 256 0
- originjitter 12 12 12
- //lightradius 200
- //lightradiusfade 800
- //lightcolor 3.2 0.4 4
- // purple flare effect
+       type decal
+       alpha 256 256 0
+       countabsolute 1
+       originjitter 12 12 12
+       size 24 24
+       tex 47 47
  effect crylink_joinexplode
- countabsolute 1
- type static
- tex 39 39
- color 0x504060 0x504060
- size 24 24
- alpha 256 256 512
- // purple sparks
+       type static
+       alpha 256 256 512
+       color 0x504060 0x504060
+       countabsolute 1
+       size 24 24
+       tex 39 39
  effect crylink_joinexplode
- count 40
- type spark
- tex 41 41
- color 0xA040C0 0xA040C0
- bounce 2
- size 6 6
- alpha 256 256 1024
- velocityjitter 512 512 512
- // purple splash
+       type spark
+       alpha 256 256 1024
+       bounce 2
+       color 0xA040C0 0xA040C0
+       count 40
+       size 6 6
+       tex 41 41
+       velocityjitter 512 512 512
  effect crylink_joinexplode
- count 1.5
- type static
- color 0xE070FF 0xE070FF
- size 16 16
- alpha 256 256 512
- velocityjitter 32 32 32
- // purple splash
+       type static
+       alpha 256 256 512
+       color 0xE070FF 0xE070FF
+       count 1.500000
+       size 16 16
+       velocityjitter 32 32 32
  effect crylink_joinexplode
- count 3
- type static
- color 0xE070FF 0xE070FF
- size 16 16
- alpha 256 256 1024
- velocityjitter 256 256 256
- //sparks for keepaway ball touch
- // used nowhere in code
+       type static
+       alpha 256 256 1024
+       color 0xE070FF 0xE070FF
+       count 3
+       size 16 16
+       velocityjitter 256 256 256
  effect kaball_sparks
- count 35
- type spark
- tex 40 40
- color 0xa9cacf 0x0054ff
- size 1 3
- alpha 0 256 556
- gravity 1
- bounce 1.5
- originjitter 1 1 1
- velocityjitter 300 300 300
- velocitymultiplier 0.5
- airfriction 3
- // weak rifle bullet trail (somewhat like a tracer)
- // used in qcsrc/server/w_common.qc:                          zcurveparticles_from_tracetoss(particleeffectnum("tr_bullet"), self.origin, trace_endpos, self.velocity)
- // used in qcsrc/client/projectile.qc:                        trailparticles(self, particleeffectnum("tr_bullet"), from, to)
+       type spark
+       airfriction 3
+       alpha 0 256 556
+       bounce 1.500000
+       color 0xa9cacf 0x0054ff
+       count 35
+       gravity 1
+       originjitter 1 1 1
+       size 1 3
+       tex 40 40
+       velocityjitter 300 300 300
+       velocitymultiplier 0.500000
  effect tr_rifle_weak
- trailspacing 128
- type spark
- color 0x800000 0xFF8020
alpha 256 256 2560
- size 1.5 1.5
- stretchfactor 1
- velocitymultiplier 0.7
+       type spark
+       alpha 256 256 2560
      color 0x800000 0xFF8020
      size 1.500000 1.500000
+       stretchfactor 1
+       trailspacing 128
+       velocitymultiplier 0.700000
  effect tr_rifle_weak
- notunderwater
- tex 0 8
- trailspacing 48
- type static
- color 0x202020 0x404040
- size 4 4
- sizeincrease 0.4
- alpha 256 256 256
- airfriction -4
- velocityjitter 4 4 4
- type smoke
+       type smoke
+       airfriction -4
+       alpha 256 256 256
+       color 0x202020 0x404040
+       notunderwater
+       sizeincrease 0.400000
+       size 4 4
+       tex 0 8
+       trailspacing 48
+       velocityjitter 4 4 4
  effect tr_rifle_weak
- underwater
- trailspacing 192
- type bubble
- tex 62 62
- color 0x404040 0x808080
- size 2 2
- alpha 256 256 128
- gravity -0.125
- bounce 1.5
- liquidfriction 4
- velocityjitter 16 16 16
- // red smoke emiter
- // used nowhere in code
+       type bubble
+       alpha 256 256 128
+       bounce 1.500000
+       color 0x404040 0x808080
+       gravity -0.125000
+       liquidfriction 4
+       size 2 2
+       tex 62 62
+       trailspacing 192
+       underwater
+       velocityjitter 16 16 16
  effect red_smoke
- count 2
- type smoke
- tex 0 8
- color 0xff8866 0x331100
- size 60 120
- sizeincrease 0
- alpha 32 64 32
- gravity -0.007
- originjitter 0 0 0
- velocityjitter 0 0 0
- velocitymultiplier 5
- airfriction -1
- rotate 0 360 -30 30
- // pipe smoke emiter
- // used nowhere in code
+       type smoke
+       airfriction -1
+       alpha 32 64 32
+       color 0xff8866 0x331100
+       count 2
+       gravity -0.007000
+       rotate 0 360 -30 30
+       size 60 120
+       tex 0 8
+       velocitymultiplier 5
  effect pipe_smoke
- count 2
- type smoke
- tex 0 8
- color 0x999999 0x555555
- size 5 10
- sizeincrease 35
- alpha 32 64 48
- gravity -0.015
- originjitter 0 0 0
- velocityjitter 0 0 5
- velocitymultiplier 15
- airfriction -1
- rotate 0 360 -180 180
- // seeker missile trail
+       type smoke
+       airfriction -1
+       alpha 32 64 48
+       color 0x999999 0x555555
+       count 2
+       gravity -0.015000
+       rotate 0 360 -180 180
+       sizeincrease 35
+       size 5 10
+       tex 0 8
+       velocityjitter 0 0 5
+       velocitymultiplier 15
  effect TR_SEEKER
- trailspacing 10
- type smoke
- notunderwater
- color 0x000000 0x666666
- tex 0 8
- size 2 2
- bounce 1
- sizeincrease 11
- alpha 200 300 200
- lightradius 100
- lighttime 0
- lightcolor 6 3 1
- originjitter 2 2 2
- velocityjitter 3 3 3
- velocitymultiplier -0.02
- rotate -180 180 -30 30
- //gravity -0.11
- // fire
+       type smoke
+       alpha 200 300 200
+       bounce 1
+       color 0x000000 0x666666
+       lightcolor 6 3 1
+       lightradius 100
+       notunderwater
+       originjitter 2 2 2
+       rotate -180 180 -30 30
+       sizeincrease 11
+       size 2 2
+       tex 0 8
+       trailspacing 10
+       velocityjitter 3 3 3
+       velocitymultiplier -0.020000
  effect TR_SEEKER
- trailspacing 4
- type static
- color 0xffdf72 0x811200
- tex 48 55
- size 5 5
- sizeincrease -30
- alpha 100 144 588
- airfriction 8
- velocityjitter 32 32 32
- velocitymultiplier -1.5
- // bubbles
+       type static
+       airfriction 8
+       alpha 100 144 588
+       color 0xffdf72 0x811200
+       sizeincrease -30
+       size 5 5
+       tex 48 55
+       trailspacing 4
+       velocityjitter 32 32 32
+       velocitymultiplier -1.500000
  effect TR_SEEKER
- type bubble
- underwater
- trailspacing 16
- tex 62 62
- size 1 2
- alpha 256 256 256
- gravity -0.125
- bounce 1.5
- liquidfriction 4
- velocityjitter 16 16 16
- velocitymultiplier -0.31
- rotate 0 0 0 0
- // sparks
+       type bubble
+       alpha 256 256 256
+       bounce 1.500000
+       gravity -0.125000
+       liquidfriction 4
+       size 1 2
+       tex 62 62
+       trailspacing 16
+       underwater
+       velocityjitter 16 16 16
+       velocitymultiplier -0.310000
  effect TR_SEEKER
- notunderwater
- trailspacing 20
- type spark
- tex 40 40
- color 0xFFFDD9 0xFFFDD9
- size 0.5 0.5
- alpha 444 512 1866
- stretchfactor 0.3
- //gravity 1
- bounce 1
- //velocityoffset 0 0 15
- airfriction 5
- originjitter 1 1 1
- velocityjitter 100 100 100
- velocitymultiplier -0.31
- // --------------- vehicles
+       type spark
+       airfriction 5
+       alpha 444 512 1866
+       bounce 1
+       color 0xFFFDD9 0xFFFDD9
+       notunderwater
+       originjitter 1 1 1
+       size 0.500000 0.500000
+       stretchfactor 0.300000
+       tex 40 40
+       trailspacing 20
+       velocityjitter 100 100 100
+       velocitymultiplier -0.310000
  effect spiderbot_minigun_trail
- notunderwater
- trailspacing 10
- type smoke
- color 0xd0d0a0 0xffffff
- tex 0 8
- size 1 2
- alpha 20 50 100
- sizeincrease 2
- velocityjitter 5 5 5
- gravity -0.03
- airfriction 1
+       type smoke
+       airfriction 1
+       alpha 20 50 100
+       color 0xd0d0a0 0xffffff
+       gravity -0.030000
+       notunderwater
+       sizeincrease 2
+       size 1 2
+       tex 0 8
+       trailspacing 10
+       velocityjitter 5 5 5
  effect spiderbot_minigun_muzzleflash
- count 3
- type spark
- color 0xff9c00 0xff8400
- tex 48 55
- size 10 15
- alpha 256 512 6280
- airfriction 10
- originjitter 2 2 2
- velocityjitter 150 150 150
- velocitymultiplier 0.35
- sizeincrease -100
- stretchfactor 1.3
- rotate -180 180 4000 -4000
- // fire
+       type spark
+       airfriction 10
+       alpha 256 512 6280
+       color 0xff9c00 0xff8400
+       count 3
+       originjitter 2 2 2
+       rotate -180 180 4000 -4000
+       sizeincrease -100
+       size 10 15
+       stretchfactor 1.300000
+       tex 48 55
+       velocityjitter 150 150 150
+       velocitymultiplier 0.350000
  effect spiderbot_minigun_muzzleflash
- count 6
- type spark
color 0xff9c00 0xff8400
- tex 8 15
- size 5 7
- alpha 256 512 6280
- airfriction 12
- originjitter 2 2 2
velocityjitter 200 200 200
- velocitymultiplier 0.2
sizeincrease -10
- stretchfactor 0.8
+       type spark
+       airfriction 12
      alpha 256 512 6280
+       color 0xff9c00 0xff8400
+       count 6
+       originjitter 2 2 2
+       sizeincrease -10
+       size 5 7
      stretchfactor 0.800000
+       tex 8 15
      velocityjitter 200 200 200
+       velocitymultiplier 0.200000
  effect spiderbot_minigun_muzzleflash
- countabsolute 2
- type static
- tex 48 55
- color 0xff9c00 0xff8400
- size 32 32
- alpha 256 512 6680
- sizeincrease -100
- stretchfactor 0.1
- rotate -180 180 4000 -4000
- lightradius 120
- lightradiusfade 8000
- lightcolor 3 3 0
+       type static
+       alpha 256 512 6680
+       color 0xff9c00 0xff8400
+       countabsolute 2
+       lightcolor 3 3 0
+       lightradiusfade 8000
+       lightradius 120
+       rotate -180 180 4000 -4000
+       sizeincrease -100
+       size 32 32
+       stretchfactor 0.100000
+       tex 48 55
  effect spiderbot_minigun_impact
- countabsolute 1
- type static
- tex 65 65
- color 0xff9c00 0xf6ff00
- size 52 52
- alpha 50 100 1680
- sizeincrease -100
- stretchfactor 0.1
- rotate -180 180 4000 -4000
- // fire
+       type static
+       alpha 50 100 1680
+       color 0xff9c00 0xf6ff00
+       countabsolute 1
+       rotate -180 180 4000 -4000
+       sizeincrease -100
+       size 52 52
+       stretchfactor 0.100000
+       tex 65 65
  effect spiderbot_minigun_impact
- count 7
- type spark
- color 0xff9c00 0xff8400
- tex 48 55
- size 9 15
- alpha 256 512 6280
- airfriction 10
- originjitter 2 2 2
- velocityjitter 250 250 150
- velocitymultiplier 0.2
- sizeincrease 100
- stretchfactor 3
- airfriction 6
- rotate -180 180 4000 -4000
- // smoke 
+       type spark
+       airfriction 6
+       alpha 256 512 6280
+       color 0xff9c00 0xff8400
+       count 7
+       originjitter 2 2 2
+       rotate -180 180 4000 -4000
+       sizeincrease 100
+       size 9 15
+       stretchfactor 3
+       tex 48 55
+       velocityjitter 250 250 150
+       velocitymultiplier 0.200000
  effect spiderbot_minigun_impact
- count 6
- type smoke
- color 0xd0d0a0 0xffffff
- tex 0 8
- size 10 20
- alpha 50 50 190
- sizeincrease 80
- velocityjitter 100 100 250
- velocitymultiplier 0.49
- gravity 1.3
- airfriction 10
- rotate -180 180 0 0
- // smoke 2
+       type smoke
+       airfriction 10
+       alpha 50 50 190
+       color 0xd0d0a0 0xffffff
+       count 6
+       gravity 1.300000
+       rotate -180 180 0 0
+       sizeincrease 80
+       size 10 20
+       tex 0 8
+       velocityjitter 100 100 250
+       velocitymultiplier 0.490000
  effect spiderbot_minigun_impact
- count 7
- type spark
- color 0xd0d0a0 0xffffff
- tex 0 8
- size 15 19
- alpha 25 51 128
- airfriction 6
- originjitter 2 2 2
- velocityjitter 250 250 150
- velocitymultiplier 0.2
- sizeincrease 100
- stretchfactor 7.6
- // debris
+       type spark
+       airfriction 6
+       alpha 25 51 128
+       color 0xd0d0a0 0xffffff
+       count 7
+       originjitter 2 2 2
+       sizeincrease 100
+       size 15 19
+       stretchfactor 7.600000
+       tex 0 8
+       velocityjitter 250 250 150
+       velocitymultiplier 0.200000
  effect spiderbot_minigun_impact
- notunderwater
- count 3
- type alphastatic
- tex 66 68
- color 0x99977D 0xFFFFFF
- size 6 8
- alpha 644 756 1484
- gravity 1.1
- airfriction 0.4
- sizeincrease -10
- velocitymultiplier 0.15
- originjitter 16 16 16
- velocityjitter 124 124 224
- rotate -180 180 -1000 1000
- // decal
+       type alphastatic
+       airfriction 0.400000
+       alpha 644 756 1484
+       color 0x99977D 0xFFFFFF
+       count 3
+       gravity 1.100000
+       notunderwater
+       originjitter 16 16 16
+       rotate -180 180 -1000 1000
+       sizeincrease -10
+       size 6 8
+       tex 66 68
+       velocityjitter 124 124 224
+       velocitymultiplier 0.150000
  effect spiderbot_minigun_impact
- countabsolute 1
- type decal
- tex 56 59
- size 20 25
- alpha 256 256 0
- originjitter 16 16 16
- rotate -180 180 0 0
+       type decal
+       alpha 256 256 0
+       countabsolute 1
+       originjitter 16 16 16
+       rotate -180 180 0 0
+       size 20 25
+       tex 56 59
  effect spiderbot_rocket_explode
- countabsolute 1
- type decal
- tex 8 16
- size 72 72
- alpha 256 256 0
- originjitter 23 23 23
- lightradius 300
- lightradiusfade 1750
- lightcolor 8 4 0
- // shockwave
+       type decal
+       alpha 256 256 0
+       countabsolute 1
+       lightcolor 8 4 0
+       lightradiusfade 1750
+       lightradius 300
+       originjitter 23 23 23
+       size 72 72
+       tex 8 16
  effect spiderbot_rocket_explode
- countabsolute 1
- type static
- tex 33 33 
- size 22 22
- alpha 56 56 230
- color 0x8f0d00 0xff5a00
- sizeincrease 2400
- // glow
+       type static
+       alpha 56 56 230
+       color 0x8f0d00 0xff5a00
+       countabsolute 1
+       sizeincrease 2400
+       size 22 22
+       tex 33 33
  effect spiderbot_rocket_explode
- countabsolute 1
- type static
- tex 64 64
- size 120 120
- alpha 156 156 830
- color 0x8f0d00 0xff5a00
- sizeincrease 240
- // fire effect
+       type static
+       alpha 156 156 830
+       color 0x8f0d00 0xff5a00
+       countabsolute 1
+       sizeincrease 240
+       size 120 120
+       tex 64 64
  effect spiderbot_rocket_explode
- notunderwater
- count 32
- type static
- tex 48 55
- color 0x8f0d00 0xff5a00
- size 12 21
- sizeincrease 495
- alpha 200 256 812
- airfriction 8
- liquidfriction 8
- originjitter 100 100 100
- velocityjitter 512 512 512
- rotate -180 180 -50 50
- // fire effect 2
+       type static
+       airfriction 8
+       alpha 200 256 812
+       color 0x8f0d00 0xff5a00
+       count 32
+       liquidfriction 8
+       notunderwater
+       originjitter 100 100 100
+       rotate -180 180 -50 50
+       sizeincrease 495
+       size 12 21
+       tex 48 55
+       velocityjitter 512 512 512
  effect spiderbot_rocket_explode
- notunderwater
- count 16
- type spark
- tex 48 55
- color 0x8f0d00 0xff5a00
- size 3 3
- sizeincrease 120
- alpha 200 256 912
- airfriction -2
- liquidfriction 8
- velocityjitter 412 412 412
- rotate -180 180 -150 150
- stretchfactor 10
- // fire rays
+       type spark
+       airfriction -2
+       alpha 200 256 912
+       color 0x8f0d00 0xff5a00
+       count 16
+       liquidfriction 8
+       notunderwater
+       rotate -180 180 -150 150
+       sizeincrease 120
+       size 3 3
+       stretchfactor 10
+       tex 48 55
+       velocityjitter 412 412 412
  effect spiderbot_rocket_explode
- notunderwater
- count 10
- type spark
- tex 48 55
- color 0x8f0d00 0xff5a00
- size 13 54
- sizeincrease 120
- alpha 200 256 1600
- airfriction -3
- liquidfriction 8
- originjitter 40 40 40
- velocityjitter 712 712 712
- stretchfactor 10
- // smoke
+       type spark
+       airfriction -3
+       alpha 200 256 1600
+       color 0x8f0d00 0xff5a00
+       count 10
+       liquidfriction 8
+       notunderwater
+       originjitter 40 40 40
+       sizeincrease 120
+       size 13 54
+       stretchfactor 10
+       tex 48 55
+       velocityjitter 712 712 712
  effect spiderbot_rocket_explode
- type alphastatic
- notunderwater
- tex 0 8
- count 10
- size 10 15
- sizeincrease 280
- alpha 300 650 756
- originjitter 100 100 100
- velocityjitter 200 200 200
- airfriction 3
- color 0x4F4B46 0x000000
- rotate -180 180 -20 20
- // smoke2
+       type alphastatic
+       airfriction 3
+       alpha 300 650 756
+       color 0x4F4B46 0x000000
+       count 10
+       notunderwater
+       originjitter 100 100 100
+       rotate -180 180 -20 20
+       sizeincrease 280
+       size 10 15
+       tex 0 8
+       velocityjitter 200 200 200
  effect spiderbot_rocket_explode
- type alphastatic
- notunderwater
- tex 0 8
- count 3
- size 100 150
- sizeincrease 30
- alpha 300 650 556
- originjitter 10 10 10
- velocityjitter 200 200 200
- airfriction 2
- gravity -0.5
- color 0x4F4B46 0x000000
- rotate -180 180 -20 20
- // underwater bubbles
+       type alphastatic
+       airfriction 2
+       alpha 300 650 556
+       color 0x4F4B46 0x000000
+       count 3
+       gravity -0.500000
+       notunderwater
+       originjitter 10 10 10
+       rotate -180 180 -20 20
+       sizeincrease 30
+       size 100 150
+       tex 0 8
+       velocityjitter 200 200 200
  effect spiderbot_rocket_explode
- underwater
- count 32
- type bubble
- tex 62 62
- color 0x404040 0x808080
- size 1 3
- alpha 128 256 64
- gravity -0.125
- bounce 1.5
- liquidfriction 0.25
- originjitter 160 160 160
- velocityjitter 144 144 144
- // underwatershockwave
+       type bubble
+       alpha 128 256 64
+       bounce 1.500000
+       color 0x404040 0x808080
+       count 32
+       gravity -0.125000
+       liquidfriction 0.250000
+       originjitter 160 160 160
+       size 1 3
+       tex 62 62
+       underwater
+       velocityjitter 144 144 144
  effect spiderbot_rocket_explode
- underwater
- type smoke
- countabsolute 1
- tex 33 33
- size 30 30
- sizeincrease 1200
- alpha 40 40 300
+       type smoke
+       alpha 40 40 300
+       countabsolute 1
+       sizeincrease 1200
+       size 30 30
+       tex 33 33
+       underwater
  effect spiderbot_rocket_thrust
- notunderwater
- count 3
- type spark
- tex 48 55
- color 0x8f0d00 0xff5a00
size 5 10
sizeincrease -40
alpha 200 256 1600
- velocityjitter 20 20 20
- velocitymultiplier -1.4
- stretchfactor 0.9
+       type spark
+       alpha 200 256 1600
+       color 0x8f0d00 0xff5a00
+       count 3
+       notunderwater
      sizeincrease -40
      size 5 10
      stretchfactor 0.900000
+       tex 48 55
+       velocityjitter 20 20 20
+       velocitymultiplier -1.400000
  effect spiderbot_rocket_thrust
- notunderwater
- count 4
- type static
- tex 48 55
- color 0x8f0d00 0xff5a00
- size 25 25
- sizeincrease -3000
- alpha 200 200 9000
- velocityjitter 60 60 60
- velocitymultiplier -1.4
- stretchfactor 1
- rotate -180 180 -500 500
- // long lasting smoke
+       type static
+       alpha 200 200 9000
+       color 0x8f0d00 0xff5a00
+       count 4
+       notunderwater
+       rotate -180 180 -500 500
+       sizeincrease -3000
+       size 25 25
+       stretchfactor 1
+       tex 48 55
+       velocityjitter 60 60 60
+       velocitymultiplier -1.400000
  effect spiderbot_rocket_launch
- notunderwater
- count 8
- type smoke
- tex 0 8
- color 0xFFFFFF 0xD9C4B0
- size 30 30
- sizeincrease 20
- alpha 100 156 60
- velocityjitter 60 60 60
- velocitymultiplier -0.1
- airfriction 0.3
- gravity -0.01
- // fast smoke
+       type smoke
+       airfriction 0.300000
+       alpha 100 156 60
+       color 0xFFFFFF 0xD9C4B0
+       count 8
+       gravity -0.010000
+       notunderwater
+       sizeincrease 20
+       size 30 30
+       tex 0 8
+       velocityjitter 60 60 60
+       velocitymultiplier -0.100000
  effect spiderbot_rocket_launch
- notunderwater
- count 14
- type smoke
- tex 0 8
- color 0xFFFFFF 0xD9C4B0
- size 30 30
- sizeincrease 20
- alpha 100 156 260
- gravity -0.3
- velocityjitter 160 160 60
- airfriction 0.3
- // fire
+       type smoke
+       airfriction 0.300000
+       alpha 100 156 260
+       color 0xFFFFFF 0xD9C4B0
+       count 14
+       gravity -0.300000
+       notunderwater
+       sizeincrease 20
+       size 30 30
+       tex 0 8
+       velocityjitter 160 160 60
  effect spiderbot_rocket_launch
- notunderwater
- count 14
- type spark
- tex 48 55
- color 0x8f0d00 0xff5a00
- size 30 30
- sizeincrease 40
- velocitymultiplier 0.5
- alpha 200 256 1960
- velocityjitter 60 60 60
- airfriction 0.3
- stretchfactor 3
- airfriction 0.3
- //sparks
+       type spark
+       airfriction 0.300000
+       alpha 200 256 1960
+       color 0x8f0d00 0xff5a00
+       count 14
+       notunderwater
+       sizeincrease 40
+       size 30 30
+       stretchfactor 3
+       tex 48 55
+       velocityjitter 60 60 60
+       velocitymultiplier 0.500000
  effect spiderbot_rocket_launch
- notunderwater
- count 10
- type spark
- tex 40 40
- color 0xFFFFFF 0xD9C4B0
- size 1 4
- alpha 200 256 1000
- velocityjitter 160 160 160
- velocitymultiplier -0.5
+       type spark
+       alpha 200 256 1000
+       color 0xFFFFFF 0xD9C4B0
+       count 10
+       notunderwater
+       size 1 4
+       tex 40 40
+       velocityjitter 160 160 160
+       velocitymultiplier -0.500000
  effect wakizashi_gun_impact
- count 15
- type spark
- color 0xff0000 0xc03535
- tex 41 41
- size 4 7
- alpha 256 512 1180
- airfriction 4
- gravity 3
originjitter 40 40 10
- velocityjitter 350 350 550
velocityoffset 0 0 700
- stretchfactor 0.9
+       type spark
+       airfriction 4
+       alpha 256 512 1180
+       color 0xff0000 0xc03535
+       count 15
+       gravity 3
+       originjitter 40 40 10
+       size 4 7
      stretchfactor 0.900000
+       tex 41 41
      velocityjitter 350 350 550
+       velocityoffset 0 0 700
  effect wakizashi_gun_impact
- type smoke
- count 24
- color 0xd0d0a0 0xc03535
- tex 0 8
- size 10 20
- alpha 50 90 150
- sizeincrease 80
- velocityjitter 250 250 450
- velocityoffset 0 0 600
- originjitter 40 40 10
- airfriction 4
- sizeincrease 80
- rotate -180 180 0 0
+       type smoke
+       airfriction 4
+       alpha 50 90 150
+       color 0xd0d0a0 0xc03535
+       count 24
+       originjitter 40 40 10
+       rotate -180 180 0 0
+       sizeincrease 80
+       size 10 20
+       tex 0 8
+       velocityjitter 250 250 450
+       velocityoffset 0 0 600
  effect wakizashi_gun_impact
- countabsolute 1
- type smoke
tex 65 65
- color 0xff0000 0xc03535
- size 82 82
- alpha 250 300 680
- sizeincrease -180
+       type smoke
+       alpha 250 300 680
      color 0xff0000 0xc03535
+       countabsolute 1
+       sizeincrease -180
+       size 82 82
+       tex 65 65
  effect wakizashi_gun_impact
- countabsolute 1
- type smoke
- tex 33 33
- color 0xff0000 0xc03535
size 40 40
alpha 50 100 620
sizeincrease 900
- rotate -180 180 400 -400
+       type smoke
+       alpha 50 100 620
+       color 0xff0000 0xc03535
+       countabsolute 1
      rotate -180 180 400 -400
      sizeincrease 900
      size 40 40
+       tex 33 33
  effect wakizashi_gun_impact
- countabsolute 1
- type decal
- tex 59 59
- size 14 14
- alpha 256 256 0
- originjitter 16 16 16
- rotate -180 180 0 0
+       type decal
+       alpha 256 256 0
+       countabsolute 1
+       originjitter 16 16 16
+       rotate -180 180 0 0
+       size 14 14
+       tex 59 59
  effect wakizashi_gun_muzzleflash
- count 16
- type spark
- color 0xff0000 0xc03535
- tex 8 15
- size 5 7
- alpha 256 512 6280
- airfriction 12
- originjitter 2 2 2
- velocityjitter 200 200 200
- velocitymultiplier 0.2
- sizeincrease -10
- stretchfactor 0.7
+       type spark
+       airfriction 12
+       alpha 256 512 6280
+       color 0xff0000 0xc03535
+       count 16
+       originjitter 2 2 2
+       sizeincrease -10
+       size 5 7
+       stretchfactor 0.700000
+       tex 8 15
+       velocityjitter 200 200 200
+       velocitymultiplier 0.200000
  effect wakizashi_rocket_explode
- countabsolute 1
- type decal
- tex 8 16
- size 72 72
- alpha 256 256 0
- originjitter 23 23 23
- lightradius 300
- lightradiusfade 1750
- lightcolor 8 4 0
- // shockwave
+       type decal
+       alpha 256 256 0
+       countabsolute 1
+       lightcolor 8 4 0
+       lightradiusfade 1750
+       lightradius 300
+       originjitter 23 23 23
+       size 72 72
+       tex 8 16
  effect wakizashi_rocket_explode
- countabsolute 1
- type static
- tex 33 33 
- size 22 22
- alpha 56 56 230
- color 0x8f0d00 0xff5a00
- sizeincrease 2400
- // glow
+       type static
+       alpha 56 56 230
+       color 0x8f0d00 0xff5a00
+       countabsolute 1
+       sizeincrease 2400
+       size 22 22
+       tex 33 33
  effect wakizashi_rocket_explode
- countabsolute 1
- type static
- tex 64 64
- size 120 120
- alpha 156 156 830
- color 0x8f0d00 0xff5a00
- sizeincrease 240
- // fire effect
+       type static
+       alpha 156 156 830
+       color 0x8f0d00 0xff5a00
+       countabsolute 1
+       sizeincrease 240
+       size 120 120
+       tex 64 64
  effect wakizashi_rocket_explode
- notunderwater
- count 64
- type static
- tex 48 55
- color 0xFFAE00 0xff5a00
- size 12 21
- sizeincrease 195
- alpha 200 256 512
- airfriction 2
- liquidfriction 8
- originjitter 10 10 10
- velocityjitter 512 512 512
- rotate -180 180 -50 50
- // fire rays
+       type static
+       airfriction 2
+       alpha 200 256 512
+       color 0xFFAE00 0xff5a00
+       count 64
+       liquidfriction 8
+       notunderwater
+       originjitter 10 10 10
+       rotate -180 180 -50 50
+       sizeincrease 195
+       size 12 21
+       tex 48 55
+       velocityjitter 512 512 512
  effect wakizashi_rocket_explode
- notunderwater
- count 10
- type spark
- tex 48 55
- color 0xFFEA00 0xff5a00
- size 43 54
- sizeincrease 120
- alpha 200 256 1600
- airfriction -3
- liquidfriction 8
- originjitter 40 40 40
- velocityjitter 512 512 512
- stretchfactor 10
- // smoke
+       type spark
+       airfriction -3
+       alpha 200 256 1600
+       color 0xFFEA00 0xff5a00
+       count 10
+       liquidfriction 8
+       notunderwater
+       originjitter 40 40 40
+       sizeincrease 120
+       size 43 54
+       stretchfactor 10
+       tex 48 55
+       velocityjitter 512 512 512
  effect wakizashi_rocket_explode
- type alphastatic
- notunderwater
- tex 0 8
- count 32
- size 10 15
- sizeincrease 230
- alpha 300 450 556
- originjitter 100 100 100
- velocityjitter 200 200 200
- airfriction 3
- color 0x4F4B46 0x000000
- rotate -180 180 -20 20
- // bouncing sparks
+       type alphastatic
+       airfriction 3
+       alpha 300 450 556
+       color 0x4F4B46 0x000000
+       count 32
+       notunderwater
+       originjitter 100 100 100
+       rotate -180 180 -20 20
+       sizeincrease 230
+       size 10 15
+       tex 0 8
+       velocityjitter 200 200 200
  effect wakizashi_rocket_explode
- notunderwater
- count 14
- type spark
- tex 40 40
- color 0xffa35b 0xfff2be
- size 1 2
- alpha 644 956 884
- gravity 1
- airfriction 1
- liquidfriction 0.8
- velocityoffset 0 0 170
- originjitter 60 60 60
- velocityjitter 524 524 524
- // underwater bubbles
+       type spark
+       airfriction 1
+       alpha 644 956 884
+       color 0xffa35b 0xfff2be
+       count 14
+       gravity 1
+       liquidfriction 0.800000
+       notunderwater
+       originjitter 60 60 60
+       size 1 2
+       tex 40 40
+       velocityjitter 524 524 524
+       velocityoffset 0 0 170
  effect wakizashi_rocket_explode
- underwater
- count 32
- type bubble
- tex 62 62
- color 0x404040 0x808080
- size 1 3
- alpha 128 256 64
- gravity -0.125
- bounce 1.5
- liquidfriction 0.25
- originjitter 160 160 160
- velocityjitter 144 144 144
- // underwatershockwave
+       type bubble
+       alpha 128 256 64
+       bounce 1.500000
+       color 0x404040 0x808080
+       count 32
+       gravity -0.125000
+       liquidfriction 0.250000
+       originjitter 160 160 160
+       size 1 3
+       tex 62 62
+       underwater
+       velocityjitter 144 144 144
  effect wakizashi_rocket_explode
- underwater
- type smoke
- countabsolute 1
- tex 33 33
- size 30 30
- sizeincrease 1200
- alpha 40 40 300
+       type smoke
+       alpha 40 40 300
+       countabsolute 1
+       sizeincrease 1200
+       size 30 30
+       tex 33 33
+       underwater
  effect wakizashi_rocket_thrust
- notunderwater
- countabsolute 3
- type spark
- tex 48 55
- color 0x00FFDD 0x6200FF
- size 14 19
- sizeincrease -2
- alpha 200 256 1600
- velocityjitter 60 60 60
- velocitymultiplier -1.1
- stretchfactor 1
+       type spark
+       alpha 200 256 1600
+       color 0x00FFDD 0x6200FF
+       countabsolute 3
+       notunderwater
+       sizeincrease -2
+       size 14 19
+       stretchfactor 1
+       tex 48 55
+       velocityjitter 60 60 60
+       velocitymultiplier -1.100000
  effect wakizashi_rocket_thrust
- notunderwater
- countabsolute 2
- type spark
- tex 48 55
- color 0xFFFF33 0xFFEE00
- size 5 10
- sizeincrease -2
- alpha 200 256 1900
- velocityjitter 60 60 60
- velocitymultiplier -0.3
- stretchfactor 3
- // long lasting smoke
+       type spark
+       alpha 200 256 1900
+       color 0xFFFF33 0xFFEE00
+       countabsolute 2
+       notunderwater
+       sizeincrease -2
+       size 5 10
+       stretchfactor 3
+       tex 48 55
+       velocityjitter 60 60 60
+       velocitymultiplier -0.300000
  effect wakizashi_rocket_launch
- notunderwater
- count 8
- type smoke
- tex 0 8
- color 0xFFFFFF 0xD9C4B0
- size 3 30
- sizeincrease 20
- alpha 100 156 60
- velocityjitter 160 160 60
- velocitymultiplier -0.1
- airfriction 0.3
- // fast smoke
+       type smoke
+       airfriction 0.300000
+       alpha 100 156 60
+       color 0xFFFFFF 0xD9C4B0
+       count 8
+       notunderwater
+       sizeincrease 20
+       size 3 30
+       tex 0 8
+       velocityjitter 160 160 60
+       velocitymultiplier -0.100000
  effect wakizashi_rocket_launch
- notunderwater
- count 14
- type smoke
- tex 0 8
- color 0xFFFFFF 0xD9C4B0
- size 30 30
- sizeincrease 20
- alpha 100 156 260
- velocityjitter 160 160 60
- velocitymultiplier 0.4
- airfriction 0.3
- //sparks
+       type smoke
+       airfriction 0.300000
+       alpha 100 156 260
+       color 0xFFFFFF 0xD9C4B0
+       count 14
+       notunderwater
+       sizeincrease 20
+       size 30 30
+       tex 0 8
+       velocityjitter 160 160 60
+       velocitymultiplier 0.400000
  effect wakizashi_rocket_launch
- notunderwater
- count 10
- type spark
- tex 40 40
- color 0xFFFFFF 0xD9C4B0
- size 1 4
- alpha 200 256 1000
- velocityjitter 60 60 60
- velocitymultiplier -1.5
+       type spark
+       alpha 200 256 1000
+       color 0xFFFFFF 0xD9C4B0
+       count 10
+       notunderwater
+       size 1 4
+       tex 40 40
+       velocityjitter 60 60 60
+       velocitymultiplier -1.500000
  effect wakizashi_booster_smoke
- type alphastatic
- notunderwater
- tex 0 8
- count 3
- size 60 100
- sizeincrease 10
- gravity -0.1
- alpha 200 750 200
- velocityjitter 40 40 40
- originjitter 60 60 60
- airfriction 2
- color 0xA69A80 0xB3B39F
- rotate -180 180 -20 20
- // decal
+       type alphastatic
+       airfriction 2
+       alpha 200 750 200
+       color 0xA69A80 0xB3B39F
+       count 3
+       gravity -0.100000
+       notunderwater
+       originjitter 60 60 60
+       rotate -180 180 -20 20
+       sizeincrease 10
+       size 60 100
+       tex 0 8
+       velocityjitter 40 40 40
  effect raptor_cannon_impact
- countabsolute 1
- type decal
- tex 47 47
- size 24 24
- alpha 256 256 0
- originjitter 16 16 16
- rotate -180 180 0 0
- //spark
+       type decal
+       alpha 256 256 0
+       countabsolute 1
+       originjitter 16 16 16
+       rotate -180 180 0 0
+       size 24 24
+       tex 47 47
  effect raptor_cannon_impact
- notunderwater
- count 6
- type spark
- tex 40 40
- color 0xD400FF 0x571863
- size 1 1
- alpha 644 956 784
- gravity 1
- airfriction 0.2
- velocityoffset 0 0 150
- originjitter 16 16 16
- velocityjitter 124 124 524
- // smoke
+       type spark
+       airfriction 0.200000
+       alpha 644 956 784
+       color 0xD400FF 0x571863
+       count 6
+       gravity 1
+       notunderwater
+       originjitter 16 16 16
+       size 1 1
+       tex 40 40
+       velocityjitter 124 124 524
+       velocityoffset 0 0 150
  effect raptor_cannon_impact
- count 4
- type alphastatic
- tex 0 7
- size 50 50
- color 0x646364 0x151515
- alpha 428 428 600
- rotate -180 180 0 0
- velocityjitter 200 200 300
- velocityoffset 0 0 340
- gravity 0.7
- airfriction 2
- // fire
+       type alphastatic
+       airfriction 2
+       alpha 428 428 600
+       color 0x646364 0x151515
+       count 4
+       gravity 0.700000
+       rotate -180 180 0 0
+       size 50 50
+       tex 0 7
+       velocityjitter 200 200 300
+       velocityoffset 0 0 340
  effect raptor_cannon_impact
- notunderwater
- count 10
- type static
- tex 48 55
- color 0xD400FF 0x571863
- size 33 44
- sizeincrease 25
- alpha 200 256 812
- bounce 1.5
- airfriction 8
- liquidfriction 8
- originjitter 8 8 8
- velocityjitter 312 312 312
+       type static
+       airfriction 8
+       alpha 200 256 812
+       bounce 1.500000
+       color 0xD400FF 0x571863
+       count 10
+       liquidfriction 8
+       notunderwater
+       originjitter 8 8 8
+       sizeincrease 25
+       size 33 44
+       tex 48 55
+       velocityjitter 312 312 312
  effect raptor_cannon_muzzleflash
- count 16
- type spark
- color 0xD400FF 0x571863
- tex 8 15
- size 10 17
- alpha 1256 1512 56280
- airfriction 12
- originjitter 2 2 2
velocityjitter 200 200 200
- velocitymultiplier 0.2
sizeincrease -10
- stretchfactor 0.6
+       type spark
+       airfriction 12
+       alpha 1256 1512 56280
+       color 0xD400FF 0x571863
+       count 16
+       originjitter 2 2 2
+       sizeincrease -10
+       size 10 17
      stretchfactor 0.600000
+       tex 8 15
      velocityjitter 200 200 200
+       velocitymultiplier 0.200000
  effect raptor_cannon_muzzleflash
- countabsolute 1
- type static
- tex 48 55
- color 0xD400FF 0x571863
- size 32 32
- alpha 6056 20112 406280
- sizeincrease -100
- stretchfactor 0.1
- rotate -180 180 4000 -4000
- lightradius 150
- lightradiusfade 6000
- lightcolor 3 0 6
- // decal
+       type static
+       alpha 6056 20112 406280
+       color 0xD400FF 0x571863
+       countabsolute 1
+       lightcolor 3 0 6
+       lightradiusfade 6000
+       lightradius 150
+       rotate -180 180 4000 -4000
+       sizeincrease -100
+       size 32 32
+       stretchfactor 0.100000
+       tex 48 55
  effect raptor_bomb_impact
- countabsolute 1
- type decal
- tex 8 16
- size 84 84
- alpha 256 256 0
- originjitter 16 16 16
- rotate -180 180 0 0
- //spark vertical
+       type decal
+       alpha 256 256 0
+       countabsolute 1
+       originjitter 16 16 16
+       rotate -180 180 0 0
+       size 84 84
+       tex 8 16
  effect raptor_bomb_impact
- count 3
- type spark
- color 0xff9c00 0xff3c00
- tex 48 55
- size 20 40
- alpha 300 300 600
- originjitter 10 10 10
- velocityjitter 40 40 120
- stretchfactor 210
- sizeincrease 50
- //fire
+       type spark
+       alpha 300 300 600
+       color 0xff9c00 0xff3c00
+       count 3
+       originjitter 10 10 10
+       sizeincrease 50
+       size 20 40
+       stretchfactor 210
+       tex 48 55
+       velocityjitter 40 40 120
  effect raptor_bomb_impact
- count 4
- type static 
- color 0xff9c00 0xff3c00
- tex 48 55
- size 30 120
- alpha 300 300 500
- originjitter 10 10 10
- velocityjitter 950 950 0
- sizeincrease 230
- airfriction 2
- //smoke
+       type static
+       airfriction 2
+       alpha 300 300 500
+       color 0xff9c00 0xff3c00
+       count 4
+       originjitter 10 10 10
+       sizeincrease 230
+       size 30 120
+       tex 48 55
+       velocityjitter 950 950 0
  effect raptor_bomb_impact
- count 4
- type spark
- blend alpha
- tex 0 7
- size 120 180
- color 0x646364 0x151515
- alpha 428 428 600
- rotate -180 180 0 0
- velocityjitter 200 200 280
- velocityoffset 0 0 280
- originjitter 30 30 10
- stretchfactor 10
- //smoke 2
+       type spark
+       alpha 428 428 600
+       blend alpha
+       color 0x646364 0x151515
+       count 4
+       originjitter 30 30 10
+       rotate -180 180 0 0
+       size 120 180
+       stretchfactor 10
+       tex 0 7
+       velocityjitter 200 200 280
+       velocityoffset 0 0 280
  effect raptor_bomb_impact
- count 4
- //type alphastatic
- type spark
- blend alpha
- tex 0 7
- size 40 100
- color 0x646364 0x151515
- alpha 328 328 350
- rotate -180 180 0 0
- velocityjitter 200 200 300
- velocityoffset 0 0 580
- originjitter 30 30 10
- sizeincrease 60
- airfriction 0.6
- gravity 2
- // sparks
+       type spark
+       airfriction 0.600000
+       alpha 328 328 350
+       blend alpha
+       color 0x646364 0x151515
+       count 4
+       gravity 2
+       originjitter 30 30 10
+       rotate -180 180 0 0
+       sizeincrease 60
+       size 40 100
+       tex 0 7
+       velocityjitter 200 200 300
+       velocityoffset 0 0 580
  effect raptor_bomb_impact
- notunderwater
- count 5
- type spark
- tex 40 40
- color 0xffa35b 0xfff2be
- size 3 5
- alpha 644 956 984
- gravity 1
- airfriction 0.3
- velocityoffset 0 0 350
- originjitter 16 16 16
- velocityjitter 174 174 924
- stretchfactor 2
+       type spark
+       airfriction 0.300000
+       alpha 644 956 984
+       color 0xffa35b 0xfff2be
+       count 5
+       gravity 1
+       notunderwater
+       originjitter 16 16 16
+       size 3 5
+       stretchfactor 2
+       tex 40 40
+       velocityjitter 174 174 924
+       velocityoffset 0 0 350
  effect raptor_bomb_spread
- notunderwater
- count 34
- type spark
- tex 40 40
- color 0xffa35b 0xfff2be
- size 1 2
- alpha 644 956 1284
- gravity 1
- airfriction 1
- liquidfriction 0.8
- originjitter 110 110 110
- velocityjitter 324 324 324
- // generic explosion size:big (biggest explosion ever)
+       type spark
+       airfriction 1
+       alpha 644 956 1284
+       color 0xffa35b 0xfff2be
+       count 34
+       gravity 1
+       liquidfriction 0.800000
+       notunderwater
+       originjitter 110 110 110
+       size 1 2
+       tex 40 40
+       velocityjitter 324 324 324
  effect explosion_big
- countabsolute 1
- type decal
- tex 8 16
- size 172 172
- alpha 256 256 0
- originjitter 23 23 23
- lightradius 600
- lightradiusfade 1750
- lightcolor 8 4 0
- // shockwave
+       type decal
+       alpha 256 256 0
+       countabsolute 1
+       lightcolor 8 4 0
+       lightradiusfade 1750
+       lightradius 600
+       originjitter 23 23 23
+       size 172 172
+       tex 8 16
  effect explosion_big
- countabsolute 1
- type static
- tex 33 33 
- size 72 72
- alpha 56 56 330
- color 0x8f0d00 0xff5a00
- sizeincrease 4400
- // fire effect
+       type static
+       alpha 56 56 330
+       color 0x8f0d00 0xff5a00
+       countabsolute 1
+       sizeincrease 4400
+       size 72 72
+       tex 33 33
  effect explosion_big
- notunderwater
- count 64
- type static
- tex 48 55
- color 0x8f0d00 0xff5a00
- size 133 144
- sizeincrease 45
- alpha 200 256 712
- airfriction 8
- liquidfriction 8
- originjitter 80 80 80
- velocityjitter 2512 2512 2512
- // fire rays
+       type static
+       airfriction 8
+       alpha 200 256 712
+       color 0x8f0d00 0xff5a00
+       count 64
+       liquidfriction 8
+       notunderwater
+       originjitter 80 80 80
+       sizeincrease 45
+       size 133 144
+       tex 48 55
+       velocityjitter 2512 2512 2512
  effect explosion_big
- notunderwater
- count 64
- type spark
- tex 48 55
- color 0x8f0d00 0xff5a00
- size 133 144
- sizeincrease 45
- alpha 200 256 800
- airfriction -5
- liquidfriction 8
- originjitter 40 40 40
- velocityjitter 512 512 512
- stretchfactor 10
- // smoke
+       type spark
+       airfriction -5
+       alpha 200 256 800
+       color 0x8f0d00 0xff5a00
+       count 64
+       liquidfriction 8
+       notunderwater
+       originjitter 40 40 40
+       sizeincrease 45
+       size 133 144
+       stretchfactor 10
+       tex 48 55
+       velocityjitter 512 512 512
  effect explosion_big
- type alphastatic
- notunderwater
- tex 0 8
- count 32
- size 50 100
- sizeincrease 244
- alpha 300 650 456
- velocityjitter 3444 3444 3444
- airfriction 8
- color 0x4F4B46 0x000000
- // bouncing sparks
+       type alphastatic
+       airfriction 8
+       alpha 300 650 456
+       color 0x4F4B46 0x000000
+       count 32
+       notunderwater
+       sizeincrease 244
+       size 50 100
+       tex 0 8
+       velocityjitter 3444 3444 3444
  effect explosion_big
- notunderwater
- count 34
- type spark
- tex 40 40
- color 0xffa35b 0xfff2be
- size 3 4
- alpha 644 956 1284
- gravity 1
- airfriction 1
- liquidfriction 0.8
- velocityoffset 0 0 370
- originjitter 160 160 160
- velocityjitter 924 924 924
- stretchfactor 0.7
- // debris
+       type spark
+       airfriction 1
+       alpha 644 956 1284
+       color 0xffa35b 0xfff2be
+       count 34
+       gravity 1
+       liquidfriction 0.800000
+       notunderwater
+       originjitter 160 160 160
+       size 3 4
+       stretchfactor 0.700000
+       tex 40 40
+       velocityjitter 924 924 924
+       velocityoffset 0 0 370
  effect explosion_big
- notunderwater
- count 16
- type alphastatic
- tex 66 68
- color 0xFFFFFF 0xcac5b4
- size 10 16
- alpha 444 1356 1184
- gravity 2.3
- airfriction 0.5
- velocityjitter 1800 1800 1800
- velocityoffset 0 0 970
- sizeincrease -5
- rotate -180 180 -1000 1000
- // underwater bubbles
+       type alphastatic
+       airfriction 0.500000
+       alpha 444 1356 1184
+       color 0xFFFFFF 0xcac5b4
+       count 16
+       gravity 2.300000
+       notunderwater
+       rotate -180 180 -1000 1000
+       sizeincrease -5
+       size 10 16
+       tex 66 68
+       velocityjitter 1800 1800 1800
+       velocityoffset 0 0 970
  effect explosion_big
- underwater
- count 32
- type bubble
- tex 62 62
- color 0x404040 0x808080
- size 3 3
- alpha 128 256 64
- gravity -0.125
- bounce 1.5
- liquidfriction 0.25
- originjitter 160 160 160
- velocityjitter 444 444 444
- // underwatershockwave
+       type bubble
+       alpha 128 256 64
+       bounce 1.500000
+       color 0x404040 0x808080
+       count 32
+       gravity -0.125000
+       liquidfriction 0.250000
+       originjitter 160 160 160
+       size 3 3
+       tex 62 62
+       underwater
+       velocityjitter 444 444 444
  effect explosion_big
- underwater
- type smoke
- countabsolute 1
- tex 33 33
- size 30 30
- sizeincrease 2900
- alpha 40 40 300
- velocitymultiplier 0.3
- // generic explosion size:medium (it leaves rising smoke for a longer time)
- // shockwave
+       type smoke
+       alpha 40 40 300
+       countabsolute 1
+       sizeincrease 2900
+       size 30 30
+       tex 33 33
+       underwater
+       velocitymultiplier 0.300000
  effect explosion_medium
- countabsolute 1
- type static
- tex 33 33 
- size 72 72
- alpha 56 56 330
- color 0x8f0d00 0xff5a00
- sizeincrease 2400
- // fire effect
+       type static
+       alpha 56 56 330
+       color 0x8f0d00 0xff5a00
+       countabsolute 1
+       sizeincrease 2400
+       size 72 72
+       tex 33 33
  effect explosion_medium
- notunderwater
- count 32
- type static
- tex 48 55
- color 0x8f0d00 0xff5a00
- size 133 144
- sizeincrease 45
- alpha 200 256 712
- airfriction 8
- liquidfriction 8
- originjitter 30 30 30
- velocityjitter 1512 1512 1512
- rotate -180 180 -500 500
- // fire effect 2
+       type static
+       airfriction 8
+       alpha 200 256 712
+       color 0x8f0d00 0xff5a00
+       count 32
+       liquidfriction 8
+       notunderwater
+       originjitter 30 30 30
+       rotate -180 180 -500 500
+       sizeincrease 45
+       size 133 144
+       tex 48 55
+       velocityjitter 1512 1512 1512
  effect explosion_medium
- notunderwater
- count 32
- type static
- tex 48 55
- color 0x8f0d00 0xff5a00
- size 73 94
- sizeincrease 40
- gravity -2
- alpha 200 256 612
- airfriction 8
- liquidfriction 8
- originjitter 30 30 30
- velocityjitter 1512 1512 1512
- rotate -180 180 -150 150
- // fire rays
+       type static
+       airfriction 8
+       alpha 200 256 612
+       color 0x8f0d00 0xff5a00
+       count 32
+       gravity -2
+       liquidfriction 8
+       notunderwater
+       originjitter 30 30 30
+       rotate -180 180 -150 150
+       sizeincrease 40
+       size 73 94
+       tex 48 55
+       velocityjitter 1512 1512 1512
  effect explosion_medium
- notunderwater
- count 14
- type spark
- tex 48 55
- color 0x8f0d00 0xff5a00
- size 43 74
- sizeincrease 40
- alpha 200 256 800
- airfriction -3
- liquidfriction 8
- originjitter 40 40 40
- velocityjitter 512 512 512
- stretchfactor 8
- // smoke 
+       type spark
+       airfriction -3
+       alpha 200 256 800
+       color 0x8f0d00 0xff5a00
+       count 14
+       liquidfriction 8
+       notunderwater
+       originjitter 40 40 40
+       sizeincrease 40
+       size 43 74
+       stretchfactor 8
+       tex 48 55
+       velocityjitter 512 512 512
  effect explosion_medium
- type alphastatic
- notunderwater
- tex 0 8
- count 5
- size 250 300
- sizeincrease -30
- alpha 300 650 756
- originjitter 100 100 100
- velocityjitter 200 200 200
- airfriction 3
- color 0x4F4B46 0x000000
- rotate -180 180 -20 20
- // smoke 2
+       type alphastatic
+       airfriction 3
+       alpha 300 650 756
+       color 0x4F4B46 0x000000
+       count 5
+       notunderwater
+       originjitter 100 100 100
+       rotate -180 180 -20 20
+       sizeincrease -30
+       size 250 300
+       tex 0 8
+       velocityjitter 200 200 200
  effect explosion_medium
- type alphastatic
- notunderwater
- tex 0 8
- count 10
- size 50 100
- sizeincrease 50
- gravity -0.3
- alpha 300 650 256
- originjitter 100 100 100
- velocityjitter 500 500 500
- velocityoffset 0 0 200
- airfriction 3
- color 0x4F4B46 0x000000
- rotate -180 180 -20 20
- // smoke rays
+       type alphastatic
+       airfriction 3
+       alpha 300 650 256
+       color 0x4F4B46 0x000000
+       count 10
+       gravity -0.300000
+       notunderwater
+       originjitter 100 100 100
+       rotate -180 180 -20 20
+       sizeincrease 50
+       size 50 100
+       tex 0 8
+       velocityjitter 500 500 500
+       velocityoffset 0 0 200
  effect explosion_medium
- type spark
- notunderwater
- tex 0 8
- count 13
- size 150 200
- sizeincrease 100
- alpha 140 255 350
- velocityjitter 250 250 250
- originjitter 40 40 40
- color 0x4F4B46 0x000000
- stretchfactor 50
- // bouncing sparks
+       type spark
+       alpha 140 255 350
+       color 0x4F4B46 0x000000
+       count 13
+       notunderwater
+       originjitter 40 40 40
+       sizeincrease 100
+       size 150 200
+       stretchfactor 50
+       tex 0 8
+       velocityjitter 250 250 250
  effect explosion_medium
- notunderwater
- count 14
- type spark
- tex 40 40
- color 0xffa35b 0xfff2be
- size 2 3
- alpha 644 956 984
- gravity 1
- airfriction 1
- liquidfriction 0.8
- velocityoffset 0 0 370
- originjitter 100 100 100
- velocityjitter 624 624 624
- stretchfactor 0.7
- // underwater bubbles
+       type spark
+       airfriction 1
+       alpha 644 956 984
+       color 0xffa35b 0xfff2be
+       count 14
+       gravity 1
+       liquidfriction 0.800000
+       notunderwater
+       originjitter 100 100 100
+       size 2 3
+       stretchfactor 0.700000
+       tex 40 40
+       velocityjitter 624 624 624
+       velocityoffset 0 0 370
  effect explosion_medium
- underwater
- count 32
- type bubble
- tex 62 62
- color 0x404040 0x808080
- size 3 3
- alpha 128 256 64
- gravity -0.125
- bounce 1.5
- liquidfriction 0.25
- originjitter 160 160 160
- velocityjitter 444 444 444
- // underwatershockwave
+       type bubble
+       alpha 128 256 64
+       bounce 1.500000
+       color 0x404040 0x808080
+       count 32
+       gravity -0.125000
+       liquidfriction 0.250000
+       originjitter 160 160 160
+       size 3 3
+       tex 62 62
+       underwater
+       velocityjitter 444 444 444
  effect explosion_medium
- underwater
- type smoke
- countabsolute 1
- tex 33 33
- size 30 30
- sizeincrease 2900
- alpha 40 40 300
- velocitymultiplier 0.3
- // generic explosion size:small (its fire only, made to support other explosions)
- // shockwave
+       type smoke
+       alpha 40 40 300
+       countabsolute 1
+       sizeincrease 2900
+       size 30 30
+       tex 33 33
+       underwater
+       velocitymultiplier 0.300000
  effect explosion_small
- countabsolute 1
- type static
- tex 33 33 
- size 22 22
- alpha 56 56 330
- color 0x8f0d00 0xff5a00
- sizeincrease 2400
- // fire effect
+       type static
+       alpha 56 56 330
+       color 0x8f0d00 0xff5a00
+       countabsolute 1
+       sizeincrease 2400
+       size 22 22
+       tex 33 33
  effect explosion_small
- notunderwater
- count 16
- type static
- tex 48 55
- color 0x8f0d00 0xff5a00
- size 1 44
- sizeincrease 45
- alpha 200 256 1212
- airfriction 5
- liquidfriction 8
- velocityjitter 512 512 512
- rotate -180 180 -500 500
- // fire effect 2
+       type static
+       airfriction 5
+       alpha 200 256 1212
+       color 0x8f0d00 0xff5a00
+       count 16
+       liquidfriction 8
+       notunderwater
+       rotate -180 180 -500 500
+       sizeincrease 45
+       size 1 44
+       tex 48 55
+       velocityjitter 512 512 512
  effect explosion_small
- notunderwater
- count 16
- type static
- tex 48 55
- color 0x8f0d00 0xff5a00
- size 73 94
- sizeincrease 40
- alpha 200 256 812
- airfriction 8
- liquidfriction 8
- velocityjitter 912 912 912
- rotate -180 180 -150 150
- // fire rays
+       type static
+       airfriction 8
+       alpha 200 256 812
+       color 0x8f0d00 0xff5a00
+       count 16
+       liquidfriction 8
+       notunderwater
+       rotate -180 180 -150 150
+       sizeincrease 40
+       size 73 94
+       tex 48 55
+       velocityjitter 912 912 912
  effect explosion_small
- notunderwater
- count 14
- type spark
- tex 48 55
- color 0x8f0d00 0xff5a00
- size 13 54
- sizeincrease 30
- alpha 200 256 1300
- airfriction -3
- liquidfriction 8
- originjitter 40 40 40
- velocityjitter 512 512 512
- stretchfactor 8
- // underwater bubbles
+       type spark
+       airfriction -3
+       alpha 200 256 1300
+       color 0x8f0d00 0xff5a00
+       count 14
+       liquidfriction 8
+       notunderwater
+       originjitter 40 40 40
+       sizeincrease 30
+       size 13 54
+       stretchfactor 8
+       tex 48 55
+       velocityjitter 512 512 512
  effect explosion_small
- underwater
- count 32
- type bubble
- tex 62 62
- color 0x404040 0x808080
- size 1 3
- alpha 128 256 64
- gravity -0.125
- bounce 1.5
- liquidfriction 0.25
- originjitter 160 160 160
- velocityjitter 144 144 144
- // underwatershockwave
+       type bubble
+       alpha 128 256 64
+       bounce 1.500000
+       color 0x404040 0x808080
+       count 32
+       gravity -0.125000
+       liquidfriction 0.250000
+       originjitter 160 160 160
+       size 1 3
+       tex 62 62
+       underwater
+       velocityjitter 144 144 144
  effect explosion_small
- underwater
- type smoke
- countabsolute 1
- tex 33 33
- size 30 30
- sizeincrease 1200
- alpha 40 40 300
- // big smoke ( for spamming on damaged stuff )
+       type smoke
+       alpha 40 40 300
+       countabsolute 1
+       sizeincrease 1200
+       size 30 30
+       tex 33 33
+       underwater
  effect smoke_big
- type alphastatic
- notunderwater
- tex 0 8
- count 3
- size 30 60
- sizeincrease 15
- gravity -0.5
- alpha 200 750 200
- originjitter 55 55 55
- velocityjitter 140 140 200
- velocityoffset 0 0 200
- airfriction 4
- color 0x4F4B46 0x000000
- rotate -180 180 -20 20
- // small smoke ( more precise than big one, for spamming on damaged parts like raptors spinner )
+       type alphastatic
+       airfriction 4
+       alpha 200 750 200
+       color 0x4F4B46 0x000000
+       count 3
+       gravity -0.500000
+       notunderwater
+       originjitter 55 55 55
+       rotate -180 180 -20 20
+       sizeincrease 15
+       size 30 60
+       tex 0 8
+       velocityjitter 140 140 200
+       velocityoffset 0 0 200
  effect smoke_small
- type alphastatic
- notunderwater
- tex 0 8
- count 3
- size 60 100
- sizeincrease -10
- gravity -0.5
- alpha 200 750 200
- velocityjitter 40 40 400
- velocityoffset 0 0 200
- airfriction 4
- color 0x4F4B46 0x000000
- rotate -180 180 -20 20
- // metal impact effect
- // used in qcsrc/server/mutators/sandbox.qc:  pointparticles(particleeffectnum("impact_metal"), self.origin, '0 0 0', 1);
+       type alphastatic
+       airfriction 4
+       alpha 200 750 200
+       color 0x4F4B46 0x000000
+       count 3
+       gravity -0.500000
+       notunderwater
+       rotate -180 180 -20 20
+       sizeincrease -10
+       size 60 100
+       tex 0 8
+       velocityjitter 40 40 400
+       velocityoffset 0 0 200
  effect impact_metal
- count 1
- type alphastatic
- tex 0 8
- size 3 6
- sizeincrease 10
- alpha 25 64 50
- gravity -0.01
- color 0x000000 0x886666
- originjitter 20 20 5
- // sparks
+       type alphastatic
+       alpha 25 64 50
+       color 0x000000 0x886666
+       count 1
+       gravity -0.010000
+       originjitter 20 20 5
+       sizeincrease 10
+       size 3 6
+       tex 0 8
  effect impact_metal
- count 2
- type spark
- tex 41 41
- color 0xFFCC22 0xFF4422
- size 2 2
- alpha 255 255 112
- bounce 1.8
- stretchfactor 0.5
- velocityjitter 200 200 300
- velocitymultiplier 2
- airfriction 2
- gravity 1
- // stone impact effect
- // used in qcsrc/server/mutators/sandbox.qc:  pointparticles(particleeffectnum("impact_stone"), self.origin, '0 0 0', 1);
+       type spark
+       airfriction 2
+       alpha 255 255 112
+       bounce 1.800000
+       color 0xFFCC22 0xFF4422
+       count 2
+       gravity 1
+       size 2 2
+       stretchfactor 0.500000
+       tex 41 41
+       velocityjitter 200 200 300
+       velocitymultiplier 2
  effect impact_stone
- count 1
- type alphastatic
- tex 0 8
- size 3 6
- sizeincrease 15
- alpha 50 128 75
- gravity -0.01
- color 0x000000 0xcc9966
- originjitter 20 20 5
- // debris
+       type alphastatic
+       alpha 50 128 75
+       color 0x000000 0xcc9966
+       count 1
+       gravity -0.010000
+       originjitter 20 20 5
+       sizeincrease 15
+       size 3 6
+       tex 0 8
  effect impact_stone
- notunderwater
- count 1
- type alphastatic
- tex 66 68
- color 0x000000 0x886644
- size 1 2
- alpha 450 750 300
- gravity 1.3
- airfriction 0.5
- bounce 1.2
- velocityjitter 124 124 324
- rotate -180 180 -1000 1000
- // wood impact effect
- // used in qcsrc/server/mutators/sandbox.qc:  pointparticles(particleeffectnum("impact_wood"), self.origin, '0 0 0', 1);
+       type alphastatic
+       airfriction 0.500000
+       alpha 450 750 300
+       bounce 1.200000
+       color 0x000000 0x886644
+       count 1
+       gravity 1.300000
+       notunderwater
+       rotate -180 180 -1000 1000
+       size 1 2
+       tex 66 68
+       velocityjitter 124 124 324
  effect impact_wood
- count 1
- type alphastatic
- tex 0 8
- size 3 6
- sizeincrease 10
- alpha 50 128 75
- gravity -0.01
- color 0x000000 0xcc9966
- originjitter 20 20 5
- // sparks
+       type alphastatic
+       alpha 50 128 75
+       color 0x000000 0xcc9966
+       count 1
+       gravity -0.010000
+       originjitter 20 20 5
+       sizeincrease 10
+       size 3 6
+       tex 0 8
  effect impact_wood
- count 2
- type spark
- tex 41 41
- color 0x221100 0x221100
- size 1 8
- alpha 255 255 75
- bounce 1.5
- velocityjitter 180 180 260
- velocitymultiplier 2
- airfriction 2
- gravity 1
- // flesh impact effect
- // used in qcsrc/server/mutators/sandbox.qc:  pointparticles(particleeffectnum("impact_flesh"), self.origin, '0 0 0', 1);
+       type spark
+       airfriction 2
+       alpha 255 255 75
+       bounce 1.500000
+       color 0x221100 0x221100
+       count 2
+       gravity 1
+       size 1 8
+       tex 41 41
+       velocityjitter 180 180 260
+       velocitymultiplier 2
  effect impact_flesh
- count 0.5
- type alphastatic
- tex 0 8
- size 8 12
- alpha 100 256 400
- color 0x000000 0x420000
- originjitter 11 11 11
- // blood splash
+       type alphastatic
+       alpha 100 256 400
+       color 0x000000 0x420000
+       count 0.500000
+       originjitter 11 11 11
+       size 8 12
+       tex 0 8
  effect impact_flesh
- count 0.3
- type blood
- tex 24 32
- size 2 6
- alpha 256 256 64
- color 0xA8FFFF 0xA8FFFFF
- bounce -1
- airfriction 1
- liquidfriction 4
- velocityjitter 96 96 96
- velocitymultiplier 5
- staincolor 0x808080 0x808080
- staintex 16 24
- // hagar trail
- // smoke
+       type blood
+       airfriction 1
+       alpha 256 256 64
+       bounce -1
+       color 0xA8FFFF 0xA8FFFFF
+       count 0.300000
+       liquidfriction 4
+       size 2 6
+       staincolor 0x808080 0x808080
+       staintex 16 24
+       tex 24 32
+       velocityjitter 96 96 96
+       velocitymultiplier 5
  effect tr_hagar
- trailspacing 4
- type smoke
- color 0x101010 0x000000
- tex 0 8
- size 3 2
- bounce 1
- sizeincrease 10
- alpha 300 400 780
- originjitter 1 1 1
- velocityjitter 1 1 1
- velocitymultiplier -0.02
- //gravity -0.11
- // fire
+       type smoke
+       alpha 300 400 780
+       bounce 1
+       color 0x101010 0x000000
+       originjitter 1 1 1
+       sizeincrease 10
+       size 3 2
+       tex 0 8
+       trailspacing 4
+       velocityjitter 1 1 1
+       velocitymultiplier -0.020000
  effect tr_hagar
- notunderwater
- trailspacing 4
- type static
- color 0xffdf72 0x811200
- tex 48 55
- size 5 2
- sizeincrease -15
- alpha 100 144 988
- airfriction 8
- velocityjitter 32 32 32
- velocitymultiplier -1.0
- // bubbles
+       type static
+       airfriction 8
+       alpha 100 144 988
+       color 0xffdf72 0x811200
+       notunderwater
+       sizeincrease -15
+       size 5 2
+       tex 48 55
+       trailspacing 4
+       velocityjitter 32 32 32
+       velocitymultiplier -1
  effect tr_hagar
- underwater
- trailspacing 16
- type bubble
- tex 62 62
- color 0x404040 0x808080
- size 1 1
- alpha 256 256 256
- gravity -0.125
- bounce 1.5
- liquidfriction 4
- velocityjitter 16 16 16
- // laser damage effect
- // used in qcsrc/client/damage.qc:                    pointparticles(self.team, org, '0 0 0', 1);
+       type bubble
+       alpha 256 256 256
+       bounce 1.500000
+       color 0x404040 0x808080
+       gravity -0.125000
+       liquidfriction 4
+       size 1 1
+       tex 62 62
+       trailspacing 16
+       underwater
+       velocityjitter 16 16 16
  effect damage_laser
- notunderwater
- count 3
- type smoke
- tex 0 8
- color 0x880000 0xff4400
- size 2 4
- sizeincrease 8
- alpha 128 16 128
- gravity 0
- originjitter 2 2 2
- velocityjitter 0.4 0.4 0.6
- velocitymultiplier 0
- airfriction -0.35
- rotate 0 180 -30 30
- // shotgun damage effect, normal blood
- // used in qcsrc/client/damage.qc:                    pointparticles(self.team, org, '0 0 0', 1);
+       type smoke
+       airfriction -0.350000
+       alpha 128 16 128
+       color 0x880000 0xff4400
+       count 3
+       notunderwater
+       originjitter 2 2 2
+       rotate 0 180 -30 30
+       sizeincrease 8
+       size 2 4
+       tex 0 8
+       velocityjitter 0.4 0.4 0.6
  effect damage_shotgun
- count 0.6
- type blood
- tex 24 32
- size 2 4
- alpha 256 256 64
- color 0xA8FFFF 0xA8FFFFF
- bounce -1
- airfriction 1
- liquidfriction 4
- velocityjitter 64 64 64
- velocitymultiplier 5
- staincolor 0x808080 0x808080
- staintex 16 24
- //blood mist
+       type blood
+       airfriction 1
+       alpha 256 256 64
+       bounce -1
+       color 0xA8FFFF 0xA8FFFFF
+       count 0.600000
+       liquidfriction 4
+       size 2 4
+       staincolor 0x808080 0x808080
+       staintex 16 24
+       tex 24 32
+       velocityjitter 64 64 64
+       velocitymultiplier 5
  effect damage_shotgun
- count 1
- type alphastatic
- tex 0 8
- size 8 16
- alpha 100 256 400
- color 0x000000 0x420000
- originjitter 1 1 1
- // shotgun damage effect, alien blood
- // used in qcsrc/client/damage.qc:                    pointparticles(self.team, org, '0 0 0', 1);
+       type alphastatic
+       alpha 100 256 400
+       color 0x000000 0x420000
+       count 1
+       originjitter 1 1 1
+       size 8 16
+       tex 0 8
  effect damage_shotgun_alien
- count 0.6
- type blood
- tex 24 32
- size 2 4
- alpha 256 256 64
- color 0xDC9BCD 0xDC9BCD
- bounce -1
- airfriction 1
- liquidfriction 4
- velocityjitter 64 64 64
- velocitymultiplier 5
- staincolor 0x808080 0x808080
- staintex 16 24
- //blood mist
+       type blood
+       airfriction 1
+       alpha 256 256 64
+       bounce -1
+       color 0xDC9BCD 0xDC9BCD
+       count 0.600000
+       liquidfriction 4
+       size 2 4
+       staincolor 0x808080 0x808080
+       staintex 16 24
+       tex 24 32
+       velocityjitter 64 64 64
+       velocitymultiplier 5
  effect damage_shotgun_alien
- count 1
- type alphastatic
- tex 0 8
- size 8 16
- alpha 100 256 400
- color 0x000000 0x204010
- originjitter 1 1 1
- // shotgun damage effect, robot blood
- // used in qcsrc/client/damage.qc:                    pointparticles(self.team, org, '0 0 0', 1);
+       type alphastatic
+       alpha 100 256 400
+       color 0x000000 0x204010
+       count 1
+       originjitter 1 1 1
+       size 8 16
+       tex 0 8
  effect damage_shotgun_robot
- count 0.6
- type blood
- tex 24 32
- size 2 4
- alpha 256 256 64
- color 0xC0D890 0xC0D890
- bounce -1
- airfriction 1
- liquidfriction 4
- velocityjitter 64 64 64
- velocitymultiplier 5
- staincolor 0x808080 0x808080
- staintex 16 24
- //blood mist
+       type blood
+       airfriction 1
+       alpha 256 256 64
+       bounce -1
+       color 0xC0D890 0xC0D890
+       count 0.600000
+       liquidfriction 4
+       size 2 4
+       staincolor 0x808080 0x808080
+       staintex 16 24
+       tex 24 32
+       velocityjitter 64 64 64
+       velocitymultiplier 5
  effect damage_shotgun_robot
- count 1
- type alphastatic
- tex 0 8
- size 8 16
- alpha 100 256 400
- color 0x000000 0x301860
- originjitter 1 1 1
- // uzi damage effect, normal blood
- // used in qcsrc/client/damage.qc:                    pointparticles(self.team, org, '0 0 0', 1);
+       type alphastatic
+       alpha 100 256 400
+       color 0x000000 0x301860
+       count 1
+       originjitter 1 1 1
+       size 8 16
+       tex 0 8
  effect damage_uzi
- count 0.3
- type blood
- tex 24 32
- size 2 4
- alpha 256 256 64
- color 0xA8FFFF 0xA8FFFFF
- bounce -1
- airfriction 1
- liquidfriction 4
- velocityjitter 32 32 32
- velocitymultiplier 5
- staincolor 0x808080 0x808080
- staintex 16 24
- //blood mist
+       type blood
+       airfriction 1
+       alpha 256 256 64
+       bounce -1
+       color 0xA8FFFF 0xA8FFFFF
+       count 0.300000
+       liquidfriction 4
+       size 2 4
+       staincolor 0x808080 0x808080
+       staintex 16 24
+       tex 24 32
+       velocityjitter 32 32 32
+       velocitymultiplier 5
  effect damage_uzi
- count 1
- type alphastatic
- tex 0 8
- size 6 12
- alpha 100 256 400
- color 0x000000 0x420000
- originjitter 0 0 0
- // uzi damage effect, alien blood
- // used in qcsrc/client/damage.qc:                    pointparticles(self.team, org, '0 0 0', 1);
+       type alphastatic
+       alpha 100 256 400
+       color 0x000000 0x420000
+       count 1
+       size 6 12
+       tex 0 8
  effect damage_uzi_alien
- count 0.3
- type blood
- tex 24 32
- size 2 4
- alpha 256 256 64
- color 0xDC9BCD 0xDC9BCD
- bounce -1
- airfriction 1
- liquidfriction 4
- velocityjitter 32 32 32
- velocitymultiplier 5
- staincolor 0x808080 0x808080
- staintex 16 24
- //blood mist
+       type blood
+       airfriction 1
+       alpha 256 256 64
+       bounce -1
+       color 0xDC9BCD 0xDC9BCD
+       count 0.300000
+       liquidfriction 4
+       size 2 4
+       staincolor 0x808080 0x808080
+       staintex 16 24
+       tex 24 32
+       velocityjitter 32 32 32
+       velocitymultiplier 5
  effect damage_uzi_alien
- count 1
- type alphastatic
- tex 0 8
- size 6 12
- alpha 100 256 400
- color 0x000000 0x204010
- originjitter 0 0 0
- // uzi damage effect, robot blood
- // used in qcsrc/client/damage.qc:                    pointparticles(self.team, org, '0 0 0', 1);
+       type alphastatic
+       alpha 100 256 400
+       color 0x000000 0x204010
+       count 1
+       size 6 12
+       tex 0 8
  effect damage_uzi_robot
- count 0.3
- type blood
- tex 24 32
- size 2 4
- alpha 256 256 64
- color 0xC0D890 0xC0D890
- bounce -1
- airfriction 1
- liquidfriction 4
- velocityjitter 32 32 32
- velocitymultiplier 5
- staincolor 0x808080 0x808080
- staintex 16 24
- //blood mist
+       type blood
+       airfriction 1
+       alpha 256 256 64
+       bounce -1
+       color 0xC0D890 0xC0D890
+       count 0.300000
+       liquidfriction 4
+       size 2 4
+       staincolor 0x808080 0x808080
+       staintex 16 24
+       tex 24 32
+       velocityjitter 32 32 32
+       velocitymultiplier 5
  effect damage_uzi_robot
- count 1
- type alphastatic
- tex 0 8
- size 6 12
- alpha 100 256 400
- color 0x000000 0x301860
- originjitter 0 0 0
- // minelayer damage effect
- // used in qcsrc/client/damage.qc:                    pointparticles(self.team, org, '0 0 0', 1);
+       type alphastatic
+       alpha 100 256 400
+       color 0x000000 0x301860
+       count 1
+       size 6 12
+       tex 0 8
  effect damage_minelayer
- notunderwater
- count 3
- type smoke
- tex 48 55
- size 4 8
- alpha 512 64 1024
- gravity -0.5
- color 0x8f0d00 0xff5a00
- sizeincrease -15
- originjitter 2 2 2
- velocityjitter 22 22 50
- // smoke
+       type smoke
+       alpha 512 64 1024
+       color 0x8f0d00 0xff5a00
+       count 3
+       gravity -0.500000
+       notunderwater
+       originjitter 2 2 2
+       sizeincrease -15
+       size 4 8
+       tex 48 55
+       velocityjitter 22 22 50
  effect damage_minelayer
- notunderwater
- type alphastatic
- count 2
- tex 0 8
- size 4 8
- sizeincrease 5
- alpha 128 32 128
- color 0x000000 0x111111
- gravity -0.3
- originjitter 4 4 4
- velocityjitter 11 11 50
- // light
- /*effect damage_minelayer
- notunderwater
- trailspacing 8
- lightradius 60
- lightradiusfade 280
- lightcolor 0.7 0.4 0.2*/
- // grenadelauncher damage effect
- // used in qcsrc/client/damage.qc:                    pointparticles(self.team, org, '0 0 0', 1);
+       type alphastatic
+       alpha 128 32 128
+       color 0x000000 0x111111
+       count 2
+       gravity -0.300000
+       notunderwater
+       originjitter 4 4 4
+       sizeincrease 5
+       size 4 8
+       tex 0 8
+       velocityjitter 11 11 50
  effect damage_grenadelauncher
- notunderwater
- count 3
- type smoke
- tex 48 55
- size 4 8
- alpha 512 64 1024
- gravity -0.5
- color 0x8f0d00 0xff5a00
- sizeincrease -15
- originjitter 2 2 2
- velocityjitter 22 22 50
- // smoke
+       type smoke
+       alpha 512 64 1024
+       color 0x8f0d00 0xff5a00
+       count 3
+       gravity -0.500000
+       notunderwater
+       originjitter 2 2 2
+       sizeincrease -15
+       size 4 8
+       tex 48 55
+       velocityjitter 22 22 50
  effect damage_grenadelauncher
- notunderwater
- type alphastatic
- count 2
- tex 0 8
- size 4 8
- sizeincrease 5
- alpha 128 32 128
- color 0x000000 0x111111
- gravity -0.3
- originjitter 4 4 4
- velocityjitter 11 11 50
- // light
- /*effect damage_grenadelauncher
- notunderwater
- trailspacing 8
- lightradius 60
- lightradiusfade 280
- lightcolor 0.7 0.4 0.2*/
- // electro damage effect
- // used in qcsrc/client/damage.qc:                    pointparticles(self.team, org, '0 0 0', 1);
+       type alphastatic
+       alpha 128 32 128
+       color 0x000000 0x111111
+       count 2
+       gravity -0.300000
+       notunderwater
+       originjitter 4 4 4
+       sizeincrease 5
+       size 4 8
+       tex 0 8
+       velocityjitter 11 11 50
  effect damage_electro
- notunderwater
- count 2
- type static
- tex 47 47
- color 0x66ffff 0x2288ff
- size 6 10
- sizeincrease -14
- alpha 48 8 48
- gravity -0.0001
- airfriction 0.2
- liquidfriction 0.8
- originjitter 3 3 3
- velocityjitter 8 8 16
- velocitymultiplier 0
- airfriction -0.5
- rotate 180 360 -30 30
- // plasma smoke
+       type static
+       airfriction -0.500000
+       alpha 48 8 48
+       color 0x66ffff 0x2288ff
+       count 2
+       gravity -0.000100
+       liquidfriction 0.800000
+       notunderwater
+       originjitter 3 3 3
+       rotate 180 360 -30 30
+       sizeincrease -14
+       size 6 10
+       tex 47 47
+       velocityjitter 8 8 16
  effect damage_electro
- notunderwater
- count 4
- type smoke
- tex 0 8
- color 0x2244ff 0x002266
- size 4 8
- sizeincrease 10
- alpha 64 16 64
- gravity 0
- originjitter 4 4 4
- velocityjitter 0.4 0.4 0.6
- velocitymultiplier 0
- airfriction -0.35
- rotate 0 180 -30 30
- // bouncing sparks
+       type smoke
+       airfriction -0.350000
+       alpha 64 16 64
+       color 0x2244ff 0x002266
+       count 4
+       notunderwater
+       originjitter 4 4 4
+       rotate 0 180 -30 30
+       sizeincrease 10
+       size 4 8
+       tex 0 8
+       velocityjitter 0.4 0.4 0.6
  effect damage_electro
- count 0.5
- type spark
- tex 66 68
- color 0x003090 0x00CCFF
- size 1 1
- alpha 768 64 256
- gravity 0.2
- airfriction 1
- bounce 1.5
- liquidfriction 0.8
- velocityoffset 0 0 0
- velocityjitter 32 32 32
- // light
- /*effect damage_electro
- notunderwater
- trailspacing 8
- lightradius 50
- lightradiusfade 220
- lightcolor 0.2 0.6 0.8*/
- // crylink damage effect
- // used in qcsrc/client/damage.qc:                    pointparticles(self.team, org, '0 0 0', 1);
+       type spark
+       airfriction 1
+       alpha 768 64 256
+       bounce 1.500000
+       color 0x003090 0x00CCFF
+       count 0.500000
+       gravity 0.200000
+       liquidfriction 0.800000
+       size 1 1
+       tex 66 68
+       velocityjitter 32 32 32
  effect damage_crylink
- notunderwater
- count 2
- type static
- tex 38 38
- color 0xff44ff 0x9966ff
- size 0.5 1
- sizeincrease -8
- alpha 48 16 48
- gravity -0.0001
- airfriction 0.6
- liquidfriction 0.8
- originjitter 3 3 3
- velocityjitter 10 10 20
- velocitymultiplier 0
- airfriction -0.5
- rotate 180 360 -30 30
- // plasma smoke
+       type static
+       airfriction -0.500000
+       alpha 48 16 48
+       color 0xff44ff 0x9966ff
+       count 2
+       gravity -0.000100
+       liquidfriction 0.800000
+       notunderwater
+       originjitter 3 3 3
+       rotate 180 360 -30 30
+       sizeincrease -8
+       size 0.500000 1
+       tex 38 38
+       velocityjitter 10 10 20
  effect damage_crylink
- notunderwater
- count 4
- type smoke
- tex 0 8
- color 0x8844ff 0x662244
- size 5 10
- sizeincrease 6
- alpha 64 16 64
- gravity 0.001
- originjitter 4 4 4
- velocityjitter 0.4 0.4 0.6
- velocitymultiplier 0
- airfriction -0.35
- rotate 0 180 -30 30
- // floating sparks
+       type smoke
+       airfriction -0.350000
+       alpha 64 16 64
+       color 0x8844ff 0x662244
+       count 4
+       gravity 0.001000
+       notunderwater
+       originjitter 4 4 4
+       rotate 0 180 -30 30
+       sizeincrease 6
+       size 5 10
+       tex 0 8
+       velocityjitter 0.4 0.4 0.6
  effect damage_crylink
- count 0.3
- type spark
- color 0x903090 0xFFD0FF
- size 0.5 0.5
- sizeincrease -5
- alpha 192 192 128
- gravity 0
- airfriction 0.2
- liquidfriction 0.8
- velocityoffset 0 0 0
- velocityjitter 12 12 12
- // light
- /*effect damage_crylink
- notunderwater
- trailspacing 8
- lightradius 50
- lightradiusfade 240
- lightcolor 0.6 0.2 0.8*/
- // hlac damage effect
- // used in qcsrc/client/damage.qc:                    pointparticles(self.team, org, '0 0 0', 1);
+       type spark
+       airfriction 0.200000
+       alpha 192 192 128
+       color 0x903090 0xFFD0FF
+       count 0.300000
+       liquidfriction 0.800000
+       sizeincrease -5
+       size 0.500000 0.500000
+       velocityjitter 12 12 12
  effect damage_hlac
- notunderwater
- count 3
- type smoke
- tex 0 8
- color 0x880000 0xff4400
- size 2 4
- sizeincrease 10
- alpha 128 16 128
- gravity 0
- originjitter 4 4 4
- velocityjitter 0.4 0.4 0.6
- velocitymultiplier 0
- airfriction -0.35
- rotate 0 180 -30 30
- // nex damage effect
- // used in qcsrc/client/damage.qc:                    pointparticles(self.team, org, '0 0 0', 1);
+       type smoke
+       airfriction -0.350000
+       alpha 128 16 128
+       color 0x880000 0xff4400
+       count 3
+       notunderwater
+       originjitter 4 4 4
+       rotate 0 180 -30 30
+       sizeincrease 10
+       size 2 4
+       tex 0 8
+       velocityjitter 0.4 0.4 0.6
  effect damage_nex
- count 1
- type static
- tex 47 47
- color 0xffffff 0x88ffff
- size 5 10
- sizeincrease -14
- alpha 64 8 64
- gravity -0.0001
- airfriction 0.1
- liquidfriction 0.6
- originjitter 4 4 4
- velocityjitter 8 8 16
- velocitymultiplier 0
- airfriction -0.5
- rotate 180 360 -30 30
- // plasma smoke
+       type static
+       airfriction -0.500000
+       alpha 64 8 64
+       color 0xffffff 0x88ffff
+       count 1
+       gravity -0.000100
+       liquidfriction 0.600000
+       originjitter 4 4 4
+       rotate 180 360 -30 30
+       sizeincrease -14
+       size 5 10
+       tex 47 47
+       velocityjitter 8 8 16
  effect damage_nex
- count 2
- type smoke
- tex 0 8
- color 0x6688ff 0x226688
- size 4 8
- sizeincrease 8
- alpha 64 16 64
- gravity 0
- originjitter 2 2 2
- velocityjitter 0.5 0.5 0.8
- velocitymultiplier 0
- airfriction -0.35
- rotate 0 180 -30 30
- // bouncing sparks
+       type smoke
+       airfriction -0.350000
+       alpha 64 16 64
+       color 0x6688ff 0x226688
+       count 2
+       originjitter 2 2 2
+       rotate 0 180 -30 30
+       sizeincrease 8
+       size 4 8
+       tex 0 8
+       velocityjitter 0.5 0.5 0.8
  effect damage_nex
- count 0.2
- type spark
- tex 41 41
- color 0xD9FDFF 0xD9FDFF
- size 1 1
- alpha 255 255 112
- bounce 1.6
- stretchfactor 0.7
- velocityjitter 100 100 300
- velocitymultiplier 3
- airfriction 2
- gravity 1
- // light
- /*effect damage_nex
- trailspacing 8
- lightradius 60
- lightradiusfade 280
- lightcolor 0.6 0.8 0.8*/
- // minstanex damage effect
- // used in qcsrc/client/damage.qc:                    pointparticles(self.team, org, '0 0 0', 1);
+       type spark
+       airfriction 2
+       alpha 255 255 112
+       bounce 1.600000
+       color 0xD9FDFF 0xD9FDFF
+       count 0.200000
+       gravity 1
+       size 1 1
+       stretchfactor 0.700000
+       tex 41 41
+       velocityjitter 100 100 300
+       velocitymultiplier 3
  effect damage_minstanex
- count 2
- type static
- tex 47 47
- color 0xffffff 0x88ffff
- size 5 10
- sizeincrease -14
- alpha 64 8 64
- gravity -0.0001
- airfriction 0.1
- liquidfriction 0.6
- originjitter 4 4 4
- velocityjitter 8 8 16
- velocitymultiplier 0
- airfriction -0.5
- rotate 180 360 -30 30
- // plasma smoke
+       type static
+       airfriction -0.500000
+       alpha 64 8 64
+       color 0xffffff 0x88ffff
+       count 2
+       gravity -0.000100
+       liquidfriction 0.600000
+       originjitter 4 4 4
+       rotate 180 360 -30 30
+       sizeincrease -14
+       size 5 10
+       tex 47 47
+       velocityjitter 8 8 16
  effect damage_minstanex
- count 4
- type smoke
- tex 0 8
- color 0x6688ff 0x226688
- size 4 8
- sizeincrease 8
- alpha 64 16 64
- gravity 0
- originjitter 2 2 2
- velocityjitter 0.5 0.5 0.8
- velocitymultiplier 0
- airfriction -0.35
- rotate 0 180 -30 30
- // bouncing sparks
+       type smoke
+       airfriction -0.350000
+       alpha 64 16 64
+       color 0x6688ff 0x226688
+       count 4
+       originjitter 2 2 2
+       rotate 0 180 -30 30
+       sizeincrease 8
+       size 4 8
+       tex 0 8
+       velocityjitter 0.5 0.5 0.8
  effect damage_minstanex
- count 0.2
- type spark
- tex 41 41
- color 0xD9FDFF 0xD9FDFF
- size 1 1
- alpha 255 255 112
- bounce 1.6
- stretchfactor 0.7
- velocityjitter 100 100 300
- velocitymultiplier 3
- airfriction 2
- gravity 1
- // light
- /*effect damage_minstanex
- trailspacing 8
- lightradius 60
- lightradiusfade 240
- lightcolor 0.6 0.8 0.8*/
- // sniperrifle damage effect, normal blood
- // used in qcsrc/client/damage.qc:                    pointparticles(self.team, org, '0 0 0', 1);
+       type spark
+       airfriction 2
+       alpha 255 255 112
+       bounce 1.600000
+       color 0xD9FDFF 0xD9FDFF
+       count 0.200000
+       gravity 1
+       size 1 1
+       stretchfactor 0.700000
+       tex 41 41
+       velocityjitter 100 100 300
+       velocitymultiplier 3
  effect damage_rifle
- count 0.3
- type blood
- tex 24 32
- size 2 4
- alpha 256 256 64
- color 0xA8FFFF 0xA8FFFFF
- bounce -1
- airfriction 1
- liquidfriction 4
- velocityjitter 32 32 32
- velocitymultiplier 5
- staincolor 0x808080 0x808080
- staintex 16 24
- //blood mist
+       type blood
+       airfriction 1
+       alpha 256 256 64
+       bounce -1
+       color 0xA8FFFF 0xA8FFFFF
+       count 0.300000
+       liquidfriction 4
+       size 2 4
+       staincolor 0x808080 0x808080
+       staintex 16 24
+       tex 24 32
+       velocityjitter 32 32 32
+       velocitymultiplier 5
  effect damage_rifle
- count 1
- type alphastatic
- tex 0 8
- size 6 12
- alpha 100 256 400
- color 0x000000 0x420000
- originjitter 0 0 0
- // sniperrifle damage effect, alien blood
- // used in qcsrc/client/damage.qc:                    pointparticles(self.team, org, '0 0 0', 1);
+       type alphastatic
+       alpha 100 256 400
+       color 0x000000 0x420000
+       count 1
+       size 6 12
+       tex 0 8
  effect damage_rifle_alien
- count 0.3
- type blood
- tex 24 32
- size 2 4
- alpha 256 256 64
- color 0xDC9BCD 0xDC9BCD
- bounce -1
- airfriction 1
- liquidfriction 4
- velocityjitter 32 32 32
- velocitymultiplier 5
- staincolor 0x808080 0x808080
- staintex 16 24
- //blood mist
+       type blood
+       airfriction 1
+       alpha 256 256 64
+       bounce -1
+       color 0xDC9BCD 0xDC9BCD
+       count 0.300000
+       liquidfriction 4
+       size 2 4
+       staincolor 0x808080 0x808080
+       staintex 16 24
+       tex 24 32
+       velocityjitter 32 32 32
+       velocitymultiplier 5
  effect damage_rifle_alien
- count 1
- type alphastatic
- tex 0 8
- size 6 12
- alpha 100 256 400
- color 0x000000 0x204010
- originjitter 0 0 0
- // sniperrifle damage effect, robot blood
- // used in qcsrc/client/damage.qc:                    pointparticles(self.team, org, '0 0 0', 1);
+       type alphastatic
+       alpha 100 256 400
+       color 0x000000 0x204010
+       count 1
+       size 6 12
+       tex 0 8
  effect damage_rifle_robot
- count 0.3
- type blood
- tex 24 32
- size 2 4
- alpha 256 256 64
- color 0xC0D890 0xC0D890
- bounce -1
- airfriction 1
- liquidfriction 4
- velocityjitter 32 32 32
- velocitymultiplier 5
- staincolor 0x808080 0x808080
- staintex 16 24
- //blood mist
+       type blood
+       airfriction 1
+       alpha 256 256 64
+       bounce -1
+       color 0xC0D890 0xC0D890
+       count 0.300000
+       liquidfriction 4
+       size 2 4
+       staincolor 0x808080 0x808080
+       staintex 16 24
+       tex 24 32
+       velocityjitter 32 32 32
+       velocitymultiplier 5
  effect damage_rifle_robot
- count 1
- type alphastatic
- tex 0 8
- size 6 12
- alpha 100 256 400
- color 0x000000 0x301860
- originjitter 0 0 0
- // seeker damage effect
- // used in qcsrc/client/damage.qc:                    pointparticles(self.team, org, '0 0 0', 1);
+       type alphastatic
+       alpha 100 256 400
+       color 0x000000 0x301860
+       count 1
+       size 6 12
+       tex 0 8
  effect damage_seeker
- notunderwater
- count 3
- type smoke
- tex 48 55
- size 4 8
- alpha 512 32 1024
- gravity -0.3
- color 0x8f0c00 0xff2200
- sizeincrease -10
- originjitter 2 2 2
- velocityjitter 22 22 50
- // smoke
+       type smoke
+       alpha 512 32 1024
+       color 0x8f0c00 0xff2200
+       count 3
+       gravity -0.300000
+       notunderwater
+       originjitter 2 2 2
+       sizeincrease -10
+       size 4 8
+       tex 48 55
+       velocityjitter 22 22 50
  effect damage_seeker
- notunderwater
- type alphastatic
- count 2
- tex 0 8
- size 2 4
- sizeincrease 10
- alpha 128 32 128
- color 0x000000 0x111111
- gravity -0.3
- originjitter 4 4 4
- velocityjitter 11 11 50
- // light
- /*effect damage_seeker
- notunderwater
- trailspacing 8
- lightradius 65
- lightradiusfade 280
- lightcolor 0.7 0.5 0.1*/
- // hagar damage effect
- // used in qcsrc/client/damage.qc:                    pointparticles(self.team, org, '0 0 0', 1);
+       type alphastatic
+       alpha 128 32 128
+       color 0x000000 0x111111
+       count 2
+       gravity -0.300000
+       notunderwater
+       originjitter 4 4 4
+       sizeincrease 10
+       size 2 4
+       tex 0 8
+       velocityjitter 11 11 50
  effect damage_hagar
- notunderwater
- count 3
- type smoke
- tex 48 55
- size 4 8
- alpha 512 32 1024
- gravity -0.3
- color 0x8f0c00 0xff3a00
- sizeincrease -10
- originjitter 2 2 2
- velocityjitter 22 22 50
- // smoke
+       type smoke
+       alpha 512 32 1024
+       color 0x8f0c00 0xff3a00
+       count 3
+       gravity -0.300000
+       notunderwater
+       originjitter 2 2 2
+       sizeincrease -10
+       size 4 8
+       tex 48 55
+       velocityjitter 22 22 50
  effect damage_hagar
- notunderwater
- type alphastatic
- count 2
- tex 0 8
- size 2 4
- sizeincrease 10
- alpha 128 32 128
- color 0x000000 0x111111
- gravity -0.3
- originjitter 4 4 4
- velocityjitter 11 11 50
- // light
- /*effect damage_hagar
- notunderwater
- trailspacing 8
- lightradius 65
- lightradiusfade 280
- lightcolor 0.7 0.5 0.1*/
- // fireball damage effect
- // used in qcsrc/client/damage.qc:                    pointparticles(self.team, org, '0 0 0', 1);
+       type alphastatic
+       alpha 128 32 128
+       color 0x000000 0x111111
+       count 2
+       gravity -0.300000
+       notunderwater
+       originjitter 4 4 4
+       sizeincrease 10
+       size 2 4
+       tex 0 8
+       velocityjitter 11 11 50
  effect damage_fireball
- notunderwater
- count 4
- type smoke
- tex 48 55
- size 5 10
- alpha 256 16 512
- gravity -0.5
- color 0x8f0d00 0xff5a00
- sizeincrease -10
- originjitter 8 8 8
- velocityjitter 22 22 50
- // smoke
+       type smoke
+       alpha 256 16 512
+       color 0x8f0d00 0xff5a00
+       count 4
+       gravity -0.500000
+       notunderwater
+       originjitter 8 8 8
+       sizeincrease -10
+       size 5 10
+       tex 48 55
+       velocityjitter 22 22 50
  effect damage_fireball
- notunderwater
- type alphastatic
- count 4
- tex 0 8
- size 4 8
- sizeincrease 10
- alpha 128 32 128
- color 0x000000 0x111111
- gravity -0.3
- originjitter 6 6 6
- velocityjitter 11 11 50
- // light
- /*effect damage_fireball
- notunderwater
- trailspacing 8
- lightradius 65
- lightradiusfade 280
- lightcolor 1.0 0.8 0.4*/
- // rocketlauncher damage effect
- // used in qcsrc/client/damage.qc:                    pointparticles(self.team, org, '0 0 0', 1);
+       type alphastatic
+       alpha 128 32 128
+       color 0x000000 0x111111
+       count 4
+       gravity -0.300000
+       notunderwater
+       originjitter 6 6 6
+       sizeincrease 10
+       size 4 8
+       tex 0 8
+       velocityjitter 11 11 50
  effect damage_rocketlauncher
- notunderwater
- count 3
- type smoke
- tex 48 55
- size 5 10
- alpha 512 64 1024
- gravity -0.7
- color 0x8f0c00 0xff2a00
- sizeincrease -10
- originjitter 4 4 4
- velocityjitter 22 22 30
- // smoke
+       type smoke
+       alpha 512 64 1024
+       color 0x8f0c00 0xff2a00
+       count 3
+       gravity -0.700000
+       notunderwater
+       originjitter 4 4 4
+       sizeincrease -10
+       size 5 10
+       tex 48 55
+       velocityjitter 22 22 30
  effect damage_rocketlauncher
- notunderwater
- type alphastatic
- count 3
- tex 0 8
- size 4 8
- sizeincrease 10
- alpha 128 32 128
- color 0x000000 0x111111
- gravity -0.3
- originjitter 4 4 4
- velocityjitter 11 11 50
- // light
- /*effect damage_rocketlauncher
- notunderwater
- trailspacing 8
- lightradius 60
- lightradiusfade 280
- lightcolor 0.8 0.6 0.2*/
- // fireflies
- // used nowhere in code
+       type alphastatic
+       alpha 128 32 128
+       color 0x000000 0x111111
+       count 3
+       gravity -0.300000
+       notunderwater
+       originjitter 4 4 4
+       sizeincrease 10
+       size 4 8
+       tex 0 8
+       velocityjitter 11 11 50
  effect fireflies
- count 1
- bounce -1
- airfriction 5
- time 1 2
- type static
- tex 38 38
- color 0xff9600 0xffefb8
- size 2 3
- sizeincrease -0.3
- alpha 256 256 70
- gravity 0
- originoffset 8 8 8
- originjitter 32 32 32
- velocityoffset 2 2 2
- velocityjitter 64 64 64
- //lightradius 50
- //lightradiusfade 50
- //lightcolor 1 0.9 0.7
- //lightshadow 1
- // heal ray muzzleflash
+       type static
+       airfriction 5
+       alpha 256 256 70
+       bounce -1
+       color 0xff9600 0xffefb8
+       count 1
+       originjitter 32 32 32
+       originoffset 8 8 8
+       sizeincrease -0.300000
+       size 2 3
+       tex 38 38
+       time 1 2
+       velocityjitter 64 64 64
+       velocityoffset 2 2 2
  effect healray_muzzleflash
- countabsolute 1
- type smoke
- color 0x283880 0x283880 // 0x202020 0x404040
- tex 65 65
- size 20 20
- alpha 256 256 512
- originjitter 1.5 1.5 1.5
- velocityjitter 6 6 6
- sizeincrease -10
- velocitymultiplier 0.01
- lightradius 200
- lightradiusfade 2000
- lightcolor 1.5 3 6
+       type smoke
+       alpha 256 256 512
+       color 0x283880 0x283880
+       countabsolute 1
+       lightcolor 1.5 3 6
+       lightradiusfade 2000
+       lightradius 200
+       originjitter 1.5 1.5 1.5
+       sizeincrease -10
+       size 20 20
+       tex 65 65
+       velocityjitter 6 6 6
+       velocitymultiplier 0.010000
  effect healray_muzzleflash
- count 22
- type spark
- tex 71 73
- color 0xD9FDFF 0x00f0ff
- size 1 15
- sizeincrease 3
- alpha 50 150 1924
- originjitter 1 1 1
- velocityjitter 150 150 150
- velocitymultiplier 0.4
- airfriction 5
- stretchfactor 3.9
+       type spark
+       airfriction 5
+       alpha 50 150 1924
+       color 0xD9FDFF 0x00f0ff
+       count 22
+       originjitter 1 1 1
+       sizeincrease 3
+       size 1 15
+       stretchfactor 3.900000
+       tex 71 73
+       velocityjitter 150 150 150
+       velocitymultiplier 0.400000
  effect healray_muzzleflash
- count 4
- type spark
- tex 70 70
- color 0xD9FDFF 0x00f0ff
- size 1 1
- alpha 110 228 4024
- originjitter 1 1 1
- velocityjitter 650 650 650
- velocitymultiplier 1.1
- stretchfactor 0.2
- //healray impact
+       type spark
+       alpha 110 228 4024
+       color 0xD9FDFF 0x00f0ff
+       count 4
+       originjitter 1 1 1
+       size 1 1
+       stretchfactor 0.200000
+       tex 70 70
+       velocityjitter 650 650 650
+       velocitymultiplier 1.100000
  effect healray_impact
- countabsolute 1
- type decal
- tex 59 59
- size 32 32
- alpha 256 256 0
- color 0xd800ff 0xd800ff
- originjitter 17 17 17
- lightradius 125
- lightradiusfade 450
- lightcolor 0 4.375 0
- // shockwave
+       type decal
+       alpha 256 256 0
+       color 0xd800ff 0xd800ff
+       countabsolute 1
+       lightcolor 0 4.4 0
+       lightradiusfade 450
+       lightradius 125
+       originjitter 17 17 17
+       size 32 32
+       tex 59 59
  effect healray_impact
- type smoke
- countabsolute 1
- tex 33 33
- size 32 32
- sizeincrease 1400
- color 0x00ff00 0x84c52f
- alpha 40 40 350
- velocitymultiplier 44
- // cloud of bouncing sparks
+       type smoke
+       alpha 40 40 350
+       color 0x00ff00 0x84c52f
+       countabsolute 1
+       sizeincrease 1400
+       size 32 32
+       tex 33 33
+       velocitymultiplier 44
  effect healray_impact
- count 30
- type spark
- tex 70 70
- color 0x00ff00 0x84c52f
- size 1 2
- alpha 156 300 1024
- gravity 2
- airfriction 6
- originjitter 1 1 1
- velocityjitter 1112 1112 1112
- // inner cloud of smoke
+       type spark
+       airfriction 6
+       alpha 156 300 1024
+       color 0x00ff00 0x84c52f
+       count 30
+       gravity 2
+       originjitter 1 1 1
+       size 1 2
+       tex 70 70
+       velocityjitter 1112 1112 1112
  effect healray_impact
- count 15
- type smoke
- color 0x00ff00 0x84c52f
- tex 40 40
- size 2 3 
- alpha 200 456 512
- airfriction 3
- gravity -2
- velocityjitter 120 120 420
- rotate -180 180 -90 90
- // big plasma muzzle flash
+       type smoke
+       airfriction 3
+       alpha 200 456 512
+       color 0x00ff00 0x84c52f
+       count 15
+       gravity -2
+       rotate -180 180 -90 90
+       size 2 3
+       tex 40 40
+       velocityjitter 120 120 420
  effect bigplasma_muzzleflash
- countabsolute 1
- type smoke
- color 0x283880 0x283880 // 0x202020 0x404040
- tex 65 65
- size 50 50
- alpha 256 256 812
- originjitter 1.5 1.5 1.5
- velocityjitter 6 6 6
- sizeincrease -10
- velocitymultiplier 0.01
- lightradius 200
- lightradiusfade 2000
- lightcolor 1.5 3 6
+       type smoke
+       alpha 256 256 812
+       color 0x283880 0x283880
+       countabsolute 1
+       lightcolor 1.5 3 6
+       lightradiusfade 2000
+       lightradius 200
+       originjitter 1.5 1.5 1.5
+       sizeincrease -10
+       size 50 50
+       tex 65 65
+       velocityjitter 6 6 6
+       velocitymultiplier 0.010000
  effect bigplasma_muzzleflash
- countabsolute 1
- type smoke
- color 0x00f0ff 0x00f0ff
- tex 74 74
- size 20 20
- alpha 56 56 1112
- sizeincrease 300
+       type smoke
+       alpha 56 56 1112
+       color 0x00f0ff 0x00f0ff
+       countabsolute 1
+       sizeincrease 300
+       size 20 20
+       tex 74 74
  effect bigplasma_muzzleflash
- count 14
- type spark
- tex 51 55
- color 0xD9FDFF 0x00f0ff
- size 5 10
- sizeincrease 135
- alpha 50 150 1924
- originjitter 1 1 1
- velocityjitter 350 350 350
- velocitymultiplier 0.4
- airfriction 5
- stretchfactor 1.9
+       type spark
+       airfriction 5
+       alpha 50 150 1924
+       color 0xD9FDFF 0x00f0ff
+       count 14
+       originjitter 1 1 1
+       sizeincrease 135
+       size 5 10
+       stretchfactor 1.900000
+       tex 51 55
+       velocityjitter 350 350 350
+       velocitymultiplier 0.400000
  effect bigplasma_muzzleflash
- count 4
- type spark
- tex 70 70
- color 0xD9FDFF 0x00f0ff
- size 20 20
- alpha 110 228 4024
- originjitter 1 1 1
- velocityjitter 650 650 650
- velocitymultiplier 1.1
- stretchfactor 0.2
- // big plasma impact
+       type spark
+       alpha 110 228 4024
+       color 0xD9FDFF 0x00f0ff
+       count 4
+       originjitter 1 1 1
+       size 20 20
+       stretchfactor 0.200000
+       tex 70 70
+       velocityjitter 650 650 650
+       velocitymultiplier 1.100000
  effect bigplasma_impact
- countabsolute 1
- type decal
- tex 59 59
- size 32 32
- alpha 256 256 0
- originjitter 17 17 17
- lightradius 125
- lightradiusfade 450
- lightcolor 3.125 4.375 10
- // shockwave
+       type decal
+       alpha 256 256 0
+       countabsolute 1
+       lightcolor 3.1 4.4 10
+       lightradiusfade 450
+       lightradius 125
+       originjitter 17 17 17
+       size 32 32
+       tex 59 59
  effect bigplasma_impact
- type smoke
- countabsolute 1
- tex 33 33
- size 32 32
- sizeincrease 1400
- color 0x80C0FF 0x80C0FF
- alpha 40 40 350
- velocitymultiplier 44
- // cloud of bouncing sparks
+       type smoke
+       alpha 40 40 350
+       color 0x80C0FF 0x80C0FF
+       countabsolute 1
+       sizeincrease 1400
+       size 32 32
+       tex 33 33
+       velocitymultiplier 44
  effect bigplasma_impact
- count 30
- type spark
- tex 70 70
- color 0x629dff 0x0018ff
- size 1 2
- alpha 156 300 1024
- gravity 2
- airfriction 6
- originjitter 1 1 1
- velocityjitter 1512 1512 1512
- // inner cloud of smoke
+       type spark
+       airfriction 6
+       alpha 156 300 1024
+       color 0x629dff 0x0018ff
+       count 30
+       gravity 2
+       originjitter 1 1 1
+       size 1 2
+       tex 70 70
+       velocityjitter 1512 1512 1512
  effect bigplasma_impact
- count 15
- type smoke
- color 0x629dff 0x0018ff
- tex 48 55
- size 20 24
- sizeincrease 555
- alpha 200 456 1512
- airfriction 30
- originjitter 20 20 20
- velocityjitter 320 320 320
- rotate -180 180 -9 9
- // smoke
+       type smoke
+       airfriction 30
+       alpha 200 456 1512
+       color 0x629dff 0x0018ff
+       count 15
+       originjitter 20 20 20
+       rotate -180 180 -9 9
+       sizeincrease 555
+       size 20 24
+       tex 48 55
+       velocityjitter 320 320 320
  effect bigplasma_impact
- type smoke
- count 16
- blend alpha
- tex 0 7
- size 60 30
- color 0x222222 0x000000
- alpha 128 328 390
- rotate -180 180 2 -2
- velocityjitter 100 100 200
- velocityoffset 0 0 180
- originjitter 80 80 10
- sizeincrease 30
- airfriction 0.04
- gravity 0.4
- // smoke in the middle
+       type smoke
+       airfriction 0.040000
+       alpha 128 328 390
+       blend alpha
+       color 0x222222 0x000000
+       count 16
+       gravity 0.400000
+       originjitter 80 80 10
+       rotate -180 180 2 -2
+       sizeincrease 30
+       size 60 30
+       tex 0 7
+       velocityjitter 100 100 200
+       velocityoffset 0 0 180
  effect bigplasma_impact
- type alphastatic
- count 10
- tex 0 7
- size 60 70
- color 0x222222 0x000000
- alpha 128 328 310
- rotate -180 180 20 -20
- velocityjitter 10 10 10
- originjitter 80 80 80
- sizeincrease -10
- airfriction 0.04
- gravity -0.2
- // redflag_touch -- effects for touching the red flag
- // used nowhere in code
+       type alphastatic
+       airfriction 0.040000
+       alpha 128 328 310
+       color 0x222222 0x000000
+       count 10
+       gravity -0.200000
+       originjitter 80 80 80
+       rotate -180 180 20 -20
+       sizeincrease -10
+       size 60 70
+       tex 0 7
+       velocityjitter 10 10 10
  effect redflag_touch
- count 35
- type spark
- tex 40 40
- color 0xFF0000 0x970000
- size 1 3
- alpha 0 256 556
- gravity 1
- bounce 1.5
- originjitter 1 1 1
- velocityjitter 300 300 300
- velocitymultiplier 0.5
- airfriction 3
- // blueflag_touch -- effects for touching the blue flag
- // used nowhere in code
+       type spark
+       airfriction 3
+       alpha 0 256 556
+       bounce 1.500000
+       color 0xFF0000 0x970000
+       count 35
+       gravity 1
+       originjitter 1 1 1
+       size 1 3
+       tex 40 40
+       velocityjitter 300 300 300
+       velocitymultiplier 0.500000
  effect blueflag_touch
- count 35
- type spark
- tex 40 40
- color 0x0000FF 0x000097
- size 1 3
- alpha 0 256 556
- gravity 1
- bounce 1.5
- originjitter 1 1 1
- velocityjitter 300 300 300
- velocitymultiplier 0.5
- airfriction 3
- // red_pass
- // used nowhere in code
+       type spark
+       airfriction 3
+       alpha 0 256 556
+       bounce 1.500000
+       color 0x0000FF 0x000097
+       count 35
+       gravity 1
+       originjitter 1 1 1
+       size 1 3
+       tex 40 40
+       velocityjitter 300 300 300
+       velocitymultiplier 0.500000
  effect red_pass
- trailspacing 64
- color 0xFF0000 0x970000
- size 2 2
- tex 32 32
- alpha 64 128 64
- airfriction 5
sizeincrease 2
- type static
+       type static
+       airfriction 5
+       alpha 64 128 64
+       color 0xFF0000 0x970000
+       sizeincrease 2
+       size 2 2
      tex 32 32
+       trailspacing 64
  effect red_pass
- trailspacing 12
- color 0xFF0000 0x970000
- size 1 1
- tex 0 8
- alpha 32 64 32
- airfriction 9
sizeincrease 8
- velocityjitter 64 64 64
- type static
+       type static
+       airfriction 9
+       alpha 32 64 32
+       color 0xFF0000 0x970000
+       sizeincrease 8
+       size 1 1
      tex 0 8
+       trailspacing 12
+       velocityjitter 64 64 64
  effect red_pass
- trailspacing 12
- color 0xFF0000 0x970000
- size 4 4
- //tex 48 55
- alpha 256 256 1280
- type static
- // blue_pass
- // used nowhere in code
+       type static
+       alpha 256 256 1280
+       color 0xFF0000 0x970000
+       size 4 4
+       trailspacing 12
  effect blue_pass
- trailspacing 64
- color 0x0000FF 0x000097
- size 2 2
- tex 32 32
- alpha 64 128 64
- airfriction 5
sizeincrease 2
- type static
+       type static
+       airfriction 5
+       alpha 64 128 64
+       color 0x0000FF 0x000097
+       sizeincrease 2
+       size 2 2
      tex 32 32
+       trailspacing 64
  effect blue_pass
- trailspacing 12
- color 0x0000FF 0x000097
- size 1 1
- tex 0 8
- alpha 32 64 32
- airfriction 9
sizeincrease 8
- velocityjitter 64 64 64
- type static
+       type static
+       airfriction 9
+       alpha 32 64 32
+       color 0x0000FF 0x000097
+       sizeincrease 8
+       size 1 1
      tex 0 8
+       trailspacing 12
+       velocityjitter 64 64 64
  effect blue_pass
- trailspacing 12
- color 0x0000FF 0x000097
- size 4 4
- //tex 48 55
- alpha 256 256 1280
- type static
- // red_cap -- red team capture effect
+       type static
+       alpha 256 256 1280
+       color 0x0000FF 0x000097
+       size 4 4
+       trailspacing 12
  effect red_cap
- count 500
- type spark
- tex 64 64
- color 0xFF0000 0x970000
- size 1 1
- alpha 0 256 100
- stretchfactor 2
- //gravity 1
- bounce 1.5
- originjitter 1 1 1
- velocityjitter 1000 1000 1500
- velocitymultiplier 0.5
- airfriction 2
- stretchfactor 0.6
+       type spark
+       airfriction 2
+       alpha 0 256 100
+       bounce 1.500000
+       color 0xFF0000 0x970000
+       count 500
+       originjitter 1 1 1
+       size 1 1
+       stretchfactor 0.600000
+       tex 64 64
+       velocityjitter 1000 1000 1500
+       velocitymultiplier 0.500000
  effect red_cap
- countabsolute 1
- type smoke
- tex 65 65
- size 150 150
- alpha 190 190 180
- sizeincrease -80
- color 0xFF0000 0x970000
- // blue_cap -- blue team capture effect
+       type smoke
+       alpha 190 190 180
+       color 0xFF0000 0x970000
+       countabsolute 1
+       sizeincrease -80
+       size 150 150
+       tex 65 65
  effect blue_cap
- count 500
- type spark
- tex 64 64
- color 0x0000FF 0x000097
- size 1 1
- alpha 0 256 100
- stretchfactor 2
- //gravity 1
- bounce 1.5
- originjitter 1 1 1
- velocityjitter 1000 1000 1500
- velocitymultiplier 0.5
- airfriction 2
- stretchfactor 0.6
+       type spark
+       airfriction 2
+       alpha 0 256 100
+       bounce 1.500000
+       color 0x0000FF 0x000097
+       count 500
+       originjitter 1 1 1
+       size 1 1
+       stretchfactor 0.600000
+       tex 64 64
+       velocityjitter 1000 1000 1500
+       velocitymultiplier 0.500000
  effect blue_cap
- countabsolute 1
- type smoke
- tex 65 65
- size 150 150
- alpha 190 190 180
- sizeincrease -80
- color 0x0000FF 0x000097
- // spawn_point_red -- red team idle spawn point effect
+       type smoke
+       alpha 190 190 180
+       color 0x0000FF 0x000097
+       countabsolute 1
+       sizeincrease -80
+       size 150 150
+       tex 65 65
  effect spawn_point_red
- count 37.5
- type static
- color 0xFF0F0F 0xFF0F0F
- size 1.0 2.0
- alpha 64 128 128
- gravity -0.1
- airfriction 0.2
- liquidfriction 0.8
- originjitter 16 16 64
- velocityjitter 32 32 0
- //lightradius 200
- //lighttime 0
- //lightcolor 0.4 0.9 0.9
- // spawn_point_blue -- blue team idle spawn point effect
+       type static
+       airfriction 0.200000
+       alpha 64 128 128
+       color 0xFF0F0F 0xFF0F0F
+       count 37.500000
+       gravity -0.100000
+       liquidfriction 0.800000
+       originjitter 16 16 64
+       size 1 2
+       velocityjitter 32 32 0
  effect spawn_point_blue
- count 37.5
- type static
- color 0x0F0FFF 0x0F0FFF
- size 1.0 2.0
- alpha 64 128 128
- gravity -0.1
- airfriction 0.2
- liquidfriction 0.8
- originjitter 16 16 64
- velocityjitter 32 32 0
- //lightradius 200
- //lighttime 0
- //lightcolor 0.4 0.9 0.9
- // spawn_point_yellow -- yellow team idle spawn point effect
+       type static
+       airfriction 0.200000
+       alpha 64 128 128
+       color 0x0F0FFF 0x0F0FFF
+       count 37.500000
+       gravity -0.100000
+       liquidfriction 0.800000
+       originjitter 16 16 64
+       size 1 2
+       velocityjitter 32 32 0
  effect spawn_point_yellow
- count 37.5
- type static
- color 0xFFFF0F 0xFFFF0F
- size 1.0 2.0
- alpha 64 128 128
- gravity -0.1
- airfriction 0.2
- liquidfriction 0.8
- originjitter 16 16 64
- velocityjitter 32 32 0
- //lightradius 200
- //lighttime 0
- //lightcolor 0.4 0.9 0.9
- // spawn_point_pink -- pink team idle spawn point effect
+       type static
+       airfriction 0.200000
+       alpha 64 128 128
+       color 0xFFFF0F 0xFFFF0F
+       count 37.500000
+       gravity -0.100000
+       liquidfriction 0.800000
+       originjitter 16 16 64
+       size 1 2
+       velocityjitter 32 32 0
  effect spawn_point_pink
- count 37.5
- type static
- color 0xFF0FFF 0xFF0FFF
- size 1.0 2.0
- alpha 64 128 128
- gravity -0.1
- airfriction 0.2
- liquidfriction 0.8
- originjitter 16 16 64
- velocityjitter 32 32 0
- //lightradius 200
- //lighttime 0
- //lightcolor 0.4 0.9 0.9
- // spawn_point_neutral -- neutral idle spawn point effect
+       type static
+       airfriction 0.200000
+       alpha 64 128 128
+       color 0xFF0FFF 0xFF0FFF
+       count 37.500000
+       gravity -0.100000
+       liquidfriction 0.800000
+       originjitter 16 16 64
+       size 1 2
+       velocityjitter 32 32 0
  effect spawn_point_neutral
- count 37.5
- type static
- color 0xFFFFFF 0xFFFFFF
- size 1.0 2.0
- alpha 64 128 128
- gravity -0.1
- airfriction 0.2
- liquidfriction 0.8
- originjitter 16 16 64
- velocityjitter 32 32 0
- //lightradius 200
- //lighttime 0
- //lightcolor 0.4 0.9 0.9
- // spawn_event_red -- red team spawning effect
+       type static
+       airfriction 0.200000
+       alpha 64 128 128
+       color 0xFFFFFF 0xFFFFFF
+       count 37.500000
+       gravity -0.100000
+       liquidfriction 0.800000
+       originjitter 16 16 64
+       size 1 2
+       velocityjitter 32 32 0
  effect spawn_event_red
- count 100
- type spark
- tex 64 64
- color 0xFF0F0F 0xFF0F0F
- size 1 1
- alpha 0 256 256
- stretchfactor 0.6
- //gravity 1
- bounce 1
- originjitter 1 1 1
- velocityjitter 500 500 500
- velocitymultiplier 0.1
- airfriction 2
+       type spark
+       airfriction 2
+       alpha 0 256 256
+       bounce 1
+       color 0xFF0F0F 0xFF0F0F
+       count 100
+       originjitter 1 1 1
+       size 1 1
+       stretchfactor 0.600000
+       tex 64 64
+       velocityjitter 500 500 500
+       velocitymultiplier 0.100000
  effect spawn_event_red
- countabsolute 1
- type smoke
- tex 65 65
- size 100 100
- alpha 190 190 180
- sizeincrease -80
- color 0xFF0F0F 0xFF0F0F
- // spawn_event_blue -- blue team spawning effect
+       type smoke
+       alpha 190 190 180
+       color 0xFF0F0F 0xFF0F0F
+       countabsolute 1
+       sizeincrease -80
+       size 100 100
+       tex 65 65
  effect spawn_event_blue
- count 100
- type spark
- tex 64 64
- color 0x0F0FFF 0x0F0FFF
- size 1 1
- alpha 0 256 256
- stretchfactor 0.6
- //gravity 1
- bounce 1
- originjitter 1 1 1
- velocityjitter 500 500 500
- velocitymultiplier 0.1
- airfriction 2
+       type spark
+       airfriction 2
+       alpha 0 256 256
+       bounce 1
+       color 0x0F0FFF 0x0F0FFF
+       count 100
+       originjitter 1 1 1
+       size 1 1
+       stretchfactor 0.600000
+       tex 64 64
+       velocityjitter 500 500 500
+       velocitymultiplier 0.100000
  effect spawn_event_blue
- countabsolute 1
- type smoke
- tex 65 65
- size 100 100
- alpha 190 190 180
- sizeincrease -80
- color 0x0F0FFF 0x0F0FFF
- // spawn_event_yellow -- yellow team spawning effect
+       type smoke
+       alpha 190 190 180
+       color 0x0F0FFF 0x0F0FFF
+       countabsolute 1
+       sizeincrease -80
+       size 100 100
+       tex 65 65
  effect spawn_event_yellow
- count 100
- type spark
- tex 64 64
- color 0xFFFF0F 0xFFFF0F
- size 1 1
- alpha 0 256 256
- stretchfactor 0.6
- //gravity 1
- bounce 1
- originjitter 1 1 1
- velocityjitter 500 500 500
- velocitymultiplier 0.1
- airfriction 2
+       type spark
+       airfriction 2
+       alpha 0 256 256
+       bounce 1
+       color 0xFFFF0F 0xFFFF0F
+       count 100
+       originjitter 1 1 1
+       size 1 1
+       stretchfactor 0.600000
+       tex 64 64
+       velocityjitter 500 500 500
+       velocitymultiplier 0.100000
  effect spawn_event_yellow
- countabsolute 1
- type smoke
- tex 65 65
- size 100 100
- alpha 190 190 180
- sizeincrease -80
- color 0xFFFF0F 0xFFFF0F
- // spawn_event_pink -- pink team spawning effect
+       type smoke
+       alpha 190 190 180
+       color 0xFFFF0F 0xFFFF0F
+       countabsolute 1
+       sizeincrease -80
+       size 100 100
+       tex 65 65
  effect spawn_event_pink
- count 100
- type spark
- tex 64 64
- color 0xFF0FFF 0xFF0FFF
- size 1 1
- alpha 0 256 256
- stretchfactor 0.6
- //gravity 1
- bounce 1
- originjitter 1 1 1
- velocityjitter 500 500 500
- velocitymultiplier 0.1
- airfriction 2
+       type spark
+       airfriction 2
+       alpha 0 256 256
+       bounce 1
+       color 0xFF0FFF 0xFF0FFF
+       count 100
+       originjitter 1 1 1
+       size 1 1
+       stretchfactor 0.600000
+       tex 64 64
+       velocityjitter 500 500 500
+       velocitymultiplier 0.100000
  effect spawn_event_pink
- countabsolute 1
- type smoke
- tex 65 65
- size 100 100
- alpha 190 190 180
- sizeincrease -80
- color 0xFF0FFF 0xFF0FFF
- // spawn_event_neutral -- neutral spawning effect
+       type smoke
+       alpha 190 190 180
+       color 0xFF0FFF 0xFF0FFF
+       countabsolute 1
+       sizeincrease -80
+       size 100 100
+       tex 65 65
  effect spawn_event_neutral
- count 100
- type spark
- tex 64 64
- color 0xFFFFFF 0xFFFFFF
- size 1 1
- alpha 0 256 256
- stretchfactor 0.6
- //gravity 1
- bounce 1
- originjitter 1 1 1
- velocityjitter 500 500 500
- velocitymultiplier 0.1
- airfriction 2
+       type spark
+       airfriction 2
+       alpha 0 256 256
+       bounce 1
+       color 0xFFFFFF 0xFFFFFF
+       count 100
+       originjitter 1 1 1
+       size 1 1
+       stretchfactor 0.600000
+       tex 64 64
+       velocityjitter 500 500 500
+       velocitymultiplier 0.100000
  effect spawn_event_neutral
- countabsolute 1
- type smoke
- tex 65 65
- size 100 100
- alpha 190 190 180
- sizeincrease -80
- color 0xFFFFFF 0xFFFFFF
- // nade effects
+       type smoke
+       alpha 190 190 180
+       color 0xFFFFFF 0xFFFFFF
+       countabsolute 1
+       sizeincrease -80
+       size 100 100
+       tex 65 65
  effect nade_blue
- trailspacing 1
- type smoke
- color 0x006cff 0x0600ff
- tex 65 65
- size 3 3
- sizeincrease -1
- alpha 100 100 250
- //gravity -0.11
- // fire
+       type smoke
+       alpha 100 100 250
+       color 0x006cff 0x0600ff
+       sizeincrease -1
+       size 3 3
+       tex 65 65
+       trailspacing 1
  effect nade_blue
- notunderwater
- trailspacing 8
- type smoke
- color 0x0600ff 0x9794ff
- tex 65 65
- size 15 25
- sizeincrease -10
- alpha 30 30 150
- // bubbles
+       type smoke
+       alpha 30 30 150
+       color 0x0600ff 0x9794ff
+       notunderwater
+       sizeincrease -10
+       size 15 25
+       tex 65 65
+       trailspacing 8
  effect nade_blue
- underwater
- trailspacing 16
- type bubble
- tex 62 62
- color 0x006cff 0x0600ff
- size 1 1
- alpha 256 256 256
- gravity -0.125
- bounce 1.5
- liquidfriction 4
- velocityjitter 16 16 16
+       type bubble
+       alpha 256 256 256
+       bounce 1.500000
+       color 0x006cff 0x0600ff
+       gravity -0.125000
+       liquidfriction 4
+       size 1 1
+       tex 62 62
+       trailspacing 16
+       underwater
+       velocityjitter 16 16 16
  effect nade_red
- trailspacing 1
- type smoke
- color 0xff0000 0xff3c00
- tex 65 65
- size 3 3
- sizeincrease -1
- alpha 100 100 250
- //gravity -0.11
- // fire
+       type smoke
+       alpha 100 100 250
+       color 0xff0000 0xff3c00
+       sizeincrease -1
+       size 3 3
+       tex 65 65
+       trailspacing 1
  effect nade_red
- notunderwater
- trailspacing 8
- type smoke
- color 0xff0000 0xffa2a2
- tex 65 65
- size 15 25
- sizeincrease -10
- alpha 30 30 150
- // bubbles
+       type smoke
+       alpha 30 30 150
+       color 0xff0000 0xffa2a2
+       notunderwater
+       sizeincrease -10
+       size 15 25
+       tex 65 65
+       trailspacing 8
  effect nade_red
- underwater
- trailspacing 16
- type bubble
- tex 62 62
- color 0xff0000 0xff3c00
- size 1 1
- alpha 256 256 256
- gravity -0.125
- bounce 1.5
- liquidfriction 4
- velocityjitter 16 16 16
+       type bubble
+       alpha 256 256 256
+       bounce 1.500000
+       color 0xff0000 0xff3c00
+       gravity -0.125000
+       liquidfriction 4
+       size 1 1
+       tex 62 62
+       trailspacing 16
+       underwater
+       velocityjitter 16 16 16
  effect nade_yellow
- trailspacing 1
- type smoke
- color 0xFFFF0F 0xFFFF0F
- tex 65 65
- size 3 3
- sizeincrease -1
- alpha 100 100 250
- //gravity -0.11
- // fire
+       type smoke
+       alpha 100 100 250
+       color 0xFFFF0F 0xFFFF0F
+       sizeincrease -1
+       size 3 3
+       tex 65 65
+       trailspacing 1
  effect nade_yellow
- notunderwater
- trailspacing 8
- type smoke
- color 0xFFFF0F 0xFFFF0F
- tex 65 65
- size 15 25
- sizeincrease -10
- alpha 30 30 150
- // bubbles
+       type smoke
+       alpha 30 30 150
+       color 0xFFFF0F 0xFFFF0F
+       notunderwater
+       sizeincrease -10
+       size 15 25
+       tex 65 65
+       trailspacing 8
  effect nade_yellow
- underwater
- trailspacing 16
- type bubble
- tex 62 62
- color 0xFFFF0F 0xFFFF0F
- size 1 1
- alpha 256 256 256
- gravity -0.125
- bounce 1.5
- liquidfriction 4
- velocityjitter 16 16 16
+       type bubble
+       alpha 256 256 256
+       bounce 1.500000
+       color 0xFFFF0F 0xFFFF0F
+       gravity -0.125000
+       liquidfriction 4
+       size 1 1
+       tex 62 62
+       trailspacing 16
+       underwater
+       velocityjitter 16 16 16
  effect nade_pink
- trailspacing 1
- type smoke
- color 0xFF0FFF 0xFF0FFF
- tex 65 65
- size 3 3
- sizeincrease -1
- alpha 100 100 250
- //gravity -0.11
- // fire
+       type smoke
+       alpha 100 100 250
+       color 0xFF0FFF 0xFF0FFF
+       sizeincrease -1
+       size 3 3
+       tex 65 65
+       trailspacing 1
  effect nade_pink
- notunderwater
- trailspacing 8
- type smoke
- color 0xFF0FFF 0xFF0FFF
- tex 65 65
- size 15 25
- sizeincrease -10
- alpha 30 30 150
- // bubbles
+       type smoke
+       alpha 30 30 150
+       color 0xFF0FFF 0xFF0FFF
+       notunderwater
+       sizeincrease -10
+       size 15 25
+       tex 65 65
+       trailspacing 8
  effect nade_pink
- underwater
- trailspacing 16
- type bubble
- tex 62 62
- color 0xFF0FFF 0xFF0FFF
- size 1 1
- alpha 256 256 256
- gravity -0.125
- bounce 1.5
- liquidfriction 4
- velocityjitter 16 16 16
+       type bubble
+       alpha 256 256 256
+       bounce 1.500000
+       color 0xFF0FFF 0xFF0FFF
+       gravity -0.125000
+       liquidfriction 4
+       size 1 1
+       tex 62 62
+       trailspacing 16
+       underwater
+       velocityjitter 16 16 16
  effect nade_neutral
- trailspacing 1
- type smoke
- color 0xFFFFFF 0xFFFFFF
- tex 65 65
- size 3 3
- sizeincrease -1
- alpha 100 100 250
- //gravity -0.11
- // fire
+       type smoke
+       alpha 100 100 250
+       color 0xFFFFFF 0xFFFFFF
+       sizeincrease -1
+       size 3 3
+       tex 65 65
+       trailspacing 1
  effect nade_neutral
- notunderwater
- trailspacing 8
- type smoke
- color 0xFFFFFF 0xFFFFFF
- tex 65 65
- size 15 25
- sizeincrease -10
- alpha 30 30 150
- // bubbles
+       type smoke
+       alpha 30 30 150
+       color 0xFFFFFF 0xFFFFFF
+       notunderwater
+       sizeincrease -10
+       size 15 25
+       tex 65 65
+       trailspacing 8
  effect nade_neutral
- underwater
- trailspacing 16
- type bubble
- tex 62 62
- color 0xFFFFFF 0xFFFFFF
- size 1 1
- alpha 256 256 256
- gravity -0.125
- bounce 1.5
- liquidfriction 4
- velocityjitter 16 16 16
+       type bubble
+       alpha 256 256 256
+       bounce 1.500000
+       color 0xFFFFFF 0xFFFFFF
+       gravity -0.125000
+       liquidfriction 4
+       size 1 1
+       tex 62 62
+       trailspacing 16
+       underwater
+       velocityjitter 16 16 16
  effect nade_red_burn
- trailspacing 1
- type smoke
- color 0xff0000 0xff3c00
- tex 65 65
- size 5 5
- sizeincrease -1
- alpha 100 100 250
- //gravity -0.11
- // fire
+       type smoke
+       alpha 100 100 250
+       color 0xff0000 0xff3c00
+       sizeincrease -1
+       size 5 5
+       tex 65 65
+       trailspacing 1
  effect nade_red_burn
- notunderwater
- trailspacing 64
- type smoke
- color 0xff0000 0xffa2a2
- tex 65 65
- size 45 25
- sizeincrease -30
- alpha 200 200 1000
- // bubbles
+       type smoke
+       alpha 200 200 1000
+       color 0xff0000 0xffa2a2
+       notunderwater
+       sizeincrease -30
+       size 45 25
+       tex 65 65
+       trailspacing 64
  effect nade_red_burn
- underwater
trailspacing 16
- type bubble
- tex 62 62
color 0xff0000 0xff3c00
- size 1 1
- alpha 256 256 256
- gravity -0.125
- bounce 1.5
- liquidfriction 4
- velocityjitter 16 16 16
+       type bubble
      alpha 256 256 256
+       bounce 1.500000
+       color 0xff0000 0xff3c00
      gravity -0.125000
+       liquidfriction 4
+       size 1 1
+       tex 62 62
+       trailspacing 16
+       underwater
      velocityjitter 16 16 16
  effect nade_red_burn
- trailspacing 16
- type smoke
- color 0xff0000 0xff3c00
- tex 71 73
- size 15 25
- sizeincrease -40
- rotate -180 180 20 -20
- originjitter 2 2 2
- velocityjitter 10 10 10
- alpha 300 900 1500
+       type smoke
+       alpha 300 900 1500
+       color 0xff0000 0xff3c00
+       originjitter 2 2 2
+       rotate -180 180 20 -20
+       sizeincrease -40
+       size 15 25
+       tex 71 73
+       trailspacing 16
+       velocityjitter 10 10 10
  effect nade_blue_burn
- trailspacing 1
- type smoke
- color 0x006cff 0x0600ff
- tex 65 65
- size 5 5
- sizeincrease -1
- alpha 100 100 250
- //gravity -0.11
- // fire
+       type smoke
+       alpha 100 100 250
+       color 0x006cff 0x0600ff
+       sizeincrease -1
+       size 5 5
+       tex 65 65
+       trailspacing 1
  effect nade_blue_burn
- notunderwater
- trailspacing 64
- type smoke
- color 0x0600ff 0x9794ff
- tex 65 65
- size 45 25
- sizeincrease -30
- alpha 200 200 1000
- // bubbles
+       type smoke
+       alpha 200 200 1000
+       color 0x0600ff 0x9794ff
+       notunderwater
+       sizeincrease -30
+       size 45 25
+       tex 65 65
+       trailspacing 64
  effect nade_blue_burn
- underwater
trailspacing 16
- type bubble
- tex 62 62
- color 0x006cff 0x0600ff
- size 1 1
- alpha 256 256 256
- gravity -0.125
- bounce 1.5
- liquidfriction 4
- velocityjitter 16 16 16
+       type bubble
      alpha 256 256 256
+       bounce 1.500000
+       color 0x006cff 0x0600ff
+       gravity -0.125000
+       liquidfriction 4
+       size 1 1
+       tex 62 62
+       trailspacing 16
+       underwater
      velocityjitter 16 16 16
  effect nade_blue_burn
- trailspacing 16
- type smoke
- color 0x006cff 0x0600ff
- tex 33 33
- size 25 25
- sizeincrease -30
+       type smoke
+       alpha 300 900 1500
+       color 0x006cff 0x0600ff
+       originjitter 2 2 2
+       rotate -180 180 20 -20
+       sizeincrease -40
+       size 15 25
+       tex 71 73
+       trailspacing 16
+       velocityjitter 10 10 10
  effect nade_yellow_burn
- trailspacing 1
- type smoke
- color 0xFFFF0F 0xFFFF0F
- tex 65 65
- size 5 5
- sizeincrease -1
- alpha 100 100 250
- //gravity -0.11
- // fire
+       type smoke
+       alpha 100 100 250
+       color 0xFFFF0F 0xFFFF0F
+       sizeincrease -1
+       size 5 5
+       tex 65 65
+       trailspacing 1
  effect nade_yellow_burn
- notunderwater
- trailspacing 64
- type smoke
- color 0xFFFF0F 0xFFFF0F
- tex 65 65
- size 45 25
- sizeincrease -30
- alpha 200 200 1000
- // bubbles
+       type smoke
+       alpha 200 200 1000
+       color 0xFFFF0F 0xFFFF0F
+       notunderwater
+       sizeincrease -30
+       size 45 25
+       tex 65 65
+       trailspacing 64
  effect nade_yellow_burn
- underwater
trailspacing 16
- type bubble
- tex 62 62
- color 0xFFFF0F 0xFFFF0F
- size 1 1
- alpha 256 256 256
- gravity -0.125
- bounce 1.5
- liquidfriction 4
- velocityjitter 16 16 16
+       type bubble
      alpha 256 256 256
+       bounce 1.500000
+       color 0xFFFF0F 0xFFFF0F
+       gravity -0.125000
+       liquidfriction 4
+       size 1 1
+       tex 62 62
+       trailspacing 16
+       underwater
      velocityjitter 16 16 16
  effect nade_yellow_burn
- trailspacing 16
- type smoke
- color 0xFFFF0F 0xFFFF0F
- tex 33 33
- size 25 25
- sizeincrease -30
+       type smoke
+       alpha 300 900 1500
+       color 0xFFFF0F 0xFFFF0F
+       originjitter 2 2 2
+       rotate -180 180 20 -20
+       sizeincrease -40
+       size 15 25
+       tex 71 73
+       trailspacing 16
+       velocityjitter 10 10 10
  effect nade_pink_burn
- trailspacing 1
- type smoke
- color 0xFF0FFF 0xFF0FFF
- tex 65 65
- size 5 5
- sizeincrease -1
- alpha 100 100 250
- //gravity -0.11
- // fire
+       type smoke
+       alpha 100 100 250
+       color 0xFF0FFF 0xFF0FFF
+       sizeincrease -1
+       size 5 5
+       tex 65 65
+       trailspacing 1
  effect nade_pink_burn
- notunderwater
- trailspacing 64
- type smoke
- color 0xFF0FFF 0xFF0FFF
- tex 65 65
- size 45 25
- sizeincrease -30
- alpha 200 200 1000
- // bubbles
+       type smoke
+       alpha 200 200 1000
+       color 0xFF0FFF 0xFF0FFF
+       notunderwater
+       sizeincrease -30
+       size 45 25
+       tex 65 65
+       trailspacing 64
  effect nade_pink_burn
- underwater
trailspacing 16
- type bubble
- tex 62 62
- color 0xFF0FFF 0xFF0FFF
- size 1 1
- alpha 256 256 256
- gravity -0.125
- bounce 1.5
- liquidfriction 4
- velocityjitter 16 16 16
+       type bubble
      alpha 256 256 256
+       bounce 1.500000
+       color 0xFF0FFF 0xFF0FFF
+       gravity -0.125000
+       liquidfriction 4
+       size 1 1
+       tex 62 62
+       trailspacing 16
+       underwater
      velocityjitter 16 16 16
  effect nade_pink_burn
- trailspacing 16
- type smoke
- color 0xFF0FFF 0xFF0FFF
- tex 33 33
- size 25 25
- sizeincrease -30
+       type smoke
+       alpha 300 900 1500
+       color 0xFF0FFF 0xFF0FFF
+       originjitter 2 2 2
+       rotate -180 180 20 -20
+       sizeincrease -40
+       size 15 25
+       tex 71 73
+       trailspacing 16
+       velocityjitter 10 10 10
  effect nade_neutral_burn
- trailspacing 1
- type smoke
- color 0xFFFFFF 0xFFFFFF
- tex 65 65
- size 5 5
- sizeincrease -1
- alpha 100 100 250
- //gravity -0.11
- // fire
+       type smoke
+       alpha 100 100 250
+       color 0xFFFFFF 0xFFFFFF
+       sizeincrease -1
+       size 5 5
+       tex 65 65
+       trailspacing 1
  effect nade_neutral_burn
- notunderwater
- trailspacing 64
- type smoke
- color 0xFFFFFF 0xFFFFFF
- tex 65 65
- size 45 25
- sizeincrease -30
- alpha 200 200 1000
- // bubbles
+       type smoke
+       alpha 200 200 1000
+       color 0xFFFFFF 0xFFFFFF
+       notunderwater
+       sizeincrease -30
+       size 45 25
+       tex 65 65
+       trailspacing 64
  effect nade_neutral_burn
- underwater
trailspacing 16
- type bubble
- tex 62 62
- color 0xFFFFFF 0xFFFFFF
- size 1 1
- alpha 256 256 256
- gravity -0.125
- bounce 1.5
- liquidfriction 4
- velocityjitter 16 16 16
+       type bubble
      alpha 256 256 256
+       bounce 1.500000
+       color 0xFFFFFF 0xFFFFFF
+       gravity -0.125000
+       liquidfriction 4
+       size 1 1
+       tex 62 62
+       trailspacing 16
+       underwater
      velocityjitter 16 16 16
  effect nade_neutral_burn
- trailspacing 16
- type smoke
- color 0xFFFFFF 0xFFFFFF
- tex 33 33
- size 25 25
- sizeincrease -30
+       type smoke
+       alpha 300 900 1500
+       color 0xFFFFFF 0xFFFFFF
+       originjitter 2 2 2
+       rotate -180 180 20 -20
+       sizeincrease -40
+       size 15 25
+       tex 71 73
+       trailspacing 16
+       velocityjitter 10 10 10
  effect nade_blue_explode
- countabsolute 1
- type decal
- tex 8 16
- size 88 88
- alpha 256 256 0
- originjitter 26 26 26
- lightradius 300
- lightradiusfade 1500
- lightcolor 20 20 100
- // shockwave
+       type decal
+       alpha 256 256 0
+       countabsolute 1
+       lightcolor 20 20 100
+       lightradiusfade 1500
+       lightradius 300
+       originjitter 26 26 26
+       size 88 88
+       tex 8 16
  effect nade_blue_explode
- type smoke
- countabsolute 1
- tex 33 33
- size 32 32
- sizeincrease 1800
- color 0x80C0FF 0x80C0FF
- alpha 80 80 650
- velocitymultiplier 44
- // fire
+       type smoke
+       alpha 80 80 650
+       color 0x80C0FF 0x80C0FF
+       countabsolute 1
+       sizeincrease 1800
+       size 32 32
+       tex 33 33
+       velocitymultiplier 44
  effect nade_blue_explode
- notunderwater
- count 16
- type smoke
- color 0x629dff 0x0018ff
- tex 48 55
- size 20 24
- sizeincrease 555
- alpha 400 656 2000
- airfriction 30
- originjitter 50 50 50
- velocityjitter 320 320 320
- rotate -180 180 -9 9
- // fire stretched
+       type smoke
+       airfriction 30
+       alpha 400 656 2000
+       color 0x629dff 0x0018ff
+       count 16
+       notunderwater
+       originjitter 50 50 50
+       rotate -180 180 -9 9
+       sizeincrease 555
+       size 20 24
+       tex 48 55
+       velocityjitter 320 320 320
  effect nade_blue_explode
- count 8
- type spark
- tex 48 55
- color 0x629dff 0x0018ff
- size 60 90
- alpha 1500 3000 13000
- stretchfactor 80
- sizeincrease 40
- velocityjitter 30 30 30
- airfriction -9
- //smoke
+       type spark
+       airfriction -9
+       alpha 1500 3000 13000
+       color 0x629dff 0x0018ff
+       count 8
+       sizeincrease 40
+       size 60 90
+       stretchfactor 80
+       tex 48 55
+       velocityjitter 30 30 30
  effect nade_blue_explode
- type smoke
- count 32
- blend alpha
- tex 0 7
- size 60 30
- color 0x222222 0x000000
- alpha 128 328 390
- rotate -180 180 2 -2
- velocityjitter 200 200 200
- velocityoffset 0 0 180
- originjitter 50 50 10
- sizeincrease 50
- airfriction 0.04
- gravity 0.4
- // underwater bubbles
+       type smoke
+       airfriction 0.040000
+       alpha 128 328 390
+       blend alpha
+       color 0x222222 0x000000
+       count 32
+       gravity 0.400000
+       originjitter 50 50 10
+       rotate -180 180 2 -2
+       sizeincrease 50
+       size 60 30
+       tex 0 7
+       velocityjitter 200 200 200
+       velocityoffset 0 0 180
  effect nade_blue_explode
- underwater
- count 32
- type bubble
- tex 62 62
- color 0x404040 0x808080
- size 3 6
- alpha 128 256 64
- gravity -0.125
- bounce 1.5
- liquidfriction 0.25
- originjitter 16 16 16
- velocityjitter 196 196 196
- rotate 0 0 0 0
- // bouncing sparks
+       type bubble
+       alpha 128 256 64
+       bounce 1.500000
+       color 0x404040 0x808080
+       count 32
+       gravity -0.125000
+       liquidfriction 0.250000
+       originjitter 16 16 16
+       size 3 6
+       tex 62 62
+       underwater
+       velocityjitter 196 196 196
  effect nade_blue_explode
- notunderwater
- count 8
- type spark
- tex 40 40
- color 0x006cff 0x0600ff
- size 1 2
- alpha 644 956 484
- gravity 1
- airfriction 1
- bounce 1.6
- liquidfriction 0.8
- velocityoffset 0 0 80
- originjitter 16 16 16
- velocityjitter 424 424 624
- // notbouncing sparks
+       type spark
+       airfriction 1
+       alpha 644 956 484
+       bounce 1.600000
+       color 0x006cff 0x0600ff
+       count 8
+       gravity 1
+       liquidfriction 0.800000
+       notunderwater
+       originjitter 16 16 16
+       size 1 2
+       tex 40 40
+       velocityjitter 424 424 624
+       velocityoffset 0 0 80
  effect nade_blue_explode
- count 16
- type spark
- tex 40 40
- color 0x006cff 0x0600ff
- size 1 2
- alpha 644 956 684
- gravity 0.5
- airfriction 0.7
- liquidfriction 0.8
- velocityoffset 0 0 80
- originjitter 16 16 16
- velocityjitter 424 424 624
- // debris
+       type spark
+       airfriction 0.700000
+       alpha 644 956 684
+       color 0x006cff 0x0600ff
+       count 16
+       gravity 0.500000
+       liquidfriction 0.800000
+       originjitter 16 16 16
+       size 1 2
+       tex 40 40
+       velocityjitter 424 424 624
+       velocityoffset 0 0 80
  effect nade_blue_explode
- notunderwater
- count 12
- type alphastatic
- tex 66 68
- color 0x6a3d25 0xcac5b4
- size 2 6
- alpha 644 956 684
- gravity 1.3
- airfriction 0.5
- bounce 1.6
- velocityjitter 324 324 524
- rotate -180 180 -1000 1000
+       type smoke
+       alpha 644 956 2500
+       color 0x006cff 0x0600ff
+       count 8
+       notunderwater
+       originjitter 64 64 64
+       rotate -180 180 -100 100
+       size 20 40
+       tex 71 73
+       velocityjitter 324 324 324
  effect nade_red_explode
- countabsolute 1
- type decal
- tex 8 16
- size 88 88
- alpha 256 256 0
- originjitter 26 26 26
- lightradius 300
- lightradiusfade 1500
- lightcolor 100 20 20
- // shockwave
+       type decal
+       alpha 256 256 0
+       countabsolute 1
+       lightcolor 100 20 20
+       lightradiusfade 1500
+       lightradius 300
+       originjitter 26 26 26
+       size 88 88
+       tex 8 16
  effect nade_red_explode
- type smoke
- countabsolute 1
- tex 33 33
- size 32 32
- sizeincrease 2200
- color 0xff0000 0xffa2a2
- alpha 80 80 650
- velocitymultiplier 44
- // fire
+       type smoke
+       alpha 80 80 650
+       color 0xff0000 0xffa2a2
+       countabsolute 1
+       sizeincrease 1800
+       size 32 32
+       tex 33 33
+       velocitymultiplier 44
  effect nade_red_explode
- notunderwater
- count 16
- type smoke
- color 0xff0000 0xff4200
- tex 48 55
- size 20 24
- sizeincrease 555
- alpha 400 656 2000
- airfriction 30
- originjitter 50 50 50
- velocityjitter 320 320 320
- rotate -180 180 -9 9
- // fire stretched
+       type smoke
+       airfriction 30
+       alpha 400 656 2000
+       color 0xff0000 0xff4200
+       count 16
+       notunderwater
+       originjitter 50 50 50
+       rotate -180 180 -9 9
+       sizeincrease 555
+       size 20 24
+       tex 48 55
+       velocityjitter 320 320 320
  effect nade_red_explode
- count 8
- type spark
- tex 48 55
- color 0xff0000 0xff4200
- size 60 90
- alpha 1500 3000 13000
- stretchfactor 80
- sizeincrease 40
- velocityjitter 30 30 30
- airfriction -9
- //smoke
+       type spark
+       airfriction -9
+       alpha 1500 3000 13000
+       color 0xff0000 0xff4200
+       count 8
+       sizeincrease 40
+       size 60 90
+       stretchfactor 80
+       tex 48 55
+       velocityjitter 30 30 30
  effect nade_red_explode
- type smoke
- count 32
- blend alpha
- tex 0 7
- size 60 30
- color 0x222222 0x000000
- alpha 128 328 390
- rotate -180 180 2 -2
- velocityjitter 200 200 200
- velocityoffset 0 0 180
- originjitter 50 50 10
- sizeincrease 50
- airfriction 0.04
- gravity 0.4
- // underwater bubbles
+       type smoke
+       airfriction 0.040000
+       alpha 128 328 390
+       blend alpha
+       color 0x222222 0x000000
+       count 32
+       gravity 0.400000
+       originjitter 50 50 10
+       rotate -180 180 2 -2
+       sizeincrease 50
+       size 60 30
+       tex 0 7
+       velocityjitter 200 200 200
+       velocityoffset 0 0 180
  effect nade_red_explode
- underwater
- count 32
- type bubble
- tex 62 62
- color 0x404040 0x808080
- size 3 6
- alpha 128 256 64
- gravity -0.125
- bounce 1.5
- liquidfriction 0.25
- originjitter 16 16 16
- velocityjitter 196 196 196
- rotate 0 0 0 0
- // bouncing sparks
+       type bubble
+       alpha 128 256 64
+       bounce 1.500000
+       color 0x404040 0x808080
+       count 32
+       gravity -0.125000
+       liquidfriction 0.250000
+       originjitter 16 16 16
+       size 3 6
+       tex 62 62
+       underwater
+       velocityjitter 196 196 196
  effect nade_red_explode
- notunderwater
- count 8
- type spark
- tex 40 40
- color 0xff0000 0xffa2a2
- size 1 2
- alpha 644 956 484
- gravity 1
- airfriction 1
- bounce 1.6
- liquidfriction 0.8
- velocityoffset 0 0 80
- originjitter 16 16 16
- velocityjitter 424 424 624
- // notbouncing sparks
+       type spark
+       airfriction 1
+       alpha 644 956 484
+       bounce 1.600000
+       color 0xff0000 0xffa2a2
+       count 8
+       gravity 1
+       liquidfriction 0.800000
+       notunderwater
+       originjitter 16 16 16
+       size 1 2
+       tex 40 40
+       velocityjitter 424 424 624
+       velocityoffset 0 0 80
  effect nade_red_explode
- count 16
- type spark
- tex 40 40
- color 0xff0000 0xffa2a2
- size 1 2
- alpha 644 956 684
- gravity 0.5
- airfriction 0.7
- liquidfriction 0.8
- velocityoffset 0 0 80
- originjitter 16 16 16
- velocityjitter 424 424 624
- // debris
+       type spark
+       airfriction 0.700000
+       alpha 644 956 684
+       color 0xff0000 0xffa2a2
+       count 16
+       gravity 0.500000
+       liquidfriction 0.800000
+       originjitter 16 16 16
+       size 1 2
+       tex 40 40
+       velocityjitter 424 424 624
+       velocityoffset 0 0 80
  effect nade_red_explode
- notunderwater
- count 8
- type smoke
- tex 71 73
- color 0xff0000 0xffa2a2
- size 20 40
- alpha 644 956 2500
- originjitter 64 64 64
- velocityjitter 324 324 324
- rotate -180 180 -100 100
+       type smoke
+       alpha 644 956 2500
+       color 0xff0000 0xffa2a2
+       count 8
+       notunderwater
+       originjitter 64 64 64
+       rotate -180 180 -100 100
+       size 20 40
+       tex 71 73
+       velocityjitter 324 324 324
  effect nade_yellow_explode
- countabsolute 1
- type decal
- tex 8 16
- size 88 88
- alpha 256 256 0
- originjitter 26 26 26
- lightradius 300
- lightradiusfade 1500
- lightcolor 100 20 20
- // shockwave
+       type decal
+       alpha 256 256 0
+       countabsolute 1
+       lightcolor 100 20 20
+       lightradiusfade 1500
+       lightradius 300
+       originjitter 26 26 26
+       size 88 88
+       tex 8 16
  effect nade_yellow_explode
- type smoke
- countabsolute 1
- tex 33 33
- size 32 32
- sizeincrease 2200
- color 0xff0000 0xffa2a2
- alpha 80 80 650
- velocitymultiplier 44
- // fire
+       type smoke
+       alpha 80 80 650
+       color 0xff0000 0xffa2a2
+       countabsolute 1
+       sizeincrease 1800
+       size 32 32
+       tex 33 33
+       velocitymultiplier 44
  effect nade_yellow_explode
- notunderwater
- count 16
- type smoke
- color 0xFFFF0F 0xFFFF0F
- tex 48 55
- size 20 24
- sizeincrease 555
- alpha 400 656 2000
- airfriction 30
- originjitter 50 50 50
- velocityjitter 320 320 320
- rotate -180 180 -9 9
- // fire stretched
+       type smoke
+       airfriction 30
+       alpha 400 656 2000
+       color 0xFFFF0F 0xFFFF0F
+       count 16
+       notunderwater
+       originjitter 50 50 50
+       rotate -180 180 -9 9
+       sizeincrease 555
+       size 20 24
+       tex 48 55
+       velocityjitter 320 320 320
  effect nade_yellow_explode
- count 8
- type spark
- tex 48 55
- color 0xFFFF0F 0xFFFF0F
- size 60 90
- alpha 1500 3000 13000
- stretchfactor 80
- sizeincrease 40
- velocityjitter 30 30 30
- airfriction -9
- //smoke
+       type spark
+       airfriction -9
+       alpha 1500 3000 13000
+       color 0xFFFF0F 0xFFFF0F
+       count 8
+       sizeincrease 40
+       size 60 90
+       stretchfactor 80
+       tex 48 55
+       velocityjitter 30 30 30
  effect nade_yellow_explode
- type smoke
- count 32
- blend alpha
- tex 0 7
- size 60 30
- color 0x222222 0x000000
- alpha 128 328 390
- rotate -180 180 2 -2
- velocityjitter 200 200 200
- velocityoffset 0 0 180
- originjitter 50 50 10
- sizeincrease 50
- airfriction 0.04
- gravity 0.4
- // underwater bubbles
+       type smoke
+       airfriction 0.040000
+       alpha 128 328 390
+       blend alpha
+       color 0x222222 0x000000
+       count 32
+       gravity 0.400000
+       originjitter 50 50 10
+       rotate -180 180 2 -2
+       sizeincrease 50
+       size 60 30
+       tex 0 7
+       velocityjitter 200 200 200
+       velocityoffset 0 0 180
  effect nade_yellow_explode
- underwater
- count 32
- type bubble
- tex 62 62
- color 0x404040 0x808080
- size 3 6
- alpha 128 256 64
- gravity -0.125
- bounce 1.5
- liquidfriction 0.25
- originjitter 16 16 16
- velocityjitter 196 196 196
- rotate 0 0 0 0
- // bouncing sparks
+       type bubble
+       alpha 128 256 64
+       bounce 1.500000
+       color 0x404040 0x808080
+       count 32
+       gravity -0.125000
+       liquidfriction 0.250000
+       originjitter 16 16 16
+       size 3 6
+       tex 62 62
+       underwater
+       velocityjitter 196 196 196
  effect nade_yellow_explode
- notunderwater
- count 8
- type spark
- tex 40 40
- color 0xff0000 0xffa2a2
- size 1 2
- alpha 644 956 484
- gravity 1
- airfriction 1
- bounce 1.6
- liquidfriction 0.8
- velocityoffset 0 0 80
- originjitter 16 16 16
- velocityjitter 424 424 624
- // notbouncing sparks
+       type spark
+       airfriction 1
+       alpha 644 956 484
+       bounce 1.600000
+       color 0xff0000 0xffa2a2
+       count 8
+       gravity 1
+       liquidfriction 0.800000
+       notunderwater
+       originjitter 16 16 16
+       size 1 2
+       tex 40 40
+       velocityjitter 424 424 624
+       velocityoffset 0 0 80
  effect nade_yellow_explode
- count 16
- type spark
- tex 40 40
- color 0xff0000 0xffa2a2
- size 1 2
- alpha 644 956 684
- gravity 0.5
- airfriction 0.7
- liquidfriction 0.8
- velocityoffset 0 0 80
- originjitter 16 16 16
- velocityjitter 424 424 624
- // debris
+       type spark
+       airfriction 0.700000
+       alpha 644 956 684
+       color 0xff0000 0xffa2a2
+       count 16
+       gravity 0.500000
+       liquidfriction 0.800000
+       originjitter 16 16 16
+       size 1 2
+       tex 40 40
+       velocityjitter 424 424 624
+       velocityoffset 0 0 80
  effect nade_yellow_explode
- notunderwater
- count 8
- type smoke
- tex 71 73
- color 0xff0000 0xffa2a2
- size 20 40
- alpha 644 956 2500
- originjitter 64 64 64
- velocityjitter 324 324 324
- rotate -180 180 -100 100
+       type smoke
+       alpha 644 956 2500
+       color 0xff0000 0xffa2a2
+       count 8
+       notunderwater
+       originjitter 64 64 64
+       rotate -180 180 -100 100
+       size 20 40
+       tex 71 73
+       velocityjitter 324 324 324
  effect nade_pink_explode
- countabsolute 1
- type decal
- tex 8 16
- size 88 88
- alpha 256 256 0
- originjitter 26 26 26
- lightradius 300
- lightradiusfade 1500
- lightcolor 100 20 20
- // shockwave
+       type decal
+       alpha 256 256 0
+       countabsolute 1
+       lightcolor 100 20 20
+       lightradiusfade 1500
+       lightradius 300
+       originjitter 26 26 26
+       size 88 88
+       tex 8 16
  effect nade_pink_explode
- type smoke
- countabsolute 1
- tex 33 33
- size 32 32
- sizeincrease 2200
- color 0xff0000 0xffa2a2
- alpha 80 80 650
- velocitymultiplier 44
- // fire
+       type smoke
+       alpha 80 80 650
+       color 0xff0000 0xffa2a2
+       countabsolute 1
+       sizeincrease 1800
+       size 32 32
+       tex 33 33
+       velocitymultiplier 44
  effect nade_pink_explode
- notunderwater
- count 16
- type smoke
- color 0xFF0FFF 0xFF0FFF
- tex 48 55
- size 20 24
- sizeincrease 555
- alpha 400 656 2000
- airfriction 30
- originjitter 50 50 50
- velocityjitter 320 320 320
- rotate -180 180 -9 9
- // fire stretched
+       type smoke
+       airfriction 30
+       alpha 400 656 2000
+       color 0xFF0FFF 0xFF0FFF
+       count 16
+       notunderwater
+       originjitter 50 50 50
+       rotate -180 180 -9 9
+       sizeincrease 555
+       size 20 24
+       tex 48 55
+       velocityjitter 320 320 320
  effect nade_pink_explode
- count 8
- type spark
- tex 48 55
- color 0xFF0FFF 0xFF0FFF
- size 60 90
- alpha 1500 3000 13000
- stretchfactor 80
- sizeincrease 40
- velocityjitter 30 30 30
- airfriction -9
- //smoke
+       type spark
+       airfriction -9
+       alpha 1500 3000 13000
+       color 0xFF0FFF 0xFF0FFF
+       count 8
+       sizeincrease 40
+       size 60 90
+       stretchfactor 80
+       tex 48 55
+       velocityjitter 30 30 30
  effect nade_pink_explode
- type smoke
- count 32
- blend alpha
- tex 0 7
- size 60 30
- color 0x222222 0x000000
- alpha 128 328 390
- rotate -180 180 2 -2
- velocityjitter 200 200 200
- velocityoffset 0 0 180
- originjitter 50 50 10
- sizeincrease 50
- airfriction 0.04
- gravity 0.4
- // underwater bubbles
+       type smoke
+       airfriction 0.040000
+       alpha 128 328 390
+       blend alpha
+       color 0x222222 0x000000
+       count 32
+       gravity 0.400000
+       originjitter 50 50 10
+       rotate -180 180 2 -2
+       sizeincrease 50
+       size 60 30
+       tex 0 7
+       velocityjitter 200 200 200
+       velocityoffset 0 0 180
  effect nade_pink_explode
- underwater
- count 32
- type bubble
- tex 62 62
- color 0x404040 0x808080
- size 3 6
- alpha 128 256 64
- gravity -0.125
- bounce 1.5
- liquidfriction 0.25
- originjitter 16 16 16
- velocityjitter 196 196 196
- rotate 0 0 0 0
- // bouncing sparks
+       type bubble
+       alpha 128 256 64
+       bounce 1.500000
+       color 0x404040 0x808080
+       count 32
+       gravity -0.125000
+       liquidfriction 0.250000
+       originjitter 16 16 16
+       size 3 6
+       tex 62 62
+       underwater
+       velocityjitter 196 196 196
  effect nade_pink_explode
- notunderwater
- count 8
- type spark
- tex 40 40
- color 0xff0000 0xffa2a2
- size 1 2
- alpha 644 956 484
- gravity 1
- airfriction 1
- bounce 1.6
- liquidfriction 0.8
- velocityoffset 0 0 80
- originjitter 16 16 16
- velocityjitter 424 424 624
- // notbouncing sparks
+       type spark
+       airfriction 1
+       alpha 644 956 484
+       bounce 1.600000
+       color 0xff0000 0xffa2a2
+       count 8
+       gravity 1
+       liquidfriction 0.800000
+       notunderwater
+       originjitter 16 16 16
+       size 1 2
+       tex 40 40
+       velocityjitter 424 424 624
+       velocityoffset 0 0 80
  effect nade_pink_explode
- count 16
- type spark
- tex 40 40
- color 0xff0000 0xffa2a2
- size 1 2
- alpha 644 956 684
- gravity 0.5
- airfriction 0.7
- liquidfriction 0.8
- velocityoffset 0 0 80
- originjitter 16 16 16
- velocityjitter 424 424 624
- // debris
+       type spark
+       airfriction 0.700000
+       alpha 644 956 684
+       color 0xff0000 0xffa2a2
+       count 16
+       gravity 0.500000
+       liquidfriction 0.800000
+       originjitter 16 16 16
+       size 1 2
+       tex 40 40
+       velocityjitter 424 424 624
+       velocityoffset 0 0 80
  effect nade_pink_explode
- notunderwater
- count 8
- type smoke
- tex 71 73
- color 0xff0000 0xffa2a2
- size 20 40
- alpha 644 956 2500
- originjitter 64 64 64
- velocityjitter 324 324 324
- rotate -180 180 -100 100
+       type smoke
+       alpha 644 956 2500
+       color 0xff0000 0xffa2a2
+       count 8
+       notunderwater
+       originjitter 64 64 64
+       rotate -180 180 -100 100
+       size 20 40
+       tex 71 73
+       velocityjitter 324 324 324
  effect nade_neutral_explode
- countabsolute 1
- type decal
- tex 8 16
- size 88 88
- alpha 256 256 0
- originjitter 26 26 26
- lightradius 300
- lightradiusfade 1500
- lightcolor 100 20 20
- // shockwave
+       type decal
+       alpha 256 256 0
+       countabsolute 1
+       lightcolor 100 20 20
+       lightradiusfade 1500
+       lightradius 300
+       originjitter 26 26 26
+       size 88 88
+       tex 8 16
  effect nade_neutral_explode
- type smoke
- countabsolute 1
- tex 33 33
- size 32 32
- sizeincrease 2200
- color 0xff0000 0xffa2a2
- alpha 80 80 650
- velocitymultiplier 44
- // fire
+       type smoke
+       alpha 80 80 650
+       color 0xff0000 0xffa2a2
+       countabsolute 1
+       sizeincrease 1800
+       size 32 32
+       tex 33 33
+       velocitymultiplier 44
  effect nade_neutral_explode
- notunderwater
- count 16
- type smoke
- color 0xFFFFFF 0xFFFFFF
- tex 48 55
- size 20 24
- sizeincrease 555
- alpha 400 656 2000
- airfriction 30
- originjitter 50 50 50
- velocityjitter 320 320 320
- rotate -180 180 -9 9
- // fire stretched
+       type smoke
+       airfriction 30
+       alpha 400 656 2000
+       color 0xFFFFFF 0xFFFFFF
+       count 16
+       notunderwater
+       originjitter 50 50 50
+       rotate -180 180 -9 9
+       sizeincrease 555
+       size 20 24
+       tex 48 55
+       velocityjitter 320 320 320
  effect nade_neutral_explode
- count 8
- type spark
- tex 48 55
- color 0xFFFFFF 0xFFFFFF
- size 60 90
- alpha 1500 3000 13000
- stretchfactor 80
- sizeincrease 40
- velocityjitter 30 30 30
- airfriction -9
- //smoke
+       type spark
+       airfriction -9
+       alpha 1500 3000 13000
+       color 0xFFFFFF 0xFFFFFF
+       count 8
+       sizeincrease 40
+       size 60 90
+       stretchfactor 80
+       tex 48 55
+       velocityjitter 30 30 30
  effect nade_neutral_explode
- type smoke
- count 32
- blend alpha
- tex 0 7
- size 60 30
- color 0x222222 0x000000
- alpha 128 328 390
- rotate -180 180 2 -2
- velocityjitter 200 200 200
- velocityoffset 0 0 180
- originjitter 50 50 10
- sizeincrease 50
- airfriction 0.04
- gravity 0.4
- // underwater bubbles
+       type smoke
+       airfriction 0.040000
+       alpha 128 328 390
+       blend alpha
+       color 0x222222 0x000000
+       count 32
+       gravity 0.400000
+       originjitter 50 50 10
+       rotate -180 180 2 -2
+       sizeincrease 50
+       size 60 30
+       tex 0 7
+       velocityjitter 200 200 200
+       velocityoffset 0 0 180
  effect nade_neutral_explode
- underwater
- count 32
- type bubble
- tex 62 62
- color 0x404040 0x808080
- size 3 6
- alpha 128 256 64
- gravity -0.125
- bounce 1.5
- liquidfriction 0.25
- originjitter 16 16 16
- velocityjitter 196 196 196
- rotate 0 0 0 0
- // bouncing sparks
+       type bubble
+       alpha 128 256 64
+       bounce 1.500000
+       color 0x404040 0x808080
+       count 32
+       gravity -0.125000
+       liquidfriction 0.250000
+       originjitter 16 16 16
+       size 3 6
+       tex 62 62
+       underwater
+       velocityjitter 196 196 196
  effect nade_neutral_explode
- notunderwater
- count 8
- type spark
- tex 40 40
- color 0xff0000 0xffa2a2
- size 1 2
- alpha 644 956 484
- gravity 1
- airfriction 1
- bounce 1.6
- liquidfriction 0.8
- velocityoffset 0 0 80
- originjitter 16 16 16
- velocityjitter 424 424 624
- // notbouncing sparks
+       type spark
+       airfriction 1
+       alpha 644 956 484
+       bounce 1.600000
+       color 0xff0000 0xffa2a2
+       count 8
+       gravity 1
+       liquidfriction 0.800000
+       notunderwater
+       originjitter 16 16 16
+       size 1 2
+       tex 40 40
+       velocityjitter 424 424 624
+       velocityoffset 0 0 80
  effect nade_neutral_explode
- count 16
- type spark
- tex 40 40
- color 0xff0000 0xffa2a2
- size 1 2
- alpha 644 956 684
- gravity 0.5
- airfriction 0.7
- liquidfriction 0.8
- velocityoffset 0 0 80
- originjitter 16 16 16
- velocityjitter 424 424 624
- // debris
+       type spark
+       airfriction 0.700000
+       alpha 644 956 684
+       color 0xff0000 0xffa2a2
+       count 16
+       gravity 0.500000
+       liquidfriction 0.800000
+       originjitter 16 16 16
+       size 1 2
+       tex 40 40
+       velocityjitter 424 424 624
+       velocityoffset 0 0 80
  effect nade_neutral_explode
- notunderwater
- count 8
- type smoke
- tex 71 73
- color 0xff0000 0xffa2a2
- size 20 40
- alpha 644 956 2500
- originjitter 64 64 64
- velocityjitter 324 324 324
- rotate -180 180 -100 100
- // shockwave_attack
- // used nowhere in code
- effect shockwave_attack // glow and light
-       //countabsolute 1
-       //type smoke
-       //color 0xcc0000 0xff0000
-       //tex 65 65
-       //size 10 15
-       //alpha 256 512 6280
-       //airfriction 10
-       //sizeincrease 1.5
-       //stretchfactor 2
-       //lightradius 200
-       //lightradiusfade 2000
-       //lightcolor 3 0.1 0.1
- effect shockwave_attack // electricity
-       count 1
+       type smoke
+       alpha 644 956 2500
+       color 0xff0000 0xffa2a2
+       count 8
+       notunderwater
+       originjitter 64 64 64
+       rotate -180 180 -100 100
+       size 20 40
+       tex 71 73
+       velocityjitter 324 324 324
+ effect shockwave_attack
        type spark
-       color 0xb44215 0xff0000
-       tex 43 43
-       size 5 7
-       bounce 0
-       alpha 4096 4096 20000
        airfriction 1
+       alpha 4096 4096 20000
+       color 0xb44215 0xff0000
+       count 1
        originjitter 2 2 2
+       rotate -180 180 4000 -4000
+       sizeincrease 1.500000
+       size 5 7
+       stretchfactor 2.300000
+       tex 43 43
        velocityjitter 10 10 10
        velocitymultiplier 10
-       sizeincrease 1.5
-       stretchfactor 2.3
-       rotate -180 180 4000 -4000
- effect shockwave_attack // fire
-       count 1
+ effect shockwave_attack
        type spark
-       color 0xff4200 0xff0000
-       tex 8 15
-       size 7 9
-       bounce 0
-       alpha 4096 4096 20000
        airfriction 1
+       alpha 4096 4096 20000
+       color 0xff4200 0xff0000
+       count 1
        originjitter 2 2 2
+       sizeincrease 1.500000
+       size 7 9
+       stretchfactor 2
+       tex 8 15
        velocityjitter 10 10 10
        velocitymultiplier 10
-       sizeincrease 1.5
-       stretchfactor 2
- // ARC
- // used in qcsrc/server/w_arc.qc
- effect arc_lightning // impact decal
-       countabsolute 1
+ effect arc_lightning
        type decal
-       tex 16 32 // fps killer, spamming decals like that
-       size 16 16
        alpha 32 32 0
-       originjitter 2 2 2
-       lightradius 50
+       countabsolute 1
+       lightcolor 3.1 4.4 10
        lightradiusfade 200
-       lightcolor 3.125 4.375 10
- effect arc_lightning // impact sparks
+       lightradius 50
+       originjitter 2 2 2
+       size 16 16
+       tex 16 32
+ effect arc_lightning
        type static
+       airfriction 110
+       alpha 256 256 512
+       color 0xDDFDFF 0xFDFDFF
        count 100
-       tex 71 74
+       originjitter 20 20 20
        rotate 0 360 -36000 36000
-       stretchfactor 1
-       size 0 5
        sizeincrease -5
-       color 0xDDFDFF 0xFDFDFF
-       alpha 256 256 512
-       originjitter 20 20 20
+       size 0 5
+       stretchfactor 1
+       tex 71 74
        velocityjitter 250 250 250
        velocitymultiplier 100
-       airfriction 110
- effect arc_lightning // impact sparks (underwater)
+ effect arc_lightning
        type static
-       underwater
+       airfriction 5
+       alpha 256 256 512
+       color 0xDDFDFF 0xFDFDFF
        count 100
-       tex 71 74
+       liquidfriction 5
+       orientation spark
+       originjitter 20 20 20
        rotate 0 360 -36000 36000
-       stretchfactor 1
-       size 0 5
        sizeincrease -5
-       color 0xDDFDFF 0xFDFDFF
-       alpha 256 256 512
-       originjitter 20 20 20
+       size 0 5
+       stretchfactor 1
+       tex 71 74
+       underwater
        velocityjitter 250 250 250
-       // underwater
-       orientation spark
        velocitymultiplier 20
-       airfriction 5
-       liquidfriction 5
- effect arc_beam // sparks on beam
+ effect arc_beam
        type spark
-       stretchfactor 1
-       rotate 0 360 360 1000
-       time 0.05 0.05
-       color 0xfafad2 0xffffff
-       alpha 256 256 16384
        airfriction -10
-       originoffset 0 0 0
-       relativeoriginoffset 10 0 0
+       alpha 256 256 16384
+       color 0xfafad2 0xffffff
        originjitter 3 3 3
-       velocityoffset 0 0 0
+       relativeoriginoffset 10 0 0
+       rotate 0 360 360 1000
+       stretchfactor 1
+       tex 71 74
+       time 0.050000 0.050000
+       trailspacing 10
        velocityjitter 100 100 100
        velocitymultiplier 200
-       //lightcolor 0 0 0
-       trailspacing 10
-       tex 71 74
- effect arc_beam // sparks on beam (underwater)
+ effect arc_beam
        type spark
-       underwater
-       stretchfactor 1
-       rotate 0 360 360 1000
-       time 0.001 0.001
-       color 0xfafad2 0xffffff
        alpha 256 256 16384
+       color 0xfafad2 0xffffff
        liquidfriction -10
-       originoffset 0 0 0
-       relativeoriginoffset 10 0 0
        originjitter 30 30 30
-       velocityoffset 0 0 0
+       relativeoriginoffset 10 0 0
+       rotate 0 360 360 1000
+       stretchfactor 1
+       tex 71 74
+       time 0.001000 0.001000
+       trailspacing 10
+       underwater
        velocityjitter 100 100 100
        velocitymultiplier 200
-       //lightcolor 0 0 0
-       trailspacing 10
-       tex 71 74
- // ARC healing effect
- effect arc_beam_heal // bubble this...
-       type static
-       trailspacing 1500
-       tex 74 74
-       color 0x20FF20 0x40FF40
-       size 0.1 0.1
-       sizeincrease 20
-       alpha 2048 2048 256
-       //time 0.8 0.8
-       airfriction -20
+ effect arc_beam_heal
        type smoke
+       airfriction -20
+       alpha 2048 2048 256
+       color 0x20FF20 0x40FF40
        relativeoriginoffset 5 0 0
        relativevelocityoffset 100 0 0
+       sizeincrease 20
+       size 0.100000 0.100000
+       tex 74 74
+       trailspacing 1500
        velocityjitter 3 3 3
        velocitymultiplier 200
- effect arc_beam_healimpact // healing "aura"
+ effect arc_beam_healimpact
        type smoke
+       alpha 40 40 350
+       color 0x00ff00 0x84c52f
        countabsolute 1
-       tex 33 33
-       size 32 32
+       lightcolor 0 4.4 0
+       lightradiusfade 150
+       lightradius 20
        sizeincrease -1000
-       color 0x00ff00 0x84c52f
-       alpha 40 40 350
+       size 32 32
+       tex 33 33
        velocitymultiplier 44
-       lightradius 20
-       lightradiusfade 150
-       lightcolor 0 4.375 0
- effect arc_beam_healimpact // rising "smoke"
+ effect arc_beam_healimpact
        type smoke
-       count 15
-       color 0x00ff00 0x84c52f
-       tex 40 40
-       size 0.5 1
-       alpha 200 456 512
        airfriction 3
+       alpha 200 456 512
+       color 0x00ff00 0x84c52f
+       count 15
        gravity -2
-       velocityjitter 120 120 420
        rotate -180 180 -90 90
- effect arc_smoke // arc heat smoke  (notunderwater)
-       notunderwater
-       count 2
+       size 0.500000 1
+       tex 40 40
+       velocityjitter 120 120 420
+ effect arc_smoke
        type smoke
-       tex 0 8
+       airfriction 1
+       alpha 32 64 48
        color 0x4c453f 0x2a241f
-       size 5 10
+       count 2
+       gravity -0.125000
+       notunderwater
+       rotate 0 360 -180 180
        sizeincrease 10
-       alpha 32 64 48
-       gravity -0.125
-       originjitter 0 0 0
+       size 5 10
+       tex 0 8
        velocityjitter 0 0 16
-       airfriction 1
-       rotate 0 360 -180 180
- effect arc_smoke // arc heat bubbles  (underwater)
-       underwater
-       count 2
+ effect arc_smoke
        type bubble
-       tex 62 62
-       color 0x404040 0x808080
-       size 0.1 1
        alpha 170 256 64
-       gravity -0.125
-       bounce 1.5
-       liquidfriction 0.25
+       bounce 1.500000
+       color 0x404040 0x808080
+       count 2
+       gravity -0.125000
+       liquidfriction 0.250000
        originjitter 6 6 6
+       size 0.100000 1
+       tex 62 62
+       underwater
        velocityjitter 16 16 16
- effect arc_overheat // arc overheat electric bolts
-       tex 43 43
-       count 24
+ effect arc_overheat
        type spark
-       color 0xffffff 0x9271fb
-       size 6 12
-       sizeincrease -24
-       alpha 128 128 292
-       gravity -0.4
        airfriction 5
+       alpha 128 128 292
+       color 0xffffff 0x9271fb
+       count 24
+       gravity -0.400000
        liquidfriction 10
-       velocityjitter 256 256 256
        originjitter 10 10 10
-       
- effect arc_overheat_fire // arc overheat bouncing sparks
-       count 1
+       sizeincrease -24
+       size 6 12
+       tex 43 43
+       velocityjitter 256 256 256
+ effect arc_overheat_fire
        type spark
-       color 0x4444ff 0xeeeeff
-       size 0.4 1
        alpha 0 256 640
+       bounce 1.500000
+       color 0x4444ff 0xeeeeff
+       count 1
        gravity 1
-       bounce 1.5
-       velocityoffset 0 0 80
-       velocityjitter 92 92 92
-       originjitter 6 6 6
        liquidfriction 5
+       originjitter 6 6 6
+       size 0.400000 1
+       velocityjitter 92 92 92
        velocitymultiplier 80
+       velocityoffset 0 0 80
+ effect yellowflag_touch
+       type spark
+       airfriction 3
+       alpha 0 256 556
+       bounce 1.500000
+       color 0xFFFF0F 0xFFFF0F
+       count 35
+       gravity 1
+       originjitter 1 1 1
+       size 1 3
+       tex 40 40
+       velocityjitter 300 300 300
+       velocitymultiplier 0.500000
+ effect pinkflag_touch
+       type spark
+       airfriction 3
+       alpha 0 256 556
+       bounce 1.500000
+       color 0xFF0FFF 0xFF0FFF
+       count 35
+       gravity 1
+       originjitter 1 1 1
+       size 1 3
+       tex 40 40
+       velocityjitter 300 300 300
+       velocitymultiplier 0.500000
+ effect neutralflag_touch
+       type spark
+       airfriction 3
+       alpha 0 256 556
+       bounce 1.500000
+       color 0xFFFFFF 0xFFFFFF
+       count 35
+       gravity 1
+       originjitter 1 1 1
+       size 1 3
+       tex 40 40
+       velocityjitter 300 300 300
+       velocitymultiplier 0.500000
+ effect yellow_pass
+       type static
+       airfriction 5
+       alpha 64 128 64
+       color 0xFFFF0F 0xFFFF0F
+       sizeincrease 2
+       size 2 2
+       tex 32 32
+       trailspacing 64
+ effect yellow_pass
+       type static
+       airfriction 9
+       alpha 32 64 32
+       color 0xFFFF0F 0xFFFF0F
+       sizeincrease 8
+       size 1 1
+       tex 0 8
+       trailspacing 12
+       velocityjitter 64 64 64
+ effect yellow_pass
+       type static
+       alpha 256 256 1280
+       color 0xFFFF0F 0xFFFF0F
+       size 4 4
+       trailspacing 12
+ effect pink_pass
+       type static
+       airfriction 5
+       alpha 64 128 64
+       color 0xFFFFFF 0xFFFFFF
+       sizeincrease 2
+       size 2 2
+       tex 32 32
+       trailspacing 64
+ effect pink_pass
+       type static
+       airfriction 9
+       alpha 32 64 32
+       color 0xFFFFFF 0xFFFFFF
+       sizeincrease 8
+       size 1 1
+       tex 0 8
+       trailspacing 12
+       velocityjitter 64 64 64
+ effect pink_pass
+       type static
+       alpha 256 256 1280
+       color 0xFFFFFF 0xFFFFFF
+       size 4 4
+       trailspacing 12
+ effect neutral_pass
+       type static
+       airfriction 5
+       alpha 64 128 64
+       color 0xFFFFFF 0xFFFFFF
+       sizeincrease 2
+       size 2 2
+       tex 32 32
+       trailspacing 64
+ effect neutral_pass
+       type static
+       airfriction 9
+       alpha 32 64 32
+       color 0xFFFFFF 0xFFFFFF
+       sizeincrease 8
+       size 1 1
+       tex 0 8
+       trailspacing 12
+       velocityjitter 64 64 64
+ effect neutral_pass
+       type static
+       alpha 256 256 1280
+       color 0xFFFFFF 0xFFFFFF
+       size 4 4
+       trailspacing 12
+ effect yellow_cap
+       type spark
+       airfriction 2
+       alpha 0 256 100
+       bounce 1.500000
+       color 0xFFFF0F 0xFFFF0F
+       count 500
+       originjitter 1 1 1
+       size 1 1
+       stretchfactor 0.600000
+       tex 64 64
+       velocityjitter 1000 1000 1500
+       velocitymultiplier 0.500000
+ effect yellow_cap
+       type smoke
+       alpha 190 190 180
+       color 0xFFFF0F 0xFFFF0F
+       countabsolute 1
+       sizeincrease -80
+       size 150 150
+       tex 65 65
+ effect pink_cap
+       type spark
+       airfriction 2
+       alpha 0 256 100
+       bounce 1.500000
+       color 0xFF0FFF 0xFF0FFF
+       count 500
+       originjitter 1 1 1
+       size 1 1
+       stretchfactor 0.600000
+       tex 64 64
+       velocityjitter 1000 1000 1500
+       velocitymultiplier 0.500000
+ effect pink_cap
+       type smoke
+       alpha 190 190 180
+       color 0xFF0FFF 0xFF0FFF
+       countabsolute 1
+       sizeincrease -80
+       size 150 150
+       tex 65 65
+ effect relic_resistance
+       type static
+       airfriction 0.200000
+       alpha 128 256 256
+       color 0x00ff80 0x00ff80
+       count 20
+       gravity -0.100000
+       liquidfriction 0.800000
+       originjitter 8 8 32
+       size 1.500000 1.500000
+       velocityjitter 64 64 32
+ effect relic_regeneration
+       type static
+       airfriction 0.200000
+       alpha 128 256 256
+       color 0x00ffff 0x00ffff
+       count 1
+       gravity -0.100000
+       liquidfriction 0.800000
+       originjitter 8 8 32
+       size 1.500000 1.500000
+       velocityjitter 64 64 32
+ effect relic_vampire
+       type static
+       airfriction 0.200000
+       alpha 128 256 256
+       color 0xff00ff 0xff00ff
+       count 20
+       gravity -0.100000
+       liquidfriction 0.800000
+       originjitter 8 8 32
+       size 1.500000 1.500000
+       velocityjitter 64 64 32
+ effect relic_ammo
+       type static
+       airfriction 0.200000
+       alpha 128 256 256
+       color 0x80ff00 0x80ff00
+       count 1
+       gravity -0.100000
+       liquidfriction 0.800000
+       originjitter 8 8 32
+       size 1.500000 1.500000
+       velocityjitter 64 64 32
+ effect relic_damage
+       type static
+       airfriction 0.200000
+       alpha 128 256 256
+       color 0xff0000 0xff0000
+       count 20
+       gravity -0.100000
+       liquidfriction 0.800000
+       originjitter 8 8 32
+       size 1.500000 1.500000
+       velocityjitter 64 64 32
+ effect relic_ssplashdamage
+       type static
+       airfriction 0.200000
+       alpha 128 256 256
+       color 0xff8000 0xff8000
+       count 20
+       gravity -0.100000
+       liquidfriction 0.800000
+       originjitter 8 8 32
+       size 1.500000 1.500000
+       velocityjitter 64 64 32
+ effect relic_firingspeed
+       type static
+       airfriction 0.200000
+       alpha 128 256 256
+       color 0xffff00 0xffff00
+       count 20
+       gravity -0.100000
+       liquidfriction 0.800000
+       originjitter 8 8 32
+       size 1.500000 1.500000
+       velocityjitter 64 64 32
+ effect relic_disability
+       type static
+       airfriction 0.200000
+       alpha 128 256 256
+       color 0x0000ff 0x0000ff
+       count 20
+       gravity -0.100000
+       liquidfriction 0.800000
+       originjitter 8 8 32
+       size 1.500000 1.500000
+       velocityjitter 64 64 32
+ effect relic_disability_curse
+       type static
+       airfriction 0.200000
+       alpha 128 256 256
+       color 0x000080 0x000080
+       count 1
+       gravity -0.100000
+       liquidfriction 0.800000
+       originjitter 8 8 32
+       size 1.500000 1.500000
+       velocityjitter 64 64 32
+ effect relic_teamboost
+       type static
+       airfriction 0.200000
+       alpha 128 256 256
+       color 0xffffff 0xffffff
+       count 20
+       gravity -0.100000
+       liquidfriction 0.800000
+       originjitter 8 8 32
+       size 1.500000 1.500000
+       velocityjitter 64 64 32
+ effect relic_teamboost_boost
+       type static
+       airfriction 0.200000
+       alpha 128 256 256
+       color 0x808080 0x808080
+       count 1
+       gravity -0.100000
+       liquidfriction 0.800000
+       originjitter 8 8 32
+       size 1.500000 1.500000
+       velocityjitter 64 64 32
+ effect relic_speed
+       type static
+       airfriction 0.200000
+       alpha 128 256 256
+       color 0x80ffff 0x80ffff
+       count 1
+       gravity -0.100000
+       liquidfriction 0.800000
+       originjitter 8 8 32
+       size 1.500000 1.500000
+       velocityjitter 64 64 32
+ effect relic_jump
+       type static
+       airfriction 0.200000
+       alpha 128 256 256
+       color 0xffff80 0xffff80
+       count 20
+       gravity -0.100000
+       liquidfriction 0.800000
+       originjitter 8 8 32
+       size 1.500000 1.500000
+       velocityjitter 64 64 32
+ effect relic_flight
+       type static
+       airfriction 0.200000
+       alpha 128 256 256
+       color 0x8080ff 0x8080ff
+       count 1
+       gravity -0.100000
+       liquidfriction 0.800000
+       originjitter 8 8 32
+       size 1.500000 1.500000
+       velocityjitter 64 64 32
+ effect relic_radioactive
+       type static
+       airfriction 0.200000
+       alpha 128 256 256
+       color 0x00ff00 0x00ff00
+       count 20
+       gravity -0.100000
+       liquidfriction 0.800000
+       originjitter 8 8 32
+       size 1.500000 1.500000
+       velocityjitter 64 64 32
+ effect relic_resurrection
+       type static
+       airfriction 0.200000
+       alpha 128 256 256
+       color 0xff0080 0xff0080
+       count 20
+       gravity -0.100000
+       liquidfriction 0.800000
+       originjitter 8 8 32
+       size 1.500000 1.500000
+       velocityjitter 64 64 32
+ effect relic_vengeance
+       type static
+       airfriction 0.200000
+       alpha 128 256 256
+       color 0xff8080 0xff8080
+       count 20
+       gravity -0.100000
+       liquidfriction 0.800000
+       originjitter 8 8 32
+       size 1.500000 1.500000
+       velocityjitter 64 64 32
+ effect rocketminsta_laser_red
+       type static
+       alpha 256 256 968
+       color 0xFF0F0F 0xFF0F0F
+       lightcolor 1.5 3 6
+       lightradius 90
+       size 3 3
+       tex 38 38
+       trailspacing 2
+       velocitymultiplier -0.100000
+ effect rocketminsta_laser_red
+       type snow
+       airfriction 12
+       alpha 444 512 1866
+       bounce 1
+       color 0xFF0F0F 0xFF0F0F
+       count 1.500000
+       originjitter 1 1 1
+       sizeincrease -20
+       size 2 4
+       tex 42 42
+       trailspacing 12
+       velocityjitter 50 50 50
+       velocityoffset 0 0 15
+ effect rocketminsta_laser_blue
+       type static
+       alpha 256 256 968
+       color 0x0F0FFF 0x0F0FFF
+       lightcolor 1.5 3 6
+       lightradius 90
+       size 3 3
+       tex 38 38
+       trailspacing 2
+       velocitymultiplier -0.100000
+ effect rocketminsta_laser_blue
+       type snow
+       airfriction 12
+       alpha 444 512 1866
+       bounce 1
+       color 0x0F0FFF 0x0F0FFF
+       count 1.500000
+       originjitter 1 1 1
+       sizeincrease -20
+       size 2 4
+       tex 42 42
+       trailspacing 12
+       velocityjitter 50 50 50
+       velocityoffset 0 0 15
+ effect rocketminsta_laser_yellow
+       type static
+       alpha 256 256 968
+       color 0xFFFF0F 0xFFFF0F
+       lightcolor 1.5 3 6
+       lightradius 90
+       size 3 3
+       tex 38 38
+       trailspacing 2
+       velocitymultiplier -0.100000
+ effect rocketminsta_laser_yellow
+       type snow
+       airfriction 12
+       alpha 444 512 1866
+       bounce 1
+       color 0xFFFF0F 0xFFFF0F
+       count 1.500000
+       originjitter 1 1 1
+       sizeincrease -20
+       size 2 4
+       tex 42 42
+       trailspacing 12
+       velocityjitter 50 50 50
+       velocityoffset 0 0 15
+ effect rocketminsta_laser_pink
+       type static
+       alpha 256 256 968
+       color 0xFF0FFF 0xFF0FFF
+       lightcolor 1.5 3 6
+       lightradius 90
+       size 3 3
+       tex 38 38
+       trailspacing 2
+       velocitymultiplier -0.100000
+ effect rocketminsta_laser_pink
+       type snow
+       airfriction 12
+       alpha 444 512 1866
+       bounce 1
+       color 0xFF0FFF 0xFF0FFF
+       count 1.500000
+       originjitter 1 1 1
+       sizeincrease -20
+       size 2 4
+       tex 42 42
+       trailspacing 12
+       velocityjitter 50 50 50
+       velocityoffset 0 0 15
+ effect rocketminsta_laser_neutral
+       type static
+       alpha 256 256 968
+       color 0xFFFFFF 0xFFFFFF
+       lightcolor 1.5 3 6
+       lightradius 90
+       size 3 3
+       tex 38 38
+       trailspacing 2
+       velocitymultiplier -0.100000
+ effect rocketminsta_laser_neutral
+       type snow
+       airfriction 12
+       alpha 444 512 1866
+       bounce 1
+       color 0xFFFFFF 0xFFFFFF
+       count 1.500000
+       originjitter 1 1 1
+       sizeincrease -20
+       size 2 4
+       tex 42 42
+       trailspacing 12
+       velocityjitter 50 50 50
+       velocityoffset 0 0 15
+ effect arc_muzzleflash
+       type smoke
+       alpha 256 256 512
+       color 0x00ff00 0x8f4333
+       count 2
+       lightcolor 0.3 2 0.2
+       lightradiusfade 2000
+       lightradius 200
+       originjitter 1.5 1.5 1.5
+       size 5 5
+       tex 0 8
+       velocityjitter 6 6 6
+       velocitymultiplier 0.010000
+ effect arc_muzzleflash
+       type spark
+       airfriction 12
+       alpha 0 128 1024
+       color 0x00ff00 0x8f4333
+       count 15
+       originjitter 1 1 1
+       rotate -180 180 -400 400
+       size 5 10
+       stretchfactor 2
+       tex 48 55
+       velocityjitter 200 200 200
+       velocitymultiplier 0.500000
+ effect arc_bolt_explode
+       type decal
+       alpha 256 256 0
+       countabsolute 1
+       lightcolor 8 4 1
+       lightradiusfade 400
+       lightradius 120
+       originjitter 14 14 14
+       size 28 38
+       tex 8 16
+ effect arc_bolt_explode
+       type smoke
+       airfriction 8
+       alpha 80 200 356
+       bounce 1.500000
+       color 0x00ffff 0x00ffff
+       count 3.500000
+       liquidfriction 8
+       notunderwater
+       originjitter 8 8 8
+       sizeincrease 5
+       size 16 26
+       tex 48 55
+       velocityjitter 156 156 156
+ effect arc_bolt_explode
+       type static
+       airfriction 12
+       alpha 128 256 456
+       bounce 1.500000
+       color 0x00ff00 0x8f4333
+       count 12
+       liquidfriction 8
+       notunderwater
+       originjitter 8 8 8
+       sizeincrease 15
+       size 20 26
+       tex 48 55
+       velocityjitter 286 286 286
+ effect arc_bolt_explode
+       type bubble
+       alpha 128 256 64
+       bounce 1.500000
+       color 0x404040 0x808080
+       count 16
+       gravity -0.125000
+       liquidfriction 0.250000
+       originjitter 16 16 16
+       size 3 3
+       tex 62 62
+       underwater
+       velocityjitter 96 96 96
+ effect arc_bolt_explode
+       type spark
+       airfriction 1
+       alpha 644 956 684
+       bounce 1.600000
+       color 0x00ff00 0x8f4333
+       count 16
+       gravity 1
+       liquidfriction 0.800000
+       notunderwater
+       originjitter 16 16 16
+       size 1 0.100000
+       tex 40 40
+       velocityjitter 224 224 224
+       velocityoffset 0 0 80
 +
 +//Small splash of water
 +// main water
 +effect water_splash_small
 +      type alphastatic
 +      tex 76 76
 +      count 7
 +      size 6 16
 +      sizeincrease -10
 +      alpha 100 450 656
 +      velocityjitter 10 10 250
 +      velocitymultiplier 0.6
 +      airfriction 4
 +      color 0xd3e5ea 0xa6eaff
 +      rotate 0 360 -150 150
 +      gravity 1.5
 +// small water drops
 +effect water_splash_small
 +      type spark
 +      tex 76 76
 +      count 4
 +      size 2 1
 +      sizeincrease -5
 +      alpha 50 145 200
 +      velocityjitter 210 210 350
 +      velocitymultiplier 0.2
 +      airfriction 1
 +      color 0xd3e5ea 0xa6eaff
 +      rotate 0 360 -150 150
 +      gravity 0.4
 +      stretchfactor 2
 +// water mist
 +effect water_splash_small
 +      type smoke
 +      tex 75 75
 +      count 4
 +      size 6 26
 +      sizeincrease 25
 +      alpha 100 150 256
 +      velocityjitter 150 150 250
 +      velocitymultiplier 0.4
 +      airfriction 4
 +      color 0xd3e5ea 0xa6eaff
 +      rotate 0 360 -15 15
 +      gravity 0.9
 +// Large splash of water
 +// main water
 +effect water_splash_large
 +      type alphastatic
 +      tex 76 76
 +      count 15
 +      size 15 25
 +      sizeincrease -20
 +      alpha 100 250 600
 +      velocityjitter 150 150 150
 +      velocitymultiplier 0.2
 +      airfriction 1
 +      color 0xd3e5ea 0xa6eaff
 +      rotate 0 360 -150 150
 +      gravity 0.5
 +      originjitter 21 21 1
 +// small water drops
 +effect water_splash_large
 +      type spark
 +      tex 76 76
 +      count 4
 +      size 2 1
 +      sizeincrease -5
 +      alpha 50 145 200
 +      velocityjitter 210 210 350
 +      velocitymultiplier 0.3
 +      airfriction 1
 +      color 0xd3e5ea 0xa6eaff
 +      rotate 0 360 -150 150
 +      gravity 0.4
 +      stretchfactor 2
 +// water mist
 +effect water_splash_large
 +      type smoke
 +      tex 75 75
 +      count 10
 +      size 6 26
 +      sizeincrease 35
 +      alpha 200 250 356
 +      velocityjitter 180 180 250
 +      velocitymultiplier 0.4
 +      airfriction 4
 +      color 0xd3e5ea 0xa6eaff
 +      rotate 0 360 -15 15
 +      gravity 0.9
 +      originjitter 21 21 1
index 0000000000000000000000000000000000000000,56303a44ffa93f36443bf4a3131baa015f361e82..77674e474da693180edef4f5bc20652f52b9b516
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,8875 +1,9023 @@@
+ // item respawn effect
+ DEF(TE_WIZSPIKE);
+ // flare particle and light
+ SUB(TE_WIZSPIKE) {
+       MY(alpha_min) = 128;
+       MY(alpha_max) = 128;
+       MY(alpha_fade) = 128;
+       MY(color_min) = "0x63F2EA";
+       MY(color_max) = "0x63f2EA";
+       MY(countabsolute) = 1;
+       MY(lightcolor) = '0.4 0.9 0.9';
+       MY(lightradiusfade) = 200;
+       MY(lightradius) = 200;
+       MY(size_min) = 20;
+       MY(size_max) = 20;
+       MY(type) = "static";
+ }
+ // cloud of particles which expand rapidly and then slow to form a ball
+ SUB(TE_WIZSPIKE) {
+       MY(airfriction) = 2;
+       MY(alpha_min) = 64;
+       MY(alpha_max) = 64;
+       MY(alpha_fade) = 64;
+       MY(color_min) = "0x63F2EA";
+       MY(color_max) = "0x63f2EA";
+       MY(count) = 50;
+       MY(liquidfriction) = 2;
+       MY(originjitter) = '16.0 16.0 16.0';
+       MY(size_min) = 2;
+       MY(size_max) = 2;
+       MY(type) = "static";
+       MY(velocityjitter) = '32.0 32.0 32.0';
+ }
+ // laser impact
+ DEF(TE_KNIGHTSPIKE);
+ // decal
+ SUB(TE_KNIGHTSPIKE) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(countabsolute) = 1;
+       MY(lightcolor) = '4.0 0.2 0.2';
+       MY(lightradiusfade) = 1000;
+       MY(lightradius) = 200;
+       MY(originjitter) = '16.0 16.0 16.0';
+       MY(size_min) = 24;
+       MY(size_max) = 24;
+       MY(tex_min) = 47;
+       MY(tex_max) = 47;
+       MY(type) = "decal";
+ }
+ // flare effect
+ SUB(TE_KNIGHTSPIKE) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 1024;
+       MY(color_min) = "0xFF2010";
+       MY(color_max) = "0xFF2010";
+       MY(countabsolute) = 1;
+       MY(size_min) = 24;
+       MY(size_max) = 24;
+       MY(tex_min) = 39;
+       MY(tex_max) = 39;
+       MY(type) = "static";
+ }
+ // sparks that rapidly expand and rapidly slow down to form an interesting spherical effect
+ SUB(TE_KNIGHTSPIKE) {
+       MY(airfriction) = 6;
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 1024;
+       MY(color_min) = "0x800000";
+       MY(color_max) = "0xFF8020";
+       MY(count) = 128;
+       MY(liquidfriction) = 6;
+       MY(size_min) = 4;
+       MY(size_max) = 4;
+       MY(type) = "spark";
+       MY(velocityjitter) = '256.0 256.0 256.0';
+ }
+ // machinegun bullet impact
+ DEF(TE_SPIKE);
+ // bullet impact decal
+ SUB(TE_SPIKE) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(countabsolute) = 1;
+       MY(originjitter) = '6.0 6.0 6.0';
+       MY(size_min) = 5;
+       MY(size_max) = 5;
+       MY(tex_min) = 56;
+       MY(tex_max) = 59;
+       MY(type) = "decal";
+ }
+ // dust/smoke drifting away from the impact
+ SUB(TE_SPIKE) {
+       MY(alpha_min) = 255;
+       MY(alpha_max) = 255;
+       MY(alpha_fade) = 256;
+       MY(color_min) = "0x101010";
+       MY(color_max) = "0x101010";
+       MY(count) = 4;
+       MY(sizeincrease) = 3;
+       MY(size_min) = 3;
+       MY(size_max) = 3;
+       MY(tex_max) = 8;
+       MY(type) = "smoke";
+       MY(velocityjitter) = '8.0 8.0 8.0';
+ }
+ // dust/smoke staying at the impact
+ SUB(TE_SPIKE) {
+       MY(alpha_min) = 255;
+       MY(alpha_max) = 255;
+       MY(alpha_fade) = 128;
+       MY(color_min) = "0x505050";
+       MY(color_max) = "0x505050";
+       MY(count) = 0.500000;
+       MY(sizeincrease) = 4;
+       MY(size_min) = 4;
+       MY(size_max) = 4;
+       MY(tex_max) = 8;
+       MY(type) = "smoke";
+ }
+ // bouncing sparks
+ SUB(TE_SPIKE) {
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 256;
+       MY(bounce) = 1.500000;
+       MY(color_min) = "0x8f4333";
+       MY(color_max) = "0xfff31b";
+       MY(count) = 10;
+       MY(gravity) = 1;
+       MY(size_min) = 0.400000;
+       MY(size_max) = 0.400000;
+       MY(type) = "spark";
+       MY(velocityjitter) = '64.0 64.0 64.0';
+       MY(velocityoffset) = '0.0 0.0 80.0';
+ }
+ // electro combo explosion
+ DEF(TE_SPIKEQUAD);
+ // decal
+ SUB(TE_SPIKEQUAD) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(countabsolute) = 1;
+       MY(lightcolor) = '2.0 2.5 3.0';
+       MY(lightradiusfade) = 200;
+       MY(lightradius) = 400;
+       MY(originjitter) = '34.0 34.0 34.0';
+       MY(size_min) = 64;
+       MY(size_max) = 64;
+       MY(tex_min) = 59;
+       MY(tex_max) = 59;
+       MY(type) = "decal";
+ }
+ // flare effect
+ SUB(TE_SPIKEQUAD) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 128;
+       MY(color_min) = "0x80C0FF";
+       MY(color_max) = "0x80C0FF";
+       MY(countabsolute) = 1;
+       MY(size_min) = 48;
+       MY(size_max) = 48;
+       MY(tex_min) = 38;
+       MY(tex_max) = 38;
+       MY(type) = "static";
+ }
+ // large sparks
+ SUB(TE_SPIKEQUAD) {
+       MY(airfriction) = 4;
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 256;
+       MY(bounce) = 1.500000;
+       MY(color_min) = "0x2030FF";
+       MY(color_max) = "0x80C0FF";
+       MY(count) = 10;
+       MY(liquidfriction) = 16;
+       MY(size_min) = 32;
+       MY(size_max) = 32;
+       MY(type) = "static";
+       MY(velocityjitter) = '512.0 512.0 512.0';
+ }
+ // quake effect
+ DEF(TE_SUPERSPIKE);
+ // decal
+ SUB(TE_SUPERSPIKE) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(countabsolute) = 1;
+       MY(originjitter) = '6.0 6.0 6.0';
+       MY(size_min) = 3;
+       MY(size_max) = 3;
+       MY(tex_min) = 56;
+       MY(tex_max) = 59;
+       MY(type) = "decal";
+ }
+ // dust/smoke drifting away from the impact
+ SUB(TE_SUPERSPIKE) {
+       MY(alpha_min) = 255;
+       MY(alpha_max) = 255;
+       MY(alpha_fade) = 256;
+       MY(color_min) = "0x101010";
+       MY(color_max) = "0x101010";
+       MY(count) = 4;
+       MY(sizeincrease) = 3;
+       MY(size_min) = 3;
+       MY(size_max) = 3;
+       MY(tex_max) = 8;
+       MY(type) = "smoke";
+       MY(velocityjitter) = '8.0 8.0 8.0';
+ }
+ // dust/smoke staying at the impact
+ SUB(TE_SUPERSPIKE) {
+       MY(alpha_min) = 255;
+       MY(alpha_max) = 255;
+       MY(alpha_fade) = 128;
+       MY(color_min) = "0x505050";
+       MY(color_max) = "0x505050";
+       MY(count) = 0.500000;
+       MY(sizeincrease) = 4;
+       MY(size_min) = 4;
+       MY(size_max) = 4;
+       MY(tex_max) = 8;
+       MY(type) = "smoke";
+ }
+ // sparks that disappear on impact
+ SUB(TE_SUPERSPIKE) {
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 768;
+       MY(bounce) = -1;
+       MY(color_min) = "0x8f4333";
+       MY(color_max) = "0xfff31b";
+       MY(count) = 15;
+       MY(gravity) = 1;
+       MY(size_min) = 0.400000;
+       MY(size_max) = 0.400000;
+       MY(type) = "spark";
+       MY(velocityjitter) = '64.0 64.0 64.0';
+       MY(velocityoffset) = '0.0 0.0 80.0';
+ }
+ // quake effect
+ DEF(TE_SUPERSPIKEQUAD);
+ // decal
+ SUB(TE_SUPERSPIKEQUAD) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(countabsolute) = 1;
+       MY(lightcolor) = '0.2 0.2 1.5';
+       MY(lightradiusfade) = 500;
+       MY(lightradius) = 100;
+       MY(originjitter) = '6.0 6.0 6.0';
+       MY(size_min) = 3;
+       MY(size_max) = 3;
+       MY(tex_min) = 56;
+       MY(tex_max) = 59;
+       MY(type) = "decal";
+ }
+ // dust/smoke drifting away from the impact
+ SUB(TE_SUPERSPIKEQUAD) {
+       MY(alpha_min) = 255;
+       MY(alpha_max) = 255;
+       MY(alpha_fade) = 256;
+       MY(color_min) = "0x101010";
+       MY(color_max) = "0x101010";
+       MY(count) = 4;
+       MY(sizeincrease) = 3;
+       MY(size_min) = 3;
+       MY(size_max) = 3;
+       MY(tex_max) = 8;
+       MY(type) = "smoke";
+       MY(velocityjitter) = '8.0 8.0 8.0';
+ }
+ // dust/smoke staying at the impact
+ SUB(TE_SUPERSPIKEQUAD) {
+       MY(alpha_min) = 255;
+       MY(alpha_max) = 255;
+       MY(alpha_fade) = 128;
+       MY(color_min) = "0x505050";
+       MY(color_max) = "0x505050";
+       MY(count) = 0.500000;
+       MY(sizeincrease) = 4;
+       MY(size_min) = 4;
+       MY(size_max) = 4;
+       MY(tex_max) = 8;
+       MY(type) = "smoke";
+ }
+ // sparks that disappear on impact
+ SUB(TE_SUPERSPIKEQUAD) {
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 768;
+       MY(bounce) = -1;
+       MY(color_min) = "0x8f4333";
+       MY(color_max) = "0xfff31b";
+       MY(count) = 15;
+       MY(gravity) = 1;
+       MY(size_min) = 0.400000;
+       MY(size_max) = 0.400000;
+       MY(type) = "spark";
+       MY(velocityjitter) = '64.0 64.0 64.0';
+       MY(velocityoffset) = '0.0 0.0 80.0';
+ }
+ // shotgun pellet impact
+ DEF(TE_GUNSHOT);
+ // decal
+ SUB(TE_GUNSHOT) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(countabsolute) = 1;
+       MY(originjitter) = '6.0 6.0 6.0';
+       MY(size_min) = 3;
+       MY(size_max) = 3;
+       MY(tex_min) = 56;
+       MY(tex_max) = 59;
+       MY(type) = "decal";
+ }
+ // dust/smoke drifting away from the impact
+ SUB(TE_GUNSHOT) {
+       MY(alpha_min) = 128;
+       MY(alpha_max) = 128;
+       MY(alpha_fade) = 64;
+       MY(color_min) = "0x101010";
+       MY(color_max) = "0x101010";
+       MY(count) = 0.800000;
+       MY(sizeincrease) = 3;
+       MY(size_min) = 3;
+       MY(size_max) = 3;
+       MY(tex_max) = 8;
+       MY(type) = "smoke";
+       MY(velocityjitter) = '8.0 8.0 8.0';
+ }
+ // dust/smoke staying at the impact
+ SUB(TE_GUNSHOT) {
+       MY(alpha_min) = 128;
+       MY(alpha_max) = 128;
+       MY(alpha_fade) = 64;
+       MY(color_min) = "0x505050";
+       MY(color_max) = "0x505050";
+       MY(count) = 0.200000;
+       MY(sizeincrease) = 4;
+       MY(size_min) = 4;
+       MY(size_max) = 4;
+       MY(tex_max) = 8;
+       MY(type) = "smoke";
+ }
+ // bouncing sparks
+ SUB(TE_GUNSHOT) {
+       MY(alpha_max) = 64;
+       MY(alpha_fade) = 64;
+       MY(bounce) = 1.500000;
+       MY(color_min) = "0x8f4333";
+       MY(color_max) = "0xfff31b";
+       MY(count) = 2.500000;
+       MY(gravity) = 1;
+       MY(size_min) = 0.400000;
+       MY(size_max) = 0.400000;
+       MY(type) = "spark";
+       MY(velocityjitter) = '64.0 64.0 64.0';
+       MY(velocityoffset) = '0.0 0.0 80.0';
+ }
+ // crylink impact effect
+ DEF(TE_GUNSHOTQUAD);
+ // decal
+ SUB(TE_GUNSHOTQUAD) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(countabsolute) = 1;
+       MY(originjitter) = '12.0 12.0 12.0';
+       MY(size_min) = 8;
+       MY(size_max) = 8;
+       MY(tex_min) = 47;
+       MY(tex_max) = 47;
+       MY(type) = "decal";
+ }
+ // purple flare effect
+ SUB(TE_GUNSHOTQUAD) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 512;
+       MY(color_min) = "0x504060";
+       MY(color_max) = "0x504060";
+       MY(countabsolute) = 1;
+       MY(size_min) = 8;
+       MY(size_max) = 8;
+       MY(tex_min) = 39;
+       MY(tex_max) = 39;
+       MY(type) = "static";
+ }
+ // purple sparks
+ SUB(TE_GUNSHOTQUAD) {
+       MY(alpha_min) = 128;
+       MY(alpha_max) = 128;
+       MY(alpha_fade) = 384;
+       MY(bounce) = 1.500000;
+       MY(color_min) = "0xA040C0";
+       MY(color_max) = "0xFFFFFF";
+       MY(count) = 6;
+       MY(gravity) = 1;
+       MY(size_min) = 1;
+       MY(size_max) = 1;
+       MY(type) = "spark";
+       MY(velocityjitter) = '128.0 128.0 128.0';
+       MY(velocityoffset) = '0.0 0.0 80.0';
+ }
+ // mortar/hagar explosion (smaller than rocket)
+ DEF(TE_EXPLOSION);
+ // decal
+ SUB(TE_EXPLOSION) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(countabsolute) = 1;
+       MY(lightcolor) = '4.0 2.0 0.5';
+       MY(lightradiusfade) = 300;
+       MY(lightradius) = 150;
+       MY(originjitter) = '40.0 40.0 40.0';
+       MY(size_min) = 48;
+       MY(size_max) = 48;
+       MY(tex_min) = 8;
+       MY(tex_max) = 16;
+       MY(type) = "decal";
+ }
+ // flare effect
+ SUB(TE_EXPLOSION) {
+       MY(alpha_min) = 192;
+       MY(alpha_max) = 192;
+       MY(alpha_fade) = 64;
+       MY(color_min) = "0x404040";
+       MY(color_max) = "0x404040";
+       MY(countabsolute) = 1;
+       MY(size_min) = 48;
+       MY(size_max) = 48;
+       MY(tex_min) = 35;
+       MY(tex_max) = 37;
+       MY(type) = "static";
+ }
+ // fire effect which expands then slows
+ SUB(TE_EXPLOSION) {
+       MY(airfriction) = 4;
+       MY(alpha_min) = 128;
+       MY(alpha_max) = 128;
+       MY(alpha_fade) = 256;
+       MY(bounce) = 1.500000;
+       MY(color_min) = "0x902010";
+       MY(color_max) = "0xFFD080";
+       MY(count) = 64;
+       MY(liquidfriction) = 4;
+       MY(notunderwater) = true;
+       MY(originjitter) = '8.0 8.0 8.0';
+       MY(size_min) = 16;
+       MY(size_max) = 16;
+       MY(tex_min) = 48;
+       MY(tex_max) = 55;
+       MY(type) = "static";
+       MY(velocityjitter) = '256.0 256.0 256.0';
+ }
+ // underwater bubbles
+ SUB(TE_EXPLOSION) {
+       MY(alpha_min) = 128;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 64;
+       MY(bounce) = 1.500000;
+       MY(color_min) = "0x404040";
+       MY(color_max) = "0x808080";
+       MY(count) = 16;
+       MY(gravity) = -0.125000;
+       MY(liquidfriction) = 0.250000;
+       MY(originjitter) = '16.0 16.0 16.0';
+       MY(size_min) = 3;
+       MY(size_max) = 3;
+       MY(tex_min) = 62;
+       MY(tex_max) = 62;
+       MY(type) = "bubble";
+       MY(underwater) = true;
+       MY(velocityjitter) = '96.0 96.0 96.0';
+ }
+ // bouncing sparks
+ SUB(TE_EXPLOSION) {
+       MY(airfriction) = 0.200000;
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 384;
+       MY(bounce) = 1.500000;
+       MY(color_min) = "0x903010";
+       MY(color_max) = "0xFFD030";
+       MY(count) = 16;
+       MY(gravity) = 1;
+       MY(liquidfriction) = 0.800000;
+       MY(notunderwater) = true;
+       MY(size_min) = 2;
+       MY(size_max) = 2;
+       MY(type) = "spark";
+       MY(velocityjitter) = '256.0 256.0 256.0';
+       MY(velocityoffset) = '0.0 0.0 80.0';
+ }
+ // quake effect
+ DEF(TE_EXPLOSIONQUAD);
+ // decal
+ SUB(TE_EXPLOSIONQUAD) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(countabsolute) = 1;
+       MY(lightcolor) = '4.0 2.0 8.0';
+       MY(lightradiusfade) = 700;
+       MY(lightradius) = 350;
+       MY(originjitter) = '40.0 40.0 40.0';
+       MY(size_min) = 48;
+       MY(size_max) = 48;
+       MY(tex_min) = 8;
+       MY(tex_max) = 16;
+       MY(type) = "decal";
+ }
+ // smoke cloud
+ SUB(TE_EXPLOSIONQUAD) {
+       MY(alpha_min) = 32;
+       MY(alpha_max) = 32;
+       MY(alpha_fade) = 64;
+       MY(color_min) = "0x202020";
+       MY(color_max) = "0x404040";
+       MY(count) = 16;
+       MY(notunderwater) = true;
+       MY(size_min) = 12;
+       MY(size_max) = 12;
+       MY(tex_max) = 8;
+       MY(type) = "smoke";
+       MY(velocityjitter) = '48.0 48.0 48.0';
+ }
+ // underwater bubbles
+ SUB(TE_EXPLOSIONQUAD) {
+       MY(alpha_min) = 128;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 64;
+       MY(bounce) = 1.500000;
+       MY(color_min) = "0x404040";
+       MY(color_max) = "0x808080";
+       MY(count) = 16;
+       MY(gravity) = -0.125000;
+       MY(liquidfriction) = 0.250000;
+       MY(originjitter) = '16.0 16.0 16.0';
+       MY(size_min) = 3;
+       MY(size_max) = 3;
+       MY(tex_min) = 62;
+       MY(tex_max) = 62;
+       MY(type) = "bubble";
+       MY(underwater) = true;
+       MY(velocityjitter) = '96.0 96.0 96.0';
+ }
+ // sparks which go through walls
+ SUB(TE_EXPLOSIONQUAD) {
+       MY(airfriction) = 0.200000;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 512;
+       MY(color_min) = "0x903010";
+       MY(color_max) = "0xFFD030";
+       MY(count) = 64;
+       MY(gravity) = 1;
+       MY(liquidfriction) = 0.800000;
+       MY(notunderwater) = true;
+       MY(size_min) = 1;
+       MY(size_max) = 1;
+       MY(type) = "spark";
+       MY(velocityjitter) = '256.0 256.0 256.0';
+       MY(velocityoffset) = '0.0 0.0 80.0';
+ }
+ // quake effect
+ DEF(TE_TAREXPLOSION);
+ // decal
+ SUB(TE_TAREXPLOSION) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(countabsolute) = 1;
+       MY(lightcolor) = '1.6 0.8 2.0';
+       MY(lightradiusfade) = 1200;
+       MY(lightradius) = 600;
+       MY(originjitter) = '40.0 40.0 40.0';
+       MY(size_min) = 48;
+       MY(size_max) = 48;
+       MY(tex_min) = 8;
+       MY(tex_max) = 16;
+       MY(type) = "decal";
+ }
+ // smoke cloud
+ SUB(TE_TAREXPLOSION) {
+       MY(alpha_min) = 32;
+       MY(alpha_max) = 32;
+       MY(alpha_fade) = 64;
+       MY(color_min) = "0x202020";
+       MY(color_max) = "0x404040";
+       MY(count) = 16;
+       MY(notunderwater) = true;
+       MY(size_min) = 12;
+       MY(size_max) = 12;
+       MY(tex_max) = 8;
+       MY(type) = "smoke";
+       MY(velocityjitter) = '48.0 48.0 48.0';
+ }
+ // underwater bubbles
+ SUB(TE_TAREXPLOSION) {
+       MY(alpha_min) = 128;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 64;
+       MY(bounce) = 1.500000;
+       MY(color_min) = "0x404040";
+       MY(color_max) = "0x808080";
+       MY(count) = 16;
+       MY(gravity) = -0.125000;
+       MY(liquidfriction) = 0.250000;
+       MY(originjitter) = '16.0 16.0 16.0';
+       MY(size_min) = 3;
+       MY(size_max) = 3;
+       MY(tex_min) = 62;
+       MY(tex_max) = 62;
+       MY(type) = "bubble";
+       MY(underwater) = true;
+       MY(velocityjitter) = '96.0 96.0 96.0';
+ }
+ // sparks which go through walls
+ SUB(TE_TAREXPLOSION) {
+       MY(airfriction) = 0.200000;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 512;
+       MY(color_min) = "0x903010";
+       MY(color_max) = "0xFFD030";
+       MY(count) = 64;
+       MY(gravity) = 1;
+       MY(liquidfriction) = 0.800000;
+       MY(notunderwater) = true;
+       MY(size_min) = 1;
+       MY(size_max) = 1;
+       MY(type) = "spark";
+       MY(velocityjitter) = '256.0 256.0 256.0';
+       MY(velocityoffset) = '0.0 0.0 80.0';
+ }
+ // bloody impact effect indicating damage
+ DEF(TE_BLOOD);
+ SUB(TE_BLOOD) {
+       MY(airfriction) = 1;
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 64;
+       MY(bounce) = -1;
+       MY(count) = 0.167000;
+       MY(liquidfriction) = 4;
+       MY(size_min) = 8;
+       MY(size_max) = 8;
+       MY(staincolor_min) = "0x808080";
+       MY(staincolor_max) = "0x808080";
+       MY(staintex_min) = 16;
+       MY(staintex_max) = 24;
+       MY(tex_min) = 24;
+       MY(tex_max) = 32;
+       MY(type) = "blood";
+       MY(velocityjitter) = '64.0 64.0 64.0';
+       MY(velocitymultiplier) = 1;
+ }
+ // sparks (quake effect)
+ DEF(TE_SPARK);
+ SUB(TE_SPARK) {
+       MY(alpha_min) = 64;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 768;
+       MY(bounce) = -1;
+       MY(color_min) = "0x8f4333";
+       MY(color_max) = "0xfff31b";
+       MY(count) = 0.500000;
+       MY(gravity) = 1;
+       MY(size_min) = 0.400000;
+       MY(size_max) = 0.600000;
+       MY(tex_min) = 40;
+       MY(tex_max) = 40;
+       MY(type) = "spark";
+       MY(velocityjitter) = '64.0 64.0 64.0';
+       MY(velocitymultiplier) = 1;
+       MY(velocityoffset) = '0.0 0.0 80.0';
+ }
+ // vortex impact
+ DEF(TE_PLASMABURN);
+ // decal
+ SUB(TE_PLASMABURN) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(countabsolute) = 1;
+       MY(lightcolor) = '1.0 1.0 1.0';
+       MY(lightradiusfade) = 400;
+       MY(lightradius) = 200;
+       MY(originjitter) = '16.0 16.0 16.0';
+       MY(size_min) = 24;
+       MY(size_max) = 24;
+       MY(tex_min) = 47;
+       MY(tex_max) = 47;
+       MY(type) = "decal";
+ }
+ // flare effect
+ SUB(TE_PLASMABURN) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 512;
+       MY(color_min) = "0x80C0FF";
+       MY(color_max) = "0x80C0FF";
+       MY(countabsolute) = 1;
+       MY(size_min) = 8;
+       MY(size_max) = 8;
+       MY(tex_min) = 37;
+       MY(tex_max) = 37;
+       MY(type) = "static";
+ }
+ // small sparks which form a sphere as they slow down
+ SUB(TE_PLASMABURN) {
+       MY(airfriction) = 8;
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 1024;
+       MY(bounce) = 2;
+       MY(color_min) = "0x2030FF";
+       MY(color_max) = "0x80C0FF";
+       MY(count) = 128;
+       MY(liquidfriction) = 8;
+       MY(size_min) = 1;
+       MY(size_max) = 2;
+       MY(type) = "spark";
+       MY(velocityjitter) = '128.0 128.0 128.0';
+ }
+ // quake effect
+ DEF(TE_SMALLFLASH);
+ SUB(TE_SMALLFLASH) {
+       MY(lightcolor) = '2.0 2.0 2.0';
+       MY(lightradiusfade) = 1000;
+       MY(lightradius) = 200;
+ }
+ // quake effect
+ DEF(TE_FLAMEJET);
+ SUB(TE_FLAMEJET) {
+       MY(airfriction) = 1;
+       MY(alpha_min) = 64;
+       MY(alpha_max) = 128;
+       MY(alpha_fade) = 384;
+       MY(bounce) = 1.100000;
+       MY(color_min) = "0x6f0f00";
+       MY(color_max) = "0xe3974f";
+       MY(count) = 0.500000;
+       MY(gravity) = -1;
+       MY(liquidfriction) = 4;
+       MY(size_min) = 4;
+       MY(size_max) = 4;
+       MY(type) = "smoke";
+       MY(velocityjitter) = '128.0 128.0 128.0';
+       MY(velocitymultiplier) = 1;
+ }
+ // quake effect
+ DEF(TE_LAVASPLASH);
+ SUB(TE_LAVASPLASH) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 256;
+       MY(color_min) = "0x6f0f00";
+       MY(color_max) = "0xe3974f";
+       MY(count) = 32;
+       MY(gravity) = 0.050000;
+       MY(originjitter) = '128.0 128.0 32.0';
+       MY(originoffset) = '0.0 0.0 32.0';
+       MY(size_min) = 12;
+       MY(size_max) = 12;
+       MY(type) = "alphastatic";
+       MY(velocityjitter) = '128.0 128.0 0.0';
+       MY(velocityoffset) = '0.0 0.0 256.0';
+ }
+ // player teleport effect
+ DEF(TE_TELEPORT);
+ SUB(TE_TELEPORT) {
+       MY(airfriction) = 1;
+       MY(alpha_min) = 64;
+       MY(alpha_max) = 128;
+       MY(alpha_fade) = 256;
+       MY(color_min) = "0xA0A0A0";
+       MY(color_max) = "0xFFFFFF";
+       MY(count) = 56;
+       MY(liquidfriction) = 4;
+       MY(originjitter) = '16.0 16.0 28.0';
+       MY(originoffset) = '0.0 0.0 28.0';
+       MY(size_min) = 10;
+       MY(size_max) = 10;
+       MY(type) = "static";
+       MY(velocityjitter) = '0.0 0.0 256.0';
+ }
+ // vortex beam
+ DEF(TE_TEI_G3);
+ SUB(TE_TEI_G3) {
+       MY(alpha_min) = 128;
+       MY(alpha_max) = 128;
+       MY(alpha_fade) = 256;
+       MY(color_min) = "0xFFFFFF";
+       MY(color_max) = "0xFFFFFF";
+       MY(countabsolute) = 1;
+       MY(size_min) = 4;
+       MY(size_max) = 4;
+       MY(tex_min) = 200;
+       MY(tex_max) = 200;
+       MY(type) = "beam";
+ }
+ SUB(TE_TEI_G3) {
+       MY(airfriction) = -4;
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 512;
+       MY(color_min) = "0x202020";
+       MY(color_max) = "0x404040";
+       MY(size_min) = 1;
+       MY(size_max) = 1;
+       MY(trailspacing) = 4;
+       MY(type) = "smoke";
+       MY(velocityjitter) = '8.0 8.0 8.0';
+ }
+ // smoke effect
+ DEF(TE_TEI_SMOKE);
+ SUB(TE_TEI_SMOKE) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 512;
+       MY(color_min) = "0x202020";
+       MY(color_max) = "0x404040";
+       MY(count) = 0.167000;
+       MY(originjitter) = '1.5 1.5 1.5';
+       MY(size_min) = 5;
+       MY(size_max) = 5;
+       MY(tex_max) = 8;
+       MY(type) = "smoke";
+       MY(velocityjitter) = '6.0 6.0 6.0';
+       MY(velocitymultiplier) = 1;
+ }
+ // rocket explosion (bigger than mortar and hagar)
+ DEF(TE_TEI_BIGEXPLOSION);
+ // decal
+ SUB(TE_TEI_BIGEXPLOSION) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(countabsolute) = 1;
+       MY(lightcolor) = '4.0 2.0 0.5';
+       MY(lightradiusfade) = 500;
+       MY(lightradius) = 500;
+       MY(originjitter) = '40.0 40.0 40.0';
+       MY(size_min) = 72;
+       MY(size_max) = 72;
+       MY(tex_min) = 8;
+       MY(tex_max) = 16;
+       MY(type) = "decal";
+ }
+ // flare effect
+ SUB(TE_TEI_BIGEXPLOSION) {
+       MY(alpha_min) = 192;
+       MY(alpha_max) = 192;
+       MY(alpha_fade) = 64;
+       MY(color_min) = "0x404040";
+       MY(color_max) = "0x404040";
+       MY(countabsolute) = 1;
+       MY(size_min) = 72;
+       MY(size_max) = 72;
+       MY(tex_min) = 35;
+       MY(tex_max) = 37;
+       MY(type) = "static";
+ }
+ // fire effect
+ SUB(TE_TEI_BIGEXPLOSION) {
+       MY(airfriction) = 4;
+       MY(alpha_min) = 128;
+       MY(alpha_max) = 128;
+       MY(alpha_fade) = 256;
+       MY(bounce) = 1.500000;
+       MY(color_min) = "0x902010";
+       MY(color_max) = "0xFFD080";
+       MY(count) = 128;
+       MY(liquidfriction) = 4;
+       MY(notunderwater) = true;
+       MY(originjitter) = '8.0 8.0 8.0';
+       MY(size_min) = 16;
+       MY(size_max) = 16;
+       MY(tex_min) = 48;
+       MY(tex_max) = 55;
+       MY(type) = "static";
+       MY(velocityjitter) = '512.0 512.0 512.0';
+ }
+ // underwater bubbles
+ SUB(TE_TEI_BIGEXPLOSION) {
+       MY(alpha_min) = 128;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 64;
+       MY(bounce) = 1.500000;
+       MY(color_min) = "0x404040";
+       MY(color_max) = "0x808080";
+       MY(count) = 32;
+       MY(gravity) = -0.125000;
+       MY(liquidfriction) = 0.250000;
+       MY(originjitter) = '16.0 16.0 16.0';
+       MY(size_min) = 3;
+       MY(size_max) = 3;
+       MY(tex_min) = 62;
+       MY(tex_max) = 62;
+       MY(type) = "bubble";
+       MY(underwater) = true;
+       MY(velocityjitter) = '144.0 144.0 144.0';
+ }
+ // bouncing sparks
+ SUB(TE_TEI_BIGEXPLOSION) {
+       MY(airfriction) = 0.200000;
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 384;
+       MY(bounce) = 1.500000;
+       MY(color_min) = "0x903010";
+       MY(color_max) = "0xFFD030";
+       MY(count) = 64;
+       MY(gravity) = 1;
+       MY(liquidfriction) = 0.800000;
+       MY(notunderwater) = true;
+       MY(size_min) = 2;
+       MY(size_max) = 2;
+       MY(type) = "spark";
+       MY(velocityjitter) = '384.0 384.0 384.0';
+       MY(velocityoffset) = '0.0 0.0 80.0';
+ }
+ // electro explosion
+ DEF(TE_TEI_PLASMAHIT);
+ // decal
+ SUB(TE_TEI_PLASMAHIT) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(countabsolute) = 1;
+       MY(lightcolor) = '2.4 4.8 8.0';
+       MY(lightradiusfade) = 600;
+       MY(lightradius) = 200;
+       MY(originjitter) = '20.0 20.0 20.0';
+       MY(size_min) = 32;
+       MY(size_max) = 32;
+       MY(tex_min) = 59;
+       MY(tex_max) = 59;
+       MY(type) = "decal";
+ }
+ // flare effect
+ SUB(TE_TEI_PLASMAHIT) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 512;
+       MY(color_min) = "0x80C0FF";
+       MY(color_max) = "0x80C0FF";
+       MY(countabsolute) = 1;
+       MY(size_min) = 32;
+       MY(size_max) = 32;
+       MY(tex_min) = 38;
+       MY(tex_max) = 38;
+       MY(type) = "static";
+ }
+ // cloud of bouncing sparks
+ SUB(TE_TEI_PLASMAHIT) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 1024;
+       MY(bounce) = 1.500000;
+       MY(color_min) = "0x2030FF";
+       MY(color_max) = "0x80C0FF";
+       MY(count) = 0.500000;
+       MY(size_min) = 2;
+       MY(size_max) = 4;
+       MY(type) = "spark";
+       MY(velocityjitter) = '512.0 512.0 512.0';
+ }
+ // bloody impact effect indicating damage
+ DEF(blood);
+ SUB(blood) {
+       MY(airfriction) = 0.400000;
+       MY(alpha_min) = 1560;
+       MY(alpha_max) = 2560;
+       MY(alpha_fade) = 7000;
+       MY(blend) = "invmod";
+       MY(bounce) = -1;
+       MY(color_min) = "0xA8FFFF";
+       MY(color_max) = "0xA8FFFFF";
+       MY(count) = 0.400000;
+       MY(sizeincrease) = 20;
+       MY(size_min) = 5;
+       MY(size_max) = 11;
+       MY(staincolor_min) = "0x808080";
+       MY(staincolor_max) = "0x808080";
+       MY(stainsize_min) = 1;
+       MY(stainsize_max) = 2;
+       MY(staintex_min) = 16;
+       MY(staintex_max) = 24;
+       MY(stretchfactor) = 20;
+       MY(tex_min) = 24;
+       MY(tex_max) = 32;
+       MY(type) = "spark";
+       MY(velocityjitter) = '99.0 99.0 55.0';
+ }
+ //blood mist
+ SUB(blood) {
+       MY(alpha_min) = 100;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 400;
+       MY(blend) = "invmod";
+       MY(color_min) = "0x000000";
+       MY(color_max) = "0x420000";
+       MY(countabsolute) = 1;
+       MY(originjitter) = '11.0 11.0 11.0';
+       MY(sizeincrease) = 20;
+       MY(size_min) = 25;
+       MY(size_max) = 30;
+       MY(tex_min) = 24;
+       MY(tex_max) = 32;
+       MY(type) = "alphastatic";
+ }
+ // player teleport effect
+ DEF(teleport);
+ SUB(teleport) {
+       MY(airfriction) = 2;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 100;
+       MY(bounce) = 1.500000;
+       MY(color_min) = "0x807aff";
+       MY(color_max) = "0x4463d5";
+       MY(count) = 500;
+       MY(originjitter) = '1.0 1.0 1.0';
+       MY(size_min) = 1;
+       MY(size_max) = 1;
+       MY(stretchfactor) = 0.600000;
+       MY(tex_min) = 64;
+       MY(tex_max) = 64;
+       MY(type) = "spark";
+       MY(velocityjitter) = '1000.0 1000.0 1500.0';
+       MY(velocitymultiplier) = 0.500000;
+ }
+ SUB(teleport) {
+       MY(alpha_min) = 190;
+       MY(alpha_max) = 190;
+       MY(alpha_fade) = 180;
+       MY(color_min) = "0x807aff";
+       MY(color_max) = "0x4463d5";
+       MY(countabsolute) = 1;
+       MY(sizeincrease) = -80;
+       MY(size_min) = 150;
+       MY(size_max) = 150;
+       MY(tex_min) = 65;
+       MY(tex_max) = 65;
+       MY(type) = "smoke";
+ }
+ // normal super gory blood trail (used by gibs)
+ DEF(TR_BLOOD);
+ SUB(TR_BLOOD) {
+       MY(airfriction) = -2;
+       MY(alpha_min) = 384;
+       MY(alpha_max) = 984;
+       MY(alpha_fade) = 1492;
+       MY(blend) = "invmod";
+       MY(bounce) = -1;
+       MY(color_min) = "0xA8FFFF";
+       MY(color_max) = "0xA8FFFF";
+       MY(gravity) = 0.400000;
+       MY(liquidfriction) = 1;
+       MY(sizeincrease) = -5;
+       MY(size_min) = 4;
+       MY(size_max) = 19;
+       MY(staincolor_min) = "0x808080";
+       MY(staincolor_max) = "0x808080";
+       MY(stainsize_min) = 1;
+       MY(stainsize_max) = 2;
+       MY(staintex_min) = 16;
+       MY(staintex_max) = 24;
+       MY(stretchfactor) = 7;
+       MY(tex_min) = 24;
+       MY(tex_max) = 32;
+       MY(trailspacing) = 20;
+       MY(type) = "spark";
+       MY(velocityjitter) = '64.0 64.0 64.0';
+       MY(velocitymultiplier) = -0.100000;
+ }
+ // splash around gib
+ SUB(TR_BLOOD) {
+       MY(alpha_min) = 684;
+       MY(alpha_max) = 684;
+       MY(alpha_fade) = 7492;
+       MY(color_min) = "0xA8FFFF";
+       MY(color_max) = "0xA8FFFF";
+       MY(sizeincrease) = 500;
+       MY(size_min) = 4;
+       MY(size_max) = 6;
+       MY(tex_min) = 24;
+       MY(tex_max) = 32;
+       MY(trailspacing) = 42;
+       MY(type) = "blood";
+ }
+ // thinner blood trail (used by quake zombies)
+ DEF(TR_SLIGHTBLOOD);
+ SUB(TR_SLIGHTBLOOD) {
+       MY(airfriction) = 1;
+       MY(alpha_min) = 384;
+       MY(alpha_max) = 384;
+       MY(alpha_fade) = 192;
+       MY(bounce) = -1;
+       MY(color_min) = "0xA8FFFF";
+       MY(color_max) = "0xA8FFFF";
+       MY(liquidfriction) = 4;
+       MY(size_min) = 8;
+       MY(size_max) = 8;
+       MY(staincolor_min) = "0x808080";
+       MY(staincolor_max) = "0x808080";
+       MY(staintex_min) = 16;
+       MY(staintex_max) = 24;
+       MY(tex_min) = 24;
+       MY(tex_max) = 32;
+       MY(trailspacing) = 64;
+       MY(type) = "blood";
+       MY(velocityjitter) = '64.0 64.0 64.0';
+       MY(velocitymultiplier) = 0.500000;
+ }
+ // func_stardust effect, used in some maps to indicate teleporters
+ DEF(EF_STARDUST);
+ SUB(EF_STARDUST) {
+       MY(airfriction) = 0.200000;
+       MY(alpha_min) = 64;
+       MY(alpha_max) = 128;
+       MY(alpha_fade) = 128;
+       MY(color_min) = "0xfff368";
+       MY(color_max) = "0xfff368";
+       MY(count) = 37.500000;
+       MY(gravity) = -0.100000;
+       MY(liquidfriction) = 0.800000;
+       MY(originjitter) = '16.0 16.0 64.0';
+       MY(size_min) = 1;
+       MY(size_max) = 2;
+       MY(type) = "static";
+       MY(velocityjitter) = '32.0 32.0 0.0';
+ }
+ // flare particle and light
+ DEF(item_respawn);
+ SUB(item_respawn) {
+       MY(alpha_min) = 128;
+       MY(alpha_max) = 128;
+       MY(alpha_fade) = 128;
+       MY(color_min) = "0x63F2EA";
+       MY(color_max) = "0x63f2EA";
+       MY(countabsolute) = 1;
+       MY(size_min) = 32;
+       MY(size_max) = 32;
+       MY(type) = "static";
+ }
+ // cloud of particles which expand rapidly and then slow to form a ball
+ SUB(item_respawn) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 1280;
+       MY(color_min) = "0x63F2EA";
+       MY(color_max) = "0x63f2EA";
+       MY(count) = 128;
+       MY(size_min) = 2;
+       MY(size_max) = 2;
+       MY(tex_min) = 41;
+       MY(tex_max) = 41;
+       MY(type) = "spark";
+       MY(velocityjitter) = '256.0 256.0 256.0';
+ }
+ DEF(jumppad_activate);
+ SUB(jumppad_activate) {
+       MY(lightcolor) = '2.0 2.0 2.0';
+       MY(lightradiusfade) = 2000;
+       MY(lightradius) = 200;
+ }
+ DEF(laser_muzzleflash);
+ // glow and light
+ SUB(laser_muzzleflash) {
+       MY(airfriction) = 10;
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 512;
+       MY(alpha_fade) = 6280;
+       MY(color_min) = "0xcc0000";
+       MY(color_max) = "0xff0000";
+       MY(countabsolute) = 1;
+       MY(lightcolor) = '3.0 0.1 0.1';
+       MY(lightradiusfade) = 2000;
+       MY(lightradius) = 200;
+       MY(sizeincrease) = -100;
+       MY(size_min) = 10;
+       MY(size_max) = 15;
+       MY(stretchfactor) = 2;
+       MY(tex_min) = 65;
+       MY(tex_max) = 65;
+       MY(type) = "smoke";
+ }
+ // electricity
+ SUB(laser_muzzleflash) {
+       MY(airfriction) = 10;
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 512;
+       MY(alpha_fade) = 6280;
+       MY(color_min) = "0xb44215";
+       MY(color_max) = "0xff0000";
+       MY(count) = 3;
+       MY(originjitter) = '2.0 2.0 2.0';
+       MY(startangle_min) = -180;
+       MY(startangle_max) = 180;
+       MY(spin_min) = 4000;
+       MY(spin_max) = -4000;
+       MY(sizeincrease) = -100;
+       MY(size_min) = 5;
+       MY(size_max) = 7;
+       MY(stretchfactor) = 2.300000;
+       MY(tex_min) = 43;
+       MY(tex_max) = 43;
+       MY(type) = "spark";
+       MY(velocityjitter) = '150.0 150.0 150.0';
+       MY(velocitymultiplier) = 0.200000;
+ }
+ // fire
+ SUB(laser_muzzleflash) {
+       MY(airfriction) = 12;
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 512;
+       MY(alpha_fade) = 6280;
+       MY(color_min) = "0xff4200";
+       MY(color_max) = "0xff0000";
+       MY(count) = 6;
+       MY(originjitter) = '2.0 2.0 2.0';
+       MY(sizeincrease) = -100;
+       MY(size_min) = 7;
+       MY(size_max) = 9;
+       MY(stretchfactor) = 2;
+       MY(tex_min) = 8;
+       MY(tex_max) = 15;
+       MY(type) = "spark";
+       MY(velocityjitter) = '100.0 100.0 100.0';
+       MY(velocitymultiplier) = 0.200000;
+ }
+ DEF(laser_impact);
+ // decal
+ SUB(laser_impact) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(countabsolute) = 1;
+       MY(lightcolor) = '8.0 0.4 0.4';
+       MY(lightradiusfade) = 500;
+       MY(lightradius) = 200;
+       MY(originjitter) = '14.0 14.0 14.0';
+       MY(size_min) = 24;
+       MY(size_max) = 24;
+       MY(tex_min) = 47;
+       MY(tex_max) = 47;
+       MY(type) = "decal";
+ }
+ // flare effect
+ SUB(laser_impact) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 1024;
+       MY(color_min) = "0xFF2010";
+       MY(color_max) = "0xFF2010";
+       MY(countabsolute) = 1;
+       MY(size_min) = 24;
+       MY(size_max) = 24;
+       MY(tex_min) = 39;
+       MY(tex_max) = 39;
+       MY(type) = "static";
+ }
+ // sparks that rapidly expand and rapidly slow down to form an interesting spherical effect
+ SUB(laser_impact) {
+       MY(airfriction) = 6;
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 1024;
+       MY(color_min) = "0x800000";
+       MY(color_max) = "0xFF8020";
+       MY(count) = 128;
+       MY(liquidfriction) = 6;
+       MY(size_min) = 4;
+       MY(size_max) = 4;
+       MY(type) = "spark";
+       MY(velocityjitter) = '256.0 256.0 256.0';
+ }
+ SUB(laser_impact) {
+       MY(alpha_min) = 128;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 256;
+       MY(color_min) = "0x800000";
+       MY(color_max) = "0xFF8020";
+       MY(count) = 4;
+       MY(originjitter) = '1.0 1.0 1.0';
+       MY(sizeincrease) = 6;
+       MY(size_min) = 12;
+       MY(size_max) = 12;
+       MY(tex_min) = 48;
+       MY(tex_max) = 55;
+       MY(type) = "smoke";
+       MY(velocityjitter) = '16.0 16.0 16.0';
+       MY(velocitymultiplier) = 0.010000;
+ }
+ DEF(shotgun_muzzleflash);
+ SUB(shotgun_muzzleflash) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 512;
+       MY(color_min) = "0x202020";
+       MY(color_max) = "0x404040";
+       MY(count) = 1.500000;
+       MY(lightcolor) = '2.0 1.5 0.2';
+       MY(lightradiusfade) = 2000;
+       MY(lightradius) = 200;
+       MY(originjitter) = '1.5 1.5 1.5';
+       MY(sizeincrease) = 12;
+       MY(size_min) = 5;
+       MY(size_max) = 5;
+       MY(tex_max) = 8;
+       MY(type) = "smoke";
+       MY(velocityjitter) = '6.0 6.0 6.0';
+       MY(velocitymultiplier) = 0.050000;
+ }
+ SUB(shotgun_muzzleflash) {
+       MY(airfriction) = 5;
+       MY(alpha_max) = 128;
+       MY(alpha_fade) = 1024;
+       MY(color_min) = "0xffdb96";
+       MY(color_max) = "0xff5400";
+       MY(count) = 16;
+       MY(originjitter) = '1.0 1.0 1.0';
+       MY(size_min) = 10;
+       MY(size_max) = 20;
+       MY(stretchfactor) = 2.500000;
+       MY(tex_min) = 48;
+       MY(tex_max) = 55;
+       MY(type) = "spark";
+       MY(velocityjitter) = '100.0 100.0 100.0';
+       MY(velocitymultiplier) = 0.500000;
+ }
+ // shotgun pellet impact
+ DEF(shotgun_impact);
+ // decal
+ SUB(shotgun_impact) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(countabsolute) = 1;
+       MY(originjitter) = '10.0 10.0 10.0';
+       MY(size_min) = 5;
+       MY(size_max) = 8;
+       MY(tex_min) = 56;
+       MY(tex_max) = 59;
+       MY(type) = "decal";
+ }
+ // dust/smoke drifting away from the impact
+ SUB(shotgun_impact) {
+       MY(airfriction) = 5;
+       MY(alpha_min) = 300;
+       MY(alpha_max) = 550;
+       MY(alpha_fade) = 756;
+       MY(color_min) = "0x473a37";
+       MY(color_max) = "0x0b0a07";
+       MY(count) = 1;
+       MY(notunderwater) = true;
+       MY(startangle_max) = 360;
+       MY(spin_min) = -50;
+       MY(spin_max) = 50;
+       MY(sizeincrease) = 25;
+       MY(size_min) = 10;
+       MY(size_max) = 20;
+       MY(tex_max) = 8;
+       MY(type) = "alphastatic";
+       MY(velocityjitter) = '150.0 150.0 150.0';
+       MY(velocitymultiplier) = 0.200000;
+ }
+ // dust/smoke staying at the impact
+ SUB(shotgun_impact) {
+       MY(airfriction) = 5;
+       MY(alpha_min) = 200;
+       MY(alpha_max) = 350;
+       MY(alpha_fade) = 500;
+       MY(bounce) = 6;
+       MY(color_min) = "0x201d1a";
+       MY(color_max) = "0x000000";
+       MY(count) = 0.200000;
+       MY(notunderwater) = true;
+       MY(startangle_max) = 360;
+       MY(spin_min) = -50;
+       MY(spin_max) = 50;
+       MY(sizeincrease) = 74;
+       MY(size_min) = 10;
+       MY(size_max) = 11;
+       MY(tex_min) = 36;
+       MY(tex_max) = 36;
+       MY(type) = "alphastatic";
+       MY(velocityjitter) = '11.0 11.0 11.0';
+       MY(velocitymultiplier) = 0.030000;
+ }
+ // sparks
+ SUB(shotgun_impact) {
+       MY(airfriction) = 1.100000;
+       MY(alpha_max) = 356;
+       MY(alpha_fade) = 268;
+       MY(bounce) = 1.500000;
+       MY(color_min) = "0xFDFFD9";
+       MY(color_max) = "0xFDFFD9";
+       MY(count) = 0.500000;
+       MY(gravity) = 1;
+       MY(notunderwater) = true;
+       MY(originjitter) = '1.0 1.0 1.0';
+       MY(size_min) = 0.600000;
+       MY(size_max) = 0.600000;
+       MY(tex_min) = 40;
+       MY(tex_max) = 40;
+       MY(type) = "spark";
+       MY(velocityjitter) = '200.0 200.0 200.0';
+       MY(velocitymultiplier) = 0.200000;
+ }
+ DEF(uzi_muzzleflash);
+ SUB(uzi_muzzleflash) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 512;
+       MY(color_min) = "0x202020";
+       MY(color_max) = "0x404040";
+       MY(count) = 1;
+       MY(gravity) = -0.100000;
+       MY(lightcolor) = '2.0 1.5 0.2';
+       MY(lightradiusfade) = 2000;
+       MY(lightradius) = 200;
+       MY(originjitter) = '1.5 1.5 1.5';
+       MY(size_min) = 5;
+       MY(size_max) = 5;
+       MY(tex_max) = 8;
+       MY(type) = "static";
+       MY(velocityjitter) = '1.0 1.0 1.0';
+       MY(velocitymultiplier) = 0.030000;
+ }
+ SUB(uzi_muzzleflash) {
+       MY(airfriction) = 12;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 6000;
+       MY(color_min) = "0xff9c00";
+       MY(color_max) = "0xffd200";
+       MY(count) = 3;
+       MY(originjitter) = '1.0 1.0 1.0';
+       MY(size_min) = 0.300000;
+       MY(size_max) = 0.400000;
+       MY(stretchfactor) = 0.150000;
+       MY(tex_min) = 40;
+       MY(tex_max) = 40;
+       MY(type) = "spark";
+       MY(velocityjitter) = '555.0 555.0 555.0';
+       MY(velocitymultiplier) = 3;
+ }
+ DEF(machinegun_impact);
+ // decal
+ SUB(machinegun_impact) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(countabsolute) = 1;
+       MY(lightcolor) = '6.0 3.6 0.6';
+       MY(lightradiusfade) = 800;
+       MY(lightradius) = 80;
+       MY(originjitter) = '10.0 10.0 10.0';
+       MY(size_min) = 5;
+       MY(size_max) = 5;
+       MY(tex_min) = 56;
+       MY(tex_max) = 59;
+       MY(type) = "decal";
+ }
+ // dust/smoke drifting away from the impact
+ SUB(machinegun_impact) {
+       MY(airfriction) = 5;
+       MY(alpha_min) = 300;
+       MY(alpha_max) = 550;
+       MY(alpha_fade) = 456;
+       MY(color_min) = "0x473a37";
+       MY(color_max) = "0x0b0a07";
+       MY(count) = 1.500000;
+       MY(notunderwater) = true;
+       MY(startangle_max) = 360;
+       MY(spin_min) = -50;
+       MY(spin_max) = 50;
+       MY(sizeincrease) = 15;
+       MY(size_min) = 10;
+       MY(size_max) = 20;
+       MY(tex_max) = 8;
+       MY(type) = "alphastatic";
+       MY(velocityjitter) = '150.0 150.0 150.0';
+       MY(velocitymultiplier) = 0.100000;
+ }
+ // dust/smoke staying at the impact
+ SUB(machinegun_impact) {
+       MY(airfriction) = 5;
+       MY(alpha_min) = 200;
+       MY(alpha_max) = 350;
+       MY(alpha_fade) = 500;
+       MY(bounce) = 6;
+       MY(color_min) = "0x201d1a";
+       MY(color_max) = "0x000000";
+       MY(count) = 0.500000;
+       MY(notunderwater) = true;
+       MY(startangle_max) = 360;
+       MY(spin_min) = -50;
+       MY(spin_max) = 50;
+       MY(sizeincrease) = 74;
+       MY(size_min) = 10;
+       MY(size_max) = 11;
+       MY(tex_min) = 36;
+       MY(tex_max) = 36;
+       MY(type) = "alphastatic";
+       MY(velocityjitter) = '11.0 11.0 11.0';
+       MY(velocitymultiplier) = 0.030000;
+ }
+ // debris
+ SUB(machinegun_impact) {
+       MY(airfriction) = 1;
+       MY(alpha_min) = 300;
+       MY(alpha_max) = 550;
+       MY(alpha_fade) = 256;
+       MY(bounce) = 1.700000;
+       MY(color_min) = "0x63493e";
+       MY(color_max) = "0xffffff";
+       MY(count) = 1;
+       MY(gravity) = 1.400000;
+       MY(notunderwater) = true;
+       MY(startangle_max) = 360;
+       MY(spin_min) = -500;
+       MY(spin_max) = 500;
+       MY(size_min) = 1;
+       MY(size_max) = 5;
+       MY(tex_min) = 66;
+       MY(tex_max) = 68;
+       MY(type) = "alphastatic";
+       MY(velocityjitter) = '350.0 350.0 350.0';
+       MY(velocitymultiplier) = 0.200000;
+ }
+ // sparks
+ SUB(machinegun_impact) {
+       MY(airfriction) = 2;
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 168;
+       MY(bounce) = 1;
+       MY(color_min) = "0xFDFFD9";
+       MY(color_max) = "0xFDFFD9";
+       MY(count) = 1;
+       MY(gravity) = 1;
+       MY(notunderwater) = true;
+       MY(originjitter) = '1.0 1.0 1.0';
+       MY(size_min) = 0.300000;
+       MY(size_max) = 0.300000;
+       MY(tex_min) = 40;
+       MY(tex_max) = 40;
+       MY(type) = "spark";
+       MY(velocityjitter) = '300.0 300.0 300.0';
+       MY(velocitymultiplier) = 0.200000;
+ }
+ DEF(grenadelauncher_muzzleflash);
+ SUB(grenadelauncher_muzzleflash) {
+       MY(airfriction) = 12;
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 512;
+       MY(color_min) = "0x202020";
+       MY(color_max) = "0x404040";
+       MY(count) = 1.500000;
+       MY(lightcolor) = '2.0 1.5 0.2';
+       MY(lightradiusfade) = 2000;
+       MY(lightradius) = 200;
+       MY(originjitter) = '1.5 1.5 1.5';
+       MY(size_min) = 5;
+       MY(size_max) = 5;
+       MY(tex_max) = 8;
+       MY(type) = "smoke";
+       MY(velocityjitter) = '20.0 20.0 20.0';
+       MY(velocitymultiplier) = 0.030000;
+ }
+ SUB(grenadelauncher_muzzleflash) {
+       MY(airfriction) = 5;
+       MY(alpha_max) = 128;
+       MY(alpha_fade) = 1024;
+       MY(color_min) = "0xffdb96";
+       MY(color_max) = "0xff5400";
+       MY(count) = 16;
+       MY(originjitter) = '1.0 1.0 1.0';
+       MY(size_min) = 10;
+       MY(size_max) = 20;
+       MY(stretchfactor) = 2.500000;
+       MY(tex_min) = 48;
+       MY(tex_max) = 55;
+       MY(type) = "spark";
+       MY(velocityjitter) = '100.0 100.0 100.0';
+       MY(velocitymultiplier) = 0.500000;
+ }
+ // mortar trail
+ DEF(TR_GRENADE);
+ // smoke
+ SUB(TR_GRENADE) {
+       MY(alpha_min) = 300;
+       MY(alpha_max) = 400;
+       MY(alpha_fade) = 780;
+       MY(bounce) = 1;
+       MY(color_min) = "0x101010";
+       MY(color_max) = "0x000000";
+       MY(originjitter) = '1.0 1.0 1.0';
+       MY(sizeincrease) = 10;
+       MY(size_min) = 3;
+       MY(size_max) = 2;
+       MY(tex_max) = 8;
+       MY(trailspacing) = 4;
+       MY(type) = "smoke";
+       MY(velocityjitter) = '1.0 1.0 1.0';
+       MY(velocitymultiplier) = -0.020000;
+ }
+ // fire
+ SUB(TR_GRENADE) {
+       MY(airfriction) = 8;
+       MY(alpha_min) = 100;
+       MY(alpha_max) = 144;
+       MY(alpha_fade) = 988;
+       MY(color_min) = "0xffdf72";
+       MY(color_max) = "0x811200";
+       MY(notunderwater) = true;
+       MY(sizeincrease) = -15;
+       MY(size_min) = 5;
+       MY(size_max) = 2;
+       MY(tex_min) = 48;
+       MY(tex_max) = 55;
+       MY(trailspacing) = 4;
+       MY(type) = "static";
+       MY(velocityjitter) = '32.0 32.0 32.0';
+       MY(velocitymultiplier) = -1;
+ }
+ // bubbles
+ SUB(TR_GRENADE) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 256;
+       MY(bounce) = 1.500000;
+       MY(color_min) = "0x404040";
+       MY(color_max) = "0x808080";
+       MY(gravity) = -0.125000;
+       MY(liquidfriction) = 4;
+       MY(size_min) = 1;
+       MY(size_max) = 1;
+       MY(tex_min) = 62;
+       MY(tex_max) = 62;
+       MY(trailspacing) = 16;
+       MY(type) = "bubble";
+       MY(underwater) = true;
+       MY(velocityjitter) = '16.0 16.0 16.0';
+ }
+ // hookbomb trail
+ DEF(TR_KNIGHTSPIKE);
+ // smoke
+ SUB(TR_KNIGHTSPIKE) {
+       MY(alpha_min) = 300;
+       MY(alpha_max) = 400;
+       MY(alpha_fade) = 600;
+       MY(bounce) = 1;
+       MY(color_min) = "0x303030";
+       MY(color_max) = "0x000000";
+       MY(gravity) = -0.110000;
+       MY(notunderwater) = true;
+       MY(originjitter) = '2.0 2.0 2.0';
+       MY(sizeincrease) = 11;
+       MY(size_min) = 3;
+       MY(size_max) = 3;
+       MY(tex_max) = 8;
+       MY(trailspacing) = 6;
+       MY(type) = "smoke";
+       MY(velocityjitter) = '3.0 3.0 3.0';
+       MY(velocitymultiplier) = -0.020000;
+ }
+ // marker
+ SUB(TR_KNIGHTSPIKE) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 720;
+       MY(color_min) = "0x666666";
+       MY(color_max) = "0x000000";
+       MY(sizeincrease) = -0.100000;
+       MY(size_min) = 1;
+       MY(size_max) = 1;
+       MY(tex_min) = 62;
+       MY(tex_max) = 62;
+       MY(trailspacing) = 2;
+       MY(type) = "alphastatic";
+ }
+ // bubbles
+ SUB(TR_KNIGHTSPIKE) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 256;
+       MY(bounce) = 1.500000;
+       MY(color_min) = "0x404040";
+       MY(color_max) = "0x808080";
+       MY(gravity) = -0.125000;
+       MY(liquidfriction) = 4;
+       MY(size_min) = 1;
+       MY(size_max) = 1;
+       MY(tex_min) = 62;
+       MY(tex_max) = 62;
+       MY(trailspacing) = 32;
+       MY(type) = "bubble";
+       MY(underwater) = true;
+       MY(velocityjitter) = '16.0 16.0 16.0';
+ }
+ DEF(grenade_explode);
+ // decal
+ SUB(grenade_explode) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(countabsolute) = 1;
+       MY(lightcolor) = '8.0 4.0 1.0';
+       MY(lightradiusfade) = 400;
+       MY(lightradius) = 250;
+       MY(originjitter) = '26.0 26.0 26.0';
+       MY(size_min) = 48;
+       MY(size_max) = 48;
+       MY(tex_min) = 8;
+       MY(tex_max) = 16;
+       MY(type) = "decal";
+ }
+ // fire effect which expands then slows
+ SUB(grenade_explode) {
+       MY(airfriction) = 8;
+       MY(alpha_min) = 128;
+       MY(alpha_max) = 228;
+       MY(alpha_fade) = 356;
+       MY(bounce) = 4.500000;
+       MY(color_min) = "0xe03f00";
+       MY(color_max) = "0x5e0000";
+       MY(count) = 40;
+       MY(liquidfriction) = 8;
+       MY(notunderwater) = true;
+       MY(originjitter) = '8.0 8.0 8.0';
+       MY(sizeincrease) = 20;
+       MY(size_min) = 16;
+       MY(size_max) = 26;
+       MY(tex_min) = 48;
+       MY(tex_max) = 55;
+       MY(type) = "static";
+       MY(velocityjitter) = '256.0 256.0 256.0';
+ }
+ // fire effect which make bright dot inside
+ SUB(grenade_explode) {
+       MY(airfriction) = 8;
+       MY(alpha_min) = 228;
+       MY(alpha_max) = 328;
+       MY(alpha_fade) = 756;
+       MY(bounce) = 1;
+       MY(color_min) = "0xe03f00";
+       MY(color_max) = "0xffdf92";
+       MY(count) = 15;
+       MY(liquidfriction) = 8;
+       MY(notunderwater) = true;
+       MY(originjitter) = '8.0 8.0 8.0';
+       MY(sizeincrease) = 40;
+       MY(size_min) = 6;
+       MY(size_max) = 16;
+       MY(tex_min) = 48;
+       MY(tex_max) = 55;
+       MY(type) = "static";
+       MY(velocityjitter) = '256.0 256.0 256.0';
+ }
+ // smoke
+ SUB(grenade_explode) {
+       MY(airfriction) = 5;
+       MY(alpha_min) = 300;
+       MY(alpha_max) = 550;
+       MY(alpha_fade) = 556;
+       MY(bounce) = 6;
+       MY(color_min) = "0x000000";
+       MY(color_max) = "0x111111";
+       MY(count) = 10;
+       MY(notunderwater) = true;
+       MY(sizeincrease) = 34;
+       MY(size_min) = 20;
+       MY(size_max) = 40;
+       MY(tex_max) = 8;
+       MY(type) = "alphastatic";
+       MY(velocityjitter) = '256.0 256.0 256.0';
+ }
+ // underwater bubbles
+ SUB(grenade_explode) {
+       MY(alpha_min) = 128;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 64;
+       MY(bounce) = 1.500000;
+       MY(color_min) = "0x404040";
+       MY(color_max) = "0x808080";
+       MY(count) = 32;
+       MY(gravity) = -0.125000;
+       MY(liquidfriction) = 0.250000;
+       MY(originjitter) = '16.0 16.0 16.0';
+       MY(size_min) = 3;
+       MY(size_max) = 6;
+       MY(tex_min) = 62;
+       MY(tex_max) = 62;
+       MY(type) = "bubble";
+       MY(underwater) = true;
+       MY(velocityjitter) = '196.0 196.0 196.0';
+ }
+ // underwatershockwave
+ SUB(grenade_explode) {
+       MY(alpha_min) = 40;
+       MY(alpha_max) = 40;
+       MY(alpha_fade) = 300;
+       MY(countabsolute) = 1;
+       MY(sizeincrease) = 1500;
+       MY(size_min) = 5;
+       MY(size_max) = 5;
+       MY(tex_min) = 33;
+       MY(tex_max) = 33;
+       MY(type) = "smoke";
+       MY(underwater) = true;
+       MY(velocitymultiplier) = 0.300000;
+ }
+ // bouncing sparks
+ SUB(grenade_explode) {
+       MY(airfriction) = 1;
+       MY(alpha_min) = 644;
+       MY(alpha_max) = 956;
+       MY(alpha_fade) = 484;
+       MY(bounce) = 1.600000;
+       MY(color_min) = "0xffa35b";
+       MY(color_max) = "0xfff2be";
+       MY(count) = 16;
+       MY(gravity) = 1;
+       MY(liquidfriction) = 0.800000;
+       MY(notunderwater) = true;
+       MY(originjitter) = '16.0 16.0 16.0';
+       MY(size_min) = 1;
+       MY(size_max) = 0.100000;
+       MY(tex_min) = 40;
+       MY(tex_max) = 40;
+       MY(type) = "spark";
+       MY(velocityjitter) = '424.0 424.0 624.0';
+       MY(velocityoffset) = '0.0 0.0 80.0';
+ }
+ // debris
+ SUB(grenade_explode) {
+       MY(airfriction) = 0.500000;
+       MY(alpha_min) = 644;
+       MY(alpha_max) = 956;
+       MY(alpha_fade) = 684;
+       MY(bounce) = 1.600000;
+       MY(color_min) = "0x6a3d25";
+       MY(color_max) = "0xcac5b4";
+       MY(count) = 12;
+       MY(gravity) = 1.300000;
+       MY(notunderwater) = true;
+       MY(startangle_min) = -180;
+       MY(startangle_max) = 180;
+       MY(spin_min) = -1000;
+       MY(spin_max) = 1000;
+       MY(size_min) = 2;
+       MY(size_max) = 6;
+       MY(tex_min) = 66;
+       MY(tex_max) = 68;
+       MY(type) = "alphastatic";
+       MY(velocityjitter) = '324.0 324.0 524.0';
+ }
+ DEF(electro_muzzleflash);
+ SUB(electro_muzzleflash) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 512;
+       MY(color_min) = "0x283880";
+       MY(color_max) = "0x283880";
+       MY(countabsolute) = 1;
+       MY(lightcolor) = '1.5 3.0 6.0';
+       MY(lightradiusfade) = 2000;
+       MY(lightradius) = 200;
+       MY(originjitter) = '1.5 1.5 1.5';
+       MY(sizeincrease) = -10;
+       MY(size_min) = 15;
+       MY(size_max) = 15;
+       MY(tex_min) = 65;
+       MY(tex_max) = 65;
+       MY(type) = "smoke";
+       MY(velocityjitter) = '6.0 6.0 6.0';
+       MY(velocitymultiplier) = 0.010000;
+ }
+ SUB(electro_muzzleflash) {
+       MY(airfriction) = 2;
+       MY(alpha_min) = 110;
+       MY(alpha_max) = 228;
+       MY(alpha_fade) = 2024;
+       MY(color_min) = "0xD9FDFF";
+       MY(color_max) = "0xD9FDFF";
+       MY(count) = 7;
+       MY(originjitter) = '1.0 1.0 1.0';
+       MY(size_min) = 5;
+       MY(size_max) = 15;
+       MY(stretchfactor) = 1.500000;
+       MY(tex_min) = 8;
+       MY(tex_max) = 15;
+       MY(type) = "spark";
+       MY(velocityjitter) = '150.0 150.0 150.0';
+       MY(velocitymultiplier) = 0.500000;
+ }
+ SUB(electro_muzzleflash) {
+       MY(airfriction) = 8;
+       MY(alpha_min) = 110;
+       MY(alpha_max) = 228;
+       MY(alpha_fade) = 1024;
+       MY(color_min) = "0xD9FDFF";
+       MY(color_max) = "0xD9FDFF";
+       MY(count) = 5;
+       MY(gravity) = 1.300000;
+       MY(originjitter) = '1.0 1.0 1.0';
+       MY(size_min) = 7;
+       MY(size_max) = 6;
+       MY(stretchfactor) = 0.100000;
+       MY(tex_min) = 41;
+       MY(tex_max) = 41;
+       MY(type) = "spark";
+       MY(velocityjitter) = '350.0 350.0 350.0';
+       MY(velocitymultiplier) = 2.500000;
+ }
+ // electro trail
+ DEF(TR_NEXUIZPLASMA);
+ // glowing vapor trail
+ SUB(TR_NEXUIZPLASMA) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 968;
+       MY(color_min) = "0x283880";
+       MY(color_max) = "0x283880";
+       MY(lightcolor) = '1.5 3.0 6.0';
+       MY(lightradius) = 90;
+       MY(size_min) = 3;
+       MY(size_max) = 3;
+       MY(tex_min) = 38;
+       MY(tex_max) = 38;
+       MY(trailspacing) = 2;
+       MY(type) = "static";
+       MY(velocitymultiplier) = -0.100000;
+ }
+ // bright sparks
+ SUB(TR_NEXUIZPLASMA) {
+       MY(airfriction) = 12;
+       MY(alpha_min) = 444;
+       MY(alpha_max) = 512;
+       MY(alpha_fade) = 1866;
+       MY(bounce) = 1;
+       MY(color_min) = "0x629dff";
+       MY(color_max) = "0x0018ff";
+       MY(count) = 1.500000;
+       MY(originjitter) = '1.0 1.0 1.0';
+       MY(sizeincrease) = -20;
+       MY(size_min) = 2;
+       MY(size_max) = 4;
+       MY(tex_min) = 42;
+       MY(tex_max) = 42;
+       MY(trailspacing) = 12;
+       MY(type) = "snow";
+       MY(velocityjitter) = '50.0 50.0 50.0';
+       MY(velocityoffset) = '0.0 0.0 15.0';
+ }
+ DEF(electro_impact);
+ // decal
+ SUB(electro_impact) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(countabsolute) = 1;
+       MY(lightcolor) = '3.1 4.4 10.0';
+       MY(lightradiusfade) = 250;
+       MY(lightradius) = 250;
+       MY(originjitter) = '17.0 17.0 17.0';
+       MY(size_min) = 32;
+       MY(size_max) = 32;
+       MY(tex_min) = 59;
+       MY(tex_max) = 59;
+       MY(type) = "decal";
+ }
+ // shockwave
+ SUB(electro_impact) {
+       MY(alpha_min) = 40;
+       MY(alpha_max) = 40;
+       MY(alpha_fade) = 350;
+       MY(color_min) = "0x80C0FF";
+       MY(color_max) = "0x80C0FF";
+       MY(countabsolute) = 1;
+       MY(sizeincrease) = 1000;
+       MY(size_min) = 32;
+       MY(size_max) = 32;
+       MY(tex_min) = 33;
+       MY(tex_max) = 33;
+       MY(type) = "smoke";
+       MY(velocitymultiplier) = 44;
+ }
+ // flare effect
+ SUB(electro_impact) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 512;
+       MY(color_min) = "0x80C0FF";
+       MY(color_max) = "0x80C0FF";
+       MY(countabsolute) = 1;
+       MY(size_min) = 12;
+       MY(size_max) = 32;
+       MY(tex_min) = 38;
+       MY(tex_max) = 38;
+       MY(type) = "static";
+ }
+ // cloud of bouncing sparks
+ SUB(electro_impact) {
+       MY(airfriction) = 6;
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 1024;
+       MY(bounce) = 2;
+       MY(color_min) = "0x629dff";
+       MY(color_max) = "0x0018ff";
+       MY(count) = 30;
+       MY(gravity) = -0.300000;
+       MY(originjitter) = '1.0 1.0 1.0';
+       MY(startangle_min) = -180;
+       MY(startangle_max) = 180;
+       MY(spin_min) = -9999;
+       MY(spin_max) = 9999;
+       MY(sizeincrease) = -50;
+       MY(size_min) = 36;
+       MY(size_max) = 36;
+       MY(tex_min) = 42;
+       MY(tex_max) = 42;
+       MY(type) = "smoke";
+       MY(velocityjitter) = '512.0 512.0 512.0';
+ }
+ // inner cloud of smoke
+ SUB(electro_impact) {
+       MY(airfriction) = 30;
+       MY(alpha_min) = 200;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 512;
+       MY(color_min) = "0x629dff";
+       MY(color_max) = "0x0018ff";
+       MY(count) = 30;
+       MY(originjitter) = '20.0 20.0 20.0';
+       MY(sizeincrease) = 50;
+       MY(size_min) = 20;
+       MY(size_max) = 24;
+       MY(tex_max) = 8;
+       MY(type) = "smoke";
+       MY(velocityjitter) = '320.0 320.0 320.0';
+ }
+ DEF(electro_ballexplode);
+ // decal
+ SUB(electro_ballexplode) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(countabsolute) = 1;
+       MY(lightcolor) = '3.1 4.4 10.0';
+       MY(lightradiusfade) = 250;
+       MY(lightradius) = 250;
+       MY(originjitter) = '17.0 17.0 17.0';
+       MY(size_min) = 32;
+       MY(size_max) = 32;
+       MY(tex_min) = 59;
+       MY(tex_max) = 59;
+       MY(type) = "decal";
+ }
+ // flare effect
+ SUB(electro_ballexplode) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 512;
+       MY(color_min) = "0x80C0FF";
+       MY(color_max) = "0x80C0FF";
+       MY(countabsolute) = 1;
+       MY(size_min) = 32;
+       MY(size_max) = 32;
+       MY(tex_min) = 38;
+       MY(tex_max) = 38;
+       MY(type) = "static";
+ }
+ // cloud of bouncing sparks
+ SUB(electro_ballexplode) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 1024;
+       MY(bounce) = 2;
+       MY(color_min) = "0xFDFFD9";
+       MY(color_max) = "0xFDFFD9";
+       MY(count) = 64;
+       MY(originjitter) = '1.0 1.0 1.0';
+       MY(size_min) = 1;
+       MY(size_max) = 2;
+       MY(stretchfactor) = 0.400000;
+       MY(tex_min) = 41;
+       MY(tex_max) = 41;
+       MY(type) = "spark";
+       MY(velocityjitter) = '512.0 512.0 512.0';
+ }
+ // inner cloud of smoke
+ SUB(electro_ballexplode) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 512;
+       MY(color_min) = "0x202020";
+       MY(color_max) = "0x404040";
+       MY(count) = 8;
+       MY(originjitter) = '20.0 20.0 20.0';
+       MY(size_min) = 24;
+       MY(size_max) = 24;
+       MY(tex_max) = 8;
+       MY(type) = "smoke";
+       MY(velocityjitter) = '32.0 32.0 32.0';
+ }
+ DEF(electro_combo);
+ // decal
+ SUB(electro_combo) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(countabsolute) = 1;
+       MY(lightcolor) = '4.0 5.0 6.0';
+       MY(lightradiusfade) = 300;
+       MY(lightradius) = 400;
+       MY(originjitter) = '17.0 17.0 17.0';
+       MY(size_min) = 64;
+       MY(size_max) = 64;
+       MY(tex_min) = 59;
+       MY(tex_max) = 59;
+       MY(type) = "decal";
+ }
+ // flare effect
+ SUB(electro_combo) {
+       MY(alpha_min) = 128;
+       MY(alpha_max) = 128;
+       MY(alpha_fade) = 64;
+       MY(color_min) = "0x80C0FF";
+       MY(color_max) = "0x80C0FF";
+       MY(countabsolute) = 1;
+       MY(size_min) = 48;
+       MY(size_max) = 48;
+       MY(tex_min) = 38;
+       MY(tex_max) = 38;
+       MY(type) = "static";
+ }
+ // large sparks
+ SUB(electro_combo) {
+       MY(airfriction) = 6;
+       MY(alpha_min) = 156;
+       MY(alpha_max) = 156;
+       MY(alpha_fade) = 156;
+       MY(bounce) = 2;
+       MY(color_min) = "0x2030FF";
+       MY(color_max) = "0x80C0FF";
+       MY(count) = 5;
+       MY(liquidfriction) = 16;
+       MY(sizeincrease) = 50;
+       MY(size_min) = 32;
+       MY(size_max) = 32;
+       MY(tex_max) = 7;
+       MY(type) = "static";
+       MY(velocityjitter) = '512.0 512.0 512.0';
+ }
+ SUB(electro_combo) {
+       MY(alpha_min) = 444;
+       MY(alpha_max) = 512;
+       MY(alpha_fade) = 700;
+       MY(bounce) = 1.600000;
+       MY(color_min) = "0xa9cacf";
+       MY(color_max) = "0x0054ff";
+       MY(count) = 32;
+       MY(gravity) = 0.300000;
+       MY(originjitter) = '1.0 1.0 1.0';
+       MY(size_min) = 2;
+       MY(size_max) = 4;
+       MY(stretchfactor) = 2;
+       MY(tex_min) = 41;
+       MY(tex_max) = 41;
+       MY(type) = "spark";
+       MY(velocityjitter) = '312.0 312.0 312.0';
+       MY(velocitymultiplier) = 3;
+ }
+ // inner cloud of smoke
+ SUB(electro_combo) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 256;
+       MY(color_min) = "0x202020";
+       MY(color_max) = "0x404040";
+       MY(count) = 0.125000;
+       MY(originjitter) = '20.0 20.0 20.0';
+       MY(size_min) = 24;
+       MY(size_max) = 24;
+       MY(tex_max) = 8;
+       MY(type) = "smoke";
+       MY(velocityjitter) = '32.0 32.0 32.0';
+ }
+ // shockwave
+ SUB(electro_combo) {
+       MY(alpha_min) = 40;
+       MY(alpha_max) = 40;
+       MY(alpha_fade) = 100;
+       MY(color_min) = "0xa9cacf";
+       MY(color_max) = "0x0054ff";
+       MY(countabsolute) = 1;
+       MY(sizeincrease) = 600;
+       MY(size_min) = 30;
+       MY(size_max) = 30;
+       MY(tex_min) = 33;
+       MY(tex_max) = 33;
+       MY(type) = "smoke";
+       MY(velocitymultiplier) = 0.300000;
+ }
+ DEF(crylink_muzzleflash);
+ SUB(crylink_muzzleflash) {
+       MY(alpha_min) = 128;
+       MY(alpha_max) = 128;
+       MY(alpha_fade) = 2024;
+       MY(color_min) = "0xdd9cff";
+       MY(color_max) = "0xff0090";
+       MY(count) = 0.500000;
+       MY(lightcolor) = '1.6 0.2 2.0';
+       MY(lightradiusfade) = 2000;
+       MY(lightradius) = 200;
+       MY(size_min) = 15;
+       MY(size_max) = 20;
+       MY(tex_min) = 65;
+       MY(tex_max) = 65;
+       MY(type) = "smoke";
+       MY(velocitymultiplier) = 0.010000;
+ }
+ SUB(crylink_muzzleflash) {
+       MY(airfriction) = 12;
+       MY(alpha_max) = 128;
+       MY(alpha_fade) = 1024;
+       MY(color_min) = "0xA080C0";
+       MY(color_max) = "0xA080C0";
+       MY(count) = 5;
+       MY(originjitter) = '1.0 1.0 1.0';
+       MY(size_min) = 5;
+       MY(size_max) = 10;
+       MY(stretchfactor) = 1.500000;
+       MY(tex_min) = 35;
+       MY(tex_max) = 36;
+       MY(type) = "spark";
+       MY(velocityjitter) = '200.0 200.0 200.0';
+       MY(velocitymultiplier) = 0.300000;
+ }
+ DEF(crylink_impact);
+ // decal
+ SUB(crylink_impact) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(countabsolute) = 1;
+       MY(originjitter) = '12.0 12.0 12.0';
+       MY(size_min) = 24;
+       MY(size_max) = 24;
+       MY(tex_min) = 47;
+       MY(tex_max) = 47;
+       MY(type) = "decal";
+ }
+ // purple flare effect
+ SUB(crylink_impact) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 512;
+       MY(color_min) = "0x504060";
+       MY(color_max) = "0x504060";
+       MY(countabsolute) = 1;
+       MY(size_min) = 24;
+       MY(size_max) = 24;
+       MY(tex_min) = 39;
+       MY(tex_max) = 39;
+       MY(type) = "static";
+ }
+ // purple sparks
+ SUB(crylink_impact) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 1024;
+       MY(bounce) = 2;
+       MY(color_min) = "0xA040C0";
+       MY(color_max) = "0xA040C0";
+       MY(count) = 40;
+       MY(size_min) = 6;
+       MY(size_max) = 6;
+       MY(tex_min) = 41;
+       MY(tex_max) = 41;
+       MY(type) = "spark";
+       MY(velocityjitter) = '512.0 512.0 512.0';
+ }
+ // purple splash
+ SUB(crylink_impact) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 512;
+       MY(color_min) = "0xE070FF";
+       MY(color_max) = "0xE070FF";
+       MY(count) = 1.500000;
+       MY(size_min) = 16;
+       MY(size_max) = 16;
+       MY(type) = "static";
+       MY(velocityjitter) = '32.0 32.0 32.0';
+ }
+ // purple splash
+ SUB(crylink_impact) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 1024;
+       MY(color_min) = "0xE070FF";
+       MY(color_max) = "0xE070FF";
+       MY(count) = 3;
+       MY(size_min) = 16;
+       MY(size_max) = 16;
+       MY(type) = "static";
+       MY(velocityjitter) = '256.0 256.0 256.0';
+ }
+ DEF(nex_muzzleflash);
+ SUB(nex_muzzleflash) {
+       MY(airfriction) = 9;
+       MY(alpha_min) = 328;
+       MY(alpha_max) = 328;
+       MY(alpha_fade) = 4000;
+       MY(color_min) = "0x202020";
+       MY(color_max) = "0x0072ff";
+       MY(count) = 12;
+       MY(lightcolor) = '2.0 2.5 3.0';
+       MY(lightradiusfade) = 200;
+       MY(lightradius) = 200;
+       MY(originjitter) = '4.0 4.0 4.0';
+       MY(sizeincrease) = -100;
+       MY(size_min) = 16;
+       MY(size_max) = 16;
+       MY(stretchfactor) = 2;
+       MY(tex_min) = 48;
+       MY(tex_max) = 55;
+       MY(type) = "spark";
+       MY(velocityjitter) = '180.0 180.0 180.0';
+       MY(velocitymultiplier) = 1.400000;
+ }
+ SUB(nex_muzzleflash) {
+       MY(airfriction) = 9;
+       MY(alpha_max) = 128;
+       MY(alpha_fade) = 1024;
+       MY(color_min) = "0xD9FDFF";
+       MY(color_max) = "0xD9FDFF";
+       MY(count) = 50;
+       MY(originjitter) = '1.0 1.0 1.0';
+       MY(size_min) = 1;
+       MY(size_max) = 1;
+       MY(tex_min) = 41;
+       MY(tex_max) = 41;
+       MY(type) = "spark";
+       MY(velocityjitter) = '600.0 600.0 600.0';
+       MY(velocitymultiplier) = 1.500000;
+ }
+ // vortex beam
+ DEF(nex_beam);
+ SUB(nex_beam) {
+       MY(airfriction) = 5;
+       MY(alpha_min) = 64;
+       MY(alpha_max) = 128;
+       MY(alpha_fade) = 64;
+       MY(color_min) = "0x1680A0";
+       MY(color_max) = "0x1680A0";
+       MY(sizeincrease) = 2;
+       MY(size_min) = 4;
+       MY(size_max) = 4;
+       MY(tex_min) = 32;
+       MY(tex_max) = 32;
+       MY(trailspacing) = 64;
+       MY(type) = "static";
+ }
+ // drifting smoke
+ SUB(nex_beam) {
+       MY(airfriction) = 9;
+       MY(alpha_min) = 32;
+       MY(alpha_max) = 64;
+       MY(alpha_fade) = 32;
+       MY(color_min) = "0x5080A0";
+       MY(color_max) = "0x5080A0";
+       MY(sizeincrease) = 8;
+       MY(size_min) = 1;
+       MY(size_max) = 1;
+       MY(tex_max) = 8;
+       MY(trailspacing) = 12;
+       MY(type) = "static";
+       MY(velocityjitter) = '64.0 64.0 64.0';
+ }
+ // bright core
+ SUB(nex_beam) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 1280;
+       MY(color_min) = "0x80CDFF";
+       MY(color_max) = "0x80CDFF";
+       MY(size_min) = 4;
+       MY(size_max) = 4;
+       MY(trailspacing) = 12;
+       MY(type) = "static";
+ }
+ // sparks
+ SUB(nex_beam) {
+       MY(airfriction) = 5;
+       MY(alpha_min) = 64;
+       MY(alpha_max) = 128;
+       MY(alpha_fade) = 80;
+       MY(color_min) = "0x1680A0";
+       MY(color_max) = "0x1680A0";
+       MY(gravity) = -0.010000;
+       MY(size_min) = 1;
+       MY(size_max) = 1;
+       MY(tex_min) = 63;
+       MY(tex_max) = 63;
+       MY(trailspacing) = 16;
+       MY(type) = "snow";
+ }
+ DEF(nex_impact);
+ // decal
+ SUB(nex_impact) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(countabsolute) = 1;
+       MY(lightcolor) = '4.0 6.0 8.0';
+       MY(lightradiusfade) = 250;
+       MY(lightradius) = 200;
+       MY(originjitter) = '14.0 14.0 14.0';
+       MY(startangle_min) = -180;
+       MY(startangle_max) = 180;
+       MY(size_min) = 24;
+       MY(size_max) = 24;
+       MY(tex_min) = 47;
+       MY(tex_max) = 47;
+       MY(type) = "decal";
+ }
+ // rotating something
+ SUB(nex_impact) {
+       MY(alpha_min) = 55;
+       MY(alpha_max) = 55;
+       MY(alpha_fade) = 50;
+       MY(color_min) = "0x1680A0";
+       MY(color_max) = "0x1680A0";
+       MY(count) = 5;
+       MY(startangle_min) = 180;
+       MY(startangle_max) = -180;
+       MY(spin_min) = 500;
+       MY(spin_max) = -500;
+       MY(sizeincrease) = 20;
+       MY(size_min) = 25;
+       MY(size_max) = 28;
+       MY(tex_min) = 46;
+       MY(tex_max) = 46;
+       MY(type) = "smoke";
+ }
+ // shockwave
+ SUB(nex_impact) {
+       MY(alpha_min) = 50;
+       MY(alpha_max) = 50;
+       MY(alpha_fade) = 400;
+       MY(color_min) = "0x1680A0";
+       MY(color_max) = "0x1680A0";
+       MY(countabsolute) = 1;
+       MY(sizeincrease) = 900;
+       MY(size_min) = 16;
+       MY(size_max) = 16;
+       MY(tex_min) = 33;
+       MY(tex_max) = 33;
+       MY(type) = "static";
+ }
+ // shockwave2
+ SUB(nex_impact) {
+       MY(alpha_min) = 50;
+       MY(alpha_max) = 50;
+       MY(alpha_fade) = 100;
+       MY(color_min) = "0x1680A0";
+       MY(color_max) = "0x1680A0";
+       MY(countabsolute) = 1;
+       MY(sizeincrease) = 500;
+       MY(size_min) = 5;
+       MY(size_max) = 5;
+       MY(tex_min) = 65;
+       MY(tex_max) = 65;
+       MY(type) = "static";
+ }
+ // flare effect
+ SUB(nex_impact) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 256;
+       MY(color_min) = "0x80C0FF";
+       MY(color_max) = "0x80C0FF";
+       MY(countabsolute) = 1;
+       MY(size_min) = 8;
+       MY(size_max) = 8;
+       MY(tex_min) = 37;
+       MY(tex_max) = 37;
+       MY(type) = "static";
+ }
+ // small sparks which glow brightly but live briefly
+ SUB(nex_impact) {
+       MY(airfriction) = 9;
+       MY(alpha_max) = 128;
+       MY(alpha_fade) = 512;
+       MY(bounce) = 2;
+       MY(color_min) = "0xD9FDFF";
+       MY(color_max) = "0xD9FDFF";
+       MY(count) = 64;
+       MY(size_min) = 4;
+       MY(size_max) = 4;
+       MY(stretchfactor) = 3;
+       MY(tex_min) = 41;
+       MY(tex_max) = 41;
+       MY(type) = "spark";
+       MY(velocityjitter) = '600.0 600.0 600.0';
+       MY(velocitymultiplier) = 0.500000;
+ }
+ // small sparks that live longer
+ SUB(nex_impact) {
+       MY(airfriction) = 2;
+       MY(alpha_min) = 255;
+       MY(alpha_max) = 255;
+       MY(alpha_fade) = 112;
+       MY(bounce) = 1.600000;
+       MY(color_min) = "0xD9FDFF";
+       MY(color_max) = "0xD9FDFF";
+       MY(count) = 16;
+       MY(gravity) = 1;
+       MY(size_min) = 2;
+       MY(size_max) = 2;
+       MY(stretchfactor) = 0.700000;
+       MY(tex_min) = 41;
+       MY(tex_max) = 41;
+       MY(type) = "spark";
+       MY(velocityjitter) = '300.0 300.0 600.0';
+       MY(velocitymultiplier) = 2.500000;
+ }
+ DEF(hagar_muzzleflash);
+ SUB(hagar_muzzleflash) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 512;
+       MY(color_min) = "0x202020";
+       MY(color_max) = "0x404040";
+       MY(count) = 2;
+       MY(lightcolor) = '2.0 1.5 0.2';
+       MY(lightradiusfade) = 2000;
+       MY(lightradius) = 200;
+       MY(originjitter) = '1.5 1.5 1.5';
+       MY(size_min) = 5;
+       MY(size_max) = 5;
+       MY(tex_max) = 8;
+       MY(type) = "smoke";
+       MY(velocityjitter) = '6.0 6.0 6.0';
+       MY(velocitymultiplier) = 0.010000;
+ }
+ SUB(hagar_muzzleflash) {
+       MY(airfriction) = 12;
+       MY(alpha_max) = 128;
+       MY(alpha_fade) = 1024;
+       MY(color_min) = "0xff8400";
+       MY(color_max) = "0xff4200";
+       MY(count) = 15;
+       MY(originjitter) = '1.0 1.0 1.0';
+       MY(startangle_min) = -180;
+       MY(startangle_max) = 180;
+       MY(spin_min) = -400;
+       MY(spin_max) = 400;
+       MY(size_min) = 5;
+       MY(size_max) = 10;
+       MY(stretchfactor) = 2;
+       MY(tex_min) = 48;
+       MY(tex_max) = 55;
+       MY(type) = "spark";
+       MY(velocityjitter) = '200.0 200.0 200.0';
+       MY(velocitymultiplier) = 0.500000;
+ }
+ DEF(hagar_bounce);
+ SUB(hagar_bounce) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 256;
+       MY(color_min) = "0x202020";
+       MY(color_max) = "0x404040";
+       MY(count) = 2;
+       MY(lightcolor) = '2.0 1.5 0.2';
+       MY(lightradiusfade) = 300;
+       MY(lightradius) = 60;
+       MY(originjitter) = '1.5 1.5 1.5';
+       MY(size_min) = 5;
+       MY(size_max) = 5;
+       MY(tex_max) = 8;
+       MY(type) = "smoke";
+       MY(velocityjitter) = '6.0 6.0 6.0';
+       MY(velocitymultiplier) = 0.010000;
+ }
+ SUB(hagar_bounce) {
+       MY(airfriction) = 12;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 256;
+       MY(bounce) = 1.500000;
+       MY(color_min) = "0xFFFDD9";
+       MY(color_max) = "0xFFFDD9";
+       MY(count) = 15;
+       MY(gravity) = 1;
+       MY(originjitter) = '1.0 1.0 1.0';
+       MY(size_min) = 3;
+       MY(size_max) = 3;
+       MY(tex_min) = 40;
+       MY(tex_max) = 40;
+       MY(type) = "spark";
+       MY(velocityjitter) = '600.0 600.0 600.0';
+       MY(velocitymultiplier) = 0.500000;
+ }
+ DEF(hagar_explode);
+ // decal
+ SUB(hagar_explode) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(countabsolute) = 1;
+       MY(lightcolor) = '8.0 4.0 1.0';
+       MY(lightradiusfade) = 400;
+       MY(lightradius) = 120;
+       MY(originjitter) = '14.0 14.0 14.0';
+       MY(size_min) = 28;
+       MY(size_max) = 38;
+       MY(tex_min) = 8;
+       MY(tex_max) = 16;
+       MY(type) = "decal";
+ }
+ // fire effect which make bright dot inside
+ SUB(hagar_explode) {
+       MY(airfriction) = 8;
+       MY(alpha_min) = 80;
+       MY(alpha_max) = 200;
+       MY(alpha_fade) = 356;
+       MY(bounce) = 1.500000;
+       MY(color_min) = "0xffe955";
+       MY(color_max) = "0xff5a00";
+       MY(count) = 3.500000;
+       MY(liquidfriction) = 8;
+       MY(notunderwater) = true;
+       MY(originjitter) = '8.0 8.0 8.0';
+       MY(sizeincrease) = 5;
+       MY(size_min) = 16;
+       MY(size_max) = 26;
+       MY(tex_min) = 48;
+       MY(tex_max) = 55;
+       MY(type) = "smoke";
+       MY(velocityjitter) = '156.0 156.0 156.0';
+ }
+ // fire effect which expands then slows
+ SUB(hagar_explode) {
+       MY(airfriction) = 12;
+       MY(alpha_min) = 128;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 456;
+       MY(bounce) = 1.500000;
+       MY(color_min) = "0x8f0d00";
+       MY(color_max) = "0xff5a00";
+       MY(count) = 12;
+       MY(liquidfriction) = 8;
+       MY(notunderwater) = true;
+       MY(originjitter) = '8.0 8.0 8.0';
+       MY(sizeincrease) = 15;
+       MY(size_min) = 20;
+       MY(size_max) = 26;
+       MY(tex_min) = 48;
+       MY(tex_max) = 55;
+       MY(type) = "static";
+       MY(velocityjitter) = '286.0 286.0 286.0';
+ }
+ // smoke
+ SUB(hagar_explode) {
+       MY(airfriction) = 5;
+       MY(alpha_min) = 200;
+       MY(alpha_max) = 500;
+       MY(alpha_fade) = 600;
+       MY(bounce) = 2;
+       MY(color_min) = "0x000000";
+       MY(color_max) = "0x111111";
+       MY(count) = 7;
+       MY(notunderwater) = true;
+       MY(sizeincrease) = 20;
+       MY(size_min) = 20;
+       MY(size_max) = 40;
+       MY(tex_max) = 8;
+       MY(type) = "alphastatic";
+       MY(velocityjitter) = '244.0 244.0 244.0';
+ }
+ // underwater bubbles
+ SUB(hagar_explode) {
+       MY(alpha_min) = 128;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 64;
+       MY(bounce) = 1.500000;
+       MY(color_min) = "0x404040";
+       MY(color_max) = "0x808080";
+       MY(count) = 16;
+       MY(gravity) = -0.125000;
+       MY(liquidfriction) = 0.250000;
+       MY(originjitter) = '16.0 16.0 16.0';
+       MY(size_min) = 3;
+       MY(size_max) = 3;
+       MY(tex_min) = 62;
+       MY(tex_max) = 62;
+       MY(type) = "bubble";
+       MY(underwater) = true;
+       MY(velocityjitter) = '96.0 96.0 96.0';
+ }
+ // bouncing sparks
+ SUB(hagar_explode) {
+       MY(airfriction) = 1;
+       MY(alpha_min) = 644;
+       MY(alpha_max) = 956;
+       MY(alpha_fade) = 684;
+       MY(bounce) = 1.600000;
+       MY(color_min) = "0xffa35b";
+       MY(color_max) = "0xfff2be";
+       MY(count) = 4;
+       MY(gravity) = 1;
+       MY(liquidfriction) = 0.800000;
+       MY(notunderwater) = true;
+       MY(originjitter) = '16.0 16.0 16.0';
+       MY(size_min) = 1;
+       MY(size_max) = 0.100000;
+       MY(tex_min) = 40;
+       MY(tex_max) = 40;
+       MY(type) = "spark";
+       MY(velocityjitter) = '224.0 224.0 224.0';
+       MY(velocityoffset) = '0.0 0.0 80.0';
+ }
+ DEF(rocketlauncher_muzzleflash);
+ SUB(rocketlauncher_muzzleflash) {
+       MY(airfriction) = 2;
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 256;
+       MY(color_min) = "0x202020";
+       MY(color_max) = "0x404040";
+       MY(count) = 10;
+       MY(originjitter) = '1.5 1.5 1.5';
+       MY(sizeincrease) = 20;
+       MY(size_min) = 1;
+       MY(size_max) = 1;
+       MY(tex_max) = 8;
+       MY(type) = "smoke";
+       MY(velocityjitter) = '40.0 40.0 40.0';
+       MY(velocitymultiplier) = -0.130000;
+ }
+ SUB(rocketlauncher_muzzleflash) {
+       MY(airfriction) = 9;
+       MY(alpha_min) = 10;
+       MY(alpha_max) = 25;
+       MY(alpha_fade) = 20;
+       MY(color_min) = "0xFFFDD9";
+       MY(color_max) = "0xFFFDD9";
+       MY(count) = 6;
+       MY(originjitter) = '3.0 3.0 3.0';
+       MY(startangle_min) = -180;
+       MY(startangle_max) = 180;
+       MY(spin_min) = -30;
+       MY(spin_max) = 30;
+       MY(sizeincrease) = 20;
+       MY(size_min) = 5;
+       MY(size_max) = 10;
+       MY(tex_min) = 35;
+       MY(tex_max) = 36;
+       MY(type) = "smoke";
+       MY(velocityjitter) = '100.0 100.0 100.0';
+       MY(velocitymultiplier) = 0.300000;
+ }
+ // rocket trail
+ DEF(TR_ROCKET);
+ // smoke
+ SUB(TR_ROCKET) {
+       MY(alpha_min) = 200;
+       MY(alpha_max) = 300;
+       MY(alpha_fade) = 200;
+       MY(bounce) = 1;
+       MY(color_min) = "0x000000";
+       MY(color_max) = "0x666666";
+       MY(lightcolor) = '6.0 3.0 1.0';
+       MY(lightradius) = 150;
+       MY(notunderwater) = true;
+       MY(originjitter) = '2.0 2.0 2.0';
+       MY(startangle_min) = -180;
+       MY(startangle_max) = 180;
+       MY(spin_min) = -30;
+       MY(spin_max) = 30;
+       MY(sizeincrease) = 11;
+       MY(size_min) = 3;
+       MY(size_max) = 4;
+       MY(tex_max) = 8;
+       MY(trailspacing) = 10;
+       MY(type) = "smoke";
+       MY(velocityjitter) = '3.0 3.0 3.0';
+       MY(velocitymultiplier) = -0.020000;
+ }
+ // fire
+ SUB(TR_ROCKET) {
+       MY(airfriction) = 8;
+       MY(alpha_min) = 100;
+       MY(alpha_max) = 144;
+       MY(alpha_fade) = 588;
+       MY(color_min) = "0xffdf72";
+       MY(color_max) = "0x811200";
+       MY(sizeincrease) = -30;
+       MY(size_min) = 7;
+       MY(size_max) = 7;
+       MY(tex_min) = 48;
+       MY(tex_max) = 55;
+       MY(trailspacing) = 4;
+       MY(type) = "static";
+       MY(velocityjitter) = '32.0 32.0 32.0';
+       MY(velocitymultiplier) = -1.500000;
+ }
+ // bubbles
+ SUB(TR_ROCKET) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 256;
+       MY(bounce) = 1.500000;
+       MY(gravity) = -0.125000;
+       MY(liquidfriction) = 4;
+       MY(size_min) = 1;
+       MY(size_max) = 2;
+       MY(tex_min) = 62;
+       MY(tex_max) = 62;
+       MY(trailspacing) = 16;
+       MY(type) = "bubble";
+       MY(underwater) = true;
+       MY(velocityjitter) = '16.0 16.0 16.0';
+       MY(velocitymultiplier) = -0.310000;
+ }
+ // sparks
+ SUB(TR_ROCKET) {
+       MY(airfriction) = 5;
+       MY(alpha_min) = 444;
+       MY(alpha_max) = 512;
+       MY(alpha_fade) = 1866;
+       MY(bounce) = 1;
+       MY(color_min) = "0xFFFDD9";
+       MY(color_max) = "0xFFFDD9";
+       MY(notunderwater) = true;
+       MY(originjitter) = '1.0 1.0 1.0';
+       MY(size_min) = 0.500000;
+       MY(size_max) = 0.500000;
+       MY(stretchfactor) = 0.300000;
+       MY(tex_min) = 40;
+       MY(tex_max) = 40;
+       MY(trailspacing) = 20;
+       MY(type) = "spark";
+       MY(velocityjitter) = '100.0 100.0 100.0';
+       MY(velocitymultiplier) = -0.310000;
+ }
+ // rocket explosion (bigger than mortar and hagar)
+ DEF(rocket_explode);
+ SUB(rocket_explode) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(countabsolute) = 1;
+       MY(lightcolor) = '8.0 4.0 1.0';
+       MY(lightradiusfade) = 750;
+       MY(lightradius) = 400;
+       MY(originjitter) = '23.0 23.0 23.0';
+       MY(size_min) = 72;
+       MY(size_max) = 72;
+       MY(tex_min) = 8;
+       MY(tex_max) = 16;
+       MY(type) = "decal";
+ }
+ // fire effect
+ SUB(rocket_explode) {
+       MY(airfriction) = 8;
+       MY(alpha_min) = 200;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 512;
+       MY(bounce) = 1.500000;
+       MY(color_min) = "0x8f0d00";
+       MY(color_max) = "0xff5a00";
+       MY(count) = 32;
+       MY(liquidfriction) = 8;
+       MY(notunderwater) = true;
+       MY(originjitter) = '8.0 8.0 8.0';
+       MY(sizeincrease) = 45;
+       MY(size_min) = 33;
+       MY(size_max) = 44;
+       MY(tex_min) = 48;
+       MY(tex_max) = 55;
+       MY(type) = "static";
+       MY(velocityjitter) = '512.0 512.0 512.0';
+ }
+ // fire effect 2
+ SUB(rocket_explode) {
+       MY(airfriction) = 19;
+       MY(alpha_min) = 200;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 612;
+       MY(bounce) = 2.500000;
+       MY(color_min) = "0xea691b";
+       MY(color_max) = "0xeed05a";
+       MY(count) = 14;
+       MY(liquidfriction) = 19;
+       MY(notunderwater) = true;
+       MY(originjitter) = '8.0 8.0 8.0';
+       MY(sizeincrease) = 55;
+       MY(size_min) = 33;
+       MY(size_max) = 44;
+       MY(tex_min) = 48;
+       MY(tex_max) = 55;
+       MY(type) = "smoke";
+       MY(velocityjitter) = '912.0 912.0 912.0';
+ }
+ // smoke
+ SUB(rocket_explode) {
+       MY(airfriction) = 5;
+       MY(alpha_min) = 200;
+       MY(alpha_max) = 450;
+       MY(alpha_fade) = 456;
+       MY(bounce) = 2;
+       MY(color_min) = "0x000000";
+       MY(color_max) = "0x111111";
+       MY(count) = 32;
+       MY(notunderwater) = true;
+       MY(sizeincrease) = 44;
+       MY(size_min) = 20;
+       MY(size_max) = 40;
+       MY(tex_max) = 8;
+       MY(type) = "alphastatic";
+       MY(velocityjitter) = '444.0 444.0 444.0';
+ }
+ // underwater bubbles
+ SUB(rocket_explode) {
+       MY(alpha_min) = 128;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 64;
+       MY(bounce) = 1.500000;
+       MY(color_min) = "0x404040";
+       MY(color_max) = "0x808080";
+       MY(count) = 32;
+       MY(gravity) = -0.125000;
+       MY(liquidfriction) = 0.250000;
+       MY(originjitter) = '16.0 16.0 16.0';
+       MY(size_min) = 3;
+       MY(size_max) = 3;
+       MY(tex_min) = 62;
+       MY(tex_max) = 62;
+       MY(type) = "bubble";
+       MY(underwater) = true;
+       MY(velocityjitter) = '144.0 144.0 144.0';
+ }
+ // underwatershockwave
+ SUB(rocket_explode) {
+       MY(alpha_min) = 40;
+       MY(alpha_max) = 40;
+       MY(alpha_fade) = 300;
+       MY(countabsolute) = 1;
+       MY(sizeincrease) = 1900;
+       MY(size_min) = 30;
+       MY(size_max) = 30;
+       MY(tex_min) = 33;
+       MY(tex_max) = 33;
+       MY(type) = "smoke";
+       MY(underwater) = true;
+       MY(velocitymultiplier) = 0.300000;
+ }
+ // bouncing sparks
+ SUB(rocket_explode) {
+       MY(airfriction) = 1;
+       MY(alpha_min) = 644;
+       MY(alpha_max) = 956;
+       MY(alpha_fade) = 484;
+       MY(bounce) = 1.600000;
+       MY(color_min) = "0xffa35b";
+       MY(color_max) = "0xfff2be";
+       MY(count) = 16;
+       MY(gravity) = 1;
+       MY(liquidfriction) = 0.800000;
+       MY(notunderwater) = true;
+       MY(originjitter) = '16.0 16.0 16.0';
+       MY(size_min) = 1;
+       MY(size_max) = 0.100000;
+       MY(tex_min) = 40;
+       MY(tex_max) = 40;
+       MY(type) = "spark";
+       MY(velocityjitter) = '424.0 424.0 624.0';
+       MY(velocityoffset) = '0.0 0.0 80.0';
+ }
+ // debris
+ SUB(rocket_explode) {
+       MY(airfriction) = 0.500000;
+       MY(alpha_min) = 644;
+       MY(alpha_max) = 956;
+       MY(alpha_fade) = 684;
+       MY(bounce) = 1.600000;
+       MY(color_min) = "0x6a3d25";
+       MY(color_max) = "0xcac5b4";
+       MY(count) = 12;
+       MY(gravity) = 1.300000;
+       MY(notunderwater) = true;
+       MY(startangle_min) = -180;
+       MY(startangle_max) = 180;
+       MY(spin_min) = -1000;
+       MY(spin_max) = 1000;
+       MY(size_min) = 2;
+       MY(size_max) = 6;
+       MY(tex_min) = 66;
+       MY(tex_max) = 68;
+       MY(type) = "alphastatic";
+       MY(velocityjitter) = '324.0 324.0 524.0';
+ }
+ DEF(grapple_muzzleflash);
+ SUB(grapple_muzzleflash) {
+       MY(lightcolor) = '1.0 0.0 0.0';
+       MY(lightradiusfade) = 800;
+       MY(lightradius) = 160;
+ }
+ DEF(grapple_impact);
+ SUB(grapple_impact) {
+       MY(lightcolor) = '1.0 0.0 0.0';
+       MY(lightradiusfade) = 800;
+       MY(lightradius) = 160;
+ }
+ DEF(nex242_misc_laser_beam);
+ SUB(nex242_misc_laser_beam) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 64;
+       MY(color_min) = "0xff0000";
+       MY(color_max) = "0xff0000";
+       MY(countabsolute) = 1;
+       MY(sizeincrease) = 1;
+       MY(size_min) = 1;
+       MY(size_max) = 1;
+       MY(tex_min) = 200;
+       MY(tex_max) = 200;
+       MY(type) = "beam";
+ }
+ DEF(nex242_misc_laser_beam_end);
+ SUB(nex242_misc_laser_beam_end) {
+       MY(alpha_min) = 128;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 768;
+       MY(bounce) = -1;
+       MY(color_min) = "0x8f4333";
+       MY(color_max) = "0xfff31b";
+       MY(count) = 0.500000;
+       MY(gravity) = 1;
+       MY(size_min) = 0.400000;
+       MY(size_max) = 0.400000;
+       MY(type) = "spark";
+       MY(velocityjitter) = '64.0 64.0 64.0';
+       MY(velocitymultiplier) = 100;
+ }
+ DEF(nex242_misc_laser_beam_fast);
+ SUB(nex242_misc_laser_beam_fast) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 640;
+       MY(color_min) = "0xff0000";
+       MY(color_max) = "0xff0000";
+       MY(countabsolute) = 1;
+       MY(sizeincrease) = 0.100000;
+       MY(size_min) = 1;
+       MY(size_max) = 1;
+       MY(tex_min) = 200;
+       MY(tex_max) = 200;
+       MY(type) = "beam";
+ }
+ DEF(nex242_misc_laser_beam_fast_end);
+ SUB(nex242_misc_laser_beam_fast_end) {
+       MY(alpha_min) = 128;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 768;
+       MY(bounce) = -1;
+       MY(color_min) = "0x8f4333";
+       MY(color_max) = "0xfff31b";
+       MY(count) = 0.500000;
+       MY(gravity) = 1;
+       MY(size_min) = 0.400000;
+       MY(size_max) = 0.400000;
+       MY(type) = "spark";
+       MY(velocityjitter) = '64.0 64.0 64.0';
+       MY(velocitymultiplier) = 100;
+ }
+ DEF(nex242_misc_laser_green_beam);
+ SUB(nex242_misc_laser_green_beam) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 64;
+       MY(color_min) = "0x00ff00";
+       MY(color_max) = "0x00ff00";
+       MY(countabsolute) = 1;
+       MY(sizeincrease) = 1;
+       MY(size_min) = 1;
+       MY(size_max) = 1;
+       MY(tex_min) = 200;
+       MY(tex_max) = 200;
+       MY(type) = "beam";
+ }
+ DEF(nex242_misc_laser_green_beam_end);
+ SUB(nex242_misc_laser_green_beam_end) {
+       MY(alpha_min) = 128;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 768;
+       MY(bounce) = -1;
+       MY(color_min) = "0x8f4333";
+       MY(color_max) = "0xfff31b";
+       MY(count) = 0.500000;
+       MY(gravity) = 1;
+       MY(size_min) = 0.400000;
+       MY(size_max) = 0.400000;
+       MY(type) = "spark";
+       MY(velocityjitter) = '64.0 64.0 64.0';
+       MY(velocitymultiplier) = 100;
+ }
+ DEF(nex242_misc_laser_blue_beam);
+ SUB(nex242_misc_laser_blue_beam) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 64;
+       MY(color_min) = "0x0000ff";
+       MY(color_max) = "0x0000ff";
+       MY(countabsolute) = 1;
+       MY(sizeincrease) = 1;
+       MY(size_min) = 1;
+       MY(size_max) = 1;
+       MY(tex_min) = 200;
+       MY(tex_max) = 200;
+       MY(type) = "beam";
+ }
+ DEF(nex242_misc_laser_blue_beam_end);
+ SUB(nex242_misc_laser_blue_beam_end) {
+       MY(alpha_min) = 128;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 768;
+       MY(bounce) = -1;
+       MY(color_min) = "0x8f4333";
+       MY(color_max) = "0xfff31b";
+       MY(count) = 0.500000;
+       MY(gravity) = 1;
+       MY(size_min) = 0.400000;
+       MY(size_max) = 0.400000;
+       MY(type) = "spark";
+       MY(velocityjitter) = '64.0 64.0 64.0';
+       MY(velocitymultiplier) = 100;
+ }
+ DEF(nex242_misc_laser_yellow_beam);
+ SUB(nex242_misc_laser_yellow_beam) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 64;
+       MY(color_min) = "0xffff00";
+       MY(color_max) = "0xffff00";
+       MY(countabsolute) = 1;
+       MY(sizeincrease) = 1;
+       MY(size_min) = 1;
+       MY(size_max) = 1;
+       MY(tex_min) = 200;
+       MY(tex_max) = 200;
+       MY(type) = "beam";
+ }
+ DEF(nex242_misc_laser_yellow_beam_end);
+ SUB(nex242_misc_laser_yellow_beam_end) {
+       MY(alpha_min) = 128;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 768;
+       MY(bounce) = -1;
+       MY(color_min) = "0x8f4333";
+       MY(color_max) = "0xfff31b";
+       MY(count) = 0.500000;
+       MY(gravity) = 1;
+       MY(size_min) = 0.400000;
+       MY(size_max) = 0.400000;
+       MY(type) = "spark";
+       MY(velocityjitter) = '64.0 64.0 64.0';
+       MY(velocitymultiplier) = 100;
+ }
+ DEF(nex242_misc_laser_cyan_beam);
+ SUB(nex242_misc_laser_cyan_beam) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 64;
+       MY(color_min) = "0x00ffff";
+       MY(color_max) = "0x00ffff";
+       MY(countabsolute) = 1;
+       MY(sizeincrease) = 1;
+       MY(size_min) = 1;
+       MY(size_max) = 1;
+       MY(tex_min) = 200;
+       MY(tex_max) = 200;
+       MY(type) = "beam";
+ }
+ DEF(nex242_misc_laser_cyan_beam_end);
+ SUB(nex242_misc_laser_cyan_beam_end) {
+       MY(alpha_min) = 128;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 768;
+       MY(bounce) = -1;
+       MY(color_min) = "0x8f4333";
+       MY(color_max) = "0xfff31b";
+       MY(count) = 0.500000;
+       MY(gravity) = 1;
+       MY(size_min) = 0.400000;
+       MY(size_max) = 0.400000;
+       MY(type) = "spark";
+       MY(velocityjitter) = '64.0 64.0 64.0';
+       MY(velocitymultiplier) = 100;
+ }
+ DEF(nex242_misc_laser_magenta_beam);
+ SUB(nex242_misc_laser_magenta_beam) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 64;
+       MY(color_min) = "0xff00ff";
+       MY(color_max) = "0xff00ff";
+       MY(countabsolute) = 1;
+       MY(sizeincrease) = 1;
+       MY(size_min) = 1;
+       MY(size_max) = 1;
+       MY(tex_min) = 200;
+       MY(tex_max) = 200;
+       MY(type) = "beam";
+ }
+ DEF(nex242_misc_laser_magenta_beam_end);
+ SUB(nex242_misc_laser_magenta_beam_end) {
+       MY(alpha_min) = 128;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 768;
+       MY(bounce) = -1;
+       MY(color_min) = "0x8f4333";
+       MY(color_max) = "0xfff31b";
+       MY(count) = 0.500000;
+       MY(gravity) = 1;
+       MY(size_min) = 0.400000;
+       MY(size_max) = 0.400000;
+       MY(type) = "spark";
+       MY(velocityjitter) = '64.0 64.0 64.0';
+       MY(velocitymultiplier) = 100;
+ }
+ DEF(nex242_misc_laser_white_beam);
+ SUB(nex242_misc_laser_white_beam) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 64;
+       MY(color_min) = "0xffffff";
+       MY(color_max) = "0xffffff";
+       MY(countabsolute) = 1;
+       MY(sizeincrease) = 1;
+       MY(size_min) = 1;
+       MY(size_max) = 1;
+       MY(tex_min) = 200;
+       MY(tex_max) = 200;
+       MY(type) = "beam";
+ }
+ DEF(nex242_misc_laser_white_beam_end);
+ SUB(nex242_misc_laser_white_beam_end) {
+       MY(alpha_min) = 128;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 768;
+       MY(bounce) = -1;
+       MY(color_min) = "0x8f4333";
+       MY(color_max) = "0xfff31b";
+       MY(count) = 0.500000;
+       MY(gravity) = 1;
+       MY(size_min) = 0.400000;
+       MY(size_max) = 0.400000;
+       MY(type) = "spark";
+       MY(velocityjitter) = '64.0 64.0 64.0';
+       MY(velocitymultiplier) = 100;
+ }
+ DEF(nex242_misc_laser_black_beam);
+ SUB(nex242_misc_laser_black_beam) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 64;
+       MY(color_min) = "0x000000";
+       MY(color_max) = "0x000000";
+       MY(countabsolute) = 1;
+       MY(sizeincrease) = 1;
+       MY(size_min) = 1;
+       MY(size_max) = 1;
+       MY(tex_min) = 200;
+       MY(tex_max) = 200;
+       MY(type) = "beam";
+ }
+ DEF(nex242_misc_laser_black_beam_end);
+ SUB(nex242_misc_laser_black_beam_end) {
+       MY(alpha_min) = 128;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 768;
+       MY(bounce) = -1;
+       MY(color_min) = "0x8f4333";
+       MY(color_max) = "0xfff31b";
+       MY(count) = 0.500000;
+       MY(gravity) = 1;
+       MY(size_min) = 0.400000;
+       MY(size_max) = 0.400000;
+       MY(type) = "spark";
+       MY(velocityjitter) = '64.0 64.0 64.0';
+       MY(velocitymultiplier) = 100;
+ }
+ DEF(nex242_misc_laser_orange_beam);
+ SUB(nex242_misc_laser_orange_beam) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 64;
+       MY(color_min) = "0xff6600";
+       MY(color_max) = "0xff6600";
+       MY(countabsolute) = 1;
+       MY(sizeincrease) = 1;
+       MY(size_min) = 1;
+       MY(size_max) = 1;
+       MY(tex_min) = 200;
+       MY(tex_max) = 200;
+       MY(type) = "beam";
+ }
+ DEF(nex242_misc_laser_orange_beam_end);
+ SUB(nex242_misc_laser_orange_beam_end) {
+       MY(alpha_min) = 128;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 768;
+       MY(bounce) = -1;
+       MY(color_min) = "0x8f4333";
+       MY(color_max) = "0xfff31b";
+       MY(count) = 0.500000;
+       MY(gravity) = 1;
+       MY(size_min) = 0.400000;
+       MY(size_max) = 0.400000;
+       MY(type) = "spark";
+       MY(velocityjitter) = '64.0 64.0 64.0';
+       MY(velocitymultiplier) = 100;
+ }
+ // bigger crylink impact effect
+ DEF(crylink_impactbig);
+ // decal
+ SUB(crylink_impactbig) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(countabsolute) = 1;
+       MY(originjitter) = '12.0 12.0 12.0';
+       MY(size_min) = 24;
+       MY(size_max) = 24;
+       MY(tex_min) = 47;
+       MY(tex_max) = 47;
+       MY(type) = "decal";
+ }
+ // purple flare effect
+ SUB(crylink_impactbig) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 512;
+       MY(color_min) = "0x504060";
+       MY(color_max) = "0x504060";
+       MY(countabsolute) = 1;
+       MY(size_min) = 24;
+       MY(size_max) = 24;
+       MY(tex_min) = 39;
+       MY(tex_max) = 39;
+       MY(type) = "static";
+ }
+ // purple sparks
+ SUB(crylink_impactbig) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 1024;
+       MY(bounce) = 2;
+       MY(color_min) = "0xA040C0";
+       MY(color_max) = "0xA040C0";
+       MY(count) = 40;
+       MY(size_min) = 6;
+       MY(size_max) = 6;
+       MY(tex_min) = 41;
+       MY(tex_max) = 41;
+       MY(type) = "spark";
+       MY(velocityjitter) = '512.0 512.0 512.0';
+ }
+ // purple splash
+ SUB(crylink_impactbig) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 512;
+       MY(color_min) = "0xE070FF";
+       MY(color_max) = "0xE070FF";
+       MY(count) = 1.500000;
+       MY(size_min) = 16;
+       MY(size_max) = 16;
+       MY(type) = "static";
+       MY(velocityjitter) = '32.0 32.0 32.0';
+ }
+ // purple splash
+ SUB(crylink_impactbig) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 1024;
+       MY(color_min) = "0xE070FF";
+       MY(color_max) = "0xE070FF";
+       MY(count) = 3;
+       MY(size_min) = 16;
+       MY(size_max) = 16;
+       MY(type) = "static";
+       MY(velocityjitter) = '256.0 256.0 256.0';
+ }
+ #include "effectinfo_gentle.inc"
+ DEF(laser_deadly);
+ // decal
+ SUB(laser_deadly) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(countabsolute) = 1;
+       MY(originjitter) = '6.0 6.0 6.0';
+       MY(size_min) = 5;
+       MY(size_max) = 5;
+       MY(tex_min) = 56;
+       MY(tex_max) = 59;
+       MY(type) = "decal";
+ }
+ // dust/smoke drifting away from the impact
+ SUB(laser_deadly) {
+       MY(airfriction) = 7;
+       MY(alpha_max) = 64;
+       MY(alpha_fade) = 64;
+       MY(color_min) = "0xFFFFFF";
+       MY(color_max) = "0xFFFFFF";
+       MY(count) = 0.025000;
+       MY(liquidfriction) = 16;
+       MY(originjitter) = '1.0 1.0 1.0';
+       MY(sizeincrease) = 2;
+       MY(size_min) = 3;
+       MY(size_max) = 3;
+       MY(tex_min) = 48;
+       MY(tex_max) = 55;
+       MY(type) = "smoke";
+       MY(velocityjitter) = '15.0 15.0 15.0';
+       MY(velocitymultiplier) = 20;
+ }
+ // sparks
+ SUB(laser_deadly) {
+       MY(airfriction) = 5;
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 768;
+       MY(bounce) = 1;
+       MY(color_min) = "0xFDFFD9";
+       MY(color_max) = "0xFDFFD9";
+       MY(count) = 0.025000;
+       MY(gravity) = 1;
+       MY(notunderwater) = true;
+       MY(originjitter) = '1.0 1.0 1.0';
+       MY(size_min) = 0.600000;
+       MY(size_max) = 0.600000;
+       MY(tex_min) = 40;
+       MY(tex_max) = 40;
+       MY(type) = "spark";
+       MY(velocityjitter) = '100.0 100.0 100.0';
+       MY(velocitymultiplier) = 100;
+ }
+ DEF(torch_small);
+ // fire
+ SUB(torch_small) {
+       MY(alpha_min) = 200;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 512;
+       MY(color_min) = "0x8f0d00";
+       MY(color_max) = "0xff5a00";
+       MY(count) = 8;
+       MY(gravity) = -0.500000;
+       MY(originjitter) = '5.0 5.0 5.0';
+       MY(sizeincrease) = -1;
+       MY(size_min) = 1;
+       MY(size_max) = 11;
+       MY(tex_min) = 48;
+       MY(tex_max) = 55;
+       MY(type) = "smoke";
+       MY(velocityjitter) = '1.0 1.0 50.0';
+ }
+ // smoke
+ SUB(torch_small) {
+       MY(alpha_min) = 200;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 200;
+       MY(color_min) = "0x000000";
+       MY(color_max) = "0x111111";
+       MY(count) = 4;
+       MY(gravity) = -0.300000;
+       MY(originjitter) = '3.0 3.0 3.0';
+       MY(sizeincrease) = 5;
+       MY(size_min) = 5;
+       MY(size_max) = 10;
+       MY(tex_max) = 8;
+       MY(type) = "alphastatic";
+       MY(velocityjitter) = '11.0 11.0 50.0';
+ }
+ DEF(fountain01);
+ SUB(fountain01) {
+       MY(alpha_max) = 100;
+       MY(alpha_fade) = 100;
+       MY(bounce) = 1;
+       MY(color_min) = "0x7cbaff";
+       MY(color_max) = "0xcfd1ff";
+       MY(count) = 16;
+       MY(gravity) = 0.600000;
+       MY(originjitter) = '5.0 5.0 5.0';
+       MY(sizeincrease) = 20;
+       MY(size_min) = 10;
+       MY(size_max) = 15;
+       MY(tex_max) = 8;
+       MY(type) = "snow";
+       MY(velocityjitter) = '81.0 81.0 150.0';
+       MY(velocitymultiplier) = 2;
+ }
+ DEF(hookbomb_explode);
+ // decal
+ SUB(hookbomb_explode) {
+       MY(airfriction) = 10;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 200;
+       MY(bounce) = 1.500000;
+       MY(color_min) = "0x807aff";
+       MY(color_max) = "0x4463d5";
+       MY(count) = 25;
+       MY(originjitter) = '10.0 10.0 10.0';
+       MY(sizeincrease) = -160;
+       MY(size_min) = 150;
+       MY(size_max) = 200;
+       MY(tex_min) = 38;
+       MY(tex_max) = 38;
+       MY(type) = "static";
+       MY(velocityjitter) = '550.0 550.0 550.0';
+ }
+ // decal in the air
+ SUB(hookbomb_explode) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 265;
+       MY(alpha_fade) = 100;
+       MY(color_min) = "0x807aff";
+       MY(color_max) = "0x4463d5";
+       MY(countabsolute) = 3;
+       MY(originoffset) = '0.0 0.0 6.0';
+       MY(sizeincrease) = -60;
+       MY(size_min) = 160;
+       MY(size_max) = 200;
+       MY(tex_min) = 38;
+       MY(tex_max) = 38;
+       MY(type) = "static";
+ }
+ // decal on the ground
+ SUB(hookbomb_explode) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(countabsolute) = 1;
+       MY(originjitter) = '6.0 6.0 6.0';
+       MY(size_min) = 80;
+       MY(size_max) = 100;
+       MY(tex_min) = 39;
+       MY(tex_max) = 39;
+       MY(type) = "decal";
+ }
+ // some sparks
+ SUB(hookbomb_explode) {
+       MY(airfriction) = 2;
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 456;
+       MY(bounce) = 1.500000;
+       MY(color_min) = "0x807aff";
+       MY(color_max) = "0x4463d5";
+       MY(count) = 30;
+       MY(gravity) = 1;
+       MY(originjitter) = '1.0 1.0 1.0';
+       MY(sizeincrease) = -60;
+       MY(size_min) = 20;
+       MY(size_max) = 30;
+       MY(tex_min) = 38;
+       MY(tex_max) = 38;
+       MY(type) = "spark";
+       MY(velocityjitter) = '1900.0 1900.0 1300.0';
+       MY(velocitymultiplier) = 0.500000;
+ }
+ DEF(EF_MGTURRETTRAIL);
+ // smoke
+ SUB(EF_MGTURRETTRAIL) {
+       MY(alpha_min) = 128;
+       MY(alpha_max) = 196;
+       MY(alpha_fade) = 768;
+       MY(color_min) = "0xd0d0a0";
+       MY(color_max) = "0xffffff";
+       MY(gravity) = -0.010000;
+       MY(notunderwater) = true;
+       MY(sizeincrease) = -8;
+       MY(size_min) = 5;
+       MY(size_max) = 4;
+       MY(tex_max) = 8;
+       MY(trailspacing) = 10;
+       MY(type) = "smoke";
+ }
+ // bubbles
+ SUB(EF_MGTURRETTRAIL) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 256;
+       MY(bounce) = 1.500000;
+       MY(color_min) = "0x404040";
+       MY(color_max) = "0x808080";
+       MY(gravity) = -0.125000;
+       MY(liquidfriction) = 4;
+       MY(size_min) = 1;
+       MY(size_max) = 1;
+       MY(tex_min) = 62;
+       MY(tex_max) = 62;
+       MY(trailspacing) = 32;
+       MY(type) = "bubble";
+       MY(underwater) = true;
+       MY(velocityjitter) = '16.0 16.0 16.0';
+ }
+ DEF(fire_big);
+ // fire
+ SUB(fire_big) {
+       MY(alpha_min) = 200;
+       MY(alpha_max) = 356;
+       MY(alpha_fade) = 512;
+       MY(bounce) = 2;
+       MY(color_min) = "0x8f0d00";
+       MY(color_max) = "0xff5a00";
+       MY(count) = 26;
+       MY(gravity) = -0.500000;
+       MY(originjitter) = '33.0 33.0 33.0';
+       MY(sizeincrease) = -3;
+       MY(size_min) = 11;
+       MY(size_max) = 31;
+       MY(tex_min) = 48;
+       MY(tex_max) = 55;
+       MY(type) = "smoke";
+       MY(velocityjitter) = '22.0 22.0 50.0';
+ }
+ // smoke
+ SUB(fire_big) {
+       MY(alpha_min) = 200;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 200;
+       MY(bounce) = 2;
+       MY(color_min) = "0x000000";
+       MY(color_max) = "0x111111";
+       MY(count) = 11;
+       MY(gravity) = -0.300000;
+       MY(originjitter) = '44.0 44.0 44.0';
+       MY(sizeincrease) = 11;
+       MY(size_min) = 22;
+       MY(size_max) = 33;
+       MY(tex_max) = 8;
+       MY(type) = "alphastatic";
+       MY(velocityjitter) = '11.0 11.0 50.0';
+ }
+ #define flare(name, colormin, colormax) \
+       DEF(name##_flare); \
+       SUB(name##_flare) /* smoke */ { \
+               MY(alpha_min) = 200; \
+               MY(alpha_max) = 256; \
+               MY(alpha_fade) = 160; \
+               MY(bounce) = 1; \
+               MY(color_min) = colormin; \
+               MY(color_max) = colormax; \
+               MY(count) = 10.500000; \
+               MY(gravity) = -0.240000; \
+               MY(originjitter) = '2.0 2.0 0.0'; \
+               MY(sizeincrease) = 11; \
+               MY(size_min) = 1; \
+               MY(size_max) = 11; \
+               MY(tex_max) = 8; \
+               MY(type) = "alphastatic"; \
+               MY(velocityjitter) = '15.0 15.0 30.0'; \
+       }
+ flare(red,    "0xff0000", "0xdc7171")
+ flare(blue, "0x0000ff", "0x7194dc")
+ #undef flare
+ DEF(smoke_ring);
+ // smoke
+ SUB(smoke_ring) {
+       MY(airfriction) = 3;
+       MY(alpha_min) = 100;
+       MY(alpha_max) = 156;
+       MY(alpha_fade) = 200;
+       MY(bounce) = 1.100000;
+       MY(color_min) = "0x111111";
+       MY(color_max) = "0x979797";
+       MY(count) = 45;
+       MY(gravity) = 0.100000;
+       MY(notunderwater) = true;
+       MY(sizeincrease) = 21;
+       MY(size_min) = 1;
+       MY(size_max) = 11;
+       MY(tex_max) = 8;
+       MY(type) = "smoke";
+       MY(velocityjitter) = '190.0 190.0 50.0';
+ }
+ DEF(smoke_large);
+ // smoke
+ SUB(smoke_large) {
+       MY(airfriction) = 7;
+       MY(alpha_min) = 140;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 190;
+       MY(bounce) = 1.100000;
+       MY(color_min) = "0x9e895f";
+       MY(color_max) = "0xffd39b";
+       MY(count) = 25;
+       MY(gravity) = -0.150000;
+       MY(notunderwater) = true;
+       MY(sizeincrease) = 21;
+       MY(size_min) = 11;
+       MY(size_max) = 21;
+       MY(tex_max) = 8;
+       MY(type) = "alphastatic";
+       MY(velocityjitter) = '390.0 390.0 390.0';
+ }
+ DEF(sparks);
+ SUB(sparks) {
+       MY(airfriction) = 3;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 256;
+       MY(bounce) = 1.500000;
+       MY(color_min) = "0xFFFDD9";
+       MY(color_max) = "0xFFFDD9";
+       MY(count) = 15;
+       MY(gravity) = 1;
+       MY(originjitter) = '1.0 1.0 1.0';
+       MY(size_min) = 1;
+       MY(size_max) = 3;
+       MY(tex_min) = 40;
+       MY(tex_max) = 40;
+       MY(type) = "spark";
+       MY(velocityjitter) = '300.0 300.0 200.0';
+       MY(velocitymultiplier) = 1.500000;
+ }
+ DEF(electricity_sparks);
+ SUB(electricity_sparks) {
+       MY(airfriction) = 3;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 556;
+       MY(bounce) = 1.500000;
+       MY(color_min) = "0x807aff";
+       MY(color_max) = "0x4463d5";
+       MY(count) = 35;
+       MY(gravity) = 1;
+       MY(originjitter) = '1.0 1.0 1.0';
+       MY(size_min) = 1;
+       MY(size_max) = 3;
+       MY(tex_min) = 40;
+       MY(tex_max) = 40;
+       MY(type) = "spark";
+       MY(velocityjitter) = '300.0 300.0 300.0';
+       MY(velocitymultiplier) = 0.500000;
+ }
+ DEF(steam);
+ SUB(steam) {
+       MY(airfriction) = 5;
+       MY(alpha_min) = 140;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 190;
+       MY(bounce) = 1.100000;
+       MY(color_min) = "0xfffbdf";
+       MY(color_max) = "0xffffff";
+       MY(count) = 1;
+       MY(gravity) = -0.250000;
+       MY(notunderwater) = true;
+       MY(sizeincrease) = 7;
+       MY(size_min) = 1;
+       MY(size_max) = 3;
+       MY(tex_max) = 8;
+       MY(type) = "smoke";
+       MY(velocityjitter) = '19.0 19.0 19.0';
+       MY(velocitymultiplier) = 14;
+ }
+ DEF(smoking);
+ SUB(smoking) {
+       MY(airfriction) = -1;
+       MY(alpha_min) = 100;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 100;
+       MY(bounce) = 1.500000;
+       MY(color_min) = "0x292929";
+       MY(color_max) = "0x000000";
+       MY(count) = 10;
+       MY(gravity) = -0.100000;
+       MY(originjitter) = '10.0 10.0 10.0';
+       MY(sizeincrease) = 5;
+       MY(size_min) = 10;
+       MY(size_max) = 40;
+       MY(tex_max) = 8;
+       MY(type) = "alphastatic";
+       MY(velocityjitter) = '5.0 5.0 20.0';
+ }
+ // golden dust (create it once per second to cover large area in small yellow particles)
+ DEF(goldendust);
+ SUB(goldendust) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 70;
+       MY(bounce) = 1.500000;
+       MY(color_min) = "0xff9600";
+       MY(color_max) = "0xffefb8";
+       MY(count) = 25;
+       MY(originjitter) = '500.0 500.0 500.0';
+       MY(sizeincrease) = -0.300000;
+       MY(size_min) = 2;
+       MY(size_max) = 3;
+       MY(tex_min) = 38;
+       MY(tex_max) = 38;
+       MY(type) = "snow";
+       MY(velocityjitter) = '0.1 0.1 0.1';
+ }
+ DEF(healing_fx);
+ SUB(healing_fx) {
+       MY(airfriction) = -0.500000;
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 170;
+       MY(bounce) = 1.500000;
+       MY(color_min) = "0xff0000";
+       MY(color_max) = "0xff0000";
+       MY(count) = 25;
+       MY(gravity) = -0.100000;
+       MY(originjitter) = '5.0 5.0 100.0';
+       MY(sizeincrease) = -0.050000;
+       MY(size_min) = 1;
+       MY(size_max) = 3;
+       MY(tex_min) = 40;
+       MY(tex_max) = 40;
+       MY(type) = "spark";
+       MY(velocityjitter) = '50.0 50.0 0.0';
+ }
+ DEF(armorrepair_fx);
+ SUB(armorrepair_fx) {
+       MY(airfriction) = -0.500000;
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 170;
+       MY(bounce) = 1.500000;
+       MY(color_min) = "0x00ff00";
+       MY(color_max) = "0x00ff00";
+       MY(count) = 25;
+       MY(gravity) = -0.100000;
+       MY(originjitter) = '5.0 5.0 50.0';
+       MY(sizeincrease) = -0.050000;
+       MY(size_min) = 1;
+       MY(size_max) = 3;
+       MY(tex_min) = 40;
+       MY(tex_max) = 40;
+       MY(type) = "spark";
+       MY(velocityjitter) = '50.0 50.0 0.0';
+ }
+ DEF(ammoregen_fx);
+ SUB(ammoregen_fx) {
+       MY(airfriction) = -0.500000;
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 170;
+       MY(bounce) = 1.500000;
+       MY(color_min) = "0x0000ff";
+       MY(color_max) = "0x0000ff";
+       MY(count) = 25;
+       MY(gravity) = -0.100000;
+       MY(originjitter) = '5.0 5.0 50.0';
+       MY(sizeincrease) = -0.050000;
+       MY(size_min) = 1;
+       MY(size_max) = 3;
+       MY(tex_min) = 40;
+       MY(tex_max) = 40;
+       MY(type) = "spark";
+       MY(velocityjitter) = '50.0 50.0 0.0';
+ }
+ // red-yellow flame like fx
+ DEF(rage);
+ SUB(rage) {
+       MY(airfriction) = 2;
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 190;
+       MY(color_min) = "0xff0000";
+       MY(color_max) = "0xff7800";
+       MY(count) = 2.500000;
+       MY(gravity) = -0.060000;
+       MY(originjitter) = '5.0 5.0 5.0';
+       MY(sizeincrease) = 10;
+       MY(size_min) = 1;
+       MY(size_max) = 3;
+       MY(tex_min) = 35;
+       MY(tex_max) = 36;
+       MY(type) = "smoke";
+       MY(velocityjitter) = '25.0 25.0 25.0';
+ }
+ // pieces of glass or ice falling on the floor
+ DEF(iceorglass);
+ SUB(iceorglass) {
+       MY(airfriction) = 3;
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(bounce) = 2;
+       MY(color_min) = "0xffffff";
+       MY(color_max) = "0xb2d3e6";
+       MY(count) = 15;
+       MY(gravity) = 1.300000;
+       MY(originjitter) = '30.0 30.0 30.0';
+       MY(size_min) = 3;
+       MY(size_max) = 7;
+       MY(tex_min) = 44;
+       MY(tex_max) = 44;
+       MY(time_min) = 1;
+       MY(time_max) = 3;
+       MY(type) = "alphastatic";
+       MY(velocityjitter) = '100.0 100.0 100.0';
+ }
+ // cover small area in poison gas, spawn it once per second
+ DEF(poisonfield);
+ SUB(poisonfield) {
+       MY(airfriction) = 1;
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 50;
+       MY(bounce) = 1.500000;
+       MY(color_min) = "0x00ff00";
+       MY(color_max) = "0x7db843";
+       MY(count) = 15;
+       MY(gravity) = -0.010000;
+       MY(originjitter) = '333.0 333.0 50.0';
+       MY(sizeincrease) = 30;
+       MY(size_min) = 1;
+       MY(size_max) = 1;
+       MY(tex_max) = 8;
+       MY(type) = "smoke";
+       MY(velocityjitter) = '5.0 5.0 5.0';
+ }
+ // cover small area in icy mist, spawn it once per second
+ DEF(icefield);
+ SUB(icefield) {
+       MY(airfriction) = 1;
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 50;
+       MY(bounce) = 1.500000;
+       MY(color_min) = "0x008aff";
+       MY(color_max) = "0x75e7ff";
+       MY(count) = 10;
+       MY(gravity) = -0.010000;
+       MY(originjitter) = '333.0 333.0 0.0';
+       MY(sizeincrease) = 10;
+       MY(size_min) = 1;
+       MY(size_max) = 1;
+       MY(tex_max) = 8;
+       MY(type) = "smoke";
+       MY(velocityjitter) = '5.0 5.0 30.0';
+ }
+ SUB(icefield) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 50;
+       MY(color_min) = "0x008aff";
+       MY(color_max) = "0x75e7ff";
+       MY(count) = 5;
+       MY(gravity) = -0.001000;
+       MY(originjitter) = '333.0 333.0 0.0';
+       MY(sizeincrease) = 10;
+       MY(size_min) = 1;
+       MY(size_max) = 1;
+       MY(tex_min) = 48;
+       MY(tex_max) = 55;
+       MY(type) = "smoke";
+ }
+ // cover very small area in flames, spawn it 3 times per second (or more often to get better looking fire at cost of fps hit )
+ DEF(firefield);
+ // flames that go up
+ SUB(firefield) {
+       MY(airfriction) = 1;
+       MY(alpha_min) = 50;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 200;
+       MY(bounce) = 1.500000;
+       MY(color_min) = "0x8f0d00";
+       MY(color_max) = "0xff5a00";
+       MY(count) = 100;
+       MY(gravity) = -0.060000;
+       MY(originjitter) = '180.0 180.0 0.0';
+       MY(sizeincrease) = 20;
+       MY(size_min) = 1;
+       MY(size_max) = 1;
+       MY(tex_min) = 48;
+       MY(tex_max) = 55;
+       MY(type) = "smoke";
+       MY(velocityjitter) = '5.0 5.0 30.0';
+ }
+ // flames that stay on the ground
+ SUB(firefield) {
+       MY(alpha_min) = 50;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 200;
+       MY(color_min) = "0x8f0d00";
+       MY(color_max) = "0xff5a00";
+       MY(count) = 50;
+       MY(originjitter) = '180.0 180.0 0.0';
+       MY(sizeincrease) = 40;
+       MY(size_min) = 1;
+       MY(size_max) = 1;
+       MY(tex_min) = 48;
+       MY(tex_max) = 55;
+       MY(type) = "smoke";
+ }
+ // smoke
+ SUB(firefield) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 70;
+       MY(color_min) = "0x000000";
+       MY(color_max) = "0x111111";
+       MY(count) = 20;
+       MY(gravity) = -0.020000;
+       MY(originjitter) = '180.0 180.0 0.0';
+       MY(sizeincrease) = 7;
+       MY(size_min) = 1;
+       MY(size_max) = 1;
+       MY(tex_max) = 8;
+       MY(type) = "alphastatic";
+ }
+ // flamethrower, spawn it as fast as you can  20 times per second or more, it needs direction
+ DEF(flamethrower);
+ // fast fire
+ SUB(flamethrower) {
+       MY(airfriction) = 1.200000;
+       MY(alpha_min) = 50;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 250;
+       MY(bounce) = 1.500000;
+       MY(color_min) = "0x8f0d00";
+       MY(color_max) = "0xff5a00";
+       MY(count) = 3;
+       MY(gravity) = -0.060000;
+       MY(sizeincrease) = 20;
+       MY(size_min) = 5;
+       MY(size_max) = 5;
+       MY(tex_min) = 48;
+       MY(tex_max) = 55;
+       MY(type) = "smoke";
+       MY(velocityjitter) = '40.0 40.0 11.0';
+       MY(velocitymultiplier) = 30;
+ }
+ // slow fire
+ SUB(flamethrower) {
+       MY(airfriction) = 1.200000;
+       MY(alpha_min) = 50;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 200;
+       MY(bounce) = 1.500000;
+       MY(color_min) = "0x8f0d00";
+       MY(color_max) = "0xff5a00";
+       MY(count) = 2.500000;
+       MY(gravity) = -0.060000;
+       MY(sizeincrease) = 20;
+       MY(size_min) = 5;
+       MY(size_max) = 5;
+       MY(tex_min) = 48;
+       MY(tex_max) = 55;
+       MY(type) = "smoke";
+       MY(velocityjitter) = '40.0 40.0 40.0';
+       MY(velocitymultiplier) = 20;
+ }
+ // very slow and small fire
+ SUB(flamethrower) {
+       MY(airfriction) = 0.300000;
+       MY(alpha_min) = 50;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 200;
+       MY(bounce) = 1.500000;
+       MY(color_min) = "0x8f0d00";
+       MY(color_max) = "0xff5a00";
+       MY(count) = 1.500000;
+       MY(gravity) = -0.060000;
+       MY(sizeincrease) = 10;
+       MY(size_min) = 5;
+       MY(size_max) = 5;
+       MY(tex_min) = 48;
+       MY(tex_max) = 55;
+       MY(type) = "smoke";
+       MY(velocityjitter) = '30.0 30.0 30.0';
+       MY(velocitymultiplier) = 10;
+ }
+ // decreasing fire
+ SUB(flamethrower) {
+       MY(airfriction) = 0.300000;
+       MY(alpha_min) = 50;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 200;
+       MY(bounce) = 1.500000;
+       MY(color_min) = "0x8f0d00";
+       MY(color_max) = "0xff5a00";
+       MY(count) = 2;
+       MY(gravity) = -0.060000;
+       MY(sizeincrease) = -10;
+       MY(size_min) = 20;
+       MY(size_max) = 30;
+       MY(tex_min) = 48;
+       MY(tex_max) = 55;
+       MY(type) = "smoke";
+       MY(velocityjitter) = '10.0 10.0 10.0';
+       MY(velocitymultiplier) = 15;
+ }
+ // smoke
+ SUB(flamethrower) {
+       MY(airfriction) = 1;
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 90;
+       MY(color_min) = "0x000000";
+       MY(color_max) = "0x111111";
+       MY(count) = 0.500000;
+       MY(originjitter) = '10.0 10.0 10.0';
+       MY(sizeincrease) = 7;
+       MY(size_min) = 5;
+       MY(size_max) = 15;
+       MY(tex_max) = 8;
+       MY(type) = "alphastatic";
+       MY(velocitymultiplier) = 20;
+       MY(velocityoffset) = '0.0 0.0 10.0';
+ }
+ // port-o-launch trail
+ DEF(TR_WIZSPIKE);
+ // glowing vapor trail
+ SUB(TR_WIZSPIKE) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 968;
+       MY(color_min) = "0x404040";
+       MY(color_max) = "0x404040";
+       MY(lightcolor) = '1.5 3.0 6.0';
+       MY(lightradius) = 90;
+       MY(size_min) = 3;
+       MY(size_max) = 3;
+       MY(tex_min) = 62;
+       MY(tex_max) = 62;
+       MY(trailspacing) = 4;
+       MY(type) = "static";
+       MY(velocitymultiplier) = -0.100000;
+ }
+ // bright sparks
+ SUB(TR_WIZSPIKE) {
+       MY(airfriction) = 12;
+       MY(alpha_min) = 444;
+       MY(alpha_max) = 512;
+       MY(alpha_fade) = 1866;
+       MY(bounce) = 1;
+       MY(color_min) = "0x404040";
+       MY(color_max) = "0x404040";
+       MY(count) = 1.500000;
+       MY(originjitter) = '1.0 1.0 1.0';
+       MY(sizeincrease) = -20;
+       MY(size_min) = 2;
+       MY(size_max) = 4;
+       MY(tex_min) = 42;
+       MY(tex_max) = 42;
+       MY(trailspacing) = 12;
+       MY(type) = "snow";
+       MY(velocityjitter) = '50.0 50.0 50.0';
+       MY(velocityoffset) = '0.0 0.0 15.0';
+ }
+ // TAG trail
+ DEF(TR_VORESPIKE);
+ // glowing vapor trail
+ SUB(TR_VORESPIKE) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 968;
+       MY(color_min) = "0x804000";
+       MY(color_max) = "0x804000";
+       MY(lightcolor) = '1.5 3.0 6.0';
+       MY(lightradius) = 90;
+       MY(size_min) = 3;
+       MY(size_max) = 3;
+       MY(tex_min) = 62;
+       MY(tex_max) = 62;
+       MY(trailspacing) = 4;
+       MY(type) = "static";
+       MY(velocitymultiplier) = -0.100000;
+ }
+ // bright sparks
+ SUB(TR_VORESPIKE) {
+       MY(airfriction) = 12;
+       MY(alpha_min) = 444;
+       MY(alpha_max) = 512;
+       MY(alpha_fade) = 1866;
+       MY(bounce) = 1;
+       MY(color_min) = "0xff8000";
+       MY(color_max) = "0xff8000";
+       MY(count) = 1.500000;
+       MY(originjitter) = '1.0 1.0 1.0';
+       MY(sizeincrease) = -20;
+       MY(size_min) = 2;
+       MY(size_max) = 4;
+       MY(tex_min) = 42;
+       MY(tex_max) = 42;
+       MY(trailspacing) = 12;
+       MY(type) = "snow";
+       MY(velocityjitter) = '50.0 50.0 50.0';
+       MY(velocityoffset) = '0.0 0.0 15.0';
+ }
+ DEF(flac_explode);
+ SUB(flac_explode) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(countabsolute) = 1;
+       MY(lightcolor) = '8.0 4.0 1.0';
+       MY(lightradiusfade) = 400;
+       MY(lightradius) = 150;
+       MY(originjitter) = '40.0 40.0 40.0';
+       MY(size_min) = 18;
+       MY(size_max) = 28;
+       MY(tex_min) = 8;
+       MY(tex_max) = 16;
+       MY(type) = "decal";
+ }
+ // fire effect which make bright dot inside
+ SUB(flac_explode) {
+       MY(airfriction) = 8;
+       MY(alpha_min) = 128;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 456;
+       MY(bounce) = 1.500000;
+       MY(color_min) = "0xffe955";
+       MY(color_max) = "0xff5a00";
+       MY(count) = 3;
+       MY(liquidfriction) = 8;
+       MY(notunderwater) = true;
+       MY(originjitter) = '8.0 8.0 8.0';
+       MY(sizeincrease) = 5;
+       MY(size_min) = 6;
+       MY(size_max) = 16;
+       MY(tex_min) = 48;
+       MY(tex_max) = 55;
+       MY(type) = "smoke";
+       MY(velocityjitter) = '156.0 156.0 156.0';
+ }
+ // fire effect which expands then slows
+ SUB(flac_explode) {
+       MY(airfriction) = 12;
+       MY(alpha_min) = 128;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 456;
+       MY(bounce) = 1.500000;
+       MY(color_min) = "0x8f0d00";
+       MY(color_max) = "0xff5a00";
+       MY(count) = 6;
+       MY(liquidfriction) = 8;
+       MY(notunderwater) = true;
+       MY(originjitter) = '8.0 8.0 8.0';
+       MY(sizeincrease) = 15;
+       MY(size_min) = 10;
+       MY(size_max) = 16;
+       MY(tex_min) = 48;
+       MY(tex_max) = 55;
+       MY(type) = "static";
+       MY(velocityjitter) = '256.0 256.0 256.0';
+ }
+ // smoke
+ SUB(flac_explode) {
+       MY(airfriction) = 5;
+       MY(alpha_min) = 500;
+       MY(alpha_max) = 600;
+       MY(alpha_fade) = 556;
+       MY(bounce) = 2;
+       MY(color_min) = "0x000000";
+       MY(color_max) = "0x111111";
+       MY(count) = 5;
+       MY(notunderwater) = true;
+       MY(sizeincrease) = 20;
+       MY(size_min) = 10;
+       MY(size_max) = 20;
+       MY(tex_max) = 8;
+       MY(type) = "alphastatic";
+       MY(velocityjitter) = '244.0 244.0 244.0';
+ }
+ // underwater bubbles
+ SUB(flac_explode) {
+       MY(alpha_min) = 128;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 64;
+       MY(bounce) = 1.500000;
+       MY(color_min) = "0x404040";
+       MY(color_max) = "0x808080";
+       MY(count) = 8;
+       MY(gravity) = -0.125000;
+       MY(liquidfriction) = 0.250000;
+       MY(originjitter) = '16.0 16.0 16.0';
+       MY(size_min) = 1;
+       MY(size_max) = 2;
+       MY(tex_min) = 62;
+       MY(tex_max) = 62;
+       MY(type) = "bubble";
+       MY(underwater) = true;
+       MY(velocityjitter) = '96.0 96.0 96.0';
+ }
+ // bouncing sparks
+ SUB(flac_explode) {
+       MY(airfriction) = 0.200000;
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 384;
+       MY(bounce) = 1.500000;
+       MY(color_min) = "0x903010";
+       MY(color_max) = "0xFFD030";
+       MY(count) = 4;
+       MY(gravity) = 1;
+       MY(liquidfriction) = 0.800000;
+       MY(notunderwater) = true;
+       MY(size_min) = 2;
+       MY(size_max) = 2;
+       MY(tex_min) = 40;
+       MY(tex_max) = 40;
+       MY(type) = "spark";
+       MY(velocityjitter) = '256.0 256.0 256.0';
+       MY(velocityoffset) = '0.0 0.0 80.0';
+ }
+ // bullet trail (somewhat like a tracer)
+ DEF(tr_bullet);
+ SUB(tr_bullet) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 2560;
+       MY(color_min) = "0xff8960";
+       MY(color_max) = "0xff8533";
+       MY(size_min) = 4;
+       MY(size_max) = 4;
+       MY(stretchfactor) = 0.200000;
+       MY(tex_min) = 70;
+       MY(tex_max) = 70;
+       MY(trailspacing) = 750;
+       MY(type) = "spark";
+       MY(velocitymultiplier) = 3;
+ }
+ // smoke emitter for small pipes
+ DEF(smoking_smallemitter);
+ SUB(smoking_smallemitter) {
+       MY(airfriction) = -1;
+       MY(alpha_min) = 200;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 100;
+       MY(color_min) = "0x292929";
+       MY(color_max) = "0x000000";
+       MY(count) = 10;
+       MY(gravity) = -0.100000;
+       MY(originjitter) = '10.0 10.0 10.0';
+       MY(sizeincrease) = 20;
+       MY(size_min) = 6;
+       MY(size_max) = 15;
+       MY(tex_max) = 8;
+       MY(type) = "alphastatic";
+       MY(velocityjitter) = '5.0 5.0 20.0';
+ }
+ // crylink trail
+ DEF(TR_CRYLINKPLASMA);
+ // plasma smoke
+ SUB(TR_CRYLINKPLASMA) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 1024;
+       MY(color_min) = "0x5522aa";
+       MY(color_max) = "0x6622ff";
+       MY(sizeincrease) = 8;
+       MY(size_min) = 2;
+       MY(size_max) = 2;
+       MY(tex_min) = 32;
+       MY(tex_max) = 32;
+       MY(trailspacing) = 128;
+       MY(type) = "static";
+       MY(velocityjitter) = '8.0 8.0 8.0';
+       MY(velocitymultiplier) = -0.010000;
+ }
+ // crylink main trail
+ SUB(TR_CRYLINKPLASMA) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 2600;
+       MY(color_min) = "0x5522aa";
+       MY(color_max) = "0x6622ff";
+       MY(sizeincrease) = 15;
+       MY(size_min) = 3;
+       MY(size_max) = 3;
+       MY(tex_min) = 3;
+       MY(tex_max) = 3;
+       MY(trailspacing) = 16;
+       MY(type) = "static";
+       MY(velocityjitter) = '2.0 2.0 2.0';
+       MY(velocitymultiplier) = 0.010000;
+ }
+ DEF(cherryblossom);
+ SUB(cherryblossom) {
+       MY(airfriction) = 1;
+       MY(alpha_min) = 128;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 32;
+       MY(bounce) = 1.500000;
+       MY(color_min) = "0xb123ff";
+       MY(color_max) = "0xb183ff";
+       MY(count) = 1.500000;
+       MY(gravity) = 0.050000;
+       MY(liquidfriction) = 1;
+       MY(originjitter) = '16.0 16.0 16.0';
+       MY(size_min) = 1.500000;
+       MY(size_max) = 2;
+       MY(tex_min) = 40;
+       MY(tex_max) = 40;
+       MY(type) = "static";
+       MY(velocityjitter) = '32.0 32.0 0.0';
+ }
+ DEF(alien_blood);
+ SUB(alien_blood) {
+       MY(airfriction) = 0.400000;
+       MY(alpha_min) = 1560;
+       MY(alpha_max) = 2560;
+       MY(alpha_fade) = 7000;
+       MY(blend) = "invmod";
+       MY(bounce) = -1;
+       MY(color_min) = "0xDC9BCD";
+       MY(color_max) = "0xDC9BCD";
+       MY(count) = 0.400000;
+       MY(sizeincrease) = 20;
+       MY(size_min) = 5;
+       MY(size_max) = 11;
+       MY(staincolor_min) = "0xDC9BCD";
+       MY(staincolor_max) = "0xDC9BCD";
+       MY(stainsize_min) = 1;
+       MY(stainsize_max) = 2;
+       MY(staintex_min) = 16;
+       MY(staintex_max) = 24;
+       MY(stretchfactor) = 25;
+       MY(tex_min) = 24;
+       MY(tex_max) = 32;
+       MY(type) = "spark";
+       MY(velocityjitter) = '99.0 99.0 55.0';
+ }
+ // blood mist
+ SUB(alien_blood) {
+       MY(alpha_min) = 3000;
+       MY(alpha_max) = 5560;
+       MY(alpha_fade) = 12000;
+       MY(blend) = "invmod";
+       MY(color_min) = "0xDC9BCD";
+       MY(color_max) = "0xDC9BCD";
+       MY(countabsolute) = 1;
+       MY(originjitter) = '11.0 11.0 11.0';
+       MY(sizeincrease) = 20;
+       MY(size_min) = 25;
+       MY(size_max) = 30;
+       MY(tex_min) = 24;
+       MY(tex_max) = 32;
+       MY(type) = "smoke";
+ }
+ DEF(robot_blood);
+ SUB(robot_blood) {
+       MY(airfriction) = 1;
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 64;
+       MY(bounce) = -1;
+       MY(color_min) = "0xff3000";
+       MY(color_max) = "0xff7373";
+       MY(count) = 0.167000;
+       MY(gravity) = 1;
+       MY(liquidfriction) = 4;
+       MY(size_min) = 1;
+       MY(size_max) = 2;
+       MY(tex_min) = 70;
+       MY(tex_max) = 70;
+       MY(type) = "spark";
+       MY(velocityjitter) = '264.0 264.0 264.0';
+       MY(velocityoffset) = '0.0 0.0 100.0';
+ }
+ // shockwave
+ SUB(robot_blood) {
+       MY(alpha_max) = 90;
+       MY(alpha_fade) = 1000;
+       MY(color_min) = "0xff8400";
+       MY(color_max) = "0xffbb72";
+       MY(countabsolute) = 1;
+       MY(originjitter) = '11.0 11.0 11.0';
+       MY(sizeincrease) = 800;
+       MY(size_min) = 2;
+       MY(size_max) = 2;
+       MY(tex_min) = 74;
+       MY(tex_max) = 74;
+       MY(type) = "smoke";
+ }
+ // electo sparks
+ SUB(robot_blood) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 5120;
+       MY(color_min) = "0xff3000";
+       MY(color_max) = "0xff8585";
+       MY(count) = 0.100000;
+       MY(originjitter) = '41.0 41.0 21.0';
+       MY(startangle_min) = -180;
+       MY(startangle_max) = 180;
+       MY(spin_min) = 4000;
+       MY(spin_max) = -4000;
+       MY(size_min) = 20;
+       MY(size_max) = 40;
+       MY(tex_min) = 71;
+       MY(tex_max) = 73;
+       MY(type) = "smoke";
+ }
+ DEF(alien_TR_BLOOD);
+ SUB(alien_TR_BLOOD) {
+       MY(airfriction) = -2;
+       MY(alpha_min) = 384;
+       MY(alpha_max) = 984;
+       MY(alpha_fade) = 1492;
+       MY(blend) = "invmod";
+       MY(bounce) = -1;
+       MY(color_min) = "0xC080B0";
+       MY(color_max) = "0xC080B0";
+       MY(gravity) = 0.400000;
+       MY(liquidfriction) = 1;
+       MY(sizeincrease) = -5;
+       MY(size_min) = 4;
+       MY(size_max) = 19;
+       MY(staincolor_min) = "0xC080B0";
+       MY(staincolor_max) = "0xC080B0";
+       MY(stainsize_min) = 1;
+       MY(stainsize_max) = 2;
+       MY(staintex_min) = 16;
+       MY(staintex_max) = 24;
+       MY(stretchfactor) = 7;
+       MY(tex_min) = 24;
+       MY(tex_max) = 32;
+       MY(trailspacing) = 20;
+       MY(type) = "spark";
+       MY(velocityjitter) = '64.0 64.0 64.0';
+       MY(velocitymultiplier) = -0.100000;
+ }
+ // splash around gib
+ SUB(TR_BLOOD) {
+       MY(alpha_min) = 684;
+       MY(alpha_max) = 684;
+       MY(alpha_fade) = 7492;
+       MY(color_min) = "0xA8FFFF";
+       MY(color_max) = "0xA8FFFF";
+       MY(sizeincrease) = 500;
+       MY(size_min) = 4;
+       MY(size_max) = 6;
+       MY(tex_min) = 24;
+       MY(tex_max) = 32;
+       MY(trailspacing) = 42;
+       MY(type) = "blood";
+ }
+ DEF(robot_TR_BLOOD);
+ SUB(robot_TR_BLOOD) {
+       MY(airfriction) = -2;
+       MY(alpha_min) = 384;
+       MY(alpha_max) = 984;
+       MY(alpha_fade) = 1892;
+       MY(blend) = "invmod";
+       MY(bounce) = -1;
+       MY(color_min) = "0xC0D890";
+       MY(color_max) = "0xC0D890";
+       MY(gravity) = 0.400000;
+       MY(liquidfriction) = 1;
+       MY(sizeincrease) = -6;
+       MY(size_min) = 4;
+       MY(size_max) = 13;
+       MY(staincolor_min) = "0x808080";
+       MY(staincolor_max) = "0x808080";
+       MY(stainsize_min) = 1;
+       MY(stainsize_max) = 3;
+       MY(staintex_min) = 16;
+       MY(staintex_max) = 24;
+       MY(stretchfactor) = 6;
+       MY(tex_min) = 24;
+       MY(tex_max) = 32;
+       MY(trailspacing) = 16;
+       MY(type) = "spark";
+       MY(velocityjitter) = '64.0 64.0 64.0';
+       MY(velocitymultiplier) = -0.300000;
+ }
+ // fire
+ SUB(robot_TR_BLOOD) {
+       MY(airfriction) = 4;
+       MY(alpha_min) = 128;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 900;
+       MY(color_min) = "0x902010";
+       MY(color_max) = "0xff3600";
+       MY(gravity) = -1;
+       MY(liquidfriction) = 4;
+       MY(notunderwater) = true;
+       MY(sizeincrease) = 10;
+       MY(size_min) = 5;
+       MY(size_max) = 20;
+       MY(stretchfactor) = 5;
+       MY(tex_min) = 48;
+       MY(tex_max) = 55;
+       MY(trailspacing) = 16;
+       MY(type) = "spark";
+       MY(velocityjitter) = '44.0 44.0 44.0';
+ }
+ // arcs
+ SUB(robot_TR_BLOOD) {
+       MY(alpha_min) = 1128;
+       MY(alpha_max) = 1256;
+       MY(alpha_fade) = 44900;
+       MY(color_min) = "0xff3000";
+       MY(color_max) = "0xff8585";
+       MY(startangle_min) = -180;
+       MY(startangle_max) = 180;
+       MY(spin_min) = 4000;
+       MY(spin_max) = -4000;
+       MY(size_min) = 25;
+       MY(size_max) = 30;
+       MY(tex_min) = 71;
+       MY(tex_max) = 73;
+       MY(trailspacing) = 128;
+       MY(type) = "smoke";
+       MY(velocityjitter) = '44.0 44.0 44.0';
+ }
+ DEF(alien_TR_SLIGHTBLOOD);
+ SUB(alien_TR_SLIGHTBLOOD) {
+       MY(airfriction) = 1;
+       MY(alpha_min) = 384;
+       MY(alpha_max) = 384;
+       MY(alpha_fade) = 192;
+       MY(bounce) = -1;
+       MY(color_min) = "0xC080B0";
+       MY(color_max) = "0xC080B0";
+       MY(liquidfriction) = 4;
+       MY(size_min) = 80;
+       MY(size_max) = 80;
+       MY(staincolor_min) = "0x808080";
+       MY(staincolor_max) = "0x808080";
+       MY(staintex_min) = 16;
+       MY(staintex_max) = 24;
+       MY(tex_min) = 24;
+       MY(tex_max) = 32;
+       MY(trailspacing) = 64;
+       MY(type) = "blood";
+       MY(velocityjitter) = '64.0 64.0 64.0';
+       MY(velocitymultiplier) = 0.500000;
+ }
+ DEF(robot_TR_SLIGHTBLOOD);
+ SUB(robot_TR_SLIGHTBLOOD) {
+       MY(airfriction) = 1;
+       MY(alpha_min) = 384;
+       MY(alpha_max) = 384;
+       MY(alpha_fade) = 192;
+       MY(bounce) = -1;
+       MY(color_min) = "0xC0D890";
+       MY(color_max) = "0xC0D890";
+       MY(liquidfriction) = 4;
+       MY(size_min) = 8;
+       MY(size_max) = 8;
+       MY(staincolor_min) = "0x808080";
+       MY(staincolor_max) = "0x808080";
+       MY(staintex_min) = 16;
+       MY(staintex_max) = 24;
+       MY(tex_min) = 24;
+       MY(tex_max) = 32;
+       MY(trailspacing) = 64;
+       MY(type) = "blood";
+       MY(velocityjitter) = '64.0 64.0 64.0';
+       MY(velocitymultiplier) = 0.500000;
+ }
+ DEF(item_pickup);
+ // flare particle and light
+ SUB(item_pickup) {
+       MY(alpha_min) = 128;
+       MY(alpha_max) = 64;
+       MY(alpha_fade) = 64;
+       MY(color_min) = "0x63F2EA";
+       MY(color_max) = "0xB0C5C4";
+       MY(countabsolute) = 1;
+       MY(size_min) = 8;
+       MY(size_max) = 16;
+       MY(type) = "static";
+ }
+ // cloud of particles which expand rapidly and then slow to form a ball
+ SUB(item_pickup) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 1280;
+       MY(color_min) = "0x63F2EA";
+       MY(color_max) = "0xB0C5C4";
+       MY(count) = 32;
+       MY(size_min) = 1;
+       MY(size_max) = 1;
+       MY(tex_min) = 41;
+       MY(tex_max) = 41;
+       MY(type) = "spark";
+       MY(velocityjitter) = '256.0 256.0 256.0';
+ }
+ DEF(bloodshower);
+ SUB(bloodshower) {
+       MY(alpha_min) = 156;
+       MY(alpha_max) = 656;
+       MY(alpha_fade) = 1664;
+       MY(blend) = "invmod";
+       MY(bounce) = -1;
+       MY(color_min) = "0xA8FFFF";
+       MY(color_max) = "0xA8FFFFF";
+       MY(count) = 125;
+       MY(gravity) = 1;
+       MY(liquidfriction) = 4;
+       MY(size_min) = 8;
+       MY(size_max) = 28;
+       MY(staincolor_min) = "0x808080";
+       MY(staincolor_max) = "0x808080";
+       MY(stainsize_min) = 1;
+       MY(stainsize_max) = 2;
+       MY(staintex_min) = 16;
+       MY(staintex_max) = 24;
+       MY(stretchfactor) = 3;
+       MY(tex_min) = 24;
+       MY(tex_max) = 32;
+       MY(type) = "spark";
+       MY(velocityjitter) = '764.0 764.0 764.0';
+ }
+ // center blood
+ SUB(bloodshower) {
+       MY(alpha_min) = 156;
+       MY(alpha_max) = 656;
+       MY(alpha_fade) = 1664;
+       MY(blend) = "invmod";
+       MY(color_min) = "0xA8FFFF";
+       MY(color_max) = "0xA8FFFFF";
+       MY(countabsolute) = 0.100000;
+       MY(originjitter) = '50.0 50.0 50.0';
+       MY(sizeincrease) = 300;
+       MY(size_min) = 1;
+       MY(size_max) = 28;
+       MY(tex_min) = 24;
+       MY(tex_max) = 32;
+       MY(type) = "smoke";
+ }
+ DEF(alien_bloodshower);
+ SUB(alien_bloodshower) {
+       MY(alpha_min) = 156;
+       MY(alpha_max) = 656;
+       MY(alpha_fade) = 1664;
+       MY(blend) = "invmod";
+       MY(bounce) = -1;
+       MY(color_min) = "0xC080B0";
+       MY(color_max) = "0xC080B0";
+       MY(count) = 125;
+       MY(gravity) = 1;
+       MY(liquidfriction) = 4;
+       MY(size_min) = 8;
+       MY(size_max) = 28;
+       MY(staincolor_min) = "0xC080B0";
+       MY(staincolor_max) = "0xC080B0";
+       MY(stainsize_min) = 1;
+       MY(stainsize_max) = 2;
+       MY(staintex_min) = 16;
+       MY(staintex_max) = 24;
+       MY(stretchfactor) = 3;
+       MY(tex_min) = 24;
+       MY(tex_max) = 32;
+       MY(type) = "spark";
+       MY(velocityjitter) = '764.0 764.0 764.0';
+ }
+ // center blood
+ SUB(bloodshower) {
+       MY(alpha_min) = 156;
+       MY(alpha_max) = 656;
+       MY(alpha_fade) = 1664;
+       MY(blend) = "invmod";
+       MY(color_min) = "0xA8FFFF";
+       MY(color_max) = "0xA8FFFFF";
+       MY(countabsolute) = 0.100000;
+       MY(originjitter) = '50.0 50.0 50.0';
+       MY(sizeincrease) = 300;
+       MY(size_min) = 1;
+       MY(size_max) = 28;
+       MY(tex_min) = 24;
+       MY(tex_max) = 32;
+       MY(type) = "smoke";
+ }
+ DEF(robot_bloodshower);
+ SUB(robot_bloodshower) {
+       MY(alpha_min) = 156;
+       MY(alpha_max) = 656;
+       MY(alpha_fade) = 1664;
+       MY(blend) = "invmod";
+       MY(bounce) = -1;
+       MY(color_min) = "0xC0D890";
+       MY(color_max) = "0xC0D890";
+       MY(count) = 100;
+       MY(gravity) = 1;
+       MY(liquidfriction) = 4;
+       MY(size_min) = 8;
+       MY(size_max) = 28;
+       MY(staincolor_min) = "0xC0D890";
+       MY(staincolor_max) = "0xC0D890";
+       MY(stainsize_min) = 1;
+       MY(stainsize_max) = 2;
+       MY(staintex_min) = 16;
+       MY(staintex_max) = 24;
+       MY(stretchfactor) = 3;
+       MY(tex_min) = 24;
+       MY(tex_max) = 32;
+       MY(type) = "spark";
+       MY(velocityjitter) = '764.0 764.0 764.0';
+ }
+ // arc
+ SUB(robot_bloodshower) {
+       MY(alpha_min) = 1128;
+       MY(alpha_max) = 1256;
+       MY(alpha_fade) = 4200;
+       MY(color_min) = "0xff3000";
+       MY(color_max) = "0xff8585";
+       MY(count) = 2.500000;
+       MY(originjitter) = '150.0 150.0 150.0';
+       MY(startangle_min) = -180;
+       MY(startangle_max) = 180;
+       MY(spin_min) = 99;
+       MY(spin_max) = -99;
+       MY(size_min) = 25;
+       MY(size_max) = 40;
+       MY(tex_min) = 71;
+       MY(tex_max) = 73;
+       MY(type) = "smoke";
+       MY(velocityjitter) = '44.0 44.0 44.0';
+ }
+ // shockwave
+ SUB(robot_bloodshower) {
+       MY(alpha_min) = 11;
+       MY(alpha_max) = 125;
+       MY(alpha_fade) = 990;
+       MY(color_min) = "0xff3000";
+       MY(color_max) = "0xff8585";
+       MY(count) = 2.500000;
+       MY(sizeincrease) = 3000;
+       MY(size_min) = 5;
+       MY(size_max) = 50;
+       MY(tex_min) = 74;
+       MY(tex_max) = 74;
+       MY(type) = "smoke";
+ }
+ #define ground_quake(name, colormin, colormax) \
+       DEF(name##_ground_quake); \
+       SUB(name##_ground_quake) /* smoke */ { \
+               MY(airfriction) = 3; \
+               MY(alpha_min) = 100; \
+               MY(alpha_max) = 126; \
+               MY(alpha_fade) = 200; \
+               MY(bounce) = 1.100000; \
+               MY(color_min) = "0x111111"; \
+               MY(color_max) = "0xbbbbbb"; \
+               MY(count) = 90; \
+               MY(gravity) = 0.500000; \
+               MY(notunderwater) = true; \
+               MY(sizeincrease) = 100; \
+               MY(size_min) = 20; \
+               MY(size_max) = 50; \
+               MY(tex_max) = 8; \
+               MY(time_min) = 5; \
+               MY(time_max) = 10; \
+               MY(type) = "smoke"; \
+               MY(velocityjitter) = '190.0 190.0 50.0'; \
+       } \
+       SUB(name##_ground_quake) { \
+               MY(airfriction) = 4; \
+               MY(alpha_min) = 100; \
+               MY(alpha_max) = 126; \
+               MY(alpha_fade) = 200; \
+               MY(bounce) = 1.200000; \
+               MY(color_min) = "0x111111"; \
+               MY(color_max) = "0x979797"; \
+               MY(count) = 40; \
+               MY(gravity) = 0.200000; \
+               MY(notunderwater) = true; \
+               MY(sizeincrease) = 60; \
+               MY(size_min) = 10; \
+               MY(size_max) = 30; \
+               MY(tex_max) = 8; \
+               MY(time_min) = 10; \
+               MY(time_max) = 15; \
+               MY(type) = "smoke"; \
+               MY(velocityjitter) = '190.0 190.0 50.0'; \
+       } \
+       SUB(name##_ground_quake) { \
+               MY(alpha_min) = 200; \
+               MY(alpha_max) = 356; \
+               MY(alpha_fade) = 512; \
+               MY(bounce) = 6; \
+               MY(color_min) = colormin; \
+               MY(color_max) = colormax; \
+               MY(count) = 16; \
+               MY(gravity) = -0.500000; \
+               MY(originjitter) = '33.0 33.0 33.0'; \
+               MY(sizeincrease) = 5; \
+               MY(size_min) = 4; \
+               MY(size_max) = 20; \
+               MY(tex_min) = 48; \
+               MY(tex_max) = 55; \
+               MY(time_min) = 15; \
+               MY(time_max) = 25; \
+               MY(type) = "smoke"; \
+               MY(velocityjitter) = '22.0 22.0 50.0'; \
+       } \
+       SUB(name##_ground_quake) /* smoke */ { \
+               MY(alpha_min) = 200; \
+               MY(alpha_max) = 256; \
+               MY(alpha_fade) = 200; \
+               MY(bounce) = 2; \
+               MY(color_min) = "0x000000"; \
+               MY(color_max) = "0xffffff"; \
+               MY(count) = 11; \
+               MY(gravity) = -0.300000; \
+               MY(originjitter) = '44.0 44.0 44.0'; \
+               MY(sizeincrease) = 11; \
+               MY(size_min) = 22; \
+               MY(size_max) = 33; \
+               MY(tex_max) = 8; \
+               MY(time_min) = 25; \
+               MY(time_max) = 35; \
+               MY(type) = "alphastatic"; \
+               MY(velocityjitter) = '11.0 11.0 50.0'; \
+       } \
+       /**/
+ ground_quake(red,     "0x9E6A64", "0x91302D")
+ ground_quake(blue,    "0x64679E", "0x2D4C91")
+ #undef ground_quake
+ #include "effectinfo_gentle_morphed.inc"
+ // Team / hit vaporizer effects
+ #define TE_TEI_G3(name, colormin1, colormax1, colormin2, colormax2) \
+       DEF(TE_TEI_G3##name); \
+       SUB(TE_TEI_G3##name) { \
+               MY(alpha_min) = 128; \
+               MY(alpha_max) = 128; \
+               MY(alpha_fade) = 256; \
+               MY(color_min) = colormin1; \
+               MY(color_max) = colormax1; \
+               MY(countabsolute) = 1; \
+               MY(size_min) = 4; \
+               MY(size_max) = 4; \
+               MY(tex_min) = 200; \
+               MY(tex_max) = 200; \
+               MY(type) = "beam"; \
+       } \
+       SUB(TE_TEI_G3##name) { \
+               MY(airfriction) = -4; \
+               MY(alpha_min) = 256; \
+               MY(alpha_max) = 256; \
+               MY(alpha_fade) = 512; \
+               MY(color_min) = colormin2; \
+               MY(color_max) = colormax2; \
+               MY(sizeincrease) = 3; \
+               MY(size_min) = 0.300000; \
+               MY(size_max) = 0.300000; \
+               MY(tex_min) = 46; \
+               MY(tex_max) = 46; \
+               MY(trailspacing) = 8; \
+               MY(type) = "smoke"; \
+               MY(velocityjitter) = '3.0 3.0 3.0'; \
+       } \
+       DEF(TE_TEI_G3##name##_HIT); \
+       SUB(TE_TEI_G3##name##_HIT) { \
+               MY(alpha_min) = 128; \
+               MY(alpha_max) = 128; \
+               MY(alpha_fade) = 256; \
+               MY(color_min) = colormin1; \
+               MY(color_max) = colormax1; \
+               MY(countabsolute) = 1; \
+               MY(size_min) = 8; \
+               MY(size_max) = 8; \
+               MY(tex_min) = 200; \
+               MY(tex_max) = 200; \
+               MY(type) = "beam"; \
+       } \
+       SUB(TE_TEI_G3##name##_HIT) /* rings */ { \
+               MY(airfriction) = -4; \
+               MY(alpha_min) = 256; \
+               MY(alpha_max) = 256; \
+               MY(alpha_fade) = 512; \
+               MY(color_min) = "0xFFFFFF"; \
+               MY(color_max) = colormax1; \
+               MY(sizeincrease) = -2; \
+               MY(size_min) = 2; \
+               MY(size_max) = 2; \
+               MY(trailspacing) = 20; \
+               MY(type) = "smoke"; \
+               MY(velocityjitter) = '2.0 2.0 2.0'; \
+       } \
+       SUB(TE_TEI_G3##name##_HIT) { \
+               MY(airfriction) = -4; \
+               MY(alpha_min) = 256; \
+               MY(alpha_max) = 256; \
+               MY(alpha_fade) = 512; \
+               MY(color_min) = colormin1; \
+               MY(color_max) = colormax1; \
+               MY(sizeincrease) = -6; \
+               MY(size_min) = 10; \
+               MY(size_max) = 10; \
+               MY(trailspacing) = 40; \
+               MY(type) = "smoke"; \
+       } \
+       /**/
+ TE_TEI_G3(RED, "0xFF0000", "0xFF0011", "0x200000", "0x400000")
+ TE_TEI_G3(BLUE, "0x0000FF", "0x1100FF", "0x000020", "0x000040")
+ TE_TEI_G3(YELLOW, "0xffff00", "0xffff11", "0x202000", "0x404000")
+ TE_TEI_G3(PINK, "0xFF00FF", "0xFF11FF", "0x200020", "0x400040")
+ #undef TE_TEI_G3
+ #include "effectinfo_gentle_particlegibs.inc"
+ #include "effectinfo_onslaught.inc"
+ DEF(firemine);
+ SUB(firemine) {
+       MY(airfriction) = 1.200000;
+       MY(alpha_min) = 50;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 250;
+       MY(bounce) = 1.500000;
+       MY(color_min) = "0x8f0d00";
+       MY(color_max) = "0xff5a00";
+       MY(count) = 0.500000;
+       MY(gravity) = -0.060000;
+       MY(sizeincrease) = 5;
+       MY(size_min) = 1;
+       MY(size_max) = 1;
+       MY(tex_min) = 48;
+       MY(tex_max) = 55;
+       MY(trailspacing) = 2;
+       MY(type) = "smoke";
+       MY(velocityjitter) = '10.0 10.0 2.0';
+ }
+ // slowfire
+ SUB(firemine) {
+       MY(airfriction) = 1.200000;
+       MY(alpha_min) = 50;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 200;
+       MY(bounce) = 1.500000;
+       MY(color_min) = "0x8f0d00";
+       MY(color_max) = "0xff5a00";
+       MY(count) = 0.500000;
+       MY(gravity) = -0.060000;
+       MY(sizeincrease) = 5;
+       MY(size_min) = 1;
+       MY(size_max) = 1;
+       MY(tex_min) = 48;
+       MY(tex_max) = 55;
+       MY(trailspacing) = 2;
+       MY(type) = "smoke";
+       MY(velocityjitter) = '10.0 10.0 10.0';
+ }
+ // very slow and small fire
+ SUB(firemine) {
+       MY(airfriction) = 0.300000;
+       MY(alpha_min) = 50;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 200;
+       MY(bounce) = 1.500000;
+       MY(color_min) = "0x8f0d00";
+       MY(color_max) = "0xff5a00";
+       MY(count) = 0.500000;
+       MY(gravity) = -0.060000;
+       MY(sizeincrease) = 2;
+       MY(size_min) = 1;
+       MY(size_max) = 1;
+       MY(tex_min) = 48;
+       MY(tex_max) = 55;
+       MY(trailspacing) = 4;
+       MY(type) = "smoke";
+       MY(velocityjitter) = '8.0 8.0 8.0';
+ }
+ // decreasing fire
+ SUB(firemine) {
+       MY(airfriction) = 0.300000;
+       MY(alpha_min) = 50;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 200;
+       MY(bounce) = 1.500000;
+       MY(color_min) = "0x8f0d00";
+       MY(color_max) = "0xff5a00";
+       MY(count) = 0.500000;
+       MY(gravity) = -0.060000;
+       MY(sizeincrease) = -3;
+       MY(size_min) = 5;
+       MY(size_max) = 7;
+       MY(tex_min) = 48;
+       MY(tex_max) = 55;
+       MY(trailspacing) = 4;
+       MY(type) = "smoke";
+       MY(velocityjitter) = '3.0 3.0 3.0';
+ }
+ // smoke
+ SUB(firemine) {
+       MY(airfriction) = 1;
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 90;
+       MY(color_min) = "0x000000";
+       MY(color_max) = "0x111111";
+       MY(count) = 0.500000;
+       MY(originjitter) = '2.0 2.0 2.0';
+       MY(sizeincrease) = 1;
+       MY(size_min) = 1;
+       MY(size_max) = 4;
+       MY(tex_max) = 8;
+       MY(trailspacing) = 8;
+       MY(type) = "alphastatic";
+       MY(velocityoffset) = '0.0 0.0 3.0';
+ }
+ // fastfire
+ SUB(firemine) {
+       MY(airfriction) = 1.200000;
+       MY(alpha_min) = 50;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 1600;
+       MY(bounce) = 1.500000;
+       MY(color_min) = "0x8f0d00";
+       MY(color_max) = "0xff5a00";
+       MY(count) = 0.500000;
+       MY(size_min) = 12;
+       MY(size_max) = 12;
+       MY(tex_min) = 48;
+       MY(tex_max) = 55;
+       MY(trailspacing) = 1;
+       MY(type) = "smoke";
+ }
+ // light only
+ SUB(firemine) {
+       MY(lightcolor) = '2.7 2.7 0.6';
+       MY(lightradiusfade) = 50000;
+       MY(lightradius) = 50;
+       MY(trailspacing) = 16;
+ }
+ DEF(fireball);
+ SUB(fireball) {
+       MY(airfriction) = 1.200000;
+       MY(alpha_min) = 50;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 250;
+       MY(bounce) = 1.500000;
+       MY(color_min) = "0x8f0d00";
+       MY(color_max) = "0xff5a00";
+       MY(count) = 0.500000;
+       MY(gravity) = -0.060000;
+       MY(sizeincrease) = 20;
+       MY(size_min) = 5;
+       MY(size_max) = 5;
+       MY(tex_min) = 48;
+       MY(tex_max) = 55;
+       MY(trailspacing) = 2;
+       MY(type) = "smoke";
+       MY(velocityjitter) = '40.0 40.0 11.0';
+ }
+ // slow fire
+ SUB(fireball) {
+       MY(airfriction) = 1.200000;
+       MY(alpha_min) = 50;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 200;
+       MY(bounce) = 1.500000;
+       MY(color_min) = "0x8f0d00";
+       MY(color_max) = "0xff5a00";
+       MY(count) = 0.500000;
+       MY(gravity) = -0.060000;
+       MY(sizeincrease) = 20;
+       MY(size_min) = 5;
+       MY(size_max) = 5;
+       MY(tex_min) = 48;
+       MY(tex_max) = 55;
+       MY(trailspacing) = 2;
+       MY(type) = "smoke";
+       MY(velocityjitter) = '40.0 40.0 40.0';
+ }
+ // very slow and small fire
+ SUB(fireball) {
+       MY(airfriction) = 0.300000;
+       MY(alpha_min) = 50;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 200;
+       MY(bounce) = 1.500000;
+       MY(color_min) = "0x8f0d00";
+       MY(color_max) = "0xff5a00";
+       MY(count) = 0.500000;
+       MY(gravity) = -0.060000;
+       MY(sizeincrease) = 10;
+       MY(size_min) = 5;
+       MY(size_max) = 5;
+       MY(tex_min) = 48;
+       MY(tex_max) = 55;
+       MY(trailspacing) = 4;
+       MY(type) = "smoke";
+       MY(velocityjitter) = '30.0 30.0 30.0';
+ }
+ // decreasing fire
+ SUB(fireball) {
+       MY(airfriction) = 0.300000;
+       MY(alpha_min) = 50;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 200;
+       MY(bounce) = 1.500000;
+       MY(color_min) = "0x8f0d00";
+       MY(color_max) = "0xff5a00";
+       MY(count) = 0.500000;
+       MY(gravity) = -0.060000;
+       MY(sizeincrease) = -10;
+       MY(size_min) = 20;
+       MY(size_max) = 30;
+       MY(tex_min) = 48;
+       MY(tex_max) = 55;
+       MY(trailspacing) = 4;
+       MY(type) = "smoke";
+       MY(velocityjitter) = '10.0 10.0 10.0';
+ }
+ // smoke
+ SUB(fireball) {
+       MY(airfriction) = 1;
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 90;
+       MY(color_min) = "0x000000";
+       MY(color_max) = "0x111111";
+       MY(count) = 0.500000;
+       MY(originjitter) = '10.0 10.0 10.0';
+       MY(sizeincrease) = 7;
+       MY(size_min) = 5;
+       MY(size_max) = 15;
+       MY(tex_max) = 8;
+       MY(trailspacing) = 8;
+       MY(type) = "alphastatic";
+       MY(velocityoffset) = '0.0 0.0 10.0';
+ }
+ // fast fire
+ SUB(fireball) {
+       MY(airfriction) = 1.200000;
+       MY(alpha_min) = 50;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 1600;
+       MY(bounce) = 1.500000;
+       MY(color_min) = "0x8f0d00";
+       MY(color_max) = "0xff5a00";
+       MY(count) = 0.500000;
+       MY(size_min) = 48;
+       MY(size_max) = 48;
+       MY(tex_min) = 48;
+       MY(tex_max) = 55;
+       MY(trailspacing) = 1;
+       MY(type) = "smoke";
+ }
+ // light only
+ SUB(fireball) {
+       MY(lightcolor) = '2.7 2.7 0.6';
+       MY(lightradiusfade) = 3000;
+       MY(lightradius) = 300;
+       MY(trailspacing) = 16;
+ }
+ DEF(fireball_laser);
+ SUB(fireball_laser) {
+       MY(alpha_min) = 192;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 2560;
+       MY(color_min) = "0x800000";
+       MY(color_max) = "0xFF8020";
+       MY(count) = 10;
+       MY(size_min) = 1;
+       MY(size_max) = 1;
+       MY(stretchfactor) = 0.700000;
+       MY(type) = "spark";
+       MY(velocityjitter) = '1.0 1.0 1.0';
+       MY(velocitymultiplier) = 10;
+ }
+ // rocket explosion (bigger than mortar and hagar)
+ DEF(fireball_explode);
+ // decal
+ SUB(fireball_explode) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(countabsolute) = 1;
+       MY(lightcolor) = '4.0 2.0 0.5';
+       MY(lightradiusfade) = 500;
+       MY(lightradius) = 500;
+       MY(originjitter) = '56.0 56.0 56.0';
+       MY(size_min) = 72;
+       MY(size_max) = 72;
+       MY(tex_min) = 8;
+       MY(tex_max) = 16;
+       MY(type) = "decal";
+ }
+ // flare effect
+ SUB(fireball_explode) {
+       MY(alpha_min) = 192;
+       MY(alpha_max) = 192;
+       MY(alpha_fade) = 64;
+       MY(color_min) = "0x404040";
+       MY(color_max) = "0x404040";
+       MY(countabsolute) = 1;
+       MY(size_min) = 72;
+       MY(size_max) = 72;
+       MY(tex_min) = 35;
+       MY(tex_max) = 37;
+       MY(type) = "static";
+ }
+ // fire effect
+ SUB(fireball_explode) {
+       MY(airfriction) = 4;
+       MY(alpha_min) = 128;
+       MY(alpha_max) = 128;
+       MY(alpha_fade) = 256;
+       MY(bounce) = 1.500000;
+       MY(color_min) = "0x902010";
+       MY(color_max) = "0xFFD080";
+       MY(count) = 128;
+       MY(liquidfriction) = 4;
+       MY(notunderwater) = true;
+       MY(originjitter) = '8.0 8.0 8.0';
+       MY(size_min) = 16;
+       MY(size_max) = 16;
+       MY(tex_min) = 48;
+       MY(tex_max) = 55;
+       MY(type) = "static";
+       MY(velocityjitter) = '512.0 512.0 512.0';
+ }
+ // underwater bubbles
+ SUB(fireball_explode) {
+       MY(alpha_min) = 128;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 64;
+       MY(bounce) = 1.500000;
+       MY(color_min) = "0x404040";
+       MY(color_max) = "0x808080";
+       MY(count) = 32;
+       MY(gravity) = -0.125000;
+       MY(liquidfriction) = 0.250000;
+       MY(originjitter) = '16.0 16.0 16.0';
+       MY(size_min) = 3;
+       MY(size_max) = 3;
+       MY(tex_min) = 62;
+       MY(tex_max) = 62;
+       MY(type) = "bubble";
+       MY(underwater) = true;
+       MY(velocityjitter) = '144.0 144.0 144.0';
+ }
+ // bouncing sparks
+ SUB(fireball_explode) {
+       MY(airfriction) = 0.200000;
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 384;
+       MY(bounce) = 1.500000;
+       MY(color_min) = "0x903010";
+       MY(color_max) = "0xFFD030";
+       MY(count) = 64;
+       MY(gravity) = 1;
+       MY(liquidfriction) = 0.800000;
+       MY(notunderwater) = true;
+       MY(size_min) = 2;
+       MY(size_max) = 2;
+       MY(type) = "spark";
+       MY(velocityjitter) = '384.0 384.0 384.0';
+       MY(velocityoffset) = '0.0 0.0 80.0';
+ }
+ DEF(fireball_muzzleflash);
+ SUB(fireball_muzzleflash) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 512;
+       MY(color_min) = "0x202020";
+       MY(color_max) = "0x404040";
+       MY(count) = 2;
+       MY(lightcolor) = '2.0 1.5 0.2';
+       MY(lightradiusfade) = 2000;
+       MY(lightradius) = 200;
+       MY(originjitter) = '1.5 1.5 1.5';
+       MY(size_min) = 5;
+       MY(size_max) = 5;
+       MY(tex_max) = 8;
+       MY(type) = "smoke";
+       MY(velocityjitter) = '6.0 6.0 6.0';
+       MY(velocitymultiplier) = 0.010000;
+ }
+ SUB(fireball_muzzleflash) {
+       MY(airfriction) = 12;
+       MY(alpha_max) = 128;
+       MY(alpha_fade) = 1024;
+       MY(color_min) = "0xFFFDD9";
+       MY(color_max) = "0xFFFDD9";
+       MY(count) = 15;
+       MY(originjitter) = '1.0 1.0 1.0';
+       MY(size_min) = 3;
+       MY(size_max) = 3;
+       MY(tex_min) = 40;
+       MY(tex_max) = 40;
+       MY(type) = "spark";
+       MY(velocityjitter) = '300.0 300.0 300.0';
+       MY(velocitymultiplier) = 0.500000;
+ }
+ DEF(fireball_preattack_muzzleflash);
+ SUB(fireball_preattack_muzzleflash) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 512;
+       MY(color_min) = "0x202020";
+       MY(color_max) = "0x404040";
+       MY(count) = 2;
+       MY(lightcolor) = '2.0 1.5 0.2';
+       MY(lightradiusfade) = 2000;
+       MY(lightradius) = 200;
+       MY(originjitter) = '1.5 1.5 1.5';
+       MY(size_min) = 5;
+       MY(size_max) = 5;
+       MY(tex_max) = 8;
+       MY(type) = "smoke";
+       MY(velocityjitter) = '6.0 6.0 6.0';
+       MY(velocitymultiplier) = 0.010000;
+ }
+ SUB(fireball_preattack_muzzleflash) {
+       MY(airfriction) = 12;
+       MY(alpha_max) = 128;
+       MY(alpha_fade) = 1024;
+       MY(color_min) = "0xFFFDD9";
+       MY(color_max) = "0xFFFDD9";
+       MY(count) = 15;
+       MY(originjitter) = '1.0 1.0 1.0';
+       MY(size_min) = 3;
+       MY(size_max) = 3;
+       MY(tex_min) = 40;
+       MY(tex_max) = 40;
+       MY(type) = "spark";
+       MY(velocityjitter) = '300.0 300.0 300.0';
+       MY(velocitymultiplier) = 0.500000;
+ }
+ DEF(fireball_bfgdamage);
+ SUB(fireball_bfgdamage) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 512;
+       MY(color_min) = "0x202020";
+       MY(color_max) = "0x404040";
+       MY(count) = 2;
+       MY(lightcolor) = '2.0 1.5 0.2';
+       MY(lightradiusfade) = 2000;
+       MY(lightradius) = 200;
+       MY(originjitter) = '1.5 1.5 1.5';
+       MY(size_min) = 5;
+       MY(size_max) = 5;
+       MY(tex_max) = 8;
+       MY(type) = "smoke";
+       MY(velocityjitter) = '6.0 6.0 6.0';
+       MY(velocitymultiplier) = 0.010000;
+ }
+ SUB(fireball_bfgdamage) {
+       MY(airfriction) = 12;
+       MY(alpha_max) = 128;
+       MY(alpha_fade) = 1024;
+       MY(color_min) = "0xFFFDD9";
+       MY(color_max) = "0xFFFDD9";
+       MY(count) = 15;
+       MY(originjitter) = '1.0 1.0 1.0';
+       MY(size_min) = 3;
+       MY(size_max) = 3;
+       MY(tex_min) = 40;
+       MY(tex_max) = 40;
+       MY(type) = "spark";
+       MY(velocityjitter) = '300.0 300.0 300.0';
+       MY(velocitymultiplier) = 0.500000;
+ }
+ DEF(EF_FLAME);
+ // fire
+ SUB(EF_FLAME) {
+       MY(alpha_min) = 200;
+       MY(alpha_max) = 356;
+       MY(alpha_fade) = 512;
+       MY(bounce) = 2;
+       MY(color_min) = "0x8f0d00";
+       MY(color_max) = "0xff5a00";
+       MY(count) = 100;
+       MY(gravity) = -0.500000;
+       MY(originjitter) = '12.0 12.0 34.0';
+       MY(originoffset) = '0.0 0.0 10.0';
+       MY(sizeincrease) = -1;
+       MY(size_min) = 5;
+       MY(size_max) = 21;
+       MY(tex_min) = 48;
+       MY(tex_max) = 55;
+       MY(type) = "smoke";
+       MY(velocityjitter) = '22.0 22.0 50.0';
+ }
+ // smoke
+ SUB(EF_FLAME) {
+       MY(alpha_min) = 200;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 200;
+       MY(bounce) = 2;
+       MY(color_min) = "0x000000";
+       MY(color_max) = "0x111111";
+       MY(count) = 50;
+       MY(gravity) = -0.300000;
+       MY(originjitter) = '12.0 12.0 34.0';
+       MY(originoffset) = '0.0 0.0 10.0';
+       MY(sizeincrease) = 6;
+       MY(size_min) = 11;
+       MY(size_max) = 15;
+       MY(tex_max) = 8;
+       MY(type) = "alphastatic";
+       MY(velocityjitter) = '11.0 11.0 50.0';
+ }
+ SUB(EF_FLAME) {
+       MY(count) = 0.500000;
+       MY(lightcolor) = '0.9 0.9 0.2';
+       MY(lightradiusfade) = 10000;
+       MY(lightradius) = 200;
+ }
+ // rifle bullet trail (somewhat like a tracer)
+ DEF(tr_rifle);
+ SUB(tr_rifle) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 2560;
+       MY(color_min) = "0x800000";
+       MY(color_max) = "0xFF8020";
+       MY(size_min) = 1.500000;
+       MY(size_max) = 1.500000;
+       MY(stretchfactor) = 1;
+       MY(trailspacing) = 128;
+       MY(type) = "spark";
+       MY(velocitymultiplier) = 0.700000;
+ }
+ SUB(tr_rifle) {
+       MY(airfriction) = -4;
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 256;
+       MY(color_min) = "0x202020";
+       MY(color_max) = "0x404040";
+       MY(notunderwater) = true;
+       MY(sizeincrease) = 0.400000;
+       MY(size_min) = 4;
+       MY(size_max) = 4;
+       MY(tex_max) = 8;
+       MY(trailspacing) = 8;
+       MY(type) = "smoke";
+       MY(velocityjitter) = '4.0 4.0 4.0';
+ }
+ SUB(tr_rifle) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 128;
+       MY(bounce) = 1.500000;
+       MY(color_min) = "0x404040";
+       MY(color_max) = "0x808080";
+       MY(gravity) = -0.125000;
+       MY(liquidfriction) = 4;
+       MY(size_min) = 2;
+       MY(size_max) = 2;
+       MY(tex_min) = 62;
+       MY(tex_max) = 62;
+       MY(trailspacing) = 32;
+       MY(type) = "bubble";
+       MY(underwater) = true;
+       MY(velocityjitter) = '16.0 16.0 16.0';
+ }
+ // rocket guiding start
+ DEF(rocket_guide);
+ // underwater bubbles
+ SUB(rocket_guide) {
+       MY(alpha_min) = 128;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 64;
+       MY(bounce) = 1.500000;
+       MY(color_min) = "0x404040";
+       MY(color_max) = "0x808080";
+       MY(count) = 2;
+       MY(gravity) = -0.125000;
+       MY(liquidfriction) = 0.250000;
+       MY(originjitter) = '8.0 8.0 8.0';
+       MY(size_min) = 1.500000;
+       MY(size_max) = 1.500000;
+       MY(tex_min) = 62;
+       MY(tex_max) = 62;
+       MY(type) = "bubble";
+       MY(underwater) = true;
+       MY(velocityjitter) = '48.0 48.0 48.0';
+       MY(velocitymultiplier) = -0.100000;
+ }
+ // bouncing sparks
+ SUB(rocket_guide) {
+       MY(airfriction) = 0.200000;
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 984;
+       MY(bounce) = 1.500000;
+       MY(color_min) = "0x903010";
+       MY(color_max) = "0xFFD030";
+       MY(count) = 8;
+       MY(gravity) = 1;
+       MY(liquidfriction) = 0.800000;
+       MY(notunderwater) = true;
+       MY(size_min) = 0.300000;
+       MY(size_max) = 0.700000;
+       MY(stretchfactor) = 0.400000;
+       MY(tex_min) = 40;
+       MY(tex_max) = 40;
+       MY(type) = "spark";
+       MY(velocityjitter) = '156.0 156.0 156.0';
+       MY(velocitymultiplier) = -0.300000;
+       MY(velocityoffset) = '0.0 0.0 80.0';
+ }
+ SUB(rocket_guide) {
+       MY(alpha_min) = 100;
+       MY(alpha_max) = 100;
+       MY(alpha_fade) = 500;
+       MY(color_min) = "0x903010";
+       MY(color_max) = "0xFFD030";
+       MY(countabsolute) = 1;
+       MY(sizeincrease) = 300;
+       MY(size_min) = 10;
+       MY(size_max) = 10;
+       MY(tex_min) = 65;
+       MY(tex_max) = 65;
+       MY(type) = "smoke";
+ }
+ // gauntlet laser
+ DEF(laser_gauntlet);
+ SUB(laser_gauntlet) {
+       MY(airfriction) = 10;
+       MY(alpha_min) = 128;
+       MY(alpha_max) = 512;
+       MY(alpha_fade) = 6280;
+       MY(color_min) = "0xb44215";
+       MY(color_max) = "0x880000";
+       MY(count) = 3;
+       MY(originjitter) = '2.0 2.0 2.0';
+       MY(startangle_min) = -180;
+       MY(startangle_max) = 180;
+       MY(spin_min) = 4000;
+       MY(spin_max) = -4000;
+       MY(sizeincrease) = -100;
+       MY(size_min) = 7;
+       MY(size_max) = 10;
+       MY(stretchfactor) = 2.300000;
+       MY(tex_min) = 43;
+       MY(tex_max) = 43;
+       MY(type) = "spark";
+       MY(velocityjitter) = '150.0 150.0 150.0';
+       MY(velocitymultiplier) = 0.200000;
+ }
+ SUB(laser_gauntlet) {
+       MY(airfriction) = 12;
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 512;
+       MY(alpha_fade) = 6280;
+       MY(color_min) = "0xff4200";
+       MY(color_max) = "0xff0000";
+       MY(count) = 6;
+       MY(originjitter) = '2.0 2.0 2.0';
+       MY(sizeincrease) = -100;
+       MY(size_min) = 7;
+       MY(size_max) = 9;
+       MY(stretchfactor) = 2;
+       MY(tex_min) = 8;
+       MY(tex_max) = 15;
+       MY(type) = "spark";
+       MY(velocityjitter) = '100.0 100.0 100.0';
+       MY(velocitymultiplier) = 0.200000;
+ }
+ DEF(laser_gauntletmuzzleflash);
+ // glow and light
+ SUB(laser_gauntletmuzzleflash) {
+       MY(airfriction) = 10;
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 512;
+       MY(alpha_fade) = 6280;
+       MY(color_min) = "0x220000";
+       MY(color_max) = "0x880000";
+       MY(countabsolute) = 1;
+       MY(lightcolor) = '3.0 0.1 0.1';
+       MY(lightradiusfade) = 500;
+       MY(lightradius) = 150;
+       MY(sizeincrease) = -100;
+       MY(size_min) = 10;
+       MY(size_max) = 15;
+       MY(stretchfactor) = 2;
+       MY(tex_min) = 65;
+       MY(tex_max) = 65;
+       MY(type) = "smoke";
+ }
+ // electricity
+ SUB(laser_gauntletmuzzleflash) {
+       MY(airfriction) = 10;
+       MY(alpha_min) = 128;
+       MY(alpha_max) = 512;
+       MY(alpha_fade) = 6280;
+       MY(color_min) = "0xb44215";
+       MY(color_max) = "0x880000";
+       MY(count) = 3;
+       MY(originjitter) = '2.0 2.0 2.0';
+       MY(startangle_min) = -180;
+       MY(startangle_max) = 180;
+       MY(spin_min) = 4000;
+       MY(spin_max) = -4000;
+       MY(sizeincrease) = -100;
+       MY(size_min) = 7;
+       MY(size_max) = 10;
+       MY(stretchfactor) = 2.300000;
+       MY(tex_min) = 43;
+       MY(tex_max) = 43;
+       MY(type) = "spark";
+       MY(velocityjitter) = '150.0 150.0 150.0';
+       MY(velocitymultiplier) = 0.200000;
+ }
+ // fire
+ SUB(laser_gauntletmuzzleflash) {
+       MY(airfriction) = 12;
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 512;
+       MY(alpha_fade) = 6280;
+       MY(color_min) = "0xff4200";
+       MY(color_max) = "0xff0000";
+       MY(count) = 6;
+       MY(originjitter) = '2.0 2.0 2.0';
+       MY(sizeincrease) = -100;
+       MY(size_min) = 7;
+       MY(size_max) = 9;
+       MY(stretchfactor) = 2;
+       MY(tex_min) = 8;
+       MY(tex_max) = 15;
+       MY(type) = "spark";
+       MY(velocityjitter) = '100.0 100.0 100.0';
+       MY(velocitymultiplier) = 0.200000;
+ }
+ // torch flame, spawn it as fast as you can  20 times per second or more, supports direction but not required
+ DEF(torchflame);
+ // fast fire
+ SUB(torchflame) {
+       MY(airfriction) = 1.200000;
+       MY(alpha_min) = 50;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 250;
+       MY(color_min) = "0x8f0d00";
+       MY(color_max) = "0xff5a00";
+       MY(count) = 3;
+       MY(gravity) = -0.060000;
+       MY(sizeincrease) = 20;
+       MY(size_min) = 5;
+       MY(size_max) = 5;
+       MY(tex_min) = 48;
+       MY(tex_max) = 55;
+       MY(type) = "smoke";
+       MY(velocityjitter) = '40.0 40.0 11.0';
+       MY(velocitymultiplier) = 30;
+ }
+ // slow fire
+ SUB(torchflame) {
+       MY(airfriction) = 1.200000;
+       MY(alpha_min) = 50;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 200;
+       MY(color_min) = "0x8f0d00";
+       MY(color_max) = "0xff5a00";
+       MY(count) = 2.500000;
+       MY(gravity) = -0.060000;
+       MY(sizeincrease) = 20;
+       MY(size_min) = 5;
+       MY(size_max) = 5;
+       MY(tex_min) = 48;
+       MY(tex_max) = 55;
+       MY(type) = "smoke";
+       MY(velocityjitter) = '40.0 40.0 40.0';
+       MY(velocitymultiplier) = 20;
+ }
+ // very slow and small fire
+ SUB(torchflame) {
+       MY(airfriction) = 0.300000;
+       MY(alpha_min) = 50;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 200;
+       MY(color_min) = "0x8f0d00";
+       MY(color_max) = "0xff5a00";
+       MY(count) = 1.500000;
+       MY(gravity) = -0.060000;
+       MY(sizeincrease) = 10;
+       MY(size_min) = 5;
+       MY(size_max) = 5;
+       MY(tex_min) = 48;
+       MY(tex_max) = 55;
+       MY(type) = "smoke";
+       MY(velocityjitter) = '30.0 30.0 30.0';
+       MY(velocitymultiplier) = 10;
+ }
+ // decreasing fire
+ SUB(torchflame) {
+       MY(airfriction) = 0.300000;
+       MY(alpha_min) = 50;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 200;
+       MY(color_min) = "0x8f0d00";
+       MY(color_max) = "0xff5a00";
+       MY(count) = 2;
+       MY(gravity) = -0.060000;
+       MY(sizeincrease) = -10;
+       MY(size_min) = 20;
+       MY(size_max) = 30;
+       MY(tex_min) = 48;
+       MY(tex_max) = 55;
+       MY(type) = "smoke";
+       MY(velocityjitter) = '10.0 10.0 10.0';
+       MY(velocitymultiplier) = 15;
+ }
+ // smoke
+ SUB(torchflame) {
+       MY(airfriction) = 1;
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 90;
+       MY(color_min) = "0x000000";
+       MY(color_max) = "0x111111";
+       MY(count) = 0.500000;
+       MY(originjitter) = '10.0 10.0 10.0';
+       MY(sizeincrease) = 7;
+       MY(size_min) = 5;
+       MY(size_max) = 15;
+       MY(tex_max) = 8;
+       MY(type) = "alphastatic";
+       MY(velocitymultiplier) = 20;
+       MY(velocityoffset) = '0.0 0.0 10.0';
+ }
+ #include "effectinfo_gentle_happy.inc"
+ DEF(electro_lightning);
+ SUB(electro_lightning) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(countabsolute) = 1;
+       MY(lightcolor) = '3.1 4.4 10.0';
+       MY(lightradiusfade) = 500;
+       MY(lightradius) = 50;
+       MY(originjitter) = '2.0 2.0 2.0';
+       MY(size_min) = 16;
+       MY(size_max) = 16;
+       MY(tex_min) = 59;
+       MY(tex_max) = 59;
+       MY(type) = "decal";
+ }
+ SUB(electro_lightning) {
+       MY(alpha_min) = 100;
+       MY(alpha_max) = 206;
+       MY(alpha_fade) = 1724;
+       MY(color_min) = "0x2030FF";
+       MY(color_max) = "0x80C0FF";
+       MY(count) = 300;
+       MY(originjitter) = '1.5 1.5 1.5';
+       MY(sizeincrease) = 10;
+       MY(size_min) = 6;
+       MY(size_max) = 6;
+       MY(tex_min) = 65;
+       MY(tex_max) = 65;
+       MY(type) = "spark";
+       MY(velocityjitter) = '6.0 6.0 6.0';
+       MY(velocitymultiplier) = 2000;
+ }
+ SUB(electro_lightning) {
+       MY(airfriction) = 2;
+       MY(alpha_min) = 110;
+       MY(alpha_max) = 170;
+       MY(alpha_fade) = 1500;
+       MY(color_min) = "0xDDFDFF";
+       MY(color_max) = "0xFDFDFF";
+       MY(count) = 30;
+       MY(originjitter) = '1.0 1.0 1.0';
+       MY(size_min) = 2;
+       MY(size_max) = 5;
+       MY(stretchfactor) = 1.500000;
+       MY(tex_min) = 8;
+       MY(tex_max) = 15;
+       MY(type) = "spark";
+       MY(velocityjitter) = '150.0 150.0 150.0';
+       MY(velocitymultiplier) = 0.500000;
+ }
+ SUB(electro_lightning) {
+       MY(airfriction) = 8;
+       MY(alpha_min) = 110;
+       MY(alpha_max) = 170;
+       MY(alpha_fade) = 1500;
+       MY(color_min) = "0xFDFDFF";
+       MY(color_max) = "0xF9FDFF";
+       MY(count) = 50;
+       MY(gravity) = 1.300000;
+       MY(originjitter) = '1.0 1.0 1.0';
+       MY(size_min) = 2;
+       MY(size_max) = 3;
+       MY(stretchfactor) = 0.100000;
+       MY(tex_min) = 41;
+       MY(tex_max) = 41;
+       MY(type) = "spark";
+       MY(velocityjitter) = '350.0 350.0 350.0';
+       MY(velocitymultiplier) = 2.500000;
+ }
+ DEF(gauntlet_lightning);
+ SUB(gauntlet_lightning) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 1024;
+       MY(color_min) = "0x280000";
+       MY(color_max) = "0x280000";
+       MY(count) = 300;
+       MY(originjitter) = '1.5 1.5 1.5';
+       MY(sizeincrease) = 15;
+       MY(size_min) = 3;
+       MY(size_max) = 3;
+       MY(tex_min) = 65;
+       MY(tex_max) = 65;
+       MY(type) = "spark";
+       MY(velocityjitter) = '6.0 6.0 6.0';
+       MY(velocitymultiplier) = 2000;
+ }
+ SUB(gauntlet_lightning) {
+       MY(airfriction) = 2;
+       MY(alpha_min) = 110;
+       MY(alpha_max) = 228;
+       MY(alpha_fade) = 1024;
+       MY(color_min) = "0xDD0000";
+       MY(color_max) = "0xFD0000";
+       MY(count) = 30;
+       MY(originjitter) = '1.0 1.0 1.0';
+       MY(size_min) = 2;
+       MY(size_max) = 5;
+       MY(stretchfactor) = 1.500000;
+       MY(tex_min) = 8;
+       MY(tex_max) = 15;
+       MY(type) = "spark";
+       MY(velocityjitter) = '150.0 150.0 150.0';
+       MY(velocitymultiplier) = 0.500000;
+ }
+ SUB(gauntlet_lightning) {
+       MY(airfriction) = 8;
+       MY(alpha_min) = 110;
+       MY(alpha_max) = 228;
+       MY(alpha_fade) = 600;
+       MY(color_min) = "0xFD0000";
+       MY(color_max) = "0xF90000";
+       MY(count) = 50;
+       MY(gravity) = 1.300000;
+       MY(originjitter) = '1.0 1.0 1.0';
+       MY(size_min) = 2;
+       MY(size_max) = 3;
+       MY(stretchfactor) = 0.100000;
+       MY(tex_min) = 41;
+       MY(tex_max) = 41;
+       MY(type) = "spark";
+       MY(velocityjitter) = '350.0 350.0 350.0';
+       MY(velocitymultiplier) = 2.500000;
+ }
+ DEF(crylink_joinexplode);
+ // decal
+ SUB(crylink_joinexplode) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(countabsolute) = 1;
+       MY(originjitter) = '12.0 12.0 12.0';
+       MY(size_min) = 24;
+       MY(size_max) = 24;
+       MY(tex_min) = 47;
+       MY(tex_max) = 47;
+       MY(type) = "decal";
+ }
+ // purple flare effect
+ SUB(crylink_joinexplode) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 512;
+       MY(color_min) = "0x504060";
+       MY(color_max) = "0x504060";
+       MY(countabsolute) = 1;
+       MY(size_min) = 24;
+       MY(size_max) = 24;
+       MY(tex_min) = 39;
+       MY(tex_max) = 39;
+       MY(type) = "static";
+ }
+ // purple sparks
+ SUB(crylink_joinexplode) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 1024;
+       MY(bounce) = 2;
+       MY(color_min) = "0xA040C0";
+       MY(color_max) = "0xA040C0";
+       MY(count) = 40;
+       MY(size_min) = 6;
+       MY(size_max) = 6;
+       MY(tex_min) = 41;
+       MY(tex_max) = 41;
+       MY(type) = "spark";
+       MY(velocityjitter) = '512.0 512.0 512.0';
+ }
+ // purple splash
+ SUB(crylink_joinexplode) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 512;
+       MY(color_min) = "0xE070FF";
+       MY(color_max) = "0xE070FF";
+       MY(count) = 1.500000;
+       MY(size_min) = 16;
+       MY(size_max) = 16;
+       MY(type) = "static";
+       MY(velocityjitter) = '32.0 32.0 32.0';
+ }
+ // purple splash
+ SUB(crylink_joinexplode) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 1024;
+       MY(color_min) = "0xE070FF";
+       MY(color_max) = "0xE070FF";
+       MY(count) = 3;
+       MY(size_min) = 16;
+       MY(size_max) = 16;
+       MY(type) = "static";
+       MY(velocityjitter) = '256.0 256.0 256.0';
+ }
+ // sparks for keepaway ball touch
+ DEF(kaball_sparks);
+ SUB(kaball_sparks) {
+       MY(airfriction) = 3;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 556;
+       MY(bounce) = 1.500000;
+       MY(color_min) = "0xa9cacf";
+       MY(color_max) = "0x0054ff";
+       MY(count) = 35;
+       MY(gravity) = 1;
+       MY(originjitter) = '1.0 1.0 1.0';
+       MY(size_min) = 1;
+       MY(size_max) = 3;
+       MY(tex_min) = 40;
+       MY(tex_max) = 40;
+       MY(type) = "spark";
+       MY(velocityjitter) = '300.0 300.0 300.0';
+       MY(velocitymultiplier) = 0.500000;
+ }
+ // weak rifle bullet trail (somewhat like a tracer)
+ DEF(tr_rifle_weak);
+ SUB(tr_rifle_weak) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 2560;
+       MY(color_min) = "0x800000";
+       MY(color_max) = "0xFF8020";
+       MY(size_min) = 1.500000;
+       MY(size_max) = 1.500000;
+       MY(stretchfactor) = 1;
+       MY(trailspacing) = 128;
+       MY(type) = "spark";
+       MY(velocitymultiplier) = 0.700000;
+ }
+ SUB(tr_rifle_weak) {
+       MY(airfriction) = -4;
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 256;
+       MY(color_min) = "0x202020";
+       MY(color_max) = "0x404040";
+       MY(notunderwater) = true;
+       MY(sizeincrease) = 0.400000;
+       MY(size_min) = 4;
+       MY(size_max) = 4;
+       MY(tex_max) = 8;
+       MY(trailspacing) = 48;
+       MY(type) = "smoke";
+       MY(velocityjitter) = '4.0 4.0 4.0';
+ }
+ SUB(tr_rifle_weak) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 128;
+       MY(bounce) = 1.500000;
+       MY(color_min) = "0x404040";
+       MY(color_max) = "0x808080";
+       MY(gravity) = -0.125000;
+       MY(liquidfriction) = 4;
+       MY(size_min) = 2;
+       MY(size_max) = 2;
+       MY(tex_min) = 62;
+       MY(tex_max) = 62;
+       MY(trailspacing) = 192;
+       MY(type) = "bubble";
+       MY(underwater) = true;
+       MY(velocityjitter) = '16.0 16.0 16.0';
+ }
+ // red smoke emiter
+ DEF(red_smoke);
+ SUB(red_smoke) {
+       MY(airfriction) = -1;
+       MY(alpha_min) = 32;
+       MY(alpha_max) = 64;
+       MY(alpha_fade) = 32;
+       MY(color_min) = "0xff8866";
+       MY(color_max) = "0x331100";
+       MY(count) = 2;
+       MY(gravity) = -0.007000;
+       MY(startangle_max) = 360;
+       MY(spin_min) = -30;
+       MY(spin_max) = 30;
+       MY(size_min) = 60;
+       MY(size_max) = 120;
+       MY(tex_max) = 8;
+       MY(type) = "smoke";
+       MY(velocitymultiplier) = 5;
+ }
+ // pipe smoke emiter
+ DEF(pipe_smoke);
+ SUB(pipe_smoke) {
+       MY(airfriction) = -1;
+       MY(alpha_min) = 32;
+       MY(alpha_max) = 64;
+       MY(alpha_fade) = 48;
+       MY(color_min) = "0x999999";
+       MY(color_max) = "0x555555";
+       MY(count) = 2;
+       MY(gravity) = -0.015000;
+       MY(startangle_max) = 360;
+       MY(spin_min) = -180;
+       MY(spin_max) = 180;
+       MY(sizeincrease) = 35;
+       MY(size_min) = 5;
+       MY(size_max) = 10;
+       MY(tex_max) = 8;
+       MY(type) = "smoke";
+       MY(velocityjitter) = '0.0 0.0 5.0';
+       MY(velocitymultiplier) = 15;
+ }
+ // seeker missile trail
+ DEF(TR_SEEKER);
+ SUB(TR_SEEKER) {
+       MY(alpha_min) = 200;
+       MY(alpha_max) = 300;
+       MY(alpha_fade) = 200;
+       MY(bounce) = 1;
+       MY(color_min) = "0x000000";
+       MY(color_max) = "0x666666";
+       MY(lightcolor) = '6.0 3.0 1.0';
+       MY(lightradius) = 100;
+       MY(notunderwater) = true;
+       MY(originjitter) = '2.0 2.0 2.0';
+       MY(startangle_min) = -180;
+       MY(startangle_max) = 180;
+       MY(spin_min) = -30;
+       MY(spin_max) = 30;
+       MY(sizeincrease) = 11;
+       MY(size_min) = 2;
+       MY(size_max) = 2;
+       MY(tex_max) = 8;
+       MY(trailspacing) = 10;
+       MY(type) = "smoke";
+       MY(velocityjitter) = '3.0 3.0 3.0';
+       MY(velocitymultiplier) = -0.020000;
+ }
+ // fire
+ SUB(TR_SEEKER) {
+       MY(airfriction) = 8;
+       MY(alpha_min) = 100;
+       MY(alpha_max) = 144;
+       MY(alpha_fade) = 588;
+       MY(color_min) = "0xffdf72";
+       MY(color_max) = "0x811200";
+       MY(sizeincrease) = -30;
+       MY(size_min) = 5;
+       MY(size_max) = 5;
+       MY(tex_min) = 48;
+       MY(tex_max) = 55;
+       MY(trailspacing) = 4;
+       MY(type) = "static";
+       MY(velocityjitter) = '32.0 32.0 32.0';
+       MY(velocitymultiplier) = -1.500000;
+ }
+ // bubbles
+ SUB(TR_SEEKER) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 256;
+       MY(bounce) = 1.500000;
+       MY(gravity) = -0.125000;
+       MY(liquidfriction) = 4;
+       MY(size_min) = 1;
+       MY(size_max) = 2;
+       MY(tex_min) = 62;
+       MY(tex_max) = 62;
+       MY(trailspacing) = 16;
+       MY(type) = "bubble";
+       MY(underwater) = true;
+       MY(velocityjitter) = '16.0 16.0 16.0';
+       MY(velocitymultiplier) = -0.310000;
+ }
+ // sparks
+ SUB(TR_SEEKER) {
+       MY(airfriction) = 5;
+       MY(alpha_min) = 444;
+       MY(alpha_max) = 512;
+       MY(alpha_fade) = 1866;
+       MY(bounce) = 1;
+       MY(color_min) = "0xFFFDD9";
+       MY(color_max) = "0xFFFDD9";
+       MY(notunderwater) = true;
+       MY(originjitter) = '1.0 1.0 1.0';
+       MY(size_min) = 0.500000;
+       MY(size_max) = 0.500000;
+       MY(stretchfactor) = 0.300000;
+       MY(tex_min) = 40;
+       MY(tex_max) = 40;
+       MY(trailspacing) = 20;
+       MY(type) = "spark";
+       MY(velocityjitter) = '100.0 100.0 100.0';
+       MY(velocitymultiplier) = -0.310000;
+ }
+ #include "effectinfo_vehicles.inc"
+ // generic explosion size:big (biggest explosion ever)
+ DEF(explosion_big);
+ // decal
+ SUB(explosion_big) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(countabsolute) = 1;
+       MY(lightcolor) = '8.0 4.0 0.0';
+       MY(lightradiusfade) = 1750;
+       MY(lightradius) = 600;
+       MY(originjitter) = '23.0 23.0 23.0';
+       MY(size_min) = 172;
+       MY(size_max) = 172;
+       MY(tex_min) = 8;
+       MY(tex_max) = 16;
+       MY(type) = "decal";
+ }
+ // shockwave
+ SUB(explosion_big) {
+       MY(alpha_min) = 56;
+       MY(alpha_max) = 56;
+       MY(alpha_fade) = 330;
+       MY(color_min) = "0x8f0d00";
+       MY(color_max) = "0xff5a00";
+       MY(countabsolute) = 1;
+       MY(sizeincrease) = 4400;
+       MY(size_min) = 72;
+       MY(size_max) = 72;
+       MY(tex_min) = 33;
+       MY(tex_max) = 33;
+       MY(type) = "static";
+ }
+ // fire effect
+ SUB(explosion_big) {
+       MY(airfriction) = 8;
+       MY(alpha_min) = 200;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 712;
+       MY(color_min) = "0x8f0d00";
+       MY(color_max) = "0xff5a00";
+       MY(count) = 64;
+       MY(liquidfriction) = 8;
+       MY(notunderwater) = true;
+       MY(originjitter) = '80.0 80.0 80.0';
+       MY(sizeincrease) = 45;
+       MY(size_min) = 133;
+       MY(size_max) = 144;
+       MY(tex_min) = 48;
+       MY(tex_max) = 55;
+       MY(type) = "static";
+       MY(velocityjitter) = '2512.0 2512.0 2512.0';
+ }
+ // fire rays
+ SUB(explosion_big) {
+       MY(airfriction) = -5;
+       MY(alpha_min) = 200;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 800;
+       MY(color_min) = "0x8f0d00";
+       MY(color_max) = "0xff5a00";
+       MY(count) = 64;
+       MY(liquidfriction) = 8;
+       MY(notunderwater) = true;
+       MY(originjitter) = '40.0 40.0 40.0';
+       MY(sizeincrease) = 45;
+       MY(size_min) = 133;
+       MY(size_max) = 144;
+       MY(stretchfactor) = 10;
+       MY(tex_min) = 48;
+       MY(tex_max) = 55;
+       MY(type) = "spark";
+       MY(velocityjitter) = '512.0 512.0 512.0';
+ }
+ // smoke
+ SUB(explosion_big) {
+       MY(airfriction) = 8;
+       MY(alpha_min) = 300;
+       MY(alpha_max) = 650;
+       MY(alpha_fade) = 456;
+       MY(color_min) = "0x4F4B46";
+       MY(color_max) = "0x000000";
+       MY(count) = 32;
+       MY(notunderwater) = true;
+       MY(sizeincrease) = 244;
+       MY(size_min) = 50;
+       MY(size_max) = 100;
+       MY(tex_max) = 8;
+       MY(type) = "alphastatic";
+       MY(velocityjitter) = '3444.0 3444.0 3444.0';
+ }
+ // bouncing sparks
+ SUB(explosion_big) {
+       MY(airfriction) = 1;
+       MY(alpha_min) = 644;
+       MY(alpha_max) = 956;
+       MY(alpha_fade) = 1284;
+       MY(color_min) = "0xffa35b";
+       MY(color_max) = "0xfff2be";
+       MY(count) = 34;
+       MY(gravity) = 1;
+       MY(liquidfriction) = 0.800000;
+       MY(notunderwater) = true;
+       MY(originjitter) = '160.0 160.0 160.0';
+       MY(size_min) = 3;
+       MY(size_max) = 4;
+       MY(stretchfactor) = 0.700000;
+       MY(tex_min) = 40;
+       MY(tex_max) = 40;
+       MY(type) = "spark";
+       MY(velocityjitter) = '924.0 924.0 924.0';
+       MY(velocityoffset) = '0.0 0.0 370.0';
+ }
+ // debris
+ SUB(explosion_big) {
+       MY(airfriction) = 0.500000;
+       MY(alpha_min) = 444;
+       MY(alpha_max) = 1356;
+       MY(alpha_fade) = 1184;
+       MY(color_min) = "0xFFFFFF";
+       MY(color_max) = "0xcac5b4";
+       MY(count) = 16;
+       MY(gravity) = 2.300000;
+       MY(notunderwater) = true;
+       MY(startangle_min) = -180;
+       MY(startangle_max) = 180;
+       MY(spin_min) = -1000;
+       MY(spin_max) = 1000;
+       MY(sizeincrease) = -5;
+       MY(size_min) = 10;
+       MY(size_max) = 16;
+       MY(tex_min) = 66;
+       MY(tex_max) = 68;
+       MY(type) = "alphastatic";
+       MY(velocityjitter) = '1800.0 1800.0 1800.0';
+       MY(velocityoffset) = '0.0 0.0 970.0';
+ }
+ // underwater bubbles
+ SUB(explosion_big) {
+       MY(alpha_min) = 128;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 64;
+       MY(bounce) = 1.500000;
+       MY(color_min) = "0x404040";
+       MY(color_max) = "0x808080";
+       MY(count) = 32;
+       MY(gravity) = -0.125000;
+       MY(liquidfriction) = 0.250000;
+       MY(originjitter) = '160.0 160.0 160.0';
+       MY(size_min) = 3;
+       MY(size_max) = 3;
+       MY(tex_min) = 62;
+       MY(tex_max) = 62;
+       MY(type) = "bubble";
+       MY(underwater) = true;
+       MY(velocityjitter) = '444.0 444.0 444.0';
+ }
+ // underwatershockwave
+ SUB(explosion_big) {
+       MY(alpha_min) = 40;
+       MY(alpha_max) = 40;
+       MY(alpha_fade) = 300;
+       MY(countabsolute) = 1;
+       MY(sizeincrease) = 2900;
+       MY(size_min) = 30;
+       MY(size_max) = 30;
+       MY(tex_min) = 33;
+       MY(tex_max) = 33;
+       MY(type) = "smoke";
+       MY(underwater) = true;
+       MY(velocitymultiplier) = 0.300000;
+ }
+ // generic explosion size:medium (it leaves rising smoke for a longer time)
+ DEF(explosion_medium);
+ // shockwave
+ SUB(explosion_medium) {
+       MY(alpha_min) = 56;
+       MY(alpha_max) = 56;
+       MY(alpha_fade) = 330;
+       MY(color_min) = "0x8f0d00";
+       MY(color_max) = "0xff5a00";
+       MY(countabsolute) = 1;
+       MY(sizeincrease) = 2400;
+       MY(size_min) = 72;
+       MY(size_max) = 72;
+       MY(tex_min) = 33;
+       MY(tex_max) = 33;
+       MY(type) = "static";
+ }
+ // fire effect
+ SUB(explosion_medium) {
+       MY(airfriction) = 8;
+       MY(alpha_min) = 200;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 712;
+       MY(color_min) = "0x8f0d00";
+       MY(color_max) = "0xff5a00";
+       MY(count) = 32;
+       MY(liquidfriction) = 8;
+       MY(notunderwater) = true;
+       MY(originjitter) = '30.0 30.0 30.0';
+       MY(startangle_min) = -180;
+       MY(startangle_max) = 180;
+       MY(spin_min) = -500;
+       MY(spin_max) = 500;
+       MY(sizeincrease) = 45;
+       MY(size_min) = 133;
+       MY(size_max) = 144;
+       MY(tex_min) = 48;
+       MY(tex_max) = 55;
+       MY(type) = "static";
+       MY(velocityjitter) = '1512.0 1512.0 1512.0';
+ }
+ // fire effect 2
+ SUB(explosion_medium) {
+       MY(airfriction) = 8;
+       MY(alpha_min) = 200;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 612;
+       MY(color_min) = "0x8f0d00";
+       MY(color_max) = "0xff5a00";
+       MY(count) = 32;
+       MY(gravity) = -2;
+       MY(liquidfriction) = 8;
+       MY(notunderwater) = true;
+       MY(originjitter) = '30.0 30.0 30.0';
+       MY(startangle_min) = -180;
+       MY(startangle_max) = 180;
+       MY(spin_min) = -150;
+       MY(spin_max) = 150;
+       MY(sizeincrease) = 40;
+       MY(size_min) = 73;
+       MY(size_max) = 94;
+       MY(tex_min) = 48;
+       MY(tex_max) = 55;
+       MY(type) = "static";
+       MY(velocityjitter) = '1512.0 1512.0 1512.0';
+ }
+ // fire rays
+ SUB(explosion_medium) {
+       MY(airfriction) = -3;
+       MY(alpha_min) = 200;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 800;
+       MY(color_min) = "0x8f0d00";
+       MY(color_max) = "0xff5a00";
+       MY(count) = 14;
+       MY(liquidfriction) = 8;
+       MY(notunderwater) = true;
+       MY(originjitter) = '40.0 40.0 40.0';
+       MY(sizeincrease) = 40;
+       MY(size_min) = 43;
+       MY(size_max) = 74;
+       MY(stretchfactor) = 8;
+       MY(tex_min) = 48;
+       MY(tex_max) = 55;
+       MY(type) = "spark";
+       MY(velocityjitter) = '512.0 512.0 512.0';
+ }
+ // smoke
+ SUB(explosion_medium) {
+       MY(airfriction) = 3;
+       MY(alpha_min) = 300;
+       MY(alpha_max) = 650;
+       MY(alpha_fade) = 756;
+       MY(color_min) = "0x4F4B46";
+       MY(color_max) = "0x000000";
+       MY(count) = 5;
+       MY(notunderwater) = true;
+       MY(originjitter) = '100.0 100.0 100.0';
+       MY(startangle_min) = -180;
+       MY(startangle_max) = 180;
+       MY(spin_min) = -20;
+       MY(spin_max) = 20;
+       MY(sizeincrease) = -30;
+       MY(size_min) = 250;
+       MY(size_max) = 300;
+       MY(tex_max) = 8;
+       MY(type) = "alphastatic";
+       MY(velocityjitter) = '200.0 200.0 200.0';
+ }
+ // smoke 2
+ SUB(explosion_medium) {
+       MY(airfriction) = 3;
+       MY(alpha_min) = 300;
+       MY(alpha_max) = 650;
+       MY(alpha_fade) = 256;
+       MY(color_min) = "0x4F4B46";
+       MY(color_max) = "0x000000";
+       MY(count) = 10;
+       MY(gravity) = -0.300000;
+       MY(notunderwater) = true;
+       MY(originjitter) = '100.0 100.0 100.0';
+       MY(startangle_min) = -180;
+       MY(startangle_max) = 180;
+       MY(spin_min) = -20;
+       MY(spin_max) = 20;
+       MY(sizeincrease) = 50;
+       MY(size_min) = 50;
+       MY(size_max) = 100;
+       MY(tex_max) = 8;
+       MY(type) = "alphastatic";
+       MY(velocityjitter) = '500.0 500.0 500.0';
+       MY(velocityoffset) = '0.0 0.0 200.0';
+ }
+ // smoke rays
+ SUB(explosion_medium) {
+       MY(alpha_min) = 140;
+       MY(alpha_max) = 255;
+       MY(alpha_fade) = 350;
+       MY(color_min) = "0x4F4B46";
+       MY(color_max) = "0x000000";
+       MY(count) = 13;
+       MY(notunderwater) = true;
+       MY(originjitter) = '40.0 40.0 40.0';
+       MY(sizeincrease) = 100;
+       MY(size_min) = 150;
+       MY(size_max) = 200;
+       MY(stretchfactor) = 50;
+       MY(tex_max) = 8;
+       MY(type) = "spark";
+       MY(velocityjitter) = '250.0 250.0 250.0';
+ }
+ // bouncing sparks
+ SUB(explosion_medium) {
+       MY(airfriction) = 1;
+       MY(alpha_min) = 644;
+       MY(alpha_max) = 956;
+       MY(alpha_fade) = 984;
+       MY(color_min) = "0xffa35b";
+       MY(color_max) = "0xfff2be";
+       MY(count) = 14;
+       MY(gravity) = 1;
+       MY(liquidfriction) = 0.800000;
+       MY(notunderwater) = true;
+       MY(originjitter) = '100.0 100.0 100.0';
+       MY(size_min) = 2;
+       MY(size_max) = 3;
+       MY(stretchfactor) = 0.700000;
+       MY(tex_min) = 40;
+       MY(tex_max) = 40;
+       MY(type) = "spark";
+       MY(velocityjitter) = '624.0 624.0 624.0';
+       MY(velocityoffset) = '0.0 0.0 370.0';
+ }
+ // underwater bubbles
+ SUB(explosion_medium) {
+       MY(alpha_min) = 128;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 64;
+       MY(bounce) = 1.500000;
+       MY(color_min) = "0x404040";
+       MY(color_max) = "0x808080";
+       MY(count) = 32;
+       MY(gravity) = -0.125000;
+       MY(liquidfriction) = 0.250000;
+       MY(originjitter) = '160.0 160.0 160.0';
+       MY(size_min) = 3;
+       MY(size_max) = 3;
+       MY(tex_min) = 62;
+       MY(tex_max) = 62;
+       MY(type) = "bubble";
+       MY(underwater) = true;
+       MY(velocityjitter) = '444.0 444.0 444.0';
+ }
+ // underwatershockwave
+ SUB(explosion_medium) {
+       MY(alpha_min) = 40;
+       MY(alpha_max) = 40;
+       MY(alpha_fade) = 300;
+       MY(countabsolute) = 1;
+       MY(sizeincrease) = 2900;
+       MY(size_min) = 30;
+       MY(size_max) = 30;
+       MY(tex_min) = 33;
+       MY(tex_max) = 33;
+       MY(type) = "smoke";
+       MY(underwater) = true;
+       MY(velocitymultiplier) = 0.300000;
+ }
+ // generic explosion size:small (its fire only, made to support other explosions)
+ DEF(explosion_small);
+ // shockwave
+ SUB(explosion_small) {
+       MY(alpha_min) = 56;
+       MY(alpha_max) = 56;
+       MY(alpha_fade) = 330;
+       MY(color_min) = "0x8f0d00";
+       MY(color_max) = "0xff5a00";
+       MY(countabsolute) = 1;
+       MY(sizeincrease) = 2400;
+       MY(size_min) = 22;
+       MY(size_max) = 22;
+       MY(tex_min) = 33;
+       MY(tex_max) = 33;
+       MY(type) = "static";
+ }
+ // fire effect
+ SUB(explosion_small) {
+       MY(airfriction) = 5;
+       MY(alpha_min) = 200;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 1212;
+       MY(color_min) = "0x8f0d00";
+       MY(color_max) = "0xff5a00";
+       MY(count) = 16;
+       MY(liquidfriction) = 8;
+       MY(notunderwater) = true;
+       MY(startangle_min) = -180;
+       MY(startangle_max) = 180;
+       MY(spin_min) = -500;
+       MY(spin_max) = 500;
+       MY(sizeincrease) = 45;
+       MY(size_min) = 1;
+       MY(size_max) = 44;
+       MY(tex_min) = 48;
+       MY(tex_max) = 55;
+       MY(type) = "static";
+       MY(velocityjitter) = '512.0 512.0 512.0';
+ }
+ // fire effect 2
+ SUB(explosion_small) {
+       MY(airfriction) = 8;
+       MY(alpha_min) = 200;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 812;
+       MY(color_min) = "0x8f0d00";
+       MY(color_max) = "0xff5a00";
+       MY(count) = 16;
+       MY(liquidfriction) = 8;
+       MY(notunderwater) = true;
+       MY(startangle_min) = -180;
+       MY(startangle_max) = 180;
+       MY(spin_min) = -150;
+       MY(spin_max) = 150;
+       MY(sizeincrease) = 40;
+       MY(size_min) = 73;
+       MY(size_max) = 94;
+       MY(tex_min) = 48;
+       MY(tex_max) = 55;
+       MY(type) = "static";
+       MY(velocityjitter) = '912.0 912.0 912.0';
+ }
+ // fire rays
+ SUB(explosion_small) {
+       MY(airfriction) = -3;
+       MY(alpha_min) = 200;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 1300;
+       MY(color_min) = "0x8f0d00";
+       MY(color_max) = "0xff5a00";
+       MY(count) = 14;
+       MY(liquidfriction) = 8;
+       MY(notunderwater) = true;
+       MY(originjitter) = '40.0 40.0 40.0';
+       MY(sizeincrease) = 30;
+       MY(size_min) = 13;
+       MY(size_max) = 54;
+       MY(stretchfactor) = 8;
+       MY(tex_min) = 48;
+       MY(tex_max) = 55;
+       MY(type) = "spark";
+       MY(velocityjitter) = '512.0 512.0 512.0';
+ }
+ // underwater bubbles
+ SUB(explosion_small) {
+       MY(alpha_min) = 128;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 64;
+       MY(bounce) = 1.500000;
+       MY(color_min) = "0x404040";
+       MY(color_max) = "0x808080";
+       MY(count) = 32;
+       MY(gravity) = -0.125000;
+       MY(liquidfriction) = 0.250000;
+       MY(originjitter) = '160.0 160.0 160.0';
+       MY(size_min) = 1;
+       MY(size_max) = 3;
+       MY(tex_min) = 62;
+       MY(tex_max) = 62;
+       MY(type) = "bubble";
+       MY(underwater) = true;
+       MY(velocityjitter) = '144.0 144.0 144.0';
+ }
+ // underwatershockwave
+ SUB(explosion_small) {
+       MY(alpha_min) = 40;
+       MY(alpha_max) = 40;
+       MY(alpha_fade) = 300;
+       MY(countabsolute) = 1;
+       MY(sizeincrease) = 1200;
+       MY(size_min) = 30;
+       MY(size_max) = 30;
+       MY(tex_min) = 33;
+       MY(tex_max) = 33;
+       MY(type) = "smoke";
+       MY(underwater) = true;
+ }
+ // big smoke ( for spamming on damaged stuff )
+ DEF(smoke_big);
+ SUB(smoke_big) {
+       MY(airfriction) = 4;
+       MY(alpha_min) = 200;
+       MY(alpha_max) = 750;
+       MY(alpha_fade) = 200;
+       MY(color_min) = "0x4F4B46";
+       MY(color_max) = "0x000000";
+       MY(count) = 3;
+       MY(gravity) = -0.500000;
+       MY(notunderwater) = true;
+       MY(originjitter) = '55.0 55.0 55.0';
+       MY(startangle_min) = -180;
+       MY(startangle_max) = 180;
+       MY(spin_min) = -20;
+       MY(spin_max) = 20;
+       MY(sizeincrease) = 15;
+       MY(size_min) = 30;
+       MY(size_max) = 60;
+       MY(tex_max) = 8;
+       MY(type) = "alphastatic";
+       MY(velocityjitter) = '140.0 140.0 200.0';
+       MY(velocityoffset) = '0.0 0.0 200.0';
+ }
+ // small smoke ( more precise than big one, for spamming on damaged parts like raptors spinner )
+ DEF(smoke_small);
+ SUB(smoke_small) {
+       MY(airfriction) = 4;
+       MY(alpha_min) = 200;
+       MY(alpha_max) = 750;
+       MY(alpha_fade) = 200;
+       MY(color_min) = "0x4F4B46";
+       MY(color_max) = "0x000000";
+       MY(count) = 3;
+       MY(gravity) = -0.500000;
+       MY(notunderwater) = true;
+       MY(startangle_min) = -180;
+       MY(startangle_max) = 180;
+       MY(spin_min) = -20;
+       MY(spin_max) = 20;
+       MY(sizeincrease) = -10;
+       MY(size_min) = 60;
+       MY(size_max) = 100;
+       MY(tex_max) = 8;
+       MY(type) = "alphastatic";
+       MY(velocityjitter) = '40.0 40.0 400.0';
+       MY(velocityoffset) = '0.0 0.0 200.0';
+ }
+ // metal impact effect
+ DEF(impact_metal);
+ SUB(impact_metal) {
+       MY(alpha_min) = 25;
+       MY(alpha_max) = 64;
+       MY(alpha_fade) = 50;
+       MY(color_min) = "0x000000";
+       MY(color_max) = "0x886666";
+       MY(count) = 1;
+       MY(gravity) = -0.010000;
+       MY(originjitter) = '20.0 20.0 5.0';
+       MY(sizeincrease) = 10;
+       MY(size_min) = 3;
+       MY(size_max) = 6;
+       MY(tex_max) = 8;
+       MY(type) = "alphastatic";
+ }
+ // sparks
+ SUB(impact_metal) {
+       MY(airfriction) = 2;
+       MY(alpha_min) = 255;
+       MY(alpha_max) = 255;
+       MY(alpha_fade) = 112;
+       MY(bounce) = 1.800000;
+       MY(color_min) = "0xFFCC22";
+       MY(color_max) = "0xFF4422";
+       MY(count) = 2;
+       MY(gravity) = 1;
+       MY(size_min) = 2;
+       MY(size_max) = 2;
+       MY(stretchfactor) = 0.500000;
+       MY(tex_min) = 41;
+       MY(tex_max) = 41;
+       MY(type) = "spark";
+       MY(velocityjitter) = '200.0 200.0 300.0';
+       MY(velocitymultiplier) = 2;
+ }
+ // stone impact effect
+ DEF(impact_stone);
+ SUB(impact_stone) {
+       MY(alpha_min) = 50;
+       MY(alpha_max) = 128;
+       MY(alpha_fade) = 75;
+       MY(color_min) = "0x000000";
+       MY(color_max) = "0xcc9966";
+       MY(count) = 1;
+       MY(gravity) = -0.010000;
+       MY(originjitter) = '20.0 20.0 5.0';
+       MY(sizeincrease) = 15;
+       MY(size_min) = 3;
+       MY(size_max) = 6;
+       MY(tex_max) = 8;
+       MY(type) = "alphastatic";
+ }
+ // debris
+ SUB(impact_stone) {
+       MY(airfriction) = 0.500000;
+       MY(alpha_min) = 450;
+       MY(alpha_max) = 750;
+       MY(alpha_fade) = 300;
+       MY(bounce) = 1.200000;
+       MY(color_min) = "0x000000";
+       MY(color_max) = "0x886644";
+       MY(count) = 1;
+       MY(gravity) = 1.300000;
+       MY(notunderwater) = true;
+       MY(startangle_min) = -180;
+       MY(startangle_max) = 180;
+       MY(spin_min) = -1000;
+       MY(spin_max) = 1000;
+       MY(size_min) = 1;
+       MY(size_max) = 2;
+       MY(tex_min) = 66;
+       MY(tex_max) = 68;
+       MY(type) = "alphastatic";
+       MY(velocityjitter) = '124.0 124.0 324.0';
+ }
+ // wood impact effect
+ DEF(impact_wood);
+ SUB(impact_wood) {
+       MY(alpha_min) = 50;
+       MY(alpha_max) = 128;
+       MY(alpha_fade) = 75;
+       MY(color_min) = "0x000000";
+       MY(color_max) = "0xcc9966";
+       MY(count) = 1;
+       MY(gravity) = -0.010000;
+       MY(originjitter) = '20.0 20.0 5.0';
+       MY(sizeincrease) = 10;
+       MY(size_min) = 3;
+       MY(size_max) = 6;
+       MY(tex_max) = 8;
+       MY(type) = "alphastatic";
+ }
+ // sparks
+ SUB(impact_wood) {
+       MY(airfriction) = 2;
+       MY(alpha_min) = 255;
+       MY(alpha_max) = 255;
+       MY(alpha_fade) = 75;
+       MY(bounce) = 1.500000;
+       MY(color_min) = "0x221100";
+       MY(color_max) = "0x221100";
+       MY(count) = 2;
+       MY(gravity) = 1;
+       MY(size_min) = 1;
+       MY(size_max) = 8;
+       MY(tex_min) = 41;
+       MY(tex_max) = 41;
+       MY(type) = "spark";
+       MY(velocityjitter) = '180.0 180.0 260.0';
+       MY(velocitymultiplier) = 2;
+ }
+ // flesh impact effect
+ DEF(impact_flesh);
+ SUB(impact_flesh) {
+       MY(alpha_min) = 100;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 400;
+       MY(color_min) = "0x000000";
+       MY(color_max) = "0x420000";
+       MY(count) = 0.500000;
+       MY(originjitter) = '11.0 11.0 11.0';
+       MY(size_min) = 8;
+       MY(size_max) = 12;
+       MY(tex_max) = 8;
+       MY(type) = "alphastatic";
+ }
+ // blood splash
+ SUB(impact_flesh) {
+       MY(airfriction) = 1;
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 64;
+       MY(bounce) = -1;
+       MY(color_min) = "0xA8FFFF";
+       MY(color_max) = "0xA8FFFFF";
+       MY(count) = 0.300000;
+       MY(liquidfriction) = 4;
+       MY(size_min) = 2;
+       MY(size_max) = 6;
+       MY(staincolor_min) = "0x808080";
+       MY(staincolor_max) = "0x808080";
+       MY(staintex_min) = 16;
+       MY(staintex_max) = 24;
+       MY(tex_min) = 24;
+       MY(tex_max) = 32;
+       MY(type) = "blood";
+       MY(velocityjitter) = '96.0 96.0 96.0';
+       MY(velocitymultiplier) = 5;
+ }
+ // hagar trail
+ DEF(tr_hagar);
+ // smoke
+ SUB(tr_hagar) {
+       MY(alpha_min) = 300;
+       MY(alpha_max) = 400;
+       MY(alpha_fade) = 780;
+       MY(bounce) = 1;
+       MY(color_min) = "0x101010";
+       MY(color_max) = "0x000000";
+       MY(originjitter) = '1.0 1.0 1.0';
+       MY(sizeincrease) = 10;
+       MY(size_min) = 3;
+       MY(size_max) = 2;
+       MY(tex_max) = 8;
+       MY(trailspacing) = 4;
+       MY(type) = "smoke";
+       MY(velocityjitter) = '1.0 1.0 1.0';
+       MY(velocitymultiplier) = -0.020000;
+ }
+ // fire
+ SUB(tr_hagar) {
+       MY(airfriction) = 8;
+       MY(alpha_min) = 100;
+       MY(alpha_max) = 144;
+       MY(alpha_fade) = 988;
+       MY(color_min) = "0xffdf72";
+       MY(color_max) = "0x811200";
+       MY(notunderwater) = true;
+       MY(sizeincrease) = -15;
+       MY(size_min) = 5;
+       MY(size_max) = 2;
+       MY(tex_min) = 48;
+       MY(tex_max) = 55;
+       MY(trailspacing) = 4;
+       MY(type) = "static";
+       MY(velocityjitter) = '32.0 32.0 32.0';
+       MY(velocitymultiplier) = -1;
+ }
+ // bubbles
+ SUB(tr_hagar) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 256;
+       MY(bounce) = 1.500000;
+       MY(color_min) = "0x404040";
+       MY(color_max) = "0x808080";
+       MY(gravity) = -0.125000;
+       MY(liquidfriction) = 4;
+       MY(size_min) = 1;
+       MY(size_max) = 1;
+       MY(tex_min) = 62;
+       MY(tex_max) = 62;
+       MY(trailspacing) = 16;
+       MY(type) = "bubble";
+       MY(underwater) = true;
+       MY(velocityjitter) = '16.0 16.0 16.0';
+ }
+ // laser damage effect
+ DEF(damage_laser);
+ SUB(damage_laser) {
+       MY(airfriction) = -0.350000;
+       MY(alpha_min) = 128;
+       MY(alpha_max) = 16;
+       MY(alpha_fade) = 128;
+       MY(color_min) = "0x880000";
+       MY(color_max) = "0xff4400";
+       MY(count) = 3;
+       MY(notunderwater) = true;
+       MY(originjitter) = '2.0 2.0 2.0';
+       MY(startangle_max) = 180;
+       MY(spin_min) = -30;
+       MY(spin_max) = 30;
+       MY(sizeincrease) = 8;
+       MY(size_min) = 2;
+       MY(size_max) = 4;
+       MY(tex_max) = 8;
+       MY(type) = "smoke";
+       MY(velocityjitter) = '0.4 0.4 0.6';
+ }
+ // shotgun damage effect, normal blood
+ DEF(damage_shotgun);
+ SUB(damage_shotgun) {
+       MY(airfriction) = 1;
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 64;
+       MY(bounce) = -1;
+       MY(color_min) = "0xA8FFFF";
+       MY(color_max) = "0xA8FFFFF";
+       MY(count) = 0.600000;
+       MY(liquidfriction) = 4;
+       MY(size_min) = 2;
+       MY(size_max) = 4;
+       MY(staincolor_min) = "0x808080";
+       MY(staincolor_max) = "0x808080";
+       MY(staintex_min) = 16;
+       MY(staintex_max) = 24;
+       MY(tex_min) = 24;
+       MY(tex_max) = 32;
+       MY(type) = "blood";
+       MY(velocityjitter) = '64.0 64.0 64.0';
+       MY(velocitymultiplier) = 5;
+ }
+ // blood mist
+ SUB(damage_shotgun) {
+       MY(alpha_min) = 100;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 400;
+       MY(color_min) = "0x000000";
+       MY(color_max) = "0x420000";
+       MY(count) = 1;
+       MY(originjitter) = '1.0 1.0 1.0';
+       MY(size_min) = 8;
+       MY(size_max) = 16;
+       MY(tex_max) = 8;
+       MY(type) = "alphastatic";
+ }
+ // shotgun damage effect, alien blood
+ DEF(damage_shotgun_alien);
+ SUB(damage_shotgun_alien) {
+       MY(airfriction) = 1;
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 64;
+       MY(bounce) = -1;
+       MY(color_min) = "0xDC9BCD";
+       MY(color_max) = "0xDC9BCD";
+       MY(count) = 0.600000;
+       MY(liquidfriction) = 4;
+       MY(size_min) = 2;
+       MY(size_max) = 4;
+       MY(staincolor_min) = "0x808080";
+       MY(staincolor_max) = "0x808080";
+       MY(staintex_min) = 16;
+       MY(staintex_max) = 24;
+       MY(tex_min) = 24;
+       MY(tex_max) = 32;
+       MY(type) = "blood";
+       MY(velocityjitter) = '64.0 64.0 64.0';
+       MY(velocitymultiplier) = 5;
+ }
+ // blood mist
+ SUB(damage_shotgun_alien) {
+       MY(alpha_min) = 100;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 400;
+       MY(color_min) = "0x000000";
+       MY(color_max) = "0x204010";
+       MY(count) = 1;
+       MY(originjitter) = '1.0 1.0 1.0';
+       MY(size_min) = 8;
+       MY(size_max) = 16;
+       MY(tex_max) = 8;
+       MY(type) = "alphastatic";
+ }
+ // shotgun damage effect, robot blood
+ DEF(damage_shotgun_robot);
+ SUB(damage_shotgun_robot) {
+       MY(airfriction) = 1;
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 64;
+       MY(bounce) = -1;
+       MY(color_min) = "0xC0D890";
+       MY(color_max) = "0xC0D890";
+       MY(count) = 0.600000;
+       MY(liquidfriction) = 4;
+       MY(size_min) = 2;
+       MY(size_max) = 4;
+       MY(staincolor_min) = "0x808080";
+       MY(staincolor_max) = "0x808080";
+       MY(staintex_min) = 16;
+       MY(staintex_max) = 24;
+       MY(tex_min) = 24;
+       MY(tex_max) = 32;
+       MY(type) = "blood";
+       MY(velocityjitter) = '64.0 64.0 64.0';
+       MY(velocitymultiplier) = 5;
+ }
+ // blood mist
+ SUB(damage_shotgun_robot) {
+       MY(alpha_min) = 100;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 400;
+       MY(color_min) = "0x000000";
+       MY(color_max) = "0x301860";
+       MY(count) = 1;
+       MY(originjitter) = '1.0 1.0 1.0';
+       MY(size_min) = 8;
+       MY(size_max) = 16;
+       MY(tex_max) = 8;
+       MY(type) = "alphastatic";
+ }
+ // machinegun damage effect, normal blood
+ DEF(damage_uzi);
+ SUB(damage_uzi) {
+       MY(airfriction) = 1;
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 64;
+       MY(bounce) = -1;
+       MY(color_min) = "0xA8FFFF";
+       MY(color_max) = "0xA8FFFFF";
+       MY(count) = 0.300000;
+       MY(liquidfriction) = 4;
+       MY(size_min) = 2;
+       MY(size_max) = 4;
+       MY(staincolor_min) = "0x808080";
+       MY(staincolor_max) = "0x808080";
+       MY(staintex_min) = 16;
+       MY(staintex_max) = 24;
+       MY(tex_min) = 24;
+       MY(tex_max) = 32;
+       MY(type) = "blood";
+       MY(velocityjitter) = '32.0 32.0 32.0';
+       MY(velocitymultiplier) = 5;
+ }
+ // blood mist
+ SUB(damage_uzi) {
+       MY(alpha_min) = 100;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 400;
+       MY(color_min) = "0x000000";
+       MY(color_max) = "0x420000";
+       MY(count) = 1;
+       MY(size_min) = 6;
+       MY(size_max) = 12;
+       MY(tex_max) = 8;
+       MY(type) = "alphastatic";
+ }
+ // machinegun damage effect, alien blood
+ DEF(damage_uzi_alien);
+ SUB(damage_uzi_alien) {
+       MY(airfriction) = 1;
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 64;
+       MY(bounce) = -1;
+       MY(color_min) = "0xDC9BCD";
+       MY(color_max) = "0xDC9BCD";
+       MY(count) = 0.300000;
+       MY(liquidfriction) = 4;
+       MY(size_min) = 2;
+       MY(size_max) = 4;
+       MY(staincolor_min) = "0x808080";
+       MY(staincolor_max) = "0x808080";
+       MY(staintex_min) = 16;
+       MY(staintex_max) = 24;
+       MY(tex_min) = 24;
+       MY(tex_max) = 32;
+       MY(type) = "blood";
+       MY(velocityjitter) = '32.0 32.0 32.0';
+       MY(velocitymultiplier) = 5;
+ }
+ // blood mist
+ SUB(damage_uzi_alien) {
+       MY(alpha_min) = 100;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 400;
+       MY(color_min) = "0x000000";
+       MY(color_max) = "0x204010";
+       MY(count) = 1;
+       MY(size_min) = 6;
+       MY(size_max) = 12;
+       MY(tex_max) = 8;
+       MY(type) = "alphastatic";
+ }
+ // machinegun damage effect, robot blood
+ DEF(damage_uzi_robot);
+ SUB(damage_uzi_robot) {
+       MY(airfriction) = 1;
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 64;
+       MY(bounce) = -1;
+       MY(color_min) = "0xC0D890";
+       MY(color_max) = "0xC0D890";
+       MY(count) = 0.300000;
+       MY(liquidfriction) = 4;
+       MY(size_min) = 2;
+       MY(size_max) = 4;
+       MY(staincolor_min) = "0x808080";
+       MY(staincolor_max) = "0x808080";
+       MY(staintex_min) = 16;
+       MY(staintex_max) = 24;
+       MY(tex_min) = 24;
+       MY(tex_max) = 32;
+       MY(type) = "blood";
+       MY(velocityjitter) = '32.0 32.0 32.0';
+       MY(velocitymultiplier) = 5;
+ }
+ // blood mist
+ SUB(damage_uzi_robot) {
+       MY(alpha_min) = 100;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 400;
+       MY(color_min) = "0x000000";
+       MY(color_max) = "0x301860";
+       MY(count) = 1;
+       MY(size_min) = 6;
+       MY(size_max) = 12;
+       MY(tex_max) = 8;
+       MY(type) = "alphastatic";
+ }
+ // minelayer damage effect
+ DEF(damage_minelayer);
+ SUB(damage_minelayer) {
+       MY(alpha_min) = 512;
+       MY(alpha_max) = 64;
+       MY(alpha_fade) = 1024;
+       MY(color_min) = "0x8f0d00";
+       MY(color_max) = "0xff5a00";
+       MY(count) = 3;
+       MY(gravity) = -0.500000;
+       MY(notunderwater) = true;
+       MY(originjitter) = '2.0 2.0 2.0';
+       MY(sizeincrease) = -15;
+       MY(size_min) = 4;
+       MY(size_max) = 8;
+       MY(tex_min) = 48;
+       MY(tex_max) = 55;
+       MY(type) = "smoke";
+       MY(velocityjitter) = '22.0 22.0 50.0';
+ }
+ // smoke
+ SUB(damage_minelayer) {
+       MY(alpha_min) = 128;
+       MY(alpha_max) = 32;
+       MY(alpha_fade) = 128;
+       MY(color_min) = "0x000000";
+       MY(color_max) = "0x111111";
+       MY(count) = 2;
+       MY(gravity) = -0.300000;
+       MY(notunderwater) = true;
+       MY(originjitter) = '4.0 4.0 4.0';
+       MY(sizeincrease) = 5;
+       MY(size_min) = 4;
+       MY(size_max) = 8;
+       MY(tex_max) = 8;
+       MY(type) = "alphastatic";
+       MY(velocityjitter) = '11.0 11.0 50.0';
+ }
+ // mortar damage effect
+ DEF(damage_grenadelauncher);
+ SUB(damage_grenadelauncher) {
+       MY(alpha_min) = 512;
+       MY(alpha_max) = 64;
+       MY(alpha_fade) = 1024;
+       MY(color_min) = "0x8f0d00";
+       MY(color_max) = "0xff5a00";
+       MY(count) = 3;
+       MY(gravity) = -0.500000;
+       MY(notunderwater) = true;
+       MY(originjitter) = '2.0 2.0 2.0';
+       MY(sizeincrease) = -15;
+       MY(size_min) = 4;
+       MY(size_max) = 8;
+       MY(tex_min) = 48;
+       MY(tex_max) = 55;
+       MY(type) = "smoke";
+       MY(velocityjitter) = '22.0 22.0 50.0';
+ }
+ // smoke
+ SUB(damage_grenadelauncher) {
+       MY(alpha_min) = 128;
+       MY(alpha_max) = 32;
+       MY(alpha_fade) = 128;
+       MY(color_min) = "0x000000";
+       MY(color_max) = "0x111111";
+       MY(count) = 2;
+       MY(gravity) = -0.300000;
+       MY(notunderwater) = true;
+       MY(originjitter) = '4.0 4.0 4.0';
+       MY(sizeincrease) = 5;
+       MY(size_min) = 4;
+       MY(size_max) = 8;
+       MY(tex_max) = 8;
+       MY(type) = "alphastatic";
+       MY(velocityjitter) = '11.0 11.0 50.0';
+ }
+ // electro damage effect
+ DEF(damage_electro);
+ SUB(damage_electro) {
+       MY(airfriction) = -0.500000;
+       MY(alpha_min) = 48;
+       MY(alpha_max) = 8;
+       MY(alpha_fade) = 48;
+       MY(color_min) = "0x66ffff";
+       MY(color_max) = "0x2288ff";
+       MY(count) = 2;
+       MY(gravity) = -0.000100;
+       MY(liquidfriction) = 0.800000;
+       MY(notunderwater) = true;
+       MY(originjitter) = '3.0 3.0 3.0';
+       MY(startangle_min) = 180;
+       MY(startangle_max) = 360;
+       MY(spin_min) = -30;
+       MY(spin_max) = 30;
+       MY(sizeincrease) = -14;
+       MY(size_min) = 6;
+       MY(size_max) = 10;
+       MY(tex_min) = 47;
+       MY(tex_max) = 47;
+       MY(type) = "static";
+       MY(velocityjitter) = '8.0 8.0 16.0';
+ }
+ // plasma smoke
+ SUB(damage_electro) {
+       MY(airfriction) = -0.350000;
+       MY(alpha_min) = 64;
+       MY(alpha_max) = 16;
+       MY(alpha_fade) = 64;
+       MY(color_min) = "0x2244ff";
+       MY(color_max) = "0x002266";
+       MY(count) = 4;
+       MY(notunderwater) = true;
+       MY(originjitter) = '4.0 4.0 4.0';
+       MY(startangle_max) = 180;
+       MY(spin_min) = -30;
+       MY(spin_max) = 30;
+       MY(sizeincrease) = 10;
+       MY(size_min) = 4;
+       MY(size_max) = 8;
+       MY(tex_max) = 8;
+       MY(type) = "smoke";
+       MY(velocityjitter) = '0.4 0.4 0.6';
+ }
+ // bouncing sparks
+ SUB(damage_electro) {
+       MY(airfriction) = 1;
+       MY(alpha_min) = 768;
+       MY(alpha_max) = 64;
+       MY(alpha_fade) = 256;
+       MY(bounce) = 1.500000;
+       MY(color_min) = "0x003090";
+       MY(color_max) = "0x00CCFF";
+       MY(count) = 0.500000;
+       MY(gravity) = 0.200000;
+       MY(liquidfriction) = 0.800000;
+       MY(size_min) = 1;
+       MY(size_max) = 1;
+       MY(tex_min) = 66;
+       MY(tex_max) = 68;
+       MY(type) = "spark";
+       MY(velocityjitter) = '32.0 32.0 32.0';
+ }
+ // crylink damage effect
+ DEF(damage_crylink);
+ SUB(damage_crylink) {
+       MY(airfriction) = -0.500000;
+       MY(alpha_min) = 48;
+       MY(alpha_max) = 16;
+       MY(alpha_fade) = 48;
+       MY(color_min) = "0xff44ff";
+       MY(color_max) = "0x9966ff";
+       MY(count) = 2;
+       MY(gravity) = -0.000100;
+       MY(liquidfriction) = 0.800000;
+       MY(notunderwater) = true;
+       MY(originjitter) = '3.0 3.0 3.0';
+       MY(startangle_min) = 180;
+       MY(startangle_max) = 360;
+       MY(spin_min) = -30;
+       MY(spin_max) = 30;
+       MY(sizeincrease) = -8;
+       MY(size_min) = 0.500000;
+       MY(size_max) = 1;
+       MY(tex_min) = 38;
+       MY(tex_max) = 38;
+       MY(type) = "static";
+       MY(velocityjitter) = '10.0 10.0 20.0';
+ }
+ // plasma smoke
+ SUB(damage_crylink) {
+       MY(airfriction) = -0.350000;
+       MY(alpha_min) = 64;
+       MY(alpha_max) = 16;
+       MY(alpha_fade) = 64;
+       MY(color_min) = "0x8844ff";
+       MY(color_max) = "0x662244";
+       MY(count) = 4;
+       MY(gravity) = 0.001000;
+       MY(notunderwater) = true;
+       MY(originjitter) = '4.0 4.0 4.0';
+       MY(startangle_max) = 180;
+       MY(spin_min) = -30;
+       MY(spin_max) = 30;
+       MY(sizeincrease) = 6;
+       MY(size_min) = 5;
+       MY(size_max) = 10;
+       MY(tex_max) = 8;
+       MY(type) = "smoke";
+       MY(velocityjitter) = '0.4 0.4 0.6';
+ }
+ // floating sparks
+ SUB(damage_crylink) {
+       MY(airfriction) = 0.200000;
+       MY(alpha_min) = 192;
+       MY(alpha_max) = 192;
+       MY(alpha_fade) = 128;
+       MY(color_min) = "0x903090";
+       MY(color_max) = "0xFFD0FF";
+       MY(count) = 0.300000;
+       MY(liquidfriction) = 0.800000;
+       MY(sizeincrease) = -5;
+       MY(size_min) = 0.500000;
+       MY(size_max) = 0.500000;
+       MY(type) = "spark";
+       MY(velocityjitter) = '12.0 12.0 12.0';
+ }
+ // hlac damage effect
+ DEF(damage_hlac);
+ SUB(damage_hlac) {
+       MY(airfriction) = -0.350000;
+       MY(alpha_min) = 128;
+       MY(alpha_max) = 16;
+       MY(alpha_fade) = 128;
+       MY(color_min) = "0x880000";
+       MY(color_max) = "0xff4400";
+       MY(count) = 3;
+       MY(notunderwater) = true;
+       MY(originjitter) = '4.0 4.0 4.0';
+       MY(startangle_max) = 180;
+       MY(spin_min) = -30;
+       MY(spin_max) = 30;
+       MY(sizeincrease) = 10;
+       MY(size_min) = 2;
+       MY(size_max) = 4;
+       MY(tex_max) = 8;
+       MY(type) = "smoke";
+       MY(velocityjitter) = '0.4 0.4 0.6';
+ }
+ // vortex damage effect
+ DEF(damage_nex);
+ SUB(damage_nex) {
+       MY(airfriction) = -0.500000;
+       MY(alpha_min) = 64;
+       MY(alpha_max) = 8;
+       MY(alpha_fade) = 64;
+       MY(color_min) = "0xffffff";
+       MY(color_max) = "0x88ffff";
+       MY(count) = 1;
+       MY(gravity) = -0.000100;
+       MY(liquidfriction) = 0.600000;
+       MY(originjitter) = '4.0 4.0 4.0';
+       MY(startangle_min) = 180;
+       MY(startangle_max) = 360;
+       MY(spin_min) = -30;
+       MY(spin_max) = 30;
+       MY(sizeincrease) = -14;
+       MY(size_min) = 5;
+       MY(size_max) = 10;
+       MY(tex_min) = 47;
+       MY(tex_max) = 47;
+       MY(type) = "static";
+       MY(velocityjitter) = '8.0 8.0 16.0';
+ }
+ // plasma smoke
+ SUB(damage_nex) {
+       MY(airfriction) = -0.350000;
+       MY(alpha_min) = 64;
+       MY(alpha_max) = 16;
+       MY(alpha_fade) = 64;
+       MY(color_min) = "0x6688ff";
+       MY(color_max) = "0x226688";
+       MY(count) = 2;
+       MY(originjitter) = '2.0 2.0 2.0';
+       MY(startangle_max) = 180;
+       MY(spin_min) = -30;
+       MY(spin_max) = 30;
+       MY(sizeincrease) = 8;
+       MY(size_min) = 4;
+       MY(size_max) = 8;
+       MY(tex_max) = 8;
+       MY(type) = "smoke";
+       MY(velocityjitter) = '0.5 0.5 0.8';
+ }
+ // bouncing sparks
+ SUB(damage_nex) {
+       MY(airfriction) = 2;
+       MY(alpha_min) = 255;
+       MY(alpha_max) = 255;
+       MY(alpha_fade) = 112;
+       MY(bounce) = 1.600000;
+       MY(color_min) = "0xD9FDFF";
+       MY(color_max) = "0xD9FDFF";
+       MY(count) = 0.200000;
+       MY(gravity) = 1;
+       MY(size_min) = 1;
+       MY(size_max) = 1;
+       MY(stretchfactor) = 0.700000;
+       MY(tex_min) = 41;
+       MY(tex_max) = 41;
+       MY(type) = "spark";
+       MY(velocityjitter) = '100.0 100.0 300.0';
+       MY(velocitymultiplier) = 3;
+ }
+ // vaporizer damage effect
+ DEF(damage_minstanex);
+ SUB(damage_minstanex) {
+       MY(airfriction) = -0.500000;
+       MY(alpha_min) = 64;
+       MY(alpha_max) = 8;
+       MY(alpha_fade) = 64;
+       MY(color_min) = "0xffffff";
+       MY(color_max) = "0x88ffff";
+       MY(count) = 2;
+       MY(gravity) = -0.000100;
+       MY(liquidfriction) = 0.600000;
+       MY(originjitter) = '4.0 4.0 4.0';
+       MY(startangle_min) = 180;
+       MY(startangle_max) = 360;
+       MY(spin_min) = -30;
+       MY(spin_max) = 30;
+       MY(sizeincrease) = -14;
+       MY(size_min) = 5;
+       MY(size_max) = 10;
+       MY(tex_min) = 47;
+       MY(tex_max) = 47;
+       MY(type) = "static";
+       MY(velocityjitter) = '8.0 8.0 16.0';
+ }
+ // plasma smoke
+ SUB(damage_minstanex) {
+       MY(airfriction) = -0.350000;
+       MY(alpha_min) = 64;
+       MY(alpha_max) = 16;
+       MY(alpha_fade) = 64;
+       MY(color_min) = "0x6688ff";
+       MY(color_max) = "0x226688";
+       MY(count) = 4;
+       MY(originjitter) = '2.0 2.0 2.0';
+       MY(startangle_max) = 180;
+       MY(spin_min) = -30;
+       MY(spin_max) = 30;
+       MY(sizeincrease) = 8;
+       MY(size_min) = 4;
+       MY(size_max) = 8;
+       MY(tex_max) = 8;
+       MY(type) = "smoke";
+       MY(velocityjitter) = '0.5 0.5 0.8';
+ }
+ // bouncing sparks
+ SUB(damage_minstanex) {
+       MY(airfriction) = 2;
+       MY(alpha_min) = 255;
+       MY(alpha_max) = 255;
+       MY(alpha_fade) = 112;
+       MY(bounce) = 1.600000;
+       MY(color_min) = "0xD9FDFF";
+       MY(color_max) = "0xD9FDFF";
+       MY(count) = 0.200000;
+       MY(gravity) = 1;
+       MY(size_min) = 1;
+       MY(size_max) = 1;
+       MY(stretchfactor) = 0.700000;
+       MY(tex_min) = 41;
+       MY(tex_max) = 41;
+       MY(type) = "spark";
+       MY(velocityjitter) = '100.0 100.0 300.0';
+       MY(velocitymultiplier) = 3;
+ }
+ // rifle damage effect, normal blood
+ DEF(damage_rifle);
+ SUB(damage_rifle) {
+       MY(airfriction) = 1;
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 64;
+       MY(bounce) = -1;
+       MY(color_min) = "0xA8FFFF";
+       MY(color_max) = "0xA8FFFFF";
+       MY(count) = 0.300000;
+       MY(liquidfriction) = 4;
+       MY(size_min) = 2;
+       MY(size_max) = 4;
+       MY(staincolor_min) = "0x808080";
+       MY(staincolor_max) = "0x808080";
+       MY(staintex_min) = 16;
+       MY(staintex_max) = 24;
+       MY(tex_min) = 24;
+       MY(tex_max) = 32;
+       MY(type) = "blood";
+       MY(velocityjitter) = '32.0 32.0 32.0';
+       MY(velocitymultiplier) = 5;
+ }
+ // blood mist
+ SUB(damage_rifle) {
+       MY(alpha_min) = 100;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 400;
+       MY(color_min) = "0x000000";
+       MY(color_max) = "0x420000";
+       MY(count) = 1;
+       MY(size_min) = 6;
+       MY(size_max) = 12;
+       MY(tex_max) = 8;
+       MY(type) = "alphastatic";
+ }
+ // rifle damage effect, alien blood
+ DEF(damage_rifle_alien);
+ SUB(damage_rifle_alien) {
+       MY(airfriction) = 1;
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 64;
+       MY(bounce) = -1;
+       MY(color_min) = "0xDC9BCD";
+       MY(color_max) = "0xDC9BCD";
+       MY(count) = 0.300000;
+       MY(liquidfriction) = 4;
+       MY(size_min) = 2;
+       MY(size_max) = 4;
+       MY(staincolor_min) = "0x808080";
+       MY(staincolor_max) = "0x808080";
+       MY(staintex_min) = 16;
+       MY(staintex_max) = 24;
+       MY(tex_min) = 24;
+       MY(tex_max) = 32;
+       MY(type) = "blood";
+       MY(velocityjitter) = '32.0 32.0 32.0';
+       MY(velocitymultiplier) = 5;
+ }
+ // blood mist
+ SUB(damage_rifle_alien) {
+       MY(alpha_min) = 100;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 400;
+       MY(color_min) = "0x000000";
+       MY(color_max) = "0x204010";
+       MY(count) = 1;
+       MY(size_min) = 6;
+       MY(size_max) = 12;
+       MY(tex_max) = 8;
+       MY(type) = "alphastatic";
+ }
+ // rifle damage effect, robot blood
+ DEF(damage_rifle_robot);
+ SUB(damage_rifle_robot) {
+       MY(airfriction) = 1;
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 64;
+       MY(bounce) = -1;
+       MY(color_min) = "0xC0D890";
+       MY(color_max) = "0xC0D890";
+       MY(count) = 0.300000;
+       MY(liquidfriction) = 4;
+       MY(size_min) = 2;
+       MY(size_max) = 4;
+       MY(staincolor_min) = "0x808080";
+       MY(staincolor_max) = "0x808080";
+       MY(staintex_min) = 16;
+       MY(staintex_max) = 24;
+       MY(tex_min) = 24;
+       MY(tex_max) = 32;
+       MY(type) = "blood";
+       MY(velocityjitter) = '32.0 32.0 32.0';
+       MY(velocitymultiplier) = 5;
+ }
+ // blood mist
+ SUB(damage_rifle_robot) {
+       MY(alpha_min) = 100;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 400;
+       MY(color_min) = "0x000000";
+       MY(color_max) = "0x301860";
+       MY(count) = 1;
+       MY(size_min) = 6;
+       MY(size_max) = 12;
+       MY(tex_max) = 8;
+       MY(type) = "alphastatic";
+ }
+ // seeker damage effect
+ DEF(damage_seeker);
+ SUB(damage_seeker) {
+       MY(alpha_min) = 512;
+       MY(alpha_max) = 32;
+       MY(alpha_fade) = 1024;
+       MY(color_min) = "0x8f0c00";
+       MY(color_max) = "0xff2200";
+       MY(count) = 3;
+       MY(gravity) = -0.300000;
+       MY(notunderwater) = true;
+       MY(originjitter) = '2.0 2.0 2.0';
+       MY(sizeincrease) = -10;
+       MY(size_min) = 4;
+       MY(size_max) = 8;
+       MY(tex_min) = 48;
+       MY(tex_max) = 55;
+       MY(type) = "smoke";
+       MY(velocityjitter) = '22.0 22.0 50.0';
+ }
+ // smoke
+ SUB(damage_seeker) {
+       MY(alpha_min) = 128;
+       MY(alpha_max) = 32;
+       MY(alpha_fade) = 128;
+       MY(color_min) = "0x000000";
+       MY(color_max) = "0x111111";
+       MY(count) = 2;
+       MY(gravity) = -0.300000;
+       MY(notunderwater) = true;
+       MY(originjitter) = '4.0 4.0 4.0';
+       MY(sizeincrease) = 10;
+       MY(size_min) = 2;
+       MY(size_max) = 4;
+       MY(tex_max) = 8;
+       MY(type) = "alphastatic";
+       MY(velocityjitter) = '11.0 11.0 50.0';
+ }
+ // hagar damage effect
+ DEF(damage_hagar);
+ SUB(damage_hagar) {
+       MY(alpha_min) = 512;
+       MY(alpha_max) = 32;
+       MY(alpha_fade) = 1024;
+       MY(color_min) = "0x8f0c00";
+       MY(color_max) = "0xff3a00";
+       MY(count) = 3;
+       MY(gravity) = -0.300000;
+       MY(notunderwater) = true;
+       MY(originjitter) = '2.0 2.0 2.0';
+       MY(sizeincrease) = -10;
+       MY(size_min) = 4;
+       MY(size_max) = 8;
+       MY(tex_min) = 48;
+       MY(tex_max) = 55;
+       MY(type) = "smoke";
+       MY(velocityjitter) = '22.0 22.0 50.0';
+ }
+ // smoke
+ SUB(damage_hagar) {
+       MY(alpha_min) = 128;
+       MY(alpha_max) = 32;
+       MY(alpha_fade) = 128;
+       MY(color_min) = "0x000000";
+       MY(color_max) = "0x111111";
+       MY(count) = 2;
+       MY(gravity) = -0.300000;
+       MY(notunderwater) = true;
+       MY(originjitter) = '4.0 4.0 4.0';
+       MY(sizeincrease) = 10;
+       MY(size_min) = 2;
+       MY(size_max) = 4;
+       MY(tex_max) = 8;
+       MY(type) = "alphastatic";
+       MY(velocityjitter) = '11.0 11.0 50.0';
+ }
+ // fireball damage effect
+ DEF(damage_fireball);
+ SUB(damage_fireball) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 16;
+       MY(alpha_fade) = 512;
+       MY(color_min) = "0x8f0d00";
+       MY(color_max) = "0xff5a00";
+       MY(count) = 4;
+       MY(gravity) = -0.500000;
+       MY(notunderwater) = true;
+       MY(originjitter) = '8.0 8.0 8.0';
+       MY(sizeincrease) = -10;
+       MY(size_min) = 5;
+       MY(size_max) = 10;
+       MY(tex_min) = 48;
+       MY(tex_max) = 55;
+       MY(type) = "smoke";
+       MY(velocityjitter) = '22.0 22.0 50.0';
+ }
+ // smoke
+ SUB(damage_fireball) {
+       MY(alpha_min) = 128;
+       MY(alpha_max) = 32;
+       MY(alpha_fade) = 128;
+       MY(color_min) = "0x000000";
+       MY(color_max) = "0x111111";
+       MY(count) = 4;
+       MY(gravity) = -0.300000;
+       MY(notunderwater) = true;
+       MY(originjitter) = '6.0 6.0 6.0';
+       MY(sizeincrease) = 10;
+       MY(size_min) = 4;
+       MY(size_max) = 8;
+       MY(tex_max) = 8;
+       MY(type) = "alphastatic";
+       MY(velocityjitter) = '11.0 11.0 50.0';
+ }
+ // rocketlauncher damage effect
+ DEF(damage_rocketlauncher);
+ SUB(damage_rocketlauncher) {
+       MY(alpha_min) = 512;
+       MY(alpha_max) = 64;
+       MY(alpha_fade) = 1024;
+       MY(color_min) = "0x8f0c00";
+       MY(color_max) = "0xff2a00";
+       MY(count) = 3;
+       MY(gravity) = -0.700000;
+       MY(notunderwater) = true;
+       MY(originjitter) = '4.0 4.0 4.0';
+       MY(sizeincrease) = -10;
+       MY(size_min) = 5;
+       MY(size_max) = 10;
+       MY(tex_min) = 48;
+       MY(tex_max) = 55;
+       MY(type) = "smoke";
+       MY(velocityjitter) = '22.0 22.0 30.0';
+ }
+ // smoke
+ SUB(damage_rocketlauncher) {
+       MY(alpha_min) = 128;
+       MY(alpha_max) = 32;
+       MY(alpha_fade) = 128;
+       MY(color_min) = "0x000000";
+       MY(color_max) = "0x111111";
+       MY(count) = 3;
+       MY(gravity) = -0.300000;
+       MY(notunderwater) = true;
+       MY(originjitter) = '4.0 4.0 4.0';
+       MY(sizeincrease) = 10;
+       MY(size_min) = 4;
+       MY(size_max) = 8;
+       MY(tex_max) = 8;
+       MY(type) = "alphastatic";
+       MY(velocityjitter) = '11.0 11.0 50.0';
+ }
+ // fireflies
+ DEF(fireflies);
+ SUB(fireflies) {
+       MY(airfriction) = 5;
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 70;
+       MY(bounce) = -1;
+       MY(color_min) = "0xff9600";
+       MY(color_max) = "0xffefb8";
+       MY(count) = 1;
+       MY(originjitter) = '32.0 32.0 32.0';
+       MY(originoffset) = '8.0 8.0 8.0';
+       MY(sizeincrease) = -0.300000;
+       MY(size_min) = 2;
+       MY(size_max) = 3;
+       MY(tex_min) = 38;
+       MY(tex_max) = 38;
+       MY(time_min) = 1;
+       MY(time_max) = 2;
+       MY(type) = "static";
+       MY(velocityjitter) = '64.0 64.0 64.0';
+       MY(velocityoffset) = '2.0 2.0 2.0';
+ }
+ DEF(healray_muzzleflash);
+ SUB(healray_muzzleflash) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 512;
+       MY(color_min) = "0x283880";
+       MY(color_max) = "0x283880";
+       MY(countabsolute) = 1;
+       MY(lightcolor) = '1.5 3.0 6.0';
+       MY(lightradiusfade) = 2000;
+       MY(lightradius) = 200;
+       MY(originjitter) = '1.5 1.5 1.5';
+       MY(sizeincrease) = -10;
+       MY(size_min) = 20;
+       MY(size_max) = 20;
+       MY(tex_min) = 65;
+       MY(tex_max) = 65;
+       MY(type) = "smoke";
+       MY(velocityjitter) = '6.0 6.0 6.0';
+       MY(velocitymultiplier) = 0.010000;
+ }
+ SUB(healray_muzzleflash) {
+       MY(airfriction) = 5;
+       MY(alpha_min) = 50;
+       MY(alpha_max) = 150;
+       MY(alpha_fade) = 1924;
+       MY(color_min) = "0xD9FDFF";
+       MY(color_max) = "0x00f0ff";
+       MY(count) = 22;
+       MY(originjitter) = '1.0 1.0 1.0';
+       MY(sizeincrease) = 3;
+       MY(size_min) = 1;
+       MY(size_max) = 15;
+       MY(stretchfactor) = 3.900000;
+       MY(tex_min) = 71;
+       MY(tex_max) = 73;
+       MY(type) = "spark";
+       MY(velocityjitter) = '150.0 150.0 150.0';
+       MY(velocitymultiplier) = 0.400000;
+ }
+ SUB(healray_muzzleflash) {
+       MY(alpha_min) = 110;
+       MY(alpha_max) = 228;
+       MY(alpha_fade) = 4024;
+       MY(color_min) = "0xD9FDFF";
+       MY(color_max) = "0x00f0ff";
+       MY(count) = 4;
+       MY(originjitter) = '1.0 1.0 1.0';
+       MY(size_min) = 1;
+       MY(size_max) = 1;
+       MY(stretchfactor) = 0.200000;
+       MY(tex_min) = 70;
+       MY(tex_max) = 70;
+       MY(type) = "spark";
+       MY(velocityjitter) = '650.0 650.0 650.0';
+       MY(velocitymultiplier) = 1.100000;
+ }
+ DEF(healray_impact);
+ SUB(healray_impact) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(color_min) = "0xd800ff";
+       MY(color_max) = "0xd800ff";
+       MY(countabsolute) = 1;
+       MY(lightcolor) = '0.0 4.4 0.0';
+       MY(lightradiusfade) = 450;
+       MY(lightradius) = 125;
+       MY(originjitter) = '17.0 17.0 17.0';
+       MY(size_min) = 32;
+       MY(size_max) = 32;
+       MY(tex_min) = 59;
+       MY(tex_max) = 59;
+       MY(type) = "decal";
+ }
+ // shockwave
+ SUB(healray_impact) {
+       MY(alpha_min) = 40;
+       MY(alpha_max) = 40;
+       MY(alpha_fade) = 350;
+       MY(color_min) = "0x00ff00";
+       MY(color_max) = "0x84c52f";
+       MY(countabsolute) = 1;
+       MY(sizeincrease) = 1400;
+       MY(size_min) = 32;
+       MY(size_max) = 32;
+       MY(tex_min) = 33;
+       MY(tex_max) = 33;
+       MY(type) = "smoke";
+       MY(velocitymultiplier) = 44;
+ }
+ // cloud of bouncing sparks
+ SUB(healray_impact) {
+       MY(airfriction) = 6;
+       MY(alpha_min) = 156;
+       MY(alpha_max) = 300;
+       MY(alpha_fade) = 1024;
+       MY(color_min) = "0x00ff00";
+       MY(color_max) = "0x84c52f";
+       MY(count) = 30;
+       MY(gravity) = 2;
+       MY(originjitter) = '1.0 1.0 1.0';
+       MY(size_min) = 1;
+       MY(size_max) = 2;
+       MY(tex_min) = 70;
+       MY(tex_max) = 70;
+       MY(type) = "spark";
+       MY(velocityjitter) = '1112.0 1112.0 1112.0';
+ }
+ // inner cloud of smoke
+ SUB(healray_impact) {
+       MY(airfriction) = 3;
+       MY(alpha_min) = 200;
+       MY(alpha_max) = 456;
+       MY(alpha_fade) = 512;
+       MY(color_min) = "0x00ff00";
+       MY(color_max) = "0x84c52f";
+       MY(count) = 15;
+       MY(gravity) = -2;
+       MY(startangle_min) = -180;
+       MY(startangle_max) = 180;
+       MY(spin_min) = -90;
+       MY(spin_max) = 90;
+       MY(size_min) = 2;
+       MY(size_max) = 3;
+       MY(tex_min) = 40;
+       MY(tex_max) = 40;
+       MY(type) = "smoke";
+       MY(velocityjitter) = '120.0 120.0 420.0';
+ }
+ DEF(bigplasma_muzzleflash);
+ SUB(bigplasma_muzzleflash) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 812;
+       MY(color_min) = "0x283880";
+       MY(color_max) = "0x283880";
+       MY(countabsolute) = 1;
+       MY(lightcolor) = '1.5 3.0 6.0';
+       MY(lightradiusfade) = 2000;
+       MY(lightradius) = 200;
+       MY(originjitter) = '1.5 1.5 1.5';
+       MY(sizeincrease) = -10;
+       MY(size_min) = 50;
+       MY(size_max) = 50;
+       MY(tex_min) = 65;
+       MY(tex_max) = 65;
+       MY(type) = "smoke";
+       MY(velocityjitter) = '6.0 6.0 6.0';
+       MY(velocitymultiplier) = 0.010000;
+ }
+ SUB(bigplasma_muzzleflash) {
+       MY(alpha_min) = 56;
+       MY(alpha_max) = 56;
+       MY(alpha_fade) = 1112;
+       MY(color_min) = "0x00f0ff";
+       MY(color_max) = "0x00f0ff";
+       MY(countabsolute) = 1;
+       MY(sizeincrease) = 300;
+       MY(size_min) = 20;
+       MY(size_max) = 20;
+       MY(tex_min) = 74;
+       MY(tex_max) = 74;
+       MY(type) = "smoke";
+ }
+ SUB(bigplasma_muzzleflash) {
+       MY(airfriction) = 5;
+       MY(alpha_min) = 50;
+       MY(alpha_max) = 150;
+       MY(alpha_fade) = 1924;
+       MY(color_min) = "0xD9FDFF";
+       MY(color_max) = "0x00f0ff";
+       MY(count) = 14;
+       MY(originjitter) = '1.0 1.0 1.0';
+       MY(sizeincrease) = 135;
+       MY(size_min) = 5;
+       MY(size_max) = 10;
+       MY(stretchfactor) = 1.900000;
+       MY(tex_min) = 51;
+       MY(tex_max) = 55;
+       MY(type) = "spark";
+       MY(velocityjitter) = '350.0 350.0 350.0';
+       MY(velocitymultiplier) = 0.400000;
+ }
+ SUB(bigplasma_muzzleflash) {
+       MY(alpha_min) = 110;
+       MY(alpha_max) = 228;
+       MY(alpha_fade) = 4024;
+       MY(color_min) = "0xD9FDFF";
+       MY(color_max) = "0x00f0ff";
+       MY(count) = 4;
+       MY(originjitter) = '1.0 1.0 1.0';
+       MY(size_min) = 20;
+       MY(size_max) = 20;
+       MY(stretchfactor) = 0.200000;
+       MY(tex_min) = 70;
+       MY(tex_max) = 70;
+       MY(type) = "spark";
+       MY(velocityjitter) = '650.0 650.0 650.0';
+       MY(velocitymultiplier) = 1.100000;
+ }
+ DEF(bigplasma_impact);
+ SUB(bigplasma_impact) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(countabsolute) = 1;
+       MY(lightcolor) = '3.1 4.4 10.0';
+       MY(lightradiusfade) = 450;
+       MY(lightradius) = 125;
+       MY(originjitter) = '17.0 17.0 17.0';
+       MY(size_min) = 32;
+       MY(size_max) = 32;
+       MY(tex_min) = 59;
+       MY(tex_max) = 59;
+       MY(type) = "decal";
+ }
+ // shockwave
+ SUB(bigplasma_impact) {
+       MY(alpha_min) = 40;
+       MY(alpha_max) = 40;
+       MY(alpha_fade) = 350;
+       MY(color_min) = "0x80C0FF";
+       MY(color_max) = "0x80C0FF";
+       MY(countabsolute) = 1;
+       MY(sizeincrease) = 1400;
+       MY(size_min) = 32;
+       MY(size_max) = 32;
+       MY(tex_min) = 33;
+       MY(tex_max) = 33;
+       MY(type) = "smoke";
+       MY(velocitymultiplier) = 44;
+ }
+ // cloud of bouncing sparks
+ SUB(bigplasma_impact) {
+       MY(airfriction) = 6;
+       MY(alpha_min) = 156;
+       MY(alpha_max) = 300;
+       MY(alpha_fade) = 1024;
+       MY(color_min) = "0x629dff";
+       MY(color_max) = "0x0018ff";
+       MY(count) = 30;
+       MY(gravity) = 2;
+       MY(originjitter) = '1.0 1.0 1.0';
+       MY(size_min) = 1;
+       MY(size_max) = 2;
+       MY(tex_min) = 70;
+       MY(tex_max) = 70;
+       MY(type) = "spark";
+       MY(velocityjitter) = '1512.0 1512.0 1512.0';
+ }
+ // inner cloud of smoke
+ SUB(bigplasma_impact) {
+       MY(airfriction) = 30;
+       MY(alpha_min) = 200;
+       MY(alpha_max) = 456;
+       MY(alpha_fade) = 1512;
+       MY(color_min) = "0x629dff";
+       MY(color_max) = "0x0018ff";
+       MY(count) = 15;
+       MY(originjitter) = '20.0 20.0 20.0';
+       MY(startangle_min) = -180;
+       MY(startangle_max) = 180;
+       MY(spin_min) = -9;
+       MY(spin_max) = 9;
+       MY(sizeincrease) = 555;
+       MY(size_min) = 20;
+       MY(size_max) = 24;
+       MY(tex_min) = 48;
+       MY(tex_max) = 55;
+       MY(type) = "smoke";
+       MY(velocityjitter) = '320.0 320.0 320.0';
+ }
+ // smoke
+ SUB(bigplasma_impact) {
+       MY(airfriction) = 0.040000;
+       MY(alpha_min) = 128;
+       MY(alpha_max) = 328;
+       MY(alpha_fade) = 390;
+       MY(blend) = "alpha";
+       MY(color_min) = "0x222222";
+       MY(color_max) = "0x000000";
+       MY(count) = 16;
+       MY(gravity) = 0.400000;
+       MY(originjitter) = '80.0 80.0 10.0';
+       MY(startangle_min) = -180;
+       MY(startangle_max) = 180;
+       MY(spin_min) = 2;
+       MY(spin_max) = -2;
+       MY(sizeincrease) = 30;
+       MY(size_min) = 60;
+       MY(size_max) = 30;
+       MY(tex_max) = 7;
+       MY(type) = "smoke";
+       MY(velocityjitter) = '100.0 100.0 200.0';
+       MY(velocityoffset) = '0.0 0.0 180.0';
+ }
+ // smoke in the middle
+ SUB(bigplasma_impact) {
+       MY(airfriction) = 0.040000;
+       MY(alpha_min) = 128;
+       MY(alpha_max) = 328;
+       MY(alpha_fade) = 310;
+       MY(color_min) = "0x222222";
+       MY(color_max) = "0x000000";
+       MY(count) = 10;
+       MY(gravity) = -0.200000;
+       MY(originjitter) = '80.0 80.0 80.0';
+       MY(startangle_min) = -180;
+       MY(startangle_max) = 180;
+       MY(spin_min) = 20;
+       MY(spin_max) = -20;
+       MY(sizeincrease) = -10;
+       MY(size_min) = 60;
+       MY(size_max) = 70;
+       MY(tex_max) = 7;
+       MY(type) = "alphastatic";
+       MY(velocityjitter) = '10.0 10.0 10.0';
+ }
+ #include "effectinfo_ctf.inc"
+ // spawn_point -- team idle spawn point effect
+ #define spawn_point(name, color) \
+       DEF(spawn_point_##name); \
+       SUB(spawn_point_##name) { \
+               MY(airfriction) = 0.200000; \
+               MY(alpha_min) = 64; \
+               MY(alpha_max) = 128; \
+               MY(alpha_fade) = 128; \
+               MY(color_min) = color; \
+               MY(color_max) = color; \
+               MY(count) = 37.500000; \
+               MY(gravity) = -0.100000; \
+               MY(liquidfriction) = 0.800000; \
+               MY(originjitter) = '16.0 16.0 64.0'; \
+               MY(size_min) = 1; \
+               MY(size_max) = 2; \
+               MY(type) = "static"; \
+               MY(velocityjitter) = '32.0 32.0 0.0'; \
+       }
+ spawn_point(red,              "0xFF0F0F")
+ spawn_point(blue,             "0x0F0FFF")
+ spawn_point(yellow,   "0xFFFF0F")
+ spawn_point(pink,             "0xFF0FFF")
+ spawn_point(neutral,  "0xFFFFFF")
+ #undef spawn_point
+ // spawn_event -- team spawning effect
+ #define spawn_event(name, color) \
+       DEF(spawn_event_##name); \
+       SUB(spawn_event_##name) { \
+               MY(airfriction) = 2; \
+               MY(alpha_max) = 256; \
+               MY(alpha_fade) = 256; \
+               MY(bounce) = 1; \
+               MY(color_min) = color; \
+               MY(color_max) = color; \
+               MY(count) = 100; \
+               MY(originjitter) = '1.0 1.0 1.0'; \
+               MY(size_min) = 1; \
+               MY(size_max) = 1; \
+               MY(stretchfactor) = 0.600000; \
+               MY(tex_min) = 64; \
+               MY(tex_max) = 64; \
+               MY(type) = "spark"; \
+               MY(velocityjitter) = '500.0 500.0 500.0'; \
+               MY(velocitymultiplier) = 0.100000; \
+       } \
+       SUB(spawn_event_##name) { \
+               MY(alpha_min) = 190; \
+               MY(alpha_max) = 190; \
+               MY(alpha_fade) = 180; \
+               MY(color_min) = color; \
+               MY(color_max) = color; \
+               MY(countabsolute) = 1; \
+               MY(sizeincrease) = -80; \
+               MY(size_min) = 100; \
+               MY(size_max) = 100; \
+               MY(tex_min) = 65; \
+               MY(tex_max) = 65; \
+               MY(type) = "smoke"; \
+       } \
+       /**/
+ spawn_event(red,              "0xFF0F0F")
+ spawn_event(blue,             "0x0F0FFF")
+ spawn_event(yellow,   "0xFFFF0F")
+ spawn_event(pink,             "0xFF0FFF")
+ spawn_event(neutral,  "0xFFFFFF")
+ #undef spawn_event
+ #include "effectinfo_nades.inc"
+ DEF(shockwave_attack);
+ // electricity
+ SUB(shockwave_attack) {
+       MY(airfriction) = 1;
+       MY(alpha_min) = 4096;
+       MY(alpha_max) = 4096;
+       MY(alpha_fade) = 20000;
+       MY(color_min) = "0xb44215";
+       MY(color_max) = "0xff0000";
+       MY(count) = 1;
+       MY(originjitter) = '2.0 2.0 2.0';
+       MY(startangle_min) = -180;
+       MY(startangle_max) = 180;
+       MY(spin_min) = 4000;
+       MY(spin_max) = -4000;
+       MY(sizeincrease) = 1.500000;
+       MY(size_min) = 5;
+       MY(size_max) = 7;
+       MY(stretchfactor) = 2.300000;
+       MY(tex_min) = 43;
+       MY(tex_max) = 43;
+       MY(type) = "spark";
+       MY(velocityjitter) = '10.0 10.0 10.0';
+       MY(velocitymultiplier) = 10;
+ }
+ // fire
+ SUB(shockwave_attack) {
+       MY(airfriction) = 1;
+       MY(alpha_min) = 4096;
+       MY(alpha_max) = 4096;
+       MY(alpha_fade) = 20000;
+       MY(color_min) = "0xff4200";
+       MY(color_max) = "0xff0000";
+       MY(count) = 1;
+       MY(originjitter) = '2.0 2.0 2.0';
+       MY(sizeincrease) = 1.500000;
+       MY(size_min) = 7;
+       MY(size_max) = 9;
+       MY(stretchfactor) = 2;
+       MY(tex_min) = 8;
+       MY(tex_max) = 15;
+       MY(type) = "spark";
+       MY(velocityjitter) = '10.0 10.0 10.0';
+       MY(velocitymultiplier) = 10;
+ }
+ DEF(arc_lightning);
+ // impact decal
+ SUB(arc_lightning) {
+       MY(alpha_min) = 32;
+       MY(alpha_max) = 32;
+       MY(countabsolute) = 1;
+       MY(lightcolor) = '3.1 4.4 10.0';
+       MY(lightradiusfade) = 200;
+       MY(lightradius) = 50;
+       MY(originjitter) = '2.0 2.0 2.0';
+       MY(size_min) = 16;
+       MY(size_max) = 16;
+       MY(tex_min) = 16;
+       MY(tex_max) = 32;
+       MY(type) = "decal";
+ }
+ // impact sparks
+ SUB(arc_lightning) {
+       MY(airfriction) = 110;
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 512;
+       MY(color_min) = "0xDDFDFF";
+       MY(color_max) = "0xFDFDFF";
+       MY(count) = 100;
+       MY(originjitter) = '20.0 20.0 20.0';
+       MY(startangle_max) = 360;
+       MY(spin_min) = -36000;
+       MY(spin_max) = 36000;
+       MY(sizeincrease) = -5;
+       MY(size_max) = 5;
+       MY(stretchfactor) = 1;
+       MY(tex_min) = 71;
+       MY(tex_max) = 74;
+       MY(type) = "static";
+       MY(velocityjitter) = '250.0 250.0 250.0';
+       MY(velocitymultiplier) = 100;
+ }
+ // impact sparks (underwater)
+ SUB(arc_lightning) {
+       MY(airfriction) = 5;
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 512;
+       MY(color_min) = "0xDDFDFF";
+       MY(color_max) = "0xFDFDFF";
+       MY(count) = 100;
+       MY(liquidfriction) = 5;
+       MY(orientation) = "spark";
+       MY(originjitter) = '20.0 20.0 20.0';
+       MY(startangle_max) = 360;
+       MY(spin_min) = -36000;
+       MY(spin_max) = 36000;
+       MY(sizeincrease) = -5;
+       MY(size_max) = 5;
+       MY(stretchfactor) = 1;
+       MY(tex_min) = 71;
+       MY(tex_max) = 74;
+       MY(type) = "static";
+       MY(underwater) = true;
+       MY(velocityjitter) = '250.0 250.0 250.0';
+       MY(velocitymultiplier) = 20;
+ }
+ DEF(arc_beam);
+ // sparks on beam
+ SUB(arc_beam) {
+       MY(airfriction) = -10;
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 16384;
+       MY(color_min) = "0xfafad2";
+       MY(color_max) = "0xffffff";
+       MY(originjitter) = '3.0 3.0 3.0';
+       MY(relativeoriginoffset) = '10.0 0.0 0.0';
+       MY(startangle_max) = 360;
+       MY(spin_min) = 360;
+       MY(spin_max) = 1000;
+       MY(stretchfactor) = 1;
+       MY(tex_min) = 71;
+       MY(tex_max) = 74;
+       MY(time_min) = 0.050000;
+       MY(time_max) = 0.050000;
+       MY(trailspacing) = 10;
+       MY(type) = "spark";
+       MY(velocityjitter) = '100.0 100.0 100.0';
+       MY(velocitymultiplier) = 200;
+ }
+ // sparks on beam (underwater)
+ SUB(arc_beam) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 16384;
+       MY(color_min) = "0xfafad2";
+       MY(color_max) = "0xffffff";
+       MY(liquidfriction) = -10;
+       MY(originjitter) = '30.0 30.0 30.0';
+       MY(relativeoriginoffset) = '10.0 0.0 0.0';
+       MY(startangle_max) = 360;
+       MY(spin_min) = 360;
+       MY(spin_max) = 1000;
+       MY(stretchfactor) = 1;
+       MY(tex_min) = 71;
+       MY(tex_max) = 74;
+       MY(time_min) = 0.001000;
+       MY(time_max) = 0.001000;
+       MY(trailspacing) = 10;
+       MY(type) = "spark";
+       MY(underwater) = true;
+       MY(velocityjitter) = '100.0 100.0 100.0';
+       MY(velocitymultiplier) = 200;
+ }
+ DEF(arc_beam_heal);
+ // bubble this...
+ SUB(arc_beam_heal) {
+       MY(airfriction) = -20;
+       MY(alpha_min) = 2048;
+       MY(alpha_max) = 2048;
+       MY(alpha_fade) = 256;
+       MY(color_min) = "0x20FF20";
+       MY(color_max) = "0x40FF40";
+       MY(relativeoriginoffset) = '5.0 0.0 0.0';
+       MY(relativevelocityoffset) = '100.0 0.0 0.0';
+       MY(sizeincrease) = 20;
+       MY(size_min) = 0.100000;
+       MY(size_max) = 0.100000;
+       MY(tex_min) = 74;
+       MY(tex_max) = 74;
+       MY(trailspacing) = 1500;
+       MY(type) = "smoke";
+       MY(velocityjitter) = '3.0 3.0 3.0';
+       MY(velocitymultiplier) = 200;
+ }
+ DEF(arc_beam_healimpact);
+ // healing "aura"
+ SUB(arc_beam_healimpact) {
+       MY(alpha_min) = 40;
+       MY(alpha_max) = 40;
+       MY(alpha_fade) = 350;
+       MY(color_min) = "0x00ff00";
+       MY(color_max) = "0x84c52f";
+       MY(countabsolute) = 1;
+       MY(lightcolor) = '0.0 4.4 0.0';
+       MY(lightradiusfade) = 150;
+       MY(lightradius) = 20;
+       MY(sizeincrease) = -1000;
+       MY(size_min) = 32;
+       MY(size_max) = 32;
+       MY(tex_min) = 33;
+       MY(tex_max) = 33;
+       MY(type) = "smoke";
+       MY(velocitymultiplier) = 44;
+ }
+ // rising "smoke"
+ SUB(arc_beam_healimpact) {
+       MY(airfriction) = 3;
+       MY(alpha_min) = 200;
+       MY(alpha_max) = 456;
+       MY(alpha_fade) = 512;
+       MY(color_min) = "0x00ff00";
+       MY(color_max) = "0x84c52f";
+       MY(count) = 15;
+       MY(gravity) = -2;
+       MY(startangle_min) = -180;
+       MY(startangle_max) = 180;
+       MY(spin_min) = -90;
+       MY(spin_max) = 90;
+       MY(size_min) = 0.500000;
+       MY(size_max) = 1;
+       MY(tex_min) = 40;
+       MY(tex_max) = 40;
+       MY(type) = "smoke";
+       MY(velocityjitter) = '120.0 120.0 420.0';
+ }
+ DEF(arc_smoke);
+ // arc heat smoke  (notunderwater)
+ SUB(arc_smoke) {
+       MY(airfriction) = 1;
+       MY(alpha_min) = 32;
+       MY(alpha_max) = 64;
+       MY(alpha_fade) = 48;
+       MY(color_min) = "0x4c453f";
+       MY(color_max) = "0x2a241f";
+       MY(count) = 2;
+       MY(gravity) = -0.125000;
+       MY(notunderwater) = true;
+       MY(startangle_max) = 360;
+       MY(spin_min) = -180;
+       MY(spin_max) = 180;
+       MY(sizeincrease) = 10;
+       MY(size_min) = 5;
+       MY(size_max) = 10;
+       MY(tex_max) = 8;
+       MY(type) = "smoke";
+       MY(velocityjitter) = '0.0 0.0 16.0';
+ }
+ // arc heat bubbles  (underwater)
+ SUB(arc_smoke) {
+       MY(alpha_min) = 170;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 64;
+       MY(bounce) = 1.500000;
+       MY(color_min) = "0x404040";
+       MY(color_max) = "0x808080";
+       MY(count) = 2;
+       MY(gravity) = -0.125000;
+       MY(liquidfriction) = 0.250000;
+       MY(originjitter) = '6.0 6.0 6.0';
+       MY(size_min) = 0.100000;
+       MY(size_max) = 1;
+       MY(tex_min) = 62;
+       MY(tex_max) = 62;
+       MY(type) = "bubble";
+       MY(underwater) = true;
+       MY(velocityjitter) = '16.0 16.0 16.0';
+ }
+ DEF(arc_overheat);
+ // arc overheat electric bolts
+ SUB(arc_overheat) {
+       MY(airfriction) = 5;
+       MY(alpha_min) = 128;
+       MY(alpha_max) = 128;
+       MY(alpha_fade) = 292;
+       MY(color_min) = "0xffffff";
+       MY(color_max) = "0x9271fb";
+       MY(count) = 24;
+       MY(gravity) = -0.400000;
+       MY(liquidfriction) = 10;
+       MY(originjitter) = '10.0 10.0 10.0';
+       MY(sizeincrease) = -24;
+       MY(size_min) = 6;
+       MY(size_max) = 12;
+       MY(tex_min) = 43;
+       MY(tex_max) = 43;
+       MY(type) = "spark";
+       MY(velocityjitter) = '256.0 256.0 256.0';
+ }
+ DEF(arc_overheat_fire);
+ // arc overheat bouncing sparks
+ SUB(arc_overheat_fire) {
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 640;
+       MY(bounce) = 1.500000;
+       MY(color_min) = "0x4444ff";
+       MY(color_max) = "0xeeeeff";
+       MY(count) = 1;
+       MY(gravity) = 1;
+       MY(liquidfriction) = 5;
+       MY(originjitter) = '6.0 6.0 6.0';
+       MY(size_min) = 0.400000;
+       MY(size_max) = 1;
+       MY(type) = "spark";
+       MY(velocityjitter) = '92.0 92.0 92.0';
+       MY(velocitymultiplier) = 80;
+       MY(velocityoffset) = '0.0 0.0 80.0';
+ }
+ #include "effectinfo_buffs.inc"
+ #include "effectinfo_instagib.inc"
+ DEF(arc_muzzleflash);
+ SUB(arc_muzzleflash) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 512;
+       MY(color_min) = "0x00ff00";
+       MY(color_max) = "0x8f4333";
+       MY(count) = 2;
+       MY(lightcolor) = '0.3 2.0 0.2';
+       MY(lightradiusfade) = 2000;
+       MY(lightradius) = 200;
+       MY(originjitter) = '1.5 1.5 1.5';
+       MY(size_min) = 5;
+       MY(size_max) = 5;
+       MY(tex_max) = 8;
+       MY(type) = "smoke";
+       MY(velocityjitter) = '6.0 6.0 6.0';
+       MY(velocitymultiplier) = 0.010000;
+ }
+ SUB(arc_muzzleflash) {
+       MY(airfriction) = 12;
+       MY(alpha_max) = 128;
+       MY(alpha_fade) = 1024;
+       MY(color_min) = "0x00ff00";
+       MY(color_max) = "0x8f4333";
+       MY(count) = 15;
+       MY(originjitter) = '1.0 1.0 1.0';
+       MY(startangle_min) = -180;
+       MY(startangle_max) = 180;
+       MY(spin_min) = -400;
+       MY(spin_max) = 400;
+       MY(size_min) = 5;
+       MY(size_max) = 10;
+       MY(stretchfactor) = 2;
+       MY(tex_min) = 48;
+       MY(tex_max) = 55;
+       MY(type) = "spark";
+       MY(velocityjitter) = '200.0 200.0 200.0';
+       MY(velocitymultiplier) = 0.500000;
+ }
+ DEF(arc_bolt_explode);
+ // decal
+ SUB(arc_bolt_explode) {
+       MY(alpha_min) = 256;
+       MY(alpha_max) = 256;
+       MY(countabsolute) = 1;
+       MY(lightcolor) = '8.0 4.0 1.0';
+       MY(lightradiusfade) = 400;
+       MY(lightradius) = 120;
+       MY(originjitter) = '14.0 14.0 14.0';
+       MY(size_min) = 28;
+       MY(size_max) = 38;
+       MY(tex_min) = 8;
+       MY(tex_max) = 16;
+       MY(type) = "decal";
+ }
+ // fire effect which make bright dot inside
+ SUB(arc_bolt_explode) {
+       MY(airfriction) = 8;
+       MY(alpha_min) = 80;
+       MY(alpha_max) = 200;
+       MY(alpha_fade) = 356;
+       MY(bounce) = 1.500000;
+       MY(color_min) = "0x00ffff";
+       MY(color_max) = "0x00ffff";
+       MY(count) = 3.500000;
+       MY(liquidfriction) = 8;
+       MY(notunderwater) = true;
+       MY(originjitter) = '8.0 8.0 8.0';
+       MY(sizeincrease) = 5;
+       MY(size_min) = 16;
+       MY(size_max) = 26;
+       MY(tex_min) = 48;
+       MY(tex_max) = 55;
+       MY(type) = "smoke";
+       MY(velocityjitter) = '156.0 156.0 156.0';
+ }
+ // fire effect which expands then slows
+ SUB(arc_bolt_explode) {
+       MY(airfriction) = 12;
+       MY(alpha_min) = 128;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 456;
+       MY(bounce) = 1.500000;
+       MY(color_min) = "0x00ff00";
+       MY(color_max) = "0x8f4333";
+       MY(count) = 12;
+       MY(liquidfriction) = 8;
+       MY(notunderwater) = true;
+       MY(originjitter) = '8.0 8.0 8.0';
+       MY(sizeincrease) = 15;
+       MY(size_min) = 20;
+       MY(size_max) = 26;
+       MY(tex_min) = 48;
+       MY(tex_max) = 55;
+       MY(type) = "static";
+       MY(velocityjitter) = '286.0 286.0 286.0';
+ }
+ // underwater bubbles
+ SUB(arc_bolt_explode) {
+       MY(alpha_min) = 128;
+       MY(alpha_max) = 256;
+       MY(alpha_fade) = 64;
+       MY(bounce) = 1.500000;
+       MY(color_min) = "0x404040";
+       MY(color_max) = "0x808080";
+       MY(count) = 16;
+       MY(gravity) = -0.125000;
+       MY(liquidfriction) = 0.250000;
+       MY(originjitter) = '16.0 16.0 16.0';
+       MY(size_min) = 3;
+       MY(size_max) = 3;
+       MY(tex_min) = 62;
+       MY(tex_max) = 62;
+       MY(type) = "bubble";
+       MY(underwater) = true;
+       MY(velocityjitter) = '96.0 96.0 96.0';
+ }
+ // bouncing sparks
+ SUB(arc_bolt_explode) {
+       MY(airfriction) = 1;
+       MY(alpha_min) = 644;
+       MY(alpha_max) = 956;
+       MY(alpha_fade) = 684;
+       MY(bounce) = 1.600000;
+       MY(color_min) = "0x00ff00";
+       MY(color_max) = "0x8f4333";
+       MY(count) = 16;
+       MY(gravity) = 1;
+       MY(liquidfriction) = 0.800000;
+       MY(notunderwater) = true;
+       MY(originjitter) = '16.0 16.0 16.0';
+       MY(size_min) = 1;
+       MY(size_max) = 0.100000;
+       MY(tex_min) = 40;
+       MY(tex_max) = 40;
+       MY(type) = "spark";
+       MY(velocityjitter) = '224.0 224.0 224.0';
+       MY(velocityoffset) = '0.0 0.0 80.0';
+ }
++
++// small splash of water
++DEF(water_splash_small);
++// main water
++SUB(water_splash_small) {
++      MY(airfriction) = 4;
++      MY(alpha_min) = 100;
++      MY(alpha_max) = 450;
++      MY(alpha_fade) = 656;
++      MY(color_min) = "0xd3e5ea";
++      MY(color_max) = "0xa6eaff";
++      MY(count) = 7;
++      MY(gravity) = 1.5;
++      MY(sizeincrease) = -10;
++      MY(size_min) = 6;
++      MY(size_max) = 16;
++      MY(startangle_min) = 0;
++      MY(startangle_max) = 360;
++      MY(spin_min) = -150;
++      MY(spin_max) = 150;
++      MY(tex_min) = 76;
++      MY(tex_max) = 76;
++      MY(type) = "alphastatic";
++      MY(velocityjitter) = '0.0 10.0 250.0';
++      MY(velocitymultiplier) = 0.6;
++}
++// small water drops
++SUB(water_splash_small) {
++      MY(airfriction) = 1;
++      MY(alpha_min) = 50;
++      MY(alpha_max) = 145;
++      MY(alpha_fade) = 200;
++      MY(color_min) = "0xd3e5ea";
++      MY(color_max) = "0xa6eaff";
++      MY(count) = 4;
++      MY(gravity) = 0.4;
++      MY(sizeincrease) = -5;
++      MY(size_min) = 2;
++      MY(size_max) = 1;
++      MY(startangle_min) = 0;
++      MY(startangle_max) = 360;
++      MY(spin_min) = -150;
++      MY(spin_max) = 150;
++      MY(stretchfactor) = 2;
++      MY(tex_min) = 76;
++      MY(tex_max) = 76;
++      MY(type) = "spark";
++      MY(velocityjitter) = '210.0 210.0 350.0';
++      MY(velocitymultiplier) = 0.2;
++}
++// water mist
++SUB(water_splash_small) {
++      MY(airfriction) = 4;
++      MY(alpha_min) = 100;
++      MY(alpha_max) = 150;
++      MY(alpha_fade) = 256;
++      MY(color_min) = "0xd3e5ea";
++      MY(color_max) = "0xa6eaff";
++      MY(count) = 4;
++      MY(gravity) = 0.9;
++      MY(sizeincrease) = 25;
++      MY(size_min) = 6;
++      MY(size_max) = 26;
++      MY(startangle_min) = 0;
++      MY(startangle_max) = 360;
++      MY(spin_min) = -15;
++      MY(spin_max) = 15;
++      MY(tex_min) = 75;
++      MY(tex_max) = 75;
++      MY(type) = "smoke";
++      MY(velocityjitter) = '150.0 150.0 250.0';
++      MY(velocitymultiplier) = 0.4;
++}
++
++// large splash of water
++DEF(water_splash_large);
++// main water
++SUB(water_splash_large) {
++      MY(airfriction) = 1;
++      MY(alpha_min) = 100;
++      MY(alpha_max) = 250;
++      MY(alpha_fade) = 600;
++      MY(color_min) = "0xd3e5ea";
++      MY(color_max) = "0xa6eaff";
++      MY(count) = 15;
++      MY(gravity) = 0.5;
++      MY(originjitter) = '21.0 21.0 1.0';
++      MY(sizeincrease) = -20;
++      MY(size_min) = 15;
++      MY(size_max) = 25;
++      MY(startangle_min) = 0;
++      MY(startangle_max) = 360;
++      MY(spin_min) = -150;
++      MY(spin_max) = 150;
++      MY(tex_min) = 76;
++      MY(tex_max) = 76;
++      MY(type) = "alphastatic";
++      MY(velocityjitter) = '150.0 150.0 150.0';
++      MY(velocitymultiplier) = 0.2;
++}
++// small water drops
++SUB(water_splash_large) {
++      MY(airfriction) = 1;
++      MY(alpha_min) = 50;
++      MY(alpha_max) = 145;
++      MY(alpha_fade) = 200;
++      MY(color_min) = "0xd3e5ea";
++      MY(color_max) = "0xa6eaff";
++      MY(count) = 4;
++      MY(gravity) = 0.4;
++      MY(sizeincrease) = -5;
++      MY(size_min) = 2;
++      MY(size_max) = 1;
++      MY(startangle_min) = 0;
++      MY(startangle_max) = 360;
++      MY(spin_min) = -150;
++      MY(spin_max) = 150;
++      MY(stretchfactor) = 2;
++      MY(tex_min) = 76;
++      MY(tex_max) = 76;
++      MY(type) = "spark";
++      MY(velocityjitter) = '210.0 210.0 350.0';
++      MY(velocitymultiplier) = 0.3;
++}
++// water mist
++SUB(water_splash_large) {
++      MY(airfriction) = 4;
++      MY(alpha_min) = 100;
++      MY(alpha_max) = 150;
++      MY(alpha_fade) = 256;
++      MY(color_min) = "0xd3e5ea";
++      MY(color_max) = "0xa6eaff";
++      MY(count) = 10;
++      MY(gravity) = 0.9;
++      MY(originjitter) = '21.0 21.0 1.0';
++      MY(sizeincrease) = 35;
++      MY(size_min) = 6;
++      MY(size_max) = 26;
++      MY(startangle_min) = 0;
++      MY(startangle_max) = 360;
++      MY(spin_min) = -15;
++      MY(spin_max) = 15;
++      MY(tex_min) = 75;
++      MY(tex_max) = 75;
++      MY(type) = "smoke";
++      MY(velocityjitter) = '180.0 180.0 250.0';
++      MY(velocitymultiplier) = 0.4;
++}
diff --cc wtf.diff
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..ae2d12a0ee5b1c985d8d5ac7797c51ab7a5e7ae3
new file mode 100644 (file)
--- /dev/null
--- /dev/null
+++ b/wtf.diff
@@@ -1,0 -1,0 +1,259 @@@
++diff --git a/effectinfo.txt b/effectinfo.txt
++index b2544fa..b7ae6e1 100644
++--- a/effectinfo.txt
+++++ b/effectinfo.txt
++@@ -8253,3 +8253,94 @@ effect arc_bolt_explode
++      tex 40 40
++      velocityjitter 224 224 224
++      velocityoffset 0 0 80
+++
+++//Small splash of water
+++// main water
+++effect water_splash_small
+++     type alphastatic
+++     tex 76 76
+++     count 7
+++     size 6 16
+++     sizeincrease -10
+++     alpha 100 450 656
+++     velocityjitter 10 10 250
+++     velocitymultiplier 0.6
+++     airfriction 4
+++     color 0xd3e5ea 0xa6eaff
+++     rotate 0 360 -150 150
+++     gravity 1.5
+++// small water drops
+++effect water_splash_small
+++     type spark
+++     tex 76 76
+++     count 4
+++     size 2 1
+++     sizeincrease -5
+++     alpha 50 145 200
+++     velocityjitter 210 210 350
+++     velocitymultiplier 0.2
+++     airfriction 1
+++     color 0xd3e5ea 0xa6eaff
+++     rotate 0 360 -150 150
+++     gravity 0.4
+++     stretchfactor 2
+++// water mist
+++effect water_splash_small
+++     type smoke
+++     tex 75 75
+++     count 4
+++     size 6 26
+++     sizeincrease 25
+++     alpha 100 150 256
+++     velocityjitter 150 150 250
+++     velocitymultiplier 0.4
+++     airfriction 4
+++     color 0xd3e5ea 0xa6eaff
+++     rotate 0 360 -15 15
+++     gravity 0.9
+++// Large splash of water
+++// main water
+++effect water_splash_large
+++     type alphastatic
+++     tex 76 76
+++     count 15
+++     size 15 25
+++     sizeincrease -20
+++     alpha 100 250 600
+++     velocityjitter 150 150 150
+++     velocitymultiplier 0.2
+++     airfriction 1
+++     color 0xd3e5ea 0xa6eaff
+++     rotate 0 360 -150 150
+++     gravity 0.5
+++     originjitter 21 21 1
+++// small water drops
+++effect water_splash_large
+++     type spark
+++     tex 76 76
+++     count 4
+++     size 2 1
+++     sizeincrease -5
+++     alpha 50 145 200
+++     velocityjitter 210 210 350
+++     velocitymultiplier 0.3
+++     airfriction 1
+++     color 0xd3e5ea 0xa6eaff
+++     rotate 0 360 -150 150
+++     gravity 0.4
+++     stretchfactor 2
+++// water mist
+++effect water_splash_large
+++     type smoke
+++     tex 75 75
+++     count 10
+++     size 6 26
+++     sizeincrease 35
+++     alpha 200 250 356
+++     velocityjitter 180 180 250
+++     velocitymultiplier 0.4
+++     airfriction 4
+++     color 0xd3e5ea 0xa6eaff
+++     rotate 0 360 -15 15
+++     gravity 0.9
+++     originjitter 21 21 1
++diff --git a/particles/particlefont.tga b/particles/particlefont.tga
++index a233482..9ad68cd 100644
++Binary files a/particles/particlefont.tga and b/particles/particlefont.tga differ
++diff --git a/qcsrc/common/effects/effectinfo.inc b/qcsrc/common/effects/effectinfo.inc
++index 56303a4..77674e4 100644
++--- a/qcsrc/common/effects/effectinfo.inc
+++++ b/qcsrc/common/effects/effectinfo.inc
++@@ -8873,3 +8873,151 @@ SUB(arc_bolt_explode) {
++      MY(velocityjitter) = '224.0 224.0 224.0';
++      MY(velocityoffset) = '0.0 0.0 80.0';
++ }
+++
+++// small splash of water
+++DEF(water_splash_small);
+++// main water
+++SUB(water_splash_small) {
+++     MY(airfriction) = 4;
+++     MY(alpha_min) = 100;
+++     MY(alpha_max) = 450;
+++     MY(alpha_fade) = 656;
+++     MY(color_min) = "0xd3e5ea";
+++     MY(color_max) = "0xa6eaff";
+++     MY(count) = 7;
+++     MY(gravity) = 1.5;
+++     MY(sizeincrease) = -10;
+++     MY(size_min) = 6;
+++     MY(size_max) = 16;
+++     MY(startangle_min) = 0;
+++     MY(startangle_max) = 360;
+++     MY(spin_min) = -150;
+++     MY(spin_max) = 150;
+++     MY(tex_min) = 76;
+++     MY(tex_max) = 76;
+++     MY(type) = "alphastatic";
+++     MY(velocityjitter) = '0.0 10.0 250.0';
+++     MY(velocitymultiplier) = 0.6;
+++}
+++// small water drops
+++SUB(water_splash_small) {
+++     MY(airfriction) = 1;
+++     MY(alpha_min) = 50;
+++     MY(alpha_max) = 145;
+++     MY(alpha_fade) = 200;
+++     MY(color_min) = "0xd3e5ea";
+++     MY(color_max) = "0xa6eaff";
+++     MY(count) = 4;
+++     MY(gravity) = 0.4;
+++     MY(sizeincrease) = -5;
+++     MY(size_min) = 2;
+++     MY(size_max) = 1;
+++     MY(startangle_min) = 0;
+++     MY(startangle_max) = 360;
+++     MY(spin_min) = -150;
+++     MY(spin_max) = 150;
+++     MY(stretchfactor) = 2;
+++     MY(tex_min) = 76;
+++     MY(tex_max) = 76;
+++     MY(type) = "spark";
+++     MY(velocityjitter) = '210.0 210.0 350.0';
+++     MY(velocitymultiplier) = 0.2;
+++}
+++// water mist
+++SUB(water_splash_small) {
+++     MY(airfriction) = 4;
+++     MY(alpha_min) = 100;
+++     MY(alpha_max) = 150;
+++     MY(alpha_fade) = 256;
+++     MY(color_min) = "0xd3e5ea";
+++     MY(color_max) = "0xa6eaff";
+++     MY(count) = 4;
+++     MY(gravity) = 0.9;
+++     MY(sizeincrease) = 25;
+++     MY(size_min) = 6;
+++     MY(size_max) = 26;
+++     MY(startangle_min) = 0;
+++     MY(startangle_max) = 360;
+++     MY(spin_min) = -15;
+++     MY(spin_max) = 15;
+++     MY(tex_min) = 75;
+++     MY(tex_max) = 75;
+++     MY(type) = "smoke";
+++     MY(velocityjitter) = '150.0 150.0 250.0';
+++     MY(velocitymultiplier) = 0.4;
+++}
+++
+++// large splash of water
+++DEF(water_splash_large);
+++// main water
+++SUB(water_splash_large) {
+++     MY(airfriction) = 1;
+++     MY(alpha_min) = 100;
+++     MY(alpha_max) = 250;
+++     MY(alpha_fade) = 600;
+++     MY(color_min) = "0xd3e5ea";
+++     MY(color_max) = "0xa6eaff";
+++     MY(count) = 15;
+++     MY(gravity) = 0.5;
+++     MY(originjitter) = '21.0 21.0 1.0';
+++     MY(sizeincrease) = -20;
+++     MY(size_min) = 15;
+++     MY(size_max) = 25;
+++     MY(startangle_min) = 0;
+++     MY(startangle_max) = 360;
+++     MY(spin_min) = -150;
+++     MY(spin_max) = 150;
+++     MY(tex_min) = 76;
+++     MY(tex_max) = 76;
+++     MY(type) = "alphastatic";
+++     MY(velocityjitter) = '150.0 150.0 150.0';
+++     MY(velocitymultiplier) = 0.2;
+++}
+++// small water drops
+++SUB(water_splash_large) {
+++     MY(airfriction) = 1;
+++     MY(alpha_min) = 50;
+++     MY(alpha_max) = 145;
+++     MY(alpha_fade) = 200;
+++     MY(color_min) = "0xd3e5ea";
+++     MY(color_max) = "0xa6eaff";
+++     MY(count) = 4;
+++     MY(gravity) = 0.4;
+++     MY(sizeincrease) = -5;
+++     MY(size_min) = 2;
+++     MY(size_max) = 1;
+++     MY(startangle_min) = 0;
+++     MY(startangle_max) = 360;
+++     MY(spin_min) = -150;
+++     MY(spin_max) = 150;
+++     MY(stretchfactor) = 2;
+++     MY(tex_min) = 76;
+++     MY(tex_max) = 76;
+++     MY(type) = "spark";
+++     MY(velocityjitter) = '210.0 210.0 350.0';
+++     MY(velocitymultiplier) = 0.3;
+++}
+++// water mist
+++SUB(water_splash_large) {
+++     MY(airfriction) = 4;
+++     MY(alpha_min) = 100;
+++     MY(alpha_max) = 150;
+++     MY(alpha_fade) = 256;
+++     MY(color_min) = "0xd3e5ea";
+++     MY(color_max) = "0xa6eaff";
+++     MY(count) = 10;
+++     MY(gravity) = 0.9;
+++     MY(originjitter) = '21.0 21.0 1.0';
+++     MY(sizeincrease) = 35;
+++     MY(size_min) = 6;
+++     MY(size_max) = 26;
+++     MY(startangle_min) = 0;
+++     MY(startangle_max) = 360;
+++     MY(spin_min) = -15;
+++     MY(spin_max) = 15;
+++     MY(tex_min) = 75;
+++     MY(tex_max) = 75;
+++     MY(type) = "smoke";
+++     MY(velocityjitter) = '180.0 180.0 250.0';
+++     MY(velocitymultiplier) = 0.4;
+++}
++\ No newline at end of file