def send_award_mail_kill(self): mail_id = game_configs.base_config.get('kill_rewards_worldboss') player_id = self._last_shot_item['player_id'] mail = Mail_PB() mail.config_id = mail_id mail.receive_id = player_id mail.send_time = int(time.time()) mail_data = mail.SerializePartialToString() remote_gate = GlobalObject().root.childsmanager.childs.values()[0] remote_gate.push_message_to_transit_remote('receive_mail_remote', player_id, mail_data)
def send_award_mail_damage(self): award_mail = game_configs.base_config.get('hurt_rewards_worldboss_rank') for up, down, mail_id in award_mail.values(): ranks = self._rank_instance.get(up, down) for player_id, v in ranks: mail = Mail_PB() mail.config_id = mail_id mail.receive_id = int(player_id) mail.send_time = int(time.time()) mail_data = mail.SerializePartialToString() remote_gate = GlobalObject().root.childsmanager.childs.values()[0] remote_gate.push_message_to_transit_remote('receive_mail_remote', int(player_id), mail_data)
def send_rank_reward_mails(self): """ 排行奖励 """ logger.debug("hjqy send_award_top_ten===========") award_info = game_configs.base_config.get("hjqyDayReward") for up, down, mail_id in award_info.values(): ranks = self._rank_instance.get(up, down) for k, v in enumerate(ranks): player_id, val = v logger.debug("send_award_top_ten: player_id %s, value %s, mail_id %s" % (player_id, v, mail_id)) mail_data, _ = deal_mail(conf_id=mail_id, receive_id=int(player_id)) remote_gate = GlobalObject().child('gate') remote_gate.push_message_to_transit_remote('receive_mail_remote', int(player_id), mail_data) #clear rankinfo self._rank_instance.clear_rank()
def send_rank_reward_mails(self): """ 排行奖励 """ logger.debug("hjqy send_award_top_ten===========") award_info = game_configs.base_config.get("hjqyDayReward") for up, down, mail_id in award_info.values(): ranks = self._rank_instance.get(up, down) for k, v in enumerate(ranks): player_id, val = v logger.debug( "send_award_top_ten: player_id %s, value %s, mail_id %s" % (player_id, v, mail_id)) mail_data, _ = deal_mail(conf_id=mail_id, receive_id=int(player_id)) remote_gate = GlobalObject().child('gate') remote_gate.push_message_to_transit_remote( 'receive_mail_remote', int(player_id), mail_data) #clear rankinfo self._rank_instance.clear_rank()
def hjqy_battle_remote(player_info, boss_id, str_red_units, red_unpar_data, attack_type, seed1, seed2): """开始战斗 """ logger.debug("hjqy_battle_remote======") red_units = cPickle.loads(str_red_units) result = False boss = hjqy_manager.get_boss(boss_id) player_id = player_info.get("player_id") player_level = player_info.get("level") blue_units = boss.blue_units origin_hp = boss.hp result = hjqy_start(red_units, blue_units, red_unpar_data, {}, attack_type, seed1, seed2, player_level) logger.debug("blue unit length %s" % len(blue_units)) boss.blue_units = blue_units current_damage_hp = origin_hp - boss.hp logger.debug("origin_hp %s, current_hp %s, current_damage_hp %s" % (origin_hp, boss.hp, current_damage_hp)) player_info["damage_hp"] = current_damage_hp hjqy_manager.add_rank_item(player_info) # 添加排行 is_kill = 0 if boss.get_state() == const.BOSS_DEAD: # 击杀boss is_kill = 1 # send last kill reward mail hjqyKillBossReward = game_configs.base_config.get("hjqyKillBossRewardID") mail_data, _ = deal_mail(conf_id=hjqyKillBossReward, receive_id=int(player_id)) remote_gate = GlobalObject().child('gate') remote_gate.push_message_to_transit_remote('receive_mail_remote', int(player_id), mail_data) result = True #return dict(result=result, state=boss.get_state()) logger.debug("hjqy_battle_remote over===================") boss.save_data() return result, boss.get_state(), current_damage_hp, is_kill