1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
|
/*-- Firebomb --*/
static const FIREBOMB_DAMAGE = 70;
func Initialize() {
SetAction("Fly");
}
func Hit() {
var dmg = FIREBOMB_DAMAGE;
BlastObjects(GetX(), GetY(), dmg/2, nil, GetOwner() + 1);
BlastObjects(GetX(), GetY(), dmg/2, nil, GetOwner() + 1);
var blast = {
R = 255,
G = 255,
B = 255,
Size = (dmg*13)/20, // /10
Phase = PV_Linear(0, 21),
DampingX = 1000,
DampingY = 1000,
BlitMode = GFX_BLIT_Additive
};
CreateParticle("Blast", 0, 0, 0, 0, 21, blast, 1);
Call("ExplosionEffect", dmg/2, 0, 0, 0);
RemoveObject();
}
func Sparkle() {
if(Contained())
return false;
var clusterflight = {
R = 200 + Random(55),
G = 200 + Random(55),
B = 200 + Random(55),
Alpha = PV_Linear(255, 0), //AlphaFade=4
Size = 16, //40
Phase = PV_Linear(0, 9),
Rotation = PV_Random(360),
DampingX = 1000,
DampingY = 1000,
//Attach = ATTACH_MoveRelative
};
CreateParticle("Clusterflight", 0, 0, RandomX(-2,2),RandomX(-2,2), 36, clusterflight, 1);
}
local BorderBound = C4D_Border_Sides;
local Plane = 400;
/* Act Map */
local ActMap = {
Fly = {
Prototype = Action,
Name = "Fly",
Procedure = nil,
Length = 1,
Delay = 1,
NextAction = "Fly",
FacetBase = 1,
PhaseCall = "Sparkle",
},
};
|