refactor: 重构战斗系统为统一动作包结构
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful
This commit is contained in:
@@ -6,20 +6,35 @@ import (
|
||||
)
|
||||
|
||||
// 503. g3. 群体攻击技能可额外增加一个目标(最多不超过5个目标)
|
||||
// TODO: 需要了解如何修改群体攻击技能的目标数量
|
||||
type NewSel503 struct {
|
||||
NewSel0
|
||||
}
|
||||
|
||||
// TurnStart 在拥有者本回合准备出手时触发;若本次技能是群体技能,则把目标数额外加 1。
|
||||
func (e *NewSel503) TurnStart(fattack *action.SelectSkillAction, sattack *action.SelectSkillAction) {
|
||||
//魂印特性有不在场的情况,绑定时候将精灵和特性绑定
|
||||
if e.ID().GetCatchTime() != e.Ctx().Our.CurPet[0].Info.CatchTime {
|
||||
owner := e.SourceInput()
|
||||
if owner == nil || !e.IsOwner() {
|
||||
return
|
||||
}
|
||||
|
||||
// TODO: 检查技能是否是群体攻击技能
|
||||
// 如果是群体攻击,增加一个目标(最多不超过5个)
|
||||
// 需要了解技能的目标数量限制机制
|
||||
for _, act := range []*action.SelectSkillAction{fattack, sattack} {
|
||||
if act == nil || act.SkillEntity == nil || act.SkillEntity.Pet == nil {
|
||||
continue
|
||||
}
|
||||
if act.SkillEntity.Pet.Info.CatchTime != e.ID().GetCatchTime() {
|
||||
continue
|
||||
}
|
||||
if act.SkillEntity.XML.AtkType != 0 {
|
||||
return
|
||||
}
|
||||
if act.SkillEntity.XML.AtkNum <= 0 {
|
||||
act.SkillEntity.XML.AtkNum = 1
|
||||
}
|
||||
if act.SkillEntity.XML.AtkNum < 5 {
|
||||
act.SkillEntity.XML.AtkNum++
|
||||
}
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
func init() {
|
||||
|
||||
Reference in New Issue
Block a user