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
}
}
- 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;
{
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);
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);
+}