Merge branch 'master' of 60.1.1.230:backend/jieling_server
commit
2237a35f82
|
|
@ -25,14 +25,14 @@ function BattleEvent:AddEvent(sEventName, fListener, pObj, bOnce)
|
|||
self.m_listeners[sEventName]:Add(item)
|
||||
end
|
||||
|
||||
function BattleEvent:RemoveEvent(sEventName, fListener)
|
||||
function BattleEvent:RemoveEvent(sEventName, fListener, pObj)
|
||||
if not self.m_listeners[sEventName] then
|
||||
return
|
||||
end
|
||||
local v
|
||||
for i=1, self.m_listeners[sEventName].size do
|
||||
v = self.m_listeners[sEventName].buffer[i]
|
||||
if v.func == fListener then
|
||||
if v.func == fListener and pObj == v.obj then
|
||||
itemPool:Put(v)
|
||||
self.m_listeners[sEventName]:Remove(i)
|
||||
break
|
||||
|
|
|
|||
|
|
@ -868,5 +868,25 @@ local passivityList = {
|
|||
role.data:SubPencentValue(propertyList[pro2], f2)
|
||||
end
|
||||
end,
|
||||
|
||||
--发动技能后,[a]概率[e]改变敌方全体[b]属性[c],持续[d]秒
|
||||
--a[float],b[属性],c[float],d[int],e[改变类型]
|
||||
[49] = function(role, args)
|
||||
local f1 = args[1]
|
||||
local pro = args[2]
|
||||
local f2 = args[3]
|
||||
local f3 = args[4]
|
||||
local ct = args[5]
|
||||
|
||||
local OnSkillCastEnd = function(skill)
|
||||
BattleUtil.RandomAction(f1, function ()
|
||||
local arr = BattleUtil.ChooseTarget(role, 20000)
|
||||
for i=1, #arr do
|
||||
arr[i]:AddBuff(Buff.Create(role, BuffName.PropertyChange, f3, propertyList[pro], f2, ct))
|
||||
end
|
||||
end)
|
||||
end
|
||||
role.Event:AddEvent(BattleEventName.SkillCastEnd, OnSkillCastEnd)
|
||||
end,
|
||||
}
|
||||
return passivityList
|
||||
|
|
@ -16,22 +16,23 @@ end)
|
|||
Skill = {}
|
||||
|
||||
function Skill:New()
|
||||
local o = {cd=0,effectList = BattleList.New(),owner=0,sp=0,spPass = 0,isTeamSkill=false }
|
||||
local o = {cd=0,effectList = BattleList.New(),owner=0,sp=0,spPass = 0,isTeamSkill=false,teamSkillType=0 }
|
||||
setmetatable(o, self)
|
||||
self.__index = self
|
||||
return o
|
||||
end
|
||||
|
||||
function Skill:Init(role, effectData)
|
||||
self.cd = effectData[1]
|
||||
function Skill:Init(role, effectData, isTeamSkill)
|
||||
self.cd = isTeamSkill and effectData[1] % 100 or effectData[1] --异妖技能的cd数据为:类型*100 + cd
|
||||
|
||||
--skill = {cd, {目标id1, 效果时间, 效果1, 效果2, ...},{目标id2, 效果时间, 效果3, 效果4, ...}, ...}
|
||||
--效果 = {效果类型id, 效果参数1, 效果参数2, ...}
|
||||
self.effectList:Clear()
|
||||
self.owner = role
|
||||
self.sp = 0
|
||||
self.spPass = 0
|
||||
self.isTeamSkill = false
|
||||
self.sp = isTeamSkill and floor(self.cd * BattleLogic.GameFrameRate) or 0
|
||||
self.spPass = self.sp
|
||||
self.isTeamSkill = isTeamSkill
|
||||
self.teamSkillType = isTeamSkill and floor(effectData[1] / 100) or 0
|
||||
self.isManual = false
|
||||
|
||||
for i=2, #effectData do
|
||||
|
|
@ -157,8 +158,9 @@ function Skill:Cast()
|
|||
end
|
||||
self.owner.Event:DispatchEvent(BattleEventName.SkillCast, self)
|
||||
else
|
||||
self.sp = 0
|
||||
self.owner.curSkill = self
|
||||
BattleLogic.Event:DispatchEvent(BattleEventName.SkillCast, self.cd, self.owner) --队伍技能结构和其他相同,只是cd项为对应异妖类型
|
||||
BattleLogic.Event:DispatchEvent(BattleEventName.SkillCast, self)
|
||||
end
|
||||
|
||||
--技能的施法时间计算,根据当前目标id关联的持续时间,取其中时间最长的一个
|
||||
|
|
|
|||
|
|
@ -26,8 +26,8 @@ BattleLogic.Event = BattleEvent.New()
|
|||
BattleLogic.BuffMgr = BuffManager.New()
|
||||
|
||||
local skillManualQueue = BattleQueue.New()
|
||||
local playerTeamDummyRole = {camp = 0, Event = BattleLogic.Event, isTeam = true, curSkill = nil}
|
||||
local enemyTeamDummyRole = {camp = 1, Event = BattleLogic.Event, isTeam = true, curSkill = nil}
|
||||
local playerTeamDummyRole = {camp = 0, Event = BattleLogic.Event, isTeam = true, curSkill = nil, isDebug = false}
|
||||
local enemyTeamDummyRole = {camp = 1, Event = BattleLogic.Event, isTeam = true, curSkill = nil, isDebug = false}
|
||||
local playerTeamSkillList = {}
|
||||
local enemyTeamSkillList = {}
|
||||
local playerTeamSkillIndex
|
||||
|
|
@ -49,10 +49,6 @@ BattleLogic.CurOrder = 0
|
|||
|
||||
local maxFrame --战斗最大用时,超时判负
|
||||
|
||||
local teamSkillCD = 40 * BattleLogic.GameFrameRate --异妖cd
|
||||
local lastPlayerTeamSkillFrame
|
||||
local lastEnemyTeamSkillFrame
|
||||
|
||||
local actionPool = BattleObjectPool.New(function ()
|
||||
return { 0, 0 }
|
||||
end)
|
||||
|
|
@ -91,15 +87,15 @@ function BattleLogic.Init(maxTime, data, optionData)
|
|||
playerMP = 0
|
||||
enemyMP = 0
|
||||
|
||||
playerTeamDummyRole.isDebug = false
|
||||
enemyTeamDummyRole.isDebug = false
|
||||
|
||||
playerTeamSkillIndex = 1
|
||||
enemyTeamSkillIndex = 1
|
||||
|
||||
playerSkillUsable = true
|
||||
enemySkillUsable = true
|
||||
|
||||
lastPlayerTeamSkillFrame = 0
|
||||
lastEnemyTeamSkillFrame = 0
|
||||
|
||||
isAuto = true
|
||||
|
||||
BattleLogic.Event:ClearEvent()
|
||||
|
|
@ -113,6 +109,7 @@ function BattleLogic.StartOrder()
|
|||
if BattleLogic.CurOrder == 1 then
|
||||
for i=1, #fightData.playerData do
|
||||
BattleLogic.AddRole(fightData.playerData[i])
|
||||
|
||||
end
|
||||
for i=1, #fightData.enemyData[BattleLogic.CurOrder] do
|
||||
BattleLogic.AddRole(fightData.enemyData[BattleLogic.CurOrder][i])
|
||||
|
|
@ -124,8 +121,7 @@ function BattleLogic.StartOrder()
|
|||
end
|
||||
for i=1, #fightData.playerData.teamSkill do
|
||||
playerTeamSkillList[i] = skillPool:Get()
|
||||
playerTeamSkillList[i]:Init(playerTeamDummyRole, fightData.playerData.teamSkill[i])
|
||||
playerTeamSkillList[i].isTeamSkill = true
|
||||
playerTeamSkillList[i]:Init(playerTeamDummyRole, fightData.playerData.teamSkill[i], true)
|
||||
end
|
||||
|
||||
for i=1, #enemyTeamSkillList do
|
||||
|
|
@ -134,8 +130,7 @@ function BattleLogic.StartOrder()
|
|||
end
|
||||
for i=1, #fightData.enemyData[BattleLogic.CurOrder].teamSkill do
|
||||
enemyTeamSkillList[i] = skillPool:Get()
|
||||
enemyTeamSkillList[i]:Init(enemyTeamDummyRole, fightData.enemyData[BattleLogic.CurOrder].teamSkill[i])
|
||||
enemyTeamSkillList[i].isTeamSkill = true
|
||||
enemyTeamSkillList[i]:Init(enemyTeamDummyRole, fightData.enemyData[BattleLogic.CurOrder].teamSkill[i], true)
|
||||
end
|
||||
else
|
||||
BattleLogic.ClearOrder()
|
||||
|
|
@ -149,8 +144,7 @@ function BattleLogic.StartOrder()
|
|||
end
|
||||
for i=1, #fightData.enemyData[BattleLogic.CurOrder].teamSkill do
|
||||
enemyTeamSkillList[i] = skillPool:Get()
|
||||
enemyTeamSkillList[i]:Init(enemyTeamDummyRole, fightData.enemyData[BattleLogic.CurOrder].teamSkill[i])
|
||||
enemyTeamSkillList[i].isTeamSkill = true
|
||||
enemyTeamSkillList[i]:Init(enemyTeamDummyRole, fightData.enemyData[BattleLogic.CurOrder].teamSkill[i], true)
|
||||
end
|
||||
end
|
||||
BattleLogic.InitAggro()
|
||||
|
|
@ -173,7 +167,16 @@ function BattleLogic.GetMP(camp)
|
|||
end
|
||||
|
||||
function BattleLogic.CanManualTeamSkill()
|
||||
return not isAuto and playerMP == 100 and (lastPlayerTeamSkillFrame == 0 or curFrame - lastPlayerTeamSkillFrame >= teamSkillCD)
|
||||
local teamSkill = playerTeamSkillList[playerTeamSkillIndex]
|
||||
return not isAuto and playerMP == 100 and teamSkill and teamSkill.sp >= teamSkill.spPass
|
||||
end
|
||||
|
||||
function BattleLogic.GetTeamSkillCDPass()
|
||||
local teamSkill = playerTeamSkillList[playerTeamSkillIndex]
|
||||
if not teamSkill then
|
||||
return 1
|
||||
end
|
||||
return teamSkill.sp / teamSkill.spPass
|
||||
end
|
||||
|
||||
function BattleLogic.GenerateBuffId()
|
||||
|
|
@ -285,6 +288,10 @@ function BattleLogic.GetOption()
|
|||
return optionRecord
|
||||
end
|
||||
|
||||
function BattleLogic.GetTeamSkillCaster(camp)
|
||||
return camp == 0 and playerTeamDummyRole or enemyTeamDummyRole
|
||||
end
|
||||
|
||||
--执行操作逻辑
|
||||
function BattleLogic.ExecuteOption(option)
|
||||
local opType = option[2]
|
||||
|
|
@ -307,16 +314,7 @@ function BattleLogic.ExecuteOption(option)
|
|||
skillManualQueue:Enqueue(role.superSkill)
|
||||
end
|
||||
elseif opType == 4 then --释放teamSkill
|
||||
local teamSkill = playerTeamSkillList[playerTeamSkillIndex]
|
||||
if teamSkill then
|
||||
teamSkill:Cast()
|
||||
playerTeamSkillIndex = playerTeamSkillIndex + 1
|
||||
if playerTeamSkillIndex > #playerTeamSkillList then
|
||||
playerTeamSkillIndex = 1
|
||||
end
|
||||
playerMP = 0
|
||||
lastPlayerTeamSkillFrame = curFrame
|
||||
end
|
||||
BattleLogic.CastTeamSkill(0)
|
||||
elseif opType == 5 then --设置teamSkill自动手动
|
||||
isAuto = opArg == 1
|
||||
elseif opType == 6 then --切换单个角色自动手动 arg == uid * 10 + auto(0手动,1自动)
|
||||
|
|
@ -416,30 +414,25 @@ function BattleLogic.Update()
|
|||
end
|
||||
end
|
||||
|
||||
if playerMP == 100 and playerSkillUsable and isAuto and
|
||||
(lastPlayerTeamSkillFrame == 0 or curFrame - lastPlayerTeamSkillFrame >= teamSkillCD) then
|
||||
for i=1, #playerTeamSkillList do
|
||||
playerTeamSkillList[i].sp = min(playerTeamSkillList[i].sp + 1, playerTeamSkillList[i].spPass)
|
||||
end
|
||||
|
||||
for i=1, #enemyTeamSkillList do
|
||||
enemyTeamSkillList[i].sp = min(enemyTeamSkillList[i].sp + 1, enemyTeamSkillList[i].spPass)
|
||||
end
|
||||
|
||||
if playerMP == 100 and playerSkillUsable and isAuto then
|
||||
local teamSkill = playerTeamSkillList[playerTeamSkillIndex]
|
||||
if teamSkill then
|
||||
teamSkill:Cast()
|
||||
playerTeamSkillIndex = playerTeamSkillIndex + 1
|
||||
if playerTeamSkillIndex > #playerTeamSkillList then
|
||||
playerTeamSkillIndex = 1
|
||||
end
|
||||
playerMP = 0
|
||||
lastPlayerTeamSkillFrame = curFrame
|
||||
if teamSkill.sp >= teamSkill.spPass then
|
||||
BattleLogic.CastTeamSkill(0)
|
||||
end
|
||||
end
|
||||
if enemyMP == 100 and enemySkillUsable and
|
||||
(lastEnemyTeamSkillFrame == 0 or curFrame - lastEnemyTeamSkillFrame >= teamSkillCD) then
|
||||
|
||||
if enemyMP == 100 and enemySkillUsable then
|
||||
local teamSkill = enemyTeamSkillList[enemyTeamSkillIndex]
|
||||
if teamSkill then
|
||||
teamSkill:Cast()
|
||||
enemyTeamSkillIndex = enemyTeamSkillIndex + 1
|
||||
if enemyTeamSkillIndex > #enemyTeamSkillList then
|
||||
enemyTeamSkillIndex = 1
|
||||
end
|
||||
enemyMP = 0
|
||||
lastEnemyTeamSkillFrame = curFrame
|
||||
if teamSkill.sp >= teamSkill.spPass then
|
||||
BattleLogic.CastTeamSkill(1)
|
||||
end
|
||||
end
|
||||
|
||||
|
|
@ -471,12 +464,46 @@ function BattleLogic.Update()
|
|||
end
|
||||
end
|
||||
|
||||
function BattleLogic.ResetTeamSkillCD(camp)
|
||||
local skill = camp == 0 and playerTeamDummyRole.curSkill or enemyTeamDummyRole.curSkill
|
||||
if skill then
|
||||
skill.spPass = floor(skill.cd % 100 * BattleLogic.GameFrameRate)
|
||||
skill.sp = skill.spPass
|
||||
end
|
||||
end
|
||||
|
||||
function BattleLogic.CastTeamSkill(camp)
|
||||
if camp == 0 then
|
||||
local teamSkill = playerTeamSkillList[playerTeamSkillIndex]
|
||||
if teamSkill then
|
||||
teamSkill:Cast()
|
||||
playerTeamSkillIndex = playerTeamSkillIndex + 1
|
||||
if playerTeamSkillIndex > #playerTeamSkillList then
|
||||
playerTeamSkillIndex = 1
|
||||
end
|
||||
playerMP = 0
|
||||
end
|
||||
else
|
||||
local teamSkill = enemyTeamSkillList[enemyTeamSkillIndex]
|
||||
if teamSkill then
|
||||
teamSkill:Cast()
|
||||
enemyTeamSkillIndex = enemyTeamSkillIndex + 1
|
||||
if enemyTeamSkillIndex > #enemyTeamSkillList then
|
||||
enemyTeamSkillIndex = 1
|
||||
end
|
||||
enemyMP = 0
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
--Debug专用
|
||||
function BattleLogic.SetDebug()
|
||||
for i=1, objList.size do
|
||||
local v = objList.vList[i]
|
||||
v.IsDebug = not v.IsDebug
|
||||
end
|
||||
playerTeamDummyRole.isDebug = not playerTeamDummyRole.isDebug
|
||||
enemyTeamDummyRole.isDebug = not enemyTeamDummyRole.isDebug
|
||||
end
|
||||
|
||||
--Debug专用
|
||||
|
|
|
|||
|
|
@ -44,14 +44,14 @@ function RoleLogic:Init(uid, data)
|
|||
self.passiveList = {}
|
||||
if data.skill and #data.skill > 0 then
|
||||
self.skill = skillPool:Get()
|
||||
self.skill:Init(self, data.skill)
|
||||
self.skill:Init(self, data.skill, false)
|
||||
self.skill.sp = 0
|
||||
local time = max(6-self:GetRoleData(RoleDataName.Speed)/(8*(self:GetRoleData(RoleDataName.Level)+10)), 1.5)
|
||||
self.skill.spPass = floor( time * BattleLogic.GameFrameRate)
|
||||
end
|
||||
if data.superSkill and #data.superSkill > 0 then
|
||||
self.superSkill = skillPool:Get()
|
||||
self.superSkill:Init(self, data.superSkill)
|
||||
self.superSkill:Init(self, data.superSkill, false)
|
||||
self.superSkill.spPass = floor(self.superSkill.cd * BattleLogic.GameFrameRate)
|
||||
self.superSkill.sp = self.superSkill.spPass
|
||||
end
|
||||
|
|
|
|||
|
|
@ -0,0 +1,23 @@
|
|||
package com.ljsd.jieling.handler;
|
||||
|
||||
import com.ljsd.jieling.logic.item.ItemLogic;
|
||||
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 EquipLockHandler extends BaseHandler {
|
||||
@Override
|
||||
public MessageTypeProto.MessageType getMessageCode() {
|
||||
return MessageTypeProto.MessageType.EQUIP_LOCK_REQUEST;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void process(ISession iSession, PacketNetData netData) throws Exception {
|
||||
byte[] bytes = netData.parseClientProtoNetData();
|
||||
PlayerInfoProto.LockEquip equipInfo = PlayerInfoProto.LockEquip.parseFrom(bytes);
|
||||
ItemLogic.getInstance().equipLock(iSession,equipInfo.getType(),equipInfo.getIdList(), MessageTypeProto.MessageType.EQUIP_LOCK_RESPONSE);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,50 @@
|
|||
package com.ljsd.jieling.handler.activity;
|
||||
|
||||
public class BlessInfoConfig {
|
||||
/**
|
||||
* 起始容量(1-16)初始化物品
|
||||
*/
|
||||
public static final int START_CAPACITY = 16;
|
||||
|
||||
/**
|
||||
* 已选物品开始id
|
||||
*/
|
||||
public static final int CHOOSE_START_ID = 17;
|
||||
/**
|
||||
* 已选物品结束id
|
||||
*/
|
||||
public static final int CHOOSE_END_ID = 32;
|
||||
|
||||
/**
|
||||
* 奖励预览开始Id
|
||||
*/
|
||||
public static final int REWARD_VIEW_START_ID = 33;
|
||||
/**
|
||||
* 奖励预览结束Id
|
||||
*/
|
||||
public static final int REWARD_VIEW_END_ID = 48;
|
||||
|
||||
/**
|
||||
* 过程状态(0:奖励保存前;-1:保存后;1及以上:抽取次数)
|
||||
*/
|
||||
public static final int BLESS_PROGRESS_STATUS = 99;
|
||||
/**
|
||||
* 上次刷新时间
|
||||
*/
|
||||
public static final int LAST_REFRESH_TIME = 100;
|
||||
|
||||
/**
|
||||
* 传说奖励
|
||||
*/
|
||||
public static final int LEGEND_REWARD_START_ID = 200;
|
||||
|
||||
/**
|
||||
* 至尊奖励
|
||||
*/
|
||||
public static final int SUPREME_REWARD_START_ID = 500;
|
||||
|
||||
/**
|
||||
* 次数奖励
|
||||
*/
|
||||
public static final int COUNT_REWARD_START_ID = 1000;
|
||||
}
|
||||
|
|
@ -17,6 +17,6 @@ public class BlessInitHandler extends BaseHandler {
|
|||
|
||||
@Override
|
||||
public void process(ISession iSession, PacketNetData netData) throws Exception {
|
||||
ActivityLogic.getInstance().blessActivityInit(iSession, MessageTypeProto.MessageType.BLESS_INIT_RESPONSE);
|
||||
// ActivityLogic.getInstance().blessActivityInit(iSession, MessageTypeProto.MessageType.BLESS_INIT_RESPONSE);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ import com.ljsd.jieling.config.*;
|
|||
import com.ljsd.jieling.core.VipPrivilegeType;
|
||||
import com.ljsd.jieling.globals.BIReason;
|
||||
import com.ljsd.jieling.globals.Global;
|
||||
import com.ljsd.jieling.handler.activity.BlessInfoConfig;
|
||||
import com.ljsd.jieling.ktbeans.KtEventUtils;
|
||||
import com.ljsd.jieling.ktbeans.parmsBean.ParamEventBean;
|
||||
import com.ljsd.jieling.logic.dao.*;
|
||||
|
|
@ -590,24 +591,24 @@ public class ActivityLogic {
|
|||
secretBoxSeasonTimes=0;
|
||||
}
|
||||
//云梦祈福初始化
|
||||
public void blessActivityInit(ISession session,MessageTypeProto.MessageType messageType) throws Exception {
|
||||
User user = UserManager.getUser(session.getUid());
|
||||
ActivityManager activityManager = user.getActivityManager();
|
||||
if(activityManager.getActivityMissionMap().get(SBlessingConfig.sBlessingConfig.getActivityId()).getActivityProgressInfoMap().size()>0){
|
||||
// MessageUtil.sendErrorResponse(session,0,messageType.getNumber(),"已经初始化过,不需要初始化");
|
||||
MessageUtil.sendMessage(session,1,messageType.getNumber(),null,true);
|
||||
return;
|
||||
}
|
||||
//祈福信息初始化
|
||||
blessInfoInit(activityManager,7);
|
||||
MessageUtil.sendMessage(session,1,messageType.getNumber(),null,true);
|
||||
}
|
||||
// public void blessActivityInit(ISession session,MessageTypeProto.MessageType messageType) throws Exception {
|
||||
// User user = UserManager.getUser(session.getUid());
|
||||
// ActivityManager activityManager = user.getActivityManager();
|
||||
// if(activityManager.getActivityMissionMap().get(SBlessingConfig.sBlessingConfig.getActivityId()).getActivityProgressInfoMap().size()>0){
|
||||
//// MessageUtil.sendErrorResponse(session,0,messageType.getNumber(),"已经初始化过,不需要初始化");
|
||||
// MessageUtil.sendMessage(session,1,messageType.getNumber(),null,true);
|
||||
// return;
|
||||
// }
|
||||
// //祈福信息初始化
|
||||
// blessInfoInit(activityManager,7);
|
||||
// MessageUtil.sendMessage(session,1,messageType.getNumber(),null,true);
|
||||
// }
|
||||
|
||||
/**
|
||||
* 祈福信息初始化
|
||||
* @param activityManager
|
||||
*/
|
||||
private void blessInfoInit(ActivityManager activityManager,int activityId){
|
||||
private ActivityMission blessInfoInit(ActivityManager activityManager,int activityId){
|
||||
//第一次9种
|
||||
int fixRewardPool = SBlessingConfig.sBlessingConfig.getRandomPoolId();
|
||||
int fixRewardNum = SBlessingConfig.sBlessingConfig.getRandomNum();
|
||||
|
|
@ -671,39 +672,42 @@ public class ActivityLogic {
|
|||
|
||||
|
||||
ActivityMission activityMission =new ActivityMission();
|
||||
for(int i=16;i>0;i--){
|
||||
for(int i = BlessInfoConfig.START_CAPACITY; i>0; i--){
|
||||
ActivityProgressInfo progressInfo =new ActivityProgressInfo();
|
||||
if(16-i<fixResult.length){
|
||||
if(BlessInfoConfig.START_CAPACITY-i<fixResult.length){
|
||||
progressInfo.setState(0);
|
||||
LOGGER.info("第一次第{}个数据",16-i,fixResult[16-i]);
|
||||
progressInfo.setProgrss(fixResult[16-i]);
|
||||
LOGGER.info("第一次第{}个数据",BlessInfoConfig.START_CAPACITY-i,fixResult[BlessInfoConfig.START_CAPACITY-i]);
|
||||
progressInfo.setProgrss(fixResult[BlessInfoConfig.START_CAPACITY-i]);
|
||||
}
|
||||
activityMission.updateProgressInfo(i,progressInfo);
|
||||
}
|
||||
for(int i=17;i<=32;i++){
|
||||
for(int i=BlessInfoConfig.CHOOSE_START_ID;i<=BlessInfoConfig.CHOOSE_END_ID;i++){
|
||||
ActivityProgressInfo progressInfo =new ActivityProgressInfo();
|
||||
activityMission.updateProgressInfo(i,progressInfo);
|
||||
}
|
||||
//初始化状态
|
||||
activityMission.updateProgressInfo(99,new ActivityProgressInfo());
|
||||
activityMission.updateProgressInfo(BlessInfoConfig.BLESS_PROGRESS_STATUS,new ActivityProgressInfo());
|
||||
//初始化上次刷新时间
|
||||
activityMission.updateProgressInfo(100,new ActivityProgressInfo());
|
||||
if(activityMission.getActivityProgressInfoMap().get(BlessInfoConfig.LAST_REFRESH_TIME)==null){
|
||||
activityMission.updateProgressInfo(BlessInfoConfig.LAST_REFRESH_TIME,new ActivityProgressInfo());
|
||||
}
|
||||
for(int i = 0 ; i <legendResult.length;i++){
|
||||
ActivityProgressInfo progressInfo =new ActivityProgressInfo();
|
||||
progressInfo.setProgrss(legendResult[i]);
|
||||
activityMission.updateProgressInfo(200+i,progressInfo);
|
||||
activityMission.updateProgressInfo(BlessInfoConfig.LEGEND_REWARD_START_ID+i,progressInfo);
|
||||
}
|
||||
for(int i = 0 ; i <supremeResult.length;i++){
|
||||
ActivityProgressInfo progressInfo =new ActivityProgressInfo();
|
||||
progressInfo.setProgrss(supremeResult[i]);
|
||||
activityMission.updateProgressInfo(500+i,progressInfo);
|
||||
activityMission.updateProgressInfo(BlessInfoConfig.SUPREME_REWARD_START_ID+i,progressInfo);
|
||||
}
|
||||
for(int i = 0 ; i < countResult.length ;i++){
|
||||
ActivityProgressInfo progressInfo =new ActivityProgressInfo();
|
||||
progressInfo.setProgrss(countResult[i]);
|
||||
activityMission.updateProgressInfo(1000+counts[i],progressInfo);
|
||||
activityMission.updateProgressInfo(BlessInfoConfig.COUNT_REWARD_START_ID+counts[i],progressInfo);
|
||||
}
|
||||
activityManager.addActivity(activityId,activityMission);
|
||||
return activityMission;
|
||||
}
|
||||
//云梦请求数据
|
||||
public void blessInfo(ISession session, MessageTypeProto.MessageType messageType) throws Exception {
|
||||
|
|
@ -714,40 +718,40 @@ public class ActivityLogic {
|
|||
return;
|
||||
}
|
||||
PlayerInfoProto.blessResponse.Builder response = getBlessInfoResponse(activityMission);
|
||||
LOGGER.info("{},{},{}",response.getFixRewardList().toString(),response.getLegendRewardList().toString(),response.getSupremeRewardList().toString());
|
||||
MessageUtil.sendMessage(session,1,messageType.getNumber(),response.build(),true);
|
||||
// LOGGER.info("{},{},{}",response.getFixRewardList().toString(),response.getLegendRewardList().toString(),response.getSupremeRewardList().toString());
|
||||
MessageUtil.sendMessage(session,1,messageType.getNumber(),response.build(),true);
|
||||
}
|
||||
private PlayerInfoProto.blessResponse.Builder getBlessInfoResponse(ActivityMission activityMission){
|
||||
PlayerInfoProto.blessResponse.Builder response = PlayerInfoProto.blessResponse.newBuilder();
|
||||
Map<Integer, ActivityProgressInfo> blessInfoMap = activityMission.getActivityProgressInfoMap();
|
||||
//保存之前
|
||||
if(blessInfoMap.get(99).getProgrss()==0){
|
||||
if(blessInfoMap.get(BlessInfoConfig.BLESS_PROGRESS_STATUS).getProgrss()==0){
|
||||
for(Map.Entry<Integer,ActivityProgressInfo> entry:blessInfoMap.entrySet()){
|
||||
if(entry.getKey()/1000>0){
|
||||
if(entry.getKey()/BlessInfoConfig.COUNT_REWARD_START_ID>0){
|
||||
CommonProto.blessReward blessReward = CommonProto.blessReward.newBuilder()
|
||||
.setLocationId(entry.getKey()%1000)
|
||||
.setLocationId(entry.getKey()%BlessInfoConfig.COUNT_REWARD_START_ID)
|
||||
.setState(0)
|
||||
.setRewardId(entry.getValue().getProgrss())
|
||||
.build();
|
||||
response.addCountReward(blessReward);
|
||||
continue;
|
||||
}else if(entry.getKey()/500>0){
|
||||
}else if(entry.getKey()/BlessInfoConfig.SUPREME_REWARD_START_ID>0){
|
||||
CommonProto.blessReward blessReward = CommonProto.blessReward.newBuilder()
|
||||
.setLocationId(entry.getKey()%500+1)
|
||||
.setLocationId(entry.getKey()%BlessInfoConfig.SUPREME_REWARD_START_ID+1)
|
||||
.setState(0)
|
||||
.setRewardId(entry.getValue().getProgrss())
|
||||
.build();
|
||||
response.addSupremeReward(blessReward);
|
||||
continue;
|
||||
}else if(entry.getKey()/200>0){
|
||||
}else if(entry.getKey()/BlessInfoConfig.LEGEND_REWARD_START_ID>0){
|
||||
CommonProto.blessReward blessReward = CommonProto.blessReward.newBuilder()
|
||||
.setLocationId(entry.getKey()%200+1)
|
||||
.setLocationId(entry.getKey()%BlessInfoConfig.LEGEND_REWARD_START_ID+1)
|
||||
.setState(0)
|
||||
.setRewardId(entry.getValue().getProgrss())
|
||||
.build();
|
||||
response.addLegendReward(blessReward);
|
||||
continue;
|
||||
}else if(entry.getKey()<=16){
|
||||
}else if(entry.getKey()<=BlessInfoConfig.START_CAPACITY){
|
||||
CommonProto.blessReward blessReward = CommonProto.blessReward.newBuilder()
|
||||
.setLocationId(entry.getKey())
|
||||
.setState(0)
|
||||
|
|
@ -758,26 +762,26 @@ public class ActivityLogic {
|
|||
}
|
||||
}else{//保存之后
|
||||
for(Map.Entry<Integer,ActivityProgressInfo> entry:blessInfoMap.entrySet()){
|
||||
if(entry.getKey()/1000>0){
|
||||
if(entry.getKey()/BlessInfoConfig.COUNT_REWARD_START_ID>0){
|
||||
CommonProto.blessReward blessReward = CommonProto.blessReward.newBuilder()
|
||||
.setLocationId(entry.getKey()%1000)
|
||||
.setLocationId(entry.getKey()%BlessInfoConfig.COUNT_REWARD_START_ID)
|
||||
.setState(1)
|
||||
.setRewardId(entry.getValue().getProgrss())
|
||||
.build();
|
||||
response.addCountReward(blessReward);
|
||||
continue;
|
||||
|
||||
}else if(entry.getKey()/500>0){
|
||||
}else if(entry.getKey()/BlessInfoConfig.SUPREME_REWARD_START_ID>0){
|
||||
CommonProto.blessReward blessReward = CommonProto.blessReward.newBuilder()
|
||||
.setLocationId(entry.getKey()%500+1)
|
||||
.setLocationId(entry.getKey()%BlessInfoConfig.SUPREME_REWARD_START_ID+1)
|
||||
.setState(1)
|
||||
.setRewardId(entry.getValue().getProgrss())
|
||||
.build();
|
||||
response.addSupremeReward(blessReward);
|
||||
continue;
|
||||
}else if(entry.getKey()/200>0){
|
||||
}else if(entry.getKey()/BlessInfoConfig.LEGEND_REWARD_START_ID>0){
|
||||
CommonProto.blessReward blessReward = CommonProto.blessReward.newBuilder()
|
||||
.setLocationId(entry.getKey()%200+1)
|
||||
.setLocationId(entry.getKey()%BlessInfoConfig.LEGEND_REWARD_START_ID+1)
|
||||
.setState(1)
|
||||
.setRewardId(entry.getValue().getProgrss())
|
||||
.build();
|
||||
|
|
@ -785,21 +789,21 @@ public class ActivityLogic {
|
|||
continue;
|
||||
}
|
||||
}
|
||||
for(int i = 17;i<=48;i++){
|
||||
for(int i = BlessInfoConfig.CHOOSE_START_ID;i<=BlessInfoConfig.REWARD_VIEW_END_ID;i++){
|
||||
for(Map.Entry<Integer,ActivityProgressInfo> entry:blessInfoMap.entrySet()) {
|
||||
if(entry.getKey()!=i){
|
||||
continue;
|
||||
}if (i<33){
|
||||
}if (i<BlessInfoConfig.REWARD_VIEW_START_ID){
|
||||
LOGGER.info("显示顺序是{}",entry.getKey());
|
||||
CommonProto.blessReward blessReward = CommonProto.blessReward.newBuilder()
|
||||
.setLocationId(i-16)
|
||||
.setLocationId(i-BlessInfoConfig.START_CAPACITY)
|
||||
.setState(1)
|
||||
.setRewardId(entry.getValue().getProgrss())
|
||||
.build();
|
||||
response.addFixReward(blessReward);
|
||||
}else{
|
||||
CommonProto.blessReward blessReward = CommonProto.blessReward.newBuilder()
|
||||
.setLocationId(i-32)
|
||||
.setLocationId(i-BlessInfoConfig.CHOOSE_END_ID)
|
||||
.setState(1)
|
||||
.setRewardId(entry.getValue().getProgrss())
|
||||
.build();
|
||||
|
|
@ -809,16 +813,16 @@ public class ActivityLogic {
|
|||
}
|
||||
|
||||
}
|
||||
response.setLastRefreshTime(blessInfoMap.get(100).getProgrss());
|
||||
response.setLastRefreshTime(blessInfoMap.get(BlessInfoConfig.LAST_REFRESH_TIME).getProgrss());
|
||||
return response;
|
||||
}
|
||||
public void blessSaveOptionalReward(ISession session, int[] rewardIds, MessageTypeProto.MessageType messageType) throws Exception {
|
||||
User user = UserManager.getUser(session.getUid());
|
||||
ActivityMission activityMission = user.getActivityManager().getActivityMissionMap().get(SBlessingConfig.sBlessingConfig.getActivityId());
|
||||
if(activityMission.getActivityProgressInfoMap().get(99).getProgrss()!=0){
|
||||
if(activityMission.getActivityProgressInfoMap().get(BlessInfoConfig.BLESS_PROGRESS_STATUS).getProgrss()!=0){
|
||||
MessageUtil.sendErrorResponse(session,0,messageType.getNumber(),"您当前不能进行保存!");
|
||||
}
|
||||
if(SBlessingConfig.sBlessingConfig.getRandomNum()!=16-rewardIds.length){
|
||||
if(SBlessingConfig.sBlessingConfig.getRandomNum()!=BlessInfoConfig.START_CAPACITY-rewardIds.length){
|
||||
MessageUtil.sendErrorResponse(session,0,messageType.getNumber(),"选择数量不对");
|
||||
}
|
||||
for (int i = 0 ; i <rewardIds.length;i++){
|
||||
|
|
@ -827,11 +831,10 @@ public class ActivityLogic {
|
|||
activityMission.updateProgressInfo(i+1,info);
|
||||
}
|
||||
//奖励预览赋值
|
||||
for(int i = 0 ;i <16;i++){
|
||||
activityMission.updateProgressInfo(i+33,activityMission.getActivityProgressInfoMap().get(i+1));
|
||||
for(int i = 0 ;i <BlessInfoConfig.START_CAPACITY;i++){
|
||||
activityMission.updateProgressInfo(i+BlessInfoConfig.REWARD_VIEW_START_ID,activityMission.getActivityProgressInfoMap().get(i+1));
|
||||
}
|
||||
// activityMission.updateActivityState(-1);
|
||||
activityMission.updateProgressInfo(99,new ActivityProgressInfo(-1,0));
|
||||
activityMission.updateProgressInfo(BlessInfoConfig.BLESS_PROGRESS_STATUS,new ActivityProgressInfo(-1,0));
|
||||
MessageUtil.sendMessage(session,1,messageType.getNumber(),null,true);
|
||||
}
|
||||
|
||||
|
|
@ -846,17 +849,17 @@ public class ActivityLogic {
|
|||
User user = UserManager.getUser(session.getUid());
|
||||
ActivityMission activityMission = user.getActivityManager().getActivityMissionMap().get(SBlessingConfig.sBlessingConfig.getActivityId());
|
||||
Map<Integer, ActivityProgressInfo> activityProgressInfoMap = activityMission.getActivityProgressInfoMap();
|
||||
if(activityProgressInfoMap.get(locationId+16).getProgrss()!=0){
|
||||
if(activityProgressInfoMap.get(locationId+BlessInfoConfig.START_CAPACITY).getProgrss()!=0){
|
||||
MessageUtil.sendErrorResponse(session,0,messageType.getNumber(),"已经抽过改格子");
|
||||
return;
|
||||
}
|
||||
int resultRewardId = 0;
|
||||
if(activityProgressInfoMap.get(99).getProgrss()==-1){
|
||||
if(activityProgressInfoMap.get(BlessInfoConfig.BLESS_PROGRESS_STATUS).getProgrss()==-1){
|
||||
Map<Integer, SBlessingRewardPool> poolMap = SBlessingRewardPool.sBlessingRewardPoolMap;
|
||||
int[][] result = new int[16][];
|
||||
int[][] result = new int[BlessInfoConfig.START_CAPACITY][];
|
||||
int index = 0;
|
||||
for (Map.Entry<Integer,ActivityProgressInfo> entry :activityProgressInfoMap.entrySet()) {
|
||||
if(entry.getKey()>16){
|
||||
if(entry.getKey()>BlessInfoConfig.START_CAPACITY){
|
||||
continue;
|
||||
}
|
||||
int[] temp = new int[2];
|
||||
|
|
@ -865,13 +868,13 @@ public class ActivityLogic {
|
|||
result[index] = temp;
|
||||
index++;
|
||||
}
|
||||
int[] order = MathUtils.randomFromWeightWithTaking(result, 16);
|
||||
int[] order = MathUtils.randomFromWeightWithTaking(result, BlessInfoConfig.START_CAPACITY);
|
||||
for (int i = 0; i <order.length ; i++) {
|
||||
LOGGER.info("获取顺序{}",order[i]);
|
||||
}
|
||||
index = 0;
|
||||
for (Map.Entry<Integer,ActivityProgressInfo> entry :activityProgressInfoMap.entrySet()) {
|
||||
if(entry.getKey()>16){
|
||||
if(entry.getKey()>BlessInfoConfig.START_CAPACITY){
|
||||
continue;
|
||||
}
|
||||
ActivityProgressInfo progress = new ActivityProgressInfo();
|
||||
|
|
@ -879,24 +882,24 @@ public class ActivityLogic {
|
|||
activityMission.updateProgressInfo(entry.getKey(),progress);
|
||||
index++;
|
||||
}
|
||||
activityMission.updateProgressInfo(99,new ActivityProgressInfo(1,0));
|
||||
activityMission.updateProgressInfo(BlessInfoConfig.BLESS_PROGRESS_STATUS,new ActivityProgressInfo(1,0));
|
||||
}
|
||||
//检验消耗道具
|
||||
int[][] costConfig = SBlessingConfig.sBlessingConfig.getCost();
|
||||
int[][] cost = new int[1][];
|
||||
int[] temp = new int[2];
|
||||
temp[0] = costConfig[0][0];
|
||||
temp[1] = (int)MathUtils.calABX(activityProgressInfoMap.get(99).getProgrss(),costConfig[1]);
|
||||
temp[1] = (int)MathUtils.calABX(activityProgressInfoMap.get(BlessInfoConfig.BLESS_PROGRESS_STATUS).getProgrss(),costConfig[1]);
|
||||
cost[0] = temp;
|
||||
LOGGER.info("本次为第{}次抽取,消耗{}个数为{}",activityProgressInfoMap.get(99).getProgrss(),temp[0],temp[1]);
|
||||
LOGGER.info("本次为第{}次抽取,消耗{}个数为{}",activityProgressInfoMap.get(BlessInfoConfig.BLESS_PROGRESS_STATUS).getProgrss(),temp[0],temp[1]);
|
||||
boolean costResult = ItemUtil.itemCost(user,cost,BIReason.BLESS_CHOOSE_CONSUME,1);
|
||||
if(!costResult){
|
||||
MessageUtil.sendErrorResponse(session,0,messageType.getNumber(),"道具不足");
|
||||
return;
|
||||
}
|
||||
if(activityProgressInfoMap.get(99).getProgrss()>0){
|
||||
if(activityProgressInfoMap.get(BlessInfoConfig.BLESS_PROGRESS_STATUS).getProgrss()>0){
|
||||
for (Map.Entry<Integer,ActivityProgressInfo> entry :activityProgressInfoMap.entrySet()) {
|
||||
if(entry.getKey()>16){
|
||||
if(entry.getKey()>BlessInfoConfig.START_CAPACITY){
|
||||
continue;
|
||||
}
|
||||
if(entry.getValue().getProgrss()==0){
|
||||
|
|
@ -905,7 +908,7 @@ public class ActivityLogic {
|
|||
resultRewardId = entry.getValue().getProgrss();
|
||||
ActivityProgressInfo progress = new ActivityProgressInfo();
|
||||
progress.setProgrss(entry.getValue().getProgrss());
|
||||
activityMission.updateProgressInfo(locationId+16,progress);
|
||||
activityMission.updateProgressInfo(locationId+BlessInfoConfig.START_CAPACITY,progress);
|
||||
activityMission.updateProgressInfo(entry.getKey(),new ActivityProgressInfo());
|
||||
break;
|
||||
}
|
||||
|
|
@ -914,16 +917,17 @@ public class ActivityLogic {
|
|||
Map<Integer, SBlessingRewardPool> poolMap = SBlessingRewardPool.sBlessingRewardPoolMap;
|
||||
int[][] dropItem = new int[1][];
|
||||
for(Integer count:SBlessingConfig.sBlessingConfig.getCounts()){
|
||||
if (count!=activityProgressInfoMap.get(99).getProgrss()){
|
||||
if (count!=activityProgressInfoMap.get(BlessInfoConfig.BLESS_PROGRESS_STATUS).getProgrss()){
|
||||
continue;
|
||||
}
|
||||
dropItem = new int[2][];
|
||||
dropItem[1] = poolMap.get(activityProgressInfoMap.get(1000+count).getProgrss()).getReward();
|
||||
dropItem[1] = poolMap.get(activityProgressInfoMap.get(BlessInfoConfig.COUNT_REWARD_START_ID+count).getProgrss()).getReward();
|
||||
break;
|
||||
}
|
||||
int[] reward = poolMap.get(resultRewardId).getReward();
|
||||
dropItem[0] = reward;
|
||||
CommonProto.Drop.Builder drop = ItemUtil.drop(user, dropItem, BIReason.BLESS_REWARD);
|
||||
activityMission.updateProgressInfo(99,new ActivityProgressInfo(activityProgressInfoMap.get(99).getProgrss()+1,0));
|
||||
activityMission.updateProgressInfo(BlessInfoConfig.BLESS_PROGRESS_STATUS,new ActivityProgressInfo(activityProgressInfoMap.get(99).getProgrss()+1,0));
|
||||
PlayerInfoProto.blessChooseResponse response = PlayerInfoProto.blessChooseResponse.newBuilder().setReward(drop).setChooseRewardId(resultRewardId).build();
|
||||
MessageUtil.sendMessage(session,1,messageType.getNumber(),response,true);
|
||||
}
|
||||
|
|
@ -940,18 +944,16 @@ public class ActivityLogic {
|
|||
MessageUtil.sendErrorResponse(session,0,messageType.getNumber(),"活动不可刷新");
|
||||
return;
|
||||
}
|
||||
// boolean check = user.getPlayerInfoManager().check(SBlessingConfig.sBlessingConfig.getDailyRefreshTimes(), 1);
|
||||
// if(!check){
|
||||
// MessageUtil.sendErrorResponse(session,0,messageType.getNumber(),"无刷新次数");
|
||||
// return;
|
||||
// }
|
||||
// user.getPlayerInfoManager().updateVipPrivilage(SBlessingConfig.sBlessingConfig.getDailyRefreshTimes(),1);
|
||||
|
||||
ActivityManager activityManager = user.getActivityManager();
|
||||
ActivityMission activityMission = activityManager.getActivityMissionMap().get(SBlessingConfig.sBlessingConfig.getActivityId());
|
||||
activityMission.initMissionInfo(SBlessingConfig.sBlessingConfig.getActivityId());
|
||||
activityMission.updateProgressInfo(99,new ActivityProgressInfo());
|
||||
activityMission.updateProgressInfo(100,new ActivityProgressInfo((int)(TimeUtils.now()/1000),0));
|
||||
blessInfoInit(activityManager,7);
|
||||
ActivityProgressInfo tempProgress = new ActivityProgressInfo();
|
||||
//数据清空
|
||||
for(Map.Entry<Integer,ActivityProgressInfo> entry:activityMission.getActivityProgressInfoMap().entrySet()){
|
||||
activityMission.updateProgressInfo(entry.getKey(),tempProgress);
|
||||
}
|
||||
activityMission = blessInfoInit(activityManager, 7);
|
||||
activityMission.updateProgressInfo(BlessInfoConfig.LAST_REFRESH_TIME,new ActivityProgressInfo((int)(TimeUtils.now()/1000),0));
|
||||
PlayerInfoProto.blessRefresh res = PlayerInfoProto.blessRefresh.newBuilder().setReward(getBlessInfoResponse(activityMission).build()).build();
|
||||
MessageUtil.sendMessage(session,1,messageType.getNumber(),res,true);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -35,6 +35,8 @@ public class Equip extends MongoBase implements Cloneable{
|
|||
|
||||
private int skill;
|
||||
|
||||
private int isLocked;
|
||||
|
||||
public Equip() {
|
||||
this.setRootCollection(User._COLLECTION_NAME);
|
||||
}
|
||||
|
|
@ -345,4 +347,13 @@ public class Equip extends MongoBase implements Cloneable{
|
|||
public int getSkill() {
|
||||
return skill;
|
||||
}
|
||||
|
||||
public int getIsLocked() {
|
||||
return isLocked;
|
||||
}
|
||||
|
||||
public void updateIsLocked(int isLocked) {
|
||||
updateString("isLocked",isLocked);
|
||||
this.isLocked = isLocked;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -313,4 +313,29 @@ public class ItemLogic {
|
|||
builder.addAllItemInfo(itemInfos);
|
||||
MessageUtil.sendMessage(iSession,1, msgId,builder.build(),true);
|
||||
}
|
||||
|
||||
public void equipLock(ISession session, int type, List<String> equips, MessageTypeProto.MessageType messageType) throws Exception{
|
||||
EquipManager equipManager = UserManager.getUser(session.getUid()).getEquipManager();
|
||||
//锁定
|
||||
if(type==1){
|
||||
for (String equipId:equips) {
|
||||
if(equipManager.getEquipMap().get(equipId).getIsLocked()!=0){
|
||||
MessageUtil.sendErrorResponse(session,0,messageType.getNumber(),"所选装备有的已上锁!");
|
||||
return;
|
||||
}
|
||||
equipManager.getEquipMap().get(equipId).updateIsLocked(1);
|
||||
}
|
||||
}
|
||||
//解锁
|
||||
if(type==2){
|
||||
for (String equipId:equips) {
|
||||
if(equipManager.getEquipMap().get(equipId).getIsLocked()!=1){
|
||||
MessageUtil.sendErrorResponse(session,0,messageType.getNumber(),"所选装备有的未上锁!");
|
||||
return;
|
||||
}
|
||||
equipManager.getEquipMap().get(equipId).updateIsLocked(0);
|
||||
}
|
||||
}
|
||||
MessageUtil.sendMessage(session,1,messageType.getNumber(),null,true);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -113,6 +113,7 @@ public class CBean2Proto {
|
|||
.setRebuildLevel(equip.getRebuildLevel())
|
||||
.setCreateTime(equip.getCreateTime())
|
||||
.setSkillId(equip.getSkill())
|
||||
.setIsLocked(equip.getIsLocked())
|
||||
.build();
|
||||
return equipProto;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue