(version 2)
(include "sci.sh")
(exports
    0 locBird
)
(use "Main")
(use "Class_255_0")
(use "Cycle")
(use "Game")
(use "PicView")
(use "Obj")
(script 611)



(instance public locBird of Locale
    (properties)

    (method (init param1)
        (if (proc999_5(gNumber 56 57 58 59 60 61 62 72 82))
            Load(rsVIEW 305)
        )(else
            Load(rsVIEW 301)
        )
        (super:init(rest param1))
        (birdie:
            view(
                (if (proc999_5(gNumber 56 57 58 59 60 61 62 72 82))
                    305
                )(else
                    301
                )
)
            init()
            hide()
            illegalBits(0)
            ignoreActors()
            ignoreHorizon()
            setPri(9)
            setScript(flyBy)
        )
    )


    (method (handleEvent pEvent)
        (if ((send pEvent:claimed))
            return 
        )(else
            (if ((super:handleEvent(pEvent)))
                return 
            )(else
                (if (Said('look,look,listen/bird'))
                    proc255_0(611 0)
                )(else
                    (if (Said('cast,cast/boulder,pebble,pebble/bird'))
                        proc255_0(611 1)
                    )(else
                        (if (Said('/bird'))
                            proc255_0(611 2)
                        )
                    )
                )
            )
        )
    )

)
(instance birdie of Actor
    (properties
        x -18
        illegalBits $0000
        xStep 6
    )

    (method (handleEvent pEvent)
        (if ((send pEvent:claimed))
            return 
        )(else
            (if ((super:handleEvent(pEvent)))
                return 
            )(else
                (if (& signal $0080)
                    return 
                )(else
                    (if (Said('look,look/bird'))
                        (self:doVerb(1))
                    )(else
                        (if (Said('get,get,capture/bird'))
                            (self:doVerb(7))
                        )(else
                            (if (Said('kill/bird'))
                                proc255_0(611 5)
                            )(else
                                (if (Said('feed/bird'))
                                    proc255_0(611 6)
                                )(else
                                    (if (Said('/bird'))
                                        proc255_0(611 7)
                                    )
                                )
                            )
                        )
                    )
                )
            )
        )
    )


    (method (doVerb theVerb)
        (switch (theVerb)
            (case 1
                proc255_0(611 3)
            )
            (case 7
                proc255_0(611 4)
            )
        )
    )

)
(instance flyBy of Script
    (properties)

    (method (changeState newState)
        (var temp0)
        (switch (= state newState)
            (case 0
                = seconds Random(4 9)
            )
            (case 1
                = temp0 Random(0 1)
                (birdie:
                    view(
                        (if (proc999_5(gNumber 56 57 58 59 60 61 62 72 82))
                            305
                        )(else
                            301
                        )
)
                    show()
                    setLoop(+ 
                        (if (Random(0 1))
                            2
                        )(else
                            0
                        )
 temp0)
                    setCycle(Fwd)
                    posn(
                        (if (temp0)
                            338
                        )(else
                            -18
                        )
 Random(20 48))
                    setMotion(MoveTo 
                        (if (temp0)
                            -18
                        )(else
                            338
                        )
 Random(20 48) self)
                )
            )
            (case 2
                (birdie:hide())
                = seconds Random(6 14)
            )
            (case 3
                (self:changeState(0))
            )
        )
    )

)
