feat(player): 添加 UseCoins 方法统一处理玩家金币消耗逻辑

重构购买物品和变更外观功能,使用 UseCoins 方法替代手动操作 Coins 字段,
确保金币扣除的安全性和一致性。同时修复可能因并发导致的金币超扣问题。

此外,调整部分战斗系统接口参数传递方式,将 DamageZone 指
This commit is contained in:
2025-11-13 21:36:18 +08:00
parent 6e01848b04
commit 5e3d558d30
24 changed files with 306 additions and 114 deletions

View File

@@ -6,28 +6,29 @@ import (
)
type Effect interface {
Compare_Pre(fattack, sattack *action.SelectSkillAction) bool //比较前对优先级的修改
Fight_Start() bool //战斗开始
Turn_Start() //回合开始,注入特性
Turn_Start(fattack, sattack *action.SelectSkillAction) //回合开始,注入特性
Compare_Pre(fattack, sattack *action.SelectSkillAction) bool //比较前对优先级的修改
//技能命中前的返回值代表是否可以出手 ,对命中本身的修改应该是对上下文本身的修改
Skill_Hit_Pre() bool //对技能修改 行动开始前,注入视为等参数在这里实现
Skill_Hit() bool //这是是命中后的对技能的修改,比如变威力
Skill_Hit_ex() bool // 技能命中前触发//预处理受击技能 被攻击方效果,比如受击时无效技能这样
//对技能修改 行动开始前,注入视为等参数在这里实现
Skill_Hit_Pre(fattack, sattack *action.SelectSkillAction) bool //比较前对优先级的修改
Skill_Hit() bool //这是是命中后的对技能的修改,比如变威力
Skill_Hit_ex() bool // 技能命中前触发//预处理受击技能 被攻击方效果,比如受击时无效技能这样
Calculate_Pre() bool //视为 无视效果,相当于这里对敌方的修改
OnSkill() bool // 触发on miss onhit
//Skill_Can() bool //使用技能 可以取消用技能节点 技能无效节点锁定伤害加上
Damage_ADD() bool // 攻击前触发 ,这时候就是+区间
Damage_Mul() bool // 攻击触发
Damage_ADD(*info.DamageZone) bool // 攻击前触发 ,这时候就是+区间
Damage_Mul(*info.DamageZone) bool // 攻击触发
Damage_Floor() bool // 保底伤害
Damage_DIV_ex() bool //受击前触发 这时候就是百分比减伤区间
Damage_SUB_ex() bool // 受击触发 这时候就是点数减伤
Damage_Lock() bool //锁定伤害
Damage_Lock_ex() bool //被动方锁定伤害
Damage_Shield() bool // 护盾值变化时触发
Damage_Floor(*info.DamageZone) bool // 保底伤害
Damage_DIV_ex(*info.DamageZone) bool //受击前触发 这时候就是百分比减伤区间
Damage_SUB_ex(*info.DamageZone) bool // 受击触发 这时候就是点数减伤
Damage_Lock(*info.DamageZone) bool //锁定伤害
Damage_Lock_ex(*info.DamageZone) bool //被动方锁定伤害
Damage_Shield(*info.DamageZone) bool // 护盾值变化时触发
//Damage_Use() bool // 伤害作用
Skill_Use_ex() bool //技能PP减少节点
Skill_Useed() bool //技能PP减少节点