1.好友推荐优化;2AD energy增加常量;3playroom日常任务优化

This commit is contained in:
hahwu 2026-02-10 11:03:46 +08:00
parent 05b5341a1d
commit ccc02de315
8 changed files with 91 additions and 5 deletions

View File

@ -61,6 +61,15 @@ func GetFriendReplyReward() []*item.Item {
return gamedata.GetItemList(data, "Value")
}
func GetEnergyByADNum() []*item.Item {
data, err := gamedata.GetDataByKey(CFG_BASE, "ad_energy_gift")
if err != nil {
log.Debug("GetEnergyByADNum err:%v", err)
return nil
}
return gamedata.GetItemList(data, "Value")
}
func GetMaxEnergyMul(Lv int, Energy int) int {
Mul := 0
for i := 1; i <= MAX_ENERGY_LEVEL; i++ {

View File

@ -7,10 +7,12 @@ import (
const (
CFG_NPC_FRIENDS = "NPCFriends"
CFG_CONST = "FriendConst"
)
func init() {
gamedata.InitCfg(CFG_NPC_FRIENDS)
gamedata.InitCfg(CFG_CONST)
}
func IsNpcFriend(Id int) bool {
@ -21,3 +23,21 @@ func IsNpcFriend(Id int) bool {
}
return true
}
func GetFriendSponsorNum() int {
data, err := gamedata.GetDataByKey(CFG_CONST, "friend_energy_bonus")
if err != nil {
log.Debug("GetFriendSponsorNum err:%v", err)
return 0
}
return gamedata.GetIntValue(data, "Value")
}
func GetFriendLimitNum() int {
data, err := gamedata.GetDataByKey(CFG_CONST, "friend_limit")
if err != nil {
log.Debug("GetFriendLimitNum err:%v", err)
return 0
}
return gamedata.GetIntValue(data, "Value")
}

View File

@ -499,7 +499,14 @@ func GetDailyTask(Type int) map[int]string {
r1 = append(r1, k1)
}
}
r3 := GoUtil.RandSliceNum(r1, 6)
daily_group_num := 0
switch Type {
case 1:
daily_group_num = GetPlayroomTaskDailyNum1()
case 2:
daily_group_num = GetPlayroomTaskDailyNum2()
}
r3 := GoUtil.RandSliceNum(r1, daily_group_num)
for _, v := range r3 {
r2[v] = r[v]
}
@ -695,3 +702,21 @@ func GetItemAddPhysiology(Item map[int]int) int {
}
return r
}
func GetPlayroomTaskDailyNum1() int {
data, err := gamedata.GetDataByKey(CFG_PLAYROOM_CONST, "dailytask_groupnum1")
if err != nil {
log.Debug("GetPlayroomTaskDailyNum1 err:%v", err)
return 0
}
return gamedata.GetIntValue(data, "Value")
}
func GetPlayroomTaskDailyNum2() int {
data, err := gamedata.GetDataByKey(CFG_PLAYROOM_CONST, "dailytask_groupnum2")
if err != nil {
log.Debug("GetPlayroomTaskDailyNum2 err:%v", err)
return 0
}
return gamedata.GetIntValue(data, "Value")
}

View File

@ -263,7 +263,7 @@ func (b *Base) GetEnergyByAD() ([]*item.Item, error) {
return nil, fmt.Errorf("energy ad is max")
}
b.EnergyAD += 1
return []*item.Item{{Id: item.ITEM_ENERGY_ID, Num: 25}}, nil
return baseCfg.GetEnergyByADNum(), nil
}
func (b *Base) FormatEnergyMul(Energy int) {

View File

@ -607,7 +607,8 @@ func (f *FriendMod) GetSponsorReward() ([]*item.Item, error) {
return nil, fmt.Errorf("no sponsor left")
}
f.DailySponsor--
return []*item.Item{item.NewItem(item.ITEM_ENERGY_ID, 25)}, nil
itemNum := friendCfg.GetFriendSponsorNum()
return []*item.Item{item.NewItem(item.ITEM_ENERGY_ID, itemNum)}, nil
}
func (f *FriendMod) AddRecommend(Uid int) {

View File

@ -707,6 +707,18 @@ func (p *PlayroomMod) GetTaskReward(Type int) (int, []*item.Item, error) {
if GoUtil.InArray(Type, p.DailyTaskReward) {
return 0, nil, fmt.Errorf("GetTaskReward Type is already in DailyTaskReward")
}
finish := 0
for _, v := range p.DailyTask {
if v.Status == quest.QUEST_STATUS_FINISH {
finish++
}
}
if Type == DAILY_TASK_TYPE_ONE && finish < playroomCfg.GetPlayroomTaskDailyNum1() {
return 0, nil, fmt.Errorf("GetTaskReward Type is DAILY_TASK_TYPE_ONE but finish is %d", finish)
}
if Type == DAILY_TASK_TYPE_TWO && finish < playroomCfg.GetPlayroomTaskDailyNum1()+playroomCfg.GetPlayroomTaskDailyNum2() {
return 0, nil, fmt.Errorf("GetTaskReward Type is DAILY_TASK_TYPE_TWO but finish is %d", finish)
}
p.DailyTaskReward = append(p.DailyTaskReward, Type)
Id := 0
var Items []*item.Item

View File

@ -11,6 +11,7 @@ import (
collectCfg "server/conf/collect"
decorateCfg "server/conf/decorate"
emojiCfg "server/conf/emoji"
friendCfg "server/conf/friend"
GuideTaskCfg "server/conf/guide_task"
handbookCfg "server/conf/handbook"
limitedTimeEventCfg "server/conf/limited_time_event"
@ -1861,7 +1862,7 @@ func ReqApplyFriend(player *Player, buf []byte) error {
return fmt.Errorf("already friend")
}
// 好友人数到达上限2000人玩家将无法再发送好友申请
if FriendMod.GetFriendLen() >= 2000 {
if FriendMod.GetFriendLen() >= friendCfg.GetFriendLimitNum() {
player.SendErrClienRes(&msg.ResApplyFriend{
Code: msg.RES_CODE_FAIL,
Msg: "friend list full",
@ -1940,7 +1941,7 @@ func ReqAgreeFriend(player *Player, buf []byte) error {
return fmt.Errorf("apply uid not exist")
}
// 好友人数到达上限2000人玩家将无法再同意好友申请
if FriendMod.GetFriendLen() >= 2000 {
if FriendMod.GetFriendLen() >= friendCfg.GetFriendLimitNum() {
player.SendErrClienRes(&msg.ResAgreeFriend{
Code: msg.RES_CODE_FAIL,
Msg: "friend list full",

View File

@ -3,7 +3,10 @@ package test
import (
"fmt"
activityCfg "server/conf/activity"
baseCfg "server/conf/base"
friendCfg "server/conf/friend"
languageCfg "server/conf/language"
playroomCfg "server/conf/playroom"
userCfg "server/conf/user"
GoUtil "server/game_util"
"server/msg"
@ -24,3 +27,18 @@ func TestGetActivityRecycleMail(t *testing.T) {
en := languageCfg.GetLanguage(msg.LANG_TYPE_LANG_CN, mailTitle)
fmt.Println("en:", en)
}
func TestGetFriendSponsorNum(t *testing.T) {
r := friendCfg.GetFriendSponsorNum()
fmt.Println("r:", r)
}
func TestGetPlayroomTaskDailyNum1(t *testing.T) {
r := playroomCfg.GetPlayroomTaskDailyNum1()
fmt.Println("r:", r)
}
func TestGetEnergyByADNum(t *testing.T) {
r := baseCfg.GetEnergyByADNum()
fmt.Println("r:", r)
}