卡牌赛季初奖励
This commit is contained in:
parent
ca4ddc283f
commit
8c3ca0e3a5
@ -200,3 +200,11 @@ func GetItemIdByCardId(CardId int) int {
|
||||
}
|
||||
return gamedata.GetIntValue(data, "ItemId")
|
||||
}
|
||||
|
||||
func GetSeasonFirstReward() []*item.Item {
|
||||
data, err := gamedata.GetDataByKey(CARD_CONST_CFG_NAME, "season_first")
|
||||
if err != nil {
|
||||
log.Debug("GetSeasonFirstReward data not found")
|
||||
}
|
||||
return item.ParseItem(data["Value"])
|
||||
}
|
||||
|
||||
@ -686,6 +686,7 @@ func (ad *GameLogic) RegisterNetWorkFunc() {
|
||||
|
||||
// #region 卡牌
|
||||
RegisterMsgProcessFunc("ReqCardInfo", ReqCardInfo) // 请求卡牌信息
|
||||
RegisterMsgProcessFunc("ReqCardSeasonFirstReward", ReqCardSeasonFirstReward) // 领取赛季首次奖励
|
||||
RegisterMsgProcessFunc("ReqCardCollectReward", ReqCardCollectReward) //领取卡牌系列收集奖励
|
||||
RegisterMsgProcessFunc("ReqExStarReward", ReqExStarReward) // 兑换收集星星奖励
|
||||
RegisterMsgProcessFunc("ReqAllCollectReward", ReqAllCollectReward) // 领取全收集奖励
|
||||
|
||||
@ -244,6 +244,9 @@ func ReqGmCommand(args []interface{}) error {
|
||||
DecorateMod.AreaId = S
|
||||
DecorateMod.FinishList = make(map[int]struct{})
|
||||
DecorateMod.Progress = 0
|
||||
case "resetCardSeasonFirst":
|
||||
CardMod := player.PlayMod.getCardMod()
|
||||
CardMod.SeasonFirst = false
|
||||
}
|
||||
player.PlayMod.save()
|
||||
return nil
|
||||
|
||||
@ -772,6 +772,34 @@ func ReqCardInfo(args []interface{}) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func ReqCardSeasonFirstReward(args []interface{}) error {
|
||||
_, player, buf := ParseArgs(args)
|
||||
req := &msg.ReqCardSeasonFirstReward{}
|
||||
proto.Unmarshal(buf, req)
|
||||
CardMod := player.PlayMod.getCardMod()
|
||||
itemList, err := CardMod.SeasonFirstReward()
|
||||
if err != nil {
|
||||
player.SendErrClienRes(&msg.ResCardSeasonFirstReward{
|
||||
Code: msg.RES_CODE_FAIL,
|
||||
Msg: err.Error(),
|
||||
})
|
||||
return err
|
||||
}
|
||||
err = player.HandleItem(itemList, msg.ITEM_POP_LABEL_CardSeasonFirstReward.String())
|
||||
if err != nil {
|
||||
player.SendErrClienRes(&msg.ResCardSeasonFirstReward{
|
||||
Code: msg.RES_CODE_FAIL,
|
||||
Msg: err.Error(),
|
||||
})
|
||||
return err
|
||||
}
|
||||
player.PlayMod.save()
|
||||
player.PushClientRes(&msg.ResCardSeasonFirstReward{
|
||||
Code: msg.RES_CODE_SUCCESS,
|
||||
})
|
||||
return nil
|
||||
}
|
||||
|
||||
// 领取卡牌系列收集奖励
|
||||
func ReqCardCollectReward(args []interface{}) error {
|
||||
_, player, buf := ParseArgs(args)
|
||||
|
||||
@ -15,6 +15,7 @@ type CardMod struct {
|
||||
AllCollect int // 总共收集 0未领取, 1已领取
|
||||
CardLimit bool //卡牌节 限时活动
|
||||
EndTime int64 //周期结束时间
|
||||
SeasonFirst bool //赛季首次奖励
|
||||
AllCard map[int]int //
|
||||
ExTimes int //置换次数
|
||||
ReqTimes int //请求次数
|
||||
@ -230,6 +231,7 @@ func (c *CardMod) BackData() *msg.ResCardInfo {
|
||||
ExUid: ExUid,
|
||||
Round: int32(c.Round),
|
||||
Handbook: GoUtil.MapIntToInt32(c.Handbook),
|
||||
SeasonFirst: c.SeasonFirst,
|
||||
}
|
||||
}
|
||||
|
||||
@ -539,3 +541,11 @@ func (c *CardMod) GetHandbookReward(CardId int) ([]*item.Item, error) {
|
||||
func (c *CardMod) RandCard(Star int) int {
|
||||
return randCard(c.Round, Star, 0)
|
||||
}
|
||||
|
||||
func (c *CardMod) SeasonFirstReward() ([]*item.Item, error) {
|
||||
if c.SeasonFirst {
|
||||
return nil, fmt.Errorf("SeasonFirstReward already get")
|
||||
}
|
||||
c.SeasonFirst = true
|
||||
return cardCfg.GetSeasonFirstReward(), nil
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user