renamed DynamicParticles* to Particles* and CreateParticleEx to CreateParticle

stable-5.4
David Dormagen 2013-12-17 21:40:40 +01:00
parent 02f54ba1eb
commit a10c9316ef
108 changed files with 450 additions and 450 deletions

View File

@ -323,8 +323,8 @@ set(OC_CLONK_SOURCES
src/landscape/C4Material.h
src/landscape/C4MaterialList.cpp
src/landscape/C4MaterialList.h
src/landscape/C4DynamicParticles.cpp
src/landscape/C4DynamicParticles.h
src/landscape/C4Particles.cpp
src/landscape/C4Particles.h
src/landscape/C4PathFinder.cpp
src/landscape/C4PathFinder.h
src/landscape/C4PXS.cpp

View File

@ -47,7 +47,7 @@
<text>The coordinates for the source rectangle within Graphics.png of a particle specify the first phase of the particle graphics the other phases should follow to the right and can be continued in the next row. The animation length is then automatically determined from the image size.</text>
<h id="properties">Properties</h>
<text>Each particle has different attributes like position, lifetime, size and more. These are set by script when creating the particle.</text>
<text>The following properties can be contained in a proplist passed to <funclink>CreateParticleEx</funclink>. For an example, see <funclink>CreateParticleEx</funclink></text>
<text>The following properties can be contained in a proplist passed to <funclink>CreateParticle</funclink>. For an example, see <funclink>CreateParticle</funclink></text>
<text>You can assign either constants to the properties (f.e. <code>R = 200</code>) or use certain value provider functions (f.e. <code>R = <funclink>PV_Linear</funclink>(200, 0)</code>). Available value provider functions are:
<funclink>PV_Linear</funclink>
<funclink>PV_Direction</funclink>

View File

@ -4,7 +4,7 @@
<?xml-stylesheet type="text/xsl" href="../../../clonk.xsl"?>
<funcs>
<func>
<title>CreateParticleEx</title>
<title>CreateParticle</title>
<category>Particles</category>
<version>5.3.4 OC</version>
<syntax>
@ -72,7 +72,7 @@ var particles =
ForceX = <funclink>PV_Random</funclink>(-5, 5, 15),
Phase = <funclink>PV_Step</funclink>(1, 0, 10)
};
<funclink>CreateParticleEx</funclink>("Fire", 0, 0, <funclink>PV_Random(-200, 200)</funclink>, <funclink>PV_Random</funclink>(-200, 200), <funclink>PV_Random</funclink>(18, 38 * 5), particles, 100);
<funclink>CreateParticle</funclink>("Fire", 0, 0, <funclink>PV_Random(-200, 200)</funclink>, <funclink>PV_Random</funclink>(-200, 200), <funclink>PV_Random</funclink>(18, 38 * 5), particles, 100);
</code>
<text>Casts 100 particles with a previously defined behavior.</text>
</example>

View File

@ -20,7 +20,7 @@
<desc>A particle collision function. The particle will bounce off the ground on collision. If your particles get stuck instead of bouncing, you might need to increase the CollisionVertex value a bit.</desc>
<remark>See the <emlink href="particle/index.html">particle documentation</emlink> for further explanations of the particle system.</remark>
<related>
<funclink>CreateParticleEx</funclink>
<funclink>CreateParticle</funclink>
<funclink>PV_Linear</funclink>
<funclink>PV_Direction</funclink>
<funclink>PV_Random</funclink>

View File

@ -13,7 +13,7 @@
<desc>A particle collision function. The particle will die on collision.</desc>
<remark>See the <emlink href="particle/index.html">particle documentation</emlink> for further explanations of the particle system.</remark>
<related>
<funclink>CreateParticleEx</funclink>
<funclink>CreateParticle</funclink>
<funclink>PV_Linear</funclink>
<funclink>PV_Direction</funclink>
<funclink>PV_Random</funclink>

View File

@ -13,7 +13,7 @@
<desc>A particle collision function. The particle will set its velocity to zero on collision.</desc>
<remark>See the <emlink href="particle/index.html">particle documentation</emlink> for further explanations of the particle system.</remark>
<related>
<funclink>CreateParticleEx</funclink>
<funclink>CreateParticle</funclink>
<funclink>PV_Linear</funclink>
<funclink>PV_Direction</funclink>
<funclink>PV_Random</funclink>

View File

@ -21,7 +21,7 @@
<desc>The value depends on the current angle of movement of the particle. Usually the factor-parameter can be left out, since the original purpose of this function is to be used for the rotation-property.</desc>
<remark>See the <emlink href="particle/index.html">particle documentation</emlink> for further explanations of the particle system.</remark>
<related>
<funclink>CreateParticleEx</funclink>
<funclink>CreateParticle</funclink>
<funclink>PV_Linear</funclink>
<funclink>PV_Random</funclink>
<funclink>PV_Step</funclink>

View File

@ -40,7 +40,7 @@
<desc>The value returned will be an interpolated value of the (smoothed) curve between the up to 4 key frames. PV_KeyFrames(0, 0, X, 1000, Y) is equivalent to PV_Linear(X, Y).</desc>
<remark>See the <emlink href="particle/index.html">particle documentation</emlink> for further explanations of the particle system.</remark>
<related>
<funclink>CreateParticleEx</funclink>
<funclink>CreateParticle</funclink>
<funclink>PV_Linear</funclink>
<funclink>PV_Direction</funclink>
<funclink>PV_Random</funclink>

View File

@ -25,7 +25,7 @@
<desc>The value will go linearly from start_value to end_value over the life of the particle.</desc>
<remark>See the <emlink href="particle/index.html">particle documentation</emlink> for further explanations of the particle system.</remark>
<related>
<funclink>CreateParticleEx</funclink>
<funclink>CreateParticle</funclink>
<funclink>PV_Direction</funclink>
<funclink>PV_Random</funclink>
<funclink>PV_Step</funclink>

View File

@ -33,7 +33,7 @@
<desc>The value will be a random number in the interval from start_value to (not including) end_value. The values in between are not whole integers, but are also in fraction of integers. This means that PV_Random(0, 1) can not only return one value (the 0) but a lot of different values in the interval between 0 and 1.</desc>
<remark>See the <emlink href="particle/index.html">particle documentation</emlink> for further explanations of the particle system.</remark>
<related>
<funclink>CreateParticleEx</funclink>
<funclink>CreateParticle</funclink>
<funclink>PV_Linear</funclink>
<funclink>PV_Direction</funclink>
<funclink>PV_Step</funclink>

View File

@ -25,7 +25,7 @@
<desc>The value will depend on the speed of the particle.</desc>
<remark>See the <emlink href="particle/index.html">particle documentation</emlink> for further explanations of the particle system.</remark>
<related>
<funclink>CreateParticleEx</funclink>
<funclink>CreateParticle</funclink>
<funclink>PV_Linear</funclink>
<funclink>PV_Direction</funclink>
<funclink>PV_Random</funclink>

View File

@ -32,7 +32,7 @@
<desc>PV_Step can be used for values that do not depend on the particle age (unlike f.e. <funclink>PV_Linear</funclink>).</desc>
<remark>See the <emlink href="particle/index.html">particle documentation</emlink> for further explanations of the particle system.</remark>
<related>
<funclink>CreateParticleEx</funclink>
<funclink>CreateParticle</funclink>
<funclink>PV_Linear</funclink>
<funclink>PV_Direction</funclink>
<funclink>PV_Random</funclink>

View File

@ -25,7 +25,7 @@
<desc>The value will depend on the wind at the current position of the particle.</desc>
<remark>See the <emlink href="particle/index.html">particle documentation</emlink> for further explanations of the particle system.</remark>
<related>
<funclink>CreateParticleEx</funclink>
<funclink>CreateParticle</funclink>
<funclink>PV_Direction</funclink>
<funclink>PV_Random</funclink>
<funclink>PV_Step</funclink>

View File

@ -99,7 +99,7 @@ global func FxGeysirExplosionTimer(object target, effect)
y-=3;
for(var i=0; i<(45); i++)InsertMaterial(Material("Water"),x+RandomX(-9,9),y-Random(5),RandomX(-10,10)+RandomX(-5,5)+RandomX(-10,10),-(10+Random(50)+Random(30)+Random(60)));
for(var i=0; i<(25); i++)InsertMaterial(Material("Water"),x+RandomX(-16,16),y-Random(5),RandomX(-10,10)+RandomX(-15,15)+RandomX(-20,20),-(10+Random(50)));
CreateParticleEx("Air", PV_Random(x-6, x+6), PV_Random(y-3, y), PV_Random(-15, 15), PV_Random(-90, -5), PV_Random(20, 100), Particles_Air());
CreateParticle("Air", PV_Random(x-6, x+6), PV_Random(y-3, y), PV_Random(-15, 15), PV_Random(-90, -5), PV_Random(20, 100), Particles_Air());
if(effect.counter>2072) effect.counter=0;
for(var obj in FindObjects(Find_InRect(x-30,y-200,60,210)))
{

View File

@ -85,8 +85,8 @@ public func FxFrostboltTimer(pTarget, effect, iEffectTime)
effect.x=x;
effect.y=y;
CreateParticleEx("Air", PV_Random(x - 3, x + 3), PV_Random(y - 3, y + 3), PV_Random(-10, 10), PV_Random(-10, 10), 5, effect.air_particles, 10);
CreateParticleEx("MagicFire", PV_Random(x - 3, x + 3), PV_Random(y - 3, y + 3), PV_Random(-10, 10), PV_Random(-10, 10), 10, effect.air_particles, 10);
CreateParticle("Air", PV_Random(x - 3, x + 3), PV_Random(y - 3, y + 3), PV_Random(-10, 10), PV_Random(-10, 10), 5, effect.air_particles, 10);
CreateParticle("MagicFire", PV_Random(x - 3, x + 3), PV_Random(y - 3, y + 3), PV_Random(-10, 10), PV_Random(-10, 10), 10, effect.air_particles, 10);
}

View File

@ -31,7 +31,7 @@ public func FxHardeningSpellTimer(pTarget, effect, iEffectTime)
var x = effect.x;
var y = effect.y;
CreateParticleEx("Air", PV_Random(x - 10, x + 10), PV_Random(y - 10, y + 10), xdir, ydir, PV_Random(20, 40), Particles_Air(), 4);
CreateParticle("Air", PV_Random(x - 10, x + 10), PV_Random(y - 10, y + 10), xdir, ydir, PV_Random(20, 40), Particles_Air(), 4);
if(!GBackSolid(x,y))
{
@ -48,7 +48,7 @@ public func FxHardeningSpellTimer(pTarget, effect, iEffectTime)
if(GetMaterial(x,y) == Material("Snow"))
{
DrawMaterialQuad("Ice",x,y,x+1,y,x+1,y+1,x,y+1);
CreateParticleEx("Air", x , y, xdir/3, ydir/3, PV_Random(20, 40), Particles_Air());
CreateParticle("Air", x , y, xdir/3, ydir/3, PV_Random(20, 40), Particles_Air());
}
}
if(iEffectTime > 360) { return -1; }

View File

