零件消耗优化

This commit is contained in:
hahwu 2025-09-03 17:51:36 +08:00
parent 2d3c42bcb5
commit 2b601c6d52
3 changed files with 30 additions and 0 deletions

View File

@ -596,6 +596,20 @@ func (p *Player) HandleItem(itemList []*item.Item, Label string) error {
case item.ITEM_TYPE_CHESS: // 棋子 case item.ITEM_TYPE_CHESS: // 棋子
ChessMod := p.PlayMod.getChessMod() ChessMod := p.PlayMod.getChessMod()
if v.Num < 0 {
err := ChessMod.LosePart(v.Id, -v.Num)
if err != nil {
return err
}
p.TeLog("chess_part_consume", map[string]interface{}{
"chess_id": v.Id,
"chess_name": mergeDataCfg.GetNameById(v.Id),
"consume_num": -v.Num,
"remain_num": ChessMod.PartBag.List[v.Id].Num,
"consume_from": Label,
})
continue
}
for i := 0; i < v.Num; i++ { for i := 0; i < v.Num; i++ {
ChessMod.AddChessBuff(v.Id) ChessMod.AddChessBuff(v.Id)
} }

View File

@ -241,6 +241,11 @@ func UnitDecoratePartCost(p *Player) error {
DecorateMod.PartClassPool = []int{} DecorateMod.PartClassPool = []int{}
DecorateMod.PartPool = make(map[int]int) DecorateMod.PartPool = make(map[int]int)
DecorateMod.InitData() DecorateMod.InitData()
Items, _ := DecorateMod.GetDecorateCostItem(1, 41)
err := p.HandleLoseItem(Items, "")
if err != nil {
fmt.Print(err)
}
return nil return nil
} }
@ -252,5 +257,6 @@ func UnitOrderTrigger(p *Player) error {
Emit := ChessMod.GetEmitList() Emit := ChessMod.GetEmitList()
EnergyMul := BaseMod.GetEnergyMul() EnergyMul := BaseMod.GetEnergyMul()
OrderMod.TriggerOrder(Lv, order.TRIGGER_TYPE_ORDER, Emit, EnergyMul) OrderMod.TriggerOrder(Lv, order.TRIGGER_TYPE_ORDER, Emit, EnergyMul)
return nil return nil
} }

View File

@ -357,6 +357,16 @@ func (cb *ChessBorad) GetChessFromBuff(Chess int) error {
return errors.New("chess id not exist") return errors.New("chess id not exist")
} }
func (cb *ChessBorad) LosePart(PartId int, Num int) error {
v, ok := cb.PartBag.List[PartId]
if !ok || v.Num < Num {
return errors.New("part id not exist or num not enough")
}
v.Num -= Num
cb.PartBag.List[PartId] = v
return nil
}
// 返回数据 // 返回数据
func (cb *ChessBorad) BackData() *msg.ResPlayerChessInfo { func (cb *ChessBorad) BackData() *msg.ResPlayerChessInfo {
var ChessBagGrids []*msg.ChessBagGrid var ChessBagGrids []*msg.ChessBagGrid