充值优化
This commit is contained in:
parent
4bfc5266b6
commit
bf5cbc9d5d
@ -90,3 +90,18 @@ func GetRankReward(Rank int) []*item.Item {
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func GetMaxRewardId() int {
|
||||
data, err := gamedata.GetData(CFG_CHAMPSHIP_JACKPOT)
|
||||
if err != nil {
|
||||
return 0
|
||||
}
|
||||
MaxId := 0
|
||||
for k := range data {
|
||||
Id := GoUtil.Int(k)
|
||||
if Id > MaxId {
|
||||
MaxId = Id
|
||||
}
|
||||
}
|
||||
return MaxId
|
||||
}
|
||||
|
||||
@ -20,6 +20,7 @@ func Charge(p *Player, ChargeId int) {
|
||||
PlayroomFire(p, ChargeId) // 游乐场
|
||||
ActivityFire(p, ChargeId) // 活动礼包
|
||||
ADPetWorkFire(p, ChargeId) // 广告宠物工作
|
||||
PassFire(p, ChargeId)
|
||||
OrderMod := p.PlayMod.getOrderMod()
|
||||
OrderMod.SetIsCharge() // 设置订单模块为充值状态
|
||||
p.QuestTrigger(&quest.Trigger{Label: quest.TRIGGER_LABEL_PURCHASE, A: []interface{}{}})
|
||||
@ -38,13 +39,12 @@ func SendCharge(p *Player, d *ChargeExtra) {
|
||||
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
|
||||
if Item != nil {
|
||||
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())
|
||||
|
||||
@ -20,6 +20,7 @@ import (
|
||||
playroomCfg "server/conf/playroom"
|
||||
"server/db"
|
||||
"server/game/mod/activity"
|
||||
"server/game/mod/friend"
|
||||
"server/game/mod/item"
|
||||
"server/game/mod/limitedTimeEvent"
|
||||
MsgMod "server/game/mod/msg"
|
||||
@ -678,6 +679,8 @@ func (p *Player) HandleItem(itemList []*item.Item, Label string) error {
|
||||
"avatar_id": Effect[0],
|
||||
"income_from": Label,
|
||||
})
|
||||
FriendMod := p.PlayMod.getFriendMod()
|
||||
FriendMod.AddActLog(friend.ACT_LOG_TYPE_GET_NEW_AVATAR_FRAME, "")
|
||||
p.PlayerDecoLog("avatar", Effect[0], Label)
|
||||
BackDataType[item.ITEM_TYPE_AVATAR] = struct{}{}
|
||||
case item.ITEM_TYPE_EMOJI: // 表情
|
||||
@ -687,6 +690,8 @@ func (p *Player) HandleItem(itemList []*item.Item, Label string) error {
|
||||
"emoji_id": Effect[0],
|
||||
"income_from": Label,
|
||||
})
|
||||
FriendMod := p.PlayMod.getFriendMod()
|
||||
FriendMod.AddActLog(friend.ACT_LOG_TYPE_GET_NEW_EMOTION, "")
|
||||
p.PlayerDecoLog("emoji", Effect[0], Label)
|
||||
BackDataType[item.ITEM_TYPE_EMOJI] = struct{}{}
|
||||
case item.ITEM_TYPE_FACE: // 头像
|
||||
@ -696,6 +701,8 @@ func (p *Player) HandleItem(itemList []*item.Item, Label string) error {
|
||||
"face_id": Effect[0],
|
||||
"income_from": Label,
|
||||
})
|
||||
FriendMod := p.PlayMod.getFriendMod()
|
||||
FriendMod.AddActLog(friend.ACT_LOG_TYPE_GET_NEW_AVATAR, "")
|
||||
p.PlayerDecoLog("face", Effect[0], Label)
|
||||
BackDataType[item.ITEM_TYPE_FACE] = struct{}{}
|
||||
case item.ITEM_TYPE_ACTIVITY_RACE: // 活动竞速
|
||||
@ -719,6 +726,8 @@ func (p *Player) HandleItem(itemList []*item.Item, Label string) error {
|
||||
PlayroomMod.AddCollect(Effect, Label)
|
||||
BackDataType[item.ITEM_TYPE_PLAYROOM_DECORATION] = struct{}{}
|
||||
Type, Name := playroomCfg.GetDecoInfo(Effect)
|
||||
FriendMod := p.PlayMod.getFriendMod()
|
||||
FriendMod.AddActLog(friend.ACT_LOG_TYPE_GET_NEW_DECORATION, "")
|
||||
p.TeLog("room_deco_get", map[string]interface{}{
|
||||
"room_deco_type": Type,
|
||||
"room_deco_name": Name,
|
||||
@ -731,6 +740,8 @@ func (p *Player) HandleItem(itemList []*item.Item, Label string) error {
|
||||
BackDataType[item.ITEM_TYPE_PLAYROOM_DRESS] = struct{}{}
|
||||
Type := playroomCfg.GetDressPart(Effect)
|
||||
Name := playroomCfg.GetDressName(Effect)
|
||||
FriendMod := p.PlayMod.getFriendMod()
|
||||
FriendMod.AddActLog(friend.ACT_LOG_TYPE_GET_NEW_COSTUME, "")
|
||||
p.TeLog("pet_deco_get", map[string]interface{}{
|
||||
"pet_deco_type": Type,
|
||||
"pet_deco_name": Name,
|
||||
|
||||
@ -7,6 +7,7 @@ import (
|
||||
"server/GoUtil"
|
||||
"server/conf"
|
||||
cardCfg "server/conf/card"
|
||||
champshipCfg "server/conf/champship"
|
||||
collectCfg "server/conf/collect"
|
||||
decorateCfg "server/conf/decorate"
|
||||
emojiCfg "server/conf/emoji"
|
||||
@ -491,6 +492,19 @@ func ReqDecorate(player *Player, buf []byte) error {
|
||||
"deco_step_id": fmt.Sprintf("%d_%d", AreaId, DecorateId),
|
||||
"material_cost": PartItem,
|
||||
})
|
||||
FriendMod := player.PlayMod.getFriendMod()
|
||||
if AreaId == 1 && DecorateId == 20 {
|
||||
FriendMod.AddActLog(friend.ACT_LOG_TYPE_COMPLETE_RESTROOM, "")
|
||||
}
|
||||
if AreaId == 1 && DecorateId == 29 {
|
||||
FriendMod.AddActLog(friend.ACT_LOG_TYPE_COMPLETE_RESTAURANT, "")
|
||||
}
|
||||
if AreaId == 1 && DecorateId == 36 {
|
||||
FriendMod.AddActLog(friend.ACT_LOG_TYPE_COMPLETE_BATHROOM, "")
|
||||
}
|
||||
if AreaId == 1 && DecorateId == 44 {
|
||||
FriendMod.AddActLog(friend.ACT_LOG_TYPE_COMPLETE_CLOAKROOM, "")
|
||||
}
|
||||
|
||||
player.PlayMod.save()
|
||||
player.PushClientRes(DecorateMod.BackData())
|
||||
@ -1077,7 +1091,8 @@ func ReqCardCollectReward(player *Player, buf []byte) error {
|
||||
})
|
||||
return err
|
||||
}
|
||||
|
||||
FriendMod := player.PlayMod.getFriendMod()
|
||||
FriendMod.AddActLog(friend.ACT_LOG_TYPE_COMPLETE_CARD_ALBUM, fmt.Sprintf("%d", int(req.Color)))
|
||||
if chess != 0 {
|
||||
player.PlayMod.getChessMod().AddChessBuff(chess)
|
||||
player.PushClientRes(player.PlayMod.getOrderMod().BackData())
|
||||
@ -1158,6 +1173,8 @@ func ReqAllCollectReward(player *Player, buf []byte) error {
|
||||
})
|
||||
return err
|
||||
}
|
||||
FriendMod := player.PlayMod.getFriendMod()
|
||||
FriendMod.AddActLog(friend.ACT_LOG_TYPE_COMPLETE_ALL_CARDS, "all")
|
||||
player.PlayMod.save()
|
||||
player.TeLog("ReqAllCollectReward", map[string]interface{}{
|
||||
"item_list": itemList,
|
||||
@ -2708,6 +2725,11 @@ func ReqChampshipReward(player *Player, buf []byte) error {
|
||||
player.PushClientRes(&msg.ResChampshipReward{
|
||||
Code: msg.RES_CODE_SUCCESS,
|
||||
})
|
||||
MaxId := champshipCfg.GetMaxRewardId()
|
||||
if MaxId == ChampshipMod.Reward {
|
||||
FriendMod := player.PlayMod.getFriendMod()
|
||||
FriendMod.AddActLog(friend.ACT_LOG_TYPE_GET_CHAMPIONSHIP_PRIZE, "")
|
||||
}
|
||||
player.TeLog("championship_reward", map[string]interface{}{
|
||||
"season_id": GoUtil.ZeroTimestamp(),
|
||||
"champship_step_id": ChampshipMod.Reward,
|
||||
@ -2871,6 +2893,10 @@ func ReqChampshipRankReward(player *Player, buf []byte) error {
|
||||
})
|
||||
return err
|
||||
}
|
||||
if MyLastRank >= 5 {
|
||||
FriendMod := player.PlayMod.getFriendMod()
|
||||
FriendMod.AddActLog(friend.ACT_LOG_TYPE_GET_CHAMPIONSHIP_RANK, GoUtil.String(MyLastRank))
|
||||
}
|
||||
player.PlayMod.save()
|
||||
BackChampship(player)
|
||||
player.PushClientRes(&msg.ResChampshipRankReward{
|
||||
@ -3596,8 +3622,9 @@ func ReqPlayroomSelectReward(player *Player, buf []byte) error {
|
||||
"is_chip": true,
|
||||
"item_list": Items,
|
||||
})
|
||||
FriendMod := player.PlayMod.getFriendMod()
|
||||
FriendMod.AddActLog(friend.ACT_LOG_TYPE_GET_VISIT_GAME_PRIZE_1, "")
|
||||
PlayroomMod.ResetGame()
|
||||
|
||||
player.PlayerDecoSetLog("emoji", int(req.EmojiId), "playroom_select_reward")
|
||||
PlayroomBackData(player)
|
||||
player.PlayMod.save()
|
||||
@ -3778,6 +3805,10 @@ func ReqPlayroomFlipReward(player *Player, buf []byte) error {
|
||||
if LimitedTimeEventMod.CheckExist(limitedTimeEvent.EVENT_TYPE_PET_THIEF) && Result == playroom.FLIP_TYPE_GOLD {
|
||||
player.GetPetThiefReward(Target)
|
||||
}
|
||||
if Result == playroom.FLIP_TYPE_GOLD {
|
||||
FriendMod := player.PlayMod.getFriendMod()
|
||||
FriendMod.AddActLog(friend.ACT_LOG_TYPE_GET_VISIT_GAME_PRIZE, "")
|
||||
}
|
||||
err = player.HandleItem(Items1, msg.ITEM_POP_LABEL_PlayroomFlip.String())
|
||||
if err != nil {
|
||||
player.SendErrClienRes(&msg.ResPlayroomFlip{
|
||||
@ -4238,6 +4269,8 @@ func ReqFriendTreasureEnd(player *Player, buf []byte) error {
|
||||
)
|
||||
return err
|
||||
}
|
||||
FriendMod := player.PlayMod.getFriendMod()
|
||||
FriendMod.AddActLog(friend.ACT_LOG_TYPE_OPEN_PET_TREASURE, "")
|
||||
player.TeLog("pet_treasure_open", map[string]interface{}{
|
||||
"pet_treasure_step": FriendTreasureMod.Shift,
|
||||
"pet_treasure_box": FriendTreasureMod.BoxItems,
|
||||
|
||||
@ -10,7 +10,7 @@ import (
|
||||
)
|
||||
|
||||
type FriendMod struct {
|
||||
FriendList map[int]struct{} // 好友列表
|
||||
FriendList map[int]struct{} // TODO 废弃 好友列表
|
||||
NewFriendList map[int]*FriendInfo // 好友列表
|
||||
ApplyList map[int]int64 // 好友请求列表
|
||||
SendApply map[int]int64 // 发送的申请
|
||||
@ -21,6 +21,13 @@ type FriendMod struct {
|
||||
Id int64 // 已同步msg ID
|
||||
Npc []int // npc id
|
||||
Bubble map[int]*BubbleInfo // 气泡
|
||||
ActivityLog []*ActLogInfo // 活动日志
|
||||
}
|
||||
|
||||
type ActLogInfo struct {
|
||||
Type int
|
||||
Time int64
|
||||
Param string
|
||||
}
|
||||
|
||||
type BubbleInfo struct {
|
||||
@ -97,6 +104,43 @@ const (
|
||||
APPLY_TYPE_WISH = 1 // 心愿单请求
|
||||
)
|
||||
|
||||
const (
|
||||
ACT_LOG_TYPE_FIRST_LOGIN = 1 // 首次登入游戏
|
||||
ACT_LOG_TYPE_COMPLETE_RESTROOM = 2 // 完成休息室
|
||||
ACT_LOG_TYPE_COMPLETE_RESTAURANT = 3 // 完成餐厅
|
||||
ACT_LOG_TYPE_COMPLETE_BATHROOM = 4 // 完成浴室
|
||||
ACT_LOG_TYPE_COMPLETE_CLOAKROOM = 5 // 完成衣帽间
|
||||
ACT_LOG_TYPE_GET_NEW_AVATAR = 6 // 获得新头像
|
||||
ACT_LOG_TYPE_GET_NEW_AVATAR_FRAME = 7 // 获得新头像框
|
||||
ACT_LOG_TYPE_GET_NEW_EMOTION = 8 // 获得新表情
|
||||
ACT_LOG_TYPE_GET_NEW_DECORATION = 9 // 获得新装饰品
|
||||
ACT_LOG_TYPE_GET_NEW_COSTUME = 10 // 获得新服装
|
||||
ACT_LOG_TYPE_COMPLETE_CARD_ALBUM = 11 // 完成卡册收集
|
||||
ACT_LOG_TYPE_COMPLETE_ALL_CARDS = 12 // 完成全卡牌收集
|
||||
ACT_LOG_TYPE_GET_CHAMPIONSHIP_RANK = 13 // 获得锦标赛名次
|
||||
ACT_LOG_TYPE_GET_CHAMPIONSHIP_PRIZE = 14 // 获得锦标赛大奖
|
||||
ACT_LOG_TYPE_GET_LIMITED_ACTIVITY_PRIZE = 15 // 获得限时活动大奖
|
||||
ACT_LOG_TYPE_JOIN_FRIEND_COOP_ACTIVITY = 16 // 参加好友合作类活动
|
||||
ACT_LOG_TYPE_GET_VISIT_GAME_PRIZE = 17 // 获得拜访小游戏大奖 翻牌
|
||||
ACT_LOG_TYPE_GET_VISIT_GAME_PRIZE_1 = 18 // 获得拜访小游戏大奖 除了翻牌
|
||||
ACT_LOG_TYPE_OPEN_PET_TREASURE = 19 // 打开宠物宝藏
|
||||
ACT_LOG_TYPE_VISIT_UPVOTE = 20 // 拜访时点赞
|
||||
ACT_LOG_TYPE_COMPLETE_HANDBOOK_ACHIEVEMENT = 21 // 完成图鉴收集成就
|
||||
ACT_LOG_TYPE_COMPLETE_CHAPTER_SCENES = 22 // 完成第X章所有场景
|
||||
ACT_LOG_TYPE_LOST_USER_RETURN = 23 // 流失用户回归
|
||||
ACT_LOG_TYPE_ACCEPT_MY_INVITE_REGISTER = 24 // 接受"我"的邀请注册
|
||||
ACT_LOG_TYPE_BECOME_MY_FRIEND = 25 // 成为"我"的好友
|
||||
ACT_LOG_TYPE_SEND_CARD_TO_ME = 26 // 向"我"赠送卡牌
|
||||
ACT_LOG_TYPE_CARD_EXCHANGE_WITH_ME = 27 // 与"我"达成卡牌交换
|
||||
ACT_LOG_TYPE_APPEAR_IN_MY_PET_TREASURE = 28 // 出现在"我"的宠物宝藏中并被选中
|
||||
ACT_LOG_TYPE_VISIT_MY_CAT_PRIVATE_TREASURE = 29 // 拜访"我"并玩了猫猫私房宝
|
||||
ACT_LOG_TYPE_VISIT_MY_OTHER_GAME_WIN = 30 // 拜访"我"并玩了猫猫私房宝以外的小游戏,成功装箱
|
||||
ACT_LOG_TYPE_VISIT_MY_OTHER_GAME_LOSE = 31 // 拜访"我"并玩了猫猫私房宝以外的小游戏,未成功装箱
|
||||
ACT_LOG_TYPE_UPVOTE_MY_COLLECTION_INFO = 32 // 为"我"的全收集信息点赞
|
||||
ACT_LOG_TYPE_UPVOTE_MY_ROOM = 33 // 为"我"的房间点赞
|
||||
ACT_LOG_TYPE_JOIN_COOP_ACTIVITY_WITH_ME = 34 // 与"我"一起参加好友合作类活动
|
||||
)
|
||||
|
||||
type LogInfo struct {
|
||||
Id int
|
||||
Uid int
|
||||
@ -109,6 +153,7 @@ type LogInfo struct {
|
||||
|
||||
func (f *FriendMod) InitData() {
|
||||
if f.FriendList == nil {
|
||||
f.AddActLog(ACT_LOG_TYPE_FIRST_LOGIN, "")
|
||||
f.FriendList = make(map[int]struct{})
|
||||
}
|
||||
if f.ApplyList == nil {
|
||||
@ -328,6 +373,17 @@ func (f *FriendMod) ResetGoldCardEx() {
|
||||
}
|
||||
}
|
||||
|
||||
func (f *FriendMod) AddActLog(Type int, Param string) {
|
||||
f.ActivityLog = append(f.ActivityLog, &ActLogInfo{
|
||||
Type: Type,
|
||||
Time: GoUtil.Now(),
|
||||
Param: Param,
|
||||
})
|
||||
if len(f.ActivityLog) > 20 {
|
||||
f.ActivityLog = f.ActivityLog[len(f.ActivityLog)-20:]
|
||||
}
|
||||
}
|
||||
|
||||
func (f *FriendMod) Upvote(Id int) ([]*item.Item, int, error) {
|
||||
info := &LogInfo{}
|
||||
for _, v := range f.Log {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user