Compare commits
3 Commits
72fa2814e5
...
79687fbace
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
79687fbace | ||
|
|
bd2e4cb16d | ||
|
|
00c875ff18 |
@@ -445,6 +445,16 @@ export const SkillSet: Record<number, SkillConfig> = {
|
||||
DTType: DTType.single, kind: SkillKind.Support, ap: 50, hit_count: 1, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.support,
|
||||
RType: RType.fixed, EType: EType.animationEnd, buff_type: Attrs.defense, info: "全体友方防御提升50点, 持续1次",
|
||||
},
|
||||
6413: {
|
||||
uuid: 6413, name: "荆棘强化", sp_name: "buff_wind", icon: "Stat_Defense", TGroup: TGroup.Team, readyAnm: "up_blue", endAnm: "", act: "atk",
|
||||
DTType: DTType.single, kind: SkillKind.Support, ap: 10, hit_count: 1, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.support,
|
||||
RType: RType.fixed, EType: EType.animationEnd, buff_type: Attrs.thorns_dmg, info: "全体友方固定反伤提升10点, 永久生效",
|
||||
},
|
||||
6414: {
|
||||
uuid: 6414, name: "荆棘比例强化", sp_name: "buff_wind", icon: "Stat_Defense", TGroup: TGroup.Team, readyAnm: "up_blue", endAnm: "", act: "atk",
|
||||
DTType: DTType.single, kind: SkillKind.Support, ap: 10, hit_count: 1, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.support,
|
||||
RType: RType.fixed, EType: EType.animationEnd, buff_type: Attrs.thorns_rate, info: "全体友方比例反伤提升10%, 永久生效",
|
||||
},
|
||||
6501: {
|
||||
uuid: 6501, name: "复活", sp_name: "buff_wind", icon: "Stat_HolyDamage", TGroup: TGroup.Self, readyAnm: "up_ap", endAnm: "", act: "atk",
|
||||
DTType: DTType.single, kind: SkillKind.Support, ap: 50, hit_count: 3, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.support,
|
||||
@@ -525,6 +535,12 @@ export const SkillSet: Record<number, SkillConfig> = {
|
||||
uuid: 6515, name: "荆棘比例", sp_name: "buff_wind", icon: "Stat_Defense", TGroup: TGroup.Team, readyAnm: "up_blue", endAnm: "", act: "atk",
|
||||
DTType: DTType.single, kind: SkillKind.Support, ap: 0, hit_count: 3, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.support,
|
||||
RType: RType.fixed, EType: EType.animationEnd, buff_type: Attrs.thorns_rate, timed_buff_id: 7028, info: "全体友方获得10%比例反伤, 持续5秒",
|
||||
},
|
||||
// 次级反伤技能(供触发器引用,无 buff_type,效果由引用处 overrides 注入)
|
||||
6516: {
|
||||
uuid: 6516, name: "次级荆棘", sp_name: "buff_wind", icon: "Stat_Defense", TGroup: TGroup.Self, readyAnm: "up_blue", endAnm: "", act: "atk",
|
||||
DTType: DTType.single, kind: SkillKind.Support, ap: 0, hit_count: 1, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.support,
|
||||
RType: RType.fixed, EType: EType.animationEnd, info: "次级反伤技能,效果由引用处 overrides 注入",
|
||||
}
|
||||
|
||||
};
|
||||
@@ -547,6 +563,8 @@ export enum FieldSkillType {
|
||||
AtkCount = 19, // 攻击触发技能次数提升
|
||||
BeAtkCount = 20, // 被攻击触发技能次数提升
|
||||
HeroPunctureDmg = 21, // 英雄穿透后伤害加成(百分点;乘算:PUNCTURE_DMG_RATIO * (1 + bonus/100))
|
||||
HeroThornsDmg = 22, // 英雄固定反伤加成
|
||||
HeroThornsRate = 23, // 英雄比例反伤加成(百分点)
|
||||
}
|
||||
|
||||
export interface FieldSkillConfig {
|
||||
@@ -581,4 +599,6 @@ export const FieldSkillSet: Record<number, FieldSkillConfig> = {
|
||||
7018: { uuid: 7018, name: "攻击强化", icon: "Stat_Attack_03", type: FieldSkillType.AtkCount, info: "攻击触发技能次数提升" },
|
||||
7019: { uuid: 7019, name: "受击强化", icon: "Stat_Armor_01", type: FieldSkillType.BeAtkCount, info: "被攻击触发技能次数提升" },
|
||||
7020: { uuid: 7020, name: "穿透强化", icon: "Stat_Tripleshot", type: FieldSkillType.HeroPunctureDmg, info: "英雄穿透后伤害提升(百分点)" },
|
||||
7021: { uuid: 7021, name: "荆棘光环", icon: "Stat_Defense", type: FieldSkillType.HeroThornsDmg, info: "英雄固定反伤提升" },
|
||||
7022: { uuid: 7022, name: "荆棘比例光环", icon: "Stat_Defense", type: FieldSkillType.HeroThornsRate, info: "英雄比例反伤提升(百分点)" },
|
||||
};
|
||||
|
||||
@@ -542,16 +542,18 @@ export class HeroAttrsComp extends ecs.Comp {
|
||||
return Math.max(0, this.defense + mods.flatSum + mods.pctSum);
|
||||
}
|
||||
|
||||
/** 最终反伤固定值 = 基础 + 限时修饰(加法模型) */
|
||||
/** 最终反伤固定值 = 基础 + 限时修饰 + 驻场光环(加法模型) */
|
||||
public getFinalThornsDmg(): number {
|
||||
const mods = this.aggregateTimedMods(Attrs.thorns_dmg);
|
||||
return Math.max(0, this.thorns_dmg + mods.flatSum + mods.pctSum);
|
||||
const field = this.fac === FacSet.HERO ? HeroAttrsComp.getFieldPercentValue(FieldSkillType.HeroThornsDmg) : 0;
|
||||
return Math.max(0, this.thorns_dmg + mods.flatSum + mods.pctSum + field);
|
||||
}
|
||||
|
||||
/** 最终反伤比例 = 基础 + 限时修饰(加法模型,百分点) */
|
||||
/** 最终反伤比例 = 基础 + 限时修饰 + 驻场光环(加法模型,百分点) */
|
||||
public getFinalThornsRate(): number {
|
||||
const mods = this.aggregateTimedMods(Attrs.thorns_rate);
|
||||
return Math.max(0, this.thorns_rate + mods.flatSum + mods.pctSum);
|
||||
const field = this.fac === FacSet.HERO ? HeroAttrsComp.getFieldPercentValue(FieldSkillType.HeroThornsRate) : 0;
|
||||
return Math.max(0, this.thorns_rate + mods.flatSum + mods.pctSum + field);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -528,8 +528,9 @@ export class SCastSystem extends ecs.ComblockSystem implements ecs.ISystemUpdate
|
||||
}
|
||||
|
||||
if (kind === SkillKind.Heal && sAp !== 0) {
|
||||
// 治疗强化(heal_power,百分点):辅助专精天赋写入,放大施法者的治疗量
|
||||
const addHp = Math.floor(sAp * _cAttrsComp.ap / 100 * (1 + _cAttrsComp.heal_power / 100));
|
||||
// 治疗量 = 被治疗者最终最大生命(getFinalHpMax 含驻场光环与计时 buff 加成)× 技能 ap%
|
||||
// 治疗强化(heal_power,百分点):辅助专精天赋写入,按施法者放大治疗量
|
||||
const addHp = Math.floor(model.getFinalHpMax() * sAp / 100 * (1 + _cAttrsComp.heal_power / 100));
|
||||
model.add_hp(addHp);
|
||||
target.health(addHp);
|
||||
if (_cAttrsComp.fac === FacSet.HERO) {
|
||||
|
||||
@@ -52,7 +52,7 @@ export const ROLE_ULT_SKILL = {
|
||||
}
|
||||
|
||||
// 辅助类技能(任意职业可用作大招)
|
||||
export const SUPPORT_ULT = [6301, 6302, 6412, 6501]
|
||||
export const SUPPORT_ULT = [6301, 6302, 6412, 6413, 6414, 6501, 6514, 6515, 6516]
|
||||
|
||||
export function defaultHero() {
|
||||
return {
|
||||
|
||||
Reference in New Issue
Block a user