Пример #1
0
def _update_activity_shop(basic_data, data, activity, now):
    """更新神秘商店活动的完成度
    """
    if not utils.is_same_day(activity.forward_time, now):
        basic_activity = basic_data.activity_list.get(activity.basic_id)
        basic_steps = get_basic_activity_steps(basic_data, basic_activity)
        activity.reset(basic_activity, basic_steps)
Пример #2
0
def _update_activity_login(basic_data, data, activity, now):
    """更新七日签到活动的完成度
    """
    basic_activity = basic_data.activity_list.get(activity.basic_id)

    if not utils.is_same_day(activity.forward_time, now):
        next_step_id = activity.get_next_step_id_unaccepted(basic_activity)
        if next_step_id != 0:
            activity.forward(basic_activity, next_step_id, 1, now)
Пример #3
0
def _update_activity_pay_daily(basic_data, data, activity, now):
    if not utils.is_same_day(activity.forward_time, now):
        basic_activity = basic_data.activity_list.get(activity.basic_id)
        basic_steps = get_basic_activity_steps(basic_data, basic_activity)
        activity.reset(basic_activity, basic_steps)

    trainer = data.trainer.get(True)
    progress = trainer.buy_daily_discount
    basic_activity = basic_data.activity_list.get(activity.basic_id)
    activity.forward_all(basic_activity, progress, now)
Пример #4
0
def _update_activity_search(basic_data, data, activity, now): 
    """搜索次数
    """
    if not utils.is_same_day(activity.forward_time, now):
        basic_activity = basic_data.activity_list.get(activity.basic_id)
        basic_steps = get_basic_activity_steps(basic_data, basic_activity)
        activity.reset(basic_activity, basic_steps)

    draw = data.draw.get(True)

    basic_activity = basic_data.activity_list.get(activity.basic_id)
    
    activity.forward_all(basic_activity, draw.daily_money_draw_num + draw.daily_gold_draw_num, now)
Пример #5
0
def _update_activity_choose_card(basic_data, data, activity, now):
    """祈福翻牌子次数
    """
    if not utils.is_same_day(activity.forward_time, now):
        basic_activity = basic_data.activity_list.get(activity.basic_id)
        basic_steps = get_basic_activity_steps(basic_data, basic_activity)
        activity.reset(basic_activity, basic_steps)

    trainer = data.trainer.get(True)

    basic_activity = basic_data.activity_list.get(activity.basic_id)
    
    activity.forward_all(basic_activity, trainer.daily_choose_card_num, now)
Пример #6
0
def _update_activity_key_node(basic_data, data, activity, now):
    """掠夺或占领战斗次数
    """
    if not utils.is_same_day(activity.forward_time, now):
        basic_activity = basic_data.activity_list.get(activity.basic_id)
        basic_steps = get_basic_activity_steps(basic_data, basic_activity)
        activity.reset(basic_activity, basic_steps)

    trainer = data.trainer.get(True)

    basic_activity = basic_data.activity_list.get(activity.basic_id)
    
    activity.forward_all(basic_activity, trainer.knode_daily_win, now)
Пример #7
0
def _update_activity_cost_energy(basic_data, data, activity, now):
    """更新限时消耗政令活动完成度
    """
    if not utils.is_same_day(activity.forward_time, now):
        basic_activity = basic_data.activity_list.get(activity.basic_id)
        basic_steps = get_basic_activity_steps(basic_data, basic_activity)
        activity.reset(basic_activity, basic_steps)

    energy = data.energy.get(True)
    
    basic_activity = basic_data.activity_list.get(activity.basic_id)
    
    activity.forward_all(basic_activity, energy.daily_use_energy, now)
Пример #8
0
def _update_activity_buy_goods(basic_data, data, activity, now):
    """各种商店购买次数
    """
    if not utils.is_same_day(activity.forward_time, now):
        basic_activity = basic_data.activity_list.get(activity.basic_id)
        basic_steps = get_basic_activity_steps(basic_data, basic_activity)
        activity.reset(basic_activity, basic_steps)

    trainer = data.trainer.get(True)
    progress = trainer.daily_buy_goods_in_wineshop + trainer.daily_buy_goods_in_achievement_shop + \
            trainer.daily_buy_goods_in_legendcity_shop + trainer.daily_buy_goods_in_union_shop

    basic_activity = basic_data.activity_list.get(activity.basic_id)
    
    activity.forward_all(basic_activity, progress, now)
