宝箱雨改版

This commit is contained in:
hahwu 2025-01-06 16:22:55 +08:00
parent 662f61b437
commit 51f790cd62
6 changed files with 42 additions and 12 deletions

View File

@ -51,11 +51,11 @@ func GetMeteorAdd(ChessLv int) int {
}
// 获取宝箱雨奖励
func GetChestReward(Star int) ([]*item.Item, int, int) {
func GetChestReward(Star int) ([]*item.Item, int, int, int) {
data, err := gamedata.GetData(CFG_LIMITED_TIME_EVENT_CHEST)
if err != nil {
log.Debug("GetChestReward err:%v", err)
return nil, 0, 0
return nil, 0, 0, 0
}
Grade := 0
for k, v := range data {
@ -70,7 +70,7 @@ func GetChestReward(Star int) ([]*item.Item, int, int) {
data, err = gamedata.GetData(CFG_LIMITED_TIME_EVENT_CHEST_JACKPOT)
if err != nil {
log.Debug("GetChestReward err:%v", err)
return nil, 0, 0
return nil, 0, 0, 0
}
RandMap := make(map[int]int)
for k, v := range data {
@ -84,13 +84,14 @@ func GetChestReward(Star int) ([]*item.Item, int, int) {
data, err = gamedata.GetDataByIntKey(CFG_LIMITED_TIME_EVENT_CHEST_JACKPOT, Id)
if err != nil {
log.Debug("GetChestReward err:%v", err)
return nil, 0, 0
return nil, 0, 0, 0
}
Items := gamedata.GetItemList(data, "Items")
CardLv := gamedata.GetIntValue(data, "CardLv")
Lv := gamedata.GetIntValue(data, "Lv")
return Items, CardLv, Lv
Jackpot := gamedata.GetIntValue(data, "Jackpot")
return Items, CardLv, Lv, Jackpot
}
// 获取超级订单奖励

View File

@ -491,6 +491,10 @@ func (p *Player) HandleItem(itemList []*item.Item, Label string) error {
"change_num": v.Num,
"change_after": p.GetPlayerBaseMod().GetDiamond(),
})
case item.ITEM_TYPE_CARD: // 卡牌
CardMod := p.PlayMod.getCardMod()
Effect := itemCfg.GetItemEffect(v.Id)
CardMod.AddCard(Effect)
case item.ITEM_TYPE_CARD_PACK: // 卡包
CardMod := p.PlayMod.getCardMod()
Effect := itemCfg.GetItemEffect(v.Id)

View File

@ -7,6 +7,7 @@ import (
"server/GoUtil"
"server/MergeConst"
cardCfg "server/conf/card"
limitedTimeEventCfg "server/conf/limitedTimeEvent"
mergeDataCfg "server/conf/mergeData"
miningCfg "server/conf/mining"
"server/db"
@ -196,11 +197,12 @@ func ReqRewardOrder(args []interface{}) error {
Item = item.Merge(Item, AddItem)
}
if LimitedTimeEventMod.CheckExist(limitedTimeEvent.EVENT_TYPE_CHEST_RAIN) { //宝箱雨活动
AddItem, CardLv, ProductLv := LimitedTimeEventMod.GetChestReward(mergeList)
AddItem, CardLv, ProductLv, Jackpot := LimitedTimeEventMod.GetChestReward(mergeList)
ChestRainItems := make([]*item.Item, 0)
if len(AddItem) > 0 {
ChestRainItems = AddItem
}
JackpotId := 0
if CardLv > 0 {
CardId := CardMod.RandCard(CardLv)
ItemId := cardCfg.GetItemIdByCardId(CardId)
@ -211,10 +213,16 @@ func ReqRewardOrder(args []interface{}) error {
ChessId := mergeDataCfg.GetChessIdByLvAndColor(ProductLv, Color)
ChestRainItems = append(ChestRainItems, &item.Item{Id: ChessId, Num: 1})
}
if Jackpot > 0 {
ProbList := limitedTimeEventCfg.GetSenceJackpotProb()
JackpotId = GoUtil.RandMap(ProbList)
ChestRainItems = limitedTimeEventCfg.GetSenceJackpotReward(JackpotId)
}
Item = item.Merge(Item, ChestRainItems)
if len(ChestRainItems) > 0 {
player.PushClientRes(&msg.ResChessRainReward{
Items: item.ItemToMsg(ChestRainItems),
Id: int32(JackpotId),
})
player.TeLog("time_limited_event_action", map[string]interface{}{
"event_type": "chest_rain",

View File

@ -2,7 +2,9 @@ package game
import (
"fmt"
"server/GoUtil"
cardCfg "server/conf/card"
limitedTimeEventCfg "server/conf/limitedTimeEvent"
mergeDataCfg "server/conf/mergeData"
"server/game/mod/item"
"server/game/mod/order"
@ -107,11 +109,12 @@ func UnitLimitedTimeEvent(p *Player) error {
CardMod := p.PlayMod.getCardMod()
ChessMod := p.PlayMod.getChessMod()
mergeList := []int{1, 2, 30}
AddItem, CardLv, ProductLv := LimitedTimeEventMod.GetChestReward(mergeList)
ChestRainItems := make([]*item.Item, 0)
AddItem, CardLv, ProductLv, Jackpot := LimitedTimeEventMod.GetChestReward(mergeList)
if len(AddItem) > 0 {
ChestRainItems = AddItem
}
JackpotId := 0
if CardLv > 0 {
CardId := CardMod.RandCard(CardLv)
ItemId := cardCfg.GetItemIdByCardId(CardId)
@ -122,6 +125,11 @@ func UnitLimitedTimeEvent(p *Player) error {
ChessId := mergeDataCfg.GetChessIdByLvAndColor(ProductLv, Color)
ChestRainItems = append(ChestRainItems, &item.Item{Id: ChessId, Num: 1})
}
fmt.Print(ChestRainItems)
if Jackpot > 0 {
ProbList := limitedTimeEventCfg.GetSenceJackpotProb()
JackpotId = GoUtil.RandMap(ProbList)
ChestRainItems = limitedTimeEventCfg.GetSenceJackpotReward(JackpotId)
}
fmt.Print(ChestRainItems, JackpotId)
return nil
}

View File

@ -192,7 +192,7 @@ func (l *LimitedTimeEventMod) GetMeteorReward(MergeList []int) []*item.Item {
}
// 获取宝箱雨奖励
func (l *LimitedTimeEventMod) GetChestReward(MergeList []int) ([]*item.Item, int, int) {
func (l *LimitedTimeEventMod) GetChestReward(MergeList []int) ([]*item.Item, int, int, int) {
Star := 0
for _, v := range MergeList {
Star += mergeDataCfg.GetStarById(v)

View File

@ -9275,7 +9275,8 @@ type ResChessRainReward struct {
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Items []*ItemInfo `protobuf:"bytes,1,rep,name=Items,proto3" json:"Items,omitempty"`
Items []*ItemInfo `protobuf:"bytes,1,rep,name=Items,proto3" json:"Items,omitempty"` //奖励道具
Id int32 `protobuf:"varint,2,opt,name=Id,proto3" json:"Id,omitempty"` // 转盘id
}
func (x *ResChessRainReward) Reset() {
@ -9315,6 +9316,13 @@ func (x *ResChessRainReward) GetItems() []*ItemInfo {
return nil
}
func (x *ResChessRainReward) GetId() int32 {
if x != nil {
return x.Id
}
return 0
}
// 连技快手奖励
type ReqFastProduceReward struct {
state protoimpl.MessageState
@ -19103,11 +19111,12 @@ var file_Gameapi_proto_rawDesc = []byte{
0x64, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32,
0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43,
0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67,
0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x3e, 0x0a, 0x12, 0x52,
0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x4e, 0x0a, 0x12, 0x52,
0x65, 0x73, 0x43, 0x68, 0x65, 0x73, 0x73, 0x52, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x77, 0x61, 0x72,
0x64, 0x12, 0x28, 0x0a, 0x05, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x49, 0x74, 0x65, 0x6d,
0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x2e, 0x0a, 0x14, 0x52,
0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x49,
0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x22, 0x2e, 0x0a, 0x14, 0x52,
0x65, 0x71, 0x46, 0x61, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x52, 0x65, 0x77,
0x61, 0x72, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x18, 0x01, 0x20,
0x01, 0x28, 0x05, 0x52, 0x06, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x22, 0x50, 0x0a, 0x14, 0x52,