From aafb262d8359086c267b91a13fdce4e4101e3899 Mon Sep 17 00:00:00 2001 From: wangyuan Date: Wed, 8 May 2019 15:40:25 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A3=85=E5=A4=87=E8=AF=84=E5=88=86=E6=97=A5?= =?UTF-8?q?=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ljsd/jieling/config/SArenaConfig.java | 43 ------------------- .../com/ljsd/jieling/config/SEquipConfig.java | 6 +++ .../jieling/config/SEquipPropertyPool.java | 4 ++ .../com/ljsd/jieling/core/GlobalsDef.java | 5 +++ .../handler/GameGM/GMRequestHandler.java | 1 - .../com/ljsd/jieling/logic/dao/Equip.java | 9 +++- .../jieling/logic/hero/HeroAttributeEnum.java | 1 + .../ljsd/jieling/logic/hero/HeroLogic.java | 25 +++++++++-- 8 files changed, 46 insertions(+), 48 deletions(-) delete mode 100644 serverlogic/src/main/java/com/ljsd/jieling/config/SArenaConfig.java diff --git a/serverlogic/src/main/java/com/ljsd/jieling/config/SArenaConfig.java b/serverlogic/src/main/java/com/ljsd/jieling/config/SArenaConfig.java deleted file mode 100644 index 085667648..000000000 --- a/serverlogic/src/main/java/com/ljsd/jieling/config/SArenaConfig.java +++ /dev/null @@ -1,43 +0,0 @@ -package com.ljsd.jieling.config; - -import com.ljsd.jieling.logic.STableManager; -import com.ljsd.jieling.logic.Table; - -import java.util.Map; - -@Table(name ="ArenaConfig") -public class SArenaConfig implements BaseConfig { - - private int id; - - private String name; - - private float[] position; - - private float[] include; - - - @Override - public void init() throws Exception { - - } - - - public int getId() { - return id; - } - - public String getName() { - return name; - } - - public float[] getPosition() { - return position; - } - - public float[] getInclude() { - return include; - } - - -} \ No newline at end of file diff --git a/serverlogic/src/main/java/com/ljsd/jieling/config/SEquipConfig.java b/serverlogic/src/main/java/com/ljsd/jieling/config/SEquipConfig.java index c03ada391..c856b6cde 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/config/SEquipConfig.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/config/SEquipConfig.java @@ -34,6 +34,8 @@ public class SEquipConfig implements BaseConfig { private int initialLevel; + private int score; + @Override public void init() throws Exception { @@ -91,4 +93,8 @@ public class SEquipConfig implements BaseConfig { public int getInitialLevel() { return initialLevel; } + + public int getScore() { + return score; + } } \ No newline at end of file diff --git a/serverlogic/src/main/java/com/ljsd/jieling/config/SEquipPropertyPool.java b/serverlogic/src/main/java/com/ljsd/jieling/config/SEquipPropertyPool.java index 316406bf6..88efb2dc7 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/config/SEquipPropertyPool.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/config/SEquipPropertyPool.java @@ -32,6 +32,10 @@ public class SEquipPropertyPool implements BaseConfig { Map config = STableManager.getConfig(SEquipPropertyPool.class); for(SEquipPropertyPool sEquipPropertyPool : config.values()){ int poolNum = sEquipPropertyPool.getPoolNum(); + int weight = sEquipPropertyPool.getWeight(); + if(weight==0){ + continue; + } if(!sEquipPropertyPoolByIdMapTmp.containsKey(poolNum)){ sEquipPropertyPoolByIdMapTmp.put(poolNum,new ArrayList<>()); } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/core/GlobalsDef.java b/serverlogic/src/main/java/com/ljsd/jieling/core/GlobalsDef.java index bef1e0bbc..5ee3ff4db 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/core/GlobalsDef.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/core/GlobalsDef.java @@ -57,4 +57,9 @@ public interface GlobalsDef { int MUST_BE = -1; + //竞技场奖励类型 + int ARENA_DAILY_REWARD =1; + int ARENA_SEASON_REWARD =2; + + } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/GameGM/GMRequestHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/GameGM/GMRequestHandler.java index ee512e1e0..47db93de2 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/GameGM/GMRequestHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/GameGM/GMRequestHandler.java @@ -22,7 +22,6 @@ import com.ljsd.jieling.util.MessageUtil; import com.ljsd.jieling.util.TimeUtils; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; -import sun.misc.MessageUtils; import java.io.IOException; import java.text.SimpleDateFormat; diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/Equip.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/Equip.java index 8eb6038ba..d8e8e86eb 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/Equip.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/Equip.java @@ -3,16 +3,19 @@ package com.ljsd.jieling.logic.dao; import com.ljsd.common.mogodb.MongoBase; import com.ljsd.jieling.config.*; import com.ljsd.jieling.core.GlobalsDef; +import com.ljsd.jieling.handler.GameGM.GMRequestHandler; import com.ljsd.jieling.logic.dao.root.User; import com.ljsd.jieling.util.KeyGenUtils; import com.ljsd.jieling.util.MathUtils; import com.ljsd.jieling.util.UUIDEnum; +import org.slf4j.LoggerFactory; import java.util.HashMap; import java.util.List; import java.util.Map; public class Equip extends MongoBase implements Cloneable{ + private static final org.slf4j.Logger LOGGER = LoggerFactory.getLogger(Equip.class); private String id; @@ -148,6 +151,10 @@ public class Equip extends MongoBase implements Cloneable{ private Map getSecondValue(int poolId,int nums,Map promoteMap){ Map result = new HashMap<>(); List sEquipPropertyPoolList = SEquipPropertyPool.getSEquipPropertyPool(poolId); + if(sEquipPropertyPoolList.size() propertyValueByIdMap = equip.getPropertyValueByIdMap(); Map secondValueByIdMap = equip.getSecondValueByIdMap(); combinedAttribute(propertyValueByIdMap,heroAllAttribute); combinedAttribute(secondValueByIdMap,heroAllAttribute); + SEquipConfig sEquipConfig = SEquipConfig.getsEquipConfigById(equip.getEquipId()); + equipForce+=sEquipConfig.getScore(); } heroAllAttribute.put(HeroAttributeEnum.CurHP.getPropertyId(),heroAllAttribute.get(GlobalsDef.HP_TYPE)); calInteractAdd(heroAllAttribute); + //装备战力保存 + heroAllAttribute.put(HeroAttributeEnum.EquipForce.getPropertyId(),equipForce); return heroAllAttribute; } @@ -798,6 +803,9 @@ public class HeroLogic { Map heroAllAttribute = user.getMapManager().getHeroAllAttributeByHeroId(hero.getId()); //食物buffer加成 Map foodAddMap = CombatLogic.getInstance().attributeByEatFood(user,GlobalsDef.FOOD_ADDITION_BATTLE_TYPE, GlobalsDef.FOOD_EAT_AFFECT_PERSON); + if(foodAddMap.isEmpty()){ + return heroAllAttribute; + } combinedAttribute(foodAddMap,heroAllAttribute); calInteractAdd(heroAllAttribute); return heroAllAttribute; @@ -806,10 +814,20 @@ public class HeroLogic { public int calHeoForce(User user, Hero hero){ Map heroAllAttribute = calHeroFinalAttributeWhenInMap(user, hero); + //战力保存 + int force = calForce(heroAllAttribute); + return force + heroAllAttribute.get(HeroAttributeEnum.EquipForce.getPropertyId()); + } + + private int calForce( Map heroAllAttribute ){ double result = 0; for(Map.Entry item : heroAllAttribute.entrySet()){ Integer propertyId = item.getKey(); Integer propertyValue = item.getValue(); + if(propertyId == HeroAttributeEnum.EquipForce.getPropertyId()){ + LOGGER.info("the equipScore={}",propertyValue); + continue; + } SPropertyConfig sPropertyConfig = SPropertyConfig.getsPropertyConfigByPID(propertyId); float score = sPropertyConfig.getScore(); LOGGER.info("the value is ={},propertyValue={},score={}",propertyValue*score,propertyValue,score); @@ -883,8 +901,9 @@ public class HeroLogic { } hero.updateMutliEquipPositionMap(equipInfoTmp); - - // LOGGER.info("the heroTid={},the force={}",hero.getTemplateId(),calHeoForce(user,hero)); + Map heroNotBufferAttribute = calHeroNotBufferAttribute(user, hero); + int force = calForce(heroNotBufferAttribute) + heroNotBufferAttribute.get(HeroAttributeEnum.EquipForce.getPropertyId()); + LOGGER.info("the heroTid={},the force={}",hero.getTemplateId(),force); //发送成功消息 MessageUtil.sendMessage(session,1,MessageTypeProto.MessageType.EQUIP_WEAR_RESPONSE_VALUE,null,true);