解决冲突

This commit is contained in:
sk 2025-01-02 15:19:29 +08:00
commit 61d589df26
35 changed files with 4898 additions and 882 deletions

View File

@ -330,7 +330,9 @@ const (
GainWayCompoundGain = 119 // 道具合成获得
GainWayItem_PigBankTakeCoin = 120 // 购买金币存钱罐奖励道具
GainWayItem_PigBankTakeDiamond = 121 // 购买钻石存钱罐奖励道具
GainWayRedPacket = 122 // 红包奖励
GainWayNianCost = 122 //年兽活动消耗
GainWayNianGain = 123 //年兽活动获得
GainWayRedPacket = 124 // 红包奖励
)
// 后台选择 金币变化类型 的充值 类型id号起始
@ -563,27 +565,29 @@ const (
// 道具ID
const (
ItemIDCoin = 100001 // 金币对应的itemId
ItemIDDiamond = 100002 // 钻石对应的itemId
ItemIDMoneyPond = 100003 // 玩家金币池对应物品Id
ItemIDVipExp = 100005 // VIP经验对应的物品Id
ItemIDPhoneScore = 100006 // 手机抽奖积分
ItemIDWeekScore = 100004 // 周活跃积分
ItemIDGiftBox = 50001 // 碎片礼盒
ItemIDCollectBox = 50002 // 集卡礼盒
ItemIDLike = 100007 // 点赞
ItemIDCoffee = 100008 // 咖啡
ItemIDBucket = 100009 // 水桶
ItemIDSlippers = 100010 // 拖鞋
ItemIDPermit = 100011 // 赛季通行证积分
ItemIDLong = 50013 // 龙币
ItemIDPetSkill = 11001 //宠物技能升级道具
ItemIDVCard = 30001 // v卡
ItemIDJCard = 30002 // 金券
ItemDiamondScore = 100012 //钻石积分
ItemIDClawdoll = 40003 // 娃娃卡
ItemDollCard = 40004 // 娃娃卡积分
ItemIDRoomCard = 40002 // 房卡
ItemIDCoin = 100001 // 金币对应的itemId
ItemIDDiamond = 100002 // 钻石对应的itemId
ItemIDMoneyPond = 100003 // 玩家金币池对应物品Id
ItemIDVipExp = 100005 // VIP经验对应的物品Id
ItemIDPhoneScore = 100006 // 手机抽奖积分
ItemIDWeekScore = 100004 // 周活跃积分
ItemIDGiftBox = 50001 // 碎片礼盒
ItemIDCollectBox = 50002 // 集卡礼盒
ItemIDLike = 100007 // 点赞
ItemIDCoffee = 100008 // 咖啡
ItemIDBucket = 100009 // 水桶
ItemIDSlippers = 100010 // 拖鞋
ItemIDPermit = 100011 // 赛季通行证积分
ItemIDLong = 50013 // 龙币
ItemIDPetSkill = 11001 //宠物技能升级道具
ItemIDVCard = 30001 // v卡
ItemIDJCard = 30002 // 金券
ItemDiamondScore = 100012 //钻石积分
ItemIDClawdoll = 40003 // 娃娃卡
ItemDollCard = 40004 // 娃娃卡积分
ItemIDRoomCard = 40002 // 房卡
ItemIDLittleGuaranteed = 50014 //小爆竹
ItemIDBigGuaranteed = 50015 //大爆竹
)
func ToItemId(id int32) int32 {
@ -695,6 +699,7 @@ const (
TaskTypeTienlenWinCoin = 29 // Tienlen赢取金币数量
TaskTypeRankMatchWinTimes = 30 // 排位胜利次数
TaskTypeBuyPermit = 31 // 购买典藏通行证
TaskTypeBuyRedBag = 32 // 参与红包雨活动
)
const (
@ -712,6 +717,8 @@ const (
TaskActivityTypeAchieve = 5 // 成就任务
TaskActivityTypePermitEveryDay = 6 // 赛季通行证每日任务
TaskActivityTypePermit = 7 // 赛季通行证任务
TaskActivityTypeNianEveryDay = 8 // 年兽每日任务
TaskActivityTypeNian = 9 // 活动期间年兽任务
)
const HeadRange = 3 // 机器人头像id范围

Binary file not shown.

View File

@ -7226,6 +7226,80 @@
"CompositionMax": 1,
"Location": "0",
"Describe": "作用:用于报名特殊钻石赛事;\n产出途径存钱罐"
},
{
"Id": 50014,
"Name": "爆竹",
"ShowLocation": [
0,
0,
0
],
"Classify": [
0,
0,
0
],
"Type": 28,
"Effect0": [
0,
0,
0,
0,
0,
0
],
"Effect": [
0,
0,
0,
0,
0,
0
],
"SaleType": 1,
"SaleGold": 5000,
"Composition": 1,
"CompositionMax": 9999,
"Location": "0",
"Describe": "可在年兽活动中击退年兽,获得奖品"
},
{
"Id": 50015,
"Name": "火箭爆竹",
"ShowLocation": [
0,
0,
0
],
"Classify": [
0,
0,
0
],
"Type": 28,
"Effect0": [
0,
0,
0,
0,
0,
0
],
"Effect": [
0,
0,
0,
0,
0,
0
],
"SaleType": 1,
"SaleGold": 5000,
"Composition": 1,
"CompositionMax": 9999,
"Location": "0",
"Describe": "可在年兽活动中击退年兽,获得奖品"
}
]
}

View File

@ -0,0 +1,27 @@
4
SignReward50014,10;100001,100000" 签到奖励
. SignExcReward50015,1"签到额外奖励
=SignExcRewardMax2"$签到额外奖励赠送次数上限
9SignExcRewardProp30"签到额外奖励赠送概率
BossExp6000000"
BOSS血量
9
BossReward100001,100000;100002,10"BOSS击杀奖励
0 LuckyRankNeed110000"幸运榜上榜条件
0RankNeed80000000"总伤害榜上榜条件
@ LittleHurtGold 80000,120000"小爆竹造成的伤害范围
>
 BigHurtGold 400000,600000"大爆竹造成的伤害范围
4 
BigHurtExc30001"大爆竹额外掉落道具ID
> BigHurtExcNumber10,30"!大爆竹额外掉落数量范围
5 LittleGuaranteed30"小爆竹保底掉落次数
ALittleGuaranteedReward100002,5"小爆竹保底掉落物品
2 BigGuaranteed10"大爆竹保底掉落次数
?BigGuaranteedReward 30001,100"大爆竹保底掉落物品
.
GiftShopID991001,991002,991003"礼包ID
@ GiftShopLimit3,0,0"&礼包每日限购次数,0为不限购
4 BossExcLimit30"年兽死亡额外掉落要求
" BuffCount1"Buff生效次数

View File

@ -0,0 +1,124 @@
{
"Arr": [
{
"Id": 1,
"PorpName": "SignReward",
"PropValue": "50014,10;100001,100000",
"PropDec": "签到奖励"
},
{
"Id": 2,
"PorpName": "SignExcReward",
"PropValue": "50015,1",
"PropDec": "签到额外奖励"
},
{
"Id": 3,
"PorpName": "SignExcRewardMax",
"PropValue": "2",
"PropDec": "签到额外奖励赠送次数上限"
},
{
"Id": 4,
"PorpName": "SignExcRewardProp",
"PropValue": "30",
"PropDec": "签到额外奖励赠送概率"
},
{
"Id": 5,
"PorpName": "BossExp",
"PropValue": "6000000",
"PropDec": "BOSS血量"
},
{
"Id": 6,
"PorpName": "BossReward",
"PropValue": "100001,100000;100002,10",
"PropDec": "BOSS击杀奖励"
},
{
"Id": 7,
"PorpName": "LuckyRankNeed",
"PropValue": "110000",
"PropDec": "幸运榜上榜条件"
},
{
"Id": 8,
"PorpName": "RankNeed",
"PropValue": "80000000",
"PropDec": "总伤害榜上榜条件"
},
{
"Id": 9,
"PorpName": "LittleHurtGold",
"PropValue": "80000,120000",
"PropDec": "小爆竹造成的伤害范围"
},
{
"Id": 10,
"PorpName": "BigHurtGold",
"PropValue": "400000,600000",
"PropDec": "大爆竹造成的伤害范围"
},
{
"Id": 11,
"PorpName": "BigHurtExc",
"PropValue": "30001",
"PropDec": "大爆竹额外掉落道具ID"
},
{
"Id": 12,
"PorpName": "BigHurtExcNumber",
"PropValue": "10,30",
"PropDec": "大爆竹额外掉落数量范围"
},
{
"Id": 13,
"PorpName": "LittleGuaranteed",
"PropValue": "30",
"PropDec": "小爆竹保底掉落次数"
},
{
"Id": 14,
"PorpName": "LittleGuaranteedReward",
"PropValue": "100002,5",
"PropDec": "小爆竹保底掉落物品"
},
{
"Id": 15,
"PorpName": "BigGuaranteed",
"PropValue": "10",
"PropDec": "大爆竹保底掉落次数"
},
{
"Id": 16,
"PorpName": "BigGuaranteedReward",
"PropValue": "30001,100",
"PropDec": "大爆竹保底掉落物品"
},
{
"Id": 17,
"PorpName": "GiftShopID",
"PropValue": "991001,991002,991003",
"PropDec": "礼包ID"
},
{
"Id": 18,
"PorpName": "GiftShopLimit",
"PropValue": "3,0,0",
"PropDec": "礼包每日限购次数,0为不限购"
},
{
"Id": 19,
"PorpName": "BossExcLimit",
"PropValue": "30",
"PropDec": "年兽死亡额外掉落要求"
},
{
"Id": 20,
"PorpName": "BuffCount",
"PropValue": "1",
"PropDec": "Buff生效次数"
}
]
}

View File

