日志打点
This commit is contained in:
parent
c1137f6a72
commit
95a4c869ff
@ -1,6 +1,7 @@
|
||||
package GuideTaskCfg
|
||||
|
||||
import (
|
||||
"server/GoUtil"
|
||||
"server/game/mod/item"
|
||||
"server/gamedata"
|
||||
"server/pkg/github.com/name5566/leaf/log"
|
||||
@ -42,6 +43,13 @@ func GetTaskActive(Id int) int {
|
||||
}
|
||||
return gamedata.GetIntValue(data, "Active")
|
||||
}
|
||||
func GetUnlock(Id int) int {
|
||||
data, err := gamedata.GetDataByIntKey(GUIDE_TASK_TASK, Id)
|
||||
if err != nil {
|
||||
return 0
|
||||
}
|
||||
return gamedata.GetIntValue(data, "Unlock")
|
||||
}
|
||||
|
||||
func GetActiveReward(Id int) ([]*item.Item, int) {
|
||||
data, err := gamedata.GetDataByIntKey(GUIDE_TASK_ACTIVE, Id)
|
||||
@ -50,6 +58,23 @@ func GetActiveReward(Id int) ([]*item.Item, int) {
|
||||
}
|
||||
return gamedata.GetItemList(data, "Items"), gamedata.GetIntValue(data, "Active")
|
||||
}
|
||||
func GetActiveReward2(reward []int, Active int) []*item.Item {
|
||||
data, err := gamedata.GetData(GUIDE_TASK_ACTIVE)
|
||||
if err != nil {
|
||||
return nil
|
||||
}
|
||||
for k, v := range data {
|
||||
active := gamedata.GetIntValue(v, "Active")
|
||||
if active < Active {
|
||||
continue
|
||||
}
|
||||
if GoUtil.InArray(GoUtil.Int(k), reward) {
|
||||
continue
|
||||
}
|
||||
return gamedata.GetItemList(v, "Items")
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func GetUnlockLv() int {
|
||||
data, err := gamedata.GetDataByKey(GUIDE_TASK_CONST, "UnlockLv")
|
||||
|
||||
@ -81,6 +81,14 @@ func GetOrderNum(Level int) int {
|
||||
return 0
|
||||
}
|
||||
|
||||
func GetStartOrderInfo(Id int) (int, int) {
|
||||
data, err := gamedata.GetDataByIntKey(CFG_START_ORDER, Id)
|
||||
if err != nil {
|
||||
return -1, -1
|
||||
}
|
||||
return gamedata.GetIntValue(data, "group"), gamedata.GetIntValue(data, "step")
|
||||
}
|
||||
|
||||
func GetStartOrderList() []*gamedata.StartOrderData {
|
||||
ret := make([]*gamedata.StartOrderData, 0)
|
||||
data, err := gamedata.GetData(CFG_START_ORDER)
|
||||
@ -95,6 +103,8 @@ func GetStartOrderList() []*gamedata.StartOrderData {
|
||||
Appear: gamedata.GetStringValue(v, "appear"),
|
||||
Preview: gamedata.GetStringValue(v, "preview"),
|
||||
Items: gamedata.GetItemList(v, "reward"),
|
||||
Group: gamedata.GetIntValue(v, "group"),
|
||||
Step: gamedata.GetIntValue(v, "step"),
|
||||
})
|
||||
}
|
||||
sort.Slice(ret, func(i, j int) bool {
|
||||
|
||||
@ -65,6 +65,38 @@ func GetLevUpExp(lv int) (int, int) {
|
||||
return gamedata.GetIntValue(data, "Exp"), gamedata.GetIntValue(data, "PExp")
|
||||
}
|
||||
|
||||
func GetNewLevUpExp(lv int, Exp int, PetExt int) (int, int) {
|
||||
ExpLv := lv
|
||||
PetLv := lv
|
||||
for {
|
||||
data1, err := gamedata.GetDataByIntKey(CFG_NAME, ExpLv)
|
||||
if err != nil {
|
||||
break
|
||||
}
|
||||
ExpNeed := gamedata.GetIntValue(data1, "Exp")
|
||||
if Exp >= ExpNeed {
|
||||
Exp -= ExpNeed
|
||||
ExpLv++
|
||||
} else {
|
||||
break
|
||||
}
|
||||
}
|
||||
for {
|
||||
data2, err := gamedata.GetDataByIntKey(CFG_NAME, PetLv)
|
||||
if err != nil {
|
||||
break
|
||||
}
|
||||
PetNeed := gamedata.GetIntValue(data2, "PExp")
|
||||
if PetExt >= PetNeed {
|
||||
PetExt -= PetNeed
|
||||
PetLv++
|
||||
} else {
|
||||
break
|
||||
}
|
||||
}
|
||||
return ExpLv, PetLv
|
||||
}
|
||||
|
||||
// 获取能量回复时间
|
||||
func GetRecover(lv int) int {
|
||||
data, err := gamedata.GetDataByIntKey(CFG_NAME, lv)
|
||||
|
||||
@ -537,9 +537,12 @@ func (p *PlayerBaseData) AddExp(player *Player, exp int, pexp int) (int, error)
|
||||
player.TeLog("level_up", map[string]interface{}{
|
||||
"after_level": BaseMod.Level,
|
||||
})
|
||||
NewExpLv, NewPetLv := userCfg.GetNewLevUpExp(BaseMod.Level, BaseMod.Exp, BaseMod.PExp)
|
||||
player.TeLog("property_level_up", map[string]interface{}{
|
||||
"property_level": BaseMod.Level,
|
||||
"property_level_reward": userCfg.GetUnlock(int(BaseMod.Level)),
|
||||
"story_level": NewExpLv,
|
||||
"pet_level": NewPetLv,
|
||||
})
|
||||
player.HandleInUserRank()
|
||||
}
|
||||
|
||||
@ -75,7 +75,7 @@ func handle(p *Player, m *msg.Msg) error {
|
||||
PlayroomBackData(p)
|
||||
p.TeLog("friend_add", map[string]interface{}{
|
||||
"player_id": m.From,
|
||||
"add_type": "invite add friend",
|
||||
"add_type": "发起申请",
|
||||
})
|
||||
p.PlayMod.save()
|
||||
case msg.HANDLE_TYPE_INVITE_FRIEND: // 邀请好友
|
||||
@ -403,7 +403,7 @@ func HandleFriendMsg(p *Player, m *msg.Msg) error {
|
||||
PlayroomBackData(p)
|
||||
p.TeLog("friend_add", map[string]interface{}{
|
||||
"player_id": m.From,
|
||||
"add_type": "agree",
|
||||
"add_type": "接受申请",
|
||||
})
|
||||
p.AddLog(m.From, friend.LOG_TYPE_FRIEND_BECOME, "", m.SendT)
|
||||
case msg.HANDLE_TYPE_DEL: // 删除好友
|
||||
@ -985,6 +985,68 @@ func (player *Player) GetPetOrderItemExp() int {
|
||||
}
|
||||
return playroomCfg.GetPetOrderItemExpByList(itemList)
|
||||
}
|
||||
|
||||
// 触发生成新的固定订单
|
||||
func (player *Player) TriggerOrder(lv int, Type string, Emit []int, EnergyMul int) error {
|
||||
OrderMod := player.PlayMod.getOrderMod()
|
||||
TriggerOrderList := orderCfg.GetStartOrderList()
|
||||
FixedOrder := 0
|
||||
for _, v := range OrderMod.OrderList {
|
||||
if v.Type == order.Fixed_type {
|
||||
FixedOrder++
|
||||
}
|
||||
}
|
||||
OrderList := make(map[int]order.Order, len(OrderMod.OrderList))
|
||||
for k, v := range OrderMod.OrderList {
|
||||
OrderList[k] = v
|
||||
}
|
||||
// 触发生成新的固定订单
|
||||
for _, v := range TriggerOrderList {
|
||||
if GoUtil.InArray(v.Id, OrderMod.FinishOrder) {
|
||||
continue
|
||||
}
|
||||
orderInfo, exists := OrderList[v.Id]
|
||||
if exists && v.Preview == "" {
|
||||
continue
|
||||
}
|
||||
// 预览条件不为空且未存在且未完成
|
||||
if v.Preview != "" && !exists && !GoUtil.InArray(v.Id, OrderMod.FinishOrder) {
|
||||
if OrderMod.CheckCondition(lv, v.Preview, Type, Emit, FixedOrder, OrderList) {
|
||||
OrderMod.AddFixOrder(v.Id, v.MergeList, order.Preview_type, v.Items)
|
||||
player.TeLog("preset_order_birth", map[string]interface{}{
|
||||
"order_id": v.Id,
|
||||
"order_item_id": v.MergeList,
|
||||
"preset_order_group": v.Group,
|
||||
"preset_order_step": v.Step,
|
||||
})
|
||||
}
|
||||
}
|
||||
if v.Appear != "" {
|
||||
if OrderMod.CheckCondition(lv, v.Appear, Type, Emit, FixedOrder, OrderList) {
|
||||
Type := order.Fixed_type
|
||||
OrderType := orderCfg.GetOrderType(v.Id)
|
||||
if OrderType != 0 {
|
||||
Type = OrderType
|
||||
}
|
||||
if exists {
|
||||
orderInfo.Type = order.Fixed_type
|
||||
OrderMod.OrderList[v.Id] = orderInfo
|
||||
} else {
|
||||
OrderMod.AddFixOrder(v.Id, v.MergeList, Type, v.Items)
|
||||
if v.Id == 78 {
|
||||
OrderMod.Retire("D")
|
||||
OrderMod.AutoEmit = append(OrderMod.AutoEmit, "D")
|
||||
}
|
||||
if v.Id == 79 {
|
||||
OrderMod.Retire("I")
|
||||
OrderMod.AutoEmit = append(OrderMod.AutoEmit, "I")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (player *Player) AddOrder() {
|
||||
BaseMod := player.PlayMod.getBaseMod()
|
||||
OrderMod := player.PlayMod.getOrderMod()
|
||||
|
||||
@ -10,10 +10,12 @@ import (
|
||||
collectCfg "server/conf/collect"
|
||||
decorateCfg "server/conf/decorate"
|
||||
emojiCfg "server/conf/emoji"
|
||||
GuideTaskCfg "server/conf/guideTask"
|
||||
handbookCfg "server/conf/handbook"
|
||||
limitedTimeEventCfg "server/conf/limitedTimeEvent"
|
||||
mergeDataCfg "server/conf/mergeData"
|
||||
miningCfg "server/conf/mining"
|
||||
orderCfg "server/conf/order"
|
||||
playroomCfg "server/conf/playroom"
|
||||
"server/db"
|
||||
"server/game/internal"
|
||||
@ -337,6 +339,7 @@ func ReqRewardOrder(player *Player, buf []byte) error {
|
||||
if OrderType != order.Preview_type && OrderType != order.Fixed_type {
|
||||
preset_order_group = -1
|
||||
}
|
||||
preset_order_group, preset_order_step := orderCfg.GetStartOrderInfo(int(req.OrderId))
|
||||
player.TeLog("order_finish", map[string]interface{}{
|
||||
"order_id": int(req.OrderId),
|
||||
"order_item_id": mergeList,
|
||||
@ -345,6 +348,7 @@ func ReqRewardOrder(player *Player, buf []byte) error {
|
||||
"order_item_reward": order_item_reward,
|
||||
"order_star_value": Star,
|
||||
"preset_order_group": preset_order_group,
|
||||
"preset_order_step": preset_order_step,
|
||||
})
|
||||
player.PetItemGetLog(Item, nil, "Order")
|
||||
EmitRetireTrigger2(player)
|
||||
@ -1212,7 +1216,7 @@ func ReqGetDailyTaskReward(player *Player, buf []byte) error {
|
||||
"task_id": int(req.Id),
|
||||
"item_list": itemList,
|
||||
"task_type": "daily",
|
||||
"task_score_reward": 0,
|
||||
"task_score_reward": DailyTaskMod.GetWeekReward2(),
|
||||
})
|
||||
return nil
|
||||
}
|
||||
@ -1286,9 +1290,11 @@ func ReqGetGuideTaskReward(player *Player, buf []byte) error {
|
||||
})
|
||||
return err
|
||||
}
|
||||
player.TeLog("ReqGetGuideTaskReward", map[string]interface{}{
|
||||
"task_id": int(req.Id),
|
||||
"item_list": itemList,
|
||||
player.TeLog("new_player_task", map[string]interface{}{
|
||||
"task_id": int(req.Id),
|
||||
"item_list": itemList,
|
||||
"task_gruop": GuideTaskCfg.GetUnlock(int(req.Id)),
|
||||
"task_score_reward": GuideTaskCfg.GetActiveReward2(GuideTaskMod.Reward, GuideTaskMod.Active),
|
||||
})
|
||||
player.PlayMod.save()
|
||||
player.PushClientRes(GuideTaskMod.BackData())
|
||||
@ -1701,10 +1707,6 @@ func ReqApplyFriend(player *Player, buf []byte) error {
|
||||
BaseMod := player.PlayMod.getBaseMod()
|
||||
PlayroomMod.AddRoomPointInvite(BaseMod.GetLevel())
|
||||
PlayroomBackData(player)
|
||||
player.TeLog("friend_add", map[string]interface{}{
|
||||
"player_id": Uid,
|
||||
"add_type": "apply",
|
||||
})
|
||||
return nil
|
||||
}
|
||||
|
||||
@ -1736,7 +1738,7 @@ func ReqAgreeFriend(player *Player, buf []byte) error {
|
||||
})
|
||||
player.TeLog("friend_add", map[string]interface{}{
|
||||
"player_id": Uid,
|
||||
"add_type": "agree",
|
||||
"add_type": "接受申请",
|
||||
})
|
||||
player.AddLog(Uid, friend.LOG_TYPE_FRIEND_BECOME, "", GoUtil.Now())
|
||||
FriendApplyBackData(player)
|
||||
@ -3026,7 +3028,7 @@ func ReqAutoAddInviteFriend(player *Player, buf []byte) error {
|
||||
PlayroomBackData(player)
|
||||
player.TeLog("friend_add", map[string]interface{}{
|
||||
"player_id": req.Id,
|
||||
"add_type": "invite add friend",
|
||||
"add_type": "邀请注册",
|
||||
})
|
||||
return nil
|
||||
}
|
||||
@ -3067,7 +3069,7 @@ func ReqAutoAddInviteFriend2(player *Player, buf []byte) error {
|
||||
PlayroomBackData(player)
|
||||
player.TeLog("friend_add", map[string]interface{}{
|
||||
"player_id": req.Id,
|
||||
"add_type": "invite add friend",
|
||||
"add_type": "邀请注册",
|
||||
})
|
||||
return nil
|
||||
}
|
||||
@ -3077,7 +3079,7 @@ func ReqSelectLimitEvent(player *Player, buf []byte) error {
|
||||
proto.Unmarshal(buf, req)
|
||||
LimitedTimeEventMod := player.PlayMod.getLimitedTimeEventMod()
|
||||
BaseMod := player.PlayMod.getBaseMod()
|
||||
Items, EventName, slot_order_number, err := LimitedTimeEventMod.SelectProgressReward(int(req.Id), BaseMod.GetLevel(), BaseMod.GetEnergy())
|
||||
Items, EventType, OrderNum, RewardList, err := LimitedTimeEventMod.SelectProgressReward(int(req.Id), BaseMod.GetLevel(), BaseMod.GetEnergy())
|
||||
if err != nil {
|
||||
player.SendErrClienRes(&msg.ResSelectLimitEvent{
|
||||
Code: msg.RES_CODE_FAIL,
|
||||
@ -3094,9 +3096,9 @@ func ReqSelectLimitEvent(player *Player, buf []byte) error {
|
||||
return err
|
||||
}
|
||||
player.TeLog("time_limited_slot", map[string]interface{}{
|
||||
"slot_order_number": slot_order_number,
|
||||
"slot_reward_list": EventName,
|
||||
"slot_reward": EventName,
|
||||
"slot_order_number": OrderNum,
|
||||
"slot_reward_list": RewardList,
|
||||
"slot_reward": limitedTimeEventCfg.GetEventName(EventType),
|
||||
})
|
||||
player.PlayMod.save()
|
||||
player.PushClientRes(LimitedTimeEventMod.BackData())
|
||||
@ -3916,9 +3918,10 @@ func ReqPlayroomTask(player *Player, buf []byte) error {
|
||||
})
|
||||
return err
|
||||
}
|
||||
Type := playroomCfg.GetDailyTaskType(int(req.Id))
|
||||
player.TeLog("room_daily_task", map[string]interface{}{
|
||||
"task_id": req.Id,
|
||||
"is_reward": PlayroomMod.DailyTaskCanReward(int(req.Id)),
|
||||
"is_reward": PlayroomMod.DailyTaskCanReward(Type),
|
||||
})
|
||||
player.PlayMod.save()
|
||||
player.PushClientRes(&msg.ResPlayroomTask{
|
||||
|
||||
@ -192,3 +192,23 @@ func (dt *DailyTaskMod) GetWeekReward(id int) ([]*item.Item, error) {
|
||||
}
|
||||
return nil, fmt.Errorf("task not finish")
|
||||
}
|
||||
|
||||
func (dt *DailyTaskMod) GetWeekReward2() []*item.Item {
|
||||
max := 0
|
||||
for id := range dt.WeekReward {
|
||||
if id > max {
|
||||
max = id
|
||||
}
|
||||
}
|
||||
max++
|
||||
if v, ok := dt.WeekReward[max]; ok {
|
||||
NeedActive := dailyTaskCfg.GetTaskActiveById(max)
|
||||
if dt.Active < NeedActive {
|
||||
return nil
|
||||
}
|
||||
if !v.Status {
|
||||
return v.Items
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
@ -350,13 +350,14 @@ func (l *LimitedTimeEventMod) AddProgress(Lv int) {
|
||||
}
|
||||
|
||||
// 选择进度奖励
|
||||
func (l *LimitedTimeEventMod) SelectProgressReward(Id, Lv, Energy int) ([]*item.Item, int, int, error) {
|
||||
func (l *LimitedTimeEventMod) SelectProgressReward(Id, Lv, Energy int) ([]*item.Item, int, int, map[int]int, error) {
|
||||
RewardId, ok := l.ProgressReward[Id]
|
||||
RewardList := l.ProgressReward
|
||||
if !ok {
|
||||
return nil, 0, 0, fmt.Errorf("RewardId not exist")
|
||||
return nil, 0, 0, nil, fmt.Errorf("RewardId not exist")
|
||||
}
|
||||
r2 := l.ProgressMax
|
||||
Item := limitedTimeEventCfg.GetProgressReward(RewardId)
|
||||
OrderNum := l.ProgressMax
|
||||
l.LastSelect = RewardId
|
||||
l.ProgressReward = make(map[int]int)
|
||||
l.Progress = 0
|
||||
@ -389,7 +390,7 @@ func (l *LimitedTimeEventMod) SelectProgressReward(Id, Lv, Energy int) ([]*item.
|
||||
}
|
||||
l.LastOption = r
|
||||
l.FirstReward = true
|
||||
return Item, limitedTimeEventCfg.GetProgressRewardType(RewardId), r2, nil
|
||||
return Item, limitedTimeEventCfg.GetProgressRewardType(RewardId), OrderNum, RewardList, nil
|
||||
}
|
||||
|
||||
func (l *LimitedTimeEventMod) RemoveSuperOrder() bool {
|
||||
|
||||
@ -500,6 +500,9 @@ func (o *OrderMod) addOrder(ChessList []int, Diff int, Type int) int {
|
||||
func (o *OrderMod) AddExtraOrder(ChessList []int) {
|
||||
o.addOrder(ChessList, DIFF_LOW, Extra_type)
|
||||
}
|
||||
func (o *OrderMod) AddFixOrder(Id int, ChessList []int, Type int, Items []*item.Item) {
|
||||
o.addFixOrder(Id, ChessList, Type, Items)
|
||||
}
|
||||
func (o *OrderMod) addFixOrder(Id int, ChessList []int, Type int, Items []*item.Item) {
|
||||
Order := Order{
|
||||
MergeId: ChessList,
|
||||
|
||||
@ -24,6 +24,7 @@ type StartOrderData struct {
|
||||
Step int `json:"step"`
|
||||
Appear string `json:"appear"`
|
||||
Preview string `json:"preview"`
|
||||
Group int `json:"group"`
|
||||
Items []*item.Item
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user