Merge branch 'master' into mirceakitsune/damage_effects
authorMircea Kitsune <sonichedgehog_hyperblast00@yahoo.com>
Thu, 25 Aug 2011 12:36:41 +0000 (15:36 +0300)
committerMircea Kitsune <sonichedgehog_hyperblast00@yahoo.com>
Thu, 25 Aug 2011 12:36:41 +0000 (15:36 +0300)
Conflicts:
effectinfo.txt
qcsrc/client/Main.qc
qcsrc/client/autocvars.qh
qcsrc/client/gibs.qc

12 files changed:
1  2 
defaultXonotic.cfg
effectinfo.txt
qcsrc/client/Main.qc
qcsrc/client/autocvars.qh
qcsrc/client/gibs.qc
qcsrc/common/constants.qh
qcsrc/server/autocvars.qh
qcsrc/server/cl_client.qc
qcsrc/server/cl_player.qc
qcsrc/server/defs.qh
qcsrc/server/g_damage.qc
qcsrc/server/miscfunctions.qc

Simple merge
diff --cc effectinfo.txt
@@@ -5258,646 -5258,1152 +5258,1796 @@@ originjitter 1 1 
  velocityjitter 100 100 100
  velocitymultiplier -0.31
  
- // hook does not use the weapon damage effect
+ // --------------- vehicles
+ 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
+ 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
+ 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
+ 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
+ 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
+ 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 
+ 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
+ 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
+ // derbis
+ 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
+ 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
+ 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
+ effect spiderbot_rocket_explode
+ countabsolute 1
+ type static
+ tex 33 33 
+ size 22 22
+ alpha 56 56 230
+ color 0x8f0d00 0xff5a00
+ sizeincrease 2400
+ // glow
+ 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
+ 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
+ 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
+ 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
+ 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
+ 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
+ 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
+ effect spiderbot_rocket_explode
+ underwater
+ type smoke
+ countabsolute 1
+ tex 33 33
+ size 30 30
+ sizeincrease 1200
+ alpha 40 40 300
+ 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
+ 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
+ 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
+ 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
+ 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
+ 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
+ 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
+ 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
+ effect wakizashi_gun_impact
+ countabsolute 1
+ type smoke
+ tex 65 65
+ color 0xff0000 0xc03535
+ size 82 82
+ alpha 250 300 680
+ sizeincrease -180
+ 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
+ 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
+ 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
+ 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
+ effect wakizashi_rocket_explode
+ countabsolute 1
+ type static
+ tex 33 33 
+ size 22 22
+ alpha 56 56 230
+ color 0x8f0d00 0xff5a00
+ sizeincrease 2400
+ // glow
+ 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
+ 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
+ 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
+ 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
+ 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
+ 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
+ effect wakizashi_rocket_explode
+ underwater
+ type smoke
+ countabsolute 1
+ tex 33 33
+ size 30 30
+ sizeincrease 1200
+ alpha 40 40 300
+ 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
+ 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
+ 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
+ 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
+ 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
+ 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
+ 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
+ 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
+ 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
+ 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
+ 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
+ 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
+ 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
+ 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
+ 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
+ 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
+ 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
+ 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
+ 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)
+ 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
+ effect explosion_big
+ countabsolute 1
+ type static
+ tex 33 33 
+ size 72 72
+ alpha 56 56 330
+ color 0x8f0d00 0xff5a00
+ sizeincrease 4400
+ // fire effect
+ 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
+ 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
+ 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
+ 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
+ // derbis
+ 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
+ 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
+ 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
+ effect explosion_medium
+ countabsolute 1
+ type static
+ tex 33 33 
+ size 72 72
+ alpha 56 56 330
+ color 0x8f0d00 0xff5a00
+ sizeincrease 2400
+ // fire effect
+ 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
+ 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
+ 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 
+ 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
+ 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
+ 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
+ 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
+ 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
+ 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
+ effect explosion_small
+ countabsolute 1
+ type static
+ tex 33 33 
+ size 22 22
+ alpha 56 56 330
+ color 0x8f0d00 0xff5a00
+ sizeincrease 2400
+ // fire effect
+ 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
+ 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
+ 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
+ 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
+ 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 )
+ 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 )
+ 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
++
 +// tuba does not use the weapon damage effect
 +
 +// laser damage effect
 +// used in qcsrc/client/gibs.qc:                      pointparticles(particleeffectnum(effectnum), org, '0 0 0', 1);
 +effect weapondamage_laser
 +count 3
 +type smoke
 +tex 0 8
 +color 0x880000 0xff4400
 +size 8 16
 +sizeincrease 10
 +alpha 128 16 128
 +gravity 0
 +originjitter 4 4 16
 +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/gibs.qc:                      pointparticles(particleeffectnum(effectnum), org, '0 0 0', 1);
 +effect weapondamage_shotgun
 +count 0.5
 +type blood
 +tex 24 32
 +size 4 9
 +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
 +effect weapondamage_shotgun
 +countabsolute 1
 +type alphastatic
 +tex 0 8
 +size 8 16
 +alpha 100 256 400
 +color 0x000000 0x420000
 +originjitter 11 11 11
 +
 +// shotgun damage effect, alien blood
 +// used in qcsrc/client/gibs.qc:                      pointparticles(particleeffectnum(effectnum), org, '0 0 0', 1);
 +effect weapondamage_shotgun_alien
 +count 0.5
 +type blood
 +tex 24 32
 +size 4 9
 +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
 +effect weapondamage_shotgun_alien
 +countabsolute 1
 +type alphastatic
 +tex 0 8
 +size 8 16
 +alpha 100 256 400
 +color 0x000000 0x204010
 +originjitter 11 11 11
 +
 +// shotgun damage effect, robot blood
 +// used in qcsrc/client/gibs.qc:                      pointparticles(particleeffectnum(effectnum), org, '0 0 0', 1);
 +effect weapondamage_shotgun_robot
 +count 0.5
 +type blood
 +tex 24 32
 +size 4 9
 +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
 +effect weapondamage_shotgun_robot
 +countabsolute 1
 +type alphastatic
 +tex 0 8
 +size 8 16
 +alpha 100 256 400
 +color 0x000000 0x301860
 +originjitter 11 11 11
 +
 +// uzi damage effect, normal blood
 +// used in qcsrc/client/gibs.qc:                      pointparticles(particleeffectnum(effectnum), org, '0 0 0', 1);
 +effect weapondamage_uzi
 +count 0.25
 +type blood
 +tex 24 32
 +size 3 8
 +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
 +effect weapondamage_uzi
 +countabsolute 1
 +type alphastatic
 +tex 0 8
 +size 6 12
 +alpha 100 256 400
 +color 0x000000 0x420000
 +originjitter 11 11 11
 +
 +// uzi damage effect, alien blood
 +// used in qcsrc/client/gibs.qc:                      pointparticles(particleeffectnum(effectnum), org, '0 0 0', 1);
 +effect weapondamage_uzi_alien
 +count 0.25
 +type blood
 +tex 24 32
 +size 3 8
 +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
 +effect weapondamage_uzi_alien
 +countabsolute 1
 +type alphastatic
 +tex 0 8
 +size 6 12
 +alpha 100 256 400
 +color 0x000000 0x204010
 +originjitter 11 11 11
 +
 +// uzi damage effect, robot blood
 +// used in qcsrc/client/gibs.qc:                      pointparticles(particleeffectnum(effectnum), org, '0 0 0', 1);
 +effect weapondamage_uzi_robot
 +count 0.25
 +type blood
 +tex 24 32
 +size 3 8
 +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
 +effect weapondamage_uzi_robot
 +countabsolute 1
 +type alphastatic
 +tex 0 8
 +size 6 12
 +alpha 100 256 400
 +color 0x000000 0x301860
 +originjitter 11 11 11
 +
 +// minelayer damage effect
 +// used in qcsrc/client/gibs.qc:                      pointparticles(particleeffectnum(effectnum), org, '0 0 0', 1);
 +effect weapondamage_minelayer
 +//notunderwater
 +count 2
 +type smoke
 +tex 48 55
 +size 6 12
 +alpha 256 16 256
 +gravity -0.5
 +color 0x8f0d00 0xff5a00
 +sizeincrease -10
 +originoffset 0 0 10
 +originjitter 6 6 8
 +velocityjitter 22 22 50
 +// smoke
 +effect weapondamage_minelayer
 +type alphastatic
 +count 2
 +tex 0 8
 +size 4 8
 +sizeincrease 5
 +alpha 128 32 128
 +color 0x000000 0x111111
 +gravity -0.3
 +originoffset 0 0 10
 +originjitter 6 6 8
 +velocityjitter 11 11 50
 +// light
 +effect weapondamage_minelayer
 +trailspacing 8
 +lightradius 60
 +lightradiusfade 280
 +lightcolor 0.9 0.6 0.2
 +
 +// grenadelauncher damage effect
 +// used in qcsrc/client/gibs.qc:                      pointparticles(particleeffectnum(effectnum), org, '0 0 0', 1);
 +effect weapondamage_grenadelauncher
 +//notunderwater
 +count 2
 +type smoke
 +tex 48 55
 +size 6 12
 +alpha 256 16 256
 +gravity -0.5
 +color 0x8f0d00 0xff5a00
 +sizeincrease -10
 +originoffset 0 0 10
 +originjitter 6 6 8
 +velocityjitter 22 22 50
 +// smoke
 +effect weapondamage_grenadelauncher
 +type alphastatic
 +count 2
 +tex 0 8
 +size 4 8
 +sizeincrease 5
 +alpha 128 32 128
 +color 0x000000 0x111111
 +gravity -0.3
 +originoffset 0 0 10
 +originjitter 6 6 8
 +velocityjitter 11 11 50
 +// light
 +effect weapondamage_grenadelauncher
 +trailspacing 8
 +lightradius 60
 +lightradiusfade 280
 +lightcolor 0.9 0.6 0.2
 +
 +// electro damage effect
 +// used in qcsrc/client/gibs.qc:                      pointparticles(particleeffectnum(effectnum), org, '0 0 0', 1);
 +effect weapondamage_electro
 +count 2
 +type static
 +tex 47 47
 +color 0x66ffff 0x2288ff
 +size 10 20
 +sizeincrease -16
 +alpha 48 8 48
 +gravity -0.0001
 +airfriction 0.2
 +liquidfriction 0.8
 +originjitter 16 16 32
 +velocityjitter 8 8 16
 +velocitymultiplier 0
 +airfriction -0.5
 +rotate 180 360 -30 30
 +// plasma smoke
 +effect weapondamage_electro
 +count 4
 +type smoke
 +tex 0 8
 +color 0x2244ff 0x002266
 +size 8 16
 +sizeincrease 10
 +alpha 64 16 64
 +gravity 0
 +originjitter 4 4 16
 +velocityjitter 0.4 0.4 0.6
 +velocitymultiplier 0
 +airfriction -0.35
 +rotate 0 180 -30 30
 +// light
 +effect weapondamage_electro
 +trailspacing 8
 +lightradius 50
 +lightradiusfade 220
 +lightcolor 0.2 0.8 1.0
 +
 +// crylink damage effect
 +// used in qcsrc/client/gibs.qc:                      pointparticles(particleeffectnum(effectnum), org, '0 0 0', 1);
 +effect weapondamage_crylink
 +count 2
 +type static
 +tex 38 38
 +color 0xff44ff 0x9966ff
 +size 8 16
 +sizeincrease -8
 +alpha 48 16 48
 +gravity -0.0001
 +airfriction 0.6
 +liquidfriction 0.8
 +originjitter 8 8 16
 +velocityjitter 10 10 20
 +velocitymultiplier 0
 +airfriction -0.5
 +rotate 180 360 -30 30
 +// plasma smoke
 +effect weapondamage_crylink
 +count 4
 +type smoke
 +tex 0 8
 +color 0x8844ff 0x662244
 +size 10 20
 +sizeincrease 6
 +alpha 64 16 64
 +gravity 0.001
 +originjitter 6 6 12
 +velocityjitter 0.4 0.4 0.6
 +velocitymultiplier 0
 +airfriction -0.35
 +rotate 0 180 -30 30
 +// light
 +effect weapondamage_crylink
 +trailspacing 8
 +lightradius 50
 +lightradiusfade 240
 +lightcolor 0.8 0.2 1.0
 +
 +// hlac damage effect
 +// used in qcsrc/client/gibs.qc:                      pointparticles(particleeffectnum(effectnum), org, '0 0 0', 1);
 +effect weapondamage_hlac
 +count 3
 +type smoke
 +tex 0 8
 +color 0x880000 0xff4400
 +size 8 16
 +sizeincrease 10
 +alpha 128 16 128
 +gravity 0
 +originjitter 4 4 16
 +velocityjitter 0.4 0.4 0.6
 +velocitymultiplier 0
 +airfriction -0.35
 +rotate 0 180 -30 30
 +
 +// nex damage effect
 +// used in qcsrc/client/gibs.qc:                      pointparticles(particleeffectnum(effectnum), org, '0 0 0', 1);
 +effect weapondamage_nex
 +count 1
 +type static
 +tex 47 47
 +color 0xffffff 0x88ffff
 +size 7 14
 +sizeincrease -14
 +alpha 64 8 64
 +gravity -0.0001
 +airfriction 0.1
 +liquidfriction 0.6
 +originjitter 4 4 8
 +velocityjitter 8 8 16
 +velocitymultiplier 0
 +airfriction -0.5
 +rotate 180 360 -30 30
 +// plasma smoke
 +effect weapondamage_nex
 +count 2
 +type smoke
 +tex 0 8
 +color 0x6688ff 0x226688
 +size 5 10
 +sizeincrease 8
 +alpha 64 16 64
 +gravity 0
 +originjitter 6 6 12
 +velocityjitter 0.5 0.5 0.8
 +velocitymultiplier 0
 +airfriction -0.35
 +rotate 0 180 -30 30
 +// light
 +effect weapondamage_nex
 +trailspacing 8
 +lightradius 60
 +lightradiusfade 280
 +lightcolor 0.8 1.0 1.0
 +
 +// minstanex damage effect
 +// used in qcsrc/client/gibs.qc:                      pointparticles(particleeffectnum(effectnum), org, '0 0 0', 1);
 +effect weapondamage_minstanex
 +count 2
 +type static
 +tex 47 47
 +color 0xffffff 0x88ffff
 +size 10 20
 +sizeincrease -14
 +alpha 64 8 64
 +gravity -0.0001
 +airfriction 0.1
 +liquidfriction 0.6
 +originjitter 4 4 8
 +velocityjitter 8 8 16
 +velocitymultiplier 0
 +airfriction -0.5
 +rotate 180 360 -30 30
 +// plasma smoke
 +effect weapondamage_minstanex
 +count 4
 +type smoke
 +tex 0 8
 +color 0x6688ff 0x226688
 +size 8 16
 +sizeincrease 8
 +alpha 64 16 64
 +gravity 0
 +originjitter 6 6 12
 +velocityjitter 0.5 0.5 0.8
 +velocitymultiplier 0
 +airfriction -0.35
 +rotate 0 180 -30 30
 +// light
 +effect weapondamage_minstanex
 +trailspacing 8
 +lightradius 60
 +lightradiusfade 240
 +lightcolor 0.8 1.0 1.0
 +
 +// sniperrifle damage effect, normal blood
 +// used in qcsrc/client/gibs.qc:                      pointparticles(particleeffectnum(effectnum), org, '0 0 0', 1);
 +effect weapondamage_sniperrifle
 +count 0.25
 +type blood
 +tex 24 32
 +size 3 8
 +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
 +effect weapondamage_sniperrifle
 +countabsolute 1
 +type alphastatic
 +tex 0 8
 +size 6 12
 +alpha 100 256 400
 +color 0x000000 0x420000
 +originjitter 11 11 11
 +
 +// sniperrifle damage effect, alien blood
 +// used in qcsrc/client/gibs.qc:                      pointparticles(particleeffectnum(effectnum), org, '0 0 0', 1);
 +effect weapondamage_sniperrifle_alien
 +count 0.25
 +type blood
 +tex 24 32
 +size 3 8
 +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
 +effect weapondamage_sniperrifle_alien
 +countabsolute 1
 +type alphastatic
 +tex 0 8
 +size 6 12
 +alpha 100 256 400
 +color 0x000000 0x204010
 +originjitter 11 11 11
 +
 +// sniperrifle damage effect, robot blood
 +// used in qcsrc/client/gibs.qc:                      pointparticles(particleeffectnum(effectnum), org, '0 0 0', 1);
 +effect weapondamage_sniperrifle_robot
 +count 0.25
 +type blood
 +tex 24 32
 +size 3 8
 +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
 +effect weapondamage_sniperrifle_robot
 +countabsolute 1
 +type alphastatic
 +tex 0 8
 +size 6 12
 +alpha 100 256 400
 +color 0x000000 0x301860
 +originjitter 11 11 11
 +
 +// seeker damage effect
 +// used in qcsrc/client/gibs.qc:                      pointparticles(particleeffectnum(effectnum), org, '0 0 0', 1);
 +effect weapondamage_seeker
 +//notunderwater
 +count 2
 +type smoke
 +tex 48 55
 +size 5 10
 +alpha 256 16 256
 +gravity -0.5
 +color 0x8f0d00 0xff5a00
 +sizeincrease -10
 +originoffset 0 0 10
 +originjitter 5 5 7
 +velocityjitter 22 22 50
 +// smoke
 +effect weapondamage_seeker
 +type alphastatic
 +count 2
 +tex 0 8
 +size 3 6
 +sizeincrease 5
 +alpha 128 32 128
 +color 0x000000 0x111111
 +gravity -0.3
 +originoffset 0 0 10
 +originjitter 5 5 7
 +velocityjitter 11 11 50
 +// light
 +effect weapondamage_seeker
 +trailspacing 8
 +lightradius 65
 +lightradiusfade 280
 +lightcolor 0.9 0.7 0.2
 +
 +// hagar damage effect
 +// used in qcsrc/client/gibs.qc:                      pointparticles(particleeffectnum(effectnum), org, '0 0 0', 1);
 +effect weapondamage_hagar
 +//notunderwater
 +count 2
 +type smoke
 +tex 48 55
 +size 5 10
 +alpha 256 16 256
 +gravity -0.5
 +color 0x8f0d00 0xff5a00
 +sizeincrease -10
 +originoffset 0 0 10
 +originjitter 5 5 7
 +velocityjitter 22 22 50
 +// smoke
 +effect weapondamage_hagar
 +type alphastatic
 +count 2
 +tex 0 8
 +size 3 6
 +sizeincrease 5
 +alpha 128 32 128
 +color 0x000000 0x111111
 +gravity -0.3
 +originoffset 0 0 10
 +originjitter 5 5 7
 +velocityjitter 11 11 50
 +// light
 +effect weapondamage_hagar
 +trailspacing 8
 +lightradius 65
 +lightradiusfade 280
 +lightcolor 0.9 0.7 0.2
 +
 +// fireball damage effect
 +// used in qcsrc/client/gibs.qc:                      pointparticles(particleeffectnum(effectnum), org, '0 0 0', 1);
 +effect weapondamage_fireball
 +//notunderwater
 +count 4
 +type smoke
 +tex 48 55
 +size 10 20
 +alpha 192 16 192
 +gravity -0.5
 +color 0x8f0d00 0xff5a00
 +sizeincrease -10
 +originoffset 0 0 10
 +originjitter 8 8 24
 +velocityjitter 22 22 50
 +// smoke
 +effect weapondamage_fireball
 +type alphastatic
 +count 4
 +tex 0 8
 +size 8 16
 +sizeincrease 5
 +alpha 128 32 128
 +color 0x000000 0x111111
 +gravity -0.3
 +originoffset 0 0 10
 +originjitter 8 8 24
 +velocityjitter 11 11 50
 +// light
 +effect weapondamage_fireball
 +trailspacing 8
 +lightradius 65
 +lightradiusfade 280
 +lightcolor 0.9 0.6 0.2
 +
 +// rocketlauncher damage effect
 +// used in qcsrc/client/gibs.qc:                      pointparticles(particleeffectnum(effectnum), org, '0 0 0', 1);
 +effect weapondamage_rocketlauncher
 +//notunderwater
 +count 3
 +type smoke
 +tex 48 55
 +size 7 14
 +alpha 256 16 256
 +gravity -0.5
 +color 0x8f0d00 0xff5a00
 +sizeincrease -10
 +originoffset 0 0 10
 +originjitter 6 6 8
 +velocityjitter 22 22 50
 +// smoke
 +effect weapondamage_rocketlauncher
 +type alphastatic
 +count 3
 +tex 0 8
 +size 5 10
 +sizeincrease 5
 +alpha 128 32 128
 +color 0x000000 0x111111
 +gravity -0.3
 +originoffset 0 0 10
 +originjitter 6 6 8
 +velocityjitter 11 11 50
 +// light
 +effect weapondamage_rocketlauncher
 +trailspacing 8
 +lightradius 60
 +lightradiusfade 280
 +lightcolor 0.9 0.6 0.2
 +
 +// porto does not use the weapon damage effect
 +
