func FxLifeStop(object target, proplist effect, int reason, bool temporary) { if(temporary) return; var prt = { Size = 15, Alpha = PV_Linear(255, 0), Rotation = PV_Step(15, PV_Random(0, 360)), ForceY = GetGravity() }; CreateParticle("SawbladePrt", 0, 0, PV_Random(-35, 35), PV_Random(-35, 5), 40, prt, 6); var prt2 = { Size = PV_Linear(2, 0), ForceY = GetGravity(), Stretch = PV_Speed(1000, 500), Rotation = PV_Direction(), R = 255, G = PV_Linear(128,32), B = PV_Random(0, 128, 2), Alpha = PV_Random(255,0,3), BlitMode = GFX_BLIT_Additive, }; CreateParticle("Flash", 0, 0, PV_Random(-35, 35), PV_Random(-35, 5), 70, prt2, 20); Sound("sawblade_destroyed", false, 50); RemoveObject(); }
func Special3(object clonk, int x, int y, bool released, bool mouseclick, bool abletocast, bool cooldown) { var props = { Alpha = 40, Size = Special3Spell.SpellRange*2, BlitMode = GFX_BLIT_Additive, Rotation = PV_Step(10, 0, 1), Attach = ATTACH_Back | ATTACH_MoveRelative }; props = Particles_Colored(props, GetPlayerColor(clonk->GetOwner())); return CastSpellWithSpellRange(clonk, x, y, released, mouseclick, abletocast, cooldown, props, Special3Spell); }
func Special3(object clonk, int x, int y, bool released, bool mouseclick, bool abletocast, bool cooldown) { var props = { R = 150, G = 120, B = 50, Alpha = 40, Size = Special3Spell.SpellRange*2, BlitMode = GFX_BLIT_Additive, Rotation = PV_Step(10, 0, 1), Attach = ATTACH_Back | ATTACH_MoveRelative }; return CastSpellWithSpellRange(clonk, x, y, released, mouseclick, abletocast, cooldown, props, Special3Spell); }
func Initialize() { chargeprt = { Size = 5, Alpha = PV_Linear(255, 0), R = 150, G = 150, B = 150, ForceY = GetGravity(), Stretch = PV_Linear(1500, 1500), Rotation = PV_Step(10, PV_Random(0, 360), 1), OnCollision = PC_Bounce(), }; snapped = false; }
func Initialize() { SetCategory(0); AddTimer("SwimAround", 15); SetAction("Swim"); SetComDir(COMD_None); var particles = { Size = PV_Sin(PV_Step(PV_Random(1, 2)), PV_Random(0, 1), PV_Random(1,2)), Attach = ATTACH_MoveRelative, Alpha = 100 }; particles = Particles_Colored(particles, HSL(Random(255), 100, 75)); var amount = RandomX(5, 10); CreateParticle("SphereSpark", PV_Random(-3, 3), PV_Random(-3, 3), 0, 0, 0, particles, amount); }
func FxBallShieldStart(object target, proplist effect, int temporary) { effect.dummy = CreateObject(Dummy, target->GetX(), target->GetY(), target->GetOwner()); effect.dummy.Visibility = VIS_All; effect.dummy->SetAction("HangOnto", target); effect.shield = ShieldAmount; effect.cancel = false; var props = { R = 0, G = 0, B = 255, Alpha = 255, Size = 40, BlitMode = GFX_BLIT_Additive, Rotation = PV_Step(10, 0, 1), Attach = ATTACH_Back | ATTACH_MoveRelative }; effect.dummy->CreateParticle("Shockwave", 0, 0, 0, 0, 0, props); }
func InitEffect() { Sound("Fire::Fireball", false, 100); Sound("Fire::FuseLoop", false, 50, nil, 1); SetLightRange(30, 70); SetLightColor(RGB(255, 100, 0)); if (shooter.ChampType == ComboMan) { Speed = 75; ParticleSize = 13; SpellDamage = 25; SetVelocity(Angle(0,0,GetXDir(), GetYDir(), 10), Speed, 10); } var lightparticle = { R = 255, G = 100, B = 0, Alpha = 40, Size = 50, BlitMode = GFX_BLIT_Additive, Rotation = PV_Step(30, 0, 1), Attach = ATTACH_Back | ATTACH_MoveRelative }; CreateParticle("Shockwave", 0, 0, 0, 0, 0, lightparticle); firetrailparticles = { Prototype = Particles_FireTrail(), Size = PV_Linear(ParticleSize,0), BlitMode = GFX_BLIT_Additive, }; }
global func ExplosionParticles_Init() { ExplosionParticles_Smoke = { Size = PV_KeyFrames(0, 180, 25, 1000, 50), DampingY = PV_Random(890, 920, 5), DampingX = PV_Random(900, 930, 5), ForceY=-1, ForceX = PV_Wind(20, PV_Random(-2, 2)), Rotation=PV_Random(0,360,0), R=PV_KeyFrames(0, 0, 255, 260, 64, 1000, 64), G=PV_KeyFrames(0, 0, 128, 260, 64, 1000, 64), B=PV_KeyFrames(0, 0, 0, 260, 108, 1000, 108), Alpha = PV_KeyFrames(0, 0, 0, 100, 20, 500, 20, 1000, 0) }; ExplosionParticles_Blast = { Size = PV_KeyFrames(0, 0, 0, 260, 25, 1000, 40), DampingY = PV_Random(890, 920, 0), DampingX = PV_Random(900, 930, 0), ForceY = PV_Random(-8,-2,0), ForceX = PV_Random(-5,5,0), R = 255, G = PV_Random(64, 120, 0), Rotation = PV_Random(0, 360, 0), B = 0, Alpha = PV_KeyFrames(0, 260, 100, 1000, 0), BlitMode = GFX_BLIT_Additive, Phase = PV_Random(0, 1) }; ExplosionParticles_BlastSmooth = { Size = PV_KeyFrames(0, 0, 0, 250, PV_Random(30, 50), 1000, 80), R = PV_KeyFrames(0, 0, 255, 250, 128, 1000, 0), G = PV_KeyFrames(0, 0, 255, 125, 64, 1000, 0), Rotation = PV_Random(0, 360, 0), B = PV_KeyFrames(0, 0, 100, 250, 64, 100, 0), Alpha = PV_KeyFrames(0, 0, 255, 750, 250, 1000, 0), BlitMode = GFX_BLIT_Additive }; ExplosionParticles_BlastSmoothBackground = { Prototype = ExplosionParticles_BlastSmooth, BlitMode = nil, R = PV_Linear(50, 0), G = PV_Linear(50, 0), B = PV_Linear(50, 0), Alpha = PV_Linear(128, 0) }; ExplosionParticles_Star = { Size = PV_KeyFrames(0, 0, 0, 500, 60, 1000, 0), R = PV_KeyFrames(0, 750, 255, 1000, 0), G = PV_KeyFrames(0, 300, 255, 1000, 0), B = PV_KeyFrames(0, 300, 255, 500, 0), Rotation = PV_Random(0, 360, 4), Alpha = PV_KeyFrames(0, 750, 255, 1000, 0), BlitMode = GFX_BLIT_Additive, Stretch = PV_Speed(1000, 1000) }; ExplosionParticles_Shockwave = { Size = PV_Linear(0, 120), R = 255, G = 128, B = PV_KeyFrames(0, 0, 128, 200, 0), Rotation = PV_Step(20), BlitMode = GFX_BLIT_Additive, Alpha = PV_Linear(255, 0) }; ExplosionParticles_Glimmer= { Size = PV_Linear(2, 0), ForceY = GetGravity(), DampingY = PV_Linear(1000,700), DampingX = PV_Linear(1000,700), Stretch = PV_Speed(1000, 500), Rotation = PV_Direction(), OnCollision = PC_Die(), CollisionVertex = 500, R = 255, G = PV_Linear(128,32), B = PV_Random(0, 128, 2), Alpha = PV_Random(255,0,3), BlitMode = GFX_BLIT_Additive, }; }
func Initialize() { SetAction("Travel"); SetRDir(10); SetObjectLayer(nil); //AddEffect("MoveTo", this, 1, 1, this); ox=GetX(); oy=GetY(); rangedummy = CreateObject(Dummy, 0, 0, GetOwner()); rangedummy.Visibility = VIS_Owner; rangedummy->SetAction("HangOnto", this); var props = { R = 255, G = 0, B = 0, Alpha = 40, Size = 70, BlitMode = GFX_BLIT_Additive, Rotation = PV_Step(10, 0, 1), Attach = ATTACH_Back | ATTACH_MoveRelative }; rangedummy->CreateParticle("Shockwave2", 0, 0, 0, 0, 0, props, 1); moveparticle = { Alpha = 100, Size = AttackSize * 2, R = pR, G = pG, B = pB, Rotation = PV_Random(0,360), BlitMode = GFX_BLIT_Additive, }; moveparticle2 = { Size = PV_Linear(2,0), BlitMode = GFX_BLIT_Additive, R = pR, G = pG, B = pB, Attach=ATTACH_Back, }; movetrailparticles = { Size = PV_Linear(5,0), BlitMode = GFX_BLIT_Additive, R = pR, G = pG, B = pB, Attach=ATTACH_Back, }; followtrailparticles = { Size = PV_Linear(5,0), BlitMode = GFX_BLIT_Additive, R = 50, G = 50, B = 50, Attach=ATTACH_Back, }; hometrailparticles = { Size = PV_Linear(5,0), BlitMode = GFX_BLIT_Additive, R = 0, G = 255, B = 255, Attach=ATTACH_Back, }; hometrailparticles2 = { Size = PV_Linear(2,0), BlitMode = GFX_BLIT_Additive, R = 0, G = 255, B = 255, Attach=ATTACH_Back, }; }