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()