++// hook does not use the weapon damage effect
@@@ -977,7 -998,8 +998,9 @@@ void(float bIsNewEntity) CSQC_Ent_Updat
                case ENT_CLIENT_LGBEAM: Ent_ReadHook(bIsNewEntity, ENT_CLIENT_LGBEAM); break;
                case ENT_CLIENT_GAUNTLET: Ent_ReadHook(bIsNewEntity, ENT_CLIENT_GAUNTLET); break;
                case ENT_CLIENT_ACCURACY: Ent_ReadAccuracy(); break;
+               case ENT_CLIENT_AUXILIARYXHAIR: Net_AuXair2(bIsNewEntity); break;
+               case ENT_CLIENT_TURRET: ent_turret(); break; 
 +              case ENT_CLIENT_DAMAGEEFFECT: Ent_DamageEffect(); break;
                default:
                        //error(strcat(_("unknown entity type in CSQC_Ent_Update: %d\n"), self.enttype));
                        error(sprintf(_("Unknown entity type in CSQC_Ent_Update (enttype: %d, edict: %d, classname: %s)\n"), self.enttype, num_for_edict(self), self.classname));
@@@ -331,8 -358,7 +358,9 @@@ float autocvar_crosshair_color_by_healt
  float autocvar_cl_hitsound;
  float autocvar_cl_hitsound_antispam_time;
  var float autocvar_cl_eventchase_death = 1;
