diff --git a/src/server/conf/playroom/playroomCfg.go b/src/server/conf/playroom/playroomCfg.go index 323b50a8..82a53a99 100644 --- a/src/server/conf/playroom/playroomCfg.go +++ b/src/server/conf/playroom/playroomCfg.go @@ -207,6 +207,18 @@ func GetPhysiologyDuration(Id int, Num int) int { return 0 } +func GetPhysiologyTypeList() []int { + r := make([]int, 0) + data, err := gamedata.GetData(CFG_PLAYROOM_PHYSIOLOGY_TYPE) + if err != nil { + return []int{} + } + for k := range data { + r = append(r, GoUtil.Int(k)) + } + return r +} + func GetMoodEffect(Id int) (int, int) { data, err := gamedata.GetDataByIntKey(CFG_PLAYROOM_PHYSIOLOGY_TYPE, Id) if err != nil { diff --git a/src/server/game/mod/playroom/playroom.go b/src/server/game/mod/playroom/playroom.go index 51766ca5..02912c02 100644 --- a/src/server/game/mod/playroom/playroom.go +++ b/src/server/game/mod/playroom/playroom.go @@ -507,9 +507,10 @@ func (p *PlayroomMod) UnLock(Lv int) { if len(p.Physiology) == 0 { Now := GoUtil.Now() p.Physiology = make(map[int]*Physiology) - for k := 1; k <= 5; k++ { - Max := playroomCfg.GetPhysiologyMax(k) - p.Physiology[k] = &Physiology{Id: k, Num: Max, Time: Now} + TypeList := playroomCfg.GetPhysiologyTypeList() + for _, v := range TypeList { + Max := playroomCfg.GetPhysiologyMax(v) + p.Physiology[v] = &Physiology{Id: v, Num: Max, Time: Now} } } if len(p.MoodInfo) == 0 {