活动补发邮件
This commit is contained in:
parent
7797127879
commit
c019b57fde
@ -2,6 +2,7 @@ package activityCfg
|
||||
|
||||
import (
|
||||
"server/GoUtil"
|
||||
languageCfg "server/conf/language"
|
||||
"server/game/mod/item"
|
||||
"server/gamedata"
|
||||
"server/pkg/github.com/name5566/leaf/log"
|
||||
@ -97,3 +98,11 @@ func GetAcitivityRewardItems(ActId int) []*item.Item {
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func GetActivityTitle(ActId, Lang int) string {
|
||||
data, err := gamedata.GetDataByIntKey(CFG_ACTIVITY, ActId)
|
||||
if err != nil {
|
||||
log.Debug("GetActivityTitle err:%v", err)
|
||||
}
|
||||
return languageCfg.GetLanguage(Lang, gamedata.GetStringValue(data, "Title"))
|
||||
}
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
package itemCfg
|
||||
|
||||
import (
|
||||
languageCfg "server/conf/language"
|
||||
"server/gamedata"
|
||||
"server/pkg/github.com/name5566/leaf/log"
|
||||
"strconv"
|
||||
@ -46,3 +47,12 @@ func GetItemEffectList(Id int) []int {
|
||||
}
|
||||
return res
|
||||
}
|
||||
|
||||
func GetItemName(Id, Lang int) string {
|
||||
data, err := gamedata.GetDataByIntKey(CFG_NAME, Id)
|
||||
if err != nil {
|
||||
log.Debug("ItemCfg GetItemName Id:%v not found", Id)
|
||||
return ""
|
||||
}
|
||||
return languageCfg.GetLanguage(Lang, gamedata.GetStringValue(data, "Name"))
|
||||
}
|
||||
|
||||
29
src/server/conf/language/languageCfg.go
Normal file
29
src/server/conf/language/languageCfg.go
Normal file
@ -0,0 +1,29 @@
|
||||
package languageCfg
|
||||
|
||||
import "server/gamedata"
|
||||
|
||||
const (
|
||||
CFG_LANGUAGE = "languageData"
|
||||
)
|
||||
|
||||
const (
|
||||
LANGUAGE_EN = 1
|
||||
LANGUAGE_CN = 2
|
||||
)
|
||||
|
||||
func init() {
|
||||
gamedata.InitCfg(CFG_LANGUAGE)
|
||||
}
|
||||
|
||||
func GetLanguage(lang int, key string) string {
|
||||
data, err := gamedata.GetDataByKey(CFG_LANGUAGE, key)
|
||||
if err != nil {
|
||||
return key
|
||||
}
|
||||
switch lang {
|
||||
case LANGUAGE_EN:
|
||||
return gamedata.GetStringValue(data, "English")
|
||||
default:
|
||||
return key
|
||||
}
|
||||
}
|
||||
@ -1,7 +1,9 @@
|
||||
package mailCfg
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"server/GoUtil"
|
||||
languageCfg "server/conf/language"
|
||||
"server/game/mod/item"
|
||||
"server/gamedata"
|
||||
"strings"
|
||||
@ -63,3 +65,13 @@ func GetTriggerMail() []*TriggerMail {
|
||||
}
|
||||
return ret
|
||||
}
|
||||
|
||||
func GetRecallMail(Lang int, Title, ItemName string) (string, string) {
|
||||
data, err := gamedata.GetDataByIntKey(CFG_MAIL, 12)
|
||||
if err != nil {
|
||||
return "", ""
|
||||
}
|
||||
mt := languageCfg.GetLanguage(Lang, gamedata.GetStringValue(data, "Title"))
|
||||
mc := languageCfg.GetLanguage(Lang, gamedata.GetStringValue(data, "Content"))
|
||||
return fmt.Sprintf(mt, Title), fmt.Sprintf(mc, Title, ItemName)
|
||||
}
|
||||
|
||||
@ -2,24 +2,73 @@ package game
|
||||
|
||||
import (
|
||||
"server/GoUtil"
|
||||
activityCfg "server/conf/activity"
|
||||
guesscolorCfg "server/conf/guessColor"
|
||||
itemCfg "server/conf/item"
|
||||
mailCfg "server/conf/mail"
|
||||
miningCfg "server/conf/mining"
|
||||
raceCfg "server/conf/race"
|
||||
"server/game/mod/item"
|
||||
"server/game/mod/mail"
|
||||
"server/msg"
|
||||
)
|
||||
|
||||
// 活动模块 登录
|
||||
func ActivityLogin(p *Player) {
|
||||
ActivityInfo := GetActivityInfo(p, ACT_TYPE_MINING)
|
||||
if ActivityInfo != nil {
|
||||
MiningMod := p.PlayMod.getMiningMod()
|
||||
MiningMod.Login(ActivityInfo.Id)
|
||||
|
||||
ItemMod := p.PlayMod.getItemMod()
|
||||
MailMod := p.PlayMod.getMailMod()
|
||||
BaseMod := p.PlayMod.getBaseMod()
|
||||
Lang := BaseMod.GetLang()
|
||||
|
||||
// 挖矿
|
||||
ActivityId := GetActivityId(p, ACT_TYPE_MINING)
|
||||
MiningMod := p.PlayMod.getMiningMod()
|
||||
OldId := MiningMod.Login(ActivityId)
|
||||
if OldId != 0 {
|
||||
ItemId := guesscolorCfg.GetActivityItemId(OldId)
|
||||
ItemNum := ItemMod.GetItem(ItemId)
|
||||
if ItemNum != 0 {
|
||||
ItemMod.AddItem(ItemId, -ItemNum)
|
||||
ItemName := itemCfg.GetItemName(ItemId, Lang)
|
||||
ActivityTitle := activityCfg.GetActivityTitle(ActivityId, Lang)
|
||||
mt, mc := mailCfg.GetRecallMail(Lang, ActivityTitle, ItemName)
|
||||
Items := []*item.Item{item.NewItem(ItemId, ItemNum)}
|
||||
MailMod.Send(mt, mc, Items, mail.MAIL_TYPE_NORMAL)
|
||||
}
|
||||
}
|
||||
ActivityInfo = GetActivityInfo(p, ACT_TYPE_GUESS_COLOR)
|
||||
if ActivityInfo != nil {
|
||||
GuessColorMod := p.PlayMod.getGuessColorMod()
|
||||
GuessColorMod.Login(ActivityInfo.Id)
|
||||
// 猜颜色
|
||||
ActivityId = GetActivityId(p, ACT_TYPE_GUESS_COLOR)
|
||||
GuessColorMod := p.PlayMod.getGuessColorMod()
|
||||
OldId = GuessColorMod.Login(ActivityId)
|
||||
if OldId != 0 {
|
||||
ItemId := guesscolorCfg.GetActivityItemId(OldId)
|
||||
ItemNum := ItemMod.GetItem(ItemId)
|
||||
if ItemNum != 0 {
|
||||
ItemMod.AddItem(ItemId, -ItemNum)
|
||||
ItemName := itemCfg.GetItemName(ItemId, Lang)
|
||||
ActivityTitle := activityCfg.GetActivityTitle(ActivityId, Lang)
|
||||
mt, mc := mailCfg.GetRecallMail(Lang, ActivityTitle, ItemName)
|
||||
Items := []*item.Item{item.NewItem(ItemId, ItemNum)}
|
||||
MailMod.Send(mt, mc, Items, mail.MAIL_TYPE_NORMAL)
|
||||
}
|
||||
}
|
||||
|
||||
// 赛跑
|
||||
ActivityId = GetActivityId(p, ACT_TYPE_GUESS_COLOR)
|
||||
RaceMod := p.PlayMod.getRaceMod()
|
||||
OldId = RaceMod.Login(ActivityId)
|
||||
if OldId != 0 {
|
||||
ItemId := guesscolorCfg.GetActivityItemId(OldId)
|
||||
ItemNum := ItemMod.GetItem(ItemId)
|
||||
if ItemNum != 0 {
|
||||
ItemMod.AddItem(ItemId, -ItemNum)
|
||||
ItemName := itemCfg.GetItemName(ItemId, Lang)
|
||||
ActivityTitle := activityCfg.GetActivityTitle(ActivityId, Lang)
|
||||
mt, mc := mailCfg.GetRecallMail(Lang, ActivityTitle, ItemName)
|
||||
Items := []*item.Item{item.NewItem(ItemId, ItemNum)}
|
||||
MailMod.Send(mt, mc, Items, mail.MAIL_TYPE_NORMAL)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -46,6 +95,15 @@ func GetActivityInfo(p *Player, actType int) *ActivityInfo {
|
||||
return nil
|
||||
}
|
||||
|
||||
func GetActivityId(p *Player, actType int) int {
|
||||
for _, v := range p.activity {
|
||||
if v.Type == actType {
|
||||
return v.Id
|
||||
}
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func GetActivityInfoById(p *Player, Id int) *ActivityInfo {
|
||||
for _, v := range p.activity {
|
||||
if v.Id == Id {
|
||||
|
||||
@ -6,10 +6,10 @@ import (
|
||||
"server/MergeConst"
|
||||
"server/conf"
|
||||
champshipCfg "server/conf/champship"
|
||||
languageCfg "server/conf/language"
|
||||
mailCfg "server/conf/mail"
|
||||
mergeDataCfg "server/conf/mergeData"
|
||||
"server/db"
|
||||
"server/game/mod/base"
|
||||
"server/game/mod/chess"
|
||||
"server/game/mod/item"
|
||||
"server/game/mod/mail"
|
||||
@ -46,15 +46,8 @@ func (player *Player) MailTrigger(Tr *quest.Trigger) bool {
|
||||
tr := false
|
||||
for _, v := range t {
|
||||
if checkTriggerCondition(player, v.Trigger) {
|
||||
Title := ""
|
||||
Content := ""
|
||||
if BaseMod.GetLang() == base.LANG_CN {
|
||||
Title = v.Title
|
||||
Content = v.Content
|
||||
} else {
|
||||
Title = v.EnglistTitle
|
||||
Content = v.EnglistContent
|
||||
}
|
||||
Title := languageCfg.GetLanguage(BaseMod.Lang, v.Title)
|
||||
Content := languageCfg.GetLanguage(BaseMod.Lang, v.Content)
|
||||
MailMod.Send(Title, Content, v.Items, mail.MAIL_TYPE_NORMAL)
|
||||
MailMod.AddTriggerMail(v.Id)
|
||||
tr = true
|
||||
|
||||
@ -4,14 +4,13 @@ import (
|
||||
"fmt"
|
||||
"server/GoUtil"
|
||||
baseCfg "server/conf/base"
|
||||
languageCfg "server/conf/language"
|
||||
"server/game/mod/item"
|
||||
"server/msg"
|
||||
)
|
||||
|
||||
const (
|
||||
ModuleName = "base"
|
||||
LANG_EN = 1 //英文
|
||||
LANG_CN = 2 //中文
|
||||
)
|
||||
|
||||
type Base struct {
|
||||
@ -49,7 +48,7 @@ func (b *Base) InitData(Uid int) {
|
||||
b.NickName = fmt.Sprintf("Player_%d", Uid)
|
||||
}
|
||||
if b.Lang == 0 {
|
||||
b.Lang = LANG_EN
|
||||
b.Lang = languageCfg.LANGUAGE_EN
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -52,12 +52,14 @@ func (g *GuessColorMod) InitData() {
|
||||
}
|
||||
}
|
||||
|
||||
func (g *GuessColorMod) Login(Id int) {
|
||||
func (g *GuessColorMod) Login(Id int) int {
|
||||
OldId := g.Id
|
||||
if Id == 0 {
|
||||
return
|
||||
g.Id = 0
|
||||
return g.Id
|
||||
}
|
||||
if g.Id == Id {
|
||||
return
|
||||
return 0
|
||||
}
|
||||
g.Id = Id
|
||||
g.Pass = 1
|
||||
@ -70,6 +72,7 @@ func (g *GuessColorMod) Login(Id int) {
|
||||
g.Guess = 0
|
||||
g.MapList = make([]map[int32]int32, 0)
|
||||
g.OMap = make(map[int32]int32)
|
||||
return OldId
|
||||
}
|
||||
|
||||
func (g *GuessColorMod) ZeroUpdate(Id int) {
|
||||
|
||||
@ -20,18 +20,21 @@ func (m *MiningMod) InitData() {
|
||||
}
|
||||
}
|
||||
|
||||
func (m *MiningMod) Login(Id int) {
|
||||
func (m *MiningMod) Login(Id int) int {
|
||||
OldId := m.Id
|
||||
if Id == 0 {
|
||||
return
|
||||
m.Id = 0
|
||||
return OldId
|
||||
}
|
||||
if m.Id == Id {
|
||||
return
|
||||
return 0
|
||||
}
|
||||
m.Id = Id
|
||||
m.Map = make(map[int32]string)
|
||||
m.Gem = make([]int, 0)
|
||||
m.Pass = 1
|
||||
m.Mining = 0
|
||||
return m.Id
|
||||
}
|
||||
|
||||
func (m *MiningMod) ZeroUpdate(Id int) {
|
||||
|
||||
@ -24,12 +24,14 @@ type Opponent struct {
|
||||
Progress int
|
||||
}
|
||||
|
||||
func (r *RaceMod) Login(Id int) {
|
||||
func (r *RaceMod) Login(Id int) int {
|
||||
OldId := r.Id
|
||||
if Id == 0 {
|
||||
return
|
||||
r.Id = 0
|
||||
return OldId
|
||||
}
|
||||
if r.Id == Id {
|
||||
return
|
||||
return 0
|
||||
}
|
||||
r.Id = Id
|
||||
r.Pass = 1
|
||||
@ -38,6 +40,7 @@ func (r *RaceMod) Login(Id int) {
|
||||
r.Progress = 0
|
||||
r.Rank = 0
|
||||
r.Opponent = nil
|
||||
return OldId
|
||||
}
|
||||
|
||||
func (r *RaceMod) ZeroUpdate(Id int) {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user