- var float autocvar_cl_eventchase_intermission = 1;
  var float autocvar_cl_eventchase_distance = 140;
  var float autocvar_cl_eventchase_speed = 1.3;
+ float autocvar_cl_lerpexcess;
+ string autocvar__togglezoom;
 +float autocvar_cl_damageeffect;
 +float autocvar_cl_damageeffect_gibs;
@@@ -103,7 -103,7 +103,7 @@@ void Gib_Draw(
        }
  }
  
- void TossGib (string mdlname, vector org, vector vconst, vector vrand, float specnum, float destroyontouch, float issilent, float gibownernum)
 -void TossGib (string mdlname, vector safeorg, vector org, vector vconst, vector vrand, float specnum, float destroyontouch, float issilent)
++void TossGib (string mdlname, vector safeorg, vector org, vector vconst, vector vrand, float specnum, float destroyontouch, float issilent, float gibownernum)
  {
        entity gib;
  
@@@ -195,40 -199,40 +202,40 @@@ void Ent_GibSplash(float isNew
        {
                case 0x01:
                        if(!issilent)
-                               sound (self, CHAN_PAIN, "misc/gib.wav", VOL_BASE, ATTN_NORM);
+                               sound (self, CH_PAIN, "misc/gib.wav", VOL_BASE, ATTN_NORM);
  
                        if(prandom() < amount)
-                               TossGib ("models/gibs/eye.md3", org, vel, prandomvec() * 150, specnum, 0, issilent, entnumber);
 -                              TossGib ("models/gibs/eye.md3", org, org, vel, prandomvec() * 150, specnum, 0, issilent);
++                              TossGib ("models/gibs/eye.md3", org, org, vel, prandomvec() * 150, specnum, 0, issilent, entnumber);
                        new_te_bloodshower(particleeffectnum(strcat(specstr, "bloodshower")), org, 1200, amount);
                        if(prandom() < amount)
-                               TossGib ("models/gibs/bloodyskull.md3", org + 16 * prandomvec(), vel, prandomvec() * 100, specnum, 0, issilent, entnumber);
 -                              TossGib ("models/gibs/bloodyskull.md3", org, org + 16 * prandomvec(), vel, prandomvec() * 100, specnum, 0, issilent);
++                              TossGib ("models/gibs/bloodyskull.md3", org, org + 16 * prandomvec(), vel, prandomvec() * 100, specnum, 0, issilent, entnumber);
  
                        for(c = 0; c < amount; ++c)
                        {
                                randomvalue = amount - c;
  
                                if(prandom() < randomvalue)
-                                       TossGib ("models/gibs/arm.md3", org + 16 * prandomvec() + '0 0 8', vel, prandomvec() * (prandom() * 120 + 90), specnum,0, issilent, entnumber);
 -                                      TossGib ("models/gibs/arm.md3", org, org + 16 * prandomvec() + '0 0 8', vel, prandomvec() * (prandom() * 120 + 90), specnum,0, issilent);
++                                      TossGib ("models/gibs/arm.md3", org, org + 16 * prandomvec() + '0 0 8', vel, prandomvec() * (prandom() * 120 + 90), specnum,0, issilent, entnumber);
                                if(prandom() < randomvalue)
-                                       TossGib ("models/gibs/arm.md3", org + 16 * prandomvec() + '0 0 8', vel, prandomvec() * (prandom() * 120 + 90), specnum,0, issilent, entnumber);
 -                                      TossGib ("models/gibs/arm.md3", org, org + 16 * prandomvec() + '0 0 8', vel, prandomvec() * (prandom() * 120 + 90), specnum,0, issilent);
++                                      TossGib ("models/gibs/arm.md3", org, org + 16 * prandomvec() + '0 0 8', vel, prandomvec() * (prandom() * 120 + 90), specnum,0, issilent, entnumber);
                                if(prandom() < randomvalue)
-                                       TossGib ("models/gibs/chest.md3", org + 16 * prandomvec(), vel, prandomvec() * (prandom() * 120 + 80), specnum,0, issilent, entnumber);
 -                                      TossGib ("models/gibs/chest.md3", org, org + 16 * prandomvec(), vel, prandomvec() * (prandom() * 120 + 80), specnum,0, issilent);
++                                      TossGib ("models/gibs/chest.md3", org, org + 16 * prandomvec(), vel, prandomvec() * (prandom() * 120 + 80), specnum,0, issilent, entnumber);
                                if(prandom() < randomvalue)
-                                       TossGib ("models/gibs/smallchest.md3", org + 16 * prandomvec(), vel, prandomvec() * (prandom() * 120 + 80), specnum,0, issilent, entnumber);
 -                                      TossGib ("models/gibs/smallchest.md3", org, org + 16 * prandomvec(), vel, prandomvec() * (prandom() * 120 + 80), specnum,0, issilent);
++                                      TossGib ("models/gibs/smallchest.md3", org, org + 16 * prandomvec(), vel, prandomvec() * (prandom() * 120 + 80), specnum,0, issilent, entnumber);
                                if(prandom() < randomvalue)
-                                       TossGib ("models/gibs/leg1.md3", org + 16 * prandomvec() + '0 0 -5', vel, prandomvec() * (prandom() * 120 + 85), specnum,0, issilent, entnumber);
 -                                      TossGib ("models/gibs/leg1.md3", org, org + 16 * prandomvec() + '0 0 -5', vel, prandomvec() * (prandom() * 120 + 85), specnum,0, issilent);
++                                      TossGib ("models/gibs/leg1.md3", org, org + 16 * prandomvec() + '0 0 -5', vel, prandomvec() * (prandom() * 120 + 85), specnum,0, issilent, entnumber);
                                if(prandom() < randomvalue)
-                                       TossGib ("models/gibs/leg2.md3", org + 16 * prandomvec() + '0 0 -5', vel, prandomvec() * (prandom() * 120 + 85), specnum,0, issilent, entnumber);
 -                                      TossGib ("models/gibs/leg2.md3", org, org + 16 * prandomvec() + '0 0 -5', vel, prandomvec() * (prandom() * 120 + 85), specnum,0, issilent);
++                                      TossGib ("models/gibs/leg2.md3", org, org + 16 * prandomvec() + '0 0 -5', vel, prandomvec() * (prandom() * 120 + 85), specnum,0, issilent, entnumber);
  
                                // these splat on impact
                                if(prandom() < randomvalue)
-                                       TossGib ("models/gibs/chunk.mdl", org + 16 * prandomvec(), vel, prandomvec() * 450, specnum,1, issilent, entnumber);
 -                                      TossGib ("models/gibs/chunk.mdl", org, org + 16 * prandomvec(), vel, prandomvec() * 450, specnum,1, issilent);
++                                      TossGib ("models/gibs/chunk.mdl", org, org + 16 * prandomvec(), vel, prandomvec() * 450, specnum,1, issilent, entnumber);
                                if(prandom() < randomvalue)
-                                       TossGib ("models/gibs/chunk.mdl", org + 16 * prandomvec(), vel, prandomvec() * 450, specnum,1, issilent, entnumber);
 -                                      TossGib ("models/gibs/chunk.mdl", org, org + 16 * prandomvec(), vel, prandomvec() * 450, specnum,1, issilent);
++                                      TossGib ("models/gibs/chunk.mdl", org, org + 16 * prandomvec(), vel, prandomvec() * 450, specnum,1, issilent, entnumber);
                                if(prandom() < randomvalue)
-                                       TossGib ("models/gibs/chunk.mdl", org + 16 * prandomvec(), vel, prandomvec() * 450, specnum,1, issilent, entnumber);
 -                                      TossGib ("models/gibs/chunk.mdl", org, org + 16 * prandomvec(), vel, prandomvec() * 450, specnum,1, issilent);
++                                      TossGib ("models/gibs/chunk.mdl", org, org + 16 * prandomvec(), vel, prandomvec() * 450, specnum,1, issilent, entnumber);
                                if(prandom() < randomvalue)
-                                       TossGib ("models/gibs/chunk.mdl", org + 16 * prandomvec(), vel, prandomvec() * 450, specnum,1, issilent, entnumber);
 -                                      TossGib ("models/gibs/chunk.mdl", org, org + 16 * prandomvec(), vel, prandomvec() * 450, specnum,1, issilent);
++                                      TossGib ("models/gibs/chunk.mdl", org, org + 16 * prandomvec(), vel, prandomvec() * 450, specnum,1, issilent, entnumber);
                        }
                        break;
                case 0x02:
                        break;
                case 0x03:
                        if(prandom() < amount)
-                               TossGib ("models/gibs/chunk.mdl", org, vel, prandomvec() * (prandom() * 30 + 20), specnum, 1, issilent, entnumber); // TODO maybe adjust to more randomization?
 -                              TossGib ("models/gibs/chunk.mdl", org, org, vel, prandomvec() * (prandom() * 30 + 20), specnum, 1, issilent); // TODO maybe adjust to more randomization?
++                              TossGib ("models/gibs/chunk.mdl", org, org, vel, prandomvec() * (prandom() * 30 + 20), specnum, 1, issilent, entnumber); // TODO maybe adjust to more randomization?
                        break;
                case 0x81:
                        pointparticles(particleeffectnum(strcat(gentle_prefix, "damage_dissolve")), org, vel, amount);
@@@ -277,63 -281,3 +284,63 @@@ void GibSplash_Precache(
      precache_sound ("misc/gib_splat03.wav");
      precache_sound ("misc/gib_splat04.wav");
  }
-       if(type == WEP_SHOTGUN || type == WEP_UZI || type == WEP_SNIPERRIFLE)
 +
 +void Ent_DamageEffect()
 +{
 +      float type, specnum1, specnum2, entnumber, body;
 +      vector org;
 +      string specstr, effectnum;
 +      entity e;
 +
 +      type = ReadByte(); // damage weapon
 +      specnum1 = ReadByte(); // player species
 +      entnumber = ReadByte(); // player entnum
 +      body = ReadByte(); // is dead body / gibbed
 +      org_x = ReadCoord();
 +      org_y = ReadCoord();
 +      org_z = ReadCoord();
 +
 +      if not(autocvar_cl_damageeffect)
 +              return;
 +      if(autocvar_cl_gentle || autocvar_cl_gentle_damage)
 +              return;
 +
 +      e = get_weaponinfo(type);
 +
 +      specnum2 = (specnum1 & 0x78) / 8; // blood type: using four bits (0..7, bit indexes 3,4,5)
 +      specstr = species_prefix(specnum2);
 +
 +      effectnum = strcat("weapondamage_", e.netname);
 +      // If the weapon is a bullet weapon, its damage effect is blood.
 +      // Since blood is species dependent, we make this effect per-species.
++      if(type == WEP_SHOTGUN || type == WEP_UZI || type == WEP_RIFLE)
 +      if(specstr != "")
 +      {
 +              effectnum = strcat(effectnum, "_", specstr);
 +              effectnum = substring(effectnum, 0, strlen(effectnum) - 1); // remove the _ symbol at the end of the species name
 +      }
 +
 +      entity head;
 +
 +      // Scan the owner of all gibs in the world. If a gib owner is the same as the player we're applying the
 +      // effect to, it means our player is gibbed. Therefore, apply the particles to the gibs as well.
 +      if(autocvar_cl_damageeffect_gibs && body > 1)
 +      for(head = world; (head = find(head, classname, "gib")); )
 +      {
 +              if(head.team == entnumber)
 +              if(random() < autocvar_cl_damageeffect_gibs)
 +                      pointparticles(particleeffectnum(effectnum), head.origin, '0 0 0', 1);
 +      }
 +
 +      // if we aren't in third person mode, hide our own damage effect
 +      if(entnumber == player_localentnum && !body)
 +      if(!autocvar_chase_active)
 +              return;
 +      // if this is a gibbed dead body, don't apply the effects to it, only the gibs as done above
 +      if(body > 1)
 +              return;
 +
 +      // Now apply the effect to the actual player.
 +      if(random() < autocvar_cl_damageeffect)
 +              pointparticles(particleeffectnum(effectnum), org, '0 0 0', 1);
 +}
@@@ -116,9 -116,10 +116,11 @@@ const float ENT_CLIENT_GAUNTLET = 29
  const float ENT_CLIENT_ACCURACY = 30;
  const float ENT_CLIENT_SHOWNAMES = 31;
  const float ENT_CLIENT_WARPZONE_TELEPORTED = 32;
 +const float ENT_CLIENT_DAMAGEEFFECT = 33;
  
  const float ENT_CLIENT_TURRET = 40;
+ const float ENT_CLIENT_AUXILIARYXHAIR = 50;
+ const float ENT_CLIENT_VEHICLE = 60;
  
  const float SPRITERULE_DEFAULT = 0;
  const float SPRITERULE_TEAMPLAY = 1;
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge