Files
bl/logic/service/fight/effect/effect_73.go
xinian 875ad668aa
Some checks failed
ci/woodpecker/push/my-first-workflow Pipeline failed
feat: 实现战斗效果逻辑和接口重构
2026-03-28 21:57:22 +08:00

43 lines
834 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.CurrentPet.GetMaxHP().Mul(alpacadecimal.NewFromInt(30))
if tt.Damage.Cmp(maxhp) == 1 {
tt.Damage = maxhp
}
e.Ctx().Opp.Damage(e.Ctx().Our, tt)
return true
}