148 lines
3.6 KiB
Go
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())
|
|
}
|