From 58be1191c55dac200763710a340ee0cf7fc33454 Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Fri, 29 Aug 2025 10:24:54 +0800 Subject: [PATCH] =?UTF-8?q?playroom=E6=8B=9C=E8=AE=BF=E8=A7=A3=E9=94=81?= =?UTF-8?q?=E7=AD=89=E7=BA=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/conf/playroom/playroomCfg.go | 8 ++++++++ src/server/game/RegisterNetworkFunc.go | 2 ++ src/server/game/mod/playroom/playroom.go | 7 +++++-- 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/src/server/conf/playroom/playroomCfg.go b/src/server/conf/playroom/playroomCfg.go index aa44d5a9..a2bd6ae8 100644 --- a/src/server/conf/playroom/playroomCfg.go +++ b/src/server/conf/playroom/playroomCfg.go @@ -190,6 +190,14 @@ func GetInteractNum() int { return gamedata.GetIntValue(data, "Value") } +func GetInteractUnlock() int { + data, err := gamedata.GetDataByKey(CFG_PLAYROOM_CONST, "InteractUnlock") + if err != nil { + return 0 + } + return gamedata.GetIntValue(data, "Value") +} + func GetVisitorItem() int { data, err := gamedata.GetDataByKey(CFG_PLAYROOM_CONST, "VisitorItem") if err != nil { diff --git a/src/server/game/RegisterNetworkFunc.go b/src/server/game/RegisterNetworkFunc.go index 94a90454..d3867753 100644 --- a/src/server/game/RegisterNetworkFunc.go +++ b/src/server/game/RegisterNetworkFunc.go @@ -3405,6 +3405,8 @@ func ReqPlayroomInteract(player *Player, buf []byte) error { Msg: err.Error(), }) } + BaseMod := player.PlayMod.getBaseMod() + PlayroomMod.AddInteractNum(BaseMod.GetLevel()) player.QuestTrigger(&quest.Trigger{Label: quest.TRIGGER_LABEL_INTERACT, A: []interface{}{int(req.Id)}}) player.PlayMod.save() G_GameLogicPtr.SetUserData(int(player.M_DwUin), VAR_OP_KISS, 0) diff --git a/src/server/game/mod/playroom/playroom.go b/src/server/game/mod/playroom/playroom.go index e11b5cea..ecc09762 100644 --- a/src/server/game/mod/playroom/playroom.go +++ b/src/server/game/mod/playroom/playroom.go @@ -518,11 +518,14 @@ func (p *PlayroomMod) Interact(Id, Type int) ([]*item.Item, int, error) { PType, PEffect := playroomCfg.GetInteractPhysiology(Id) p.AddPhysiology(PType, PEffect) p.AddMood(MoodType, Effect) - p.AddInteractNum() return ItemList, PType, nil } -func (p *PlayroomMod) AddInteractNum() { +func (p *PlayroomMod) AddInteractNum(Lv int) { + Unlock := playroomCfg.GetInteractUnlock() + if Lv < Unlock { + return + } p.InteractNum++ p.InteractNum = min(p.InteractNum, playroomCfg.GetInteractNum()) }