From 7d5ef794070625e52cb4368fc1c69f0f472d0056 Mon Sep 17 00:00:00 2001 From: luying Date: Tue, 28 Dec 2021 14:53:42 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=EF=BC=9A=E5=90=8D=E5=B0=86?= =?UTF-8?q?=E8=B0=B1=E6=88=98=E5=8A=9B=E3=80=81=E6=B4=BB=E5=8A=A8=E9=93=9C?= =?UTF-8?q?=E5=B8=81=E6=95=B0=E9=87=8F=E3=80=81=E5=BC=95=E5=AF=BC=E6=8A=BD?= =?UTF-8?q?=E5=8D=A1new=E9=97=AE=E9=A2=98=E3=80=81=E6=9C=AA=E5=88=9D?= =?UTF-8?q?=E5=A7=8B=E6=8E=A8=E9=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../servers/activity/handler/dailyCoinHandler.ts | 5 +++-- .../app/servers/activity/handler/gachaHandler.ts | 3 ++- .../app/servers/connector/handler/entryHandler.ts | 4 ++-- game-server/app/services/connectorService.ts | 15 ++++++++++----- shared/db/UserGacha.ts | 2 ++ shared/pubUtils/dictionary/DicHeroScroll.ts | 10 +++++----- shared/pubUtils/logUtil.ts | 4 ++-- shared/pubUtils/playerCe.ts | 10 +++++++++- 8 files changed, 35 insertions(+), 18 deletions(-) diff --git a/game-server/app/servers/activity/handler/dailyCoinHandler.ts b/game-server/app/servers/activity/handler/dailyCoinHandler.ts index da928551e..0066fa10c 100644 --- a/game-server/app/servers/activity/handler/dailyCoinHandler.ts +++ b/game-server/app/servers/activity/handler/dailyCoinHandler.ts @@ -78,12 +78,13 @@ export class DailyCoinHandler { } let rate = playerData.getRate()//翻几倍 rateArray.push(rate); - let rewardItem: CoinRewardFormulaItem = playerData.findCoinRewardFormulaItem(index); + let lv = role.lv;//玩家等级 + let rewardItem: CoinRewardFormulaItem = playerData.findCoinRewardFormulaItem(lv); if (!rewardItem) { return resResult(STATUS.ACTIVITY_DATA_ERROR); } - let lv = role.lv;//玩家等级 let coinRewardCount = eval(rewardItem.rewardFormula); + console.log('******** coinReward', lv, rewardItem.rewardFormula, coinRewardCount) let baseRewardParamArr: Array = [{ id: CURRENCY_BY_TYPE.get(CURRENCY_TYPE.COIN), count: coinRewardCount, type: ACTIVITY_RESOURCES_TYPE.GOODS }]; console.log('第几次抽奖:', index, ' 基础奖励翻倍:', rate, JSON.stringify(baseRewardParamArr),) diff --git a/game-server/app/servers/activity/handler/gachaHandler.ts b/game-server/app/servers/activity/handler/gachaHandler.ts index 3791fd9ff..0711dcd86 100644 --- a/game-server/app/servers/activity/handler/gachaHandler.ts +++ b/game-server/app/servers/activity/handler/gachaHandler.ts @@ -380,7 +380,8 @@ export class GachaHandler { if (!costResult) return resResult(STATUS.GACHA_COST_NOT_ENOUGH); } - let gachaPull = new GachaPull(gachaId, 0, []); + let userHeroes = await HeroModel.findByRole(roleId); + let gachaPull = new GachaPull(gachaId, 0, userHeroes); gachaPull.setByUserGacha({...dicGacha, floorReward: 0}, userGacha); let { resultList } = gachaPull.pull(count); diff --git a/game-server/app/servers/connector/handler/entryHandler.ts b/game-server/app/servers/connector/handler/entryHandler.ts index dff8e3845..93cd6529f 100644 --- a/game-server/app/servers/connector/handler/entryHandler.ts +++ b/game-server/app/servers/connector/handler/entryHandler.ts @@ -95,7 +95,7 @@ export class EntryHandler { checkTaskWithRole(serverId, role.roleId, self.app.get('serverId'), TASK_TYPE.LOGIN_SUM, role); checkTaskWithRole(serverId, role.roleId, self.app.get('serverId'), TASK_TYPE.LOGIN_SERIES, role); // 推送数据 - if (role.hasInit) pushData(role, session); + pushData(role.hasInit, role, session); role['heros'] = heros; role['equips'] = equips; @@ -181,7 +181,7 @@ export class EntryHandler { checkTaskWithRole(serverId, role.roleId, self.app.get('serverId'), TASK_TYPE.LOGIN_SUM, role); checkTaskWithRole(serverId, role.roleId, self.app.get('serverId'), TASK_TYPE.LOGIN_SERIES, role); // 推送数据 - pushData(role, session, 'refresh'); + pushData(role.hasInit, role, session, 'refresh'); let todayZeroPoint = getZeroPoint(); return resResult(STATUS.SUCCESS, { todayZeroPoint }); diff --git a/game-server/app/services/connectorService.ts b/game-server/app/services/connectorService.ts index 5ff87cecd..9bae75321 100644 --- a/game-server/app/services/connectorService.ts +++ b/game-server/app/services/connectorService.ts @@ -38,7 +38,7 @@ import { PvpDefenseModel } from '../db/PvpDefense'; import { getDonation } from './donateService'; import { refChallengeCnt } from './pvpService'; -export async function pushData(role: RoleType, session: FrontendOrBackendSession, pushType: 'entry' | 'refresh' = 'entry') { +export async function pushData(hasInit: boolean, role: RoleType, session: FrontendOrBackendSession, pushType: 'entry' | 'refresh' = 'entry') { try { const { roleId } = role; const sid = session.get('sid'); @@ -46,11 +46,16 @@ export async function pushData(role: RoleType, session: FrontendOrBackendSession pushEntryStart(roleId, sid); // 军团 const guildData = await getGuildEntryData(role, sid, session); - let modules = ['lv', 'battle', 'rank', 'mail', 'friend', 'daily', 'expedition', 'tower', 'comBattle', 'dungeon', 'pvp', 'gacha', 'school', 'task', 'chat', 'event', 'guild']; - if (guildData.hasGuild) { - modules.push('auction', 'train', 'boss', 'wishPool', 'guildActivity', 'donate'); + let modules = []; + if(!hasInit) { + modules.push('lv', 'battle'); + } else { + modules.push('lv', 'battle', 'rank', 'mail', 'friend', 'daily', 'expedition', 'tower', 'comBattle', 'dungeon', 'pvp', 'gacha', 'school', 'task', 'chat', 'event', 'guild'); + if (guildData.hasGuild) { + modules.push('auction', 'train', 'boss', 'wishPool', 'guildActivity', 'donate'); + } + modules.push('shop') } - modules.push('shop') let notIncludeModule: string[] = []; if (pushType == 'refresh') { // 每天5点刷新的时候不推送 notIncludeModule = ['rank', 'mail', 'school', 'auction', 'train', 'chat', 'battle']; diff --git a/shared/db/UserGacha.ts b/shared/db/UserGacha.ts index 536349365..73d927aae 100644 --- a/shared/db/UserGacha.ts +++ b/shared/db/UserGacha.ts @@ -41,6 +41,8 @@ class SimpleResult { contentId: number; @prop({ required: true }) hid: number; + @prop({ required: true }) + isTransfer: boolean; } /** diff --git a/shared/pubUtils/dictionary/DicHeroScroll.ts b/shared/pubUtils/dictionary/DicHeroScroll.ts index bc4702106..335571643 100644 --- a/shared/pubUtils/dictionary/DicHeroScroll.ts +++ b/shared/pubUtils/dictionary/DicHeroScroll.ts @@ -1,6 +1,6 @@ // 武将技能表 import { readFileAndParse } from '../util' -import { FILENAME, ABI_STAGE } from '../../consts' +import { FILENAME, ABI_TYPE } from '../../consts' export interface DicHeroScroll { @@ -39,9 +39,9 @@ export function loadHeroScroll() { function parseCeAttr(elem) { let ceAttr = new Map(); - ceAttr.set(ABI_STAGE.HP, elem.hp); - ceAttr.set(ABI_STAGE.ATK, elem.atk); - ceAttr.set(ABI_STAGE.DEF, elem.def); - ceAttr.set(ABI_STAGE.MDEF, elem.mdef); + ceAttr.set(ABI_TYPE.ABI_HP, elem.hp); + ceAttr.set(ABI_TYPE.ABI_ATK, elem.atk); + ceAttr.set(ABI_TYPE.ABI_DEF, elem.def); + ceAttr.set(ABI_TYPE.ABI_MDEF, elem.mdef); return ceAttr; } \ No newline at end of file diff --git a/shared/pubUtils/logUtil.ts b/shared/pubUtils/logUtil.ts index 61ee35bab..f32b60d9a 100644 --- a/shared/pubUtils/logUtil.ts +++ b/shared/pubUtils/logUtil.ts @@ -8,8 +8,8 @@ import { gameData } from "./data"; function getParamBySession(session: any) { let uid = session.get('userid'); - let roleId = session.get('roleId'); - let roleName = session.get('roleName'); + let roleId = session.get('roleId')||''; + let roleName = session.get('roleName')||''; let ip = session.get('ip'); let serverId = session.get('serverId'); return { uid, roleId, roleName, ip, serverId }; diff --git a/shared/pubUtils/playerCe.ts b/shared/pubUtils/playerCe.ts index 89476df71..c154f524b 100644 --- a/shared/pubUtils/playerCe.ts +++ b/shared/pubUtils/playerCe.ts @@ -960,20 +960,28 @@ async function calSchoolStarIncAttr(role: RoleType, heros: HeroType[], type: num */ function calScrollAddAttr(role: RoleType,heros: HeroType[], hid: number) { let { attr: roleAttrs } = role; + console.log('********** calScrollAddAttr', hid) let curHero = heros.find(cur => cur.hid == hid); let dicHero = gameData.hero.get(hid); if (!curHero || !dicHero) return roleAttrs; let { quality } = dicHero; let { star, quality: curQuality, colorStar } = curHero; + console.log('********** calScrollAddAttr curHero', star, curQuality, colorStar); let heroScroll = getScollByStar(quality, star, curQuality, colorStar); if (!heroScroll) return roleAttrs; + console.log('********** heroScroll', heroScroll); + + let isInit = star == dicHero.initialStars && curQuality == dicHero.quality && colorStar == 0; + let preScroll = isInit? null: gameData.preHeroScroll.get(heroScroll.id); + console.log('********** preScroll', preScroll); + - let preScroll = gameData.preHeroScroll.get(heroScroll.id); heroScroll.ceAttr.forEach((add, attrId) => { let preAdd = preScroll ? preScroll.ceAttr.get(attrId) : 0; let fixUp = (add - preAdd) * HERO_CE_RATIO; + console.log('********** preAdd', attrId, preAdd, fixUp); updateRoleAttr(roleAttrs, attrId, { inc: { fixUp } }); }); return roleAttrs;