Merge branch 'skin' into develop
This commit is contained in:
commit
f1a6cd7389
|
|
@ -295,6 +295,8 @@ const (
|
|||
GainWayDiamondLottery = 99 //钻石抽奖
|
||||
GainWaySkinUnLock = 100 // 皮肤解锁消耗
|
||||
GainWaySkinUpGrade = 101 // 皮肤升级消耗
|
||||
GainWayItemFen = 102 // 道具分解消耗
|
||||
GainWayItemFenGain = 103 // 道具分解获得
|
||||
)
|
||||
|
||||
// 后台选择 金币变化类型 的充值 类型id号起始
|
||||
|
|
@ -633,6 +635,7 @@ const (
|
|||
ItemTypeExpireTime = 15 // 时效类道具
|
||||
ItemTypeObjective = 16 // 目标类道具
|
||||
ItemTypeChange = 17 // 兑换话费
|
||||
ItemTypeSkinChip = 22 // 皮肤碎片
|
||||
)
|
||||
|
||||
func GetKeyNoviceGameId(gameId int) string {
|
||||
|
|
@ -813,3 +816,11 @@ const (
|
|||
SkinGetAuto = 1
|
||||
SkinGetItem = 2
|
||||
)
|
||||
|
||||
const (
|
||||
SkillIdRankScore = 30002 // 排位积分加成百分比
|
||||
SkillIdVipTimes = 30003 // VIP赛每日免费报名次数
|
||||
SkillIdVipGift = 30004 // VIP每日礼包金币奖励提升百分比
|
||||
SkillIdTask = 30005 // 每日任务金币奖励提升百分比
|
||||
SkillIdDiamondLottery = 30007 // 每次钻石抽奖幸运值提升百分比
|
||||
)
|
||||
|
|
|
|||
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
|
|
@ -1,3 +1,11 @@
|
|||
|
||||
-á§jueseicon_300001"活力芒果*mg_01
|
||||
7â§jueseicon_300002"财神é€<C3A9>ç¦<C3A7>*mg_060:à§
|
||||
6嵺juese"icon_300001*
|
||||
瘣餃<EFBFBD>-暺<>2mg_01J0R0Z0
|
||||
o漰juese"icon_300002*韐Y<E99F90><EFBCB9><EFBFBD><EFBFBD>2mg_068B鄑J蝳𤩺<E89DB3>銝𨀣䔉RSkillIcon-30002Z<15>雴<EFBFBD>韏𤤿妖<F0A4A4BF><E5A696><EFBFBD><EFBFBD><EFBFBD>
|
||||
|膇juese"icon_300003*
|
||||
瘣餃<EFBFBD>-蝎<>2mg_028B膇J瘣餃<E798A3>皛⊥說RSkillIcon-30003Z$VIP韏𥟇<E99F8F><F0A59F87>亙<EFBFBD>韐寞𥁒<E5AF9E>齿活<E9BDBF>唳<EFBFBD><E594B3><EFBFBD>
|
||||
v銣juese"icon_300004*
|
||||
瘣餃<EFBFBD>-<2D><>2mg_038B銣J<0C>穃<EFBFBD>皛⊥說RSkillIcon-30004Z瘥𤩺𠯫蝷澆<E89DB7><E6BE86>穃<EFBFBD>憟硋<E6869F><E7A18B>𣂼<EFBFBD>
|
||||
x憪juese"icon_300005*<0C><><EFBFBD>撠誩<E692A0>2mg_048B憪J<0C>穃<EFBFBD><E7A983>䭾<EFBFBD>RSkillIcon-30005Z瘥𤩺𠯫隞餃𦛚<E9A483>穃<EFBFBD>憟硋<E6869F><E7A18B>䭾<EFBFBD>
|
||||
?瑽juese"icon_300006* 瞏𨀣偌<F0A880A3><E5818C>2mg_058B瑽J0R0Z0
|
||||
{蝘juese"icon_300007*<0C>脫答<E884AB>亙<EFBFBD>2mg_078B蝘J憟質<E6869F><E8B3AA>䭾<EFBFBD>RSkillIcon-30007Z!瘥𤩺活<F0A4A9BA>餌𨺗<E9A48C>賢<EFBFBD>撟貉<E6929F><E8B289>潭<EFBFBD><E6BDAD><EFBFBD>
|
||||
|
|
@ -2,13 +2,18 @@
|
|||
"Arr": [
|
||||
{
|
||||
"Id": 300001,
|
||||
"SkinClass": 3,
|
||||
"Model": "juese",
|
||||
"SkinPic": "icon_300001",
|
||||
"SkinName": "活力芒果",
|
||||
"SkinType": "mg_01"
|
||||
"SkinName": "活力-黄",
|
||||
"SkinType": "mg_01",
|
||||
"SkinSkillName": "0",
|
||||
"SkinSkillIcon": "0",
|
||||
"SkinSkillDes": "0"
|
||||
},
|
||||
{
|
||||
"Id": 300002,
|
||||
"SkinClass": 4,
|
||||
"Model": "juese",
|
||||
"SkinPic": "icon_300002",
|
||||
"SkinName": "财神送福",
|
||||
|
|
@ -16,7 +21,85 @@
|
|||
"UnlockType": 1,
|
||||
"UnlockItem": {
|
||||
"300000": 1
|
||||
}
|
||||
},
|
||||
"SkinSkillName": "福气东来",
|
||||
"SkinSkillIcon": "SkillIcon-30002",
|
||||
"SkinSkillDes": "排位赛积分提升"
|
||||
},
|
||||
{
|
||||
"Id": 300003,
|
||||
"SkinClass": 3,
|
||||
"Model": "juese",
|
||||
"SkinPic": "icon_300003",
|
||||
"SkinName": "活力-粉",
|
||||
"SkinType": "mg_02",
|
||||
"UnlockType": 2,
|
||||
"UnlockItem": {
|
||||
"300003": 20
|
||||
},
|
||||
"SkinSkillName": "活力满满",
|
||||
"SkinSkillIcon": "SkillIcon-30003",
|
||||
"SkinSkillDes": "VIP赛每日免费报名次数提升"
|
||||
},
|
||||
{
|
||||
"Id": 300004,
|
||||
"SkinClass": 3,
|
||||
"Model": "juese",
|
||||
"SkinPic": "icon_300004",
|
||||
"SkinName": "活力-青",
|
||||
"SkinType": "mg_03",
|
||||
"UnlockType": 2,
|
||||
"UnlockItem": {
|
||||
"300004": 20
|
||||
},
|
||||
"SkinSkillName": "金币满满",
|
||||
"SkinSkillIcon": "SkillIcon-30004",
|
||||
"SkinSkillDes": "每日礼包金币奖励提升"
|
||||
},
|
||||
{
|
||||
"Id": 300005,
|
||||
"SkinClass": 3,
|
||||
"Model": "juese",
|
||||
"SkinPic": "icon_300005",
|
||||
"SkinName": "摇滚小子",
|
||||
"SkinType": "mg_04",
|
||||
"UnlockType": 2,
|
||||
"UnlockItem": {
|
||||
"300005": 20
|
||||
},
|
||||
"SkinSkillName": "金币加成",
|
||||
"SkinSkillIcon": "SkillIcon-30005",
|
||||
"SkinSkillDes": "每日任务金币奖励加成"
|
||||
},
|
||||
{
|
||||
"Id": 300006,
|
||||
"SkinClass": 3,
|
||||
"Model": "juese",
|
||||
"SkinPic": "icon_300006",
|
||||
"SkinName": "潜水员",
|
||||
"SkinType": "mg_05",
|
||||
"UnlockType": 2,
|
||||
"UnlockItem": {
|
||||
"300006": 20
|
||||
},
|
||||
"SkinSkillName": "0",
|
||||
"SkinSkillIcon": "0",
|
||||
"SkinSkillDes": "0"
|
||||
},
|
||||
{
|
||||
"Id": 300007,
|
||||
"SkinClass": 4,
|
||||
"Model": "juese",
|
||||
"SkinPic": "icon_300007",
|
||||
"SkinName": "冲浪健将",
|
||||
"SkinType": "mg_07",
|
||||
"UnlockType": 2,
|
||||
"UnlockItem": {
|
||||
"300007": 20
|
||||
},
|
||||
"SkinSkillName": "好运加成",
|
||||
"SkinSkillIcon": "SkillIcon-30007",
|
||||
"SkinSkillDes": "每次钻石抽奖幸运值提升"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,19 +1,84 @@
|
|||
|
||||
б§
|
||||
б§"б§
|
||||
б§"б§
|
||||
б§"б§
|
||||
б§"б§
|
||||
б§"б§
|
||||
в§
|
||||
в§"в§
|
||||
в§"в§
|
||||
|
||||
в§"в§
|
||||
в§"в§
|
||||
в§"в§
|
||||
в§"в§
|
||||
в§"в§
|
||||
в§ "в§
|
||||
в§
|
||||
"в§
|
||||
á§B0
|
||||
á§"á§B0
|
||||
á§"á§B0
|
||||
á§"á§B0
|
||||
á§"á§B0
|
||||
á§"á§B0
|
||||
+â§(²ê08B排ä½<C3A4>赛积分æ<E280A0><C3A6>å<EFBFBD>‡{0}%
|
||||
3â§"â§(²ê08B排ä½<C3A4>赛积分æ<E280A0><C3A6>å<EFBFBD>‡{0}%
|
||||
3 â§"â§(²ê08B排ä½<C3A4>赛积分æ<E280A0><C3A6>å<EFBFBD>‡{0}%
|
||||
3
|
||||
â§"â§(²ê08B排ä½<C3A4>赛积分æ<E280A0><C3A6>å<EFBFBD>‡{0}%
|
||||
3â§"â§(²ê08B排ä½<C3A4>赛积分æ<E280A0><C3A6>å<EFBFBD>‡{0}%
|
||||
3â§"â§(²ê08B排ä½<C3A4>赛积分æ<E280A0><C3A6>å<EFBFBD>‡{0}%
|
||||
3
â§"â§(²ê08B排ä½<C3A4>赛积分æ<E280A0><C3A6>å<EFBFBD>‡{0}%
|
||||
3â§"â§(²ê08B排ä½<C3A4>赛积分æ<E280A0><C3A6>å<EFBFBD>‡{0}%
|
||||
3â§ "â§(²ê0 8 B排ä½<C3A4>赛积分æ<E280A0><C3A6>å<EFBFBD>‡{0}%
|
||||
3â§
|
||||
"â§(²ê0
|
||||
8
|
||||
B排ä½<C3A4>赛积分æ<E280A0><C3A6>å<EFBFBD>‡{0}%
|
||||
9ã§(³ê08B'VIPèµ›æ¯<C3A6>æ—¥å…<C3A5>费报å<C2A5><C3A5>次数æ<C2B0><C3A6>å<EFBFBD>‡{0}
|
||||
Aã§"ã§(³ê08B'VIPèµ›æ¯<C3A6>æ—¥å…<C3A5>费报å<C2A5><C3A5>次数æ<C2B0><C3A6>å<EFBFBD>‡{0}
|
||||
Aã§"ã§(³ê08B'VIPèµ›æ¯<C3A6>æ—¥å…<C3A5>费报å<C2A5><C3A5>次数æ<C2B0><C3A6>å<EFBFBD>‡{0}
|
||||
Aã§"ã§(³ê08B'VIPèµ›æ¯<C3A6>æ—¥å…<C3A5>费报å<C2A5><C3A5>次数æ<C2B0><C3A6>å<EFBFBD>‡{0}
|
||||
Aã§"ã§(³ê08B'VIPèµ›æ¯<C3A6>æ—¥å…<C3A5>费报å<C2A5><C3A5>次数æ<C2B0><C3A6>å<EFBFBD>‡{0}
|
||||
Aã§"ã§(³ê08B'VIPèµ›æ¯<C3A6>æ—¥å…<C3A5>费报å<C2A5><C3A5>次数æ<C2B0><C3A6>å<EFBFBD>‡{0}
|
||||
Aã§"ã§(³ê08B'VIPèµ›æ¯<C3A6>æ—¥å…<C3A5>费报å<C2A5><C3A5>次数æ<C2B0><C3A6>å<EFBFBD>‡{0}
|
||||
Aã§"ã§(³ê08B'VIPèµ›æ¯<C3A6>æ—¥å…<C3A5>费报å<C2A5><C3A5>次数æ<C2B0><C3A6>å<EFBFBD>‡{0}
|
||||
Aã§ "ã§(³ê0 8 B'VIPèµ›æ¯<C3A6>æ—¥å…<C3A5>费报å<C2A5><C3A5>次数æ<C2B0><C3A6>å<EFBFBD>‡{0}
|
||||
Aã§
|
||||
"ã§(³ê0
|
||||
8
|
||||
B'VIPèµ›æ¯<C3A6>æ—¥å…<C3A5>费报å<C2A5><C3A5>次数æ<C2B0><C3A6>å<EFBFBD>‡{0}
|
||||
4ä§(´ê08B"æ¯<C3A6>日礼包金å¸<C3A5>奖励æ<C2B1><C3A6>å<EFBFBD>‡{0}%
|
||||
<ä§"ä§(´ê08B"æ¯<C3A6>日礼包金å¸<C3A5>奖励æ<C2B1><C3A6>å<EFBFBD>‡{0}%
|
||||
<ä§"ä§(´ê08B"æ¯<C3A6>日礼包金å¸<C3A5>奖励æ<C2B1><C3A6>å<EFBFBD>‡{0}%
|
||||
<ä§"ä§(´ê08B"æ¯<C3A6>日礼包金å¸<C3A5>奖励æ<C2B1><C3A6>å<EFBFBD>‡{0}%
|
||||
<ä§"ä§(´ê08B"æ¯<C3A6>日礼包金å¸<C3A5>奖励æ<C2B1><C3A6>å<EFBFBD>‡{0}%
|
||||
< ä§"ä§(´ê08B"æ¯<C3A6>日礼包金å¸<C3A5>奖励æ<C2B1><C3A6>å<EFBFBD>‡{0}%
|
||||
<!ä§"ä§(´ê08B"æ¯<C3A6>日礼包金å¸<C3A5>奖励æ<C2B1><C3A6>å<EFBFBD>‡{0}%
|
||||
<"ä§"ä§(´ê08B"æ¯<C3A6>日礼包金å¸<C3A5>奖励æ<C2B1><C3A6>å<EFBFBD>‡{0}%
|
||||
<#ä§ "ä§(´ê0 8 B"æ¯<C3A6>日礼包金å¸<C3A5>奖励æ<C2B1><C3A6>å<EFBFBD>‡{0}%
|
||||
<$ä§
|
||||
"ä§(´ê0
|
||||
8
|
||||
B"æ¯<C3A6>日礼包金å¸<C3A5>奖励æ<C2B1><C3A6>å<EFBFBD>‡{0}%
|
||||
4%å§(µê08B"æ¯<C3A6>日任务金å¸<C3A5>奖励æ<C2B1><C3A6>å<EFBFBD>‡{0}%
|
||||
<&å§"å§(µê08B"æ¯<C3A6>日任务金å¸<C3A5>奖励æ<C2B1><C3A6>å<EFBFBD>‡{0}%
|
||||
<'å§"å§(µê08B"æ¯<C3A6>日任务金å¸<C3A5>奖励æ<C2B1><C3A6>å<EFBFBD>‡{0}%
|
||||
<(å§"å§(µê08B"æ¯<C3A6>日任务金å¸<C3A5>奖励æ<C2B1><C3A6>å<EFBFBD>‡{0}%
|
||||
<)å§"å§(µê08B"æ¯<C3A6>日任务金å¸<C3A5>奖励æ<C2B1><C3A6>å<EFBFBD>‡{0}%
|
||||
<*å§"å§(µê08B"æ¯<C3A6>日任务金å¸<C3A5>奖励æ<C2B1><C3A6>å<EFBFBD>‡{0}%
|
||||
<+å§"å§(µê08B"æ¯<C3A6>日任务金å¸<C3A5>奖励æ<C2B1><C3A6>å<EFBFBD>‡{0}%
|
||||
<,å§"å§(µê08B"æ¯<C3A6>日任务金å¸<C3A5>奖励æ<C2B1><C3A6>å<EFBFBD>‡{0}%
|
||||
<-å§ "å§(µê0 8 B"æ¯<C3A6>日任务金å¸<C3A5>奖励æ<C2B1><C3A6>å<EFBFBD>‡{0}%
|
||||
<.å§
|
||||
"å§(µê0
|
||||
8
|
||||
B"æ¯<C3A6>日任务金å¸<C3A5>奖励æ<C2B1><C3A6>å<EFBFBD>‡{0}%
|
||||
/æ§B0
|
||||
0æ§"æ§B0
|
||||
1æ§"æ§B0
|
||||
2æ§"æ§B0
|
||||
3æ§"æ§B0
|
||||
4æ§"æ§B0
|
||||
5æ§"æ§B0
|
||||
6æ§"æ§B0
|
||||
7æ§ "æ§B0
|
||||
8æ§
|
||||
"æ§B0
|
||||
79ç§(·ê08B%æ¯<C3A6>次钻石抽奖幸è¿<C3A8>值æ<C2BC><C3A6>å<EFBFBD>‡{0}%
|
||||
?:ç§"ç§(·ê08B%æ¯<C3A6>次钻石抽奖幸è¿<C3A8>值æ<C2BC><C3A6>å<EFBFBD>‡{0}%
|
||||
?;ç§"ç§(·ê08B%æ¯<C3A6>次钻石抽奖幸è¿<C3A8>值æ<C2BC><C3A6>å<EFBFBD>‡{0}%
|
||||
?<ç§"ç§(·ê08B%æ¯<C3A6>次钻石抽奖幸è¿<C3A8>值æ<C2BC><C3A6>å<EFBFBD>‡{0}%
|
||||
?=ç§"ç§(·ê08B%æ¯<C3A6>次钻石抽奖幸è¿<C3A8>值æ<C2BC><C3A6>å<EFBFBD>‡{0}%
|
||||
?>ç§"ç§(·ê08B%æ¯<C3A6>次钻石抽奖幸è¿<C3A8>值æ<C2BC><C3A6>å<EFBFBD>‡{0}%
|
||||
??ç§"ç§(·ê08B%æ¯<C3A6>次钻石抽奖幸è¿<C3A8>值æ<C2BC><C3A6>å<EFBFBD>‡{0}%
|
||||
?@ç§"ç§(·ê08B%æ¯<C3A6>次钻石抽奖幸è¿<C3A8>值æ<C2BC><C3A6>å<EFBFBD>‡{0}%
|
||||
?Aç§ "ç§(·ê0 8 B%æ¯<C3A6>次钻石抽奖幸è¿<C3A8>值æ<C2BC><C3A6>å<EFBFBD>‡{0}%
|
||||
?Bç§
|
||||
"ç§(·ê0
|
||||
8
|
||||
B%æ¯<C3A6>次钻石抽奖幸è¿<C3A8>值æ<C2BC><C3A6>å<EFBFBD>‡{0}%
|
||||
|
|
@ -3,7 +3,8 @@
|
|||
{
|
||||
"Id": 1,
|
||||
"SkinId": 300001,
|
||||
"Level": 1
|
||||
"Level": 1,
|
||||
"SkinSkillDes": "0"
|
||||
},
|
||||
{
|
||||
"Id": 2,
|
||||
|
|
@ -11,7 +12,8 @@
|
|||
"Level": 2,
|
||||
"UpItem": {
|
||||
"300001": 20
|
||||
}
|
||||
},
|
||||
"SkinSkillDes": "0"
|
||||
},
|
||||
{
|
||||
"Id": 3,
|
||||
|
|
@ -19,7 +21,8 @@
|
|||
"Level": 3,
|
||||
"UpItem": {
|
||||
"300001": 21
|
||||
}
|
||||
},
|
||||
"SkinSkillDes": "0"
|
||||
},
|
||||
{
|
||||
"Id": 4,
|
||||
|
|
@ -27,7 +30,8 @@
|
|||
"Level": 4,
|
||||
"UpItem": {
|
||||
"300001": 22
|
||||
}
|
||||
},
|
||||
"SkinSkillDes": "0"
|
||||
},
|
||||
{
|
||||
"Id": 5,
|
||||
|
|
@ -35,7 +39,8 @@
|
|||
"Level": 5,
|
||||
"UpItem": {
|
||||
"300001": 23
|
||||
}
|
||||
},
|
||||
"SkinSkillDes": "0"
|
||||
},
|
||||
{
|
||||
"Id": 6,
|
||||
|
|
@ -43,12 +48,17 @@
|
|||
"Level": 6,
|
||||
"UpItem": {
|
||||
"300001": 24
|
||||
}
|
||||
},
|
||||
"SkinSkillDes": "0"
|
||||
},
|
||||
{
|
||||
"Id": 7,
|
||||
"SkinId": 300002,
|
||||
"Level": 1
|
||||
"Level": 1,
|
||||
"SkinSkillId": 30002,
|
||||
"SkinSkillLevel": 1,
|
||||
"SkinSkillValue": 1,
|
||||
"SkinSkillDes": "排位赛积分提升{0}%"
|
||||
},
|
||||
{
|
||||
"Id": 8,
|
||||
|
|
@ -56,7 +66,11 @@
|
|||
"Level": 2,
|
||||
"UpItem": {
|
||||
"300002": 20
|
||||
}
|
||||
},
|
||||
"SkinSkillId": 30002,
|
||||
"SkinSkillLevel": 2,
|
||||
"SkinSkillValue": 2,
|
||||
"SkinSkillDes": "排位赛积分提升{0}%"
|
||||
},
|
||||
{
|
||||
"Id": 9,
|
||||
|
|
@ -64,7 +78,11 @@
|
|||
"Level": 3,
|
||||
"UpItem": {
|
||||
"300002": 21
|
||||
}
|
||||
},
|
||||
"SkinSkillId": 30002,
|
||||
"SkinSkillLevel": 3,
|
||||
"SkinSkillValue": 3,
|
||||
"SkinSkillDes": "排位赛积分提升{0}%"
|
||||
},
|
||||
{
|
||||
"Id": 10,
|
||||
|
|
@ -72,7 +90,11 @@
|
|||
"Level": 4,
|
||||
"UpItem": {
|
||||
"300002": 22
|
||||
}
|
||||
},
|
||||
"SkinSkillId": 30002,
|
||||
"SkinSkillLevel": 4,
|
||||
"SkinSkillValue": 4,
|
||||
"SkinSkillDes": "排位赛积分提升{0}%"
|
||||
},
|
||||
{
|
||||
"Id": 11,
|
||||
|
|
@ -80,7 +102,11 @@
|
|||
"Level": 5,
|
||||
"UpItem": {
|
||||
"300002": 23
|
||||
}
|
||||
},
|
||||
"SkinSkillId": 30002,
|
||||
"SkinSkillLevel": 5,
|
||||
"SkinSkillValue": 5,
|
||||
"SkinSkillDes": "排位赛积分提升{0}%"
|
||||
},
|
||||
{
|
||||
"Id": 12,
|
||||
|
|
@ -88,7 +114,11 @@
|
|||
"Level": 6,
|
||||
"UpItem": {
|
||||
"300002": 24
|
||||
}
|
||||
},
|
||||
"SkinSkillId": 30002,
|
||||
"SkinSkillLevel": 6,
|
||||
"SkinSkillValue": 6,
|
||||
"SkinSkillDes": "排位赛积分提升{0}%"
|
||||
},
|
||||
{
|
||||
"Id": 13,
|
||||
|
|
@ -96,7 +126,11 @@
|
|||
"Level": 7,
|
||||
"UpItem": {
|
||||
"300002": 25
|
||||
}
|
||||
},
|
||||
"SkinSkillId": 30002,
|
||||
"SkinSkillLevel": 7,
|
||||
"SkinSkillValue": 7,
|
||||
"SkinSkillDes": "排位赛积分提升{0}%"
|
||||
},
|
||||
{
|
||||
"Id": 14,
|
||||
|
|
@ -104,7 +138,11 @@
|
|||
"Level": 8,
|
||||
"UpItem": {
|
||||
"300002": 26
|
||||
}
|
||||
},
|
||||
"SkinSkillId": 30002,
|
||||
"SkinSkillLevel": 8,
|
||||
"SkinSkillValue": 8,
|
||||
"SkinSkillDes": "排位赛积分提升{0}%"
|
||||
},
|
||||
{
|
||||
"Id": 15,
|
||||
|
|
@ -112,7 +150,11 @@
|
|||
"Level": 9,
|
||||
"UpItem": {
|
||||
"300002": 27
|
||||
}
|
||||
},
|
||||
"SkinSkillId": 30002,
|
||||
"SkinSkillLevel": 9,
|
||||
"SkinSkillValue": 9,
|
||||
"SkinSkillDes": "排位赛积分提升{0}%"
|
||||
},
|
||||
{
|
||||
"Id": 16,
|
||||
|
|
@ -120,7 +162,566 @@
|
|||
"Level": 10,
|
||||
"UpItem": {
|
||||
"300002": 28
|
||||
}
|
||||
},
|
||||
"SkinSkillId": 30002,
|
||||
"SkinSkillLevel": 10,
|
||||
"SkinSkillValue": 10,
|
||||
"SkinSkillDes": "排位赛积分提升{0}%"
|
||||
},
|
||||
{
|
||||
"Id": 17,
|
||||
"SkinId": 300003,
|
||||
"Level": 1,
|
||||
"SkinSkillId": 30003,
|
||||
"SkinSkillLevel": 1,
|
||||
"SkinSkillValue": 1,
|
||||
"SkinSkillDes": "VIP赛每日免费报名次数提升{0}"
|
||||
},
|
||||
{
|
||||
"Id": 18,
|
||||
"SkinId": 300003,
|
||||
"Level": 2,
|
||||
"UpItem": {
|
||||
"300003": 20
|
||||
},
|
||||
"SkinSkillId": 30003,
|
||||
"SkinSkillLevel": 2,
|
||||
"SkinSkillValue": 2,
|
||||
"SkinSkillDes": "VIP赛每日免费报名次数提升{0}"
|
||||
},
|
||||
{
|
||||
"Id": 19,
|
||||
"SkinId": 300003,
|
||||
"Level": 3,
|
||||
"UpItem": {
|
||||
"300003": 21
|
||||
},
|
||||
"SkinSkillId": 30003,
|
||||
"SkinSkillLevel": 3,
|
||||
"SkinSkillValue": 3,
|
||||
"SkinSkillDes": "VIP赛每日免费报名次数提升{0}"
|
||||
},
|
||||
{
|
||||
"Id": 20,
|
||||
"SkinId": 300003,
|
||||
"Level": 4,
|
||||
"UpItem": {
|
||||
"300003": 22
|
||||
},
|
||||
"SkinSkillId": 30003,
|
||||
"SkinSkillLevel": 4,
|
||||
"SkinSkillValue": 4,
|
||||
"SkinSkillDes": "VIP赛每日免费报名次数提升{0}"
|
||||
},
|
||||
{
|
||||
"Id": 21,
|
||||
"SkinId": 300003,
|
||||
"Level": 5,
|
||||
"UpItem": {
|
||||
"300003": 23
|
||||
},
|
||||
"SkinSkillId": 30003,
|
||||
"SkinSkillLevel": 5,
|
||||
"SkinSkillValue": 5,
|
||||
"SkinSkillDes": "VIP赛每日免费报名次数提升{0}"
|
||||
},
|
||||
{
|
||||
"Id": 22,
|
||||
"SkinId": 300003,
|
||||
"Level": 6,
|
||||
"UpItem": {
|
||||
"300003": 24
|
||||
},
|
||||
"SkinSkillId": 30003,
|
||||
"SkinSkillLevel": 6,
|
||||
"SkinSkillValue": 6,
|
||||
"SkinSkillDes": "VIP赛每日免费报名次数提升{0}"
|
||||
},
|
||||
{
|
||||
"Id": 23,
|
||||
"SkinId": 300003,
|
||||
"Level": 7,
|
||||
"UpItem": {
|
||||
"300003": 25
|
||||
},
|
||||
"SkinSkillId": 30003,
|
||||
"SkinSkillLevel": 7,
|
||||
"SkinSkillValue": 7,
|
||||
"SkinSkillDes": "VIP赛每日免费报名次数提升{0}"
|
||||
},
|
||||
{
|
||||
"Id": 24,
|
||||
"SkinId": 300003,
|
||||
"Level": 8,
|
||||
"UpItem": {
|
||||
"300003": 26
|
||||
},
|
||||
"SkinSkillId": 30003,
|
||||
"SkinSkillLevel": 8,
|
||||
"SkinSkillValue": 8,
|
||||
"SkinSkillDes": "VIP赛每日免费报名次数提升{0}"
|
||||
},
|
||||
{
|
||||
"Id": 25,
|
||||
"SkinId": 300003,
|
||||
"Level": 9,
|
||||
"UpItem": {
|
||||
"300003": 27
|
||||
},
|
||||
"SkinSkillId": 30003,
|
||||
"SkinSkillLevel": 9,
|
||||
"SkinSkillValue": 9,
|
||||
"SkinSkillDes": "VIP赛每日免费报名次数提升{0}"
|
||||
},
|
||||
{
|
||||
"Id": 26,
|
||||
"SkinId": 300003,
|
||||
"Level": 10,
|
||||
"UpItem": {
|
||||
"300003": 28
|
||||
},
|
||||
"SkinSkillId": 30003,
|
||||
"SkinSkillLevel": 10,
|
||||
"SkinSkillValue": 10,
|
||||
"SkinSkillDes": "VIP赛每日免费报名次数提升{0}"
|
||||
},
|
||||
{
|
||||
"Id": 27,
|
||||
"SkinId": 300004,
|
||||
"Level": 1,
|
||||
"SkinSkillId": 30004,
|
||||
"SkinSkillLevel": 1,
|
||||
"SkinSkillValue": 1,
|
||||
"SkinSkillDes": "每日礼包金币奖励提升{0}%"
|
||||
},
|
||||
{
|
||||
"Id": 28,
|
||||
"SkinId": 300004,
|
||||
"Level": 2,
|
||||
"UpItem": {
|
||||
"300004": 20
|
||||
},
|
||||
"SkinSkillId": 30004,
|
||||
"SkinSkillLevel": 2,
|
||||
"SkinSkillValue": 2,
|
||||
"SkinSkillDes": "每日礼包金币奖励提升{0}%"
|
||||
},
|
||||
{
|
||||
"Id": 29,
|
||||
"SkinId": 300004,
|
||||
"Level": 3,
|
||||
"UpItem": {
|
||||
"300004": 21
|
||||
},
|
||||
"SkinSkillId": 30004,
|
||||
"SkinSkillLevel": 3,
|
||||
"SkinSkillValue": 3,
|
||||
"SkinSkillDes": "每日礼包金币奖励提升{0}%"
|
||||
},
|
||||
{
|
||||
"Id": 30,
|
||||
"SkinId": 300004,
|
||||
"Level": 4,
|
||||
"UpItem": {
|
||||
"300004": 22
|
||||
},
|
||||
"SkinSkillId": 30004,
|
||||
"SkinSkillLevel": 4,
|
||||
"SkinSkillValue": 4,
|
||||
"SkinSkillDes": "每日礼包金币奖励提升{0}%"
|
||||
},
|
||||
{
|
||||
"Id": 31,
|
||||
"SkinId": 300004,
|
||||
"Level": 5,
|
||||
"UpItem": {
|
||||
"300004": 23
|
||||
},
|
||||
"SkinSkillId": 30004,
|
||||
"SkinSkillLevel": 5,
|
||||
"SkinSkillValue": 5,
|
||||
"SkinSkillDes": "每日礼包金币奖励提升{0}%"
|
||||
},
|
||||
{
|
||||
"Id": 32,
|
||||
"SkinId": 300004,
|
||||
"Level": 6,
|
||||
"UpItem": {
|
||||
"300004": 24
|
||||
},
|
||||
"SkinSkillId": 30004,
|
||||
"SkinSkillLevel": 6,
|
||||
"SkinSkillValue": 6,
|
||||
"SkinSkillDes": "每日礼包金币奖励提升{0}%"
|
||||
},
|
||||
{
|
||||
"Id": 33,
|
||||
"SkinId": 300004,
|
||||
"Level": 7,
|
||||
"UpItem": {
|
||||
"300004": 25
|
||||
},
|
||||
"SkinSkillId": 30004,
|
||||
"SkinSkillLevel": 7,
|
||||
"SkinSkillValue": 7,
|
||||
"SkinSkillDes": "每日礼包金币奖励提升{0}%"
|
||||
},
|
||||
{
|
||||
"Id": 34,
|
||||
"SkinId": 300004,
|
||||
"Level": 8,
|
||||
"UpItem": {
|
||||
"300004": 26
|
||||
},
|
||||
"SkinSkillId": 30004,
|
||||
"SkinSkillLevel": 8,
|
||||
"SkinSkillValue": 8,
|
||||
"SkinSkillDes": "每日礼包金币奖励提升{0}%"
|
||||
},
|
||||
{
|
||||
"Id": 35,
|
||||
"SkinId": 300004,
|
||||
"Level": 9,
|
||||
"UpItem": {
|
||||
"300004": 27
|
||||
},
|
||||
"SkinSkillId": 30004,
|
||||
"SkinSkillLevel": 9,
|
||||
"SkinSkillValue": 9,
|
||||
"SkinSkillDes": "每日礼包金币奖励提升{0}%"
|
||||
},
|
||||
{
|
||||
"Id": 36,
|
||||
"SkinId": 300004,
|
||||
"Level": 10,
|
||||
"UpItem": {
|
||||
"300004": 28
|
||||
},
|
||||
"SkinSkillId": 30004,
|
||||
"SkinSkillLevel": 10,
|
||||
"SkinSkillValue": 10,
|
||||
"SkinSkillDes": "每日礼包金币奖励提升{0}%"
|
||||
},
|
||||
{
|
||||
"Id": 37,
|
||||
"SkinId": 300005,
|
||||
"Level": 1,
|
||||
"SkinSkillId": 30005,
|
||||
"SkinSkillLevel": 1,
|
||||
"SkinSkillValue": 1,
|
||||
"SkinSkillDes": "每日任务金币奖励提升{0}%"
|
||||
},
|
||||
{
|
||||
"Id": 38,
|
||||
"SkinId": 300005,
|
||||
"Level": 2,
|
||||
"UpItem": {
|
||||
"300005": 20
|
||||
},
|
||||
"SkinSkillId": 30005,
|
||||
"SkinSkillLevel": 2,
|
||||
"SkinSkillValue": 2,
|
||||
"SkinSkillDes": "每日任务金币奖励提升{0}%"
|
||||
},
|
||||
{
|
||||
"Id": 39,
|
||||
"SkinId": 300005,
|
||||
"Level": 3,
|
||||
"UpItem": {
|
||||
"300005": 21
|
||||
},
|
||||
"SkinSkillId": 30005,
|
||||
"SkinSkillLevel": 3,
|
||||
"SkinSkillValue": 3,
|
||||
"SkinSkillDes": "每日任务金币奖励提升{0}%"
|
||||
},
|
||||
{
|
||||
"Id": 40,
|
||||
"SkinId": 300005,
|
||||
"Level": 4,
|
||||
"UpItem": {
|
||||
"300005": 22
|
||||
},
|
||||
"SkinSkillId": 30005,
|
||||
"SkinSkillLevel": 4,
|
||||
"SkinSkillValue": 4,
|
||||
"SkinSkillDes": "每日任务金币奖励提升{0}%"
|
||||
},
|
||||
{
|
||||
"Id": 41,
|
||||
"SkinId": 300005,
|
||||
"Level": 5,
|
||||
"UpItem": {
|
||||
"300005": 23
|
||||
},
|
||||
"SkinSkillId": 30005,
|
||||
"SkinSkillLevel": 5,
|
||||
"SkinSkillValue": 5,
|
||||
"SkinSkillDes": "每日任务金币奖励提升{0}%"
|
||||
},
|
||||
{
|
||||
"Id": 42,
|
||||
"SkinId": 300005,
|
||||
"Level": 6,
|
||||
"UpItem": {
|
||||
"300005": 24
|
||||
},
|
||||
"SkinSkillId": 30005,
|
||||
"SkinSkillLevel": 6,
|
||||
"SkinSkillValue": 6,
|
||||
"SkinSkillDes": "每日任务金币奖励提升{0}%"
|
||||
},
|
||||
{
|
||||
"Id": 43,
|
||||
"SkinId": 300005,
|
||||
"Level": 7,
|
||||
"UpItem": {
|
||||
"300005": 25
|
||||
},
|
||||
"SkinSkillId": 30005,
|
||||
"SkinSkillLevel": 7,
|
||||
"SkinSkillValue": 7,
|
||||
"SkinSkillDes": "每日任务金币奖励提升{0}%"
|
||||
},
|
||||
{
|
||||
"Id": 44,
|
||||
"SkinId": 300005,
|
||||
"Level": 8,
|
||||
"UpItem": {
|
||||
"300005": 26
|
||||
},
|
||||
"SkinSkillId": 30005,
|
||||
"SkinSkillLevel": 8,
|
||||
"SkinSkillValue": 8,
|
||||
"SkinSkillDes": "每日任务金币奖励提升{0}%"
|
||||
},
|
||||
{
|
||||
"Id": 45,
|
||||
"SkinId": 300005,
|
||||
"Level": 9,
|
||||
"UpItem": {
|
||||
"300005": 27
|
||||
},
|
||||
"SkinSkillId": 30005,
|
||||
"SkinSkillLevel": 9,
|
||||
"SkinSkillValue": 9,
|
||||
"SkinSkillDes": "每日任务金币奖励提升{0}%"
|
||||
},
|
||||
{
|
||||
"Id": 46,
|
||||
"SkinId": 300005,
|
||||
"Level": 10,
|
||||
"UpItem": {
|
||||
"300005": 28
|
||||
},
|
||||
"SkinSkillId": 30005,
|
||||
"SkinSkillLevel": 10,
|
||||
"SkinSkillValue": 10,
|
||||
"SkinSkillDes": "每日任务金币奖励提升{0}%"
|
||||
},
|
||||
{
|
||||
"Id": 47,
|
||||
"SkinId": 300006,
|
||||
"Level": 1,
|
||||
"SkinSkillDes": "0"
|
||||
},
|
||||
{
|
||||
"Id": 48,
|
||||
"SkinId": 300006,
|
||||
"Level": 2,
|
||||
"UpItem": {
|
||||
"300006": 20
|
||||
},
|
||||
"SkinSkillDes": "0"
|
||||
},
|
||||
{
|
||||
"Id": 49,
|
||||
"SkinId": 300006,
|
||||
"Level": 3,
|
||||
"UpItem": {
|
||||
"300006": 21
|
||||
},
|
||||
"SkinSkillDes": "0"
|
||||
},
|
||||
{
|
||||
"Id": 50,
|
||||
"SkinId": 300006,
|
||||
"Level": 4,
|
||||
"UpItem": {
|
||||
"300006": 22
|
||||
},
|
||||
"SkinSkillDes": "0"
|
||||
},
|
||||
{
|
||||
"Id": 51,
|
||||
"SkinId": 300006,
|
||||
"Level": 5,
|
||||
"UpItem": {
|
||||
"300006": 23
|
||||
},
|
||||
"SkinSkillDes": "0"
|
||||
},
|
||||
{
|
||||
"Id": 52,
|
||||
"SkinId": 300006,
|
||||
"Level": 6,
|
||||
"UpItem": {
|
||||
"300006": 24
|
||||
},
|
||||
"SkinSkillDes": "0"
|
||||
},
|
||||
{
|
||||
"Id": 53,
|
||||
"SkinId": 300006,
|
||||
"Level": 7,
|
||||
"UpItem": {
|
||||
"300006": 25
|
||||
},
|
||||
"SkinSkillDes": "0"
|
||||
},
|
||||
{
|
||||
"Id": 54,
|
||||
"SkinId": 300006,
|
||||
"Level": 8,
|
||||
"UpItem": {
|
||||
"300006": 26
|
||||
},
|
||||
"SkinSkillDes": "0"
|
||||
},
|
||||
{
|
||||
"Id": 55,
|
||||
"SkinId": 300006,
|
||||
"Level": 9,
|
||||
"UpItem": {
|
||||
"300006": 27
|
||||
},
|
||||
"SkinSkillDes": "0"
|
||||
},
|
||||
{
|
||||
"Id": 56,
|
||||
"SkinId": 300006,
|
||||
"Level": 10,
|
||||
"UpItem": {
|
||||
"300006": 28
|
||||
},
|
||||
"SkinSkillDes": "0"
|
||||
},
|
||||
{
|
||||
"Id": 57,
|
||||
"SkinId": 300007,
|
||||
"Level": 1,
|
||||
"SkinSkillId": 30007,
|
||||
"SkinSkillLevel": 1,
|
||||
"SkinSkillValue": 1,
|
||||
"SkinSkillDes": "每次钻石抽奖幸运值提升{0}%"
|
||||
},
|
||||
{
|
||||
"Id": 58,
|
||||
"SkinId": 300007,
|
||||
"Level": 2,
|
||||
"UpItem": {
|
||||
"300007": 20
|
||||
},
|
||||
"SkinSkillId": 30007,
|
||||
"SkinSkillLevel": 2,
|
||||
"SkinSkillValue": 2,
|
||||
"SkinSkillDes": "每次钻石抽奖幸运值提升{0}%"
|
||||
},
|
||||
{
|
||||
"Id": 59,
|
||||
"SkinId": 300007,
|
||||
"Level": 3,
|
||||
"UpItem": {
|
||||
"300007": 21
|
||||
},
|
||||
"SkinSkillId": 30007,
|
||||
"SkinSkillLevel": 3,
|
||||
"SkinSkillValue": 3,
|
||||
"SkinSkillDes": "每次钻石抽奖幸运值提升{0}%"
|
||||
},
|
||||
{
|
||||
"Id": 60,
|
||||
"SkinId": 300007,
|
||||
"Level": 4,
|
||||
"UpItem": {
|
||||
"300007": 22
|
||||
},
|
||||
"SkinSkillId": 30007,
|
||||
"SkinSkillLevel": 4,
|
||||
"SkinSkillValue": 4,
|
||||
"SkinSkillDes": "每次钻石抽奖幸运值提升{0}%"
|
||||
},
|
||||
{
|
||||
"Id": 61,
|
||||
"SkinId": 300007,
|
||||
"Level": 5,
|
||||
"UpItem": {
|
||||
"300007": 23
|
||||
},
|
||||
"SkinSkillId": 30007,
|
||||
"SkinSkillLevel": 5,
|
||||
"SkinSkillValue": 5,
|
||||
"SkinSkillDes": "每次钻石抽奖幸运值提升{0}%"
|
||||
},
|
||||
{
|
||||
"Id": 62,
|
||||
"SkinId": 300007,
|
||||
"Level": 6,
|
||||
"UpItem": {
|
||||
"300007": 24
|
||||
},
|
||||
"SkinSkillId": 30007,
|
||||
"SkinSkillLevel": 6,
|
||||
"SkinSkillValue": 6,
|
||||
"SkinSkillDes": "每次钻石抽奖幸运值提升{0}%"
|
||||
},
|
||||
{
|
||||
"Id": 63,
|
||||
"SkinId": 300007,
|
||||
"Level": 7,
|
||||
"UpItem": {
|
||||
"300007": 25
|
||||
},
|
||||
"SkinSkillId": 30007,
|
||||
"SkinSkillLevel": 7,
|
||||
"SkinSkillValue": 7,
|
||||
"SkinSkillDes": "每次钻石抽奖幸运值提升{0}%"
|
||||
},
|
||||
{
|
||||
"Id": 64,
|
||||
"SkinId": 300007,
|
||||
"Level": 8,
|
||||
"UpItem": {
|
||||
"300007": 26
|
||||
},
|
||||
"SkinSkillId": 30007,
|
||||
"SkinSkillLevel": 8,
|
||||
"SkinSkillValue": 8,
|
||||
"SkinSkillDes": "每次钻石抽奖幸运值提升{0}%"
|
||||
},
|
||||
{
|
||||
"Id": 65,
|
||||
"SkinId": 300007,
|
||||
"Level": 9,
|
||||
"UpItem": {
|
||||
"300007": 27
|
||||
},
|
||||
"SkinSkillId": 30007,
|
||||
"SkinSkillLevel": 9,
|
||||
"SkinSkillValue": 9,
|
||||
"SkinSkillDes": "每次钻石抽奖幸运值提升{0}%"
|
||||
},
|
||||
{
|
||||
"Id": 66,
|
||||
"SkinId": 300007,
|
||||
"Level": 10,
|
||||
"UpItem": {
|
||||
"300007": 28
|
||||
},
|
||||
"SkinSkillId": 30007,
|
||||
"SkinSkillLevel": 10,
|
||||
"SkinSkillValue": 10,
|
||||
"SkinSkillDes": "每次钻石抽奖幸运值提升{0}%"
|
||||
}
|
||||
]
|
||||
}
|
||||
BIN
data/DB_Task.dat
BIN
data/DB_Task.dat
Binary file not shown.
|
|
@ -35,5 +35,5 @@ const (
|
|||
ETCDKEY_ACT_Permit = "/game/act_permit" // 赛季通行证配置
|
||||
ETCDKEY_DIAMOND_LOTTERY = "/game/diamond_lottery" // 钻石抽奖配置
|
||||
ETCDKEY_Item = "/game/item" // 道具列表
|
||||
|
||||
ETCDKEY_SKin = "/game/skin_config" // 皮肤配置
|
||||
)
|
||||
|
|
|
|||
|
|
@ -22,6 +22,8 @@ func init() {
|
|||
etcd.Register(etcd.ETCDKEY_ACT_Collect, webapi.WelfareCollectConfig{}, platformConfigEtcd)
|
||||
// 渠道开关
|
||||
etcd.Register(etcd.ETCDKEY_ChannelSwitch, webapi.ChannelSwitchConfig{}, platformConfigEtcd)
|
||||
// 皮肤配置
|
||||
etcd.Register(etcd.ETCDKEY_SKin, webapi.SkinConfig{}, platformConfigEtcd)
|
||||
}
|
||||
|
||||
func platformConfigEtcd(ctx context.Context, completeKey string, isInit bool, event *clientv3.Event, data interface{}) {
|
||||
|
|
@ -37,6 +39,8 @@ func platformConfigEtcd(ctx context.Context, completeKey string, isInit bool, ev
|
|||
ConfigMgrInst.GetConfig(d.Platform).WelfareCollectConfig = d
|
||||
case *webapi.ChannelSwitchConfig:
|
||||
ConfigMgrInst.GetConfig(d.Platform).ChannelSwitch[d.GetTp()] = d
|
||||
case *webapi.SkinConfig:
|
||||
ConfigMgrInst.GetConfig(d.Platform).SkinConfig = d
|
||||
default:
|
||||
logger.Logger.Errorf("etcd completeKey:%s, Not processed", completeKey)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1389,3 +1389,9 @@ func (this *Player) PetUseSkill() bool {
|
|||
}
|
||||
return false
|
||||
}
|
||||
|
||||
// GetSkillAdd 获取技能加成
|
||||
// id 技能id
|
||||
func (this *Player) GetSkillAdd(id int32) int32 {
|
||||
return this.GetSkillAdd2(id, ConfigMgrInst)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1569,7 +1569,7 @@ func (this *SceneBilledStateTienLen) OnEnter(s *base.Scene) {
|
|||
//在这里执行结算
|
||||
if sceneEx, ok := s.GetExtraData().(*TienLenSceneData); ok {
|
||||
|
||||
addItems := func(billData *tienlen.TienLenPlayerGameBilled, sceneTypeScore, vipAdd, vipScore, roleAdd, roleScore, weekCardScore int64) {
|
||||
addItems := func(billData *tienlen.TienLenPlayerGameBilled, sceneTypeScore, vipAdd, vipScore, roleAdd, roleScore, weekCardScore, skinAdd, skinScore int64) {
|
||||
// 场次加成配置
|
||||
if sceneTypeScore > 0 {
|
||||
billData.AddItems = append(billData.AddItems, &tienlen.AddItem{
|
||||
|
|
@ -1606,6 +1606,15 @@ func (this *SceneBilledStateTienLen) OnEnter(s *base.Scene) {
|
|||
Score: weekCardScore,
|
||||
})
|
||||
}
|
||||
// 皮肤加成
|
||||
if skinScore > 0 {
|
||||
billData.AddItems = append(billData.AddItems, &tienlen.AddItem{
|
||||
ItemType: 7,
|
||||
ItemId: 0,
|
||||
Addition: int32(skinAdd),
|
||||
Score: skinScore,
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
winScore := int64(0)
|
||||
|
|
@ -1728,7 +1737,8 @@ func (this *SceneBilledStateTienLen) OnEnter(s *base.Scene) {
|
|||
var vipScore int64 // vip加成
|
||||
var roleScore int64 // 角色加成
|
||||
var weekCardScore int64 // 周卡加成
|
||||
var roleAdd int32
|
||||
var skinScore int64 // 皮肤技能加成
|
||||
var roleAdd, skinAdd int32
|
||||
var otherScore int64 // 额外总加分
|
||||
oldRankScore := losePlayer.GetRankScore(sceneEx.GetDBGameFree().GetRankType())
|
||||
playerLoseScore := rule.GetLoseScore(losePlayer.cards, true)
|
||||
|
|
@ -1768,8 +1778,13 @@ func (this *SceneBilledStateTienLen) OnEnter(s *base.Scene) {
|
|||
if losePlayer.GetWeekCardPrivilege(2) {
|
||||
weekCardScore = int64(math.Ceil(float64(rankScore) * float64(5) / 100.0))
|
||||
}
|
||||
// 皮肤技能加成
|
||||
skinAdd = losePlayer.GetSkillAdd(common.SkillIdRankScore)
|
||||
if skinAdd > 0 {
|
||||
skinScore = int64(math.Ceil(float64(rankScore) * float64(skinAdd) / 100.0))
|
||||
}
|
||||
}
|
||||
otherScore = sceneTypeScore + vipScore + roleScore + weekCardScore
|
||||
otherScore = sceneTypeScore + vipScore + roleScore + weekCardScore + skinScore
|
||||
losePlayer.AddRankScore(sceneEx.GetDBGameFree().GetRankType(), rankScore+otherScore) // 炸弹分一起算
|
||||
}
|
||||
losePlayer.winCoin -= gainScore
|
||||
|
|
@ -1784,7 +1799,7 @@ func (this *SceneBilledStateTienLen) OnEnter(s *base.Scene) {
|
|||
}
|
||||
billData.WinRankScore = billData.RankScore - oldRankScore
|
||||
if otherScore > 0 {
|
||||
addItems(billData, sceneTypeScore, int64(losePlayer.VipExtra), vipScore, int64(roleAdd), roleScore, weekCardScore)
|
||||
addItems(billData, sceneTypeScore, int64(losePlayer.VipExtra), vipScore, int64(roleAdd), roleScore, weekCardScore, int64(skinAdd), skinScore)
|
||||
}
|
||||
isWin := int32(0)
|
||||
billCoin := losePlayer.bombScore - gainScore
|
||||
|
|
@ -1862,8 +1877,11 @@ func (this *SceneBilledStateTienLen) OnEnter(s *base.Scene) {
|
|||
var rankScore int64 // 排位积分
|
||||
var sceneTypeScore int64 // 场次额外积分
|
||||
var vipScore int64 // vip加成
|
||||
var roleScore int64 // 角色加成
|
||||
var weekCardScore int64 // 周卡加成
|
||||
var otherScore int64 // 额外总加分
|
||||
var skinScore int64 // 皮肤技能加成
|
||||
var roleAdd, skinAdd int32
|
||||
var otherScore int64 // 额外总加分
|
||||
oldRankScore := lastWinPlayer.GetRankScore(sceneEx.GetDBGameFree().GetRankType())
|
||||
lastWinScore := rule.GetLoseScore(lastWinPlayer.cards, true)
|
||||
rankScore = int64(lastWinScore) + 50
|
||||
|
|
@ -1897,14 +1915,18 @@ func (this *SceneBilledStateTienLen) OnEnter(s *base.Scene) {
|
|||
vipScore = int64(math.Ceil(float64(rankScore) * float64(lastWinPlayer.VipExtra) / 100.0))
|
||||
// 角色加成分
|
||||
_, roleAdd = srvdata.RolePetMgrSington.GetRoleAdd(&lastWinPlayer.PlayerData, common.RoleAddRankScore)
|
||||
roleScore = int64(math.Ceil(float64(rankScore) * float64(roleAdd) / 100.0))
|
||||
//周卡加成
|
||||
if lastWinPlayer.GetWeekCardPrivilege(2) {
|
||||
weekCardScore = int64(math.Ceil(float64(rankScore) * float64(5) / 100.0))
|
||||
}
|
||||
|
||||
roleScore = int64(math.Ceil(float64(rankScore) * float64(roleAdd) / 100.0))
|
||||
// 皮肤技能加成
|
||||
skinAdd = lastWinPlayer.GetSkillAdd(common.SkillIdRankScore)
|
||||
if skinAdd > 0 {
|
||||
skinScore = int64(math.Ceil(float64(rankScore) * float64(skinAdd) / 100.0))
|
||||
}
|
||||
}
|
||||
otherScore = sceneTypeScore + vipScore + roleScore + weekCardScore
|
||||
otherScore = sceneTypeScore + vipScore + roleScore + weekCardScore + skinScore
|
||||
lastWinPlayer.AddRankScore(sceneEx.GetDBGameFree().GetRankType(), rankScore+otherScore) // 炸弹分一起算
|
||||
}
|
||||
lastWinPlayer.winCoin -= astWinGainScore
|
||||
|
|
@ -1919,7 +1941,7 @@ func (this *SceneBilledStateTienLen) OnEnter(s *base.Scene) {
|
|||
}
|
||||
billData.WinRankScore = billData.RankScore - oldRankScore
|
||||
if otherScore > 0 {
|
||||
addItems(billData, sceneTypeScore, int64(lastWinPlayer.VipExtra), vipScore, int64(roleAdd), roleScore, weekCardScore)
|
||||
addItems(billData, sceneTypeScore, int64(lastWinPlayer.VipExtra), vipScore, int64(roleAdd), roleScore, weekCardScore, int64(skinAdd), skinScore)
|
||||
}
|
||||
isWin := int32(0)
|
||||
billCoin := lastWinPlayer.bombScore - astWinGainScore
|
||||
|
|
@ -1975,8 +1997,11 @@ func (this *SceneBilledStateTienLen) OnEnter(s *base.Scene) {
|
|||
var rankScore int64 // 排位积分
|
||||
var sceneTypeScore int64 // 场次额外积分
|
||||
var vipScore int64 // vip加成
|
||||
var roleScore int64 // 角色加成
|
||||
var weekCardScore int64 // 周卡加成
|
||||
var otherScore int64 // 额外总加分
|
||||
var skinScore int64 // 皮肤技能加成
|
||||
var roleAdd, skinAdd int32
|
||||
var otherScore int64 // 额外总加分
|
||||
oldRankScore := playerEx.GetRankScore(sceneEx.GetDBGameFree().GetRankType())
|
||||
rankScore = loseRankScore
|
||||
taxRate := sceneEx.DbGameFree.GetTaxRate() //万分比
|
||||
|
|
@ -2006,8 +2031,13 @@ func (this *SceneBilledStateTienLen) OnEnter(s *base.Scene) {
|
|||
if playerEx.GetWeekCardPrivilege(2) {
|
||||
weekCardScore = int64(math.Ceil(float64(rankScore) * float64(5) / 100.0))
|
||||
}
|
||||
// 皮肤技能加成
|
||||
skinAdd = playerEx.GetSkillAdd(common.SkillIdRankScore)
|
||||
if skinAdd > 0 {
|
||||
skinScore = int64(math.Ceil(float64(rankScore) * float64(skinAdd) / 100.0))
|
||||
}
|
||||
}
|
||||
otherScore = sceneTypeScore + vipScore + roleScore + weekCardScore
|
||||
otherScore = sceneTypeScore + vipScore + roleScore + weekCardScore + skinScore
|
||||
playerEx.AddRankScore(sceneEx.GetDBGameFree().GetRankType(), rankScore+otherScore) // 炸弹分一起算
|
||||
}
|
||||
playerEx.winCoin += gainScore
|
||||
|
|
@ -2022,7 +2052,7 @@ func (this *SceneBilledStateTienLen) OnEnter(s *base.Scene) {
|
|||
}
|
||||
billData.WinRankScore = billData.RankScore - oldRankScore
|
||||
if otherScore > 0 {
|
||||
addItems(billData, sceneTypeScore, int64(playerEx.VipExtra), vipScore, int64(roleAdd), roleScore, weekCardScore)
|
||||
addItems(billData, sceneTypeScore, int64(playerEx.VipExtra), vipScore, int64(roleAdd), roleScore, weekCardScore, int64(skinAdd), skinScore)
|
||||
}
|
||||
isWin := int32(0)
|
||||
billCoin := playerEx.bombScore + gainScore
|
||||
|
|
@ -2077,8 +2107,11 @@ func (this *SceneBilledStateTienLen) OnEnter(s *base.Scene) {
|
|||
var rankScore int64 // 排位积分
|
||||
var sceneTypeScore int64 // 场次额外积分
|
||||
var vipScore int64 // vip加成
|
||||
var roleScore int64 // 角色加成
|
||||
var weekCardScore int64 // 周卡加成
|
||||
var otherScore int64 // 额外总加分
|
||||
var skinScore int64 // 皮肤技能加成
|
||||
var roleAdd, skinAdd int32
|
||||
var otherScore int64 // 额外总加分
|
||||
oldRankScore := playerEx.GetRankScore(sceneEx.GetDBGameFree().GetRankType())
|
||||
rankScore = lastWinPlayerRankScore
|
||||
taxRate := sceneEx.DbGameFree.GetTaxRate() //万分比
|
||||
|
|
@ -2103,8 +2136,13 @@ func (this *SceneBilledStateTienLen) OnEnter(s *base.Scene) {
|
|||
if playerEx.GetWeekCardPrivilege(2) {
|
||||
weekCardScore = int64(math.Ceil(float64(rankScore) * float64(5) / 100.0))
|
||||
}
|
||||
// 皮肤技能加成
|
||||
skinAdd = playerEx.GetSkillAdd(common.SkillIdRankScore)
|
||||
if skinAdd > 0 {
|
||||
skinScore = int64(math.Ceil(float64(rankScore) * float64(skinAdd) / 100.0))
|
||||
}
|
||||
}
|
||||
otherScore = sceneTypeScore + vipScore + roleScore + weekCardScore
|
||||
otherScore = sceneTypeScore + vipScore + roleScore + weekCardScore + skinScore
|
||||
playerEx.AddRankScore(sceneEx.GetDBGameFree().GetRankType(), rankScore+otherScore) // 炸弹分一起算
|
||||
}
|
||||
playerEx.winCoin += gainScore
|
||||
|
|
@ -2119,7 +2157,7 @@ func (this *SceneBilledStateTienLen) OnEnter(s *base.Scene) {
|
|||
}
|
||||
billData.WinRankScore = billData.RankScore - oldRankScore
|
||||
if otherScore > 0 {
|
||||
addItems(billData, sceneTypeScore, int64(playerEx.VipExtra), vipScore, int64(roleAdd), roleScore, weekCardScore)
|
||||
addItems(billData, sceneTypeScore, int64(playerEx.VipExtra), vipScore, int64(roleAdd), roleScore, weekCardScore, int64(skinAdd), skinScore)
|
||||
}
|
||||
isWin := int32(0)
|
||||
billCoin := playerEx.bombScore + gainScore
|
||||
|
|
@ -2175,9 +2213,10 @@ func (this *SceneBilledStateTienLen) OnEnter(s *base.Scene) {
|
|||
var rankScore int64 // 排位积分
|
||||
var sceneTypeScore int64 // 场次额外积分
|
||||
var vipScore int64 // vip加成
|
||||
var weekCardScore int64 // 周卡加成
|
||||
var roleScore int64 // 角色加成
|
||||
var roleAdd int32
|
||||
var weekCardScore int64 // 周卡加成
|
||||
var skinScore int64 // 皮肤技能加成
|
||||
var roleAdd, skinAdd int32
|
||||
var otherScore int64 // 额外总加分
|
||||
playerEx := sceneEx.seats[i]
|
||||
if playerEx == nil {
|
||||
|
|
@ -2246,8 +2285,13 @@ func (this *SceneBilledStateTienLen) OnEnter(s *base.Scene) {
|
|||
if playerEx.GetWeekCardPrivilege(2) {
|
||||
weekCardScore = int64(math.Ceil(float64(rankScore) * float64(5) / 100.0))
|
||||
}
|
||||
// 皮肤技能加成
|
||||
skinAdd = playerEx.GetSkillAdd(common.SkillIdRankScore)
|
||||
if skinAdd > 0 {
|
||||
skinScore = int64(math.Ceil(float64(rankScore) * float64(skinAdd) / 100.0))
|
||||
}
|
||||
}
|
||||
otherScore = sceneTypeScore + vipScore + roleScore + weekCardScore
|
||||
otherScore = sceneTypeScore + vipScore + roleScore + weekCardScore + skinScore
|
||||
playerEx.AddRankScore(sceneEx.GetDBGameFree().GetRankType(), rankScore+otherScore) // 炸弹分一起算
|
||||
}
|
||||
playerEx.winCoin -= gainScore
|
||||
|
|
@ -2263,7 +2307,7 @@ func (this *SceneBilledStateTienLen) OnEnter(s *base.Scene) {
|
|||
}
|
||||
billData.WinRankScore = billData.RankScore - oldRankScore
|
||||
if otherScore > 0 {
|
||||
addItems(billData, sceneTypeScore, int64(playerEx.VipExtra), vipScore, int64(roleAdd), roleScore, weekCardScore)
|
||||
addItems(billData, sceneTypeScore, int64(playerEx.VipExtra), vipScore, int64(roleAdd), roleScore, weekCardScore, int64(skinAdd), skinScore)
|
||||
}
|
||||
|
||||
isWin := int32(0)
|
||||
|
|
@ -2346,7 +2390,8 @@ func (this *SceneBilledStateTienLen) OnEnter(s *base.Scene) {
|
|||
var vipScore int64 // vip加成
|
||||
var roleScore int64 // 角色加成
|
||||
var weekCardScore int64 // 周卡加成
|
||||
var roleAdd int32
|
||||
var skinScore int64 // 皮肤技能加成
|
||||
var roleAdd, skinAdd int32
|
||||
var otherScore int64 // 额外总加分
|
||||
playerEx := sceneEx.players[winSnid]
|
||||
if playerEx != nil {
|
||||
|
|
@ -2372,7 +2417,12 @@ func (this *SceneBilledStateTienLen) OnEnter(s *base.Scene) {
|
|||
if playerEx.GetWeekCardPrivilege(2) {
|
||||
weekCardScore = int64(math.Ceil(float64(rankScore) * float64(5) / 100.0))
|
||||
}
|
||||
otherScore = sceneTypeScore + vipScore + roleScore + weekCardScore
|
||||
// 皮肤技能加成
|
||||
skinAdd = playerEx.GetSkillAdd(common.SkillIdRankScore)
|
||||
if skinAdd > 0 {
|
||||
skinScore = int64(math.Ceil(float64(rankScore) * float64(skinAdd) / 100.0))
|
||||
}
|
||||
otherScore = sceneTypeScore + vipScore + roleScore + weekCardScore + skinScore
|
||||
playerEx.AddRankScore(sceneEx.GetDBGameFree().GetRankType(), rankScore+otherScore)
|
||||
}
|
||||
playerEx.winCoin += gainScore
|
||||
|
|
@ -2387,7 +2437,7 @@ func (this *SceneBilledStateTienLen) OnEnter(s *base.Scene) {
|
|||
TianHu: playerEx.tianHu,
|
||||
}
|
||||
if otherScore > 0 {
|
||||
addItems(billData, sceneTypeScore, int64(playerEx.VipExtra), vipScore, int64(roleAdd), roleScore, weekCardScore)
|
||||
addItems(billData, sceneTypeScore, int64(playerEx.VipExtra), vipScore, int64(roleAdd), roleScore, weekCardScore, int64(skinAdd), skinScore)
|
||||
}
|
||||
|
||||
isWin := int32(0)
|
||||
|
|
|
|||
|
|
@ -127,6 +127,8 @@ type AllConfig struct {
|
|||
*webapi.DiamondLotteryConfig
|
||||
// 道具配置
|
||||
*webapi.ItemConfig
|
||||
// 皮肤配置
|
||||
*webapi.SkinConfig
|
||||
}
|
||||
|
||||
type GlobalConfig struct {
|
||||
|
|
@ -267,3 +269,72 @@ func (cm *ConfigMgr) GetPermitConfig(plt, channel string) *webapi.PermitChannelC
|
|||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (cm *ConfigMgr) GetSkinInfo(plt string, skinId int32) *webapi.SkinItem {
|
||||
cfg := cm.GetConfig(plt).SkinConfig
|
||||
if cfg == nil {
|
||||
return nil
|
||||
}
|
||||
for _, v := range cfg.GetItems() {
|
||||
if v.GetId() == skinId {
|
||||
return v
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (cm *ConfigMgr) GetSkinLevel(plt string, skinId, level int32) *webapi.SkinLevel {
|
||||
cfg := cm.GetConfig(plt).SkinConfig
|
||||
if cfg == nil {
|
||||
return nil
|
||||
}
|
||||
for _, v := range cfg.GetItems() {
|
||||
if v.GetId() == skinId {
|
||||
for _, vv := range v.GetLevels() {
|
||||
if vv.GetLevel() == level {
|
||||
return vv
|
||||
}
|
||||
}
|
||||
break
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (cm *ConfigMgr) GetSkinMaxLevel(plt string, skinId int32) int32 {
|
||||
cfg := cm.GetConfig(plt).SkinConfig
|
||||
if cfg == nil {
|
||||
return 0
|
||||
}
|
||||
var level int32
|
||||
for _, v := range cfg.GetItems() {
|
||||
if v.GetId() == skinId {
|
||||
for _, vv := range v.GetLevels() {
|
||||
if vv.GetLevel() > level {
|
||||
level = vv.GetLevel()
|
||||
}
|
||||
}
|
||||
break
|
||||
}
|
||||
}
|
||||
return level
|
||||
}
|
||||
|
||||
func (cm *ConfigMgr) GetSkinSkillMaxLevel(plt string, skinId int32) int32 {
|
||||
cfg := cm.GetConfig(plt).SkinConfig
|
||||
if cfg == nil {
|
||||
return 0
|
||||
}
|
||||
var level int32
|
||||
for _, v := range cfg.GetItems() {
|
||||
if v.GetId() == skinId {
|
||||
for _, vv := range v.GetLevels() {
|
||||
if vv.GetSkillLevel() > level {
|
||||
level = vv.GetSkillLevel()
|
||||
}
|
||||
}
|
||||
break
|
||||
}
|
||||
}
|
||||
return level
|
||||
}
|
||||
|
|
|
|||
160
model/player.go
160
model/player.go
|
|
@ -217,10 +217,20 @@ type ShopTotal struct {
|
|||
AdReceiveNum int32 //已经领取的次数
|
||||
}
|
||||
|
||||
type ModEx struct {
|
||||
Ts int64 //解锁时间戳
|
||||
}
|
||||
|
||||
type SkillEx struct {
|
||||
Ts int64 //解锁时间戳
|
||||
}
|
||||
|
||||
type ModInfo struct {
|
||||
ModUnlock map[int32]int32 //已经解锁的id:等级
|
||||
ModId int32 //使用中的id
|
||||
SkillInfo map[int32]map[int32]int32 //技能等级 ModId:技能id:技能等级
|
||||
ModUnlock map[int32]int32 //已经解锁的id:等级
|
||||
Mod map[int32]*ModEx //模型数据
|
||||
ModId int32 //使用中的id
|
||||
SkillInfo map[int32]map[int32]int32 //技能等级 ModId:技能id:技能等级
|
||||
Skill map[int32]map[int32]*SkillEx // 技能数据
|
||||
}
|
||||
|
||||
// 七日签到数据
|
||||
|
|
@ -714,6 +724,73 @@ func ConvertPlayerDataToWebData(param *WebPlayerDataParam) *webapi.PlayerData {
|
|||
pdfw.Long = param.Long
|
||||
pdfw.VCardCost = param.VCardCost
|
||||
pdfw.MoneyTotal = param.MoneyTotal
|
||||
if param.Roles != nil {
|
||||
pdfw.UseRoleId = param.Roles.ModId
|
||||
for k, v := range param.Roles.ModUnlock {
|
||||
if v <= 0 {
|
||||
continue
|
||||
}
|
||||
ts := int64(0)
|
||||
if param.Roles.Mod[k] != nil {
|
||||
ts = param.Pets.Mod[k].Ts
|
||||
}
|
||||
pdfw.RoleUnlockList = append(pdfw.RoleUnlockList, &webapi.ModInfo{
|
||||
Id: k,
|
||||
Level: v,
|
||||
Ts: ts,
|
||||
})
|
||||
}
|
||||
}
|
||||
if param.Skin != nil {
|
||||
pdfw.UseSkinId = param.Skin.ModId
|
||||
for k, v := range param.Skin.ModUnlock {
|
||||
if v > 0 {
|
||||
pdfw.SkinIds = append(pdfw.SkinIds, k)
|
||||
ts := int64(0)
|
||||
if param.Skin.Mod[k] != nil {
|
||||
ts = param.Skin.Mod[k].Ts
|
||||
}
|
||||
pdfw.SkinUnlockList = append(pdfw.SkinUnlockList, &webapi.ModInfo{
|
||||
Id: k,
|
||||
Level: v,
|
||||
Ts: ts,
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
if param.Pets != nil {
|
||||
for k, v := range param.Pets.ModUnlock {
|
||||
if v <= 0 {
|
||||
continue
|
||||
}
|
||||
ts := int64(0)
|
||||
if param.Pets.Mod[k] != nil {
|
||||
ts = param.Pets.Mod[k].Ts
|
||||
}
|
||||
pdfw.PetUnlockList = append(pdfw.PetUnlockList, &webapi.ModInfo{
|
||||
Id: k,
|
||||
Level: v,
|
||||
Ts: ts,
|
||||
})
|
||||
}
|
||||
for k, v := range param.Pets.SkillInfo {
|
||||
for skillId, skillLevel := range v {
|
||||
if skillLevel <= 0 {
|
||||
continue
|
||||
}
|
||||
ts := int64(0)
|
||||
if param.Pets.Skill[k] != nil && param.Pets.Skill[k][skillId] != nil {
|
||||
ts = param.Pets.Skill[k][skillId].Ts
|
||||
}
|
||||
pdfw.PetSkillUnlockList = append(pdfw.PetSkillUnlockList, &webapi.ModInfo{
|
||||
Id: skillId,
|
||||
Level: skillLevel,
|
||||
Ts: ts,
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return pdfw
|
||||
}
|
||||
func (this *PlayerData) IsMarkFlag(flag int) bool {
|
||||
|
|
@ -956,32 +1033,51 @@ func (this *PlayerData) InitNewData(params string) {
|
|||
}
|
||||
|
||||
func (this *PlayerData) InitRolesAndPets() {
|
||||
now := time.Now()
|
||||
|
||||
f := func(id int32) *ModInfo {
|
||||
ret := &ModInfo{
|
||||
ModUnlock: make(map[int32]int32),
|
||||
Mod: make(map[int32]*ModEx),
|
||||
ModId: id,
|
||||
SkillInfo: make(map[int32]map[int32]int32),
|
||||
Skill: make(map[int32]map[int32]*SkillEx),
|
||||
}
|
||||
this.Roles.ModUnlock[id] = 1
|
||||
this.Roles.Mod[id] = &ModEx{
|
||||
Ts: now.Unix(),
|
||||
}
|
||||
return ret
|
||||
}
|
||||
|
||||
f1 := func(mod *ModInfo) {
|
||||
if mod.ModUnlock == nil {
|
||||
mod.ModUnlock = make(map[int32]int32)
|
||||
}
|
||||
if mod.Mod == nil {
|
||||
mod.Mod = make(map[int32]*ModEx)
|
||||
}
|
||||
if mod.SkillInfo == nil {
|
||||
mod.SkillInfo = make(map[int32]map[int32]int32)
|
||||
}
|
||||
if mod.Skill == nil {
|
||||
mod.Skill = make(map[int32]map[int32]*SkillEx)
|
||||
}
|
||||
}
|
||||
|
||||
if this.Roles == nil || len(this.Roles.ModUnlock) == 0 {
|
||||
this.Roles = &ModInfo{
|
||||
ModUnlock: make(map[int32]int32),
|
||||
ModId: 2000001,
|
||||
SkillInfo: make(map[int32]map[int32]int32),
|
||||
}
|
||||
this.Roles.ModUnlock[2000001] = 1
|
||||
this.Roles = f(2000001)
|
||||
}
|
||||
|
||||
if this.Pets == nil || len(this.Pets.ModUnlock) == 0 {
|
||||
this.Pets = &ModInfo{
|
||||
ModUnlock: make(map[int32]int32),
|
||||
ModId: 1000001,
|
||||
SkillInfo: make(map[int32]map[int32]int32),
|
||||
}
|
||||
this.Pets.ModUnlock[1000001] = 1
|
||||
this.Pets = f(1000001)
|
||||
}
|
||||
if this.Skin == nil || len(this.Skin.ModUnlock) == 0 {
|
||||
this.Skin = f(300001)
|
||||
}
|
||||
|
||||
if this.Skin == nil || len(this.Skin.ModUnlock) == 0 {
|
||||
this.Skin = &ModInfo{
|
||||
ModUnlock: make(map[int32]int32),
|
||||
ModId: 300001,
|
||||
SkillInfo: make(map[int32]map[int32]int32),
|
||||
}
|
||||
this.Skin.ModUnlock[300001] = 1
|
||||
}
|
||||
f1(this.Roles)
|
||||
f1(this.Pets)
|
||||
f1(this.Skin)
|
||||
}
|
||||
|
||||
//func SavePlayerRebate(pd *PlayerData, thirdName string) error {
|
||||
|
|
@ -3019,6 +3115,22 @@ func (this *PlayerData) GetRoleId() int32 {
|
|||
return common.DefaultRoleId
|
||||
}
|
||||
|
||||
// GetSkillAdd2 获取技能加成
|
||||
// id 技能id
|
||||
func (this *PlayerData) GetSkillAdd2(id int32, cfg *ConfigMgr) int32 {
|
||||
if cfg == nil {
|
||||
return 0
|
||||
}
|
||||
for k, v := range this.Skin.ModUnlock {
|
||||
levelCfg := cfg.GetSkinLevel(this.Platform, k, v)
|
||||
skinCfg := cfg.GetSkinInfo(this.Platform, k)
|
||||
if v > 0 && levelCfg.GetSkillId() == id && (skinCfg.GetSkillType() == 0 || this.Skin.ModId == k) {
|
||||
return levelCfg.GetSkillValue()
|
||||
}
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
type BindArgs struct {
|
||||
Platform string
|
||||
PSnId, SnId int32
|
||||
|
|
|
|||
|
|
@ -274,6 +274,7 @@ const (
|
|||
ShowRedCode_Pet ShowRedCode = 3 // 宠物
|
||||
ShowRedCode_Welfare ShowRedCode = 4 // 福利活动
|
||||
ShowRedCode_RankReward ShowRedCode = 5 // 排位赛赛季奖励
|
||||
ShowRedCode_Skin ShowRedCode = 6 // 皮肤
|
||||
)
|
||||
|
||||
// Enum value maps for ShowRedCode.
|
||||
|
|
@ -285,6 +286,7 @@ var (
|
|||
3: "Pet",
|
||||
4: "Welfare",
|
||||
5: "RankReward",
|
||||
6: "Skin",
|
||||
}
|
||||
ShowRedCode_value = map[string]int32{
|
||||
"Mail": 0,
|
||||
|
|
@ -293,6 +295,7 @@ var (
|
|||
"Pet": 3,
|
||||
"Welfare": 4,
|
||||
"RankReward": 5,
|
||||
"Skin": 6,
|
||||
}
|
||||
)
|
||||
|
||||
|
|
@ -2830,15 +2833,16 @@ var file_hallpacket_proto_rawDesc = []byte{
|
|||
0x48, 0x61, 0x6c, 0x6c, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x10,
|
||||
0x07, 0x12, 0x10, 0x0a, 0x0c, 0x48, 0x61, 0x6c, 0x6c, 0x43, 0x6c, 0x75, 0x62, 0x52, 0x6f, 0x6f,
|
||||
0x6d, 0x10, 0x08, 0x12, 0x10, 0x0a, 0x0c, 0x48, 0x61, 0x6c, 0x6c, 0x54, 0x68, 0x69, 0x72, 0x64,
|
||||
0x50, 0x6c, 0x74, 0x10, 0x65, 0x2a, 0x51, 0x0a, 0x0b, 0x53, 0x68, 0x6f, 0x77, 0x52, 0x65, 0x64,
|
||||
0x50, 0x6c, 0x74, 0x10, 0x65, 0x2a, 0x5b, 0x0a, 0x0b, 0x53, 0x68, 0x6f, 0x77, 0x52, 0x65, 0x64,
|
||||
0x43, 0x6f, 0x64, 0x65, 0x12, 0x08, 0x0a, 0x04, 0x4d, 0x61, 0x69, 0x6c, 0x10, 0x00, 0x12, 0x08,
|
||||
0x0a, 0x04, 0x53, 0x68, 0x6f, 0x70, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x52, 0x6f, 0x6c, 0x65,
|
||||
0x10, 0x02, 0x12, 0x07, 0x0a, 0x03, 0x50, 0x65, 0x74, 0x10, 0x03, 0x12, 0x0b, 0x0a, 0x07, 0x57,
|
||||
0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x10, 0x04, 0x12, 0x0e, 0x0a, 0x0a, 0x52, 0x61, 0x6e, 0x6b,
|
||||
0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0x05, 0x42, 0x28, 0x5a, 0x26, 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, 0x67, 0x61, 0x6d, 0x65, 0x68, 0x61,
|
||||
0x6c, 0x6c, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0x05, 0x12, 0x08, 0x0a, 0x04, 0x53, 0x6b, 0x69, 0x6e,
|
||||
0x10, 0x06, 0x42, 0x28, 0x5a, 0x26, 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, 0x67, 0x61, 0x6d, 0x65, 0x68, 0x61, 0x6c, 0x6c, 0x62, 0x06, 0x70, 0x72,
|
||||
0x6f, 0x74, 0x6f, 0x33,
|
||||
}
|
||||
|
||||
var (
|
||||
|
|
|
|||
|
|
@ -339,6 +339,7 @@ enum ShowRedCode {
|
|||
Pet = 3; // 宠物
|
||||
Welfare = 4; // 福利活动
|
||||
RankReward = 5; // 排位赛赛季奖励
|
||||
Skin = 6; // 皮肤
|
||||
}
|
||||
|
||||
// 通知红点
|
||||
|
|
|
|||
|
|
@ -1381,13 +1381,21 @@ type SkinInfo struct {
|
|||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` //皮肤id
|
||||
Level int32 `protobuf:"varint,2,opt,name=Level,proto3" json:"Level,omitempty"` //皮肤等级
|
||||
MaxLevel int32 `protobuf:"varint,3,opt,name=MaxLevel,proto3" json:"MaxLevel,omitempty"` //最大等级
|
||||
Cost []*Item `protobuf:"bytes,4,rep,name=Cost,proto3" json:"Cost,omitempty"` // 升级消耗
|
||||
Have []*Item `protobuf:"bytes,5,rep,name=Have,proto3" json:"Have,omitempty"` // 拥有道具
|
||||
IsUsing bool `protobuf:"varint,6,opt,name=IsUsing,proto3" json:"IsUsing,omitempty"` //是否在使用中
|
||||
IsUnlock bool `protobuf:"varint,7,opt,name=IsUnlock,proto3" json:"IsUnlock,omitempty"` //是否已经解锁
|
||||
Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` //皮肤id
|
||||
Level int32 `protobuf:"varint,2,opt,name=Level,proto3" json:"Level,omitempty"` //皮肤等级
|
||||
MaxLevel int32 `protobuf:"varint,3,opt,name=MaxLevel,proto3" json:"MaxLevel,omitempty"` //最大等级
|
||||
Cost []*Item `protobuf:"bytes,4,rep,name=Cost,proto3" json:"Cost,omitempty"` // 升级消耗
|
||||
Have []*Item `protobuf:"bytes,5,rep,name=Have,proto3" json:"Have,omitempty"` // 拥有道具
|
||||
IsUsing bool `protobuf:"varint,6,opt,name=IsUsing,proto3" json:"IsUsing,omitempty"` //是否在使用中
|
||||
IsUnlock bool `protobuf:"varint,7,opt,name=IsUnlock,proto3" json:"IsUnlock,omitempty"` //是否已经解锁
|
||||
IsUpgrade bool `protobuf:"varint,8,opt,name=IsUpgrade,proto3" json:"IsUpgrade,omitempty"` // 皮肤升级开关
|
||||
SkillId int32 `protobuf:"varint,9,opt,name=SkillId,proto3" json:"SkillId,omitempty"` //技能id
|
||||
SkillLevel int32 `protobuf:"varint,10,opt,name=SkillLevel,proto3" json:"SkillLevel,omitempty"` //技能等级
|
||||
SkillNextLevel int32 `protobuf:"varint,11,opt,name=SkillNextLevel,proto3" json:"SkillNextLevel,omitempty"` //技能下一等级
|
||||
SkillMaxLevel int32 `protobuf:"varint,12,opt,name=SkillMaxLevel,proto3" json:"SkillMaxLevel,omitempty"` //技能最大等级
|
||||
SkillValue int32 `protobuf:"varint,13,opt,name=SkillValue,proto3" json:"SkillValue,omitempty"` //技能属性值
|
||||
SkillNextValue int32 `protobuf:"varint,14,opt,name=SkillNextValue,proto3" json:"SkillNextValue,omitempty"` //技能下一级属性值
|
||||
SkillType int32 `protobuf:"varint,15,opt,name=SkillType,proto3" json:"SkillType,omitempty"` // 技能生效类型 0获得后生效 1穿戴生效
|
||||
}
|
||||
|
||||
func (x *SkinInfo) Reset() {
|
||||
|
|
@ -1471,6 +1479,62 @@ func (x *SkinInfo) GetIsUnlock() bool {
|
|||
return false
|
||||
}
|
||||
|
||||
func (x *SkinInfo) GetIsUpgrade() bool {
|
||||
if x != nil {
|
||||
return x.IsUpgrade
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
func (x *SkinInfo) GetSkillId() int32 {
|
||||
if x != nil {
|
||||
return x.SkillId
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *SkinInfo) GetSkillLevel() int32 {
|
||||
if x != nil {
|
||||
return x.SkillLevel
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *SkinInfo) GetSkillNextLevel() int32 {
|
||||
if x != nil {
|
||||
return x.SkillNextLevel
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *SkinInfo) GetSkillMaxLevel() int32 {
|
||||
if x != nil {
|
||||
return x.SkillMaxLevel
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *SkinInfo) GetSkillValue() int32 {
|
||||
if x != nil {
|
||||
return x.SkillValue
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *SkinInfo) GetSkillNextValue() int32 {
|
||||
if x != nil {
|
||||
return x.SkillNextValue
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *SkinInfo) GetSkillType() int32 {
|
||||
if x != nil {
|
||||
return x.SkillType
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
//PACKET_CS_SKIN_INFO
|
||||
type CSSkinInfo struct {
|
||||
state protoimpl.MessageState
|
||||
|
|
@ -2024,7 +2088,7 @@ var file_pets_proto_rawDesc = []byte{
|
|||
0x28, 0x05, 0x52, 0x0a, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x22, 0x24,
|
||||
0x0a, 0x04, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01,
|
||||
0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x0c, 0x0a, 0x01, 0x4e, 0x18, 0x02, 0x20, 0x01, 0x28,
|
||||
0x03, 0x52, 0x01, 0x4e, 0x22, 0xc2, 0x01, 0x0a, 0x08, 0x53, 0x6b, 0x69, 0x6e, 0x49, 0x6e, 0x66,
|
||||
0x03, 0x52, 0x01, 0x4e, 0x22, 0xce, 0x03, 0x0a, 0x08, 0x53, 0x6b, 0x69, 0x6e, 0x49, 0x6e, 0x66,
|
||||
0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49,
|
||||
0x64, 0x12, 0x14, 0x0a, 0x05, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05,
|
||||
0x52, 0x05, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x4d, 0x61, 0x78, 0x4c, 0x65,
|
||||
|
|
@ -2036,85 +2100,102 @@ var file_pets_proto_rawDesc = []byte{
|
|||
0x61, 0x76, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x49, 0x73, 0x55, 0x73, 0x69, 0x6e, 0x67, 0x18, 0x06,
|
||||
0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x49, 0x73, 0x55, 0x73, 0x69, 0x6e, 0x67, 0x12, 0x1a, 0x0a,
|
||||
0x08, 0x49, 0x73, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52,
|
||||
0x08, 0x49, 0x73, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x22, 0x0c, 0x0a, 0x0a, 0x43, 0x53, 0x53,
|
||||
0x6b, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x32, 0x0a, 0x0a, 0x53, 0x43, 0x53, 0x6b, 0x69,
|
||||
0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x24, 0x0a, 0x05, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x18, 0x01,
|
||||
0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x65, 0x74, 0x73, 0x2e, 0x53, 0x6b, 0x69, 0x6e,
|
||||
0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x22, 0x1b, 0x0a, 0x09, 0x43,
|
||||
0x53, 0x53, 0x6b, 0x69, 0x6e, 0x55, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01,
|
||||
0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x22, 0x5d, 0x0a, 0x09, 0x53, 0x43, 0x53, 0x6b,
|
||||
0x69, 0x6e, 0x55, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
|
||||
0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x07, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65,
|
||||
0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x70, 0x65, 0x74, 0x73, 0x2e, 0x4f, 0x70,
|
||||
0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x52, 0x65, 0x74, 0x43,
|
||||
0x6f, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x6e, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28,
|
||||
0x05, 0x52, 0x04, 0x53, 0x6e, 0x49, 0x64, 0x22, 0x1f, 0x0a, 0x0d, 0x43, 0x53, 0x53, 0x6b, 0x69,
|
||||
0x6e, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01,
|
||||
0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x22, 0x61, 0x0a, 0x0d, 0x53, 0x43, 0x53, 0x6b,
|
||||
0x69, 0x6e, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x12, 0x22, 0x0a, 0x04, 0x49, 0x6e, 0x66,
|
||||
0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x65, 0x74, 0x73, 0x2e, 0x53,
|
||||
0x6b, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2c, 0x0a,
|
||||
0x07, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12,
|
||||
0x2e, 0x70, 0x65, 0x74, 0x73, 0x2e, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f,
|
||||
0x64, 0x65, 0x52, 0x07, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x22, 0x1e, 0x0a, 0x0c, 0x43,
|
||||
0x53, 0x53, 0x4b, 0x69, 0x6e, 0x55, 0x6e, 0x4c, 0x6f, 0x63, 0x6b, 0x12, 0x0e, 0x0a, 0x02, 0x49,
|
||||
0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x22, 0x70, 0x0a, 0x0c, 0x53,
|
||||
0x43, 0x53, 0x6b, 0x69, 0x6e, 0x55, 0x6e, 0x4c, 0x6f, 0x63, 0x6b, 0x12, 0x0e, 0x0a, 0x02, 0x49,
|
||||
0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x07, 0x52,
|
||||
0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x70,
|
||||
0x65, 0x74, 0x73, 0x2e, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65,
|
||||
0x52, 0x07, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x22, 0x0a, 0x04, 0x49, 0x6e, 0x66,
|
||||
0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x65, 0x74, 0x73, 0x2e, 0x53,
|
||||
0x6b, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x2a, 0xf7, 0x04,
|
||||
0x0a, 0x0c, 0x50, 0x65, 0x74, 0x73, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x44, 0x12, 0x15,
|
||||
0x0a, 0x11, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x41, 0x4e, 0x44, 0x59, 0x5f, 0x5a,
|
||||
0x45, 0x52, 0x4f, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f,
|
||||
0x43, 0x53, 0x5f, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0xf6, 0x13, 0x12,
|
||||
0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x52, 0x4f, 0x4c,
|
||||
0x45, 0x5f, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0xf7, 0x13, 0x12, 0x17, 0x0a, 0x12, 0x50, 0x41, 0x43,
|
||||
0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x50, 0x45, 0x54, 0x5f, 0x49, 0x4e, 0x46, 0x4f, 0x10,
|
||||
0xf8, 0x13, 0x12, 0x17, 0x0a, 0x12, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f,
|
||||
0x50, 0x45, 0x54, 0x5f, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0xf9, 0x13, 0x12, 0x1d, 0x0a, 0x18, 0x50,
|
||||
0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x50, 0x45, 0x54, 0x5f, 0x52, 0x49, 0x53,
|
||||
0x49, 0x4e, 0x47, 0x53, 0x54, 0x41, 0x52, 0x10, 0xfa, 0x13, 0x12, 0x1e, 0x0a, 0x19, 0x50, 0x41,
|
||||
0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x52, 0x49, 0x53,
|
||||
0x49, 0x4e, 0x47, 0x53, 0x54, 0x41, 0x52, 0x10, 0xfb, 0x13, 0x12, 0x1d, 0x0a, 0x18, 0x50, 0x41,
|
||||
0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x50, 0x45, 0x54, 0x5f, 0x52, 0x49, 0x53, 0x49,
|
||||
0x4e, 0x47, 0x53, 0x54, 0x41, 0x52, 0x10, 0xfc, 0x13, 0x12, 0x1b, 0x0a, 0x16, 0x50, 0x41, 0x43,
|
||||
0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x52, 0x4f, 0x4c, 0x45, 0x50, 0x45, 0x54, 0x55, 0x53,
|
||||
0x45, 0x4f, 0x50, 0x10, 0xfd, 0x13, 0x12, 0x1b, 0x0a, 0x16, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54,
|
||||
0x5f, 0x53, 0x43, 0x5f, 0x52, 0x4f, 0x4c, 0x45, 0x50, 0x45, 0x54, 0x55, 0x53, 0x45, 0x4f, 0x50,
|
||||
0x10, 0xfe, 0x13, 0x12, 0x1c, 0x0a, 0x17, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53,
|
||||
0x5f, 0x52, 0x4f, 0x4c, 0x45, 0x50, 0x45, 0x54, 0x55, 0x4e, 0x4c, 0x4f, 0x43, 0x4b, 0x10, 0xff,
|
||||
0x13, 0x12, 0x1c, 0x0a, 0x17, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x52,
|
||||
0x4f, 0x4c, 0x45, 0x50, 0x45, 0x54, 0x55, 0x4e, 0x4c, 0x4f, 0x43, 0x4b, 0x10, 0x80, 0x14, 0x12,
|
||||
0x1e, 0x0a, 0x19, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x50, 0x45, 0x54,
|
||||
0x53, 0x4b, 0x49, 0x4c, 0x4c, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x55, 0x50, 0x10, 0x81, 0x14, 0x12,
|
||||
0x1e, 0x0a, 0x19, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x50, 0x45, 0x54,
|
||||
0x53, 0x4b, 0x49, 0x4c, 0x4c, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x55, 0x50, 0x10, 0x82, 0x14, 0x12,
|
||||
0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x53, 0x4b, 0x49,
|
||||
0x4e, 0x5f, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0x83, 0x14, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43,
|
||||
0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x53, 0x4b, 0x49, 0x4e, 0x5f, 0x49, 0x4e, 0x46, 0x4f,
|
||||
0x10, 0x84, 0x14, 0x12, 0x17, 0x0a, 0x12, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53,
|
||||
0x5f, 0x53, 0x4b, 0x49, 0x4e, 0x5f, 0x55, 0x53, 0x45, 0x10, 0x85, 0x14, 0x12, 0x17, 0x0a, 0x12,
|
||||
0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x53, 0x4b, 0x49, 0x4e, 0x5f, 0x55,
|
||||
0x53, 0x45, 0x10, 0x86, 0x14, 0x12, 0x1b, 0x0a, 0x16, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f,
|
||||
0x43, 0x53, 0x5f, 0x53, 0x4b, 0x49, 0x4e, 0x5f, 0x55, 0x50, 0x47, 0x52, 0x41, 0x44, 0x45, 0x10,
|
||||
0x87, 0x14, 0x12, 0x1b, 0x0a, 0x16, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f,
|
||||
0x53, 0x4b, 0x49, 0x4e, 0x5f, 0x55, 0x50, 0x47, 0x52, 0x41, 0x44, 0x45, 0x10, 0x88, 0x14, 0x12,
|
||||
0x1a, 0x0a, 0x15, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x53, 0x4b, 0x49,
|
||||
0x4e, 0x5f, 0x55, 0x4e, 0x4c, 0x4f, 0x43, 0x4b, 0x10, 0x89, 0x14, 0x12, 0x1a, 0x0a, 0x15, 0x50,
|
||||
0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x53, 0x4b, 0x49, 0x4e, 0x5f, 0x55, 0x4e,
|
||||
0x4c, 0x4f, 0x43, 0x4b, 0x10, 0x8a, 0x14, 0x2a, 0x67, 0x0a, 0x0c, 0x4f, 0x70, 0x52, 0x65, 0x73,
|
||||
0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x4f, 0x50, 0x52, 0x43, 0x5f,
|
||||
0x53, 0x75, 0x63, 0x65, 0x73, 0x73, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x4f, 0x50, 0x52, 0x43,
|
||||
0x5f, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x4f, 0x50, 0x52, 0x43,
|
||||
0x5f, 0x4e, 0x6f, 0x74, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0x02, 0x12, 0x11, 0x0a, 0x0d,
|
||||
0x4f, 0x50, 0x52, 0x43, 0x5f, 0x4d, 0x61, 0x78, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x10, 0x03, 0x12,
|
||||
0x0f, 0x0a, 0x0b, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x10, 0x04,
|
||||
0x42, 0x24, 0x5a, 0x22, 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, 0x70, 0x65, 0x74, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
0x08, 0x49, 0x73, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x1c, 0x0a, 0x09, 0x49, 0x73, 0x55,
|
||||
0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x49, 0x73,
|
||||
0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x6b, 0x69, 0x6c, 0x6c,
|
||||
0x49, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x49,
|
||||
0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18,
|
||||
0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x4c, 0x65, 0x76, 0x65,
|
||||
0x6c, 0x12, 0x26, 0x0a, 0x0e, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x4e, 0x65, 0x78, 0x74, 0x4c, 0x65,
|
||||
0x76, 0x65, 0x6c, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x53, 0x6b, 0x69, 0x6c, 0x6c,
|
||||
0x4e, 0x65, 0x78, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x24, 0x0a, 0x0d, 0x53, 0x6b, 0x69,
|
||||
0x6c, 0x6c, 0x4d, 0x61, 0x78, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05,
|
||||
0x52, 0x0d, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x4d, 0x61, 0x78, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12,
|
||||
0x1e, 0x0a, 0x0a, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x0d, 0x20,
|
||||
0x01, 0x28, 0x05, 0x52, 0x0a, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12,
|
||||
0x26, 0x0a, 0x0e, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x4e, 0x65, 0x78, 0x74, 0x56, 0x61, 0x6c, 0x75,
|
||||
0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x4e, 0x65,
|
||||
0x78, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x53, 0x6b, 0x69, 0x6c, 0x6c,
|
||||
0x54, 0x79, 0x70, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x53, 0x6b, 0x69, 0x6c,
|
||||
0x6c, 0x54, 0x79, 0x70, 0x65, 0x22, 0x0c, 0x0a, 0x0a, 0x43, 0x53, 0x53, 0x6b, 0x69, 0x6e, 0x49,
|
||||
0x6e, 0x66, 0x6f, 0x22, 0x32, 0x0a, 0x0a, 0x53, 0x43, 0x53, 0x6b, 0x69, 0x6e, 0x49, 0x6e, 0x66,
|
||||
0x6f, 0x12, 0x24, 0x0a, 0x05, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
|
||||
0x32, 0x0e, 0x2e, 0x70, 0x65, 0x74, 0x73, 0x2e, 0x53, 0x6b, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f,
|
||||
0x52, 0x05, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x22, 0x1b, 0x0a, 0x09, 0x43, 0x53, 0x53, 0x6b, 0x69,
|
||||
0x6e, 0x55, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05,
|
||||
0x52, 0x02, 0x49, 0x64, 0x22, 0x5d, 0x0a, 0x09, 0x53, 0x43, 0x53, 0x6b, 0x69, 0x6e, 0x55, 0x73,
|
||||
0x65, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49,
|
||||
0x64, 0x12, 0x2c, 0x0a, 0x07, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01,
|
||||
0x28, 0x0e, 0x32, 0x12, 0x2e, 0x70, 0x65, 0x74, 0x73, 0x2e, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75,
|
||||
0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12,
|
||||
0x12, 0x0a, 0x04, 0x53, 0x6e, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x53,
|
||||
0x6e, 0x49, 0x64, 0x22, 0x1f, 0x0a, 0x0d, 0x43, 0x53, 0x53, 0x6b, 0x69, 0x6e, 0x55, 0x70, 0x67,
|
||||
0x72, 0x61, 0x64, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05,
|
||||
0x52, 0x02, 0x49, 0x64, 0x22, 0x61, 0x0a, 0x0d, 0x53, 0x43, 0x53, 0x6b, 0x69, 0x6e, 0x55, 0x70,
|
||||
0x67, 0x72, 0x61, 0x64, 0x65, 0x12, 0x22, 0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20,
|
||||
0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x65, 0x74, 0x73, 0x2e, 0x53, 0x6b, 0x69, 0x6e, 0x49,
|
||||
0x6e, 0x66, 0x6f, 0x52, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2c, 0x0a, 0x07, 0x52, 0x65, 0x74,
|
||||
0x43, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x70, 0x65, 0x74,
|
||||
0x73, 0x2e, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x07,
|
||||
0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x22, 0x1e, 0x0a, 0x0c, 0x43, 0x53, 0x53, 0x4b, 0x69,
|
||||
0x6e, 0x55, 0x6e, 0x4c, 0x6f, 0x63, 0x6b, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20,
|
||||
0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x22, 0x70, 0x0a, 0x0c, 0x53, 0x43, 0x53, 0x6b, 0x69,
|
||||
0x6e, 0x55, 0x6e, 0x4c, 0x6f, 0x63, 0x6b, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20,
|
||||
0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x07, 0x52, 0x65, 0x74, 0x43, 0x6f,
|
||||
0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x70, 0x65, 0x74, 0x73, 0x2e,
|
||||
0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x52, 0x65,
|
||||
0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x22, 0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20,
|
||||
0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x65, 0x74, 0x73, 0x2e, 0x53, 0x6b, 0x69, 0x6e, 0x49,
|
||||
0x6e, 0x66, 0x6f, 0x52, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x2a, 0xf7, 0x04, 0x0a, 0x0c, 0x50, 0x65,
|
||||
0x74, 0x73, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x44, 0x12, 0x15, 0x0a, 0x11, 0x50, 0x41,
|
||||
0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x41, 0x4e, 0x44, 0x59, 0x5f, 0x5a, 0x45, 0x52, 0x4f, 0x10,
|
||||
0x00, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x52,
|
||||
0x4f, 0x4c, 0x45, 0x5f, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0xf6, 0x13, 0x12, 0x18, 0x0a, 0x13, 0x50,
|
||||
0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x49, 0x4e,
|
||||
0x46, 0x4f, 0x10, 0xf7, 0x13, 0x12, 0x17, 0x0a, 0x12, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f,
|
||||
0x43, 0x53, 0x5f, 0x50, 0x45, 0x54, 0x5f, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0xf8, 0x13, 0x12, 0x17,
|
||||
0x0a, 0x12, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x50, 0x45, 0x54, 0x5f,
|
||||
0x49, 0x4e, 0x46, 0x4f, 0x10, 0xf9, 0x13, 0x12, 0x1d, 0x0a, 0x18, 0x50, 0x41, 0x43, 0x4b, 0x45,
|
||||
0x54, 0x5f, 0x43, 0x53, 0x5f, 0x50, 0x45, 0x54, 0x5f, 0x52, 0x49, 0x53, 0x49, 0x4e, 0x47, 0x53,
|
||||
0x54, 0x41, 0x52, 0x10, 0xfa, 0x13, 0x12, 0x1e, 0x0a, 0x19, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54,
|
||||
0x5f, 0x53, 0x43, 0x5f, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x52, 0x49, 0x53, 0x49, 0x4e, 0x47, 0x53,
|
||||
0x54, 0x41, 0x52, 0x10, 0xfb, 0x13, 0x12, 0x1d, 0x0a, 0x18, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54,
|
||||
0x5f, 0x53, 0x43, 0x5f, 0x50, 0x45, 0x54, 0x5f, 0x52, 0x49, 0x53, 0x49, 0x4e, 0x47, 0x53, 0x54,
|
||||
0x41, 0x52, 0x10, 0xfc, 0x13, 0x12, 0x1b, 0x0a, 0x16, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f,
|
||||
0x43, 0x53, 0x5f, 0x52, 0x4f, 0x4c, 0x45, 0x50, 0x45, 0x54, 0x55, 0x53, 0x45, 0x4f, 0x50, 0x10,
|
||||
0xfd, 0x13, 0x12, 0x1b, 0x0a, 0x16, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f,
|
||||
0x52, 0x4f, 0x4c, 0x45, 0x50, 0x45, 0x54, 0x55, 0x53, 0x45, 0x4f, 0x50, 0x10, 0xfe, 0x13, 0x12,
|
||||
0x1c, 0x0a, 0x17, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x52, 0x4f, 0x4c,
|
||||
0x45, 0x50, 0x45, 0x54, 0x55, 0x4e, 0x4c, 0x4f, 0x43, 0x4b, 0x10, 0xff, 0x13, 0x12, 0x1c, 0x0a,
|
||||
0x17, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x52, 0x4f, 0x4c, 0x45, 0x50,
|
||||
0x45, 0x54, 0x55, 0x4e, 0x4c, 0x4f, 0x43, 0x4b, 0x10, 0x80, 0x14, 0x12, 0x1e, 0x0a, 0x19, 0x50,
|
||||
0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x50, 0x45, 0x54, 0x53, 0x4b, 0x49, 0x4c,
|
||||
0x4c, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x55, 0x50, 0x10, 0x81, 0x14, 0x12, 0x1e, 0x0a, 0x19, 0x50,
|
||||
0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x50, 0x45, 0x54, 0x53, 0x4b, 0x49, 0x4c,
|
||||
0x4c, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x55, 0x50, 0x10, 0x82, 0x14, 0x12, 0x18, 0x0a, 0x13, 0x50,
|
||||
0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x53, 0x4b, 0x49, 0x4e, 0x5f, 0x49, 0x4e,
|
||||
0x46, 0x4f, 0x10, 0x83, 0x14, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f,
|
||||
0x53, 0x43, 0x5f, 0x53, 0x4b, 0x49, 0x4e, 0x5f, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0x84, 0x14, 0x12,
|
||||
0x17, 0x0a, 0x12, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x53, 0x4b, 0x49,
|
||||
0x4e, 0x5f, 0x55, 0x53, 0x45, 0x10, 0x85, 0x14, 0x12, 0x17, 0x0a, 0x12, 0x50, 0x41, 0x43, 0x4b,
|
||||
0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x53, 0x4b, 0x49, 0x4e, 0x5f, 0x55, 0x53, 0x45, 0x10, 0x86,
|
||||
0x14, 0x12, 0x1b, 0x0a, 0x16, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x53,
|
||||
0x4b, 0x49, 0x4e, 0x5f, 0x55, 0x50, 0x47, 0x52, 0x41, 0x44, 0x45, 0x10, 0x87, 0x14, 0x12, 0x1b,
|
||||
0x0a, 0x16, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x53, 0x4b, 0x49, 0x4e,
|
||||
0x5f, 0x55, 0x50, 0x47, 0x52, 0x41, 0x44, 0x45, 0x10, 0x88, 0x14, 0x12, 0x1a, 0x0a, 0x15, 0x50,
|
||||
0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x53, 0x4b, 0x49, 0x4e, 0x5f, 0x55, 0x4e,
|
||||
0x4c, 0x4f, 0x43, 0x4b, 0x10, 0x89, 0x14, 0x12, 0x1a, 0x0a, 0x15, 0x50, 0x41, 0x43, 0x4b, 0x45,
|
||||
0x54, 0x5f, 0x53, 0x43, 0x5f, 0x53, 0x4b, 0x49, 0x4e, 0x5f, 0x55, 0x4e, 0x4c, 0x4f, 0x43, 0x4b,
|
||||
0x10, 0x8a, 0x14, 0x2a, 0x67, 0x0a, 0x0c, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43,
|
||||
0x6f, 0x64, 0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x53, 0x75, 0x63, 0x65,
|
||||
0x73, 0x73, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x45, 0x72, 0x72,
|
||||
0x6f, 0x72, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x4e, 0x6f, 0x74,
|
||||
0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0x02, 0x12, 0x11, 0x0a, 0x0d, 0x4f, 0x50, 0x52, 0x43,
|
||||
0x5f, 0x4d, 0x61, 0x78, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x10, 0x03, 0x12, 0x0f, 0x0a, 0x0b, 0x4f,
|
||||
0x50, 0x52, 0x43, 0x5f, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x10, 0x04, 0x42, 0x24, 0x5a, 0x22,
|
||||
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, 0x70, 0x65,
|
||||
0x74, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
}
|
||||
|
||||
var (
|
||||
|
|
|
|||
|
|
@ -165,6 +165,14 @@ message SkinInfo{
|
|||
repeated Item Have = 5;// 拥有道具
|
||||
bool IsUsing = 6;//是否在使用中
|
||||
bool IsUnlock = 7;//是否已经解锁
|
||||
bool IsUpgrade = 8; // 皮肤升级开关
|
||||
int32 SkillId = 9;//技能id
|
||||
int32 SkillLevel = 10;//技能等级
|
||||
int32 SkillNextLevel = 11;//技能下一等级
|
||||
int32 SkillMaxLevel = 12;//技能最大等级
|
||||
int32 SkillValue = 13;//技能属性值
|
||||
int32 SkillNextValue = 14;//技能下一级属性值
|
||||
int32 SkillType = 15; // 技能生效类型 0获得后生效 1穿戴生效
|
||||
}
|
||||
|
||||
//PACKET_CS_SKIN_INFO
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -881,6 +881,8 @@ message DB_GameItem {
|
|||
|
||||
string Icon = 18;
|
||||
|
||||
map<int64, int64> Gain = 19;
|
||||
|
||||
}
|
||||
|
||||
message DB_GameItemArray {
|
||||
|
|
@ -1517,17 +1519,27 @@ message DB_Skin {
|
|||
|
||||
int32 Id = 1;
|
||||
|
||||
string Model = 2;
|
||||
int32 SkinClass = 2;
|
||||
|
||||
string SkinPic = 3;
|
||||
string Model = 3;
|
||||
|
||||
string SkinName = 4;
|
||||
string SkinPic = 4;
|
||||
|
||||
string SkinType = 5;
|
||||
string SkinName = 5;
|
||||
|
||||
int32 UnlockType = 6;
|
||||
string SkinType = 6;
|
||||
|
||||
map<int64, int64> UnlockItem = 7;
|
||||
int32 UnlockType = 7;
|
||||
|
||||
map<int64, int64> UnlockItem = 8;
|
||||
|
||||
string SkinSkillName = 9;
|
||||
|
||||
string SkinSkillIcon = 10;
|
||||
|
||||
string SkinSkillDes = 11;
|
||||
|
||||
int32 SkinSkillType = 12;
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -1545,6 +1557,14 @@ message DB_SkinLevel {
|
|||
|
||||
map<int64, int64> UpItem = 4;
|
||||
|
||||
int32 SkinSkillId = 5;
|
||||
|
||||
int32 SkinSkillLevel = 6;
|
||||
|
||||
int32 SkinSkillValue = 7;
|
||||
|
||||
string SkinSkillDes = 8;
|
||||
|
||||
}
|
||||
|
||||
message DB_SkinLevelArray {
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -208,6 +208,19 @@ message PlayerData{
|
|||
int64 VCardCost = 59; // v卡消耗
|
||||
int64 MoneyTotal = 60; // 充值总金额
|
||||
string ChannelID = 61; // 渠道ID
|
||||
int32 UseRoleId = 62; // 当前使用的角色id
|
||||
int32 UseSkinId = 63; // 当前使用的皮肤id
|
||||
repeated int32 SkinIds = 64; // 解锁的皮肤id列表
|
||||
repeated ModInfo RoleUnlockList = 65; // 解锁的角色列表
|
||||
repeated ModInfo PetUnlockList = 66; // 解锁的宠物列表
|
||||
repeated ModInfo PetSkillUnlockList = 67; // 解锁的宠物技能列表
|
||||
repeated ModInfo SkinUnlockList = 68; // 解锁的皮肤列表
|
||||
}
|
||||
|
||||
message ModInfo {
|
||||
int32 Id = 1; // 模型id
|
||||
int32 Level = 2; // 模型等级
|
||||
int64 Ts = 3; // 解锁时间
|
||||
}
|
||||
|
||||
message RoomInfo{
|
||||
|
|
@ -796,3 +809,26 @@ message ItemConfig {
|
|||
string Platform = 1; // 平台
|
||||
repeated server.DB_GameItem Items = 2; // 道具列表
|
||||
}
|
||||
|
||||
message SkinLevel {
|
||||
int32 Level = 1; // 等级
|
||||
map<int32,int64> UpItem = 2; // 升级所需道具
|
||||
int32 SkillId = 3; // 技能id
|
||||
int32 SkillLevel = 4; // 技能等级
|
||||
int32 SkillValue = 5; // 技能属性值
|
||||
}
|
||||
|
||||
message SkinItem {
|
||||
int32 Id = 1; // 皮肤id
|
||||
int32 UnlockType = 2; // 解锁类型 0默认使用 1自动使用道具解锁并使用 2使用道具解锁
|
||||
map<int32,int64> UnlockParam = 3; // 解锁所需道具
|
||||
int32 IsUpgrade = 4; // 升级开关 1开启 2关闭
|
||||
int32 SkillType = 5; // 技能生效类型 0获得后生效 1穿戴生效
|
||||
repeated SkinLevel Levels = 6; // 等级列表
|
||||
}
|
||||
|
||||
// etcd /game/skin_config
|
||||
message SkinConfig {
|
||||
string Platform = 1; // 平台
|
||||
repeated SkinItem Items = 2; // 皮肤列表
|
||||
}
|
||||
|
|
@ -298,6 +298,7 @@ func CSUpBagInfo(s *netlib.Session, packetid int, data interface{}, sid int64) e
|
|||
pack.NowItemNum = item.ItemNum
|
||||
}
|
||||
}
|
||||
|
||||
case ItemCanExchange:
|
||||
logger.Logger.Trace("道具兑换", msg.ItemId)
|
||||
itemInfo := srvdata.GameItemMgr.Get(p.Platform, msg.ItemId)
|
||||
|
|
@ -326,6 +327,52 @@ func CSUpBagInfo(s *netlib.Session, packetid int, data interface{}, sid int64) e
|
|||
//获取兑换码
|
||||
BagMgrSingleton.ItemExchangeCard(p, msg.ItemId, int32(itemInfo.Num), msg.CardType, bagInfo.LogId)
|
||||
}
|
||||
|
||||
case ItemCanFen:
|
||||
logger.Logger.Trace("道具分解", msg.ItemId)
|
||||
itemInfo := srvdata.GameItemMgr.Get(p.Platform, msg.ItemId)
|
||||
if msg.ItemNum > 0 && itemInfo != nil {
|
||||
_, _, isF := BagMgrSingleton.AddItemsV2(&ItemParam{
|
||||
P: p,
|
||||
Change: []*Item{
|
||||
{
|
||||
ItemId: msg.GetItemId(),
|
||||
ItemNum: int64(-msg.GetItemNum()),
|
||||
},
|
||||
},
|
||||
GainWay: common.GainWayItemFen,
|
||||
Operator: "system",
|
||||
Remark: fmt.Sprintf("道具分解%v", msg.GetItemId()),
|
||||
noLog: false,
|
||||
})
|
||||
if isF {
|
||||
pack.RetCode = bag.OpResultCode_OPRC_Sucess
|
||||
var changeItems []*Item
|
||||
for k, v := range itemInfo.GetGain() {
|
||||
if v > 0 {
|
||||
changeItems = append(changeItems, &Item{
|
||||
ItemId: int32(k),
|
||||
ItemNum: v * int64(msg.GetItemNum()),
|
||||
})
|
||||
}
|
||||
}
|
||||
BagMgrSingleton.AddItemsV2(&ItemParam{
|
||||
P: p,
|
||||
Change: changeItems,
|
||||
Cost: []*model.ItemInfo{
|
||||
{
|
||||
ItemId: msg.GetItemId(),
|
||||
ItemNum: int64(msg.GetItemNum()),
|
||||
},
|
||||
},
|
||||
GainWay: common.GainWayItemFenGain,
|
||||
Operator: "system",
|
||||
Remark: "道具分解获得",
|
||||
})
|
||||
pack.NowItemId = item.ItemId
|
||||
pack.NowItemNum = item.ItemNum
|
||||
}
|
||||
}
|
||||
}
|
||||
send()
|
||||
return nil
|
||||
|
|
|
|||
|
|
@ -1,12 +1,16 @@
|
|||
package main
|
||||
|
||||
import (
|
||||
"time"
|
||||
|
||||
"mongo.games.com/goserver/core/logger"
|
||||
"mongo.games.com/goserver/core/netlib"
|
||||
|
||||
"mongo.games.com/game/common"
|
||||
"mongo.games.com/game/model"
|
||||
"mongo.games.com/game/protocol/pets"
|
||||
"mongo.games.com/game/protocol/server"
|
||||
"mongo.games.com/game/srvdata"
|
||||
"mongo.games.com/goserver/core/logger"
|
||||
"mongo.games.com/goserver/core/netlib"
|
||||
)
|
||||
|
||||
type CSRoleInfoPacketFactory struct {
|
||||
|
|
@ -301,6 +305,12 @@ func (this *CSRolePetUnlockHandler) Process(s *netlib.Session, packetid int, dat
|
|||
"player", remark, 0, 0, false)
|
||||
|
||||
p.Roles.ModUnlock[msg.UseModId] = 1
|
||||
if p.Roles.Mod[msg.UseModId] == nil {
|
||||
p.Roles.Mod[msg.UseModId] = &model.ModEx{}
|
||||
}
|
||||
if p.Roles.Mod[msg.UseModId].Ts == 0 {
|
||||
p.Roles.Mod[msg.UseModId].Ts = time.Now().Unix()
|
||||
}
|
||||
FriendMgrSington.UpdateInfo(p.Platform, p.SnId)
|
||||
p.dirty = true
|
||||
logger.Logger.Trace("解锁人物", msg.UseModId)
|
||||
|
|
@ -320,6 +330,12 @@ func (this *CSRolePetUnlockHandler) Process(s *netlib.Session, packetid int, dat
|
|||
"player", remark, 0, 0, false)
|
||||
|
||||
p.Pets.ModUnlock[msg.UseModId] = 1
|
||||
if p.Pets.Mod[msg.UseModId] == nil {
|
||||
p.Pets.Mod[msg.UseModId] = &model.ModEx{}
|
||||
}
|
||||
if p.Pets.Mod[msg.UseModId].Ts == 0 {
|
||||
p.Pets.Mod[msg.UseModId].Ts = time.Now().Unix()
|
||||
}
|
||||
FriendMgrSington.UpdateInfo(p.Platform, p.SnId)
|
||||
p.dirty = true
|
||||
logger.Logger.Trace("解锁宠物", msg.UseModId)
|
||||
|
|
@ -392,6 +408,17 @@ func (this *CSPetSkillLevelUpHandler) Process(s *netlib.Session, packetid int, d
|
|||
_, _, isF := BagMgrSingleton.AddItems(p, items, 0, common.GainWayPetSkillLevelUp, "system", "宠物技能升级消耗", 0, 0, false)
|
||||
if isF {
|
||||
p.Pets.SkillInfo[petId][skillId] = level + 1
|
||||
if level == 0 {
|
||||
if p.Pets.Skill[petId] == nil {
|
||||
p.Pets.Skill[petId] = make(map[int32]*model.SkillEx)
|
||||
}
|
||||
if p.Pets.Skill[petId][skillId] == nil {
|
||||
p.Pets.Skill[petId][skillId] = &model.SkillEx{}
|
||||
}
|
||||
if p.Pets.Skill[petId][skillId].Ts == 0 {
|
||||
p.Pets.Skill[petId][skillId].Ts = time.Now().Unix()
|
||||
}
|
||||
}
|
||||
pack := &pets.SCPetSkillLevelUp{}
|
||||
pack.PetId = petId
|
||||
pack.SkillId = skillId
|
||||
|
|
@ -477,6 +504,8 @@ func CSSkinUpgrade(s *netlib.Session, packetid int, data interface{}, sid int64)
|
|||
return nil
|
||||
}
|
||||
|
||||
cfg := PlatformMgrSingleton.GetSkinInfo(p.Platform, msg.GetId())
|
||||
|
||||
pack := &pets.SCSkinUpgrade{
|
||||
RetCode: pets.OpResultCode_OPRC_Error,
|
||||
}
|
||||
|
|
@ -493,7 +522,7 @@ func CSSkinUpgrade(s *netlib.Session, packetid int, data interface{}, sid int64)
|
|||
return nil
|
||||
}
|
||||
|
||||
if info.GetLevel() >= srvdata.RolePetMgrSington.GetSkinMaxLevel(msg.GetId()) {
|
||||
if info.GetLevel() >= PlatformMgrSingleton.GetSkinMaxLevel(p.Platform, msg.GetId()) || cfg.GetIsUpgrade() == 2 {
|
||||
logger.Logger.Errorf("CSSkinUpgrade max level")
|
||||
pack.RetCode = pets.OpResultCode_OPRC_MaxLevel
|
||||
send()
|
||||
|
|
@ -536,7 +565,7 @@ func CSSkinUpgrade(s *netlib.Session, packetid int, data interface{}, sid int64)
|
|||
}
|
||||
|
||||
func SkinUnLock(p *Player, id int32) (*pets.SkinInfo, pets.OpResultCode) {
|
||||
cfg := srvdata.PBDB_SkinMgr.GetData(id)
|
||||
cfg := PlatformMgrSingleton.GetSkinInfo(p.Platform, id)
|
||||
if cfg == nil {
|
||||
return nil, pets.OpResultCode_OPRC_Error
|
||||
}
|
||||
|
|
@ -571,6 +600,12 @@ func SkinUnLock(p *Player, id int32) (*pets.SkinInfo, pets.OpResultCode) {
|
|||
return nil, pets.OpResultCode_OPRC_Error
|
||||
}
|
||||
p.Skin.ModUnlock[id] = 1
|
||||
if p.Skin.Mod[id] == nil {
|
||||
p.Skin.Mod[id] = &model.ModEx{}
|
||||
}
|
||||
if p.Skin.Mod[id].Ts == 0 {
|
||||
p.Skin.Mod[id].Ts = time.Now().Unix()
|
||||
}
|
||||
pack := &pets.SCSkinUnLock{
|
||||
Id: id,
|
||||
RetCode: pets.OpResultCode_OPRC_Sucess,
|
||||
|
|
@ -580,7 +615,7 @@ func SkinUnLock(p *Player, id int32) (*pets.SkinInfo, pets.OpResultCode) {
|
|||
logger.Logger.Tracef("SCSkinUnlock: %v", pack)
|
||||
|
||||
// 自动使用
|
||||
if srvdata.PBDB_SkinMgr.GetData(id).GetUnlockType() == common.SkinGetAuto {
|
||||
if cfg.GetUnlockType() == common.SkinGetAuto {
|
||||
CSSkinUse(p.gateSess, int(pets.PetsPacketID_PACKET_CS_SKIN_USE), &pets.CSSkinUse{Id: id}, p.sid)
|
||||
}
|
||||
return pack.Info, pets.OpResultCode_OPRC_Sucess
|
||||
|
|
|
|||
|
|
@ -1779,7 +1779,7 @@ func (this *CSVIPPrivilegeInfoHandler) Process(s *netlib.Session, packetid int,
|
|||
}
|
||||
switch code {
|
||||
case 1: //1.VIP比赛场免费次数
|
||||
pack.Value = p.GetMatchFreeTimes()
|
||||
pack.Value = p.GetMatchFreeTimes() + p.GetSkillAdd(common.SkillIdVipTimes)
|
||||
pack.NowValue = p.VipMatchTimes
|
||||
}
|
||||
p.SendToClient(int(player_proto.PlayerPacketID_PACKET_SC_VIPPrivilegeInfo), pack)
|
||||
|
|
|
|||
|
|
@ -81,11 +81,16 @@ func IsTaskReward(p *Player, id int32) bool {
|
|||
|
||||
func SendReward(p *Player, m map[int64]int64, tp int32) {
|
||||
isPermit := p.GetIsPermit()
|
||||
add := p.GetSkillAdd(common.SkillIdTask)
|
||||
var items []*Item
|
||||
for k, v := range m {
|
||||
if k == common.ItemIDPermit && isPermit {
|
||||
v += int64(float64(v) * common.PermitAdd)
|
||||
}
|
||||
// 皮肤技能每日任务金币加成
|
||||
if tp == common.TaskActivityTypeEveryDay && add > 0 && k == common.ItemIDCoin {
|
||||
v += int64((float64(v) * float64(add)) / 100.0)
|
||||
}
|
||||
items = append(items, &Item{
|
||||
ItemId: int32(k),
|
||||
ItemNum: v,
|
||||
|
|
@ -178,6 +183,7 @@ func CSTaskReward(s *netlib.Session, packetId int, data interface{}, sid int64)
|
|||
return nil
|
||||
}
|
||||
|
||||
add := p.GetSkillAdd(common.SkillIdTask)
|
||||
now := time.Now()
|
||||
|
||||
ret := &taskproto.SCTaskReward{
|
||||
|
|
@ -205,6 +211,10 @@ func CSTaskReward(s *netlib.Session, packetId int, data interface{}, sid int64)
|
|||
if k == common.ItemIDPermit && isPermit {
|
||||
vv += int64(float64(vv) * common.PermitAdd)
|
||||
}
|
||||
// 皮肤技能每日任务金币加成
|
||||
if data.GetActivityType() == common.TaskActivityTypeEveryDay && add > 0 && k == common.ItemIDCoin {
|
||||
vv += int64((float64(vv) * float64(add)) / 100.0)
|
||||
}
|
||||
ret.Reward[k] = ret.Reward[k] + vv
|
||||
}
|
||||
for k, v := range ret.Reward {
|
||||
|
|
|
|||
|
|
@ -35,6 +35,7 @@ const (
|
|||
ItemCanGive //可以赠送
|
||||
ItemCanSell //可以出售
|
||||
ItemCanExchange //可以兑换
|
||||
ItemCanFen // 可以分解
|
||||
ItemMax
|
||||
)
|
||||
|
||||
|
|
@ -335,6 +336,12 @@ func (this *BagMgr) AddItems(p *Player, addItems []*Item, add int64, gainWay int
|
|||
if v.ItemId == common.ItemIDPetSkill && v.ItemNum > 0 {
|
||||
PetMgrSington.CheckShowRed(p)
|
||||
}
|
||||
|
||||
// 皮肤红点
|
||||
if v.ItemNum > 0 && item.GetType() == common.ItemTypeSkinChip {
|
||||
PetMgrSington.CheckSkinRed(p)
|
||||
}
|
||||
|
||||
// 统计 v卡兑换消耗数量
|
||||
if v.ItemId == common.ItemIDVCard && gainWay == common.GainWay_Exchange {
|
||||
p.VCardCost += -v.ItemNum
|
||||
|
|
|
|||
|
|
@ -82,6 +82,8 @@ func init() {
|
|||
etcd.Register(etcd.ETCDKEY_DIAMOND_LOTTERY, webapi.DiamondLotteryConfig{}, platformConfigEvent)
|
||||
// 道具列表
|
||||
etcd.Register(etcd.ETCDKEY_Item, webapi.ItemConfig{}, platformConfigEvent)
|
||||
// 皮肤配置
|
||||
etcd.Register(etcd.ETCDKEY_SKin, webapi.SkinConfig{}, platformConfigEvent)
|
||||
}
|
||||
|
||||
func platformConfigEvent(ctx context.Context, completeKey string, isInit bool, event *clientv3.Event, data interface{}) {
|
||||
|
|
@ -309,6 +311,9 @@ func platformConfigEvent(ctx context.Context, completeKey string, isInit bool, e
|
|||
}
|
||||
}
|
||||
|
||||
case *webapi.SkinConfig:
|
||||
PlatformMgrSingleton.GetConfig(config.Platform).SkinConfig = config
|
||||
|
||||
default:
|
||||
logger.Logger.Errorf("etcd completeKey:%s, Not processed", completeKey)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -256,7 +256,7 @@ func (this *PetMgr) GetSkinInfos(p *Player) []*pets.SkinInfo {
|
|||
}
|
||||
|
||||
func (this *PetMgr) GetSkinInfo(p *Player, id int32) *pets.SkinInfo {
|
||||
cfg := srvdata.PBDB_SkinMgr.GetData(id)
|
||||
cfg := PlatformMgrSingleton.GetSkinInfo(p.Platform, id)
|
||||
if cfg == nil {
|
||||
return nil
|
||||
}
|
||||
|
|
@ -264,18 +264,18 @@ func (this *PetMgr) GetSkinInfo(p *Player, id int32) *pets.SkinInfo {
|
|||
bag := BagMgrSingleton.GetBagInfo(p.SnId)
|
||||
level := p.Skin.ModUnlock[id]
|
||||
var unLockCost, cost, have []*pets.Item
|
||||
for k, v := range cfg.GetUnlockItem() {
|
||||
for k, v := range cfg.GetUnlockParam() {
|
||||
unLockCost = append(unLockCost, &pets.Item{
|
||||
Id: int32(k),
|
||||
Id: k,
|
||||
N: v,
|
||||
})
|
||||
}
|
||||
if level == 0 {
|
||||
cost = unLockCost
|
||||
} else {
|
||||
for k, v := range srvdata.RolePetMgrSington.GetSkinBySkinIdAndLevel(id, level).GetUpItem() {
|
||||
for k, v := range PlatformMgrSingleton.GetSkinLevel(p.Platform, id, level+1).GetUpItem() {
|
||||
cost = append(cost, &pets.Item{
|
||||
Id: int32(k),
|
||||
Id: k,
|
||||
N: v,
|
||||
})
|
||||
}
|
||||
|
|
@ -296,18 +296,79 @@ func (this *PetMgr) GetSkinInfo(p *Player, id int32) *pets.SkinInfo {
|
|||
use := unLock && p.Skin.ModId == id
|
||||
|
||||
ret := &pets.SkinInfo{
|
||||
Id: id,
|
||||
Level: level,
|
||||
MaxLevel: srvdata.RolePetMgrSington.GetSkinMaxLevel(cfg.GetId()),
|
||||
Cost: cost,
|
||||
Have: have,
|
||||
IsUsing: use,
|
||||
IsUnlock: unLock,
|
||||
Id: id,
|
||||
Level: level,
|
||||
MaxLevel: PlatformMgrSingleton.GetSkinMaxLevel(p.Platform, id),
|
||||
Cost: cost,
|
||||
Have: have,
|
||||
IsUsing: use,
|
||||
IsUnlock: unLock,
|
||||
IsUpgrade: cfg.GetIsUpgrade() == 1,
|
||||
SkillType: cfg.GetSkillType(),
|
||||
}
|
||||
curLevel := PlatformMgrSingleton.GetSkinLevel(p.Platform, id, level)
|
||||
nextLevel := PlatformMgrSingleton.GetSkinLevel(p.Platform, id, level+1)
|
||||
if curLevel != nil {
|
||||
ret.SkillId = curLevel.GetSkillId()
|
||||
}
|
||||
if nextLevel != nil {
|
||||
ret.SkillId = nextLevel.GetSkillId()
|
||||
}
|
||||
if curLevel != nil {
|
||||
ret.SkillLevel = curLevel.GetSkillLevel()
|
||||
ret.SkillValue = curLevel.GetSkillValue()
|
||||
}
|
||||
ret.SkillMaxLevel = PlatformMgrSingleton.GetSkinSkillMaxLevel(p.Platform, id)
|
||||
if nextLevel != nil {
|
||||
ret.SkillNextLevel = nextLevel.GetSkillLevel()
|
||||
ret.SkillNextValue = nextLevel.GetSkillValue()
|
||||
}
|
||||
|
||||
return ret
|
||||
}
|
||||
|
||||
func (this *PetMgr) CheckSkinRed(p *Player) {
|
||||
if p == nil || p.IsRob {
|
||||
return
|
||||
}
|
||||
for _, v := range PlatformMgrSingleton.GetConfig(p.Platform).SkinConfig.GetItems() {
|
||||
if v == nil {
|
||||
continue
|
||||
}
|
||||
info := this.GetSkinInfo(p, v.Id)
|
||||
// 解锁
|
||||
if !info.GetIsUnlock() {
|
||||
ok := true
|
||||
for _, v := range info.GetCost() {
|
||||
item := BagMgrSingleton.GetItem(p.SnId, v.GetId())
|
||||
if item.ItemNum < v.GetN() {
|
||||
ok = false
|
||||
break
|
||||
}
|
||||
}
|
||||
if ok && len(info.GetCost()) > 0 {
|
||||
p.SendShowRed(hall_proto.ShowRedCode_Skin, v.Id, 1)
|
||||
continue
|
||||
}
|
||||
}
|
||||
// 升级
|
||||
if info.GetIsUnlock() && info.GetLevel() < info.GetMaxLevel() && info.GetIsUpgrade() {
|
||||
ok := true
|
||||
for _, v := range info.GetCost() {
|
||||
item := BagMgrSingleton.GetItem(p.SnId, v.GetId())
|
||||
if item.ItemNum < v.GetN() {
|
||||
ok = false
|
||||
break
|
||||
}
|
||||
}
|
||||
if ok && len(info.GetCost()) > 0 {
|
||||
p.SendShowRed(hall_proto.ShowRedCode_Skin, v.Id, 1)
|
||||
continue
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 商品人物总加成 人物功能变动需要修改
|
||||
func (this *PetMgr) GetShopAward(shopInfo *model.ShopInfo, p *Player) (award, roleId int32) {
|
||||
if shopInfo.Ad > 0 && shopInfo.Type == ShopTypeCoin {
|
||||
|
|
@ -351,7 +412,7 @@ func (this *PetMgr) GetIntroductionByModId(modId int32) *RoleAndPetInfo {
|
|||
}
|
||||
}
|
||||
func (this *PetMgr) CheckShowRed(p *Player) {
|
||||
if p == nil {
|
||||
if p == nil || p.IsRob {
|
||||
return
|
||||
}
|
||||
var roleRed, petRed bool
|
||||
|
|
|
|||
|
|
@ -339,11 +339,11 @@ func (this *Player) OnLogined() {
|
|||
|
||||
this.RandRobotExData()
|
||||
|
||||
this.SendJackPotInit()
|
||||
|
||||
this.GetPayGoodsInfo()
|
||||
|
||||
if !this.IsRob {
|
||||
this.SendJackPotInit()
|
||||
|
||||
this.GetPayGoodsInfo()
|
||||
|
||||
PlayerOnlineSington.Check = true
|
||||
|
||||
this.LoadMessage(tLastLogout.Unix(), isFirstLogin, !inSameWeek)
|
||||
|
|
@ -429,17 +429,14 @@ func (this *Player) OnRehold() {
|
|||
FriendMgrSington.ApplyList(this.Platform, this.SnId)
|
||||
FriendUnreadMgrSington.CheckSendFriendUnreadData(this.Platform, this.SnId)
|
||||
|
||||
this.CheckShowRed()
|
||||
|
||||
this.SendJackPotInit()
|
||||
|
||||
this.GetPayGoodsInfo()
|
||||
|
||||
RankMgrSingleton.CheckShowRed(this.SnId)
|
||||
|
||||
if !this.IsRob {
|
||||
this.SendJackPotInit()
|
||||
PlayerOnlineSington.Check = true
|
||||
|
||||
this.GetPayGoodsInfo()
|
||||
|
||||
this.CheckShowRed()
|
||||
|
||||
// 记录重连日志
|
||||
logState := LoginStateMgrSington.GetLoginStateBySid(this.sid)
|
||||
var clog *model.ClientLoginInfo
|
||||
|
|
@ -455,16 +452,18 @@ func (this *Player) OnRehold() {
|
|||
}
|
||||
|
||||
func (this *Player) CheckShowRed() {
|
||||
// 邮件红点
|
||||
this.MessageShowRed()
|
||||
|
||||
//商城红点
|
||||
ShopMgrSington.ShopCheckShowRed(this)
|
||||
|
||||
//数据依赖于背包数据 放入加载背包数据之后执行
|
||||
PetMgrSington.CheckShowRed(this)
|
||||
|
||||
// 皮肤红点
|
||||
PetMgrSington.CheckSkinRed(this)
|
||||
//福利红点
|
||||
WelfareMgrSington.WelfareShowRed(this)
|
||||
// 排行赛红点
|
||||
RankMgrSingleton.CheckShowRed(this.SnId)
|
||||
}
|
||||
|
||||
// 为了worldsrv和gamesrv上机器人信息一致
|
||||
|
|
@ -3804,6 +3803,11 @@ func (this *Player) VIPDraw(id int32) {
|
|||
this.WelfData.VIPBag[this.VIP][0] = 1
|
||||
//金币数量
|
||||
money := data.Privilege1[0]
|
||||
// 皮肤技能加成
|
||||
add := this.GetSkillAdd(common.SkillIdVipGift)
|
||||
if add > 0 {
|
||||
money += int32((float64(money) * float64(add)) / 100.00)
|
||||
}
|
||||
//vip经验
|
||||
addVipExp := int64(float64(data.Privilege1[1]) / vips.MoneyRatio)
|
||||
this.AddCoin(int64(money), 0, common.GainWay_VIPGift, "sys", "VIP每日礼包")
|
||||
|
|
@ -4800,10 +4804,16 @@ func (this *Player) SCItems() {
|
|||
|
||||
// AutoSkinUnlock 自动解锁皮肤
|
||||
func (this *Player) AutoSkinUnlock() {
|
||||
for _, v := range srvdata.PBDB_SkinMgr.Datas.GetArr() {
|
||||
for _, v := range PlatformMgrSingleton.GetConfig(this.Platform).SkinConfig.GetItems() {
|
||||
if v.GetUnlockType() != common.SkinGetAuto {
|
||||
continue
|
||||
}
|
||||
SkinUnLock(this, v.GetId())
|
||||
}
|
||||
}
|
||||
|
||||
// GetSkillAdd 获取技能加成
|
||||
// id 技能id
|
||||
func (this *Player) GetSkillAdd(id int32) int32 {
|
||||
return this.GetSkillAdd2(id, PlatformMgrSingleton.ConfigMgr)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -435,7 +435,8 @@ func (this *Tournament) signUpCost(p *Player, tmId int32, cost bool) (bool, int3
|
|||
|
||||
// VIP比赛场
|
||||
if gmd.MatchType == MatchTypeVIP {
|
||||
freeTimes := p.GetMatchFreeTimes() // VIP比赛场免费次数
|
||||
freeTimes := p.GetMatchFreeTimes() // VIP比赛场免费次数
|
||||
freeTimes += p.GetSkillAdd(common.SkillIdVipTimes) // 皮肤技能加成次数
|
||||
logger.Logger.Trace("报名费用免费次数: freeTimes: ", freeTimes, " p.VipMatchTimes: ", p.VipMatchTimes)
|
||||
if freeTimes > 0 {
|
||||
if cost {
|
||||
|
|
|
|||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue