锦标赛,挖矿配置调整
This commit is contained in:
parent
892d81907e
commit
8a79ce2b64
@ -47,7 +47,7 @@ func GetChessScore(ChessLv int) int {
|
|||||||
return gamedata.GetIntValue(data, "Score")
|
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)
|
data, err := gamedata.GetData(CFG_CHAMPSHIP_JACKPOT)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Debug("GetReward err:%v, Reward=%d, Score=%d", err, Reward, Score)
|
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 {
|
if Reward >= Id {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
if Score >= gamedata.GetIntValue(v, "Total") {
|
if Score < gamedata.GetIntValue(v, "Total") {
|
||||||
Items := item.ParseItem(gamedata.GetValue(v, "Items"))
|
continue
|
||||||
r = item.Merge(r, Items)
|
}
|
||||||
NewReward = max(NewReward, Id)
|
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
|
return NewReward, r
|
||||||
|
|||||||
@ -96,7 +96,7 @@ func GetRandItem() []*item.Item {
|
|||||||
return gamedata.GetItemList(Info, "Items")
|
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)
|
data, err := gamedata.GetDataByIntKey(CFG_MINING_PASS, Id)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil
|
return nil
|
||||||
@ -105,7 +105,7 @@ func GetPassItem(Id int, needStar int) []*item.Item {
|
|||||||
starReward := gamedata.GetIntValue(data, "StarReward")
|
starReward := gamedata.GetIntValue(data, "StarReward")
|
||||||
var starnum int
|
var starnum int
|
||||||
if starReward > 0 {
|
if starReward > 0 {
|
||||||
starnum = int(needStar * starReward / 100)
|
starnum = int((float64(starReward) * float64(orderFactor) / 500)) * 5
|
||||||
if starnum > 0 {
|
if starnum > 0 {
|
||||||
items = append(items, &item.Item{
|
items = append(items, &item.Item{
|
||||||
Id: item.ITEM_STAR_ID,
|
Id: item.ITEM_STAR_ID,
|
||||||
@ -116,7 +116,7 @@ func GetPassItem(Id int, needStar int) []*item.Item {
|
|||||||
return items
|
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)
|
data, err := gamedata.GetData(CFG_MINING_PASS)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil
|
return nil
|
||||||
@ -124,7 +124,7 @@ func GetPassItemList(needStar int) map[int][]*item.Item {
|
|||||||
result := make(map[int][]*item.Item)
|
result := make(map[int][]*item.Item)
|
||||||
for k := range data {
|
for k := range data {
|
||||||
Id := GoUtil.Int(k)
|
Id := GoUtil.Int(k)
|
||||||
result[Id] = GetPassItem(Id, needStar)
|
result[Id] = GetPassItem(Id, orderFactor)
|
||||||
}
|
}
|
||||||
return result
|
return result
|
||||||
}
|
}
|
||||||
|
|||||||
@ -9,6 +9,7 @@ import (
|
|||||||
guesscolorCfg "server/conf/guess_color"
|
guesscolorCfg "server/conf/guess_color"
|
||||||
languageCfg "server/conf/language"
|
languageCfg "server/conf/language"
|
||||||
miningCfg "server/conf/mining"
|
miningCfg "server/conf/mining"
|
||||||
|
orderCfg "server/conf/order"
|
||||||
passCfg "server/conf/pass"
|
passCfg "server/conf/pass"
|
||||||
raceCfg "server/conf/race"
|
raceCfg "server/conf/race"
|
||||||
"server/game/mod/activity"
|
"server/game/mod/activity"
|
||||||
@ -199,8 +200,8 @@ func (p *Player) MiningBackData() {
|
|||||||
Status := p.GetActivityStatus(activity.ACT_TYPE_MINING)
|
Status := p.GetActivityStatus(activity.ACT_TYPE_MINING)
|
||||||
Template := miningCfg.GetTemplate(ActivityInfo.Id)
|
Template := miningCfg.GetTemplate(ActivityInfo.Id)
|
||||||
DecorateMod := p.PlayMod.getDecorateMod()
|
DecorateMod := p.PlayMod.getDecorateMod()
|
||||||
needStar := DecorateMod.GetNextNeedStar()
|
orderFactor := orderCfg.GetOrderFactor(DecorateMod.GetAreaId())
|
||||||
passRewardList := miningCfg.GetPassItemList(needStar)
|
passRewardList := miningCfg.GetPassItemList(orderFactor)
|
||||||
resPassRewardList := make(map[int32]*msg.ItemList)
|
resPassRewardList := make(map[int32]*msg.ItemList)
|
||||||
for k, v := range passRewardList {
|
for k, v := range passRewardList {
|
||||||
resPassRewardList[int32(k)] = item.ItemListToMsg(v)
|
resPassRewardList[int32(k)] = item.ItemListToMsg(v)
|
||||||
|
|||||||
@ -56,8 +56,8 @@ func (c *ChampshipMod) AddScore(Chess []int) {
|
|||||||
c.Score += score
|
c.Score += score
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *ChampshipMod) GetReward(activityId int) []*item.Item {
|
func (c *ChampshipMod) GetReward(activityId, orderFactor int) []*item.Item {
|
||||||
Reward, Items := champshipCfg.GetReward(c.Reward, c.Score, activityId)
|
Reward, Items := champshipCfg.GetReward(c.Reward, c.Score, activityId, orderFactor)
|
||||||
c.Reward = Reward
|
c.Reward = Reward
|
||||||
c.Max = max(c.Max, c.Reward)
|
c.Max = max(c.Max, c.Reward)
|
||||||
return Items
|
return Items
|
||||||
|
|||||||
@ -99,12 +99,12 @@ func (m *MiningMod) Take(Map map[int32]string, Gem int) ([]*item.Item, error) {
|
|||||||
return Items, nil
|
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)
|
GemList := miningCfg.GetPassGem(m.Pass)
|
||||||
if len(m.Gem) < len(GemList) {
|
if len(m.Gem) < len(GemList) {
|
||||||
return nil, 0, fmt.Errorf("gem is not full")
|
return nil, 0, fmt.Errorf("gem is not full")
|
||||||
}
|
}
|
||||||
Items := miningCfg.GetPassItem(m.Pass, needStar)
|
Items := miningCfg.GetPassItem(m.Pass, orderFactor)
|
||||||
m.Pass++
|
m.Pass++
|
||||||
Ming := m.Mining
|
Ming := m.Mining
|
||||||
m.Mining = 0
|
m.Mining = 0
|
||||||
|
|||||||
@ -2738,8 +2738,10 @@ func ReqShippingOrder(player *Player, buf []byte) error {
|
|||||||
func ReqChampshipReward(player *Player, buf []byte) error {
|
func ReqChampshipReward(player *Player, buf []byte) error {
|
||||||
ChampshipMod := player.PlayMod.getChampshipMod()
|
ChampshipMod := player.PlayMod.getChampshipMod()
|
||||||
todayActivityId, _ := player.GetChampshipActivityId()
|
todayActivityId, _ := player.GetChampshipActivityId()
|
||||||
|
DecorateMod := player.PlayMod.getDecorateMod()
|
||||||
|
orderFactor := orderCfg.GetOrderFactor(DecorateMod.GetAreaId())
|
||||||
RewardId := ChampshipMod.Reward
|
RewardId := ChampshipMod.Reward
|
||||||
itemList := ChampshipMod.GetReward(todayActivityId)
|
itemList := ChampshipMod.GetReward(todayActivityId, orderFactor)
|
||||||
err := player.HandleItem(itemList, msg.ITEM_POP_LABEL_ChampshipReward.String())
|
err := player.HandleItem(itemList, msg.ITEM_POP_LABEL_ChampshipReward.String())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
player.SendErrClienRes(&msg.ResChampshipReward{
|
player.SendErrClienRes(&msg.ResChampshipReward{
|
||||||
@ -3164,8 +3166,8 @@ func ReqMiningReward(player *Player, buf []byte) error {
|
|||||||
return fmt.Errorf("activity not start")
|
return fmt.Errorf("activity not start")
|
||||||
}
|
}
|
||||||
DecorateMod := player.PlayMod.getDecorateMod()
|
DecorateMod := player.PlayMod.getDecorateMod()
|
||||||
needStar := DecorateMod.GetNextNeedStar()
|
orderFactor := orderCfg.GetOrderFactor(DecorateMod.GetAreaId())
|
||||||
itemList, Mining, err := MiningMod.GetReward(needStar)
|
itemList, Mining, err := MiningMod.GetReward(orderFactor)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
player.SendErrClienRes(&msg.ResMiningReward{
|
player.SendErrClienRes(&msg.ResMiningReward{
|
||||||
Code: msg.RES_CODE_FAIL,
|
Code: msg.RES_CODE_FAIL,
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user