refactor: 重、、、、
This commit is contained in:
@@ -171,6 +171,17 @@ func equalInts(a, b []alpacadecimal.Decimal) bool {
|
||||
|
||||
// 返回被替换eddect
|
||||
func (our *Input) AddEffect(in *Input, e Effect) Effect {
|
||||
if e == nil {
|
||||
return nil
|
||||
}
|
||||
ctx := e.Ctx()
|
||||
if ctx != nil {
|
||||
if ctx.Source == nil {
|
||||
ctx.Source = in
|
||||
}
|
||||
ctx.Carrier = our
|
||||
ctx.Target = our
|
||||
}
|
||||
|
||||
if in != our {
|
||||
canuseskill := our.Exec(func(t Effect) bool { //这个是能否使用技能
|
||||
@@ -233,8 +244,15 @@ func (our *Input) Exec(fn func(Effect) bool) bool {
|
||||
result := true
|
||||
for _, value := range our.Effects {
|
||||
if value.Alive() {
|
||||
value.Ctx().Our = our
|
||||
value.Ctx().Opp = our.Opp
|
||||
ctx := value.Ctx()
|
||||
ctx.Our = our
|
||||
ctx.Opp = our.Opp
|
||||
ctx.Carrier = our
|
||||
ctx.Target = our
|
||||
ctx.Source = value.GetInput()
|
||||
if ctx.Source == nil {
|
||||
ctx.Source = our
|
||||
}
|
||||
//value.Ctx().DamageZone = &info.DamageZone{}
|
||||
if !fn(value) { //存在false,但是仍然要向下执行
|
||||
result = false //如果是false,说明存在阻止向下执行的effect,比如免疫能力提升效果
|
||||
|
||||
Reference in New Issue
Block a user