@ -41,12 +41,12 @@ public func FxWindScrollStormTimer(pTarget, effect, iEffectTime)
{
var r=Random(360);
var d=Random(40);
CreateParticleEx("Air", Sin(r,d)+x,-Cos(r,d)+y, xdir/3, ydir/3, PV_Random(10, 30), effect.particles, 1);
CreateParticle("Air", Sin(r,d)+x,-Cos(r,d)+y, xdir/3, ydir/3, PV_Random(10, 30), effect.particles, 1);
return 1;
}
else if(iEffectTime<180 )
{
CreateParticleEx("Air", PV_Random(x - 20, x + 20), PV_Random(y - 20, y + 20), xdir/2, ydir/2, PV_Random(10, 30), effect.particles, 5);
CreateParticle("Air", PV_Random(x - 20, x + 20), PV_Random(y - 20, y + 20), xdir/2, ydir/2, PV_Random(10, 30), effect.particles, 5);
for(var obj in FindObjects(Find_Distance(40,x,y),Find_Not(Find_Category(C4D_Structure))))
{
if(PathFree(x,y,obj->GetX(),obj->GetY()))

View File

@ -87,9 +87,9 @@ global func BlueExplosionEffect(int level, int x, int y)
Size = PV_Random(level - 5, level + 5)
};
// Blast particle.
CreateParticleEx("SmokeDirty", x, y, PV_Random(-2, 2), PV_Random(-2, 2), PV_Random(20, 40), smoke, 10);
CreateParticleEx("MagicFire", x, y, PV_Random(-20, 20), PV_Random(-20, 20), PV_Random(5, 10), fire, 20);
if(!GBackLiquid(x,y)) CreateParticleEx("SphereSpark", x, y, PV_Random(-100, 100), PV_Random(-100, 100), PV_Random(5, 36 * 3), glimmer, level);
CreateParticle("SmokeDirty", x, y, PV_Random(-2, 2), PV_Random(-2, 2), PV_Random(20, 40), smoke, 10);
CreateParticle("MagicFire", x, y, PV_Random(-20, 20), PV_Random(-20, 20), PV_Random(5, 10), fire, 20);
if(!GBackLiquid(x,y)) CreateParticle("SphereSpark", x, y, PV_Random(-100, 100), PV_Random(-100, 100), PV_Random(5, 36 * 3), glimmer, level);
if(GBackLiquid(x,y)) CastObjects(Fx_Bubble, level * 4 / 10, level, x, y);
return;

View File

@ -29,7 +29,7 @@ func FxSparkleStart(target, effect, temp)
func FxSparkleTimer(target, effect, effect_time)
{
if(this()->Contained() || !Random(2)) return FX_OK;
CreateParticleEx("MagicRing", 0, 0, 0, 0, effect.Interval, effect.particles, 1);
CreateParticle("MagicRing", 0, 0, 0, 0, effect.Interval, effect.particles, 1);
return FX_OK;
}
@ -74,10 +74,10 @@ func FxGemHealingTimer(target, effect, effect_time)
target->DoEnergy(500, true);
target->CreateParticleEx("Magic", PV_Random(-5, +5), PV_Random(-8, 8), PV_Random(-1, 1), PV_Random(-10, -5), PV_Random(10, 20), effect.glimmer_particles, 3);
target->CreateParticle("Magic", PV_Random(-5, +5), PV_Random(-8, 8), PV_Random(-1, 1), PV_Random(-10, -5), PV_Random(10, 20), effect.glimmer_particles, 3);
if(!Random(10)) effect.switcher = !effect.switcher;
if(effect.switcher)
target->CreateParticleEx("MagicSpark", PV_Random(-3, 3), PV_Random(0, 8), PV_Random(-1, 1), PV_Random(-2, -1), PV_Random(20, 30), effect.sparks, 2);
target->CreateParticle("MagicSpark", PV_Random(-3, 3), PV_Random(0, 8), PV_Random(-1, 1), PV_Random(-2, -1), PV_Random(20, 30), effect.sparks, 2);
}
func FxGemHealingDamage(target, effect, damage, cause)

View File

@ -87,7 +87,7 @@ global func FxGemPyreTimer(object target, effect, int time)
if(e)clr=RGB(190+Random(10),0,20+Random(20));
var xoff = Sin(r, d);
var yoff = -Cos(r, d);
CreateParticleEx("Air", x + xoff, y + yoff, PV_Random(xoff - 3, xoff + 3), PV_Random(yoff - 3, yoff + 3), PV_Random(5, 10), effect.particles, 2);
CreateParticle("Air", x + xoff, y + yoff, PV_Random(xoff - 3, xoff + 3), PV_Random(yoff - 3, yoff + 3), PV_Random(5, 10), effect.particles, 2);
}
for(var obj in FindObjects(Find_NoContainer(), Find_OCF(OCF_Alive), Find_Distance(((time/2)+1)*6,x,y),Find_Not(Find_Distance((time/2)*4,x,y)),Find_ID(Clonk)))
@ -99,7 +99,7 @@ global func FxGemPyreTimer(object target, effect, int time)
if(PathFree(x,y,obj->GetX(),obj->GetY()))
{
obj->DoEnergy((-BoundBy((30-time),1,26)*3)/5,0,0,effect.thrower);
obj->CreateParticleEx("MagicFire", 0, 0, PV_Random(-15, 15), PV_Random(-15, 15), PV_Random(5, 10), effect.particles, 20);
obj->CreateParticle("MagicFire", 0, 0, PV_Random(-15, 15), PV_Random(-15, 15), PV_Random(5, 10), effect.particles, 20);
obj->Fling(RandomX(-2,2),-2-(BoundBy((30-time),10,30)/10));
effect.objects[GetLength(effect.objects)] = obj;
}

View File

@ -74,12 +74,12 @@ global func FxGemShieldCreationTimer(object target, effect, int time)
var shield=CreateObject(CrystalShield,x+Sin(time*7,35),y+Cos(time*7,35));
shield->SetR(-time*7);
shield->SetClrModulation(clr);
CreateParticleEx("MagicSpark", x+Sin(time*7,39),y+Cos(time*7,39), PV_Random(-10, 10), PV_Random(-10, 10), PV_Random(10, 20), effect.particles, 10);
CreateParticle("MagicSpark", x+Sin(time*7,39),y+Cos(time*7,39), PV_Random(-10, 10), PV_Random(-10, 10), PV_Random(10, 20), effect.particles, 10);
var shield=CreateObject(CrystalShield,x-Sin(-7+time*7,35),y+Cos(-7+time*7,35));
shield->SetR(-7 + time*7);
shield->SetClrModulation(clr);
CreateParticleEx("MagicSpark", x-Sin(-7+time*7,39),y+Cos(-7+time*7,39), PV_Random(-10, 10), PV_Random(-10, 10), PV_Random(10, 20), effect.particles, 10);
CreateParticle("MagicSpark", x-Sin(-7+time*7,39),y+Cos(-7+time*7,39), PV_Random(-10, 10), PV_Random(-10, 10), PV_Random(10, 20), effect.particles, 10);
return 1;
}

View File

@ -31,7 +31,7 @@ func FxSelfdestructionStart(target, effect, temp)
func FxSelfdestructionTimer(object target, effect, int timer)
{
CreateParticleEx("Magic", PV_Random(-4, 4), PV_Random(-4, 4), PV_Random(-3, 3), PV_Random(-3, 3), PV_Random(10, 30), effect.particles, 3);
CreateParticle("Magic", PV_Random(-4, 4), PV_Random(-4, 4), PV_Random(-3, 3), PV_Random(-3, 3), PV_Random(10, 30), effect.particles, 3);
if(timer>175) target->RemoveObject();
return 1;
}

View File

@ -78,7 +78,7 @@ global func FxGemSlowFieldTimer(object target, effect, int time)
var r=Random(360);
var d=Min(Random(20)+Random(130),62);
if(!PathFree(x,y,x + Sin(r,d), y - Cos(r,d))) continue;
CreateParticleEx("MagicFire", x + Sin(r,d), y - Cos(r,d), PV_Random(-2, 2), PV_Random(0, 4), PV_Random(10, 40), effect.particles, 2);
CreateParticle("MagicFire", x + Sin(r,d), y - Cos(r,d), PV_Random(-2, 2), PV_Random(0, 4), PV_Random(10, 40), effect.particles, 2);
}
for(var obj in FindObjects(Find_Distance(62,x,y)))
{

View File

@ -73,7 +73,7 @@ global func FxBlessTheKingTimer(object target, effect, int timer)
if(king->Contents(0)) king->Contents(0)->~MakeKingSize();
if(king->Contents(1)) king->Contents(1)->~MakeKingSize();
king->CreateParticleEx("Fire", PV_Random(-4, 4), PV_Random(-11, 8), PV_Random(-10, 10), PV_Random(-10, 10), PV_Random(10, 30), effect.particles, 10);
king->CreateParticle("Fire", PV_Random(-4, 4), PV_Random(-11, 8), PV_Random(-10, 10), PV_Random(-10, 10), PV_Random(10, 30), effect.particles, 10);
return 1;
}
@ -90,7 +90,7 @@ global func FxDeathByFireTimer(object target, effect, int timer)
for(var obj in FindObjects(Find_InRect(55,0,50,30),Find_OCF(OCF_Alive),Find_Not(Find_ID(MovingBrick))))
obj->RemoveObject();
CreateParticleEx("Fire", PV_Random(55, 90), PV_Random(0, 40), PV_Random(-1, 1), PV_Random(0, 20), PV_Random(10, 40), Particles_Fire(), 20);
CreateParticle("Fire", PV_Random(55, 90), PV_Random(0, 40), PV_Random(-1, 1), PV_Random(0, 20), PV_Random(10, 40), Particles_Fire(), 20);
}
global func FxLavaBrickResetTimer(object target, effect, int timer)

View File

@ -37,7 +37,7 @@ public func FinishedAiming(object clonk, int angle)
public func FxExplosiveArrowTimer(pTarget, effect, iEffectTime)
{
pTarget->CreateParticleEx("Fire", 0, 0, PV_Random(-10, 10), PV_Random(-10, 10), PV_Random(10, 20), Particles_Glimmer(), 5);
pTarget->CreateParticle("Fire", 0, 0, PV_Random(-10, 10), PV_Random(-10, 10), PV_Random(10, 20), Particles_Glimmer(), 5);
effect.timer++;
if(!pTarget->GetXDir() && !pTarget->GetYDir()) effect.timer = Max(effect.timer,65);
if(effect.timer>90) pTarget->Explode(15+Random(7));

View File

@ -48,8 +48,8 @@ private func FireWeapon(object clonk, int angle)
var x = Sin(angle, 20);
var y = -Cos(angle, 20);
CreateParticleEx("Smoke", IX, IY, PV_Random(x - 20, x + 20), PV_Random(y - 20, y + 20), PV_Random(40, 60), Particles_Smoke(), 20);
CreateParticle("Smoke", IX, IY, PV_Random(x - 20, x + 20), PV_Random(y - 20, y + 20), PV_Random(40, 60), Particles_Smoke(), 20);
clonk->CreateMuzzleFlash(IX, IY, angle, 20);
CreateParticleEx("Flash", 0, 0, 0, 0, 8, Particles_Flash());
CreateParticle("Flash", 0, 0, 0, 0, 8, Particles_Flash());
}

View File

@ -184,7 +184,7 @@ global func FxWindChannelTimer(object target, proplist effect)
continue;
obj->SetYDir(speed - 36, 100);
}
CreateParticleEx("Air", 464+Random(40), 344+Random(112), RandomX(-1,1), -30, PV_Random(10, 40), Overcast_air_particles);
CreateParticle("Air", 464+Random(40), 344+Random(112), RandomX(-1,1), -30, PV_Random(10, 40), Overcast_air_particles);
// Divider with random wind.
if (!Random(100))
@ -212,11 +212,11 @@ global func FxWindChannelTimer(object target, proplist effect)
}
}
if (effect.Divider == 1)
CreateParticleEx("Air", 464+Random(40), 280+Random(10), RandomX(-1,1), -30, PV_Random(10, 40), Overcast_air_particles);
CreateParticle("Air", 464+Random(40), 280+Random(10), RandomX(-1,1), -30, PV_Random(10, 40), Overcast_air_particles);
if (effect.Divider == 0)
CreateParticleEx("Air", 464+Random(40), 280+Random(10), RandomX(-20,-10), -20, PV_Random(10, 40), Overcast_air_particles);
CreateParticle("Air", 464+Random(40), 280+Random(10), RandomX(-20,-10), -20, PV_Random(10, 40), Overcast_air_particles);
if (effect.Divider == 2)
CreateParticleEx("Air", 464+Random(40), 280+Random(10), RandomX(10,20), -20, PV_Random(10, 40), Overcast_air_particles);
CreateParticle("Air", 464+Random(40), 280+Random(10), RandomX(10,20), -20, PV_Random(10, 40), Overcast_air_particles);
// Second shaft with upward wind.
for (var obj in FindObjects(Find_InRect(464, 96, 40, 144)))
@ -243,7 +243,7 @@ global func FxWindChannelTimer(object target, proplist effect)
continue;
obj->SetYDir(speed - 36, 100);
}
CreateParticleEx("Air", 464+Random(40), 160+Random(96), RandomX(-1,1), -30, PV_Random(10, 40), Overcast_air_particles);
CreateParticle("Air", 464+Random(40), 160+Random(96), RandomX(-1,1), -30, PV_Random(10, 40), Overcast_air_particles);
return 1;
}
@ -340,7 +340,7 @@ func OnClonkLeftRelaunch(object clonk)
{
var pos = GetRandomSpawn();
clonk->SetPosition(pos[0],pos[1]);
CreateParticleEx("Air", pos[0],pos[1], PV_Random(-20, 20), PV_Random(-20, 20), PV_Random(5, 10), Overcast_air_particles, 25);
CreateParticle("Air", pos[0],pos[1], PV_Random(-20, 20), PV_Random(-20, 20), PV_Random(5, 10), Overcast_air_particles, 25);
return;
}

