File: Script.c

package info (click to toggle)
openclonk 8.1-3
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 169,516 kB
  • sloc: cpp: 180,479; ansic: 108,988; xml: 31,371; python: 1,223; php: 767; makefile: 145; sh: 101; javascript: 34
file content (71 lines) | stat: -rw-r--r-- 1,401 bytes parent folder | download | duplicates (5)
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",
},
};