特权经验

back_recharge
duhui 2022-09-09 18:18:29 +08:00
parent 9e6c8637da
commit 5778fe091c
1 changed files with 25 additions and 13 deletions

View File

@ -1439,13 +1439,12 @@ public class PlayerLogic {
user.getPlayerInfoManager().setRideLevel(rideLevel+1);
MessageUtil.sendMessage(session,1,messageType.getNumber(),null,true);
}
public boolean check(User user, int privilageTypeId, int checkNum){
// return priviliageCheck(user,privilageTypeId,checkNum,false);
public boolean check(User user, int privilegeTypeId, int checkNum){
Map<Integer, VipInfo> vipInfo = user.getPlayerInfoManager().getVipInfo();
if(privilageTypeId == 0){
if(privilegeTypeId == 0){
return true;
}
List<SPrivilegeTypeConfig> sPrivilegeTypeConfigs = SPrivilegeTypeConfig.privilegeByType.get(privilageTypeId);
List<SPrivilegeTypeConfig> sPrivilegeTypeConfigs = SPrivilegeTypeConfig.privilegeByType.get(privilegeTypeId);
List<Integer> typePrivileges = new ArrayList<>();
for(SPrivilegeTypeConfig config:sPrivilegeTypeConfigs){
if(!vipInfo.containsKey(config.getId())){
@ -1456,12 +1455,12 @@ public class PlayerLogic {
if(typePrivileges.isEmpty()){
return false;
}
for(Integer privilageId:typePrivileges){
VipInfo info = vipInfo.get(privilageId);
for(Integer privilegeId:typePrivileges){
VipInfo info = vipInfo.get(privilegeId);
if(info.getEffectTime()!=0&&TimeUtils.now()/1000>info.getEffectTime()){
continue;
}
int mCount = getMaxCountByPrivilege(user,privilageId);
int mCount = getMaxCountByPrivilege(user,privilegeId);
if(mCount==-1){
return true;
}
@ -1472,13 +1471,15 @@ public class PlayerLogic {
}
return false;
}
public boolean checkAndUpdate(User user, int privilageTypeId, int updateNum){
// return priviliageCheck(user,privilageTypeId,updateNum,true);
public boolean checkAndUpdate(User user, int privilegeTypeId, int updateNum){
boolean check = check(user, privilegeTypeId, updateNum);
Map<Integer, VipInfo> vipInfo = user.getPlayerInfoManager().getVipInfo();
if(privilageTypeId == 0){
if(privilegeTypeId == 0){
return true;
}
List<SPrivilegeTypeConfig> sPrivilegeTypeConfigs = SPrivilegeTypeConfig.privilegeByType.get(privilageTypeId);
List<SPrivilegeTypeConfig> sPrivilegeTypeConfigs = SPrivilegeTypeConfig.privilegeByType.get(privilegeTypeId);
List<Integer> typePrivileges = new ArrayList<>();
for(SPrivilegeTypeConfig config:sPrivilegeTypeConfigs){
if(!vipInfo.containsKey(config.getId())){
@ -1571,6 +1572,9 @@ public class PlayerLogic {
case GlobalsDef.RENOWN_LV_UNLOCK:
cond = getRenownPrivilegeLv(user);
break;
case VipPrivilegeType.DAY_OF_ONE_GM_RECHARGE_MAX:
cond = user.getPlayerInfoManager().getGmRechargeMax();
break;
default:{
break;
}
@ -1971,8 +1975,12 @@ public class PlayerLogic {
Item item = user.getItemManager().getItem(list.get(0).getExperience()[0]);
long num = Optional.ofNullable(item).map(Item::getItemNum).orElse(0L);
for (SPrestigeConfig value : list) {
if (num >= value.getExperience()[1]){
if (value.getExperience() == null){
lv = value.getLevel();
break;
}
if (num >= value.getExperience()[1]){
lv = value.getLevel()+1;
}else {
break;
}
@ -1995,8 +2003,12 @@ public class PlayerLogic {
Item item = user.getItemManager().getItem(list.get(0).getExperience()[0]);
long num = Optional.ofNullable(item).map(Item::getItemNum).orElse(0L);
for (SPrestigeConfig value : list) {
if (num >= value.getExperience()[1]){
if (value.getExperience() == null){
lv = value.getLevel();
break;
}
if (num >= value.getExperience()[1]){
lv = value.getLevel()+1;
}else {
break;
}