【猫草大作战】补发邮件

This commit is contained in:
hahwu 2025-12-17 10:45:06 +08:00
parent 58033e959f
commit b29eee3a1a
2 changed files with 30 additions and 6 deletions

View File

@ -7,6 +7,7 @@ import (
catnipCfg "server/conf/catnip"
guesscolorCfg "server/conf/guessColor"
itemCfg "server/conf/item"
languageCfg "server/conf/language"
mailCfg "server/conf/mail"
miningCfg "server/conf/mining"
passCfg "server/conf/pass"
@ -60,9 +61,18 @@ func (p *Player) ActivityLogin() {
// 猫草大作战
ActivityId = p.GetActivityId(activity.ACT_TYPE_CATNIP)
CatnipMod := p.PlayMod.getCatnipMod()
OldId = CatnipMod.Login(ActivityId)
if OldId != 0 {
OldId, CatnipUnReward := CatnipMod.Login(ActivityId)
if OldId != 0 && len(CatnipUnReward) > 0 {
// 清空猫草大作战数据无需发邮件
MailMod := p.PlayMod.getMailMod()
MailMod.SendMail(&mail.MailStruct{
Title: languageCfg.GetLanguage(msg.LANG_TYPE_LANG_CN, "backend_catnip_title"),
TitleEn: languageCfg.GetLanguage(msg.LANG_TYPE_LANG_EN, "backend_catnip_title"),
Content: languageCfg.GetLanguage(msg.LANG_TYPE_LANG_CN, "backend_catnip_content"),
ContentEn: languageCfg.GetLanguage(msg.LANG_TYPE_LANG_EN, "backend_catnip_content"),
Items: CatnipUnReward,
Type: mail.MAIL_TYPE_NORMAL,
})
}
// 通行证

View File

@ -52,15 +52,16 @@ func (c *CatnipMod) InitData() {
}
}
func (c *CatnipMod) Login(Id int) int {
func (c *CatnipMod) Login(Id int) (int, []*item.Item) {
OldId := c.Id
if Id == 0 {
c.Id = 0
return OldId
return OldId, nil
}
if c.Id == Id {
return 0
return 0, nil
}
Items := c.GetUnGetReward()
c.Id = Id
c.IsGetGrandReward = false // Reset grand reward status on login
c.Game = make(map[int]*CatnipGame)
@ -76,7 +77,7 @@ func (c *CatnipMod) Login(Id int) int {
Status: GAME_STATUS_IDLE, // Not started
}
}
return c.Id
return c.Id, Items
}
func (c *CatnipMod) ZeroUpdate(Id int) {
@ -260,3 +261,16 @@ func (c *CatnipMod) GetGameInfo(Id int) *CatnipGame {
func (c *CatnipMod) SetSendEmoji(Id, EmojiId int) {
c.Game[Id].SendEmoji = EmojiId
}
func (c *CatnipMod) GetUnGetReward() []*item.Item {
var rewards []*item.Item
for _, v := range c.Game {
Items, _, _ := c.Reward(v.Id)
rewards = append(rewards, Items...)
}
BigReward, err := c.GrandReward()
if err == nil {
rewards = append(rewards, BigReward...)
}
return rewards
}