From 3c31586879c5b9a3cec81fcc9c888a84992501b9 Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Thu, 6 Feb 2025 11:43:55 +0800 Subject: [PATCH] =?UTF-8?q?playroom=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/conf/playroom/playroomCfg.go | 16 +++++++++++--- src/server/game/mod/playroom/playroom.go | 28 ++++++++++++++++++++++++ 2 files changed, 41 insertions(+), 3 deletions(-) diff --git a/src/server/conf/playroom/playroomCfg.go b/src/server/conf/playroom/playroomCfg.go index aad571b1..cf70478d 100644 --- a/src/server/conf/playroom/playroomCfg.go +++ b/src/server/conf/playroom/playroomCfg.go @@ -7,9 +7,11 @@ import ( ) const ( - CFG_PLAYROOM_CONST = "PlayroomConst" - CFG_PLAYROOM_DECORATE = "PlayroomDecorate" - CFG_PLAYROOM_MOOD = "PlayroomMood" + CFG_PLAYROOM_CONST = "PlayroomConst" + CFG_PLAYROOM_DECORATE = "PlayroomDecorate" + CFG_PLAYROOM_MOOD = "PlayroomMood" + CFG_PLAYROOM_PHYSIOLOGY = "PlayroomPhysiology" + CFG_PLAYROOM_PHYSIOLOGY_TYPE = "PlayroomPhysiologyType" ) func init() { @@ -141,3 +143,11 @@ func GetBuyItem(Id int) ([]*item.Item, []*item.Item) { } return gamedata.GetItemList(data, "Cost2"), gamedata.GetItemList(data, "Buy") } + +func GetPhysiologyMax(Id int) int { + data, err := gamedata.GetDataByIntKey(CFG_PLAYROOM_PHYSIOLOGY_TYPE, Id) + if err != nil { + return 0 + } + return gamedata.GetIntValue(data, "Max") +} diff --git a/src/server/game/mod/playroom/playroom.go b/src/server/game/mod/playroom/playroom.go index d51b6e8a..24f531e8 100644 --- a/src/server/game/mod/playroom/playroom.go +++ b/src/server/game/mod/playroom/playroom.go @@ -38,6 +38,7 @@ type PlayroomMod struct { NoFlip int // 连续未获取最高翻牌奖励次数 TodayFlip bool // 今日是否已获得最高档奖励 JackpotNum int // 每日转盘数量 + Physiology map[int]*Physiology } const ( @@ -55,6 +56,12 @@ const ( FLIP_TYPE_COPPER = 1 // 铜 FLIP_TYPE_SILVER = 2 // 银 FLIP_TYPE_GOLD = 3 // 金 + + PHYSIOLOGY_TYPE_STROKE = 1 // 抚摸 + PHYSIOLOGY_TYPE_PLAY = 2 // 玩耍 + PHYSIOLOGY_TYPE_FEED = 3 // 进食 + PHYSIOLOGY_TYPE_CLEAN = 4 // 清洁 + PHYSIOLOGY_TYPE_TOLIET = 5 // 上厕所 ) type Mood struct { @@ -63,6 +70,12 @@ type Mood struct { Time int64 } +type Physiology struct { + Id int + Num int + Time int64 +} + type Info struct { Time int64 Times int @@ -466,3 +479,18 @@ func (p *PlayroomMod) GetFlipReward() ([]*item.Item, error) { func (p *PlayroomMod) BuyItem(Id int) ([]*item.Item, []*item.Item) { return playroomCfg.GetBuyItem(Id) } + +func (p *PlayroomMod) UnLock(Lv int) { + UnlockLv := playroomCfg.GetUnLockLv() + if Lv < UnlockLv { + return + } + if p.Physiology == nil { + 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} + } + } +}