From: Mario Date: Thu, 16 Jul 2020 17:36:01 +0000 (+1000) Subject: Add a new particle effect for the electro combo over time X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=5f296c1a2fe2d2bc000b2fdd7c46a453c280d1fb;p=xonotic%2Fxonotic-data.pk3dir.git Add a new particle effect for the electro combo over time --- diff --git a/effectinfo.txt b/effectinfo.txt index 7fc732b7d..4b488ff95 100644 --- a/effectinfo.txt +++ b/effectinfo.txt @@ -8390,3 +8390,62 @@ effect respawn_ghost originoffset 0 0 -8 originjitter 28 28 16 velocityjitter 0 0 256 +effect electro_combo_long + type decal + alpha 256 256 0 + countabsolute 1 + lightcolor 4 5 6 + lightradiusfade 300 + lightradius 400 + originjitter 17 17 17 + size 64 64 + tex 59 59 +effect electro_combo_long + type static + alpha 128 128 64 + color 0x80C0FF 0x80C0FF + countabsolute 1 + size 48 48 + tex 38 38 +effect electro_combo_long + type static + airfriction 6 + alpha 156 156 100 + bounce 2 + color 0x2030FF 0x80C0FF + count 5 + liquidfriction 16 + sizeincrease 50 + size 32 32 + tex 0 7 + velocityjitter 512 512 512 +effect electro_combo_long + type spark + alpha 444 512 500 + bounce 1.600000 + color 0xa9cacf 0x0054ff + count 32 + originjitter 1 1 1 + size 2 4 + stretchfactor 2 + tex 41 41 + velocityjitter 128 128 128 + velocitymultiplier 0.300000 + rotate -180 180 4000 -4000 +effect electro_combo_long + type smoke + alpha 256 256 256 + color 0x202020 0x404040 + count 0.125000 + originjitter 20 20 20 + size 24 24 + tex 0 8 + velocityjitter 32 32 32 +effect electro_combo_long + type smoke + alpha 40 40 20 + color 0xa9cacf 0x0054ff + countabsolute 1 + size 120 120 + tex 33 33 + velocitymultiplier 0.300000 diff --git a/qcsrc/common/effects/all.inc b/qcsrc/common/effects/all.inc index 019ae6139..3141cb62a 100644 --- a/qcsrc/common/effects/all.inc +++ b/qcsrc/common/effects/all.inc @@ -40,6 +40,7 @@ EFFECT(0, GRENADE_MUZZLEFLASH, "grenadelauncher_muzzleflash") EFFECT(0, ELECTRO_BALLEXPLODE, "electro_ballexplode") EFFECT(0, ELECTRO_COMBO, "electro_combo") +EFFECT(0, ELECTRO_COMBO_LONG, "electro_combo_long") EFFECT(0, ELECTRO_IMPACT, "electro_impact") EFFECT(0, ELECTRO_MUZZLEFLASH, "electro_muzzleflash") diff --git a/qcsrc/common/effects/effectinfo.inc b/qcsrc/common/effects/effectinfo.inc index 80c6bbacf..3e956c776 100644 --- a/qcsrc/common/effects/effectinfo.inc +++ b/qcsrc/common/effects/effectinfo.inc @@ -9107,4 +9107,101 @@ SUB(RESPAWN_GHOST) { MY(velocityjitter) = '0 0 256'; } +DEF(electro_combo_long); +// decal +SUB(electro_combo_long) { + MY(alpha_min) = 256; + MY(alpha_max) = 256; + MY(countabsolute) = 1; + MY(lightcolor) = '4.0 5.0 6.0'; + MY(lightradiusfade) = 300; + MY(lightradius) = 400; + MY(originjitter) = '17.0 17.0 17.0'; + MY(size_min) = 64; + MY(size_max) = 64; + MY(tex_min) = 59; + MY(tex_max) = 59; + MY(type) = "decal"; +} +// flare effect +SUB(electro_combo_long) { + MY(alpha_min) = 128; + MY(alpha_max) = 128; + MY(alpha_fade) = 64; + MY(color_min) = "0x80C0FF"; + MY(color_max) = "0x80C0FF"; + MY(countabsolute) = 1; + MY(size_min) = 48; + MY(size_max) = 48; + MY(tex_min) = 38; + MY(tex_max) = 38; + MY(type) = "static"; +} +// large sparks +SUB(electro_combo_long) { + MY(airfriction) = 6; + MY(alpha_min) = 156; + MY(alpha_max) = 156; + MY(alpha_fade) = 156; + MY(bounce) = 2; + MY(color_min) = "0x2030FF"; + MY(color_max) = "0x80C0FF"; + MY(count) = 5; + MY(liquidfriction) = 16; + MY(sizeincrease) = 50; + MY(size_min) = 32; + MY(size_max) = 32; + MY(tex_max) = 7; + MY(type) = "static"; + MY(velocityjitter) = '512.0 512.0 512.0'; +} +SUB(electro_combo_long) { + MY(alpha_min) = 444; + MY(alpha_max) = 512; + MY(alpha_fade) = 500; + MY(bounce) = 1.600000; + MY(color_min) = "0xa9cacf"; + MY(color_max) = "0x0054ff"; + MY(count) = 32; + MY(originjitter) = '1.0 1.0 1.0'; + MY(size_min) = 2; + MY(size_max) = 4; + MY(stretchfactor) = 2; + MY(tex_min) = 41; + MY(tex_max) = 41; + MY(type) = "spark"; + MY(velocityjitter) = '128.0 128.0 128.0'; + MY(velocitymultiplier) = 0.300000; +} +// inner cloud of smoke +SUB(electro_combo_long) { + MY(alpha_min) = 256; + MY(alpha_max) = 256; + MY(alpha_fade) = 256; + MY(color_min) = "0x202020"; + MY(color_max) = "0x404040"; + MY(count) = 0.125000; + MY(originjitter) = '20.0 20.0 20.0'; + MY(size_min) = 24; + MY(size_max) = 24; + MY(tex_max) = 8; + MY(type) = "smoke"; + MY(velocityjitter) = '32.0 32.0 32.0'; +} +// shockwave +SUB(electro_combo_long) { + MY(alpha_min) = 40; + MY(alpha_max) = 40; + MY(alpha_fade) = 20; + MY(color_min) = "0xa9cacf"; + MY(color_max) = "0x0054ff"; + MY(countabsolute) = 1; + MY(size_min) = 120; + MY(size_max) = 120; + MY(tex_min) = 33; + MY(tex_max) = 33; + MY(type) = "smoke"; + MY(velocitymultiplier) = 0.300000; +} + // always add new effects to the bottom of the list. And keep this comment in the bottom line of this file! diff --git a/qcsrc/common/weapons/weapon/electro.qc b/qcsrc/common/weapons/weapon/electro.qc index 048f06c22..8a89daec9 100644 --- a/qcsrc/common/weapons/weapon/electro.qc +++ b/qcsrc/common/weapons/weapon/electro.qc @@ -612,7 +612,10 @@ METHOD(Electro, wr_impacteffect, void(entity thiswep, entity actor)) if(w_deathtype & HITTYPE_SPLASH) { org2 = w_org + w_backoff * 2; - pointparticles(EFFECT_HOOK_EXPLODE, org2, '0 0 0', 1); + if(particleeffectnum(EFFECT_ELECTRO_COMBO_LONG) >= 0) + pointparticles(EFFECT_ELECTRO_COMBO_LONG, org2, '0 0 0', 1); + else + pointparticles(EFFECT_HOOK_EXPLODE, org2, '0 0 0', 1); if(!w_issilent) sound(actor, CH_SHOTS, SND_ELECTRO_IMPACT_COMBO, VOL_BASE, ATTEN_NORM); }