playroom初始服装bug修复

This commit is contained in:
hahwu 2026-04-13 15:11:41 +08:00
parent 541e966a7f
commit 55d185bc04
5 changed files with 39 additions and 11 deletions

View File

@ -356,7 +356,7 @@ func ReqGmCommand_(player *Player, Command string) error {
player.RaceBackData() player.RaceBackData()
case "playroomReset": case "playroomReset":
PlayroomMod := playroom.PlayroomMod{} PlayroomMod := playroom.PlayroomMod{}
PlayroomMod.InitData() PlayroomMod.InitData(player.PlayerBaseMod.GetRegisterTime())
player.PlayMod.mod_list.Playroom = PlayroomMod player.PlayMod.mod_list.Playroom = PlayroomMod
case "resetCollect": case "resetCollect":
CollectMod := player.PlayMod.getCollectMod() CollectMod := player.PlayMod.getCollectMod()

View File

@ -63,6 +63,7 @@ type PlayroomMod struct {
ADItem map[int]*ItemInfo ADItem map[int]*ItemInfo
WeeklyDiscount map[int]int // 每周折扣 WeeklyDiscount map[int]int // 每周折扣
RandVisitor []int // 随机访客 RandVisitor []int // 随机访客
Version int // 版本
} }
type DressInfo struct { type DressInfo struct {
@ -161,7 +162,7 @@ type Info struct {
Times int Times int
} }
func (p *PlayroomMod) InitData() { func (p *PlayroomMod) InitData(registerTime int64) {
if p.Collect == nil { if p.Collect == nil {
p.Collect = make(map[int]int) p.Collect = make(map[int]int)
} }
@ -182,7 +183,7 @@ func (p *PlayroomMod) InitData() {
for _, v := range initCollect { for _, v := range initCollect {
p.NewCollect[v] = &CollectInfo{ p.NewCollect[v] = &CollectInfo{
Id: v, Id: v,
AddTime: GoUtil.Now(), AddTime: registerTime,
Num: 1, Num: 1,
} }
} }
@ -195,7 +196,7 @@ func (p *PlayroomMod) InitData() {
} }
p.NewCollect[k] = &CollectInfo{ p.NewCollect[k] = &CollectInfo{
Id: k, Id: k,
AddTime: GoUtil.Now(), AddTime: registerTime,
Num: v, Num: v,
} }
} }
@ -235,7 +236,7 @@ func (p *PlayroomMod) InitData() {
for _, v := range initPetAir { for _, v := range initPetAir {
p.NewPetAir[v] = &PetAirInfo{ p.NewPetAir[v] = &PetAirInfo{
Id: v, Id: v,
AddTime: GoUtil.Now(), AddTime: registerTime,
Num: 1, Num: 1,
} }
} }
@ -245,7 +246,7 @@ func (p *PlayroomMod) InitData() {
for _, v := range p.PetAir { for _, v := range p.PetAir {
p.NewPetAir[v] = &PetAirInfo{ p.NewPetAir[v] = &PetAirInfo{
Id: v, Id: v,
AddTime: GoUtil.Now(), AddTime: registerTime,
Num: 1, Num: 1,
} }
} }
@ -261,7 +262,7 @@ func (p *PlayroomMod) InitData() {
p.NewDress[v] = &DressInfo{ p.NewDress[v] = &DressInfo{
Id: v, Id: v,
Part: part, Part: part,
AddTime: GoUtil.Now(), AddTime: registerTime,
Num: 1, Num: 1,
} }
} }
@ -274,7 +275,7 @@ func (p *PlayroomMod) InitData() {
p.NewDress[id] = &DressInfo{ p.NewDress[id] = &DressInfo{
Id: id, Id: id,
Part: part, Part: part,
AddTime: GoUtil.Now(), AddTime: registerTime,
Num: 1, Num: 1,
} }
} }
@ -287,6 +288,33 @@ func (p *PlayroomMod) InitData() {
if p.WeeklyDiscount == nil { if p.WeeklyDiscount == nil {
p.WeeklyDiscount = make(map[int]int) p.WeeklyDiscount = make(map[int]int)
} }
p.version(registerTime)
}
func (p *PlayroomMod) version(registerTime int64) {
if p.Version == 0 {
p.Version = 1
for _, v := range p.NewCollect {
if v.Label == "" {
v.AddTime = registerTime
}
}
for k, v := range p.NewDress {
if v.Label == "" {
v.AddTime = registerTime
}
// 修复错误被初始化的服装
if v.Label == "" && GoUtil.InArray(v.Id, []int{51, 52, 53, 54, 55}) {
delete(p.NewDress, k)
}
}
for k, v := range p.DressSet {
if GoUtil.InArray(v, []int{51, 52, 53, 54, 55}) {
p.DressSet[k] = 0
}
}
}
} }
func (p *PlayroomMod) ZeroUpdate() { func (p *PlayroomMod) ZeroUpdate() {

View File

@ -208,7 +208,7 @@ func (p *PlayerModData) InitMod(player *Player) (bool, error) {
p.ModList.Mining.InitData() p.ModList.Mining.InitData()
p.ModList.Item.InitData() p.ModList.Item.InitData()
p.ModList.GuessColor.InitData() p.ModList.GuessColor.InitData()
p.ModList.Playroom.InitData() p.ModList.Playroom.InitData(int64(PlayerBaseMod.Data.RegisterTime))
p.ModList.Emoji.InitData() p.ModList.Emoji.InitData()
p.ModList.Collect.InitData() p.ModList.Collect.InitData()
p.ModList.Activity.InitData() p.ModList.Activity.InitData()

View File

@ -4,6 +4,6 @@ import "server/game"
func getTestPlayer() *game.Player { func getTestPlayer() *game.Player {
p := new(game.Player) p := new(game.Player)
p.InitPlayerByUid(100100162) p.InitPlayerByUid(100101183)
return p return p
} }

View File

@ -7,7 +7,7 @@ import (
func TestPlayroomVisit(t *testing.T) { func TestPlayroomVisit(t *testing.T) {
player := new(game.Player) player := new(game.Player)
player.M_DwUin = 100101056 player.M_DwUin = 100100041
player.InitPlayerOnly() player.InitPlayerOnly()
player.GetVisitorPlayer() player.GetVisitorPlayer()
} }