Пример #1
0
    def make_credits(self):
        # -- audio
        adonthell.audio_load_background(0, "audio/at-demo-8.ogg")
        adonthell.audio_play_background(0)

        # -- window
        self.window = adonthell.win_container()
        self.window.move(0, 30)
        self.window.resize(320, 180)
        self.window.set_visible_border(0)
        self.window.set_trans_background(1)
        self.window.set_activate(1)
        self.window.set_visible(1)

        # -- list of visible credit lines
        self.labels = []
        self.step = 0
        self.index = 0
        self.anim = 0

        # -- first label
        self.make_credit_label(190)

        self.window.py_signal_connect(self.on_draw, adonthell.win_event_UPDATE)

        return self.window
Пример #2
0
    def make_credits (self):
        # -- audio
        adonthell.audio_load_background (0, "audio/at-demo-8.ogg")
        adonthell.audio_play_background (0)

        # -- window
        self.window = adonthell.win_container ()
        self.window.move (0, 30)
        self.window.resize (320, 180)
        self.window.set_visible_border (0)
        self.window.set_trans_background (1)
        self.window.set_activate (1)
        self.window.set_visible (1)

        # -- list of visible credit lines        
        self.labels = []
        self.step = 0
        self.index = 0
        self.anim = 0
        
        # -- first label
        self.make_credit_label (190)
        
        self.window.py_signal_connect (self.on_draw, adonthell.win_event_UPDATE)
        
        return self.window
Пример #3
0
    def enter_inn (self):
        # -- start music
        adonthell.audio_load_background (0, "audio/at-demo-5.ogg")
        adonthell.audio_play_background (0)
        adonthell.audio_set_schedule ("in_game")
        adonthell.audio_set_schedule_active (1)
                        
        self.open_gate ()

        adonthell.gamedata_get_quest ("demo").set_val ("intro_on", 0)
        self.myself.set_goal (10, 18, adonthell.STAND_EAST)
Пример #4
0
    def music_finished(self, song):
        music = adonthell.gamedata_get_quest("demo").get_val("music")

        # -- if we're in Silverhair's room, play special tune
        if adonthell.gamedata_player().submap() == 13:
            adonthell.audio_load_background(2, "audio/at-demo-7.ogg")
            adonthell.audio_play_background(2)

        # -- otherwise
        elif music == 0:
            adonthell.gamedata_get_quest("demo").set_val("music", 1)
            adonthell.audio_load_background(1, "audio/at-demo-6.ogg")
            adonthell.audio_play_background(1)

        else:
            adonthell.gamedata_get_quest("demo").set_val("music", 0)
            adonthell.audio_load_background(0, "audio/at-demo-5.ogg")
            adonthell.audio_play_background(0)
Пример #5
0
    def music_finished (self, song):
        music = adonthell.gamedata_get_quest ("demo").get_val ("music")
        
        # -- if we're in Silverhair's room, play special tune
        if adonthell.gamedata_player ().submap () == 13:
            adonthell.audio_load_background (2, "audio/at-demo-7.ogg")
            adonthell.audio_play_background (2)

        # -- otherwise
        elif music == 0:
            adonthell.gamedata_get_quest ("demo").set_val ("music", 1)
            adonthell.audio_load_background (1, "audio/at-demo-6.ogg")
            adonthell.audio_play_background (1)
        
        else:
            adonthell.gamedata_get_quest ("demo").set_val ("music", 0)
            adonthell.audio_load_background (0, "audio/at-demo-5.ogg")
            adonthell.audio_play_background (0)
Пример #6
0
    def __init__(self):
        # -- load our music
        adonthell.audio_load_background(0, "audio/at-demo-1.ogg")

        # -- The themes and fonts we'll use
        adonthell.win_manager_add_theme("original")
        adonthell.win_manager_add_theme("silverleaf")

        adonthell.win_manager_add_font("yellow")
        adonthell.win_manager_add_font("red")
        adonthell.win_manager_add_font("violet")
        adonthell.win_manager_add_font("blue")
        adonthell.win_manager_add_font("green")
        adonthell.win_manager_add_font("white")
        adonthell.win_manager_add_font("original")
        adonthell.win_manager_add_font("silverleaf")

        # -- load our images
        self.bag_o = adonthell.win_image()
        self.bag_o.load_raw("gfx/cutscene/jewelbag_open.img")
        self.bag_o.set_alpha(0)
        self.bag_o.move(0, 0)
        self.bag_o.pack()
        self.bag_o.set_visible(0)

        self.bag_c = adonthell.win_image()
        self.bag_c.load_raw("gfx/cutscene/jewelbag_closed.img")
        self.bag_c.set_visible(1)
        self.bag_c.set_alpha(0)
        self.bag_c.move(0, 0)
        self.bag_c.pack()

        self.bag_t = adonthell.win_image()
        self.bag_t.load_raw("gfx/cutscene/adonthell_03.img")
        self.bag_t.move(33, 86)
        self.bag_t.pack()
        self.bag_t.set_visible(0)

        # -- create the window
        self.window = adonthell.win_container()
        self.window.move(0, 0)
        self.window.resize(320, 240)
        self.window.set_visible_border(0)

        # -- the order here is essential
        self.window.add(self.bag_c)
        self.window.add(self.bag_t)
        self.window.add(self.bag_o)

        self.window.set_activate(1)
        self.window.set_visible(1)

        self.window.py_signal_connect(self.on_update,
                                      adonthell.win_event_UPDATE)
        self.window.py_signal_connect(self.on_draw, adonthell.win_event_DRAW)

        self.draw_func = self.initial_fade_in

        self.alpha = 0

        adonthell.audio_play_background(0)

        # -- launch the engine
        adonthell.gametime_start_action()
        adonthell.gamedata_engine().main(self.window, "title_sequence")
