点将招募和法宝招募心愿改为固定某些次数的概率抽取
parent
1d3845d981
commit
3da44b7d3b
|
|
@ -1615,7 +1615,7 @@ public class ActivityLogic implements IEventHandler{
|
|||
}
|
||||
|
||||
/**
|
||||
* 心愿抽奖
|
||||
* 寻仙招募
|
||||
*/
|
||||
public void choiceDrawCard(ISession iSession,User user,int activityId,int type) throws Exception {
|
||||
// 初始值
|
||||
|
|
|
|||
|
|
@ -143,6 +143,9 @@ public class HeroManager extends MongoBase {
|
|||
return heroLikableMap;
|
||||
}
|
||||
|
||||
public int drawFiveStarHeroNum;//点将招募获取5星英雄的抽中次数
|
||||
public int drawFabaoNum;//法宝招募获取法宝的抽中次数
|
||||
|
||||
/**
|
||||
* 获取单个英雄好感度加成属性
|
||||
*/
|
||||
|
|
@ -711,5 +714,23 @@ public class HeroManager extends MongoBase {
|
|||
}
|
||||
return map;
|
||||
}
|
||||
|
||||
public void setDrawFiveStarHeroNum(int drawFiveStarHeroNum){
|
||||
this.drawFiveStarHeroNum = drawFiveStarHeroNum;
|
||||
updateString("drawFiveStarHeroNum", drawFiveStarHeroNum);
|
||||
}
|
||||
|
||||
public int getDrawFiveStarHeroNum(){
|
||||
return this.drawFiveStarHeroNum;
|
||||
}
|
||||
|
||||
public void setDrawFabaoNum(int drawFabaoNum){
|
||||
this.drawFabaoNum = drawFabaoNum;
|
||||
updateString("drawFabaoNum", drawFabaoNum);
|
||||
}
|
||||
|
||||
public int getDrawFabaoNum(){
|
||||
return this.drawFabaoNum;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -943,14 +943,22 @@ public class HeroLogic {
|
|||
private int[] wishDrawCardCheck(User user, int[] item, int type) {
|
||||
// 查找物品
|
||||
SItem sItem = SItem.getsItemMap().get(item[0]);
|
||||
// 非英雄奖励直接返回
|
||||
// 非5星英雄奖励直接返回
|
||||
if (sItem.getXinyuan() != 1) {
|
||||
return item;
|
||||
}
|
||||
|
||||
int weight = getWeightByDraw(user, type);
|
||||
int randomInt = MathUtils.randomInt(10000);
|
||||
if (randomInt <= weight) {
|
||||
//记录抽中5星英雄或法宝的数量
|
||||
int fiveStarHeroCount = 0;
|
||||
if(type == 4){//法宝
|
||||
fiveStarHeroCount = user.getHeroManager().getDrawFabaoNum()+ 1;
|
||||
user.getHeroManager().setDrawFabaoNum(fiveStarHeroCount);
|
||||
}else if(type == 1){//英雄
|
||||
fiveStarHeroCount = user.getHeroManager().getDrawFiveStarHeroNum() + 1;
|
||||
user.getHeroManager().setDrawFiveStarHeroNum(fiveStarHeroCount);
|
||||
}
|
||||
//固定30%概率,次数个位数在3,6,9时固定出
|
||||
int value = fiveStarHeroCount % 10;
|
||||
if(value == 3 || value == 6 || value == 9){
|
||||
// 读取格子信息
|
||||
Integer integer = user.getPlayerInfoManager().getDesireDraw().getOrDefault(type, 0);
|
||||
// null表示未中心愿, 该格子已锁定, 是空格子
|
||||
|
|
|
|||
Loading…
Reference in New Issue