View File

@ -54,9 +54,9 @@ public func FxFireballTimer(pTarget, effect, iEffectTime)
var xspeed = Sin(angle, 6);
var yspeed = -Cos(angle, 6);
CreateParticleEx("SmokeDirty", x, y, PV_Random(-2, 2), PV_Random(-2, 2), PV_Random(30, 60), Particles_SmokeTrail(), 1);
CreateParticleEx("FireDense", x, y, PV_Random(-20, 20), PV_Random(-20, 20), PV_Random(5, 20), Particles_Fire(), 10);
CreateParticleEx("Fire", x, y, PV_Random(0, - 10 * xspeed), PV_Random(0, - 10 * yspeed), PV_Random(20, 90), Particles_Glimmer(), 10);
CreateParticle("SmokeDirty", x, y, PV_Random(-2, 2), PV_Random(-2, 2), PV_Random(30, 60), Particles_SmokeTrail(), 1);
CreateParticle("FireDense", x, y, PV_Random(-20, 20), PV_Random(-20, 20), PV_Random(5, 20), Particles_Fire(), 10);
CreateParticle("Fire", x, y, PV_Random(0, - 10 * xspeed), PV_Random(0, - 10 * yspeed), PV_Random(20, 90), Particles_Glimmer(), 10);
effect.x += xspeed;
effect.y += yspeed;

View File

@ -42,12 +42,12 @@ public func FxWindScrollStormTimer(pTarget, effect, iEffectTime)
{
var r=Random(360);
var d=Random(40);
CreateParticleEx("Air", Sin(r,d)+x,-Cos(r,d)+y, xdir/3, ydir/3, PV_Random(10, 30), effect.particles, 1);
CreateParticle("Air", Sin(r,d)+x,-Cos(r,d)+y, xdir/3, ydir/3, PV_Random(10, 30), effect.particles, 1);
return 1;
}
else if(iEffectTime<180 )
{
CreateParticleEx("Air", PV_Random(x - 20, x + 20), PV_Random(y - 20, y + 20), xdir/2, ydir/2, PV_Random(10, 30), effect.particles, 5);
CreateParticle("Air", PV_Random(x - 20, x + 20), PV_Random(y - 20, y + 20), xdir/2, ydir/2, PV_Random(10, 30), effect.particles, 5);
for(var obj in FindObjects(Find_Distance(40,x,y),Find_Not(Find_Category(C4D_Structure))))
{

View File

@ -27,7 +27,7 @@ private func Destroy()
G = 50,
B = 50
};
CreateParticleEx("Grass", 0, 0, PV_Random(-20, 20), PV_Random(-20, 10), PV_Random(30, 100), particles, 30);
CreateParticle("Grass", 0, 0, PV_Random(-20, 20), PV_Random(-20, 10), PV_Random(30, 100), particles, 30);
RemoveObject();
}

View File

@ -98,7 +98,7 @@ protected func OnPlayerRelaunch(int plr)
func OnClonkLeftRelaunch(object clonk)
{
clonk->CreateParticleEx("Fire", 0, 0, PV_Random(-20, 20), PV_Random(-40, 5), PV_Random(20, 90), Particles_Glimmer(), 30);
clonk->CreateParticle("Fire", 0, 0, PV_Random(-20, 20), PV_Random(-40, 5), PV_Random(20, 90), Particles_Glimmer(), 30);
clonk->SetYDir(-5);
return;
}

View File

@ -112,7 +112,7 @@ global func FxBlessTheKingTimer(object target, effect, int timer)
particles = ThunderousSkies_air_particles_red;
duration *= 2;
}
king->CreateParticleEx("Air", 0, 8, PV_Random(-10, 10),PV_Random(0, 10), PV_Random(duration, 2 * duration), particles, 4);
king->CreateParticle("Air", 0, 8, PV_Random(-10, 10),PV_Random(0, 10), PV_Random(duration, 2 * duration), particles, 4);
return 1;
}
@ -128,8 +128,8 @@ global func FxChanneledWindTimer()
obj->SetYDir(Max(obj->GetYDir()-5,-50));
obj->SetXDir(obj->GetXDir()+RandomX(-1,1));
}
CreateParticleEx("Air", 230+Random(40),398,RandomX(-1,1),-30, PV_Random(10, 30), ThunderousSkies_air_particles);
CreateParticleEx("Air", 700+Random(60),348,RandomX(-1,1),-30, PV_Random(10, 30), ThunderousSkies_air_particles);
CreateParticle("Air", 230+Random(40),398,RandomX(-1,1),-30, PV_Random(10, 30), ThunderousSkies_air_particles);
CreateParticle("Air", 700+Random(60),348,RandomX(-1,1),-30, PV_Random(10, 30), ThunderousSkies_air_particles);
}
global func FxBalloonsTimer()
@ -159,7 +159,7 @@ global func FxBalloonsTimer()
var balloon = CreateObject(TargetBalloon, x, y-30, NO_OWNER);
balloon->SetProperty("load",target);
target->SetAction("Attach", balloon);
CreateParticleEx("Flash", x, y, 0, 0, 8, Particles_Flash());
CreateParticle("Flash", x, y, 0, 0, 8, Particles_Flash());
AddEffect("HorizontalMoving", balloon, 1, 1, balloon);
balloon->SetXDir(((Random(2)*2)-1) * (Random(4)+3));
}
@ -201,7 +201,7 @@ private func MakeTarget(int x, int y)
var balloon = CreateObject(TargetBalloon, x, y-30, NO_OWNER);
balloon->SetProperty("load",target);
target->SetAction("Attach", balloon);
CreateParticleEx("Flash", x, y, 0, 0, 8, Particles_Flash());
CreateParticle("Flash", x, y, 0, 0, 8, Particles_Flash());
}

View File

@ -64,9 +64,9 @@ public func FxFireballTimer(pTarget, effect, iEffectTime)
var xspeed = Sin(angle, 6);
var yspeed = -Cos(angle, 6);
CreateParticleEx("SmokeDirty", x, y, PV_Random(-2, 2), PV_Random(-2, 2), PV_Random(30, 60), Particles_SmokeTrail(), 1);
CreateParticleEx("FireDense", x, y, PV_Random(-20, 20), PV_Random(-20, 20), PV_Random(5, 20), Particles_Fire(), 10);
CreateParticleEx("Fire", x, y, PV_Random(0, - 10 * xspeed), PV_Random(0, - 10 * yspeed), PV_Random(20, 90), Particles_Glimmer(), 10);
CreateParticle("SmokeDirty", x, y, PV_Random(-2, 2), PV_Random(-2, 2), PV_Random(30, 60), Particles_SmokeTrail(), 1);
CreateParticle("FireDense", x, y, PV_Random(-20, 20), PV_Random(-20, 20), PV_Random(5, 20), Particles_Fire(), 10);
CreateParticle("Fire", x, y, PV_Random(0, - 10 * xspeed), PV_Random(0, - 10 * yspeed), PV_Random(20, 90), Particles_Glimmer(), 10);
effect.x += xspeed;
effect.y += yspeed;

View File

@ -59,14 +59,14 @@ global func FxThunderStrikeTimer(pTarget, effect, iEffectTime)
if(!(i%5))
for(var k=0; k<y[i+wdt]; k+=10+Random(5))
{
CreateParticleEx("ElectroSpark", i+move,k, PV_Random(-12, 12), PV_Random(-40, -10), PV_Random(20, 40), Particles_ElectroSpark1(), 3);
CreateParticle("ElectroSpark", i+move,k, PV_Random(-12, 12), PV_Random(-40, -10), PV_Random(20, 40), Particles_ElectroSpark1(), 3);
}
for(var l=0; l<3; l++)
CreateParticleEx("ElectroSpark", i+move, y[i+wdt]-l-2, PV_Random(-20, 20), PV_Random(-20, -30), PV_Random(10, 20), particles, 3);
CreateParticle("ElectroSpark", i+move, y[i+wdt]-l-2, PV_Random(-20, 20), PV_Random(-20, -30), PV_Random(10, 20), particles, 3);
if(i%3 == 0)
CreateParticleEx("LightningStrike", i+move, y[i+wdt]-32, 0, 0, PV_Random(3, 10), particles_lightning);
CreateParticle("LightningStrike", i+move, y[i+wdt]-32, 0, 0, PV_Random(3, 10), particles_lightning);
for(var t in FindObjects(Find_Or(Find_And(Find_ID(Clonk),Find_OCF(OCF_Alive)), Find_ID(TargetBalloon)),Find_OnLine(i+move,-0,i+move,y[i+wdt])))
{
var add=true;
@ -103,7 +103,7 @@ global func FxThunderStrikeTimer(pTarget, effect, iEffectTime)
while(!GBackSolid(x+move+5,y) && y < LandscapeHeight())
{
var add=Random((iEffectTime*5))*((Random(2)*2) -1);
CreateParticleEx("Air", x+move+5+add, y, PV_Random(-2, 2), PV_Random(-10, -5), PV_Random(5, 20), effect.particles_air);
CreateParticle("Air", x+move+5+add, y, PV_Random(-2, 2), PV_Random(-10, -5), PV_Random(5, 20), effect.particles_air);
y+=Random(4)+3;
}
}

View File

@ -42,12 +42,12 @@ public func FxWindScrollStormTimer(pTarget, effect, iEffectTime)
{
var r=Random(360);
var d=Random(40);
CreateParticleEx("Air", Sin(r,d)+x,-Cos(r,d)+y, xdir/3, ydir/3, PV_Random(10, 30), effect.particles, 1);
CreateParticle("Air", Sin(r,d)+x,-Cos(r,d)+y, xdir/3, ydir/3, PV_Random(10, 30), effect.particles, 1);
return 1;
}
else if(iEffectTime<180 )
{
CreateParticleEx("Air", PV_Random(x - 20, x + 20), PV_Random(y - 20, y + 20), xdir/2, ydir/2, PV_Random(10, 30), effect.particles, 5);
CreateParticle("Air", PV_Random(x - 20, x + 20), PV_Random(y - 20, y + 20), xdir/2, ydir/2, PV_Random(10, 30), effect.particles, 5);
for(var obj in FindObjects(Find_Distance(40,x,y),Find_Not(Find_Category(C4D_Structure))))
{

View File

@ -35,7 +35,7 @@ public func IsProjectileTarget(target,shooter)
public func OnProjectileHit(object projectile)
{
CreateParticleEx("Air", 0, -10, PV_Random(-30, 30), PV_Random(-30,30), PV_Random(30, 120), Particles_Air(), 10);
CreateParticle("Air", 0, -10, PV_Random(-30, 30), PV_Random(-30,30), PV_Random(30, 120), Particles_Air(), 10);
if(load) load->~Fall(projectile->GetController());
RemoveObject();
}

View File

@ -47,7 +47,7 @@ protected func FxFlightTimer(object pTarget, effect, int iEffectTime)
var xdir = GetXDir() / 2;
var ydir = GetYDir() / 2;
CreateParticleEx("FireDense", x, y, PV_Random(xdir - 20, xdir + 20), PV_Random(ydir - 20, ydir + 20), PV_Random(16 * 6, 38 * 6), {Prototype = Particles_Thrust(), Size = PV_Random(40, 60)}, 5);
CreateParticle("FireDense", x, y, PV_Random(xdir - 20, xdir + 20), PV_Random(ydir - 20, ydir + 20), PV_Random(16 * 6, 38 * 6), {Prototype = Particles_Thrust(), Size = PV_Random(40, 60)}, 5);
fuel--;
}

View File

@ -43,7 +43,7 @@ protected func FxFlightTimer(object pTarget, effect, int iEffectTime)
var xdir = GetXDir() / 2;
var ydir = GetYDir() / 2;
CreateParticleEx("FireDense", x, y, PV_Random(xdir - 4, xdir + 4), PV_Random(ydir - 4, ydir + 4), PV_Random(16, 38), Particles_Thrust(), 5);
CreateParticle("FireDense", x, y, PV_Random(xdir - 4, xdir + 4), PV_Random(ydir - 4, ydir + 4), PV_Random(16, 38), Particles_Thrust(), 5);
fuel--;

View File

@ -56,7 +56,7 @@ private func Destroy()
Rotation = PV_Direction(PV_Random(900, 1100)),
Phase = PV_Random(0, 1)
};
CreateParticleEx("Lichen", PV_Random(-5, 5), PV_Random(-5, 5), PV_Random(-30, 30), PV_Random(-30, 30), PV_Random(36, 36 * 4), particles, 40);
CreateParticle("Lichen", PV_Random(-5, 5), PV_Random(-5, 5), PV_Random(-30, 30), PV_Random(-30, 30), PV_Random(36, 36 * 4), particles, 40);
RemoveObject();
}