Пример #7
0
    def forest_animation(self):
        # -- animate
        if self.a1 >= 4:
            self.x[0] = self.update_wood(self.wood1, self.x[0])
            self.a1 = 0
        else:
            self.a1 = self.a1 + 1

        # Magic number
        if self.a2 >= 2:
            self.x[1] = self.update_wood(self.wood2, self.x[1])
            self.a2 = 0
        else:
            self.a2 = self.a2 + 1

        # Magic number
        if self.a3 >= 1:
            self.x[2] = self.update_wood(self.wood3, self.x[2])
            self.a3 = 0
        else:
            self.a3 = self.a3 + 1

        # -- draw
        self.draw_wood(self.wood1, self.x[0])
        self.draw_wood(self.wood2, self.x[1])
        self.alek_run.draw(110, 120, self.da)
        self.draw_wood(self.wood3, self.x[2])

        # -- fade in
        if self.step == 0:
            alpha = self.black.alpha() - 2
            if alpha >= 0:
                self.black.set_alpha(alpha)
                return
            else:
                adonthell.audio_load_background(2, "audio/at-demo-2.ogg")
                adonthell.audio_play_background(2)

                self.window.remove(self.black)
                self.step = 1

        # Alek running ...
        elif self.step == 1:
            if self.index < len(self.typeover):
                if self.cursor < len(self.typeover[self.index]):
                    self.delay = self.delay + 2.8

                    if self.delay >= 6:
                        if self.cursor == 0: self.label.set_text("")
                        txt = self.typeover[self.index][self.cursor]
                        self.label.add_text(txt)
                        self.cursor = self.cursor + 1

                        # -- little pause at the end of a sentence
                        if txt == '.': self.delay = -50
                        else: self.delay = 0
                else:
                    self.index = self.index + 1
                    self.cursor = 0
                    self.delay = -200
            else:
                self.delay = 0
                self.step = 2

        # -- wait some more
        elif self.step == 2:
            self.delay = self.delay + 3
            if self.delay >= 300:
                # -- audio
                adonthell.audio_fade_out_background(2000)
                self.window.add(self.black)
                self.step = 3

        # -- fade out
        elif self.step == 3:
            alpha = self.black.alpha() + 2
            if alpha <= 255:
                self.black.set_alpha(alpha)
                return
            else:
                self.letsexit = 1

                self.draw_func = self.scroll_credits
                self.window = self.make_credits()
                self.window.py_signal_connect(self.on_draw,
                                              adonthell.win_event_UPDATE)
                adonthell.win_manager_get_active().add(self.window)
Пример #8
0
    def show_niche(self):
        if self.step == 0 and self.bubble == None:
            self.step = 1
            self.index = self.index + 1
            # -- "... well hidden and ..."
            self.bubble = self.make_bubble()

        # -- fade closed bag in
        elif self.step == 1:
            self.c_bag.set_alpha(1)
            self.c_bag.set_visible(1)
            self.window.add(self.c_bag)
            self.step = self.step + 1

        elif self.step > 1 and self.step <= 255:
            self.c_bag.set_alpha(self.step)
            self.step = self.step + 1
            return

        # -- fading done
        elif self.step == 256:
            self.window.remove(self.chest)
            self.window.remove(self.wall)
            del self.chest
            del self.wall
            self.step = 257

        elif self.step > 256 and self.step <= 306:
            self.step = self.step + 1
            return

        elif self.step == 307 and self.bubble == None:
            self.step = 308
            self.index = self.index + 1
            # -- "Right Here"
            self.bubble = self.make_bubble()

        # -- fade in open bag
        elif self.step == 308:
            self.o_bag.set_alpha(3)
            self.o_bag.set_visible(1)
            self.window.add(self.o_bag)
            self.step = self.step + 1

        elif self.step > 308 and self.step <= 561:
            self.o_bag.set_alpha(self.step - 307)
            self.step = self.step + 1

        # -- wait a little
        elif self.step > 561 and self.step <= 650:
            self.step = self.step + 1

        # -- zoom to bjarn's face
        elif self.step == 651:
            # -- audio
            adonthell.audio_load_background(1, "audio/at-demo-a.ogg")
            adonthell.audio_play_background(1)

            self.bjarn.set_visible(1)
            self.window.add(self.bjarn)
            self.window.remove(self.c_bag)
            self.window.remove(self.o_bag)
            del self.c_bag
            del self.o_bag

            self.step = 652
            self.index = self.index + 1
            # -- "But ..."
            self.bubble = self.make_bubble()

        elif self.step == 652 and self.bubble == None:
            self.step = 653
            self.index = self.index + 1
            # -- "... they are gone"
            self.bubble = self.make_bubble()

        # -- wait a little more
        elif self.step > 652 and self.step <= 850:
            if self.bubble == None: self.step = self.step + 1

        elif self.step == 851:
            if self.bubble != None:
                adonthell.win_manager_get_active().remove(self.bubble)
                self.bubble = None
            adonthell.gamedata_engine().main_quit()
            adonthell.gamedata_player().set_schedule_active(1)
            self.done = 0
            self.index = 25
