diff --git a/assets/script/game/common/SingletonModuleComp.ts b/assets/script/game/common/SingletonModuleComp.ts index e77c3dab..6f4aeb81 100644 --- a/assets/script/game/common/SingletonModuleComp.ts +++ b/assets/script/game/common/SingletonModuleComp.ts @@ -138,38 +138,7 @@ export class SingletonModuleComp extends ecs.Comp { gold: 200, // 金币数据(MVVM绑定字段) }; - /** - * 更新英雄经验 - * @param exp 获得的经验值 - */ - updateHeroExp(exp: number) { - if (!this.vmdata.hero) return; - - this.vmdata.hero.exp += exp*20; - // console.log('[smc] 英雄升级 经验:' + this.vmdata.hero.exp + ' 等级:' + this.vmdata.hero.lv + ' 上限:' + this.vmdata.hero.exp_max); - // 确保 exp_max 初始化 - if (this.vmdata.hero.exp_max <= 0) { - this.vmdata.hero.exp_max = getLevelExp(this.vmdata.hero.lv || 1); - } - while (this.vmdata.hero.exp >= this.vmdata.hero.exp_max) { - this.vmdata.hero.exp -= this.vmdata.hero.exp_max; - this.vmdata.hero.lv++; - - // 更新下一级所需经验 - this.vmdata.hero.exp_max = getLevelExp(this.vmdata.hero.lv); - - // 触发升级事件 - oops.message.dispatchEvent(GameEvent.CanUpdateLv, { lv: this.vmdata.hero.lv }); - } - - // 更新进度条显示 (0-1) - if (this.vmdata.hero.exp_max > 0) { - this.vmdata.hero.exp_pre = Math.floor(this.vmdata.hero.exp / this.vmdata.hero.exp_max * 100); - } else { - this.vmdata.hero.exp_pre = 0; - } - } /** * 记录天赋获取 diff --git a/assets/script/game/map/MissionComp.ts b/assets/script/game/map/MissionComp.ts index fcc961fa..7a896ee1 100644 --- a/assets/script/game/map/MissionComp.ts +++ b/assets/script/game/map/MissionComp.ts @@ -4,7 +4,7 @@ import { CCComp } from "../../../../extensions/oops-plugin-framework/assets/modu import { smc } from "../common/SingletonModuleComp"; import { oops } from "../../../../extensions/oops-plugin-framework/assets/core/Oops"; import { HeroAttrsComp } from "../hero/HeroAttrsComp"; -import { getLevelExp, getMonsterExp, MonsterCost, MonType } from "./RogueConfig"; +import { MonsterCost, MonType } from "./RogueConfig"; import { GameEvent } from "../common/config/GameEvent"; import { HeroViewComp } from "../hero/HeroViewComp"; import { UIID } from "../common/config/GameUIConfig"; @@ -122,10 +122,7 @@ export class MissionComp extends CCComp { type = MonType.ELITE; } } - - // 获取怪物经验 - const exp = getMonsterExp(data.uuid, level, type); - smc.updateHeroExp(exp); + } } diff --git a/assets/script/game/map/RogueConfig.ts b/assets/script/game/map/RogueConfig.ts index 5099de9b..9fce38e6 100644 --- a/assets/script/game/map/RogueConfig.ts +++ b/assets/script/game/map/RogueConfig.ts @@ -347,27 +347,6 @@ export function getLevelExp(level: number): number { return Math.floor(baseExp * Math.pow(growthFactor, level - 1)); } -/** - * 获取怪物掉落经验 - * @param monsterUuid 怪物ID - * @param monsterLevel 怪物等级 - * @param monsterType 怪物类型 - */ -export function getMonsterExp(monsterUuid: number, monsterLevel: number, monsterType: MonType): number { - // 基础掉落经验 (可以从 MonsterCost 推导,或者单独配置) - const baseDrop = MonsterCost[monsterUuid] ? MonsterCost[monsterUuid] * 5 : 5; - - // 类型加成 - let typeMultiplier = 1.0; - if (monsterType === MonType.ELITE) typeMultiplier = 3.0; - if (monsterType === MonType.BOSS) typeMultiplier = 10.0; - - // 等级加成 (每级增加10%) - const levelMultiplier = 1 + (monsterLevel - 1) * 0.1; - - return Math.floor(baseDrop * typeMultiplier * levelMultiplier); -} - // 怪物消耗点数配置 export const MonsterCost: Record = { 5201: 1, // 兽人战士 (Warrior)