View File

@ -39,5 +39,5 @@ public func ObjectControl(int plr, int ctrl, int x, int y, int strength, bool re
protected func FxParticlesTimer(object target, effect, int time)
{
var angle = time*10 % 360;
CreateParticleEx("SphereSpark", Sin(angle, 13), -Cos(angle, 13), 0, 0, PV_Random(20, 30), Particles_Spark());
CreateParticle("SphereSpark", Sin(angle, 13), -Cos(angle, 13), 0, 0, PV_Random(20, 30), Particles_Spark());
}

View File

@ -33,7 +33,7 @@ func Footstep()
G = (clr >> 8) & 0xff,
B = clr & 0xff,
};
CreateParticleEx("Dust", PV_Random(dir * -5, dir * -3), 8, PV_Random(dir * 2, dir * 1), PV_Random(-2, -3), PV_Random(36, 2 * 36), particles, 5);
CreateParticle("Dust", PV_Random(dir * -5, dir * -3), 8, PV_Random(dir * 2, dir * 1), PV_Random(-2, -3), PV_Random(36, 2 * 36), particles, 5);
Sound("StepSoft?");
}
}

View File

@ -19,7 +19,7 @@ protected func Construction() {
private func Shining()
{
CreateParticleEx("Fire", 0, -5, 0, PV_Random(-1, 1), 20, Particles_Fire(), 2);
CreateParticle("Fire", 0, -5, 0, PV_Random(-1, 1), 20, Particles_Fire(), 2);
//check if position changed
if (x != GetX() && y != GetY())

View File

@ -19,6 +19,6 @@ global func FxFireScorchingTimer(object target, proplist effect, int time)
if (time >= effect.duration) { RemoveObject(); return FX_Execute_Kill; }
// particles
var wind = BoundBy(GetWind(), -5, 5);
CreateParticleEx("SmokeDirty", PV_Random(-5, 5), PV_Random(-5, 5), wind, -effect.strength/8, PV_Random(20, 40), Particles_SmokeTrail(), 2);
CreateParticle("SmokeDirty", PV_Random(-5, 5), PV_Random(-5, 5), wind, -effect.strength/8, PV_Random(20, 40), Particles_SmokeTrail(), 2);
return FX_OK;
}

View File

@ -215,7 +215,7 @@ private func ExecuteStream(proplist s)
//Log("segment %d", i_segment);
if (!s.is_blocked[i_segment+1]) StreamBlockVertex(s, i_segment+1);
if (storm_debug)
CreateParticleEx("SphereSpark", s.x[i_segment], s.y[i_segment], 0, 0, 36, {Size = 12});
CreateParticle("SphereSpark", s.x[i_segment], s.y[i_segment], 0, 0, 36, {Size = 12});
continue;
}
// current segment base point
@ -312,7 +312,7 @@ private func ExecuteStream(proplist s)
var v = Distance(vx,vy);
vx = vx * s.dir_len / v;
vy = vy * s.dir_len / v / 2;
CreateParticleEx("Dust", PV_Random(x - 10, x + 10), PV_Random(y - 10, y + 10), PV_Random(vx * 80 / 100, vx * 120 / 100), PV_Random(vy, vy * 140 / 100), PV_Random(20, 40), storm_particles,local_strength);
CreateParticle("Dust", PV_Random(x - 10, x + 10), PV_Random(y - 10, y + 10), PV_Random(vx * 80 / 100, vx * 120 / 100), PV_Random(vy, vy * 140 / 100), PV_Random(20, 40), storm_particles,local_strength);
}
}
}

View File

@ -392,7 +392,7 @@ func Footstep()
G = (clr >> 8) & 0xff,
B = clr & 0xff,
};
CreateParticleEx("Dust", PV_Random(dir * -2, dir * -1), 8, PV_Random(dir * 2, dir * 1), PV_Random(-2, -3), PV_Random(36, 2 * 36), particles, 5);
CreateParticle("Dust", PV_Random(dir * -2, dir * -1), 8, PV_Random(dir * 2, dir * 1), PV_Random(-2, -3), PV_Random(36, 2 * 36), particles, 5);
Sound("StepSoft?");
}
}
@ -976,7 +976,7 @@ func FxIntSwimTimer(pTarget, effect, iTime)
B = (color >> 0) & 0xff,
Attach = ATTACH_Front,
};
CreateParticleEx("Wave", 0, -4, (RandomX(-5,5)-(-1+2*GetDir())*4)/4, 0, 16, particles);
CreateParticle("Wave", 0, -4, (RandomX(-5,5)-(-1+2*GetDir())*4)/4, 0, 16, particles);
}
Sound("Splash?");
}
@ -1052,7 +1052,7 @@ func Hit(int iXSpeed, int iYSpeed)
G = (clr >> 8) & 0xff,
B = clr & 0xff,
};
CreateParticleEx("Dust", PV_Random(-4, 4), 8, PV_Random(-3, 3), PV_Random(-2, -4), PV_Random(36, 2 * 36), particles, 12);
CreateParticle("Dust", PV_Random(-4, 4), 8, PV_Random(-3, 3), PV_Random(-2, -4), PV_Random(36, 2 * 36), particles, 12);
}
}
}
@ -1069,7 +1069,7 @@ func Hit(int iXSpeed, int iYSpeed)
G = (clr >> 8) & 0xff,
B = clr & 0xff,
};
CreateParticleEx("Dust", PV_Random(-4, 4), 8, PV_Random(-3, 3), PV_Random(-2, -4), PV_Random(36, 2 * 36), particles, 12);
CreateParticle("Dust", PV_Random(-4, 4), 8, PV_Random(-3, 3), PV_Random(-2, -4), PV_Random(36, 2 * 36), particles, 12);
}
}
}
@ -1138,7 +1138,7 @@ func FxRollingTimer(object target, int num, int timer)
G = (clr >> 8) & 0xff,
B = clr & 0xff,
};
CreateParticleEx("Dust", PV_Random(dir * -2, dir * -1), 8, PV_Random(dir * 2, dir * 1), PV_Random(-2, -5), PV_Random(36, 2 * 36), particles, 6);
CreateParticle("Dust", PV_Random(dir * -2, dir * -1), 8, PV_Random(dir * 2, dir * 1), PV_Random(-2, -5), PV_Random(36, 2 * 36), particles, 6);
}
}

View File

@ -39,7 +39,7 @@ func Show(int clr, int layer, int size,bool diffuse)
x = Sin(angle,+radius);
y = Cos(angle,-radius/3);
CreateParticleEx("Cloud", x, y, PV_Random(-diffuse, +diffuse), 0, 0, particles);
CreateParticle("Cloud", x, y, PV_Random(-diffuse, +diffuse), 0, 0, particles);
}
}

View File

@ -55,7 +55,7 @@ global func AddTrajectory(object pObj, int iX, int iY, int iXDir, int iYDir, int
// If we are far enough away insert a new point
if(Distance((iXOld - iX) / iFaktor, (iYOld - iY) / iFaktor) >= spacing)
{
pTrajectory->CreateParticleEx("Magic", iX/iFaktor - pTrajectory->GetX(), iY/iFaktor - pTrajectory->GetY(), 0, 0, 0, particles);
pTrajectory->CreateParticle("Magic", iX/iFaktor - pTrajectory->GetX(), iY/iFaktor - pTrajectory->GetY(), 0, 0, 0, particles);
iXOld = iX; iYOld = iY;
}
// Or is it here already?

View File

@ -128,7 +128,7 @@ private func DrawRotatedParticleLine(string particle, int x1, int y1, int x2, in
};
for (var i = count+1; --i; )
{
CreateParticleEx(particle, x1 + deltax * i / count, y1 + deltay * i / count, 0, 0, 18, particle_prop);
CreateParticle(particle, x1 + deltax * i / count, y1 + deltay * i / count, 0, 0, 18, particle_prop);
}
}

View File

@ -91,10 +91,10 @@ protected func FxIntMeteorTimer()
ydir -= size * ydir ** 2 / 11552000; // Magic number.
SetYDir(ydir, 100);
// Smoke trail.
CreateParticleEx("Smoke", PV_Random(-2, 2), PV_Random(-2, 2), PV_Random(-3, 3), PV_Random(-3, 3), 30 + Random(60), Particles_SmokeTrail(), 5);
CreateParticle("Smoke", PV_Random(-2, 2), PV_Random(-2, 2), PV_Random(-3, 3), PV_Random(-3, 3), 30 + Random(60), Particles_SmokeTrail(), 5);
// Fire trail.
CreateParticleEx("MagicSpark", 0, 0, PV_Random(-20, 20), PV_Random(-20, 20), 16, Particles_SparkFire(), 4);
CreateParticleEx("Fire", PV_Random(-size / 8, size / 8), PV_Random(-size / 8, size / 8), PV_Random(-1, 1), PV_Random(-1, 1), 30, Particles_FireTrail(), 6 + size / 10);
CreateParticle("MagicSpark", 0, 0, PV_Random(-20, 20), PV_Random(-20, 20), 16, Particles_SparkFire(), 4);
CreateParticle("Fire", PV_Random(-size / 8, size / 8), PV_Random(-size / 8, size / 8), PV_Random(-1, 1), PV_Random(-1, 1), 30, Particles_FireTrail(), 6 + size / 10);
// Sound.
// Burning and friction decrease size.
@ -114,7 +114,7 @@ protected func Hit(int xdir, int ydir)
Prototype = Particles_Fire(),
Attach = nil
};
CreateParticleEx("Fire", PV_Random(-size / 4, size / 4), PV_Random(-size / 4, size / 4), PV_Random(-size/4, size/4), PV_Random(-size/4, size/4), 30, particles, 20 + size);
CreateParticle("Fire", PV_Random(-size / 4, size / 4), PV_Random(-size / 4, size / 4), PV_Random(-size/4, size/4), PV_Random(-size/4, size/4), 30, particles, 20 + size);
// Explode meteor, explode size scales with the energy of the meteor.
var dam = size * speed2 / 500;
dam = BoundBy(size/2, 5, 30);

View File

@ -112,7 +112,7 @@ protected func FxFlagCarriedTimer(object target, effect)
// Draw partical line following the flag.
if (Distance(x, y, newx, newy) > 5)
{
target->CreateParticleEx("SphereSpark", 0, 0, 0, 0, PV_Random(36 * 3, 36 * 3 + 10), effect.tracer_particles);
target->CreateParticle("SphereSpark", 0, 0, 0, 0, PV_Random(36 * 3, 36 * 3 + 10), effect.tracer_particles);
effect.x=newx;
effect.y=newy;
}

