示例#1
0
class Combatant(ClassObject):
    key = String(desc='唯一key')
    base = String(desc='base key')
    name = String(desc='名字')
    res_id = String(desc='res_id,资源id')
    rarity = Integer(desc='rarity,品阶')
    str = Integer(desc='str,力量', default=0)
    dex = Integer(desc='dex,敏捷', default=0)
    int = Integer(desc='int,智力', default=0)
    con = Integer(desc='con,体质', default=0)
    move_speed = Number(desc='移动速度', default=0)
    atk_speed = Number(desc='攻击速度', default=0)
    p_atk = Integer(desc='物理攻击', default=0)
    m_atk = Integer(desc='魔法攻击', default=0)
    hp = Integer(desc='血量', default=0)
    p_def = Integer(desc='物理防御', default=0)
    res = Integer(desc='魔法抵抗', default=0)
    pen = Integer(desc='物理穿透', default=0)
    cond_dec = Integer(desc='被控制衰减', default=0)
    cri = Integer(desc='暴击', default=0)
    eva = Integer(desc='闪避', default=0)
    attr_res = Dict(Integer(), desc='属性抗性')
    cond_res = Dict(Integer(), desc='控制抗性')
    field_effect_immune = List(String(), desc='场景效果免疫')
    cri_damage = Float(desc='暴击伤害', default=0.0)
    base_gauge = Integer(desc='技能槽', default=0)
    level = Integer(desc='等级', default=0)
    aggro = Integer(desc='仇恨值', default=0)
    cri_rate = Float(desc='暴击率', default=0.0)
    p_immune = Float(desc='物攻伤害减免', default=0.0)
    m_immune = Float(desc='法攻伤害减免', default=0.0)
    cond_res_all = Float(desc='全部控制抗性', default=0.0)
示例#2
0
class Equipment(ClassObject):
    key = String(desc='인스턴스 키')
    class_key = String(desc='아이템의 클래스. Item 의 key')

    primary_stat = Dict(Integer(), desc='주스탯')
    primary_option = List(Dict(Integer()), desc='주옵션 { str: 100}, {hp: 200}')
    sub_option = List(Dict(Integer()), desc='보조 옵션. 주 스탯이 아닌 보조 옵션들')
    skill_option = String(desc='아이템의 붙는 스킬 옵션 키')

    strengthen = Integer(desc='현재 장비의 강화도')

    remodeling_chance = Integer(desc='아이템 개조 횟수')
    remodeling_type = String(desc='리모델링 타입 primay / sub')
    remodeling_slot = Integer(desc='옵션 수정 위치 { 주/보조 옵션 : 슬롯 위치')

    curse = Boolean(default=False, desc='아이템 저부 여부 True 일 경우 저주 상태')
    bless = Boolean(default=False, desc='아이템의 축복 여부 True 일 경우 축복 상태')
    lock = Boolean(desc='아이템 잠금 여부')

    equipped = String(desc='이 아이템을 장착한 히어로의 key. 비 장착 중이면 None')
    equipped_preset_key = List(String(), desc='장착된 프리셋의 키. [2, 1, ...]')

    time_add = Integer(default=0, desc='획득 시각. utc.')
    aofei_bind = Boolean(
        default=False, desc='绑定'
    )  #add by ZHM, JoyGames, ALPHA GROUP CO.,LTD, at 2017-04-06 for 增加道具流通属性
    time_tradable = Integer(
        default=0, desc='可交易的保护时间'
    )  #add by ZHM, JoyGames, ALPHA GROUP CO.,LTD, at 2017-03-17 for 增加道具流通属性
示例#3
0
class MasterHeroTrainingRow(ClassObject):
    key = String(desc='연성 고유키')
    base = String(desc='CombatantsBase의 키')
    level = Integer(desc='영웅 레벨')
    # modify by Yoray, JoyGames, ALPHA GROUP CO.,LTD, at 2017-05-10
    # detail: 修改战斗力计算公式
    # >>>>>>>>>>>>>
    atk_speed = Number(desc='공격속도')
    # <<<<<<<<<<<<<
    p_atk = Integer(desc='물리공격력')
    m_atk = Integer(desc='마법공격력')
    hp = Integer(desc='체력')
    p_def = Integer(desc='물리방어')
    res = Integer(desc='마법저항')
    pen = Integer(desc='물리관통')
    cond_dec = Integer(desc='상태이상 지속 시간 감소')
    attr_res = Dict(Integer(), desc='속성 저항. 지수화풍흑무.(e_res, w_res, f_res, a_res, d_res, n_res)')
    cond_res = Dict(Integer(), desc='상태이상 저항(sstun_res 스턴 저항,sleep_res 수면 저항,petrify_res 석화 저항,...)')
    cri = Integer(desc='치명타')
    eva = Integer(desc='물리 회피')

    def get_index_meta(self):
        return {
            'get_training_info': (self.base, self.level)
        }
