From 8d9c9a6348780cf50bb696c26f1635768cf30478 Mon Sep 17 00:00:00 2001 From: walkpan Date: Sat, 4 Apr 2026 13:29:14 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E8=B0=83=E6=95=B4=E8=8B=B1=E9=9B=84?= =?UTF-8?q?=E5=90=88=E6=88=90=E4=B8=8E=E5=B1=9E=E6=80=A7=E6=88=90=E9=95=BF?= =?UTF-8?q?=E8=A7=84=E5=88=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 将英雄最大等级提升至3级,升级所需英雄数设为3 - 英雄属性改为指数成长(3倍/级),替换原线性成长 - 调整近战英雄攻击距离从260减少至200 - 重置初始二级英雄概率为0,并提高每级概率增量至0.02 - 将合成相关配置集中至GameSet枚举,提高可维护性 --- assets/script/game/common/config/CardSet.ts | 4 ++-- assets/script/game/common/config/GameSet.ts | 3 +++ assets/script/game/common/config/heroSet.ts | 2 +- assets/script/game/hero/Hero.ts | 5 +++-- assets/script/game/map/MissionHeroComp.ts | 6 +++--- 5 files changed, 12 insertions(+), 8 deletions(-) diff --git a/assets/script/game/common/config/CardSet.ts b/assets/script/game/common/config/CardSet.ts index 47696e66..559c2e2f 100644 --- a/assets/script/game/common/config/CardSet.ts +++ b/assets/script/game/common/config/CardSet.ts @@ -55,8 +55,8 @@ export const CARD_POOL_MAX_LEVEL = CardLV.LV5 /** 英雄最高等级限制 */ export const CARD_HERO_MAX_LEVEL = 3 /** 基础卡池(英雄、技能、功能) */ -export const HERO_LV2_INIT_PROB = 0.05 -export const HERO_LV2_PROB_INC_PER_LV = 0.01 +export const HERO_LV2_INIT_PROB = 0 +export const HERO_LV2_PROB_INC_PER_LV = 0.02 export const CardPoolList: CardConfig[] = [ { uuid: 5001, type: CardType.Hero, cost: 3, weight: 25, pool_lv: 1, kind: CKind.Hero, hero_lv: 1 }, diff --git a/assets/script/game/common/config/GameSet.ts b/assets/script/game/common/config/GameSet.ts index 33c7231b..c6dbae23 100644 --- a/assets/script/game/common/config/GameSet.ts +++ b/assets/script/game/common/config/GameSet.ts @@ -24,6 +24,8 @@ export enum FightSet { MORE_RC=10,//更多次数 广告获取的次数 HEARTPOS=-320,//基地位置 HERO_MAX_NUM=3,//英雄最大数量 + MERGE_MAX=2, //英雄最大等级 + MERGE_NEED=3, //英雄升级需要的英雄数 LVUP_GOLD=50,//升级需要的金币 LVUP_GOLD_UP=50,//升级需要的金币 CHOU_GOLD=100,//抽卡需要的金币 @@ -32,6 +34,7 @@ export enum FightSet { BACK_CHANCE=40,//击退概率 FROST_TIME=3,//冰冻时间 SKILL_CAST_DELAY=0.15 + } export enum IndexSet { diff --git a/assets/script/game/common/config/heroSet.ts b/assets/script/game/common/config/heroSet.ts index d126724a..8ffe9f24 100644 --- a/assets/script/game/common/config/heroSet.ts +++ b/assets/script/game/common/config/heroSet.ts @@ -26,7 +26,7 @@ export const FormationPointX = { } as const; export const HeroDisVal: Record = { - [HType.Melee]: 260, + [HType.Melee]: 200, [HType.Mid]: 400, [HType.Long]: 660, } diff --git a/assets/script/game/hero/Hero.ts b/assets/script/game/hero/Hero.ts index 6ac80bad..5daaf664 100644 --- a/assets/script/game/hero/Hero.ts +++ b/assets/script/game/hero/Hero.ts @@ -105,8 +105,9 @@ export class Hero extends ecs.Entity { model.fac = FacSet.HERO; // 基础属性按等级倍率初始化 - model.ap = hero.ap*model.lv; - model.hp= model.hp_max = hero.hp*model.lv; + // 使用指数增长公式,等级2时为原来的3倍,等级3时为原来的9倍 (若需线性增长可改为 hero.ap * (1 + (model.lv - 1) * (FightSet.H_HERO_POW - 1))) + model.ap = hero.ap * Math.pow(FightSet.MERGE_NEED, model.lv - 1); + model.hp = model.hp_max = hero.hp * Math.pow(FightSet.MERGE_NEED, model.lv - 1); model.speed = hero.speed; // 构建技能表并注入运行时冷却字段 ccd diff --git a/assets/script/game/map/MissionHeroComp.ts b/assets/script/game/map/MissionHeroComp.ts index dcfe167a..30392c63 100644 --- a/assets/script/game/map/MissionHeroComp.ts +++ b/assets/script/game/map/MissionHeroComp.ts @@ -8,7 +8,7 @@ import { GameEvent } from "../common/config/GameEvent"; import { HeroInfo, HeroPos, HType } from "../common/config/heroSet"; import { oops } from "../../../../extensions/oops-plugin-framework/assets/core/Oops"; import { HeroAttrsComp } from "../hero/HeroAttrsComp"; -import { FacSet } from "../common/config/GameSet"; +import { FacSet, FightSet } from "../common/config/GameSet"; import { oneCom } from "../skill/oncend"; const { ccclass } = _decorator; @@ -31,9 +31,9 @@ export class MissionHeroCompComp extends CCComp { /** 当前英雄数量缓存 */ current_hero_num:number=-1 /** 合成规则:2 合 1 或 3 合 1 */ - merge_need_count:number=3 + merge_need_count:number=FightSet.MERGE_NEED /** 允许合成的最高等级 */ - merge_max_lv:number=2 + merge_max_lv:number=FightSet.MERGE_MAX /** 是否正在执行一次合成流程 */ is_merging:boolean=false /** 是否正在消费召唤队列,防止并发处理 */