装备:修改装备限制
This commit is contained in:
@@ -4,16 +4,16 @@ import { ItemInter } from "../../../pubUtils/interface";
|
||||
|
||||
import { resResult, parseGoodStr, getRandValueByMinMax, getRandEelm } from "../../../pubUtils/util";
|
||||
import { addItems, handleCost, decreaseItems } from "../../../services/rewardService";
|
||||
import Equip, { EquipModel, EquipType } from "../../../db/Equip";
|
||||
import { EquipModel, EquipType } from "../../../db/Equip";
|
||||
import { HeroModel, EPlace } from "../../../db/Hero";
|
||||
import Role from "../../../db/Role";
|
||||
import { calPlayerCeAndSave } from "../../../services/playerCeService";
|
||||
import { getHeroJob, getGoodById, gameData, getHeroEquipByClassId } from "../../../pubUtils/data";
|
||||
import { getGoodById, gameData } from "../../../pubUtils/data";
|
||||
import { EQUIP } from "../../../pubUtils/dicParam";
|
||||
import { ITID, SPEICAL_ITEM, QUALITY_TYPE, equipTypeToSortAttr, IT_TYPE } from "../../../consts/constModules/itemConst";
|
||||
import { changeEquip, dressEquip, checkMaterialEnough, takeOffEquipAndCalPlayerCe } from "../../../services/equipService";
|
||||
import { changeEquip, dressEquip, checkMaterialEnough, takeOffEquipAndCalPlayerCe, checkEquipCanPut } from "../../../services/equipService";
|
||||
|
||||
import { indexOf, findIndex } from 'underscore';
|
||||
import { findIndex } from 'underscore';
|
||||
import { pushEquipRefineSucMsg, pushNormalEquipMsg, pushNormalItemMsg } from "../../../services/chatService";
|
||||
import { checkTaskWithHero, checkTaskWithEquip, checkTask, checkTaskWithArgs, checkTaskConditionEquipSuitJewelStage, checkActivityTask } from "../../../services/taskService";
|
||||
import { Attribute } from "../../../domain/roleField/attribute";
|
||||
@@ -511,10 +511,7 @@ export class EquipHandler {
|
||||
return resResult(STATUS.WRONG_PARMS);
|
||||
if (goodInfo.lvLimited > hero.lv)
|
||||
return resResult(STATUS.EQUIP_LEVEL_LIMIT);
|
||||
let { jobid } = gameData.hero.get(hid);
|
||||
let { job_class } = getHeroJob(jobid);
|
||||
let { classId } = getHeroEquipByClassId(goodInfo.itid);
|
||||
if (indexOf(classId, job_class) < 0)
|
||||
if(checkEquipCanPut(hid, equip.id))
|
||||
return resResult(STATUS.EQUIP_NOT_EQUIPED_HERO);
|
||||
let index = findIndex(hero.ePlace, { id });
|
||||
if (index < 0)
|
||||
@@ -560,13 +557,11 @@ export class EquipHandler {
|
||||
let allEquips = await EquipModel.findNotWearEquips(roleId);
|
||||
let sortEquips = allEquips.map(equip => {
|
||||
let { id, quality, randRange, ePlaceId } = equip;
|
||||
let { goodsAbility, lvLimited, itid } = gameData.goods.get(id);
|
||||
let { goodsAbility, lvLimited } = gameData.goods.get(id);
|
||||
let attrObj = new Attribute();
|
||||
attrObj.setByMap(goodsAbility, HERO_CE_RATIO + randRange);
|
||||
let ce = attrObj.calEquipCe();
|
||||
let { classId } = getHeroEquipByClassId(itid);
|
||||
|
||||
return { id, quality, ce, equip, goodsAbility, lvLimited, classId, ePlaceId }
|
||||
return { id, quality, ce, equip, goodsAbility, lvLimited, ePlaceId }
|
||||
});
|
||||
let { ePlace, lv } = hero;
|
||||
|
||||
@@ -575,8 +570,8 @@ export class EquipHandler {
|
||||
if (!curEPlace.equip) { // 未装备
|
||||
let sortAttrId = equipTypeToSortAttr.get(curEPlace.id);
|
||||
let sortedAndSuitEquips = sortEquips.filter(equipInfos => { // 筛选可穿的
|
||||
let { lvLimited, classId, ePlaceId } = equipInfos;
|
||||
return lv >= lvLimited && classId.indexOf(dicJob.job_class) != -1 && curEPlace.id == ePlaceId;
|
||||
let { id, lvLimited, ePlaceId } = equipInfos;
|
||||
return lv >= lvLimited && checkEquipCanPut(hid, id) && curEPlace.id == ePlaceId;
|
||||
}).sort((a, b) => { // 排序按:战力 => 根据位置看个别属性 => 品质
|
||||
if (b.ce - a.ce != 0) return b.ce - a.ce;
|
||||
let abilityA = a.goodsAbility.get(sortAttrId) || 0;
|
||||
|
||||
Reference in New Issue
Block a user