(version 2)
(include "sci.sh")
(exports
    0 rm91
)
(use "Main")
(use "Class_255_0")
(use "TrashBasket")
(use "Cycle")
(use "Game")
(use "Obj")
(script 91)


(local
    local0

)
(instance public rm91 of Rm
    (properties
        picture 91
        style 4
        north 93
        east 92
        west 92
    )

    (method (init)
        (super:init())
        (send gEgo:
            view(
                (if ((send gEgo:has(13)))
                    113
                )(else
                    0
                )
)
            setPri(-1)
            setCycle(Walk)
            setStep(3 2)
            init()
        )
        (trash1:init())
        (trash2:init())
        (trash3:init())
        (trash4:init())
        (trash5:init())
        (trash6:init())
        (trash7:init())
        (trash8:init())
        (trash9:init())
        (trash10:init())
        (trash11:init())
        (nerd1:init())
        (nerd2:init())
        (nerd3:init())
        (nerd4:init())
        (nerd5:init())
        (nerd6:init())
        (nerd7:init())
        (nerd8:init())
        (nerd9:init())
        (nerd10:init())
        (nerd11:init())
        (fink1:init())
        (self:setRegions(702))
        (self:setScript(rmScript))
    )


    (method (handleEvent pEvent)
        (if ((send pEvent:claimed))
            return 
        )
        (switch ((send pEvent:type))
            (case 128
                (if (Said('look/calendar'))
                    proc255_0(91 0)
                )(else
                    (if (Said('look,drink,get/water'))
                        proc255_0(91 1)
                    )(else
                        (if (Said('look/brush'))
                            proc255_0(91 2)
                        )(else
                            (if (Said('fart,water/brush'))
                                proc255_0(91 3)
                            )
                        )
                    )
                )
            )
        )
    )


    (method (newRoom newRoomNumber)
        (if ((global233 and (== newRoomNumber 90)) and (send gEgo:has(12)))
            (send gEgo:
                posn((send gEgo:x) 187)
                setDirection(0)
            )
        )(else
            (if (== newRoomNumber 90)
                (send gLongSong:stop())
            )
            (send global7:eachElementDo(91 84))
            (super:newRoom(newRoomNumber))
        )
    )

)
(instance rmScript of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                (if (== gNorth 93)
                    (send gEgo:
                        posn(245 1)
                        setMotion(MoveTo 245 30 self)
                    )
                )(else
                    (if (== gNorth 90)
                        proc0_2()
                        (send gEgo:
                            posn(158 190)
                            setMotion(MoveTo 158 183 self)
                        )
                    )(else
                        (self:changeState(1))
                    )
                )
            )
            (case 1
                (rm91:south(90))
                proc0_3()
                (if ((== gNorth 90) and not global233)
                    (fink1:setScript(finkScript))
                )
            )
        )
    )

)
(instance fink1 of Fink
    (properties)

    (method (init)
        (super:init())
        (self:
            posn(290 157)
            setLoop(7)
            setCel(0)
            speakCel(2)
            speakX(220)
            speakY(160)
        )
    )


    (method (doit)
        (if (not global233)
            (if (not 
            (if (<= 0 (finkScript:state))
                <= (finkScript:state) 2
            )
)
                (if (not (send gEgo:mover))
                    (if (cel)
                        (fink1:setCel(0))
                    )(else
                        (if (== 5 Random(1 10))
                            (fink1:setCel(4))
                        )
                    )
                )
            )(else
                (if (seeProblem and (== (send gEgo:view) 92))
                    (self:setScript(finkScript))
                )
            )
        )
        (super:doit())
    )

)
(instance finkScript of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                = global243 1
                (fink1:
                    setCycle(Fwd)
                    setMotion(MoveTo 234 187 self)
                )
            )
            (case 1
                (if (not (send gEgo:has(13)))
                    (fink1:
                        setMotion(0)
                        setCycle(0)
                        seeProblem(1)
                    )
                )(else
                    (self:cue())
                )
            )
            (case 2
                (fink1:
                    seeProblem(0)
                    setCycle(Fwd)
                    setLoop(6)
                    setMotion(MoveTo 290 157 self)
                )
            )
            (case 3
                = global243 0
                (fink1:
                    setCycle(0)
                    setLoop(7)
                    setCel(0)
                    stopUpd()
                )
            )
            (default 
                (self:init())
            )
        )
    )

)
(instance trash1 of TrashBasket
    (properties
        myID 1
        nearWest 45
        nearNorth 180
        nearEast 98
        nearSouth 190
    )

    (method (init)
        (super:init())
        (self:
            posn(68 182)
            myNerd(nerd1)
        )
    )

)
(instance trash2 of TrashBasket
    (properties
        myID 2
        nearWest 155
        nearNorth 148
        nearEast 237
        nearSouth 180
    )

    (method (init)
        (super:init())
        (self:
            posn(172 150)
            myNerd(nerd2)
        )
    )

)
(instance trash3 of TrashBasket
    (properties
        myID 3
        nearWest 28
        nearNorth 112
        nearEast 122
        nearSouth 149
    )

    (method (init)
        (super:init())
        (self:
            posn(56 118)
            myNerd(nerd3)
        )
    )

)
(instance trash4 of TrashBasket
    (properties
        myID 4
        nearWest 28
        nearNorth 112
        nearEast 122
        nearSouth 149
    )

    (method (init)
        (super:init())
        (self:
            posn(89 118)
            myNerd(nerd4)
        )
    )

)
(instance trash5 of TrashBasket
    (properties
        myID 5
        nearWest 122
        nearNorth 117
        nearEast 191
        nearSouth 148
    )

    (method (init)
        (super:init())
        (self:
            posn(140 130)
            myNerd(nerd5)
        )
    )

)
(instance trash6 of TrashBasket
    (properties
        myID 6
        nearWest 208
        nearNorth 39
        nearEast 290
        nearSouth 115
    )

    (method (init)
        (super:init())
        (self:
            posn(275 86)
            myNerd(nerd6)
        )
    )

)
(instance trash7 of TrashBasket
    (properties
        myID 7
        nearWest 50
        nearNorth 53
        nearEast 124
        nearSouth 85
    )

    (method (init)
        (super:init())
        (self:
            posn(87 55)
            myNerd(nerd7)
        )
    )

)
(instance trash8 of TrashBasket
    (properties
        myID 8
        nearWest 155
        nearNorth 54
        nearEast 213
        nearSouth 85
    )

    (method (init)
        (super:init())
        (self:
            posn(174 68)
            myNerd(nerd8)
        )
    )

)
(instance trash9 of TrashBasket
    (properties
        myID 9
        nearWest 208
        nearNorth 39
        nearEast 290
        nearSouth 115
    )

    (method (init)
        (super:init())
        (self:
            posn(244 82)
            myNerd(nerd9)
        )
    )

)
(instance trash10 of TrashBasket
    (properties
        myID 10
        nearWest 208
        nearNorth 39
        nearEast 290
        nearSouth 115
    )

    (method (init)
        (super:init())
        (self:
            posn(270 64)
            myNerd(nerd10)
        )
    )

)
(instance trash11 of TrashBasket
    (properties
        myID 11
        nearWest 231
        nearNorth 148
        nearEast 320
        nearSouth 190
    )

    (method (init)
        (super:init())
        (self:
            posn(304 169)
            myNerd(nerd11)
        )
    )

)
(instance nerd1 of Nerd
    (properties)

    (method (init)
        (super:init())
        (self:
            setLoop(1)
            posn(40 184)
            speakX(60)
            speakY(165)
            speakCel(0)
        )
    )

)
(instance nerd2 of Nerd
    (properties)

    (method (init)
        (super:init())
        (self:
            setLoop(3)
            posn(229 150)
            speakX(227)
            speakY(136)
            speakCel(0)
        )
    )

)
(instance nerd3 of Nerd
    (properties)

    (method (init)
        (super:init())
        (self:
            setLoop(1)
            posn(26 118)
            speakX(50)
            speakY(100)
            speakCel(0)
        )
    )

)
(instance nerd4 of Nerd
    (properties)

    (method (init)
        (super:init())
        (self:
            setLoop(0)
            posn(113 121)
            speakX(117)
            speakY(100)
            speakCel(0)
        )
    )

)
(instance nerd5 of Nerd
    (properties)

    (method (init)
        (super:init())
        (self:
            setLoop(2)
            posn(148 116)
            speakX(170)
            speakY(100)
            speakCel(0)
        )
    )

)
(instance nerd6 of Nerd
    (properties)

    (method (init)
        (super:init())
        (self:
            setLoop(0)
            posn(299 89)
            speakX(280)
            speakY(70)
            speakCel(1)
        )
    )

)
(instance nerd7 of Nerd
    (properties)

    (method (init)
        (super:init())
        (self:
            setLoop(1)
            posn(48 56)
            speakX(65)
            speakY(35)
            speakCel(0)
        )
    )

)
(instance nerd8 of Nerd
    (properties)

    (method (init)
        (super:init())
        (self:
            setLoop(2)
            posn(183 54)
            speakX(200)
            speakY(40)
            speakCel(0)
        )
    )

)
(instance nerd9 of Nerd
    (properties)

    (method (init)
        (super:init())
        (self:
            setLoop(1)
            posn(216 55)
            speakX(215)
            speakY(35)
            speakCel(1)
        )
    )

)
(instance nerd10 of Nerd
    (properties)

    (method (init)
        (super:init())
        (self:
            setLoop(0)
            posn(283 57)
            speakX(270)
            speakY(40)
            speakCel(1)
        )
    )

)
(instance nerd11 of Nerd
    (properties)

    (method (init)
        (super:init())
        (self:
            setLoop(6)
            posn(265 157)
            speakX(280)
            speakY(124)
            speakCel(1)
        )
    )

)
