法宝任务bug修改

master_haizei
grimm 2023-12-28 11:39:20 +08:00
parent 86025ab785
commit 73e8edece0
10 changed files with 83 additions and 41 deletions

View File

@ -125,13 +125,13 @@ public class CumulationData {
public int refreshMrTimes; //刷新迷宫寻宝次数
public int especialEquipMaxLeve; //法宝最高等级达到5
private int especialEquipMaxLeve; //法宝最高等级达到5
public Map<Integer,Integer> luckyWheelTimes = new HashMap<>(); //幸运探宝次数
public int expeditinoTimes; // 猎妖之路次数
public Map<Integer,Integer> especialEquipStar = new HashMap<>();//法宝升到%s星级的数量为
private Map<Integer,Integer> especialEquipStar = new HashMap<>();//法宝升到%s星级的数量为
public Map<Integer,Integer> finishMissionTimes = new HashMap<>();//完成迷宫寻宝%品质%次
public Map<Integer,Integer> loginTimesDay = new HashMap<>();//每日登陆次数
@ -148,7 +148,7 @@ public class CumulationData {
public int decompose_times;//献祭武将次数
public int death_path_times;// 击杀过关十绝阵num次
public int jewl_all_leve;//全体上阵成员法宝等级达到level需求人数6人不满上阵不计完成度
private int baubles_all_level;//全体上阵成员法宝等级达到level需求人数6人不满上阵不计完成度
public int daily_task_value;//
public int guild_help_value;//
public int car_play_time;//
@ -751,4 +751,32 @@ public class CumulationData {
public void addXiaoyaoyouConsumeNum(int num) {
this.xiaoyaoyouConsumeNum += num;
}
public int getEspecialEquipMaxLeve() {
return especialEquipMaxLeve;
}
public void setEspecialEquipMaxLeve(int especialEquipMaxLeve) {
this.especialEquipMaxLeve = especialEquipMaxLeve;
}
public int getBaubles_all_level() {
return baubles_all_level;
}
public void setBaubles_all_level(int baubles_all_level) {
this.baubles_all_level = baubles_all_level;
}
public Map<Integer, Integer> getEspecialEquipStar() {
return especialEquipStar;
}
public int getEspecialEquipStar(int star) {
return especialEquipStar.getOrDefault(star, 0);
}
public void setEspecialEquipStar(Map<Integer, Integer> especialEquipStar) {
this.especialEquipStar = especialEquipStar;
}
}

View File

@ -13,6 +13,7 @@ import com.ljsd.jieling.logic.activity.event.SaveHeroForceEvent;
import com.ljsd.jieling.logic.dao.*;
import com.ljsd.jieling.logic.dao.root.User;
import com.ljsd.jieling.logic.hero.TrainingLogic;
import com.ljsd.jieling.logic.mission.GameEvent;
import com.ljsd.jieling.network.session.ISession;
import com.ljsd.jieling.tools.Utils;
import com.ljsd.jieling.util.CBean2Proto;
@ -757,6 +758,7 @@ public class EquipLogic {
}
baubles.setLevel(tgLv);
user.getUserMissionManager().onGameEvent(user, GameEvent.BAUBLES_EQUIP, tgLv);
MessageUtil.sendMessage(session, 1, MessageTypeProto.MessageType.BaublesStrengthenResponse_VALUE, null, true);
}

View File

@ -37,10 +37,8 @@ public enum GameEvent {
PlAY_STORY, //玩副本
HERO_UP,//卡牌成长 0:升级 1突破 2升星
TAKE_ACTIVITY_REWARD, // 领取活动奖励
HERO_IN_TEAM, // 上阵卡牌数量
ESPECIAL_EQUIP,//获得法宝
BAUBLES_EQUIP,//获得法宝
RECHARGE_TOTAL,//累計充值
JADE_DYNASTY_REFRESH,//破阵诛仙任务日刷新
JADE_DYNASTY_WEEK_REFRESH,//破阵诛仙周刷新

View File

@ -1147,9 +1147,6 @@ public class MissionLoigc {
case FAMILY_FIGHT_ATTACK:
count = cumulationData.familyFightCount;
break;
case ESPECIAL_EQUIP:
count = cumulationData.especialEquipStar.get(missionSubType[0]);
break;
case FIND_STAR:
count = cumulationData.findStar;
break;
@ -1178,10 +1175,6 @@ public class MissionLoigc {
case REFRESH_MISSING_ROOM:
count = cumulationData.refreshMrTimes;
break;
//todo
case SPECIAL_EQUIP_LEVEL_UP:
count = cumulationData.especialEquipMaxLeve;
break;
case LUCKY_WHEELS_TIMES:
if(missionSubType[0] == 0){
for(int value : cumulationData.luckyWheelTimes.values()){

View File

@ -83,7 +83,7 @@ public enum MissionType {
BLOODY_KILL_NUMS(59),// 血战每日击杀人数
ENDLESS_CONSUME_ACTION(60),//无尽消耗行动力
FAMILY_FIGHT_ATTACK(61),//公会战进攻次数
ESPECIAL_EQUIP(62),//拥有%s星级法宝的数量为%s
BAUBLES_EQUIP(62),//拥有%s星级法宝的数量为%s
FIND_STAR(65),//占星
TAKE_FRIEND_GIFT(66),//领取好友友情点
JOIN_FAMILY(69),
@ -95,7 +95,7 @@ public enum MissionType {
CARD_RANDOM_TYPE(75),// 使用普通召唤num次十连抽num计10
FINISH_MISSING_ROOM(76),//完成迷宫寻宝%品质%次
REFRESH_MISSING_ROOM(77),//刷新迷宫寻宝%s次
SPECIAL_EQUIP_LEVEL_UP(78),//法宝提升到%s级
BAUBLES_EQUIP_LEVEL_UP(78),//法宝提升到%s级
GUILD_GIVE_TIME(79),//使用level级别0不限、1普通、2钻石小、3钻石大的公会捐献num次
TEN_CHALLENGE_TIME(80),//挑战十绝阵num次
@ -110,7 +110,7 @@ public enum MissionType {
EXPEDITION_FLOOR_TIMES(89),//猎妖之路通过第floor层的首领节点每层最多一个num次
DECOMPOSE_TIMES(100),//献祭武将num个
DEATH_PATH_TIMES(101),//击杀过关十绝阵num次
JEWL_ALL_LEVE(102),//全体上阵成员法宝等级达到level需求人数6人不满上阵不计完成度
BAUBLES_ALL_LEVE(102),//全体上阵成员法宝等级达到level需求人数6人不满上阵不计完成度
DAILY_TASK_FINISH(103),//日常任务活跃度达到num
GUILD_HELP_TIMES(104),//公会援助他人次数达到num

View File

@ -107,7 +107,7 @@ 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());
judges.put(MissionType.BAUBLES_EQUIP,new EspecialStarManager());
judges.put(MissionType.FAMILY_FIGHT_ATTACK,new FamilyFightManager());
judges.put(MissionType.FIND_STAR,new FindStarManager());
@ -119,7 +119,7 @@ public class DataManagerDistributor {
judges.put(MissionType.RECHARGE_TIMES,new RechargeTimesManager());
judges.put(MissionType.FINISH_MISSING_ROOM,new FinishMissionRoomManager());
judges.put(MissionType.REFRESH_MISSING_ROOM,new RefreshMissionRoomMamager());
judges.put(MissionType.SPECIAL_EQUIP_LEVEL_UP,new EspecialEquipLeveMamager());
judges.put(MissionType.BAUBLES_EQUIP_LEVEL_UP,new EspecialEquipLeveMamager());
judges.put(MissionType.LUCKY_WHEELS_TIMES,new LuckyWheelTimesManager());
judges.put(MissionType.FINISH_EXPEDITION_HERO_TIMES,new ExpeditionManager());
judges.put(MissionType.LOGIN_TIMES,new LoginTimeManager());
@ -132,7 +132,7 @@ public class DataManagerDistributor {
judges.put(MissionType.EXPEDITION_FLOOR_TIMES,new ExpeditionPassManger());
judges.put(MissionType.DECOMPOSE_TIMES,new DecomposeTimes());
judges.put(MissionType.DEATH_PATH_TIMES,new DeathPathTimes());
judges.put(MissionType.JEWL_ALL_LEVE,new UpJewlDataManager());
judges.put(MissionType.BAUBLES_ALL_LEVE,new UpAllBaublesLvDataManager());
judges.put(MissionType.DAILY_TASK_FINISH,new DailyTaskManager());
judges.put(MissionType.GUILD_HELP_TIMES,new GuildHelpManager());

View File

@ -1,13 +1,26 @@
package com.ljsd.jieling.logic.mission.data;
import com.ljsd.jieling.logic.dao.CumulationData;
import com.ljsd.jieling.logic.dao.root.User;
import com.ljsd.jieling.logic.mission.MissionType;
public class EspecialEquipLeveMamager implements BaseDataManager{
public class EspecialEquipLeveMamager extends AbstractDataManager {
@Override
public boolean isFinish(User user, CumulationData data, int[][] cfgValue, Object... parm) {
return data.getEspecialEquipMaxLeve() >= cfgValue[1][0];
}
@Override
public int getProcess(User user, CumulationData data, int[] missionSubType) {
return data.getEspecialEquipMaxLeve();
}
@Override
public CumulationData.Result updateData(CumulationData data, MissionType missionType, Object... parm) {
if((int)parm[0]>data.especialEquipMaxLeve){
data.especialEquipMaxLeve=(int)parm[0];
int lv = (int) parm[0];
if(lv > data.getEspecialEquipMaxLeve()){
data.setEspecialEquipMaxLeve(lv);
}
return new CumulationData.Result(missionType);
}

View File

@ -1,25 +1,33 @@
package com.ljsd.jieling.logic.mission.data;
import com.ljsd.jieling.logic.dao.CumulationData;
import com.ljsd.jieling.logic.dao.root.User;
import com.ljsd.jieling.logic.mission.MissionType;
import java.util.Map;
public class EspecialStarManager implements BaseDataManager {
public class EspecialStarManager extends AbstractDataManager {
@Override
public boolean isFinish(User user, CumulationData data, int[][] cfgValue, Object... parm) {
return data.getEspecialEquipStar(cfgValue[0][0]) >= cfgValue[1][0];
}
@Override
public int getProcess(User user, CumulationData data, int[] missionSubType) {
return data.getEspecialEquipStar(missionSubType[0]);
}
@Override
public CumulationData.Result updateData(CumulationData data, MissionType missionType, Object... parm) {
int equipStar = (int) parm[0];
Map<Integer, Integer> especialEquipStar = data.especialEquipStar;
int equipStar = ((int) parm[0])/10;
Map<Integer, Integer> especialEquipStar = data.getEspecialEquipStar();
if(especialEquipStar.containsKey(equipStar)){
especialEquipStar.put(equipStar,especialEquipStar.get(equipStar)+1);
especialEquipStar.merge(equipStar,1,Integer::sum);
}else{
especialEquipStar.put(equipStar,1);
}
if(equipStar>data.especialEquipMaxLeve){
data.especialEquipMaxLeve=equipStar;
}
return new CumulationData.Result(missionType);
}
}

View File

@ -12,7 +12,7 @@ import java.util.Map;
* Author: zsx
* CreateDate: 2020/6/1 12:03
*/
public class UpJewlDataManager extends AbstractDataManager{
public class UpAllBaublesLvDataManager extends AbstractDataManager{
@Override
public CumulationData.Result updateData(CumulationData data, MissionType missionType, Object... parm) {
@ -26,7 +26,7 @@ public class UpJewlDataManager extends AbstractDataManager{
@Override
public boolean isFinish(User user,CumulationData data, int[][] cfgValue, Object... parm) {
if(data.jewl_all_leve==cfgValue[1][0]){
if(data.getBaubles_all_level() ==cfgValue[1][0]){
return true;
}
Map<Integer, List<TeamPosHeroInfo>> teamPosForHero = user.getTeamPosManager().getTeamPosForHero();
@ -46,7 +46,7 @@ public class UpJewlDataManager extends AbstractDataManager{
}
}
if(isAll){
data.jewl_all_leve=cfgValue[1][0];
data.setBaubles_all_level(cfgValue[1][0]);
return true;
}
}
@ -55,7 +55,7 @@ public class UpJewlDataManager extends AbstractDataManager{
@Override
public int getProcess(User user, CumulationData data, int[] missionSubType) {
return data.jewl_all_leve;
return data.getBaubles_all_level();
}
}

View File

@ -200,16 +200,16 @@ public class MissionEventDistributor {
typeList = new ArrayList<>();
typeList.add(MissionType.HERO_IN_TEAM_NUMS);
typeList.add(MissionType.JEWL_ALL_LEVE);
typeList.add(MissionType.BAUBLES_ALL_LEVE);
eventEnumListMap.put(GameEvent.HERO_IN_TEAM,typeList);
eventProcessor.put(GameEvent.HERO_IN_TEAM,new CumulationDataEventProcessor());
typeList = new ArrayList<>();
typeList.add(MissionType.ESPECIAL_EQUIP);
typeList.add(MissionType.JEWL_ALL_LEVE);
typeList.add(MissionType.SPECIAL_EQUIP_LEVEL_UP);
eventEnumListMap.put(GameEvent.ESPECIAL_EQUIP,typeList);
eventProcessor.put(GameEvent.ESPECIAL_EQUIP,new CumulationDataEventProcessor());
typeList.add(MissionType.BAUBLES_EQUIP);
typeList.add(MissionType.BAUBLES_ALL_LEVE);
typeList.add(MissionType.BAUBLES_EQUIP_LEVEL_UP);
eventEnumListMap.put(GameEvent.BAUBLES_EQUIP,typeList);
eventProcessor.put(GameEvent.BAUBLES_EQUIP,new CumulationDataEventProcessor());
typeList = new ArrayList<>();
typeList.add(MissionType.REARGE_TOTAL);