锦标赛,挖矿配置调整

This commit is contained in:
hahwu 2026-03-10 12:07:23 +08:00
parent 892d81907e
commit 8a79ce2b64
6 changed files with 29 additions and 18 deletions

View File

@ -47,7 +47,7 @@ func GetChessScore(ChessLv int) int {
return gamedata.GetIntValue(data, "Score")
}
func GetReward(Reward, Score, activityId int) (int, []*item.Item) {
func GetReward(Reward, Score, activityId, orderFactor int) (int, []*item.Item) {
data, err := gamedata.GetData(CFG_CHAMPSHIP_JACKPOT)
if err != nil {
log.Debug("GetReward err:%v, Reward=%d, Score=%d", err, Reward, Score)
@ -64,10 +64,18 @@ func GetReward(Reward, Score, activityId int) (int, []*item.Item) {
if Reward >= Id {
continue
}
if Score >= gamedata.GetIntValue(v, "Total") {
Items := item.ParseItem(gamedata.GetValue(v, "Items"))
r = item.Merge(r, Items)
NewReward = max(NewReward, Id)
if Score < gamedata.GetIntValue(v, "Total") {
continue
}
Items := item.ParseItem(gamedata.GetValue(v, "Items"))
r = item.Merge(r, Items)
NewReward = max(NewReward, Id)
starReward := gamedata.GetIntValue(v, "StarReward")
if starReward > 0 {
starnum := int((float64(starReward) * float64(orderFactor) / 500)) * 5
if starnum > 0 {
r = append(r, item.NewItem(item.ITEM_STAR_ID, starnum))
}
}
}
return NewReward, r

View File

@ -96,7 +96,7 @@ func GetRandItem() []*item.Item {
return gamedata.GetItemList(Info, "Items")
}
func GetPassItem(Id int, needStar int) []*item.Item {
func GetPassItem(Id int, orderFactor int) []*item.Item {
data, err := gamedata.GetDataByIntKey(CFG_MINING_PASS, Id)
if err != nil {
return nil
@ -105,7 +105,7 @@ func GetPassItem(Id int, needStar int) []*item.Item {
starReward := gamedata.GetIntValue(data, "StarReward")
var starnum int
if starReward > 0 {
starnum = int(needStar * starReward / 100)
starnum = int((float64(starReward) * float64(orderFactor) / 500)) * 5
if starnum > 0 {
items = append(items, &item.Item{
Id: item.ITEM_STAR_ID,
@ -116,7 +116,7 @@ func GetPassItem(Id int, needStar int) []*item.Item {
return items
}
func GetPassItemList(needStar int) map[int][]*item.Item {
func GetPassItemList(orderFactor int) map[int][]*item.Item {
data, err := gamedata.GetData(CFG_MINING_PASS)
if err != nil {
return nil
@ -124,7 +124,7 @@ func GetPassItemList(needStar int) map[int][]*item.Item {
result := make(map[int][]*item.Item)
for k := range data {
Id := GoUtil.Int(k)
result[Id] = GetPassItem(Id, needStar)
result[Id] = GetPassItem(Id, orderFactor)
}
return result
}

View File

@ -9,6 +9,7 @@ import (
guesscolorCfg "server/conf/guess_color"
languageCfg "server/conf/language"
miningCfg "server/conf/mining"
orderCfg "server/conf/order"
passCfg "server/conf/pass"
raceCfg "server/conf/race"
"server/game/mod/activity"
@ -199,8 +200,8 @@ func (p *Player) MiningBackData() {
Status := p.GetActivityStatus(activity.ACT_TYPE_MINING)
Template := miningCfg.GetTemplate(ActivityInfo.Id)
DecorateMod := p.PlayMod.getDecorateMod()
needStar := DecorateMod.GetNextNeedStar()
passRewardList := miningCfg.GetPassItemList(needStar)
orderFactor := orderCfg.GetOrderFactor(DecorateMod.GetAreaId())
passRewardList := miningCfg.GetPassItemList(orderFactor)
resPassRewardList := make(map[int32]*msg.ItemList)
for k, v := range passRewardList {
resPassRewardList[int32(k)] = item.ItemListToMsg(v)

View File

@ -56,8 +56,8 @@ func (c *ChampshipMod) AddScore(Chess []int) {
c.Score += score
}
func (c *ChampshipMod) GetReward(activityId int) []*item.Item {
Reward, Items := champshipCfg.GetReward(c.Reward, c.Score, activityId)
func (c *ChampshipMod) GetReward(activityId, orderFactor int) []*item.Item {
Reward, Items := champshipCfg.GetReward(c.Reward, c.Score, activityId, orderFactor)
c.Reward = Reward
c.Max = max(c.Max, c.Reward)
return Items

View File

@ -99,12 +99,12 @@ func (m *MiningMod) Take(Map map[int32]string, Gem int) ([]*item.Item, error) {
return Items, nil
}
func (m *MiningMod) GetReward(needStar int) ([]*item.Item, int, error) {
func (m *MiningMod) GetReward(orderFactor int) ([]*item.Item, int, error) {
GemList := miningCfg.GetPassGem(m.Pass)
if len(m.Gem) < len(GemList) {
return nil, 0, fmt.Errorf("gem is not full")
}
Items := miningCfg.GetPassItem(m.Pass, needStar)
Items := miningCfg.GetPassItem(m.Pass, orderFactor)
m.Pass++
Ming := m.Mining
m.Mining = 0

View File

@ -2738,8 +2738,10 @@ func ReqShippingOrder(player *Player, buf []byte) error {
func ReqChampshipReward(player *Player, buf []byte) error {
ChampshipMod := player.PlayMod.getChampshipMod()
todayActivityId, _ := player.GetChampshipActivityId()
DecorateMod := player.PlayMod.getDecorateMod()
orderFactor := orderCfg.GetOrderFactor(DecorateMod.GetAreaId())
RewardId := ChampshipMod.Reward
itemList := ChampshipMod.GetReward(todayActivityId)
itemList := ChampshipMod.GetReward(todayActivityId, orderFactor)
err := player.HandleItem(itemList, msg.ITEM_POP_LABEL_ChampshipReward.String())
if err != nil {
player.SendErrClienRes(&msg.ResChampshipReward{
@ -3164,8 +3166,8 @@ func ReqMiningReward(player *Player, buf []byte) error {
return fmt.Errorf("activity not start")
}
DecorateMod := player.PlayMod.getDecorateMod()
needStar := DecorateMod.GetNextNeedStar()
itemList, Mining, err := MiningMod.GetReward(needStar)
orderFactor := orderCfg.GetOrderFactor(DecorateMod.GetAreaId())
itemList, Mining, err := MiningMod.GetReward(orderFactor)
if err != nil {
player.SendErrClienRes(&msg.ResMiningReward{
Code: msg.RES_CODE_FAIL,