back_recharge
duhui 2022-09-07 14:52:05 +08:00
parent add9233993
commit 5aee8e8d6b
3 changed files with 62 additions and 8 deletions

View File

@ -122,6 +122,9 @@ public interface GlobalsDef {
int LIKABLE_UNLOCK=6;//好感度解锁类型
int WEEKCARD_UNLOCK=8;//周卡解锁类型
int GOD_LV_UNLOCK = 9;//神尊解锁
int RENOWN_LV_UNLOCK = 10;//名望解锁
//特殊商店id
int DAILY_GOODS_FAST_ID = 1004;//每日礼包一键购买的礼包ID

View File

@ -1565,6 +1565,12 @@ public class PlayerLogic {
case GlobalsDef.WEEKCARD_UNLOCK:
cond = user.getPlayerInfoManager().getMonthCard().getOrDefault(1, -1);
break;
case GlobalsDef.GOD_LV_UNLOCK:
cond = getGodPrivilegeLv(user);
break;
case GlobalsDef.RENOWN_LV_UNLOCK:
cond = getRenownPrivilegeLv(user);
break;
default:{
break;
}
@ -1949,4 +1955,53 @@ public class PlayerLogic {
builder.setHero(heroBuilder);
return builder.build();
}
/**
*
* @param user
* @return
*/
public int getGodPrivilegeLv(User user){
Map<Integer, SPrestigeConfig> typeMap = SPrestigeConfig.getTypeMap(SPrestigeConfig.godPrivilege);
if (typeMap == null || typeMap.isEmpty()){
return 0;
}
int lv = 0;
List<SPrestigeConfig> list = typeMap.values().stream().collect(Collectors.toList());
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]){
lv = value.getLevel();
}else {
break;
}
}
return lv;
}
/**
*
* @param user
* @return
*/
public int getRenownPrivilegeLv(User user){
Map<Integer, SPrestigeConfig> typeMap = SPrestigeConfig.getTypeMap(SPrestigeConfig.renownPrivilege);
if (typeMap == null || typeMap.isEmpty()){
return 0;
}
int lv = 0;
List<SPrestigeConfig> list = typeMap.values().stream().collect(Collectors.toList());
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]){
lv = value.getLevel();
}else {
break;
}
}
return lv;
}
}

View File

@ -621,18 +621,14 @@ public class StoreLogic implements IEventHandler {
}
break;
case 2:
SPrestigeConfig prestigeConfig = SPrestigeConfig.getTypeMap(1).get(buyRule[1]);
Item item = user.getItemManager().getItem(prestigeConfig.getExperience()[0]);
long num = item == null ? 0 : item.getItemNum();
if (num < prestigeConfig.getExperience()[1]){
int godPrivilegeLv = PlayerLogic.getInstance().getGodPrivilegeLv(user);
if (godPrivilegeLv < buyRule[1]){
err = "神尊等级不足,无权购买";
}
break;
case 3:
SPrestigeConfig prestigeConfig2 = SPrestigeConfig.getTypeMap(2).get(buyRule[1]);
Item item2 = user.getItemManager().getItem(prestigeConfig2.getExperience()[0]);
long num2 = item2 == null ? 0 : item2.getItemNum();
if (num2 < prestigeConfig2.getExperience()[1]){
int renownPrivilegeLv = PlayerLogic.getInstance().getRenownPrivilegeLv(user);
if (renownPrivilegeLv < buyRule[1]){
err = "名望等级不足,无权购买";
}
break;