refactor(config): 优化英雄和技能配置数据结构
- 删除《吸血鬼幸存者》英雄特性分析文档,清理无用参考资料 - 调整技能配置,统一攻击类型枚举命名以AtkedName代替AtkedType - 新增DType枚举区分物理与魔法攻击类型,丰富技能攻击属性 - 更新基础攻击技能配置,添加攻击类型字段并修正部分技能数据 - 删除heroSet.ts中旧版英雄基础属性和计算逻辑,简化代码结构 - 精简英雄信息定义,修正英雄基础属性和技能配置,改进角色定位说明 - 重新整理怪物角色基础属性和技能,提升数值合理性与一致性
This commit is contained in:
@@ -15,136 +15,7 @@ export enum HType {
|
||||
assassin = 4,
|
||||
}
|
||||
|
||||
// 英雄基础属性配置表
|
||||
// 定义每种英雄类型的力量、智力、敏捷、精神、幸运基础值
|
||||
export const HeroBaseAttributes: Record<HType, { strength: number; intelligence: number; agility: number; spirit: number; luck: number }> = {
|
||||
[HType.warrior]: { strength: 10, intelligence: 3, agility: 5, spirit: 4, luck: 3 },
|
||||
[HType.remote]: { strength: 5, intelligence: 6, agility: 10, spirit: 4, luck: 5 },
|
||||
[HType.mage]: { strength: 3, intelligence: 10, agility: 4, spirit: 8, luck: 5 },
|
||||
[HType.support]: { strength: 4, intelligence: 8, agility: 5, spirit: 10, luck: 3 },
|
||||
[HType.assassin]: { strength: 7, intelligence: 5, agility: 10, spirit: 3, luck: 5 },
|
||||
}
|
||||
|
||||
// 基础属性对战斗属性的影响配置
|
||||
// 定义基础属性如何影响其他战斗属性的系数
|
||||
export const AttributeInfluence: Record<string, { attribute: Attrs; ratio: number }> = {
|
||||
// 力量影响
|
||||
"strength_to_ap": { attribute: Attrs.AP, ratio: 2 }, // 力量影响攻击力 (每点力量增加2点攻击力)
|
||||
"strength_to_hp": { attribute: Attrs.HP_MAX, ratio: 10 }, // 力量影响生命值 (每点力量增加10点生命值)
|
||||
|
||||
// 智力影响
|
||||
"intelligence_to_map": { attribute: Attrs.MAP, ratio: 3 }, // 智力影响魔法攻击力 (每点智力增加3点魔法攻击力)
|
||||
"intelligence_to_mp": { attribute: Attrs.MP_MAX, ratio: 15 }, // 智力影响魔法值 (每点智力增加15点魔法值)
|
||||
"intelligence_to_mdef": { attribute: Attrs.MDEF, ratio: 1 }, // 智力影响魔法防御 (每点智力增加1点魔法防御)
|
||||
|
||||
// 敏捷影响
|
||||
"agility_to_as": { attribute: Attrs.AS, ratio: 0.5 }, // 敏捷影响攻击速度 (每点敏捷增加0.5%攻击速度)
|
||||
"agility_to_dodge": { attribute: Attrs.DODGE, ratio: 0.4 }, // 敏捷影响闪避 (每点敏捷增加0.4%闪避)
|
||||
"agility_to_hit": { attribute: Attrs.HIT, ratio: 0.3 }, // 敏捷影响命中 (每点敏捷增加0.3%命中)
|
||||
|
||||
// 精神影响
|
||||
"spirit_to_mdef": { attribute: Attrs.MDEF, ratio: 2 }, // 精神影响魔法防御 (每点精神增加2点魔法防御)
|
||||
"spirit_to_hp": { attribute: Attrs.HP_MAX, ratio: 5 }, // 精神影响生命值 (每点精神增加5点生命值)
|
||||
"spirit_to_mp": { attribute: Attrs.MP_MAX, ratio: 10 }, // 精神影响魔法值 (每点精神增加10点魔法值)
|
||||
|
||||
// 幸运影响
|
||||
"luck_to_critical": { attribute: Attrs.CRITICAL, ratio: 0.6 }, // 幸运影响暴击率 (每点幸运增加0.6%暴击率)
|
||||
"luck_to_lifesteal": { attribute: Attrs.LIFESTEAL, ratio: 0.2 }, // 幸运影响吸血比率 (每点幸运增加0.2%吸血比率)
|
||||
};
|
||||
|
||||
/**
|
||||
* 根据英雄类型和等级计算基础属性值
|
||||
* @param heroType 英雄类型
|
||||
* @param level 英雄等级
|
||||
* @returns 包含所有基础属性值的对象
|
||||
*/
|
||||
export function calculateBaseAttributes(heroType: HType, level: number): { strength: number; intelligence: number; agility: number; spirit: number; luck: number } {
|
||||
const baseAttrs = HeroBaseAttributes[heroType];
|
||||
// 简单的等级成长公式,每级增加1点基础属性
|
||||
const growth = level - 1;
|
||||
|
||||
return {
|
||||
strength: baseAttrs.strength + growth,
|
||||
intelligence: baseAttrs.intelligence + growth,
|
||||
agility: baseAttrs.agility + growth,
|
||||
spirit: baseAttrs.spirit + growth,
|
||||
luck: baseAttrs.luck + growth
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据基础属性计算对战斗属性的影响
|
||||
* @param baseAttributes 基础属性值
|
||||
* @returns 属性影响映射表
|
||||
*/
|
||||
export function calculateAttributeInfluences(baseAttributes: { strength: number; intelligence: number; agility: number; spirit: number; luck: number }): Record<Attrs, number> {
|
||||
// 初始化所有属性影响值为0
|
||||
const influences: Record<Attrs, number> = {
|
||||
[Attrs.HP_MAX]: 0,
|
||||
[Attrs.MP_MAX]: 0,
|
||||
[Attrs.SHIELD_MAX]: 0,
|
||||
[Attrs.AP]: 0,
|
||||
[Attrs.MAP]: 0,
|
||||
[Attrs.DEF]: 0,
|
||||
[Attrs.MDEF]: 0,
|
||||
[Attrs.CRITICAL]: 0,
|
||||
[Attrs.CRITICAL_DMG]: 0,
|
||||
[Attrs.DODGE]: 0,
|
||||
[Attrs.HIT]: 0,
|
||||
[Attrs.WFUNY]: 0,
|
||||
[Attrs.AS]: 0,
|
||||
[Attrs.REFLICT]: 0,
|
||||
[Attrs.LIFESTEAL]: 0,
|
||||
[Attrs.BACK]: 0,
|
||||
[Attrs.DEBACK]: 0,
|
||||
[Attrs.CON_RES]: 0,
|
||||
[Attrs.ICE_RES]: 0,
|
||||
[Attrs.FIRE_RES]: 0,
|
||||
[Attrs.WIND_RES]: 0,
|
||||
[Attrs.ICE_POWER]: 0,
|
||||
[Attrs.FIRE_POWER]: 0,
|
||||
[Attrs.WIND_POWER]: 0,
|
||||
[Attrs.BUFF_UP]: 0,
|
||||
[Attrs.DBUFF_UP]: 0,
|
||||
[Attrs.DIS]: 0,
|
||||
[Attrs.SPEED]: 0,
|
||||
[Attrs.SHIELD_UP]: 0,
|
||||
[Attrs.BURN]: 0,
|
||||
[Attrs.DEBURN]: 0,
|
||||
[Attrs.PUNCTURE]: 0,
|
||||
[Attrs.PUNCTURE_DMG]: 0,
|
||||
[Attrs.STRENGTH]: 0,
|
||||
[Attrs.INTELLIGENCE]: 0,
|
||||
[Attrs.AGILITY]: 0,
|
||||
[Attrs.SPIRIT]: 0,
|
||||
[Attrs.LUCK]: 0
|
||||
};
|
||||
|
||||
// 计算力量的影响
|
||||
influences[Attrs.AP] += baseAttributes.strength * (AttributeInfluence["strength_to_ap"]?.ratio || 0);
|
||||
influences[Attrs.HP_MAX] += baseAttributes.strength * (AttributeInfluence["strength_to_hp"]?.ratio || 0);
|
||||
|
||||
// 计算智力的影响
|
||||
influences[Attrs.MAP] += baseAttributes.intelligence * (AttributeInfluence["intelligence_to_map"]?.ratio || 0);
|
||||
influences[Attrs.MP_MAX] += baseAttributes.intelligence * (AttributeInfluence["intelligence_to_mp"]?.ratio || 0);
|
||||
influences[Attrs.MDEF] += baseAttributes.intelligence * (AttributeInfluence["intelligence_to_mdef"]?.ratio || 0);
|
||||
|
||||
// 计算敏捷的影响
|
||||
influences[Attrs.AS] += baseAttributes.agility * (AttributeInfluence["agility_to_as"]?.ratio || 0);
|
||||
influences[Attrs.DODGE] += baseAttributes.agility * (AttributeInfluence["agility_to_dodge"]?.ratio || 0);
|
||||
influences[Attrs.HIT] += baseAttributes.agility * (AttributeInfluence["agility_to_hit"]?.ratio || 0);
|
||||
|
||||
// 计算精神的影响
|
||||
influences[Attrs.MDEF] += baseAttributes.spirit * (AttributeInfluence["spirit_to_mdef"]?.ratio || 0);
|
||||
influences[Attrs.HP_MAX] += baseAttributes.spirit * (AttributeInfluence["spirit_to_hp"]?.ratio || 0);
|
||||
influences[Attrs.MP_MAX] += baseAttributes.spirit * (AttributeInfluence["spirit_to_mp"]?.ratio || 0);
|
||||
|
||||
// 计算幸运的影响
|
||||
influences[Attrs.CRITICAL] += baseAttributes.luck * (AttributeInfluence["luck_to_critical"]?.ratio || 0);
|
||||
influences[Attrs.LIFESTEAL] += baseAttributes.luck * (AttributeInfluence["luck_to_lifesteal"]?.ratio || 0);
|
||||
|
||||
return influences;
|
||||
}
|
||||
|
||||
export const HTypeName ={
|
||||
0:"战士",
|
||||
@@ -212,48 +83,58 @@ export interface heroInfo{
|
||||
}
|
||||
|
||||
export const HeroInfo: Record<number, heroInfo> = {
|
||||
//主将
|
||||
// ========== 英雄角色 ==========
|
||||
|
||||
// 刘邦 - 领导型战士(善于用人,知人善任)
|
||||
5001:{uuid:5001,name:"刘邦",path:"hk1", fac:FacSet.HERO, kind:1,
|
||||
type:HType.warrior,lv:1,hp:100,mp:100,map:100,def:5,ap:15,dis:100,speed:150,skills:[6001,6005],
|
||||
buff:[],debuff:[],info:""},
|
||||
type:HType.warrior,lv:1,hp:120,mp:80,map:10,def:8,ap:15,dis:100,speed:120,skills:[6001,6005],
|
||||
buff:[],debuff:[],info:"汉朝开国皇帝,善于用人,领导型战士"},
|
||||
|
||||
// 荆轲 - 刺客(敏捷型,高速度和暴击率)
|
||||
5002:{uuid:5002,name:"荆轲",path:"hc1", fac:FacSet.HERO, kind:1,
|
||||
type:HType.warrior,lv:1,hp:100,mp:100,map:100,def:5,ap:15,dis:100,speed:150,skills:[6001,6005],
|
||||
buff:[],debuff:[],info:""},
|
||||
type:HType.assassin,lv:1,hp:80,mp:60,map:5,def:3,ap:20,dis:120,speed:180,skills:[6001,6005],
|
||||
buff:[],debuff:[],info:"战国刺客,高速度高暴击的敏捷型刺客"},
|
||||
|
||||
// 绿箭 - 远程射手(机动型,高移动速度和远程攻击)
|
||||
5005:{uuid:5005,name:"绿箭",path:"ha1", fac:FacSet.HERO, kind:2,
|
||||
type:HType.remote,lv:1,hp:100,mp:100,map:100,def:5,ap:15,dis:400,speed:100,skills:[6001,6005],
|
||||
buff:[],debuff:[],info:""},
|
||||
type:HType.remote,lv:1,hp:90,mp:70,map:8,def:4,ap:18,dis:450,speed:140,skills:[6001,6005],
|
||||
buff:[],debuff:[],info:"远程射手,机动型高远程输出"},
|
||||
|
||||
// 牧师 - 辅助治疗(辅助型,擅长治疗和支援)
|
||||
5007:{uuid:5007,name:"牧师",path:"hh1", fac:FacSet.HERO, kind:2,
|
||||
type:HType.mage,lv:1,hp:100,mp:100,map:100,def:5,ap:15,dis:400,speed:100,skills:[6001,6005],
|
||||
buff:[],debuff:[],info:""},
|
||||
type:HType.support,lv:1,hp:100,mp:120,map:12,def:5,ap:8,dis:350,speed:100,skills:[6001,6005],
|
||||
buff:[],debuff:[],info:"辅助治疗者,擅长治疗和支援队友"},
|
||||
|
||||
// 火女 - 元素法师(元素型,操控火焰元素)
|
||||
5008:{uuid:5008,name:"火女",path:"hm1", fac:FacSet.HERO, kind:2,
|
||||
type:HType.mage,lv:1,hp:100,mp:100,map:100,def:5,ap:15,dis:400,speed:100,skills:[6001,6005],
|
||||
buff:[],debuff:[],info:""},
|
||||
type:HType.mage,lv:1,hp:85,mp:150,map:25,def:3,ap:6,dis:400,speed:90,skills:[6001,6005],
|
||||
buff:[],debuff:[],info:"元素法师,操控火焰元素进行高魔法输出"},
|
||||
|
||||
// 魔法精灵 - 奥术法师(博学型,掌握多种魔法)
|
||||
5009:{uuid:5009,name:"魔法精灵",path:"hm2", fac:FacSet.HERO, kind:2,
|
||||
type:HType.mage,lv:1,hp:100,mp:100,map:100,def:5,ap:15,dis:400,speed:100,skills:[6006,6006,6301,6302,6303],
|
||||
buff:[],debuff:[],info:""},
|
||||
type:HType.mage,lv:1,hp:80,mp:160,map:28,def:2,ap:5,dis:420,speed:95,skills:[6001,6005],
|
||||
buff:[],debuff:[],info:"奥术法师,博学多才掌握多种魔法"},
|
||||
|
||||
// 德鲁伊 - 自然辅助(辅助型,自然魔法和召唤)
|
||||
5010:{uuid:5010,name:"德鲁伊",path:"hz1", fac:FacSet.HERO, kind:2,
|
||||
type:HType.mage,lv:1,hp:100,mp:100,map:100,def:5,ap:15,dis:400,speed:100,skills:[6007,6007,6301,6302,6303],
|
||||
buff:[],debuff:[],info:""},
|
||||
type:HType.support,lv:1,hp:95,mp:130,map:18,def:6,ap:10,dis:380,speed:105,skills:[6001,6005],
|
||||
buff:[],debuff:[],info:"自然德鲁伊,精通自然魔法和生命治愈"},
|
||||
|
||||
|
||||
|
||||
//怪物
|
||||
5201:{uuid:5201,name:"兽人战士",path:"mo1", fac:FacSet.MON, kind:1,
|
||||
type:HType.warrior,lv:1,hp:25,mp:100,map:100,def:5,ap:5,dis:90,speed:100,skills:[6005],
|
||||
buff:[],debuff:[],info:"普通怪物-战士型"},
|
||||
|
||||
5202:{uuid:5202,name:"兽人刺客",path:"mo1", fac:FacSet.MON, kind:1,
|
||||
type:HType.remote,lv:1,hp:20,mp:100,map:100,def:5,ap:5,dis:350,speed:100,skills:[6005],
|
||||
buff:[],debuff:[],info:"普通怪物-战士型"},
|
||||
|
||||
5203:{uuid:5203,name:"兽人护卫",path:"mo1", fac:FacSet.MON, kind:1,
|
||||
type:HType.warrior,lv:1,hp:25,mp:100,map:100,def:5,ap:5,dis:90,speed:100,skills:[6005],
|
||||
buff:[],debuff:[],info:"普通怪物-战士型"},
|
||||
// ========== 怪物 ==========
|
||||
|
||||
// 兽人战士 - 普通近战怪物
|
||||
5201:{uuid:5201,name:"兽人战士",path:"mo1", fac:FacSet.MON, kind:1,
|
||||
type:HType.warrior,lv:1,hp:40,mp:50,map:5,def:6,ap:8,dis:90,speed:100,skills:[6001],
|
||||
buff:[],debuff:[],info:"普通近战怪物,具有基础政击和防御能力"},
|
||||
|
||||
// 兽人刺客 - 敏捷刺客怪物
|
||||
5202:{uuid:5202,name:"兽人刺客",path:"mo1", fac:FacSet.MON, kind:1,
|
||||
type:HType.assassin,lv:1,hp:30,mp:40,map:3,def:3,ap:12,dis:120,speed:150,skills:[6001],
|
||||
buff:[],debuff:[],info:"敏捷刺客怪物,高速度低防御"},
|
||||
|
||||
// 兽人护卫 - 重装战士怪物
|
||||
5203:{uuid:5203,name:"兽人护卫",path:"mo1", fac:FacSet.MON, kind:1,
|
||||
type:HType.warrior,lv:1,hp:50,mp:50,map:5,def:10,ap:6,dis:90,speed:80,skills:[6001],
|
||||
buff:[],debuff:[],info:"重装护卫怪物,高防御高生命"},
|
||||
|
||||
};
|
||||
Reference in New Issue
Block a user