playroom优化

This commit is contained in:
hahwu 2025-06-11 16:28:56 +08:00
parent 4212d46663
commit 3fb89c3947
3 changed files with 8 additions and 12 deletions

View File

@ -13,7 +13,6 @@ import (
MsgMod "server/game/mod/msg" // Ensure this package exists and is correctly referenced MsgMod "server/game/mod/msg" // Ensure this package exists and is correctly referenced
"server/game/mod/playroom" "server/game/mod/playroom"
"server/msg" "server/msg"
"server/pkg/github.com/name5566/leaf/log"
"time" "time"
) )
@ -147,8 +146,8 @@ func LimitedTimePlayroomTrigger(p *Player) {
LimitedTimePlayroomTrigger_(p, k) LimitedTimePlayroomTrigger_(p, k)
} }
} }
p.PushClientRes(PlayroomMod.NotifyMood())
} }
func LimitedTimePlayroomTrigger_(p *Player, Id int) { func LimitedTimePlayroomTrigger_(p *Player, Id int) {
PlayroomMod := p.PlayMod.getPlayroomMod() PlayroomMod := p.PlayMod.getPlayroomMod()
Physiology := PlayroomMod.GetPhysiology(Id) Physiology := PlayroomMod.GetPhysiology(Id)
@ -165,7 +164,7 @@ func LimitedTimePlayroomTrigger_(p *Player, Id int) {
if Id == playroom.PHYSIOLOGY_TYPE_TOLIET && Num == 0 && CleanMood.Num > 50 { if Id == playroom.PHYSIOLOGY_TYPE_TOLIET && Num == 0 && CleanMood.Num > 50 {
CleanMood.Num = 50 CleanMood.Num = 50
} }
log.Debug("PlayroomTrigger Id:%d, Time:%d, Num:%d, NewTime:%d, NextSecond:%d, MType:%d, MEffect:%d, Num :%d", Id, Physiology.Time, Physiology.Num, NewTime, NextSecond, MType, MEffect, Num) // log.Debug("PlayroomTrigger Id:%d, Time:%d, Num:%d, NewTime:%d, NextSecond:%d, MType:%d, MEffect:%d, Num :%d", Id, Physiology.Time, Physiology.Num, NewTime, NextSecond, MType, MEffect, Num)
Physiology.Num = Num Physiology.Num = Num
if PlayroomMod.GetMoodInfo(MType).Num == 0 { // 心情值为0时重置生理状态 if PlayroomMod.GetMoodInfo(MType).Num == 0 { // 心情值为0时重置生理状态
PlayroomMod.ResetPhysiology(MType) PlayroomMod.ResetPhysiology(MType)
@ -189,12 +188,9 @@ func PlayroomTrigger(Id int, Time int64, Num int) (int64, int64, int) {
return 0, 0, 0 return 0, 0, 0
} }
Now := GoUtil.Now() Now := GoUtil.Now()
if Time > Now { NeedDuration := playroomCfg.GetPhysiologyDuration(Id, Num)
return Time, Time - Now, Num if Time+int64(NeedDuration) > Now {
} return Time, int64(NeedDuration), Num
if Time == Now {
NeedDuration := playroomCfg.GetPhysiologyDuration(Id, Num)
return Now, int64(NeedDuration), Num
} }
n := 0 n := 0
for { for {

View File

@ -3121,7 +3121,7 @@ func ReqPlayroomInteract(player *Player, buf []byte) error {
req := &msg.ReqPlayroomInteract{} req := &msg.ReqPlayroomInteract{}
proto.Unmarshal(buf, req) proto.Unmarshal(buf, req)
PlayroomMod := player.PlayMod.getPlayroomMod() PlayroomMod := player.PlayMod.getPlayroomMod()
Items, _, err := PlayroomMod.Interact(int(req.Id), int(req.Type)) Items, PType, err := PlayroomMod.Interact(int(req.Id), int(req.Type))
if err != nil { if err != nil {
player.SendErrClienRes(&msg.ResPlayroomInteract{ player.SendErrClienRes(&msg.ResPlayroomInteract{
Code: msg.RES_CODE_FAIL, Code: msg.RES_CODE_FAIL,
@ -3151,7 +3151,7 @@ func ReqPlayroomInteract(player *Player, buf []byte) error {
player.QuestTrigger(&quest.Trigger{Label: quest.TRIGGER_LABEL_INTERACT, A: []interface{}{int(req.Id)}}) player.QuestTrigger(&quest.Trigger{Label: quest.TRIGGER_LABEL_INTERACT, A: []interface{}{int(req.Id)}})
player.PlayMod.save() player.PlayMod.save()
G_GameLogicPtr.SetUserData(int(player.M_DwUin), VAR_OP_KISS, 0) G_GameLogicPtr.SetUserData(int(player.M_DwUin), VAR_OP_KISS, 0)
LimitedTimePlayroomTrigger(player) LimitedTimePlayroomTrigger_(player, PType)
player.NotifyPlayroomKiss() player.NotifyPlayroomKiss()
player.PushClientRes(&msg.ResPlayroomInteract{ player.PushClientRes(&msg.ResPlayroomInteract{
Code: msg.RES_CODE_SUCCESS, Code: msg.RES_CODE_SUCCESS,

View File

@ -380,7 +380,7 @@ func (p *PlayroomMod) Interact(Id, Type int) ([]*item.Item, int, error) {
p.AddPhysiology(PType, PEffect) p.AddPhysiology(PType, PEffect)
p.AddMood(MoodType, Effect) p.AddMood(MoodType, Effect)
p.AddInteractNum() p.AddInteractNum()
return ItemList, MoodType, nil return ItemList, PType, nil
} }
func (p *PlayroomMod) AddInteractNum() { func (p *PlayroomMod) AddInteractNum() {