Merge branch 'develop' into sdk
This commit is contained in:
commit
12390f9abb
@ -138,15 +138,15 @@ func GetSpecialShopGrade(Money float64, Type int) int {
|
||||
})
|
||||
}
|
||||
sort.Slice(l, func(i, j int) bool {
|
||||
return l[i].money < l[j].money
|
||||
return l[i].money > l[j].money
|
||||
})
|
||||
|
||||
for _, v := range l {
|
||||
if Money < v.money {
|
||||
if Money <= v.money {
|
||||
return v.id
|
||||
}
|
||||
}
|
||||
return 0
|
||||
return l[0].id
|
||||
}
|
||||
|
||||
func GetUnlockShopLv() int {
|
||||
|
||||
@ -118,6 +118,16 @@ func GetOneKeyDecorateUnlockLv() int {
|
||||
return gamedata.GetIntValue(data, "Value")
|
||||
}
|
||||
|
||||
// 获取每次装饰增加的体力值
|
||||
func GetDecorateAddEnergy() int {
|
||||
data, err := gamedata.GetDataByKey(DECORATE_CONST, "AddEnergy")
|
||||
if err != nil {
|
||||
log.Debug("GetDecorateAddEnergy not found")
|
||||
return 0
|
||||
}
|
||||
return gamedata.GetIntValue(data, "Value")
|
||||
}
|
||||
|
||||
func GetAreaPerPExp(AreaId int) int {
|
||||
data, err := gamedata.GetDataByIntKey(DECORATE_AREA, AreaId)
|
||||
if err != nil {
|
||||
|
||||
@ -548,3 +548,35 @@ func GetOrderItem(Star int) map[int][]gamedata.PetOrderItem {
|
||||
}
|
||||
return r
|
||||
}
|
||||
|
||||
func GetOrderItemList() []int {
|
||||
data, err := gamedata.GetData(CFG_PLAYROOM_ORDERITEM)
|
||||
if err != nil {
|
||||
log.Debug("GetOrderItemList err:%v", err)
|
||||
return nil
|
||||
}
|
||||
r := make([]int, 0)
|
||||
for k := range data {
|
||||
Id := GoUtil.Int(k)
|
||||
if Id == 0 {
|
||||
log.Debug("GetOrderItemList Id is 0")
|
||||
continue
|
||||
}
|
||||
r = append(r, Id)
|
||||
}
|
||||
return r
|
||||
}
|
||||
|
||||
func GetPetOrderItemExpByList(ItemList []*item.Item) int {
|
||||
r := 0
|
||||
for _, v := range ItemList {
|
||||
data, err := gamedata.GetDataByIntKey(CFG_PLAYROOM_ORDERITEM, v.Id)
|
||||
if err != nil {
|
||||
// log.Debug("GetPetOrderItemExpByList err:%v", err)
|
||||
continue
|
||||
}
|
||||
Star := gamedata.GetIntValue(data, "Star")
|
||||
r += Star * v.Num
|
||||
}
|
||||
return r
|
||||
}
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
"AppID": 1,
|
||||
"LogLevel": "debug",
|
||||
"LogPath": "./log",
|
||||
"TCPAddr": ":3605",
|
||||
"TCPAddr": ":3601",
|
||||
"WSAddr": ":3566",
|
||||
"MySqlAddr": "127.0.0.1",
|
||||
"MySqlPort": "3306",
|
||||
|
||||
@ -76,6 +76,7 @@ func (f *FriendMgr) Init() {
|
||||
f.RegisterHandler(msg.HANDLE_TYPE_TREASURE_RESULT, f.sendToPlayer)
|
||||
f.RegisterHandler(msg.HANDLE_TYPE_FACEBOOK_UNBIND, f.sendToPlayer)
|
||||
f.RegisterHandler(msg.HANDLE_TYPE_PLAYROOM_KISS, f.sendToPlayerOnline)
|
||||
f.RegisterHandler(msg.HANDLE_TYPE_PLAYROOM_GAME, f.sendToPlayerOnline)
|
||||
|
||||
f.RegisterHandler(msg.HANDLE_TYPE_VAR_USER_GET, f.GetVarUserData)
|
||||
f.RegisterHandler(msg.HANDLE_TYPE_VAR_USER_SET, f.SetVarUserData)
|
||||
@ -178,6 +179,9 @@ func sendToPlayerOnline(m *msg.Msg) error {
|
||||
}
|
||||
|
||||
func FriendMgrSend(m1 *msg.Msg) error {
|
||||
if m1.SendT == 0 {
|
||||
m1.SendT = GoUtil.Now()
|
||||
}
|
||||
m := m1.Clone()
|
||||
ToServer := GoUtil.GetServerIdByUid(m.To)
|
||||
if ToServer != conf.Server.ServerID {
|
||||
|
||||
@ -93,7 +93,7 @@ func ReqGmCommand_(player *Player, Command string) error {
|
||||
player.LoginBackData()
|
||||
case "addChampshipLog":
|
||||
num, _ := strconv.Atoi(arg[1])
|
||||
player.AddLog(num, friend.LOG_TYPE_PLAYROOM_CHAMPSHIP, fmt.Sprintf("%d_%d", 1, 1))
|
||||
player.AddLog(num, friend.LOG_TYPE_PLAYROOM_CHAMPSHIP, fmt.Sprintf("%d_%d", 1, 1), GoUtil.Now())
|
||||
case "serverZeroUpdate":
|
||||
VarMod := player.PlayMod.getVarMod()
|
||||
VarMod.DailyResetTime = 0
|
||||
@ -328,6 +328,19 @@ func ReqGmCommand_(player *Player, Command string) error {
|
||||
a := player.GetAgent()
|
||||
a.Close()
|
||||
player.ClearData()
|
||||
case "resetFriend":
|
||||
FriendMod := player.PlayMod.getFriendMod()
|
||||
FriendMod.FriendList = make(map[int]struct{})
|
||||
FriendMod.ApplyList = make(map[int]int64)
|
||||
FriendMod.Card = make(map[string]*card.CardInfo)
|
||||
FriendMod.SendApply = make(map[int]int64)
|
||||
FriendMod.NewFriendList = make(map[int]*friend.FriendInfo)
|
||||
FriendMod.Npc = []int{}
|
||||
FriendMod.Id = 0
|
||||
FriendMod.Log = make([]*friend.LogInfo, 0)
|
||||
FriendMod.InitData()
|
||||
FriendListBackData(player)
|
||||
FriendLogBackData(player)
|
||||
case "addFriend":
|
||||
FriendMod := player.PlayMod.getFriendMod()
|
||||
Uid, _ := strconv.Atoi(arg[1])
|
||||
|
||||
@ -741,6 +741,7 @@ func (p *Player) LoginBackData() {
|
||||
p.PushClientRes(p.PlayMod.mod_list.Base.BackData())
|
||||
p.PushClientRes(p.PlayMod.mod_list.Chess.BackData())
|
||||
p.PushClientRes(p.PlayMod.mod_list.Order.BackData())
|
||||
p.PushClientRes(p.PlayMod.mod_list.Card.BackData())
|
||||
p.PushClientRes(p.PlayMod.mod_list.Decorate.BackData())
|
||||
p.PushClientRes(p.PlayMod.mod_list.DailyTask.BackData())
|
||||
p.PushClientRes(p.PlayMod.mod_list.SevenLogin.BackData())
|
||||
@ -845,7 +846,9 @@ func (p *Player) UpdateUserInfo() {
|
||||
|
||||
func (p *Player) HandleInUserRank() {
|
||||
DecorateMod := p.PlayMod.getDecorateMod()
|
||||
Score := DecorateMod.GetDecorateNum()
|
||||
Score := float64(DecorateMod.GetDecorateNum())
|
||||
BaseMod := p.PlayMod.getBaseMod()
|
||||
Score += float64(BaseMod.GetLevel()) * 1000000 // 等级加成
|
||||
// 更新排行榜
|
||||
m := &MsgMod.Msg{
|
||||
Type: MsgMod.HANDLE_TYPE_RANK,
|
||||
@ -879,7 +882,7 @@ func (p *Player) HandleInChampshipRank() {
|
||||
G_GameLogicPtr.ChampshipMgrSend(m)
|
||||
}
|
||||
|
||||
func (p *Player) AddLog(Uid int, Type int, Param string) {
|
||||
func (p *Player) AddLog(Uid int, Type int, Param string, Time int64) {
|
||||
FriendMod := p.PlayMod.getFriendMod()
|
||||
Id := FriendMod.AddLog(Uid, Type, Param)
|
||||
p.PlayMod.save()
|
||||
@ -889,7 +892,7 @@ func (p *Player) AddLog(Uid int, Type int, Param string) {
|
||||
Type: int32(Type),
|
||||
Param: Param,
|
||||
Id: int32(Id),
|
||||
Time: int32(GoUtil.Now()),
|
||||
Time: int32(Time),
|
||||
},
|
||||
})
|
||||
}
|
||||
|
||||
@ -522,13 +522,14 @@ func (p *PlayerBaseData) AddExp(player *Player, exp int, pexp int) (int, error)
|
||||
player.initAcitivity()
|
||||
player.BackDataActivity()
|
||||
player.QuestTrigger(&quest.Trigger{Label: quest.TRIGGER_LABEL_UPLV})
|
||||
p.p.TeLog("level_up", map[string]interface{}{
|
||||
player.TeLog("level_up", map[string]interface{}{
|
||||
"after_level": BaseMod.Level,
|
||||
})
|
||||
p.p.TeLog("property_level_up", map[string]interface{}{
|
||||
player.TeLog("property_level_up", map[string]interface{}{
|
||||
"property_level": BaseMod.Level,
|
||||
"property_level_reward": userCfg.GetUnlock(int(BaseMod.Level)),
|
||||
})
|
||||
player.HandleInUserRank()
|
||||
}
|
||||
if len(UpLevelItem) > 0 {
|
||||
err := player.HandleItem(UpLevelItem, msg.ITEM_POP_LABEL_LevUpReward.String())
|
||||
|
||||
@ -77,12 +77,14 @@ func handle(p *Player, m *msg.Msg) error {
|
||||
case msg.HANDLE_TYPE_INVITE_FRIEND: // 邀请好友
|
||||
InviteMod := p.PlayMod.getInviteMod()
|
||||
InviteMod.AddInvite(m.From)
|
||||
p.AddLog(m.From, friend.LOG_TYPE_FRIEND_INVITE, "", m.SendT)
|
||||
p.PlayMod.save()
|
||||
p.PushClientRes(InviteMod.NotifySuccess())
|
||||
case msg.HANDLE_TYPE_SEND_CARD: // B收到A赠送的卡牌
|
||||
CardInfo := m.Extra.(card.CardInfo)
|
||||
FriendMod := p.PlayMod.getFriendMod()
|
||||
FriendMod.SetCardInfo(&CardInfo)
|
||||
FriendMod.Interact(CardInfo.AUid, friend.INTERACT_TYPE_CARD, m.SendT)
|
||||
p.PushClientRes(
|
||||
&proto.NotifyFriendCard{
|
||||
Info: GetCardInfoMsg(&CardInfo),
|
||||
@ -149,6 +151,7 @@ func handle(p *Player, m *msg.Msg) error {
|
||||
FriendMod := p.PlayMod.getFriendMod()
|
||||
CardInfo := m.Extra.(card.CardInfo)
|
||||
FriendMod.SetCardInfo(&CardInfo)
|
||||
FriendMod.Interact(CardInfo.AUid, friend.INTERACT_TYPE_EX, m.SendT)
|
||||
p.PlayMod.save()
|
||||
p.PushClientRes(
|
||||
&proto.NotifyFriendCard{
|
||||
@ -200,25 +203,33 @@ func handle(p *Player, m *msg.Msg) error {
|
||||
BackChampship(p)
|
||||
case msg.HANDLE_TYPE_CHAMPSHIP_RESULT: // # 好友锦标赛结果
|
||||
Extra := m.Extra.([]int)
|
||||
p.AddLog(m.From, friend.LOG_TYPE_PLAYROOM_CHAMPSHIP, fmt.Sprintf("%d_%d", Extra[0], Extra[1]))
|
||||
p.AddLog(m.From, friend.LOG_TYPE_PLAYROOM_CHAMPSHIP, fmt.Sprintf("%d_%d", Extra[0], Extra[1]), m.SendT)
|
||||
case msg.HANDLE_TYPE_TREASURE_RESULT: // # 好友宝藏结果
|
||||
p.AddLog(m.From, friend.LOG_TYPE_TREASURE, fmt.Sprintf("%d", m.Extra.(int)))
|
||||
p.AddLog(m.From, friend.LOG_TYPE_TREASURE, fmt.Sprintf("%d", m.Extra.(int)), m.SendT)
|
||||
case msg.HANDLE_TYPE_MAIL: // 邮件操作
|
||||
SyncMailMsg(p)
|
||||
case msg.HANDLE_TYPE_PLAYROOM_LOSE: // # 玩家输了
|
||||
PlayroomMod := p.PlayMod.getPlayroomMod()
|
||||
Items := m.Item
|
||||
IsChip := false
|
||||
GameId := playroom.GAME_TYPE_HOOK
|
||||
if m.Extra != nil {
|
||||
IsChip = m.Extra.(bool)
|
||||
if val, ok := m.Extra.(int); ok {
|
||||
GameId = val
|
||||
}
|
||||
}
|
||||
if IsChip {
|
||||
if len(Items) == 0 {
|
||||
return nil
|
||||
}
|
||||
if GameId == playroom.GAME_TYPE_HOOK {
|
||||
PlayroomMod.AddChip(m.From, m.SendT)
|
||||
p.AddLog(m.From, friend.LOG_TYPE_PLAYROOM_CAT_WIN, fmt.Sprintf("%d_%d", Items[0].Id, Items[0].Num), m.SendT)
|
||||
} else {
|
||||
p.AddLog(m.From, friend.LOG_TYPE_PLAYROOM_VISIT, fmt.Sprintf("%d_%d", Items[0].Id, Items[0].Num), m.SendT)
|
||||
}
|
||||
PlayroomMod.AddMood(playroom.MOOD_TYPE_FOOD, -50)
|
||||
PlayroomMod.AddMood(playroom.MOOD_TYPE_CLEAN, -50)
|
||||
PlayroomMod.AddVisitor(m.From, m.SendT)
|
||||
p.AddLog(m.From, friend.LOG_TYPE_PLAYROOM_VISIT, fmt.Sprintf("%d_%d", Items[0].Id, Items[0].Num))
|
||||
|
||||
if len(Items) > 0 && Items[0].Id == item.ITEM_STAR_ID {
|
||||
BaseMod := p.PlayMod.getBaseMod()
|
||||
StarNum := BaseMod.GetStar()
|
||||
@ -227,9 +238,15 @@ func handle(p *Player, m *msg.Msg) error {
|
||||
} else {
|
||||
PlayroomMod.Lose(Items)
|
||||
}
|
||||
FriendMod := p.PlayMod.getFriendMod()
|
||||
FriendMod.Interact(m.From, friend.INTERACT_TYPE_VISIT, m.SendT)
|
||||
p.UpdateUserInfo()
|
||||
p.Kafka(PLAYROOM_LOST, map[string]interface{}{"uid": m.From, "item": Items})
|
||||
p.PushClientRes(PlayroomMod.NotifyLose())
|
||||
case msg.HANDLE_TYPE_PLAYROOM_GAME:
|
||||
FriendMod := p.PlayMod.getFriendMod()
|
||||
p.AddLog(m.From, friend.LOG_TYPE_PLAYROOM_CAT_LOSE, "", m.SendT)
|
||||
FriendMod.Interact(m.From, friend.INTERACT_TYPE_VISIT, m.SendT)
|
||||
case msg.FRIEND_TREASURE_HANDLE: // # 好友宝藏
|
||||
Items := make([]*item.Item, 0)
|
||||
if m.Extra != nil {
|
||||
@ -238,9 +255,11 @@ func handle(p *Player, m *msg.Msg) error {
|
||||
p.HandleItem(Items, proto.ITEM_POP_LABEL_Friendtreasure.String())
|
||||
case msg.HANDLE_TYPE_HANDBOOK_COLLECTION: // 图鉴收集奖励
|
||||
data := m.Extra.(msg.HandbookMsg)
|
||||
p.AddLog(m.From, friend.LOG_TYPE_HANDBOOK, data.Type)
|
||||
p.AddLog(m.From, friend.LOG_TYPE_HANDBOOK, data.Type, m.SendT)
|
||||
case msg.HANDLE_TYPE_HANDBOOK_UPVOTE: // 图鉴点赞
|
||||
p.AddLog(m.From, friend.LOG_TYPE_HANDBOOK_UPVOTE, "")
|
||||
FriendMod := p.PlayMod.getFriendMod()
|
||||
FriendMod.Interact(m.From, friend.INTERACT_TYPE_UPVOTE, m.SendT)
|
||||
p.AddLog(m.From, friend.LOG_TYPE_HANDBOOK_UPVOTE, "", m.SendT)
|
||||
case msg.HANDLE_TYPE_SEND_CHARGE: // 收到好友赠送的充值礼包
|
||||
C := &ChargeExtra{}
|
||||
if m.Extra != nil {
|
||||
@ -251,7 +270,7 @@ func handle(p *Player, m *msg.Msg) error {
|
||||
mt, mc, mt_en, mc_en := mailCfg.GetChargeSendMail(PlayerSimpleData.Name)
|
||||
Items := ChargeItem(p, C.ChargeId)
|
||||
MailId := MailMod.Send(mt, "", mc, mt_en, "", mc_en, Items, mail.MAIL_TYPE_GIFT)
|
||||
p.AddLog(m.From, friend.LOG_TYPE_CHARGE_SEND, fmt.Sprintf("%d", MailId))
|
||||
p.AddLog(m.From, friend.LOG_TYPE_CHARGE_SEND, fmt.Sprintf("%d", MailId), m.SendT)
|
||||
p.PushClientRes(MailMod.NotifyMail(MailId))
|
||||
case msg.HANDLE_TYPE_CHARGE_RECEIVE: // 收到好友的感谢信
|
||||
Content := ""
|
||||
@ -262,20 +281,22 @@ func handle(p *Player, m *msg.Msg) error {
|
||||
MailMod := p.PlayMod.getMailMod()
|
||||
mt, mc, mt_en, mc_en := mailCfg.GetChargeReceiveMail(PlayerSimpleData.Name, Content)
|
||||
MailId := MailMod.Send(mt, "", mc, mt_en, "", mc_en, nil, mail.MAIL_TYPE_NORMAL)
|
||||
p.AddLog(m.From, friend.LOG_TYPE_CHARGE_RECEIVE, fmt.Sprintf("%d", MailId))
|
||||
p.AddLog(m.From, friend.LOG_TYPE_CHARGE_RECEIVE, fmt.Sprintf("%d", MailId), m.SendT)
|
||||
p.PushClientRes(MailMod.NotifyMail(MailId))
|
||||
case msg.HANDLE_TYPE_WISHLIST_SEND: // 发送愿望单请求
|
||||
FriendMod := p.PlayMod.getFriendMod()
|
||||
FriendMod.AddWishApply(int64(m.From))
|
||||
case msg.HANDLE_TYPE_PLAYROOM_UPVOTE: // playroom点赞
|
||||
p.AddLog(m.From, friend.LOG_TYPE_PLAYROOM_UPVOTE, "")
|
||||
p.AddLog(m.From, friend.LOG_TYPE_PLAYROOM_UPVOTE, "", m.SendT)
|
||||
PlayroomMod := p.PlayMod.getPlayroomMod()
|
||||
PlayroomMod.AddUpvote()
|
||||
FriendMod := p.PlayMod.getFriendMod()
|
||||
FriendMod.Interact(m.From, friend.INTERACT_TYPE_VISIT, m.SendT)
|
||||
p.UpdateUserInfo()
|
||||
case msg.HANDLE_TYPE_WISHLIST_AGREE:
|
||||
ChargeMod := p.PlayMod.getChargeMod()
|
||||
ChargeMod.AddWishCount()
|
||||
p.AddLog(m.From, friend.LOG_TYPE_WISH, "")
|
||||
p.AddLog(m.From, friend.LOG_TYPE_WISH, "", m.SendT)
|
||||
p.PushClientRes(ChargeMod.BackData())
|
||||
case msg.HANDLE_TYPE_PLAYROOM_KISS: // playroom亲吻
|
||||
p.NotifyPlayroomKiss()
|
||||
@ -298,7 +319,7 @@ func HandleFriendMsg(p *Player, m *msg.Msg) error {
|
||||
switch m.Type {
|
||||
case msg.HANDLE_TYPE_APPLY: // 好友申请
|
||||
FriendMod.AddFriendApply(m.From)
|
||||
p.AddLog(m.From, friend.LOG_TYPE_FRIEND_APPLY, "")
|
||||
p.AddLog(m.From, friend.LOG_TYPE_FRIEND_APPLY, "", m.SendT)
|
||||
p.PushClientRes(&proto.ResFriendApplyNotify{
|
||||
Player: PlayerSimpleData,
|
||||
Type: friend.FRIEND_NOTIFY_APPLY,
|
||||
@ -318,10 +339,10 @@ func HandleFriendMsg(p *Player, m *msg.Msg) error {
|
||||
"player_id": m.From,
|
||||
"add_type": "agree",
|
||||
})
|
||||
p.AddLog(m.From, friend.LOG_TYPE_FRIEND_BECOME, "")
|
||||
p.AddLog(m.From, friend.LOG_TYPE_FRIEND_BECOME, "", m.SendT)
|
||||
case msg.HANDLE_TYPE_DEL: // 删除好友
|
||||
FriendMod.DelFriend(m.From)
|
||||
p.AddLog(m.From, friend.LOG_TYPE_FRIEND_APPLY, "")
|
||||
p.AddLog(m.From, friend.LOG_TYPE_FRIEND_APPLY, "", m.SendT)
|
||||
p.PushClientRes(&proto.ResFriendApplyNotify{
|
||||
Player: PlayerSimpleData,
|
||||
Type: friend.FRIEND_NOTIFY_DEL,
|
||||
@ -408,6 +429,7 @@ func FriendListBackData(p *Player) {
|
||||
ps := G_GameLogicPtr.GetResSimplePlayerByUid(k)
|
||||
if ps != nil {
|
||||
ps.AddTime = v.AddTime
|
||||
ps.Interact = FriendMod.GetInteractTime(k)
|
||||
fl = append(fl, ps)
|
||||
}
|
||||
}
|
||||
@ -841,18 +863,36 @@ func NotifyChampshipResult(Uid, Rank int) {
|
||||
Type: msg.HANDLE_TYPE_CHAMPSHIP_RESULT,
|
||||
From: Uid,
|
||||
To: v,
|
||||
SendT: GoUtil.Now(),
|
||||
Extra: []int{Rank, GoUtil.GetServerOpenDay()},
|
||||
}
|
||||
FriendMgrSend(Msg)
|
||||
}
|
||||
}
|
||||
|
||||
func (player *Player) GetPetOrderItemExp() int {
|
||||
OrderItemCfgList := playroomCfg.GetOrderItemList()
|
||||
itemList := make([]*item.Item, 0)
|
||||
ItemMod := player.PlayMod.getItemMod()
|
||||
for _, v := range OrderItemCfgList {
|
||||
Num := ItemMod.GetItem(v)
|
||||
if Num <= 0 {
|
||||
continue
|
||||
}
|
||||
itemList = append(itemList, &item.Item{
|
||||
Id: v,
|
||||
Num: Num,
|
||||
})
|
||||
}
|
||||
return playroomCfg.GetPetOrderItemExpByList(itemList)
|
||||
}
|
||||
|
||||
func (player *Player) FormatOrderReward() {
|
||||
Exp, PExp := userCfg.GetLevUpExp(player.GetPlayerBaseMod().GetLevel())
|
||||
BaseMod := player.PlayMod.getBaseMod()
|
||||
DecorateMod := player.PlayMod.getDecorateMod()
|
||||
ExpCoin := (Exp - BaseMod.GetExp()) * decorateCfg.GetAreaPerPExp(DecorateMod.GetAreaId())
|
||||
PExpCoin := (PExp - BaseMod.GetPExp()) * 50
|
||||
ExpCoin := (Exp-BaseMod.GetExp())*decorateCfg.GetAreaPerPExp(DecorateMod.GetAreaId()) - BaseMod.GetStar()
|
||||
PExpCoin := (PExp-BaseMod.GetPExp())*50 - player.GetPetOrderItemExp()
|
||||
OrderMod := player.PlayMod.getOrderMod()
|
||||
if ExpCoin > PExpCoin || BaseMod.GetLevel() < 6 {
|
||||
for k, v := range OrderMod.GetOrderList() {
|
||||
|
||||
@ -416,7 +416,6 @@ func ReqDecorate(player *Player, buf []byte) error {
|
||||
})
|
||||
return err
|
||||
}
|
||||
|
||||
AddItem, err := DecorateMod.Decorate(AreaId, DecorateId) // 装饰
|
||||
if err != nil {
|
||||
player.SendErrClienRes(&msg.ResDecorate{
|
||||
@ -425,6 +424,9 @@ func ReqDecorate(player *Player, buf []byte) error {
|
||||
})
|
||||
return err
|
||||
}
|
||||
|
||||
EnergyItem := DecorateMod.GetDecorateAddEnergy(1)
|
||||
AddItem = item.Merge(AddItem, EnergyItem)
|
||||
err = player.HandleItem(AddItem, msg.ITEM_POP_LABEL_DecorateAdd.String()) // 增加道具
|
||||
if err != nil {
|
||||
player.SendErrClienRes(&msg.ResDecorate{
|
||||
@ -490,7 +492,8 @@ func ReqDecorateAll(player *Player, buf []byte) error {
|
||||
})
|
||||
return err
|
||||
}
|
||||
|
||||
EnergyItem := DecorateMod.GetDecorateAddEnergy(DecorateNum)
|
||||
AddItem = item.Merge(AddItem, EnergyItem)
|
||||
err = player.HandleItem(AddItem, msg.ITEM_POP_LABEL_DecorateAdd.String()) // 增加道具
|
||||
if err != nil {
|
||||
player.SendErrClienRes(&msg.ResDecorateAll{
|
||||
@ -1462,7 +1465,7 @@ func ReqSearchPlayer(player *Player, buf []byte) error {
|
||||
if player.PlayMod.getFriendMod().CheckFriend(int(v.DwUin)) {
|
||||
continue
|
||||
}
|
||||
if player.PlayMod.getFriendMod().CheckApply(int(v.DwUin)) {
|
||||
if player.PlayMod.getFriendMod().CheckSendApply(int(v.DwUin)) {
|
||||
continue
|
||||
}
|
||||
SearchPlayer := G_GameLogicPtr.GetResSimplePlayerByUid(int(v.DwUin))
|
||||
@ -1555,7 +1558,7 @@ func ReqAgreeFriend(player *Player, buf []byte) error {
|
||||
Uid: req.Uid,
|
||||
Player: G_GameLogicPtr.GetResSimplePlayerByUid(int(req.Uid)),
|
||||
})
|
||||
player.AddLog(Uid, friend.LOG_TYPE_FRIEND_BECOME, "")
|
||||
player.AddLog(Uid, friend.LOG_TYPE_FRIEND_BECOME, "", GoUtil.Now())
|
||||
FriendApplyBackData(player)
|
||||
PlayroomMod := player.PlayMod.getPlayroomMod()
|
||||
PlayroomMod.AddRoomPointAdd()
|
||||
@ -1582,7 +1585,7 @@ func ReqDelFriend(player *Player, buf []byte) error {
|
||||
Code: msg.RES_CODE_SUCCESS,
|
||||
Uid: req.Uid,
|
||||
})
|
||||
player.AddLog(Uid, friend.LOG_TYPE_FRIEND_DELETE, "")
|
||||
player.AddLog(Uid, friend.LOG_TYPE_FRIEND_DELETE, "", GoUtil.Now())
|
||||
FriendListBackData(player)
|
||||
player.TeLog("friend_delete", map[string]interface{}{
|
||||
"player_id": Uid,
|
||||
@ -1673,7 +1676,7 @@ func ReqCardGive(player *Player, buf []byte) error {
|
||||
Type: card.TYPE_CARD_GIVE,
|
||||
Status: card.STATUS_CARD_GIVE_1,
|
||||
}
|
||||
player.AddLog(Uid, friend.LOG_TYPE_CARD_GIVE, strconv.Itoa(CardId))
|
||||
player.AddLog(Uid, friend.LOG_TYPE_CARD_GIVE, strconv.Itoa(CardId), GoUtil.Now())
|
||||
err = CardMod.AddRequestCard(CardInfo) // 添加请求卡牌
|
||||
if err != nil {
|
||||
player.SendErrClienRes(&msg.ResCardGive{
|
||||
@ -1744,6 +1747,7 @@ func ReqAgreeCardGive(player *Player, buf []byte) error {
|
||||
Code: msg.RES_CODE_SUCCESS,
|
||||
Id: req.Id,
|
||||
})
|
||||
player.AddLog(CardInfo.AUid, friend.LOG_TYPE_CARD_GIVE_ACCEPT, strconv.Itoa(CardInfo.CardId), GoUtil.Now())
|
||||
player.PlayMod.save()
|
||||
player.TeLog("card_require_reply", map[string]interface{}{
|
||||
"card_id": CardInfo.CardId,
|
||||
@ -1804,7 +1808,7 @@ func ReqCardSend(player *Player, buf []byte) error {
|
||||
End: GoUtil.Now() + 86400,
|
||||
Extra: *CardInfo,
|
||||
}
|
||||
player.AddLog(int(req.Uid), friend.LOG_TYPE_CARD_SEND, strconv.Itoa(CardId))
|
||||
player.AddLog(int(req.Uid), friend.LOG_TYPE_CARD_SEND, strconv.Itoa(CardId), GoUtil.Now())
|
||||
player.PushClientRes(&msg.ResCardSend{
|
||||
Code: msg.RES_CODE_SUCCESS,
|
||||
})
|
||||
@ -1837,7 +1841,7 @@ func ReqCardExchange(player *Player, buf []byte) error {
|
||||
End: GoUtil.Now() + 86400,
|
||||
Extra: *CardInfo,
|
||||
}
|
||||
player.AddLog(int(req.Uid), friend.LOG_TYPE_CARD_EX_SEND, fmt.Sprintf("%d", int(req.CardId)))
|
||||
player.AddLog(int(req.Uid), friend.LOG_TYPE_CARD_EX_SEND, fmt.Sprintf("%d", int(req.CardId)), GoUtil.Now())
|
||||
|
||||
player.PushClientRes(&msg.ResCardExchange{
|
||||
Code: msg.RES_CODE_SUCCESS,
|
||||
@ -1889,7 +1893,7 @@ func ReqSelectCardExchange(player *Player, buf []byte) error {
|
||||
}
|
||||
}
|
||||
FriendMod.DelCardInfo(req.Id)
|
||||
player.AddLog(CardInfo.AUid, friend.LOG_TYPE_CARD_SELECT_SEND, fmt.Sprintf("%d", CardInfo.ExId))
|
||||
player.AddLog(CardInfo.AUid, friend.LOG_TYPE_CARD_SELECT_SEND, fmt.Sprintf("%d", CardInfo.ExId), GoUtil.Now())
|
||||
err := player.SubCard(CardId)
|
||||
if err != nil {
|
||||
player.SendErrClienRes(&msg.ResSelectCardExchange{
|
||||
@ -1909,6 +1913,7 @@ func ReqSelectCardExchange(player *Player, buf []byte) error {
|
||||
Type: MsqMod.HANDLE_TYPE_SELECT_EX_CARD,
|
||||
From: int(player.M_DwUin),
|
||||
To: CardInfo.AUid,
|
||||
SendT: GoUtil.Now(),
|
||||
Extra: *CardInfo,
|
||||
}
|
||||
FriendMgrSend(m)
|
||||
@ -1948,7 +1953,7 @@ func ReqAgreeCardExchange(player *Player, buf []byte) error {
|
||||
return err
|
||||
}
|
||||
}
|
||||
player.AddLog(CardInfo.BUid, friend.LOG_TYPE_CARD_EX_SUCCESS_1, fmt.Sprintf("%d_%d", CardInfo.CardId, CardInfo.ExId))
|
||||
player.AddLog(CardInfo.BUid, friend.LOG_TYPE_CARD_EX_SUCCESS_1, fmt.Sprintf("%d_%d", CardInfo.CardId, CardInfo.ExId), GoUtil.Now())
|
||||
CardInfo.Status = card.STATUS_CARD_EX_3
|
||||
CardInfo.EndTime = 0
|
||||
player.PlayMod.save()
|
||||
@ -1962,6 +1967,7 @@ func ReqAgreeCardExchange(player *Player, buf []byte) error {
|
||||
From: int(player.M_DwUin),
|
||||
To: CardInfo.BUid,
|
||||
Extra: *CardInfo,
|
||||
SendT: GoUtil.Now(),
|
||||
}
|
||||
player.PushClientRes(CardMod.NotifyCard())
|
||||
player.PushClientRes(CardMod.NotifyTimes())
|
||||
@ -2001,6 +2007,7 @@ func ReqRefuseCardSelect(player *Player, buf []byte) error {
|
||||
From: int(player.M_DwUin),
|
||||
To: CardInfo.AUid,
|
||||
Extra: *CardInfo,
|
||||
SendT: GoUtil.Now(),
|
||||
}
|
||||
FriendMgrSend(m)
|
||||
player.PushClientRes(&msg.ResRefuseCardSelect{
|
||||
@ -2046,6 +2053,7 @@ func ReqRefuseCardExchange(player *Player, buf []byte) error {
|
||||
From: int(player.M_DwUin),
|
||||
To: CardInfo.BUid,
|
||||
Extra: *CardInfo,
|
||||
SendT: GoUtil.Now(),
|
||||
}
|
||||
player.PushClientRes(CardMod.NotifyCard())
|
||||
player.PushClientRes(CardMod.NotifyTimes())
|
||||
@ -2069,9 +2077,7 @@ func ReqGetFriendCard(player *Player, buf []byte) error {
|
||||
}
|
||||
FriendMod.DelCardInfo(req.Id)
|
||||
player.AddCard(CardInfo.CardId)
|
||||
// if CardInfo.ExId != 0 {
|
||||
// player.AddLog(CardInfo.BUid, friend.LOG_TYPE_CARD_EX_SUCCESS_2, fmt.Sprintf("%d_%d", CardInfo.ExId, CardInfo.CardId))
|
||||
// }
|
||||
player.AddLog(CardInfo.AUid, friend.LOG_TYPE_CARD_SEND_ACCEPT, fmt.Sprintf("%d", CardInfo.CardId), GoUtil.Now())
|
||||
player.PlayMod.save()
|
||||
player.PushClientRes(&msg.ResGetFriendCard{
|
||||
Code: msg.RES_CODE_SUCCESS,
|
||||
@ -2090,6 +2096,7 @@ func ReqRank(player *Player, buf []byte) error {
|
||||
From: int(player.M_DwUin),
|
||||
Type: MsqMod.HANDLE_TYPE_RANK_INFO,
|
||||
Extra: RankMsg{RankType: int(req.Type)},
|
||||
SendT: GoUtil.Now(),
|
||||
}
|
||||
RankInfo := G_GameLogicPtr.RankMgrCall(m).(*RankInfo)
|
||||
res := make(map[int32]*msg.ResPlayerSimple)
|
||||
@ -2719,9 +2726,10 @@ func ReqSelfInvited(player *Player, buf []byte) error {
|
||||
req := &msg.ReqSelfInvited{}
|
||||
proto.Unmarshal(buf, req)
|
||||
G_GameLogicPtr.FriendMgrSend(&MsqMod.Msg{
|
||||
Type: MsqMod.HANDLE_TYPE_INVITE_FRIEND,
|
||||
From: int(player.M_DwUin),
|
||||
To: int(req.InviterId),
|
||||
Type: MsqMod.HANDLE_TYPE_INVITE_FRIEND,
|
||||
From: int(player.M_DwUin),
|
||||
To: int(req.InviterId),
|
||||
SendT: GoUtil.Now(),
|
||||
})
|
||||
player.PushClientRes(&msg.ResSelfInvited{
|
||||
ResultCode: 1,
|
||||
@ -2779,9 +2787,10 @@ func ReqAutoAddInviteFriend(player *Player, buf []byte) error {
|
||||
ResultCode: 1,
|
||||
})
|
||||
G_GameLogicPtr.FriendMgrSend(&MsqMod.Msg{
|
||||
From: int(player.M_DwUin),
|
||||
To: Uid,
|
||||
Type: MsqMod.HANDLE_TYPE_INVITE_ADD_FRIEND,
|
||||
From: int(player.M_DwUin),
|
||||
To: Uid,
|
||||
Type: MsqMod.HANDLE_TYPE_INVITE_ADD_FRIEND,
|
||||
SendT: GoUtil.Now(),
|
||||
})
|
||||
PlayroomMod := player.PlayMod.getPlayroomMod()
|
||||
PlayroomMod.AddRoomPointAdd()
|
||||
@ -2818,9 +2827,10 @@ func ReqAutoAddInviteFriend2(player *Player, buf []byte) error {
|
||||
ResultCode: 1,
|
||||
})
|
||||
G_GameLogicPtr.FriendMgrSend(&MsqMod.Msg{
|
||||
From: int(player.M_DwUin),
|
||||
To: Uid,
|
||||
Type: MsqMod.HANDLE_TYPE_INVITE_ADD_FRIEND,
|
||||
From: int(player.M_DwUin),
|
||||
To: Uid,
|
||||
Type: MsqMod.HANDLE_TYPE_INVITE_ADD_FRIEND,
|
||||
SendT: GoUtil.Now(),
|
||||
})
|
||||
PlayroomMod := player.PlayMod.getPlayroomMod()
|
||||
PlayroomMod.AddRoomPointAdd()
|
||||
@ -3215,7 +3225,7 @@ func ReqPlayroomSetRoom(player *Player, buf []byte) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
// 玩游戏
|
||||
// 玩游戏 Desprecated
|
||||
func ReqPlayroomGame(player *Player, buf []byte) error {
|
||||
req := &msg.ReqPlayroomGame{}
|
||||
proto.Unmarshal(buf, req)
|
||||
@ -3251,9 +3261,13 @@ func ReqPlayroomGame(player *Player, buf []byte) error {
|
||||
})
|
||||
return err
|
||||
}
|
||||
G_GameLogicPtr.FriendMgrSend(&MsqMod.Msg{
|
||||
From: int(player.M_DwUin),
|
||||
To: Target,
|
||||
Type: MsqMod.HANDLE_TYPE_PLAYROOM_GAME,
|
||||
SendT: GoUtil.Now(),
|
||||
})
|
||||
player.PlayMod.save()
|
||||
// PlayroomBackData(player)
|
||||
// PlayroomVisit(player, PlayroomMod.GetTarget())
|
||||
ItemsMsg := make(map[int32]*msg.ItemInfo, 0)
|
||||
for k, v := range PlayroomMod.GameReward {
|
||||
ItemsMsg[int32(k)] = &msg.ItemInfo{
|
||||
@ -3290,7 +3304,7 @@ func ReqPlayroomSelectReward(player *Player, buf []byte) error {
|
||||
Type: MsqMod.HANDLE_TYPE_PLAYROOM_LOSE,
|
||||
SendT: GoUtil.Now(),
|
||||
Item: Items,
|
||||
Extra: true,
|
||||
Extra: PlayroomMod.GetGameId(),
|
||||
})
|
||||
G_GameLogicPtr.SetUserData(Target, VAR_OP_CHIP, 1)
|
||||
PlayroomMod.ResetGame()
|
||||
@ -3481,7 +3495,7 @@ func ReqPlayroomFlipReward(player *Player, buf []byte) error {
|
||||
Type: MsqMod.HANDLE_TYPE_PLAYROOM_LOSE,
|
||||
SendT: GoUtil.Now(),
|
||||
Item: Items,
|
||||
Extra: false,
|
||||
Extra: PlayroomMod.GetGameId(),
|
||||
})
|
||||
player.PlayMod.save()
|
||||
PlayroomBackData(player)
|
||||
@ -3826,6 +3840,7 @@ func ReqFriendTreasureFilp(player *Player, buf []byte) error {
|
||||
To: int(Uid),
|
||||
Type: MsqMod.HANDLE_TYPE_TREASURE_RESULT,
|
||||
Extra: Items[0].Num,
|
||||
SendT: GoUtil.Now(),
|
||||
})
|
||||
}
|
||||
|
||||
@ -4195,13 +4210,17 @@ func ReqAddNpc(player *Player, buf []byte) error {
|
||||
proto.Unmarshal(buf, req)
|
||||
FriendMod := player.PlayMod.getFriendMod()
|
||||
FriendMod.SetNpc(int(req.NpcId))
|
||||
if len(FriendMod.Npc) == 1 { // 首次添加NPC 视为邀请好友成功
|
||||
InviteMod := player.PlayMod.getInviteMod()
|
||||
InviteMod.AddInvite(int(req.NpcId))
|
||||
}
|
||||
player.PlayMod.save()
|
||||
FriendListBackData(player)
|
||||
PlayroomMod := player.PlayMod.getPlayroomMod()
|
||||
PlayroomMod.AddRoomPointInvite()
|
||||
PlayroomMod.AddRoomPointAdd()
|
||||
PlayroomBackData(player)
|
||||
player.AddLog(int(req.NpcId), friend.LOG_TYPE_FRIEND_BECOME_NPC, GoUtil.String(req.NpcId))
|
||||
player.AddLog(int(req.NpcId), friend.LOG_TYPE_FRIEND_BECOME_NPC, GoUtil.String(req.NpcId), GoUtil.Now())
|
||||
player.PushClientRes(&msg.ResAddNpc{
|
||||
Code: msg.RES_CODE_SUCCESS,
|
||||
NpcId: req.NpcId,
|
||||
|
||||
@ -77,6 +77,11 @@ type ChargeExtra struct {
|
||||
ChargeId int // 充值id
|
||||
}
|
||||
|
||||
type GameResult struct {
|
||||
t int // 游戏类型
|
||||
r int // 1:赢 2:输 3:平
|
||||
}
|
||||
|
||||
func init() {
|
||||
gob.Register(&limitedTimeEvent.MoneyCat{})
|
||||
gob.Register(&limitedTimeEvent.LuckyCat{})
|
||||
|
||||
@ -6,6 +6,7 @@ import (
|
||||
cardCfg "server/conf/card"
|
||||
"server/game/mod/item"
|
||||
"server/msg"
|
||||
"server/pkg/github.com/name5566/leaf/log"
|
||||
)
|
||||
|
||||
type CardMod struct {
|
||||
@ -236,6 +237,10 @@ func (c *CardMod) BackData() *msg.ResCardInfo {
|
||||
}
|
||||
ExUid = append(ExUid, int64(k))
|
||||
}
|
||||
|
||||
if c.EndTime < GoUtil.Now() {
|
||||
log.Debug("CardMod BackData EndTime < Now, reset card data")
|
||||
}
|
||||
return &msg.ResCardInfo{
|
||||
CardList: cardList,
|
||||
ExStar: int32(c.ExchangeStar),
|
||||
@ -425,10 +430,10 @@ func (c *CardMod) ExchangeCard(From, To, CardId int) (*CardInfo, error) {
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
_, ok := c.ExCard[To]
|
||||
if ok {
|
||||
return nil, fmt.Errorf("ExchangeCard already exchange")
|
||||
}
|
||||
// _, ok := c.ExCard[To]
|
||||
// if ok {
|
||||
// return nil, fmt.Errorf("ExchangeCard already exchange")
|
||||
// }
|
||||
CardInfo := &CardInfo{
|
||||
Id: Id,
|
||||
AUid: From,
|
||||
|
||||
@ -112,7 +112,7 @@ func (c *ChargeMod) ZeroUpdate(Emit []int) {
|
||||
SpecialShopCount := chargeCfg.GetSpecialShopCount()
|
||||
for i := 1; i <= 2; i++ {
|
||||
if c.Total == 0 {
|
||||
c.SpecialShop[i] = &SepcialShop{Grade: SpecialGrade, Count: 2}
|
||||
c.SpecialShop[i] = &SepcialShop{Grade: SpecialGrade, Count: 1}
|
||||
continue
|
||||
}
|
||||
m := c.SpecialCharge
|
||||
@ -299,11 +299,12 @@ func (c *ChargeMod) InitChessShop(Emit []int) {
|
||||
for _, v := range ColorList {
|
||||
ColorType := mergeDataCfg.GetColorType(v)
|
||||
r := make([]*Rand, 0)
|
||||
if ColorType == mergeDataCfg.CHESS_PRODUCT_MAIN_TYPE {
|
||||
switch ColorType {
|
||||
case mergeDataCfg.CHESS_PRODUCT_MAIN_TYPE:
|
||||
r = getChessMainRand(v)
|
||||
} else if ColorType == mergeDataCfg.CHESS_PRODUCT_SECONDARY_TYPE {
|
||||
case mergeDataCfg.CHESS_PRODUCT_SECONDARY_TYPE:
|
||||
r = getChessSecondaryRand(v)
|
||||
} else if ColorType == mergeDataCfg.CHESS_PRODUCT_SUB_TYPE {
|
||||
case mergeDataCfg.CHESS_PRODUCT_SUB_TYPE:
|
||||
r = getChessSubRand(v)
|
||||
}
|
||||
RandList = append(RandList, r...)
|
||||
|
||||
@ -48,6 +48,12 @@ func (d *Decorate) Decorate(areaId int, decorateId int) ([]*item.Item, error) {
|
||||
return Item, nil
|
||||
}
|
||||
|
||||
// 获取装饰增加体力
|
||||
func (d *Decorate) GetDecorateAddEnergy(cnt int) []*item.Item {
|
||||
EnergyNum := decorateCfg.GetDecorateAddEnergy()
|
||||
return []*item.Item{item.NewItem(item.ITEM_ENERGY_ID, EnergyNum*cnt)}
|
||||
}
|
||||
|
||||
// 获取装饰消耗
|
||||
func (d *Decorate) GetDecorateCostItem(AreaId, DecorateId int) ([]*item.Item, int) {
|
||||
Item := decorateCfg.GetStarCost(AreaId, DecorateId)
|
||||
|
||||
@ -22,7 +22,13 @@ type FriendMod struct {
|
||||
}
|
||||
|
||||
type FriendInfo struct {
|
||||
AddTime int64
|
||||
AddTime int64
|
||||
Interact []*Interact // 拜访记录
|
||||
}
|
||||
|
||||
type Interact struct {
|
||||
VisitTime int64 // 拜访时间
|
||||
Type int // 1:拜访 2:点赞
|
||||
}
|
||||
|
||||
type ApplyInfo struct {
|
||||
@ -31,6 +37,15 @@ type ApplyInfo struct {
|
||||
Uid int64
|
||||
}
|
||||
|
||||
// 24小时内与玩家进行过以下互动的用户,若被选中参加本次宠物宝藏,在其头像旁添加礼物盒
|
||||
const (
|
||||
INTERACT_TYPE_VISIT = 1 // 拜访过玩家的Pet Playroom并进行过小游戏或点赞的用户
|
||||
INTERACT_TYPE_UPVOTE = 2 // 为玩家的图鉴全收集信息点过赞的用户
|
||||
INTERACT_TYPE_CARD = 3 // 向玩家赠送过卡牌的用户
|
||||
INTERACT_TYPE_EX = 4 // 向玩家发起过卡牌交换
|
||||
INTERACT_TYPE_WISH = 5 // 邀请玩家一同参加活动的用户
|
||||
)
|
||||
|
||||
const (
|
||||
LOG_TYPE_FRIEND_APPLY = 1 // 收到申请好友
|
||||
LOG_TYPE_FRIEND_BECOME = 2 // 成为好友
|
||||
@ -44,7 +59,7 @@ const (
|
||||
LOG_TYPE_CARD_EX_SUCCESS_1 = 10 // 卡牌交换成功
|
||||
LOG_TYPE_CARD_EX_SUCCESS_2 = 11 // 卡牌交换成功
|
||||
LOG_TYPE_FRIEND_DELETE = 14 // 删除好友
|
||||
LOG_TYPE_PLAYROOM_VISIT = 15 // 拜访玩家
|
||||
LOG_TYPE_PLAYROOM_VISIT = 15 // 非小猫游戏,他人偷走了玩家的猫币
|
||||
LOG_TYPE_HANDBOOK = 16 // 图鉴收集
|
||||
LOG_TYPE_HANDBOOK_UPVOTE = 17 // 图鉴点赞
|
||||
LOG_TYPE_CHARGE_SEND = 18 // 赠送充值礼物
|
||||
@ -54,6 +69,11 @@ const (
|
||||
LOG_TYPE_PLAYROOM_UPVOTE = 22 // playroom点赞
|
||||
LOG_TYPE_PLAYROOM_CHAMPSHIP = 23 // 竞标赛排名
|
||||
LOG_TYPE_TREASURE = 24 // 好友宝藏
|
||||
LOG_TYPE_CARD_SEND_ACCEPT = 25 // 收到赠送卡牌
|
||||
LOG_TYPE_PLAYROOM_CAT_WIN = 26 // 小猫游戏,给小猫成功装箱
|
||||
LOG_TYPE_PLAYROOM_CAT_LOSE = 27 // 小猫游戏,装箱小猫未成功
|
||||
LOG_TYPE_CARD_GIVE_ACCEPT = 28 // 接受卡牌请求
|
||||
LOG_TYPE_FRIEND_INVITE = 29 // 邀请注册
|
||||
)
|
||||
|
||||
const (
|
||||
@ -117,6 +137,36 @@ func (f *FriendMod) SetSyncId(Id int64) {
|
||||
f.Id = Id
|
||||
}
|
||||
|
||||
func (f *FriendMod) Interact(id, t int, T int64) {
|
||||
if _, ok := f.NewFriendList[id]; !ok {
|
||||
return
|
||||
}
|
||||
for _, v := range f.NewFriendList[id].Interact {
|
||||
if v.Type == t && v.VisitTime < T {
|
||||
v.VisitTime = T
|
||||
return
|
||||
}
|
||||
}
|
||||
f.NewFriendList[id].Interact = append(f.NewFriendList[id].Interact, &Interact{
|
||||
VisitTime: T,
|
||||
Type: t,
|
||||
})
|
||||
}
|
||||
|
||||
func (f *FriendMod) GetInteractTime(id int) int64 {
|
||||
if _, ok := f.NewFriendList[id]; !ok {
|
||||
return 0
|
||||
}
|
||||
LastTime := int64(0)
|
||||
// 获取最近一次拜访或点赞的时间
|
||||
for _, v := range f.NewFriendList[id].Interact {
|
||||
if v.VisitTime > LastTime {
|
||||
LastTime = v.VisitTime
|
||||
}
|
||||
}
|
||||
return LastTime
|
||||
}
|
||||
|
||||
func (f *FriendMod) AddFriend(id int) {
|
||||
f.NewFriendList[id] = &FriendInfo{
|
||||
AddTime: GoUtil.Now(),
|
||||
|
||||
@ -92,6 +92,7 @@ const (
|
||||
HANDLE_TYPE_VAR_USER_GET // 获取玩家数据
|
||||
|
||||
HANDLE_TYPE_PLAYROOM_KISS // playroom亲吻
|
||||
HANDLE_TYPE_PLAYROOM_GAME // playroom游戏
|
||||
)
|
||||
|
||||
const (
|
||||
|
||||
@ -466,6 +466,9 @@ func (p *PlayroomMod) ResetGame() {
|
||||
p.InteractNum = 0
|
||||
p.RevengeUid = 0
|
||||
}
|
||||
func (p *PlayroomMod) GetGameId() int {
|
||||
return p.GameId
|
||||
}
|
||||
|
||||
func (p *PlayroomMod) ResetLose() {
|
||||
p.LoseItem = make([]*item.Item, 0)
|
||||
|
||||
@ -12149,6 +12149,7 @@ type ResPlayerSimple struct {
|
||||
Facebook string `protobuf:"bytes,9,opt,name=Facebook,proto3" json:"Facebook,omitempty"`
|
||||
Emoji map[int32]int32 `protobuf:"bytes,10,rep,name=Emoji,proto3" json:"Emoji,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"` // 表情
|
||||
AddTime int64 `protobuf:"varint,11,opt,name=AddTime,proto3" json:"AddTime,omitempty"` // 添加时间
|
||||
Interact int64 `protobuf:"varint,12,opt,name=Interact,proto3" json:"Interact,omitempty"` // 最后一次互动的时间
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
@ -12260,6 +12261,13 @@ func (x *ResPlayerSimple) GetAddTime() int64 {
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *ResPlayerSimple) GetInteract() int64 {
|
||||
if x != nil {
|
||||
return x.Interact
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
type ResPlayerRank struct {
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
Uid int64 `protobuf:"varint,1,opt,name=Uid,proto3" json:"Uid,omitempty"`
|
||||
@ -24222,7 +24230,7 @@ const file_proto_Gameapi_proto_rawDesc = "" +
|
||||
"\x03Uid\x18\x01 \x01(\tR\x03Uid\"T\n" +
|
||||
"\x0fResSearchPlayer\x12\x12\n" +
|
||||
"\x04Code\x18\x01 \x01(\x05R\x04Code\x12-\n" +
|
||||
"\x04List\x18\x02 \x03(\v2\x19.tutorial.ResPlayerSimpleR\x04List\"\xf3\x02\n" +
|
||||
"\x04List\x18\x02 \x03(\v2\x19.tutorial.ResPlayerSimpleR\x04List\"\x8f\x03\n" +
|
||||
"\x0fResPlayerSimple\x12\x10\n" +
|
||||
"\x03Uid\x18\x01 \x01(\x03R\x03Uid\x12\x12\n" +
|
||||
"\x04Name\x18\x02 \x01(\tR\x04Name\x12\x12\n" +
|
||||
@ -24235,7 +24243,8 @@ const file_proto_Gameapi_proto_rawDesc = "" +
|
||||
"\bFacebook\x18\t \x01(\tR\bFacebook\x12:\n" +
|
||||
"\x05Emoji\x18\n" +
|
||||
" \x03(\v2$.tutorial.ResPlayerSimple.EmojiEntryR\x05Emoji\x12\x18\n" +
|
||||
"\aAddTime\x18\v \x01(\x03R\aAddTime\x1a8\n" +
|
||||
"\aAddTime\x18\v \x01(\x03R\aAddTime\x12\x1a\n" +
|
||||
"\bInteract\x18\f \x01(\x03R\bInteract\x1a8\n" +
|
||||
"\n" +
|
||||
"EmojiEntry\x12\x10\n" +
|
||||
"\x03key\x18\x01 \x01(\x05R\x03key\x12\x14\n" +
|
||||
|
||||
Loading…
Reference in New Issue
Block a user