示例#4
0
class MasterTransformStrengthenRow(ClassObject):
    key = String(desc='master TransformStrengthen key')
    base = String(desc='변신의 대상이 되는 소환수의 키 CombatantsBase 의 키')
    level = Integer(desc='변신의 강화 단계')
    scroll = String(desc='해당 변신 의 주문서')
    scroll_count = Integer(desc='주문서 필요 개수')
    ring = String(desc='해당 변신 의 주문 반지')
    ring_count = Integer(desc='반지 필요 개수')
    atk_speed = Integer(desc='攻速')
    p_atk = Integer(desc='物攻')
    m_atk = Integer(desc='法攻')
    hp = Integer(desc='血量')
    p_def = Integer(desc='物防')
    res = Integer(desc='法抗')
    pen = Integer(desc='物穿')
    cond_dec = Integer(desc='被控制衰减')
    attr_res = Dict(Integer(), desc='属性抗性')
    cond_res = Dict(Integer(), desc='控制抗性')
    cri = Integer(desc='暴击')
    eva = Integer(desc='闪避')

    def get_index_meta(self):
        """
        인덱싱에 사용할 메타 정보 반환
        :return: dict: {인덱스 이름: 인덱스 컬럼 리스트, ...}
        """
        return {'base': (self.base, self.level)}
示例#5
0
class BattleFieldRegisterInfo(ClassObject):
    season_key = Integer(desc='赛季')
    field_id = String(desc='区域id')
    register_clan_dict = Dict(Integer(),
                              desc='报名的公会字典, clan_id => register time')
    is_pass_result = Boolean(desc='是否出结果', default=False)
    pass_clan_dict = Dict(Class(BattleFieldRegisterClan),
                          desc='通过的公会字典, clan_id => clan info')
示例#6
0
class Heroes(ClassObject):
    user_id = String(desc='히어로를 소유한 유저의 id')

    active = String(desc='현재 선택된 디폴트 히어로. 히어로의 class_key.')
    heroes = List(String(), desc='히어로 목록. [영웅 class_key, ...]')
    skins = Dict(
        Dict(Integer()), desc="英雄皮肤"
    )  #add by ZHM, JoyGames, ALPHA GROUP CO.,LTD, at 2017-07-19 for 英雄装备服装,不存在英雄时临时保存
示例#7
0
class BattleFieldBlockDefenseInfo(ClassObject):
    user_heroes = Dict(String(),
                       desc='玩家防守英雄列表, server_user_id => hero class key')
    user_pets = Dict(List(String(), desc='pet base key list'),
                     desc='玩家召唤兽列表, server_user_id => pet base key list')
    defense_list = List(Class(BattleFieldDefenseUnitBase), desc='防守列表')
    npc_party_key = Integer(desc='中立怪组id', default=-1)
    neutral_reward = Dict(Integer(), desc='中立怪奖励信息')
    defense_log_list = List(Class(BFBlockDefenseLog), desc='防守变更日志列表')
