日常任务奖励,使用配置进行管理
This commit is contained in:
parent
5f00cf6a14
commit
aa337c2e63
@ -50,6 +50,22 @@ func GetDailyTaskReward(Id, factory, activityId int) []*item.Item {
|
||||
return nil
|
||||
}
|
||||
|
||||
func GetDailyTaskScore(Id, activityId int) int {
|
||||
data, err := gamedata.GetData(DAILY_TASK_REWARD)
|
||||
if err != nil {
|
||||
log.Debug("GetDailyTaskScore err:%v", err)
|
||||
return 0
|
||||
}
|
||||
for _, v := range data {
|
||||
sortId := gamedata.GetIntValue(v, "SortId")
|
||||
rewardGroupType := gamedata.GetIntValue(v, "RewardGroupType")
|
||||
if sortId == Id && rewardGroupType == activityId {
|
||||
return gamedata.GetIntValue(v, "ScoreReward")
|
||||
}
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func GetActivityIds() []int {
|
||||
data, err := gamedata.GetDataByKey(DAILY_TASK_CONST, "RewardGroupType_const")
|
||||
if err != nil {
|
||||
|
||||
@ -167,12 +167,12 @@ func (dt *DailyTaskMod) BackData() *msg.ResDailyTask {
|
||||
}
|
||||
}
|
||||
|
||||
func (dt *DailyTaskMod) GetDailyReward(id int) ([]*item.Item, error) {
|
||||
func (dt *DailyTaskMod) GetDailyReward(id, activityId int) ([]*item.Item, error) {
|
||||
if v, ok := dt.DayTask[id]; ok {
|
||||
if v.Status == quest.QUEST_STATUS_FINISH {
|
||||
v.Status = quest.QUEST_STATUS_REWARD
|
||||
dt.DayTask[id] = v
|
||||
dt.Active += 5
|
||||
dt.Active += dailyTaskCfg.GetDailyTaskScore(id, activityId)
|
||||
return v.Items, nil
|
||||
}
|
||||
}
|
||||
|
||||
@ -1333,7 +1333,7 @@ func ReqGetDailyTaskReward(player *Player, buf []byte) error {
|
||||
return err
|
||||
}
|
||||
DailyTaskMod := player.PlayMod.getDailyTaskMod()
|
||||
itemList, err := DailyTaskMod.GetDailyReward(int(req.Id))
|
||||
itemList, err := DailyTaskMod.GetDailyReward(int(req.Id), player.GetDailyTaskActivityId())
|
||||
if err != nil {
|
||||
player.SendErrClienRes(&msg.ResGetDailyTaskReward{
|
||||
Code: msg.RES_CODE_FAIL,
|
||||
|
||||
@ -1,6 +1,8 @@
|
||||
package test
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
dailyTaskCfg "server/conf/daily_task"
|
||||
"server/game"
|
||||
"testing"
|
||||
)
|
||||
@ -23,3 +25,15 @@ func TestDailyZeroUpdate(t *testing.T) {
|
||||
DailyTaskMod.ZeroUpdate(BaseMod.Level, DecorateMod.GetAreaId(), player.GetDailyTaskActivityId())
|
||||
DailyTaskMod.BackData()
|
||||
}
|
||||
|
||||
func TestDailyTaskRewardScore(t *testing.T) {
|
||||
score1 := dailyTaskCfg.GetDailyTaskScore(1, 1)
|
||||
if score1 == 0 {
|
||||
t.Errorf("GetDailyTaskScore failed, score1 is 0")
|
||||
}
|
||||
score2 := dailyTaskCfg.GetDailyTaskScore(1, 0)
|
||||
if score2 == 0 {
|
||||
t.Errorf("GetDailyTaskScore failed, score2 is 0")
|
||||
}
|
||||
fmt.Printf("score1: %d, score2: %d\n", score1, score2)
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user