示例#1
0
    def after_awakening(self):
        """
        All actions after awakening - sort out spawns.
        """
        for spawn_i in xrange(len(self.spawn)):
            spawn_type = self.spawn[spawn_i]  # simplified access to spawns's type
            spawn = girls_data.spawn_info[spawn_type]  # simplified access to spawns's data
            renpy.show("meow", what=store.Image("img/scene/spawn/%s.jpg" % spawn_type))
            spawn_mod = spawn['modifier']  # simplified access to spawns's modifiers list
            # Make check. True if not sea spawn or sea spawn in underwater lair
            # TODO: Возможно стоит сделать умирание слуги, если оно не морское и в морском логове.
            marine_check = ('marine' not in spawn_mod) or \
                           (self.game.lair.type.require and 'swimming' in self.game.lair.type.require)
            spawn_menu = [(u"К Вам приходит %s и просит назначения" % spawn['name'], None)]  # меню отродий
            # Possible menu points
            if ('poisonous' in spawn_mod) and ('poison_guards' not in self.game.lair.upgrades) and marine_check:
                spawn_menu.append((u"Выпустить в логово", u'poison_guards'))
            if ('servant' in spawn_mod) and ('servant' not in self.game.lair.upgrades) and marine_check:
                spawn_menu.append((u"Сделать слугой", 'servant'))
            if ('warrior' in spawn_mod) and ('regular_guards' not in self.game.lair.upgrades) and marine_check:
                spawn_menu.append((u"Сделать охранником", 'regular_guards'))
            if ('elite' in spawn_mod) and ('elite_guards' not in self.game.lair.upgrades) and marine_check:
                spawn_menu.append((u"Сделать элитным охранником", 'elite_guards'))
            spawn_menu.append((u"Выпустить в королевство", 'free'))
            if (('servant' in spawn_mod) or
                    ('warrior' in spawn_mod) or
                    ('elite' in spawn_mod)) and \
                    ('marine' not in spawn_mod):
                spawn_menu.append((u"Отправить в армию тьмы", 'army_of_darkness'))

            menu_action = renpy.display_menu(spawn_menu)

            if menu_action == 'free':
                renpy.say(self.game.narrator, u"%s отправляется бесчинствовать в королевстве." % spawn['name'])
                self.free_spawn(spawn['power'])
            elif menu_action == 'army_of_darkness':
                renpy.say(self.game.narrator, u"%s отправляется в армию тьмы." % spawn['name'])
                self.army_of_darkness(spawn_type)
            else:
                # Message about work start
                renpy.say(self.game.narrator, u"%s приступает к выполнению обязанностей." % spawn['name'])
                # Message about work end
                if 'replaces' in data.lair_upgrades[menu_action].keys():
                    replace = data.lair_upgrades[menu_action]['replaces']
                    renpy.say(self.game.narrator,
                              u"%s больше не требуются и уходят." % data.lair_upgrades[replace]['name'])
                # add lair improvement
                self.game.lair.add_upgrade(menu_action)
                
        renpy.hide("meow")
        self.spawn = []
示例#2
0
    def after_awakening(self):
        """
        Все действия после пробуждения - разбираемся с воспитанными отродьями.
        """
        for spawn_i in xrange(len(self.spawn)):
            spawn_type = self.spawn[spawn_i]  # упрощение обращения к типу отродий
            spawn = girls_data.spawn_info[spawn_type]  # упрощение обращения к данным отродий
            renpy.show("meow", what=store.Image("img/scene/spawn/%s.jpg" % spawn_type))
            spawn_mod = spawn['modifier']  # упрощение обращения к списку модификаторов отродий
            # Делаем проверку. Истина, если не морское отродье или морское в подводном логове
            # TODO: Возможно стоит сделать умирание слуги, если оно не морское и в морском логове.
            marine_check = ('marine' not in spawn_mod) or \
                           (self.game.lair.type.require and 'swimming' in self.game.lair.type.require)
            spawn_menu = [(u"К Вам приходит %s и просит назначения" % spawn['name'], None)]  # меню отродий
            # Возможные пункты меню
            if ('poisonous' in spawn_mod) and ('poison_guards' not in self.game.lair.upgrades) and marine_check:
                spawn_menu.append((u"Выпустить в логово", u'poison_guards'))
            if ('servant' in spawn_mod) and ('servant' not in self.game.lair.upgrades) and marine_check:
                spawn_menu.append((u"Сделать слугой", 'servant'))
            if ('warrior' in spawn_mod) and ('regular_guards' not in self.game.lair.upgrades) and marine_check:
                spawn_menu.append((u"Сделать охранником", 'regular_guards'))
            if ('elite' in spawn_mod) and ('elite_guards' not in self.game.lair.upgrades) and marine_check:
                spawn_menu.append((u"Сделать элитным охранником", 'elite_guards'))
            spawn_menu.append((u"Выпустить в королевство", 'free'))
            if (('servant' in spawn_mod) or
                    ('warrior' in spawn_mod) or
                    ('elite' in spawn_mod)) and \
                    ('marine' not in spawn_mod):
                spawn_menu.append((u"Отправить в армию тьмы", 'army_of_darkness'))

            menu_action = renpy.display_menu(spawn_menu)

            if menu_action == 'free':
                renpy.say(self.game.narrator, u"%s отправляется бесчинствовать в королевстве." % spawn['name'])
                self.free_spawn(spawn['power'])
            elif menu_action == 'army_of_darkness':
                renpy.say(self.game.narrator, u"%s отправляется в армию тьмы." % spawn['name'])
                self.army_of_darkness(spawn_type)
            else:
                # выдача сообщения о начале работы
                renpy.say(self.game.narrator, u"%s приступает к выполнению обязанностей." % spawn['name'])
                # выдача сообщения о конце работы, если это необходимо
                if 'replaces' in data.lair_upgrades[menu_action].keys():
                    replace = data.lair_upgrades[menu_action]['replaces']
                    renpy.say(self.game.narrator,
                              u"%s больше не требуются и уходят." % data.lair_upgrades[replace]['name'])
                # добавление в улучшение логова
                self.game.lair.add_upgrade(menu_action)
                
        renpy.hide("meow")
        self.spawn = []
示例#3
0
    def after_awakening(self):
        """
        Все действия после пробуждения - разбираемся с воспитанными отродьями.
        """
        for spawn_i in xrange(len(self.spawn)):
            spawn_type = self.spawn[
                spawn_i]  # упрощение обращения к типу отродий
            spawn = girls_data.spawn_info[
                spawn_type]  # упрощение обращения к данным отродий
            renpy.show("meow",
                       what=store.Image("img/scene/spawn/%s.jpg" % spawn_type))
            spawn_mod = spawn[
                'modifier']  # упрощение обращения к списку модификаторов отродий
            # Делаем проверку. Истина, если не морское отродье или морское в подводном логове
            # TODO: Возможно стоит сделать умирание слуги, если оно не морское и в морском логове.
            marine_check = ('marine' not in spawn_mod) or \
                           (self.game.lair.type.require and 'swimming' in self.game.lair.type.require)
            spawn_menu = [
                (u"К Вам приходит %s и просит назначения" % spawn['name'],
                 None)
            ]  # меню отродий
            # Возможные пункты меню
            if ('poisonous' in spawn_mod) and (
                    'poison_guards'
                    not in self.game.lair.upgrades) and marine_check:
                spawn_menu.append((u"Выпустить в логово", u'poison_guards'))
            if ('servant' in spawn_mod) and (
                    'servant' not in self.game.lair.upgrades) and marine_check:
                spawn_menu.append((u"Сделать слугой", 'servant'))
            if ('warrior' in spawn_mod) and (
                    'regular_guards'
                    not in self.game.lair.upgrades) and marine_check:
                spawn_menu.append((u"Сделать охранником", 'regular_guards'))
            if ('elite' in spawn_mod) and (
                    'elite_guards'
                    not in self.game.lair.upgrades) and marine_check:
                spawn_menu.append(
                    (u"Сделать элитным охранником", 'elite_guards'))
            spawn_menu.append((u"Выпустить в королевство", 'free'))
            if (('servant' in spawn_mod) or
                    ('warrior' in spawn_mod) or
                    ('elite' in spawn_mod)) and \
                    ('marine' not in spawn_mod):
                spawn_menu.append(
                    (u"Отправить в армию тьмы", 'army_of_darkness'))

            menu_action = renpy.display_menu(spawn_menu)

            if menu_action == 'free':
                renpy.say(
                    self.game.narrator,
                    u"%s отправляется бесчинствовать в королевстве." %
                    spawn['name'])
                self.free_spawn(spawn['power'])
            elif menu_action == 'army_of_darkness':
                renpy.say(self.game.narrator,
                          u"%s отправляется в армию тьмы." % spawn['name'])
                self.army_of_darkness(spawn_type)
            else:
                # выдача сообщения о начале работы
                renpy.say(
                    self.game.narrator,
                    u"%s приступает к выполнению обязанностей." %
                    spawn['name'])
                # выдача сообщения о конце работы, если это необходимо
                if 'replaces' in data.lair_upgrades[menu_action].keys():
                    replace = data.lair_upgrades[menu_action]['replaces']
                    renpy.say(
                        self.game.narrator,
                        u"%s больше не требуются и уходят." %
                        data.lair_upgrades[replace]['name'])
                # добавление в улучшение логова
                self.game.lair.add_upgrade(menu_action)

        renpy.hide("meow")
        self.spawn = []