打孔
This commit is contained in:
@@ -315,41 +315,68 @@ export class EquipHandler {
|
||||
return resResult(STATUS.SUCCESS,{goods:result});
|
||||
}
|
||||
|
||||
//穿戴或卸载装备 1-穿上装备 2-脱下装备
|
||||
//穿戴或卸载装备 1-穿上装备(包括替换) 2-脱下装备
|
||||
public async putOnOrOff(msg: {eid: number, hid: number, type: number}, session: BackendSession) {
|
||||
let { eid, hid, type } = msg;
|
||||
let roleId: string = session.get('roleId');
|
||||
let roleName: string = session.get('roleName');
|
||||
let sid: string = session.get('sid');
|
||||
let equip = await EquipModel.getEquip(eid);
|
||||
let returnEquips:Array<{seqId:number, id:number, hid:number, ePlaceId:number}>;
|
||||
let goodInfo = getGoodById(equip.id);
|
||||
let obj = ITID.get(goodInfo.itid);
|
||||
let ePlaceId = obj.type;
|
||||
let curEquips:Array<{seqId: number, hid: number, ePlaceId: number }> = [];
|
||||
if (type == 1) {
|
||||
if (!!equip.hid)
|
||||
return resResult(STATUS.EQUIP_IS_EQUIPED);
|
||||
let hero = await HeroModel.getHeroAndEquip(roleId, hid);
|
||||
if (!hero)
|
||||
let ePlace = await HeroModel.getHeroEquip(roleId, hid);
|
||||
if (!ePlace)
|
||||
return resResult(STATUS.HERO_NOT_FIND);
|
||||
//修改数据库TODO
|
||||
|
||||
let index = _.findIndex(ePlace, {id: ePlaceId});
|
||||
if (index < 0)
|
||||
return resResult(STATUS.WRONG_PARMS);
|
||||
if (!!ePlace[index].equip) {
|
||||
let lastEquip = await EquipModel.updateEquipInfo(ePlace[index].equip.seqId, {hid:0, ePlaceId: 0});
|
||||
curEquips.push({
|
||||
seqId: lastEquip.seqId,
|
||||
hid: lastEquip.hid,
|
||||
ePlaceId: lastEquip.ePlaceId
|
||||
});
|
||||
}
|
||||
await HeroModel.addEquip(roleId, hid, ePlaceId, equip._id);
|
||||
curEquips.push({
|
||||
seqId: eid,
|
||||
hid: hid,
|
||||
ePlaceId: ePlaceId
|
||||
});
|
||||
} else if (type == 2) {
|
||||
if (!equip.hid)
|
||||
return resResult(STATUS.EQUIP_NOT_EQUIPED);
|
||||
//修改数据库TODO
|
||||
let ePlace = await HeroModel.getHeroEquip(roleId, hid);
|
||||
if (!ePlace)
|
||||
return resResult(STATUS.HERO_NOT_FIND);
|
||||
let index = _.findIndex(ePlace, {id: ePlaceId});
|
||||
if (index < 0)
|
||||
return resResult(STATUS.WRONG_PARMS);
|
||||
if (!ePlace[index].equip||ePlace[index].equip.seqId != eid)
|
||||
return resResult(STATUS.WRONG_PARMS);
|
||||
await HeroModel.unloadHeroAndEquip(roleId, hid, eid);
|
||||
equip = await EquipModel.updateEquipInfo(eid, {hid:0, ePlaceId: 0});
|
||||
curEquips.push({
|
||||
seqId: equip.seqId,
|
||||
hid: equip.hid,
|
||||
ePlaceId: equip.ePlaceId
|
||||
});
|
||||
}
|
||||
return resResult(STATUS.SUCCESS,{curEquips:curEquips});
|
||||
}
|
||||
|
||||
//装备打孔
|
||||
public async digHole(msg: {eid: number, id: number}, session: BackendSession) {
|
||||
let { eid, id } = msg;
|
||||
let roleId: string = session.get('roleId');
|
||||
let roleName: string = session.get('roleName');
|
||||
let sid: string = session.get('sid');
|
||||
let equip = await EquipModel.getEquip(eid);
|
||||
let index = _.indexOf(equip.holes, {id});
|
||||
if (index > 0)
|
||||
let index = _.findIndex(equip.holes, {id});
|
||||
if (index < 0)
|
||||
return resResult(STATUS.EQUIP_HOLE_NOT_FIND);
|
||||
if (equip.holes[index].isOpen)
|
||||
return resResult(STATUS.EQUIP_HOLE_IS_DUG);
|
||||
@@ -376,7 +403,7 @@ export class EquipHandler {
|
||||
let sid: string = session.get('sid');
|
||||
let consumes:Array<{id: number, count: number}> = [];
|
||||
let equip = await EquipModel.getEquip(eid);
|
||||
let index = _.indexOf(equip.holes, {id});
|
||||
let index = _.findIndex(equip.holes, {id});
|
||||
if (index > 0)
|
||||
return resResult(STATUS.EQUIP_HOLE_NOT_FIND);
|
||||
if (equip.holes[index].isOpen)
|
||||
@@ -421,7 +448,7 @@ export class EquipHandler {
|
||||
let sid: string = session.get('sid');
|
||||
let goods:Array<{id: number, count: number}> = [];
|
||||
let equip = await EquipModel.getEquip(eid);
|
||||
let index = _.indexOf(equip.holes, {id});
|
||||
let index = _.findIndex(equip.holes, {id});
|
||||
if (index > 0)
|
||||
return resResult(STATUS.EQUIP_HOLE_NOT_FIND);
|
||||
if (equip.holes[index].isOpen)
|
||||
|
||||
@@ -26,7 +26,7 @@ export class RoleHandler {
|
||||
// type: 1
|
||||
// }
|
||||
// const equip = await EquipModel.createEquip(equipInfo);
|
||||
// await HeroModel.addEquip(roleId, 12, equip._id);
|
||||
// await HeroModel.addEquip(roleId, 12, 1, equip._id);
|
||||
}
|
||||
|
||||
async initHeros(roleId: string, roleName: string) {
|
||||
|
||||
@@ -188,7 +188,7 @@ function sortItems (goods: Array<ItemInter>, bags: Array<BagInter>, skins: Array
|
||||
if (!!isCurrency) {
|
||||
let curname = getCurNameById(goodInfo.good_id);
|
||||
if (!!curname) {
|
||||
let index = _.indexOf(showItems, {id: good.id});
|
||||
let index = _.findIndex(showItems, {id: good.id});
|
||||
if (index > 0) {
|
||||
showItems[index].count = showItems[index].count + good.count;
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user