头像框修改、初始化提交
parent
a25dc800dc
commit
124b7b5e0f
|
@ -77,6 +77,8 @@ public class SGameSetting implements BaseConfig {
|
|||
|
||||
private int[] achievementRefreshType;
|
||||
|
||||
private int defaultPicture;
|
||||
|
||||
|
||||
|
||||
private static SGameSetting gameSetting;
|
||||
|
@ -214,4 +216,8 @@ public class SGameSetting implements BaseConfig {
|
|||
public int[] getAchievementRefreshType() {
|
||||
return achievementRefreshType;
|
||||
}
|
||||
|
||||
public int getDefaultPicture() {
|
||||
return defaultPicture;
|
||||
}
|
||||
}
|
|
@ -61,6 +61,8 @@ public interface BIReason {
|
|||
|
||||
int TOWER_FLOOR_REWARD = 37;
|
||||
|
||||
int MONTH_CARD_REWARD = 38;
|
||||
|
||||
//道具消耗原因 1000开头
|
||||
int ADVENTURE_UPLEVEL_CONSUME = 1000; //秘境升级
|
||||
int SECRETBOX_CONSUME = 1001; //秘盒抽卡
|
||||
|
|
|
@ -0,0 +1,28 @@
|
|||
package com.ljsd.jieling.handler.player;
|
||||
|
||||
import com.ljsd.jieling.handler.BaseHandler;
|
||||
import com.ljsd.jieling.logic.player.PlayerLogic;
|
||||
import com.ljsd.jieling.netty.cocdex.PacketNetData;
|
||||
import com.ljsd.jieling.network.session.ISession;
|
||||
import com.ljsd.jieling.protocols.MessageTypeProto;
|
||||
import com.ljsd.jieling.protocols.PlayerInfoProto;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
|
||||
@Component
|
||||
public class ModifyHeadFrameHandler extends BaseHandler {
|
||||
@Override
|
||||
public MessageTypeProto.MessageType getMessageCode() {
|
||||
return MessageTypeProto.MessageType.MODIFY_HEAD_FRAME_REQUEST;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void process(ISession iSession, PacketNetData netData) throws Exception {
|
||||
byte[] bytes = netData.parseClientProtoNetData();
|
||||
|
||||
PlayerInfoProto.modifyHeadFrameRequest request = PlayerInfoProto.modifyHeadFrameRequest.parseFrom(bytes);
|
||||
int headFrameId = request.getHeadFrameId();
|
||||
PlayerLogic.getInstance().modifyHeadFrame(iSession,headFrameId,MessageTypeProto.MessageType.MODIFY_HEAD_FRAME_RESPONSE);
|
||||
|
||||
}
|
||||
}
|
|
@ -89,6 +89,7 @@ public class UserManager {
|
|||
playerManager.setLoginTime(now);
|
||||
playerManager.updateVipInfo(user,0);
|
||||
playerManager.setRechargeInfo(new RechargeInfo());
|
||||
playerManager.setHeadFrame(SGameSetting.getGameSetting().getDefaultPicture());
|
||||
SPlayerLevelConfig sPlayerLevelConfig = SPlayerLevelConfig.getsPlayerLevelConfigMap().get(1);
|
||||
playerManager.setMaxStamina(sPlayerLevelConfig.getMaxEnergy());
|
||||
ItemUtil.drop(user,gameSetting.getBornItem(), BIReason.USER_BORN_REWARD);
|
||||
|
|
|
@ -867,6 +867,7 @@ public class CombatLogic {
|
|||
public static Map<String,Map<Integer, Integer>> elementEffect(User user){
|
||||
Map<String, Map<Integer, Integer>> heroAllAttributeMap = user.getMapManager().getHeroAllAttributeMap();
|
||||
Map<String, Hero> heroMap = user.getHeroManager().getHeroMap();
|
||||
Map<Integer, SElementalResonanceConfig> configMap = SElementalResonanceConfig.configMap;
|
||||
|
||||
//找出上场的Id
|
||||
Set<String> heroes = heroAllAttributeMap.keySet();
|
||||
|
@ -888,13 +889,36 @@ public class CombatLogic {
|
|||
}
|
||||
}
|
||||
propertiesMap = sortByValueDescending(propertiesMap);
|
||||
for(Map.Entry<Integer,Integer> entry :propertiesMap.entrySet()){
|
||||
LOGGER.info("{}系类型数量为{}",entry.getKey(),entry.getValue());
|
||||
}
|
||||
int[][] effect = new int[2][];
|
||||
int[] normalProperties = new int[3];
|
||||
int[] special = new int[2];
|
||||
|
||||
|
||||
//暗属性判断
|
||||
if(propertiesMap.containsKey(6)){
|
||||
special[0] = 2;
|
||||
special[1] = propertiesMap.get(6);
|
||||
}
|
||||
propertiesMap.remove(6);
|
||||
//光属性判断
|
||||
if(propertiesMap.size()>1){
|
||||
if(propertiesMap.containsKey(5)) {
|
||||
int allRoundProperCount = propertiesMap.get(5);
|
||||
propertiesMap.remove(5);
|
||||
if(allRoundProperCount<5){ //光属性小于5
|
||||
for (Map.Entry<Integer,Integer> entry:propertiesMap.entrySet()){
|
||||
if(entry.getKey()!=6&&entry.getKey()!=5){
|
||||
propertiesMap.put(entry.getKey(), entry.getValue()+allRoundProperCount);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//普通属性判断
|
||||
normalProperties[0] = 1;
|
||||
int nomalIndex = 1;
|
||||
for(Map.Entry<Integer,Integer> entry:propertiesMap.entrySet()){
|
||||
|
@ -907,17 +931,28 @@ public class CombatLogic {
|
|||
}
|
||||
effect[0] = normalProperties;
|
||||
effect[1] = special;
|
||||
Map<Integer, SElementalResonanceConfig> configMap = SElementalResonanceConfig.configMap;
|
||||
for(int i = 0 ; i<effect.length;i++){
|
||||
if(effect[i].length>2){
|
||||
LOGGER.info("生效的光环为{},{},{}",effect[i][0],effect[i][1],effect[i][2]);
|
||||
}else{
|
||||
LOGGER.info("生效的光环为{},{}",effect[i][0],effect[i][1]);
|
||||
}
|
||||
|
||||
}
|
||||
List<int[][]> resultEffect = new ArrayList<>();
|
||||
for(int i = 0; i <effect.length;i++){
|
||||
for(Map.Entry<Integer,SElementalResonanceConfig> entry:configMap.entrySet()){
|
||||
if(Arrays.equals(effect[i],entry.getValue().getType())){
|
||||
resultEffect.add(entry.getValue().getContent());
|
||||
}
|
||||
}
|
||||
}
|
||||
Iterator<int[][]> it = resultEffect.iterator();
|
||||
while (it.hasNext()){
|
||||
int[][] next = it.next();
|
||||
System.out.println(next[0][0]+","+next[0][1]);
|
||||
|
||||
}
|
||||
}
|
||||
System.out.println();
|
||||
return heroAllAttributeMap;
|
||||
}
|
||||
|
||||
|
|
|
@ -258,4 +258,13 @@ public class PlayerLogic {
|
|||
}
|
||||
|
||||
}
|
||||
public void modifyHeadFrame(ISession session, int frameId,MessageTypeProto.MessageType messageType) throws Exception {
|
||||
User user = UserManager.getUser(session.getUid());
|
||||
ItemManager itemManager = user.getItemManager();
|
||||
if(itemManager.getItem(frameId).getItemNum()<1){
|
||||
MessageUtil.sendErrorResponse(session,0,messageType.getNumber(),"无此头像框");
|
||||
}
|
||||
user.getPlayerInfoManager().setHeadFrame(frameId);
|
||||
MessageUtil.sendMessage(session,1,messageType.getNumber(),null,true);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue