refactor: 将代码中的card_lv统一替换为rarity
本次提交完成了全项目范围内术语的统一替换,将原本指代卡牌品质/等级的card_lv字段全部重命名为rarity,对齐了设计文档中的命名规范,避免了术语混淆: 1. 更新了所有配置文件、组件类、数据结构中的字段定义 2. 同步修改了注释、文档说明中的相关表述 3. 修正了英雄、技能、装备卡牌的品质显示逻辑 4. 调整了背景颜色切换、属性计算等相关业务逻辑
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -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),
|
||||
});
|
||||
|
||||
@@ -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 线性成长
|
||||
|
||||
@@ -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: 局外升级机制落地后,此处基础值将与存档强化累加重算
|
||||
|
||||
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user