/** 比武岛旗帜抢夺 结束 */ @Override public void gather(Player player, NPC npc) { if (ManagerPool.biWuDaoManager.getBiwudaostate() != 1) { /* xuliang MessageUtil.notify_player(player, Notifys.ERROR, ResManager.getInstance().getString("现在不是比武岛活动时间,不能对旗帜操作.")); */ return; } if (player.getGuildId() > 0) { String gname = ResManager.getInstance().getString("未知战盟"); Map map = ManagerPool.mapManager.getMap(player); // npc消失 ManagerPool.npcManager.hideNpc(npc); // 夺旗剩余冷却时间地图广播 ResBiWuDaoFlagCoolDownToClientMessage cmsg = new ResBiWuDaoFlagCoolDownToClientMessage(); cmsg.setFlagcooldown(BiWuDaoManager.BIWUDAO_FLAGCOOLDOWNMAX); MessageUtil.tell_map_message(map, cmsg); GuildTmpInfo guildTmpInfo = ManagerPool.guildServerManager.getGuildTmpInfo(player.getGuildId()); if (guildTmpInfo != null) { gname = guildTmpInfo.getGuildname(); npc.setName(gname); } // 设定当前占领者和冷却开始时间 ManagerPool.biWuDaoManager.setBiwudaoguildid(player.getGuildId()); ManagerPool.biWuDaoManager.setBiwudaoguildname(gname); ManagerPool.biWuDaoManager.setFlagcooldown(System.currentTimeMillis() / 1000); // 比武岛旗帜占领者战盟名字地图广播 ResBiWuDaoGuildnameToClientMessage gmsg = new ResBiWuDaoGuildnameToClientMessage(); gmsg.setGuildid(player.getGuildId()); gmsg.setGuildname(gname); MessageUtil.tell_map_message(map, gmsg); ManagerPool.npcManager.showNpc(npc); // 夺旗者加军功 int num = 10; if (player.getBiwudaototalrank() < BiWuDaoManager.BIWUDAO_RAMKMAX) { if (BiWuDaoManager.BIWUDAO_RAMKMAX - player.getBiwudaototalrank() < num) { num = BiWuDaoManager.BIWUDAO_RAMKMAX - player.getBiwudaototalrank(); } ManagerPool.rankManager.addranknum(player, num, RankType.BIWUDAO); player.setBiwudaototalrank(player.getBiwudaototalrank() + num); } else { MessageUtil.notify_player( player, Notifys.CHAT_SYSTEM, ResManager.getInstance().getString("已到达活动可获得军功300点上限")); } ParseUtil parseUtil = new ParseUtil(); parseUtil.setValue( String.format( ResManager.getInstance().getString("【%s】的【%s】在比武岛占领战旗获得10点军功奖励,该战盟成员获得真气、经验收益翻倍!{@}"), gname, player.getName()), new ParseUtil.VipParm( VipManager.getInstance().getVIPLevel(player), GuideType.BIWUDAO_MOVE.getValue())); MessageUtil.notify_All_player( Notifys.CHAT_BULL, parseUtil.toString(), new ArrayList<GoodsInfoRes>(), GuideType.BIWUDAO_MOVE.getValue()); // player停止采集 ManagerPool.npcManager.playerStopGather(player, true); ScriptsUtils.call(ScriptEnum.BIWUDAO, "setmapbuff"); // 地图所有玩家加减BUFF return; } else { MessageUtil.notify_player( player, Notifys.ERROR, ResManager.getInstance().getString("只有战盟成员才能夺旗")); } // player停止采集 ManagerPool.npcManager.playerStopGather(player, true); }