View File

@ -294,7 +294,7 @@ protected func UpdateGraphics(int time)
checkpoint_particles.R = (color >> 16) & 0xff;
checkpoint_particles.G = (color >> 8) & 0xff;
checkpoint_particles.B = (color >> 0) & 0xff;
CreateParticleEx("SphereSpark", Sin(angle, cp_size), -Cos(angle, cp_size), 0, 0, 18 * 5, checkpoint_particles);
CreateParticle("SphereSpark", Sin(angle, cp_size), -Cos(angle, cp_size), 0, 0, 18 * 5, checkpoint_particles);
return;
}

View File

@ -126,8 +126,8 @@ func FxCheckStuckTimer(_, effect)
func FxSparkleTimer(_, effect)
{
CreateParticleEx("ItemSpark", PV_Random(0, GetXDir()/10), PV_Random(0, GetYDir()/10), GetXDir(), GetYDir(), 36, ItemSpark_particle, 5);
CreateParticleEx("ItemSpark", PV_Random(0, GetXDir()/10), PV_Random(0, GetYDir()/10), GetXDir(), GetYDir(), 20, ItemSpark_particle_additive, 5);
CreateParticle("ItemSpark", PV_Random(0, GetXDir()/10), PV_Random(0, GetYDir()/10), GetXDir(), GetYDir(), 36, ItemSpark_particle, 5);
CreateParticle("ItemSpark", PV_Random(0, GetXDir()/10), PV_Random(0, GetYDir()/10), GetXDir(), GetYDir(), 20, ItemSpark_particle_additive, 5);
if(!Random(36))
for(var i=0;i<3;++i)
@ -161,8 +161,8 @@ func FxSparkleDeathTimer(_, effect, effect_time)
effect.velY*=-1;
}
effect.from->CreateParticleEx("ItemSpark", AbsX(effect.x), AbsY(effect.y), 0, 0, 18, ItemSpark_particle, 1);
effect.from->CreateParticleEx("ItemSpark", AbsX(effect.x), AbsY(effect.y), 0, 0, 10, ItemSpark_particle_additive, 1);
effect.from->CreateParticle("ItemSpark", AbsX(effect.x), AbsY(effect.y), 0, 0, 18, ItemSpark_particle, 1);
effect.from->CreateParticle("ItemSpark", AbsX(effect.x), AbsY(effect.y), 0, 0, 10, ItemSpark_particle_additive, 1);
effect.xT+=effect.velX;
effect.yT+=effect.velY;

View File

@ -90,7 +90,7 @@ protected func FxRestoreTimer(object target, effect, int time)
var y = init_y - Cos(angle, 2 * time);
target->SetPosition(x, y);
CreateParticleEx("SphereSpark", 0, 0, 0, 0, 36, particles, 1);
CreateParticle("SphereSpark", 0, 0, 0, 0, 36, particles, 1);
return 1;
}
@ -136,7 +136,7 @@ protected func FxRestoreStop(object target, effect, int reason, bool temporary)
to_x = to_container->GetX();
to_y = to_container->GetY();
}
CreateParticleEx("SphereSpark", to_x - GetX(), to_y - GetY(), PV_Random(-50, 50), PV_Random(-50, 50), PV_Random(2, 10), particles, 10);
CreateParticle("SphereSpark", to_x - GetX(), to_y - GetY(), PV_Random(-50, 50), PV_Random(-50, 50), PV_Random(2, 10), particles, 10);
}
// Sound.
//TODO new sound.

View File

@ -35,7 +35,7 @@ func FxSparkleStart(target, effect, temp)
func FxSparkleTimer(target, effect, effect_time)
{
if(this()->Contained() || !Random(2)) return FX_OK;
CreateParticleEx("MagicRing", 0, 0, 0, 0, effect.Interval, effect.particles, 1);
CreateParticle("MagicRing", 0, 0, 0, 0, effect.Interval, effect.particles, 1);
return FX_OK;
}

View File

@ -194,7 +194,7 @@ func FxIntAxeTimer(object clonk, effect, int time)
// need to be behind the Clonk?
if (clonk.Plane > effect.tree.Plane)
particles = {Prototype = Particles_WoodChip(), Attach = ATTACH_Back};
clonk->CreateParticleEx("WoodChip", x, 4, PV_Random(-12, 12), PV_Random(-13, -6), PV_Random(36 * 3, 36 * 10), particles, 10);
clonk->CreateParticle("WoodChip", x, 4, PV_Random(-12, 12), PV_Random(-13, -6), PV_Random(36 * 3, 36 * 10), particles, 10);
// Damage tree
effect.tree->DoDamage(this.ChopStrength, 3, clonk->GetOwner()); // 3 = FX_Call_DmgChop
}
@ -237,7 +237,7 @@ func FxIntSplitTimer(object clonk, effect, int time)
if(clonk->GetDirection() == COMD_Left) x = x * -1;
//Create the woodchip particle
clonk->CreateParticleEx("WoodChip", x, 4, PV_Random(-12, 12), PV_Random(-13, -6), PV_Random(36 * 3, 36 * 10), Particles_WoodChip(), 10);
clonk->CreateParticle("WoodChip", x, 4, PV_Random(-12, 12), PV_Random(-13, -6), PV_Random(36 * 3, 36 * 10), Particles_WoodChip(), 10);
}
// Tree split!
if ((axe_swing_time * 12) / time == 1)

View File

@ -13,7 +13,7 @@ protected func Initialize()
AddEffect("Float",this,1,1,this);
//Special Effects
CreateParticleEx("Air", PV_Random(-1, 1), PV_Random(15, 17), PV_Random(-3, 3), PV_Random(0, 2), 18, Particles_Air(), 20);
CreateParticle("Air", PV_Random(-1, 1), PV_Random(15, 17), PV_Random(-3, 3), PV_Random(0, 2), 18, Particles_Air(), 20);
}
private func Deflate()
@ -29,7 +29,7 @@ private func Deflate()
private func DeflateEffect()
{
var act_time = GetActTime();
CreateParticleEx("Air", PV_Random(-1, 1), PV_Random(-1, 5), PV_Random(-act_time, act_time), PV_Random(-act_time, act_time), 18, Particles_Air(), act_time);
CreateParticle("Air", PV_Random(-1, 1), PV_Random(-1, 5), PV_Random(-act_time, act_time), PV_Random(-act_time, act_time), 18, Particles_Air(), act_time);
}
private func Pack()
@ -73,7 +73,7 @@ public func IsProjectileTarget(target,shooter)
public func OnProjectileHit()
{
//Pop!
CreateParticleEx("Air", 0, -10, PV_Random(-10, 10), PV_Random(-10, 10), 10, Particles_Air(), 30);
CreateParticle("Air", 0, -10, PV_Random(-10, 10), PV_Random(-10, 10), 10, Particles_Air(), 30);
Sound("BalloonPop");
if (rider)
{

View File

@ -134,7 +134,7 @@ protected func FxFlightTimer(object pTarget, effect, int iEffectTime)
var xdir = GetXDir() / 2;
var ydir = GetYDir() / 2;
CreateParticleEx("FireDense", x, y, PV_Random(xdir - 4, xdir + 4), PV_Random(ydir - 4, ydir + 4), PV_Random(16, 38), Particles_Thrust(), 5);
CreateParticle("FireDense", x, y, PV_Random(xdir - 4, xdir + 4), PV_Random(ydir - 4, ydir + 4), PV_Random(16, 38), Particles_Thrust(), 5);
fuel--;
}

View File

@ -133,7 +133,7 @@ private func Fusing()
// Effekt
if(GetActTime() < FuseTime() - 20)
CreateParticleEx("Fire", x, y, PV_Random(x - 5, x + 5), PV_Random(y - 15, y + 5), PV_Random(10, 40), Particles_Glimmer(), 3);
CreateParticle("Fire", x, y, PV_Random(x - 5, x + 5), PV_Random(y - 15, y + 5), PV_Random(10, 40), Particles_Glimmer(), 3);
// Explosion
else if(GetActTime() > FuseTime())
DoExplode();

View File

@ -90,7 +90,7 @@ func FxIntFusingTimer()
fuse_x += Sin(iAngle, speed);
fuse_y +=-Cos(iAngle, speed);
CreateParticleEx("Fire", fuse_x/10-GetX(), fuse_y/10-GetY(), PV_Random(-10, 10), PV_Random(-10, 10), PV_Random(10, 40), Particles_Glimmer(), 3);
CreateParticle("Fire", fuse_x/10-GetX(), fuse_y/10-GetY(), PV_Random(-10, 10), PV_Random(-10, 10), PV_Random(10, 40), Particles_Glimmer(), 3);
SetVertexXY(fuse_vertex, fuse_x/10, fuse_y/10);
}

View File

@ -120,13 +120,13 @@ protected func DoSwing(object clonk, int ix, int iy)
B = clr & 0xff,
Size = PV_KeyFrames(0, 0, 0, 200, PV_Random(2, 50), 1000, 0),
};
CreateParticleEx("Dust", x2, y2, PV_Random(-3, 3), PV_Random(-3, -3), PV_Random(18, 1 * 36), particles, 3);
CreateParticle("Dust", x2, y2, PV_Random(-3, 3), PV_Random(-3, -3), PV_Random(18, 1 * 36), particles, 3);
Sound("Dig?");
}
//It's solid, but not diggable. So it is a hard mineral.
else
{
CreateParticleEx("Spark", x2*9/10,y2*9/10, PV_Random(-20, 20), PV_Random(-20, 20), PV_Random(10, 20), Particles_Glimmer(), 10);
CreateParticle("Spark", x2*9/10,y2*9/10, PV_Random(-20, 20), PV_Random(-20, 20), PV_Random(10, 20), Particles_Glimmer(), 10);
Sound("Clang?");
}

View File

@ -86,7 +86,7 @@ public func Incineration()
public func FxFuseTimer(object target, effect, int timer)
{
CreateParticleEx("Fire", 0, 0, PV_Random(-10, 10), PV_Random(-20, 10), PV_Random(10, 40), Particles_Glimmer(), 6);
CreateParticle("Fire", 0, 0, PV_Random(-10, 10), PV_Random(-20, 10), PV_Random(10, 40), Particles_Glimmer(), 6);
if(timer > 90)
{
//17-32 explosion radius

View File

@ -152,7 +152,7 @@ public func Dust(object target)
B = clr & 0xff,
Size = PV_KeyFrames(0, 0, 0, 300, 40, 1000, 15),
};
CreateParticleEx("Dust", groundx, groundy, PV_Random(-3, 3), PV_Random(-3, 3), PV_Random(18, 1 * 36), particles, 3);
CreateParticle("Dust", groundx, groundy, PV_Random(-3, 3), PV_Random(-3, 3), PV_Random(18, 1 * 36), particles, 3);
}
}

View File

@ -133,7 +133,7 @@ public func ControlUseHolding(object clonk, ix, iy)
if(distp < reach)
{
//Particles moving towards object
CreateParticleEx("ElectroSpark", ix + xs, iy + ys, PV_Random(-xs/2, -xs/4), PV_Random(-ys/2, -ys/4), PV_Random(5, 10), particles, 5);
CreateParticle("ElectroSpark", ix + xs, iy + ys, PV_Random(-xs/2, -xs/4), PV_Random(-ys/2, -ys/4), PV_Random(5, 10), particles, 5);
//Particles emitting from clonk
var wp = 1;
@ -143,7 +143,7 @@ public func ControlUseHolding(object clonk, ix, iy)
var xdir = Sin(xp, 10);
var ydir = -Cos(yp, 10);
var distance = Random(distp);
CreateParticleEx("ElectroSpark", Sin(xp, distance), -Cos(yp, distance), PV_Random(xdir - 5, xdir + 5), PV_Random(ydir - 2, ydir + 2), PV_Random(5, 10), particles, 5);
CreateParticle("ElectroSpark", Sin(xp, distance), -Cos(yp, distance), PV_Random(xdir - 5, xdir + 5), PV_Random(ydir - 2, ydir + 2), PV_Random(5, 10), particles, 5);
}
var target;
@ -188,7 +188,7 @@ public func ControlUseHolding(object clonk, ix, iy)
target_object->SetSpeed(Sin(angle, speed), -Cos(angle, speed));
//Particles emitting from object
target_object->CreateParticleEx("ElectroSpark", 0, 0, PV_Random(xs/8, xs/10), PV_Random(ys/8, ys/10), PV_Random(5, 10), particles, 5);
target_object->CreateParticle("ElectroSpark", 0, 0, PV_Random(xs/8, xs/10), PV_Random(ys/8, ys/10), PV_Random(5, 10), particles, 5);
}
else
LostTargetObject(target_object);