Пример #9
0
    def __init__(self, mapchar):
        # -- audio
        adonthell.audio_set_schedule_active(0)
        adonthell.audio_fade_out_background(1000)

        # -- grab the character's we need
        bjarn = adonthell.gamedata_get_character("Bjarn Fingolson")
        erek = adonthell.gamedata_get_character("Erek Stonebreaker")
        jelom = adonthell.gamedata_get_character("Jelom Rasgar")
        talan = adonthell.gamedata_get_character("Talan Wendth")
        silverhair = adonthell.gamedata_get_character("Imoen Silverhair")
        player = adonthell.gamedata_player()

        talan.pause()

        # -- init the bubble texts
        #    (character, text)
        self.text = [(bjarn, N_("There is no denying it. Yes, I feigned the theft. ")), \
            (erek, N_("But Master? How could you do such an infamous deed? ")), \
            (jelom, N_("That I would know as well! And where are the gems then? ")), \
            (bjarn, N_("What? Haven't I made myself clear already? ")), \
            (bjarn, N_("I despise those Elves and their uncanny ways. ")), \
            (bjarn, N_("Their ... meddling with reality contradicts all principles I learnt to hold true.     ")), \
            (bjarn, N_("And yet, I had to provide them with the reagents they need to perform their dark art.     ")), \
            (bjarn, N_("I felt so ... ashamed! ")), \
            (player, N_("And you believe this justifies the discomfort you caused my mistress? ")), \
            (bjarn, N_("You cannot think further than your mistress, can you? ")), \
            (bjarn, N_("Theft by a high born like Lady Silverhair would have been considered a grave insult by the clan elders.     ")), \
            (bjarn, N_("Had she been convicted, they might have chosen to cease trading with her likes. ")), \
            (bjarn, N_("It might have been years before any Elf got his filthy hands on our beloved gems again! ")), \
            (silverhair, N_("I feared as much and I       feared the consequences.")), \
            (silverhair, N_("Without the arcane arts my kind would soon succumb to the human tides. ")), \
            (silverhair, N_("But without gems and ores purchased from the small folk we cannot create magic. ")), \
            (jelom, N_("Who would have thought that? ")), \
            (jelom, _("Seems you owe %s here a big favour, if I may say so, Lady. ") % player.get_name()), \
            (silverhair, _("Rest assured that %s's deeds will not be forgotten, good man. ") %  player.get_name()), \
            (jelom, N_("Well, this is settled then. What remains now are the whereabouts of the gems. ")), \
            (jelom, N_("Master Fingolson! ")), \
            (None, N_("They were here all the time, safe from thieving hands, ...")), \
            (None, N_("... well hidden in a niche I carved during my previous visits.")), \
            (None, N_("Right here.")), \
            (None, N_("But ...")), \
            (None, N_("... they are gone!")), \
            (talan, N_("Sir, sir! To the gate! Quick! The thief is loose!")), \
            (bjarn, N_("My jewels, oh my jewels!")), \
            (player, N_("By Andomiel's Tree! What happened to you, Talan?!")), \
            (talan, N_("It was the mercenary, sir! He sneaked upon me and hit me over the head.")), \
            (silverhair, N_("O sweet irony.")), \
            (jelom, N_("Then the gems have been stolen after all?!")), \
            (jelom, N_("By that scum, Alek!? Now that's funny.")), \
            (bjarn, N_("How can you say that? And why are you still here?")), \
            (bjarn, N_("Will nobody go after my gems!?")), \
            (jelom, N_("What for?")), \
            (jelom, N_("Where you are going you won't need them any more. Besides, Alek is probably long gone by now ..."))]

        # -- the typeover text
        self.typeover = [N_("And so Alek Endhelm escaped into the\nNorth, where he spent his newly gained\nwealth for Ale and other pleasures."), \
            N_("Bjarn Fingolson however, bereft of all\nhonour, was taken to Uzdun'kal and\nsentenced to the lowest labour.\nNowadays his fate serves as an example\nand a warning to generations of young Dwarves."), \
            N_("Lady Imoen Silverhair received the finest\nChrysoberyl Catseyes as a token of\nregret, and the magic rings and amulets\nshe crafted were of wondrous might and\nbeauty, desired and admired throughout\nthe realm."), \
            N_("Soon after his return, young Erek\naccomplished the Rite of Passage and\njoined adult society. To his surprise, he\nwas sent to the Elvish Council at the\nHigh City of Elgilad, as an ambassador\nfor his people.")]

        # -- the credits
        #    (text, delay)
        self.credits = [("Adonthell", 1), \
            ("- Waste's Edge -", 3), \
            (_("directed by:"), 1), \
            ("Alexandre Courbot", 1), \
            ("Kai Sterker", 3), \
            (_("written by:"), 1), \
            ("Kai Sterker", 1), \
            ("Mike Nieforth", 1), \
            ("Josh Glover", 3), \
            (_("based on an original idea by:"), 1), \
            ("Kai Sterker", 3), \
            (_("produced by:"), 1), \
            (_("the Adonthell team"), 3), \
            (_("executive producers:"), 1), \
            ("Sourceforge.net", 1), \
            ("GNU Savannah", 1), \
            ("Linuxgames.com", 5), \
            (_("cast:"), 1), \
            (adonthell.gamedata_player ().get_name () + _(" - you"), 1), \
            (_("Imoen Silverhair - herself"), 1), \
            (_("Bjarn Fingolson - himself"), 1), \
            (_("Erek Stonebreaker - himself"), 1), \
            (_("Orloth Redwyne - himself"), 1), \
            (_("Alek Endhelm - himself"), 1), \
            (_("Oliver Redwyne - himself"), 1), \
            (_("Talan Wendth - himself"), 1), \
            (_("Jelom Rasgar - himself"), 1), \
            (_("Tristan Illig - himself"), 1), \
            (_("Fellnir Kezular - himself"), 1), \
            (_("Lucia Redwyne - herself"), 1), \
            (_("Rhayne Frostbloom - herself"), 1), \
            (_("Sarin Trailfollower - himself"), 1), \
            (_("Janesta Skywind - herself"), 2), \
            (_("Mrs. Frostbloom's assistant:"), 1), \
            ("Yeti", 2), \
            (_("casting:"), 1), \
            ("Benjamin Walther-Franks", 5), \
            (_("director of photography:"), 1), \
            ("Alexandre Courbot", 2), \
            (_("art director:"), 1), \
            ("James Nash", 2), \
            (_("assistant art director:"), 1), \
            ("Benjamin Walther-Franks", 2), \
            (_("wardrobe:"), 1), \
            ("Benjamin Walther-Franks", 2), \
            (_("props masters:"), 1), \
            ("James Nash", 1), \
            ("Kai Sterker", 2), \
            (_("location managers:"), 1), \
            ("Alexandre Courbot", 1), \
            ("James Nash", 2), \
            (_("grip:"), 1), \
            ("Alexandre Courbot", 5), \
            (_("\"Window\" unit:"), 2), \
            (_("director:"), 1), \
            ("Joel Vennin", 2), \
            (_("assistant director:"), 1), \
            ("Joel Vennin", 2), \
            (_("best boy:"), 1), \
            ("Yeti", 2), \
            (_("runner:"), 1), \
            ("Joel Vennin", 5), \
            (_("music by:"), 1), \
            ("Joseph Toscano", 2), \
            (_("foley artist:"), 1), \
            ("Joseph Toscano", 2), \
            (_("title design:"), 1), \
            ("John Havard", 1), \
            ("James Nash", 2), \
            (_("soundtrack available on:"), 1), \
            ("http://zhaymusic.com/wastesedge/", 5), \
            (_("the Adonthell team wishes to thank:"), 2), \
            ("Al Koskelin", 1), \
            ("Andrew Henderson", 1), \
            ("Chris Harris", 1), \
            ("Mark Howson", 1), \
            ("Dave Peticolas", 1), \
            ("Ryan O'Neil", 1), \
            ("Meandus", 1), \
            ("Deniz Oezsen", 2), \
            (_("The people behind SDL, Ogg Vorbis,"), 1), \
            (_("Python, SWIG and all the other Free"), 1), \
            (_("Software developers whose work"), 1), \
            (_("made Adonthell possible"), 3), \
            (_("career portal:"), 1), \
            ("http://adonthell.linuxgames.com/development/", 5), \
            (_("No Yetis were harmed during\n the production of this game"), 5), \
            (_("presented in"), 2), \
            (_("Ogg Vorbis Stereo"), 1), \
            (_("(where available)"), 14), \
            (_("The END"), 6), \
            (_("Joel, you are fired! ;)"), -1)]

        # -- text colors
        self.colors = ["white", "yellow", "red", "violet", "blue", "green"]

        # -- misc stuff
        self.index = 0
        self.bubble = self.make_bubble()
        self.done = 0

        # -- the images
        self.wall = adonthell.win_image()
        self.wall.load_raw('gfx/cutscene/extro_wall.img')
        self.wall.pack()
        self.wall.thisown = 0

        self.chest = adonthell.win_image()
        self.chest.load_raw('gfx/cutscene/extro_chest.img')
        self.chest.set_mask(1)
        self.chest.move(75, 0)
        self.chest.pack()
        self.chest.thisown = 0

        self.o_bag = adonthell.win_image()
        self.o_bag.load_raw('gfx/cutscene/extro_open_bag.img')
        self.o_bag.pack()
        self.o_bag.thisown = 0

        self.c_bag = adonthell.win_image()
        self.c_bag.load_raw('gfx/cutscene/extro_closed_bag.img')
        self.c_bag.pack()
        self.c_bag.thisown = 0

        self.bjarn = adonthell.win_image()
        self.bjarn.load_raw('gfx/cutscene/extro_bjarn.img')
        self.bjarn.pack()
        self.bjarn.thisown = 0

        # -- set new audio schedule and play extro music
        adonthell.audio_load_background(0, "audio/at-demo-9.ogg")
        adonthell.audio_play_background(0)
