活动:新将抽卡添加固定奖励
This commit is contained in:
@@ -56,20 +56,19 @@ export class ActivityMonopolyHandler {
|
||||
const roleName = session.get('roleName');
|
||||
|
||||
let moveStep = 0;
|
||||
if (step >= 1 && step <= 6) {//指定
|
||||
if (step >= 1 && step <= 6) {//指定,天机骰子
|
||||
//检查资源
|
||||
let consumeResult = await handleCost(roleId, sid, [{ id: CURRENCY_BY_TYPE.get(CURRENCY_TYPE.GOLD), count: 1 }]);
|
||||
let consumeResult = await handleCost(roleId, sid, [{ id: CURRENCY_BY_TYPE.get(CURRENCY_TYPE.SPECIAL_DICE), count: 1 }]);
|
||||
if (!consumeResult) return resResult(STATUS.ACTIVITY_RES_NOT_ENOUGH);
|
||||
moveStep = step;
|
||||
} else {
|
||||
} else {//普通骰子
|
||||
//检查资源
|
||||
let consumeResult = await handleCost(roleId, sid, [{ id: CURRENCY_BY_TYPE.get(CURRENCY_TYPE.GOLD), count: 1 }]);
|
||||
let consumeResult = await handleCost(roleId, sid, [{ id: CURRENCY_BY_TYPE.get(CURRENCY_TYPE.NORMAL_DICE), count: 1 }]);
|
||||
if (!consumeResult) return resResult(STATUS.ACTIVITY_RES_NOT_ENOUGH);
|
||||
moveStep = random(5) + 1;
|
||||
}
|
||||
let playerData = await getPlayerMonopolyData(activityId, serverId, roleId)
|
||||
|
||||
let playerMonopolyData: ActivityMonopolyModelType = await ActivityMonopolyModel.findData(serverId, activityId, roleId);
|
||||
let oldPosition = playerData.curPosition;
|
||||
let newPosition = nextPosition(oldPosition, moveStep, playerData.list.length);
|
||||
await ActivityMonopolyModel.updatePosition(serverId, activityId, roleId, newPosition, 1)
|
||||
|
||||
@@ -3,7 +3,6 @@ import { getRandEelmWithWeight, resResult } from '../../../pubUtils/util';
|
||||
import { STATUS } from '../../../consts';
|
||||
import { getPlayerNewHeroGachaData } from '../../../services/activity/newHeroGachaService';
|
||||
import { RoleModel } from '../../../db/Role';
|
||||
import { gameData } from '../../../pubUtils/data';
|
||||
import { HeroModel } from '../../../db/Hero';
|
||||
import { RewardInter } from '../../../pubUtils/interface';
|
||||
import { CreateHeroParam } from '../../../domain/roleField/hero';
|
||||
@@ -12,7 +11,8 @@ import { getResultFromContentIdNewHeroActivity } from '../../../services/activit
|
||||
import { transPiece } from '../../../pubUtils/itemUtils';
|
||||
import { addItems, createHeroes, handleCost } from '../../../services/rewardService';
|
||||
import { ActivityNewHeroGachaModel } from '../../../db/ActivityNewHeroGacha';
|
||||
// import { NewHeroGachaItem } from '../../../domain/activityField/newHeroGachaField';
|
||||
import { addReward, stringToRewardParam } from '../../../services/activity/giftPackageService';
|
||||
import { RewardParam } from '../../../domain/activityField/rewardField';
|
||||
|
||||
|
||||
export default function (app: Application) {
|
||||
@@ -120,10 +120,14 @@ export class NewHeroGachaHandler {
|
||||
// 给东西
|
||||
let { heroes } = await createHeroes(roleId, roleName, sid, serverId, funcs, heroInfo);
|
||||
await addItems(roleId, roleName, sid, items);
|
||||
//固定奖励
|
||||
let rewardParamArr: Array<RewardParam> = stringToRewardParam(item.commonReward);
|
||||
let newRewardParamArr: Array<RewardParam> = rewardParamArr.map(obj => { return { id: obj.id, type: obj.type, count: obj.count * count } });
|
||||
let commonResult = await addReward(roleId, roleName, sid, serverId, funcs, newRewardParamArr)
|
||||
|
||||
return resResult(STATUS.SUCCESS, {
|
||||
hid, activityId, count,
|
||||
heroes, result: resultList
|
||||
hid, activityId, count, randomReward: { heroes, result: resultList }, commonReward: commonResult
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user