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