// See the wiki page // http://ufoai.ninex.info/wiki/index.php/UFO-Scripts/ptl_%2A.ufo#Datatypes // for the description of the particle language // ================== // BULLET EFFECTS // ================== particle bullet { init { image sfx/bullet blend add style beam tfade out push float 2.0 pop *size.2 tps 4.0 } think { kill } } particle bulletImpact { init { image sfx/smoke blend add style facing tfade sin size "20 20" push *v mul float 5.0 kpop *v add *s pop *s tps 1.0 push int 20 nspawn bulletFragment } run { push *color mul float 0.5 pop *color } think { kill } } particle bulletFragment { init { image sfx/spark blend add style facing tfade out size "2 2" push *v rand float 28.0 add float 3.0 mul # crand vector "15 15 15" add # pop *v crand vector "5 5 5" add *s pop *s rand float 1.3 add float 1.2 pop *tps } think { kill } } // ================== // FLAMETHROWER EFFECTS // ================== particle fireBall { init { image sfx/fireball blend add style facing tps 2.5 } run { push vector "80 80" mul *t add vector "10 10" pop *size } think { tfade out } } particle fireImpact { init { image sfx/fireball blend add style rotated size "80 80" tfade out tps 1.25 } run { push pos "140 140" mul *t add pos "40 40" pop *size } think { kill } } // ================== // ROCKET LAUNCHER EFFECTS // ================== particle rocket { init { model weapons/rpg/rocket color ".5 .5 .5 1" tps 40.0 } think { spawn rocketSmoke spawn rocketFire } } particle rocketSmoke { init { image sfx/smoke blend add style facing tfade out tps 0.8 color ".5 .5 .5 1" v "0 0 20" } run { push pos "15 15" mul *t add pos "10 10" pop *size push *color mul float .5 pop *color crand vector "1 1 1" add *s pop *s } think { kill } } particle rocketFire { init { image sfx/fireball blend add style facing tfade out tps 1.8 color ".5 .5 .5 1" push *v mul float 0.8 pop *v } run { push pos "10 10" mul *t add pos "5 5" pop *size push *color mul float .5 pop *color crand vector "0.5 0.5 0.5" add *s pop *s } think { kill } } particle rocket_inc { init { model weapons/rpg/rocket // model weapons/rpg/rocket_inc color ".5 .5 .5 1" tps 40.0 } think { spawn rocketSmoke spawn rocketFire } } // "particle beam weapon" particle particle rocket_particle { init { model weapons/rpg/rocket color ".5 .5 .5 1" tps 40.0 } think { spawn rocketSmoke spawn rocketFire } } // ================== // LASER EFFECTS // ================== particle laserPulse { init { image sfx/laserbeam blend add style beam tfade sin tps 6.0 push float 2.2 pop *size.2 } think { kill } } particle laserOverload { init { image sfx/bullet blend add style beam tfade sin tps 2.0 push float 2.7 pop *size.2 } think { kill } } particle laserImpact { init { image sfx/smoke blend add style facing tfade sin size "20 20" push *v mul float 5.0 kpop *v add *s pop *s tps 1.0 push int 10 nspawn laserSpark } run { push *color mul float 0.5 pop *color } think { kill } } particle laserSpark { init { image sfx/laserimpact blend add style facing tfade out size "20 20" push *v rand float 8.0 add float 3.0 mul # crand vector "15 15 15" add # pop *v crand vector "5 5 5" add *s pop *s rand float 1.3 add float 1.2 pop *tps } think { kill } } // ================== // PLASMA EFFECTS // ================== particle plasmaMiniPulse { init { image sfx/plasmapulse blend add style axis child plasmaMiniPulseBall offset "0 -16" } run { push pos "1 1" push *t mul float 16.0 sin # mul # add pos "32 12" pop *size } } particle plasmaPulse { init { image sfx/plasmapulse blend add style axis child plasmaPulseBall offset "0 -26" } run { push pos "1 1" push *t mul float 16.0 sin # mul # add pos "64 12" pop *size } } particle plasmaMiniPulseBall { init { image sfx/plasmaball blend add style facing offset "0 9" color "1 1 1 0.5" size "6 6" } } particle plasmaPulseBall { init { image sfx/plasmaball blend add style facing offset "0 23" color "1 1 1 0.5" size "12 12" } } //--------------- particle plasmaMiniBall { init { image sfx/plasmaball blend add style facing } run { push pos "1 1" push *t mul float 16.0 sin # mul # add pos "4 4" pop *size } } particle plasmaBall { init { image sfx/plasmaball blend add style facing } run { push pos "1.2 1.2" push *t mul float 12.0 sin # mul # add pos "5.5 5.5" pop *size } } particle plasmaBigBall { init { image sfx/plasmaball blend add style facing } run { push pos "1.5 1.5" push *t mul float 6.0 sin # mul # add pos "12 12" pop *size } } particle plasmaImpactCharged { init { push int 10 nspawn plasmaParticleCharged image sfx/plasmaball blend add style rotated tfade out tps 2.0 } run { push pos "10 10" push *t mul float 10.0 sin # mul # add pos "30 30" pop *size } think { kill } } particle plasmaParticleCharged { init { image sfx/plasmadust blend add style facing tps 2.0 size "12 12" tfade out a "0 0 -50" crand vector "25 25 25" add vector "0 0 25" pop *v crand vector "4 4 4" add *s pop *s } think { kill } } particle plasmaContinuous { init { image sfx/plasmabeam blend add style beam tps 10.0 } run { rand float 2.0 add float 1.0 pop *size.2 } think { kill } } particle plasmaImpact { init { push int 6 nspawn plasmaParticle image sfx/plasmaball blend add style rotated tfade out tps 2.0 } run { push pos "5 5" push *t mul float 10.0 sin # mul # add pos "15 15" pop *size } think { kill } } particle plasmaParticle { init { image sfx/plasmadust blend add style facing tps 2.2 size "7 7" tfade out a "0 0 -50" crand vector "20 20 20" add vector "0 0 20" pop *v crand vector "2 2 2" add *s pop *s } think { kill } } particle plasmaBigExplosion { init { spawn explosion_1 spawn explosion_2 push int 30 nspawn plasmaBigSplash kill } } particle plasmaBigImpact { init { push int 60 nspawn plasmaBigSplash kill } } particle plasmaBigSplash { init { image sfx/plasmaball blend add style facing tfade out push pos "2 2" rand float 5.0 mul # add pos "2 2" pop *size a "0 0 -250" crand vector "100 100 100" add vector "0 0 100" pop *v crand vector "10 10 10" add *s pop *s rand float 1.0 add float 1.0 pop *tps push int 2 nspawn plasmaParticleRandom } think { kill } } particle plasmaParticleRandom { init { image sfx/plasmadust blend add style facing tfade out push pos "2 2" rand float 2.5 mul # add pos "0.5 0.5" pop *size a "0 0 -350" push *v crand vector "30 30 30" add # pop *v crand vector "5 5 5" add *s pop *s tps 4.0 life 0.8 } think { spawn smoke } } // ===================== // PARTICLE-BEAM EFFECTS // ===================== particle pbeamMiniBeam { init { image sfx/greenplasbeam blend add style beam tps 30.0 } run { rand float 2.0 add float 1.0 pop *size.2 } think { kill } } particle pbeamBeam { init { image sfx/greenplasbeam blend add style beam tfade sin tps 10.0 } run { push *t mul float 7.0 sin # mul float 1.0 add float 2.0 pop *size.2 } think { kill } } particle pbeamBigBeam { init { image sfx/greenplasbeam blend add style beam tfade sin tps 2.0 } run { push *t mul float 3.0 sin # mul float 2.0 add float 3.0 pop *size.2 } think { kill } } particle pbeamImpact { init { push int 22 nspawn pbeamSplash image sfx/particleball blend add style rotated tfade out tps 2.0 } run { push pos "10 10" push *t mul float 10.0 sin # mul # add pos "20 20" pop *size } think { kill } } particle pbeamSplash { init { image sfx/greenball blend add style facing tfade out size "3 3" crand vector "30 30 30" pop *v crand vector "8 8 8" add *s pop *s rand float 3.0 add float 1.5 pop *tps } think { kill } } particle pbeamExplosion_1 { init { frame 1 endframe 7 image +sfx/greenplas_ blend blend style facing ffade in size "70 70" fps 6.0 tps 0.75 } think { kill } } particle pbeamExplosion_2 { init { frame 0 endframe 7 image +sfx/greenplas_ blend blend style facing ffade out size "70 70" fps 6.0 tps 0.75 } think { kill } } particle pbeamBigImpact { init { spawn pbeamExplosion_1 spawn pbeamExplosion_2 push int 30 nspawn pbeamBigSplash kill } } particle pbeamBigSplash { init { image sfx/greenball blend add style facing tfade out size "4 4" crand vector "50 50 50" pop *v crand vector "15 15 15" add *s pop *s rand float 1.6 add float 1.5 pop *tps } think { kill } } // ================== // GRENADE LAUNCHER EFFECTS // ================== particle grenl_ammo { init { model weapons/grenl/grenl_clip2 color ".5 .5 .5 1" skin "0" } } particle grenl_fle_ammo { init { model weapons/grenl/grenl_clip2 skin "1" color ".5 .5 .5 1" } } particle grenl_ic_ammo { init { model weapons/grenl/grenl_clip2 skin "2" color ".5 .5 .5 1" } } particle grenl_plasma_ammo { init { model weapons/grenl/grenl_clip2 skin "3" color ".5 .5 .5 1" } } // ================== // GRENADE EFFECTS // ================== particle medikit { init { model weapons/medikit/medikit color ".5 .5 .5 1" } } particle irgoggles { init { model weapons/irgoggles/irgoggles color ".5 .5 .5 1" } } particle fraggren { init { model weapons/fraggren/fraggren color ".5 .5 .5 1" } } particle incgren { init { model weapons/incgren/incgren color ".5 .5 .5 1" } } particle flashgren { init { model weapons/flashgren/flashgren color ".5 .5 .5 1" } } particle smokegren { init { model weapons/smokegren/smokegren color ".5 .5 .5 1" } } particle stungren { init { model weapons/stungren/stungren color ".5 .5 .5 1" } } particle plasmagren { init { model weapons/plasmagren/plasmagren color ".5 .5 .5 1" } } particle smoke_explosion { init { v "0 0 0" tps 25.0 spawn smokebig rounds 2 } think { spawn smokebig } round { tps 50.0 } } particle frag_explosion { init { spawn explosion_1 spawn explosion_2 push int 25 nspawn grenadeFragment kill } } particle flash_explosion { init { spawn flash kill } } particle grenadeFragment { init { image sfx/spark blend add style facing tfade out size "5 5" a "0 0 -100" crand vector "160 160 100" add vector "0 0 100" pop *v crand vector "15 15 15" add *s pop *s rand float 1.2 add float 1.2 pop *tps } think { kill } } // ================== // KNIFE EFFECTS // ================== particle knife { init { model weapons/knife/knife color ".5 .5 .5 1" omega "-800 0 0" angles "90 0 0" } } particle kerrblade { init { model weapons/kerrblade/kerrblade color ".5 .5 .5 1" omega "-800 0 0" angles "90 0 0" } } particle plasblade { init { model weapons/plasblade/plasblade color ".5 .5 .5 1" omega "-800 0 0" angles "90 0 0" } }