diff --git a/src/server/game/player_data.go b/src/server/game/player_data.go index b48129af..cb7e9b39 100644 --- a/src/server/game/player_data.go +++ b/src/server/game/player_data.go @@ -290,6 +290,7 @@ func (p *Player) InitPlayer(UserName string) error { p.FixOrderBug() p.FixDecorate() p.FixPlayroomPyhical() + p.FixPlayroomInteract() return nil } @@ -1484,6 +1485,14 @@ func (p *Player) FixPlayroomPyhical() { } } +func (p *Player) FixPlayroomInteract() { + PlayroomMod := p.PlayMod.getPlayroomMod() + BaseMod := p.PlayMod.getBaseMod() + if BaseMod.GetLevel() < playroomCfg.GetInteractNum() { + PlayroomMod.InteractNum = 0 + } +} + func (p *Player) GetOrderFactor() int { return orderCfg.GetOrderFactor(p.GetDecorateMod().AreaId) } diff --git a/src/server/unit_test/playroom_test.go b/src/server/unit_test/playroom_test.go index 73ff4438..97a22f6e 100644 --- a/src/server/unit_test/playroom_test.go +++ b/src/server/unit_test/playroom_test.go @@ -11,3 +11,10 @@ func TestPlayroomVisit(t *testing.T) { player.InitPlayerOnly() player.GetVisitorPlayer() } + +func TestInteract(t *testing.T) { + player := getTestPlayer() + BaseMod := player.GetBaseMod() + PlayroomMod := player.GetPlayroomMod() + PlayroomMod.AddInteractNum(BaseMod.GetLevel()) +}