示例#8
0
class MasterCombatantsRow(ClassObject):
    key = String(desc='唯一key')
    base = String(desc='base key')
    name = String(desc='名字')
    res_id = String(desc='res_id,资源id')
    rarity = Integer(desc='rarity,品阶', default=0)
    str = Integer(desc='str,力量', default=0)
    dex = Integer(desc='dex,敏捷', default=0)
    int = Integer(desc='int,智力', default=0)
    con = Integer(desc='con,体质', default=0)
    move_speed = Number(desc='移动速度', default=0)
    atk_speed = Number(desc='攻击速度', default=0)
    p_atk = Integer(desc='物理攻击', default=0)
    m_atk = Integer(desc='魔法攻击', default=0)
    hp = Integer(desc='血量', default=0)
    p_def = Integer(desc='物理防御', default=0)
    res = Integer(desc='魔法抵抗', default=0)
    pen = Integer(desc='物理穿透', default=0)
    cond_dec = Integer(desc='被控制衰减', default=0)
    cri = Integer(desc='暴击', default=0)
    eva = Integer(desc='闪避', default=0)
    attr_res = Dict(Integer(), desc='属性抗性')
    cond_res = Dict(Integer(), desc='控制抗性')
    field_effect_immune = List(String(), desc='场景效果免疫')

    def clone_to_combatant(self):
        clone = Combatant()
        clone.key = self.key
        clone.base = self.base
        clone.name = self.name
        clone.res_id = self.res_id
        clone.rarity = self.rarity
        clone.str = self.str if self.str else 0
        clone.dex = self.dex if self.dex else 0
        clone.int = self.int if self.int else 0
        clone.con = self.con if self.con else 0
        clone.move_speed = self.move_speed if self.move_speed else 0
        clone.atk_speed = self.atk_speed if self.atk_speed else 0
        clone.p_atk = self.p_atk if self.p_atk else 0
        clone.m_atk = self.m_atk if self.m_atk else 0
        clone.hp = self.hp if self.hp else 0
        clone.p_def = self.p_def if self.p_def else 0
        clone.res = self.res if self.res else 0
        clone.pen = self.pen if self.pen else 0
        clone.cond_dec = self.cond_dec if self.cond_dec else 0
        clone.cri = self.cri if self.cri else 0
        clone.eva = self.eva if self.eva else 0
        if self.attr_res:
            for k, v in self.attr_res.iteritems():
                clone.attr_res[k] = v
        if self.cond_res:
            for k, v in self.cond_res.iteritems():
                clone.cond_res[k] = v
        if self.field_effect_immune:
            clone.field_effect_immune += self.field_effect_immune
        return clone
示例#9
0
class BattleFieldClanMissionList(ClassObject):
    clan_id = String(desc='clan_id')
    season_key = Integer(desc='season_key')

    mission = Dict(
        Dict(Class(BattleFieldClanMission)),
        desc='公会指示, {field_id:{block_id str:BattleFieldClanMission, ...}, ...}'
    )

    update_dt = Integer(desc='更新时间')
示例#10
0
class MasterTeamBossTraining(ClassObject):
    key = String(desc='part key')
    atk_speed = Integer(desc='atk speed')
    p_atk = Integer(desc='physical atk')
    m_atk = Integer(desc='magical atk')
    hp = Integer(desc='hp')
    p_def = Integer(desc='physical def')
    res = Integer(desc='magical def')
    pen = Integer(desc='pen')
    cond_dec = Integer(desc='cond dec')
    attr_res = Dict(Integer(), desc='attr res')
    cond_res = Dict(Integer(), desc='cond res')
    cri = Integer(desc='critical')
    eva = Integer(desc='evade')
示例#11
0
class MasterItem(ClassObject):
    key = String(desc='아이템의 키(id)')
    name = String(desc='이름')
    type = String(desc='아이템 종류. 무기/방어구/장신구/기술서/재화/재료/영혼석/물약')
    equip_pos = String(
        desc='아이템 장착 위치. weapon/helm/armor/cloak/gloves/boots/ear/ring')
    rarity = Integer(desc='희구도. 별개수.')
    quality = String(desc='아이템 등급. 고급/일반=high/general')
    option = String(desc='장비품의 옵션 정보')
    set_option = String(desc='장비품의 세트 옵션 정보')
    owner_class = String(desc='사용 가능한 직업군. Combatant 의 key.')
    resource_id = String(desc='리소스 id')
    int_attr = Dict(Integer(),
                    desc='정수로 표시되는 아이템 속성 값. {p_atk: 100, level: 2, ...}')
    str_attr = Dict(String(),
                    desc='문자로 표시되는 아이템 속성 값. {key: 커츠, target: 천재, ...}')
    stage = List(String(), desc='출현 스테이지. [1-1, 2-3, ...]')
    strengthen_rate = String(desc='아이템 강화도 확률 아이디')
    strengthen_stat = String(desc='아이템 강화도 스텟 아이디')
    desc = String(desc='아이템 설명')
    price = Integer(desc='판매 가격')
    imprint_exp = Integer(desc='각인 경험치')
    # add by Yoray, JoyGames, ALPHA GROUP CO.,LTD, at 2017-03-29
    # detail: 装备初始属性随机相关
    aofei_int_type = String(desc='装备随机属性类型')
    aofei_int_min = Integer(desc='装备随机属性下限')
    aofei_int_max = Integer(desc='装备随机属性上限')
    # >>add by ZHM, JoyGames, ALPHA GROUP CO.,LTD, at 2017-04-06 for 增加道具流通属性
    aofei_tradable = Boolean(desc='可交易')
    aofei_start_price = Integer(desc='初始均价')
    aofei_time_tradable = Integer(desc='交易间隔')
    aofei_look_time_trade = Integer(desc='公示期')
    aofei_order_type = String(desc='交易行分类')
    aofei_review_time = Integer(desc="审核时间(秒)")

    # <<add by ZHM, JoyGames, ALPHA GROUP CO.,LTD, at 2017-04-06 for 增加道具流通属性

    def can_equip_by_hero(self, hero_class_key):
        return self.owner_class in ['Common', hero_class_key]

    def get_index_meta(self):
        """
        인덱싱에 사용할 메타 정보 반환
        :return: dict: {인덱스 이름: 인덱스 컬럼 리스트, ...}
        """
        return {
            'type': (self.type, )  # 스킬 보유 캐릭터 기준 인덱싱
        }