View File

@ -84,7 +84,7 @@ protected func Load()
sound=true;
}
Amount += 2; //Air is sucked in.
CreateParticleEx("Air", SX, SY, Sin(A + R,-D / 2), Cos(A + R,-D / 2), 18, {Prototype = Particles_Air(), Size = PV_KeyFrames(0, 0, 0, 250, 3, 1000, 0)});
CreateParticle("Air", SX, SY, Sin(A + R,-D / 2), Cos(A + R,-D / 2), 18, {Prototype = Particles_Air(), Size = PV_KeyFrames(0, 0, 0, 250, 3, 1000, 0)});
}
else if(GBackSolid(0,0) || GBackLiquid(0,0))
{
@ -124,7 +124,7 @@ private func FireWeapon(object pClonk,iX,iY)
if(!GBackSolid(SX,SY))
{
CreateParticleEx("Air", SX, SY, Sin(180 - iAngle + (R),(Amount / 2) + 25), Cos(180 - iAngle + (R),(Amount / 2) + 25), 36, Particles_Air());
CreateParticle("Air", SX, SY, Sin(180 - iAngle + (R),(Amount / 2) + 25), Cos(180 - iAngle + (R),(Amount / 2) + 25), 36, Particles_Air());
}
}

View File

@ -172,10 +172,10 @@ private func FireWeapon(object clonk, int angle)
var x = Sin(angle, 20);
var y = -Cos(angle, 20);
CreateParticleEx("Smoke", IX, IY, PV_Random(x - 20, x + 20), PV_Random(y - 20, y + 20), PV_Random(40, 60), Particles_Smoke(), 20);
CreateParticle("Smoke", IX, IY, PV_Random(x - 20, x + 20), PV_Random(y - 20, y + 20), PV_Random(40, 60), Particles_Smoke(), 20);
clonk->CreateMuzzleFlash(IX, IY, angle, 40);
CreateParticleEx("Flash", 0, 0, 0, 0, 8, Particles_Flash());
CreateParticle("Flash", 0, 0, 0, 0, 8, Particles_Flash());
}
func RejectCollect(id shotid, object shot)

View File

@ -32,7 +32,7 @@ func FxFuseBurnTimer(object bomb, int num, int timer)
var i = 3;
var x = +Sin(GetR(), i);
var y = -Cos(GetR(), i);
CreateParticleEx("Smoke", x, y, x, y, PV_Random(18, 36), Particles_Smoke(), 2);
CreateParticle("Smoke", x, y, x, y, PV_Random(18, 36), Particles_Smoke(), 2);
if(timer == 1) Sound("FuseLoop",nil,nil,nil,+1);
if(timer >= 90)
@ -59,7 +59,7 @@ func DoExplode()
Sound("BlastLiquid2");
else
Sound("BlastMetal");
CreateParticleEx("Smoke", PV_Random(-30, 30), PV_Random(-30, 30), 0, 0, PV_Random(40, 60), Particles_Smoke(), 60);
CreateParticle("Smoke", PV_Random(-30, 30), PV_Random(-30, 30), 0, 0, PV_Random(40, 60), Particles_Smoke(), 60);
Explode(24);
}

View File

@ -25,7 +25,7 @@ protected func Hit()
ShakeFree(6);
RemoveEffect("HitCheck",this);
Sound("BulletHitGround?");
CreateParticleEx("Spark", 0, 0, PV_Random(-20, 20), PV_Random(-20, 20), PV_Random(10, 20), Particles_Glimmer(), 3);
CreateParticle("Spark", 0, 0, PV_Random(-20, 20), PV_Random(-20, 20), PV_Random(10, 20), Particles_Glimmer(), 3);
RemoveObject();
}

View File

@ -17,7 +17,7 @@ protected func Hit()
Sound("BulletHitGround?");
CreateParticleEx("Spark", 0, 0, PV_Random(-20, 20), PV_Random(-20, 20), PV_Random(10, 20), Particles_Glimmer(), 3);
CreateParticle("Spark", 0, 0, PV_Random(-20, 20), PV_Random(-20, 20), PV_Random(10, 20), Particles_Glimmer(), 3);
RemoveObject();
}

View File

@ -170,10 +170,10 @@ private func FireWeapon(object clonk, int angle)
// Muzzle Flash & gun smoke
var x = Sin(angle, 20);
var y = -Cos(angle, 20);
CreateParticleEx("Smoke", IX, IY, PV_Random(x - 20, x + 20), PV_Random(y - 20, y + 20), PV_Random(40, 60), Particles_Smoke(), 20);
CreateParticle("Smoke", IX, IY, PV_Random(x - 20, x + 20), PV_Random(y - 20, y + 20), PV_Random(40, 60), Particles_Smoke(), 20);
clonk->CreateMuzzleFlash(IX, IY, angle, 20);
CreateParticleEx("Flash", 0, 0, 0, 0, 8, Particles_Flash());
CreateParticle("Flash", 0, 0, 0, 0, 8, Particles_Flash());
}
func RejectCollect(id shotid, object shot)

View File

@ -254,7 +254,7 @@ func CheckStrike(iTime)
{
particle.Phase = PV_Linear(4, 7);
}
obj->CreateParticleEx("SwordSlice", RandomX(-1,1), RandomX(-1,1), 0, 0, 6, particle);
obj->CreateParticle("SwordSlice", RandomX(-1,1), RandomX(-1,1), 0, 0, 6, particle);
}
// sound and done. We can only hit one target

View File

@ -82,8 +82,8 @@ func FxAutoSellValuablesTimer(_, effect, time)
value += valuable->GetValue();
CreateParticleEx("Flash", valuable->GetX() - GetX(), valuable->GetY() - GetY(), 0, 0, 8, { Prototype = Particles_Flash(), Size = 2 * Max(5, Max(valuable->GetDefWidth(), valuable->GetDefHeight())) });
CreateParticleEx("Dust", valuable->GetX() - GetX(), valuable->GetY() - GetY(), PV_Random(-10, 10), PV_Random(-10, 10), PV_Random(18, 36), dust_particles, 10);
CreateParticle("Flash", valuable->GetX() - GetX(), valuable->GetY() - GetY(), 0, 0, 8, { Prototype = Particles_Flash(), Size = 2 * Max(5, Max(valuable->GetDefWidth(), valuable->GetDefHeight())) });
CreateParticle("Dust", valuable->GetX() - GetX(), valuable->GetY() - GetY(), PV_Random(-10, 10), PV_Random(-10, 10), PV_Random(18, 36), dust_particles, 10);
valuable->RemoveObject();
}

View File

@ -41,7 +41,7 @@ public func FxIntGravestoneStart(object clonk, proplist effect)
B = 50,
Size = PV_KeyFrames(0, 0, 0, 300, 40, 1000, 15)
};
effect.grave->CreateParticleEx("Dust", 0, 0, PV_Random(-3, 3), PV_Random(-3, 3), PV_Random(18, 1 * 36), particles, 6);
effect.grave->CreateParticle("Dust", 0, 0, PV_Random(-3, 3), PV_Random(-3, 3), PV_Random(18, 1 * 36), particles, 6);
}
public func FxIntGravestoneStop(object clonk, proplist effect, int reason)

View File

