aboutsummaryrefslogtreecommitdiff
path: root/engines/director/lingo/tests/factory.lingo
blob: 2c44fdf6672eff226098b6d7ae6c4df2a9f42a9c (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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
--
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
    global aimCopy
    set the locH of sprite 15 to x
    set the locV of sprite 15 to y-250
    aimCopy = me
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
    if factory(killloc) then put "boo"
method mDispose
    global fire1
    set fire1 = 0
Method mNew2 theSprite, startCastRight, endCastRight, startCastLeft, endCastLeft
    instance startDrawLeft, endDrawLeft, startDrawRight, endDrawRight, multiDrawP

    if startCastLeft and endCastLeft then set multiDrawP to TRUE
    set startDrawLeft to startCastRight
    set endDrawLeft to endCastRight
    set startDrawRight to startCastLeft
    set endDrawRight to endCastLeft

    me(mInitBirdPart, theSprite, startCastRight)
Method mAtFrame2 frame, subFrame
    global gMouseH, gMouseV
    set gMouseH = mouseH()
    set gMouseV = mouseV()

    -- Exit when "Done" button, which resides upon score channel 6.
    if (the clickOn = 6) then exit

    put the mouseDown into mouseClick
    Body(mEveryFrame, mouseClick)
    RightWing(mEveryFrame, mouseClick)
    LeftWing(mEveryFrame, mouseClick)


--
macro KillIt2
global KillLoc
set the locH of sprite 3 to KillLoc