Merge branch 'master' of gitlab.trgame.cn:zyztech/zyz_server

This commit is contained in:
mamengke01
2020-12-18 21:32:51 +08:00
4 changed files with 47 additions and 11 deletions

View File

@@ -41,6 +41,8 @@ export class EquipHandler {
// 消耗材料
// 获得装备
let {gid, originalEquip} = msg;
let targetGood = gameData.goods.get(gid);
if(!targetGood) return resResult(STATUS.ROLE_INFO_NOT_FOUND);
@@ -233,7 +235,7 @@ export class EquipHandler {
} else if (lockNum == 2) {
consumes = parseReward(EQUIP.EQUIP_THREE_LOCKED);
} else {
consumes = parseReward(EQUIP.EQUIP_FOUR_LOCKED);
return resResult(STATUS.ROLE_ALL_SE_LOCK);
}
let result = await handleCost(roleId, sid, consumes);
if(!result) return resResult(STATUS.ROLE_MATERIAL_NOT_ENOUGH);
@@ -257,7 +259,7 @@ export class EquipHandler {
let equip = await EquipModel.findbySeqId(eid);
if(!equip) return resResult(STATUS.EQUIP_NOT_FIND);
let {id, randSe, reStrengthenNum = 0} = equip;
let {id, randSe } = equip;
if(!randSe || randSe.length <=0 ) {
return resResult(STATUS.EQUIP_HAVE_NO_RANDSE);
}
@@ -289,11 +291,11 @@ export class EquipHandler {
// 消耗
let consumes:Array<{id: number, count: number}> = [];
if (reStrengthenNum == 0) {
if (lockNum == 0) {
consumes = parseReward(EQUIP.EQUIP_ONE_REFORGED);
} else if (reStrengthenNum == 1) {
} else if (lockNum == 1) {
consumes = parseReward(EQUIP.EQUIP_TWO_REFORGED);
} else if (reStrengthenNum == 2) {
} else if (lockNum == 2) {
consumes = parseReward(EQUIP.EQUIP_THREE_REFORGED);
} else {
consumes = parseReward(EQUIP.EQUIP_FOUR_REFORGED);
@@ -302,7 +304,7 @@ export class EquipHandler {
let result = await handleCost(roleId, sid, consumes);
if(!result) return resResult(STATUS.ROLE_MATERIAL_NOT_ENOUGH);
let equipResult = await EquipModel.updateEquipInfo(eid, { randSe, reStrengthenNum: reStrengthenNum + 1 })
let equipResult = await EquipModel.updateEquipInfo(eid, { randSe })
let curEquip = {
seqId: equipResult.seqId,
id: equipResult.id,

View File

@@ -152,6 +152,7 @@ export const STATUS = {
ROLE_EQUIP_NOT_REACH_MAX: { code: 30405, simStr: '强化未达到上限' },
ROLE_EQUIP_CANNOT_RESTRENGTHEN: { code: 30406, simStr: '无属性可以洗炼' },
ROLE_WRONG_ITEM: { code: 30407, simStr: '该道具不可用于该功能' },
ROLE_ALL_SE_LOCK: { code: 30407, simStr: '属性不可全部都锁住' },
EQUIP_NOT_FIND: {code: 30500, simStr: '装备不存在'},
EQUIP_IS_EQUIPED: {code: 30501, simStr: '装备已经穿戴'},

View File

@@ -32,7 +32,6 @@ interface equipUpdate {
holes?:Array<Holes>;
randSe?: Array<RandSe>;
ePlaceId?:number;
reStrengthenNum?: number;
}
@index({ roleId: 1, hid: 1, id: 1 })
@@ -69,8 +68,6 @@ export default class Equip extends BaseModel {
randSe: RandSe[]; // 强化随机属性
@prop({ required: true, type: Holes, default: [] })
holes: Holes[];
@prop({ required: true, default: 0 })
reStrengthenNum: number; // 洗炼次数
public static async findbyRole(roleId: string, lean = true) {
const equips: EquipType[] = await EquipModel.find({ roleId }).lean(lean);
@@ -123,7 +120,7 @@ export default class Equip extends BaseModel {
public static async updateEquipInfo(seqId:number, equipUpdate: equipUpdate, lean = true) {
delete equipUpdate._id;
let result: EquipType = await EquipModel.findOneAndUpdate({seqId}, {$set: equipUpdate}).lean(lean);
let result: EquipType = await EquipModel.findOneAndUpdate({seqId}, {$set: equipUpdate}, {new: true}).lean(lean);
return result;
}

View File

@@ -40,4 +40,40 @@ export class CeAttr {
defIngnore?: CeAttrData = new CeAttrData();
@prop({ required: false })
bloodSuck?: CeAttrData = new CeAttrData();
}
}
export class CeAttrNumber {
@prop({ required: false })
hp?: number = 0;
@prop({ required: false })
atk?: number = 0;
@prop({ required: false })
matk?: number = 0;
@prop({ required: false })
def?: number = 0;
@prop({ required: false })
mdef?: number = 0;
@prop({ required: false })
agi?: number = 0;
@prop({ required: false })
luk?: number = 0;
@prop({ required: false })
hit?: number = 0;
@prop({ required: false })
cri?: number = 0;
@prop({ required: false })
flee?: number = 0;
@prop({ required: false })
antCri?: number = 0;
@prop({ required: false })
damageIncrease?: number = 0;
@prop({ required: false })
damageDecrease?: number = 0;
@prop({ required: false })
defIngnore?: number = 0;
@prop({ required: false })
bloodSuck?: number = 0;
}