@ -57,7 +57,7 @@ private func Smoking()
if (!Random(2))
Smoke(x,y + 4,20);
if(!Random(2))
CreateParticleEx("Fire", PV_Random(x-1, x+1), PV_Random(y-2, y+2), 0, PV_Random(-1, 0), PV_Random(18, 36), Particles_Fire(), 2);
CreateParticle("Fire", PV_Random(x-1, x+1), PV_Random(y-2, y+2), 0, PV_Random(-1, 0), PV_Random(18, 36), Particles_Fire(), 2);
}
local ActMap = {

View File

@ -143,7 +143,7 @@ func FxSparkleTimer(target, effect, time)
{
effect.Interval *= 2;
if(effect.Interval > 35*3) return -1;
CreateParticleEx("StarSpark", PV_Random(-3, 3), PV_Random(-14, -10), PV_Random(-5, 5), PV_Random(-8, 0), 10, Particles_Magic(), 4);
CreateParticle("StarSpark", PV_Random(-3, 3), PV_Random(-14, -10), PV_Random(-5, 5), PV_Random(-8, 0), 10, Particles_Magic(), 4);
}
func FxProducePowerTimer(target, effect, time)

View File

@ -76,7 +76,7 @@ public func FxSmeltingTimer(object target, proplist effect, int time)
{
//Message(Format("Smelting %d",timer));
// Fire in the furnace.
CreateParticleEx("Fire", -10 * GetCalcDir(), 20, PV_Random(-1, 1), PV_Random(-1, 1), PV_Random(18, 36), Particles_Fire(), 2);
CreateParticle("Fire", -10 * GetCalcDir(), 20, PV_Random(-1, 1), PV_Random(-1, 1), PV_Random(18, 36), Particles_Fire(), 2);
// Smoke from the pipes.
Smoke( -9*GetCalcDir(), -31, 6);
@ -96,7 +96,7 @@ public func FxSmeltingTimer(object target, proplist effect, int time)
// Fire from the pouring exit.
if (Inside(time, 244, 290))
CreateParticleEx("Fire", 17 * GetCalcDir(), 19, PV_Random(-2, 0), PV_Random(1, 3), PV_Random(18, 36), Particles_Fire(), 2);
CreateParticle("Fire", 17 * GetCalcDir(), 19, PV_Random(-2, 0), PV_Random(1, 3), PV_Random(18, 36), Particles_Fire(), 2);
if (time == 290)
{

View File

@ -62,7 +62,7 @@ private func Smoking()
if (!Random(6)) Smoke(10 * GetCalcDir(),-14,15+Random(3));
//Fire
CreateParticleEx("Fire", 13 * GetCalcDir(), 16, PV_Random(-1, 1), PV_Random(-1, 1), PV_Random(18, 36), Particles_Fire(), 2);
CreateParticle("Fire", 13 * GetCalcDir(), 16, PV_Random(-1, 1), PV_Random(-1, 1), PV_Random(18, 36), Particles_Fire(), 2);
}
local ActMap = {

View File

@ -128,7 +128,7 @@ public func FxSawingTimer(object target, proplist effect, int time)
{
var dir = GetCalcDir();
if (time >= this.SpinStep * 3 && time % 5)
CreateParticleEx("WoodChip", PV_Random(-7 * dir, -3 * dir), PV_Random(3, 6), PV_Random(-5 * dir, -11 * dir), PV_Random(-4, -2), PV_Random(36 * 3, 36 * 10), Particles_WoodChip(), 3);
CreateParticle("WoodChip", PV_Random(-7 * dir, -3 * dir), PV_Random(3, 6), PV_Random(-5 * dir, -11 * dir), PV_Random(-4, -2), PV_Random(36 * 3, 36 * 10), Particles_WoodChip(), 3);
if (!(time % 20))
Smoke(10 * GetCalcDir(),10,10);

View File

@ -119,7 +119,7 @@ public func FxCrushingTimer(object target, proplist effect, int time)
G = 200,
B = 100
};
CreateParticleEx("Dust", PV_Random(11 * dir, 13 * dir), 40, PV_Random(-5, 5), PV_Random(-13, -6), PV_Random(36 * 3, 36 * 10), particles, 3);
CreateParticle("Dust", PV_Random(11 * dir, 13 * dir), 40, PV_Random(-5, 5), PV_Random(-13, -6), PV_Random(36 * 3, 36 * 10), particles, 3);
return 1;
}

View File

@ -19,7 +19,7 @@ private func Initialize()
public func Incineration()
{
CreateParticleEx("Grass", 0, 0, PV_Random(-20, 20), PV_Random(-20, 10), PV_Random(30, 100), Particles_Straw(), 30);
CreateParticle("Grass", 0, 0, PV_Random(-20, 20), PV_Random(-20, 10), PV_Random(30, 100), Particles_Straw(), 30);
RemoveObject();
}

View File

@ -23,7 +23,7 @@ public func OnShockwaveHit()
private func Destroy()
{
CreateParticleEx("Grass", 0, 0, PV_Random(-20, 20), PV_Random(-20, 10), PV_Random(30, 100), Particles_Straw(), 30);
CreateParticle("Grass", 0, 0, PV_Random(-20, 20), PV_Random(-20, 10), PV_Random(30, 100), Particles_Straw(), 30);
RemoveObject();
}

View File

@ -36,7 +36,7 @@ public func Harvest(object clonk)
Rotation = PV_Direction(PV_Random(900, 1100)),
Phase = PV_Random(0, 1)
};
CreateParticleEx("Lichen", PV_Random(-5, 5), PV_Random(-5, 5), PV_Random(-30, 30), PV_Random(-30, 30), PV_Random(36, 36 * 4), particles, 40);
CreateParticle("Lichen", PV_Random(-5, 5), PV_Random(-5, 5), PV_Random(-30, 30), PV_Random(-30, 30), PV_Random(36, 36 * 4), particles, 40);
if (grow_stage)
{

View File

@ -210,7 +210,7 @@ func Damage()
{
// splatter
if(grow_anim)
CreateParticleEx("Dust", 0, 0, PV_Random(-20, 20), PV_Random(-20, 20), PV_Random(20, 60), Particles_Material(RGB(50, 50, 255)), 30);
CreateParticle("Dust", 0, 0, PV_Random(-20, 20), PV_Random(-20, 20), PV_Random(20, 60), Particles_Material(RGB(50, 50, 255)), 30);
// ouch!
Die(false);

View File

@ -108,7 +108,7 @@ func BurstIntoAshes()
for(var mirror = -1; mirror <= 1; mirror += 2)
{
CreateParticleEx("Dust", x * mirror, y * mirror, PV_Random(-3, 3), PV_Random(-3, -3), PV_Random(18, 1 * 36), particles, 2);
CreateParticle("Dust", x * mirror, y * mirror, PV_Random(-3, 3), PV_Random(-3, -3), PV_Random(18, 1 * 36), particles, 2);
CastPXS("Ashes", 5, 30, x * mirror, y * mirror);
}
}

View File

@ -68,7 +68,7 @@ func BurstIntoAshes()
for(var mirror = -1; mirror <= 1; mirror += 2)
{
CreateParticleEx("Dust", x * mirror, y * mirror, PV_Random(-3, 3), PV_Random(-3, -3), PV_Random(18, 1 * 36), particles, 2);
CreateParticle("Dust", x * mirror, y * mirror, PV_Random(-3, 3), PV_Random(-3, -3), PV_Random(18, 1 * 36), particles, 2);
CastPXS("Ashes", 5, 30, x * mirror, y * mirror);
}
}

View File

@ -71,10 +71,10 @@ public func ContainedUseStop(object clonk, int ix, int iy)
var x = Sin(angle, 20);
var y = -Cos(angle, 20);
CreateParticleEx("Smoke", IX, IY, PV_Random(x - 20, x + 20), PV_Random(y - 20, y + 20), PV_Random(40, 60), Particles_Smoke(), 20);
CreateParticle("Smoke", IX, IY, PV_Random(x - 20, x + 20), PV_Random(y - 20, y + 20), PV_Random(40, 60), Particles_Smoke(), 20);
CreateMuzzleFlash(IX, IY, angle, 20);
CreateParticleEx("Flash", 0, 0, GetXDir(), GetYDir(), 8, Particles_Flash());
CreateParticle("Flash", 0, 0, GetXDir(), GetYDir(), 8, Particles_Flash());
AddEffect("IntCooldown", this,1,1,this);
}
@ -213,7 +213,7 @@ private func FxIntPlaneTimer(object target, effect, int timer)
R = colour, G = colour, B = colour,
Size = PV_Linear(PV_Random(20, 30), PV_Random(70, 100))
};
CreateParticleEx("Smoke", 0, 0, 0, 0, PV_Random(36, 2 * 36), particles, 2);
CreateParticle("Smoke", 0, 0, 0, 0, PV_Random(36, 2 * 36), particles, 2);
}
//Throttle-to-thrust lag

View File

@ -94,7 +94,7 @@ public func FxIntAirshipMovementTimer(object target, proplist effect, int time)
Prototype = Particles_Smoke(),
R = colour, G = colour, B = colour
};
CreateParticleEx("Smoke", i, 18, 0, 0, PV_Random(36, 2 * 36), particles, 2);
CreateParticle("Smoke", i, 18, 0, 0, PV_Random(36, 2 * 36), particles, 2);
}
// Fan-blade sound
if (!enginesound)

View File

@ -275,11 +275,11 @@ protected func DoFire(object iammo, object clonk, int angle)
var dist = 25;
var px = Cos(r/angPrec - 90,dist);
var py = Sin(r/angPrec - 90,dist) - 4;
CreateParticleEx("Flash", px, py, 0, 0, 8, Particles_Flash());
CreateParticle("Flash", px, py, 0, 0, 8, Particles_Flash());
var x = Sin(r/angPrec, 20);
var y = -Cos(r/angPrec, 20);
CreateParticleEx("Smoke", px, py, PV_Random(x - 20, x + 20), PV_Random(y - 20, y + 20), PV_Random(40, 60), Particles_Smoke(), 20);
CreateParticle("Smoke", px, py, PV_Random(x - 20, x + 20), PV_Random(y - 20, y + 20), PV_Random(40, 60), Particles_Smoke(), 20);
CreateMuzzleFlash(px, py, r / angPrec, 60);
//sound
Sound("Blast3");

View File

@ -20,7 +20,7 @@ public func ControlUp(object clonk)
var arrw= CreateObject(Arrow,x,y,-1);
arrw->Launch(30,80, clonk);
arrw->SetGraphics("1");
CreateParticleEx("Straw", 0, 0, PV_Random(-20, 20), PV_Random(-20,20), PV_Random(30, 120), Particles_Straw(), 20);
CreateParticle("Straw", 0, 0, PV_Random(-20, 20), PV_Random(-20,20), PV_Random(30, 120), Particles_Straw(), 20);
}
if(GetEffect("SparklingAttention",this)) RemoveEffect("SparklingAttention",this);
}

View File

@ -91,7 +91,7 @@ global func FxAutoOpenTimer(object pTarget, effect, int timer)
global func FxSparklingAttentionTimer(object pTarget, effect, int timer)
{
CreateParticleEx("Flash", 0, 0, PV_Random(-20, 20), PV_Random(-20, 20), PV_Random(8, 15), {Prototype = Particles_Flash(), Size = 10}, 10);
CreateParticle("Flash", 0, 0, PV_Random(-20, 20), PV_Random(-20, 20), PV_Random(8, 15), {Prototype = Particles_Flash(), Size = 10}, 10);
}
protected func Decoration()

View File

@ -32,7 +32,7 @@ public func OnProjectileHit()
public func Burst()
{
DrawParticleLine("Straw", 0, 0, AbsX(gate->GetX()), AbsY(gate->GetY()), 6, PV_Random(-5, 5), PV_Random(-5, 0), PV_Random(30, 60), Particles_Straw());
CreateParticleEx("Straw", 0, 0, PV_Random(-30, 30), PV_Random(-30,30), PV_Random(30, 120), Particles_Straw(), 200);
CreateParticle("Straw", 0, 0, PV_Random(-30, 30), PV_Random(-30,30), PV_Random(30, 120), Particles_Straw(), 200);
gate->OpenDoor();
RemoveObject();
}

View File

@ -110,7 +110,7 @@ func Execute()
BlastFree(x,y-3,blast_size,GetController());
// gfx
var particle_speed = blast_size * 3;
CreateParticleEx("FireDense", PV_Random(x - 1, x + 1), PV_Random(y - 4, y - 2), PV_Random(-particle_speed, particle_speed), PV_Random(-particle_speed, particle_speed), PV_Random(30, 40), Particles_Fire(), 5);
CreateParticle("FireDense", PV_Random(x - 1, x + 1), PV_Random(y - 4, y - 2), PV_Random(-particle_speed, particle_speed), PV_Random(-particle_speed, particle_speed), PV_Random(30, 40), Particles_Fire(), 5);
if (!Random(5)) SoundAt("RockHit*", x,y-3, 100);
}
else if (speed <=50)

View File

@ -132,7 +132,7 @@ global func DrawParticleLine(string particle, int x0, int y0, int x1, int y1, in
i2 = i * 256 / prtnum;
i1 = 256 - i2;
CreateParticleEx(particle, x0 + (x1 - x0) * i / prtnum, y0 + (y1 - y0) * i-- / prtnum, xdir, ydir, lifetime, properties, 1);
CreateParticle(particle, x0 + (x1 - x0) * i / prtnum, y0 + (y1 - y0) * i-- / prtnum, xdir, ydir, lifetime, properties, 1);
}
// Succes, return number of created particles.
return prtnum;

View File

