道具:添加礼包字段
This commit is contained in:
50
game-server/app/servers/role/handler/itemHandler.ts
Normal file
50
game-server/app/servers/role/handler/itemHandler.ts
Normal file
@@ -0,0 +1,50 @@
|
||||
import { Application, BackendSession } from "pinus";
|
||||
import { STATUS, EQUIP_STRENGTHEN_TYPE, CURRENCY_BY_TYPE, CURRENCY_TYPE, HERO_SYSTEM_TYPE, CONSUME_TYPE, HERO_GROW_MAX, MSG_SOURCE, JEWEL_PUSH_LV, TASK_TYPE } from "../../../consts";
|
||||
import { ItemInter } from "../../../pubUtils/interface";
|
||||
|
||||
import { resResult, parseGoodStr, getRandValueByMinMax, getRandEelm } from "../../../pubUtils/util";
|
||||
import { addItems, handleCost, decreaseItems } from "../../../services/rewardService";
|
||||
import Equip, { EquipModel, EquipType } from "../../../db/Equip";
|
||||
import { HeroModel, EPlace } from "../../../db/Hero";
|
||||
import Role from "../../../db/Role";
|
||||
import { calPlayerCeAndSave } from "../../../services/playerCeService";
|
||||
import { getHeroJob, getGoodById, gameData, getHeroEquipByClassId } from "../../../pubUtils/data";
|
||||
import { EQUIP } from "../../../pubUtils/dicParam";
|
||||
import { ITID, SPEICAL_ITEM, QUALITY_TYPE } from "../../../consts/constModules/itemConst";
|
||||
import { changeEquip, dressEquip, checkMaterialEnough, takeOffEquipAndCalPlayerCe } from "../../../services/equipService";
|
||||
|
||||
import { indexOf, findIndex } from 'underscore';
|
||||
import { pushEquipRefineSucMsg, pushNormalEquipMsg, pushNormalItemMsg } from "../../../services/chatService";
|
||||
import { checkTaskWithHero, checkTaskWithEquip, checkTask, checkTaskWithArgs, checkTaskConditionEquipSuitJewelStage, checkActivityTask } from "../../../services/taskService";
|
||||
import { useGiftPackage } from "../../../services/giftPackageService";
|
||||
|
||||
export default function (app: Application) {
|
||||
return new ItemHandler(app);
|
||||
}
|
||||
|
||||
export class ItemHandler {
|
||||
|
||||
constructor(private app: Application) {
|
||||
}
|
||||
|
||||
|
||||
// 道具的使用
|
||||
public async useItem(msg: { id: number, selected: Array<number> }, session: BackendSession) {
|
||||
let { id, selected } = msg;
|
||||
const roleId = session.get('roleId');
|
||||
const serverId = session.get('serverId');
|
||||
const sid = session.get('sid');
|
||||
const roleName = session.get('roleName');
|
||||
const funcs = session.get('funcs');
|
||||
|
||||
let consumeResult = await handleCost(roleId, sid, [{ id: id, count: 1 }]);
|
||||
if (!consumeResult) return resResult(STATUS.ACTIVITY_RES_NOT_ENOUGH);
|
||||
|
||||
let dicGoods = gameData.goods.get(id);
|
||||
let giftID = dicGoods.gift;
|
||||
let result = await useGiftPackage(roleId, roleName, sid, serverId, funcs, giftID, selected)
|
||||
|
||||
return resResult(STATUS.SUCCESS, result);
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user