七日签到优化-增加等级限制
This commit is contained in:
parent
d2d31d94ab
commit
1b0b77978c
@ -64,7 +64,7 @@ func GetSevenLoginMonthReward(nowMonth int) []*gamedata.SevenLoginRewardData {
|
||||
return result
|
||||
}
|
||||
|
||||
func GetSevenLoginJackpot(IsMonth int) []*gamedata.SevenLoginJackpotData {
|
||||
func GetSevenLoginJackpot(isMonth, level int) []*gamedata.SevenLoginJackpotData {
|
||||
data, err := gamedata.GetData(CFG_SEVEN_LOGIN_JACKPOT)
|
||||
if err != nil {
|
||||
log.Debug("GetSevenLoginJackpot err:%v", err)
|
||||
@ -76,7 +76,11 @@ func GetSevenLoginJackpot(IsMonth int) []*gamedata.SevenLoginJackpotData {
|
||||
Energy := gamedata.GetFloatValue(v, "Energy")
|
||||
Type := gamedata.GetIntValue(v, "Type")
|
||||
Month := gamedata.GetIntValue(v, "Month")
|
||||
if IsMonth != Month && IsMonth != 0 {
|
||||
Level := gamedata.GetIntValue(v, "Level")
|
||||
if isMonth != Month && isMonth != 0 {
|
||||
continue
|
||||
}
|
||||
if level < Level && level != 0 {
|
||||
continue
|
||||
}
|
||||
ItemMap := gamedata.GetValue(v, "Item")
|
||||
|
||||
@ -647,7 +647,7 @@ func ReqGmCommand_(player *Player, Command string) error {
|
||||
SevenMod.WeekResetTime = 0
|
||||
SevenMod.MonthResetTime = 0
|
||||
PlayerBaseMod := player.GetPlayerBaseMod()
|
||||
SevenMod.ZeroUpdate(PlayerBaseMod.GetSevenLoginAdd(), PlayerBaseMod.GetLastLoginTime(), player.GetOrderFactor())
|
||||
SevenMod.ZeroUpdate(PlayerBaseMod.GetSevenLoginAdd(), PlayerBaseMod.GetLastLoginTime(), player.GetOrderFactor(), player.GetBaseMod().GetLevel())
|
||||
player.PushClientRes(SevenMod.BackData())
|
||||
case "addInvite":
|
||||
Id, _ := strconv.Atoi(arg[1])
|
||||
|
||||
@ -30,13 +30,13 @@ func (s *SevenLoginMod) InitData() {
|
||||
|
||||
}
|
||||
|
||||
func (s *SevenLoginMod) ZeroUpdate(Add, LastLoginTime, factor int) {
|
||||
func (s *SevenLoginMod) ZeroUpdate(Add, LastLoginTime, factor, level int) {
|
||||
WeekZeroTimestamp := GoUtil.WeekZeroTimestamp()
|
||||
Now := GoUtil.Now()
|
||||
if WeekZeroTimestamp > s.WeekResetTime {
|
||||
RewardType := GoUtil.IfTrue(Now-int64(LastLoginTime) > GoUtil.SEVENDAYS && LastLoginTime > 0, BACK_REWARD, DEFAULT_REWARD).(int)
|
||||
s.IsBack = RewardType == BACK_REWARD
|
||||
s.LoginReward = randWeekReward(Add, RewardType)
|
||||
s.LoginReward = randWeekReward(Add, RewardType, level)
|
||||
s.LoginReward = formatSevenReward(s.LoginReward, factor)
|
||||
s.WeekResetTime = WeekZeroTimestamp
|
||||
s.DayR = 0
|
||||
|
||||
@ -17,12 +17,12 @@ const (
|
||||
BACK_REWARD = 1
|
||||
)
|
||||
|
||||
func randWeekReward(Add, Type int) map[int]Reward {
|
||||
func randWeekReward(add, rtype, level int) map[int]Reward {
|
||||
rewardList := sevenLoginCfg.GetSevenLoginReward()
|
||||
sort.Slice(rewardList, func(i, j int) bool {
|
||||
return rewardList[i].Id < rewardList[j].Id
|
||||
})
|
||||
jackpot := sevenLoginCfg.GetSevenLoginJackpot(0)
|
||||
jackpot := sevenLoginCfg.GetSevenLoginJackpot(0, level)
|
||||
sort.Slice(jackpot, func(i, j int) bool {
|
||||
return jackpot[i].Energy < jackpot[j].Energy
|
||||
})
|
||||
@ -34,11 +34,11 @@ func randWeekReward(Add, Type int) map[int]Reward {
|
||||
result := make(map[int]Reward)
|
||||
lastType := []int{}
|
||||
energyMul := 1.0
|
||||
if Type == BACK_REWARD {
|
||||
if rtype == BACK_REWARD {
|
||||
energyMul = 2.0
|
||||
}
|
||||
for _, v := range rewardList {
|
||||
v.Energy = float64(v.Energy) * (1 + float64(Add)/100)
|
||||
v.Energy = float64(v.Energy) * (1 + float64(add)/100)
|
||||
rewardData, randItemType := randReward(v, lastType, jackpot, cardPackIds, 0.5, energyMul)
|
||||
lastType = randItemType
|
||||
result[v.Id] = rewardData
|
||||
@ -158,7 +158,7 @@ func randMonthReward() map[int]Reward {
|
||||
sort.Slice(rewardList, func(i, j int) bool {
|
||||
return rewardList[i].Id < rewardList[j].Id
|
||||
})
|
||||
jackpot := sevenLoginCfg.GetSevenLoginJackpot(1)
|
||||
jackpot := sevenLoginCfg.GetSevenLoginJackpot(1, 0)
|
||||
sort.Slice(jackpot, func(i, j int) bool {
|
||||
return jackpot[i].Energy < jackpot[j].Energy
|
||||
})
|
||||
|
||||
@ -369,7 +369,7 @@ func (p *Player) ZeroUpdate(a []interface{}) {
|
||||
p.PushClientRes(p.PlayMod.getBaseMod().BackData())
|
||||
|
||||
// 七日签到
|
||||
p.PlayMod.getSevenLoginMod().ZeroUpdate(PlayerBaseMod.GetSevenLoginAdd(), PlayerBaseMod.GetLastLoginTime(), p.GetOrderFactor())
|
||||
p.PlayMod.getSevenLoginMod().ZeroUpdate(PlayerBaseMod.GetSevenLoginAdd(), PlayerBaseMod.GetLastLoginTime(), p.GetOrderFactor(), p.GetBaseMod().GetLevel())
|
||||
p.PushClientRes(p.PlayMod.getSevenLoginMod().BackData())
|
||||
|
||||
// 礼包充值
|
||||
|
||||
@ -17,11 +17,12 @@ func TestGetSevenLoginMonthReward(t *testing.T) {
|
||||
func TestSevenLoginZeroUpdate(t *testing.T) {
|
||||
p1 := new(game.Player)
|
||||
p1.InitPlayer("3625212")
|
||||
p1.GetBaseMod().SetLevel(15)
|
||||
SevenLoginMod := p1.GetSevenLoginMod()
|
||||
for i := 0; i < 100; i++ {
|
||||
SevenLoginMod.WeekResetTime = 0
|
||||
SevenLoginMod.MonthResetTime = 0
|
||||
SevenLoginMod.ZeroUpdate(0, 0, p1.GetOrderFactor())
|
||||
SevenLoginMod.ZeroUpdate(0, 0, p1.GetOrderFactor(), p1.GetBaseMod().GetLevel())
|
||||
SevenLoginMod.BackData()
|
||||
fmt.Printf("id :%d ; Reward:%v\n", 7, SevenLoginMod.LoginReward[7])
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user