任务添加

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){
case 1:
//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);
break;
case 2:

View File

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

View File

@ -293,7 +293,7 @@ public class GuildFightLogic {
redisUtil.putMapEntry(RedisKey.FAMILY_FIGHT, String.valueOf(guildInfo.getId()), String.valueOf(entry.getKey()), fightInfo);
familyTotalStar+=fightInfo.getStarCount();
}
for(Integer star:guildSetting.getStarNum()){
for(Integer star:guildSetting.getBuildingStar()){
familyTotalStar+=star;
}
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.root.User;
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.protocols.CommonProto;
import com.ljsd.jieling.protocols.HeroInfoProto;
@ -486,6 +487,7 @@ public class ItemLogic {
}
}
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);
}else{
MessageUtil.sendErrorResponse(session,0,MessageTypeProto.MessageType.UP_HERO_STAR_RESPONSE_VALUE,"材料不足");

View File

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

View File

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

View File

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

View File

@ -99,6 +99,8 @@ public class DataManagerDistributor {
judges.put(MissionType.JOIN_MONSTER_ATTACK_TIMES,new JoinMonsterAttackManager());
judges.put(MissionType.MONSTER_ATTACK_LEVEL,new DefaultDataManager());
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);
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 =

View File

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