```
feat(player): 添加 UseCoins 方法统一处理玩家金币消耗逻辑 重构购买物品和变更外观功能,使用 UseCoins 方法替代手动操作 Coins 字段, 确保金币扣除的安全性和一致性。同时修复可能因并发导致的金币超扣问题。 此外,调整部分战斗系统接口参数传递方式,将 DamageZone 指
This commit is contained in:
@@ -24,6 +24,8 @@ type Input struct {
|
||||
Effects []Effect //effects 实际上全局就是effect无限回合 //effects容器 技能的
|
||||
EffectCache []Effect //这里是命中前执行的容器,也就是命中前执行的所有逻辑相关,理论上一个effect被激活,就应该同时将其他的effect取消激活
|
||||
Effect_Lost []Effect
|
||||
//CanUseSkill bool
|
||||
//Effect_Lost []Effect
|
||||
//NewEffects []Effect
|
||||
|
||||
DamageZone struct {
|
||||
@@ -96,6 +98,7 @@ func (our *Input) ResetAttackValue() {
|
||||
our.AttackValue.GainHp = 0
|
||||
our.AttackValue.LostHp = 0
|
||||
our.DamageZone.Damage = decimal.NewFromInt(0)
|
||||
//our.CanUseSkill = true
|
||||
}
|
||||
|
||||
// 这个每回合都会调用
|
||||
@@ -145,6 +148,7 @@ func (our *Input) GetStatusBonus() float64 {
|
||||
|
||||
// 解析并 施加effect
|
||||
func (our *Input) Parseskill(defender *Input, skill *action.SelectSkillAction) {
|
||||
|
||||
our.EffectCache = make([]Effect, 0) //先把上一回合数据清空,但是应该把本身延续类效果集成过来
|
||||
our.Effect_Lost = make([]Effect, 0)
|
||||
// our.Initeffectcache() //这里说明是延续的效果,每次复制出来一个新的就好了
|
||||
|
||||
Reference in New Issue
Block a user