class SOCIAL_CONNECTION_TYPE(DjangoEnum): questgen_type = Column() records = ( ('PARTNER', 0, 'партнёр', questgen_relations.SOCIAL_RELATIONS.PARTNER), ('CONCURRENT', 1, 'конкурент', questgen_relations.SOCIAL_RELATIONS.CONCURRENT), )
class PROPERTY_TYPE(EnumWithText): relation = Column(no_index=False) records = ( ('CASE', 0, 'падеж', CASE), ('ANIMALITY', 1, 'одушевлённость', ANIMALITY), ('NUMBER', 2, 'число', NUMBER), ('GENDER', 3, 'род', GENDER), ('FORM', 4, 'форма глагола', VERB_FORM), ('TIME', 5, 'время', TIME), ('PERSON', 6, 'лицо', PERSON), ('ASPECT', 7, 'вид', ASPECT), # ('MOOD', 8, u'наклонение', MOOD), ('ADJECTIVE_CATEGORY', 9, 'категория прилагательного', ADJECTIVE_CATEGORY), ('GRADE', 10, 'степень прилагательного', GRADE), ('PRONOUN_CATEGORY', 11, 'категория местоимения', PRONOUN_CATEGORY), ('WORD_CASE', 12, 'размер 1-ой буквы', WORD_CASE), ('WORD_TYPE', 13, 'часть речи', WORD_TYPE), ('INTEGER_FORM', 14, 'виды целых чисел', INTEGER_FORM), ('VOICE', 15, 'залог', VOICE), ('PREPOSITION_FORM', 16, 'форма предлога', PREPOSITION_FORM), ('ADJECTIVE_FORM', 17, 'форма прилагательного', ADJECTIVE_FORM), ('PARTICIPLE_FORM', 18, 'форма причастия', PARTICIPLE_FORM), ('NOUN_FORM', 19, 'форма существительного', NOUN_FORM), ('DEPENDENCY_MODE', 20, 'вид зависимости между словами', DEPENDENCY_MODE) )
class ACTION_EVENT_REWARD(DjangoEnum): priority = Column(unique=False) records = ( ('NOTHING', 0, u'без награды', c.HABIT_EVENT_NOTHING_PRIORITY), ('MONEY', 1, u'деньги', c.HABIT_EVENT_MONEY_PRIORITY), ('ARTIFACT', 2, u'артефакт', c.HABIT_EVENT_ARTIFACT_PRIORITY), ('EXPERIENCE', 3, u'опыт', c.HABIT_EVENT_EXPERIENCE_PRIORITY) )
class GOODS_GROUP(DjangoEnum): uid = Column() uid_prefix = Column(unique=False) records = ( ('PREMIUM', 0, u'подписка', 'subscription', 'subscription-'), ('ENERGY', 1, u'энергия', 'energy', 'energy-'), ('CHEST', 2, u'сундук', 'random-premium-chest', 'random-premium-chest'), ('PREFERENCES', 3, u'предпочтения', 'preference', 'preference-'), ('PREFERENCES_RESET', 4, u'сброс предпочтений', 'preference-reset', 'hero-preference-reset-'), # DEPRECATED ('HABITS', 5, u'черты', 'habits', 'hero-habits-'), ('ABILITIES', 6, u'способности', 'abilities', 'hero-abilities-'), ('CLANS', 7, u'гильдии', 'clans', 'clan-'), ('CARDS', 8, u'Карты судьбы', 'cards', 'cards-'))
class FILTER_RELATION(DjangoEnum): original_relation = Column(unique=False, single_type=False) records = [('FILTER_ALL', 0, 'все', None)] + [(r.name, 1+i, r.text, r) for i, r in enumerate(sorted(base_relation.records, key=sort_key))] @classmethod def filter_choices(cls): return cls.select('value', 'text')
class EFFECT(DjangoEnum): logic = Column(single_type=False) group = Column(unique=False) power_modifier = Column(single_type=False, unique=False) description = Column() records = ( place_attribute(1, 'PRODUCTION', base_value=c.JOB_PRODUCTION_BONUS, attribute_text='производство'), place_attribute(2, 'SAFETY', base_value=c.JOB_SAFETY_BONUS, attribute_text='безопасность'), place_attribute(3, 'TRANSPORT', base_value=c.JOB_TRANSPORT_BONUS, attribute_text='транспорт'), place_attribute(4, 'FREEDOM', base_value=c.JOB_FREEDOM_BONUS, attribute_text='свободу'), place_attribute(5, 'STABILITY', base_value=c.JOB_STABILITY_BONUS, attribute_text='стабильность'), hero_profit( 6, 'MONEY', 'золото ближнему кругу', 0.5, 'В случае удачного завершения проекта, высылает деньги помогающим героям из ближнего круга. В случае неудачи деньги достаются мешающим героям.' ), hero_profit( 7, 'ARTIFACT', 'артефакт ближнему кругу', 1.5, 'В случае удачного завершения проекта, высылает по артефакту помогающим героям из ближнего круга. В случае неудачи артефакты достаются мешающим героям.' ), hero_profit( 8, 'EXPERIENCE', 'опыт ближнему кругу', 2.0, 'В случае удачного завершения проекта, помогающие герои из ближнего круга получают немного опыта. В случае неудачи опыт достаётся мешающим героям.' ), hero_profit( 9, 'ENERGY', 'энергию ближнему кругу', 1.0, 'В случае удачного завершения проекта, Хранители помогающих героев из ближнего круга получают немного энергии. В случае неудачи энергия достаётся Хранителям мешающих героев.' ), place_attribute(10, 'CULTURE', base_value=c.JOB_STABILITY_BONUS, attribute_text='культуру'))
class ARTIFACT_POWER_TYPE(DjangoEnum): distribution = Column() records = ( ('MOST_MAGICAL', 0, u'магическая', PowerDistribution(0.1, 0.9)), ('MAGICAL', 1, u'ближе к магии', PowerDistribution(0.25, 0.75)), ('NEUTRAL', 2, u'равновесие', PowerDistribution(0.5, 0.5)), ('PHYSICAL', 3, u'ближе к физике', PowerDistribution(0.75, 0.25)), ('MOST_PHYSICAL', 4, u'физическая', PowerDistribution(0.9, 0.1)) )
class METATYPE(DjangoEnum): description = Column() records = ( ('TRAVEL', 0, 'дорожная', 'влияет на скорость путешествия героя'), ('BATTLE', 1, 'боевая', 'влияет на битвы'), ('MONEY', 2, 'денежная', 'влияет на деньги и предметы'), ('OTHER', 3, 'необычная', 'имеет особый эффект'), ('UNCHANGEBLE', 4, 'неизменная', 'оказывает постоянный эффект, независимо от других свойств спутника или героя') )
class PREFERENCE_TYPE(DjangoEnum): level_required = Column() base_name = Column() prepair_method = Column(unique=False) nullable = Column(unique=False) records = ( ('MOB', 0, u'любимая добыча', 8, 'mob', '_prepair_mob', True), ('PLACE', 1, u'родной город', 4, 'place', '_prepair_place', True), ('FRIEND', 2, u'соратник', 12, 'friend', '_prepair_person', True), ('ENEMY', 3, u'противник', 20, 'enemy', '_prepair_person', True), ('ENERGY_REGENERATION_TYPE', 4, u'религиозность', 1, 'energy_regeneration_type', '_prepair_energy_regeneration', False), ('EQUIPMENT_SLOT', 5, u'экипировка', 36, 'equipment_slot', '_prepair_equipment_slot', True), ('RISK_LEVEL', 6, u'уровень риска', 32, 'risk_level', '_prepair_risk_level', False), ('FAVORITE_ITEM', 7, u'любимая вещь', 28, 'favorite_item', '_prepair_equipment_slot', True), ('ARCHETYPE', 8, u'архетип', 16, 'archetype', '_prepair_archetype', False), ('COMPANION_DEDICATION', 9, u'отношение со спутником', 2, 'companion_dedication', '_prepair_companion_dedication', False), ('COMPANION_EMPATHY', 10, u'эмпатия', 24, 'companion_empathy', '_prepair_companion_empathy', False) )
class RARITY(DjangoEnum): priority = Column() records = (('COMMON', 0, 'обычная карта', 3**4), ('UNCOMMON', 1, 'необычная карта', 3**3), ('RARE', 2, 'редкая карта', 3**2), ('EPIC', 3, 'эпическая карта', 3**1), ('LEGENDARY', 4, 'легендарная карта', 3**0))
class PAYMENT_GROUPS(DjangoEnum): top_border = Column() records = (('INT_1', 0, u'0 … 600', 500), ('INT_2', 1, u'600 … 1100', 1100), ('INT_3', 2, u'1100 … 2600', 2600), ('INT_4', 3, u'2600 … 10100', 10000), ('INT_5', 4, u'10100 … 9999999', 9999999))
class RACE(DjangoEnum): multiple_text = Column() male_text = Column() female_text = Column() utg_name_form = Column() linguistics_restrictions = Column() energy_regeneration = Column(related_name='base_race') size = Column() records = (('HUMAN', 0, 'человек', 'люди', 'мужчина', 'женщина', technical_words.RACE_HUMANS, _race_linguistics_restrictions('HUMAN'), heroes_relations.ENERGY_REGENERATION.PRAY, beings_relations.SIZE.SIZE_11), ('ELF', 1, 'эльф', 'эльфы', 'эльф', 'эльфийка', technical_words.RACE_ELFS, _race_linguistics_restrictions('ELF'), heroes_relations.ENERGY_REGENERATION.INCENSE, beings_relations.SIZE.SIZE_12), ('ORC', 2, 'орк', 'орки', 'орк', 'оркесса', technical_words.RACE_ORCS, _race_linguistics_restrictions('ORC'), heroes_relations.ENERGY_REGENERATION.SACRIFICE, beings_relations.SIZE.SIZE_14), ('GOBLIN', 3, 'гоблин', 'гоблины', 'гоблин', 'гоблинша', technical_words.RACE_GOBLINS, _race_linguistics_restrictions('GOBLIN'), heroes_relations.ENERGY_REGENERATION.MEDITATION, beings_relations.SIZE.SIZE_7), ('DWARF', 4, 'дварф', 'дварфы', 'дварф', 'дварфийка', technical_words.RACE_DWARFS, _race_linguistics_restrictions('DWARF'), heroes_relations.ENERGY_REGENERATION.SYMBOLS, beings_relations.SIZE.SIZE_13))
class CHECK_USER_RESULT(DjangoEnum): xsolla_result = Column(unique=False, primary=False) records = (('USER_EXISTS', 0, 'пользователь найден', XSOLLA_RESULT.OK), ('USER_NOT_EXISTS', 1, 'пользователь не найден', XSOLLA_RESULT.PAYMENT_RESTRICTED), ('WRONG_MD5', 2, 'неверная контрольная сумма', XSOLLA_RESULT.WRONG_MD5), ('NOT_SPECIFIED_V1', 3, 'не указан параметр v1', XSOLLA_RESULT.WRONG_REQUEST_FORMAT))
class COMMON_RESULT(DjangoEnum): xsolla_result = Column(unique=False, primary=False) records = (('DISALLOWED_IP', 0, 'попытка достпуа с ip не внесённого в список разрешённых', XSOLLA_RESULT.OTHER_ERROR), ('WRONG_COMMAND', 1, 'неверный идентификатор команды', XSOLLA_RESULT.OTHER_ERROR), ('UNKNOWN_ERROR', 2, 'ошибка при обработке запроса', XSOLLA_RESULT.OTHER_ERROR))
class ALLOWED_WORD_TYPE(DjangoEnum): utg_type = Column() records = ( word_type_record('NOUN'), word_type_record('ADJECTIVE'), word_type_record('PRONOUN'), word_type_record('VERB'), word_type_record('PARTICIPLE'), word_type_record('PREPOSITION') )
class ORDER_BY(DjangoEnum): order_field = Column() records = ( ('NAME', 0, u'имени', 'name'), ('ABBR', 1, u'аббревиатуре', 'abbr'), ('MEMBERS_NUMBER', 2, u'количеству героев', 'members_number'), ('CREATED_AT', 3, u'дате создания', 'created_at'), )
class INDEX_ORDER_BY(DjangoEnum): db_order = Column() records = ( ('COST_UP', 0, u'по цене ↑', 'price'), ('NAME_UP', 1, u'по имени ↑', 'name'), ('DATE_UP', 2, u'по окончанию ↑', 'closed_at'), ('COST_DOWN', 3, u'по цене ↓', '-price'), ('NAME_DOWN', 4, u'по имени ↓', '-name'), ('DATE_DOWN', 5, u'по окончанию ↓', '-closed_at') )
class COMPANION_DEDICATION(DjangoEnum): block_multiplier = Column(unique=False) heal_spending_priority = Column() description = Column() records = ( ('EGOISM', 0, 'эгоизм', 1.0 + c.COMPANIONS_BLOCK_MULTIPLIER_HERO_DEDICATION_DELTA, 0.75, 'спутник чаще защищает героя в бою'), ('NORMAL', 1, 'нейтралитет', 1.0, 1.0, 'спутник защищает героя с обычной частотой'), ('ALTRUISM', 2, 'альтруизм', 1.0 - c.COMPANIONS_BLOCK_MULTIPLIER_HERO_DEDICATION_DELTA, 1.25, 'спутник реже защищает героя в бою'), ('EVERY_MAN_FOR_HIMSELF', 3, 'каждый сам за себя', 1.0 - c.COMPANIONS_BLOCK_MULTIPLIER_HERO_DEDICATION_DELTA, 0.0, 'спутник реже защищает героя в бою, герой ничего не делает для лечения спутника, помощь герою не лечит спутника' ))
class TEMPLATE_RESTRICTION_GROUP(DjangoEnum): static_relation = Column(unique=False, single_type=False) records = ( ('GENDER', 0, 'пол', game_relations.GENDER), ('RACE', 1, 'раса', game_relations.RACE), ('CITY_MODIFIER', 2, 'специализация города', places_modifiers.CITY_MODIFIERS), ('HABIT_HONOR', 3, 'честь', game_relations.HABIT_HONOR_INTERVAL), ('HABIT_PEACEFULNESS', 4, 'миролюбие', game_relations.HABIT_PEACEFULNESS_INTERVAL), ('PERSON_TYPE', 5, 'профессия', persons_relations.PERSON_TYPE), ('ARTIFACT_TYPE', 6, 'тип экипировки', artifacts_relations.ARTIFACT_TYPE), ('ARTIFACT_POWER_TYPE', 7, 'тип силы', artifacts_relations.ARTIFACT_POWER_TYPE), ('ARTIFACT_RARITY', 8, 'редкость артефакта', artifacts_relations.RARITY), ('ARTIFACT_EFFECT', 9, 'эффект артефакта', artifacts_relations.ARTIFACT_EFFECT), ('MOB_TYPE', 10, 'тип существа', game_relations.BEING_TYPE), ('ARTIFACT', 11, 'артефакт', None), ('MOB', 12, 'монстр', None), ('COMPANION', 13, 'спутник', None), # ('COMPANION_TYPE', 14, u'тип спутника', companions_relations.TYPE), ('COMPANION_DEDICATION', 15, 'тип самоотверженности спутника', companions_relations.DEDICATION), # ('COMPANION_RARITY', 16, u'редкость спутника', companions_relations.RARITY), ('ARCHETYPE', 17, 'архетип', game_relations.ARCHETYPE), ('TERRAIN', 18, 'тип местности', map_relations.TERRAIN), ('BUILDING_TYPE', 19, 'тип здания', places_relations.BUILDING_TYPE), ('ACTION_TYPE', 20, 'тип действия героя', actions_relations.ACTION_TYPE), ('META_TERRAIN', 21, 'мета тип местности', map_relations.META_TERRAIN), ('META_HEIGHT', 22, 'мета тип высоты', map_relations.META_HEIGHT), ('META_VEGETATION', 23, 'мета тип растительности', map_relations.META_VEGETATION), ('COMMUNICATION_VERBAL', 24, 'вербальная коммуникация', game_relations.COMMUNICATION_VERBAL), ('COMMUNICATION_GESTURES', 25, 'невербальная коммуникация', game_relations.COMMUNICATION_GESTURES), ('COMMUNICATION_TELEPATHIC', 26, 'телепатия', game_relations.COMMUNICATION_TELEPATHIC), ('INTELLECT_LEVEL', 27, 'уровень интеллекта', game_relations.INTELLECT_LEVEL), ('ACTOR', 28, 'мета-тип существа', game_relations.ACTOR), ('PLURAL_FORM', 29, 'есть множественное число', WORD_HAS_PLURAL_FORM), ('PERSON_PERSONALITY_COSMETIC', 30, 'косметическая особенность характера', persons_relations.PERSONALITY_COSMETIC), ('PERSON_PERSONALITY_PRACTICAL', 31, 'практическая особенность характера', persons_relations.PERSONALITY_PRACTICAL), ('COMPANION_ABILITY', 32, 'особенность', companion_effects.ABILITIES), )
class RARITY(DjangoEnum): card_rarity = Column() records = (('COMMON', 0, 'обычный спутник', cards_relations.RARITY.COMMON), ('UNCOMMON', 1, 'необычный спутник', cards_relations.RARITY.UNCOMMON), ('RARE', 2, 'редкий спутник', cards_relations.RARITY.RARE), ('EPIC', 3, 'эпический спутник', cards_relations.RARITY.EPIC), ('LEGENDARY', 4, 'легендарный спутник', cards_relations.RARITY.LEGENDARY))
class RESOURCE_EXCHANGE_TYPE(DjangoEnum): parameter = Column(unique=False, primary=False, single_type=False) amount = Column(unique=False, primary=False, single_type=False) direction = Column(unique=False, primary=False) PRODUCTION_BASE = int(c.PLACE_GOODS_BONUS / 2) SAFETY_BASE = c.PLACE_SAFETY_FROM_BEST_PERSON / 10.0 TRANSPORT_BASE = c.PLACE_TRANSPORT_FROM_BEST_PERSON / 10.0 TAX_BASE = 0.025 records = (('NONE', 0, u'ничего', None, 0, 0), ('PRODUCTION_SMALL', 1, u'%d продукции' % PRODUCTION_BASE, CITY_PARAMETERS.PRODUCTION, PRODUCTION_BASE, 1), ('PRODUCTION_NORMAL', 2, u'%d продукции' % (PRODUCTION_BASE * 2), CITY_PARAMETERS.PRODUCTION, PRODUCTION_BASE * 2, 1), ('PRODUCTION_LARGE', 3, u'%d продукции' % (PRODUCTION_BASE * 4), CITY_PARAMETERS.PRODUCTION, PRODUCTION_BASE * 4, 1), ('SAFETY_SMALL', 4, u'%.1f%% безопасности' % float(SAFETY_BASE * 100), CITY_PARAMETERS.SAFETY, SAFETY_BASE, 1), ('SAFETY_NORMAL', 5, u'%.1f%% безопасности' % float(SAFETY_BASE * 2 * 100), CITY_PARAMETERS.SAFETY, SAFETY_BASE * 2, 1), ('SAFETY_LARGE', 6, u'%.1f%% безопасности' % float(SAFETY_BASE * 4 * 100), CITY_PARAMETERS.SAFETY, SAFETY_BASE * 4, 1), ('TRANSPORT_SMALL', 7, u'%.1f%% транспорта' % float(TRANSPORT_BASE * 100), CITY_PARAMETERS.TRANSPORT, TRANSPORT_BASE, 1), ('TRANSPORT_NORMAL', 8, u'%.1f%% транспорта' % float(TRANSPORT_BASE * 2 * 100), CITY_PARAMETERS.TRANSPORT, TRANSPORT_BASE * 2, 1), ('TRANSPORT_LARGE', 9, u'%.1f%% транспорта' % float(TRANSPORT_BASE * 4 * 100), CITY_PARAMETERS.TRANSPORT, TRANSPORT_BASE * 4, 1), ('TAX_SMALL', 10, u'%.1f%% пошлины' % float(TAX_BASE * 100), CITY_PARAMETERS.TAX, TAX_BASE, -1), ('TAX_NORMAL', 11, u'%.1f%% пошлины' % float(TAX_BASE * 2 * 100), CITY_PARAMETERS.TAX, TAX_BASE * 2, -1), ('TAX_LARGE', 12, u'%.1f%% пошлины' % float(TAX_BASE * 4 * 100), CITY_PARAMETERS.TAX, TAX_BASE * 4, -1))
class BAN_TIME(DjangoEnum): days = Column() records = ( ('1_DAY', 0, u'1 день', 1), ('2_DAYS', 1, u'2 дня', 2), ('3_DAYS', 2, u'3 дня', 3), ('WEEK', 3, u'неделя', 7), ('MONTH', 4, u'месяц', 30), ('HALF_YEAR', 5, u'полгода', 180), ('TOTAL', 6, u'пожизненно', 365*666))
class VARIABLE(DjangoEnum): type = Column(unique=False, no_index=True) records = ( ('HERO', 'hero', u'герой', VARIABLE_TYPE.ACTOR), ('LEVEL', 'level', u'уровень', VARIABLE_TYPE.NUMBER), ('ANTAGONIST_POSITION', 'antagonist_position', u'позиция антагониста', VARIABLE_TYPE.PLACE), ('RECEIVER_POSITION', 'receiver_position', u'позиция получателя задания', VARIABLE_TYPE.PLACE), ('ANTAGONIST', 'antagonist', u'антагонист', VARIABLE_TYPE.PERSON), ('RECEIVER', 'receiver', u'получатель задания', VARIABLE_TYPE.PERSON), ('ARTIFACT', 'artifact', u'артефакт', VARIABLE_TYPE.ARTIFACT), ('COINS', 'coins', u'монеты', VARIABLE_TYPE.NUMBER), ('INITIATOR', 'initiator', u'инициатор задания', VARIABLE_TYPE.PERSON), ('INITIATOR_POSITION', 'initiator_position', u'позиция инициатора задания', VARIABLE_TYPE.PLACE), ('ITEM', 'item', u'предмет', VARIABLE_TYPE.ARTIFACT), ('UNEQUIPPED', 'unequipped', u'снимаемый предмет', VARIABLE_TYPE.ARTIFACT), ('EQUIPPED', 'equipped', u'экипируемый предмет', VARIABLE_TYPE.ARTIFACT), ('DESTINATION', 'destination', u'пункт назначения', VARIABLE_TYPE.PLACE), ('CURRENT_DESTINATION', 'current_destination', u'текущий подпункт назначения', VARIABLE_TYPE.PLACE), ('PLACE', 'place', u'город', VARIABLE_TYPE.PLACE), ('KILLER', 'killer', u'победитель в pvp', VARIABLE_TYPE.ACTOR), ('VICTIM', 'victim', u'проигравший в pvp', VARIABLE_TYPE.ACTOR), ('DUELIST_1', 'duelist_1', u'1-ый участник pvp', VARIABLE_TYPE.ACTOR), ('DUELIST_2', 'duelist_2', u'2-ый участник pvp', VARIABLE_TYPE.ACTOR), ('DROPPED_ITEM', 'dropped_item', u'выпавший предмет', VARIABLE_TYPE.ARTIFACT), ('EXPERIENCE', 'experience', u'опыт', VARIABLE_TYPE.NUMBER), ('HEALTH', 'health', u'здоровье', VARIABLE_TYPE.NUMBER), ('MOB', 'mob', u'монстр', VARIABLE_TYPE.MOB), ('ENERGY', 'energy', u'энергия', VARIABLE_TYPE.NUMBER), ('SELL_PRICE', 'sell_price', u'цена продажи', VARIABLE_TYPE.NUMBER), ('OLD_ARTIFACT', 'old_artifact', u'старый артефакт', VARIABLE_TYPE.ARTIFACT), ('PERSON', 'person', u'мастер', VARIABLE_TYPE.PERSON), ('DECLINED_BILL', 'declined_bill', u'название не прошедшего закона', VARIABLE_TYPE.TEXT), ('BILL', 'bill', u'название закона', VARIABLE_TYPE.TEXT), ('NEW_NAME', 'new_name', u'новое название города', VARIABLE_TYPE.PLACE), ('OLD_NAME', 'old_name', u'старое название города', VARIABLE_TYPE.PLACE), ('NEW_MODIFIER', 'new_modifier', u'новый модификатор города', VARIABLE_TYPE.MODIFIER), ('OLD_MODIFIER', 'old_modifier', u'старый модификатор города', VARIABLE_TYPE.MODIFIER), ('OLD_RACE', 'old_race', u'старая раса', VARIABLE_TYPE.RACE), ('NEW_RACE', 'new_race', u'новая раса', VARIABLE_TYPE.RACE), ('PLACE_1', 'place_1', u'1-ый город', VARIABLE_TYPE.PLACE), ('PLACE_2', 'place_2', u'2-ой город', VARIABLE_TYPE.PLACE), ('RESOURCE_1', 'resource_1', u'1-ый ресурс', VARIABLE_TYPE.TEXT), ('RESOURCE_2', 'resource_2', u'2-ой ресурс', VARIABLE_TYPE.TEXT), ('TEXT', 'text', u'любой текст', VARIABLE_TYPE.TEXT), ('EFFECTIVENESS', 'effectiveness', u'эффективность', VARIABLE_TYPE.NUMBER), ('ATTACKER', 'attacker', u'атакующий', VARIABLE_TYPE.ACTOR), ('DAMAGE', 'damage', u'урон', VARIABLE_TYPE.NUMBER), ('DEFENDER', 'defender', u'защитник', VARIABLE_TYPE.ACTOR), ('ACTOR', 'actor', u'актор (герой или монстр)', VARIABLE_TYPE.ACTOR), ('CONVERSION', 'conversion', u'информация о конверсии параметров', VARIABLE_TYPE.TEXT), ('COMPANION', 'companion', u'спутник', VARIABLE_TYPE.ACTOR), ('COMPANION_OWNER', 'companion_owner', u'владелец спутника', VARIABLE_TYPE.ACTOR), ('ATTACKER_DAMAGE', 'attacker_damage', u'урон по атакующему', VARIABLE_TYPE.NUMBER), )
class WORD_BLOCK_BASE(DjangoEnum): schema = Column() records = ( ('NC', 0, u'число-падеж', (utg_relations.NUMBER, utg_relations.CASE)), ('NCG', 1, u'число-падеж-род', (utg_relations.NUMBER, utg_relations.CASE, utg_relations.GENDER)), ('NP', 2, u'число-лицо', (utg_relations.NUMBER, utg_relations.PERSON)), ('NPG', 3, u'число-лицо-род', (utg_relations.NUMBER, utg_relations.PERSON, utg_relations.GENDER)), ('SINGLE', 4, u'одна форма', ()), ('NG', 5, u'число-род', (utg_relations.NUMBER, utg_relations.GENDER)), ('C', 6, u'падеж', (utg_relations.CASE, )), ('N', 7, u'число', (utg_relations.NUMBER, )) )
class HELP_CHOICES(DjangoEnum): priority = Column(unique=False) records = (('HEAL', 0, 'лечение', 160), ('TELEPORT', 1, 'телепорт', 160), ('LIGHTING', 2, 'молния', 160), ('START_QUEST', 3, 'начало задания', 800), ('MONEY', 4, 'деньги', 40), ('RESURRECT', 5, 'воскрешение', 800), ('EXPERIENCE', 6, 'прозрение', 5), ('HEAL_COMPANION', 8, 'лечение спутника', 20))
class ABILITY_TYPE(DjangoEnum): cost = Column(unique=False) description = Column() request_attributes = Column(unique=False) records = (('HELP', 'help', u'Помочь', c.ANGEL_HELP_COST, u'Попытаться помочь герою, чем бы тот не занимался', ()), ('ARENA_PVP_1x1', 'arena_pvp_1x1', u'Отправить на арену', c.ANGEL_ARENA_COST, u'Отправить героя на гладиаторскую арену', ()), ('ARENA_PVP_1x1_LEAVE_QUEUE', 'arena_pvp_1x1_leave_queue', u'Выйти из очереди', 0, u'Выйти из очереди на арену', ()), ('ARENA_PVP_1x1_ACCEPT', 'arena_pvp_1x1_accept', u'Принять вызов', c.ANGEL_ARENA_COST, u'Принять вызов другого героя', ('battle', )), ('BUILDING_REPAIR', 'building_repair', u'Вызвать рабочего', c.BUILDING_WORKERS_ENERGY_COST, u'Вызвать рабочего для ремонта здания', ('building', )), ('DROP_ITEM', 'drop_item', u'Выбросить предмет', c.ANGEL_DROP_ITEM_COST, u'Выбросить из рюкзака самый ненужный предмет', ()))
class HELP_CHOICES(DjangoEnum): priority = Column(unique=False) records = (('HEAL', 0, u'лечение', 160), ('TELEPORT', 1, u'телепорт', 160), ('LIGHTING', 2, u'молния', 160), ('START_QUEST', 3, u'начало задания', 800), ('MONEY', 4, u'деньги', 40), ('RESURRECT', 5, u'воскрешение', 800), ('EXPERIENCE', 6, u'прозрение', 5), ('STOCK_UP_ENERGY', 7, u'запас энергии', 1), ('HEAL_COMPANION', 8, u'лечение спутника', 20))
class ARCHETYPE(DjangoEnum): power_distribution = Column() description = Column() allowed_power_types = Column(no_index=True, unique=False) records = ((u'MAGICAL', 0, u'маг', PowerDistribution(0.25, 0.75), u'герой предпочитает магию грубой силе', [ ARTIFACT_POWER_TYPE.MOST_MAGICAL, ARTIFACT_POWER_TYPE.MAGICAL, ARTIFACT_POWER_TYPE.NEUTRAL ]), (u'NEUTRAL', 1, u'авантюрист', PowerDistribution(0.5, 0.5), u'герой соблюдает баланс между мечом и магией', [ ARTIFACT_POWER_TYPE.MAGICAL, ARTIFACT_POWER_TYPE.NEUTRAL, ARTIFACT_POWER_TYPE.PHYSICAL ]), (u'PHYSICAL', 2, u'воин', PowerDistribution(0.75, 0.25), u'герой полагается на воинские умения', [ ARTIFACT_POWER_TYPE.NEUTRAL, ARTIFACT_POWER_TYPE.PHYSICAL, ARTIFACT_POWER_TYPE.MOST_PHYSICAL ]))
class DEDICATION(DjangoEnum): block_multiplier = Column() records = ((u'INDECISIVE', 0, u'нерешительный', 1.0 - c.COMPANIONS_BLOCK_MULTIPLIER_COMPANION_DEDICATION_DELTA), (u'BOLD', 1, u'смелый', 1.0 - c.COMPANIONS_BLOCK_MULTIPLIER_COMPANION_DEDICATION_DELTA / 2), (u'BRAVE', 2, u'храбрый', 1.0), (u'VALIANT', 3, u'доблестный', 1.0 + c.COMPANIONS_BLOCK_MULTIPLIER_COMPANION_DEDICATION_DELTA / 2), (u'HEROIC', 4, u'героический', 1.0 + c.COMPANIONS_BLOCK_MULTIPLIER_COMPANION_DEDICATION_DELTA))
class RISK_LEVEL(DjangoEnum): health_percent_to_rest = Column() experience_modifier = Column() power_modifier = Column() reward_modifier = Column() description = Column() records = ( ('VERY_HIGH', 0, 'очень высокий', 0.70, 1.30, 2.0, 2.00, 'больше опыта и наград за задания, +200% к влиянию и денежным наградам за задания' ), ('HIGH', 1, 'высокий', 0.85, 1.15, 1.0, 1.00, 'немного больше опыта и наград за задания, +100% к влиянию и денежным наградам за задания' ), ('NORMAL', 2, 'обычный', 1.00, 1.00, 0.0, 0.00, 'никакого влияния на опыт, награды и влияние героя'), ('LOW', 3, 'низкий', 1.15, 0.85, -1.0, -1.00, 'немного меньше опыта и наград за задания, -100% к влиянию и денежным наградам за задания' ), ('VERY_LOW', 4, 'очень низкий', 1.30, 0.70, -2.0, -2.00, 'меньше опыта и наград за задания, -200% к влиянию и денежным наградам за задания' ))