装备:获得天晶石&合成装备

This commit is contained in:
luying
2022-02-15 18:46:56 +08:00
parent ecc55b3063
commit 465cc15e43
30 changed files with 506 additions and 283 deletions
+17 -4
View File
@@ -9,9 +9,8 @@ import { HeroModel, HeroType, HeroUpdate, CeAttrData } from '../db/Hero';
import { RoleModel, RoleType, RoleUpdate, CeAttrDataRole } from '../db/Role';
import { AttributeCal } from '../domain/roleField/attribute';
import { ABI_STAGE, SEID_TYPE } from '../consts';
import { gameData, getJobByGradeAndClass, getHeroWakeByQuality, getHeroStarByQuality, getFriendShipById, getSchoolRateByStar, getScollByStar, getTeraph, getDicSuitByTypeAndLv } from './data';
import { gameData, getJobByGradeAndClass, getHeroWakeByQuality, getHeroStarByQuality, getFriendShipById, getSchoolRateByStar, getScollByStar, getTeraph } from './data';
import { DicSe } from './dictionary/DicSe';
import { EquipType } from '../db/Equip';
import { DicRandomEffectPool } from './dictionary/DicRandomEffectPool';
import { SchoolModel } from '../db/School';
import { ABI_TYPE_MAIN, ABI_JOB_STAGE, ABI_STAGE_TO_TYPE } from '../consts/constModules/abilityConst'
@@ -19,7 +18,6 @@ import { PvpDefenseModel } from '../db/PvpDefense';
import { findIndex } from 'underscore';
import { GuildModel } from '../db/Guild';
import { DicJob } from './dictionary/DicJob';
import { DicSuit } from './dictionary/DicSuit';
import { saveCeChangeLog } from './logUtil';
// 修改并下发战力
@@ -166,6 +164,9 @@ export function calPlayerCe(hero: HeroType, update: HeroUpdate, type: number, ar
case HERO_SYSTEM_TYPE.CONNECT:
heroAttrs = calHeroConectIncAttr(hero, update, args[0]);
break;
case HERO_SYSTEM_TYPE.COMPOSE_EQUIP:
heroAttrs = calComposeEquipIncAttr(hero, update, args[0]);
break;
case HERO_SYSTEM_TYPE.EQUIP:
heroAttrs = calEquipPutOnOffIncAttr(hero, args, addSeidList, removeSeidList);
break;
@@ -603,6 +604,18 @@ export function calHeroFavourUpIncAttr(originHero: HeroType, update: HeroUpdate)
return heroAttrs;
}
export function calComposeEquipIncAttr(hero: HeroType, update: HeroUpdate, eplaceId: number) {
let { attr: heroAttrs } = hero;
let newEquip = update.ePlace.find(cur => cur.id == eplaceId);
if(newEquip) {
let dicEquip = gameData.equipById.get(newEquip.equipId);
for(let attr of dicEquip.attribute) {
updateHeroAttr(heroAttrs, attr.id, { inc: { fixUp: attr.num * HERO_CE_RATIO } });
}
}
return heroAttrs;
}
/**
* 穿脱, removeSeidList原来身上穿着的所有装备的seid,包括套装的
* @param {HeroType} hero 武将
@@ -687,7 +700,7 @@ export function calEquipSeids(_hero: HeroType) {
* @param {HeroType} hero 装备更新过的武将
*/
export function calHeroEquipIncAttr(hero: HeroType) {
let { ePlace:_, attr: heroAttrs } = hero;
let { attr: heroAttrs } = hero;
// let setMap = new Map<number, number>();
// for (let { equip, lv, refineLv } of ePlace) {