back_recharge
zhangshanxue 2019-09-17 10:35:14 +08:00
commit 4ef73f2406
11 changed files with 62 additions and 36 deletions

View File

@ -41,6 +41,9 @@ local function casterBulletEffect(caster, target, interval)
end end
local function calBuffHit(caster, target, baseRandom) local function calBuffHit(caster, target, baseRandom)
if caster.isTeam then --异妖不走效果命中公式
return baseRandom
end
local hit = (1 + caster:GetRoleData(RoleDataName.Hit) / (1 + target:GetRoleData(RoleDataName.Dodge))) local hit = (1 + caster:GetRoleData(RoleDataName.Hit) / (1 + target:GetRoleData(RoleDataName.Dodge)))
return BattleUtil.ErrorCorrection(hit * baseRandom) return BattleUtil.ErrorCorrection(hit * baseRandom)
end end

View File

@ -54,6 +54,7 @@ public interface Global {
int NO_FIND_ONESELF_STATE = 10001; // 不能查找自己 int NO_FIND_ONESELF_STATE = 10001; // 不能查找自己
int RENAME_DIRTY = 10002; int RENAME_DIRTY = 10002;
int RENAME_SIZE_ERROR = 10003; int RENAME_SIZE_ERROR = 10003;
int SHOW_TIPS_ERROR = 20000;
//跑马灯状态 //跑马灯状态
int LUCKY_LUCK = 1; //吉运 int LUCKY_LUCK = 1; //吉运

View File

@ -82,6 +82,8 @@ public class LoginRequestHandler extends BaseHandler<PlayerInfoProto.LoginReques
pid = Integer.valueOf(loginRequest.getChannelS()); pid = Integer.valueOf(loginRequest.getChannelS());
} }
LOGGER.info("the uid={},the channel={}",userId,pid);
//登陆注册入内存 //登陆注册入内存
String openIdFront = loginRequest.getOpenId(); String openIdFront = loginRequest.getOpenId();

View File

@ -9,16 +9,14 @@ import com.ljsd.jieling.protocols.PlayerInfoProto;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@Component @Component
public class GetPlayerOneTeamInfo extends BaseHandler { public class GetPlayerOneTeamInfo extends BaseHandler<PlayerInfoProto.GetPlayerOneTeamInfoRequest> {
@Override @Override
public MessageTypeProto.MessageType getMessageCode() { public MessageTypeProto.MessageType getMessageCode() {
return MessageTypeProto.MessageType.GET_PLAYER_ONE_TEAM_INFO_REQUEST; return MessageTypeProto.MessageType.GET_PLAYER_ONE_TEAM_INFO_REQUEST;
} }
@Override @Override
public void process(ISession iSession, PacketNetData netData) throws Exception { public void processWithProto(ISession iSession, PlayerInfoProto.GetPlayerOneTeamInfoRequest proto) throws Exception {
byte[] bytes = netData.parseClientProtoNetData(); PlayerLogic.getInstance().getOneTeamInfo(iSession, proto.getPlayerId(),proto.getTeamId(), MessageTypeProto.MessageType.GET_PLAYER_ONE_TEAM_INFO_RESPONSE);
PlayerInfoProto.GetPlayerOneTeamInfoRequest info = PlayerInfoProto.GetPlayerOneTeamInfoRequest.parseFrom(bytes);
PlayerLogic.getInstance().getOneTeamInfo(iSession, info.getPlayerId(), MessageTypeProto.MessageType.GET_PLAYER_ONE_TEAM_INFO_RESPONSE);
} }
} }

View File