示例#12
0
class BattleFieldFieldSnapshot(ClassObject):
    season_key = Integer(desc='赛季')
    field_id = String(desc='区域id')
    block_dict = Dict(Class(BattleFieldBlockSnapshot),
                      desc='区块快照信息字典, block_id str => snap info')
    refresh_season_step = String(desc='刷新的阶段')
    refresh_time = Integer(desc='刷新时间', default=0)
示例#13
0
class BTSynInitTeamBoss(ProtocolBase):
    rand_seed = Integer(desc='随机种子')
    random_seed = Integer(desc='随机种子')
    ctrl_server_user_id = String(desc='当前控制的玩家server user id')
    func_type = String(desc='玩法类型')
    team_boss = Class(TeamBossBattleUnitBoss, desc='boss信息')
    hero_dict = Dict(Class(TeamBossBattleUnitHero), desc='成员参战英雄信息')
示例#14
0
class FortBeforeBattleDefense(ClassObject):
    point_used_hero_slot = Dict(List(Integer(), desc='slot no list'),
                                desc='point_id => slot no list')
    point_used_pet_slot = Dict(List(Integer(), desc='slot no list'),
                               desc='point_id => slot no list')
    point_hero_defense = Dict(Dict(Class(FortDefenseHeroSlotInfo),
                                   desc='str_slot_no => hero info'),
                              desc='point_id => info dict')
    point_pet_defense = Dict(Dict(Class(FortDefensePetSlotInfo),
                                  desc='str_slot_no => pet info'),
                             desc='point_id => info dict')
    user_hero_defense = Dict(Dict(Class(FortPointSlotPair),
                                  desc='hero class key => point slot pair'),
                             desc='server user id => hero dict')
    user_pet_defense = Dict(Dict(Class(FortPointSlotPair),
                                 desc='pet base key => point slot pair'),
                            desc='server user id => pet dict')
示例#15
0
class TeamBossSecondDetail(ClassObject):
    is_finish = String(desc='是否已结束', default=True)
    battle_unique_id = String(desc='战斗唯一id', default=None)
    attack_part = String(desc='当前攻击的部位key', default=None)
    battle_start_time = Integer(desc='战斗开始时间', default=0)
    battle_real_start_time = Integer(desc='战斗实际开始时间', default=0)
    battle_end_time = Integer(desc='战斗结束时间', default=0)
    part_dict = Dict(Class(TeamBossPartDetail), desc='boss副本详细信息')
示例#16
0
class AlphaFortWarBBDefense(ClassObject):
    last_reset_time = Integer(desc='重置时间')
    point_used_hero_slot = Dict(List(Integer(), desc='slot no list'),
                                desc='point_id => slot no list')
    point_used_pet_slot = Dict(List(Integer(), desc='slot no list'),
                               desc='point_id => slot no list')
    point_hero_defense = Dict(Dict(Class(AlphaFortDefenseHeroSlotInfo),
                                   desc='str_slot_no => hero info'),
                              desc='point_id => info dict')
    point_pet_defense = Dict(Dict(Class(AlphaFortDefensePetSlotInfo),
                                  desc='str_slot_no => pet info'),
                             desc='point_id => info dict')
    user_hero_defense = Dict(Dict(Class(AlphaFortWarPointSlotPair),
                                  desc='hero class key => point slot pair'),
                             desc='server user id => hero dict')
    user_pet_defense = Dict(Dict(Class(AlphaFortWarPointSlotPair),
                                 desc='pet base key => point slot pair'),
                            desc='server user id => pet dict')
示例#17
0
class BattleFieldFortDefenseInfo(ClassObject):
    rest_defense_count = Integer(desc='剩余防守者数量', default=0)
    is_battle_data_init = Boolean(desc='战斗数据是否初始化', default=False)
    battle_data_init_time = Integer(desc='战斗数据初始化时间', default=0)
    point_detail_dict = Dict(Class(FortPointDetail),
                             desc='据点信息, point_id => info')
    before_battle_defense = Class(FortBeforeBattleDefense, desc='战前防守阵容信息')
    facility_info_list = List(Class(FortFacility), desc='公会建筑信息')
    defense_log_list = List(Class(BFBlockDefenseLog), desc='防守变更日志列表')
示例#18
0
class ItemBase(ClassObject):
    type = String(desc='아이템의 타입 default=None, view 용으로 조회시 해당 아이템이 랜덤 지급인지 구분',
                  default=None)
    item_class_key = String(desc='아이템의 클래스 키')
    count = Integer(desc='아이템 수량')
    extra = Integer(desc='아이템 추가 정보, view 용으로 조회시 아이템을 얻을 수 있는 갯수로 표시 ')
    options_trade = Dict(
        String(), desc="装备属性值"
    )  #add by ZHM, JoyGames, ALPHA GROUP CO.,LTD, at 2017-04-06 for 交易行邮件装备固定属性
示例#19
0
class Asset(ClassObject):
    """
    유저의 현재 자산 정보
    """
    common = Dict(Integer(),
                  desc='소유한 자산 목록. 아데나/다이아.... {아이템 class key: 개수, ...}')

    ap = Integer(default=0,
                 desc='ap. 이 값에 ap_timestamp 시각 부터 재생된 값을 더해야 현재 ap 가 나온다')
    ap_timestamp = Integer(default=0, desc='마지막 갱신 시각. utc. 이 시각 이후로 값을 재생시킨다')
示例#20
0
class BattleFieldClanInfo(ClassObject):
    clan_id = String(desc='公会id')
    season_key = Integer(desc='赛季')
    register_field_id = String(desc='报名的区域id')
    register_time = Integer(desc='报名时间')
    own_blocks = List(Integer(), desc='拥有的地块编号列表')
    is_give_reward = Boolean(desc='是否已给奖励', default=False)
    reward_items = Dict(Integer(), desc='奖励内容')
    reward_time = Integer(desc='给奖励时间', default=0)
    log_list = List(Class(BattleFieldClanLog), desc='公会相关日志列表')
示例#21
0
class BattleFieldUserInfo(ClassObject):
    user_id = String(desc='user_id')
    server_user_id = String(desc='server_user_id')
    season_key = Integer(desc='season_key')
    defense_info_dict = Dict(
        Class(BattleFieldUsedPetInfo),
        desc='使用的英雄|召唤兽对应的区块信息 {class_key | base_key:BattleUsedPetInfo')
    last_attack_time = Integer(desc='上一次攻击时间', default=0)
    last_attack_block_id = Integer(desc='上一次攻击区块id', default=-1)
    last_attack_point_id = String(desc='上一次进攻要塞据点id')
