点将招募和法宝招募心愿改为固定某些次数的概率抽取
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 {
|
public void choiceDrawCard(ISession iSession,User user,int activityId,int type) throws Exception {
|
||||||
// 初始值
|
// 初始值
|
||||||
|
|
|
||||||
|
|
@ -143,6 +143,9 @@ public class HeroManager extends MongoBase {
|
||||||
return heroLikableMap;
|
return heroLikableMap;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int drawFiveStarHeroNum;//点将招募获取5星英雄的抽中次数
|
||||||
|
public int drawFabaoNum;//法宝招募获取法宝的抽中次数
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取单个英雄好感度加成属性
|
* 获取单个英雄好感度加成属性
|
||||||
*/
|
*/
|
||||||
|
|
@ -711,5 +714,23 @@ public class HeroManager extends MongoBase {
|
||||||
}
|
}
|
||||||
return map;
|
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) {
|
private int[] wishDrawCardCheck(User user, int[] item, int type) {
|
||||||
// 查找物品
|
// 查找物品
|
||||||
SItem sItem = SItem.getsItemMap().get(item[0]);
|
SItem sItem = SItem.getsItemMap().get(item[0]);
|
||||||
// 非英雄奖励直接返回
|
// 非5星英雄奖励直接返回
|
||||||
if (sItem.getXinyuan() != 1) {
|
if (sItem.getXinyuan() != 1) {
|
||||||
return item;
|
return item;
|
||||||
}
|
}
|
||||||
|
//记录抽中5星英雄或法宝的数量
|
||||||
int weight = getWeightByDraw(user, type);
|
int fiveStarHeroCount = 0;
|
||||||
int randomInt = MathUtils.randomInt(10000);
|
if(type == 4){//法宝
|
||||||
if (randomInt <= weight) {
|
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);
|
Integer integer = user.getPlayerInfoManager().getDesireDraw().getOrDefault(type, 0);
|
||||||
// null表示未中心愿, 该格子已锁定, 是空格子
|
// null表示未中心愿, 该格子已锁定, 是空格子
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue