aboutsummaryrefslogtreecommitdiff
path: root/engines/director/lingo/tests/factory.lingo
blob: 388d2c3a5164de462e7e1c562baf58a985f5b42a (plain)
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
--
macro AimGun2
global aim1
set aim1 = aim2(mNew)
--
factory aim2
method mNew
    dontpassevent
    global aim1
	when mousedown then aim1(fire)
	when keydown then aim1(mExit)
    set the locv of sprite 24 to 540
method mMove x, y
    set the locH of sprite 15 to x
    set the locV of sprite 15 to y-250
method mAtFrame
    dontpassevent
    me(mMove, the mouseH, the mouseV)
method fire
    global fire1, targeth, targetv
    set fire1 = fire2(mNew)
    set the perframehook to fire1
    me(mDispose)
method mExit
    set the perframehook to false
    postfire
    me(mDispose)
method mDispose
    global aim1
    set aim1 = 1
    when keydown then nothing
--
factory fire2
method mNew
    dontpassevent
	when mousedown then nothing
    set the castnum of sprite 14 to f15
method mAtFrame
    Global StartH, StartV, targetv, stepH, stepV, bcast
    dontpassevent
    set the castnum of sprite 14 to bcast
    set the LocV of sprite 14 to (startV-stepV)
    if sprite 14 intersects 10 and (startV-6) <=  targetV then
        set the castnum of sprite 14 to f16
        set the perframehook to false
        me(hit)
        exit
    end if
    if startV <  targetV  or bcast>g17 then
        set the perframehook to false
        set the locV of sprite 14 to 340
        aimgun2
        exit
    end if
    set startV to (startV-stepV)
    set bcast = bcast + 1
method hit
    global KillLoc
    set killloc to the loch of sprite 3
    go "Death"
    set the locV of sprite 14 to 400
    aimgun2
method mDispose
    global fire1
    set fire1 = 0
--
macro KillIt2
global KillLoc
set the locH of sprite 3 to KillLoc