Пример #10
0
    def forest_animation (self):
        # -- animate
        if self.a1 >= 4:
            self.x[0] = self.update_wood (self.wood1, self.x[0])
            self.a1 = 0
        else: self.a1 = self.a1 + 1

        # Magic number
        if self.a2 >= 2:
            self.x[1] = self.update_wood (self.wood2, self.x[1])
            self.a2 = 0
        else: self.a2 = self.a2 + 1

        # Magic number
        if self.a3 >= 1:
            self.x[2] = self.update_wood (self.wood3, self.x[2])
            self.a3 = 0
        else: self.a3 = self.a3 + 1
 
        # -- draw
        self.draw_wood (self.wood1, self.x[0])
        self.draw_wood (self.wood2, self.x[1])
        self.alek_run.draw (110, 120, self.da)
        self.draw_wood (self.wood3, self.x[2])
        
        # -- fade in
        if self.step == 0:
            alpha = self.black.alpha () - 2
            if alpha >= 0:
                self.black.set_alpha (alpha)
                return
            else:
                adonthell.audio_load_background (2, "audio/at-demo-2.ogg")
                adonthell.audio_play_background (2)

                self.window.remove (self.black)
                self.step = 1
        
        # Alek running ...
        elif self.step == 1:
            if self.index < len (self.typeover):
                if self.cursor < len (self.typeover[self.index]):
                    self.delay = self.delay + 2.8
                    
                    if self.delay >= 6:
                        if self.cursor == 0: self.label.set_text ("")
                        txt = self.typeover[self.index][self.cursor]
                        self.label.add_text (txt)
                        self.cursor = self.cursor + 1
                        
                        # -- little pause at the end of a sentence
                        if txt == '.': self.delay = -50
                        else: self.delay = 0
                else:
                    self.index = self.index + 1
                    self.cursor = 0
                    self.delay = -200
            else:
                self.delay = 0
                self.step = 2
                
        # -- wait some more
        elif self.step == 2:
            self.delay = self.delay + 3
            if self.delay >= 300:
                  # -- audio
                  adonthell.audio_fade_out_background (2000)
                  self.window.add (self.black)
                  self.step = 3
        
        # -- fade out
        elif self.step == 3:
            alpha = self.black.alpha () + 2
            if alpha <= 255:
                self.black.set_alpha (alpha)
                return
            else:
                self.letsexit = 1

                self.draw_func = self.scroll_credits
                self.window = self.make_credits ()
                self.window.py_signal_connect (self.on_draw, adonthell.win_event_UPDATE)
                adonthell.win_manager_get_active ().add (self.window)        
