挖矿初始奖励2个代币

This commit is contained in:
hahwu 2026-03-09 19:00:07 +08:00
parent 5b0bda5291
commit fc830c47d9
10 changed files with 63 additions and 14 deletions

View File

@ -46,6 +46,14 @@ func GetLoseItem(Id int) []*item.Item {
return gamedata.GetItemList(data, "ItemCost") return gamedata.GetItemList(data, "ItemCost")
} }
func GetStartItemNum(Id int) int {
data, err := gamedata.GetDataByIntKey(CFG_MINING_TEMPLATE, Id)
if err != nil {
return 0
}
return gamedata.GetIntValue(data, "StartItemNum")
}
func GetPassArea(Id int) int { func GetPassArea(Id int) int {
data, err := gamedata.GetDataByIntKey(CFG_MINING_PASS, Id) data, err := gamedata.GetDataByIntKey(CFG_MINING_PASS, Id)
if err != nil { if err != nil {

View File

@ -16,6 +16,7 @@ import (
"server/game/mod/mail" "server/game/mod/mail"
GoUtil "server/game_util" GoUtil "server/game_util"
"server/msg" "server/msg"
"server/pkg/github.com/name5566/leaf/log"
) )
// 活动模块 登录 // 活动模块 登录
@ -77,6 +78,16 @@ func (p *Player) ActivityLogin() {
p.SendActivityMail(ItemId, ItemNum, PassActivityId, RewardItems) p.SendActivityMail(ItemId, ItemNum, PassActivityId, RewardItems)
} }
} }
// 初始化活动道具
initItem := p.GetMiningMod().GetInitItem()
if len(initItem) > 0 {
err := p.HandleItem(initItem, "")
if err != nil {
log.Debug("ActivityLogin initItem err : %s", err)
}
}
} }
// 发送活动邮件 // 发送活动邮件

View File

@ -80,7 +80,7 @@ func (p *Player) ActivityFire(ChargeId int) {
return return
} }
p.PlayMod.save() p.PlayMod.save()
p.initAcitivity() p.initActivity()
p.BackDataActivity() p.BackDataActivity()
} }

View File