Пример #9
0
def _update_activity_exploit(basic_data, data, activity, now):
    """开采次数
    """
    if not utils.is_same_day(activity.forward_time, now):
        basic_activity = basic_data.activity_list.get(activity.basic_id)
        basic_steps = get_basic_activity_steps(basic_data, basic_activity)
        activity.reset(basic_activity, basic_steps)

    trainer = data.trainer.get(True)
    progress = trainer.daily_finish_tax_num + trainer.daily_finish_farm_num +\
            trainer.daily_finish_mining_num + trainer.daily_finish_gold_num

    basic_activity = basic_data.activity_list.get(activity.basic_id)
    
    activity.forward_all(basic_activity, progress, now)
Пример #10
0
def update_across_day_info(data, now, force = False):
    """更新所有离线数据
    """
    #判断是否是隔天登录
    user = data.user.get()
    is_same_day = utils.is_same_day(now, user.last_login_time)
    logger.debug("Is same day:%r" % is_same_day)

    if not force and is_same_day:
        return True

    days_diff = utils.count_days_diff(user.last_login_time, now)

    #更新用户登录信息
    user.login(now)
    trainer = data.trainer.get()
    trainer.add_login_num(1)

    #更新资源
    resource = data.resource.get()
    resource.update_current_resource(now)
    if not is_same_day:
        resource.reset_daily_statistics(days_diff)

    #更新兵力
    for conscript_data in data.conscript_list:
        conscript = conscript_data.get()
        if not is_same_day:
            conscript.reset_daily_statistics()
        if not conscript_business.update_current_soldier(conscript, now):
            return False

    #更新英雄驻守经验
    for building_data in data.building_list:
        building = building_data.get(True)
        if (building.is_able_to_garrison() and
                not building.is_upgrade and
                building.has_working_hero()):
            heroes_id = building.get_working_hero()
            heroes = []
            for id in heroes_id:
                heroes.append(data.hero_list.get(id))

            if not building_business.calc_garrison_exp(data, building, heroes, now):
                return False

    #更新签到信息
    sign = data.sign.get()
    sign.try_reset(now)

    #更新地图信息
    if not is_same_day:
        map = data.map.get()
        map.reset_daily_statistics(now)

    #更新抽奖信息
    if not is_same_day:
        draw = data.draw.get()
        draw.try_reset_draw(now)
        draw.reset_daily_statistics()

    #更新充值信息(月卡)
    pay = data.pay.get()
    pay.refresh_card(now)

    #更新一些统计信息
    trainer = data.trainer.get()
    if not is_same_day:
        trainer.reset_daily_statistics()

    #重置日常任务
    if not is_same_day:
        pattern = 1
        if data_loader.OtherBasicInfo_dict.has_key("init_id"):
            pattern = int(float(data_loader.OtherBasicInfo_dict['init_id'].value))
        mission_business.reset_daily_missions(data, pattern)

    #更新任务状态
    mission_business.update_all_missions(data, now)

    #更新政令
    if not is_same_day:
        energy = data.energy.get()
        energy.reset_daily_use_energy()

    #更新史实城信息
    if not is_same_day:
        for legendcity in data.legendcity_list.get_all():
            legendcity.reset_attack_count_daily_auto()

    #更新试炼场信息
    if not is_same_day:
        anneal = data.anneal.get()
        anneal.try_forward_floor()
        anneal_business.refresh_attack_num(anneal, now)

    #更新换位演武场
    if not is_same_day:
        transfer = data.transfer.get()
        transfer.reset()

    if not is_same_day:
        plunder = data.plunder.get()
        plunder.reset()
        plunder_business.decay_all_plunder_enemy_daily(data)

    return True