幸运转盘保底

back_recharge
duhui 2021-01-14 15:34:13 +08:00
parent 53970cef1a
commit 51042972c0
4 changed files with 71 additions and 8 deletions

View File

@ -89,11 +89,6 @@ public class GetLuckWheelRandHandler extends BaseHandler<PlayerInfoProto.GetLuck
user.getPlayerInfoManager().setLuckAdvanceWheelLimitTime(luckWheelLimitTime+time);
}
int luckId;
int lastpos=1;
Set<Integer> posSet = new HashSet<>();

View File

@ -68,6 +68,13 @@ public class RefreshLuckWheelRequestHandler extends BaseHandler<PlayerInfoProto.
}
}
// 保底次数清零
if (sGlobalActivity.getType() == 30){
user.getPlayerInfoManager().setTurntableBottomNumber(0);
}else if (sGlobalActivity.getType() == 31){
user.getPlayerInfoManager().setSeniorTurntableBottomNumber(0);
}
//random
((LuckWheelActivity) abstractActivity).randomReward(user);
PlayerInfoProto.RefreshLuckWheelResponse.Builder builder = PlayerInfoProto.RefreshLuckWheelResponse.newBuilder();

View File

@ -121,17 +121,43 @@ public abstract class LuckWheelActivity extends AbstractActivity {
}
public int getNewRewardPool(User user) {
// 权重map
Map<Integer, Integer> weightMap = new HashMap<>();
// 获取活动
SGlobalActivity sGlobalActivity = SGlobalActivity.getsGlobalActivityMap().get(id);
// 转盘全部奖励信息
LuckWheelMission luckWheelMission =ActivityLogic.getInstance().getLuckWheel(user.getActivityManager(),sGlobalActivity.getType());
// 权重总数
int amount = 0;
// 玩家抽奖总次数
int total = sGlobalActivity.getType() == 30?user.getPlayerInfoManager().addTurntableBottomNumber():user.getPlayerInfoManager().addSeniorTurntableBottomNumber();
for (Map.Entry<Integer, LuckWheelPosInfo> entry : luckWheelMission.getPosInfoMap().entrySet()) {
int luckId = entry.getValue().getLuckId();
// 获取配置表
SDialRewardConfig sDialRewardConfig = SDialRewardConfig.getsDialRewardConfigMap().get(luckId);
// 限制次数
int limitNum = sDialRewardConfig.getLimitNum();
if (limitNum!=0&&entry.getValue().getProgrss() >= sDialRewardConfig.getLimitNum())
if (limitNum!=0&&entry.getValue().getProgrss() >= sDialRewardConfig.getLimitNum()) {
continue;
}
// 必中次数
if (sDialRewardConfig.getMaxGoalCount() != 0 && sDialRewardConfig.getMaxGoalCount() == total){
// 权重清零,重新赋值
weightMap.clear();
weightMap.put(luckId, sDialRewardConfig.getExtractWeight());
amount = sDialRewardConfig.getExtractWeight();
// 次数清理
if (sGlobalActivity.getType() == 30){
user.getPlayerInfoManager().setTurntableBottomNumber(0);
}else if (sGlobalActivity.getType() == 31){
user.getPlayerInfoManager().setSeniorTurntableBottomNumber(0);
}
break;
}
// 权重map赋值
weightMap.put(luckId, sDialRewardConfig.getExtractWeight());
amount += sDialRewardConfig.getExtractWeight();
}

View File

@ -115,6 +115,11 @@ public class PlayerManager extends MongoBase {
private Set<Integer> proudInfo = new HashSet<>();
private int luckWheelLimitTime;
// 转盘保底次数
private int turntableBottomNumber;
// 高级转盘保底次数
private int seniorTurntableBottomNumber;
private int luckAdvanceWheelLimitTime;
private String platform;
@ -432,8 +437,9 @@ public class PlayerManager extends MongoBase {
public void refreshVipByType(int privilegeType){
List<SPrivilegeTypeConfig> sPrivilegeTypeConfigs = SPrivilegeTypeConfig.privilegeByType.get(privilegeType);
for(SPrivilegeTypeConfig config:sPrivilegeTypeConfigs){
if(!vipInfo.containsKey(config.getId()))
if(!vipInfo.containsKey(config.getId())) {
continue;
}
vipInfo.get(config.getId()).setCount(0);
}
updateString("vipInfo", this.vipInfo);
@ -748,6 +754,35 @@ public class PlayerManager extends MongoBase {
this.luckWheelLimitTime = luckWheelLimitTime;
}
public int getTurntableBottomNumber() {
return turntableBottomNumber;
}
public void setTurntableBottomNumber(int turntableBottomNumber) {
this.turntableBottomNumber = turntableBottomNumber;
updateString("turntableBottomNumber",turntableBottomNumber);
}
public int addTurntableBottomNumber() {
this.turntableBottomNumber += 1;
updateString("turntableBottomNumber",turntableBottomNumber);
return turntableBottomNumber;
}
public int getSeniorTurntableBottomNumber() {
return seniorTurntableBottomNumber;
}
public void setSeniorTurntableBottomNumber(int seniorTurntableBottomNumber) {
this.seniorTurntableBottomNumber = seniorTurntableBottomNumber;
updateString("seniorTurntableBottomNumber",seniorTurntableBottomNumber);
}
public int addSeniorTurntableBottomNumber() {
this.seniorTurntableBottomNumber += 1;
updateString("seniorTurntableBottomNumber",seniorTurntableBottomNumber);
return seniorTurntableBottomNumber;
}
public int getLuckAdvanceWheelLimitTime() {
return luckAdvanceWheelLimitTime;