示例#22
0
class Inventory(ClassObject):
    user_id = String(desc='소유 유저의 id')
    server_user_id = String(desc='server_user_id')

    equipment = Dict(Class(Equipment),
                     desc='소유한 장비 목록. {장비 인스턴스 id: 장비 인스턴스 정보, ...}')
    stackable = Dict(
        Class(Stackable),
        desc='소유한 누적성 아이템 목록. 999개 제한 {아이템 class_key : 아이템 정보, ...}')

    auto_exchange_version = Integer(default=0,
                                    desc='자동 아이템 변환 처리 버전. (연성 재료 강제 교환)')

    def get_equipment(self, instance_key, raise_exception=True):
        """
        인스턴스 키로 조건에 맞는 1개의 장비 아이템의 정보를 리턴한다

        :param instance_key: 가져올 장비의 인스턴스 키
        :param raise_exception: 찾지 못할 경우 예외를 발생시킬 것인지 여부. False 이며 장비가 존재하지 않으면 return None
        """
        result = self.equipment.get(instance_key)

        if not result and raise_exception:
            raise excp.ExceptionItemNotExist(instance_key)

        return result

    def get_equipment_by_class_key(self, class_key):
        """
        클래스 키를 이용하여 장비를 조회한다.
        @param class_key: RK_Master.Items.key
        @return: list(Equipment)
        """
        result = []

        for equipment in self.equipment.itervalues():
            if equipment.class_key == class_key:
                result.append(equipment)

        return result
示例#23
0
class AlphaFortWarClan(ClassObject):
    season_no = Integer(desc='赛季', default=0)
    group_no = Integer(desc='组别', default=0)
    streak_win_count = Integer(desc='连胜次数', default=0)
    result = Integer(desc='要塞战结果', default=ALPHA_FORT_WAR_RESULT_NONE)
    result_time = Integer(desc='要塞战结果时间', default=0)
    last_reset_time = Integer(desc='上一次重置时间', default=0)
    battle_data_init_time = Integer(desc='第二阶段防守阵容数据是否初始化', default=0)
    rest_defense_count = Integer(desc='剩余防守者数量', default=0)
    point_dict = Dict(Class(AlphaFortWarPointDetail),
                      desc='据点信息, point_id => info')
    facility_info_list = List(Class(AlphaFortFacility), desc='公会建筑信息')
    attend_user_list = List(String(), desc='参与玩家server_user_id列表')
示例#24
0
class CombatantStatus(ClassObject):
    # main stat
    str = Float(desc='力量', default=0.0)
    dex = Float(desc='敏捷', default=0.0)
    int = Float(desc='智力', default=0.0)

    # sub stat
    phy_atk = Float(desc='物攻', default=0.0)
    mag_atk = Float(desc='法攻', default=0.0)
    cri = Float(desc='暴击', default=0.0)
    cri_inc = Float(desc='暴击加成', default=0.0)
    phy_pen = Float(desc='物理穿透', default=0.0)
    phy_def = Float(desc='物防', default=0.0)
    mag_res = Float(desc='法抗', default=0.0)
    eva = Float(desc='闪避', default=0.0)
    cur_hp = Float(desc='当前血量', default=0.0)
    max_hp = Float(desc='最大血量', default=0.0)
    cond_dec = Float(desc='异常状态时间减少', default=0.0)
    move_speed = Float(desc='移速', default=0.0)
    atk_speed = Float(desc='攻速', default=0.0)
    aggro = Float(desc='仇恨值', default=0.0)
    high_power = Float(desc='', default=0.0)
    attr_res = Dict(Float(), desc='属性抗性')
    mesmerize_res = Dict(Float(), desc='控制抗性')
    field_immune = List(String(), desc='场景效果免疫')

    # develop stat
    class_immune = Dict(Float(), desc='类型攻击免疫')
    attr_immune = Dict(Float(), desc='属性攻击免疫')
    eva_rate = Float(desc='闪避率', default=0.0)
    mes_eva_rate = Float(desc='控制闪避率', default=0.0)
    taunt = Float(desc='嘲讽值', default=0.0)

    # caster
    mesmerize = List(String(), desc='异常状态列表')
    cri_rate = Float(desc='暴击率', default=0.0)

    # active skill charge rate
    charge_turn_rate = Float(desc='主动技能恢复比例', default=0.0)
示例#25
0
class TeamBossBattleDetail(ClassObject):
    battle_unique_id = String(desc='战斗唯一id')
    team_boss_unique_id = String(desc='team boss唯一id')
    battle_status = Integer(desc='战斗状态(0-准备期,1-进行中,2-已结束)', default=0)
    start_time = Integer(desc='开始时间', default=0)
    real_start_time = Integer(desc='实际开始时间', default=0)
    end_time = Integer(desc='结束时间', default=0)
    ctrl_server_user_id = String(desc='当前控制的玩家id', default=None)
    member_data_dict = Dict(Class(TeamBossBattleMember), desc='战斗成员信息')
    boss_data = Class(TeamBossBattleUnitBoss, desc='boss信息')
    server_group_id = String(desc='服务器server group id')
    team_id = Integer(desc='队伍id')
    server_leader_id = String(desc='队长server user id')
    op_list = List(String(), desc='操作列表')
