项目更新
This commit is contained in:
parent
f3d2f96181
commit
83f33f24ec
@ -133,3 +133,8 @@ func FullWeeksSince(timestamp int64) int {
|
||||
|
||||
return currentWeek - startWeek
|
||||
}
|
||||
|
||||
func ZeroTime(timestamp int64) int64 {
|
||||
t := time.Unix(timestamp, 0)
|
||||
return time.Date(t.Year(), t.Month(), t.Day(), 0, 0, 0, 0, t.Location()).Unix()
|
||||
}
|
||||
|
||||
@ -1,6 +1,9 @@
|
||||
package game
|
||||
|
||||
import "server/pkg/github.com/name5566/leaf/log"
|
||||
import (
|
||||
"server/game/mod/piggyBank"
|
||||
"server/pkg/github.com/name5566/leaf/log"
|
||||
)
|
||||
|
||||
func Charge(p *Player, ChargeId int) {
|
||||
ChargeFire(p, ChargeId) // 充值
|
||||
@ -18,6 +21,11 @@ func PiggyBankFire(p *Player, ChargeId int) {
|
||||
LimitedTimePiggyBankTrigger(p)
|
||||
p.PlayMod.save()
|
||||
p.PushClientRes(PiggyBankMod.BackData())
|
||||
p.TeLog("piggy_bank_open", map[string]interface{}{
|
||||
"piggy_bank_type": piggyBank.PIGGY_BANK_TYPE_CHARGE,
|
||||
"item_list": Item,
|
||||
"open_cost": ChargeId,
|
||||
})
|
||||
}
|
||||
|
||||
// 处理玩家充值
|
||||
|
||||
@ -923,21 +923,21 @@ func (ad *GameLogic) RegisterNetWorkFunc() {
|
||||
RegisterMsgProcessFunc("ReqGetChessFromBuff", ReqGetChessFromBuff) // 从buff中获取棋子
|
||||
RegisterMsgProcessFunc("ReqPutChessInBag", ReqPutChessInBag) // 把棋子放入背包
|
||||
RegisterMsgProcessFunc("ReqTakeChessOutBag", ReqTakeChessOutBag) // 从背包中取出棋子
|
||||
RegisterMsgProcessFunc("ReqBuyChessBagGrid", ReqBuyChessBagGrid) // 使用棋子技能
|
||||
RegisterMsgProcessFunc("ReqBuyChessBagGrid", ReqBuyChessBagGrid) // 解锁背包格子
|
||||
|
||||
RegisterMsgProcessFunc("ReqBuyEnergy", ReqBuyEnergy) //购买能量
|
||||
|
||||
//领取图鉴奖励
|
||||
RegisterMsgProcessFunc("ReqGetHandbookReward", ReqGetHandbookReward)
|
||||
RegisterMsgProcessFunc("ReqGetHandbookReward", ReqGetHandbookReward) //领取图鉴奖励
|
||||
|
||||
//领取订单奖励
|
||||
RegisterMsgProcessFunc("ReqRewardOrder", ReqRewardOrder)
|
||||
RegisterMsgProcessFunc("ReqRewardOrder", ReqRewardOrder) // 领取订单奖励
|
||||
|
||||
//装饰
|
||||
RegisterMsgProcessFunc("ReqDecorate", ReqDecorate)
|
||||
RegisterMsgProcessFunc("ReqDecorateAll", ReqDecorateAll)
|
||||
RegisterMsgProcessFunc("ReqDecorate", ReqDecorate) // 装饰
|
||||
RegisterMsgProcessFunc("ReqDecorateAll", ReqDecorateAll) // 装饰全部
|
||||
//Gm命令
|
||||
RegisterMsgProcessFunc("ReqGmCommand", ReqGmCommand)
|
||||
RegisterMsgProcessFunc("ReqGmCommand", ReqGmCommand) // Gm命令
|
||||
|
||||
//卡牌
|
||||
RegisterMsgProcessFunc("ReqCardInfo", ReqCardInfo) // 请求卡牌信息
|
||||
@ -960,16 +960,18 @@ func (ad *GameLogic) RegisterNetWorkFunc() {
|
||||
// 日常任务
|
||||
RegisterMsgProcessFunc("ReqGetDailyTaskReward", ReqGetDailyTaskReward) // 领取日常任务奖励
|
||||
RegisterMsgProcessFunc("ReqGetDailyWeekReward", ReqGetDailyWeekReward) // 领取周活跃奖励
|
||||
RegisterMsgProcessFunc("ReqDailyUnlock", ReqDailyUnlock) // 日常任务解锁
|
||||
|
||||
// 引导奖励
|
||||
RegisterMsgProcessFunc("ReqGuideReward", ReqGuideReward)
|
||||
RegisterMsgProcessFunc("ReqGuideReward", ReqGuideReward) // 领取引导奖励
|
||||
// 头像
|
||||
RegisterMsgProcessFunc("ReqSetFace", ReqSetFace)
|
||||
RegisterMsgProcessFunc("ReqSetFace", ReqSetFace) // 设置头像
|
||||
// 头像框
|
||||
RegisterMsgProcessFunc("ReqSetAvatar", ReqSetAvatar)
|
||||
RegisterMsgProcessFunc("ReqSetAvatar", ReqSetAvatar) // 设置头像框
|
||||
|
||||
// 领取七日签到奖励
|
||||
RegisterMsgProcessFunc("ReqGetSevenLoginReward", ReqGetSevenLoginReward)
|
||||
RegisterMsgProcessFunc("ReqGetMonthLoginReward", ReqGetMonthLoginReward)
|
||||
RegisterMsgProcessFunc("ReqGetSevenLoginReward", ReqGetSevenLoginReward) // 领取七日签到奖励
|
||||
RegisterMsgProcessFunc("ReqGetMonthLoginReward", ReqGetMonthLoginReward) // 领取月签到奖励
|
||||
|
||||
// 连击快手奖励
|
||||
RegisterMsgProcessFunc("ReqLimitEvent", ReqLimitEvent)
|
||||
|
||||
@ -102,6 +102,9 @@ func ReqGmCommand(args []interface{}) error {
|
||||
G_GameLogicPtr.ChampshipMgrSend(&MsgMod.Msg{
|
||||
Type: MsgMod.HANDLE_TYPE_CHAMPSHIP_ZERO,
|
||||
})
|
||||
case "debug":
|
||||
OrderMod := player.PlayMod.getOrderMod()
|
||||
OrderMod.EimtOrder = make(map[string]struct{})
|
||||
}
|
||||
player.PlayMod.save()
|
||||
return nil
|
||||
|
||||
@ -11,6 +11,7 @@ import (
|
||||
"fmt"
|
||||
"server/GoUtil"
|
||||
"server/MergeConst"
|
||||
cardCfg "server/conf/card"
|
||||
itemCfg "server/conf/item"
|
||||
mergeDataCfg "server/conf/mergeData"
|
||||
"server/db"
|
||||
@ -569,12 +570,35 @@ func (p *Player) HandleItem(itemList []*item.Item, Label string) error {
|
||||
}
|
||||
ResCard = append(ResCard, &msg.CardPack{Id: int32(v.Id), Card: GoUtil.SliceIntToInt32(NewCard)})
|
||||
|
||||
IsGold := false
|
||||
IsRepeat := false
|
||||
Sticker := 0
|
||||
for _, v := range NewCard {
|
||||
Gold := cardCfg.CheckCardIsGold(v)
|
||||
if Gold {
|
||||
IsGold = true
|
||||
}
|
||||
if CardMod.GetCardNum(v) > 1 {
|
||||
IsRepeat = true
|
||||
Sticker++
|
||||
} else {
|
||||
p.TeLog("get_new_card", map[string]interface{}{
|
||||
"season_id": CardMod.EndTime,
|
||||
"card_id": v,
|
||||
"card_typenumbers": len(CardMod.CardList),
|
||||
})
|
||||
}
|
||||
}
|
||||
p.TeLog("card_pack_open", map[string]interface{}{
|
||||
"season_id": CardMod.EndTime,
|
||||
"card_pack_type": v.Id,
|
||||
"card_number": len(NewCard),
|
||||
"card_list": NewCard,
|
||||
"income_from": Label,
|
||||
"season_id": CardMod.EndTime,
|
||||
"card_pack_type": v.Id,
|
||||
"card_number": len(NewCard),
|
||||
"card_list": NewCard,
|
||||
"income_from": Label,
|
||||
"is_goldcard": IsGold,
|
||||
"is_repeat": IsRepeat,
|
||||
"is_card_festival": CardMod.GetCardFestival(),
|
||||
"sticker_number": Sticker,
|
||||
})
|
||||
}
|
||||
case item.ITEM_TYPE_MASTER_CARD: // 万能卡
|
||||
@ -614,12 +638,20 @@ func (p *Player) HandleItem(itemList []*item.Item, Label string) error {
|
||||
Cd: int32(EffectList[1]),
|
||||
})
|
||||
LimitedTimeEventTrigger(p, EffectList[0])
|
||||
p.TeLog("time_limited_event_enable", map[string]interface{}{
|
||||
"event_type": EffectList[0],
|
||||
"enable_type": Label,
|
||||
})
|
||||
case item.ITEM_TYPE_PIGGY_BANK: // 猪猪银行
|
||||
PiggyBankMod := p.PlayMod.getPiggyBankMod()
|
||||
Effect := itemCfg.GetItemEffect(v.Id)
|
||||
PiggyBankMod.AddPiggyBank(Effect)
|
||||
LimitedTimePiggyBankTrigger(p)
|
||||
p.PushClientRes(PiggyBankMod.BackData())
|
||||
p.TeLog("piggy_bank_income", map[string]interface{}{
|
||||
"piggy_bank_id": Effect,
|
||||
"income_from": Label,
|
||||
})
|
||||
case item.ITEM_TYPE_AVATAR:
|
||||
Effect := itemCfg.GetItemEffectList(v.Id)
|
||||
AvatarMod := p.PlayMod.getAvatarMod()
|
||||
|
||||
@ -80,19 +80,22 @@ func handle(p *Player, m *msg.Msg) error {
|
||||
msg := &msg.Msg{Type: msg.HANDLE_TYPE_REG_CARD_FINISH, From: v}
|
||||
FriendMgrSend(msg)
|
||||
}
|
||||
p.AddLog(int(p.M_DwUin), friend.LOG_TYPE_CARD_ACCEPT_GIVE, fmt.Sprintf("%d", CardInfo.CardId))
|
||||
// p.AddLog(int(p.M_DwUin), friend.LOG_TYPE_CARD_ACCEPT_GIVE, fmt.Sprintf("%d", CardInfo.CardId))
|
||||
p.PlayMod.save()
|
||||
p.PushClientRes(
|
||||
&proto.NotifyFriendCard{
|
||||
Info: GetCardInfoMsg(CardInfo),
|
||||
},
|
||||
)
|
||||
p.PushClientRes(CardMod.NotifyTimes())
|
||||
// p.PushClientRes(CardMod.NotifyCard())
|
||||
case msg.HANDLE_TYPE_REG_CARD_REFUSE: // A收到B拒绝索要卡牌
|
||||
CardInfo := m.Extra.(*card.CardInfo)
|
||||
CardMod := p.PlayMod.getCardMod()
|
||||
CardMod.DelRequestCard(CardInfo.BUid)
|
||||
CardMod.AddReqTimes(CardInfo.Id, CardInfo.StartTime)
|
||||
p.PlayMod.save()
|
||||
p.PushClientRes(CardMod.NotifyTimes())
|
||||
p.PushClientRes(CardMod.NotifyCard())
|
||||
case msg.HANDLE_TYPE_EX_CARD: // B收到A置换卡牌
|
||||
FriendMod := p.PlayMod.getFriendMod()
|
||||
@ -108,7 +111,7 @@ func handle(p *Player, m *msg.Msg) error {
|
||||
FriendMod := p.PlayMod.getFriendMod()
|
||||
CardInfo := m.Extra.(*card.CardInfo)
|
||||
FriendMod.SetCardInfo(CardInfo)
|
||||
p.AddLog(int(p.M_DwUin), friend.LOG_TYPE_CARD_SELECT_GET, fmt.Sprintf("%d", CardInfo.CardId))
|
||||
// p.AddLog(int(p.M_DwUin), friend.LOG_TYPE_CARD_SELECT_GET, fmt.Sprintf("%d", CardInfo.CardId))
|
||||
p.PlayMod.save()
|
||||
p.PushClientRes(
|
||||
&proto.NotifyFriendCard{
|
||||
@ -128,7 +131,7 @@ func handle(p *Player, m *msg.Msg) error {
|
||||
case msg.HANDLE_TYPE_REFUSE_SELECT_CARD: // A收到B拒绝置换卡牌
|
||||
CardMod := p.PlayMod.getCardMod()
|
||||
CardInfo := m.Extra.(*card.CardInfo)
|
||||
CardMod.AddExTimes()
|
||||
CardMod.AddExTimes(CardInfo)
|
||||
CardMod.AddCard(CardInfo.CardId)
|
||||
CardMod.DelExCard(CardInfo)
|
||||
p.PushClientRes(CardMod.NotifyCard())
|
||||
|
||||
@ -15,6 +15,7 @@ import (
|
||||
"server/game/mod/item"
|
||||
"server/game/mod/limitedTimeEvent"
|
||||
MsqMod "server/game/mod/msg"
|
||||
"server/game/mod/piggyBank"
|
||||
"server/msg"
|
||||
"strconv"
|
||||
|
||||
@ -1729,6 +1730,12 @@ func ReqRewardOrder(args []interface{}) error {
|
||||
|
||||
if LimitedTimeEventMod.CheckExist(limitedTimeEvent.EVENT_TYPE_METEOR_SHOW) { //流星雨活动
|
||||
AddItem := LimitedTimeEventMod.GetMeteorReward(mergeList)
|
||||
if len(AddItem) > 0 {
|
||||
player.TeLog("time_limited_event_action", map[string]interface{}{
|
||||
"event_type": "meteor_show",
|
||||
"item_list": AddItem,
|
||||
})
|
||||
}
|
||||
Item = item.Merge(Item, AddItem)
|
||||
}
|
||||
if LimitedTimeEventMod.CheckExist(limitedTimeEvent.EVENT_TYPE_CHEST_RAIN) { //宝箱雨活动
|
||||
@ -1738,6 +1745,10 @@ func ReqRewardOrder(args []interface{}) error {
|
||||
player.PushClientRes(&msg.ResChessRainReward{
|
||||
Chest: int32(AddItem[0].Id),
|
||||
})
|
||||
player.TeLog("time_limited_event_action", map[string]interface{}{
|
||||
"event_type": "chest_rain",
|
||||
"item_list": AddItem,
|
||||
})
|
||||
}
|
||||
}
|
||||
if !OrderMod.CheckSuperOrder() {
|
||||
@ -1799,8 +1810,10 @@ func ReqRewardOrder(args []interface{}) error {
|
||||
PiggyBankMod.Trigger()
|
||||
|
||||
// 锦标赛增加积分
|
||||
ChampshipMod := player.PlayMod.getChampshipMod()
|
||||
ChampshipMod.AddScore(mergeList)
|
||||
if player.GetPlayerBaseMod().GetLevel() >= 6 {
|
||||
ChampshipMod := player.PlayMod.getChampshipMod()
|
||||
ChampshipMod.AddScore(mergeList)
|
||||
}
|
||||
|
||||
// 限时事件增加进度
|
||||
LimitedTimeEventMod.AddProgress(player.GetPlayerBaseMod().GetLevel())
|
||||
@ -2099,6 +2112,10 @@ func ReqBuyChessBagGrid(args []interface{}) error {
|
||||
player.PushClientRes(&msg.ResBuyChessBagGrid{
|
||||
Code: msg.RES_CODE_SUCCESS,
|
||||
})
|
||||
player.TeLog("warehouse_unlock", map[string]interface{}{
|
||||
"unlock_type": "diamond",
|
||||
"unlock_cost": CostItem[0].Num,
|
||||
})
|
||||
return nil
|
||||
}
|
||||
|
||||
@ -2189,6 +2206,11 @@ func ReqCardCollectReward(args []interface{}) error {
|
||||
player.PushClientRes(&msg.ResCardCollectReward{
|
||||
Code: msg.RES_CODE_SUCCESS,
|
||||
})
|
||||
player.TeLog("card_book", map[string]interface{}{
|
||||
"season_id": CardMod.EndTime,
|
||||
"card_book_id": int(req.Color),
|
||||
"item_list": itemList,
|
||||
})
|
||||
return nil
|
||||
}
|
||||
|
||||
@ -2350,6 +2372,20 @@ func ReqGetDailyWeekReward(args []interface{}) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func ReqDailyUnlock(args []interface{}) error {
|
||||
_, player, buf := ParseArgs(args)
|
||||
req := &msg.ReqDailyUnlock{}
|
||||
proto.Unmarshal(buf, req)
|
||||
DailyTaskMod := player.PlayMod.getDailyTaskMod()
|
||||
DailyTaskMod.Unlock()
|
||||
player.PlayMod.save()
|
||||
player.PushClientRes(DailyTaskMod.BackData())
|
||||
player.PushClientRes(&msg.ResDailyUnlock{
|
||||
Code: msg.RES_CODE_SUCCESS,
|
||||
})
|
||||
return nil
|
||||
}
|
||||
|
||||
// 头像框
|
||||
func ReqSetAvatar(args []interface{}) error {
|
||||
_, player, buf := ParseArgs(args)
|
||||
@ -2792,6 +2828,10 @@ func ReqCardGive(args []interface{}) error {
|
||||
player.PushClientRes(CardMod.NotifyCard())
|
||||
player.PushClientRes(CardMod.NotifyTimes())
|
||||
player.PlayMod.save()
|
||||
player.TeLog("card_require", map[string]interface{}{
|
||||
"card_id": CardId,
|
||||
"player_id_target": req.Uid,
|
||||
})
|
||||
return nil
|
||||
}
|
||||
|
||||
@ -2829,10 +2869,16 @@ func ReqAgreeCardGive(args []interface{}) error {
|
||||
}
|
||||
FriendMgrSend(m)
|
||||
player.PushClientRes(CardMod.NotifyCard())
|
||||
player.PushClientRes(CardMod.NotifyTimes())
|
||||
player.PushClientRes(&msg.ResAgreeCardGive{
|
||||
Code: msg.RES_CODE_SUCCESS,
|
||||
Id: req.Id,
|
||||
})
|
||||
player.PlayMod.save()
|
||||
player.TeLog("card_require_reply", map[string]interface{}{
|
||||
"card_id": CardInfo.CardId,
|
||||
"player_id_requirer": CardInfo.AUid,
|
||||
})
|
||||
return nil
|
||||
}
|
||||
|
||||
@ -2854,6 +2900,7 @@ func ReqRefuseCardGive(args []interface{}) error {
|
||||
player.PlayMod.save()
|
||||
player.PushClientRes(&msg.ResRefuseCardGive{
|
||||
Code: msg.RES_CODE_SUCCESS,
|
||||
Id: req.Id,
|
||||
})
|
||||
m := &MsqMod.Msg{
|
||||
Type: MsqMod.HANDLE_TYPE_REG_CARD_REFUSE,
|
||||
@ -2933,6 +2980,11 @@ func ReqCardExchange(args []interface{}) error {
|
||||
player.PlayMod.save()
|
||||
player.PushClientRes(CardMod.NotifyTimes())
|
||||
FriendMgrSend(m)
|
||||
player.TeLog("card_exchange", map[string]interface{}{
|
||||
"card_id": CardId,
|
||||
"player_id_target": int(req.Uid),
|
||||
"is_gift": 0,
|
||||
})
|
||||
return nil
|
||||
}
|
||||
|
||||
@ -2984,6 +3036,11 @@ func ReqSelectCardExchange(args []interface{}) error {
|
||||
Extra: CardInfo,
|
||||
}
|
||||
FriendMgrSend(m)
|
||||
player.TeLog("card_exchange_reply", map[string]interface{}{
|
||||
"palyer_id_giver": CardInfo.AUid,
|
||||
"card_id_giver": CardInfo.CardId,
|
||||
"card_id_reply": CardInfo.ExId,
|
||||
})
|
||||
return nil
|
||||
}
|
||||
|
||||
@ -3013,6 +3070,7 @@ func ReqAgreeCardExchange(args []interface{}) error {
|
||||
player.PushClientRes(CardMod.NotifyCard())
|
||||
player.PushClientRes(&msg.ResAgreeCardExchange{
|
||||
Code: msg.RES_CODE_SUCCESS,
|
||||
Id: req.Id,
|
||||
})
|
||||
m := &MsqMod.Msg{
|
||||
Type: MsqMod.HANDLE_TYPE_ARGREE_EX_CARD,
|
||||
@ -3021,7 +3079,14 @@ func ReqAgreeCardExchange(args []interface{}) error {
|
||||
Extra: CardInfo,
|
||||
}
|
||||
player.PushClientRes(CardMod.NotifyCard())
|
||||
player.PushClientRes(CardMod.NotifyTimes())
|
||||
FriendMgrSend(m)
|
||||
player.TeLog("card_exchange_finish", map[string]interface{}{
|
||||
"player_id_giver": CardInfo.AUid,
|
||||
"card_id_giver": CardInfo.CardId,
|
||||
"card_id_reply": CardInfo.ExId,
|
||||
"player_id_reply": CardInfo.BUid,
|
||||
})
|
||||
return nil
|
||||
}
|
||||
|
||||
@ -3049,6 +3114,7 @@ func ReqRefuseCardSelect(args []interface{}) error {
|
||||
FriendMgrSend(m)
|
||||
player.PushClientRes(&msg.ResRefuseCardSelect{
|
||||
Code: msg.RES_CODE_SUCCESS,
|
||||
Id: req.Id,
|
||||
})
|
||||
player.PlayMod.save()
|
||||
return nil
|
||||
@ -3073,11 +3139,12 @@ func ReqRefuseCardExchange(args []interface{}) error {
|
||||
|
||||
CardMod.AddCard(CardInfo.CardId)
|
||||
CardMod.DelExCard(CardInfo)
|
||||
CardMod.AddExTimes()
|
||||
CardMod.AddExTimes(CardInfo)
|
||||
player.PlayMod.save()
|
||||
player.PushClientRes(CardMod.NotifyCard())
|
||||
player.PushClientRes(&msg.ResRefuseCardExchange{
|
||||
Code: msg.RES_CODE_SUCCESS,
|
||||
Id: req.Id,
|
||||
})
|
||||
m := &MsqMod.Msg{
|
||||
Type: MsqMod.HANDLE_TYPE_REFUSE_EX_CARD,
|
||||
@ -3107,9 +3174,9 @@ func ReqGetFriendCard(args []interface{}) error {
|
||||
}
|
||||
FriendMod.DelCardInfo(req.Id)
|
||||
CardMod.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))
|
||||
}
|
||||
// if CardInfo.ExId != 0 {
|
||||
// player.AddLog(CardInfo.BUid, friend.LOG_TYPE_CARD_EX_SUCCESS_2, fmt.Sprintf("%d_%d", CardInfo.ExId, CardInfo.CardId))
|
||||
// }
|
||||
player.PlayMod.save()
|
||||
player.PushClientRes(&msg.ResGetFriendCard{
|
||||
Code: msg.RES_CODE_SUCCESS,
|
||||
@ -3410,6 +3477,10 @@ func ReqPiggyBankReward(args []interface{}) error {
|
||||
player.PushClientRes(&msg.ResPiggyBankReward{
|
||||
Code: msg.RES_CODE_SUCCESS,
|
||||
})
|
||||
player.TeLog("piggy_bank_open", map[string]interface{}{
|
||||
"piggy_bank_type": piggyBank.PIGGY_BANK_TYPE_AD,
|
||||
"item_list": itemList,
|
||||
})
|
||||
return nil
|
||||
}
|
||||
|
||||
@ -3466,6 +3537,13 @@ func ReqChampshipReward(args []interface{}) error {
|
||||
player.PushClientRes(&msg.ResChampshipReward{
|
||||
Code: msg.RES_CODE_SUCCESS,
|
||||
})
|
||||
player.TeLog("championship_reward", map[string]interface{}{
|
||||
"season_id": GoUtil.ZeroTimestamp(),
|
||||
"champship_step_id": ChampshipMod.Reward,
|
||||
"reward_type": "step",
|
||||
"item_list": itemList,
|
||||
"champship_score": ChampshipMod.Score,
|
||||
})
|
||||
return nil
|
||||
}
|
||||
|
||||
@ -3594,6 +3672,13 @@ func ReqChampshipRankReward(args []interface{}) error {
|
||||
player.PushClientRes(&msg.ResChampshipRankReward{
|
||||
Code: msg.RES_CODE_SUCCESS,
|
||||
})
|
||||
player.TeLog("championship_reward", map[string]interface{}{
|
||||
"season_id": GoUtil.ZeroTimestamp() - 86400,
|
||||
"champship_step_id": MyLastRank,
|
||||
"reward_type": "rank",
|
||||
"item_list": itemList,
|
||||
"champship_score": ChampshipMod.Score,
|
||||
})
|
||||
return nil
|
||||
}
|
||||
|
||||
@ -3641,6 +3726,10 @@ func ReqMasterCard(args []interface{}) error {
|
||||
CardId: req.CardId,
|
||||
})
|
||||
player.PushClientRes(CardMod.NotifyCard())
|
||||
player.TeLog("master_card", map[string]interface{}{
|
||||
"wild_card_type": req.Id,
|
||||
"card_id": req.CardId,
|
||||
})
|
||||
return nil
|
||||
}
|
||||
|
||||
|
||||
@ -249,10 +249,18 @@ func (c *CardMod) ResetCardFestival() {
|
||||
c.CardLimit = false
|
||||
}
|
||||
|
||||
func (c *CardMod) GetCardFestival() bool {
|
||||
return c.CardLimit
|
||||
}
|
||||
|
||||
func (c *CardMod) CreateCardFestival() {
|
||||
c.CardLimit = true
|
||||
}
|
||||
|
||||
func (c *CardMod) GetCardNum(Card int) int {
|
||||
return c.CardList[Card]
|
||||
}
|
||||
|
||||
func (c *CardMod) SubCard(id int) error {
|
||||
count, ok := c.CardList[id]
|
||||
if ok && count > 0 {
|
||||
@ -296,9 +304,29 @@ func (c *CardMod) DelRequestCard(Uid int) ([]int, error) {
|
||||
return r, nil
|
||||
}
|
||||
|
||||
func (c *CardMod) AddExTimes() {
|
||||
c.ExTimes++
|
||||
c.ExTimes = min(cardCfg.GetExTimes(), c.ExTimes)
|
||||
func (c *CardMod) AddReqTimes(Id string, Time int64) {
|
||||
n := 0
|
||||
for _, v := range c.ReqFriend {
|
||||
if v.Id == Id {
|
||||
n++
|
||||
}
|
||||
}
|
||||
Zero := GoUtil.ZeroTime(Time)
|
||||
ZeroTime := GoUtil.ZeroTimestamp()
|
||||
if n == 0 && Zero == ZeroTime {
|
||||
c.ReqTimes = min(cardCfg.GetReqTimes(), c.ReqTimes+1)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
func (c *CardMod) AddExTimes(CardInfo *CardInfo) {
|
||||
Zero := GoUtil.ZeroTime(CardInfo.StartTime)
|
||||
ZeroTime := GoUtil.ZeroTimestamp()
|
||||
if Zero == ZeroTime {
|
||||
c.ExTimes++
|
||||
c.ExTimes = min(cardCfg.GetExTimes(), c.ExTimes)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// 交换卡牌
|
||||
@ -389,9 +417,19 @@ func (c *CardMod) NotifyCard() *msg.ResNotifyCard {
|
||||
}
|
||||
|
||||
func (c *CardMod) NotifyTimes() *msg.ResNotifyCardTimes {
|
||||
ReqUid := make([]int32, 0)
|
||||
for _, v := range c.ReqFriend {
|
||||
ReqUid = append(ReqUid, int32(v.BUid))
|
||||
}
|
||||
ExUid := make([]int32, 0)
|
||||
for k := range c.ExCard {
|
||||
ExUid = append(ExUid, int32(k))
|
||||
}
|
||||
m := &msg.ResNotifyCardTimes{
|
||||
ExTimes: int32(c.ExTimes),
|
||||
ReqTimes: int32(c.ReqTimes),
|
||||
ExUid: ExUid,
|
||||
ReqUid: ReqUid,
|
||||
}
|
||||
return m
|
||||
}
|
||||
|
||||
@ -39,6 +39,10 @@ func (c *ChampshipMod) GetRankReward(Rank int) ([]*item.Item, error) {
|
||||
}
|
||||
|
||||
func (c *ChampshipMod) AddScore(Chess []int) {
|
||||
Status := GoUtil.IfTrue(GoUtil.Now()-GoUtil.ZeroTimestamp() < 1800, 0, 1)
|
||||
if Status.(int) == 0 {
|
||||
return
|
||||
}
|
||||
score := 0
|
||||
for _, v := range Chess {
|
||||
Lv := mergeDataCfg.GetLvById(v)
|
||||
|
||||
@ -228,38 +228,29 @@ func (cb *ChessBorad) GetEmitList() []int {
|
||||
|
||||
// 完成订单 移除棋子
|
||||
func (cb *ChessBorad) FinishOrder(ChessId []int) error {
|
||||
result := make([]int, 0, len(cb.ChessList))
|
||||
bMap := make(map[int]int, len(cb.ChessList))
|
||||
|
||||
for _, v := range cb.ChessList {
|
||||
if _, ok := bMap[v]; !ok {
|
||||
bMap[v] = 1
|
||||
} else {
|
||||
bMap[v]++
|
||||
}
|
||||
}
|
||||
|
||||
for _, v := range ChessId {
|
||||
if _, found := bMap[v]; !found {
|
||||
return errors.New("次数不足")
|
||||
} else {
|
||||
bMap[v]--
|
||||
if bMap[v] < 0 {
|
||||
return errors.New("次数不足")
|
||||
}
|
||||
err := cb.FinishOrderChess(v)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
for k, v := range bMap {
|
||||
if v > 0 {
|
||||
for i := 0; i < v; i++ {
|
||||
result = append(result, k)
|
||||
}
|
||||
}
|
||||
}
|
||||
cb.ChessList = result
|
||||
return nil
|
||||
}
|
||||
func (cb *ChessBorad) FinishOrderChess(Chess int) error {
|
||||
for k, v := range cb.ChessList {
|
||||
if v == Chess {
|
||||
cb.ChessList = append(cb.ChessList[:k], cb.ChessList[k+1:]...)
|
||||
return nil
|
||||
}
|
||||
}
|
||||
for k, v := range cb.ChessBag.List {
|
||||
if v.ChessId == Chess {
|
||||
cb.ChessBag.List[k] = ChessBagGrid{}
|
||||
return nil
|
||||
}
|
||||
}
|
||||
return errors.New("order finish chess id not exist")
|
||||
}
|
||||
|
||||
// 棋子转换
|
||||
func (cb *ChessBorad) ExChess(OldChessId, NewChessId int) error {
|
||||
|
||||
@ -16,6 +16,7 @@ type DailyTaskMod struct {
|
||||
DayTask map[int]DailyTask
|
||||
lastTask map[int]struct{}
|
||||
Active int
|
||||
Lock bool
|
||||
}
|
||||
|
||||
type WeekReward struct {
|
||||
@ -42,6 +43,11 @@ func (dt *DailyTaskMod) InitData() {
|
||||
dt.lastTask = make(map[int]struct{})
|
||||
}
|
||||
}
|
||||
|
||||
func (dt *DailyTaskMod) Unlock() {
|
||||
dt.Lock = true
|
||||
}
|
||||
|
||||
func (dt *DailyTaskMod) LevUpTrigger(Lv, AreaId int) bool {
|
||||
if len(dt.DayTask) != 0 {
|
||||
return false
|
||||
|
||||
@ -88,13 +88,13 @@ func (o *OrderMod) CreateOrder(lv int, Emit []int) error {
|
||||
return nil
|
||||
}
|
||||
switch o.LastOrder.Type {
|
||||
case Extra_type:
|
||||
case Preheat_type:
|
||||
ChessId := o.LastOrder.MergeId[0]
|
||||
ChessLv := mergeDataCfg.GetLvById(ChessId)
|
||||
ChessColor := mergeDataCfg.GetColorById(ChessId)
|
||||
if ChessLv < 4 {
|
||||
NewChessId := mergeDataCfg.GetChessIdByLvAndColor(ChessLv+1, ChessColor)
|
||||
o.addOrder([]int{NewChessId}, diff_low, Extra_type)
|
||||
o.addOrder([]int{NewChessId}, diff_low, Preheat_type)
|
||||
}
|
||||
default:
|
||||
if o.Step < 12 {
|
||||
@ -313,11 +313,11 @@ func (o *OrderMod) CreateExtraOrder(AddChess, AddNewEmit, ChessList []int) bool
|
||||
OrderEmit := 0
|
||||
MaxLvChess := make(map[int]int)
|
||||
for _, v := range AddNewEmit {
|
||||
ChessLv := mergeDataCfg.GetLvById(v)
|
||||
Emit_Id := mergeDataCfg.GetEmitId(v)
|
||||
_, ok := GetExtraEmitId[Emit_Id]
|
||||
_, ok1 := o.EimtOrder[Emit_Id]
|
||||
if ok && !ok1 && ChessLv >= 4 {
|
||||
ChessColor := mergeDataCfg.GetEmitProduceType(v)
|
||||
if ok && !ok1 && len(ChessColor) > 0 {
|
||||
b1 = true
|
||||
OrderEmit = v
|
||||
o.EimtOrder[Emit_Id] = struct{}{}
|
||||
@ -338,7 +338,7 @@ func (o *OrderMod) CreateExtraOrder(AddChess, AddNewEmit, ChessList []int) bool
|
||||
//额外订单补充1;CDEG发射器首次合成时,生成其对应2及棋子订单,完成后生成3及,再完成生成4及的;
|
||||
if b1 {
|
||||
ChessColor := mergeDataCfg.GetEmitProduceType(OrderEmit)
|
||||
ChessId := mergeDataCfg.GetChessIdByLvAndColor(1, ChessColor[0])
|
||||
ChessId := mergeDataCfg.GetChessIdByLvAndColor(2, ChessColor[0])
|
||||
if ChessId != 0 {
|
||||
o.addOrder([]int{ChessId}, diff_low, Preheat_type)
|
||||
}
|
||||
|
||||
@ -16,8 +16,7 @@ require (
|
||||
|
||||
require (
|
||||
filippo.io/edwards25519 v1.1.0 // indirect
|
||||
github.com/ThinkingDataAnalytics/go-sdk v1.7.0 // indirect
|
||||
github.com/ThinkingDataAnalytics/go-sdk/v2 v2.0.3 // indirect
|
||||
github.com/ThinkingDataAnalytics/go-sdk/v2 v2.0.3 //
|
||||
github.com/cespare/xxhash/v2 v2.2.0 // indirect
|
||||
github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f // indirect
|
||||
github.com/google/go-cmp v0.6.0 // indirect
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user