pet_home_server/src/server/game/ChargeFunc.go
2025-09-29 17:34:04 +08:00

148 lines
3.6 KiB
Go

package game
import (
"server/GoUtil"
activityCfg "server/conf/activity"
"server/game/mod/item"
MsgMod "server/game/mod/msg"
"server/game/mod/piggyBank"
"server/game/mod/quest"
"server/msg"
"server/pkg/github.com/name5566/leaf/log"
)
func Charge(p *Player, ChargeId int) {
ChargeFire(p, ChargeId) // 充值
EndlessFire(p, ChargeId) // 无尽礼包
PiggyBankFire(p, ChargeId) // 猪猪银行
PlayroomFire(p, ChargeId) // 游乐场
ActivityFire(p, ChargeId) // 活动礼包
ADPetWorkFire(p, ChargeId) // 广告宠物工作
OrderMod := p.PlayMod.getOrderMod()
OrderMod.SetIsCharge() // 设置订单模块为充值状态
p.QuestTrigger(&quest.Trigger{Label: quest.TRIGGER_LABEL_PURCHASE, A: []interface{}{}})
}
func SendCharge(p *Player, d *ChargeExtra) {
G_GameLogicPtr.FriendMgrSend(&MsgMod.Msg{
From: int(p.M_DwUin),
Type: MsgMod.HANDLE_TYPE_SEND_CHARGE,
To: int(d.Uid),
SendT: GoUtil.Now(),
Extra: d,
})
}
func ADPetWorkFire(p *Player, ChargeId int) {
ChargeMod := p.PlayMod.getChargeMod()
Item := ChargeMod.FireAdReward(ChargeId)
if Item == nil {
return
}
err := p.HandleItem(Item, msg.ITEM_POP_LABEL_ActivityGift.String())
if err != nil {
log.Debug("ChargeFire err : %s", err)
return
}
p.PlayMod.save()
p.PushClientRes(ChargeMod.BackData())
}
func ActivityFire(p *Player, ChargeId int) {
ActivityMod := p.PlayMod.getActivityMod()
ActivityId := activityCfg.GetActivityGiftId(ChargeId)
ActivityInfo := GetActivityInfoById(p, ActivityId)
if ActivityInfo == nil {
log.Debug("ActivityFire ActivityInfo nil : player id :%d, charge id:%d", p.M_DwUin, ChargeId)
return
}
Item, err := ActivityMod.Fire(ChargeId)
if err != nil {
log.Debug("ActivityFire err : %s", err)
return
}
if Item == nil {
return
}
err = p.HandleItem(Item, msg.ITEM_POP_LABEL_ActivityGift.String())
if err != nil {
log.Debug("ChargeFire err : %s", err)
return
}
p.PlayMod.save()
p.initAcitivity()
p.BackDataActivity()
}
func PlayroomFire(p *Player, ChargeId int) {
PlayroomMod := p.PlayMod.getPlayroomMod()
Item := PlayroomMod.Fire(ChargeId)
if Item == nil {
return
}
err := p.HandleItem(Item, msg.ITEM_POP_LABEL_Playroom.String())
if err != nil {
log.Debug("ChargeFire err : %s", err)
}
p.TeLog("get_assist_battery", map[string]interface{}{
"assist_battery _type": "charge",
})
p.PlayMod.save()
}
func PiggyBankFire(p *Player, ChargeId int) {
PiggyBankMod := p.PlayMod.getPiggyBankMod()
Item := PiggyBankMod.Fire(ChargeId)
if Item == nil {
return
}
err := p.HandleItem(Item, msg.ITEM_POP_LABEL_PiggyBank.String())
if err != nil {
log.Debug("ChargeFire err : %s", err)
}
LimitedTimePiggyBankTrigger(p)
p.TeLog("piggy_bank_open", map[string]interface{}{
"piggy_bank_type": piggyBank.PIGGY_BANK_TYPE_CHARGE,
"item_list": Item,
"open_cost": ChargeId,
})
p.PlayMod.save()
}
// 处理玩家充值
func ChargeFire(p *Player, ChargeId int) {
ChargeMod := p.PlayMod.getChargeMod()
Item := ChargeMod.Fire(ChargeId)
if Item == nil {
return
}
err := p.HandleItem(Item, msg.ITEM_POP_LABEL_Charge.String())
if err != nil {
log.Debug("ChargeFire err : %s", err)
}
p.PlayMod.save()
p.PushClientRes(ChargeMod.BackData())
}
func ChargeItem(p *Player, ChargeId int) []*item.Item {
ChargeMod := p.PlayMod.getChargeMod()
Item := ChargeMod.Fire(ChargeId)
return Item
}
// 处理玩家充值
func EndlessFire(p *Player, ChargeId int) {
EndlessMod := p.PlayMod.getEndlessMod()
Item := EndlessMod.Fire(ChargeId)
if Item == nil {
return
}
err := p.HandleItem(Item, msg.ITEM_POP_LABEL_Endless.String())
if err != nil {
log.Debug("ChargeFire err : %s", err)
}
p.PlayMod.save()
p.PushClientRes(EndlessMod.BackData())
}