公会战逻辑修改

back_recharge
lvxinran 2019-08-12 16:05:43 +08:00
parent a33043d8de
commit 6924500cd1
2 changed files with 20 additions and 4 deletions

View File

@ -17,7 +17,7 @@ public class FamilyDefendInfoHandler extends BaseHandler {
@Override
public void process(ISession iSession, PacketNetData netData) throws Exception {
byte[] bytes = netData.parseClientProtoNetData();
GuildLogic.viewDefendInfo(iSession,MessageTypeProto.MessageType.FAMILY_VIEW_DEFEND_RESPONSE);
GuildLogic.viewDefendInfo(iSession,MessageTypeProto.MessageType.FAMILY_VIEW_DEFEND_RESPONSE);
}
}

View File

@ -863,7 +863,12 @@ public class GuildLogic {
if(guildIds.size()<1){
return;
}
RedisUtil redisUtil = RedisUtil.getInstence();
for(Integer gid:guildIds){
String key = RedisKey.getKey(RedisKey.FAMILY_FIGHT_RANK, gid.toString(), true);
if(!redisUtil.getZset(key,0, redisUtil.getZsetSize(RedisKey.FAMILY_FIGHT_RANK)).contains(gid)){
redisUtil.zsetAddOne(RedisKey.FAMILY_FIGHT_RANK,gid.toString(),100);
}
GuildInfo guildInfo = GuilidManager.guildInfoMap.get(gid);
Map<Integer, Integer> defendInfo = guildInfo.getDefendInfo();
if(defendInfo==null||defendInfo.size()<1){
@ -884,10 +889,17 @@ public class GuildLogic {
heroAllAttribute.put(heroInfo.getHeroId(),new FamilyHeroInfo(hero.getTemplateId(),hero.getLevel(),heroAttributeMap));
}
fightInfo.setHeroAttribute(heroAllAttribute);
RedisUtil.getInstence().putMapEntry(RedisKey.FAMILY_FIGHT,String.valueOf(guildInfo.getId()),String.valueOf(entry.getKey()),fightInfo);
redisUtil.putMapEntry(RedisKey.FAMILY_FIGHT,String.valueOf(guildInfo.getId()),String.valueOf(entry.getKey()),fightInfo);
}
}
}
/**
*
* @param userAttack
* @param userDefend
*/
public void familyFightResult(User userAttack,User userDefend){
int defendGuildId =userDefend.getPlayerInfoManager().getGuildId();
FamilyFightInfo defendInfo = RedisUtil.getInstence().getMapEntry(RedisKey.FAMILY_FIGHT, String.valueOf(defendGuildId), String.valueOf(userDefend.getId()), FamilyFightInfo.class);
@ -929,8 +941,12 @@ public class GuildLogic {
Map<Integer, Integer> attribute = value.getAttribute();
attribute.put(HeroAttributeEnum.CurHP.getPropertyId(),fightResult[index]);
value.setAttribute(attribute);
RedisUtil.getInstence().putMapEntry(RedisKey.FAMILY_FIGHT,String.valueOf(defendGuildId),String.valueOf(userDefend.getId()),attribute);
index++;
}
defendInfo.setHeroAttribute(heroAttribute);
if(fightResult[0]==0){
defendInfo.setStarCount(defendInfo.getStarCount()-1);
}
RedisUtil.getInstence().putMapEntry(RedisKey.FAMILY_FIGHT,String.valueOf(defendGuildId),String.valueOf(userDefend.getId()),defendInfo);
}
}