活动:添加保底判断
This commit is contained in:
@@ -74,16 +74,22 @@ export class NewHeroGachaHandler {
|
|||||||
let floorReward = false;//是否中保底奖励
|
let floorReward = false;//是否中保底奖励
|
||||||
let activityData = [];//活动需要统计抽中的英雄、碎片品质
|
let activityData = [];//活动需要统计抽中的英雄、碎片品质
|
||||||
for (let i = 0; i < count; i++) {
|
for (let i = 0; i < count; i++) {
|
||||||
// // 按照一般概率抽出
|
let base = 0;
|
||||||
let { dic: { id: base, goodId } } = getRandEelmWithWeight(item.percent);//{"dic":{"id":1,"weight":59,"goodId":1},"index":0}
|
let goodId = 0;
|
||||||
if (base == item.floorReward) {
|
if (floorReward! && (item.count + i >= item.floorCount)) {//保底奖励
|
||||||
|
let reward = item.percent[item.floorReward];//{"id":1,"weight":59,"goodId":1}
|
||||||
|
base = reward.id;
|
||||||
|
goodId = reward.goodId;
|
||||||
|
} else {//按照一般概率抽出
|
||||||
|
let randomObj = getRandEelmWithWeight(item.percent);//{"dic":{"id":1,"weight":59,"goodId":1},"index":0}
|
||||||
|
base = randomObj.dic.id;
|
||||||
|
goodId = randomObj.dic.goodId;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (base == item.floorReward) {//中了保底
|
||||||
floorReward = true;
|
floorReward = true;
|
||||||
}
|
}
|
||||||
console.log('dddddddddddddddddd', JSON.stringify(base));
|
|
||||||
// let contentId = getFloorResult(gachaId, base, floor);
|
|
||||||
// if (contentId == false) return resResult(STATUS.DIC_DATA_NOT_FOUND);
|
|
||||||
let result = getResultFromContentIdNewHeroActivity(base, goodId, lv);
|
let result = getResultFromContentIdNewHeroActivity(base, goodId, lv);
|
||||||
console.log('ddddddddddd', JSON.stringify(result))
|
|
||||||
if (result.hid > 0) {
|
if (result.hid > 0) {
|
||||||
let hasHero = userHeroes.find(cur => cur.hid == result.hid);
|
let hasHero = userHeroes.find(cur => cur.hid == result.hid);
|
||||||
if (hasHero) { // 已有转换为碎片
|
if (hasHero) { // 已有转换为碎片
|
||||||
@@ -115,15 +121,6 @@ export class NewHeroGachaHandler {
|
|||||||
let { heroes } = await createHeroes(roleId, roleName, sid, serverId, funcs, heroInfo);
|
let { heroes } = await createHeroes(roleId, roleName, sid, serverId, funcs, heroInfo);
|
||||||
await addItems(roleId, roleName, sid, items);
|
await addItems(roleId, roleName, sid, items);
|
||||||
|
|
||||||
// // 任务
|
|
||||||
// await checkTask(roleId, sid, funcs, TASK_TYPE.GASHA, count, true, {});
|
|
||||||
// //活动统计
|
|
||||||
// await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.GASHA, count)
|
|
||||||
// for (let hero of heroes) {
|
|
||||||
// activityData.push({ hid: hero.hid, quality: hero.quality });
|
|
||||||
// }
|
|
||||||
// await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.GACHA_QUALITY_COUNT, count, { heroes: activityData })
|
|
||||||
|
|
||||||
return resResult(STATUS.SUCCESS, {
|
return resResult(STATUS.SUCCESS, {
|
||||||
hid, activityId, count,
|
hid, activityId, count,
|
||||||
heroes, result: resultList
|
heroes, result: resultList
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ export class NewHeroGachaItem {
|
|||||||
this.floorCount = data.floorCount;
|
this.floorCount = data.floorCount;
|
||||||
this.cost = parseGoodStr(data.cost);
|
this.cost = parseGoodStr(data.cost);
|
||||||
this.percent = [];
|
this.percent = [];
|
||||||
this.floorReward = data.floorReward;
|
this.floorReward = data.floorReward - 1;
|
||||||
this.count = 0;
|
this.count = 0;
|
||||||
let arr = data.percent.split('|').filter(obj => { return obj && obj != '' });
|
let arr = data.percent.split('|').filter(obj => { return obj && obj != '' });
|
||||||
for (let obj of arr) {
|
for (let obj of arr) {
|
||||||
|
|||||||
Reference in New Issue
Block a user