任务添加

lvxinran 2019-09-14 11:27:04 +08:00
parent 5545dec693
commit e401393677
11 changed files with 50 additions and 6 deletions

View File

@ -102,7 +102,11 @@ public class ChatLogic {
switch (chatType){ switch (chatType){
case 1: case 1:
//0|content需要解字符串 //0|content需要解字符串
String s = message.split("|",3)[2]; String s = message;
String[] strs = message.split("|",3);
if(strs.length<3){
s = strs[2];
}
result = ShieldedWordUtils.checkName(user,s,false,ChatContentType.WORLD_CHAT); result = ShieldedWordUtils.checkName(user,s,false,ChatContentType.WORLD_CHAT);
break; break;
case 2: case 2:

View File

@ -38,13 +38,14 @@ public class EquipManager extends MongoBase {
public void addEquip(User user,Equip equip) throws Exception { public void addEquip(User user,Equip equip) throws Exception {
updateString("equipMap." + equip.getId(), equip); updateString("equipMap." + equip.getId(), equip);
equipMap.put(equip.getId(),equip); equipMap.put(equip.getId(),equip);
addEquipHandBook(equip.getEquipId()); // addEquipHandBook(equip.getEquipId());
user.getUserMissionManager().onGameEvent(user, GameEvent.GET_EQUIP,equip.getEquipId()); user.getUserMissionManager().onGameEvent(user, GameEvent.GET_EQUIP,equip.getEquipId());
Poster.getPoster().dispatchEvent(new EquipEvent(user.getId(),equip.getEquipId())); Poster.getPoster().dispatchEvent(new EquipEvent(user.getId(),equip.getEquipId()));
} }
public void addEspecialEquip(User user,EspecialEquip especialEquip){ public void addEspecialEquip(User user,EspecialEquip especialEquip){
updateString("especialEquipMap." + especialEquip.getId(), especialEquip); updateString("especialEquipMap." + especialEquip.getId(), especialEquip);
addEquipHandBook(especialEquip.getEquipId());
especialEquipMap.put(especialEquip.getId(), especialEquip); especialEquipMap.put(especialEquip.getId(), especialEquip);
} }
@ -96,7 +97,7 @@ public class EquipManager extends MongoBase {
this.unDetermined = unDetermined; this.unDetermined = unDetermined;
} }
public void addEquipHandBook(int equipId){ public void addEquipHandBook(int equipId){
if(equipHandBook.containsKey(equipId)|| SEquipConfig.getsEquipConfigById(equipId).getIfShow()!=1){ if(equipHandBook.containsKey(equipId)){
return; return;
} }
equipHandBook.put(equipId,0); equipHandBook.put(equipId,0);
@ -118,7 +119,7 @@ public class EquipManager extends MongoBase {
return equipHandBook; return equipHandBook;
} }
public void upStarEspecialEquip(String equipId){ public void upStarEspecialEquip(String equipId) throws Exception {
EspecialEquip especialEquip = especialEquipMap.get(equipId); EspecialEquip especialEquip = especialEquipMap.get(equipId);
if(especialEquip ==null){ if(especialEquip ==null){
return; return;

View File

@ -293,7 +293,7 @@ public class GuildFightLogic {
redisUtil.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);
familyTotalStar+=fightInfo.getStarCount(); familyTotalStar+=fightInfo.getStarCount();
} }
for(Integer star:guildSetting.getStarNum()){ for(Integer star:guildSetting.getBuildingStar()){
familyTotalStar+=star; familyTotalStar+=star;
} }
redisUtil.putMapEntry(RedisKey.FAMILY_FIGHT_TOTAL_STAR,"",String.valueOf(gid),familyTotalStar); redisUtil.putMapEntry(RedisKey.FAMILY_FIGHT_TOTAL_STAR,"",String.valueOf(gid),familyTotalStar);

View File

@ -8,6 +8,7 @@ import com.ljsd.jieling.logic.STableManager;
import com.ljsd.jieling.logic.dao.*; import com.ljsd.jieling.logic.dao.*;
import com.ljsd.jieling.logic.dao.root.User; import com.ljsd.jieling.logic.dao.root.User;
import com.ljsd.jieling.logic.hero.HeroLogic; import com.ljsd.jieling.logic.hero.HeroLogic;
import com.ljsd.jieling.logic.mission.GameEvent;
import com.ljsd.jieling.network.session.ISession; import com.ljsd.jieling.network.session.ISession;
import com.ljsd.jieling.protocols.CommonProto; import com.ljsd.jieling.protocols.CommonProto;
import com.ljsd.jieling.protocols.HeroInfoProto; import com.ljsd.jieling.protocols.HeroInfoProto;
@ -486,6 +487,7 @@ public class ItemLogic {
} }
} }
user.getEquipManager().upStarEspecialEquip(equipId); user.getEquipManager().upStarEspecialEquip(equipId);
user.getUserMissionManager().onGameEvent(user, GameEvent.ESPECIAL_EQUIP,especialEquip.getStar()+1);
MessageUtil.sendMessage(session,1,MessageTypeProto.MessageType.UP_HERO_STAR_RESPONSE_VALUE,null,true); MessageUtil.sendMessage(session,1,MessageTypeProto.MessageType.UP_HERO_STAR_RESPONSE_VALUE,null,true);
}else{ }else{
MessageUtil.sendErrorResponse(session,0,MessageTypeProto.MessageType.UP_HERO_STAR_RESPONSE_VALUE,"材料不足"); MessageUtil.sendErrorResponse(session,0,MessageTypeProto.MessageType.UP_HERO_STAR_RESPONSE_VALUE,"材料不足");

View File

@ -58,4 +58,6 @@ public enum GameEvent {
BLOODY_END,// 血战结束 BLOODY_END,// 血战结束
ESPECIAL_EQUIP//获得法宝
} }

View File

@ -631,6 +631,9 @@ public class MissionLoigc {
case ENDLESS_CONSUME_ACTION: case ENDLESS_CONSUME_ACTION:
count = cumulationData.consumeAction; count = cumulationData.consumeAction;
break; break;
case ESPECIAL_EQUIP:
count = cumulationData.especialEquipStar.get(missionSubType[0]);
break;
default: default:
count = 0; count = 0;
break; break;

View File

@ -78,7 +78,8 @@ public enum MissionType {
MONSTER_ATTACK_LEVEL(57),//兽潮来袭到达x层 MONSTER_ATTACK_LEVEL(57),//兽潮来袭到达x层
TO_BE_STRONGER(58),//我要变强点击:%s次 TO_BE_STRONGER(58),//我要变强点击:%s次
BLOODY_KILL_NUMS(59),// 血战每日击杀人数 BLOODY_KILL_NUMS(59),// 血战每日击杀人数
ENDLESS_CONSUME_ACTION(60)//无尽消耗行动力 ENDLESS_CONSUME_ACTION(60),//无尽消耗行动力
ESPECIAL_EQUIP(62)//拥有%s星级法宝的数量为%s
; ;
private int missionType; private int missionType;
@ -213,6 +214,8 @@ public enum MissionType {
return BLOODY_KILL_NUMS; return BLOODY_KILL_NUMS;
case 60: case 60:
return ENDLESS_CONSUME_ACTION; return ENDLESS_CONSUME_ACTION;
case 62:
return ESPECIAL_EQUIP;
default: default:
return null; return null;
} }

View File

@ -99,6 +99,8 @@ public class DataManagerDistributor {
judges.put(MissionType.JOIN_MONSTER_ATTACK_TIMES,new JoinMonsterAttackManager()); judges.put(MissionType.JOIN_MONSTER_ATTACK_TIMES,new JoinMonsterAttackManager());
judges.put(MissionType.MONSTER_ATTACK_LEVEL,new DefaultDataManager()); judges.put(MissionType.MONSTER_ATTACK_LEVEL,new DefaultDataManager());
judges.put(MissionType.TO_BE_STRONGER,new StrongerManager()); judges.put(MissionType.TO_BE_STRONGER,new StrongerManager());
judges.put(MissionType.ESPECIAL_EQUIP,new EspecialStarManager());
} }

View File

@ -0,0 +1,21 @@
package com.ljsd.jieling.logic.mission.data;
import com.ljsd.jieling.logic.dao.CumulationData;
import com.ljsd.jieling.logic.mission.MissionType;
import java.util.Map;
public class EspecialStarManager implements BaseDataManager {
@Override
public CumulationData.Result updateData(CumulationData data, MissionType missionType, Object... parm) {
int equipStar = (int) parm[0];
Map<Integer, Integer> especialEquipStar = data.especialEquipStar;
if(especialEquipStar.containsKey(equipStar)){
especialEquipStar.put(equipStar,especialEquipStar.get(equipStar)+1);
}else{
especialEquipStar.put(equipStar,1);
}
return new CumulationData.Result(missionType);
}
}

View File

@ -254,6 +254,11 @@ public class MissionEventDistributor {
eventEnumListMap.put(GameEvent.BLOODY_END,typeList); eventEnumListMap.put(GameEvent.BLOODY_END,typeList);
eventProcessor.put(GameEvent.BLOODY_END,new CumulationDataEventProcessor()); eventProcessor.put(GameEvent.BLOODY_END,new CumulationDataEventProcessor());
typeList = new ArrayList<>();
typeList.add(MissionType.ESPECIAL_EQUIP);
eventEnumListMap.put(GameEvent.ESPECIAL_EQUIP,typeList);
eventProcessor.put(GameEvent.ESPECIAL_EQUIP,new CumulationDataEventProcessor());
} }
private static final ThreadLocal<Map<GameMisionType, List<MissionStateChangeInfo>>> threadMissionChangeList = private static final ThreadLocal<Map<GameMisionType, List<MissionStateChangeInfo>>> threadMissionChangeList =

View File

@ -894,6 +894,7 @@ public class ItemUtil {
especialEquip.setStar(item.getQuantity()); especialEquip.setStar(item.getQuantity());
especialEquipList.add(CBean2Proto.getEquipProto(especialEquip)); especialEquipList.add(CBean2Proto.getEquipProto(especialEquip));
equipManager.addEspecialEquip(user,especialEquip); equipManager.addEspecialEquip(user,especialEquip);
user.getUserMissionManager().onGameEvent(user, GameEvent.ESPECIAL_EQUIP, especialEquip.getStar());
}else if(itemType==GlobalItemType.SOUL_MARK){ }else if(itemType==GlobalItemType.SOUL_MARK){
SoulEquip soulEquip = new SoulEquip(user.getId(),equipId); SoulEquip soulEquip = new SoulEquip(user.getId(),equipId);
equipManager.addSoulEquip(soulEquip); equipManager.addSoulEquip(soulEquip);