@ -2,12 +2,16 @@ package com.ljsd.jieling.hotfix;
import com.fasterxml.jackson.databind.DeserializationFeature; import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectMapper;
import com.sun.tools.attach.AgentInitializationException;
import com.sun.tools.attach.AgentLoadException;
import com.sun.tools.attach.AttachNotSupportedException;
import com.sun.tools.attach.VirtualMachine; import com.sun.tools.attach.VirtualMachine;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import java.io.File; import java.io.File;
import java.io.FileInputStream; import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
import java.lang.management.ManagementFactory; import java.lang.management.ManagementFactory;
import java.util.List; import java.util.List;
@ -60,7 +64,7 @@ public class HotfixUtil{
for (ClassBean cl : list) { for (ClassBean cl : list) {
String path = "../conf/hotswap/"+cl.getName(); String path = "../conf/hotswap/"+cl.getName();
LOGGER.info("HotfixUtil->i={},path={}", i, path); LOGGER.info("HotfixUtil->i={},path={}", i, path);
vm.loadAgent("../lib/hotfix.jar",path);//path参数即agentmain()方法的第一个参数 vm.loadAgent("../lib/serverlogiclib/hotfix.jar",path);//path参数即agentmain()方法的第一个参数
i++; i++;
} }
currVerion = version; currVerion = version;

View File

@ -162,7 +162,7 @@ public class FriendLogic {
return false; return false;
} }
// todo 走配置 // todo 走配置
int maxSize = 200; int maxSize = SSpecialConfig.getIntegerValue(SSpecialConfig.FRIENDAMOUNT_LIMIT);
if (friends.size() >= maxSize) { //用户已达上限不推荐好友信息 if (friends.size() >= maxSize) { //用户已达上限不推荐好友信息
return false; return false;
} }
@ -207,7 +207,7 @@ public class FriendLogic {
int maxFriends = SSpecialConfig.getIntegerValue(SSpecialConfig.FRIENDAMOUNT_LIMIT); int maxFriends = SSpecialConfig.getIntegerValue(SSpecialConfig.FRIENDAMOUNT_LIMIT);
int maxApplyFriends = SSpecialConfig.getIntegerValue(SSpecialConfig.FRIENDAPPLYAMOUNT_LIMIT); int maxApplyFriends = SSpecialConfig.getIntegerValue(SSpecialConfig.FRIENDAPPLYAMOUNT_LIMIT);
if (friends.size() >= maxFriends){ if (friends.size() >= maxFriends){
MessageUtil.sendErrorResponse(iSession,0,msgId,"好友已达上限"); MessageUtil.sendErrorResponse(iSession,Global.SHOW_TIPS_ERROR,msgId,"好友已达上限");
return; return;
} }
for (Integer inviteUid : inviteUidsList){ for (Integer inviteUid : inviteUidsList){
@ -285,18 +285,18 @@ public class FriendLogic {
switch (type){ switch (type){
case 1://同意 case 1://同意
if (friends.contains(friendId)){ if (friends.contains(friendId)){
MessageUtil.sendErrorResponse(iSession,0,msgId,"对方已是你的好友"); MessageUtil.sendErrorResponse(iSession,Global.SHOW_TIPS_ERROR,msgId,"对方已是你的好友");
return; return;
} }
if (friends.size() >= maxFriends){ if (friends.size() >= maxFriends){
MessageUtil.sendErrorResponse(iSession,0,msgId,"好友已达上限"); MessageUtil.sendErrorResponse(iSession,Global.SHOW_TIPS_ERROR,msgId,"好友已达上限");
return; return;
} }
friendUser = UserManager.getUser(friendId); friendUser = UserManager.getUser(friendId);
FriendManager friendfriendManager = friendUser.getFriendManager(); FriendManager friendfriendManager = friendUser.getFriendManager();
friendFriendList = friendUser.getFriendManager().getFriends(); friendFriendList = friendUser.getFriendManager().getFriends();
if (friendFriendList.size() >=maxFriends){ if (friendFriendList.size() >=maxFriends){
MessageUtil.sendErrorResponse(iSession,0,msgId,"对方好友已达上限"); MessageUtil.sendErrorResponse(iSession,Global.SHOW_TIPS_ERROR,msgId,"对方好友已达上限");
return; return;
} }
if (applyFriends.contains(friendId)){ if (applyFriends.contains(friendId)){
@ -410,7 +410,7 @@ public class FriendLogic {
FriendManager friendManager = user.getFriendManager(); FriendManager friendManager = user.getFriendManager();
List<Integer> friends = friendManager.getFriends(); List<Integer> friends = friendManager.getFriends();
if (!friends.contains(friendId)){ if (!friends.contains(friendId)){
MessageUtil.sendErrorResponse(iSession, 0, msgId, "你没有该好友"); MessageUtil.sendErrorResponse(iSession,Global.SHOW_TIPS_ERROR, msgId, "你没有该好友");
return; return;
} }
User friendUser = UserManager.getUser(friendId); User friendUser = UserManager.getUser(friendId);
@ -445,18 +445,18 @@ public class FriendLogic {
int times = 0; int times = 0;
if (type == 1) {//赠送一个人 if (type == 1) {//赠送一个人
if (!friends.contains(friendId)) { if (!friends.contains(friendId)) {
MessageUtil.sendErrorResponse(iSession, 0, msgId, "没有该好友"); MessageUtil.sendErrorResponse(iSession,Global.SHOW_TIPS_ERROR, msgId, "没有该好友");
return; return;
} }
if (giveMap.get(friendId) == 1) { if (giveMap.get(friendId) == 1) {
MessageUtil.sendErrorResponse(iSession, 0, msgId, "已经赠送过"); MessageUtil.sendErrorResponse(iSession,Global.SHOW_TIPS_ERROR ,msgId, "已经赠送过");
return; return;
} }
User friendUser = UserManager.getUser(friendId); User friendUser = UserManager.getUser(friendId);
FriendManager friendManager1 = friendUser.getFriendManager(); FriendManager friendManager1 = friendUser.getFriendManager();
Map<Integer, Integer> haveRewardMap = friendUser.getFriendManager().getHaveRewardMap(); Map<Integer, Integer> haveRewardMap = friendUser.getFriendManager().getHaveRewardMap();
if (haveRewardMap.containsKey(uid) && haveRewardMap.get(uid) != 0) { if (haveRewardMap.containsKey(uid) && haveRewardMap.get(uid) != 0) {
MessageUtil.sendErrorResponse(iSession, 0, msgId, "已经赠送过"); MessageUtil.sendErrorResponse(iSession,Global.SHOW_TIPS_ERROR, msgId, "已经赠送过");
return; return;
} }
friendManager.updateGiveMap(friendId,1); friendManager.updateGiveMap(friendId,1);
@ -570,13 +570,13 @@ public class FriendLogic {
// return; // return;
// } // }
if (playerInfoManager.getNickName().equals(name)){ if (playerInfoManager.getNickName().equals(name)){
MessageUtil.sendErrorResponse(iSession, Global.NO_FIND_ONESELF_STATE, msgId, "不能查找自己"); MessageUtil.sendErrorResponse(iSession, Global.SHOW_TIPS_ERROR, msgId, "不能查找自己");
return; return;
} }
String key = RedisKey.getKey(RedisKey.C_User_Name_Key, name, false); String key = RedisKey.getKey(RedisKey.C_User_Name_Key, name, false);
Object friend = RedisUtil.getInstence().get(key); Object friend = RedisUtil.getInstence().get(key);
if (friend == null){ if (friend == null){
MessageUtil.sendErrorResponse(iSession, Global.USER_NO_EXIT_STATE, msgId, "玩家不存在"); MessageUtil.sendErrorResponse(iSession, Global.SHOW_TIPS_ERROR, msgId, "玩家不存在");
return; return;
} }
int type = 1; int type = 1;

View File

@ -162,7 +162,6 @@ public class HeroLogic {
public void random(ISession session,int type) throws Exception { public void random(ISession session,int type) throws Exception {
LOGGER.info("test randomxxxxx... the type={} ",type);
int uid = session.getUid(); int uid = session.getUid();
User user = UserManager.getUser(uid); User user = UserManager.getUser(uid);
SLotterySetting sLotterySetting = SLotterySetting.getsLotterySettingMap().get(type); SLotterySetting sLotterySetting = SLotterySetting.getsLotterySettingMap().get(type);
@ -434,12 +433,12 @@ public class HeroLogic {
if (hero == null) { if (hero == null) {
break; break;
} }
if(heroAllAttributeMap.get(heroInfo)!=null){ if(heroAllAttributeMap.get(heroInfo.getHeroId())!=null){
continue; continue;
} }
Map<Integer, Integer> heroAllAttribute = HeroLogic.getInstance().calHeroNotBufferAttribute(user, hero,false,teamId); Map<Integer, Integer> heroAllAttribute = HeroLogic.getInstance().calHeroNotBufferAttribute(user, hero,false,teamId);
Map<String, Integer> endlessHeroInfo = user.getMapManager().getEndlessMapInfo().getEndlessHeroInfo(); Map<String, Integer> endlessHeroInfo = user.getMapManager().getEndlessMapInfo().getEndlessHeroInfo();
if(endlessHeroInfo!=null&& endlessHeroInfo.size()>0){ if(endlessHeroInfo!=null&& endlessHeroInfo.containsKey(heroInfo.getHeroId())){
int curHp = (int)(endlessHeroInfo.get(heroInfo.getHeroId()) /10000.00 * heroAllAttribute.get(HeroAttributeEnum.Hp.getPropertyId())); int curHp = (int)(endlessHeroInfo.get(heroInfo.getHeroId()) /10000.00 * heroAllAttribute.get(HeroAttributeEnum.Hp.getPropertyId()));
heroAllAttribute.put(HeroAttributeEnum.CurHP.getPropertyId(), curHp); heroAllAttribute.put(HeroAttributeEnum.CurHP.getPropertyId(), curHp);
} }

View File

@ -430,24 +430,27 @@ public class PlayerLogic {
} }
} }
public void getOneTeamInfo(ISession session, int id,MessageTypeProto.MessageType messageType) throws Exception { public void getOneTeamInfo(ISession session, int id,int teamId,MessageTypeProto.MessageType messageType) throws Exception {
User user = UserManager.getUser(id); User user = UserManager.getUser(id);
PlayerManager playerManager = user.getPlayerInfoManager(); PlayerManager playerManager = user.getPlayerInfoManager();
CommonProto.Team.Builder team = CommonProto.Team.newBuilder(); CommonProto.Team.Builder team = CommonProto.Team.newBuilder();
TeamPosManager teamPosManager = user.getTeamPosManager(); TeamPosManager teamPosManager = user.getTeamPosManager();
for (TeamPosHeroInfo heroInfo:teamPosManager.getTeamPosForHero().get(1)) { if(teamPosManager.getTeamPosForHero().containsKey(teamId)){
for (TeamPosHeroInfo heroInfo:teamPosManager.getTeamPosForHero().get(teamId)) {
int templateId = user.getHeroManager().getHero(heroInfo.getHeroId()).getTemplateId(); int templateId = user.getHeroManager().getHero(heroInfo.getHeroId()).getTemplateId();
team.addHeroTid(templateId); team.addHeroTid(templateId);
} }
}
CommonProto.TeamOneInfo.Builder oneInfo = CommonProto.TeamOneInfo.newBuilder() CommonProto.TeamOneInfo.Builder oneInfo = CommonProto.TeamOneInfo.newBuilder()
.setHead(1) .setHead(1)
.setHeadFrame(playerManager.getHeadFrame()) .setHeadFrame(playerManager.getHeadFrame())
.setName(playerManager.getNickName()).setUid(session.getUid()); .setName(playerManager.getNickName()).setUid(session.getUid());
CommonProto.TeamOneTeamInfo.Builder teamInfo = CommonProto.TeamOneTeamInfo.newBuilder(); CommonProto.TeamOneTeamInfo.Builder teamInfo = CommonProto.TeamOneTeamInfo.newBuilder();
teamInfo.setTeam(team); teamInfo.setTeam(team);
teamInfo.setTotalForce(HeroLogic.getInstance().calTeamTotalForce(user,1,false)); teamInfo.setTotalForce(HeroLogic.getInstance().calTeamTotalForce(user,teamId,false));
if(teamPosManager.getTeamPosForPoken().get(1)!=null&&teamPosManager.getTeamPosForPoken().get(1).size()>0){ if(teamPosManager.getTeamPosForPoken().get(teamId)!=null&&teamPosManager.getTeamPosForPoken().get(teamId).size()>0){
for(TeamPosForPokenInfo posForPokenInfo:teamPosManager.getTeamPosForPoken().get(1)){ for(TeamPosForPokenInfo posForPokenInfo:teamPosManager.getTeamPosForPoken().get(teamId)){
teamInfo.addPokemonInfos(posForPokenInfo.getPokenId()); teamInfo.addPokemonInfos(posForPokenInfo.getPokenId());
} }
} }

View File

@ -199,10 +199,20 @@ public class BuyGoodsLogic {
MailLogic.getInstance().sendMail(user.getId(),title,content,rewardStr,nowTime, Global.MAIL_EFFECTIVE_TIME); MailLogic.getInstance().sendMail(user.getId(),title,content,rewardStr,nowTime, Global.MAIL_EFFECTIVE_TIME);
resultRes.setResultCode(1); resultRes.setResultCode(1);
KtEventUtils.onKtEvent(user, ParamEventBean.UserPayEvent,goodsId,orderId,resultRes.getResultCode(),price); KtEventUtils.onKtEvent(user, ParamEventBean.UserPayEvent,goodsId,orderId,resultRes.getResultCode(),price);
notifyPaySuccessFul(uid,goodsId);
return resultRes; return resultRes;
} }
//通知前端充值成功
public static void notifyPaySuccessFul(int uid,int goodsId){
ISession session = OnlineUserManager.getSessionByUid(uid);
if(session!=null){
PlayerInfoProto.NotifyPaySuccessfulIndicaiton build = PlayerInfoProto.NotifyPaySuccessfulIndicaiton.newBuilder().setGoodsId(goodsId).build();
MessageUtil.sendIndicationMessage(session,1, MessageTypeProto.MessageType.NOTIFY_PAY_SUCCESS_INDICATION_VALUE,build,true);
}
}
/** /**
* *

View File

@ -545,10 +545,13 @@ public class ItemUtil {
continue; continue;
} }
Integer nums = entry.getValue();
for(int i=0;i<nums;i++){
Equip equip = new Equip(user.getId(), entry.getKey()); Equip equip = new Equip(user.getId(), entry.getKey());
equips.add(equip); equips.add(equip);
equipProtoList.add(CBean2Proto.getEquipProto(equip)); equipProtoList.add(CBean2Proto.getEquipProto(equip));
LOGGER.info("the uid={},the curMapId={},add equip={},equipNum={},totalEquipNum={}",user.getId(),user.getMapManager().getCurMapId(),entry.getKey(),1,equips.size()); }
LOGGER.info("the uid={},the curMapId={},add equip={},equipNum={},totalEquipNum={}",user.getId(),user.getMapManager().getCurMapId(),entry.getKey(),nums,equips.size());
} }
for (Map.Entry<Integer, Integer> entry : equipMap.entrySet()) { for (Map.Entry<Integer, Integer> entry : equipMap.entrySet()) {
@ -556,10 +559,13 @@ public class ItemUtil {
if (sEquipSign == null) { if (sEquipSign == null) {
continue; continue;
} }
Integer nums = entry.getValue();
for(int i=0;i<nums;i++){
SoulEquip soulEquip1 = new SoulEquip(user.getId(), entry.getKey()); SoulEquip soulEquip1 = new SoulEquip(user.getId(), entry.getKey());
soulEquips.add(soulEquip1); soulEquips.add(soulEquip1);
soulEquiplist.add(CBean2Proto.getEquipProto(soulEquip1)); soulEquiplist.add(CBean2Proto.getEquipProto(soulEquip1));
LOGGER.info("the uid={},the curMapId={},add equip={},equipNum={},totalEquipNum={}",user.getId(),user.getMapManager().getCurMapId(),entry.getKey(),1,equips.size()); }
LOGGER.info("the uid={},the curMapId={},add equip={},equipNum={},totalEquipNum={}",user.getId(),user.getMapManager().getCurMapId(),entry.getKey(),nums,equips.size());
} }
mapManager.setTemporaryItems(temporaryItems); mapManager.setTemporaryItems(temporaryItems);

View File

@ -83,7 +83,7 @@ public class MonsterUtil {
for(int j = 0; j<contents.length;j++){ for(int j = 0; j<contents.length;j++){
for(int k = 0;k<contents[j].length;k++){ for(int k = 0;k<contents[j].length;k++){
SMonsterConfig monster = integerSMonsterConfigMap.get(contents[j][k]); SMonsterConfig monster = integerSMonsterConfigMap.get(contents[j][k]);
int monsterForce = (int)(monster.getAttack()*3+monster.getHp()*0.21+monster.getPhysicalDefence()*0.5+monster.getMagicDefence()*0.5); int monsterForce = (int)(monster.getAttack()*3+monster.getHp()*0.32+monster.getPhysicalDefence()*0.8+monster.getMagicDefence()*0.8);
totalMonsterForce+=monsterForce; totalMonsterForce+=monsterForce;
} }
} }