Exemple #1
0
 def description(self, status, say=False):
     """
     Генерация описания ситуации для текущей девушки (self.game.girl).
     status - кодовое описание ситуации
     say - если истина - описание выводится сразу на экран, возвращается None, если ложь - возвращается текст описания
     """
     girl_type = self.game.girl.type
     if girl_type not in girls_data.girls_texts or \
        status not in girls_data.girls_texts[girl_type]:
         girl_type = 'girl'
     if girls_data.girls_texts[girl_type][status]:
         text = random.choice(girls_data.girls_texts[girl_type][status]) 
         # TODO: Ситуативные описания
         insert_list = [self.game.girl.name, self.game.dragon.name]
         if status == 'birth':
             insert_list.append(girls_data.spawn_info[self.spawn[-1]]['name'])
         elif status == 'rob':
             treas_description = self.game.lair.treasury.treasures_description(self.game.girl.treasure)
             treas_description = '\n'.join(treas_description)
             insert_list.append(treas_description)
         text = text.format(*insert_list)
     else: 
         text = "Описание для действия '%s' девушки типа '%s' отсутствует" % (status, self.game.girl.type)
     if say:
         store.nvl_list = [ ] #вариант nvl clear на питоне
         renpy.say(self.game.girl.third, text) #выдача сообщения
     else:
         return text
 def stress_test(self):
     first_stress_aquired = False
     for i in self.player.slaves:
         stress = Stress(i).stress_check()
         if stress and not first_stress_aquired:
             first_stress_aquired = True
             renpy.say(None, 'player slave stress handling event here')
 def stress_check(self):
     data = self._DATA[self.person]
     if roll(data.value, 6):
         if data.unstable:
             renpy.say(None, '%s stress event' % self.person.name)
         else:
             self.make_unstable()
         return True
     return False
Exemple #4
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 = []
    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 = []
Exemple #6
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]  # упрощение обращения к данным отродий
            spawn_mod = spawn['modifier']  # упрощение обращения к списку модификаторов отродий
            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"Выпустить в логово", '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'])  # выдача сообщения
                self.game.lair.upgrades.add(menu_action,
                                            deepcopy(data.lair_upgrades[menu_action]))  # добавление в улучшение логова
        self.spawn = []
Exemple #7
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 = []