Merge branch 'develop' into sdk
This commit is contained in:
commit
743445b64a
@ -80,3 +80,18 @@ func GetMapKey(v any) []int {
|
|||||||
}
|
}
|
||||||
return []int{}
|
return []int{}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func DiffMap(a, b map[int]int) map[int]int {
|
||||||
|
diff := make(map[int]int)
|
||||||
|
for k, v := range a {
|
||||||
|
if v2, ok := b[k]; !ok || v != v2 {
|
||||||
|
diff[k] = v
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for k, v := range b {
|
||||||
|
if _, ok := a[k]; !ok {
|
||||||
|
diff[k] = v
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return diff
|
||||||
|
}
|
||||||
|
|||||||
@ -39,3 +39,11 @@ func GetAllList() []int {
|
|||||||
}
|
}
|
||||||
return ret
|
return ret
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func GetEmojiName(Id int) string {
|
||||||
|
data, err := gamedata.GetDataByIntKey(CFG_EMOJI, Id)
|
||||||
|
if err != nil {
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
return gamedata.GetStringValue(data, "Name")
|
||||||
|
}
|
||||||
|
|||||||
@ -47,6 +47,15 @@ func GetLimitedTimeEventCfg() []*gamedata.LimitedTimeEventData {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func GetEventName(Id int) string {
|
||||||
|
data, err := gamedata.GetDataByIntKey(CFG_LIMITED_TIME_EVENT, Id)
|
||||||
|
if err != nil {
|
||||||
|
log.Debug("GetEventName err:%v", err)
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
return gamedata.GetStringValue(data, "Name")
|
||||||
|
}
|
||||||
|
|
||||||
// 获取流星雨加成
|
// 获取流星雨加成
|
||||||
func GetMeteorAdd(ChessLv int) int {
|
func GetMeteorAdd(ChessLv int) int {
|
||||||
data, err := gamedata.GetDataByIntKey(CFG_LIMITED_TIME_EVENT_METEOR, ChessLv)
|
data, err := gamedata.GetDataByIntKey(CFG_LIMITED_TIME_EVENT_METEOR, ChessLv)
|
||||||
|
|||||||
@ -431,6 +431,14 @@ func GetDressPart(Id int) int {
|
|||||||
return gamedata.GetIntValue(data, "IPart")
|
return gamedata.GetIntValue(data, "IPart")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func GetDressName(Id int) int {
|
||||||
|
data, err := gamedata.GetDataByIntKey(CFG_PLAYROOM_DRESS, Id)
|
||||||
|
if err != nil {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
return gamedata.GetIntValue(data, "Name")
|
||||||
|
}
|
||||||
|
|
||||||
func GetUnlockNeed(Type int) int {
|
func GetUnlockNeed(Type int) int {
|
||||||
data, err := gamedata.GetDataByIntKey(CFG_PLAYROOM_LOCK, Type)
|
data, err := gamedata.GetDataByIntKey(CFG_PLAYROOM_LOCK, Type)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -439,6 +447,14 @@ func GetUnlockNeed(Type int) int {
|
|||||||
return gamedata.GetIntValue(data, "Need")
|
return gamedata.GetIntValue(data, "Need")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func GetUnlockName(Type int) string {
|
||||||
|
data, err := gamedata.GetDataByIntKey(CFG_PLAYROOM_LOCK, Type)
|
||||||
|
if err != nil {
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
return gamedata.GetStringValue(data, "Name")
|
||||||
|
}
|
||||||
|
|
||||||
func GetDailyTask(Type int) map[int]string {
|
func GetDailyTask(Type int) map[int]string {
|
||||||
data, err := gamedata.GetData(CFG_PLAYROOM_DAILYTASK)
|
data, err := gamedata.GetData(CFG_PLAYROOM_DAILYTASK)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -597,3 +613,30 @@ func GetShopItemAdNum(Id int) int {
|
|||||||
}
|
}
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func GetDecoInfo(Id int) (int, string) {
|
||||||
|
data, err := gamedata.GetDataByIntKey(CFG_PLAYROOM_DECORATE, Id)
|
||||||
|
if err != nil {
|
||||||
|
log.Debug("GetDecoInfo err:%v", err)
|
||||||
|
return 0, ""
|
||||||
|
}
|
||||||
|
Type := gamedata.GetIntValue(data, "TypeEnum")
|
||||||
|
Name := gamedata.GetStringValue(data, "Chinese")
|
||||||
|
return Type, Name
|
||||||
|
}
|
||||||
|
|
||||||
|
func GetDailyTaskListById(Id int) []int {
|
||||||
|
data, err := gamedata.GetData(CFG_PLAYROOM_DAILYTASK)
|
||||||
|
if err != nil {
|
||||||
|
log.Debug("GetDailyTaskListById err:%v", err)
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
Type := GetDailyTaskType(Id)
|
||||||
|
r := make([]int, 0)
|
||||||
|
for k, v := range data {
|
||||||
|
if gamedata.GetIntValue(v, "Type") == Type {
|
||||||
|
r = append(r, GoUtil.Int(k))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return r
|
||||||
|
}
|
||||||
|
|||||||
@ -41,6 +41,9 @@ func ActivityFire(p *Player, ChargeId int) {
|
|||||||
log.Debug("ActivityFire err : %s", err)
|
log.Debug("ActivityFire err : %s", err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
if Item == nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
err = p.HandleItem(Item, msg.ITEM_POP_LABEL_ActivityGift.String())
|
err = p.HandleItem(Item, msg.ITEM_POP_LABEL_ActivityGift.String())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Debug("ChargeFire err : %s", err)
|
log.Debug("ChargeFire err : %s", err)
|
||||||
@ -54,33 +57,46 @@ func ActivityFire(p *Player, ChargeId int) {
|
|||||||
func PlayroomFire(p *Player, ChargeId int) {
|
func PlayroomFire(p *Player, ChargeId int) {
|
||||||
PlayroomMod := p.PlayMod.getPlayroomMod()
|
PlayroomMod := p.PlayMod.getPlayroomMod()
|
||||||
Item := PlayroomMod.Fire(ChargeId)
|
Item := PlayroomMod.Fire(ChargeId)
|
||||||
|
if Item == nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
err := p.HandleItem(Item, msg.ITEM_POP_LABEL_Playroom.String())
|
err := p.HandleItem(Item, msg.ITEM_POP_LABEL_Playroom.String())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Debug("ChargeFire err : %s", err)
|
log.Debug("ChargeFire err : %s", err)
|
||||||
}
|
}
|
||||||
|
p.TeLog("get_assist_battery", map[string]interface{}{
|
||||||
|
"assist_battery _type": "charge",
|
||||||
|
})
|
||||||
p.PlayMod.save()
|
p.PlayMod.save()
|
||||||
}
|
}
|
||||||
|
|
||||||
func PiggyBankFire(p *Player, ChargeId int) {
|
func PiggyBankFire(p *Player, ChargeId int) {
|
||||||
PiggyBankMod := p.PlayMod.getPiggyBankMod()
|
PiggyBankMod := p.PlayMod.getPiggyBankMod()
|
||||||
Item := PiggyBankMod.Fire(ChargeId)
|
Item := PiggyBankMod.Fire(ChargeId)
|
||||||
|
if Item == nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
err := p.HandleItem(Item, msg.ITEM_POP_LABEL_PiggyBank.String())
|
err := p.HandleItem(Item, msg.ITEM_POP_LABEL_PiggyBank.String())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Debug("ChargeFire err : %s", err)
|
log.Debug("ChargeFire err : %s", err)
|
||||||
}
|
}
|
||||||
LimitedTimePiggyBankTrigger(p)
|
LimitedTimePiggyBankTrigger(p)
|
||||||
p.PlayMod.save()
|
|
||||||
p.TeLog("piggy_bank_open", map[string]interface{}{
|
p.TeLog("piggy_bank_open", map[string]interface{}{
|
||||||
"piggy_bank_type": piggyBank.PIGGY_BANK_TYPE_CHARGE,
|
"piggy_bank_type": piggyBank.PIGGY_BANK_TYPE_CHARGE,
|
||||||
"item_list": Item,
|
"item_list": Item,
|
||||||
"open_cost": ChargeId,
|
"open_cost": ChargeId,
|
||||||
})
|
})
|
||||||
|
p.PlayMod.save()
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 处理玩家充值
|
// 处理玩家充值
|
||||||
func ChargeFire(p *Player, ChargeId int) {
|
func ChargeFire(p *Player, ChargeId int) {
|
||||||
ChargeMod := p.PlayMod.getChargeMod()
|
ChargeMod := p.PlayMod.getChargeMod()
|
||||||
Item := ChargeMod.Fire(ChargeId)
|
Item := ChargeMod.Fire(ChargeId)
|
||||||
|
if Item == nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
err := p.HandleItem(Item, msg.ITEM_POP_LABEL_Charge.String())
|
err := p.HandleItem(Item, msg.ITEM_POP_LABEL_Charge.String())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Debug("ChargeFire err : %s", err)
|
log.Debug("ChargeFire err : %s", err)
|
||||||
|
|||||||
@ -14,6 +14,7 @@ import (
|
|||||||
cardCfg "server/conf/card"
|
cardCfg "server/conf/card"
|
||||||
guesscolorCfg "server/conf/guessColor"
|
guesscolorCfg "server/conf/guessColor"
|
||||||
itemCfg "server/conf/item"
|
itemCfg "server/conf/item"
|
||||||
|
limitedTimeEventCfg "server/conf/limitedTimeEvent"
|
||||||
mergeDataCfg "server/conf/mergeData"
|
mergeDataCfg "server/conf/mergeData"
|
||||||
miningCfg "server/conf/mining"
|
miningCfg "server/conf/mining"
|
||||||
playroomCfg "server/conf/playroom"
|
playroomCfg "server/conf/playroom"
|
||||||
@ -634,7 +635,7 @@ func (p *Player) HandleItem(itemList []*item.Item, Label string) error {
|
|||||||
// 触发订单事件 生成超级订单 卡牌节
|
// 触发订单事件 生成超级订单 卡牌节
|
||||||
LimitedTimeEventTrigger(p, EffectList[0])
|
LimitedTimeEventTrigger(p, EffectList[0])
|
||||||
p.TeLog("time_limited_event_enable", map[string]interface{}{
|
p.TeLog("time_limited_event_enable", map[string]interface{}{
|
||||||
"event_type": EffectList[0],
|
"event_type": limitedTimeEventCfg.GetEventName(EffectList[0]),
|
||||||
"enable_type": Label,
|
"enable_type": Label,
|
||||||
})
|
})
|
||||||
case item.ITEM_TYPE_PIGGY_BANK: // 猪猪银行
|
case item.ITEM_TYPE_PIGGY_BANK: // 猪猪银行
|
||||||
@ -644,7 +645,7 @@ func (p *Player) HandleItem(itemList []*item.Item, Label string) error {
|
|||||||
LimitedTimePiggyBankTrigger(p)
|
LimitedTimePiggyBankTrigger(p)
|
||||||
p.PushClientRes(PiggyBankMod.BackData())
|
p.PushClientRes(PiggyBankMod.BackData())
|
||||||
p.TeLog("piggy_bank_income", map[string]interface{}{
|
p.TeLog("piggy_bank_income", map[string]interface{}{
|
||||||
"piggy_bank_id": Effect,
|
"piggy_bank_type": Effect,
|
||||||
"income_from": Label,
|
"income_from": Label,
|
||||||
})
|
})
|
||||||
case item.ITEM_TYPE_AVATAR: // 头像框
|
case item.ITEM_TYPE_AVATAR: // 头像框
|
||||||
@ -654,6 +655,7 @@ func (p *Player) HandleItem(itemList []*item.Item, Label string) error {
|
|||||||
"avatar_id": Effect[0],
|
"avatar_id": Effect[0],
|
||||||
"income_from": Label,
|
"income_from": Label,
|
||||||
})
|
})
|
||||||
|
p.PlayerDecoLog("avatar", Effect[0], Label)
|
||||||
BackDataType[item.ITEM_TYPE_AVATAR] = struct{}{}
|
BackDataType[item.ITEM_TYPE_AVATAR] = struct{}{}
|
||||||
case item.ITEM_TYPE_EMOJI: // 表情
|
case item.ITEM_TYPE_EMOJI: // 表情
|
||||||
Effect := itemCfg.GetItemEffectList(v.Id)
|
Effect := itemCfg.GetItemEffectList(v.Id)
|
||||||
@ -662,6 +664,7 @@ func (p *Player) HandleItem(itemList []*item.Item, Label string) error {
|
|||||||
"emoji_id": Effect[0],
|
"emoji_id": Effect[0],
|
||||||
"income_from": Label,
|
"income_from": Label,
|
||||||
})
|
})
|
||||||
|
p.PlayerDecoLog("emoji", Effect[0], Label)
|
||||||
BackDataType[item.ITEM_TYPE_EMOJI] = struct{}{}
|
BackDataType[item.ITEM_TYPE_EMOJI] = struct{}{}
|
||||||
case item.ITEM_TYPE_FACE: // 头像
|
case item.ITEM_TYPE_FACE: // 头像
|
||||||
Effect := itemCfg.GetItemEffectList(v.Id)
|
Effect := itemCfg.GetItemEffectList(v.Id)
|
||||||
@ -670,6 +673,7 @@ func (p *Player) HandleItem(itemList []*item.Item, Label string) error {
|
|||||||
"face_id": Effect[0],
|
"face_id": Effect[0],
|
||||||
"income_from": Label,
|
"income_from": Label,
|
||||||
})
|
})
|
||||||
|
p.PlayerDecoLog("face", Effect[0], Label)
|
||||||
BackDataType[item.ITEM_TYPE_FACE] = struct{}{}
|
BackDataType[item.ITEM_TYPE_FACE] = struct{}{}
|
||||||
case item.ITEM_TYPE_ACTIVITY_RACE: // 活动竞速
|
case item.ITEM_TYPE_ACTIVITY_RACE: // 活动竞速
|
||||||
ActivityInfo := GetActivityInfo(p, activity.ACT_TYPE_RACE)
|
ActivityInfo := GetActivityInfo(p, activity.ACT_TYPE_RACE)
|
||||||
@ -691,11 +695,24 @@ func (p *Player) HandleItem(itemList []*item.Item, Label string) error {
|
|||||||
PlayroomMod := p.PlayMod.getPlayroomMod()
|
PlayroomMod := p.PlayMod.getPlayroomMod()
|
||||||
PlayroomMod.AddCollect(Effect)
|
PlayroomMod.AddCollect(Effect)
|
||||||
BackDataType[item.ITEM_TYPE_PLAYROOM_DECORATION] = struct{}{}
|
BackDataType[item.ITEM_TYPE_PLAYROOM_DECORATION] = struct{}{}
|
||||||
|
Type, Name := playroomCfg.GetDecoInfo(Effect)
|
||||||
|
p.TeLog("room_deco_get", map[string]interface{}{
|
||||||
|
"room_deco_type": Type,
|
||||||
|
"room_deco_name": Name,
|
||||||
|
"room_deco_get_type": Label,
|
||||||
|
})
|
||||||
case item.ITEM_TYPE_PLAYROOM_DRESS: // playroom服饰
|
case item.ITEM_TYPE_PLAYROOM_DRESS: // playroom服饰
|
||||||
Effect := itemCfg.GetItemEffect(v.Id)
|
Effect := itemCfg.GetItemEffect(v.Id)
|
||||||
PlayroomMod := p.PlayMod.getPlayroomMod()
|
PlayroomMod := p.PlayMod.getPlayroomMod()
|
||||||
PlayroomMod.AddDress(Effect)
|
PlayroomMod.AddDress(Effect)
|
||||||
BackDataType[item.ITEM_TYPE_PLAYROOM_DRESS] = struct{}{}
|
BackDataType[item.ITEM_TYPE_PLAYROOM_DRESS] = struct{}{}
|
||||||
|
Type := playroomCfg.GetDressPart(Effect)
|
||||||
|
Name := playroomCfg.GetDressName(Effect)
|
||||||
|
p.TeLog("pet_deco_get", map[string]interface{}{
|
||||||
|
"pet_deco_type": Type,
|
||||||
|
"pet_deco_name": Name,
|
||||||
|
"pet_deco_get_type": Label,
|
||||||
|
})
|
||||||
case item.ITEM_TYPE_PLAYROOM_DECORATION_SET: // playroom装饰套装
|
case item.ITEM_TYPE_PLAYROOM_DECORATION_SET: // playroom装饰套装
|
||||||
Effect := itemCfg.GetItemEffectList(v.Id)
|
Effect := itemCfg.GetItemEffectList(v.Id)
|
||||||
PlayroomMod := p.PlayMod.getPlayroomMod()
|
PlayroomMod := p.PlayMod.getPlayroomMod()
|
||||||
@ -704,12 +721,15 @@ func (p *Player) HandleItem(itemList []*item.Item, Label string) error {
|
|||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
PlayroomMod.AddCollect(v)
|
PlayroomMod.AddCollect(v)
|
||||||
|
Type, Name := playroomCfg.GetDecoInfo(v)
|
||||||
|
p.TeLog("room_deco_get", map[string]interface{}{
|
||||||
|
"room_deco_type": Type,
|
||||||
|
"room_deco_name": Name,
|
||||||
|
"room_deco_get_type": Label,
|
||||||
|
})
|
||||||
}
|
}
|
||||||
BackDataType[item.ITEM_TYPE_PLAYROOM_DECORATION_SET] = struct{}{}
|
BackDataType[item.ITEM_TYPE_PLAYROOM_DECORATION_SET] = struct{}{}
|
||||||
p.TeLog("playroom_decoration_set", map[string]interface{}{
|
|
||||||
"decoration_set_id": Effect,
|
|
||||||
"income_from": Label,
|
|
||||||
})
|
|
||||||
default:
|
default:
|
||||||
err := ItemMod.AddItem(v.Id, v.Num)
|
err := ItemMod.AddItem(v.Id, v.Num)
|
||||||
p.TeLog("asset_change", map[string]interface{}{
|
p.TeLog("asset_change", map[string]interface{}{
|
||||||
|
|||||||
@ -236,7 +236,7 @@ func (p *PlayerBaseData) ReqBindFacebookAccount(player *Player, buf []byte) {
|
|||||||
p.Data.FaceBookId = req.BindAccountId
|
p.Data.FaceBookId = req.BindAccountId
|
||||||
res.BindAccountId = req.BindAccountId
|
res.BindAccountId = req.BindAccountId
|
||||||
player.TeLog("platform_connect", map[string]interface{}{
|
player.TeLog("platform_connect", map[string]interface{}{
|
||||||
"platform_type": "facebook",
|
"platform_type": "Facebook",
|
||||||
"platform_id": req.BindAccountId,
|
"platform_id": req.BindAccountId,
|
||||||
"is_reward": false,
|
"is_reward": false,
|
||||||
})
|
})
|
||||||
@ -313,7 +313,7 @@ func (p *PlayerBaseData) ReqOnlyBindFacebook(player *Player, buf []byte) {
|
|||||||
p.Data.FaceBookId = req.BindAccountId
|
p.Data.FaceBookId = req.BindAccountId
|
||||||
res.BindAccountId = req.BindAccountId
|
res.BindAccountId = req.BindAccountId
|
||||||
player.TeLog("platform_connect", map[string]interface{}{
|
player.TeLog("platform_connect", map[string]interface{}{
|
||||||
"platform_type": "facebook",
|
"platform_type": "Facebook",
|
||||||
"platform_id": req.BindAccountId,
|
"platform_id": req.BindAccountId,
|
||||||
"is_reward": false,
|
"is_reward": false,
|
||||||
})
|
})
|
||||||
|
|||||||
94
src/server/game/PlayerLog.go
Normal file
94
src/server/game/PlayerLog.go
Normal file
@ -0,0 +1,94 @@
|
|||||||
|
package game
|
||||||
|
|
||||||
|
import (
|
||||||
|
itemCfg "server/conf/item"
|
||||||
|
playroomCfg "server/conf/playroom"
|
||||||
|
"server/game/mod/item"
|
||||||
|
)
|
||||||
|
|
||||||
|
func (p *Player) PlayerDecoLog(Type string, Id int, Label string) {
|
||||||
|
p.TeLog("playerdeco_income", map[string]interface{}{
|
||||||
|
"playerdeco_type": Type,
|
||||||
|
"playerdeco_id": Id,
|
||||||
|
"income_from": Label,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
func (p *Player) PlayerDecoSetLog(Type string, Id int, Set string) {
|
||||||
|
p.TeLog("playerdeco_set", map[string]interface{}{
|
||||||
|
"playerdeco_type": Type,
|
||||||
|
"playerdeco_id": Id,
|
||||||
|
"set_function": Set,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
func (p *Player) PetItemGetLog(Item []*item.Item, Cost []*item.Item, Label string) {
|
||||||
|
CostType := ""
|
||||||
|
CostNum := 0
|
||||||
|
if len(Cost) > 0 {
|
||||||
|
switch Cost[0].Id {
|
||||||
|
case item.ITEM_TYPE_DIAMOND:
|
||||||
|
CostType = "diamond"
|
||||||
|
case item.ITEM_STAR_ID:
|
||||||
|
CostType = "star"
|
||||||
|
case 0:
|
||||||
|
CostType = "ad"
|
||||||
|
default:
|
||||||
|
CostType = "unknown"
|
||||||
|
}
|
||||||
|
CostNum = Cost[0].Num
|
||||||
|
}
|
||||||
|
for _, v := range Item {
|
||||||
|
Type := itemCfg.GetItemType(v.Id)
|
||||||
|
if Type == item.ITEM_TYPE_PLAYROOM_PET {
|
||||||
|
Name, _ := itemCfg.GetItemName(v.Id)
|
||||||
|
Effect := itemCfg.GetItemEffect(v.Id)
|
||||||
|
p.PetItemGetLog_(Effect, Name, Label, CostType, CostNum)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (p *Player) PetItemGetLog_(Type int, Name string, Label string, CostType string, CostNum int) {
|
||||||
|
p.TeLog("pet_item_get", map[string]interface{}{
|
||||||
|
"pet_item_type": Type,
|
||||||
|
"pet_item_name": Name,
|
||||||
|
"pet_item_get_type": Label,
|
||||||
|
"pet_item_cost_type": CostType,
|
||||||
|
"pet_item_cost": CostNum,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
func (p *Player) PetItemUseLog(Item []*item.Item) {
|
||||||
|
for _, v := range Item {
|
||||||
|
Type := itemCfg.GetItemType(v.Id)
|
||||||
|
if Type == item.ITEM_TYPE_PLAYROOM_PET {
|
||||||
|
Name, _ := itemCfg.GetItemName(v.Id)
|
||||||
|
Effect := itemCfg.GetItemEffect(v.Id)
|
||||||
|
p.TeLog("pet_item_use", map[string]interface{}{
|
||||||
|
"pet_item_type": Effect,
|
||||||
|
"pet_item_name": Name,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (p *Player) RoomDecoSetLog(Diff map[int]int) {
|
||||||
|
for _, v := range Diff {
|
||||||
|
Type, Name := playroomCfg.GetDecoInfo(v)
|
||||||
|
p.TeLog("room_deco_set", map[string]interface{}{
|
||||||
|
"room_deco_type": Type,
|
||||||
|
"room_deco_name": Name,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (p *Player) PetDecoSetLog(Diff map[int]int) {
|
||||||
|
for _, v := range Diff {
|
||||||
|
Type := playroomCfg.GetDressPart(v)
|
||||||
|
Name := playroomCfg.GetDressName(v)
|
||||||
|
p.TeLog("pet_deco_set", map[string]interface{}{
|
||||||
|
"pet_deco_type": Type,
|
||||||
|
"pet_deco_name": Name,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -9,7 +9,9 @@ import (
|
|||||||
cardCfg "server/conf/card"
|
cardCfg "server/conf/card"
|
||||||
collectCfg "server/conf/collect"
|
collectCfg "server/conf/collect"
|
||||||
decorateCfg "server/conf/decorate"
|
decorateCfg "server/conf/decorate"
|
||||||
|
emojiCfg "server/conf/emoji"
|
||||||
handbookCfg "server/conf/handbook"
|
handbookCfg "server/conf/handbook"
|
||||||
|
limitedTimeEventCfg "server/conf/limitedTimeEvent"
|
||||||
mergeDataCfg "server/conf/mergeData"
|
mergeDataCfg "server/conf/mergeData"
|
||||||
miningCfg "server/conf/mining"
|
miningCfg "server/conf/mining"
|
||||||
playroomCfg "server/conf/playroom"
|
playroomCfg "server/conf/playroom"
|
||||||
@ -213,9 +215,9 @@ func RegHandbookAllReward(player *Player, buf []byte) error {
|
|||||||
Type: req.Type,
|
Type: req.Type,
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
player.TeLog("collection_all_reward", map[string]interface{}{
|
player.TeLog("collection_like", map[string]interface{}{
|
||||||
"type": req.Type,
|
"collection_type": req.Type,
|
||||||
"item_list": Items,
|
"collection_reward": Items,
|
||||||
})
|
})
|
||||||
player.PushClientRes(player.PlayMod.getHandbookMod().BackData())
|
player.PushClientRes(player.PlayMod.getHandbookMod().BackData())
|
||||||
player.PlayMod.save()
|
player.PlayMod.save()
|
||||||
@ -260,7 +262,7 @@ func ReqRewardOrder(player *Player, buf []byte) error {
|
|||||||
AddItem := LimitedTimeEventMod.GetMeteorReward(mergeList)
|
AddItem := LimitedTimeEventMod.GetMeteorReward(mergeList)
|
||||||
if len(AddItem) > 0 {
|
if len(AddItem) > 0 {
|
||||||
player.TeLog("time_limited_event_action", map[string]interface{}{
|
player.TeLog("time_limited_event_action", map[string]interface{}{
|
||||||
"event_type": "meteor_show",
|
"event_type": limitedTimeEventCfg.GetEventName(limitedTimeEvent.EVENT_TYPE_METEOR_SHOW),
|
||||||
"item_list": AddItem,
|
"item_list": AddItem,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@ -271,7 +273,7 @@ func ReqRewardOrder(player *Player, buf []byte) error {
|
|||||||
AddItem := LimitedTimeEventMod.GetMoneyCatReward(mergeList)
|
AddItem := LimitedTimeEventMod.GetMoneyCatReward(mergeList)
|
||||||
if len(AddItem) > 0 {
|
if len(AddItem) > 0 {
|
||||||
player.TeLog("time_limited_event_action", map[string]interface{}{
|
player.TeLog("time_limited_event_action", map[string]interface{}{
|
||||||
"event_type": "money_cat",
|
"event_type": limitedTimeEventCfg.GetEventName(limitedTimeEvent.EVENT_TYPE_MONEY_CAT),
|
||||||
"item_list": AddItem,
|
"item_list": AddItem,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@ -322,7 +324,7 @@ func ReqRewardOrder(player *Player, buf []byte) error {
|
|||||||
Id: 0,
|
Id: 0,
|
||||||
})
|
})
|
||||||
player.TeLog("time_limited_event_action", map[string]interface{}{
|
player.TeLog("time_limited_event_action", map[string]interface{}{
|
||||||
"event_type": "chest_rain",
|
"event_type": limitedTimeEventCfg.GetEventName(limitedTimeEvent.EVENT_TYPE_CHEST_RAIN),
|
||||||
"item_list": ChestRainItems,
|
"item_list": ChestRainItems,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@ -345,6 +347,7 @@ func ReqRewardOrder(player *Player, buf []byte) error {
|
|||||||
"order_type": OrderType,
|
"order_type": OrderType,
|
||||||
"order_star_reward": Star,
|
"order_star_reward": Star,
|
||||||
})
|
})
|
||||||
|
player.PetItemGetLog(Item, nil, "Order")
|
||||||
EmitRetireTrigger2(player)
|
EmitRetireTrigger2(player)
|
||||||
Lv := player.GetPlayerBaseMod().GetLevel()
|
Lv := player.GetPlayerBaseMod().GetLevel()
|
||||||
EnergyMul := player.PlayMod.getBaseMod().GetEnergyMul()
|
EnergyMul := player.PlayMod.getBaseMod().GetEnergyMul()
|
||||||
@ -463,7 +466,7 @@ func ReqDecorate(player *Player, buf []byte) error {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
player.TeLog("finish_deco", map[string]interface{}{
|
player.TeLog("finish_deco", map[string]interface{}{
|
||||||
"deco_step_id": DecorateId,
|
"deco_step_id": fmt.Sprintf("%d_%d", AreaId, DecorateId),
|
||||||
})
|
})
|
||||||
|
|
||||||
player.PlayMod.save()
|
player.PlayMod.save()
|
||||||
@ -482,6 +485,7 @@ func ReqDecorateAll(player *Player, buf []byte) error {
|
|||||||
req := &msg.ReqDecorateAll{}
|
req := &msg.ReqDecorateAll{}
|
||||||
proto.Unmarshal(buf, req)
|
proto.Unmarshal(buf, req)
|
||||||
DecorateMod := player.PlayMod.getDecorateMod()
|
DecorateMod := player.PlayMod.getDecorateMod()
|
||||||
|
AreaId := DecorateMod.GetAreaId()
|
||||||
UnLockLv := decorateCfg.GetOneKeyDecorateUnlockLv()
|
UnLockLv := decorateCfg.GetOneKeyDecorateUnlockLv()
|
||||||
if player.GetPlayerBaseMod().GetLevel() < UnLockLv {
|
if player.GetPlayerBaseMod().GetLevel() < UnLockLv {
|
||||||
player.SendErrClienRes(&msg.ResDecorateAll{
|
player.SendErrClienRes(&msg.ResDecorateAll{
|
||||||
@ -519,16 +523,18 @@ func ReqDecorateAll(player *Player, buf []byte) error {
|
|||||||
})
|
})
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
deco_step_id := []string{}
|
||||||
|
for _, v := range DecorateList {
|
||||||
|
deco_step_id = append(deco_step_id, fmt.Sprintf("%d_%d", AreaId, v))
|
||||||
|
}
|
||||||
player.TeLog("one_click_decoration", map[string]interface{}{
|
player.TeLog("one_click_decoration", map[string]interface{}{
|
||||||
"deco_step_id": DecorateList,
|
"deco_step_id": fmt.Sprintf("%v", deco_step_id),
|
||||||
})
|
})
|
||||||
|
|
||||||
if len(Log) > 0 {
|
if len(Log) > 0 {
|
||||||
for _, v := range Log {
|
for _, v := range Log {
|
||||||
player.TeLog("scene_reward", v.(map[string]interface{}))
|
player.TeLog("scene_reward", v.(map[string]interface{}))
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
player.PlayMod.save()
|
player.PlayMod.save()
|
||||||
@ -1034,7 +1040,7 @@ func ReqExStarReward(player *Player, buf []byte) error {
|
|||||||
req := &msg.ReqExStarReward{}
|
req := &msg.ReqExStarReward{}
|
||||||
proto.Unmarshal(buf, req)
|
proto.Unmarshal(buf, req)
|
||||||
CardMod := player.PlayMod.getCardMod()
|
CardMod := player.PlayMod.getCardMod()
|
||||||
itemList, err := CardMod.ExStarReward(int(req.Id))
|
itemList, CostStar, err := CardMod.ExStarReward(int(req.Id))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
player.SendErrClienRes(&msg.ResExStarReward{
|
player.SendErrClienRes(&msg.ResExStarReward{
|
||||||
Code: msg.RES_CODE_FAIL,
|
Code: msg.RES_CODE_FAIL,
|
||||||
@ -1051,8 +1057,9 @@ func ReqExStarReward(player *Player, buf []byte) error {
|
|||||||
})
|
})
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
player.TeLog("ReqExStarReward", map[string]interface{}{
|
player.TeLog("sticker_exchange", map[string]interface{}{
|
||||||
"ex_star_id": int(req.Id),
|
// "pack_id": int(req.Id),
|
||||||
|
"sticker_cost": CostStar,
|
||||||
"item_list": itemList,
|
"item_list": itemList,
|
||||||
})
|
})
|
||||||
player.PlayMod.save()
|
player.PlayMod.save()
|
||||||
@ -1248,6 +1255,7 @@ func ReqSetAvatar(player *Player, buf []byte) error {
|
|||||||
"avatar_id": req.Avatar,
|
"avatar_id": req.Avatar,
|
||||||
"is_platform": b,
|
"is_platform": b,
|
||||||
})
|
})
|
||||||
|
player.PlayerDecoSetLog("avatar", int(req.Avatar), "")
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1271,6 +1279,7 @@ func ReqSetFace(player *Player, buf []byte) error {
|
|||||||
player.TeLog("face_set", map[string]interface{}{
|
player.TeLog("face_set", map[string]interface{}{
|
||||||
"face_id": int(req.Face),
|
"face_id": int(req.Face),
|
||||||
})
|
})
|
||||||
|
player.PlayerDecoSetLog("face", int(req.Face), "")
|
||||||
BackUserInfo(player)
|
BackUserInfo(player)
|
||||||
player.UpdateUserInfo()
|
player.UpdateUserInfo()
|
||||||
return nil
|
return nil
|
||||||
@ -1881,6 +1890,7 @@ func ReqCardSend(player *Player, buf []byte) error {
|
|||||||
"card_id": CardId,
|
"card_id": CardId,
|
||||||
"player_id_target": int(req.Uid),
|
"player_id_target": int(req.Uid),
|
||||||
})
|
})
|
||||||
|
player.PlayerDecoSetLog("emoji", int(req.Emoji), "card_send")
|
||||||
player.PushClientRes(CardMod.NotifyCard())
|
player.PushClientRes(CardMod.NotifyCard())
|
||||||
player.PlayMod.save()
|
player.PlayMod.save()
|
||||||
player.PushClientRes(CardMod.NotifyTimes())
|
player.PushClientRes(CardMod.NotifyTimes())
|
||||||
@ -2353,7 +2363,7 @@ func ReqBuyChessShop(player *Player, buf []byte) error {
|
|||||||
"item_id": int(req.Id),
|
"item_id": int(req.Id),
|
||||||
"change_num": 1,
|
"change_num": 1,
|
||||||
"cost_type": "diamond",
|
"cost_type": "diamond",
|
||||||
"cost_num": Item[0].Num,
|
"cost_num": LostItem[0].Num,
|
||||||
})
|
})
|
||||||
player.PlayMod.save()
|
player.PlayMod.save()
|
||||||
player.PushClientRes(ChargeMod.BackData())
|
player.PushClientRes(ChargeMod.BackData())
|
||||||
@ -2361,7 +2371,7 @@ func ReqBuyChessShop(player *Player, buf []byte) error {
|
|||||||
Code: msg.RES_CODE_SUCCESS,
|
Code: msg.RES_CODE_SUCCESS,
|
||||||
})
|
})
|
||||||
player.TeLog("buy_product_diamond", map[string]interface{}{
|
player.TeLog("buy_product_diamond", map[string]interface{}{
|
||||||
"diamond_cost": Item[0].Num,
|
"diamond_cost": LostItem[0].Num,
|
||||||
"product_id": int(req.Id),
|
"product_id": int(req.Id),
|
||||||
"product_name": mergeDataCfg.GetNameById(int(req.Id)),
|
"product_name": mergeDataCfg.GetNameById(int(req.Id)),
|
||||||
})
|
})
|
||||||
@ -2952,7 +2962,7 @@ func ReqSelectLimitEvent(player *Player, buf []byte) error {
|
|||||||
proto.Unmarshal(buf, req)
|
proto.Unmarshal(buf, req)
|
||||||
LimitedTimeEventMod := player.PlayMod.getLimitedTimeEventMod()
|
LimitedTimeEventMod := player.PlayMod.getLimitedTimeEventMod()
|
||||||
BaseMod := player.PlayMod.getBaseMod()
|
BaseMod := player.PlayMod.getBaseMod()
|
||||||
Items, slot_reward, slot_order_number, err := LimitedTimeEventMod.SelectProgressReward(int(req.Id), BaseMod.GetLevel(), BaseMod.GetEnergy())
|
Items, EventName, slot_order_number, err := LimitedTimeEventMod.SelectProgressReward(int(req.Id), BaseMod.GetLevel(), BaseMod.GetEnergy())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
player.SendErrClienRes(&msg.ResSelectLimitEvent{
|
player.SendErrClienRes(&msg.ResSelectLimitEvent{
|
||||||
Code: msg.RES_CODE_FAIL,
|
Code: msg.RES_CODE_FAIL,
|
||||||
@ -2970,8 +2980,8 @@ func ReqSelectLimitEvent(player *Player, buf []byte) error {
|
|||||||
}
|
}
|
||||||
player.TeLog("time_limited_slot", map[string]interface{}{
|
player.TeLog("time_limited_slot", map[string]interface{}{
|
||||||
"slot_order_number": slot_order_number,
|
"slot_order_number": slot_order_number,
|
||||||
"slot_reward_list": slot_reward,
|
"slot_reward_list": EventName,
|
||||||
"slot_reward": slot_reward[int(req.Id)],
|
"slot_reward": EventName,
|
||||||
})
|
})
|
||||||
player.PlayMod.save()
|
player.PlayMod.save()
|
||||||
player.PushClientRes(LimitedTimeEventMod.BackData())
|
player.PushClientRes(LimitedTimeEventMod.BackData())
|
||||||
@ -3329,7 +3339,7 @@ func ReqPlayroomSetRoom(player *Player, buf []byte) error {
|
|||||||
req := &msg.ReqPlayroomSetRoom{}
|
req := &msg.ReqPlayroomSetRoom{}
|
||||||
proto.Unmarshal(buf, req)
|
proto.Unmarshal(buf, req)
|
||||||
PlayroomMod := player.PlayMod.getPlayroomMod()
|
PlayroomMod := player.PlayMod.getPlayroomMod()
|
||||||
err := PlayroomMod.SetRoom(GoUtil.MapInt32ToInt(req.Playroom))
|
Diff, err := PlayroomMod.SetRoom(GoUtil.MapInt32ToInt(req.Playroom))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
player.SendErrClienRes(&msg.ResPlayroomSetRoom{
|
player.SendErrClienRes(&msg.ResPlayroomSetRoom{
|
||||||
Code: msg.RES_CODE_FAIL,
|
Code: msg.RES_CODE_FAIL,
|
||||||
@ -3339,6 +3349,7 @@ func ReqPlayroomSetRoom(player *Player, buf []byte) error {
|
|||||||
}
|
}
|
||||||
player.QuestTrigger(&quest.Trigger{Label: quest.TRIGGER_LABEL_ROOMDEC})
|
player.QuestTrigger(&quest.Trigger{Label: quest.TRIGGER_LABEL_ROOMDEC})
|
||||||
player.PlayMod.save()
|
player.PlayMod.save()
|
||||||
|
player.RoomDecoSetLog(Diff)
|
||||||
player.PushClientRes(&msg.ResPlayroomSetRoom{
|
player.PushClientRes(&msg.ResPlayroomSetRoom{
|
||||||
Code: msg.RES_CODE_SUCCESS,
|
Code: msg.RES_CODE_SUCCESS,
|
||||||
})
|
})
|
||||||
@ -3386,12 +3397,12 @@ func ReqPlayroomGame(player *Player, buf []byte) error {
|
|||||||
Num: int32(v.Num),
|
Num: int32(v.Num),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
player.TeLog("playroom_game", map[string]interface{}{
|
player.TeLog("finish_mini_game", map[string]interface{}{
|
||||||
"game_id": PlayroomMod.GetGameId(),
|
"mini_game_type": PlayroomMod.GetGameId(),
|
||||||
"emoji_id": req.EmojiId,
|
"is_chip": false,
|
||||||
"game_type": req.Type,
|
"item_list": Items,
|
||||||
"reward": Items,
|
|
||||||
})
|
})
|
||||||
|
player.PlayerDecoSetLog("emoji", int(req.EmojiId), "playroom_game")
|
||||||
player.PushClientRes(&msg.ResPlayroomGame{
|
player.PushClientRes(&msg.ResPlayroomGame{
|
||||||
Code: msg.RES_CODE_SUCCESS,
|
Code: msg.RES_CODE_SUCCESS,
|
||||||
Type: req.Type,
|
Type: req.Type,
|
||||||
@ -3437,13 +3448,12 @@ func ReqPlayroomSelectReward(player *Player, buf []byte) error {
|
|||||||
G_GameLogicPtr.SetUserData(Target, VAR_OP_CHIP, 1)
|
G_GameLogicPtr.SetUserData(Target, VAR_OP_CHIP, 1)
|
||||||
PlayroomMod.ResetGame()
|
PlayroomMod.ResetGame()
|
||||||
player.PlayMod.save()
|
player.PlayMod.save()
|
||||||
player.TeLog("playroom_select_reward", map[string]interface{}{
|
player.TeLog("finish_mini_game", map[string]interface{}{
|
||||||
"reward_id": req.Id,
|
"mini_game_type": PlayroomMod.GetGameId(),
|
||||||
"emoji_id": req.EmojiId,
|
"is_chip": true,
|
||||||
"game_id": PlayroomMod.GetGameId(),
|
"item_list": Items,
|
||||||
"reward": Items,
|
|
||||||
"target_id": Target,
|
|
||||||
})
|
})
|
||||||
|
player.PlayerDecoSetLog("emoji", int(req.EmojiId), "playroom_select_reward")
|
||||||
PlayroomBackData(player)
|
PlayroomBackData(player)
|
||||||
PlayroomVisit(player, PlayroomMod.GetTarget())
|
PlayroomVisit(player, PlayroomMod.GetTarget())
|
||||||
player.PushClientRes(&msg.ResPlayroomSelectReward{
|
player.PushClientRes(&msg.ResPlayroomSelectReward{
|
||||||
@ -3487,8 +3497,8 @@ func ReqPlayroomWork(player *Player, buf []byte) error {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
player.QuestTrigger(&quest.Trigger{Label: quest.TRIGGER_LABEL_PETWORK})
|
player.QuestTrigger(&quest.Trigger{Label: quest.TRIGGER_LABEL_PETWORK})
|
||||||
player.TeLog("playroom_work", map[string]interface{}{
|
player.TeLog("pet_assist_active", map[string]interface{}{
|
||||||
"work_item": Items,
|
"assist_time_left": PlayroomMod.Endtime - GoUtil.Now(),
|
||||||
})
|
})
|
||||||
player.PlayMod.save()
|
player.PlayMod.save()
|
||||||
player.PushClientRes(PlayroomMod.NotifyWork())
|
player.PushClientRes(PlayroomMod.NotifyWork())
|
||||||
@ -3506,6 +3516,7 @@ func ReqPlayroomRest(player *Player, buf []byte) error {
|
|||||||
player.PlayMod.save()
|
player.PlayMod.save()
|
||||||
player.TeLog("playroom_rest", map[string]interface{}{})
|
player.TeLog("playroom_rest", map[string]interface{}{})
|
||||||
player.PushClientRes(PlayroomMod.NotifyWork())
|
player.PushClientRes(PlayroomMod.NotifyWork())
|
||||||
|
player.TeLog("pet_assist_callback", map[string]interface{}{})
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3564,9 +3575,8 @@ func ReqPlayroomChip(player *Player, buf []byte) error {
|
|||||||
})
|
})
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
player.TeLog("playroom_chip", map[string]interface{}{
|
player.TeLog("remove_chip", map[string]interface{}{
|
||||||
"chip_num": ChipNum,
|
"remove_chip_number": ChipNum,
|
||||||
"uid": req.Uid,
|
|
||||||
})
|
})
|
||||||
|
|
||||||
G_GameLogicPtr.SetUserData(int(player.M_DwUin), VAR_OP_CHIP_SET, len(PlayroomMod.ChipList))
|
G_GameLogicPtr.SetUserData(int(player.M_DwUin), VAR_OP_CHIP_SET, len(PlayroomMod.ChipList))
|
||||||
@ -3643,12 +3653,12 @@ func ReqPlayroomFlipReward(player *Player, buf []byte) error {
|
|||||||
Emoji: int(req.EmojiId),
|
Emoji: int(req.EmojiId),
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
player.TeLog("playroom_flip_reward", map[string]interface{}{
|
player.TeLog("finish_mini_game", map[string]interface{}{
|
||||||
"reward": Items,
|
"mini_game_type": PlayroomMod.GetGameId(),
|
||||||
"target_id": Target,
|
"is_chip": false,
|
||||||
"emoji_id": req.EmojiId,
|
"item_list": Items,
|
||||||
"game_id": playroom.GAME_TYPE_FILP,
|
|
||||||
})
|
})
|
||||||
|
player.PlayerDecoSetLog("emoji", int(req.EmojiId), "playroom_flip_reward")
|
||||||
player.PlayMod.save()
|
player.PlayMod.save()
|
||||||
PlayroomBackData(player)
|
PlayroomBackData(player)
|
||||||
player.PushClientRes(&msg.ResPlayroomFlipReward{
|
player.PushClientRes(&msg.ResPlayroomFlipReward{
|
||||||
@ -3730,8 +3740,8 @@ func ReqPlayroomUpvote(player *Player, buf []byte) error {
|
|||||||
})
|
})
|
||||||
G_GameLogicPtr.SetUserData(int(req.Id), VAR_OP_UPVOTE, 1)
|
G_GameLogicPtr.SetUserData(int(req.Id), VAR_OP_UPVOTE, 1)
|
||||||
G_GameLogicPtr.SetUserData(int(req.Id), VAR_OP_KISS, 1)
|
G_GameLogicPtr.SetUserData(int(req.Id), VAR_OP_KISS, 1)
|
||||||
player.TeLog("playroom_upvote", map[string]interface{}{
|
player.TeLog("visit_like", map[string]interface{}{
|
||||||
"player_id": req.Id,
|
"user_id": req.Id,
|
||||||
})
|
})
|
||||||
player.PlayMod.save()
|
player.PlayMod.save()
|
||||||
player.PushClientRes(&msg.ResPlayroomUpvote{
|
player.PushClientRes(&msg.ResPlayroomUpvote{
|
||||||
@ -3752,8 +3762,8 @@ func ReqPlayroomUnlock(player *Player, buf []byte) error {
|
|||||||
})
|
})
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
player.TeLog("playroom_unlock", map[string]interface{}{
|
player.TeLog("room_unlcok", map[string]interface{}{
|
||||||
"unlock_id": req.Id,
|
"room_type": playroomCfg.GetUnlockName(int(req.Id)),
|
||||||
})
|
})
|
||||||
player.PlayMod.save()
|
player.PlayMod.save()
|
||||||
player.PushClientRes(&msg.ResPlayroomUnlock{
|
player.PushClientRes(&msg.ResPlayroomUnlock{
|
||||||
@ -3784,9 +3794,9 @@ func ReqPlayroomTask(player *Player, buf []byte) error {
|
|||||||
})
|
})
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
player.TeLog("playroom_task", map[string]interface{}{
|
player.TeLog("room_daily_task", map[string]interface{}{
|
||||||
"task_id": req.Id,
|
"task_id": req.Id,
|
||||||
"reward": Items,
|
"is_reward": PlayroomMod.DailyTaskCanReward(int(req.Id)),
|
||||||
})
|
})
|
||||||
player.PlayMod.save()
|
player.PlayMod.save()
|
||||||
player.PushClientRes(&msg.ResPlayroomTask{
|
player.PushClientRes(&msg.ResPlayroomTask{
|
||||||
@ -3957,6 +3967,7 @@ func ReqPlayroomShop(player *Player, buf []byte) error {
|
|||||||
"num": req.Num,
|
"num": req.Num,
|
||||||
"reward": AddItems,
|
"reward": AddItems,
|
||||||
})
|
})
|
||||||
|
player.PetItemGetLog(AddItems, LoseItem, "Shop")
|
||||||
player.PlayMod.save()
|
player.PlayMod.save()
|
||||||
player.PushClientRes(PlayroomMod.NotifyMood())
|
player.PushClientRes(PlayroomMod.NotifyMood())
|
||||||
player.PushClientRes(&msg.ResPlayroomShop{
|
player.PushClientRes(&msg.ResPlayroomShop{
|
||||||
@ -4146,9 +4157,10 @@ func ReqSetEmoji(player *Player, buf []byte) error {
|
|||||||
})
|
})
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
player.TeLog("set_emoji", map[string]interface{}{
|
player.TeLog("playerdeco_emoji_set", map[string]interface{}{
|
||||||
"Id": int(req.Id),
|
"emoji_name": emojiCfg.GetEmojiName(int(req.Id)),
|
||||||
"Type": int(req.Type),
|
"emoji_id": int(req.Id),
|
||||||
|
"emoji_setplace": int(req.Type),
|
||||||
})
|
})
|
||||||
player.PlayMod.save()
|
player.PlayMod.save()
|
||||||
player.PushClientRes(&msg.ResSetEmoji{
|
player.PushClientRes(&msg.ResSetEmoji{
|
||||||
@ -4172,12 +4184,16 @@ func ReqCollect(player *Player, buf []byte) error {
|
|||||||
CollectMod := player.PlayMod.getCollectMod()
|
CollectMod := player.PlayMod.getCollectMod()
|
||||||
Type := collectCfg.GetRewardType(int(req.Id))
|
Type := collectCfg.GetRewardType(int(req.Id))
|
||||||
Num := 0
|
Num := 0
|
||||||
|
AreaType := ""
|
||||||
switch Type {
|
switch Type {
|
||||||
case collect.COLLECT_TYPE_EMOJI:
|
case collect.COLLECT_TYPE_EMOJI:
|
||||||
|
AreaType = "emoji"
|
||||||
Num = player.PlayMod.getEmojiMod().GetEmojiNum()
|
Num = player.PlayMod.getEmojiMod().GetEmojiNum()
|
||||||
case collect.COLLECT_TYPE_FACE:
|
case collect.COLLECT_TYPE_FACE:
|
||||||
|
AreaType = "face"
|
||||||
Num = player.PlayMod.getFaceMod().GetFaceNum()
|
Num = player.PlayMod.getFaceMod().GetFaceNum()
|
||||||
case collect.COLLECT_TYPE_AVATAR:
|
case collect.COLLECT_TYPE_AVATAR:
|
||||||
|
AreaType = "avatar"
|
||||||
Num = player.PlayMod.getAvatarMod().GetAvatarNum()
|
Num = player.PlayMod.getAvatarMod().GetAvatarNum()
|
||||||
}
|
}
|
||||||
Items, err := CollectMod.GetReward(int(req.Id), Num)
|
Items, err := CollectMod.GetReward(int(req.Id), Num)
|
||||||
@ -4201,7 +4217,8 @@ func ReqCollect(player *Player, buf []byte) error {
|
|||||||
player.PushClientRes(&msg.ResCollect{
|
player.PushClientRes(&msg.ResCollect{
|
||||||
Code: msg.RES_CODE_SUCCESS,
|
Code: msg.RES_CODE_SUCCESS,
|
||||||
})
|
})
|
||||||
player.TeLog("collect", map[string]interface{}{
|
player.TeLog("playerdeco_warehouse_unlock", map[string]interface{}{
|
||||||
|
"area_type": AreaType,
|
||||||
"Id": int(req.Id),
|
"Id": int(req.Id),
|
||||||
"Items": Items,
|
"Items": Items,
|
||||||
})
|
})
|
||||||
@ -4230,7 +4247,7 @@ func ReqPlayroomDressSet(player *Player, buf []byte) error {
|
|||||||
req := &msg.ReqPlayroomDressSet{}
|
req := &msg.ReqPlayroomDressSet{}
|
||||||
proto.Unmarshal(buf, req)
|
proto.Unmarshal(buf, req)
|
||||||
PlayroomMod := player.PlayMod.getPlayroomMod()
|
PlayroomMod := player.PlayMod.getPlayroomMod()
|
||||||
Parts, error := PlayroomMod.PlayroomDressSet(GoUtil.MapInt32ToInt(req.DressSet))
|
Parts, Diff, error := PlayroomMod.PlayroomDressSet(GoUtil.MapInt32ToInt(req.DressSet))
|
||||||
if error != nil {
|
if error != nil {
|
||||||
player.SendErrClienRes(&msg.ResPlayroomDressSet{
|
player.SendErrClienRes(&msg.ResPlayroomDressSet{
|
||||||
Code: msg.RES_CODE_FAIL,
|
Code: msg.RES_CODE_FAIL,
|
||||||
@ -4240,6 +4257,7 @@ func ReqPlayroomDressSet(player *Player, buf []byte) error {
|
|||||||
}
|
}
|
||||||
player.QuestTrigger(&quest.Trigger{Label: quest.TRIGGER_LABEL_PETDRESS, A: []interface{}{Parts}})
|
player.QuestTrigger(&quest.Trigger{Label: quest.TRIGGER_LABEL_PETDRESS, A: []interface{}{Parts}})
|
||||||
player.PlayMod.save()
|
player.PlayMod.save()
|
||||||
|
player.PetDecoSetLog(Diff)
|
||||||
PlayroomBackData(player)
|
PlayroomBackData(player)
|
||||||
player.PushClientRes(&msg.ResPlayroomDressSet{
|
player.PushClientRes(&msg.ResPlayroomDressSet{
|
||||||
Code: msg.RES_CODE_SUCCESS,
|
Code: msg.RES_CODE_SUCCESS,
|
||||||
|
|||||||
@ -280,17 +280,17 @@ func (c *CardMod) GetCollectReward(Id int) ([]*item.Item, int, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 兑换星星奖励
|
// 兑换星星奖励
|
||||||
func (c *CardMod) ExStarReward(Id int) ([]*item.Item, error) {
|
func (c *CardMod) ExStarReward(Id int) ([]*item.Item, int, error) {
|
||||||
if c.ExchangeStar < Id {
|
if c.ExchangeStar < Id {
|
||||||
return nil, fmt.Errorf("ExStarReward star not enough")
|
return nil, 0, fmt.Errorf("ExStarReward star not enough")
|
||||||
}
|
}
|
||||||
CostStar, itemList := cardCfg.GetExchangeCfg(Id)
|
CostStar, itemList := cardCfg.GetExchangeCfg(Id)
|
||||||
if c.ExchangeStar < CostStar {
|
if c.ExchangeStar < CostStar {
|
||||||
return nil, fmt.Errorf("ExStarReward star not enough")
|
return nil, 0, fmt.Errorf("ExStarReward star not enough")
|
||||||
}
|
}
|
||||||
c.ExchangeStar -= CostStar
|
c.ExchangeStar -= CostStar
|
||||||
c.Cache.ExStar -= CostStar
|
c.Cache.ExStar -= CostStar
|
||||||
return itemList, nil
|
return itemList, CostStar, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// 领取全收集奖励
|
// 领取全收集奖励
|
||||||
|
|||||||
@ -30,6 +30,7 @@ const (
|
|||||||
ITEM_TYPE_DIAMOND = 3
|
ITEM_TYPE_DIAMOND = 3
|
||||||
|
|
||||||
// 物品类型
|
// 物品类型
|
||||||
|
ITEM_TYPE_PLAYROOM_PET = 97 // 宠物道具
|
||||||
ITEM_TYPE_CARD = 98 // 卡牌
|
ITEM_TYPE_CARD = 98 // 卡牌
|
||||||
ITEM_TYPE_BAG = 99 // 背包
|
ITEM_TYPE_BAG = 99 // 背包
|
||||||
ITEM_TYPE_CHESS = 100 // 棋子
|
ITEM_TYPE_CHESS = 100 // 棋子
|
||||||
|
|||||||
@ -350,12 +350,11 @@ func (l *LimitedTimeEventMod) AddProgress(Lv int) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 选择进度奖励
|
// 选择进度奖励
|
||||||
func (l *LimitedTimeEventMod) SelectProgressReward(Id, Lv, Energy int) ([]*item.Item, map[int]int, int, error) {
|
func (l *LimitedTimeEventMod) SelectProgressReward(Id, Lv, Energy int) ([]*item.Item, int, int, error) {
|
||||||
RewardId, ok := l.ProgressReward[Id]
|
RewardId, ok := l.ProgressReward[Id]
|
||||||
if !ok {
|
if !ok {
|
||||||
return nil, nil, 0, fmt.Errorf("RewardId not exist")
|
return nil, 0, 0, fmt.Errorf("RewardId not exist")
|
||||||
}
|
}
|
||||||
r1 := l.ProgressReward
|
|
||||||
r2 := l.ProgressMax
|
r2 := l.ProgressMax
|
||||||
Item := limitedTimeEventCfg.GetProgressReward(RewardId)
|
Item := limitedTimeEventCfg.GetProgressReward(RewardId)
|
||||||
l.LastSelect = RewardId
|
l.LastSelect = RewardId
|
||||||
@ -390,7 +389,7 @@ func (l *LimitedTimeEventMod) SelectProgressReward(Id, Lv, Energy int) ([]*item.
|
|||||||
}
|
}
|
||||||
l.LastOption = r
|
l.LastOption = r
|
||||||
l.FirstReward = true
|
l.FirstReward = true
|
||||||
return Item, r1, r2, nil
|
return Item, limitedTimeEventCfg.GetProgressRewardType(RewardId), r2, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (l *LimitedTimeEventMod) RemoveSuperOrder() bool {
|
func (l *LimitedTimeEventMod) RemoveSuperOrder() bool {
|
||||||
|
|||||||
@ -269,6 +269,20 @@ func (p *PlayroomMod) QuestTrigger(Tr *quest.Trigger) bool {
|
|||||||
return update
|
return update
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (p *PlayroomMod) DailyTaskCanReward(Id int) bool {
|
||||||
|
IdList := playroomCfg.GetDailyTaskListById(Id)
|
||||||
|
for _, v := range IdList {
|
||||||
|
v, ok := p.DailyTask[v]
|
||||||
|
if !ok {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
if v.Status != quest.QUEST_STATUS_FINISH {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
func (p *PlayroomMod) GetDailyTaskReward(Id int) ([]*item.Item, error) {
|
func (p *PlayroomMod) GetDailyTaskReward(Id int) ([]*item.Item, error) {
|
||||||
v, ok := p.DailyTask[Id]
|
v, ok := p.DailyTask[Id]
|
||||||
if !ok {
|
if !ok {
|
||||||
@ -459,9 +473,10 @@ func (p *PlayroomMod) AddVisitor(Id int, Time int64) {
|
|||||||
v.Time = Time
|
v.Time = Time
|
||||||
}
|
}
|
||||||
|
|
||||||
func (p *PlayroomMod) SetRoom(Room map[int]int) error {
|
func (p *PlayroomMod) SetRoom(Room map[int]int) (map[int]int, error) {
|
||||||
|
diff := GoUtil.DiffMap(p.Room, Room)
|
||||||
p.Room = Room
|
p.Room = Room
|
||||||
return nil
|
return diff, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (p *PlayroomMod) AddCollect(Id int) {
|
func (p *PlayroomMod) AddCollect(Id int) {
|
||||||
@ -812,26 +827,27 @@ func (p *PlayroomMod) UnlockPetAir(Id int) {
|
|||||||
p.PetAir = append(p.PetAir, Id)
|
p.PetAir = append(p.PetAir, Id)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (p *PlayroomMod) PlayroomDressSet(DressSet map[int]int) ([]int, error) {
|
func (p *PlayroomMod) PlayroomDressSet(DressSet map[int]int) ([]int, map[int]int, error) {
|
||||||
// 判断服装是否存在
|
// 判断服装是否存在
|
||||||
Part := make([]int, 0)
|
Part := make([]int, 0)
|
||||||
|
Diff := GoUtil.DiffMap(DressSet, p.DressSet)
|
||||||
for Type, Id := range DressSet {
|
for Type, Id := range DressSet {
|
||||||
dresses, ok := p.Dress[Type]
|
dresses, ok := p.Dress[Type]
|
||||||
if Id == 0 {
|
if Id == 0 {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
if !ok {
|
if !ok {
|
||||||
return nil, fmt.Errorf("dress type not found")
|
return nil, nil, fmt.Errorf("dress type not found")
|
||||||
}
|
}
|
||||||
if !GoUtil.InArray(Id, dresses) {
|
if !GoUtil.InArray(Id, dresses) {
|
||||||
return nil, fmt.Errorf("dress not found")
|
return nil, nil, fmt.Errorf("dress not found")
|
||||||
}
|
}
|
||||||
if p.DressSet[Type] == 0 && Id != 0 {
|
if p.DressSet[Type] == 0 && Id != 0 {
|
||||||
Part = append(Part, Type)
|
Part = append(Part, Type)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
p.DressSet = DressSet
|
p.DressSet = DressSet
|
||||||
return Part, nil
|
return Part, Diff, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (p *PlayroomMod) GiveUpvote(Uid int) ([]*item.Item, error) {
|
func (p *PlayroomMod) GiveUpvote(Uid int) ([]*item.Item, error) {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user