Merge branch 'master' of https://gitlab.trgame.cn/zyztech/zyz_server
This commit is contained in:
@@ -6,7 +6,7 @@ import { HeroModel, Connect, HeroSkin, HeroUpdate, EPlace, Talent } from '../../
|
||||
import { CURRENCY_BY_TYPE, CURRENCY_TYPE, CONSUME_TYPE, HERO_GROW_MAX, HERO_SYSTEM_TYPE, ABI_STAGE, DEBUG_MAGIC_WORD, HERO_INITIAL_QUALITY, REDIS_KEY, TASK_TYPE, ITEM_CHANGE_REASON } from '../../../consts';
|
||||
import { RoleModel } from '../../../db/Role';
|
||||
import { ItemModel } from '../../../db/Item';
|
||||
import { gameData, getHeroExpByLv, getHeroStarByQuality, getHeroWakeByQuality, getHeroLvByExp, getMaxGradeByjobClass, getJobByGradeAndClass, getConnectLvByExp, getEquipByJobClassAndEPlace, getScollByStar, getExpByLv, hasCurConnect, getConnectMaxLv, getFriendShipByIdAndLv } from '../../../pubUtils/data';
|
||||
import { gameData, getHeroExpByLv, getHeroStarByQuality, getHeroWakeByQuality, getHeroLvByExp, getMaxGradeByjobClass, getJobByGradeAndClass, getConnectLvByExp, getEquipByJobClassAndEPlace, getScollByStar, getExpByLv, getConnectMaxLv, getFriendShipByIdAndLv } from '../../../pubUtils/data';
|
||||
import { ItemInter, RewardInter } from '../../../pubUtils/interface';
|
||||
import { getDropItems, FIGURE_UNLOCK_CONDITION, ITID } from '../../../consts/constModules/itemConst'
|
||||
import { pushComposeOrangeHero, pushHeroQualityUpMsg, pushHeroStarMax, pushHeroWakeUp } from '../../../services/chatService';
|
||||
@@ -416,10 +416,13 @@ export class HeroHandler {
|
||||
|
||||
let { hid, shipId, type } = msg;
|
||||
|
||||
if(!hasCurConnect(hid, shipId)) return resResult(STATUS.WRONG_PARMS);
|
||||
let hero = await HeroModel.findByHidAndRole(hid, roleId);
|
||||
if (!hero) return resResult(STATUS.ROLE_HERO_NOT_EXISTS);
|
||||
let dicFriendShip = getFriendShipByIdAndLv(hid, shipId, 1);
|
||||
if(!dicFriendShip) return resResult(STATUS.DIC_DATA_NOT_FOUND);
|
||||
|
||||
let heroes = await HeroModel.findByHidRange(dicFriendShip.hids, roleId);
|
||||
if (heroes.length < dicFriendShip.hids.length) return resResult(STATUS.ROLE_HERO_NOT_EXISTS);
|
||||
let hero = heroes.find(cur => cur.hid == hid);
|
||||
if(!hero) return resResult(STATUS.ROLE_HERO_NOT_EXISTS);
|
||||
let { connections } = hero;
|
||||
let curConnect = connections.find(cur => cur.shipId == shipId);
|
||||
let { level: oldLv = 0, exp: oldExp = 0 } = curConnect||{};
|
||||
@@ -440,7 +443,6 @@ export class HeroHandler {
|
||||
// 计算武将可以升的级数
|
||||
if (oldLv + addLv > maxLv) addLv = maxLv - oldLv;
|
||||
|
||||
console.log('#####maxLv', oldLv + addLv)
|
||||
let nextObj = getFriendShipByIdAndLv(hid, shipId, oldLv + addLv);
|
||||
if (!nextObj) return resResult(STATUS.HERO_FAVOUR_LEVEL_REACH_MAXT);
|
||||
let nextExp = nextObj.shipExp;
|
||||
|
||||
@@ -319,9 +319,6 @@ export function getHeroExpByLv(lv: number) {
|
||||
return gameData.charexp.get(lv);
|
||||
}
|
||||
|
||||
export function hasCurConnect(actorId: number, shipId: number) {
|
||||
return gameData.friendShips.has(`${actorId}_${shipId}`);
|
||||
}
|
||||
|
||||
export function getConnectMaxLv(actorId: number, shipId: number) {
|
||||
return gameData.friendShipsMax.get(`${actorId}_${shipId}`)||0;
|
||||
|
||||
Reference in New Issue
Block a user