From 780a2150fb224fda893a18d2a727cfce0bd745ba Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Mon, 20 Oct 2025 16:49:02 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B4=BB=E5=8A=A8=E9=80=9A=E8=A1=8C=E8=AF=81?= =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/game/ActivityFunc.go | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/src/server/game/ActivityFunc.go b/src/server/game/ActivityFunc.go index ab34013b..d7d5bf49 100644 --- a/src/server/game/ActivityFunc.go +++ b/src/server/game/ActivityFunc.go @@ -27,7 +27,7 @@ func ActivityLogin(p *Player) { ItemNum := ItemMod.GetItem(ItemId) if ItemNum != 0 { ItemMod.AddItem(ItemId, -ItemNum) - SendActivityMail(p, ItemId, ItemNum, ActivityId) + SendActivityMail(p, ItemId, ItemNum, ActivityId, nil) } } // 猜颜色 @@ -39,7 +39,7 @@ func ActivityLogin(p *Player) { ItemNum := ItemMod.GetItem(ItemId) if ItemNum != 0 { ItemMod.AddItem(ItemId, -ItemNum) - SendActivityMail(p, ItemId, ItemNum, ActivityId) + SendActivityMail(p, ItemId, ItemNum, ActivityId, nil) } } @@ -52,22 +52,38 @@ func ActivityLogin(p *Player) { ItemNum := ItemMod.GetItem(ItemId) if ItemNum != 0 { ItemMod.AddItem(ItemId, -ItemNum) - SendActivityMail(p, ItemId, ItemNum, ActivityId) + SendActivityMail(p, ItemId, ItemNum, ActivityId, nil) + } + } + + // 通行证 + ActivityId = GetActivityId(p, activity.ACT_TYPE_PASS) + PassMod := p.PlayMod.getPassMod() + OldId = PassMod.Login(ActivityId) + if OldId != 0 { + ItemId := passCfg.GetActivityItemId(OldId) + ItemNum := PassMod.Num + RewardItems, _ := PassMod.GetRewardItems() + if ItemNum != 0 { + ItemMod.AddItem(ItemId, -ItemNum) + SendActivityMail(p, ItemId, ItemNum, ActivityId, RewardItems) } } } -func SendActivityMail(p *Player, ItemId, ItemNum, ActivityId int) { +func SendActivityMail(p *Player, ItemId, ItemNum, ActivityId int, RewardItems []*item.Item) { MailMod := p.PlayMod.getMailMod() ItemName, ItemNameEn := itemCfg.GetItemName(ItemId) ActivityTitle, ActivityTitleEn := activityCfg.GetActivityTitle(ActivityId) mt, mc, mt_en, mc_en := mailCfg.GetRecallMail(ActivityTitle, ActivityTitleEn, ItemName, ItemNameEn) Items := []*item.Item{item.NewItem(ItemId, ItemNum)} + Items = append(Items, RewardItems...) MailMod.Send(mt, "", mc, mt_en, "", mc_en, Items, mail.MAIL_TYPE_NORMAL) } // 活动模块 零点更新 func ActivityZeroUpdate(p *Player) { + ActivityLogin(p) ActivityInfo := GetActivityInfo(p, activity.ACT_TYPE_MINING) if ActivityInfo != nil { MiningMod := p.PlayMod.getMiningMod()