(version 2)
(include "sci.sh")
(exports
    0 weaponTalker
    1 weaponVendor
)
(use "Main")
(use "Vendor")
(use "GloryTalker")
(use "View")
(script 245)


(local
    theVendor

)
(instance public weaponTalker of GloryTalker
    (properties
        x 200
        y 10
        view 326
        loop 1
        talkWidth 260
        back 57
        textX -175
        textY 165
        backColor 50
    )

    (method (init param1)
        (super:init(weaponBust weaponEyes weaponMouth rest param1))
    )

)
(instance weaponBust of View
    (properties
        nsTop 22
        nsLeft 30
        view 326
        loop 3
    )
)
(instance weaponMouth of Prop
    (properties
        nsTop 47
        nsLeft 38
        view 326
    )
)
(instance weaponEyes of Prop
    (properties
        nsTop 34
        nsLeft 37
        view 326
        loop 2
    )
)
(instance public weaponVendor of Vendor
    (properties
        noun 1
    )

    (method (dispose)
        = goods 0
        (super:dispose())
    )


    (method (transact param1 param2)
        = theVendor self
        (switch (param1)
            (case 0
                proc47_3(param1 param2 theVendor)
                (send gOwner:
                    solvePuzzle(227 2)
                    get(2 param2)
                )
                proc0_4(166)
                (send gQg3Messager:say(1 6 10 0 self))
            )
            (case 1
                proc47_3(param1 param2 theVendor)
                (send gOwner:get(10 param2))
                (send gQg3Messager:say(1 6 10 0 self))
            )
            (case 2
                proc47_3(param1 param2 theVendor)
                (send gOwner:
                    solvePuzzle(222 2)
                    get(3 param2)
                )
                proc0_4(167)
                (send gQg3Messager:say(1 6 10 0 self))
            )
            (case 3
                proc47_3(param1 param2 theVendor)
                (send gOwner:get(1 param2))
                (send gQg3Messager:say(1 6 10 0 self))
            )
        )
    )


    (method (doBargain param1)
        (switch (param1)
            (case 1
                (send gQg3Messager:say(1 6 11 0 self))
            )
            (case 2
                (send gQg3Messager:say(1 6 14 0 self))
            )
            (case 3
                (send gQg3Messager:say(1 6 15 0 self))
            )
            (case 4
                (send gQg3Messager:say(1 6 16 0 self))
            )
            (case 5
                (send gQg3Messager:say(1 6 12 0 self))
            )
            (case 6
                (send gQg3Messager:say(1 6 13 0 self))
            )
            (default 
                (self:cue())
            )
        )
    )

)
