playroom优化
This commit is contained in:
parent
51ffa2449b
commit
26be4af8a7
@ -161,5 +161,28 @@ func GetPhysiologyMax(Id int) int {
|
||||
}
|
||||
|
||||
func GetPhysiologyDuration(Id int, Num int) int {
|
||||
data, err := gamedata.GetData(CFG_PLAYROOM_PHYSIOLOGY)
|
||||
if err != nil {
|
||||
return 0
|
||||
}
|
||||
for _, v := range data {
|
||||
Type := gamedata.GetIntValue(v, "Type")
|
||||
if Type != Id {
|
||||
continue
|
||||
}
|
||||
Min := gamedata.GetIntValue(v, "Min")
|
||||
Max := gamedata.GetIntValue(v, "Max")
|
||||
if Num >= Min && Num <= Max {
|
||||
return gamedata.GetIntValue(v, "Per")
|
||||
}
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func GetMoodEffect(Id int) (int, int) {
|
||||
data, err := gamedata.GetDataByIntKey(CFG_PLAYROOM_PHYSIOLOGY_TYPE, Id)
|
||||
if err != nil {
|
||||
return 0, 0
|
||||
}
|
||||
return gamedata.GetIntValue(data, "MType"), gamedata.GetIntValue(data, "MEffect")
|
||||
}
|
||||
|
||||
@ -11,6 +11,7 @@ import (
|
||||
"server/game/mod/item"
|
||||
"server/game/mod/limitedTimeEvent"
|
||||
MsgMod "server/game/mod/msg" // Ensure this package exists and is correctly referenced
|
||||
"server/game/mod/playroom"
|
||||
"server/msg"
|
||||
"time"
|
||||
)
|
||||
@ -145,6 +146,7 @@ func LimitedTimePlayroomTrigger(p *Player) {
|
||||
LimitedTimePlayroomTrigger_(p, k)
|
||||
}
|
||||
}
|
||||
p.PushClientRes(PlayroomMod.NotifyMood())
|
||||
}
|
||||
func LimitedTimePlayroomTrigger_(p *Player, Id int) {
|
||||
PlayroomMod := p.PlayMod.getPlayroomMod()
|
||||
@ -155,6 +157,15 @@ func LimitedTimePlayroomTrigger_(p *Player, Id int) {
|
||||
}
|
||||
NewTime, Num := PlayroomTrigger(Physiology.Id, Physiology.Time, Physiology.Num)
|
||||
Physiology.Time = NewTime
|
||||
DiffValue := Physiology.Num - Num
|
||||
MType, MEffect := playroomCfg.GetMoodEffect(Physiology.Id)
|
||||
CleanMood := PlayroomMod.GetMoodInfo(playroom.MOOD_TYPE_CLEAN)
|
||||
// 上厕所数值为0 且清洁度大于50时,清洁度降至50
|
||||
if Id == playroom.PHYSIOLOGY_TYPE_TOLIET && Num == 0 && CleanMood.Num > 50 {
|
||||
CleanMood.Num = 50
|
||||
} else {
|
||||
PlayroomMod.AddMood(MType, MEffect*DiffValue)
|
||||
}
|
||||
Physiology.Num = Num
|
||||
p.PlayMod.save()
|
||||
PlayroomBackData(p)
|
||||
|
||||
@ -523,6 +523,8 @@ func (p *PlayerBaseData) AddExp(player *Player, exp int) (int, error) {
|
||||
return 0, err
|
||||
}
|
||||
}
|
||||
PlayroomMod := player.PlayMod.getPlayroomMod()
|
||||
PlayroomMod.UnLock(int(BaseMod.Level))
|
||||
player.PushClientRes(p.BackAsset())
|
||||
return upLv, nil
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user