diff --git a/logic/service/common/playeri.go b/logic/service/common/playeri.go index c4f8a999b..72fe859a6 100644 --- a/logic/service/common/playeri.go +++ b/logic/service/common/playeri.go @@ -6,7 +6,6 @@ import ( ) type PlayerI interface { - GetAction() GetPlayerCaptureContext() *info.PlayerCaptureContext Roll(int, int) (bool, float64, float64) SendPack(b []byte) error diff --git a/logic/service/fight/effect/effect_status.go b/logic/service/fight/effect/effect_status.go index f2b52b16b..347a9bcdf 100644 --- a/logic/service/fight/effect/effect_status.go +++ b/logic/service/fight/effect/effect_status.go @@ -1 +1,28 @@ package effect + +import ( + "blazing/logic/service/fight/info" + "blazing/logic/service/fight/input" + "blazing/logic/service/fight/node" +) + +// 施加一个基类effect +type EffectStatus struct { + node.EffectNode + status info.EnumBattleStatus +} + +func init() { + //麻痹,疲惫,害怕,石化,都是无法行动 + + tt := func(t info.EnumBattleStatus, f *EffectStatus) { + + f.status=t + input.InitStatusEffect(int(t), f) + } + tt(info.BattleStatus.Paralysis, &EffectStatus{}) + tt(info.BattleStatus.Tired, &EffectStatus{}) + tt(info.BattleStatus.Sleep, &EffectStatus{}) + tt(info.BattleStatus.Petrified, &EffectStatus{}) + +} diff --git a/logic/service/fight/fightc.go b/logic/service/fight/fightc.go index d69ac97e9..0f79a7c44 100644 --- a/logic/service/fight/fightc.go +++ b/logic/service/fight/fightc.go @@ -260,7 +260,7 @@ func (f *FightC) battleLoop() { if action.GetPlayerID() != 0 && f.Info.FightId == 3 { - f.GetInputByAction(action, true).Player.GetAction() + f.GetInputByAction(action, true).GetAction(f.Our) } @@ -465,7 +465,6 @@ func (f *FightC) enterturn(fattack, sattack BattleActionI) { attacker, defender = f.First, f.Second attackeraction = fattack attacker.First = true //先手技能 - //attacker.BattleActionI, defender.BattleActionI = fattack, sattack } else { attacker, defender = f.Second, f.First @@ -479,10 +478,7 @@ func (f *FightC) enterturn(fattack, sattack BattleActionI) { continue } - - //**回合开始前enterturn - - attacker.Exec(func(t input.Effect) bool { //计算命中 + attacker.Exec(func(t input.Effect) bool { //回合开始前 //结算状态 t.OnTurnStart(defender) @@ -541,7 +537,6 @@ func (f *FightC) enterturn(fattack, sattack BattleActionI) { SAttack: *f.Second.AttackValue, } - for i := 0; i < 20; i++ { //堆叠状态剩余回合 ate, ok := attacker.GetStatusEffect(i) if ok { diff --git a/logic/service/fight/input/attr.go b/logic/service/fight/input/attr.go index 71a2d2055..39f820c5a 100644 --- a/logic/service/fight/input/attr.go +++ b/logic/service/fight/input/attr.go @@ -17,3 +17,8 @@ func (u *Input) SetProp(prop, level int) { //todo 待交互 } +func (u *Input) GetAction(opp *Input) { + //使用1#技能,实际上要按照四个技能权重去使用 + u.FightC.UseSkill(u.Player, int32(u.FightC.GetCurrPET(u.Player).Skills[0].ID)) + +} diff --git a/logic/service/fight/input/nodemanger.go b/logic/service/fight/input/nodemanger.go index 0ec643ad0..ec3a434d2 100644 --- a/logic/service/fight/input/nodemanger.go +++ b/logic/service/fight/input/nodemanger.go @@ -12,7 +12,7 @@ import ( type Effect interface { OnBattleStart() bool //战斗开始 - OnTurnStart(opp *Input) bool //回合开始 + OnTurnStart(opp *Input) //回合开始 UseSkill(opp *Input) bool //使用技能 可以取消用技能节点 SkillUseEnd(opp *Input) diff --git a/logic/service/fight/node/Turn.go b/logic/service/fight/node/Turn.go index 6d3010fdf..a2ccaa863 100644 --- a/logic/service/fight/node/Turn.go +++ b/logic/service/fight/node/Turn.go @@ -11,11 +11,10 @@ func (e *EffectNode) PreTurnStart() bool { } // 回合开始 -func (e *EffectNode) OnTurnStart(opp *input.Input) bool { +func (e *EffectNode) OnTurnStart(opp *input.Input) { //处理异常状态 - return true } // 回合结束一次性effect清楚掉 diff --git a/logic/service/player/ai.go b/logic/service/player/ai.go index 5f8086cc2..62a06b50c 100644 --- a/logic/service/player/ai.go +++ b/logic/service/player/ai.go @@ -34,10 +34,6 @@ func (f *AI_player) SendFightEndInfo(_ info.FightOverInfo) { //fmt.Println("战斗结束") } -func (f *AI_player) GetAction() { - //使用1#技能,实际上要按照四个技能权重去使用 - f.FightC.UseSkill(f, int32(f.FightC.GetCurrPET(f).Skills[0].ID)) -} func (p *AI_player) GetPetInfo() []model.PetInfo { diff --git a/public/seer_data-main/resource/config/xml/effectInfo.json b/public/config/effectInfo.json similarity index 100% rename from public/seer_data-main/resource/config/xml/effectInfo.json rename to public/config/effectInfo.json