Files
bl/logic/controller/room_buy.go
昔念 39dc79f706 ```
feat(xml): 添加进化配置映射并更新错误码提示

- 在 `common/data/xmlres/file.go` 中添加 EVOLVMAP 用于加载进化配置
- 更新多个控制器中的金币不足错误码,统一使用骄阳余额不足错误码 `ErrSunDouInsufficient10016`
- 修改战斗逻辑中 AI 动作触发机制,并优化战斗流程
- 增加对融合材料合法性的校验
- 调整战斗动作通道缓冲区大小以提升并发处理能力
- 更新 XML 配置
2025-12-16 02:50:10 +08:00

28 lines
641 B
Go

package controller
import (
"blazing/common/data/xmlres"
"blazing/common/socket/errorcode"
"blazing/logic/service/player"
"blazing/logic/service/room"
)
// 购买家具
func (h Controller) BUY_FITMENT(data *room.C2S_BUY_FITMENT, c *player.Player) (result *room.S2C_BUY_FITMENT, err errorcode.ErrorCode) {
result = &room.S2C_BUY_FITMENT{}
used := xmlres.ItemsMAP[int(data.ID)].Price * int(data.Count)
if !c.UseCoins(uint32(used)) {
return nil, errorcode.ErrorCodes.ErrSunDouInsufficient10016
}
c.Service.Room.Add(data.ID, data.Count)
c.Info.Coins -= uint32(used)
result.ID = data.ID
result.Coins = c.Info.Coins
return
}