Пример #1
0
    def activate(self):
        self.activated = True

        res.fadeoutMusic()

        self.maps = []
        self.change_delay = 8000        # seconds until map moves to next point
        self.map_fadeout = 60.0         # must be a float
        self.last_update = 0
        self.surfaceQueue = queue()
        self.subpixelQueue = queue()

        self.hotspots = cycle(([300,500], [750, 800], [350, 260], [700, 340], [120, 1000], [800, 830], [480, 900]))
        
        self.overworld = res.loadImage("overworld.png")

        self.menu = cMenu(Rect((42,20), sd.get_size()),
            20, 5, 'vertical', 100,
            [('New Game', self.new_game),
            ('Battle Test', self.continue_game),
            ('Introduction', self.show_intro),
            ('Quit Game', self.quit_game)],
            font="northwoodhigh.ttf", font_size=24)

        self.menu.ready()
        self.change_map()
Пример #2
0
    def activate(self):
        import spells

        def name(spell):
            if spell.uses >= 1:
                i = loaded_spells.index(spell)
                return "{0} ({1})".format(
                    spell.name,
                    spell.uses - self.history[(caller, i)])

            else:
                return spell.name

        caller = self.parent.party[0][self.parent.member_focus]

        loaded_spells = spells.load("all")

        self.items = [ (name(s), self.select_spell, s) for s in loaded_spells ]
        self.menu = cMenu(Rect((10,60),sd.get_size()),
            20, 0, 'vertical', 100,
            self.items,
            font="fonts/dpcomic.ttf", font_size=16,
            banner_style="normal")

        self.menu.callback = self.update_spell_card

        for i, spell in enumerate(loaded_spells):
            if spell.uses >= 1:
                if self.history[(caller, i)] >= spell.uses:
                    self.menu.disable(i)

        self.menu.ready(self.last_selection[caller])
        self.update_spell_card(self.menu.selection)
        self.parent.timer.set_alarm(self.select_delay)
Пример #3
0
    def draw(self, surface):
        # fade in the dialog box background
        if self.state == 0:
            surface.blit(self.bkg, (10,160))
            self.counter += 1
            if self.counter == 6:
                self.bkg.set_alpha(0)
                self.bkg = self.bkg.convert()
            elif self.counter == 7:
                surface.fill((128,128,128), (14, 146, self.bkg.get_size()))
                print "fill"
                self.counter = 0
                self.state = 1
                self.bkg = None

        # fade in the title, if any
        elif self.state == 1:
            if self.title != None:
                surface.blit(self.title_image, (15,150))
                self.counter += 1
                if self.counter == 3:
                    self.state = 2
                    self.counter = 0
                    self.title_image = None
            else:
                self.state = 2

        # quickly write the text
        elif self.state == 2:
            x = 20

            if self.title != None:
                y = 168
            else:
                y = 167

            for line in wrap(self.text, self.wrap_width):
                banner = TextBanner(line, size=self.text_size)
                surface.blit(banner.render(self.background), (x,y))
                y += banner.font.size(line)[1]

            self.menu = cMenu(Rect((25,210),(280, 30)),
                5, 5, 'horizontal', 10,
                [('Yes', self.yes),
                ('No', self.no)],
                font="fonts/dpcomic.ttf", font_size=16)

            self.menu.ready()
            self.wait_sound.stop()
            self.wait_sound.play()
            self.state = 3

        elif self.state == 3:
            self.menu.draw(surface)
Пример #4
0
    def reactivate(self):
        if self.game:
            self.menu = cMenu(((32,20), sd.get_size()),
                20, -5, 'vertical', 100,
                [('New Game', self.new_game),
                ('Continue', self.continue_game),
                #('Save', self.save_game),
                #('Reload', self.load_game),
                #('Save and Quit', self.savequit_game),
                ('Quit', self.quit_game)],
                font="visitor1.ttf", font_size=20)
        else:
            self.menu = cMenu(((32,20), sd.get_size()),
                20, -5, 'vertical', 100,
                [('New Game', self.new_game),
                #('Continue', self.load_game),
                ('Introduction', self.show_intro),
                ('Quit', self.quit_game)],
                font="visitor1.ttf", font_size=20)

        self.menu.ready()
        self.redraw = True
        res.playMusic("oneslymove.ogg")
Пример #5
0
    def activate(self):
        import spells

        def name(spell):
            if spell.uses >= 1:
                i = loaded_spells.index(spell)
                return "{0} ({1})".format(
                    spell.name, spell.uses - self.history[(caller, i)])

            else:
                return spell.name

        caller = self.parent.party[0][self.parent.member_focus]

        loaded_spells = spells.load("all")

        self.items = [(name(s), self.select_spell, s) for s in loaded_spells]
        self.menu = cMenu(Rect((10, 60), sd.get_size()),
                          20,
                          0,
                          'vertical',
                          100,
                          self.items,
                          font="fonts/dpcomic.ttf",
                          font_size=16,
                          banner_style="normal")

        self.menu.callback = self.update_spell_card

        for i, spell in enumerate(loaded_spells):
            if spell.uses >= 1:
                if self.history[(caller, i)] >= spell.uses:
                    self.menu.disable(i)

        self.menu.ready(self.last_selection[caller])
        self.update_spell_card(self.menu.selection)
        self.parent.timer.set_alarm(self.select_delay)