挖矿初始奖励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")
}
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 {
data, err := gamedata.GetDataByIntKey(CFG_MINING_PASS, Id)
if err != nil {

View File

@ -16,6 +16,7 @@ import (
"server/game/mod/mail"
GoUtil "server/game_util"
"server/msg"
"server/pkg/github.com/name5566/leaf/log"
)
// 活动模块 登录
@ -77,6 +78,16 @@ func (p *Player) ActivityLogin() {
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
}
p.PlayMod.save()
p.initAcitivity()
p.initActivity()
p.BackDataActivity()
}

View File

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

View File

@ -12,6 +12,7 @@ type MiningMod struct {
Gem []int
Pass int
Mining int
InitItem bool
}
func (m *MiningMod) InitData() {
@ -34,9 +35,26 @@ func (m *MiningMod) Login(Id int) int {
m.Gem = nil
m.Pass = 1
m.Mining = 0
m.InitItem = false
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) {
m.Login(Id)
}

View File

@ -12,6 +12,7 @@ import (
"server/game/mod/face"
"server/game/mod/friend"
"server/game/mod/fur"
"server/game/mod/item"
limitedTimeEvent "server/game/mod/limited_time_event"
"server/game/mod/mail"
"server/game/mod/mining"
@ -90,3 +91,7 @@ func (p *Player) GetMiningMod() *mining.MiningMod {
func (p *Player) GetDailyTaskMod() *dailyTask.DailyTaskMod {
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.PushClientRes(OrderMod.BackData())
// 重载活动
player.initAcitivity()
player.initActivity()
player.BackDataActivity()
player.QuestTrigger(&quest.Trigger{Label: quest.TRIGGER_LABEL_UPLV})
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)
}
p.McronSave.Start()
p.initAcitivity()
p.initActivity()
p.ZeroUpdate(nil)
p.NoonUpdate(nil)
p.Login()
@ -307,7 +307,7 @@ func (p *Player) InitPlayerByUid(Uid int) error {
log.Debug("AddFunc failed:", err)
}
p.McronSave.Start()
p.initAcitivity()
p.initActivity()
p.ZeroUpdate(nil)
p.NoonUpdate(nil)
p.Login()
@ -384,7 +384,7 @@ func (p *Player) ZeroUpdate(a []interface{}) {
}
p.PlayroomBackData()
p.PlayMod.getChampshipMod().ZeroUpdate()
p.initAcitivity()
p.initActivity()
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)
ActivityList := activityCfg.GetActivityList()
Level := p.GetPlayerBaseMod().GetLevel()
@ -1186,6 +1186,7 @@ func (p *Player) initAcitivity() {
Title: v.Title,
}
}
p.ActivityLogin()
}
func (p *Player) BackDataActivity() {

View File

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

View File

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