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
@@ -41,6 +41,8 @@ export class EquipHandler {
// 消耗材料 // 消耗材料
// 获得装备 // 获得装备
let {gid, originalEquip} = msg; let {gid, originalEquip} = msg;
let targetGood = gameData.goods.get(gid); let targetGood = gameData.goods.get(gid);
if(!targetGood) return resResult(STATUS.ROLE_INFO_NOT_FOUND); if(!targetGood) return resResult(STATUS.ROLE_INFO_NOT_FOUND);
@@ -233,7 +235,7 @@ export class EquipHandler {
} else if (lockNum == 2) { } else if (lockNum == 2) {
consumes = parseReward(EQUIP.EQUIP_THREE_LOCKED); consumes = parseReward(EQUIP.EQUIP_THREE_LOCKED);
} else { } else {
consumes = parseReward(EQUIP.EQUIP_FOUR_LOCKED); return resResult(STATUS.ROLE_ALL_SE_LOCK);
} }
let result = await handleCost(roleId, sid, consumes); let result = await handleCost(roleId, sid, consumes);
if(!result) return resResult(STATUS.ROLE_MATERIAL_NOT_ENOUGH); if(!result) return resResult(STATUS.ROLE_MATERIAL_NOT_ENOUGH);
@@ -257,7 +259,7 @@ export class EquipHandler {
let equip = await EquipModel.findbySeqId(eid); let equip = await EquipModel.findbySeqId(eid);
if(!equip) return resResult(STATUS.EQUIP_NOT_FIND); if(!equip) return resResult(STATUS.EQUIP_NOT_FIND);
let {id, randSe, reStrengthenNum = 0} = equip; let {id, randSe } = equip;
if(!randSe || randSe.length <=0 ) { if(!randSe || randSe.length <=0 ) {
return resResult(STATUS.EQUIP_HAVE_NO_RANDSE); return resResult(STATUS.EQUIP_HAVE_NO_RANDSE);
} }
@@ -289,11 +291,11 @@ export class EquipHandler {
// 消耗 // 消耗
let consumes:Array<{id: number, count: number}> = []; let consumes:Array<{id: number, count: number}> = [];
if (reStrengthenNum == 0) { if (lockNum == 0) {
consumes = parseReward(EQUIP.EQUIP_ONE_REFORGED); consumes = parseReward(EQUIP.EQUIP_ONE_REFORGED);
} else if (reStrengthenNum == 1) { } else if (lockNum == 1) {
consumes = parseReward(EQUIP.EQUIP_TWO_REFORGED); consumes = parseReward(EQUIP.EQUIP_TWO_REFORGED);
} else if (reStrengthenNum == 2) { } else if (lockNum == 2) {
consumes = parseReward(EQUIP.EQUIP_THREE_REFORGED); consumes = parseReward(EQUIP.EQUIP_THREE_REFORGED);
} else { } else {
consumes = parseReward(EQUIP.EQUIP_FOUR_REFORGED); consumes = parseReward(EQUIP.EQUIP_FOUR_REFORGED);
@@ -302,7 +304,7 @@ export class EquipHandler {
let result = await handleCost(roleId, sid, consumes); let result = await handleCost(roleId, sid, consumes);
if(!result) return resResult(STATUS.ROLE_MATERIAL_NOT_ENOUGH); 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 = { let curEquip = {
seqId: equipResult.seqId, seqId: equipResult.seqId,
id: equipResult.id, id: equipResult.id,
+1
View File
@@ -152,6 +152,7 @@ export const STATUS = {
ROLE_EQUIP_NOT_REACH_MAX: { code: 30405, simStr: '强化未达到上限' }, ROLE_EQUIP_NOT_REACH_MAX: { code: 30405, simStr: '强化未达到上限' },
ROLE_EQUIP_CANNOT_RESTRENGTHEN: { code: 30406, simStr: '无属性可以洗炼' }, ROLE_EQUIP_CANNOT_RESTRENGTHEN: { code: 30406, simStr: '无属性可以洗炼' },
ROLE_WRONG_ITEM: { code: 30407, simStr: '该道具不可用于该功能' }, ROLE_WRONG_ITEM: { code: 30407, simStr: '该道具不可用于该功能' },
ROLE_ALL_SE_LOCK: { code: 30407, simStr: '属性不可全部都锁住' },
EQUIP_NOT_FIND: {code: 30500, simStr: '装备不存在'}, EQUIP_NOT_FIND: {code: 30500, simStr: '装备不存在'},
EQUIP_IS_EQUIPED: {code: 30501, simStr: '装备已经穿戴'}, EQUIP_IS_EQUIPED: {code: 30501, simStr: '装备已经穿戴'},
+1 -4
View File
@@ -32,7 +32,6 @@ interface equipUpdate {
holes?:Array<Holes>; holes?:Array<Holes>;
randSe?: Array<RandSe>; randSe?: Array<RandSe>;
ePlaceId?:number; ePlaceId?:number;
reStrengthenNum?: number;
} }
@index({ roleId: 1, hid: 1, id: 1 }) @index({ roleId: 1, hid: 1, id: 1 })
@@ -69,8 +68,6 @@ export default class Equip extends BaseModel {
randSe: RandSe[]; // 强化随机属性 randSe: RandSe[]; // 强化随机属性
@prop({ required: true, type: Holes, default: [] }) @prop({ required: true, type: Holes, default: [] })
holes: Holes[]; holes: Holes[];
@prop({ required: true, default: 0 })
reStrengthenNum: number; // 洗炼次数
public static async findbyRole(roleId: string, lean = true) { public static async findbyRole(roleId: string, lean = true) {
const equips: EquipType[] = await EquipModel.find({ roleId }).lean(lean); 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) { public static async updateEquipInfo(seqId:number, equipUpdate: equipUpdate, lean = true) {
delete equipUpdate._id; 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; return result;
} }
+36
View File
@@ -41,3 +41,39 @@ export class CeAttr {
@prop({ required: false }) @prop({ required: false })
bloodSuck?: CeAttrData = new CeAttrData(); 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;
}