日常任务奖励,使用配置进行管理
This commit is contained in:
parent
5f00cf6a14
commit
aa337c2e63
@ -50,6 +50,22 @@ func GetDailyTaskReward(Id, factory, activityId int) []*item.Item {
|
|||||||
return nil
|
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 {
|
func GetActivityIds() []int {
|
||||||
data, err := gamedata.GetDataByKey(DAILY_TASK_CONST, "RewardGroupType_const")
|
data, err := gamedata.GetDataByKey(DAILY_TASK_CONST, "RewardGroupType_const")
|
||||||
if err != nil {
|
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, ok := dt.DayTask[id]; ok {
|
||||||
if v.Status == quest.QUEST_STATUS_FINISH {
|
if v.Status == quest.QUEST_STATUS_FINISH {
|
||||||
v.Status = quest.QUEST_STATUS_REWARD
|
v.Status = quest.QUEST_STATUS_REWARD
|
||||||
dt.DayTask[id] = v
|
dt.DayTask[id] = v
|
||||||
dt.Active += 5
|
dt.Active += dailyTaskCfg.GetDailyTaskScore(id, activityId)
|
||||||
return v.Items, nil
|
return v.Items, nil
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1333,7 +1333,7 @@ func ReqGetDailyTaskReward(player *Player, buf []byte) error {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
DailyTaskMod := player.PlayMod.getDailyTaskMod()
|
DailyTaskMod := player.PlayMod.getDailyTaskMod()
|
||||||
itemList, err := DailyTaskMod.GetDailyReward(int(req.Id))
|
itemList, err := DailyTaskMod.GetDailyReward(int(req.Id), player.GetDailyTaskActivityId())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
player.SendErrClienRes(&msg.ResGetDailyTaskReward{
|
player.SendErrClienRes(&msg.ResGetDailyTaskReward{
|
||||||
Code: msg.RES_CODE_FAIL,
|
Code: msg.RES_CODE_FAIL,
|
||||||
|
|||||||
@ -1,6 +1,8 @@
|
|||||||
package test
|
package test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"fmt"
|
||||||
|
dailyTaskCfg "server/conf/daily_task"
|
||||||
"server/game"
|
"server/game"
|
||||||
"testing"
|
"testing"
|
||||||
)
|
)
|
||||||
@ -23,3 +25,15 @@ func TestDailyZeroUpdate(t *testing.T) {
|
|||||||
DailyTaskMod.ZeroUpdate(BaseMod.Level, DecorateMod.GetAreaId(), player.GetDailyTaskActivityId())
|
DailyTaskMod.ZeroUpdate(BaseMod.Level, DecorateMod.GetAreaId(), player.GetDailyTaskActivityId())
|
||||||
DailyTaskMod.BackData()
|
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