灵兽 结构修改,部分接口修改
parent
674e421e27
commit
42c7e31723
|
@ -30,6 +30,8 @@ public interface GlobalItemType {
|
|||
int RIDE = 18;//坐骑
|
||||
int JEWEL = 19;//宝器
|
||||
int SELECTSecretBox=20; // 自选宝箱(前端要区分)
|
||||
int SpecialMonster=21; // 灵兽
|
||||
int SpecialMonsterItem=22; // 灵兽碎片
|
||||
//物品使用类型
|
||||
int NO_USE = 0 ; //不使用
|
||||
int RANDOM_USE = 1; // 随机使用
|
||||
|
|
|
@ -360,17 +360,17 @@ public class GMRequestHandler extends BaseHandler{
|
|||
cUser.getWorkShopController().updateTechLevel(entry.getValue(),entry.getKey(),max);
|
||||
}
|
||||
//异妖
|
||||
Map<Integer, SDifferDemonsConfig> sDifferDemonsConfigMap = SDifferDemonsConfig.sDifferDemonsConfigMap;
|
||||
PokemonManager pokemonManager = cUser.getPokemonManager();
|
||||
for(Map.Entry<Integer, SDifferDemonsConfig> entry:sDifferDemonsConfigMap.entrySet()){
|
||||
Pokemon pokemon = new Pokemon(entry.getKey());
|
||||
for(int component:entry.getValue().getComonpentList()){
|
||||
int level = SDifferDemonsComonpentsConfig.getsDifferDemonsComonpentsConfigMap(component).size();
|
||||
pokemon.getComonpentsLevelMap().put(component,level);
|
||||
pokemon.setAllStage(level);
|
||||
}
|
||||
pokemonManager.addPokemon(pokemon);
|
||||
}
|
||||
// Map<Integer, SDifferDemonsConfig> sDifferDemonsConfigMap = SDifferDemonsConfig.sDifferDemonsConfigMap;
|
||||
// PokemonManager pokemonManager = cUser.getPokemonManager();
|
||||
// for(Map.Entry<Integer, SDifferDemonsConfig> entry:sDifferDemonsConfigMap.entrySet()){
|
||||
// Pokemon pokemon = new Pokemon(entry.getKey());
|
||||
// for(int component:entry.getValue().getComonpentList()){
|
||||
// int level = SDifferDemonsComonpentsConfig.getsDifferDemonsComonpentsConfigMap(component).size();
|
||||
// pokemon.getComonpentsLevelMap().put(component,level);
|
||||
// pokemon.setAllStage(level);
|
||||
// }
|
||||
// pokemonManager.addPokemon(pokemon);
|
||||
// }
|
||||
break;
|
||||
case GlobalGm.EXPEDITION_SCORE:
|
||||
cUser.getExpeditionManager().addScore(prarm2);
|
||||
|
|
|
@ -1779,18 +1779,15 @@ public class MapLogic {
|
|||
crossInfo.getHeroIds().add(hero.getTemplateId());
|
||||
}
|
||||
|
||||
List<TeamPosForPokenInfo> teamPosForPokenInfos = user.getTeamPosManager().getTeamPosForPoken().get(mapManager.getTeamId());
|
||||
if (teamPosForPokenInfos != null) {
|
||||
// 异妖
|
||||
crossInfo.getPokemons().clear();
|
||||
for (TeamPosForPokenInfo teamPosForPokenInfo : teamPosForPokenInfos) {
|
||||
Pokemon pokemon = user.getPokemonManager().getPokemonMap().get(teamPosForPokenInfo.getPokenId());
|
||||
if (pokemon == null) {
|
||||
continue;
|
||||
}
|
||||
crossInfo.getPokemons().add(pokemon.getId());
|
||||
}
|
||||
}
|
||||
// List<TeamPosForPokenInfo> teamPosForPokenInfos = user.getTeamPosManager().getTeamPosForPoken().get(mapManager.getTeamId());
|
||||
// if (teamPosForPokenInfos != null) {
|
||||
// // 异妖
|
||||
// crossInfo.getPokemons().clear();
|
||||
// for (TeamPosForPokenInfo teamPosForPokenInfo : teamPosForPokenInfos) {
|
||||
// Pokemon pokemon = user.getPokemonManager().getPokemonMap().get(teamPosForPokenInfo.getPokenId());
|
||||
//// crossInfo.getPokemons().add(pokemon.getId());
|
||||
// }
|
||||
// }
|
||||
|
||||
crossInfo.setForces(heroForces);
|
||||
SChallengeMapConfig sChallengeMapConfig = STableManager.getConfig(SChallengeMapConfig.class).get(mapManager.getCurMapId());
|
||||
|
|
|
@ -2,6 +2,8 @@ package com.ljsd.jieling.logic.dao;
|
|||
|
||||
import com.ljsd.common.mogodb.MongoBase;
|
||||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
import com.ljsd.jieling.util.KeyGenUtils;
|
||||
import com.ljsd.jieling.util.UUIDEnum;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
|
@ -10,56 +12,87 @@ import java.util.Set;
|
|||
|
||||
public class Pokemon extends MongoBase {
|
||||
|
||||
private int id;
|
||||
private int tmpId;
|
||||
|
||||
private Map<Integer,Integer> comonpentsLevelMap; // 组件进阶信息
|
||||
private String id;
|
||||
|
||||
private int level;
|
||||
|
||||
private int allStage;
|
||||
private int star;
|
||||
|
||||
public Pokemon(){
|
||||
//绑定关系
|
||||
this.setRootCollection(User._COLLECTION_NAME);
|
||||
}
|
||||
|
||||
public Pokemon(int id){
|
||||
public Pokemon(int uid,int tmpId){
|
||||
this.setRootCollection(User._COLLECTION_NAME);
|
||||
this.id = id;
|
||||
this.comonpentsLevelMap = new HashMap<>();
|
||||
this.id = KeyGenUtils.produceIdByModule(UUIDEnum.HERO, uid);
|
||||
this.tmpId = tmpId;
|
||||
this.level = 1;
|
||||
}
|
||||
|
||||
public void upOrActiveComonpent(int comonpentId) throws Exception {
|
||||
int level =1;
|
||||
Integer integer = this.comonpentsLevelMap.get(comonpentId);
|
||||
if( integer != null){
|
||||
level = integer+1 ;
|
||||
}
|
||||
updateString("comonpentsLevelMap."+comonpentId,level);
|
||||
this.comonpentsLevelMap.put(comonpentId,level);
|
||||
}
|
||||
// public void upOrActiveComonpent(int comonpentId) throws Exception {
|
||||
// int level =1;
|
||||
// Integer integer = this.comonpentsLevelMap.get(comonpentId);
|
||||
// if( integer != null){
|
||||
// level = integer+1 ;
|
||||
// }
|
||||
// updateString("comonpentsLevelMap."+comonpentId,level);
|
||||
// this.comonpentsLevelMap.put(comonpentId,level);
|
||||
// }
|
||||
|
||||
|
||||
public int getAllStage() {
|
||||
return allStage;
|
||||
}
|
||||
// public int getAllStage() {
|
||||
// return allStage;
|
||||
// }
|
||||
|
||||
public void setAllStage(int allStage) throws Exception {
|
||||
updateString("allStage",allStage);
|
||||
this.allStage = allStage;
|
||||
}
|
||||
// public void setAllStage(int allStage) throws Exception {
|
||||
// updateString("allStage",allStage);
|
||||
// this.allStage = allStage;
|
||||
// }
|
||||
|
||||
public int getId() {
|
||||
public String getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public Map<Integer, Integer> getComonpentsLevelMap() {
|
||||
return comonpentsLevelMap;
|
||||
public int getTmpId() {
|
||||
return tmpId;
|
||||
}
|
||||
|
||||
public void clearComonpentsLevelMap(){
|
||||
this.comonpentsLevelMap.clear();
|
||||
updateString("comonpentsLevelMap",new HashMap<>());
|
||||
public void setTmpId(int tmpId) {
|
||||
this.tmpId = tmpId;
|
||||
}
|
||||
|
||||
public void setId(String id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public int getLevel() {
|
||||
return level;
|
||||
}
|
||||
|
||||
public void setLevel(int level) {
|
||||
this.level = level;
|
||||
}
|
||||
|
||||
public int getStar() {
|
||||
return star;
|
||||
}
|
||||
|
||||
public void setStar(int star) {
|
||||
this.star = star;
|
||||
}
|
||||
|
||||
|
||||
// public Map<Integer, Integer> getComonpentsLevelMap() {
|
||||
// return comonpentsLevelMap;
|
||||
// }
|
||||
//
|
||||
// public void clearComonpentsLevelMap(){
|
||||
// this.comonpentsLevelMap.clear();
|
||||
// updateString("comonpentsLevelMap",new HashMap<>());
|
||||
// }
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -8,32 +8,29 @@ import java.util.HashMap;
|
|||
import java.util.Map;
|
||||
|
||||
public class PokemonManager extends MongoBase {
|
||||
private Map<Integer,Pokemon> pokemonMap=new HashMap<>();
|
||||
|
||||
private Map<Integer,Pokemon> ringFireMap=new HashMap<>();
|
||||
private Map<String,Pokemon> pokemonMap=new HashMap<>();
|
||||
|
||||
public PokemonManager() {
|
||||
this.setRootCollection(User._COLLECTION_NAME);
|
||||
}
|
||||
|
||||
public void addPokemon(Pokemon pokemon) throws Exception {
|
||||
pokemon.init(this.getRootId(),getMongoKey() + ".pokemonMap." + pokemon.getId());
|
||||
updateString("pokemonMap." + pokemon.getId(), pokemon);
|
||||
public void addPokemon(Pokemon pokemon) {
|
||||
pokemonMap.put(pokemon.getId(),pokemon);
|
||||
updateString("pokemonMap." + pokemon.getId(), pokemon);
|
||||
}
|
||||
|
||||
public void addRingFirePokemon(Pokemon pokemon) throws Exception {
|
||||
pokemon.init(this.getRootId(),getMongoKey() + ".ringFireMap." + pokemon.getId());
|
||||
updateString("ringFireMap." + pokemon.getId(), pokemon);
|
||||
ringFireMap.put(pokemon.getId(),pokemon);
|
||||
}
|
||||
// public void addRingFirePokemon(Pokemon pokemon) throws Exception {
|
||||
// pokemon.init(this.getRootId(),getMongoKey() + ".ringFireMap." + pokemon.getId());
|
||||
// updateString("ringFireMap." + pokemon.getId(), pokemon);
|
||||
// ringFireMap.put(pokemon.getId(),pokemon);
|
||||
// }
|
||||
|
||||
|
||||
public Map<Integer, Pokemon> getPokemonMap() {
|
||||
public Map<String, Pokemon> getPokemonMap() {
|
||||
return pokemonMap;
|
||||
}
|
||||
|
||||
public Map<Integer, Pokemon> getRingFireMap() {
|
||||
return ringFireMap;
|
||||
}
|
||||
// public Map<Integer, Pokemon> getRingFireMap() {
|
||||
// return ringFireMap;
|
||||
// }
|
||||
}
|
||||
|
|
|
@ -261,6 +261,7 @@ public class CombatLogic {
|
|||
Map<Integer, Integer> randomCardMap = new HashMap<>();
|
||||
Map<Integer, Integer> randomEquipMap = new HashMap<>();
|
||||
Map<Integer,Integer> randomRandomMap = new HashMap<>();
|
||||
ItemMap itemObj = new ItemMap();
|
||||
CommonProto.Drop.Builder baseBuilder = CommonProto.Drop.newBuilder();
|
||||
CommonProto.Drop.Builder randomBuilder = CommonProto.Drop.newBuilder();
|
||||
int fightId = mainLevelManager.getFightId();
|
||||
|
@ -274,16 +275,16 @@ public class CombatLogic {
|
|||
}
|
||||
}
|
||||
int[] randomRewardMin = targetMainLevelConfig.getRandomRewardMin();
|
||||
ItemUtil.combineReward(user,false,randomRewardMin, times,baseItemMap,baseCardMap,baseEquipMap,baseRandomMap,BIReason.ADVENTURE_BASE_REWARD);
|
||||
ItemUtil.combineReward(user,false,randomRewardMin, times,baseItemMap,baseCardMap,baseEquipMap,baseRandomMap,itemObj,BIReason.ADVENTURE_BASE_REWARD);
|
||||
int timesTemp =times;
|
||||
while (timesTemp-->0){
|
||||
ItemUtil.combineReward(user,true,targetMainLevelConfig.getRandomReward(), 1f,randomItemMap,randomCardMap,randomEquipMap,randomRandomMap,BIReason.ADVENTURE_RANDOM_REWARDD);
|
||||
ItemUtil.combineReward(user,true,targetMainLevelConfig.getRandomReward(), 1f,randomItemMap,randomCardMap,randomEquipMap,randomRandomMap,itemObj,BIReason.ADVENTURE_RANDOM_REWARDD);
|
||||
}
|
||||
randomEquipMap = equipAutoCombine(randomEquipMap);
|
||||
//清除无用活动道具
|
||||
removeNoUseItem(user,randomItemMap);
|
||||
ItemUtil.drop(user,baseBuilder,baseItemMap,baseCardMap,baseEquipMap,baseRandomMap,BIReason.ADVENTURE_BASE_REWARD);
|
||||
ItemUtil.drop(user,randomBuilder,randomItemMap,randomCardMap,randomEquipMap,randomRandomMap,BIReason.ADVENTURE_RANDOM_REWARDD);
|
||||
ItemUtil.drop(user,baseBuilder,baseItemMap,baseCardMap,baseEquipMap,baseRandomMap,itemObj,BIReason.ADVENTURE_BASE_REWARD);
|
||||
ItemUtil.drop(user,randomBuilder,randomItemMap,randomCardMap,randomEquipMap,randomRandomMap,itemObj,BIReason.ADVENTURE_RANDOM_REWARDD);
|
||||
Map<Integer, CommonProto.Drop> result = new HashMap<>(2);
|
||||
result.put(1,baseBuilder.build());
|
||||
result.put(2,randomBuilder.build());
|
||||
|
@ -934,6 +935,7 @@ public class CombatLogic {
|
|||
Map<Integer, Integer> randomCardMap = new HashMap<>();
|
||||
Map<Integer, Integer> randomEquipMap = new HashMap<>();
|
||||
Map<Integer,Integer> randomRandomMap = new HashMap<>();
|
||||
ItemMap itemObj = new ItemMap();
|
||||
baseBuilder = CommonProto.Drop.newBuilder();
|
||||
randomBuilder = CommonProto.Drop.newBuilder();
|
||||
int takeTimes= 0;
|
||||
|
@ -942,10 +944,10 @@ public class CombatLogic {
|
|||
Integer times = fightStateInfoItem.getValue();
|
||||
SMainLevelConfig sMainLevelConfig = SMainLevelConfig.config.get(fightId);
|
||||
int[] randomRewardMin = sMainLevelConfig.getRandomRewardMin();
|
||||
ItemUtil.combineReward(user,true,randomRewardMin, times,baseItemMap,baseCardMap,baseEquipMap,baseRandomMap,BIReason.ADVENTURE_BASE_REWARD);
|
||||
ItemUtil.combineReward(user,true,randomRewardMin, times,baseItemMap,baseCardMap,baseEquipMap,baseRandomMap,itemObj,BIReason.ADVENTURE_BASE_REWARD);
|
||||
int timesTemp =times;
|
||||
while (!viewBaseReward&×Temp-->0){
|
||||
ItemUtil.combineReward(user,true,sMainLevelConfig.getRandomReward(), 1f,randomItemMap,randomCardMap,randomEquipMap,randomRandomMap,BIReason.ADVENTURE_RANDOM_REWARDD);
|
||||
ItemUtil.combineReward(user,true,sMainLevelConfig.getRandomReward(), 1f,randomItemMap,randomCardMap,randomEquipMap,randomRandomMap,itemObj,BIReason.ADVENTURE_RANDOM_REWARDD);
|
||||
}
|
||||
takeTimes+=times;
|
||||
}
|
||||
|
@ -960,10 +962,10 @@ public class CombatLogic {
|
|||
if(maxTimes>0){
|
||||
times = times > maxTimes?maxTimes:times;
|
||||
int[] randomRewardMin = targetMainLevelConfig.getRandomRewardMin();
|
||||
ItemUtil.combineReward(user,true,randomRewardMin, times,baseItemMap,baseCardMap,baseEquipMap,baseRandomMap,BIReason.ADVENTURE_BASE_REWARD);
|
||||
ItemUtil.combineReward(user,true,randomRewardMin, times,baseItemMap,baseCardMap,baseEquipMap,baseRandomMap,itemObj,BIReason.ADVENTURE_BASE_REWARD);
|
||||
int timesTemp =times;
|
||||
while (!viewBaseReward&×Temp-->0){
|
||||
ItemUtil.combineReward(user,true,targetMainLevelConfig.getRandomReward(), 1f,randomItemMap,randomCardMap,randomEquipMap,randomRandomMap,BIReason.ADVENTURE_RANDOM_REWARDD);
|
||||
ItemUtil.combineReward(user,true,targetMainLevelConfig.getRandomReward(), 1f,randomItemMap,randomCardMap,randomEquipMap,randomRandomMap,itemObj,BIReason.ADVENTURE_RANDOM_REWARDD);
|
||||
}
|
||||
lastTimeTakes=times;
|
||||
}
|
||||
|
@ -994,8 +996,8 @@ public class CombatLogic {
|
|||
return this;
|
||||
}
|
||||
mainLevelManager.afterTakeStateReward(reset,lastTimeTakes,time);
|
||||
ItemUtil.drop(user,baseBuilder,baseItemMap,baseCardMap,baseEquipMap,baseRandomMap, BIReason.ADVENTURE_BASE_REWARD);
|
||||
ItemUtil.drop(user,randomBuilder,randomItemMap,randomCardMap,randomEquipMap,randomRandomMap,BIReason.ADVENTURE_RANDOM_REWARDD);
|
||||
ItemUtil.drop(user,baseBuilder,baseItemMap,baseCardMap,baseEquipMap,baseRandomMap,itemObj, BIReason.ADVENTURE_BASE_REWARD);
|
||||
ItemUtil.drop(user,randomBuilder,randomItemMap,randomCardMap,randomEquipMap,randomRandomMap,itemObj,BIReason.ADVENTURE_RANDOM_REWARDD);
|
||||
myResult = false;
|
||||
return this;
|
||||
}
|
||||
|
|
|
@ -731,18 +731,18 @@ public class HeroLogic{
|
|||
|
||||
cacheHeroIds.add(heroId);
|
||||
}
|
||||
Map<Integer, Pokemon> pokemonMap = user.getPokemonManager().getPokemonMap();
|
||||
for(CommonProto.TeamPokemonInfo pokemonInfo : pokemonoIds){
|
||||
int pokemonId = pokemonInfo.getPokemonId();
|
||||
Pokemon pokemon = pokemonMap.get(pokemonId);
|
||||
|
||||
if( pokemon == null){
|
||||
return "pokemono not exists";
|
||||
}
|
||||
if(pokemon.getAllStage()==0){
|
||||
return "no active";
|
||||
}
|
||||
}
|
||||
// Map<Integer, Pokemon> pokemonMap = user.getPokemonManager().getPokemonMap();
|
||||
// for(CommonProto.TeamPokemonInfo pokemonInfo : pokemonoIds){
|
||||
// int pokemonId = pokemonInfo.getPokemonId();
|
||||
// Pokemon pokemon = pokemonMap.get(pokemonId);
|
||||
//
|
||||
// if( pokemon == null){
|
||||
// return "pokemono not exists";
|
||||
// }
|
||||
// if(pokemon.getAllStage()==0){
|
||||
// return "no active";
|
||||
// }
|
||||
// }
|
||||
int size = pokemonoIds.size();
|
||||
// boolean allowed = user.getPlayerInfoManager().checkAndUpdate(VipPrivilegeType.POKEMON_NUM, size);
|
||||
boolean allowed =checkPokeManPos(user,size);
|
||||
|
@ -1337,20 +1337,21 @@ public class HeroLogic{
|
|||
if (teamPosForPokenInfos==null || teamPosForPokenInfos.isEmpty()){
|
||||
return "";
|
||||
}
|
||||
Map<Integer, Pokemon> pokemonMap = user.getPokemonManager().getPokemonMap();
|
||||
Collections.sort(teamPosForPokenInfos);
|
||||
int size = teamPosForPokenInfos.size();
|
||||
for(int i=0;i<size;i++){
|
||||
TeamPosForPokenInfo teamPosForPokenInfo = teamPosForPokenInfos.get(i);
|
||||
int pokemonId = teamPosForPokenInfo.getPokenId();
|
||||
int position = teamPosForPokenInfo.getPosition();
|
||||
Pokemon pokemon = pokemonMap.get(pokemonId);
|
||||
SDifferDemonsStageConfig sDifferDemonsStageConfig = SDifferDemonsStageConfig.getsDifferDemonsStageConfigMap(pokemonId*100 + pokemon.getAllStage());
|
||||
pokenSkillResult.append(position).append("#").append(sDifferDemonsStageConfig.getSkillId());
|
||||
if(i!=size-1){
|
||||
pokenSkillResult.append("|");
|
||||
}
|
||||
}
|
||||
//todo 灵兽
|
||||
// Map<Integer, Pokemon> pokemonMap = user.getPokemonManager().getPokemonMap();
|
||||
// Collections.sort(teamPosForPokenInfos);
|
||||
// int size = teamPosForPokenInfos.size();
|
||||
// for(int i=0;i<size;i++){
|
||||
// TeamPosForPokenInfo teamPosForPokenInfo = teamPosForPokenInfos.get(i);
|
||||
// int pokemonId = teamPosForPokenInfo.getPokenId();
|
||||
// int position = teamPosForPokenInfo.getPosition();
|
||||
// Pokemon pokemon = pokemonMap.get(pokemonId);
|
||||
// SDifferDemonsStageConfig sDifferDemonsStageConfig = SDifferDemonsStageConfig.getsDifferDemonsStageConfigMap(pokemonId*100 + pokemon.getAllStage());
|
||||
// pokenSkillResult.append(position).append("#").append(sDifferDemonsStageConfig.getSkillId());
|
||||
// if(i!=size-1){
|
||||
// pokenSkillResult.append("|");
|
||||
// }
|
||||
// }
|
||||
return pokenSkillResult.toString();
|
||||
}
|
||||
|
||||
|
@ -1360,22 +1361,24 @@ public class HeroLogic{
|
|||
if (teamPosForPokenInfos==null){
|
||||
return "";
|
||||
}
|
||||
Map<Integer, Pokemon> pokemonMap = user.getPokemonManager().getPokemonMap();
|
||||
Collections.sort(teamPosForPokenInfos);
|
||||
for(TeamPosForPokenInfo teamPosForPokenInfo:teamPosForPokenInfos){
|
||||
int pokemonId = teamPosForPokenInfo.getPokenId();
|
||||
Pokemon pokemon = pokemonMap.get(pokemonId);
|
||||
SDifferDemonsStageConfig sDifferDemonsStageConfig = SDifferDemonsStageConfig.getsDifferDemonsStageConfigMap(pokemonId*100 + pokemon.getAllStage());
|
||||
if(StringUtil.isEmpty(sDifferDemonsStageConfig.getPassiveSkillString())){
|
||||
continue;
|
||||
}
|
||||
pokenSkillResult.append(sDifferDemonsStageConfig.getPassiveSkillString()).append("|");
|
||||
}
|
||||
String s = pokenSkillResult.toString();
|
||||
if(StringUtil.isEmpty(s)){
|
||||
return "";
|
||||
}
|
||||
return s.substring( 0,(s.length()-1));
|
||||
//todo 灵兽
|
||||
// Map<Integer, Pokemon> pokemonMap = user.getPokemonManager().getPokemonMap();
|
||||
// Collections.sort(teamPosForPokenInfos);
|
||||
// for(TeamPosForPokenInfo teamPosForPokenInfo:teamPosForPokenInfos){
|
||||
// int pokemonId = teamPosForPokenInfo.getPokenId();
|
||||
// Pokemon pokemon = pokemonMap.get(pokemonId);
|
||||
// SDifferDemonsStageConfig sDifferDemonsStageConfig = SDifferDemonsStageConfig.getsDifferDemonsStageConfigMap(pokemonId*100 + pokemon.getAllStage());
|
||||
// if(StringUtil.isEmpty(sDifferDemonsStageConfig.getPassiveSkillString())){
|
||||
// continue;
|
||||
// }
|
||||
// pokenSkillResult.append(sDifferDemonsStageConfig.getPassiveSkillString()).append("|");
|
||||
// }
|
||||
// String s = pokenSkillResult.toString();
|
||||
// if(StringUtil.isEmpty(s)){
|
||||
// return "";
|
||||
// }
|
||||
// return s.substring( 0,(s.length()-1));
|
||||
return "";
|
||||
}
|
||||
|
||||
public String getRobotPokenmonSkills(SArenaRobotConfig sArenaRobotConfig){
|
||||
|
@ -1419,24 +1422,25 @@ public class HeroLogic{
|
|||
PokemonManager pokemonManager = user.getPokemonManager();
|
||||
SCHero scHero = SCHero.getsCHero().get(hero.getTemplateId());
|
||||
int profession = scHero.getProfession();
|
||||
Map<Integer, Pokemon> pokemonMap = pokemonManager.getPokemonMap();
|
||||
for(Map.Entry<Integer,Pokemon> item : pokemonMap.entrySet()){
|
||||
Pokemon pokemon = item.getValue();
|
||||
Map<Integer, Integer> comonpentsLevelMap = pokemon.getComonpentsLevelMap();
|
||||
for(Map.Entry<Integer, Integer> comonpentsLevelItem : comonpentsLevelMap.entrySet()){
|
||||
Integer comonpentId = comonpentsLevelItem.getKey();
|
||||
Integer comonpentLevel = comonpentsLevelItem.getValue();
|
||||
Map<Integer, SDifferDemonsComonpentsConfig> sDifferDemonsComonpentsConfigMap = SDifferDemonsComonpentsConfig.getsDifferDemonsComonpentsConfigMap(comonpentId);
|
||||
SDifferDemonsComonpentsConfig sDifferDemonsComonpentsConfig = sDifferDemonsComonpentsConfigMap.get(comonpentLevel);
|
||||
Map<Integer, Map<Integer, Integer>> extraAddMap = sDifferDemonsComonpentsConfig.getExtraAddMap();
|
||||
if(extraAddMap!=null&&(extraAddMap.containsKey(profession)||extraAddMap.containsKey(0))){
|
||||
int innerId = extraAddMap.containsKey(0) ? 0 : profession;
|
||||
Map<Integer, Integer> professionAddMap = extraAddMap.get(innerId);
|
||||
combinedAttribute(professionAddMap,heroAllAttribute);
|
||||
}
|
||||
combinedAttribute(sDifferDemonsComonpentsConfig.getBaseAttribute(),heroAllAttribute);
|
||||
}
|
||||
}
|
||||
//todo 灵兽
|
||||
// Map<Integer, Pokemon> pokemonMap = pokemonManager.getPokemonMap();
|
||||
// for(Map.Entry<Integer,Pokemon> item : pokemonMap.entrySet()){
|
||||
// Pokemon pokemon = item.getValue();
|
||||
// Map<Integer, Integer> comonpentsLevelMap = pokemon.getComonpentsLevelMap();
|
||||
// for(Map.Entry<Integer, Integer> comonpentsLevelItem : comonpentsLevelMap.entrySet()){
|
||||
// Integer comonpentId = comonpentsLevelItem.getKey();
|
||||
// Integer comonpentLevel = comonpentsLevelItem.getValue();
|
||||
// Map<Integer, SDifferDemonsComonpentsConfig> sDifferDemonsComonpentsConfigMap = SDifferDemonsComonpentsConfig.getsDifferDemonsComonpentsConfigMap(comonpentId);
|
||||
// SDifferDemonsComonpentsConfig sDifferDemonsComonpentsConfig = sDifferDemonsComonpentsConfigMap.get(comonpentLevel);
|
||||
// Map<Integer, Map<Integer, Integer>> extraAddMap = sDifferDemonsComonpentsConfig.getExtraAddMap();
|
||||
// if(extraAddMap!=null&&(extraAddMap.containsKey(profession)||extraAddMap.containsKey(0))){
|
||||
// int innerId = extraAddMap.containsKey(0) ? 0 : profession;
|
||||
// Map<Integer, Integer> professionAddMap = extraAddMap.get(innerId);
|
||||
// combinedAttribute(professionAddMap,heroAllAttribute);
|
||||
// }
|
||||
// combinedAttribute(sDifferDemonsComonpentsConfig.getBaseAttribute(),heroAllAttribute);
|
||||
// }
|
||||
// }
|
||||
//装备总战力评分
|
||||
int equipForce=0;
|
||||
boolean needRemove = false;
|
||||
|
@ -2120,110 +2124,112 @@ public class HeroLogic{
|
|||
int uid = iSession.getUid();
|
||||
User user = UserManager.getUser(uid);
|
||||
PokemonManager pokemonManager = user.getPokemonManager();
|
||||
Map<Integer, Pokemon> pokemonMap = pokemonManager.getPokemonMap();
|
||||
//todo 灵兽
|
||||
// Map<Integer, Pokemon> pokemonMap = pokemonManager.getPokemonMap();
|
||||
//
|
||||
// //TODO 测试
|
||||
// if(pokemonMap.isEmpty()){
|
||||
// for(SDifferDemonsConfig sDifferDemonsConfig : SDifferDemonsConfig.sDifferDemonsConfigMap.values() ){
|
||||
// pokemonManager.addPokemon(new Pokemon(sDifferDemonsConfig.getId()));
|
||||
// }
|
||||
// }
|
||||
// List<CommonProto.PokemonInfo> pokemonInfoList = new ArrayList<>();
|
||||
//
|
||||
// for(Pokemon pokemon : pokemonMap.values()){
|
||||
// pokemonInfoList.add(CBean2Proto.getPokemon(pokemon));
|
||||
// }
|
||||
|
||||
//TODO 测试
|
||||
if(pokemonMap.isEmpty()){
|
||||
for(SDifferDemonsConfig sDifferDemonsConfig : SDifferDemonsConfig.sDifferDemonsConfigMap.values() ){
|
||||
pokemonManager.addPokemon(new Pokemon(sDifferDemonsConfig.getId()));
|
||||
}
|
||||
}
|
||||
List<CommonProto.PokemonInfo> pokemonInfoList = new ArrayList<>();
|
||||
|
||||
for(Pokemon pokemon : pokemonMap.values()){
|
||||
pokemonInfoList.add(CBean2Proto.getPokemon(pokemon));
|
||||
}
|
||||
|
||||
HeroInfoProto.GetAllPokemonResponse build = HeroInfoProto.GetAllPokemonResponse.newBuilder().addAllPokemonInfo(pokemonInfoList).build();
|
||||
MessageUtil.sendMessage(iSession,1,MessageTypeProto.MessageType.GET_ALL_POKEMON_RESPONSE_VALUE,build,true);
|
||||
// HeroInfoProto.GetAllPokemonResponse build = HeroInfoProto.GetAllPokemonResponse.newBuilder().addAllPokemonInfo(pokemonInfoList).build();
|
||||
MessageUtil.sendMessage(iSession,1,MessageTypeProto.MessageType.GET_ALL_POKEMON_RESPONSE_VALUE,null,true);
|
||||
}
|
||||
|
||||
//异妖相关 组件放置升级
|
||||
public void pokenmonUpLevel(ISession session,int pokemonId,int comonpentId) throws Exception {
|
||||
//todo 灵兽
|
||||
int uid = session.getUid();
|
||||
User user = UserManager.getUser(uid);
|
||||
PokemonManager pokemonManager = user.getPokemonManager();
|
||||
Pokemon pokemon = pokemonManager.getPokemonMap().get(pokemonId);
|
||||
if(pokemon == null){
|
||||
throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE);
|
||||
}
|
||||
Integer oldLevel = pokemon.getComonpentsLevelMap().get(comonpentId);
|
||||
if( null == oldLevel){
|
||||
//消耗组件
|
||||
boolean enough = ItemUtil.itemCost(user, new int[][]{{comonpentId, 1}},BIReason.POKEMON_LOAD_CONSUME,pokemonId);
|
||||
if(!enough){
|
||||
throw new ErrorCodeException(ErrorCode.newDefineCode("not enough"));
|
||||
}
|
||||
pokemon.upOrActiveComonpent(comonpentId);
|
||||
MessageUtil.sendMessage(session,1,MessageTypeProto.MessageType.POKEMON_COMONPENT_LEVELUP_RESPONSE_VALUE,null,true);
|
||||
user.getUserMissionManager().onGameEvent(user,GameEvent.POKEMON_UPLEVEL,pokemonId);
|
||||
return;
|
||||
}
|
||||
if (checkPokemonComonpent(pokemonId, comonpentId,oldLevel, user)){
|
||||
throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE);
|
||||
}
|
||||
pokemon.upOrActiveComonpent(comonpentId);
|
||||
// User user = UserManager.getUser(uid);
|
||||
// PokemonManager pokemonManager = user.getPokemonManager();
|
||||
// Pokemon pokemon = pokemonManager.getPokemonMap().get(pokemonId);
|
||||
// if(pokemon == null){
|
||||
// throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE);
|
||||
// }
|
||||
// Integer oldLevel = pokemon.getComonpentsLevelMap().get(comonpentId);
|
||||
// if( null == oldLevel){
|
||||
// //消耗组件
|
||||
// boolean enough = ItemUtil.itemCost(user, new int[][]{{comonpentId, 1}},BIReason.POKEMON_LOAD_CONSUME,pokemonId);
|
||||
// if(!enough){
|
||||
// throw new ErrorCodeException(ErrorCode.newDefineCode("not enough"));
|
||||
// }
|
||||
// pokemon.upOrActiveComonpent(comonpentId);
|
||||
// MessageUtil.sendMessage(session,1,MessageTypeProto.MessageType.POKEMON_COMONPENT_LEVELUP_RESPONSE_VALUE,null,true);
|
||||
// user.getUserMissionManager().onGameEvent(user,GameEvent.POKEMON_UPLEVEL,pokemonId);
|
||||
// return;
|
||||
// }
|
||||
// if (checkPokemonComonpent(pokemonId, comonpentId,oldLevel, user)){
|
||||
// throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE);
|
||||
// }
|
||||
// pokemon.upOrActiveComonpent(comonpentId);
|
||||
|
||||
//发送成功消息
|
||||
MessageUtil.sendMessage(session,1,MessageTypeProto.MessageType.POKEMON_COMONPENT_LEVELUP_RESPONSE_VALUE,null,true);
|
||||
user.getUserMissionManager().onGameEvent(user,GameEvent.POKEMON_UPLEVEL,pokemonId);
|
||||
// user.getUserMissionManager().onGameEvent(user,GameEvent.POKEMON_UPLEVEL,pokemonId);
|
||||
|
||||
}
|
||||
|
||||
//
|
||||
public void pokemonAdvanced(ISession session,int pokemonId) throws Exception {
|
||||
int uid = session.getUid();
|
||||
User user = UserManager.getUser(uid);
|
||||
PokemonManager pokemonManager = user.getPokemonManager();
|
||||
Pokemon pokemon = pokemonManager.getPokemonMap().get(pokemonId);
|
||||
if(pokemon == null){
|
||||
throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE);
|
||||
}
|
||||
SDifferDemonsConfig sDifferDemonsConfig = SDifferDemonsConfig.getsDifferDemonsConfigByPokenID(pokemonId);
|
||||
int[] comonpentList = sDifferDemonsConfig.getComonpentList();
|
||||
Map<Integer, Integer> comonpentsLevelMap = pokemon.getComonpentsLevelMap();
|
||||
SDifferDemonsStageConfig sDifferDemonsStageConfig = SDifferDemonsStageConfig.getsDifferDemonsStageConfigMap(pokemonId*100 + pokemon.getAllStage() + 1);
|
||||
int comonpentPreStage = sDifferDemonsStageConfig.getComonpentPreStage();
|
||||
|
||||
boolean isEnough = true;
|
||||
for(int i=0;i<comonpentList.length;i++){
|
||||
if(!comonpentsLevelMap.containsKey(comonpentList[i])){
|
||||
isEnough =false;
|
||||
break;
|
||||
}
|
||||
if(comonpentsLevelMap.get(comonpentList[i]) < comonpentPreStage){
|
||||
isEnough =false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
int[][] cost = sDifferDemonsStageConfig.getCost();
|
||||
|
||||
if(!isEnough){
|
||||
throw new ErrorCodeException(ErrorCode.newDefineCode("not tryMatch"));
|
||||
}
|
||||
isEnough = ItemUtil.itemCost(user,cost,BIReason.POKEMON_ADVANCE_CONSUME,pokemonId);
|
||||
if(!isEnough){
|
||||
throw new ErrorCodeException(ErrorCode.ITEM_NOT_ENOUGH);
|
||||
}
|
||||
|
||||
|
||||
pokemon.setAllStage(pokemon.getAllStage()+1);
|
||||
if(pokemon.getAllStage() == 1){
|
||||
user.getUserMissionManager().onGameEvent(user,GameEvent.POKEMON_ADVANCED,pokemonId);
|
||||
}
|
||||
|
||||
//发送成功消息
|
||||
MessageUtil.sendMessage(session,1,MessageTypeProto.MessageType.POKEMON_ADVANCED_RESPONSE_VALUE,null,true);
|
||||
String message=null;
|
||||
if(pokemon.getAllStage()==1){
|
||||
message = SErrorCodeEerverConfig.getI18NMessage("lamp_activate_differ_content_"+sDifferDemonsConfig.getQuality(), new Object[]{user.getPlayerInfoManager().getNickName(),sDifferDemonsConfig.getName() });
|
||||
|
||||
}else if(pokemon.getAllStage()>=SSpecialConfig.getIntegerValue(SSpecialConfig.lamp_rankup_differ_content_parm)){
|
||||
message = SErrorCodeEerverConfig.getI18NMessage("lamp_rankup_differ_content_"+sDifferDemonsConfig.getQuality(), new Object[]{user.getPlayerInfoManager().getNickName(), sDifferDemonsConfig.getName(),pokemon.getAllStage()});
|
||||
}
|
||||
if(message!=null){
|
||||
ChatLogic.getInstance().sendSysChatMessage(message,Global.DILIGENT,sDifferDemonsConfig.getId(),0,0,0,0,0);
|
||||
}
|
||||
// int uid = session.getUid();
|
||||
// User user = UserManager.getUser(uid);
|
||||
// PokemonManager pokemonManager = user.getPokemonManager();
|
||||
// Pokemon pokemon = pokemonManager.getPokemonMap().get(pokemonId);
|
||||
// if(pokemon == null){
|
||||
// throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE);
|
||||
// }
|
||||
// SDifferDemonsConfig sDifferDemonsConfig = SDifferDemonsConfig.getsDifferDemonsConfigByPokenID(pokemonId);
|
||||
// int[] comonpentList = sDifferDemonsConfig.getComonpentList();
|
||||
// Map<Integer, Integer> comonpentsLevelMap = pokemon.getComonpentsLevelMap();
|
||||
// SDifferDemonsStageConfig sDifferDemonsStageConfig = SDifferDemonsStageConfig.getsDifferDemonsStageConfigMap(pokemonId*100 + pokemon.getAllStage() + 1);
|
||||
// int comonpentPreStage = sDifferDemonsStageConfig.getComonpentPreStage();
|
||||
//
|
||||
// boolean isEnough = true;
|
||||
// for(int i=0;i<comonpentList.length;i++){
|
||||
// if(!comonpentsLevelMap.containsKey(comonpentList[i])){
|
||||
// isEnough =false;
|
||||
// break;
|
||||
// }
|
||||
// if(comonpentsLevelMap.get(comonpentList[i]) < comonpentPreStage){
|
||||
// isEnough =false;
|
||||
// break;
|
||||
// }
|
||||
// }
|
||||
// int[][] cost = sDifferDemonsStageConfig.getCost();
|
||||
//
|
||||
// if(!isEnough){
|
||||
// throw new ErrorCodeException(ErrorCode.newDefineCode("not tryMatch"));
|
||||
// }
|
||||
// isEnough = ItemUtil.itemCost(user,cost,BIReason.POKEMON_ADVANCE_CONSUME,pokemonId);
|
||||
// if(!isEnough){
|
||||
// throw new ErrorCodeException(ErrorCode.ITEM_NOT_ENOUGH);
|
||||
// }
|
||||
//
|
||||
//
|
||||
// pokemon.setAllStage(pokemon.getAllStage()+1);
|
||||
// if(pokemon.getAllStage() == 1){
|
||||
// user.getUserMissionManager().onGameEvent(user,GameEvent.POKEMON_ADVANCED,pokemonId);
|
||||
// }
|
||||
//
|
||||
// //发送成功消息
|
||||
// MessageUtil.sendMessage(session,1,MessageTypeProto.MessageType.POKEMON_ADVANCED_RESPONSE_VALUE,null,true);
|
||||
// String message=null;
|
||||
// if(pokemon.getAllStage()==1){
|
||||
// message = SErrorCodeEerverConfig.getI18NMessage("lamp_activate_differ_content_"+sDifferDemonsConfig.getQuality(), new Object[]{user.getPlayerInfoManager().getNickName(),sDifferDemonsConfig.getName() });
|
||||
//
|
||||
// }else if(pokemon.getAllStage()>=SSpecialConfig.getIntegerValue(SSpecialConfig.lamp_rankup_differ_content_parm)){
|
||||
// message = SErrorCodeEerverConfig.getI18NMessage("lamp_rankup_differ_content_"+sDifferDemonsConfig.getQuality(), new Object[]{user.getPlayerInfoManager().getNickName(), sDifferDemonsConfig.getName(),pokemon.getAllStage()});
|
||||
// }
|
||||
// if(message!=null){
|
||||
// ChatLogic.getInstance().sendSysChatMessage(message,Global.DILIGENT,sDifferDemonsConfig.getId(),0,0,0,0,0);
|
||||
// }
|
||||
}
|
||||
|
||||
|
||||
|
@ -2395,34 +2401,37 @@ public class HeroLogic{
|
|||
return calForce(pokemonAttributeMap)*5;
|
||||
}
|
||||
|
||||
//todo 灵兽
|
||||
public int calAllPokenmonForce(User user){
|
||||
Map<Integer,Integer> pokemonAttributeMap = new HashMap<>();
|
||||
Map<Integer, Pokemon> pokemonMap = user.getPokemonManager().getPokemonMap();
|
||||
for(Pokemon pokemon : pokemonMap.values()){
|
||||
combinePokemonAttribute(pokemonAttributeMap, pokemon,false);
|
||||
}
|
||||
|
||||
return calForce(pokemonAttributeMap)*5;
|
||||
// Map<Integer,Integer> pokemonAttributeMap = new HashMap<>();
|
||||
// Map<Integer, Pokemon> pokemonMap = user.getPokemonManager().getPokemonMap();
|
||||
// for(Pokemon pokemon : pokemonMap.values()){
|
||||
// combinePokemonAttribute(pokemonAttributeMap, pokemon,false);
|
||||
// }
|
||||
//
|
||||
// return calForce(pokemonAttributeMap)*5;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
private void combinePokemonAttribute(Map<Integer, Integer> pokemonAttributeMap, Pokemon pokemon,boolean needExtra) {
|
||||
Map<Integer, Integer> comonpentsLevelMap = pokemon.getComonpentsLevelMap();
|
||||
for (Map.Entry<Integer, Integer> comonpentsLevelItem : comonpentsLevelMap.entrySet()) {
|
||||
Integer comonpentId = comonpentsLevelItem.getKey();
|
||||
Integer comonpentLevel = comonpentsLevelItem.getValue();
|
||||
Map<Integer, SDifferDemonsComonpentsConfig> sDifferDemonsComonpentsConfigMap = SDifferDemonsComonpentsConfig.getsDifferDemonsComonpentsConfigMap(comonpentId);
|
||||
SDifferDemonsComonpentsConfig sDifferDemonsComonpentsConfig = sDifferDemonsComonpentsConfigMap.get(comonpentLevel);
|
||||
Map<Integer, Map<Integer, Integer>> extraAddMap = sDifferDemonsComonpentsConfig.getExtraAddMap();
|
||||
combinedAttribute(sDifferDemonsComonpentsConfig.getBaseAttribute(), pokemonAttributeMap);
|
||||
|
||||
if (needExtra && extraAddMap != null) {
|
||||
for (Map<Integer, Integer> item : extraAddMap.values()) {
|
||||
combinedAttribute(item, pokemonAttributeMap);
|
||||
}
|
||||
}
|
||||
}
|
||||
//todo 灵兽
|
||||
// Map<Integer, Integer> comonpentsLevelMap = pokemon.getComonpentsLevelMap();
|
||||
// for (Map.Entry<Integer, Integer> comonpentsLevelItem : comonpentsLevelMap.entrySet()) {
|
||||
// Integer comonpentId = comonpentsLevelItem.getKey();
|
||||
// Integer comonpentLevel = comonpentsLevelItem.getValue();
|
||||
// Map<Integer, SDifferDemonsComonpentsConfig> sDifferDemonsComonpentsConfigMap = SDifferDemonsComonpentsConfig.getsDifferDemonsComonpentsConfigMap(comonpentId);
|
||||
// SDifferDemonsComonpentsConfig sDifferDemonsComonpentsConfig = sDifferDemonsComonpentsConfigMap.get(comonpentLevel);
|
||||
// Map<Integer, Map<Integer, Integer>> extraAddMap = sDifferDemonsComonpentsConfig.getExtraAddMap();
|
||||
// combinedAttribute(sDifferDemonsComonpentsConfig.getBaseAttribute(), pokemonAttributeMap);
|
||||
//
|
||||
// if (needExtra && extraAddMap != null) {
|
||||
// for (Map<Integer, Integer> item : extraAddMap.values()) {
|
||||
// combinedAttribute(item, pokemonAttributeMap);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
}
|
||||
|
||||
public int calEquipForce(Equip equip){
|
||||
|
@ -2436,16 +2445,17 @@ public class HeroLogic{
|
|||
}
|
||||
//获取天赋异妖信息
|
||||
public void getAllRingFire(ISession session) throws Exception {
|
||||
int uid = session.getUid();
|
||||
User user = UserManager.getUser(uid);
|
||||
PokemonManager pokemonManager = user.getPokemonManager();
|
||||
Map<Integer, Pokemon> ringFireMap = pokemonManager.getRingFireMap();
|
||||
HeroInfoProto.GetAllRingFireResponse.Builder builder = HeroInfoProto.GetAllRingFireResponse.newBuilder();
|
||||
for(Pokemon pokemon : ringFireMap.values()){
|
||||
CommonProto.RingFireInfo ringFire = CBean2Proto.getRingFire(pokemon);
|
||||
builder.addRingFireInfo(ringFire);
|
||||
}
|
||||
MessageUtil.sendMessage(session,1,MessageTypeProto.MessageType.GET_RINGFIRE_INFO_RESPONSE_VALUE,builder.build(),true);
|
||||
//todo 灵兽
|
||||
// int uid = session.getUid();
|
||||
// User user = UserManager.getUser(uid);
|
||||
// PokemonManager pokemonManager = user.getPokemonManager();
|
||||
// Map<Integer, Pokemon> ringFireMap = pokemonManager.getRingFireMap();
|
||||
// HeroInfoProto.GetAllRingFireResponse.Builder builder = HeroInfoProto.GetAllRingFireResponse.newBuilder();
|
||||
// for(Pokemon pokemon : ringFireMap.values()){
|
||||
// CommonProto.RingFireInfo ringFire = CBean2Proto.getRingFire(pokemon);
|
||||
// builder.addRingFireInfo(ringFire);
|
||||
// }
|
||||
MessageUtil.sendMessage(session,1,MessageTypeProto.MessageType.GET_RINGFIRE_INFO_RESPONSE_VALUE,null,true);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -205,6 +205,7 @@ public class ItemLogic {
|
|||
Map<Integer, Integer> cardMap = new HashMap<>();
|
||||
Map<Integer,Integer> equipMap = new HashMap<>();
|
||||
Map<Integer,Integer> randomMap = new HashMap<>();
|
||||
ItemMap itemObj = new ItemMap();
|
||||
|
||||
int num=0;
|
||||
for (CommonProto.Item item :itemList){
|
||||
|
@ -215,7 +216,7 @@ public class ItemLogic {
|
|||
}
|
||||
SItem sItem = SItem.getsItemMap().get(item.getItemId());
|
||||
num+=item.getItemNum();
|
||||
ItemUtil.combineReward(user,true,sItem.getRewardGroup(), 1f,itemMap,cardMap,equipMap,randomMap,0);
|
||||
ItemUtil.combineReward(user,true,sItem.getRewardGroup(), 1f,itemMap,cardMap,equipMap,randomMap,itemObj,0);
|
||||
|
||||
}
|
||||
int[][] costItemArr = StringUtil.parseFiledInt2(cost.toString());
|
||||
|
@ -225,7 +226,7 @@ public class ItemLogic {
|
|||
throw new ErrorCodeException(ErrorCode.ITEM_NOT_ENOUGH);
|
||||
}
|
||||
|
||||
Map<Integer, Integer> mapRe = ItemUtil.getMapRe(itemId, itemMap, cardMap, equipMap, randomMap);
|
||||
Map<Integer, Integer> mapRe = ItemUtil.getMapRe(itemId, itemMap, cardMap, equipMap, randomMap,itemObj);
|
||||
if(!mapRe.containsKey(itemId)){
|
||||
throw new ErrorCodeException(ErrorCode.SERVER_DEFINE);
|
||||
}
|
||||
|
@ -342,16 +343,16 @@ public class ItemLogic {
|
|||
Map<Integer, Integer> baseCardMap = new HashMap<>();
|
||||
Map<Integer, Integer> baseEquipMap = new HashMap<>();
|
||||
Map<Integer,Integer> baseRandomMap = new HashMap<>();
|
||||
|
||||
ItemMap itemObj = new ItemMap();
|
||||
for (int[] ints:items) {
|
||||
Map<Integer, Integer> mapRe = ItemUtil.getMapRe(ints[0], baseItemMap, baseCardMap, baseEquipMap, baseRandomMap);
|
||||
Map<Integer, Integer> mapRe = ItemUtil.getMapRe(ints[0], baseItemMap, baseCardMap, baseEquipMap, baseRandomMap,itemObj);
|
||||
if(mapRe.containsKey(ints[0])){
|
||||
mapRe.put(ints[0],mapRe.get(ints[0])+ints[1]);
|
||||
}else {
|
||||
mapRe.put(ints[0],ints[1]);
|
||||
}
|
||||
}
|
||||
ItemUtil.drop(user,drop,baseItemMap,baseCardMap,baseEquipMap,baseRandomMap,BIReason.JEWEL_DECOMPOSE);
|
||||
ItemUtil.drop(user,drop,baseItemMap,baseCardMap,baseEquipMap,baseRandomMap,itemObj,BIReason.JEWEL_DECOMPOSE);
|
||||
List<CommonProto.Item> reportMap = drop.getItemlistList();
|
||||
List<Integer> itemId = new ArrayList<>(reportMap.size());
|
||||
List<Integer> itemNum = new ArrayList<>(reportMap.size());
|
||||
|
|
|
@ -529,24 +529,26 @@ public class MissionLoigc {
|
|||
count = cumulationData.getHeroLevleCountMap().get(missionSubType[0]);
|
||||
break;
|
||||
case POKEMON_ADVANCED:{
|
||||
Map<Integer, Pokemon> pokemonMap = user.getPokemonManager().getPokemonMap();
|
||||
for(Pokemon pokemon : pokemonMap.values()){
|
||||
if(pokemon.getAllStage()>0){
|
||||
count++;
|
||||
}
|
||||
}
|
||||
//todo 灵兽
|
||||
// Map<Integer, Pokemon> pokemonMap = user.getPokemonManager().getPokemonMap();
|
||||
// for(Pokemon pokemon : pokemonMap.values()){
|
||||
// if(pokemon.getAllStage()>0){
|
||||
// count++;
|
||||
// }
|
||||
// }
|
||||
}
|
||||
break;
|
||||
case POKEMON_FORCE:{
|
||||
int maxForce = 0;
|
||||
Map<Integer, Pokemon> pokemonMap = user.getPokemonManager().getPokemonMap();
|
||||
for(Pokemon pokemon : pokemonMap.values()){
|
||||
int force = HeroLogic.getInstance().calPokenmonForce(pokemon);
|
||||
if(maxForce< HeroLogic.getInstance().calPokenmonForce(pokemon)){
|
||||
maxForce=force;
|
||||
}
|
||||
}
|
||||
count = maxForce;
|
||||
//todo 灵兽
|
||||
// int maxForce = 0;
|
||||
// Map<Integer, Pokemon> pokemonMap = user.getPokemonManager().getPokemonMap();
|
||||
// for(Pokemon pokemon : pokemonMap.values()){
|
||||
// int force = HeroLogic.getInstance().calPokenmonForce(pokemon);
|
||||
// if(maxForce< HeroLogic.getInstance().calPokenmonForce(pokemon)){
|
||||
// maxForce=force;
|
||||
// }
|
||||
// }
|
||||
// count = maxForce;
|
||||
}
|
||||
|
||||
break;
|
||||
|
|
|
@ -190,17 +190,15 @@ public class CBean2Proto {
|
|||
|
||||
|
||||
public static CommonProto.PokemonInfo getPokemon(Pokemon pokemon) {
|
||||
Map<Integer, Integer> comonpentsLevelMap = pokemon.getComonpentsLevelMap();
|
||||
List<CommonProto.Pokemoncomonpent> pokemoncomonpentList = new ArrayList<>();
|
||||
for( Map.Entry <Integer, Integer> item: comonpentsLevelMap.entrySet()){
|
||||
Integer comonpentId = item.getKey();
|
||||
Integer value = item.getValue();
|
||||
pokemoncomonpentList.add(CommonProto.Pokemoncomonpent.newBuilder().setId(comonpentId).setLevel(value).build());
|
||||
}
|
||||
// Map<Integer, Integer> comonpentsLevelMap = pokemon.getComonpentsLevelMap();
|
||||
// List<CommonProto.Pokemoncomonpent> pokemoncomonpentList = new ArrayList<>();
|
||||
// for( Map.Entry <Integer, Integer> item: comonpentsLevelMap.entrySet()){
|
||||
// Integer comonpentId = item.getKey();
|
||||
// Integer value = item.getValue();
|
||||
// pokemoncomonpentList.add(CommonProto.Pokemoncomonpent.newBuilder().setId(comonpentId).setLevel(value).build());
|
||||
// }
|
||||
return CommonProto.PokemonInfo.newBuilder()
|
||||
.setId(pokemon.getId())
|
||||
.setStage(pokemon.getAllStage())
|
||||
.addAllPokemoncomonpent(pokemoncomonpentList)
|
||||
.setId(pokemon.getId()).setLevel(pokemon.getLevel()).setStar(pokemon.getStar()).setTempId(pokemon.getTmpId())
|
||||
.build();
|
||||
}
|
||||
|
||||
|
@ -354,9 +352,9 @@ public class CBean2Proto {
|
|||
return friend.build();
|
||||
}
|
||||
|
||||
public static CommonProto.RingFireInfo getRingFire(Pokemon pokemon) {
|
||||
return CommonProto.RingFireInfo.newBuilder().addAllComonpentId(pokemon.getComonpentsLevelMap().keySet()).setStage(pokemon.getAllStage()).setId(pokemon.getId()).build();
|
||||
}
|
||||
// public static CommonProto.RingFireInfo getRingFire(Pokemon pokemon) {
|
||||
// return CommonProto.RingFireInfo.newBuilder().addAllComonpentId(pokemon.getComonpentsLevelMap().keySet()).setStage(pokemon.getAllStage()).setId(pokemon.getId()).build();
|
||||
// }
|
||||
|
||||
public static List<CommonProto.TechnologyInfo> getTechInfo(Collection<Map<Integer, Integer>> techInfoMap){
|
||||
List<CommonProto.TechnologyInfo> result = new ArrayList<>(techInfoMap.size());
|
||||
|
|
|
@ -0,0 +1,26 @@
|
|||
package com.ljsd.jieling.util;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author lvxinran
|
||||
* @date 2020/10/19
|
||||
* @discribe
|
||||
*/
|
||||
public class ItemMap {
|
||||
|
||||
private Map<Integer,Integer> specialMonsterMap;
|
||||
|
||||
public Map<Integer, Integer> getSpecialMonsterMap() {
|
||||
return specialMonsterMap;
|
||||
}
|
||||
|
||||
public void setSpecialMonsterMap(Map<Integer, Integer> specialMonsterMap) {
|
||||
this.specialMonsterMap = specialMonsterMap;
|
||||
}
|
||||
|
||||
public ItemMap() {
|
||||
this.specialMonsterMap = new HashMap<>();
|
||||
}
|
||||
}
|
|
@ -78,12 +78,15 @@ public class ItemUtil {
|
|||
Map<Integer, Integer> cardMap = new HashMap<>();
|
||||
Map<Integer,Integer> equipMap = new HashMap<>();
|
||||
Map<Integer,Integer> randomMap = new HashMap<>();
|
||||
selectItemArr(itemArr,cardMap,itemMap,equipMap,randomMap);
|
||||
ItemMap itemObj = new ItemMap();
|
||||
|
||||
selectItemArr(itemArr,cardMap,itemMap,equipMap,randomMap,itemObj);
|
||||
|
||||
useRandomItem(user,randomMap,reason);
|
||||
addItem(user,itemMap,dropBuilder,reason);
|
||||
addCard(user,cardMap,dropBuilder,reason);
|
||||
addEquip(user,equipMap,dropBuilder,reason);
|
||||
addSpecialMonster(user,itemObj,dropBuilder,reason);
|
||||
return dropBuilder;
|
||||
}
|
||||
|
||||
|
@ -92,11 +95,15 @@ public class ItemUtil {
|
|||
Map<Integer, Integer> cardMap = new HashMap<>();
|
||||
Map<Integer,Integer> equipMap = new HashMap<>();
|
||||
Map<Integer,Integer> randomMap = new HashMap<>();
|
||||
selectItemArr(itemArr,cardMap,itemMap,equipMap,randomMap);
|
||||
ItemMap itemObj = new ItemMap();
|
||||
|
||||
selectItemArr(itemArr,cardMap,itemMap,equipMap,randomMap,itemObj);
|
||||
useRandomItem(user,randomMap,reason);
|
||||
addItem(user,itemMap,dropBuilder,reason);
|
||||
addCard(user,cardMap,dropBuilder,reason);
|
||||
addEquip(user,equipMap,dropBuilder,reason);
|
||||
addSpecialMonster(user,itemObj,dropBuilder,reason);
|
||||
|
||||
return dropBuilder;
|
||||
}
|
||||
|
||||
|
@ -107,13 +114,17 @@ public class ItemUtil {
|
|||
Map<Integer, Integer> cardMap = new HashMap<>();
|
||||
Map<Integer,Integer> equipMap = new HashMap<>();
|
||||
Map<Integer,Integer> randomMap = new HashMap<>();
|
||||
ItemMap itemObj = new ItemMap();
|
||||
|
||||
for(int[][] itemArr : itemArrs){
|
||||
selectItemArr(itemArr,cardMap,itemMap,equipMap,randomMap);
|
||||
selectItemArr(itemArr,cardMap,itemMap,equipMap,randomMap,itemObj);
|
||||
}
|
||||
useRandomItem(user,randomMap,reason);
|
||||
addItem(user,itemMap,dropBuilder,reason);
|
||||
addCard(user,cardMap,dropBuilder,reason);
|
||||
addEquip(user,equipMap,dropBuilder,reason);
|
||||
addSpecialMonster(user,itemObj,dropBuilder,reason);
|
||||
|
||||
return dropBuilder;
|
||||
}
|
||||
|
||||
|
@ -126,12 +137,16 @@ public class ItemUtil {
|
|||
Map<Integer, Integer> cardMap = new HashMap<>();
|
||||
Map<Integer,Integer> equipMap = new HashMap<>();
|
||||
Map<Integer,Integer> randomMap = new HashMap<>();
|
||||
selectItemArr(itemArr,cardMap,itemMap,equipMap,randomMap);
|
||||
ItemMap itemObj = new ItemMap();
|
||||
|
||||
selectItemArr(itemArr,cardMap,itemMap,equipMap,randomMap,itemObj);
|
||||
|
||||
useRandomItem(user,randomMap,reason);
|
||||
addItem(user,itemMap,dropBuilder,reason);
|
||||
addCard(user,cardMap,dropBuilder,reason);
|
||||
addEquip(user,equipMap,dropBuilder,reason);
|
||||
addSpecialMonster(user,itemObj,dropBuilder,reason);
|
||||
|
||||
return dropBuilder;
|
||||
}
|
||||
|
||||
|
@ -142,11 +157,14 @@ public class ItemUtil {
|
|||
Map<Integer, Integer> cardMap = new HashMap<>();
|
||||
Map<Integer,Integer> equipMap = new HashMap<>();
|
||||
Map<Integer,Integer> randomMap = new HashMap<>();
|
||||
selectItemArr(new int[][]{item},cardMap,itemMap,equipMap,randomMap);
|
||||
ItemMap itemObj = new ItemMap();
|
||||
selectItemArr(new int[][]{item},cardMap,itemMap,equipMap,randomMap,itemObj);
|
||||
useRandomItem(user,randomMap,reason);
|
||||
addItem(user,itemMap,dropBuilder,reason);
|
||||
addCard(user,cardMap,dropBuilder,reason);
|
||||
addEquip(user,equipMap,dropBuilder,reason);
|
||||
addSpecialMonster(user,itemObj,dropBuilder,reason);
|
||||
|
||||
}
|
||||
return dropBuilder;
|
||||
}
|
||||
|
@ -156,16 +174,19 @@ public class ItemUtil {
|
|||
Map<Integer, Integer> cardMap = new HashMap<>();
|
||||
Map<Integer, Integer> equipMap = new HashMap<>();
|
||||
Map<Integer, Integer> randomMap = new HashMap<>();
|
||||
combineRewardDropGroup(user, dropGroupIds, dropRatio, itemMap, cardMap, equipMap, randomMap);
|
||||
ItemMap itemObj = new ItemMap();
|
||||
combineRewardDropGroup(user, dropGroupIds, dropRatio, itemMap, cardMap, equipMap, randomMap,itemObj);
|
||||
useRandomItem(user, randomMap,reason);
|
||||
addItem(user, itemMap, dropBuilder,reason);
|
||||
addCard(user, cardMap, dropBuilder,reason);
|
||||
addEquip(user, equipMap, dropBuilder,reason);
|
||||
addSpecialMonster(user,itemObj,dropBuilder,reason);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
private static void combineRewardDropGroup(User user, int[] dropGroupIds, float dropRatio, Map<Integer, Integer> itemMap, Map<Integer, Integer> cardMap, Map<Integer, Integer> equipMap, Map<Integer, Integer> randomMap) throws ErrorCodeException{
|
||||
private static void combineRewardDropGroup(User user, int[] dropGroupIds, float dropRatio, Map<Integer, Integer> itemMap, Map<Integer, Integer> cardMap, Map<Integer, Integer> equipMap, Map<Integer, Integer> randomMap,ItemMap itemObj) throws ErrorCodeException{
|
||||
for (int dropGroupId : dropGroupIds) {
|
||||
if(MapLogic.getInstance().getDifficultyReward().containsKey(dropGroupId)){
|
||||
dropGroupId =MapLogic.getInstance().getDifficultyReward().get(dropGroupId);
|
||||
|
@ -174,14 +195,14 @@ public class ItemUtil {
|
|||
if (sRewardGroup == null) {
|
||||
continue;
|
||||
}
|
||||
selectDrop(user,sRewardGroup, itemMap, cardMap, equipMap, randomMap, dropRatio);
|
||||
selectDrop(user,sRewardGroup, itemMap, cardMap, equipMap, randomMap,itemObj, dropRatio);
|
||||
int[] extraDropGroupIds = activityExtraDropGroupId(user, dropGroupId);
|
||||
for (int dropExtraGroupId : extraDropGroupIds) {
|
||||
SRewardGroup sRewardGroupExtra = SRewardGroup.getsRewardItemMap().get(dropExtraGroupId);
|
||||
if (sRewardGroupExtra == null) {
|
||||
continue;
|
||||
}
|
||||
selectDrop(user,sRewardGroupExtra, itemMap, cardMap, equipMap, randomMap, dropRatio);
|
||||
selectDrop(user,sRewardGroupExtra, itemMap, cardMap, equipMap, randomMap,itemObj, dropRatio);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -212,13 +233,17 @@ public class ItemUtil {
|
|||
Map<Integer, Integer> cardMap = new HashMap<>();
|
||||
Map<Integer, Integer> equipMap = new HashMap<>();
|
||||
Map<Integer,Integer> randomMap = new HashMap<>();
|
||||
combineRewardDropGroup(user, dropGroupIds, dropRatio, itemMap, cardMap, equipMap, randomMap);
|
||||
ItemMap itemObj = new ItemMap();
|
||||
|
||||
combineRewardDropGroup(user, dropGroupIds, dropRatio, itemMap, cardMap, equipMap, randomMap,itemObj);
|
||||
useRandomItem(user,randomMap,reason);
|
||||
if (isMapping == 1) {
|
||||
addItemToTemporaryBag(user, itemMap, equipMap, dropBuilder);
|
||||
} else {
|
||||
addItem(user,itemMap,dropBuilder,reason);
|
||||
addEquip(user,equipMap,dropBuilder,reason);
|
||||
addSpecialMonster(user,itemObj,dropBuilder,reason);
|
||||
|
||||
}
|
||||
addCard(user,cardMap,dropBuilder,reason);
|
||||
return dropBuilder;
|
||||
|
@ -236,7 +261,9 @@ public class ItemUtil {
|
|||
Map<Integer, Integer> cardMap = new HashMap<>();
|
||||
Map<Integer, Integer> equipMap = new HashMap<>();
|
||||
Map<Integer,Integer> randomMap = new HashMap<>();
|
||||
combineRewardDropGroup(user, dropGroupIds, dropRatio, itemMap, cardMap, equipMap, randomMap);
|
||||
ItemMap itemObj = new ItemMap();
|
||||
|
||||
combineRewardDropGroup(user, dropGroupIds, dropRatio, itemMap, cardMap, equipMap, randomMap,itemObj);
|
||||
return getReward(itemMap,cardMap,equipMap,randomMap);
|
||||
}
|
||||
|
||||
|
@ -245,7 +272,9 @@ public class ItemUtil {
|
|||
Map<Integer, Integer> cardMap = new HashMap<>();
|
||||
Map<Integer, Integer> equipMap = new HashMap<>();
|
||||
Map<Integer,Integer> randomMap = new HashMap<>();
|
||||
selectItemArr(dropGroupIds,cardMap,itemMap,equipMap,randomMap);
|
||||
ItemMap itemObj = new ItemMap();
|
||||
|
||||
selectItemArr(dropGroupIds,cardMap,itemMap,equipMap,randomMap,itemObj);
|
||||
return getReward(itemMap,cardMap,equipMap,randomMap);
|
||||
}
|
||||
|
||||
|
@ -256,16 +285,18 @@ public class ItemUtil {
|
|||
Map<Integer, Integer> cardMap = new HashMap<>();
|
||||
Map<Integer,Integer> equipMap = new HashMap<>();
|
||||
Map<Integer,Integer> randomMap = new HashMap<>();
|
||||
ItemMap itemObj = new ItemMap();
|
||||
|
||||
for(int[][] itemArr : itemArrs){
|
||||
selectItemArr(itemArr,cardMap,itemMap,equipMap,randomMap);
|
||||
selectItemArr(itemArr,cardMap,itemMap,equipMap,randomMap,itemObj);
|
||||
}
|
||||
return getReward(itemMap,cardMap,equipMap,randomMap);
|
||||
}
|
||||
|
||||
|
||||
|
||||
public static void combineReward(User user,boolean isLoop,int[] dropGroupIds,float dropRatio, Map<Integer, Integer> itemMap, Map<Integer, Integer> cardMap, Map<Integer, Integer> equipMap, Map<Integer, Integer> randomMap,int reason)throws ErrorCodeException{
|
||||
combineRewardDropGroup(user, dropGroupIds, dropRatio, itemMap, cardMap, equipMap, randomMap);
|
||||
public static void combineReward(User user,boolean isLoop,int[] dropGroupIds,float dropRatio, Map<Integer, Integer> itemMap, Map<Integer, Integer> cardMap, Map<Integer, Integer> equipMap, Map<Integer, Integer> randomMap,ItemMap itemObj,int reason)throws ErrorCodeException{
|
||||
combineRewardDropGroup(user, dropGroupIds, dropRatio, itemMap, cardMap, equipMap, randomMap,itemObj);
|
||||
if(!isLoop){
|
||||
extraAddItem(user,itemMap,reason);
|
||||
}
|
||||
|
@ -294,15 +325,16 @@ public class ItemUtil {
|
|||
}
|
||||
}
|
||||
|
||||
public static void combineReward(int[][] itemArr, Map<Integer, Integer> itemMap, Map<Integer, Integer> cardMap, Map<Integer, Integer> equipMap, Map<Integer, Integer> randomMap)throws ErrorCodeException{
|
||||
selectItemArr(itemArr,cardMap,itemMap,equipMap,randomMap);
|
||||
public static void combineReward(int[][] itemArr, Map<Integer, Integer> itemMap, Map<Integer, Integer> cardMap, Map<Integer, Integer> equipMap, Map<Integer, Integer> randomMap,ItemMap itemObj)throws ErrorCodeException{
|
||||
selectItemArr(itemArr,cardMap,itemMap,equipMap,randomMap,itemObj);
|
||||
}
|
||||
|
||||
public static void drop(User user,CommonProto.Drop.Builder dropBuilder,Map<Integer, Integer> itemMap, Map<Integer, Integer> cardMap, Map<Integer, Integer> equipMap, Map<Integer, Integer> randomMap,int reason) throws Exception {
|
||||
public static void drop(User user,CommonProto.Drop.Builder dropBuilder,Map<Integer, Integer> itemMap, Map<Integer, Integer> cardMap, Map<Integer, Integer> equipMap, Map<Integer, Integer> randomMap,ItemMap itemObj,int reason) throws Exception {
|
||||
useRandomItem(user, randomMap, reason);
|
||||
addItem(user, itemMap, dropBuilder,reason);
|
||||
addCard(user, cardMap, dropBuilder,reason);
|
||||
addEquip(user, equipMap, dropBuilder,reason);
|
||||
addSpecialMonster(user,itemObj,dropBuilder,reason);
|
||||
}
|
||||
|
||||
public static String getReward(Map<Integer, Integer> itemMap,Map<Integer, Integer> cardMap,Map<Integer, Integer> equipMap, Map<Integer,Integer> randomMap) {
|
||||
|
@ -343,19 +375,19 @@ public class ItemUtil {
|
|||
}
|
||||
|
||||
private static void selectItemArr(int[][] itemArr, Map<Integer, Integer> cardMap, Map<Integer, Integer>
|
||||
itemMap,Map<Integer,Integer> equipMap,Map<Integer,Integer> randomMap) throws ErrorCodeException{
|
||||
itemMap,Map<Integer,Integer> equipMap,Map<Integer,Integer> randomMap,ItemMap itemObj) throws ErrorCodeException{
|
||||
for (int[] items : itemArr){
|
||||
getMap(items[0],items[1], itemMap, cardMap,equipMap,randomMap,1);
|
||||
getMap(items[0],items[1], itemMap, cardMap,equipMap,randomMap,itemObj,1);
|
||||
}
|
||||
}
|
||||
|
||||
private static void selectItemArr(Map<Integer,Integer>itemArr, Map<Integer, Integer> cardMap, Map<Integer, Integer>
|
||||
itemMap,Map<Integer,Integer> equipMap,Map<Integer,Integer> randomMap) throws ErrorCodeException{
|
||||
itemMap,Map<Integer,Integer> equipMap,Map<Integer,Integer> randomMap,ItemMap itemObj) throws ErrorCodeException{
|
||||
for (Map.Entry<Integer,Integer> items : itemArr.entrySet()){
|
||||
getMap(items.getKey(), items.getValue(), itemMap, cardMap,equipMap,randomMap,1);
|
||||
getMap(items.getKey(), items.getValue(), itemMap, cardMap,equipMap,randomMap,itemObj,1);
|
||||
}
|
||||
}
|
||||
private static void selectDrop(User user, SRewardGroup sRewardGroup,Map<Integer, Integer> itemMap, Map<Integer, Integer> cardMap,Map<Integer,Integer> equipMap,Map<Integer,Integer> randomMap , float dropRatio)throws ErrorCodeException {
|
||||
private static void selectDrop(User user, SRewardGroup sRewardGroup,Map<Integer, Integer> itemMap, Map<Integer, Integer> cardMap,Map<Integer,Integer> equipMap,Map<Integer,Integer> randomMap ,ItemMap itemObj, float dropRatio)throws ErrorCodeException {
|
||||
String dropInfo = dropRewardMap.get(sRewardGroup.getId());
|
||||
String rewardStr = dropInfo.split("\\|")[0];
|
||||
String weight = dropInfo.split("\\|")[1];
|
||||
|
@ -383,15 +415,15 @@ public class ItemUtil {
|
|||
switch (sRewardGroup.getIsUpset()) {
|
||||
case GlobalItemType.SELETEONE:
|
||||
case GlobalItemType.ALL_DROP:
|
||||
getMap(user,StringUtil.parseFiledInt(rewardStr),itemMap,cardMap,equipMap,randomMap,dropRatio);
|
||||
getMap(user,StringUtil.parseFiledInt(rewardStr),itemMap,cardMap,equipMap,randomMap,itemObj,dropRatio);
|
||||
break;
|
||||
case GlobalItemType.WEIGHT_DROP:
|
||||
getRandomMap(user,sRewardGroup.getRewardMaxNum(),rewards,weights,
|
||||
itemMap,cardMap,equipMap,randomMap,dropRatio);
|
||||
itemMap,cardMap,equipMap,randomMap,itemObj,dropRatio);
|
||||
break;
|
||||
case GlobalItemType.SUCCESSIVELY_RANDOM:
|
||||
getSuccessivelyRandmoMap(user,sRewardGroup,rewards,weights,
|
||||
itemMap,cardMap,equipMap,randomMap,dropRatio);
|
||||
itemMap,cardMap,equipMap,randomMap,itemObj,dropRatio);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
@ -400,7 +432,7 @@ public class ItemUtil {
|
|||
|
||||
private static void getSuccessivelyRandmoMap(User user,SRewardGroup sRewardGroup, String[]
|
||||
rewardArr, String[] weightArr, Map<Integer, Integer> itemMap, Map<Integer, Integer>
|
||||
cardMap, Map<Integer,Integer> equipMap, Map<Integer,Integer> randomMap, float dropRatio) throws ErrorCodeException {
|
||||
cardMap, Map<Integer,Integer> equipMap, Map<Integer,Integer> randomMap,ItemMap itemObj, float dropRatio) throws ErrorCodeException {
|
||||
for (int i = 0; i < sRewardGroup.getRewardMaxNum(); i++) {
|
||||
int id = 0;
|
||||
for (int j = 0; j < sRewardGroup.getLoop(); j++) {
|
||||
|
@ -419,12 +451,12 @@ public class ItemUtil {
|
|||
if (itemNum <= 0) {
|
||||
continue;
|
||||
}
|
||||
getMap(sRewardItem.getItemId(), itemNum, itemMap, cardMap, equipMap, randomMap, dropRatio);
|
||||
getMap(sRewardItem.getItemId(), itemNum, itemMap, cardMap, equipMap, randomMap,itemObj, dropRatio);
|
||||
}
|
||||
}
|
||||
|
||||
private static void getRandomMap(User user,int randomItemNum ,String[] rewardArr,String[] weightArr, Map<Integer, Integer> itemMap, Map<Integer, Integer> cardMap,
|
||||
Map<Integer,Integer> equipMap,Map<Integer,Integer> randomMap ,float dropRatio)throws ErrorCodeException {
|
||||
Map<Integer,Integer> equipMap,Map<Integer,Integer> randomMap ,ItemMap itemObj,float dropRatio)throws ErrorCodeException {
|
||||
for (int i = 0 ; i < randomItemNum;i++){
|
||||
int index = MathUtils.randomForStrArray(weightArr);
|
||||
if (index == -1) {
|
||||
|
@ -436,7 +468,7 @@ public class ItemUtil {
|
|||
if (itemNum <= 0){
|
||||
continue;
|
||||
}
|
||||
getMap(sRewardItem.getItemId(),itemNum, itemMap, cardMap,equipMap,randomMap,dropRatio);
|
||||
getMap(sRewardItem.getItemId(),itemNum, itemMap, cardMap,equipMap,randomMap,itemObj,dropRatio);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -469,25 +501,25 @@ public class ItemUtil {
|
|||
return itemNum;
|
||||
}
|
||||
|
||||
private static void getMap(User user,int[] itemInfo, Map<Integer, Integer> itemMap,Map<Integer, Integer> cardMap,Map<Integer,Integer> equipMap,Map<Integer,Integer> randomMap ,float dropRatio) throws ErrorCodeException{
|
||||
private static void getMap(User user,int[] itemInfo, Map<Integer, Integer> itemMap,Map<Integer, Integer> cardMap,Map<Integer,Integer> equipMap,Map<Integer,Integer> randomMap,ItemMap itemObj,float dropRatio) throws ErrorCodeException{
|
||||
for (int id :itemInfo){
|
||||
SRewardItem sRewardItem = SRewardItem.getsDropMap().get(id);
|
||||
int itemNum = getItemNum(user,sRewardItem);
|
||||
if (itemNum <= 0){
|
||||
continue;
|
||||
}
|
||||
getMap(sRewardItem.getItemId(),itemNum,itemMap, cardMap,equipMap,randomMap,dropRatio);
|
||||
getMap(sRewardItem.getItemId(),itemNum,itemMap, cardMap,equipMap,randomMap,itemObj,dropRatio);
|
||||
}
|
||||
}
|
||||
|
||||
private static void getMap(int itemId ,int itemNum, Map<Integer, Integer> itemMap,
|
||||
Map<Integer, Integer> cardMap,Map<Integer,Integer> equipMap ,Map<Integer,Integer> randomMap,float dropRatio) throws ErrorCodeException{
|
||||
Map<Integer, Integer> mapRe = getMapRe(itemId, itemMap, cardMap, equipMap, randomMap);
|
||||
Map<Integer, Integer> cardMap,Map<Integer,Integer> equipMap ,Map<Integer,Integer> randomMap,ItemMap itemObj,float dropRatio) throws ErrorCodeException{
|
||||
Map<Integer, Integer> mapRe = getMapRe(itemId, itemMap, cardMap, equipMap, randomMap,itemObj);
|
||||
putcountMap(itemId,(int)MathUtils.numRount((itemNum * MathUtils.floatToDouble(dropRatio))) , mapRe);
|
||||
}
|
||||
|
||||
public static Map<Integer, Integer> getMapRe(int itemId, Map<Integer, Integer> itemMap,
|
||||
Map<Integer, Integer> cardMap,Map<Integer,Integer> equipMap ,Map<Integer,Integer> randomMap) throws ErrorCodeException{
|
||||
Map<Integer, Integer> cardMap,Map<Integer,Integer> equipMap ,Map<Integer,Integer> randomMap,ItemMap itemObj) throws ErrorCodeException{
|
||||
|
||||
SItem sItem = SItem.getsItemMap().get(itemId);
|
||||
if(sItem==null){
|
||||
|
@ -506,6 +538,8 @@ public class ItemUtil {
|
|||
return equipMap;
|
||||
case GlobalItemType.RANDOM_ITME:
|
||||
return randomMap;
|
||||
case GlobalItemType.SpecialMonster:
|
||||
return itemObj.getSpecialMonsterMap();
|
||||
default:
|
||||
LOGGER.error("新增类型请通知后端");
|
||||
return new HashMap<>();
|
||||
|
@ -529,6 +563,7 @@ public class ItemUtil {
|
|||
case GlobalItemType.DECORATION:
|
||||
case GlobalItemType.RIDE:
|
||||
case GlobalItemType.SELECTSecretBox:
|
||||
case GlobalItemType.SpecialMonsterItem:
|
||||
itemType = GlobalItemType.ITEM;
|
||||
break;
|
||||
case GlobalItemType.RANDOM_ITME:
|
||||
|
@ -1549,4 +1584,17 @@ public class ItemUtil {
|
|||
}
|
||||
return new int[0];
|
||||
}
|
||||
|
||||
private static void addSpecialMonster(User user,ItemMap itemObj,CommonProto.Drop.Builder dropBuilder,int reason){
|
||||
if(itemObj.getSpecialMonsterMap().isEmpty()){
|
||||
return;
|
||||
}
|
||||
for(Map.Entry<Integer,Integer> entry:itemObj.getSpecialMonsterMap().entrySet()){
|
||||
for(int i = 0 ; i <entry.getValue();i++){
|
||||
Pokemon pokemon = new Pokemon(user.getId(),entry.getKey());
|
||||
user.getPokemonManager().addPokemon(pokemon);
|
||||
dropBuilder.addPokemon(CBean2Proto.getPokemon(pokemon));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -11,7 +11,8 @@ public enum UUIDEnum {
|
|||
SOUL_EQUIP(7),//魂印
|
||||
CDK(8),//cdk
|
||||
EXPEDITION(9),//圣物
|
||||
JEWEL(10)
|
||||
JEWEL(10),
|
||||
SpecialMonster(11),
|
||||
;
|
||||
|
||||
private int value;
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
#server info
|
||||
server.id = 20215
|
||||
server.id = 10153
|
||||
server.openTime = 20190101000101
|
||||
server.num = 1
|
||||
server.debug = true
|
||||
|
||||
server.logDir = D:\\jl_logs
|
||||
server.guildFight = false
|
||||
|
||||
server.sendlog37 = true
|
||||
# redis config
|
||||
# RedisÊý¾Ý¿âË÷Òý£¨Ä¬ÈÏΪ0£©
|
||||
spring.redis.database=0
|
||||
|
@ -33,7 +33,7 @@ spring.redis.expireTime = -1
|
|||
#spring.data.mongodb.uri = mongodb://mongouser:ysj#2017#ljsd@111.231.54.96:27017/ysj_wx_1
|
||||
#spring.data.mongodb2.uri = mongodb://mongouser:ysj#2017#ljsd@111.231.54.96:27017/develop_ysj_wx_1
|
||||
#mongodb2 develop
|
||||
spring.data.mongodb.uri = mongodb://60.1.1.14:27017/jieling_20215
|
||||
spring.data.mongodb.uri = mongodb://60.1.1.14:27017/jieling_10153
|
||||
spring.data.mongodbcore.uri = mongodb://60.1.1.14:27017/jl_core
|
||||
#spring.data.mongodb.uri = mongodb://60.1.1.14:27017/jieling_10212
|
||||
mongodb.options.maxWaitTime = 120000
|
||||
|
@ -66,6 +66,7 @@ services.core.ip=60.1.1.153
|
|||
services.core.port=7900
|
||||
services.core.area=1000
|
||||
services.core.id=1
|
||||
services.core.gmport = 7902
|
||||
services.core.weight=5
|
||||
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@ import java.util.*;
|
|||
|
||||
public class ExcelUtils {
|
||||
private static boolean isWrite = true;
|
||||
private static String excelPath ="D:/excelData/master_develop/base_data/"; //excel 文件
|
||||
private static String excelPath ="D:/excelData/master_develop/Map_data/"; //excel 文件
|
||||
// private static String excelPath ="D:/excel/0.94/data_execl/Map_data/"; //excel 文件
|
||||
private static String path = "conf/server/";
|
||||
private static Set<String> oldFileNames = new HashSet<>();
|
||||
|
|
Loading…
Reference in New Issue