装饰步骤改版优化

This commit is contained in:
hahwu 2026-01-16 10:24:43 +08:00
parent 48aae65afd
commit 6dfb61ada9
3 changed files with 53 additions and 1 deletions

View File

@ -15,6 +15,7 @@ import (
userCfg "server/conf/user"
"server/game/mod/activity"
"server/game/mod/card"
"server/game/mod/decorate"
"server/game/mod/friend"
"server/game/mod/item"
limitedTimeEvent "server/game/mod/limited_time_event"
@ -849,6 +850,36 @@ func (player *Player) FixOrderBug() {
}
}
func (player *Player) FixDecorate() {
DecorateMod := player.PlayMod.getDecorateMod()
area_id := DecorateMod.GetAreaId()
progress := DecorateMod.GetProgress()
if GoUtil.InArray(area_id, []int{3, 4, 5}) && progress >= 20 {
items := []*item.Item{}
for i := progress + 1; i <= 25; i++ {
DecorateItems := decorateCfg.GetProgressReward(area_id, i)
items = append(items, DecorateItems...)
}
MailMod := player.PlayMod.getMailMod()
MailMod.SendMail(&mail.MailStruct{
Title: "房间装饰升级奖励",
Content: "恭喜您成功升级房间装饰,获得以下奖励!",
TitleEn: "Room Decoration Upgrade Reward",
ContentEn: "Congratulations on successfully upgrading your room decoration and receiving the following rewards!",
Items: items,
Type: mail.MAIL_TYPE_NORMAL,
})
DecorateMod.AreaId = area_id + 1
DecorateMod.FinishList = make(map[int]struct{})
DecorateMod.Progress = 0
DecorateMod.PartCost = make(map[int]*decorate.PartCostInfo)
DecorateMod.PartClassPool = []int{}
DecorateMod.PartPool = make(map[int]int)
DecorateMod.InitData()
player.PushClientRes(DecorateMod.BackData())
}
}
func (player *Player) CreatePetOrder() {
BaseMod := player.PlayMod.getBaseMod()
ChessMod := player.PlayMod.getChessMod()

View File

@ -259,7 +259,7 @@ func (p *Player) InitPlayer(UserName string) error {
ChessMod := p.PlayMod.getChessMod()
ChargeMod.FixBug(ChessMod.GetEmitList())
p.FixOrderBug()
p.FixDecorate()
return nil
}

View File

@ -0,0 +1,21 @@
package test
import (
"server/game"
"testing"
)
func TestFixDecorate(t *testing.T) {
// Initialize player
p := new(game.Player)
p.FixDecorate()
//
p.InitPlayer("aaa001")
p.FixDecorate()
DecorateMod := p.GetDecorateMod()
DecorateMod.AreaId = 3
DecorateMod.Progress = 22
p.FixDecorate()
}