diff --git a/game-server/app/servers/role/handler/equipHandler.ts b/game-server/app/servers/role/handler/equipHandler.ts index e568ea927..f57a2c654 100644 --- a/game-server/app/servers/role/handler/equipHandler.ts +++ b/game-server/app/servers/role/handler/equipHandler.ts @@ -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, diff --git a/shared/consts/statusCode.ts b/shared/consts/statusCode.ts index 099bc01fe..35a76db77 100644 --- a/shared/consts/statusCode.ts +++ b/shared/consts/statusCode.ts @@ -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: '装备已经穿戴'}, diff --git a/shared/db/Equip.ts b/shared/db/Equip.ts index 88d6f4bbd..fb7e4f44e 100644 --- a/shared/db/Equip.ts +++ b/shared/db/Equip.ts @@ -32,7 +32,6 @@ interface equipUpdate { holes?:Array; randSe?: Array; 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; } diff --git a/shared/db/generalField.ts b/shared/db/generalField.ts index a12aef565..00abff79c 100644 --- a/shared/db/generalField.ts +++ b/shared/db/generalField.ts @@ -40,4 +40,40 @@ export class CeAttr { defIngnore?: CeAttrData = new CeAttrData(); @prop({ required: false }) bloodSuck?: CeAttrData = new CeAttrData(); -} \ No newline at end of file +} + + + +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; +} +