tex 0 8
trailspacing 16
velocityjitter 4 4 4
+effect tr_bullet
+ type bubble
+ alpha 256 256 128
+ bounce 1.500000
+ color 0x404040 0x808080
+ gravity -0.125000
+ liquidfriction 4
+ size 0.5 0.6
+ tex 62 62
+ trailspacing 16
+ underwater
+ velocityjitter 16 16 16
effect smoking_smallemitter
type alphastatic
airfriction -1
tex 40 40
velocityjitter 224 224 224
velocityoffset 0 0 80
-//effect tr_bullet_weak
-// type beam
-// alpha 150 200 1000
-// color 0xf03000 0xff6010
-// countabsolute 1
-// sizeincrease -3
-// size 0.6 0.8
-// tex 200 200
+effect tr_bullet_weak
+ type beam
+ alpha 75 100 3000
+ color 0xf03000 0xff6010
+ countabsolute 1
+ sizeincrease -3
+ size 0.6 0.8
+ tex 200 200
effect tr_bullet_weak
type smoke
airfriction -4
tex 0 8
trailspacing 16
velocityjitter 4 4 4
+effect tr_bullet_weak
+ type bubble
+ alpha 256 256 128
+ bounce 1.500000
+ color 0x404040 0x808080
+ gravity -0.125000
+ liquidfriction 4
+ size 0.5 0.6
+ tex 62 62
+ trailspacing 32
+ underwater
+ velocityjitter 16 16 16
// docs: https://www.quakewiki.net/darkplaces-wiki/effectinfo-scripting-reference/
// use `cl_particles_reloadeffects` to reload effects without restarting engine
+// use `chase_active 1` and `cl_lockview 1` to see effects from different perspectives
// `dumpeffectinfo` currently doesn't work so edit effectinfo.txt manually, just try to keep the files in sync
// `tex` are indices into particles/particlefont.tga, the first is inclusive, second exclusive
MY(type) = "smoke";
MY(velocityjitter) = '4 4 4';
}
+SUB(tr_bullet) {
+ MY(alpha_min) = 256;
+ MY(alpha_max) = 256;
+ MY(alpha_fade) = 128;
+ MY(bounce) = 1.500000;
+ MY(color_min) = "0x404040";
+ MY(color_max) = "0x808080";
+ MY(gravity) = -0.125000;
+ MY(liquidfriction) = 4;
+ MY(size_min) = 0.5;
+ MY(size_max) = 0.6;
+ MY(tex_min) = 62;
+ MY(tex_max) = 62;
+ MY(trailspacing) = 16;
+ MY(type) = "bubble";
+ MY(underwater) = true;
+ MY(velocityjitter) = '16.0 16.0 16.0';
+}
// smoke emitter for small pipes
DEF(smoking_smallemitter);
MY(velocityjitter) = '224.0 224.0 224.0';
MY(velocityoffset) = '0.0 0.0 80.0';
}
+
+// weak bullet trail (somewhat like a tracer)
+DEF(tr_bullet_weak);
+SUB(tr_bullet_weak) {
+ MY(alpha) = '75 100 3000';
+ MY(color_min) = "0xf03000";
+ MY(color_max) = "0xff6010";
+ MY(countabsolute) = 1;
+ MY(sizeincrease) = -3;
+ MY(size_min) = 0.6;
+ MY(size_max) = 0.8;
+ my(tex_min) = 200;
+ my(tex_max) = 200;
+ MY(type) = "beam";
+}
+SUB(tr_bullet_weak) {
+ MY(airfriction) = -4;
+ MY(alpha) = '256 256 350';
+ MY(color_min) = "0x202020";
+ MY(color_max) = "0x404040";
+ MY(notunderwater) = true;
+ MY(sizeincrease) = 0.4;
+ MY(size_min) = 1;
+ MY(size_max) = 2;
+ MY(tex_min) = 0;
+ MY(tex_max) = 8;
+ MY(trailspacing) = 16;
+ MY(type) = "smoke";
+ MY(velocityjitter) = '4 4 4';
+}
+SUB(tr_bullet_weak) {
+ MY(alpha_min) = 256;
+ MY(alpha_max) = 256;
+ MY(alpha_fade) = 128;
+ MY(bounce) = 1.500000;
+ MY(color_min) = "0x404040";
+ MY(color_max) = "0x808080";
+ MY(gravity) = -0.125000;
+ MY(liquidfriction) = 4;
+ MY(size_min) = 0.5;
+ MY(size_max) = 0.6;
+ MY(tex_min) = 62;
+ MY(tex_max) = 62;
+ MY(trailspacing) = 32;
+ MY(type) = "bubble";
+ MY(underwater) = true;
+ MY(velocityjitter) = '16.0 16.0 16.0';
+}