@ -204,12 +204,12 @@ global func ExplosionEffect(int level, int x, int y, int smoothness)
var star_size = PV_KeyFrames(0, 0, 0, 500, level * 2, 1000, 0);
var shockwave_size = PV_Linear(0, level * 4);
CreateParticleEx("SmokeDirty", PV_Random(x - 10,x + 10), PV_Random(y - 10, y + 10), 0, PV_Random(-2, 0), PV_Random(50, 100), {Prototype = ExplosionParticles_Smoke, Size = smoke_size}, Max(2, wilderness_level / 10));
CreateParticleEx("SmokeDirty", PV_Random(x - 5, x + 5), PV_Random(y - 5, y + 5), PV_Random(-1, 1), PV_Random(-1, 1), PV_Random(20, 40), {Prototype = ExplosionParticles_BlastSmoothBackground, Size = blast_smooth_size}, smoothness_level / 5);
CreateParticleEx("SmokeDirty", PV_Random(x - 5, x + 5), PV_Random(y - 5, y + 5), PV_Random(-1, 1), PV_Random(-1, 1), PV_Random(20, 40), {Prototype = ExplosionParticles_BlastSmooth, Size = blast_smooth_size}, smoothness_level / 5);
CreateParticleEx("Dust", PV_Random(x - 5, x + 5), PV_Random(y - 5, y + 5), 0, 0, PV_Random(18, 25), {Prototype = ExplosionParticles_Blast, Size = blast_size}, smoothness_level / 5);
CreateParticleEx("StarFlash", PV_Random(x - 6, x + 6), PV_Random(y - 6, y + 6), PV_Random(-wilderness_level/4, wilderness_level/4), PV_Random(-wilderness_level/4, wilderness_level/4), PV_Random(10, 12), {Prototype = ExplosionParticles_Star, Size = star_size}, wilderness_level / 3);
CreateParticleEx("Shockwave", x, y, 0, 0, 15, {Prototype = ExplosionParticles_Shockwave, Size = shockwave_size}, nil);
CreateParticle("SmokeDirty", PV_Random(x - 10,x + 10), PV_Random(y - 10, y + 10), 0, PV_Random(-2, 0), PV_Random(50, 100), {Prototype = ExplosionParticles_Smoke, Size = smoke_size}, Max(2, wilderness_level / 10));
CreateParticle("SmokeDirty", PV_Random(x - 5, x + 5), PV_Random(y - 5, y + 5), PV_Random(-1, 1), PV_Random(-1, 1), PV_Random(20, 40), {Prototype = ExplosionParticles_BlastSmoothBackground, Size = blast_smooth_size}, smoothness_level / 5);
CreateParticle("SmokeDirty", PV_Random(x - 5, x + 5), PV_Random(y - 5, y + 5), PV_Random(-1, 1), PV_Random(-1, 1), PV_Random(20, 40), {Prototype = ExplosionParticles_BlastSmooth, Size = blast_smooth_size}, smoothness_level / 5);
CreateParticle("Dust", PV_Random(x - 5, x + 5), PV_Random(y - 5, y + 5), 0, 0, PV_Random(18, 25), {Prototype = ExplosionParticles_Blast, Size = blast_size}, smoothness_level / 5);
CreateParticle("StarFlash", PV_Random(x - 6, x + 6), PV_Random(y - 6, y + 6), PV_Random(-wilderness_level/4, wilderness_level/4), PV_Random(-wilderness_level/4, wilderness_level/4), PV_Random(10, 12), {Prototype = ExplosionParticles_Star, Size = star_size}, wilderness_level / 3);
CreateParticle("Shockwave", x, y, 0, 0, 15, {Prototype = ExplosionParticles_Shockwave, Size = shockwave_size}, nil);
// cast either some sparks on land or bubbles under water
if(GBackLiquid(x, y) && Global.CastBubbles)
@ -218,7 +218,7 @@ global func ExplosionEffect(int level, int x, int y, int smoothness)
}
else
{
CreateParticleEx("Magic", PV_Random(x - 5, x + 5), PV_Random(y - 5, y + 5), PV_Random(-level_pow_fraction, level_pow_fraction), PV_Random(-level_pow_fraction, level_pow_fraction), PV_Random(25, 70), ExplosionParticles_Glimmer, level);
CreateParticle("Magic", PV_Random(x - 5, x + 5), PV_Random(y - 5, y + 5), PV_Random(-level_pow_fraction, level_pow_fraction), PV_Random(-level_pow_fraction, level_pow_fraction), PV_Random(25, 70), ExplosionParticles_Glimmer, level);
}
// very wild explosion? Smoke trails!
@ -543,9 +543,9 @@ global func FxSmokeTrailTimer(object target, proplist effect, int fxtime)
{
var x_dir_blast = x_dir / 200;
var y_dir_blast = y_dir / 200;
CreateParticleEx("SmokeDirty", x, y, PV_Random(x_dir_blast - 2, x_dir_blast + 2), PV_Random(y_dir_blast - 2, y_dir_blast + 2), 18, effect.particles_blast, 2);
CreateParticle("SmokeDirty", x, y, PV_Random(x_dir_blast - 2, x_dir_blast + 2), PV_Random(y_dir_blast - 2, y_dir_blast + 2), 18, effect.particles_blast, 2);
}
CreateParticleEx("Smoke", x, y, PV_Random(-2, 2), PV_Random(-2, 2), 50, effect.particles_smoke, 2);
CreateParticle("Smoke", x, y, PV_Random(-2, 2), PV_Random(-2, 2), 50, effect.particles_smoke, 2);
// then calc next position
@ -575,7 +575,7 @@ global func Fireworks(int color, int x, int y)
G = (color >> 8) & 0xff,
B = (color >> 0) & 0xff,
};
CreateParticleEx("MagicFire", x, y, PV_Random(-100, 100), PV_Random(-100, 100), PV_Random(20, 200), glimmer, 100);
CreateParticle("MagicFire", x, y, PV_Random(-100, 100), PV_Random(-100, 100), PV_Random(20, 200), glimmer, 100);
Smoke(x, y, 30);
@ -590,7 +590,7 @@ global func Fireworks(int color, int x, int y)
ForceX = PV_Random(-10, 10),
Stretch = PV_Speed(500, 1000)
};
CreateParticleEx("Spark", x, y, PV_Random(-200, 200), PV_Random(-200, 200), PV_Random(20, 60), sparks, 100);
CreateParticle("Spark", x, y, PV_Random(-200, 200), PV_Random(-200, 200), PV_Random(20, 60), sparks, 100);
var flash =
{
@ -599,7 +599,7 @@ global func Fireworks(int color, int x, int y)
G = (color >> 8) & 0xff,
B = (color >> 0) & 0xff,
};
CreateParticleEx("Flash", x, y, 0, 0, 8, flash);
CreateParticle("Flash", x, y, 0, 0, 8, flash);
return;
}

View File

@ -7,11 +7,11 @@
global func CreateMuzzleFlash(int x, int y, int angle, int size)
{
// main muzzle flash
CreateParticleEx("MuzzleFlash", x, y, 0, 0, 10, {Prototype = Particles_MuzzleFlash(), Size = size, Rotation = angle});
CreateParticle("MuzzleFlash", x, y, 0, 0, 10, {Prototype = Particles_MuzzleFlash(), Size = size, Rotation = angle});
// and some additional little sparks
var xdir = Sin(angle, size * 2);
var ydir = -Cos(angle, size * 2);
CreateParticleEx("StarFlash", x, y, PV_Random(xdir - size, xdir + size), PV_Random(ydir - size, ydir + size), PV_Random(20, 60), Particles_Glimmer(), size);
CreateParticle("StarFlash", x, y, PV_Random(xdir - size, xdir + size), PV_Random(ydir - size, ydir + size), PV_Random(20, 60), Particles_Glimmer(), size);
}
global func Smoke(int x, int y, int level, int color)
@ -26,7 +26,7 @@ global func Smoke(int x, int y, int level, int color)
particles.B = (color >> 0) & 0xff;
}
particles.Size = PV_Linear(PV_Random(level/2, level), PV_Random(2 * level, 3 * level));
CreateParticleEx("Smoke", x, y, PV_Random(-level/3, level/3), PV_Random(-level/2, -level/3), PV_Random(level * 2, level * 10), particles, BoundBy(level/5, 3, 20));
CreateParticle("Smoke", x, y, PV_Random(-level/3, level/3), PV_Random(-level/2, -level/3), PV_Random(level * 2, level * 10), particles, BoundBy(level/5, 3, 20));
}

View File

@ -29,7 +29,7 @@ func Initialize()
global func Test1()
{
var t = GetTime();
CreateParticleEx("FireDense", PV_Random(0, LandscapeWidth()), PV_Random(0, LandscapeHeight()/2), PV_Random(-10, 10), PV_Random(-10, 10), PV_Random(100, 300), PARTICLES, PARTICLES_PER_RUN);
CreateParticle("FireDense", PV_Random(0, LandscapeWidth()), PV_Random(0, LandscapeHeight()/2), PV_Random(-10, 10), PV_Random(-10, 10), PV_Random(100, 300), PARTICLES, PARTICLES_PER_RUN);
t = GetTime() - t;
FixLenLog("Test1 - batch creation", t, LOG_LINE_LEN, "ms");
MEASUREMENTS[0] = t;
@ -41,7 +41,7 @@ global func Test2()
{
var t = GetTime();
for (var i = 0; i < PARTICLES_PER_RUN; ++i)
CreateParticleEx("FireDense", PV_Random(0, LandscapeWidth()), PV_Random(0, LandscapeHeight()/2), PV_Random(-10, 10), PV_Random(-10, 10), PV_Random(100, 300), PARTICLES);
CreateParticle("FireDense", PV_Random(0, LandscapeWidth()), PV_Random(0, LandscapeHeight()/2), PV_Random(-10, 10), PV_Random(-10, 10), PV_Random(100, 300), PARTICLES);
t = GetTime() - t;
FixLenLog("Test2 - seperate creation", t, LOG_LINE_LEN, "ms");
MEASUREMENTS[1] = t;
@ -95,14 +95,14 @@ global func FxScorchEverythingTimer(target, effect, time)
var glimmer_count = strength / 2;
var fire_density = (strength - 30) / 10;
var glimmer_speed = strength / 4;
CreateParticleEx("Fire", effect.x, effect.y, PV_Random(-glimmer_speed, glimmer_speed), PV_Random(-glimmer_speed, 5), PV_Random(Max(30, strength), Max(60, strength * 2)), effect.glimmer, glimmer_count);
CreateParticle("Fire", effect.x, effect.y, PV_Random(-glimmer_speed, glimmer_speed), PV_Random(-glimmer_speed, 5), PV_Random(Max(30, strength), Max(60, strength * 2)), effect.glimmer, glimmer_count);
if (fire_density > 0)
{
var speed = 2 * fire_density;
var size = 2 * fire_density;
effect.fire.Size = PV_KeyFrames(0, 0, 0, 100, PV_Random(size, 2 * size), 900, PV_Random(2 * size, 3 * size), 1000, 0);
CreateParticleEx("FireDense", effect.x, effect.y, PV_Random(-speed, speed), PV_Random(-speed, speed), PV_Random(30, Min(60, fire_density * 20)), effect.fire_na, fire_density);
CreateParticleEx("Fire", effect.x, effect.y, PV_Random(-speed, speed), PV_Random(-speed, speed), PV_Random(30, Min(60, fire_density * 20)), effect.fire, fire_density);
CreateParticle("FireDense", effect.x, effect.y, PV_Random(-speed, speed), PV_Random(-speed, speed), PV_Random(30, Min(60, fire_density * 20)), effect.fire_na, fire_density);
CreateParticle("Fire", effect.x, effect.y, PV_Random(-speed, speed), PV_Random(-speed, speed), PV_Random(30, Min(60, fire_density * 20)), effect.fire, fire_density);
}
}

View File

@ -180,12 +180,12 @@ private func MakeTarget(int x, int y, bool flying)
{
var balloon = CreateObject(TargetBalloon, x, y-30, NO_OWNER);
target->SetAction("Attach", balloon);
CreateParticleEx("Flash", x, y - 50, 0, 0, 8, Particles_Flash());
CreateParticle("Flash", x, y - 50, 0, 0, 8, Particles_Flash());
}
if (flying == false)
{
CreateParticleEx("Flash", x, y, 0, 0, 8, Particles_Flash());
CreateParticle("Flash", x, y, 0, 0, 8, Particles_Flash());
target->SetAction("Float");
}
return target;

View File

@ -25,7 +25,7 @@ public func OnProjectileHit()
public func Burst()
{
CreateParticleEx("Straw", 0, 0, PV_Random(-30, 30), PV_Random(-30,30), PV_Random(30, 120), Particles_Straw(), 200);
CreateParticle("Straw", 0, 0, PV_Random(-30, 30), PV_Random(-30,30), PV_Random(30, 120), Particles_Straw(), 200);
RemoveObject();
}

View File

@ -27,7 +27,7 @@ public func IsProjectileTarget(target,shooter)
public func OnProjectileHit()
{
CreateParticleEx("Air", 0, -10, PV_Random(-30, 30), PV_Random(-30,30), PV_Random(30, 120), Particles_Air(), 10);
CreateParticle("Air", 0, -10, PV_Random(-30, 30), PV_Random(-30,30), PV_Random(30, 120), Particles_Air(), 10);
Sound("BalloonPop");
RemoveObject();
}

View File

@ -12,7 +12,7 @@ protected func Initialize()
public func Burst()
{
CreateParticleEx("Straw", 0, 0, PV_Random(-30, 30), PV_Random(-30,30), PV_Random(30, 120), Particles_Straw(), 200);
CreateParticle("Straw", 0, 0, PV_Random(-30, 30), PV_Random(-30,30), PV_Random(30, 120), Particles_Straw(), 200);
RemoveObject();
return;
}

View File

@ -46,7 +46,7 @@
#include <C4GameLobby.h>
#include <C4Network2.h>
#include <C4Network2IRC.h>
#include <C4DynamicParticles.h>
#include <C4Particles.h>
#include <getopt.h>
@ -184,7 +184,7 @@ bool C4Application::DoInit(int argc, char * argv[])
}
// after initializing graphics, the particle system can check for compatibility
::DynamicParticles.DoInit();
::Particles.DoInit();
// Initialize gamepad
if (!pGamePadControl && Config.General.GamepadEnabled)

Some files were not shown because too many files have changed in this diff Show More