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()) }