Merge branch 'main' of https://cnb.cool/blzing/blazing
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful

This commit is contained in:
昔念
2026-03-31 10:03:29 +08:00
4 changed files with 37 additions and 64 deletions

View File

@@ -25,7 +25,7 @@ func (e *Effect1067) Skill_Use() bool {
type Effect1067Sub struct{ RoundEffectArg0Base }
func (e *Effect1067Sub) OnSkill() bool {
func (e *Effect1067Sub) Skill_Use() bool {
if len(e.Args()) < 4 || e.Args()[1].Cmp(alpacadecimal.Zero) <= 0 {
return true
}
@@ -146,10 +146,13 @@ func (e *Effect1071) Skill_Use() bool {
type Effect1071Sub struct{ RoundEffectArg0Base }
func (e *Effect1071Sub) Heal_Pre(_ action.BattleActionI, value *int) bool {
func (e *Effect1071Sub) Heal_Pre(ac action.BattleActionI, value *int) bool {
if value == nil || *value <= 0 || len(e.Args()) < 3 {
return true
}
if _, ok := ac.(*action.UseItemAction); ok {
return true
}
sub := e.Ctx().Opp.InitEffect(input.EffectType.Sub, 10711, int(e.Args()[1].IntPart()), int(e.Args()[2].IntPart()))
if sub != nil {
e.Ctx().Opp.AddEffect(e.Ctx().Opp, sub)
@@ -157,36 +160,16 @@ func (e *Effect1071Sub) Heal_Pre(_ action.BattleActionI, value *int) bool {
return true
}
type Effect1071BoostSub struct {
node.EffectNode
remaining int
damage alpacadecimal.Decimal
}
func (e *Effect1071BoostSub) SetArgs(t *input.Input, a ...int) {
e.EffectNode.SetArgs(t, a...)
e.Duration(-1)
if len(a) > 0 {
e.remaining = a[0]
}
if len(a) > 1 {
e.damage = alpacadecimal.NewFromInt(int64(a[1]))
}
}
type Effect1071BoostSub struct{ RoundEffectArg0Base }
func (e *Effect1071BoostSub) OnSkill() bool {
if e.remaining <= 0 || e.damage.Cmp(alpacadecimal.Zero) <= 0 {
e.Alive(false)
if len(e.Args()) < 2 || e.Args()[1].Cmp(alpacadecimal.Zero) <= 0 {
return true
}
if e.Ctx().SkillEntity == nil || e.Ctx().SkillEntity.Category() == info.Category.STATUS {
return true
}
e.Ctx().Opp.Damage(e.Ctx().Our, &info.DamageZone{Type: info.DamageType.Fixed, Damage: e.damage})
e.remaining--
if e.remaining <= 0 {
e.Alive(false)
}
e.Ctx().Opp.Damage(e.Ctx().Our, &info.DamageZone{Type: info.DamageType.Fixed, Damage: e.Args()[1]})
return true
}

View File

@@ -596,6 +596,11 @@ var effectInfoByID = map[int]string{
1049: "击败对手则自身全属性+{0}",
1050: "未击败对手则下{0}回合攻击使对手{1}%{2}",
1051: "对手体力高于{0}则将对手体力减少到{1}",
1067: "{0}回合内每回合使用技能恢复自身最大体力的1/{1}恢复体力时若自身体力低于最大体力的1/{2}则恢复效果转变为吸取对手最大体力的1/{3}",
1068: "下{0}回合受到致命伤害时残留{1}点体力",
1069: "反转自身能力下降状态,反转成功则{0}回合内躲避所有攻击",
1070: "对手处于能力下降状态时自身先制+1",
1071: "{0}回合内若对手恢复体力(药剂恢复除外),则{1}回合内自身攻击附加{2}点固定伤害",
1097: "造成的攻击伤害若低于280则令对手疲惫未击败对手则令对手下1回合使用的攻击技能无效;技能结束后对手体力值高于0则50%进行一次额外行动以触发星皇之怒星皇之怒50%令对手失明未触发则2回合内令对手使用的属性技能无效",
1098: "致命一击率提升20%每次使用增加20%最高100%打出致命一击后令自身下2次技能触发的星皇之怒威力不再减少;技能结束后对手体力值高于0则50%进行一次额外行动以触发星皇之怒星皇之怒下2次自身使用的攻击技能先制+2",
1099: "消除对手能力提升状态,消除成功则自身免疫下{0}次受到的异常状态",