This commit is contained in:
2025-10-16 23:40:12 +08:00
parent d486d87676
commit 559ddfb653
8 changed files with 267 additions and 562 deletions

View File

@@ -1,5 +1,6 @@
import { log } from "cc"
import { QualitySet } from "./BoxSet"
import * as exp from "constants"
export enum TGroup {
Self = 0, // 自身
@@ -94,119 +95,90 @@ export enum EType {
countEnd = 4,
}
//debuff类型
export enum DebuffAttr {
STUN = 1, //眩晕
SLOW = 2, //减速
FROST = 3, //冰冻
BURN = 4, //易伤 默认次数是5 技能配置的devC是额外次数
DECD = 5, //减cd
DEHP = 6, //减hp
DEATK = 7, //减atk
DECOUNT = 8, //减攻击次数
BACK = 9, //击退
CRITICAL = 10, //自身暴击率降低
DODGE = 11, //闪避
export enum DBuff {
STUN = 1, //眩晕 - 对应Attrs.CON_RES (控制抗性), BType.RATIO
SLOW = 2, //减速 - 对应Attrs.AS (攻击速度), BType.RATIO
FROST = 3, //冰冻 - 对应Attrs.ICE_RES (冰冻抗性), BType.RATIO
BURN = 4, //易伤 - 对应Attrs.DEF/MDEF (防御/魔防), BType.RATIO, 默认次数是5, 技能配置的devC是额外次数
DEAS = 5, //减速 - 对应Attrs.AS (攻击速度), BType.RATIO, 直接+技能cd
DEHP = 6, //减hp - 对应Attrs.HP_MAX (最大生命值), BType.RATIO
DEAP = 7, //减atk - 对应Attrs.AP (攻击力), BType.RATIO
DEMGP = 8, //减魔法伤害 - 对应Attrs.MAP (魔法攻击力), BType.RATIO
BACK = 9, //击退概率 - 对应Attrs.KNOCKBACK (击退概率), BType.RATIO
CRITICAL = 10, //-暴击率 - 对应Attrs.CRITICAL (暴击率), BType.RATIO
CRIT_DAMAGE = 11, //-暴击伤害 - 对应Attrs.CRITICAL_DMG (暴击伤害), BType.RATIO
DODGE = 12, //-闪避 - 对应Attrs.DODGE (闪避), BType.RATIO
DBUFFUP=13, //edbuff效果提升
BUFF_DOWN = 14,// buff效果减弱
}
//buff类型
export enum BuffAttr {
AP = 0, //攻击力 数值
ATK = 1, // 攻击力百分比
WFUNY = 2, // 风怒
ATK_CD = 3, // 攻击速度
HP = 4, // 生命值比例
DEF = 5, // 防御
SKILL_DMG = 6, // 技能效果
SKILL_CD = 7, // 技能冷却缩减
CARD_EFFECT = 8, // 卡牌效果
CRITICAL = 9, //暴击率
CRITICAL_DMG = 10, //暴击伤害
CRITICAL_NO = 11, //暴击免疫
DODGE = 12, //闪避
DODGE_NO = 13, //闪避免疫
DEBUFF_COUNT = 14, //debuff持续时间提升
DEBUFF_VALUE = 15, //debuff效果
DEBUFF_UP = 16, //debuff概率提升
DEBUFF_DOWN = 17, //被debuff概率降低
PUNCTURE = 18, //穿刺敌人伤害后方敌人
PUNCTURE_DMG = 19, //穿刺敌人伤害后方敌人伤害加成
FROST_RATIO = 20, //冰冻比率
REFLECT = 21, //反伤比率
KNOCKBACK = 22, //击退概率
BURN_COUNT = 23, //易伤额外次数
BURN_VALUE = 24,//易伤效果
STUN_TIME = 25, //击晕额外时间
STUN_RATIO = 26, //击晕概率
FROST_TIME = 27, //冰冻时间
HP_MAX = 28, //最大生命值数值
POWER_UP = 29, //能量增加
LIFESTEAL = 30, //吸血
DMG_RED = 31, //免伤
INVINCIBLE = 32, //无敌
DIS = 33, //距离
SPEED = 34, //速度
SHIELD = 35, //护盾
POWER_MAX = 36, //最大能量
MP = 37,
}
export const getBuffNum=()=>{
return {
[BuffAttr.AP]:0, //攻击力 数值
[BuffAttr.ATK]:0, // 攻击力
[BuffAttr.WFUNY]:0, // 风怒概率
[BuffAttr.ATK_CD]:0, // 攻击速度
[BuffAttr.HP]:0, // 生命值 比例
[BuffAttr.DEF]:0, // 免伤
[BuffAttr.SKILL_DMG]:0, // 技能效果
[BuffAttr.SKILL_CD]:0, // 技能冷却缩减
[BuffAttr.CARD_EFFECT]:0, // 卡牌效果
[BuffAttr.CRITICAL]:0, //暴击
[BuffAttr.CRITICAL_DMG]:0, //暴击伤害
[BuffAttr.CRITICAL_NO]:0, //暴击免疫
[BuffAttr.DODGE]:0, //闪避
[BuffAttr.DODGE_NO]:0, //闪避免疫
[BuffAttr.DEBUFF_COUNT]:0, //debuff次数
[BuffAttr.DEBUFF_VALUE]:0, //debuff效果
[BuffAttr.DEBUFF_UP]:0, //debuff概率提升
[BuffAttr.DEBUFF_DOWN]:0, //被debuff概率降低
[BuffAttr.PUNCTURE]:0, //穿刺敌人伤害后方敌人
[BuffAttr.PUNCTURE_DMG]:0, //穿刺敌人伤害后方敌人伤害加成
[BuffAttr.FROST_RATIO]:0, //冰冻比率
[BuffAttr.REFLECT]:0, //反伤比率
[BuffAttr.KNOCKBACK]:0, //击退概率
[BuffAttr.BURN_COUNT]:0, //易伤额外次数
[BuffAttr.BURN_VALUE]:0,
[BuffAttr.STUN_TIME]:0,
[BuffAttr.STUN_RATIO]:0,
[BuffAttr.FROST_TIME]:0,
[BuffAttr.HP_MAX]:0,//最大生命值数值
[BuffAttr.POWER_UP]:0,//能量增加
[BuffAttr.LIFESTEAL]:0,//吸血
[BuffAttr.DMG_RED]:0,//免伤
[BuffAttr.INVINCIBLE]:0,//无敌
[BuffAttr.DIS]:0,//距离
[BuffAttr.SPEED]:0,//速度
[BuffAttr.SHIELD]:0,//护盾
[BuffAttr.POWER_MAX]:0,//最大能量
[BuffAttr.MP]:0,
}
}
export const geDebuffNum=()=>{
return {
STUN:0, //眩晕
SLOW:0, //减速
FROST:0, //冰冻
BURN:0, //易伤
DECD:0, //减cd
DEHP:0, //减hp
DEATK:0, //减atk
DECOUNT:0, //减攻击次数
CRITICAL:0, //暴击
DODGE:0, //闪避
[DBuff.STUN]:0, //眩晕
[DBuff.SLOW]:0, //减速
[DBuff.FROST]:0, //冰冻
[DBuff.BURN]:0, //易伤
[DBuff.DEAS]:0, //减cd
[DBuff.DEHP]:0, //减生命最大值
[DBuff.DEAP]:0, //减攻击力
[DBuff.DEMGP]:0, //减魔法攻击力
[DBuff.BACK]:0, //+击退比率
[DBuff.CRITICAL]:0,//-技能暴击几率
[DBuff.CRIT_DAMAGE]:0,
[DBuff.DODGE]:0,
[DBuff.DBUFFUP]:0,
}
}
export enum Attrs {
HP_MAX = 0, //生命值
MP_MAX = 1, //魔法值
SHIELD_MAX=2, //护盾
AP = 3, //攻击力
MAP=4, //魔法攻击力
DEF = 5, //防御
MDEF = 6, //魔法防御
CRITICAL =7, //暴击率
CRITICAL_DMG = 8, //暴击伤害
DODGE = 9, //闪避
HIT = 10, //命中
WFUNY = 11, // 风怒
AS = 12, //攻击速度,直接减技能cd
REFLICT = 13, //反伤比率
LIFESTEAL = 14, //吸血比率
KNOCKBACK = 15, //攻击带击退概率
CON_RES = 16, //控制抗性
ICE_RES = 17, //冰冻抗性
FIRE_RES = 18, //火抗性
WIND_RES = 19, //风抗性
ICE_POWER = 20, //冰冻伤害效果提升
FIRE_POWER = 21,//火伤害效果提升
WIND_POWER = 22,//风伤害效果提升
SHIELD_UP = 23, //护盾效果提升
BUFF_UP = 24, //buff效果提升
DBUFF_UP=25, //debuff效果提升
DIS=26, //攻击距离
}
export const getAttrs=()=>{
// 遍历枚举的数字值(枚举会生成双向映射)
let reAttrs = {};
Object.keys(Attrs).forEach(key => {
if (!isNaN(Number(key))) {
reAttrs[Number(key)] = 0;
}
});
return reAttrs;
}
export enum BType {
VALUE=0, //数值型
RATIO=1 //百分比型
}
/*
=== 技能配置系统使用说明 ===
@@ -247,38 +219,40 @@ export const geDebuffNum=()=>{
- cost: 消耗值
5. 效果配置:
- buffs: BuffConfig[] - 增益效果数组
- debuffs: DebuffConfig[] - 减益效果数组
- buffs: BuffConf[] - 增益效果数组
- debuffs: DbuffConf[] - 减益效果数组
- info: 技能描述
- hero?: 召唤物英雄ID (可选)
6. BuffConfig结构:
6. BuffConf结构
- buff: BuffAttr - 增益类型
- buV: number - 效果值
- buC: number - 持续次数
- buR: number - 触发概率
7. DebuffConfig结构:
7. DbuffConf结构
- debuff: DebuffAttr - 减益类型
- dev: number - 效果值
- deC: number - 持续时间
- deR: number - 触发概率
8. 使用示例:
buffs: [createBuffConfig(BuffAttr.SHIELD, 2, 0, 100)]
debuffs: [createDebuffConfig(DebuffAttr.STUN, 0, 1, 50)]
buffs: [createBuffConf(BuffAttr.SHIELD, 2, 0, 100)]
debuffs: [createDbuffConf(DBuff.STUN, 0, 1, 50)]
*/
export const HeroSkillList = [6001,6001,6001,6001,6001,6001]
// Debuff配置接口
export interface DebuffConfig {
debuff: DebuffAttr; // debuff类型
export interface DbuffConf {
debuff: DBuff; // debuff类型
BType:BType //buff是数值型还是百分比型
dev: number; // 效果值 (原deV)
deC: number; // 持续时间
deR: number; // 触发概率 (原deR)
}
export interface BuffConfig {
buff:BuffAttr;
export interface BuffConf {
buff:Attrs;
BType:BType
buV:number;
buC:number;
buR:number;
@@ -287,7 +261,7 @@ export interface BuffConfig {
export interface SkillConfig {
uuid:number,name:string,sp_name:string,AtkedType:AtkedType,path:string,TGroup:TGroup,SType:SType,act:string,DTType:DTType,
ap:number,cd:number,in:number,t_num:number,hit_num:number,hit:number,hitcd:number,speed:number,cost:number,with:number,
buffs:BuffConfig[],debuffs:DebuffConfig[],info:string,hero?:number
buffs:BuffConf[],debuffs:DbuffConf[],info:string,hero?:number
}
@@ -316,7 +290,7 @@ export const SkillSet: Record<number, SkillConfig> = {
6005: {
uuid:6005,name:"火球术",sp_name:"atk_fires",AtkedType:AtkedType.fire,path:"3039",TGroup:TGroup.Enemy,SType:SType.damage,act:"atk",DTType:DTType.single,
ap:100,cd:5,in:1,t_num:1,hit_num:1,hit:2,hitcd:0.3,speed:720,cost:10,with:90,
buffs:[],debuffs:[{debuff:DebuffAttr.STUN,dev:0,deC:1,deR:50}],info:"召唤大火球攻击前方所有敌人,造成300%攻击的伤害,有一定几率施加灼烧"
buffs:[],debuffs:[],info:"召唤大火球攻击前方所有敌人,造成300%攻击的伤害,有一定几率施加灼烧"
},
6006: {
uuid:6006,name:"能量波",sp_name:"am_blue",AtkedType:AtkedType.ice,path:"3034",TGroup:TGroup.Enemy,SType:SType.damage,act:"atk",DTType:DTType.single,
@@ -326,23 +300,23 @@ export const SkillSet: Record<number, SkillConfig> = {
6007: {
uuid:6007,name:"圣光波",sp_name:"am_yellow",AtkedType:AtkedType.fire,path:"3039",TGroup:TGroup.Enemy,SType:SType.damage,act:"atk",DTType:DTType.single,
ap:100,cd:5,in:0,t_num:1,hit_num:1,hit:2,hitcd:0.3,speed:720,cost:10,with:90,
buffs:[],debuffs:[{debuff:DebuffAttr.STUN,dev:0,deC:1,deR:50}],info:"召唤大火球攻击前方所有敌人,造成300%攻击的伤害,有一定几率施加灼烧"
buffs:[],debuffs:[],info:"召唤大火球攻击前方所有敌人,造成300%攻击的伤害,有一定几率施加灼烧"
},
// ========== 大招 ========== 6100-6199
6101: {
uuid:6101,name:"护盾",sp_name:"shield",AtkedType:AtkedType.atked,path:"3045",TGroup:TGroup.Team,SType:SType.shield,act:"max",DTType:DTType.single,
ap:0,cd:5,in:0,t_num:1,hit_num:1,hit:1,hitcd:3,speed:720,cost:10,with:0,
buffs:[{buff:BuffAttr.SHIELD,buV:2,buC:0,buR:100}],debuffs:[],info:"为最前排队友召唤一个可以抵御2次攻击的圣盾(最高叠加到6次)"
buffs:[],debuffs:[],info:"为最前排队友召唤一个可以抵御2次攻击的圣盾(最高叠加到6次)"
},
6102: {
uuid:6102,name:"寒冰箭",sp_name:"arrow_blue",AtkedType:AtkedType.ice,path:"3060",TGroup:TGroup.Enemy,SType:SType.damage,act:"atk",DTType:DTType.single,
ap:100,cd:1,in:0,t_num:1,hit_num:1,hit:1,hitcd:0.3,speed:720,cost:10,with:90,
buffs:[],debuffs:[{debuff:DebuffAttr.FROST,dev:1,deC:0,deR:100}],info:"召唤大火球攻击前方所有敌人,造成200%攻击的伤害,20%几率冰冻敌人"
buffs:[],debuffs:[],info:"召唤大火球攻击前方所有敌人,造成200%攻击的伤害,20%几率冰冻敌人"
},
6103: {
uuid:6103,name:"治疗",sp_name:"heath_small",AtkedType:AtkedType.atked,path:"3056",TGroup:TGroup.Team,SType:SType.heal,act:"max",DTType:DTType.single,
ap:0,cd:5,in:0,t_num:1,hit_num:1,hit:0,hitcd:0,speed:0,cost:10,with:0,
buffs:[{buff:BuffAttr.HP,buV:20,buC:0,buR:100}],debuffs:[],info:"回复最前排队友10%最大生命值的生命"
buffs:[],debuffs:[],info:"回复最前排队友10%最大生命值的生命"
},
6104: {
@@ -360,7 +334,7 @@ export const SkillSet: Record<number, SkillConfig> = {
6106: {
uuid:6106,name:"龙卷风",sp_name:"bwind",AtkedType:AtkedType.wind,path:"3065",TGroup:TGroup.Enemy,SType:SType.damage,act:"atk",DTType:DTType.single,
ap:100,cd:5,in:0,t_num:1,hit_num:1,hit:1,hitcd:1,speed:360,cost:10,with:90,
buffs:[],debuffs:[{debuff:DebuffAttr.BACK,dev:0,deC:0,deR:100}],info:"召唤大火球攻击前方所有敌人,造成200%攻击的伤害,50%几率击退敌人"
buffs:[],debuffs:[],info:"召唤大火球攻击前方所有敌人,造成200%攻击的伤害,50%几率击退敌人"
},
@@ -368,7 +342,7 @@ export const SkillSet: Record<number, SkillConfig> = {
6107: {
uuid:6107,name:"烈焰射击",sp_name:"arrow_yellow",AtkedType:AtkedType.fire,path:"3014",TGroup:TGroup.Enemy,SType:SType.damage,act:"atk",DTType:DTType.single,
ap:100,cd:5,in:0,t_num:1,hit_num:1,hit:1,hitcd:0.3,speed:720,cost:10,with:90,
buffs:[],debuffs:[{debuff:DebuffAttr.STUN,dev:0.5,deC:0,deR:50}],info:"召唤大火球攻击前方所有敌人,造成200%攻击的伤害,20%几率眩晕敌人"
buffs:[],debuffs:[],info:"召唤大火球攻击前方所有敌人,造成200%攻击的伤害,20%几率眩晕敌人"
},
6108: {
@@ -380,13 +354,13 @@ export const SkillSet: Record<number, SkillConfig> = {
6109: {
uuid:6109,name:"冰刺",sp_name:"icez",AtkedType:AtkedType.atked,path:"3049",TGroup:TGroup.Ally,SType:SType.damage,act:"max",DTType:DTType.range,
ap:300,cd:5,in:0,t_num:1,hit_num:1,hit:1,hitcd:0.3,speed:720,cost:10,with:90,
buffs:[],debuffs:[{debuff:DebuffAttr.FROST,dev:0,deC:0,deR:100}],info:"在最前方敌人位置,召唤冰刺攻击敌人,造成200%攻击的伤害,20%几率冰冻敌人"
buffs:[],debuffs:[],info:"在最前方敌人位置,召唤冰刺攻击敌人,造成200%攻击的伤害,20%几率冰冻敌人"
},
6110: {
uuid:6110,name:"潮汐",sp_name:"watert",AtkedType:AtkedType.atked,path:"3070",TGroup:TGroup.Ally,SType:SType.damage,act:"max",DTType:DTType.range,
ap:100,cd:5,in:0,t_num:1,hit_num:1,hit:1,hitcd:0.3,speed:720,cost:10,with:90,
buffs:[],debuffs:[{debuff:DebuffAttr.BACK,dev:0,deC:0,deR:100}],info:"在最前方敌人位置,召唤水柱攻击敌人,每秒造成100%攻击的伤害,50%几率击退敌人"
buffs:[],debuffs:[],info:"在最前方敌人位置,召唤水柱攻击敌人,每秒造成100%攻击的伤害,50%几率击退敌人"
},
6111: {
@@ -398,7 +372,7 @@ export const SkillSet: Record<number, SkillConfig> = {
6112: {
uuid:6112,name:"冰墙",sp_name:"icet",AtkedType:AtkedType.atked,path:"3050",TGroup:TGroup.Enemy,SType:SType.damage,act:"max",DTType:DTType.range,
ap:400,cd:5,in:0,t_num:1,hit_num:1,hit:1,hitcd:0.3,speed:720,cost:10,with:90,
buffs:[],debuffs:[{debuff:DebuffAttr.BACK,dev:0,deC:0,deR:100}],info:"在最前方敌人位置,召唤冰墙攻击敌人,造成200%攻击的伤害,50%几率击退敌人"
buffs:[],debuffs:[],info:"在最前方敌人位置,召唤冰墙攻击敌人,造成200%攻击的伤害,50%几率击退敌人"
},
6113: {
uuid:6113,name:"剑雨",sp_name:"max_jianyu",AtkedType:AtkedType.fire,path:"3123",TGroup:TGroup.Ally,SType:SType.damage,act:"max",DTType:DTType.range,
@@ -420,33 +394,33 @@ export const SkillSet: Record<number, SkillConfig> = {
6202: {
uuid:6202,name:"龙卷风爆",sp_name:"bwind",AtkedType:AtkedType.atked,path:"3069",TGroup:TGroup.Ally,SType:SType.damage,act:"atk",DTType:DTType.range,
ap:100,cd:5,in:0,t_num:1,hit_num:1,hit:1,hitcd:1,speed:360,cost:10,with:90,
buffs:[],debuffs:[{debuff:DebuffAttr.BACK,dev:0,deC:0,deR:50}],info:"召唤大火球攻击前方所有敌人,造成200%攻击的伤害,50%几率击退敌人"
buffs:[],debuffs:[],info:"召唤大火球攻击前方所有敌人,造成200%攻击的伤害,50%几率击退敌人"
},
6203: {
uuid:6203,name:"大潮汐",sp_name:"watert",AtkedType:AtkedType.atked,path:"3070",TGroup:TGroup.Ally,SType:SType.damage,act:"atk",DTType:DTType.range,
ap:100,cd:5,in:0,t_num:1,hit_num:1,hit:1,hitcd:0.3,speed:720,cost:10,with:90,
buffs:[],debuffs:[{debuff:DebuffAttr.BACK,dev:0,deC:0,deR:50}],info:"召唤水柱攻击敌人,每秒造成100%攻击的伤害,50%几率击退敌人"
buffs:[],debuffs:[],info:"召唤水柱攻击敌人,每秒造成100%攻击的伤害,50%几率击退敌人"
},
// ==========增强型技能,被动技能,========== 6300-6399
6301: {
uuid:6301,name:"攻击生命强化Ⅰ",sp_name:"max_ap",AtkedType:AtkedType.atked,path:"3065",TGroup:TGroup.Ally,SType:SType.buff,act:"atk",DTType:DTType.single,
ap:100,cd:5,in:0,t_num:1,hit_num:1,hit:1,hitcd:0.3,speed:720,cost:10,with:90,
buffs:[{buff:BuffAttr.AP,buV:20,buC:0,buR:100},{buff:BuffAttr.HP,buV:20,buC:0,buR:100}],debuffs:[],info:"增加20%攻击力和生命值"
buffs:[],debuffs:[],info:"增加20%攻击力和生命值"
},
6302: {
uuid:6302,name:"攻击生命强化Ⅱ",sp_name:"max_ap",AtkedType:AtkedType.atked,path:"3093",TGroup:TGroup.Ally,SType:SType.buff,act:"atk",DTType:DTType.single,
ap:100,cd:5,in:0,t_num:1,hit_num:1,hit:1,hitcd:0.3,speed:720,cost:10,with:90,
buffs:[{buff:BuffAttr.AP,buV:40,buC:0,buR:100},{buff:BuffAttr.HP,buV:40,buC:0,buR:100}],debuffs:[],info:"增加40%攻击力和生命值"
buffs:[],debuffs:[],info:"增加40%攻击力和生命值"
},
6303: {
uuid:6303,name:"攻击生命强化Ⅲ",sp_name:"max_ap",AtkedType:AtkedType.atked,path:"3065",TGroup:TGroup.Ally,SType:SType.buff,act:"atk",DTType:DTType.single,
ap:100,cd:5,in:0,t_num:1,hit_num:1,hit:1,hitcd:0.3,speed:720,cost:10,with:90,
buffs:[{buff:BuffAttr.AP,buV:60,buC:0,buR:100},{buff:BuffAttr.HP,buV:60,buC:0,buR:100}],debuffs:[],info:"增加60%攻击力和生命值"
buffs:[],debuffs:[],info:"增加60%攻击力和生命值"
},
6304: {
uuid:6304,name:"攻击生命强化Ⅳ",sp_name:"max_ap",AtkedType:AtkedType.atked,path:"3065",TGroup:TGroup.Ally,SType:SType.buff,act:"atk",DTType:DTType.single,
ap:100,cd:5,in:0,t_num:1,hit_num:1,hit:1,hitcd:0.3,speed:720,cost:10,with:90,
buffs:[{buff:BuffAttr.AP,buV:80,buC:0,buR:100},{buff:BuffAttr.HP,buV:80,buC:0,buR:100}],debuffs:[],info:"增加80%攻击力和生命值"
buffs:[],debuffs:[],info:"增加80%攻击力和生命值"
},
};