@ -0,0 +1,84 @@
"¹ê"¡<>"¢<>d
"¢<>d"¸ê"¡<>
"¡<>"¢<>d"¸ê
"¡<>"¢<>d
"¡<>"¢<>c
"¡<>"¢<>b
"¡<>"¢<>a
"¡<>"¢<>`
  "¡<>"¢<>_


"¡<>"¢<>^
  "¡<>"¢<>]
  "¡<>"¢<>\
  "¡<>"¢<>[
"¡<>"¢<>Z
"¡<>"¢<>Y
"¡<>"¢<>X
"¡<>"¢<>W
"¡<>"¢<>V
"¡<>"¢<>U
"¢<>T"¡<>
"¡<>"¢<>S
"¡<>"¢<>R
"¡<>"¢<>Q
"¡<>"¢<>P
"¡<>"¢<>O
"¡<>"¢<>N
"¢<>M"¡<>
"¡<>"¢<>L
"¡<>"¢<>K
"¡<>"¢<>J
"¡<>"¢<>I
  "¡<>"¢<>H
!!"¢<>G"¡<>
"""¡<>"¢<>F
##"¡<>"¢<>E
$$"¡<>"¢<>D
%%"¡<>"¢<>C
&&"¢<>B"¡<>
''"¡<>"¢<>A
(("¡<>"¢<>@
)"¹ê"¡<>"¢<>d
*"¡<>"¢<>d"¸ê
+"¸ê"¡<>"¢<>d
,"¡<>"¢<>d
-"¡<>"¢<>c
."¡<>"¢<>b
/"¡<>"¢<>a
0"¡<>"¢<>`
1 "¡<>"¢<>_
2
"¡<>"¢<>^
3 "¡<>"¢<>]
4 "¡<>"¢<>\
5 "¡<>"¢<>[
6"¢<>Z"¡<>
7"¡<>"¢<>Y
8"¡<>"¢<>X
9"¢<>W"¡<>
:"¡<>"¢<>V
;"¡<>"¢<>U
<"¡<>"¢<>T
="¡<>"¢<>S
>"¡<>"¢<>R
?"¢<>Q"¡<>
@"¡<>"¢<>P
A"¡<>"¢<>O
B"¡<>"¢<>N
C"¢<>M"¡<>
D"¡<>"¢<>L
E"¢<>K"¡<>
F"¡<>"¢<>J
G"¡<>"¢<>I
H "¢<>H"¡<>
I!"¡<>"¢<>G
J""¡<>"¢<>F
K#"¡<>"¢<>E
L$"¡<>"¢<>D
M%"¡<>"¢<>C
N&"¡<>"¢<>B
O'"¡<>"¢<>A
P("¢<>@"¡<>

View File

@ -0,0 +1,730 @@
{
"Arr": [
{
"Id": 1,
"RankType": 1,
"RankLevelId": 1,
"AwardMap": {
"100001": 30,
"100002": 100,
"30009": 2
}
},
{
"Id": 2,
"RankType": 1,
"RankLevelId": 2,
"AwardMap": {
"100001": 30,
"100002": 100,
"30008": 2
}
},
{
"Id": 3,
"RankType": 1,
"RankLevelId": 3,
"AwardMap": {
"100001": 30,
"100002": 100,
"30008": 1
}
},
{
"Id": 4,
"RankType": 1,
"RankLevelId": 4,
"AwardMap": {
"100001": 30,
"100002": 100
}
},
{
"Id": 5,
"RankType": 1,
"RankLevelId": 5,
"AwardMap": {
"100001": 30,
"100002": 99
}
},
{
"Id": 6,
"RankType": 1,
"RankLevelId": 6,
"AwardMap": {
"100001": 30,
"100002": 98
}
},
{
"Id": 7,
"RankType": 1,
"RankLevelId": 7,
"AwardMap": {
"100001": 30,
"100002": 97
}
},
{
"Id": 8,
"RankType": 1,
"RankLevelId": 8,
"AwardMap": {
"100001": 30,
"100002": 96
}
},
{
"Id": 9,
"RankType": 1,
"RankLevelId": 9,
"AwardMap": {
"100001": 30,
"100002": 95
}
},
{
"Id": 10,
"RankType": 1,
"RankLevelId": 10,
"AwardMap": {
"100001": 30,
"100002": 94
}
},
{
"Id": 11,
"RankType": 1,
"RankLevelId": 11,
"AwardMap": {
"100001": 30,
"100002": 93
}
},
{
"Id": 12,
"RankType": 1,
"RankLevelId": 12,
"AwardMap": {
"100001": 30,
"100002": 92
}
},
{
"Id": 13,
"RankType": 1,
"RankLevelId": 13,
"AwardMap": {
"100001": 30,
"100002": 91
}
},
{
"Id": 14,
"RankType": 1,
"RankLevelId": 14,
"AwardMap": {
"100001": 30,
"100002": 90
}
},
{
"Id": 15,
"RankType": 1,
"RankLevelId": 15,
"AwardMap": {
"100001": 30,
"100002": 89
}
},
{
"Id": 16,
"RankType": 1,
"RankLevelId": 16,
"AwardMap": {
"100001": 30,
"100002": 88
}
},
{
"Id": 17,
"RankType": 1,
"RankLevelId": 17,
"AwardMap": {
"100001": 30,
"100002": 87
}
},
{
"Id": 18,
"RankType": 1,
"RankLevelId": 18,
"AwardMap": {
"100001": 30,
"100002": 86
}
},
{
"Id": 19,
"RankType": 1,
"RankLevelId": 19,
"AwardMap": {
"100001": 30,
"100002": 85
}
},
{
"Id": 20,
"RankType": 1,
"RankLevelId": 20,
"AwardMap": {
"100001": 30,
"100002": 84
}
},
{
"Id": 21,
"RankType": 1,
"RankLevelId": 21,
"AwardMap": {
"100001": 30,
"100002": 83
}
},
{
"Id": 22,
"RankType": 1,
"RankLevelId": 22,
"AwardMap": {
"100001": 30,
"100002": 82
}
},
{
"Id": 23,
"RankType": 1,
"RankLevelId": 23,
"AwardMap": {
"100001": 30,
"100002": 81
}
},
{
"Id": 24,
"RankType": 1,
"RankLevelId": 24,
"AwardMap": {
"100001": 30,
"100002": 80
}
},
{
"Id": 25,
"RankType": 1,
"RankLevelId": 25,
"AwardMap": {
"100001": 30,
"100002": 79
}
},
{
"Id": 26,
"RankType": 1,
"RankLevelId": 26,
"AwardMap": {
"100001": 30,
"100002": 78
}
},
{
"Id": 27,
"RankType": 1,
"RankLevelId": 27,
"AwardMap": {
"100001": 30,
"100002": 77
}
},
{
"Id": 28,
"RankType": 1,
"RankLevelId": 28,
"AwardMap": {
"100001": 30,
"100002": 76
}
},
{
"Id": 29,
"RankType": 1,
"RankLevelId": 29,
"AwardMap": {
"100001": 30,
"100002": 75
}
},
{
"Id": 30,
"RankType": 1,
"RankLevelId": 30,
"AwardMap": {
"100001": 30,
"100002": 74
}
},
{
"Id": 31,
"RankType": 1,
"RankLevelId": 31,
"AwardMap": {
"100001": 30,
"100002": 73
}
},
{
"Id": 32,
"RankType": 1,
"RankLevelId": 32,
"AwardMap": {
"100001": 30,
"100002": 72
}
},
{
"Id": 33,
"RankType": 1,
"RankLevelId": 33,
"AwardMap": {
"100001": 30,
"100002": 71
}
},
{
"Id": 34,
"RankType": 1,
"RankLevelId": 34,
"AwardMap": {
"100001": 30,
"100002": 70
}
},
{
"Id": 35,
"RankType": 1,
"RankLevelId": 35,
"AwardMap": {
"100001": 30,
"100002": 69
}
},
{
"Id": 36,
"RankType": 1,
"RankLevelId": 36,
"AwardMap": {
"100001": 30,
"100002": 68
}
},
{
"Id": 37,
"RankType": 1,
"RankLevelId": 37,
"AwardMap": {
"100001": 30,
"100002": 67
}
},
{
"Id": 38,
"RankType": 1,
"RankLevelId": 38,
"AwardMap": {
"100001": 30,
"100002": 66
}
},
{
"Id": 39,
"RankType": 1,
"RankLevelId": 39,
"AwardMap": {
"100001": 30,
"100002": 65
}
},
{
"Id": 40,
"RankType": 1,
"RankLevelId": 40,
"AwardMap": {
"100001": 30,
"100002": 64
}
},
{
"Id": 41,
"RankType": 2,
"RankLevelId": 1,
"AwardMap": {
"100001": 30,
"100002": 100,
"30009": 2
}
},
{
"Id": 42,
"RankType": 2,
"RankLevelId": 2,
"AwardMap": {
"100001": 30,
"100002": 100,
"30008": 2
}
},
{
"Id": 43,
"RankType": 2,
"RankLevelId": 3,
"AwardMap": {
"100001": 30,
"100002": 100,
"30008": 1
}
},
{
"Id": 44,
"RankType": 2,
"RankLevelId": 4,
"AwardMap": {
"100001": 30,
"100002": 100
}
},
{
"Id": 45,
"RankType": 2,
"RankLevelId": 5,
"AwardMap": {
"100001": 30,
"100002": 99
}
},
{
"Id": 46,
"RankType": 2,
"RankLevelId": 6,
"AwardMap": {
"100001": 30,
"100002": 98
}
},
{
"Id": 47,
"RankType": 2,
"RankLevelId": 7,
"AwardMap": {
"100001": 30,
"100002": 97
}
},
{
"Id": 48,
"RankType": 2,
"RankLevelId": 8,
"AwardMap": {
"100001": 30,
"100002": 96
}
},
{
"Id": 49,
"RankType": 2,
"RankLevelId": 9,
"AwardMap": {
"100001": 30,
"100002": 95
}
},
{
"Id": 50,
"RankType": 2,
"RankLevelId": 10,
"AwardMap": {
"100001": 30,
"100002": 94
}
},
{
"Id": 51,
"RankType": 2,
"RankLevelId": 11,
"AwardMap": {
"100001": 30,
"100002": 93
}
},
{
"Id": 52,
"RankType": 2,
"RankLevelId": 12,
"AwardMap": {
"100001": 30,
"100002": 92
}
},
{
"Id": 53,
"RankType": 2,
"RankLevelId": 13,
"AwardMap": {
"100001": 30,
"100002": 91
}
},
{
"Id": 54,
"RankType": 2,
"RankLevelId": 14,
"AwardMap": {
"100001": 30,
"100002": 90
}
},
{
"Id": 55,
"RankType": 2,
"RankLevelId": 15,
"AwardMap": {
"100001": 30,
"100002": 89
}
},
{
"Id": 56,
"RankType": 2,
"RankLevelId": 16,
"AwardMap": {
"100001": 30,
"100002": 88
}
},
{
"Id": 57,
"RankType": 2,
"RankLevelId": 17,
"AwardMap": {
"100001": 30,
"100002": 87
}
},
{
"Id": 58,
"RankType": 2,
"RankLevelId": 18,
"AwardMap": {
"100001": 30,
"100002": 86
}
},
{
"Id": 59,
"RankType": 2,
"RankLevelId": 19,
"AwardMap": {
"100001": 30,
"100002": 85
}
},
{
"Id": 60,
"RankType": 2,
"RankLevelId": 20,
"AwardMap": {
"100001": 30,
"100002": 84
}
},
{
"Id": 61,
"RankType": 2,
"RankLevelId": 21,
"AwardMap": {
"100001": 30,
"100002": 83
}
},
{
"Id": 62,
"RankType": 2,
"RankLevelId": 22,
"AwardMap": {
"100001": 30,
"100002": 82
}
},
{
"Id": 63,
"RankType": 2,
"RankLevelId": 23,
"AwardMap": {
"100001": 30,
"100002": 81
}
},
{
"Id": 64,
"RankType": 2,
"RankLevelId": 24,
"AwardMap": {
"100001": 30,
"100002": 80
}
},
{
"Id": 65,
"RankType": 2,
"RankLevelId": 25,
"AwardMap": {
"100001": 30,
"100002": 79
}
},
{
"Id": 66,
"RankType": 2,
"RankLevelId": 26,
"AwardMap": {
"100001": 30,
"100002": 78
}
},
{
"Id": 67,
"RankType": 2,
"RankLevelId": 27,
"AwardMap": {
"100001": 30,
"100002": 77
}
},
{
"Id": 68,
"RankType": 2,
"RankLevelId": 28,
"AwardMap": {
"100001": 30,
"100002": 76
}
},
{
"Id": 69,
"RankType": 2,
"RankLevelId": 29,
"AwardMap": {
"100001": 30,
"100002": 75
}
},
{
"Id": 70,
"RankType": 2,
"RankLevelId": 30,
"AwardMap": {
"100001": 30,
"100002": 74
}
},
{
"Id": 71,
"RankType": 2,
"RankLevelId": 31,
"AwardMap": {
"100001": 30,
"100002": 73
}
},
{
"Id": 72,
"RankType": 2,
"RankLevelId": 32,
"AwardMap": {
"100001": 30,
"100002": 72
}
},
{
"Id": 73,
"RankType": 2,
"RankLevelId": 33,
"AwardMap": {
"100001": 30,
"100002": 71
}
},
{
"Id": 74,
"RankType": 2,
"RankLevelId": 34,
"AwardMap": {
"100001": 30,
"100002": 70
}
},
{
"Id": 75,
"RankType": 2,
"RankLevelId": 35,
"AwardMap": {
"100001": 30,
"100002": 69
}
},
{
"Id": 76,
"RankType": 2,
"RankLevelId": 36,
"AwardMap": {
"100001": 30,
"100002": 68
}
},
{
"Id": 77,
"RankType": 2,
"RankLevelId": 37,
"AwardMap": {
"100001": 30,
"100002": 67
}
},
{
"Id": 78,
"RankType": 2,
"RankLevelId": 38,
"AwardMap": {
"100001": 30,
"100002": 66
}
},
{
"Id": 79,
"RankType": 2,
"RankLevelId": 39,
"AwardMap": {
"100001": 30,
"100002": 65
}
},
{
"Id": 80,
"RankType": 2,
"RankLevelId": 40,
"AwardMap": {
"100001": 30,
"100002": 64
}
}
]
}

View File

@ -1,4 +1,4 @@
 (Ђ­в8@Ўи;PdX`c
< ((€­β2ΕΈ2συ@Άθ;JσυJΖΈPdX¬`Η
?<18>ΑΧ/ 2(€­β2συ2ΕΈ@£θ;JΖΈJσυPdXξ`σ
< ((€­β2συ2ΕΈ@Άθ;JΖΈJσυPdX¬`Η
?<18>ΑΧ/ 2(€­β2ΕΈ2συ@£θ;JΖΈJσυPdXξ`σ

Binary file not shown.

Binary file not shown.

View File

@ -1234,6 +1234,236 @@
"Award": {
"100011": 50
}
},
{
"Id": 13001,
"Order": 1,
"Name": "年兽活动",
"Des": "领取转盘签到奖励",
"ActivityType": 8,
"TaskType": 17,
"TargetTimes": 1,
"FinishTimes": 1,
"Award": {
"50014": 10
}
},
{
"Id": 13002,
"Order": 2,
"Name": "年兽活动",
"Des": "在线时长60分钟",
"ActivityType": 8,
"TaskType": 21,
"TargetTimes": 3600,
"FinishTimes": 1,
"Award": {
"50014": 10
}
},
{
"Id": 13003,
"Order": 3,
"Name": "年兽活动",
"Des": "购买任意金币1次",
"ActivityType": 8,
"TaskType": 2,
"TargetTimes": 1,
"FinishTimes": 1,
"Award": {
"50014": 10
},
"Position": [
0,
1
]
},
{
"Id": 13004,
"Order": 4,
"Name": "年兽活动",
"Des": "购买任意存钱罐1次",
"ActivityType": 8,
"TaskType": 22,
"TargetTimes": 1,
"FinishTimes": 1,
"Award": {
"50014": 10
}
},
{
"Id": 13005,
"Order": 5,
"Name": "年兽活动",
"Des": "参与大众场对局获得胜利3次",
"ActivityType": 8,
"TaskType": 23,
"TargetTimes": 3,
"FinishTimes": 1,
"Award": {
"50014": 10
},
"GameType": 1
},
{
"Id": 13006,
"Order": 6,
"Name": "年兽活动",
"Des": "参与排位赛获得胜利3次",
"ActivityType": 8,
"TaskType": 30,
"TargetTimes": 3,
"FinishTimes": 1,
"Award": {
"50014": 10
},
"GameType": 1
},
{
"Id": 13007,
"Order": 7,
"Name": "年兽活动",
"Des": "邀请好友进行私人桌对局1次",
"ActivityType": 8,
"TaskType": 24,
"TargetTimes": 1,
"FinishTimes": 1,
"Award": {
"50014": 10
},
"GameType": 1
},
{
"Id": 13008,
"Order": 8,
"Name": "年兽活动",
"Des": "成功参与比赛场3次",
"ActivityType": 8,
"TaskType": 25,
"TargetTimes": 3,
"FinishTimes": 1,
"Award": {
"50014": 10
},
"GameType": 1
},
{
"Id": 13009,
"Order": 9,
"Name": "年兽活动",
"Des": "比赛场获得前十名1次",
"ActivityType": 8,
"TaskType": 26,
"TargetTimes": 1,
"FinishTimes": 1,
"Award": {
"50014": 10
},
"GameType": 1
},
{
"Id": 13010,
"Order": 10,
"Name": "年兽活动",
"Des": "今日累计消耗100钻石",
"ActivityType": 8,
"TaskType": 27,
"TargetTimes": 100,
"FinishTimes": 1,
"Award": {
"50014": 10
}
},
{
"Id": 13011,
"Order": 11,
"Name": "年兽活动",
"Des": "充值任意金额",
"ActivityType": 8,
"TaskType": 7,
"TargetTimes": 1,
"FinishTimes": 1,
"Award": {
"50014": 10
},
"Position": [
1,
1
]
},
{
"Id": 13012,
"Order": 12,
"Name": "年兽活动",
"Des": "累计领取转盘签到奖励7天",
"ActivityType": 9,
"TaskType": 17,
"TargetTimes": 7,
"FinishTimes": 1,
"Award": {
"50014": 10
}
},
{
"Id": 13013,
"Order": 13,
"Name": "年兽活动",
"Des": "参与红包雨活动1次",
"ActivityType": 8,
"TaskType": 32,
"TargetTimes": 1,
"FinishTimes": 1,
"Award": {
"50015": 10
}
},
{
"Id": 13014,
"Order": 14,
"Name": "年兽活动",
"Des": "累计充值$9.99",
"ActivityType": 9,
"TaskType": 7,
"TargetTimes": 999,
"FinishTimes": 1,
"Award": {
"50015": 10
},
"Position": [
1,
1
]
},
{
"Id": 13015,
"Order": 15,
"Name": "年兽活动",
"Des": "累计充值$19.99",
"ActivityType": 9,
"TaskType": 7,
"TargetTimes": 1999,
"FinishTimes": 1,
"Award": {
"50015": 10
},
"Position": [
1,
1
]
},
{
"Id": 13016,
"Order": 16,
"Name": "年兽活动",
"Des": "累计赚取10B金币",
"ActivityType": 9,
"TaskType": 11,
"TargetTimes": 10000000000,
"FinishTimes": 1,
"Award": {
"50015": 10
},
"GameType": 1
}
]
}

View File

@ -34,7 +34,7 @@ const (
ETCDKEY_ACT_Invite = "/game/act_invite" // 邀请活动配置
ETCDKEY_ACT_Permit = "/game/act_permit" // 赛季通行证配置
ETCDKEY_DIAMOND_LOTTERY = "/game/diamond_lottery" // 钻石抽奖配置
ETCDKEY_Item = "/game/item/" // 道具列表
ETCDKEY_Item = "/game/item" // 道具列表
ETCDKEY_SKin = "/game/skin_config" // 皮肤配置
ETCDKEY_RANK_TYPE = "/game/RankType" // 排行榜奖励配置
ETCDKEY_AWARD_CONFIG = "/game/awardlog_config" //获奖记录
@ -51,5 +51,7 @@ const (
ETCDKEY_LotteryUser = "/game/user_lottery" //抽奖用户必中配置
ETCDKEY_PigBankDiamond = "/game/pigbank_diamond" //存钱罐消耗获得
ETCDKEY_PigBankProp = "/game/pigbank_prop" //存钱罐属性
ETCDKEY_NianConfig = "/game/activity_nian" //年兽活动配置
ETCDKEY_REDPACKET = "/game/act_redpacket" //红包配置
)

View File

@ -17,15 +17,15 @@ import (
*/
const (
OpAll = 0
OpTurnplate = 1
OpBlindBox = 2
OpFirstPay = 3
OpContinuousPay = 4
OpPhoneLottery = 5
OpCollect = 6
OpDiamondLottery = 7
OpRedPacket = 8 // 红包活动
OpAll = 0
OpTurnplate = 1
OpBlindBox = 2
OpFirstPay = 3
OpContinuousPay = 4
OpPhoneLottery = 5
OpCollect = 6
OpNian = 7
OpRedPacket = 8 // 红包活动
)
const (
@ -168,6 +168,8 @@ type AllConfig struct {
*webapi.GamePigBankDiamondConfig
// 存钱罐属性
*webapi.GamePigBankPropConfig
//年兽配置
*webapi.ActivityNianConfig
// 红包配置
*webapi.RedPacketConfig
}

View File

@ -569,6 +569,7 @@ type WelfareData struct {
DiamondBank *DiamondBankData // 钻石储存罐
PermitAward map[int32]int64 // 赛季通行证奖励领取时间
PermitExchange map[int32][]int64 // 赛季通行证兑换次数, 多次的兑换时间
NianData *NianData //年兽活动数据
RedPacket map[int64]*RedPacketData // 红包活动 活动id:领取次数
}
@ -587,6 +588,9 @@ func NewWelfareData() *WelfareData {
PermitAward: make(map[int32]int64),
PermitExchange: make(map[int32][]int64),
RedPacket: make(map[int64]*RedPacketData),
NianData: &NianData{
OtherAwardNum: make(map[int32]int32),
},
}
}
@ -679,6 +683,19 @@ type WebPlayerDataParam struct {
Long, PermitScore int64
}
type NianData struct {
ActivityStartTime int64 //活动开始时间
ActivityEndTime int64 //活动结束时间
BossHp int64 //Boss当前血量
BuffStatus bool //Buff领取状态
BuffCount int64 //Buff剩余生效次数
SignAwardTime int64 //签到奖励领取时间
BossDieCount int32 //BOSS死亡次数
LittleHurt int32 //小爆竹次数
BigHurt int32 //大爆竹次数
OtherAwardNum map[int32]int32 //奖励掉落数量
}
func ConvertPlayerDataToWebData(param *WebPlayerDataParam) *webapi.PlayerData {
if param == nil || param.PlayerData == nil {
return nil

1167
protocol/activity/nian.pb.go Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,93 @@
syntax = "proto3";
package activity;
option go_package = "mongo.games.com/game/protocol/activity";
enum NianPacketID {
PACKET_Nian_ZERO = 0; //
PACKET_CSNianData = 2660; //
PACKET_SCNianData = 2661; //
PACKET_CSNianBuff = 2662; // BUFF
PACKET_SCNianBuff = 2663; // Buff信息
PACKET_CSNianRankData = 2664; //
PACKET_SCNianRankData = 2665; //
PACKET_CSNianAttack = 2666; //
PACKET_SCNianAttackData = 2667; //
PACKET_CSNianSignAward = 2668; //
PACKET_SCNianSignAward = 2669; //
}
//
//PACKET_CSNianData
message CSNianData{
}
//PACKET_SCNianData
message SCNianData{
int64 ActivityStartTime = 1; //
int64 ActivityEndTime = 2; //
int64 BossMaxHp = 3; //Boss最大血量
int64 BossHp = 4; //Boss当前血量
repeated RankData LuckData = 5;//
int64 AwardTime = 6;//
int64 BuffCount = 7;//Buff剩余次数
bool BuffStatus = 8;//Buff领取状态
int32 On = 9;// 1 2
int64 SignAwardTime = 10;// 0-
}
//
//BUFF
//PACKET_CSNianBuff
message CSNianBuff{
}
//PACKET_SCNianBuff
message SCNianBuff{
int64 BuffCount = 1; //BUFF剩余次数
}
//
//PACKET_CSNianRankData
message CSNianRankData{
int32 TypeId = 1;//1- 2-
}
//PACKET_SCNianRankData
message SCNianRankData{
int32 TypeId = 1;
repeated RankData Data = 2;
}
message RankData{
int32 RankId =1;
string Name = 2;
int32 Icon = 3;
int64 Score = 4;
repeated RankAwardData Award = 5;
}
message RankAwardData{
int32 ItemId =1;
int64 ItemNum = 2;
}
//
//PACKET_CSNianAttack
message CSNianAttack{
int32 TypeId = 1; //1- 2-*10 3-
}
//PACKET_SCNianAttackData
message SCNianAttackData{
int32 TypeId = 1; //1- 2-*10 3-
int64 BossHp = 2; //BOSS当前血量
repeated RankAwardData Award = 3; //
int64 AttackHp = 4; //
bool IsDie = 5; //BOSS是否死亡
repeated RankAwardData DieAward = 6;//BOSS死亡奖励
int64 BuffCount = 7; //BUFF剩余次数
repeated RankAwardData ExtraDrop = 8;//
repeated RankAwardData FloorReward = 9;//
}
//
//PACKET_CSNianSignAward
message CSNianSignAward{
}
//PACKET_SCNianSignAward
message SCNianSignAward{
int64 SignAwardTime = 1;
repeated RankAwardData SignAward = 2;//
}

File diff suppressed because it is too large Load Diff

View File

@ -1263,6 +1263,38 @@ message DB_NewPlayerArray {
repeated DB_NewPlayer Arr = 1;
}
message DB_NewYearActivity {
int32 Id = 1;
string PorpName = 2;
string PropValue = 3;
string PropDec = 4;
}
message DB_NewYearActivityArray {
repeated DB_NewYearActivity Arr = 1;
}
message DB_NewYearRankReward {
int32 Id = 1;
int32 RankType = 2;
int32 RankLevelId = 3;
map<int64, int64> AwardMap = 4;
}
message DB_NewYearRankRewardArray {
repeated DB_NewYearRankReward Arr = 1;
}
message DB_PassShow {
int32 Id = 1;

View File

@ -332,7 +332,7 @@ type CSTaskReward struct {
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Tp int32 `protobuf:"varint,1,opt,name=Tp,proto3" json:"Tp,omitempty"` // 任务类型 1:日常任务 2:周活跃任务 3:新手任务 4:邀请任务 5:成就系统 6:赛季通行证任务
Tp int32 `protobuf:"varint,1,opt,name=Tp,proto3" json:"Tp,omitempty"` // 任务类型 1:日常任务 2:周活跃任务 3:新手任务 4:邀请任务 5:成就系统 6:赛季通行证任务 8: 年兽每日任务 9年兽活动任务
Id int32 `protobuf:"varint,2,opt,name=Id,proto3" json:"Id,omitempty"` // 任务id; 0 表示一键领取
}

View File

@ -44,7 +44,7 @@ message SCTaskList{
//
// PACKET_CSTaskReward
message CSTaskReward{
int32 Tp = 1; // 1: 2: 3: 4: 5: 6:
int32 Tp = 1; // 1: 2: 3: 4: 5: 6: 8: 9
int32 Id = 2; // id; 0
}
// PACKET_SCTaskReward

View File

@ -9860,6 +9860,244 @@ func (x *GamePigBankPropConfig) GetPropInfo() []*PigBankPropInfo {
return nil
}
//etcd /game/activity_nian
type ActivityNianConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Platform string `protobuf:"bytes,1,opt,name=Platform,proto3" json:"Platform,omitempty"` // 平台
List []*NianInfo `protobuf:"bytes,2,rep,name=List,proto3" json:"List,omitempty"`
Switch int32 `protobuf:"varint,3,opt,name=Switch,proto3" json:"Switch,omitempty"` // 活动开关 1.开启 2.关闭
}
func (x *ActivityNianConfig) Reset() {
*x = ActivityNianConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_protocol_webapi_common_proto_msgTypes[104]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ActivityNianConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ActivityNianConfig) ProtoMessage() {}
func (x *ActivityNianConfig) ProtoReflect() protoreflect.Message {
mi := &file_protocol_webapi_common_proto_msgTypes[104]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ActivityNianConfig.ProtoReflect.Descriptor instead.
func (*ActivityNianConfig) Descriptor() ([]byte, []int) {
return file_protocol_webapi_common_proto_rawDescGZIP(), []int{104}
}
func (x *ActivityNianConfig) GetPlatform() string {
if x != nil {
return x.Platform
}
return ""
}
func (x *ActivityNianConfig) GetList() []*NianInfo {
if x != nil {
return x.List
}
return nil
}
func (x *ActivityNianConfig) GetSwitch() int32 {
if x != nil {
return x.Switch
}
return 0
}
type NianInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ActivityStart string `protobuf:"bytes,1,opt,name=ActivityStart,proto3" json:"ActivityStart,omitempty"` // 活动开始时间
ActivityEnd string `protobuf:"bytes,2,opt,name=ActivityEnd,proto3" json:"ActivityEnd,omitempty"` // 活动结束时间
BuffStartTime int64 `protobuf:"varint,3,opt,name=BuffStartTime,proto3" json:"BuffStartTime,omitempty"` //Buff领取开始时间 18
BuffEndTime int64 `protobuf:"varint,4,opt,name=BuffEndTime,proto3" json:"BuffEndTime,omitempty"` //Buff领取结束时间 21
SignReward []*ItemInfo `protobuf:"bytes,5,rep,name=SignReward,proto3" json:"SignReward,omitempty"` // 签到奖励
BossDieReward []*ItemInfo `protobuf:"bytes,6,rep,name=BossDieReward,proto3" json:"BossDieReward,omitempty"` // 击杀BOSS奖励
BossDieOtherReward []*NianDropInfo `protobuf:"bytes,7,rep,name=BossDieOtherReward,proto3" json:"BossDieOtherReward,omitempty"` // 击杀Boss额外奖励
}
func (x *NianInfo) Reset() {
*x = NianInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_protocol_webapi_common_proto_msgTypes[105]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *NianInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*NianInfo) ProtoMessage() {}
func (x *NianInfo) ProtoReflect() protoreflect.Message {
mi := &file_protocol_webapi_common_proto_msgTypes[105]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use NianInfo.ProtoReflect.Descriptor instead.
func (*NianInfo) Descriptor() ([]byte, []int) {
return file_protocol_webapi_common_proto_rawDescGZIP(), []int{105}
}
func (x *NianInfo) GetActivityStart() string {
if x != nil {
return x.ActivityStart
}
return ""
}
func (x *NianInfo) GetActivityEnd() string {
if x != nil {
return x.ActivityEnd
}
return ""
}
func (x *NianInfo) GetBuffStartTime() int64 {
if x != nil {
return x.BuffStartTime
}
return 0
}
func (x *NianInfo) GetBuffEndTime() int64 {
if x != nil {
return x.BuffEndTime
}
return 0
}
func (x *NianInfo) GetSignReward() []*ItemInfo {
if x != nil {
return x.SignReward
}
return nil
}
func (x *NianInfo) GetBossDieReward() []*ItemInfo {
if x != nil {
return x.BossDieReward
}
return nil
}
func (x *NianInfo) GetBossDieOtherReward() []*NianDropInfo {
if x != nil {
return x.BossDieOtherReward
}
return nil
}
type NianDropInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"`
ItemId int32 `protobuf:"varint,2,opt,name=ItemId,proto3" json:"ItemId,omitempty"` // 物品ID
ItemNum int64 `protobuf:"varint,3,opt,name=ItemNum,proto3" json:"ItemNum,omitempty"` // 物品数量
DropRate int32 `protobuf:"varint,4,opt,name=DropRate,proto3" json:"DropRate,omitempty"` //掉落概率
DropUp int32 `protobuf:"varint,5,opt,name=DropUp,proto3" json:"DropUp,omitempty"` //掉落上限
}
func (x *NianDropInfo) Reset() {
*x = NianDropInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_protocol_webapi_common_proto_msgTypes[106]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *NianDropInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*NianDropInfo) ProtoMessage() {}
func (x *NianDropInfo) ProtoReflect() protoreflect.Message {
mi := &file_protocol_webapi_common_proto_msgTypes[106]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use NianDropInfo.ProtoReflect.Descriptor instead.
func (*NianDropInfo) Descriptor() ([]byte, []int) {
return file_protocol_webapi_common_proto_rawDescGZIP(), []int{106}
}
func (x *NianDropInfo) GetId() int32 {
if x != nil {
return x.Id
}
return 0
}
func (x *NianDropInfo) GetItemId() int32 {
if x != nil {
return x.ItemId
}
return 0
}
func (x *NianDropInfo) GetItemNum() int64 {
if x != nil {
return x.ItemNum
}
return 0
}
func (x *NianDropInfo) GetDropRate() int32 {
if x != nil {
return x.DropRate
}
return 0
}
func (x *NianDropInfo) GetDropUp() int32 {
if x != nil {
return x.DropUp
}
return 0
}
// etcd /game/act_redpacket
type RedPacketConfig struct {
state protoimpl.MessageState
@ -9874,7 +10112,7 @@ type RedPacketConfig struct {
func (x *RedPacketConfig) Reset() {
*x = RedPacketConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_protocol_webapi_common_proto_msgTypes[104]
mi := &file_protocol_webapi_common_proto_msgTypes[107]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@ -9887,7 +10125,7 @@ func (x *RedPacketConfig) String() string {
func (*RedPacketConfig) ProtoMessage() {}
func (x *RedPacketConfig) ProtoReflect() protoreflect.Message {
mi := &file_protocol_webapi_common_proto_msgTypes[104]
mi := &file_protocol_webapi_common_proto_msgTypes[107]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@ -9900,7 +10138,7 @@ func (x *RedPacketConfig) ProtoReflect() protoreflect.Message {
// Deprecated: Use RedPacketConfig.ProtoReflect.Descriptor instead.
func (*RedPacketConfig) Descriptor() ([]byte, []int) {
return file_protocol_webapi_common_proto_rawDescGZIP(), []int{104}
return file_protocol_webapi_common_proto_rawDescGZIP(), []int{107}
}
func (x *RedPacketConfig) GetPlatform() string {
@ -9944,7 +10182,7 @@ type RedPacketInfo struct {
func (x *RedPacketInfo) Reset() {
*x = RedPacketInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_protocol_webapi_common_proto_msgTypes[105]
mi := &file_protocol_webapi_common_proto_msgTypes[108]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@ -9957,7 +10195,7 @@ func (x *RedPacketInfo) String() string {
func (*RedPacketInfo) ProtoMessage() {}
func (x *RedPacketInfo) ProtoReflect() protoreflect.Message {
mi := &file_protocol_webapi_common_proto_msgTypes[105]
mi := &file_protocol_webapi_common_proto_msgTypes[108]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@ -9970,7 +10208,7 @@ func (x *RedPacketInfo) ProtoReflect() protoreflect.Message {
// Deprecated: Use RedPacketInfo.ProtoReflect.Descriptor instead.
func (*RedPacketInfo) Descriptor() ([]byte, []int) {
return file_protocol_webapi_common_proto_rawDescGZIP(), []int{105}
return file_protocol_webapi_common_proto_rawDescGZIP(), []int{108}
}
func (x *RedPacketInfo) GetId() int64 {
@ -10055,7 +10293,7 @@ type RedInfo struct {
func (x *RedInfo) Reset() {
*x = RedInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_protocol_webapi_common_proto_msgTypes[106]
mi := &file_protocol_webapi_common_proto_msgTypes[109]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@ -10068,7 +10306,7 @@ func (x *RedInfo) String() string {
func (*RedInfo) ProtoMessage() {}
func (x *RedInfo) ProtoReflect() protoreflect.Message {
mi := &file_protocol_webapi_common_proto_msgTypes[106]
mi := &file_protocol_webapi_common_proto_msgTypes[109]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@ -10081,7 +10319,7 @@ func (x *RedInfo) ProtoReflect() protoreflect.Message {
// Deprecated: Use RedInfo.ProtoReflect.Descriptor instead.
func (*RedInfo) Descriptor() ([]byte, []int) {
return file_protocol_webapi_common_proto_rawDescGZIP(), []int{106}
return file_protocol_webapi_common_proto_rawDescGZIP(), []int{109}
}
func (x *RedInfo) GetNum() int64 {
@ -11625,38 +11863,74 @@ var file_protocol_webapi_common_proto_rawDesc = []byte{
0x72, 0x6d, 0x12, 0x33, 0x0a, 0x08, 0x50, 0x72, 0x6f, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x02,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x69,
0x67, 0x42, 0x61, 0x6e, 0x6b, 0x50, 0x72, 0x6f, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x50,
0x72, 0x6f, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x7a, 0x0a, 0x0f, 0x52, 0x65, 0x64, 0x50, 0x61,
0x63, 0x6b, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c,
0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c,
0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x29, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x02,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x65,
0x64, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x4c, 0x69, 0x73,
0x74, 0x12, 0x20, 0x0a, 0x0b, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74,
0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4c, 0x69,
0x6d, 0x69, 0x74, 0x22, 0x94, 0x02, 0x0a, 0x0d, 0x52, 0x65, 0x64, 0x50, 0x61, 0x63, 0x6b, 0x65,
0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
0x03, 0x52, 0x02, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x4f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28,
0x05, 0x52, 0x02, 0x4f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x53, 0x74, 0x61, 0x72, 0x74, 0x48, 0x4d,
0x53, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x53, 0x74, 0x61, 0x72, 0x74, 0x48, 0x4d,
0x53, 0x12, 0x16, 0x0a, 0x06, 0x45, 0x6e, 0x64, 0x48, 0x4d, 0x53, 0x18, 0x04, 0x20, 0x01, 0x28,
0x03, 0x52, 0x06, 0x45, 0x6e, 0x64, 0x48, 0x4d, 0x53, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x74, 0x61,
0x79, 0x54, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x53, 0x74, 0x61, 0x79, 0x54,
0x73, 0x12, 0x1a, 0x0a, 0x08, 0x4d, 0x61, 0x78, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20,
0x01, 0x28, 0x03, 0x52, 0x08, 0x4d, 0x61, 0x78, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1c, 0x0a,
0x09, 0x4c, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03,
0x52, 0x09, 0x4c, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x49,
0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x49, 0x74, 0x65,
0x6d, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x4e, 0x75, 0x6d, 0x18,
0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x4e, 0x75, 0x6d, 0x12,
0x29, 0x0a, 0x07, 0x52, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x0f, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x65, 0x64, 0x49, 0x6e, 0x66,
0x6f, 0x52, 0x07, 0x52, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x2f, 0x0a, 0x07, 0x52, 0x65,
0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x4e, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01,
0x28, 0x03, 0x52, 0x03, 0x4e, 0x75, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x52, 0x61, 0x74, 0x65, 0x18,
0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x52, 0x61, 0x74, 0x65, 0x42, 0x26, 0x5a, 0x24, 0x6d,
0x6f, 0x6e, 0x67, 0x6f, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67,
0x61, 0x6d, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f, 0x77, 0x65, 0x62,
0x61, 0x70, 0x69, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
0x72, 0x6f, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x6e, 0x0a, 0x12, 0x41, 0x63, 0x74, 0x69, 0x76,
0x69, 0x74, 0x79, 0x4e, 0x69, 0x61, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1a, 0x0a,
0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x24, 0x0a, 0x04, 0x4c, 0x69, 0x73,
0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69,
0x2e, 0x4e, 0x69, 0x61, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12,
0x16, 0x0a, 0x06, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52,
0x06, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x22, 0xca, 0x02, 0x0a, 0x08, 0x4e, 0x69, 0x61, 0x6e,
0x49, 0x6e, 0x66, 0x6f, 0x12, 0x24, 0x0a, 0x0d, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79,
0x53, 0x74, 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x41, 0x63, 0x74,
0x69, 0x76, 0x69, 0x74, 0x79, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x41, 0x63,
0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x45, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
0x0b, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x45, 0x6e, 0x64, 0x12, 0x24, 0x0a, 0x0d,
0x42, 0x75, 0x66, 0x66, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20,
0x01, 0x28, 0x03, 0x52, 0x0d, 0x42, 0x75, 0x66, 0x66, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69,
0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x42, 0x75, 0x66, 0x66, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d,
0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x42, 0x75, 0x66, 0x66, 0x45, 0x6e, 0x64,
0x54, 0x69, 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x0a, 0x53, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x77, 0x61,
0x72, 0x64, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70,
0x69, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x53, 0x69, 0x67, 0x6e,
0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x36, 0x0a, 0x0d, 0x42, 0x6f, 0x73, 0x73, 0x44, 0x69,
0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e,
0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52,
0x0d, 0x42, 0x6f, 0x73, 0x73, 0x44, 0x69, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x44,
0x0a, 0x12, 0x42, 0x6f, 0x73, 0x73, 0x44, 0x69, 0x65, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x52, 0x65,
0x77, 0x61, 0x72, 0x64, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x77, 0x65, 0x62,
0x61, 0x70, 0x69, 0x2e, 0x4e, 0x69, 0x61, 0x6e, 0x44, 0x72, 0x6f, 0x70, 0x49, 0x6e, 0x66, 0x6f,
0x52, 0x12, 0x42, 0x6f, 0x73, 0x73, 0x44, 0x69, 0x65, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x52, 0x65,
0x77, 0x61, 0x72, 0x64, 0x22, 0x84, 0x01, 0x0a, 0x0c, 0x4e, 0x69, 0x61, 0x6e, 0x44, 0x72, 0x6f,
0x70, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18,
0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x18, 0x0a,
0x07, 0x49, 0x74, 0x65, 0x6d, 0x4e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07,
0x49, 0x74, 0x65, 0x6d, 0x4e, 0x75, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x44, 0x72, 0x6f, 0x70, 0x52,
0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x44, 0x72, 0x6f, 0x70, 0x52,
0x61, 0x74, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x44, 0x72, 0x6f, 0x70, 0x55, 0x70, 0x18, 0x05, 0x20,
0x01, 0x28, 0x05, 0x52, 0x06, 0x44, 0x72, 0x6f, 0x70, 0x55, 0x70, 0x22, 0x7a, 0x0a, 0x0f, 0x52,
0x65, 0x64, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1a,
0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x29, 0x0a, 0x04, 0x4c, 0x69,
0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70,
0x69, 0x2e, 0x52, 0x65, 0x64, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52,
0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4c,
0x69, 0x6d, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x50, 0x6c, 0x61, 0x79,
0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0x94, 0x02, 0x0a, 0x0d, 0x52, 0x65, 0x64, 0x50,
0x61, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18,
0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x4f, 0x6e, 0x18,
0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x4f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x53, 0x74, 0x61,
0x72, 0x74, 0x48, 0x4d, 0x53, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x53, 0x74, 0x61,
0x72, 0x74, 0x48, 0x4d, 0x53, 0x12, 0x16, 0x0a, 0x06, 0x45, 0x6e, 0x64, 0x48, 0x4d, 0x53, 0x18,
0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x45, 0x6e, 0x64, 0x48, 0x4d, 0x53, 0x12, 0x16, 0x0a,
0x06, 0x53, 0x74, 0x61, 0x79, 0x54, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x53,
0x74, 0x61, 0x79, 0x54, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x4d, 0x61, 0x78, 0x43, 0x6f, 0x75, 0x6e,
0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x4d, 0x61, 0x78, 0x43, 0x6f, 0x75, 0x6e,
0x74, 0x12, 0x1c, 0x0a, 0x09, 0x4c, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x07,
0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x4c, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12,
0x16, 0x0a, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52,
0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x54, 0x6f, 0x74, 0x61, 0x6c,
0x4e, 0x75, 0x6d, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x54, 0x6f, 0x74, 0x61, 0x6c,
0x4e, 0x75, 0x6d, 0x12, 0x29, 0x0a, 0x07, 0x52, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x0a,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x65,
0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x52, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x2f,
0x0a, 0x07, 0x52, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x4e, 0x75, 0x6d,
0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x4e, 0x75, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x52,
0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x52, 0x61, 0x74, 0x65, 0x42,
0x26, 0x5a, 0x24, 0x6d, 0x6f, 0x6e, 0x67, 0x6f, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x2e, 0x63,
0x6f, 0x6d, 0x2f, 0x67, 0x61, 0x6d, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c,
0x2f, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
@ -11671,7 +11945,7 @@ func file_protocol_webapi_common_proto_rawDescGZIP() []byte {
return file_protocol_webapi_common_proto_rawDescData
}
var file_protocol_webapi_common_proto_msgTypes = make([]protoimpl.MessageInfo, 117)
var file_protocol_webapi_common_proto_msgTypes = make([]protoimpl.MessageInfo, 120)
var file_protocol_webapi_common_proto_goTypes = []interface{}{
(*MysqlDbSetting)(nil), // 0: webapi.MysqlDbSetting
(*MongoDbSetting)(nil), // 1: webapi.MongoDbSetting
@ -11777,35 +12051,38 @@ var file_protocol_webapi_common_proto_goTypes = []interface{}{
(*GamePigBankDiamondConfig)(nil), // 101: webapi.GamePigBankDiamondConfig
(*PigBankPropInfo)(nil), // 102: webapi.PigBankPropInfo
(*GamePigBankPropConfig)(nil), // 103: webapi.GamePigBankPropConfig
(*RedPacketConfig)(nil), // 104: webapi.RedPacketConfig
(*RedPacketInfo)(nil), // 105: webapi.RedPacketInfo
(*RedInfo)(nil), // 106: webapi.RedInfo
nil, // 107: webapi.Platform.BindTelRewardEntry
nil, // 108: webapi.PlayerData.RankScoreEntry
nil, // 109: webapi.ItemShop.AwardEntry
nil, // 110: webapi.VIPcfg.AwardEntry
nil, // 111: webapi.VIPcfg.Privilege1Entry
nil, // 112: webapi.VIPcfg.Privilege7Entry
nil, // 113: webapi.VIPcfg.Privilege9Entry
nil, // 114: webapi.ActInviteConfig.PayScoreEntry
nil, // 115: webapi.SkinLevel.UpItemEntry
nil, // 116: webapi.SkinItem.UnlockParamEntry
(*server.DB_GameFree)(nil), // 117: server.DB_GameFree
(*server.DB_GameItem)(nil), // 118: server.DB_GameItem
(*ActivityNianConfig)(nil), // 104: webapi.ActivityNianConfig
(*NianInfo)(nil), // 105: webapi.NianInfo
(*NianDropInfo)(nil), // 106: webapi.NianDropInfo
(*RedPacketConfig)(nil), // 107: webapi.RedPacketConfig
(*RedPacketInfo)(nil), // 108: webapi.RedPacketInfo
(*RedInfo)(nil), // 109: webapi.RedInfo
nil, // 110: webapi.Platform.BindTelRewardEntry
nil, // 111: webapi.PlayerData.RankScoreEntry
nil, // 112: webapi.ItemShop.AwardEntry
nil, // 113: webapi.VIPcfg.AwardEntry
nil, // 114: webapi.VIPcfg.Privilege1Entry
nil, // 115: webapi.VIPcfg.Privilege7Entry
nil, // 116: webapi.VIPcfg.Privilege9Entry
nil, // 117: webapi.ActInviteConfig.PayScoreEntry
nil, // 118: webapi.SkinLevel.UpItemEntry
nil, // 119: webapi.SkinItem.UnlockParamEntry
(*server.DB_GameFree)(nil), // 120: server.DB_GameFree
(*server.DB_GameItem)(nil), // 121: server.DB_GameItem
}
var file_protocol_webapi_common_proto_depIdxs = []int32{
2, // 0: webapi.Platform.Leaderboard:type_name -> webapi.RankSwitch
3, // 1: webapi.Platform.ClubConfig:type_name -> webapi.ClubConfig
4, // 2: webapi.Platform.ThirdGameMerchant:type_name -> webapi.ThirdGame
107, // 3: webapi.Platform.BindTelReward:type_name -> webapi.Platform.BindTelRewardEntry
110, // 3: webapi.Platform.BindTelReward:type_name -> webapi.Platform.BindTelRewardEntry
6, // 4: webapi.GameConfigGlobal.GameStatus:type_name -> webapi.GameStatus
117, // 5: webapi.GameFree.DbGameFree:type_name -> server.DB_GameFree
120, // 5: webapi.GameFree.DbGameFree:type_name -> server.DB_GameFree
8, // 6: webapi.PlatformGameConfig.DbGameFrees:type_name -> webapi.GameFree
0, // 7: webapi.PlatformDbConfig.Mysql:type_name -> webapi.MysqlDbSetting
1, // 8: webapi.PlatformDbConfig.MongoDb:type_name -> webapi.MongoDbSetting
1, // 9: webapi.PlatformDbConfig.MongoDbLog:type_name -> webapi.MongoDbSetting
117, // 10: webapi.GameConfigGroup.DbGameFree:type_name -> server.DB_GameFree
108, // 11: webapi.PlayerData.RankScore:type_name -> webapi.PlayerData.RankScoreEntry
120, // 10: webapi.GameConfigGroup.DbGameFree:type_name -> server.DB_GameFree
111, // 11: webapi.PlayerData.RankScore:type_name -> webapi.PlayerData.RankScoreEntry
32, // 12: webapi.PlayerData.Items:type_name -> webapi.ItemInfo
14, // 13: webapi.PlayerData.RoleUnlockList:type_name -> webapi.ModInfo
14, // 14: webapi.PlayerData.PetUnlockList:type_name -> webapi.ModInfo
@ -11818,7 +12095,7 @@ var file_protocol_webapi_common_proto_depIdxs = []int32{
32, // 21: webapi.ExchangeShop.Items:type_name -> webapi.ItemInfo
25, // 22: webapi.ExchangeShopList.List:type_name -> webapi.ExchangeShop
29, // 23: webapi.ExchangeShopList.Weight:type_name -> webapi.ShopWeight
109, // 24: webapi.ItemShop.Award:type_name -> webapi.ItemShop.AwardEntry
112, // 24: webapi.ItemShop.Award:type_name -> webapi.ItemShop.AwardEntry
30, // 25: webapi.ItemShopList.List:type_name -> webapi.ItemShop
32, // 26: webapi.MatchInfoAward.ItemId:type_name -> webapi.ItemInfo
33, // 27: webapi.GameMatchDate.Award:type_name -> webapi.MatchInfoAward
@ -11839,14 +12116,14 @@ var file_protocol_webapi_common_proto_depIdxs = []int32{
38, // 42: webapi.WelfareSpree.Item:type_name -> webapi.WelfareDate
48, // 43: webapi.WelfareFirstPayDataList.List:type_name -> webapi.WelfareSpree
48, // 44: webapi.WelfareContinuousPayDataList.List:type_name -> webapi.WelfareSpree
110, // 45: webapi.VIPcfg.Award:type_name -> webapi.VIPcfg.AwardEntry
111, // 46: webapi.VIPcfg.Privilege1:type_name -> webapi.VIPcfg.Privilege1Entry
112, // 47: webapi.VIPcfg.Privilege7:type_name -> webapi.VIPcfg.Privilege7Entry
113, // 48: webapi.VIPcfg.Privilege9:type_name -> webapi.VIPcfg.Privilege9Entry
113, // 45: webapi.VIPcfg.Award:type_name -> webapi.VIPcfg.AwardEntry
114, // 46: webapi.VIPcfg.Privilege1:type_name -> webapi.VIPcfg.Privilege1Entry
115, // 47: webapi.VIPcfg.Privilege7:type_name -> webapi.VIPcfg.Privilege7Entry
116, // 48: webapi.VIPcfg.Privilege9:type_name -> webapi.VIPcfg.Privilege9Entry
51, // 49: webapi.VIPcfgDataList.List:type_name -> webapi.VIPcfg
38, // 50: webapi.ChessRankConfig.Item:type_name -> webapi.WelfareDate
55, // 51: webapi.ChessRankcfgData.Datas:type_name -> webapi.ChessRankConfig
114, // 52: webapi.ActInviteConfig.PayScore:type_name -> webapi.ActInviteConfig.PayScoreEntry
117, // 52: webapi.ActInviteConfig.PayScore:type_name -> webapi.ActInviteConfig.PayScoreEntry
62, // 53: webapi.ActInviteConfig.Awards1:type_name -> webapi.RankAward
62, // 54: webapi.ActInviteConfig.Awards2:type_name -> webapi.RankAward
62, // 55: webapi.ActInviteConfig.Awards3:type_name -> webapi.RankAward
@ -11863,12 +12140,12 @@ var file_protocol_webapi_common_proto_depIdxs = []int32{
69, // 66: webapi.DiamondLotteryData.Info:type_name -> webapi.DiamondLotteryInfo
70, // 67: webapi.DiamondLotteryData.Players:type_name -> webapi.DiamondLotteryPlayers
72, // 68: webapi.DiamondLotteryConfig.LotteryData:type_name -> webapi.DiamondLotteryData
118, // 69: webapi.ItemConfig.Items:type_name -> server.DB_GameItem
121, // 69: webapi.ItemConfig.Items:type_name -> server.DB_GameItem
32, // 70: webapi.RankAwardInfo.Item:type_name -> webapi.ItemInfo
75, // 71: webapi.RankTypeInfo.Award:type_name -> webapi.RankAwardInfo
76, // 72: webapi.RankTypeConfig.Info:type_name -> webapi.RankTypeInfo
115, // 73: webapi.SkinLevel.UpItem:type_name -> webapi.SkinLevel.UpItemEntry
116, // 74: webapi.SkinItem.UnlockParam:type_name -> webapi.SkinItem.UnlockParamEntry
118, // 73: webapi.SkinLevel.UpItem:type_name -> webapi.SkinLevel.UpItemEntry
119, // 74: webapi.SkinItem.UnlockParam:type_name -> webapi.SkinItem.UnlockParamEntry
78, // 75: webapi.SkinItem.Levels:type_name -> webapi.SkinLevel
79, // 76: webapi.SkinConfig.Items:type_name -> webapi.SkinItem
82, // 77: webapi.AwardLogConfig.AwardLog:type_name -> webapi.AwardLogData
@ -11887,13 +12164,17 @@ var file_protocol_webapi_common_proto_depIdxs = []int32{
32, // 90: webapi.PigBankDiamondInfo.DiamondExc:type_name -> webapi.ItemInfo
100, // 91: webapi.GamePigBankDiamondConfig.DiamondInfo:type_name -> webapi.PigBankDiamondInfo
102, // 92: webapi.GamePigBankPropConfig.PropInfo:type_name -> webapi.PigBankPropInfo
105, // 93: webapi.RedPacketConfig.List:type_name -> webapi.RedPacketInfo
106, // 94: webapi.RedPacketInfo.RedList:type_name -> webapi.RedInfo
95, // [95:95] is the sub-list for method output_type
95, // [95:95] is the sub-list for method input_type
95, // [95:95] is the sub-list for extension type_name
95, // [95:95] is the sub-list for extension extendee
0, // [0:95] is the sub-list for field type_name
105, // 93: webapi.ActivityNianConfig.List:type_name -> webapi.NianInfo
32, // 94: webapi.NianInfo.SignReward:type_name -> webapi.ItemInfo
32, // 95: webapi.NianInfo.BossDieReward:type_name -> webapi.ItemInfo
106, // 96: webapi.NianInfo.BossDieOtherReward:type_name -> webapi.NianDropInfo
108, // 97: webapi.RedPacketConfig.List:type_name -> webapi.RedPacketInfo
109, // 98: webapi.RedPacketInfo.RedList:type_name -> webapi.RedInfo
99, // [99:99] is the sub-list for method output_type
99, // [99:99] is the sub-list for method input_type
99, // [99:99] is the sub-list for extension type_name
99, // [99:99] is the sub-list for extension extendee
0, // [0:99] is the sub-list for field type_name
}
func init() { file_protocol_webapi_common_proto_init() }
@ -13151,7 +13432,7 @@ func file_protocol_webapi_common_proto_init() {
}
}
file_protocol_webapi_common_proto_msgTypes[104].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RedPacketConfig); i {
switch v := v.(*ActivityNianConfig); i {
case 0:
return &v.state
case 1:
@ -13163,7 +13444,7 @@ func file_protocol_webapi_common_proto_init() {
}
}
file_protocol_webapi_common_proto_msgTypes[105].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RedPacketInfo); i {
switch v := v.(*NianInfo); i {
case 0:
return &v.state
case 1:
@ -13175,6 +13456,42 @@ func file_protocol_webapi_common_proto_init() {
}
}
file_protocol_webapi_common_proto_msgTypes[106].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*NianDropInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_protocol_webapi_common_proto_msgTypes[107].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RedPacketConfig); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_protocol_webapi_common_proto_msgTypes[108].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RedPacketInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_protocol_webapi_common_proto_msgTypes[109].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RedInfo); i {
case 0:
return &v.state
@ -13193,7 +13510,7 @@ func file_protocol_webapi_common_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_protocol_webapi_common_proto_rawDesc,
NumEnums: 0,
NumMessages: 117,
NumMessages: 120,
NumExtensions: 0,
NumServices: 0,
},

View File

@ -1097,6 +1097,29 @@ message GamePigBankPropConfig{
string Platform = 1; //
repeated PigBankPropInfo PropInfo = 2; //
}
//etcd /game/activity_nian
message ActivityNianConfig {
string Platform = 1; //
repeated NianInfo List = 2;
int32 Switch = 3; // 1. 2.
}
message NianInfo{
string ActivityStart = 1; //
string ActivityEnd = 2; //
int64 BuffStartTime = 3; //Buff领取开始时间 18
int64 BuffEndTime = 4; //Buff领取结束时间 21
repeated ItemInfo SignReward = 5; //
repeated ItemInfo BossDieReward = 6; // BOSS奖励
repeated NianDropInfo BossDieOtherReward = 7; // Boss额外奖励
}
message NianDropInfo{
int32 Id = 1;
int32 ItemId = 2; // ID
int64 ItemNum = 3; //
int32 DropRate = 4;//
int32 DropUp = 5;//
}
// etcd /game/act_redpacket
message RedPacketConfig{

View File

@ -0,0 +1,77 @@
// Code generated by xlsx2proto.
// DO NOT EDIT!
package srvdata
import (
"google.golang.org/protobuf/proto"
"mongo.games.com/game/protocol/server"
)
var PBDB_NewYearActivityMgr = &DB_NewYearActivityMgr{
Datas: &server.DB_NewYearActivityArray{},
pool: make(map[int32]*server.DB_NewYearActivity),
}
type DB_NewYearActivityMgr struct {
Datas *server.DB_NewYearActivityArray
pool map[int32]*server.DB_NewYearActivity
}
func (this *DB_NewYearActivityMgr) unmarshal(data []byte) error {
err := proto.Unmarshal(data, this.Datas)
if err == nil {
this.arrangeData()
}
return err
}
func (this *DB_NewYearActivityMgr) reunmarshal(data []byte) error {
newDatas := &server.DB_NewYearActivityArray{}
err := proto.Unmarshal(data, newDatas)
if err == nil {
for _, item := range newDatas.Arr {
existItem := this.GetData(item.GetId())
if existItem == nil {
this.pool[item.GetId()] = item
this.Datas.Arr = append(this.Datas.Arr, item)
} else {
*existItem = *item
}
}
}
return err
}
func (this *DB_NewYearActivityMgr) arrangeData() {
if this.Datas == nil {
return
}
dataArr := this.Datas.GetArr()
if dataArr == nil {
return
}
for _, data := range dataArr {
this.pool[data.GetId()] = data
}
}
func (this *DB_NewYearActivityMgr) GetData(id int32) *server.DB_NewYearActivity {
if data, ok := this.pool[id]; ok {
return data
}
return nil
}
func init() {
DataMgr.register("DB_NewYearActivity.dat", &ProtobufDataLoader{dh: PBDB_NewYearActivityMgr})
}

View File

@ -0,0 +1,77 @@
// Code generated by xlsx2proto.
// DO NOT EDIT!
package srvdata
import (
"google.golang.org/protobuf/proto"
"mongo.games.com/game/protocol/server"
)
var PBDB_NewYearRankRewardMgr = &DB_NewYearRankRewardMgr{
Datas: &server.DB_NewYearRankRewardArray{},
pool: make(map[int32]*server.DB_NewYearRankReward),
}
type DB_NewYearRankRewardMgr struct {
Datas *server.DB_NewYearRankRewardArray
pool map[int32]*server.DB_NewYearRankReward
}
func (this *DB_NewYearRankRewardMgr) unmarshal(data []byte) error {
err := proto.Unmarshal(data, this.Datas)
if err == nil {
this.arrangeData()
}
return err
}
func (this *DB_NewYearRankRewardMgr) reunmarshal(data []byte) error {
newDatas := &server.DB_NewYearRankRewardArray{}
err := proto.Unmarshal(data, newDatas)
if err == nil {
for _, item := range newDatas.Arr {
existItem := this.GetData(item.GetId())
if existItem == nil {
this.pool[item.GetId()] = item
this.Datas.Arr = append(this.Datas.Arr, item)
} else {
*existItem = *item
}
}
}
return err
}
func (this *DB_NewYearRankRewardMgr) arrangeData() {
if this.Datas == nil {
return
}
dataArr := this.Datas.GetArr()
if dataArr == nil {
return
}
for _, data := range dataArr {
this.pool[data.GetId()] = data
}
}
func (this *DB_NewYearRankRewardMgr) GetData(id int32) *server.DB_NewYearRankReward {
if data, ok := this.pool[id]; ok {
return data
}
return nil
}
func init() {
DataMgr.register("DB_NewYearRankReward.dat", &ProtobufDataLoader{dh: PBDB_NewYearRankRewardMgr})
}

505
worldsrv/action_nian.go Normal file
View File

@ -0,0 +1,505 @@
package main
import (
"math/rand"
"mongo.games.com/game/common"
"mongo.games.com/game/model"
"mongo.games.com/game/protocol/activity"
"mongo.games.com/game/srvdata"
"mongo.games.com/goserver/core/logger"
"mongo.games.com/goserver/core/netlib"
"strconv"
"strings"
"time"
)
// 请求年兽信息
func CSNianData(s *netlib.Session, packetid int, data interface{}, sid int64) error {
if _, ok := data.(*activity.CSNianData); ok {
p := PlayerMgrSington.GetOnlinePlayer(sid)
sData := srvdata.PBDB_NewYearActivityMgr.Datas.GetArr()
BossMaxHp := int64(0)
for _, value := range sData {
if value.Id == 5 {
BossMaxHp, _ = strconv.ParseInt(value.PropValue, 10, 64)
break
}
}
logger.Logger.Trace("请求年兽信息snid = ", p.SnId)
if p == nil {
logger.Logger.Warn("CSNianData p == nil")
return nil
}
pool := PlatformMgrSingleton.GetConfig(p.Platform).ActivityNianConfig
if pool == nil || pool.List == nil || pool.Switch == model.WelfareClose {
return nil
}
startTime := pool.List[0].ActivityStart
endTime := pool.List[0].ActivityEnd
start, _ := time.Parse(time.DateTime, startTime)
// 转换为时间戳(以秒为单位)
timestamp := start.Unix()
end, _ := time.Parse(time.DateTime, endTime)
endTimestamp := end.Unix()
if p.WelfData.NianData != nil && (p.WelfData.NianData.ActivityStartTime != timestamp || p.WelfData.NianData.ActivityEndTime != endTimestamp) {
logger.Logger.Infof("CSNianData 年兽活动时间变更 清除之前数据 snid= %d", p.SnId)
WelfareMgrSington.ClearActivityNianData(p)
}
if p.WelfData.NianData == nil {
p.WelfData.NianData = &model.NianData{
ActivityStartTime: timestamp,
ActivityEndTime: endTimestamp,
}
}
if p.WelfData.NianData.BossHp == 0 {
p.WelfData.NianData.BossHp = BossMaxHp
}
pack := &activity.SCNianData{}
pack.BossHp = p.WelfData.NianData.BossHp
pack.BossMaxHp = BossMaxHp
// pack.ActivityStartTime = timestamp
//pack.ActivityEndTime = endTimestamp
pack.ActivityStartTime = 0
pack.ActivityEndTime = 0
pack.AwardTime = p.WelfData.NianData.SignAwardTime
pack.BuffCount = p.WelfData.NianData.BuffCount
pack.BuffStatus = p.WelfData.NianData.BuffStatus
pack.LuckData = nil
pack.SignAwardTime = p.WelfData.NianData.SignAwardTime
logger.Logger.Trace("请求年兽活动信息 ", pack)
p.SendToClient(int(activity.NianPacketID_PACKET_SCNianData), pack)
}
return nil
}
// 攻击年兽
func CSNianAttack(s *netlib.Session, packetid int, data interface{}, sid int64) error {
if msg, ok := data.(*activity.CSNianAttack); ok {
typeId := msg.TypeId
p := PlayerMgrSington.GetOnlinePlayer(sid)
sData := srvdata.PBDB_NewYearActivityMgr.Datas.GetArr()
BossMaxHp := int64(0)
for _, value := range sData {
if value.Id == 5 {
BossMaxHp, _ = strconv.ParseInt(value.PropValue, 10, 64)
break
}
}
if p.WelfData.NianData == nil {
p.WelfData.NianData = &model.NianData{}
}
if p.WelfData.NianData.BossHp <= 0 {
p.WelfData.NianData.BossHp = BossMaxHp
}
logger.Logger.Trace("客户端请求攻击年兽snid = ", p.SnId)
if p == nil {
logger.Logger.Warn("CSNianAttack p == nil")
return nil
}
pool := PlatformMgrSingleton.GetConfig(p.Platform).ActivityNianConfig
if pool == nil || pool.List == nil {
return nil
}
if pool.Switch == model.WelfareClose {
logger.Logger.Trace("CSNianAttack 活动关闭!")
return nil
}
//判断活动时间
startTime := pool.List[0].ActivityStart
endTime := pool.List[0].ActivityEnd
t, _ := time.Parse(time.DateTime, startTime)
// 转换为时间戳(以秒为单位)
timestamp := t.Unix()
end, _ := time.Parse(time.DateTime, endTime)
endTimestamp := end.Unix()
nowTime := time.Now().Unix()
if nowTime < timestamp || nowTime > endTimestamp {
return nil
}
pack := &activity.SCNianAttackData{}
itemId := 0
itemNum := 1
count := 1
if typeId == 1 {
itemId = common.ItemIDLittleGuaranteed
} else if typeId == 2 {
itemId = common.ItemIDLittleGuaranteed
itemNum = 10
count = 10
} else if typeId == 3 {
itemId = common.ItemIDBigGuaranteed
} else {
return nil
}
var items []*model.Item
items = append(items, &model.Item{
ItemId: int32(itemId),
ItemNum: int64(itemNum),
})
_, _, result := BagMgrSingleton.AddItems(&model.AddItemParam{
Platform: p.Platform,
SnId: p.SnId,
Change: items,
GainWay: common.GainWayNianCost,
Operator: "system",
Remark: "年兽活动消耗",
})
if !result {
return nil
}
//本次攻击总血量
AttackHp := int64(0)
//伤害范围
var intSlice []int
if typeId == 1 || typeId == 2 {
for _, value := range sData {
if value.Id == 9 {
str := value.PropValue
strSlice := strings.Split(str, ",")
// 转换每个字符串为 int
for _, s := range strSlice {
num, err := strconv.Atoi(s)
if err != nil {
return nil
}
intSlice = append(intSlice, num)
}
break
}
}
}
//保底奖励次数
floorCount := 0
for _, value := range sData {
if typeId == 1 || typeId == 2 {
if value.Id == 13 {
floorCount, _ = strconv.Atoi(value.PropValue)
break
}
} else {
if value.Id == 15 {
floorCount, _ = strconv.Atoi(value.PropValue)
break
}
}
}
if typeId == 3 {
for _, value := range sData {
if value.Id == 10 {
str := value.PropValue
strSlice := strings.Split(str, ",")
// 转换每个字符串为 int
for _, s := range strSlice {
num, err := strconv.Atoi(s)
if err != nil {
return nil
}
intSlice = append(intSlice, num)
}
break
}
}
}
awardInfo := &activity.RankAwardData{}
for i := 0; i < count; i++ {
//随机伤害值
randomValue := int64(rand.Intn(intSlice[1]-intSlice[0]+1) + intSlice[0])
logger.Logger.Tracef("随机到的伤害值是:%d", randomValue)
//计算BUFF
if p.WelfData.NianData.BuffCount > 0 {
randomValue = randomValue + randomValue/2
p.WelfData.NianData.BuffCount -= 1
}
AttackHp += randomValue
if typeId == 3 {
p.WelfData.NianData.BigHurt += 1
//判断是否掉落保底奖励
if p.WelfData.NianData.BigHurt%int32(floorCount) == 0 {
floorReward := &activity.RankAwardData{}
for _, value := range sData {
if value.Id == 16 {
strSlice := strings.Split(value.PropValue, ",")
FloorItemId, _ := strconv.Atoi(strSlice[0])
FloorItemNum, _ := strconv.Atoi(strSlice[1])
items = append(items, &model.Item{
ItemId: int32(FloorItemId),
ItemNum: int64(FloorItemNum),
})
floorReward.ItemId = int32(FloorItemId)
floorReward.ItemNum = int64(FloorItemNum)
pack.FloorReward = append(pack.FloorReward, floorReward)
break
}
}
}
//额外掉落
extraItemId := 0
extraItemNum := 0
var intSlice1 []int
for _, value := range sData {
if value.Id == 11 {
extraItemId, _ = strconv.Atoi(value.PropValue)
break
}
}
for _, value := range sData {
if value.Id == 12 {
str := value.PropValue
strSlice := strings.Split(str, ",")
// 转换每个字符串为 int
for _, s := range strSlice {
num, err := strconv.Atoi(s)
if err != nil {
return nil
}
intSlice1 = append(intSlice1, num)
}
break
}
}
//随机个数
extraItemNum = rand.Intn(intSlice1[1]-intSlice1[0]+1) + intSlice1[0]
items = append(items, &model.Item{
ItemId: int32(extraItemId),
ItemNum: int64(extraItemNum),
})
extraDrop := &activity.RankAwardData{}
extraDrop.ItemId = int32(extraItemId)
extraDrop.ItemNum = int64(extraItemNum)
pack.ExtraDrop = append(pack.ExtraDrop, extraDrop)
} else {
p.WelfData.NianData.LittleHurt += 1
//判断是否掉落保底奖励
if p.WelfData.NianData.LittleHurt%int32(floorCount) == 0 {
floorReward := &activity.RankAwardData{}
for _, value := range sData {
if value.Id == 14 {
strSlice := strings.Split(value.PropValue, ",")
FloorItemId, _ := strconv.Atoi(strSlice[0])
FloorItemNum, _ := strconv.Atoi(strSlice[1])
items = append(items, &model.Item{
ItemId: int32(FloorItemId),
ItemNum: int64(FloorItemNum),
})
floorReward.ItemId = int32(FloorItemId)
floorReward.ItemNum = int64(FloorItemNum)
pack.FloorReward = append(pack.FloorReward, floorReward)
break
}
}
}
}
//上榜 幸运榜 总榜
}
p.WelfData.NianData.BossHp -= AttackHp
isDie := false //是否死亡
//判断Boss是否死亡
var bossDieAward []*model.Item
if p.WelfData.NianData.BossHp <= 0 {
isDie = true
p.WelfData.NianData.BossHp = BossMaxHp
p.WelfData.NianData.BossDieCount += 1
//获取死亡奖励
for _, value := range sData {
if value.Id == 6 {
str := value.PropValue
strSlice := strings.Split(str, ";")
for _, s := range strSlice {
strSlice1 := strings.Split(s, ",")
bossDieItemId, err := strconv.Atoi(strSlice1[0])
if err != nil {
return nil
}
bossDieItemNum, err := strconv.ParseInt(strSlice1[1], 10, 64)
if err != nil {
return nil
}
bossDieAward = append(bossDieAward, &model.Item{
ItemId: int32(bossDieItemId),
ItemNum: bossDieItemNum,
})
items = append(items, &model.Item{
ItemId: int32(bossDieItemId),
ItemNum: bossDieItemNum,
})
}
break
}
}
//年兽死亡额外掉落
BigHurtCount := 0
for _, value := range sData {
if value.Id == 19 {
BigHurtCount, _ = strconv.Atoi(value.PropValue)
break
}
}
logger.Logger.Trace("年兽死亡额外掉落 当前已使用BigHurt ", p.WelfData.NianData.BigHurt, "BigHurtCount = ", BigHurtCount)
if p.WelfData.NianData.BigHurt >= int32(BigHurtCount) {
//后台配置额外掉落
for _, info := range pool.List[0].BossDieOtherReward {
//value.BossDieOtherReward
if p.WelfData.NianData.OtherAwardNum[info.Id] >= info.DropUp {
logger.Logger.Trace("BOSS死亡 额外掉落达到上限 id = ", info.Id, "数量:", p.WelfData.NianData.OtherAwardNum[info.Id])
continue
}
//随机
if rand.Intn(100) < int(info.DropRate) {
otherItemId := info.ItemId
otherItemNum := info.ItemNum
if int32(otherItemNum)+p.WelfData.NianData.OtherAwardNum[info.Id] > info.DropUp {
otherItemNum = int64(info.DropUp - p.WelfData.NianData.OtherAwardNum[info.Id])
}
p.WelfData.NianData.OtherAwardNum[info.Id] += int32(otherItemNum)
items = append(items, &model.Item{
ItemId: otherItemId,
ItemNum: otherItemNum,
})
bossDieAward = append(bossDieAward, &model.Item{
ItemId: otherItemId,
ItemNum: otherItemNum,
})
}
}
}
}
items = append(items, &model.Item{
ItemId: common.ItemIDCoin,
ItemNum: AttackHp,
})
BagMgrSingleton.AddItems(&model.AddItemParam{
Platform: p.Platform,
SnId: p.SnId,
Change: items,
GainWay: common.GainWayNianGain,
Operator: "system",
Remark: "年兽活动-攻击年兽获得",
})
awardInfo.ItemId = common.ItemIDCoin
awardInfo.ItemNum = AttackHp
pack.Award = append(pack.Award, awardInfo)
pack.AttackHp = AttackHp
pack.TypeId = typeId
pack.BossHp = p.WelfData.NianData.BossHp
pack.IsDie = isDie
for _, item := range bossDieAward {
dieInfo := &activity.RankAwardData{}
dieInfo.ItemId = item.ItemId
dieInfo.ItemNum = item.ItemNum
pack.DieAward = append(pack.DieAward, dieInfo)
}
pack.BuffCount = p.WelfData.NianData.BuffCount
p.SendToClient(int(activity.NianPacketID_PACKET_SCNianAttackData), pack)
}
return nil
}
// 请求领取BUFF
func CSNianBuff(s *netlib.Session, packetid int, data interface{}, sid int64) error {
if _, ok := data.(*activity.CSNianBuff); ok {
p := PlayerMgrSington.GetOnlinePlayer(sid)
//yearActivity := &server.DB_NewYearActivity{}
logger.Logger.Trace("客户端请求请求领取BUFF snid = ", p.SnId)
if p == nil {
return nil
}
if p.WelfData.NianData == nil {
p.WelfData.NianData = &model.NianData{}
}
if p.WelfData.NianData.BuffStatus {
return nil
}
pool := PlatformMgrSingleton.GetConfig(p.Platform).ActivityNianConfig
if pool == nil || pool.List == nil {
return nil
}
if pool.Switch == model.WelfareClose {
logger.Logger.Trace("CSNianSignAward 活动关闭!")
return nil
}
//判断领取时间
if time.Now().Hour() >= int(pool.List[0].BuffStartTime) && time.Now().Hour() <= int(pool.List[0].BuffEndTime) {
sData := srvdata.PBDB_NewYearActivityMgr.Datas.GetArr()
count := int64(0)
for _, value := range sData {
if value.Id == 20 {
count, _ = strconv.ParseInt(value.PropValue, 10, 64)
break
}
}
p.WelfData.NianData.BuffCount = count
p.WelfData.NianData.BuffStatus = true
pack := &activity.SCNianBuff{
BuffCount: p.WelfData.NianData.BuffCount,
}
p.SendToClient(int(activity.NianPacketID_PACKET_SCNianBuff), pack)
}
}
return nil
}
// 领取签到奖励
func CSNianSignAward(s *netlib.Session, packetid int, data interface{}, sid int64) error {
if _, ok := data.(*activity.CSNianBuff); ok {
p := PlayerMgrSington.GetOnlinePlayer(sid)
logger.Logger.Trace("客户端请求请求领取BUFF snid = ", p.SnId)
if p == nil {
return nil
}
pool := PlatformMgrSingleton.GetConfig(p.Platform).ActivityNianConfig
if pool == nil || pool.List == nil {
return nil
}
if pool.Switch == model.WelfareClose {
logger.Logger.Trace("CSNianSignAward 活动关闭!")
return nil
}
if p.WelfData.NianData == nil {
p.WelfData.NianData = &model.NianData{}
}
if p.WelfData.NianData.SignAwardTime > 0 {
return nil
}
p.WelfData.NianData.SignAwardTime = time.Now().Unix()
//奖励
pack := &activity.SCNianSignAward{}
pack.SignAwardTime = p.WelfData.NianData.SignAwardTime
var items []*model.Item
for _, info := range pool.List[0].SignReward {
items = append(items, &model.Item{
ItemId: info.ItemId,
ItemNum: info.ItemNum,
})
award := &activity.RankAwardData{}
award.ItemId = info.ItemId
award.ItemNum = info.ItemNum
pack.SignAward = append(pack.SignAward, award)
}
BagMgrSingleton.AddItems(&model.AddItemParam{
Platform: p.Platform,
SnId: p.SnId,
Change: items,
GainWay: common.GainWayNianGain,
Operator: "system",
Remark: "年兽活动-领取签到奖励获得",
})
p.SendToClient(int(activity.NianPacketID_PACKET_SCNianSignAward), pack)
}
return nil
}
func init() {
common.Register(int(activity.NianPacketID_PACKET_CSNianData), activity.CSNianData{}, CSNianData)
common.Register(int(activity.NianPacketID_PACKET_CSNianAttack), activity.CSNianAttack{}, CSNianAttack)
common.Register(int(activity.NianPacketID_PACKET_CSNianBuff), activity.CSNianBuff{}, CSNianBuff)
common.Register(int(activity.NianPacketID_PACKET_CSNianSignAward), activity.CSNianSignAward{}, CSNianSignAward)
}

View File

@ -53,7 +53,7 @@ func IsTaskReward(p *Player, id int32) bool {
if data := p.WelfData.Task[id]; data != nil && data.Ts > 0 {
t := srvdata.PBDB_TaskMgr.GetData(id)
switch t.ActivityType {
case common.TaskActivityTypeEveryDay, common.TaskActivityTypePermitEveryDay:
case common.TaskActivityTypeEveryDay, common.TaskActivityTypePermitEveryDay, common.TaskActivityTypeNianEveryDay:
if common.TsInSameDay(time.Now().Unix(), data.Ts) {
return true
}
@ -74,6 +74,24 @@ func IsTaskReward(p *Player, id int32) bool {
return data.Ts >= startTs && data.Ts < endTs
}
return true
case common.TaskActivityTypeNian:
pool := PlatformMgrSingleton.GetConfig(p.Platform).ActivityNianConfig
if pool == nil || pool.List == nil {
return false
}
if pool.Switch == model.WelfareClose {
return false
}
startTime := pool.List[0].ActivityStart
endTime := pool.List[0].ActivityEnd
start, _ := time.Parse(time.DateTime, startTime)
timestamp := start.Unix()
end, _ := time.Parse(time.DateTime, endTime)
endTimestamp := end.Unix()
if timestamp > 0 {
return data.Ts >= timestamp && data.Ts < endTimestamp
}
return true
}
}
}

View File

@ -110,6 +110,8 @@ func init() {
etcd.Register(etcd.ETCDKEY_PigBankDiamond, webapi.GamePigBankDiamondConfig{}, platformConfigEvent)
// 存钱罐属性值
etcd.Register(etcd.ETCDKEY_PigBankProp, webapi.GamePigBankPropConfig{}, platformConfigEvent)
//年兽配置
etcd.Register(etcd.ETCDKEY_NianConfig, webapi.ActivityNianConfig{}, platformConfigEvent)
// 红包配置
etcd.Register(etcd.ETCDKEY_REDPACKET, webapi.RedPacketConfig{}, platformConfigEvent)
@ -450,9 +452,10 @@ func platformConfigEvent(ctx context.Context, completeKey string, isInit bool, e
PlatformMgrSingleton.GetConfig(config.Platform).GamePigBankDiamondConfig = config
case *webapi.GamePigBankPropConfig:
PlatformMgrSingleton.GetConfig(config.Platform).GamePigBankPropConfig = config
case *webapi.ActivityNianConfig:
WelfareMgrSington.UpdateActivityNianStatus(config)
case *webapi.RedPacketConfig:
WelfareMgrSington.UpdateRedPacket(config, isInit)
default:
logger.Logger.Errorf("etcd completeKey:%s, Not processed", completeKey)
}

View File

@ -1675,6 +1675,9 @@ func (this *Player) OnDayTimer(login, continuous bool, t int) {
for _, v := range srvdata.TaskMgr.GetActivityType(common.TaskActivityTypePermitEveryDay) {
this.WelfData.Task[v.GetId()] = &model.TaskData{}
}
for _, v := range srvdata.TaskMgr.GetActivityType(common.TaskActivityTypeNianEveryDay) {
this.WelfData.Task[v.GetId()] = &model.TaskData{}
}
}
}
//周卡数据更新

View File

@ -4,6 +4,7 @@ import (
"container/list"
"math"
"mongo.games.com/goserver/core/logger"
"time"
"mongo.games.com/game/common"
"mongo.games.com/game/model"
@ -191,6 +192,25 @@ func (t *TaskHandle) AllTask(id int, data any) {
}
}
}
if v.ActivityType == common.TaskActivityTypeNianEveryDay || v.ActivityType == common.TaskActivityTypeNian {
//判断是否在开启时间段内
pool := PlatformMgrSingleton.GetConfig(p.Platform).ActivityNianConfig
if pool == nil || pool.List == nil {
continue
}
if pool.Switch == model.WelfareClose {
continue
}
startTime := pool.List[0].ActivityStart
endTime := pool.List[0].ActivityEnd
start, _ := time.Parse(time.DateTime, startTime)
timestamp := start.Unix()
end, _ := time.Parse(time.DateTime, endTime)
endTimestamp := end.Unix()
if time.Now().Unix() < timestamp || time.Now().Unix() > endTimestamp {
continue
}
}
if p.WelfData.Task[v.Id] == nil {
p.WelfData.Task[v.Id] = &model.TaskData{N: 0} // 初始化任务数据
@ -292,4 +312,5 @@ func init() {
TaskSubjectSingleton.Attach(common.TaskTypeTienlenWinCoin, taskHandle)
TaskSubjectSingleton.Attach(common.TaskTypeRankMatchWinTimes, taskHandle)
TaskSubjectSingleton.Attach(common.TaskTypeBuyPermit, taskHandle)
TaskSubjectSingleton.Attach(common.TaskTypeBuyRedBag, taskHandle)
}

View File

@ -2945,7 +2945,7 @@ func init() {
var msg *webapi.DebugTestReq
err := json.Unmarshal(params, &msg)
if err != nil {
logger.Logger.Error("Unmarshal webapi.PlatfromUpScoreReq error:", err)
logger.Logger.Error("Unmarshal webapi.DebugTestReq error:", err)
return common.ResponseTag_ParamError, pack
}
@ -2955,7 +2955,7 @@ func init() {
Message: "未知错误",
}
logger.Logger.Tracef("/api/platform/debug upScoreReqInfo%v", msg)
logger.Logger.Tracef("/api/platform/debug DebugTestReq%v", msg)
player := PlayerMgrSington.GetPlayerBySnId(msg.Snid)
//玩家在线
@ -2967,7 +2967,7 @@ func init() {
if msg.Rpc == 1 {
addCoin, _ := strconv.ParseInt(msg.Count, 10, 64)
player.AddCoin(addCoin, 0, 5555, "platform", "debug加钻石")
player.AddCoin(addCoin, 0, 5555, "platform", "debug加金币")
player.SendDiffData()
jsonRet.Data.Count = player.Coin
} else if msg.Rpc == 2 {

View File

@ -294,6 +294,8 @@ func (this *WelfareMgr) OnDayChanged(player *Player) error {
// 重置存钱罐
this.DayResetPigBank(player)
//重置年兽
this.DayReserNian(player)
return nil
}
@ -308,8 +310,9 @@ func (this *WelfareMgr) MonitorWelfData(player *Player) {
player.WelfData.PigBank = &model.PigBankData{}
} else if player.WelfData.DiamondBank == nil {
player.WelfData.DiamondBank = &model.DiamondBankData{}
} else if player.WelfData.NianData == nil {
player.WelfData.NianData = &model.NianData{}
}
}
// GetTurnplate 获取转盘奖励
@ -1007,6 +1010,13 @@ func (this *WelfareMgr) WelfareSwitch(p *Player, platform string, op int) {
} else {
pack.WelfareSwitch = append(pack.WelfareSwitch, model.WelfareClose)
}
//年兽活动
nianConfig := info.ActivityNianConfig
if nianConfig != nil {
pack.WelfareSwitch = append(pack.WelfareSwitch, nianConfig.Switch) //年兽活动开关
} else {
pack.WelfareSwitch = append(pack.WelfareSwitch, model.WelfareClose)
}
if model.GameParamData.TestActSwitch {
for k := range pack.WelfareSwitch {
@ -1121,7 +1131,7 @@ func (this *WelfareMgr) BlindBoxInfo(p *Player, bid int32) {
if cyc == 1 || blindBox.Cycle == model.WelfareOpen {
p.WelfData.BlindBoxId = 0
}
}
} // == 1代表当日循环
if p.WelfData.BlindBoxId == 0 { // 未领取过发随机Date
idx := bid
@ -2067,15 +2077,15 @@ func (this *WelfareMgr) DiamondBankTakeCoin(p *Player) (retItemArr []*model.Item
Num: 1,
})
retItemArr = append(retItemArr, &model.Item{
ItemId: common.ItemIDDiamond,
ItemNum: addDiamond,
})
// 发放奖励道具
if infoData.DiamondExc != nil {
var items []*model.Item
retItemArr = append(retItemArr, &model.Item{
ItemId: common.ItemIDDiamond,
ItemNum: addDiamond,
})
for _, v := range infoData.DiamondExc {
items = append(items, &model.Item{
ItemId: v.ItemId,
@ -2174,6 +2184,55 @@ func (this *WelfareMgr) UpdateDiamondBankData(p *Player, coinNum int64, isWin bo
logger.Logger.Tracef("玩家更新钻石存储罐数据 snid = %d,coinNum = %d,isWin = %s,当前钻石存储罐钻石数量:%f本次增加钻石数量:%f", p.SnId, coinNum, isWin, p.WelfData.DiamondBank.BankDiamond, addDiamond)
}
// 年兽活动
func (this *WelfareMgr) UpdateActivityNianStatus(cfg *webapi_proto.ActivityNianConfig) {
if model.GameParamData.TestActSwitch {
cfg.Switch = model.WelfareOpen
}
s := int32(0)
info := this.GetConfig(cfg.Platform)
if info.ActivityNianConfig != nil {
s = info.ActivityNianConfig.Switch
}
info.ActivityNianConfig = cfg
//更新活动时间
// 打开关闭要广播给客户端
if s != 0 && s != cfg.Switch {
this.WelfareSwitch(nil, cfg.Platform, model.OpNian)
}
}
// 每日重置年兽
func (this *WelfareMgr) DayReserNian(p *Player) {
if p.WelfData.NianData == nil {
return
}
if time.Now().Unix() > p.WelfData.NianData.ActivityEndTime {
this.ClearActivityNianData(p)
}
if p != nil && p.WelfData != nil && p.WelfData.NianData != nil {
p.WelfData.NianData.BuffStatus = false
p.WelfData.NianData.BuffCount = 0
p.WelfData.NianData.SignAwardTime = 0
p.WelfData.NianData.OtherAwardNum = make(map[int32]int32)
}
}
// 年兽活动结束清除数据
func (this *WelfareMgr) ClearActivityNianData(p *Player) {
if p != nil && p.WelfData != nil && p.WelfData.NianData != nil {
p.WelfData.NianData = nil
//清除任务数据
for id, _ := range p.WelfData.Task {
data := srvdata.PBDB_TaskMgr.GetData(id)
if data.ActivityType == common.TaskActivityTypeNianEveryDay || data.ActivityType == common.TaskActivityTypeNian {
p.WelfData.Task[id] = nil
}
}
}
}
// UpdateRedPacket 更新红包配置
func (this *WelfareMgr) UpdateRedPacket(cfg *webapi_proto.RedPacketConfig, isInit bool) {
this.GetConfig(cfg.Platform).RedPacketConfig = cfg

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.