feat: 新增攻击/受击触发技能次数加成机制

1.  新增FieldSkillType枚举的AtkCount和BeAtkCount类型,添加对应强化技能配置
2.  调整战斗内波次金币、刷新/购买成本参数
3.  重构技能触发逻辑,支持根据字段技能调整触发次数
4.  新增三档强度的技能卡牌配置,优化卡牌池等级映射规则
This commit is contained in:
panFD
2026-06-20 10:38:08 +08:00
parent 1eaaf4ccc5
commit ea34367d7b
4 changed files with 140 additions and 40 deletions

View File

@@ -174,40 +174,86 @@ HeroList.forEach(uuid => {
});
// 添加非英雄卡牌 (技能、功能卡)
// 体系wave 1/5/8 三档每档强度递增Field 靠 field uuid 区分数值Interval 靠 overrides 覆写)
const waveToPoolLv: Record<number, number> = {
1: 1,
5: 2,
10: 3,
15: 4,
20: 5
8: 3
};
const SkillCardData: any[] = [
// ==================== wave 1 档(基础强度) ====================
// --- 驻场卡Field ---
{ uuid: 8705, skill: 0, wave: 1, name: "金币收益", info: "每回合金币收益+1", is_inst: false, keep_waves: -1, field: [7005], trigger_type: CardTriggerType.Field },
{ uuid: 8706, skill: 0, wave: 1, name: "出售强化", info: "卖出英雄金币+1", is_inst: false, keep_waves: -1, field: [7006], trigger_type: CardTriggerType.Field },
{ uuid: 8707, skill: 0, wave: 1, name: "战后恢复", info: "战斗结束生命回复量+10%", is_inst: false, keep_waves: -1, field: [7007], trigger_type: CardTriggerType.Field },
{ uuid: 8708, skill: 0, wave: 1, name: "攻击加成", info: "英雄攻击力+10%", is_inst: false, keep_waves: -1, field: [7008], trigger_type: CardTriggerType.Field },
{ uuid: 8709, skill: 0, wave: 1, name: "击晕加成", info: "英雄击晕概率+10%", is_inst: false, keep_waves: -1, field: [7009], trigger_type: CardTriggerType.Field },
{ uuid: 8710, skill: 0, wave: 1, name: "暴击加成", info: "英雄暴击率+10%", is_inst: false, keep_waves: -1, field: [7010], trigger_type: CardTriggerType.Field },
{ uuid: 8711, skill: 0, wave: 1, name: "暴伤加成", info: "英雄暴击伤害+20%", is_inst: false, keep_waves: -1, field: [7011], trigger_type: CardTriggerType.Field },
{ uuid: 8712, skill: 0, wave: 1, name: "攻速加成", info: "英雄攻击速度+10%", is_inst: false, keep_waves: -1, field: [7012], trigger_type: CardTriggerType.Field },
{ uuid: 8713, skill: 0, wave: 1, name: "购买优惠", info: "购买卡牌费用-1金币", is_inst: false, keep_waves: -1, field: [7013], trigger_type: CardTriggerType.Field },
{ uuid: 8714, skill: 0, wave: 1, name: "刷新优惠", info: "刷新卡牌费用-1金币", is_inst: false, keep_waves: -1, field: [7014], trigger_type: CardTriggerType.Field },
{ uuid: 8716, skill: 0, wave: 1, name: "生命加成", info: "英雄最大生命+10%", is_inst: false, keep_waves: -1, field: [7016], trigger_type: CardTriggerType.Field },
{ uuid: 8717, skill: 0, wave: 1, name: "风怒加成", info: "英雄风怒概率+10%", is_inst: false, keep_waves: -1, field: [7017], trigger_type: CardTriggerType.Field },
{ uuid: 8718, skill: 0, wave: 1, name: "穿刺加成", info: "英雄穿刺概率+10%", is_inst: false, keep_waves: -1, field: [7018], trigger_type: CardTriggerType.Field },
// { uuid: 8701, skill: 0, wave: 1, name: "召唤强化", info: "召唤触发技能次数+1", is_inst: false, keep_waves: -1, field: [7001], trigger_type: CardTriggerType.Field },
{ uuid: 8702, skill: 0, wave: 1, name: "死亡强化", info: "死亡触发技能次数+1", is_inst: false, keep_waves: -1, field: [7002], trigger_type: CardTriggerType.Field },
{ uuid: 8703, skill: 0, wave: 1, name: "开场强化", info: "战斗开始触发技能次数+1", is_inst: false, keep_waves: -1, field: [7003], trigger_type: CardTriggerType.Field },
{ uuid: 8704, skill: 0, wave: 1, name: "结束强化", info: "战斗结束触发技能次数+1", is_inst: false, keep_waves: -1, field: [7004], trigger_type: CardTriggerType.Field },
// --- 范围攻击卡Interval ---
{ uuid: 8201, skill: 6201, wave: 1, name: "雷墙", info: "召唤雷墙阻挡敌人,有概率击晕", is_inst: false, t_times: 999, t_inv: 6, keep_waves: -1, trigger_type: CardTriggerType.Interval, overrides: { ap: 100 } },
{ uuid: 8202, skill: 6202, wave: 1, name: "火墙", info: "召唤火墙阻挡敌人,有概率击晕", is_inst: false, t_times: 999, t_inv: 6, keep_waves: -1, trigger_type: CardTriggerType.Interval, overrides: { ap: 100 } },
{ uuid: 8203, skill: 6203, wave: 1, name: "飓风", info: "召唤飓风攻击敌人,有概率击晕", is_inst: false, t_times: 999, t_inv: 6, keep_waves: -1, trigger_type: CardTriggerType.Interval, overrides: { ap: 100 } },
{ uuid: 8204, skill: 6204, wave: 1, name: "水墙", info: "召唤水墙阻挡敌人,有概率击晕", is_inst: false, t_times: 999, t_inv: 6, keep_waves: -1, trigger_type: CardTriggerType.Interval, overrides: { ap: 100 } },
{ uuid: 8205, skill: 6205, wave: 1, name: "风墙", info: "召唤风墙困住敌人,有概率击晕", is_inst: false, t_times: 999, t_inv: 6, keep_waves: -1, trigger_type: CardTriggerType.Interval, overrides: { ap: 100 } },
{ uuid: 8206, skill: 6206, wave: 1, name: "陨石术", info: "召唤陨石范围攻击敌人,有概率击晕", is_inst: false, t_times: 999, t_inv: 6, keep_waves: -1, trigger_type: CardTriggerType.Interval, overrides: { ap: 100 } },
{ uuid: 8201, skill: 6201, wave: 1, name: "雷墙", info: "召唤雷墙阻挡敌人,有概率击晕", is_inst: false, t_times: 999, t_inv: 5, keep_waves: -1, trigger_type: CardTriggerType.Interval },
{ uuid: 8202, skill: 6202, wave: 1, name: "火墙", info: "召唤火墙阻挡敌人,有概率击晕", is_inst: false, t_times: 999, t_inv: 5, keep_waves: -1, trigger_type: CardTriggerType.Interval },
{ uuid: 8203, skill: 6203, wave: 1, name: "飓风", info: "召唤飓风攻击敌人,有概率击晕", is_inst: false, t_times: 999, t_inv: 5, keep_waves: -1, trigger_type: CardTriggerType.Interval },
{ uuid: 8204, skill: 6204, wave: 1, name: "水墙", info: "召唤水墙阻挡敌人,有概率击晕", is_inst: false, t_times: 999, t_inv: 5, keep_waves: -1, trigger_type: CardTriggerType.Interval },
{ uuid: 8205, skill: 6205, wave: 1, name: "风墙", info: "召唤风墙困住敌人,有概率击晕", is_inst: false, t_times: 999, t_inv: 5, keep_waves: -1, trigger_type: CardTriggerType.Interval },
{ uuid: 8206, skill: 6206, wave: 1, name: "陨石术", info: "召唤陨石范围攻击敌人,有概率击晕", is_inst: false, t_times: 999, t_inv: 5, keep_waves: -1, trigger_type: CardTriggerType.Interval },
// ==================== wave 5 档(强度 ×2 ====================
// --- 驻场卡field uuid +200对应 FieldSkillSet 72xx 段) ---
{ uuid: 8755, skill: 0, wave: 5, name: "金币收益+", info: "每回合金币收益+2", is_inst: false, keep_waves: -1, field: [7205], trigger_type: CardTriggerType.Field },
{ uuid: 8763, skill: 0, wave: 5, name: "购买优惠+", info: "购买卡牌费用-2金币", is_inst: false, keep_waves: -1, field: [7213], trigger_type: CardTriggerType.Field },
{ uuid: 8714, skill: 0, wave: 1, name: "刷新优惠", info: "刷新卡牌费用-1金币", is_inst: false, keep_waves: -1, field: [7014], trigger_type: CardTriggerType.Field },
{ uuid: 8757, skill: 0, wave: 5, name: "战后恢复+", info: "战斗结束生命回复量+20%", is_inst: false, keep_waves: -1, field: [7207], trigger_type: CardTriggerType.Field },
{ uuid: 8758, skill: 0, wave: 5, name: "攻击加成+", info: "英雄攻击力+20%", is_inst: false, keep_waves: -1, field: [7208], trigger_type: CardTriggerType.Field },
{ uuid: 8759, skill: 0, wave: 5, name: "击晕加成+", info: "英雄击晕概率+20%", is_inst: false, keep_waves: -1, field: [7209], trigger_type: CardTriggerType.Field },
{ uuid: 8760, skill: 0, wave: 5, name: "暴击加成+", info: "英雄暴击率+20%", is_inst: false, keep_waves: -1, field: [7210], trigger_type: CardTriggerType.Field },
{ uuid: 8761, skill: 0, wave: 5, name: "暴伤加成+", info: "英雄暴击伤害+40%", is_inst: false, keep_waves: -1, field: [7211], trigger_type: CardTriggerType.Field },
{ uuid: 8762, skill: 0, wave: 5, name: "攻速加成+", info: "英雄攻击速度+20%", is_inst: false, keep_waves: -1, field: [7212], trigger_type: CardTriggerType.Field },
{ uuid: 8766, skill: 0, wave: 5, name: "生命加成+", info: "英雄最大生命+20%", is_inst: false, keep_waves: -1, field: [7216], trigger_type: CardTriggerType.Field },
{ uuid: 8767, skill: 0, wave: 5, name: "风怒加成+", info: "英雄风怒概率+20%", is_inst: false, keep_waves: -1, field: [7217], trigger_type: CardTriggerType.Field },
{ uuid: 8768, skill: 0, wave: 5, name: "穿刺加成+", info: "英雄穿刺概率+20%", is_inst: false, keep_waves: -1, field: [7218], trigger_type: CardTriggerType.Field },
// --- 范围攻击卡ap 递增,间隔缩短) ---
{ uuid: 8251, skill: 6201, wave: 5, name: "雷墙+", info: "召唤雷墙阻挡敌人,有概率击晕", is_inst: false, t_times: 999, t_inv: 5, keep_waves: -1, trigger_type: CardTriggerType.Interval, overrides: { ap: 150 } },
{ uuid: 8252, skill: 6202, wave: 5, name: "火墙+", info: "召唤火墙阻挡敌人,有概率击晕", is_inst: false, t_times: 999, t_inv: 5, keep_waves: -1, trigger_type: CardTriggerType.Interval, overrides: { ap: 150 } },
{ uuid: 8253, skill: 6203, wave: 5, name: "飓风+", info: "召唤飓风攻击敌人,有概率击晕", is_inst: false, t_times: 999, t_inv: 5, keep_waves: -1, trigger_type: CardTriggerType.Interval, overrides: { ap: 150 } },
{ uuid: 8254, skill: 6204, wave: 5, name: "水墙+", info: "召唤水墙阻挡敌人,有概率击晕", is_inst: false, t_times: 999, t_inv: 5, keep_waves: -1, trigger_type: CardTriggerType.Interval, overrides: { ap: 150 } },
{ uuid: 8255, skill: 6205, wave: 5, name: "风墙+", info: "召唤风墙困住敌人,有概率击晕", is_inst: false, t_times: 999, t_inv: 5, keep_waves: -1, trigger_type: CardTriggerType.Interval, overrides: { ap: 150 } },
{ uuid: 8256, skill: 6206, wave: 5, name: "陨石术+", info: "召唤陨石范围攻击敌人,有概率击晕", is_inst: false, t_times: 999, t_inv: 5, keep_waves: -1, trigger_type: CardTriggerType.Interval, overrides: { ap: 150 } },
// ==================== wave 8 档(强度 ×3 ====================
// --- 驻场卡field uuid +400对应 FieldSkillSet 74xx 段) ---
{ uuid: 8855, skill: 0, wave: 8, name: "金币收益++", info: "每回合金币收益+3", is_inst: false, keep_waves: -1, field: [7405], trigger_type: CardTriggerType.Field },
{ uuid: 8857, skill: 0, wave: 8, name: "战后恢复++", info: "战斗结束生命回复量+30%", is_inst: false, keep_waves: -1, field: [7407], trigger_type: CardTriggerType.Field },
{ uuid: 8858, skill: 0, wave: 8, name: "攻击加成++", info: "英雄攻击力+30%", is_inst: false, keep_waves: -1, field: [7408], trigger_type: CardTriggerType.Field },
{ uuid: 8859, skill: 0, wave: 8, name: "击晕加成++", info: "英雄击晕概率+30%", is_inst: false, keep_waves: -1, field: [7409], trigger_type: CardTriggerType.Field },
{ uuid: 8860, skill: 0, wave: 8, name: "暴击加成++", info: "英雄暴击率+30%", is_inst: false, keep_waves: -1, field: [7410], trigger_type: CardTriggerType.Field },
{ uuid: 8861, skill: 0, wave: 8, name: "暴伤加成++", info: "英雄暴击伤害+60%", is_inst: false, keep_waves: -1, field: [7411], trigger_type: CardTriggerType.Field },
{ uuid: 8862, skill: 0, wave: 8, name: "攻速加成++", info: "英雄攻击速度+30%", is_inst: false, keep_waves: -1, field: [7412], trigger_type: CardTriggerType.Field },
{ uuid: 8866, skill: 0, wave: 8, name: "生命加成++", info: "英雄最大生命+30%", is_inst: false, keep_waves: -1, field: [7416], trigger_type: CardTriggerType.Field },
{ uuid: 8867, skill: 0, wave: 8, name: "风怒加成++", info: "英雄风怒概率+30%", is_inst: false, keep_waves: -1, field: [7417], trigger_type: CardTriggerType.Field },
{ uuid: 8868, skill: 0, wave: 8, name: "穿刺加成++", info: "英雄穿刺概率+30%", is_inst: false, keep_waves: -1, field: [7418], trigger_type: CardTriggerType.Field },
{ uuid: 8851, skill: 0, wave: 8, name: "召唤强化++", info: "召唤触发技能次数+1", is_inst: false, keep_waves: -1, field: [7001], trigger_type: CardTriggerType.Field },
{ uuid: 8852, skill: 0, wave: 8, name: "死亡强化++", info: "死亡触发技能次数+1", is_inst: false, keep_waves: -1, field: [7002], trigger_type: CardTriggerType.Field },
{ uuid: 8853, skill: 0, wave: 8, name: "开场强化++", info: "战斗开始触发技能次数+1", is_inst: false, keep_waves: -1, field: [7003], trigger_type: CardTriggerType.Field },
{ uuid: 8854, skill: 0, wave: 8, name: "结束强化++", info: "战斗结束触发技能次数+1", is_inst: false, keep_waves: -1, field: [7004], trigger_type: CardTriggerType.Field },
{ uuid: 8869, skill: 0, wave: 8, name: "攻击强化++", info: "攻击触发技能次数+1", is_inst: false, keep_waves: -1, field: [7019], trigger_type: CardTriggerType.Field },
{ uuid: 8870, skill: 0, wave: 8, name: "受击强化++", info: "被攻击触发技能次数+1", is_inst: false, keep_waves: -1, field: [7020], trigger_type: CardTriggerType.Field },
// --- 范围攻击卡ap 最高,间隔最短) ---
{ uuid: 8351, skill: 6201, wave: 8, name: "雷墙++", info: "召唤雷墙阻挡敌人,有概率击晕", is_inst: false, t_times: 999, t_inv: 4, keep_waves: -1, trigger_type: CardTriggerType.Interval, overrides: { ap: 250 } },
{ uuid: 8352, skill: 6202, wave: 8, name: "火墙++", info: "召唤火墙阻挡敌人,有概率击晕", is_inst: false, t_times: 999, t_inv: 4, keep_waves: -1, trigger_type: CardTriggerType.Interval, overrides: { ap: 250 } },
{ uuid: 8353, skill: 6203, wave: 8, name: "飓风++", info: "召唤飓风攻击敌人,有概率击晕", is_inst: false, t_times: 999, t_inv: 4, keep_waves: -1, trigger_type: CardTriggerType.Interval, overrides: { ap: 250 } },
{ uuid: 8354, skill: 6204, wave: 8, name: "水墙++", info: "召唤水墙阻挡敌人,有概率击晕", is_inst: false, t_times: 999, t_inv: 4, keep_waves: -1, trigger_type: CardTriggerType.Interval, overrides: { ap: 250 } },
{ uuid: 8355, skill: 6205, wave: 8, name: "风墙++", info: "召唤风墙困住敌人,有概率击晕", is_inst: false, t_times: 999, t_inv: 4, keep_waves: -1, trigger_type: CardTriggerType.Interval, overrides: { ap: 250 } },
{ uuid: 8356, skill: 6206, wave: 8, name: "陨石术++", info: "召唤陨石范围攻击敌人,有概率击晕", is_inst: false, t_times: 999, t_inv: 4, keep_waves: -1, trigger_type: CardTriggerType.Interval, overrides: { ap: 250 } },
];
SkillCardData.forEach(data => {

View File

@@ -21,9 +21,9 @@ export enum FacSet {
MON = 1,
}
export enum FightSet {
WAVE_COIN_BASE = 4, // 波次金币基础奖励
WAVE_COIN_GROW = 1, // 波次金币递增值
WAVE_COIN_MAX = 10, // 波次金币最大基础奖励
WAVE_COIN_BASE = 7, // 波次金币基础奖励
WAVE_COIN_GROW = 2, // 波次金币递增值
WAVE_COIN_MAX = 17, // 波次金币最大基础奖励
CRIT_DAMAGE = 50,//暴击伤害
MORE_RC = 10,//更多次数 广告获取的次数
HEARTPOS = -320,//基地位置
@@ -42,8 +42,8 @@ export enum FightSet {
SHIELD_MAX = 5,
WAVE_HEAL_RATE = 0.5, // 回合结束时所有英雄恢复最大生命值的比例
PUNCTURE_DOWN = 50,
REFRESH_COST = 1,
BASE_COST = 3,
REFRESH_COST = 2,
BASE_COST = 5,
// 刷新成本
/** 卡池等级上限(对应 CardLV 最大值) */
MAX_CARD_POOL_LEVEL = 5,

View File

@@ -397,6 +397,8 @@ export enum FieldSkillType {
HeroHp = 16, // 英雄最大生命加成
HeroWindFury = 17, // 英雄风怒概率加成
HeroPuncture = 18, // 英雄穿刺概率加成
AtkCount = 19, // 攻击触发技能次数提升
BeAtkCount = 20, // 被攻击触发技能次数提升
}
export interface FieldSkillConfig {
@@ -409,23 +411,57 @@ export interface FieldSkillConfig {
}
export const FieldSkillSet: Record<number, FieldSkillConfig> = {
7001: { uuid: 7001, name: "召唤强化", icon: "Stat_UnitSummonIncrease_02", type: FieldSkillType.SummonCount, value: 1, info: "召唤触发技能次数+1" }, //15 波技能
7002: { uuid: 7002, name: "死亡强化", icon: "Stat_PoisonChanceIncrease", type: FieldSkillType.DeadCount, value: 1, info: "死亡触发技能次数+1" }, //15 波技能
7003: { uuid: 7003, name: "开场强化", icon: "Stat_AttackRangeIncrease_01", type: FieldSkillType.StartCount, value: 1, info: "战斗开始触发技能次数+1" }, //15 波技能
7004: { uuid: 7004, name: "结束强化", icon: "Stat_UnitSummonIncrease_01", type: FieldSkillType.EndCount, value: 1, info: "战斗结束触发技能次数+1" }, //15 波技能
7005: { uuid: 7005, name: "金币收益", icon: "Stat_InventorySlotIncrease", type: FieldSkillType.WaveGold, value: 1, info: "每回合金币收益+1" }, //1 波技能
7006: { uuid: 7006, name: "出售强化", icon: "Stat_GoldGainIncrease_01", type: FieldSkillType.SellGold, value: 1, info: "卖出英雄金币+1" }, //1 波技能
7007: { uuid: 7007, name: "战后恢复", icon: "Stat_PotionBoost", type: FieldSkillType.WaveHeal, value: 0.1, info: "战斗结束生命回复量+10%" }, //1 波技能
7008: { uuid: 7008, name: "攻击加成", icon: "Stat_Attack_03", type: FieldSkillType.HeroAtk, value: 0.1, info: "英雄攻击力+10%" }, //10 波技能
7009: { uuid: 7009, name: "击晕加成", icon: "Stat_Stun_01", type: FieldSkillType.HeroStun, value: 0.1, info: "英雄击晕概率+10%" }, //10 波技能
7010: { uuid: 7010, name: "击加成", icon: "Stat_CriticalChance_02", type: FieldSkillType.HeroCrit, value: 0.1, info: "英雄暴击率+10%" }, //10 波技能
7011: { uuid: 7011, name: "暴伤加成", icon: "Stat_Critical_01", type: FieldSkillType.HeroCritDamage, value: 0.2, info: "英雄暴击伤害+20%" }, //10 波技能
7012: { uuid: 7012, name: "攻速加成", icon: "Stat_AttackSpeed_02", type: FieldSkillType.HeroSpeed, value: 0.1, info: "英雄攻击速度+10%" }, //10 波技能
7001: { uuid: 7001, name: "召唤强化", icon: "Stat_UnitSummonIncrease_02", type: FieldSkillType.SummonCount, value: 1, info: "召唤触发技能次数+1" },
7002: { uuid: 7002, name: "死亡强化", icon: "Stat_PoisonChanceIncrease", type: FieldSkillType.DeadCount, value: 1, info: "死亡触发技能次数+1" },
7003: { uuid: 7003, name: "开场强化", icon: "Stat_AttackRangeIncrease_01", type: FieldSkillType.StartCount, value: 1, info: "战斗开始触发技能次数+1" },
7004: { uuid: 7004, name: "结束强化", icon: "Stat_UnitSummonIncrease_01", type: FieldSkillType.EndCount, value: 1, info: "战斗结束触发技能次数+1" },
7019: { uuid: 7019, name: "攻击强化", icon: "Stat_Attack_03", type: FieldSkillType.AtkCount, value: 1, info: "攻击触发技能次数+1" },
7020: { uuid: 7020, name: "受击强化", icon: "Stat_Armor_01", type: FieldSkillType.BeAtkCount, value: 1, info: "被攻击触发技能次数+1" },
7005: { uuid: 7005, name: "金币收益", icon: "Stat_InventorySlotIncrease", type: FieldSkillType.WaveGold, value: 1, info: "每回合金币收益+1" },
7006: { uuid: 7006, name: "出售强化", icon: "Stat_GoldGainIncrease_01", type: FieldSkillType.SellGold, value: 1, info: "卖出英雄金币+1" },
7007: { uuid: 7007, name: "战后恢复", icon: "Stat_PotionBoost", type: FieldSkillType.WaveHeal, value: 0.1, info: "战斗结束生命回复量+10%" },
7008: { uuid: 7008, name: "击加成", icon: "Stat_Attack_03", type: FieldSkillType.HeroAtk, value: 0.1, info: "英雄攻击力+10%" },
7009: { uuid: 7009, name: "击晕加成", icon: "Stat_Stun_01", type: FieldSkillType.HeroStun, value: 0.1, info: "英雄击晕概率+10%" },
7010: { uuid: 7010, name: "暴击加成", icon: "Stat_CriticalChance_02", type: FieldSkillType.HeroCrit, value: 0.1, info: "英雄暴击率+10%" },
7011: { uuid: 7011, name: "暴伤加成", icon: "Stat_Critical_01", type: FieldSkillType.HeroCritDamage, value: 0.2, info: "英雄暴击伤害+20%" },
7012: { uuid: 7012, name: "攻速加成", icon: "Stat_AttackSpeed_02", type: FieldSkillType.HeroSpeed, value: 0.1, info: "英雄攻击速度+10%" },
// ---- 13~18 来自原 TalentSet统一为驻场百分比 / 绝对值口径 ----
// 出售返还由原生 SellGold 承担SellBonus 不再单独配置
7013: { uuid: 7013, name: "购买优惠", icon: "Stat_KeyCapacityIncrease", type: FieldSkillType.BuyDiscount, value: 1, info: "购买卡牌费用-1金币" }, //10 波技能
7014: { uuid: 7014, name: "刷新优惠", icon: "Stat_RandomBonus", type: FieldSkillType.RefreshDiscount, value: 1, info: "刷新卡牌费用-1金币" }, //10 波技能
7016: { uuid: 7016, name: "生命加成", icon: "Stat_Hp_02", type: FieldSkillType.HeroHp, value: 0.1, info: "英雄最大生命+10%" }, //10 波技能
7017: { uuid: 7017, name: "风怒加成", icon: "Stat_CriticalComboChance", type: FieldSkillType.HeroWindFury, value: 0.1, info: "英雄风怒概率+10%" }, //10 波技能
7018: { uuid: 7018, name: "穿刺加成", icon: "Stat_Tripleshot", type: FieldSkillType.HeroPuncture, value: 0.1, info: "英雄穿刺概率+10%" }, //10 波技能
7013: { uuid: 7013, name: "购买优惠", icon: "Stat_KeyCapacityIncrease", type: FieldSkillType.BuyDiscount, value: 1, info: "购买卡牌费用-1金币" },
7014: { uuid: 7014, name: "刷新优惠", icon: "Stat_RandomBonus", type: FieldSkillType.RefreshDiscount, value: 1, info: "刷新卡牌费用-1金币" },
7016: { uuid: 7016, name: "生命加成", icon: "Stat_Hp_02", type: FieldSkillType.HeroHp, value: 0.1, info: "英雄最大生命+10%" },
7017: { uuid: 7017, name: "风怒加成", icon: "Stat_CriticalComboChance", type: FieldSkillType.HeroWindFury, value: 0.1, info: "英雄风怒概率+10%" },
7018: { uuid: 7018, name: "穿刺加成", icon: "Stat_Tripleshot", type: FieldSkillType.HeroPuncture, value: 0.1, info: "英雄穿刺概率+10%" },
// ============ wave5 档(原值 ×2 ============
7205: { uuid: 7205, name: "金币收益+", icon: "Stat_InventorySlotIncrease", type: FieldSkillType.WaveGold, value: 2, info: "每回合金币收益+2" },
7206: { uuid: 7206, name: "出售强化+", icon: "Stat_GoldGainIncrease_01", type: FieldSkillType.SellGold, value: 2, info: "卖出英雄金币+2" },
7207: { uuid: 7207, name: "战后恢复+", icon: "Stat_PotionBoost", type: FieldSkillType.WaveHeal, value: 0.2, info: "战斗结束生命回复量+20%" },
7208: { uuid: 7208, name: "攻击加成+", icon: "Stat_Attack_03", type: FieldSkillType.HeroAtk, value: 0.2, info: "英雄攻击力+20%" },
7209: { uuid: 7209, name: "击晕加成+", icon: "Stat_Stun_01", type: FieldSkillType.HeroStun, value: 0.2, info: "英雄击晕概率+20%" },
7210: { uuid: 7210, name: "暴击加成+", icon: "Stat_CriticalChance_02", type: FieldSkillType.HeroCrit, value: 0.2, info: "英雄暴击率+20%" },
7211: { uuid: 7211, name: "暴伤加成+", icon: "Stat_Critical_01", type: FieldSkillType.HeroCritDamage, value: 0.4, info: "英雄暴击伤害+40%" },
7212: { uuid: 7212, name: "攻速加成+", icon: "Stat_AttackSpeed_02", type: FieldSkillType.HeroSpeed, value: 0.2, info: "英雄攻击速度+20%" },
7213: { uuid: 7213, name: "购买优惠+", icon: "Stat_KeyCapacityIncrease", type: FieldSkillType.BuyDiscount, value: 2, info: "购买卡牌费用-2金币" },
7214: { uuid: 7214, name: "刷新优惠+", icon: "Stat_RandomBonus", type: FieldSkillType.RefreshDiscount, value: 2, info: "刷新卡牌费用-2金币" },
7216: { uuid: 7216, name: "生命加成+", icon: "Stat_Hp_02", type: FieldSkillType.HeroHp, value: 0.2, info: "英雄最大生命+20%" },
7217: { uuid: 7217, name: "风怒加成+", icon: "Stat_CriticalComboChance", type: FieldSkillType.HeroWindFury, value: 0.2, info: "英雄风怒概率+20%" },
7218: { uuid: 7218, name: "穿刺加成+", icon: "Stat_Tripleshot", type: FieldSkillType.HeroPuncture, value: 0.2, info: "英雄穿刺概率+20%" },
7405: { uuid: 7405, name: "金币收益++", icon: "Stat_InventorySlotIncrease", type: FieldSkillType.WaveGold, value: 3, info: "每回合金币收益+3" },
7406: { uuid: 7406, name: "出售强化++", icon: "Stat_GoldGainIncrease_01", type: FieldSkillType.SellGold, value: 3, info: "卖出英雄金币+3" },
7407: { uuid: 7407, name: "战后恢复++", icon: "Stat_PotionBoost", type: FieldSkillType.WaveHeal, value: 0.3, info: "战斗结束生命回复量+30%" },
7408: { uuid: 7408, name: "攻击加成++", icon: "Stat_Attack_03", type: FieldSkillType.HeroAtk, value: 0.3, info: "英雄攻击力+30%" },
7409: { uuid: 7409, name: "击晕加成++", icon: "Stat_Stun_01", type: FieldSkillType.HeroStun, value: 0.3, info: "英雄击晕概率+30%" },
7410: { uuid: 7410, name: "暴击加成++", icon: "Stat_CriticalChance_02", type: FieldSkillType.HeroCrit, value: 0.3, info: "英雄暴击率+30%" },
7411: { uuid: 7411, name: "暴伤加成++", icon: "Stat_Critical_01", type: FieldSkillType.HeroCritDamage, value: 0.6, info: "英雄暴击伤害+60%" },
7412: { uuid: 7412, name: "攻速加成++", icon: "Stat_AttackSpeed_02", type: FieldSkillType.HeroSpeed, value: 0.3, info: "英雄攻击速度+30%" },
7413: { uuid: 7413, name: "购买优惠++", icon: "Stat_KeyCapacityIncrease", type: FieldSkillType.BuyDiscount, value: 3, info: "购买卡牌费用-3金币" },
7414: { uuid: 7414, name: "刷新优惠++", icon: "Stat_RandomBonus", type: FieldSkillType.RefreshDiscount, value: 3, info: "刷新卡牌费用-3金币" },
7416: { uuid: 7416, name: "生命加成++", icon: "Stat_Hp_02", type: FieldSkillType.HeroHp, value: 0.3, info: "英雄最大生命+30%" },
7417: { uuid: 7417, name: "风怒加成++", icon: "Stat_CriticalComboChance", type: FieldSkillType.HeroWindFury, value: 0.3, info: "英雄风怒概率+30%" },
7418: { uuid: 7418, name: "穿刺加成++", icon: "Stat_Tripleshot", type: FieldSkillType.HeroPuncture, value: 0.3, info: "英雄穿刺概率+30%" },
};

View File

@@ -101,10 +101,19 @@ export class SkillTriggerHelper {
*/
private static handleAtking(model: HeroAttrsComp, view: HeroViewComp) {
if (!model.atking || model.atking.length === 0) return;
let triggerCount = 1;
if (model.fac === FacSet.HERO) {
triggerCount += FieldSkillHelper.getFieldSkillTotalValue(FieldSkillType.AtkCount);
}
triggerCount = Math.max(1, Math.floor(triggerCount));
model.atking.forEach(atkConfig => {
// atk_count 代表已进行的普攻次数。当其余数刚好整除配置阈值时触发。
if (model.atk_count > 0 && model.atk_count % atkConfig.t_num === 0) {
this.dispatchSingle(atkConfig.s_uuid, model, view, SkillTriggerType.Atking, atkConfig.overrides);
for (let i = 0; i < triggerCount; i++) {
this.dispatchSingle(atkConfig.s_uuid, model, view, SkillTriggerType.Atking, atkConfig.overrides);
}
}
});
}
@@ -115,10 +124,19 @@ export class SkillTriggerHelper {
*/
private static handleAtked(model: HeroAttrsComp, view: HeroViewComp) {
if (!model.atked || model.atked.length === 0) return;
let triggerCount = 1;
if (model.fac === FacSet.HERO) {
triggerCount += FieldSkillHelper.getFieldSkillTotalValue(FieldSkillType.BeAtkCount);
}
triggerCount = Math.max(1, Math.floor(triggerCount));
model.atked.forEach(atkConfig => {
// atked_count 代表已承受的受击次数。当其余数刚好整除配置阈值时触发。
if (model.atked_count > 0 && model.atked_count % atkConfig.t_num === 0) {
this.dispatchSingle(atkConfig.s_uuid, model, view, SkillTriggerType.Atked, atkConfig.overrides);
for (let i = 0; i < triggerCount; i++) {
this.dispatchSingle(atkConfig.s_uuid, model, view, SkillTriggerType.Atked, atkConfig.overrides);
}
}
});
}