refactor: 将代码中的card_lv统一替换为rarity

本次提交完成了全项目范围内术语的统一替换,将原本指代卡牌品质/等级的card_lv字段全部重命名为rarity,对齐了设计文档中的命名规范,避免了术语混淆:
1.  更新了所有配置文件、组件类、数据结构中的字段定义
2.  同步修改了注释、文档说明中的相关表述
3.  修正了英雄、技能、装备卡牌的品质显示逻辑
4.  调整了背景颜色切换、属性计算等相关业务逻辑
This commit is contained in:
pan
2026-09-02 16:42:54 +08:00
parent 6620b67103
commit d9bccd7c93
36 changed files with 312 additions and 312 deletions

View File

@@ -74,7 +74,7 @@ export class Hero extends ecs.Entity {
* 2) 初始化表现与属性数据
* 3) 播放下落入场并在落地后启用碰撞与移动
*/
load(pos: Vec3 = Vec3.ZERO, scale: number = 1, uuid: number = 1001, dropToY: number = pos.y, hero_lv: number = 1, card_lv: number = 1, posIndex: number = -1) {
load(pos: Vec3 = Vec3.ZERO, scale: number = 1, uuid: number = 1001, dropToY: number = pos.y, hero_lv: number = 1, rarity: number = 1, posIndex: number = -1) {
// 英雄始终朝右,表现缩放固定为正向
scale = 1
// 英雄等级上限以配置为准,合成可升到 HERO_MAX_LV
@@ -117,8 +117,8 @@ export class Hero extends ecs.Entity {
model.hero_uuid = uuid;
model.hero_name = hero.name;
model.lv = hero_lv;
model.card_lv = card_lv;
model.base_card_lv = hero.card_lv ?? 1;
model.rarity = rarity;
model.base_rarity = hero.rarity ?? 1;
model.type = hero.type;
model.grow_type = hero.grow_type;
model.role = hero.role;
@@ -144,7 +144,7 @@ export class Hero extends ecs.Entity {
// 基础属性:固定基础值 × 品质系数(相邻品质差 5%),成长由 grow_type 线性递增提供
// TODO: 局外升级机制落地后,此处基础值将与存档强化累加重算
const qualityCoef = getHeroQualityCoef(hero.card_lv ?? 1);
const qualityCoef = getHeroQualityCoef(hero.rarity ?? 1);
let base_ap = Math.round(hero.ap * qualityCoef);
let base_hp = Math.round(hero.hp * qualityCoef);
let base_def = Math.round(hero.def * qualityCoef);

View File

@@ -428,7 +428,7 @@ export class HeroAtkSystem extends ecs.ComblockSystem implements ecs.ISystemUpda
smc.mission.dead_heroes.push({
uuid: attrs.hero_uuid,
lv: attrs.lv,
card_lv: attrs.card_lv,
rarity: attrs.rarity,
posIndex: attrs.posIndex,
wave: Math.max(1, smc.vmdata?.mission_data?.level ?? 1),
});

View File

@@ -25,8 +25,8 @@ export class HeroAttrsComp extends ecs.Comp {
hero_uuid: number = 1001;
hero_name: string = "hero";
lv: number = 1;
card_lv: number = 1;
base_card_lv: number = 1;
rarity: number = 1;
base_rarity: number = 1;
type: number = 0; // 0近战 1远程 2辅助
fac: number = 0; // 0:hero 1:monster
grow_type?: number; // 成长类型(HGrowType),驱动每级 hp/ap 线性成长

View File

@@ -170,7 +170,7 @@ export class Monster extends ecs.Entity {
// 模型层参数:身份、阵营、基础数值(基础值按品质系数缩放,与英雄同一套设定)
model.hero_uuid = uuid;
model.hero_name = hero.name;
const coef = getHeroQualityCoef(hero.card_lv ?? 1);
const coef = getHeroQualityCoef(hero.rarity ?? 1);
model.hp = model.hp_max = Math.round(hero.hp * coef);
model.ap = Math.round(hero.ap * coef);
// TODO: 局外升级机制落地后,此处基础值将与存档强化累加重算

View File

@@ -53,7 +53,7 @@ export class SCastSystem extends ecs.ComblockSystem implements ecs.ISystemUpdate
heroView?: HeroViewComp,
triggerType?: string,
isCardSkill?: boolean,
card_lv?: number,
rarity?: number,
targetPos?: Vec3,
overrides?: any
}) {
@@ -61,7 +61,7 @@ export class SCastSystem extends ecs.ComblockSystem implements ecs.ISystemUpdate
// 卡牌技能直接触发
if (args.isCardSkill) {
this.forceCastCardSkill(args.s_uuid, args.card_lv || 1, args.targetPos || new Vec3(FightSet.CSKILL_START_X, FightSet.CSKILL_START_Y, 0), args.overrides);
this.forceCastCardSkill(args.s_uuid, args.rarity || 1, args.targetPos || new Vec3(FightSet.CSKILL_START_X, FightSet.CSKILL_START_Y, 0), args.overrides);
return;
}
@@ -74,7 +74,7 @@ export class SCastSystem extends ecs.ComblockSystem implements ecs.ISystemUpdate
* 强制执行卡牌技能
* 卡牌技能没有施法者主体,直接从指定坐标释放,或者对全体/随机友方生效
*/
public forceCastCardSkill(s_uuid: number, cardLv: number, spawnPos: Vec3, overrides?: SkillOverrides) {
public forceCastCardSkill(s_uuid: number, rarity: number, spawnPos: Vec3, overrides?: SkillOverrides) {
let config = SkillSet[s_uuid];
if (!config) return;
config = mergeSkillParams(config, overrides);
@@ -102,7 +102,7 @@ export class SCastSystem extends ecs.ComblockSystem implements ecs.ISystemUpdate
// 动态计算卡牌的虚拟攻击力:
// 1. 根据卡牌等级给予基础成长(同英雄升级公式,基准设为 100)
let baseAp = 100 * Math.pow(FightSet.HERO_LV_MULTIPLIER, cardLv - 1);
let baseAp = 100 * Math.pow(FightSet.HERO_LV_MULTIPLIER, rarity - 1);
let highestAp = baseAp;
// 2. 获取场上最高攻击力的英雄,保证后期奶量/增益绝对够用
@@ -156,10 +156,10 @@ export class SCastSystem extends ecs.ComblockSystem implements ecs.ISystemUpdate
const friendlyTargets = this.resolveFriendlyTargets(targetEids, FacSet.HERO);
mLogger.log(this.debugMode, "SCastSystem", "friendlyTargets count =", friendlyTargets.length);
if (friendlyTargets.length === 0) return;
this.applyFriendlySkillEffects(s_uuid, cardLv, config, null as any, mockAttrs, friendlyTargets, spawnPos);
this.applyFriendlySkillEffects(s_uuid, rarity, config, null as any, mockAttrs, friendlyTargets, spawnPos);
} else {
const enemyTargetPos = this.resolveRepeatCastTargetPos(targetPos, i);
this.createSkillEntityForCard(s_uuid, cardLv, mockAttrs, spawnPos, enemyTargetPos, i, overrides);
this.createSkillEntityForCard(s_uuid, rarity, mockAttrs, spawnPos, enemyTargetPos, i, overrides);
}
};
if (i === 0) {