Example #1
0
def make_sex_card(quality, type_, contact_type, size=None):
    if size is None:
        size = (400, 600)
    qualities = {
        1: sex_images_path() + '/base_bronze.jpg',
        2: sex_images_path() + '/base_silver.jpg',
        3: sex_images_path() + '/base_gold.jpg'
    }
    quality_image = qualities[quality]
    types = {
        'bizarre': sex_images_path() + '/over_bizarre.png',
        'passionate': sex_images_path() + '/over_passion.png',
        'rough': sex_images_path() + '/over_rage.png',
        'tender': sex_images_path() + '/over_tender.png'
    }
    type_image = types[type_]
    image_start = sex_images_path() + '/%s' % contact_type
    images = [i for i in renpy.list_files() if i.startswith(image_start)]
    try:
        image = renpy.display.im.Scale(random.choice(images), *size)
        image = renpy.display.im.Composite(
            size,
            (0, 0),
            quality_image,
            (0, 0),
            image,
            (0, 0),
            type_image,
        )
    except IndexError:
        image = renpy.display.im.Scale(empty_sex_image(), *size)

    return image
Example #2
0
def get_random_image(folder, used_avatars=None):
    """
    Возвращает строку-путь с случайной картинкой подходящей под регекспу regex
    Исключает из рассмотрения список used_avatars
    """
    reg_list = [f for f in renpy.list_files() if f.startswith(folder)]
    
    if used_avatars is not None:
        reg_list = [item for item in reg_list if item not in used_avatars]
    
    if len(reg_list) == 0:
        raise StopIteration
        
    return random.choice(reg_list)  # Возвращаем правильно случайно выбранное значение    
    
Example #3
0
 def __init__(self, level=1, *args, **kwargs):
     """
     Здесь должна быть генерация нового рыцаря.
     """
     super(Knight, self).__init__(*args, **kwargs)
     self._alive = True
     self.name = u"Сер Ланселот Озёрный"
     self.name = u"Сэр %s %s" % (random.choice(
         data.knight_first_names), random.choice(data.knight_last_names))
     # Проверка что мы можем создать рыцаря указанного уровня
     if level < 1:
         level = 1
     elif level > Knight.max_level():
         level = Knight.max_level()
     self.power = level
     self._title = data.knight_titles[level - 1]
     self.abilities = data.Container("knight_abilities")
     ability_list = [a for a in data.knight_abilities
                     ]  # Составляем список из возможных способностей
     ab = random.choice(ability_list)
     self.abilities.add(ab, deepcopy(data.knight_abilities[ab]))
     self._add_equip_slots(
         ["vest", "spear", "sword", "shield", "horse", "follower"])
     self.equip_basic()
     self.bg = random.choice(
         filter(lambda path: path.startswith("img/scene/fight/knight/"),
                renpy.list_files()))
     self.kind = 'knight'
     for description in mob_data.mob[self.kind]['descriptions']:
         descript = deepcopy(
             description)  # Создаём новый объект для описания
         if len(descript) == 2:
             descript.append(0)  # Добавляем число использований описания
         elif type(descript[2]) is not int:
             descript[2] = 0
         if len(descript) > 3:
             descript = descript[:3]
             # Отсекание лишних данных, если таковые есть
         self.descriptions.append(descript)  # Добавляем в список
     self.avatar = get_random_image(u"img/avahuman/knight")
     self.forced_to_challenge = False  # Обязан ли рыцарь бросить вызов дракону, когда тот пойдет спать.
Example #4
0
def init_metapersons_dict():
    for f in renpy.list_files():
        if f.startswith("characters/generic") and "avatar" in f:
            key = f.split("/")[6]
            color = f.split("/")[5]
            age = f.split("/")[4]
            gender = f.split("/")[3]
            morphology = f.split("/")[2]
            script = check_script(key)
            if key in metapersonsdict['generic']:
                metapersonsdict['generic'][key]['avatars'].append(f)
            else:
                metapersonsdict['generic'][key] = {
                'morphology':morphology,
                'gender':gender, 
                'age':age, 
                'color':color,
                'avatars':[f], 
                'script':script
                }
        if f.startswith("characters/unique") and "avatar" in f:
            key = f.split("/")[6]
            color = f.split("/")[5]
            age = f.split("/")[4]
            gender = f.split("/")[3]
            morphology = f.split("/")[2]
            script = check_script(key)
            metapersonsdict['unique'][key] = {
                'morphology':morphology,
                'gender':gender, 
                'age':age, 
                'color':color,
                'avatars':[f], 
                'script':script,
                'allready_used': False
                }
    return
Example #5
0
def get_files(path):
    files = renpy.list_files()
    return [i for i in files if path in i]
Example #6
0
 def _get_avatars(path):
     all_ = renpy.list_files()
     avas = [str_ for str_ in all_ if str_.startswith(path)]
     return avas
Example #7
0
def create_focus_mask_data(output_path):    
    buttons_list = filter(REGEXP_FILTER_BUTTONS.match, renpy.list_files())

    buttons_coordinates = extract_coordinates(buttons_list)
                    
    write_coordinates(buttons_coordinates, output_path)
def get_avatars():
    all_ = renpy.list_files()
    avas = [str_ for str_ in all_ if str_.startswith('images/avatar')]
    return avas
Example #9
0
def create_focus_mask_data(output_path):
    buttons_list = filter(REGEXP_FILTER_BUTTONS.match, renpy.list_files())

    buttons_coordinates = extract_coordinates(buttons_list)

    write_coordinates(buttons_coordinates, output_path)
Example #10
0
 def __init__(self, level=1, *args, **kwargs):
     """
     Здесь должна быть генерация нового рыцаря.
     """
     super(Knight, self).__init__(*args, **kwargs)
     self._alive = True
     self.name = u"Сер Ланселот Озёрный"
     self.name = u"Сэр %s %s" % (random.choice(data.knight_first_names), random.choice(data.knight_last_names))
     # Проверка что мы можем создать рыцаря указанного уровня
     if level < 1:
         level = 1
     elif level > Knight.max_level():
         level = Knight.max_level()
     self.power = level
     self._title = data.knight_titles[level - 1]
     self.abilities = data.Container("knight_abilities")
     ability_list = [a for a in data.knight_abilities]  # Составляем список из возможных способностей
     ab = random.choice(ability_list)
     self.abilities.add(ab, deepcopy(data.knight_abilities[ab]))
     self._add_equip_slots(["vest", "spear", "sword", "shield", "horse", "follower"])
     self.equip_basic()
     self.bg = random.choice(filter(lambda path: path.startswith("img/scene/fight/knight/"), renpy.list_files()))
     self.kind = 'knight'
     for description in mob_data.mob[self.kind]['descriptions']:
         descript = deepcopy(description)  # Создаём новый объект для описания
         if len(descript) == 2:
             descript.append(0)  # Добавляем число использований описания
         elif type(descript[2]) is not int:
             descript[2] = 0
         if len(descript) > 3:
             descript = descript[:3]
             # Отсекание лишних данных, если таковые есть
         self.descriptions.append(descript)  # Добавляем в список
     self.avatar = get_random_image(u"img/avahuman/knight")
     self.forced_to_challenge = False    # Обязан ли рыцарь бросить вызов дракону, когда тот пойдет спать.
Example #11
0
def check_script(metaname):
    for f in renpy.list_files():
        if f.startswith("characters") and 'script' in f and metaname in f:
            holder = f.split('/')
            return holder[len(holder)-1]
    return None