示例#26
0
class BattleFieldBlockInfoToC(ClassObject):
    is_fort = Boolean(desc='是否是要塞', default=False)
    status = Integer(desc='据点状态')
    clan_id = String(desc='公会id')
    clan_mission = Class(BattleFieldClanMission, desc='公会指示')
    protect_end_time = Integer(desc='保护结束时间', default=0)
    battle_server_user_id = String(desc='战斗中的玩家server_user_id')
    battle_timeout = Integer(desc='战斗超时时间戳', default=0)
    fort_war_clan_id = String(desc='攻击该要塞的公会id')
    fort_war_start_time = Integer(desc='要塞战开始时间戳(针对要塞据点)', default=0)
    fort_war_end_time = Integer(desc='要塞战结束时间戳(针对要塞据点)', default=0)
    product_items = Dict(Integer(), desc='据点产出的物品字典')
    last_product_time = Integer(desc='据点上一次产出时间', default=0)
    defense_unit_count = Integer(desc='当前防守单位数量', default=0)
    defense_info = List(Class(BattleFieldDefenseUnit), desc='防守信息')
示例#27
0
class MasterHeroEquipmentBoxStatRow(ClassObject):
    key = String(desc='고유키')
    group_id = String(desc='그룹 id')
    type = String(desc='수집/강화 여부')
    step = Integer(desc='강화 단계')
    step_value = Integer(desc='세부 구성 단계')
    stat = Dict(Integer(), desc='강화 스탯')
    costume = String(desc='보상 받는 costume')

    def get_index_meta(self):
        return {
            'get_stat': (self.group_id, self.step_value),
            'get_type': (self.group_id, self.type),
        }

    def can_get_costume(self):
        return self.costume is not None
示例#28
0
class MasterMasteryStatRow(ClassObject):
    key = String(desc='고유키')
    group = String(desc='상위 분류.마스터리 그룹명')
    property = String(desc='하위 분류')
    star_group = String(desc='별 그룹')
    level = Integer(desc='레벨')
    req_point = Integer(desc='필요 포인트')
    factor = Dict(Float(), desc='증가 스탯')
    factor_local = String(desc='증가 스탯 로컬용')

    def get_index_meta(self):
        """
        인덱싱에 사용할 메타 정보 반환
        :return: dict: {인덱스 이름: 인덱스 컬럼 리스트, ...}
        """
        return {
            'get_stat': (self.group, self.star_group, self.level),
            'get_star_group': (self.group, self.star_group),
            'get_group': (self.group, )
        }
示例#29
0
class UserSession(ClassObject):
    session_id = String(desc='세션의 인스턴스 id')
    user_id = String(desc='유저 id')
    platform = String(desc='접속 장비의 플랫폼. ex. aos, ios')
    server_selected = String(desc='입장 선택한 서버')
    server_group = String(desc='입장서버에 따라 그룹으로 묶인 서버')
    created = Boolean(default=False, desc='기사단 생성 여부')
    block_status = Integer(default=0, desc='유저 블록 상태. 0 : 블록 아님, 1: 정해진 기간, 2: 영구 블록')
    block_expiry_time = Integer(default=0, desc='블록 만료 시간. utc')

    time_last_request = Integer(default=0, desc='마지막 요청을 보낸 시간. utc')
    time_last_login = Integer(default=0, desc='마지막으로 로그인 성공한 시간. utc')
    country = String(desc='유저의 국가 코드. KR/JP/... 클라에서 보낸 값')
    np_id = String(desc='플랫폼 np id. 플랫폼에서는 GUID 라고도 부름')

    server_user_id_migration = Dict(Integer(), desc='서버통합 데이터로 마이그레이션 된 시각 UTC')

    aofei_account_id = String(desc='account id')
    aofei_account_name = String(desc='account name')
    last_operation = String(desc='last operation')
示例#30
0
class SceneTeamInfo(ClassObject):
    leader_server_user_id = String(desc='队长server_user_id')
    member_dict = Dict(Class(SceneMemberInfo), desc='成员字典')