diff --git a/assets/script/game/common/config/heroSet.ts b/assets/script/game/common/config/heroSet.ts index f4bccf75..4a861961 100644 --- a/assets/script/game/common/config/heroSet.ts +++ b/assets/script/game/common/config/heroSet.ts @@ -1,4 +1,4 @@ -import { v3 } from "cc" +import { v3 } from "cc" import { BoxSet, FacSet, FightSet } from "./GameSet" import { SkillOverrides, TGroup, SkillSet, FieldSkillSet, SkillConfig, SkillKind, FieldSkillConfig, FieldSkillType, mergeSkillParams } from "./SkillSet" import { BuffList, BuffConfig, ModOp } from "./BuffSet" @@ -137,6 +137,20 @@ export const HRoleName: Record = { [HRole.Support]: "辅助", }; +/** + * 职业基础属性模板(仅英雄使用,怪物无 role 直接手写 hp/ap/def)。 + * 英雄配置处的 hp/ap/def = 本模板值 + 该卡手动增量,模板保证同职业基准一致、增量表达个体差异。 + * Why: 局外升级机制将在加载时(Hero.ts / Mon.ts)统一重算属性,配置表只承担"基准+增量"的静态表达。 + */ +export const HERO_ROLE_BASE: Record = { + [HRole.Tank]: { hp: 300, ap: 20, def: 50 }, // 坦克:高防高血,前排承伤 + [HRole.Warrior]: { hp: 280, ap: 22, def: 30 }, // 战士:均衡 + [HRole.Assassin]: { hp: 280, ap: 22, def: 10 }, // 刺客:低防,近战爆发 + [HRole.Archer]: { hp: 140, ap: 32, def: 10 }, // 射手:低防,远程物理主C + [HRole.Mage]: { hp: 140, ap: 32, def: 10 }, // 法师:低防,远程增益 + [HRole.Support]: { hp: 140, ap: 32, def: 15 }, // 辅助:低防,光环/治疗 +}; + /** * 计算英雄在目标等级下的累计属性成长增量(线性:每级加一份"基础属性×系数")。 * 公式:累计 = 基础属性 × 类型系数 × (lv - 1)。 @@ -290,8 +304,9 @@ export interface heroInfo { grow_type?: HGrowType; // 成长类型(决定每级 hp/ap 标准增量,默认 Warrior) role?: HRole; // 位置类型/职业定位(英雄专用,怪物用 monType 表达) monType?: MonType; // 怪物专属类型 - hp: number; // 生命值上限 - ap: number; // 攻击力 + hp: number; // 生命值上限(英雄 = HERO_ROLE_BASE[role].hp + 手动增量) + ap: number; // 攻击力(英雄 = HERO_ROLE_BASE[role].ap + 手动增量) + def: number; // 防御(英雄 = HERO_ROLE_BASE[role].def + 手动增量;怪物手写,减伤走除法递减模型) [SkillTriggerType.Call]?: TriggerGrouped; // 召唤后触发的技能配置(按 s_uuid 分组,每组按 lv 升序) [SkillTriggerType.Dead]?: TriggerGrouped; // 死亡后触发的技能配置 [SkillTriggerType.FStart]?: TriggerGrouped; // 战斗开始时释放的技能配置 @@ -395,7 +410,7 @@ export const HeroInfo: Record = { // 5001 铁壁战士 — atked 护盾(标杆,原5011) 5001: { - uuid: 5001, name: "铁壁战士", path: "hk1", fac: FacSet.HERO, card_lv: 1, lv: 1, type: HType.Melee, grow_type: HGrowType.Tank, role: HRole.Tank, hp: 300, ap: 22, + uuid: 5001, name: "铁壁战士", path: "hk1", fac: FacSet.HERO, card_lv: 1, lv: 1, type: HType.Melee, grow_type: HGrowType.Tank, role: HRole.Tank, hp: HERO_ROLE_BASE[HRole.Tank].hp, ap: HERO_ROLE_BASE[HRole.Tank].ap + 2, def: HERO_ROLE_BASE[HRole.Tank].def, skills: { 6004: { uuid: 6004, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Slow].cd, ccd: 0 } }, atked: { 6301: [ @@ -408,7 +423,7 @@ export const HeroInfo: Record = { }, // 5002 影袭刺客 — atking 自身攻击 5002: { - uuid: 5002, name: "影袭刺客", path: "hc1", fac: FacSet.HERO, card_lv: 1, lv: 1, type: HType.Mid, grow_type: HGrowType.Assassin, role: HRole.Assassin, hp: 300, ap: 22, + uuid: 5002, name: "影袭刺客", path: "hc1", fac: FacSet.HERO, card_lv: 1, lv: 1, type: HType.Mid, grow_type: HGrowType.Assassin, role: HRole.Assassin, hp: HERO_ROLE_BASE[HRole.Assassin].hp + 20, ap: HERO_ROLE_BASE[HRole.Assassin].ap, def: HERO_ROLE_BASE[HRole.Assassin].def, skills: { 6002: { uuid: 6002, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Fast].cd, ccd: 0 } }, atking: { 6401: [ @@ -421,7 +436,7 @@ export const HeroInfo: Record = { }, // 5003 遗志将军 — dead 全队攻击 5003: { - uuid: 5003, name: "遗志将军", path: "hk2", fac: FacSet.HERO, card_lv: 1, lv: 1, type: HType.Melee, grow_type: HGrowType.Warrior, role: HRole.Warrior, hp: 300, ap: 22, + uuid: 5003, name: "遗志将军", path: "hk2", fac: FacSet.HERO, card_lv: 1, lv: 1, type: HType.Melee, grow_type: HGrowType.Warrior, role: HRole.Warrior, hp: HERO_ROLE_BASE[HRole.Warrior].hp + 20, ap: HERO_ROLE_BASE[HRole.Warrior].ap, def: HERO_ROLE_BASE[HRole.Warrior].def, skills: { 6004: { uuid: 6004, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Slow].cd, ccd: 0 } }, dead: { 6401: [ @@ -434,7 +449,7 @@ export const HeroInfo: Record = { }, // 5004 破晓先知 — fstart 全队攻击 5004: { - uuid: 5004, name: "破晓先知", path: "hm1", fac: FacSet.HERO, card_lv: 1, lv: 1, type: HType.Long, grow_type: HGrowType.Mage, role: HRole.Mage, hp: 143, ap: 32, + uuid: 5004, name: "破晓先知", path: "hm1", fac: FacSet.HERO, card_lv: 1, lv: 1, type: HType.Long, grow_type: HGrowType.Mage, role: HRole.Mage, hp: HERO_ROLE_BASE[HRole.Mage].hp + 3, ap: HERO_ROLE_BASE[HRole.Mage].ap, def: HERO_ROLE_BASE[HRole.Mage].def, skills: { 6014: { uuid: 6014, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Slow].cd, ccd: 0, overrides: { ap: 80, timed_buff_id: 7003 } }, // 大招:火焰喷射,独立 cd,按英雄等级分档成长(5级双发) @@ -458,7 +473,7 @@ export const HeroInfo: Record = { }, // 5005 战歌法师 — field 攻击光环 5005: { - uuid: 5005, name: "战歌法师", path: "hm2", fac: FacSet.HERO, card_lv: 1, lv: 1, type: HType.Long, grow_type: HGrowType.Mage, role: HRole.Support, hp: 143, ap: 32, + uuid: 5005, name: "战歌法师", path: "hm2", fac: FacSet.HERO, card_lv: 1, lv: 1, type: HType.Long, grow_type: HGrowType.Mage, role: HRole.Support, hp: HERO_ROLE_BASE[HRole.Support].hp + 3, ap: HERO_ROLE_BASE[HRole.Support].ap, def: HERO_ROLE_BASE[HRole.Support].def, skills: { 6014: { uuid: 6014, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Slow].cd, ccd: 0, overrides: { ap: 80, timed_buff_id: 7006 } } }, field: [ { lv: 1, uuids: [{ uuid: 7002, value: 0.1 }] }, @@ -472,7 +487,7 @@ export const HeroInfo: Record = { // 5101 不死斗士 — atked 回血(更高数值) 5101: { - uuid: 5101, name: "不死斗士", path: "hk3", fac: FacSet.HERO, card_lv: 2, lv: 1, type: HType.Melee, grow_type: HGrowType.Tank, role: HRole.Tank, hp: 600, ap: 46, + uuid: 5101, name: "不死斗士", path: "hk3", fac: FacSet.HERO, card_lv: 2, lv: 1, type: HType.Melee, grow_type: HGrowType.Tank, role: HRole.Tank, hp: HERO_ROLE_BASE[HRole.Tank].hp + 300, ap: HERO_ROLE_BASE[HRole.Tank].ap + 26, def: HERO_ROLE_BASE[HRole.Tank].def, skills: { 6004: { uuid: 6004, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Slow].cd, ccd: 0 } }, atked: { 6302: [ @@ -485,7 +500,7 @@ export const HeroInfo: Record = { }, // 5102 致命杀手 — atking 暴击(更高数值) 5102: { - uuid: 5102, name: "致命杀手", path: "hc2", fac: FacSet.HERO, card_lv: 2, lv: 1, type: HType.Mid, grow_type: HGrowType.Assassin, role: HRole.Assassin, hp: 600, ap: 46, + uuid: 5102, name: "致命杀手", path: "hc2", fac: FacSet.HERO, card_lv: 2, lv: 1, type: HType.Mid, grow_type: HGrowType.Assassin, role: HRole.Assassin, hp: HERO_ROLE_BASE[HRole.Assassin].hp + 320, ap: HERO_ROLE_BASE[HRole.Assassin].ap + 24, def: HERO_ROLE_BASE[HRole.Assassin].def, skills: { 6002: { uuid: 6002, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Fast].cd, ccd: 0 } }, atking: { 6403: [ @@ -498,7 +513,7 @@ export const HeroInfo: Record = { }, // 5103 殉道勇士 — dead 全队护盾(更高数值) 5103: { - uuid: 5103, name: "殉道勇士", path: "hk4", fac: FacSet.HERO, card_lv: 2, lv: 1, type: HType.Melee, grow_type: HGrowType.Warrior, role: HRole.Warrior, hp: 600, ap: 46, + uuid: 5103, name: "殉道勇士", path: "hk4", fac: FacSet.HERO, card_lv: 2, lv: 1, type: HType.Melee, grow_type: HGrowType.Warrior, role: HRole.Warrior, hp: HERO_ROLE_BASE[HRole.Warrior].hp + 320, ap: HERO_ROLE_BASE[HRole.Warrior].ap + 24, def: HERO_ROLE_BASE[HRole.Warrior].def, skills: { 6004: { uuid: 6004, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Slow].cd, ccd: 0 } }, dead: { 6301: [ @@ -511,7 +526,7 @@ export const HeroInfo: Record = { }, // 5104 圣光祭司 — fstart 全队护盾(更高数值) 5104: { - uuid: 5104, name: "圣光祭司", path: "hm3", fac: FacSet.HERO, card_lv: 2, lv: 1, type: HType.Long, grow_type: HGrowType.Mage, role: HRole.Mage, hp: 287, ap: 64, + uuid: 5104, name: "圣光祭司", path: "hm3", fac: FacSet.HERO, card_lv: 2, lv: 1, type: HType.Long, grow_type: HGrowType.Mage, role: HRole.Mage, hp: HERO_ROLE_BASE[HRole.Mage].hp + 147, ap: HERO_ROLE_BASE[HRole.Mage].ap + 32, def: HERO_ROLE_BASE[HRole.Mage].def, skills: { 6014: { uuid: 6014, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Slow].cd, ccd: 0, overrides: { ap: 80, timed_buff_id: 7003 } } }, fstart: { 6301: [ @@ -524,7 +539,7 @@ export const HeroInfo: Record = { }, // 5105 风怒先知 — field 攻速光环 5105: { - uuid: 5105, name: "风怒先知", path: "hm1", fac: FacSet.HERO, card_lv: 2, lv: 1, type: HType.Long, grow_type: HGrowType.Mage, role: HRole.Support, hp: 287, ap: 64, + uuid: 5105, name: "风怒先知", path: "hm1", fac: FacSet.HERO, card_lv: 2, lv: 1, type: HType.Long, grow_type: HGrowType.Mage, role: HRole.Support, hp: HERO_ROLE_BASE[HRole.Support].hp + 147, ap: HERO_ROLE_BASE[HRole.Support].ap + 32, def: HERO_ROLE_BASE[HRole.Support].def, skills: { 6014: { uuid: 6014, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Slow].cd, ccd: 0, overrides: { ap: 80, timed_buff_id: 7006 } } }, field: [ { lv: 1, uuids: [{ uuid: 7006, value: 0.1 }] }, @@ -535,7 +550,7 @@ export const HeroInfo: Record = { }, // 5106 破甲射手 — atking 自身穿透伤害(计时buff增强) 5106: { - uuid: 5106, name: "破甲射手", path: "ha1", fac: FacSet.HERO, card_lv: 2, lv: 1, type: HType.Mid, grow_type: HGrowType.Assassin, role: HRole.Archer, hp: 287, ap: 64, + uuid: 5106, name: "破甲射手", path: "ha1", fac: FacSet.HERO, card_lv: 2, lv: 1, type: HType.Mid, grow_type: HGrowType.Assassin, role: HRole.Archer, hp: HERO_ROLE_BASE[HRole.Archer].hp + 147, ap: HERO_ROLE_BASE[HRole.Archer].ap + 32, def: HERO_ROLE_BASE[HRole.Archer].def, skills: { 6006: { uuid: 6006, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Normal].cd, ccd: 0 } }, atking: { 6512: [ @@ -551,7 +566,7 @@ export const HeroInfo: Record = { // 5201 怒血勇士 — atked 全队攻击(范围扩大) 5201: { - uuid: 5201, name: "怒血勇士", path: "hk5", fac: FacSet.HERO, card_lv: 3, lv: 1, type: HType.Melee, grow_type: HGrowType.Tank, role: HRole.Tank, hp: 900, ap: 68, + uuid: 5201, name: "怒血勇士", path: "hk5", fac: FacSet.HERO, card_lv: 3, lv: 1, type: HType.Melee, grow_type: HGrowType.Tank, role: HRole.Tank, hp: HERO_ROLE_BASE[HRole.Tank].hp + 600, ap: HERO_ROLE_BASE[HRole.Tank].ap + 48, def: HERO_ROLE_BASE[HRole.Tank].def, skills: { 6004: { uuid: 6004, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Slow].cd, ccd: 0 } }, atked: { 6401: [ @@ -564,7 +579,7 @@ export const HeroInfo: Record = { }, // 5202 援护射手 — atking 队友攻击(范围扩大) 5202: { - uuid: 5202, name: "援护射手", path: "ha1", fac: FacSet.HERO, card_lv: 3, lv: 1, type: HType.Mid, grow_type: HGrowType.Assassin, role: HRole.Archer, hp: 430, ap: 96, + uuid: 5202, name: "援护射手", path: "ha1", fac: FacSet.HERO, card_lv: 3, lv: 1, type: HType.Mid, grow_type: HGrowType.Assassin, role: HRole.Archer, hp: HERO_ROLE_BASE[HRole.Archer].hp + 290, ap: HERO_ROLE_BASE[HRole.Archer].ap + 64, def: HERO_ROLE_BASE[HRole.Archer].def, skills: { 6006: { uuid: 6006, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Normal].cd, ccd: 0 } }, atking: { 6401: [ @@ -577,7 +592,7 @@ export const HeroInfo: Record = { }, // 5203 传承卫士 — dead 全队生命(范围扩大) 5203: { - uuid: 5203, name: "传承卫士", path: "hk1", fac: FacSet.HERO, card_lv: 3, lv: 1, type: HType.Melee, grow_type: HGrowType.Warrior, role: HRole.Warrior, hp: 900, ap: 68, + uuid: 5203, name: "传承卫士", path: "hk1", fac: FacSet.HERO, card_lv: 3, lv: 1, type: HType.Melee, grow_type: HGrowType.Warrior, role: HRole.Warrior, hp: HERO_ROLE_BASE[HRole.Warrior].hp + 620, ap: HERO_ROLE_BASE[HRole.Warrior].ap + 46, def: HERO_ROLE_BASE[HRole.Warrior].def, skills: { 6004: { uuid: 6004, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Slow].cd, ccd: 0 } }, dead: { 6402: [ @@ -590,7 +605,7 @@ export const HeroInfo: Record = { }, // 5204 晨光贤者 — fstart 全队暴击(范围扩大) 5204: { - uuid: 5204, name: "晨光贤者", path: "hm2", fac: FacSet.HERO, card_lv: 3, lv: 1, type: HType.Long, grow_type: HGrowType.Mage, role: HRole.Mage, hp: 430, ap: 96, + uuid: 5204, name: "晨光贤者", path: "hm2", fac: FacSet.HERO, card_lv: 3, lv: 1, type: HType.Long, grow_type: HGrowType.Mage, role: HRole.Mage, hp: HERO_ROLE_BASE[HRole.Mage].hp + 290, ap: HERO_ROLE_BASE[HRole.Mage].ap + 64, def: HERO_ROLE_BASE[HRole.Mage].def, skills: { 6014: { uuid: 6014, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Slow].cd, ccd: 0, overrides: { ap: 80, timed_buff_id: 7002 } } }, fstart: { 6403: [ @@ -603,7 +618,7 @@ export const HeroInfo: Record = { }, // 5205 精准术士 — field 暴击光环(范围扩大) 5205: { - uuid: 5205, name: "精准术士", path: "hm3", fac: FacSet.HERO, card_lv: 3, lv: 1, type: HType.Long, grow_type: HGrowType.Mage, role: HRole.Support, hp: 430, ap: 96, + uuid: 5205, name: "精准术士", path: "hm3", fac: FacSet.HERO, card_lv: 3, lv: 1, type: HType.Long, grow_type: HGrowType.Mage, role: HRole.Support, hp: HERO_ROLE_BASE[HRole.Support].hp + 290, ap: HERO_ROLE_BASE[HRole.Support].ap + 64, def: HERO_ROLE_BASE[HRole.Support].def, skills: { 6014: { uuid: 6014, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Slow].cd, ccd: 0, overrides: { ap: 80, timed_buff_id: 7006 } } }, field: [ { lv: 1, uuids: [{ uuid: 7004, value: 0.1 }] }, @@ -617,7 +632,7 @@ export const HeroInfo: Record = { // 5301 复仇守护者 — atked 全队暴击(范围+数值) 5301: { - uuid: 5301, name: "复仇守护者", path: "hk2", fac: FacSet.HERO, card_lv: 4, lv: 1, type: HType.Melee, grow_type: HGrowType.Tank, role: HRole.Tank, hp: 1200, ap: 90, + uuid: 5301, name: "复仇守护者", path: "hk2", fac: FacSet.HERO, card_lv: 4, lv: 1, type: HType.Melee, grow_type: HGrowType.Tank, role: HRole.Tank, hp: HERO_ROLE_BASE[HRole.Tank].hp + 900, ap: HERO_ROLE_BASE[HRole.Tank].ap + 70, def: HERO_ROLE_BASE[HRole.Tank].def, skills: { 6004: { uuid: 6004, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Slow].cd, ccd: 0 } }, atked: { 6403: [ @@ -630,7 +645,7 @@ export const HeroInfo: Record = { }, // 5302 破灭游侠 — atking 队友暴伤(范围+数值) 5302: { - uuid: 5302, name: "破灭游侠", path: "ha2", fac: FacSet.HERO, card_lv: 4, lv: 1, type: HType.Mid, grow_type: HGrowType.Assassin, role: HRole.Archer, hp: 573, ap: 128, + uuid: 5302, name: "破灭游侠", path: "ha2", fac: FacSet.HERO, card_lv: 4, lv: 1, type: HType.Mid, grow_type: HGrowType.Assassin, role: HRole.Archer, hp: HERO_ROLE_BASE[HRole.Archer].hp + 433, ap: HERO_ROLE_BASE[HRole.Archer].ap + 96, def: HERO_ROLE_BASE[HRole.Archer].def, skills: { 6006: { uuid: 6006, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Normal].cd, ccd: 0 } }, atking: { 6404: [ @@ -643,7 +658,7 @@ export const HeroInfo: Record = { }, // 5303 亡语刺客 — dead 全队暴击+暴伤(双效果) 5303: { - uuid: 5303, name: "亡语刺客", path: "hc3", fac: FacSet.HERO, card_lv: 4, lv: 1, type: HType.Mid, grow_type: HGrowType.Assassin, role: HRole.Assassin, hp: 1200, ap: 90, + uuid: 5303, name: "亡语刺客", path: "hc3", fac: FacSet.HERO, card_lv: 4, lv: 1, type: HType.Mid, grow_type: HGrowType.Assassin, role: HRole.Assassin, hp: HERO_ROLE_BASE[HRole.Assassin].hp + 920, ap: HERO_ROLE_BASE[HRole.Assassin].ap + 68, def: HERO_ROLE_BASE[HRole.Assassin].def, skills: { 6002: { uuid: 6002, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Fast].cd, ccd: 0 } }, dead: { 6403: [ @@ -661,7 +676,7 @@ export const HeroInfo: Record = { }, // 5304 战吼术士 — fstart 全队攻击+生命(双效果) 5304: { - uuid: 5304, name: "战吼术士", path: "hm1", fac: FacSet.HERO, card_lv: 4, lv: 1, type: HType.Long, grow_type: HGrowType.Mage, role: HRole.Mage, hp: 573, ap: 128, + uuid: 5304, name: "战吼术士", path: "hm1", fac: FacSet.HERO, card_lv: 4, lv: 1, type: HType.Long, grow_type: HGrowType.Mage, role: HRole.Mage, hp: HERO_ROLE_BASE[HRole.Mage].hp + 433, ap: HERO_ROLE_BASE[HRole.Mage].ap + 96, def: HERO_ROLE_BASE[HRole.Mage].def, skills: { 6014: { uuid: 6014, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Slow].cd, ccd: 0, overrides: { ap: 80, timed_buff_id: 7005 } } }, fstart: { 6401: [ @@ -679,7 +694,7 @@ export const HeroInfo: Record = { }, // 5305 领域贤者 — field 暴伤+攻速光环(双效果) 5305: { - uuid: 5305, name: "领域贤者", path: "hm2", fac: FacSet.HERO, card_lv: 4, lv: 1, type: HType.Long, grow_type: HGrowType.Mage, role: HRole.Support, hp: 573, ap: 128, + uuid: 5305, name: "领域贤者", path: "hm2", fac: FacSet.HERO, card_lv: 4, lv: 1, type: HType.Long, grow_type: HGrowType.Mage, role: HRole.Support, hp: HERO_ROLE_BASE[HRole.Support].hp + 433, ap: HERO_ROLE_BASE[HRole.Support].ap + 96, def: HERO_ROLE_BASE[HRole.Support].def, skills: { 6014: { uuid: 6014, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Slow].cd, ccd: 0, overrides: { ap: 80, timed_buff_id: 7006 } } }, field: [ { lv: 1, uuids: [{ uuid: 7005, value: 0.2 }, { uuid: 7006, value: 0.1 }] }, @@ -693,7 +708,7 @@ export const HeroInfo: Record = { // 5401 不灭战魂 — atked 攻击 + revive(双技能) 5401: { - uuid: 5401, name: "不灭战魂", path: "hk3", fac: FacSet.HERO, card_lv: 5, lv: 1, type: HType.Melee, grow_type: HGrowType.Tank, role: HRole.Tank, hp: 1500, ap: 114, + uuid: 5401, name: "不灭战魂", path: "hk3", fac: FacSet.HERO, card_lv: 5, lv: 1, type: HType.Melee, grow_type: HGrowType.Tank, role: HRole.Tank, hp: HERO_ROLE_BASE[HRole.Tank].hp + 1200, ap: HERO_ROLE_BASE[HRole.Tank].ap + 94, def: HERO_ROLE_BASE[HRole.Tank].def, skills: { 6004: { uuid: 6004, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Slow].cd, ccd: 0 } }, atked: { 6401: [ @@ -711,7 +726,7 @@ export const HeroInfo: Record = { }, // 5402 战歌游侠 — atking 攻击 + field 攻速光环(双技能) 5402: { - uuid: 5402, name: "战歌游侠", path: "ha3", fac: FacSet.HERO, card_lv: 5, lv: 1, type: HType.Mid, grow_type: HGrowType.Assassin, role: HRole.Archer, hp: 717, ap: 160, + uuid: 5402, name: "战歌游侠", path: "ha3", fac: FacSet.HERO, card_lv: 5, lv: 1, type: HType.Mid, grow_type: HGrowType.Assassin, role: HRole.Archer, hp: HERO_ROLE_BASE[HRole.Archer].hp + 577, ap: HERO_ROLE_BASE[HRole.Archer].ap + 128, def: HERO_ROLE_BASE[HRole.Archer].def, skills: { 6006: { uuid: 6006, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Fast].cd, ccd: 0 } }, atking: { 6401: [ @@ -729,7 +744,7 @@ export const HeroInfo: Record = { }, // 5403 凤凰祭司 — dead 攻击+护盾 + revive(双技能) 5403: { - uuid: 5403, name: "凤凰祭司", path: "hk4", fac: FacSet.HERO, card_lv: 5, lv: 1, type: HType.Melee, grow_type: HGrowType.Warrior, role: HRole.Warrior, hp: 1500, ap: 114, + uuid: 5403, name: "凤凰祭司", path: "hk4", fac: FacSet.HERO, card_lv: 5, lv: 1, type: HType.Melee, grow_type: HGrowType.Warrior, role: HRole.Warrior, hp: HERO_ROLE_BASE[HRole.Warrior].hp + 1220, ap: HERO_ROLE_BASE[HRole.Warrior].ap + 92, def: HERO_ROLE_BASE[HRole.Warrior].def, skills: { 6004: { uuid: 6004, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Slow].cd, ccd: 0 } }, dead: { 6401: [ @@ -752,7 +767,7 @@ export const HeroInfo: Record = { }, // 5404 涅槃贤者 — fstart 护盾+攻击 + revive(双技能) 5404: { - uuid: 5404, name: "涅槃贤者", path: "hm3", fac: FacSet.HERO, card_lv: 5, lv: 1, type: HType.Long, grow_type: HGrowType.Mage, role: HRole.Mage, hp: 717, ap: 160, + uuid: 5404, name: "涅槃贤者", path: "hm3", fac: FacSet.HERO, card_lv: 5, lv: 1, type: HType.Long, grow_type: HGrowType.Mage, role: HRole.Mage, hp: HERO_ROLE_BASE[HRole.Mage].hp + 577, ap: HERO_ROLE_BASE[HRole.Mage].ap + 128, def: HERO_ROLE_BASE[HRole.Mage].def, skills: { 6014: { uuid: 6014, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Slow].cd, ccd: 0, overrides: { ap: 80, timed_buff_id: 7004 } } }, fstart: { 6301: [ @@ -775,7 +790,7 @@ export const HeroInfo: Record = { }, // 5405 圣言诗人 — atking 治疗 + field 生命光环(双技能) 5405: { - uuid: 5405, name: "圣言诗人", path: "hh1", fac: FacSet.HERO, card_lv: 5, lv: 1, type: HType.Long, grow_type: HGrowType.Support, role: HRole.Support, hp: 717, ap: 160, + uuid: 5405, name: "圣言诗人", path: "hh1", fac: FacSet.HERO, card_lv: 5, lv: 1, type: HType.Long, grow_type: HGrowType.Support, role: HRole.Support, hp: HERO_ROLE_BASE[HRole.Support].hp + 577, ap: HERO_ROLE_BASE[HRole.Support].ap + 128, def: HERO_ROLE_BASE[HRole.Support].def, skills: { 6011: { uuid: 6011, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Normal].cd, ccd: 0 } }, atking: { 6302: [ @@ -805,64 +820,64 @@ export const HeroInfo: Record = { // 基础怪物 (全部固定点位站桩攻击,HType仅决定是前排还是后排) // 前排怪物 — 近战镜像 1 级英雄基准(hp300/ap22/cd1.20),变体微分定位 6001: { - uuid: 6001, name: "兽人战士", path: "m1", fac: FacSet.MON, lv: 1, type: HType.Melee, monType: MonType.Melee, hp: 300, ap: 22, speed: 70, + uuid: 6001, name: "兽人战士", path: "m1", fac: FacSet.MON, lv: 1, type: HType.Melee, monType: MonType.Melee, hp: 300, ap: 22, def: 20, speed: 70, skills: { 6004: { uuid: 6004, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Slow].cd, ccd: 0 } }, info: "基础前排怪, 与1级近战英雄持平" }, 6002: { - uuid: 6002, name: "兽人精锐战士", path: "m2", fac: FacSet.MON, lv: 1, type: HType.Melee, monType: MonType.Melee, hp: 340, ap: 26, speed: 110, + uuid: 6002, name: "兽人精锐战士", path: "m2", fac: FacSet.MON, lv: 1, type: HType.Melee, monType: MonType.Melee, hp: 340, ap: 26, def: 25, speed: 110, skills: { 6004: { uuid: 6004, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Slow].cd, ccd: 0 } }, info: "进阶前排怪, 更快更痛" }, 6003: { - uuid: 6003, name: "兽人重装兵", path: "m3", fac: FacSet.MON, lv: 1, type: HType.Melee, monType: MonType.Heavy, hp: 800, ap: 14, speed: 50, + uuid: 6003, name: "兽人重装兵", path: "m3", fac: FacSet.MON, lv: 1, type: HType.Melee, monType: MonType.Heavy, hp: 800, ap: 14, def: 60, speed: 50, skills: { 6004: { uuid: 6004, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.VerySlow].cd, ccd: 0 } }, info: "重型坦克怪, 高HP低攻承伤位" }, // 后排怪物 — 远程镜像 1 级法师基准(hp160/ap28/cd1.20),变体微分定位 6004: { - uuid: 6004, name: "兽人射手", path: "m4", fac: FacSet.MON, lv: 1, type: HType.Long, monType: MonType.Long, hp: 160, ap: 28, speed: 70, + uuid: 6004, name: "兽人射手", path: "m4", fac: FacSet.MON, lv: 1, type: HType.Long, monType: MonType.Long, hp: 160, ap: 28, def: 8, speed: 70, skills: { 6006: { uuid: 6006, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Slow].cd, ccd: 0 } }, info: "后排输出怪, 与1级远程英雄持平" }, 6005: { - uuid: 6005, name: "兽人刺客", path: "m5", fac: FacSet.MON, lv: 1, type: HType.Long, monType: MonType.Assassin, hp: 130, ap: 26, speed: 130, + uuid: 6005, name: "兽人刺客", path: "m5", fac: FacSet.MON, lv: 1, type: HType.Long, monType: MonType.Assassin, hp: 130, ap: 26, def: 5, speed: 130, skills: { 6102: { uuid: 6102, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Normal].cd, ccd: 0 } }, info: "高攻速低HP刺客" }, // 特殊位怪物 6006: { - uuid: 6006, name: "骷髅领主", path: "m6", fac: FacSet.MON, lv: 1, type: HType.Melee, monType: MonType.MeleeBoss, hp: 900, ap: 20, speed: 60, + uuid: 6006, name: "骷髅领主", path: "m6", fac: FacSet.MON, lv: 1, type: HType.Melee, monType: MonType.MeleeBoss, hp: 900, ap: 20, def: 40, speed: 60, skills: { 6004: { uuid: 6004, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.VerySlow].cd, ccd: 0 } }, info: "前排MiniBoss级坦克" }, 6007: { - uuid: 6007, name: "兽人术士", path: "m7", fac: FacSet.MON, lv: 1, type: HType.Long, monType: MonType.Support, hp: 240, ap: 18, speed: 70, + uuid: 6007, name: "兽人术士", path: "m7", fac: FacSet.MON, lv: 1, type: HType.Long, monType: MonType.Support, hp: 240, ap: 18, def: 10, speed: 70, skills: { 6102: { uuid: 6102, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Slow].cd, ccd: 0 } }, info: "后排辅助法师怪" }, 6008: { - uuid: 6008, name: "兽人火法", path: "m8", fac: FacSet.MON, lv: 1, type: HType.Long, monType: MonType.Summoner, hp: 220, ap: 24, speed: 70, + uuid: 6008, name: "兽人火法", path: "m8", fac: FacSet.MON, lv: 1, type: HType.Long, monType: MonType.Summoner, hp: 220, ap: 24, def: 10, speed: 70, skills: { 6014: { uuid: 6014, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Slow].cd, ccd: 0 } }, info: "后排召唤系法师怪" }, // BOSS怪物 — 本表 hp/ap 仅作外观/技能档位参考,运行时面板由 RogueConfig 的 // BOSS_BASE_HP / BOSS_BASE_AP(初始英雄 2 倍强度)统一决定,不读取本表数值 6101: { - uuid: 6101, name: "兽人首领-双刀战士", path: "mb1", fac: FacSet.MON, lv: 6, type: HType.Melee, monType: MonType.MeleeBoss, hp: 1200, ap: 24, speed: 120, + uuid: 6101, name: "兽人首领-双刀战士", path: "mb1", fac: FacSet.MON, lv: 6, type: HType.Melee, monType: MonType.MeleeBoss, hp: 1200, ap: 24, def: 45, speed: 120, skills: { 6004: { uuid: 6004, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Slow].cd, ccd: 0 } }, info: "前排Boss, 攻速型" }, 6102: { - uuid: 6102, name: "兽人首领-斧头战士", path: "mb2", fac: FacSet.MON, lv: 6, type: HType.Melee, monType: MonType.MeleeBoss, hp: 1500, ap: 18, speed: 60, + uuid: 6102, name: "兽人首领-斧头战士", path: "mb2", fac: FacSet.MON, lv: 6, type: HType.Melee, monType: MonType.MeleeBoss, hp: 1500, ap: 18, def: 55, speed: 60, skills: { 6004: { uuid: 6004, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.VerySlow].cd, ccd: 0 } }, info: "前排Boss, 超高HP" }, 6103: { - uuid: 6103, name: "兽人首领-魔法师", path: "mb3", fac: FacSet.MON, lv: 6, type: HType.Long, monType: MonType.LongBoss, hp: 1000, ap: 28, speed: 110, + uuid: 6103, name: "兽人首领-魔法师", path: "mb3", fac: FacSet.MON, lv: 6, type: HType.Long, monType: MonType.LongBoss, hp: 1000, ap: 28, def: 25, speed: 110, skills: { 6102: { uuid: 6102, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Slow].cd, ccd: 0 } }, info: "后排法系Boss" }, 6104: { - uuid: 6104, name: "兽人首领-射手", path: "mb4", fac: FacSet.MON, lv: 6, type: HType.Long, monType: MonType.LongBoss, hp: 1100, ap: 24, speed: 70, + uuid: 6104, name: "兽人首领-射手", path: "mb4", fac: FacSet.MON, lv: 6, type: HType.Long, monType: MonType.LongBoss, hp: 1100, ap: 24, def: 25, speed: 70, skills: { 6004: { uuid: 6004, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Slow].cd, ccd: 0 } }, info: "后排位Boss, 均衡型" }, 6105: { - uuid: 6105, name: "亡灵首领-法师", path: "mb5", fac: FacSet.MON, lv: 6, type: HType.Long, monType: MonType.LongBoss, hp: 1000, ap: 30, speed: 110, + uuid: 6105, name: "亡灵首领-法师", path: "mb5", fac: FacSet.MON, lv: 6, type: HType.Long, monType: MonType.LongBoss, hp: 1000, ap: 30, def: 20, speed: 110, skills: { 6014: { uuid: 6014, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Slow].cd, ccd: 0, overrides: { ap: 80, timed_buff_id: 7002 } } }, info: "后排高AP Boss" }, 6106: { - uuid: 6106, name: "亡灵首领-骑马战士", path: "mb6", fac: FacSet.MON, lv: 6, type: HType.Melee, monType: MonType.MeleeBoss, hp: 1800, ap: 20, speed: 130, + uuid: 6106, name: "亡灵首领-骑马战士", path: "mb6", fac: FacSet.MON, lv: 6, type: HType.Melee, monType: MonType.MeleeBoss, hp: 1800, ap: 20, def: 60, speed: 130, skills: { 6004: { uuid: 6004, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.VerySlow].cd, ccd: 0 } }, info: "前排终极Boss, 最高HP+高速" }, diff --git a/assets/script/game/hero/Hero.ts b/assets/script/game/hero/Hero.ts index 6f10c6c1..74c44b10 100644 --- a/assets/script/game/hero/Hero.ts +++ b/assets/script/game/hero/Hero.ts @@ -141,11 +141,13 @@ export class Hero extends ecs.Entity { model.hp_bonus = hero.hp_bonus; // 基础属性:固定基础值,成长完全由 grow_type 指数递增提供(替代旧 ×2^(lv-1) 翻倍) + // TODO: 局外升级机制落地后,此处基础值将与存档强化累加重算 let base_ap = hero.ap; let base_hp = hero.hp; model.base_ap = base_ap; model.base_hp = base_hp; + model.defense = hero.def; // 英雄享受驻场百分比加成,怪物保持基础值 if (model.fac === FacSet.HERO) { diff --git a/assets/script/game/hero/Mon.ts b/assets/script/game/hero/Mon.ts index f360917f..8eef87be 100644 --- a/assets/script/game/hero/Mon.ts +++ b/assets/script/game/hero/Mon.ts @@ -172,6 +172,8 @@ export class Monster extends ecs.Entity { model.hero_name = hero.name; model.hp = model.hp_max = hero.hp; model.ap = hero.ap; + // TODO: 局外升级机制落地后,此处基础值将与存档强化累加重算 + model.defense = hero.def; model.speed = hero.speed ?? 800; model.type = hero.type; model.fac = FacSet.MON;