Пример #11
0
    def show_niche (self):
        if self.step == 0 and self.bubble == None:
            self.step = 1
            self.index = self.index + 1
            # -- "... well hidden and ..."
            self.bubble = self.make_bubble ()
            
        # -- fade closed bag in
        elif self.step == 1:
            self.c_bag.set_alpha (1)
            self.c_bag.set_visible (1)
            self.window.add (self.c_bag)
            self.step = self.step + 1            

        elif self.step > 1 and self.step <= 255:
            self.c_bag.set_alpha (self.step)
            self.step = self.step + 1
            return
        
        # -- fading done
        elif self.step == 256:
            self.window.remove (self.chest)
            self.window.remove (self.wall)
            del self.chest
            del self.wall
            self.step = 257

        elif self.step > 256 and self.step <= 306:
            self.step = self.step + 1
            return

        elif self.step == 307 and self.bubble == None:            
            self.step = 308
            self.index = self.index + 1
            # -- "Right Here"
            self.bubble = self.make_bubble ()
        
        # -- fade in open bag 
        elif self.step == 308:
            self.o_bag.set_alpha (3)
            self.o_bag.set_visible (1)
            self.window.add (self.o_bag)
            self.step = self.step + 1

        elif self.step > 308 and self.step <= 561:
            self.o_bag.set_alpha (self.step - 307)
            self.step = self.step + 1
        
        # -- wait a little
        elif self.step > 561 and self.step <= 650:
            self.step = self.step + 1

        # -- zoom to bjarn's face        
        elif self.step == 651:
            # -- audio
            adonthell.audio_load_background (1, "audio/at-demo-a.ogg")
            adonthell.audio_play_background (1)
            
            self.bjarn.set_visible (1)
            self.window.add (self.bjarn)
            self.window.remove (self.c_bag)
            self.window.remove (self.o_bag)
            del self.c_bag
            del self.o_bag
            
            self.step = 652
            self.index = self.index + 1
            # -- "But ..."
            self.bubble = self.make_bubble ()
        
        elif self.step == 652 and self.bubble == None:            
            self.step = 653
            self.index = self.index + 1
            # -- "... they are gone"
            self.bubble = self.make_bubble ()

        # -- wait a little more
        elif self.step > 652 and self.step <= 850:
            if self.bubble == None: self.step = self.step + 1
            
        elif self.step == 851:
            if self.bubble != None: 
                adonthell.win_manager_get_active ().remove (self.bubble)
                self.bubble = None
            adonthell.gamedata_engine ().main_quit ()
            adonthell.gamedata_player ().set_schedule_active (1)
            self.done = 0
            self.index = 25
