refactor(config): 统一技能范围类型命名与逻辑
1. 移除废弃的aoe_grid范围类型,统一使用range类型 2. 更新文档、配置表和代码中的相关描述与枚举定义 3. 清理技能目标选择逻辑中针对aoe_grid的冗余代码
This commit is contained in:
@@ -18,7 +18,6 @@ export enum TGroup {
|
||||
export enum DTType {
|
||||
single = 0,
|
||||
range = 1,
|
||||
aoe_grid = 2, // 3*3 网格范围攻击,以中路第2、3列为目标
|
||||
}
|
||||
|
||||
export enum SkillKind {
|
||||
@@ -293,7 +292,7 @@ export const SkillSet: Record<number, SkillConfig> = {
|
||||
},
|
||||
6104: {
|
||||
uuid: 6104, name: "开山斧", sp_name: "range2", icon: "Stat_Tripleshot", TGroup: TGroup.Enemy, readyAnm: "blues", endAnm: "", act: "max0",
|
||||
DTType: DTType.aoe_grid, stun: 0, ap: 300, hit_count: 6, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.remote,
|
||||
DTType: DTType.range, stun: 0, ap: 300, hit_count: 6, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.remote,
|
||||
RType: RType.fixed, EType: EType.animationEnd, info: "召唤巨斧劈向前方敌人",//可以附加击晕增强
|
||||
},
|
||||
// 刺客/射手群体攻击大招
|
||||
|
||||
@@ -94,7 +94,7 @@
|
||||
|
||||
| 英雄 | 缺失机制 | 缺口说明 |
|
||||
|---|---|---|
|
||||
| 复仇者(流血穿后排) | 目标选择"后排"逻辑 | 本系统 DTType 仅 single/range/aoe_grid,无"优先后排";流血可用 7007 出血替代,但穿透定位失效 |
|
||||
| 复仇者(流血穿后排) | 目标选择"后排"逻辑 | 本系统 DTType 仅 single/range,无"优先后排";流血可用 7007 出血替代,但穿透定位失效 |
|
||||
| 玉面狐妖 / 神罗战士 / 李白 | 真实伤害 | 无无视防御的伤害类型;可用破甲 7008 + 高 ap 近似,但失去"真伤"特色 |
|
||||
| 潮壮壮 / 海拉 / 沉默 / 疾风忍者 | 沉默、减能 | 无沉默与能量系统 |
|
||||
| 术士 / 爷爷(葫芦爷爷) | 回能、减能、减疗 | 无能量系统与减疗机制 |
|
||||
|
||||
@@ -245,7 +245,7 @@ ap:warrior+20
|
||||
hp:warrior+5
|
||||
def:warrior+0
|
||||
skill[0]:6004 攻击(ap100,近战系)
|
||||
skill[1]_lv1:6104 开山斧(ap300,aoe_grid 6段)
|
||||
skill[1]_lv1:6104 开山斧(ap300,range 6段)
|
||||
skill[1]_lv3:开山斧 +击晕概率(ap300,stun20)
|
||||
skill[1]_lv5:开山斧 击晕强化+多段(ap350,stun35,hit_count 8)
|
||||
skill[1]_lv7:开山斧 定海神针·必晕(ap400,debuff 7004 击晕)
|
||||
|
||||
@@ -15,7 +15,6 @@ import { SkillTriggerType } from "../common/config/heroSet";
|
||||
import { SkillTriggerHelper } from "./SkillTriggerHelper";
|
||||
import { MissionEconomy } from "../map/MissionEconomy";
|
||||
import { mLogger } from "../common/Logger";
|
||||
import { MissionHeroComp } from "../map/MissionHeroComp";
|
||||
import { buffManager } from "./BuffManager";
|
||||
|
||||
/**
|
||||
@@ -759,26 +758,8 @@ export class SCastSystem extends ecs.ComblockSystem implements ecs.ISystemUpdate
|
||||
* 解析对敌技能目标点:
|
||||
* - 非范围技能:按施法方向生成目标点
|
||||
* - range 范围技能:优先前排敌人位置
|
||||
* - aoe_grid 范围技能:以中路第2或第3列为目标(若存在敌人优先第2列,否则第3列;这里简化为直接返回第2列中路的固定坐标,或者根据情况处理)
|
||||
*/
|
||||
private resolveEnemyCastTargetPos(config: SkillConfig, heroAttrs: HeroAttrsComp, heroView: HeroViewComp, nearestEnemy: HeroViewComp, maxRange: number): Vec3 | null {
|
||||
if (config.DTType === DTType.aoe_grid) {
|
||||
const isHero = heroAttrs.fac === FacSet.HERO;
|
||||
if (isHero) {
|
||||
// 怪物已改为从 X=400 出生后动态向左推进,不再有固定列阵型。
|
||||
// aoe_grid 直接以最近敌人的真实位置作为目标点,
|
||||
// 由技能自身的范围半径负责命中附近的怪物集群。
|
||||
if (nearestEnemy?.node) {
|
||||
return nearestEnemy.node.position.clone();
|
||||
}
|
||||
return null;
|
||||
} else {
|
||||
// 怪物打英雄:以英雄编队中排基准点为 AOE 目标
|
||||
// (英雄已改为按职业优先级从最右向左排队,中排 -260 即队伍中部)
|
||||
return MissionHeroComp.HERO_ROW_MID.clone();
|
||||
}
|
||||
}
|
||||
|
||||
if (config.RType === RType.bezier) {
|
||||
return nearestEnemy.node?.position.clone() ?? null;
|
||||
}
|
||||
|
||||
@@ -254,7 +254,7 @@ export const ENUMS: Record<string, EnumDef> = {
|
||||
{ label: '自身 Self', value: 0 }, { label: '友方含己 Ally', value: 1 },
|
||||
{ label: '友方 Team', value: 2 }, { label: '敌方 Enemy', value: 3 }, { label: '全体 All', value: 4 } ] },
|
||||
DTType: { qualifier: 'DTType', members: [
|
||||
{ label: '单体 single', value: 0 }, { label: '范围 range', value: 1 }, { label: '3x3 aoe_grid', value: 2 } ] },
|
||||
{ label: '单体 single', value: 0 }, { label: '范围 range', value: 1 } ] },
|
||||
SkillKind: { qualifier: 'SkillKind', members: [
|
||||
{ label: '伤害 Damage', value: 0 }, { label: '治疗 Heal', value: 1 }, { label: '护盾 Shield', value: 2 },
|
||||
{ label: '辅助 Support', value: 3 }, { label: '金币 Gold', value: 4 } ] },
|
||||
|
||||
Reference in New Issue
Block a user