@ -101,7 +101,7 @@ func ReqGmCommand_(player *Player, Command string) error {
player.PlayMod.getBaseMod().Level = num player.PlayMod.getBaseMod().Level = num
player.PlayMod.getBaseMod().Exp = 0 player.PlayMod.getBaseMod().Exp = 0
player.PushClientRes(player.PlayerBaseMod.BackAsset()) player.PushClientRes(player.PlayerBaseMod.BackAsset())
player.initAcitivity() player.initActivity()
player.PlayMod.getGuideTaskMod().Unlock(num) player.PlayMod.getGuideTaskMod().Unlock(num)
player.PlayMod.getOrderMod().TriggerOrder(num, order.TRIGGER_TYPE_LV, nil, 1) player.PlayMod.getOrderMod().TriggerOrder(num, order.TRIGGER_TYPE_LV, nil, 1)
player.PushClientRes(player.PlayMod.getOrderMod().BackData()) player.PushClientRes(player.PlayMod.getOrderMod().BackData())
@ -124,7 +124,7 @@ func ReqGmCommand_(player *Player, Command string) error {
ActivityMod.Var = nil ActivityMod.Var = nil
ActivityMod.InitData() ActivityMod.InitData()
player.PlayMod.save() player.PlayMod.save()
player.initAcitivity() player.initActivity()
player.BackDataActivity() player.BackDataActivity()
case "weekUpdate": case "weekUpdate":
VarMod := player.PlayMod.getVarMod() VarMod := player.PlayMod.getVarMod()

View File

@ -7,11 +7,12 @@ import (
) )
type MiningMod struct { type MiningMod struct {
Id int Id int
Map map[int32]string Map map[int32]string
Gem []int Gem []int
Pass int Pass int
Mining int Mining int
InitItem bool
} }
func (m *MiningMod) InitData() { func (m *MiningMod) InitData() {
@ -34,9 +35,26 @@ func (m *MiningMod) Login(Id int) int {
m.Gem = nil m.Gem = nil
m.Pass = 1 m.Pass = 1
m.Mining = 0 m.Mining = 0
m.InitItem = false
return OldId return OldId
} }
func (m *MiningMod) GetInitItem() []*item.Item {
if m.InitItem {
return nil
}
if m.Id == 0 {
return nil
}
initItemNum := miningCfg.GetStartItemNum(m.Id)
initItemId := miningCfg.GetActivityItemId(m.Id)
if initItemNum > 0 && initItemId > 0 {
m.InitItem = true
return []*item.Item{item.NewItem(initItemId, initItemNum)}
}
return nil
}
func (m *MiningMod) ZeroUpdate(Id int) { func (m *MiningMod) ZeroUpdate(Id int) {
m.Login(Id) m.Login(Id)
} }

View File

@ -12,6 +12,7 @@ import (
"server/game/mod/face" "server/game/mod/face"
"server/game/mod/friend" "server/game/mod/friend"
"server/game/mod/fur" "server/game/mod/fur"
"server/game/mod/item"
limitedTimeEvent "server/game/mod/limited_time_event" limitedTimeEvent "server/game/mod/limited_time_event"
"server/game/mod/mail" "server/game/mod/mail"
"server/game/mod/mining" "server/game/mod/mining"
@ -90,3 +91,7 @@ func (p *Player) GetMiningMod() *mining.MiningMod {
func (p *Player) GetDailyTaskMod() *dailyTask.DailyTaskMod { func (p *Player) GetDailyTaskMod() *dailyTask.DailyTaskMod {
return p.PlayMod.getDailyTaskMod() return p.PlayMod.getDailyTaskMod()
} }
func (p *Player) GetItemMod() *item.ItemMod {
return p.PlayMod.getItemMod()
}

View File

@ -561,7 +561,7 @@ func (p *PlayerBaseData) AddExp(player *Player, exp int, pexp int) (int, error)
player.TriggerOrder(BaseMod.Level, order.TRIGGER_TYPE_LV, ChessMod.GetOrderEmit(), player.PlayMod.getBaseMod().GetEnergyMul()) player.TriggerOrder(BaseMod.Level, order.TRIGGER_TYPE_LV, ChessMod.GetOrderEmit(), player.PlayMod.getBaseMod().GetEnergyMul())
player.PushClientRes(OrderMod.BackData()) player.PushClientRes(OrderMod.BackData())
// 重载活动 // 重载活动
player.initAcitivity() player.initActivity()
player.BackDataActivity() player.BackDataActivity()
player.QuestTrigger(&quest.Trigger{Label: quest.TRIGGER_LABEL_UPLV}) player.QuestTrigger(&quest.Trigger{Label: quest.TRIGGER_LABEL_UPLV})
player.TeLog("level_up", map[string]interface{}{ player.TeLog("level_up", map[string]interface{}{

View File

@ -248,7 +248,7 @@ func (p *Player) InitPlayer(UserName string) error {
log.Debug("AddFunc failed:", err) log.Debug("AddFunc failed:", err)
} }
p.McronSave.Start() p.McronSave.Start()
p.initAcitivity() p.initActivity()
p.ZeroUpdate(nil) p.ZeroUpdate(nil)
p.NoonUpdate(nil) p.NoonUpdate(nil)
p.Login() p.Login()
@ -307,7 +307,7 @@ func (p *Player) InitPlayerByUid(Uid int) error {
log.Debug("AddFunc failed:", err) log.Debug("AddFunc failed:", err)
} }
p.McronSave.Start() p.McronSave.Start()
p.initAcitivity() p.initActivity()
p.ZeroUpdate(nil) p.ZeroUpdate(nil)
p.NoonUpdate(nil) p.NoonUpdate(nil)
p.Login() p.Login()
@ -384,7 +384,7 @@ func (p *Player) ZeroUpdate(a []interface{}) {
} }
p.PlayroomBackData() p.PlayroomBackData()
p.PlayMod.getChampshipMod().ZeroUpdate() p.PlayMod.getChampshipMod().ZeroUpdate()
p.initAcitivity() p.initActivity()
p.ActivityZeroUpdate() p.ActivityZeroUpdate()
// 每日任务 // 每日任务
@ -1164,7 +1164,7 @@ func (p *Player) TeLog(Type string, Param map[string]interface{}) {
} }
// 初始化活动 // 初始化活动
func (p *Player) initAcitivity() { func (p *Player) initActivity() {
p.activity = make(map[int]*ActivityInfo) p.activity = make(map[int]*ActivityInfo)
ActivityList := activityCfg.GetActivityList() ActivityList := activityCfg.GetActivityList()
Level := p.GetPlayerBaseMod().GetLevel() Level := p.GetPlayerBaseMod().GetLevel()
@ -1186,6 +1186,7 @@ func (p *Player) initAcitivity() {
Title: v.Title, Title: v.Title,
} }
} }
p.ActivityLogin()
} }
func (p *Player) BackDataActivity() { func (p *Player) BackDataActivity() {

View File

@ -4621,7 +4621,7 @@ func ReqActivityReward(player *Player, buf []byte) error {
"Items": Items, "Items": Items,
}) })
player.PlayMod.save() player.PlayMod.save()
player.initAcitivity() player.initActivity()
player.BackDataActivity() player.BackDataActivity()
player.PushClientRes(&msg.ResActivityReward{ player.PushClientRes(&msg.ResActivityReward{
Code: msg.RES_CODE_SUCCESS, Code: msg.RES_CODE_SUCCESS,

View File

@ -18,3 +18,9 @@ func TestGetPassReward(t *testing.T) {
} }
player.MiningBackData() player.MiningBackData()
} }
func TestInitActivityItem(t *testing.T) {
player := new(game.Player)
player.GetBaseMod().Level = 15
player.Login()
}