Пример #12
0
    def __init__(self, mapchar):
        # -- audio
        adonthell.audio_set_schedule_active (0)
        adonthell.audio_fade_out_background (1000)
        
        # -- grab the character's we need
        bjarn = adonthell.gamedata_get_character ("Bjarn Fingolson")
        erek = adonthell.gamedata_get_character ("Erek Stonebreaker")
        jelom = adonthell.gamedata_get_character ("Jelom Rasgar")
        talan = adonthell.gamedata_get_character ("Talan Wendth")
        silverhair = adonthell.gamedata_get_character ("Imoen Silverhair")
        player = adonthell.gamedata_player ()

        talan.pause ()

        # -- init the bubble texts
        #    (character, text)
        self.text = [(bjarn, N_("There is no denying it. Yes, I feigned the theft. ")), \
            (erek, N_("But Master? How could you do such an infamous deed? ")), \
            (jelom, N_("That I would know as well! And where are the gems then? ")), \
            (bjarn, N_("What? Haven't I made myself clear already? ")), \
            (bjarn, N_("I despise those Elves and their uncanny ways. ")), \
            (bjarn, N_("Their ... meddling with reality contradicts all principles I learnt to hold true.     ")), \
            (bjarn, N_("And yet, I had to provide them with the reagents they need to perform their dark art.     ")), \
            (bjarn, N_("I felt so ... ashamed! ")), \
            (player, N_("And you believe this justifies the discomfort you caused my mistress? ")), \
            (bjarn, N_("You cannot think further than your mistress, can you? ")), \
            (bjarn, N_("Theft by a high born like Lady Silverhair would have been considered a grave insult by the clan elders.     ")), \
            (bjarn, N_("Had she been convicted, they might have chosen to cease trading with her likes. ")), \
            (bjarn, N_("It might have been years before any Elf got his filthy hands on our beloved gems again! ")), \
            (silverhair, N_("I feared as much and I       feared the consequences.")), \
            (silverhair, N_("Without the arcane arts my kind would soon succumb to the human tides. ")), \
            (silverhair, N_("But without gems and ores purchased from the small folk we cannot create magic. ")), \
            (jelom, N_("Who would have thought that? ")), \
            (jelom, _("Seems you owe %s here a big favour, if I may say so, Lady. ") % player.get_name()), \
            (silverhair, _("Rest assured that %s's deeds will not be forgotten, good man. ") %  player.get_name()), \
            (jelom, N_("Well, this is settled then. What remains now are the whereabouts of the gems. ")), \
            (jelom, N_("Master Fingolson! ")), \
            (None, N_("They were here all the time, safe from thieving hands, ...")), \
            (None, N_("... well hidden in a niche I carved during my previous visits.")), \
            (None, N_("Right here.")), \
            (None, N_("But ...")), \
            (None, N_("... they are gone!")), \
            (talan, N_("Sir, sir! To the gate! Quick! The thief is loose!")), \
            (bjarn, N_("My jewels, oh my jewels!")), \
            (player, N_("By Andomiel's Tree! What happened to you, Talan?!")), \
            (talan, N_("It was the mercenary, sir! He sneaked upon me and hit me over the head.")), \
            (silverhair, N_("O sweet irony.")), \
            (jelom, N_("Then the gems have been stolen after all?!")), \
            (jelom, N_("By that scum, Alek!? Now that's funny.")), \
            (bjarn, N_("How can you say that? And why are you still here?")), \
            (bjarn, N_("Will nobody go after my gems!?")), \
            (jelom, N_("What for?")), \
            (jelom, N_("Where you are going you won't need them any more. Besides, Alek is probably long gone by now ..."))]

        # -- the typeover text
        self.typeover = [N_("And so Alek Endhelm escaped into the\nNorth, where he spent his newly gained\nwealth for Ale and other pleasures."), \
            N_("Bjarn Fingolson however, bereft of all\nhonour, was taken to Uzdun'kal and\nsentenced to the lowest labour.\nNowadays his fate serves as an example\nand a warning to generations of young Dwarves."), \
            N_("Lady Imoen Silverhair received the finest\nChrysoberyl Catseyes as a token of\nregret, and the magic rings and amulets\nshe crafted were of wondrous might and\nbeauty, desired and admired throughout\nthe realm."), \
            N_("Soon after his return, young Erek\naccomplished the Rite of Passage and\njoined adult society. To his surprise, he\nwas sent to the Elvish Council at the\nHigh City of Elgilad, as an ambassador\nfor his people.")]

        # -- the credits
        #    (text, delay)
        self.credits = [("Adonthell", 1), \
            ("- Waste's Edge -", 3), \
            (_("directed by:"), 1), \
            ("Alexandre Courbot", 1), \
            ("Kai Sterker", 3), \
            (_("written by:"), 1), \
            ("Kai Sterker", 1), \
            ("Mike Nieforth", 1), \
            ("Josh Glover", 3), \
            (_("based on an original idea by:"), 1), \
            ("Kai Sterker", 3), \
            (_("produced by:"), 1), \
            (_("the Adonthell team"), 3), \
            (_("executive producers:"), 1), \
            ("Sourceforge.net", 1), \
            ("GNU Savannah", 1), \
            ("Linuxgames.com", 5), \
            (_("cast:"), 1), \
            (adonthell.gamedata_player ().get_name () + _(" - you"), 1), \
            (_("Imoen Silverhair - herself"), 1), \
            (_("Bjarn Fingolson - himself"), 1), \
            (_("Erek Stonebreaker - himself"), 1), \
            (_("Orloth Redwyne - himself"), 1), \
            (_("Alek Endhelm - himself"), 1), \
            (_("Oliver Redwyne - himself"), 1), \
            (_("Talan Wendth - himself"), 1), \
            (_("Jelom Rasgar - himself"), 1), \
            (_("Tristan Illig - himself"), 1), \
            (_("Fellnir Kezular - himself"), 1), \
            (_("Lucia Redwyne - herself"), 1), \
            (_("Rhayne Frostbloom - herself"), 1), \
            (_("Sarin Trailfollower - himself"), 1), \
            (_("Janesta Skywind - herself"), 2), \
            (_("Mrs. Frostbloom's assistant:"), 1), \
            ("Yeti", 2), \
            (_("casting:"), 1), \
            ("Benjamin Walther-Franks", 5), \
            (_("director of photography:"), 1), \
            ("Alexandre Courbot", 2), \
            (_("art director:"), 1), \
            ("James Nash", 2), \
            (_("assistant art director:"), 1), \
            ("Benjamin Walther-Franks", 2), \
            (_("wardrobe:"), 1), \
            ("Benjamin Walther-Franks", 2), \
            (_("props masters:"), 1), \
            ("James Nash", 1), \
            ("Kai Sterker", 2), \
            (_("location managers:"), 1), \
            ("Alexandre Courbot", 1), \
            ("James Nash", 2), \
            (_("grip:"), 1), \
            ("Alexandre Courbot", 5), \
            (_("\"Window\" unit:"), 2), \
            (_("director:"), 1), \
            ("Joel Vennin", 2), \
            (_("assistant director:"), 1), \
            ("Joel Vennin", 2), \
            (_("best boy:"), 1), \
            ("Yeti", 2), \
            (_("runner:"), 1), \
            ("Joel Vennin", 5), \
            (_("music by:"), 1), \
            ("Joseph Toscano", 2), \
            (_("foley artist:"), 1), \
            ("Joseph Toscano", 2), \
            (_("title design:"), 1), \
            ("John Havard", 1), \
            ("James Nash", 2), \
            (_("soundtrack available on:"), 1), \
            ("http://zhaymusic.com/wastesedge/", 5), \
            (_("the Adonthell team wishes to thank:"), 2), \
            ("Al Koskelin", 1), \
            ("Andrew Henderson", 1), \
            ("Chris Harris", 1), \
            ("Mark Howson", 1), \
            ("Dave Peticolas", 1), \
            ("Ryan O'Neil", 1), \
            ("Meandus", 1), \
            ("Deniz Oezsen", 2), \
            (_("The people behind SDL, Ogg Vorbis,"), 1), \
            (_("Python, SWIG and all the other Free"), 1), \
            (_("Software developers whose work"), 1), \
            (_("made Adonthell possible"), 3), \
            (_("career portal:"), 1), \
            ("http://adonthell.linuxgames.com/development/", 5), \
            (_("No Yetis were harmed during\n the production of this game"), 5), \
            (_("presented in"), 2), \
            (_("Ogg Vorbis Stereo"), 1), \
            (_("(where available)"), 14), \
            (_("The END"), 6), \
            (_("Joel, you are fired! ;)"), -1)]

            
        # -- text colors
        self.colors = ["white", "yellow", "red", "violet", "blue", "green"]
         
        # -- misc stuff
        self.index = 0
        self.bubble = self.make_bubble ()
        self.done = 0
        
        # -- the images
        self.wall = adonthell.win_image ()
        self.wall.load_raw ('gfx/cutscene/extro_wall.img')
        self.wall.pack ()
        self.wall.thisown = 0
        
        self.chest = adonthell.win_image ()
        self.chest.load_raw ('gfx/cutscene/extro_chest.img')
        self.chest.set_mask (1)
        self.chest.move (75, 0)
        self.chest.pack ()
        self.chest.thisown = 0
        
        self.o_bag = adonthell.win_image ()
        self.o_bag.load_raw ('gfx/cutscene/extro_open_bag.img')
        self.o_bag.pack ()
        self.o_bag.thisown = 0
        
        self.c_bag = adonthell.win_image ()
        self.c_bag.load_raw ('gfx/cutscene/extro_closed_bag.img')
        self.c_bag.pack ()
        self.c_bag.thisown = 0
        
        self.bjarn = adonthell.win_image ()
        self.bjarn.load_raw ('gfx/cutscene/extro_bjarn.img')
        self.bjarn.pack ()
        self.bjarn.thisown = 0

        # -- set new audio schedule and play extro music
        adonthell.audio_load_background (0, "audio/at-demo-9.ogg")
        adonthell.audio_play_background (0)
