Files
bl/logic/service/fight/effect/effect_73.go
xinian 9c6f3988de
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful
refactor: 重构 CurrentPet 为 CurPet
2026-04-04 04:34:43 +08:00

43 lines
833 B
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package effect
import (
"blazing/logic/service/fight/info"
"blazing/logic/service/fight/input"
"github.com/alpacahq/alpacadecimal"
)
/**
* 如果先出手则受攻击时反弹200%的伤害给对手持续n回合
*/
func init() {
t := &Effect73{}
input.InitEffect(input.EffectType.Skill, 73, t)
}
// Effect 73: 若先手攻击则将所受伤害2倍反击给对手
type Effect73 struct {
RoundEffectSideArg0Minus1Base
}
func (e *Effect73) Action_end_ex() bool {
if !e.IsFirst() {
return true
}
tt := &info.DamageZone{
Type: info.DamageType.Fixed,
Damage: e.Ctx().Opp.SumDamage.Mul(alpacadecimal.NewFromInt(2)),
}
maxhp := e.Ctx().Our.CurPet[0].GetMaxHP().Mul(alpacadecimal.NewFromInt(30))
if tt.Damage.Cmp(maxhp) == 1 {
tt.Damage = maxhp
}
e.Ctx().Opp.Damage(e.Ctx().Our, tt)
return true
}