猫咪戏法配置优化
This commit is contained in:
parent
4c966b46c4
commit
ae558370d5
@ -24,7 +24,6 @@ const (
|
||||
CFG_LIMITED_TIME_EVENT_BONUS = "LimitedTimeEventBonus"
|
||||
CFG_LIMITED_TIME_EVENT_MONEY = "LimitedTimeEventMoney"
|
||||
CFG_LIMITED_TIME_EVENT_LUCKY = "LimitedTimeEventLucky"
|
||||
CFG_LIMITED_TIME_EVENT_CAT_TRICK = "LimitedTimeEventCatTrick"
|
||||
CFG_LIMTTED_TIME_EVENT_DECORATE_OFF = "LimitedTimeEventDecorateOff"
|
||||
)
|
||||
|
||||
@ -42,7 +41,6 @@ func init() {
|
||||
gamedata.InitCfg(CFG_LIMITED_TIME_EVENT_CHEST_JACKPOT)
|
||||
gamedata.InitCfg(CFG_LIMITED_TIME_EVENT_MONEY)
|
||||
gamedata.InitCfg(CFG_LIMITED_TIME_EVENT_LUCKY)
|
||||
gamedata.InitCfg(CFG_LIMITED_TIME_EVENT_CAT_TRICK)
|
||||
gamedata.InitCfg(CFG_LIMTTED_TIME_EVENT_DECORATE_OFF)
|
||||
}
|
||||
|
||||
@ -421,28 +419,22 @@ func GetLuckyCatMaxEarning(Remain int) int {
|
||||
return 0
|
||||
}
|
||||
|
||||
func GetCatTrickType(Duartion int) int {
|
||||
data, err := gamedata.GetData(CFG_LIMITED_TIME_EVENT_CAT_TRICK)
|
||||
func GetCatTrickEnergy() int {
|
||||
data, err := gamedata.GetDataByKey(CFG_LIMITED_TIME_EVENT_CONST, "CatTrick_ConsumeEnergy")
|
||||
if err != nil {
|
||||
log.Debug("GetCatTrickType err:%v, Duartion=%d", err, Duartion)
|
||||
return 1
|
||||
log.Debug("GetCatTrickEnergy err:%v", err)
|
||||
return 0
|
||||
}
|
||||
for k, v := range data {
|
||||
D := gamedata.GetIntValue(v, "Duration")
|
||||
if Duartion == D {
|
||||
return GoUtil.Int(k)
|
||||
}
|
||||
}
|
||||
return gamedata.GetIntValue(data, "Type")
|
||||
return gamedata.GetIntValue(data, "Value")
|
||||
}
|
||||
|
||||
func GetCatTrickDiamond(Type int) (int, int) {
|
||||
data, err := gamedata.GetDataByIntKey(CFG_LIMITED_TIME_EVENT_CAT_TRICK, Type)
|
||||
func GetCatTrickDiamond() int {
|
||||
data, err := gamedata.GetDataByKey(CFG_LIMITED_TIME_EVENT_CONST, "CatTrick_RewardDiamond")
|
||||
if err != nil {
|
||||
log.Debug("GetCatTrickDiamond err:%v, Type=%d", err, Type)
|
||||
return 0, 0
|
||||
log.Debug("GetCatTrickDiamond err:%v", err)
|
||||
return 0
|
||||
}
|
||||
return gamedata.GetIntValue(data, "Diamond"), gamedata.GetIntValue(data, "Energy")
|
||||
return gamedata.GetIntValue(data, "Value")
|
||||
}
|
||||
|
||||
func GetDecorateOffDiscount(AreaId, StepId int) int {
|
||||
|
||||
@ -1251,8 +1251,7 @@ func (p *Player) GetPetThiefReward(target int) error {
|
||||
}
|
||||
|
||||
/*
|
||||
高级产物订单
|
||||
|
||||
高级产物订单
|
||||
当玩家完成一个订单时,扫描棋盘上的产物,剔除:1)刚完成的订单的最后一个棋子所属发射器的所有产物链产物,2)下一个订单的第一个棋子所属发射器的所有产物链产物
|
||||
剩下的棋盘产物中,是否有棋子等级等级>pLvmax(适配翻倍和动态难度)的,如有,则生成一个订单,将等级最高的那个收走
|
||||
注意:当现有订单(无论是自动或固定订单)中有此棋子,则不执行此逻辑
|
||||
|
||||
@ -453,14 +453,16 @@ func (l *LimitedTimeEventMod) GetCatTrickReward() ([]*item.Item, error) {
|
||||
if !ok {
|
||||
return nil, fmt.Errorf("CatTrick event data error")
|
||||
}
|
||||
if d.Energy < 100 {
|
||||
energy := limitedTimeEventCfg.GetCatTrickEnergy()
|
||||
diamond := limitedTimeEventCfg.GetCatTrickDiamond()
|
||||
if d.Energy < energy {
|
||||
return nil, fmt.Errorf("CatTrick energy not enough")
|
||||
}
|
||||
count := d.Energy / 100
|
||||
d.Energy = d.Energy % 100
|
||||
count := d.Energy / energy
|
||||
d.Energy = d.Energy % energy
|
||||
// TODO 放到配置中
|
||||
return []*item.Item{
|
||||
{Id: item.ITEM_DIAMOND_ID, Num: 5 * count},
|
||||
{Id: item.ITEM_DIAMOND_ID, Num: diamond * count},
|
||||
}, nil
|
||||
}
|
||||
|
||||
@ -491,29 +493,12 @@ func initEventInfo(event *LTEInfo, eventType int) {
|
||||
Count: limitedTimeEventCfg.GetPaybackDay(),
|
||||
}
|
||||
case EVENT_TYPE_CAT_TRICK:
|
||||
Type := limitedTimeEventCfg.GetCatTrickType(int(event.Remian))
|
||||
event.D = &CatTrick{
|
||||
List: []CatTrickInfo{
|
||||
{
|
||||
Id: 1,
|
||||
Type: Type,
|
||||
},
|
||||
},
|
||||
}
|
||||
event.D = &CatTrick{}
|
||||
}
|
||||
}
|
||||
|
||||
func addEventInfo(event *LTEInfo, eventType, duration int) {
|
||||
switch eventType {
|
||||
case EVENT_TYPE_CAT_TRICK:
|
||||
d, ok := event.D.(*CatTrick)
|
||||
if !ok {
|
||||
return
|
||||
}
|
||||
d.List = append(d.List, CatTrickInfo{
|
||||
Id: len(d.List) + 1,
|
||||
Type: limitedTimeEventCfg.GetCatTrickType(duration),
|
||||
})
|
||||
case EVENT_TYPE_LUCKY_CAT:
|
||||
MaxEarning := limitedTimeEventCfg.GetLuckyCatMaxEarning(duration)
|
||||
d, ok := event.D.(*LuckyCat)
|
||||
@ -560,13 +545,6 @@ func getLimitEventMsg(eType int, event *LTEInfo) *msg.LimitEvent {
|
||||
}
|
||||
energy := d.Energy
|
||||
param[msg.LimitEventParam_CAT_TRICK_ENERGY.String()] = int32(energy)
|
||||
info := d.List[0]
|
||||
param[msg.LimitEventParam_CAT_TRICK_TYPE.String()] = int32(info.Type)
|
||||
diamond1, energy1 := limitedTimeEventCfg.GetCatTrickDiamond(info.Type)
|
||||
if d.Energy >= diamond1*energy1 {
|
||||
// 进度条已满
|
||||
endTime += 5 * 60 // 5分钟
|
||||
}
|
||||
case EVENT_TYPE_PAYBACK_DAY:
|
||||
d, ok := event.D.(*PaybackDay)
|
||||
if !ok {
|
||||
|
||||
@ -2,7 +2,9 @@ package test
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
limitedTimeEventCfg "server/conf/limited_time_event"
|
||||
"server/game"
|
||||
"server/game/mod/item"
|
||||
limitedTimeEvent "server/game/mod/limited_time_event"
|
||||
"testing"
|
||||
)
|
||||
@ -44,3 +46,18 @@ func TestProgressReward(t *testing.T) {
|
||||
fmt.Printf("Current progress reward list: %v\n", res)
|
||||
}
|
||||
}
|
||||
|
||||
func TestCatTrick(t *testing.T) {
|
||||
p := new(game.Player)
|
||||
p.InitPlayer("3625212")
|
||||
items := []*item.Item{
|
||||
{Id: 101191, Num: 1},
|
||||
}
|
||||
err := p.HandleItem(items, "")
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
energy := limitedTimeEventCfg.GetCatTrickEnergy()
|
||||
diamond := limitedTimeEventCfg.GetCatTrickDiamond()
|
||||
t.Log(energy, diamond)
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user