Пример #13
0
    def __init__ (self):
        # -- load our music
        adonthell.audio_load_background (0, "audio/at-demo-1.ogg")

        # -- The themes and fonts we'll use
        adonthell.win_manager_add_theme ("original")
        adonthell.win_manager_add_theme ("silverleaf")

        adonthell.win_manager_add_font ("yellow")
        adonthell.win_manager_add_font ("red")
        adonthell.win_manager_add_font ("violet")
        adonthell.win_manager_add_font ("blue")
        adonthell.win_manager_add_font ("green")
        adonthell.win_manager_add_font ("white")
        adonthell.win_manager_add_font ("original")
        adonthell.win_manager_add_font ("silverleaf")

        # -- load our images
        self.bag_o = adonthell.win_image ()
        self.bag_o.load_raw ("gfx/cutscene/jewelbag_open.img")
        self.bag_o.set_alpha (0)
        self.bag_o.move (0, 0)
        self.bag_o.pack ()
        self.bag_o.set_visible (0)

        self.bag_c = adonthell.win_image ()
        self.bag_c.load_raw ("gfx/cutscene/jewelbag_closed.img")
        self.bag_c.set_visible (1)
        self.bag_c.set_alpha (0)
        self.bag_c.move (0, 0)
        self.bag_c.pack ()

        self.bag_t = adonthell.win_image ()
        self.bag_t.load_raw ("gfx/cutscene/adonthell_03.img")
        self.bag_t.move (33, 86)
        self.bag_t.pack ()
        self.bag_t.set_visible (0)

        # -- create the window
        self.window = adonthell.win_container ()
        self.window.move (0, 0)
        self.window.resize (320, 240)
        self.window.set_visible_border (0)

        # -- the order here is essential
        self.window.add (self.bag_c)
        self.window.add (self.bag_t)
        self.window.add (self.bag_o)

        self.window.set_activate (1)
        self.window.set_visible (1)

        self.window.py_signal_connect (self.on_update, adonthell.win_event_UPDATE)
        self.window.py_signal_connect (self.on_draw, adonthell.win_event_DRAW)

        self.draw_func = self.initial_fade_in

        self.alpha = 0

        adonthell.audio_play_background (0)

        # -- launch the engine
        adonthell.gametime_start_action ()
        adonthell.gamedata_engine ().main (self.window, "title_sequence")