Merge branch 'dev' of http://git.legu.cc/liwei_3d/go_dreamfactory into dev
This commit is contained in:
commit
f6e8cc96be
@ -5,12 +5,8 @@
|
|||||||
"color": 1,
|
"color": 1,
|
||||||
"effects": "",
|
"effects": "",
|
||||||
"access": 123,
|
"access": 123,
|
||||||
"star": 0,
|
|
||||||
"race": 0,
|
|
||||||
"img": "wp_icon_10035",
|
"img": "wp_icon_10035",
|
||||||
"ico": "wp_icon_10035",
|
"intr": "Currency used to purchase goods"
|
||||||
"intr": "Currency used to purchase goods",
|
|
||||||
"tipstxt": "Insufficient gold coins"
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "diamond",
|
"key": "diamond",
|
||||||
@ -18,12 +14,8 @@
|
|||||||
"color": 2,
|
"color": 2,
|
||||||
"effects": "",
|
"effects": "",
|
||||||
"access": 158,
|
"access": 158,
|
||||||
"star": 0,
|
|
||||||
"race": 0,
|
|
||||||
"img": "wp_icon_10036",
|
"img": "wp_icon_10036",
|
||||||
"ico": "wp_icon_10036",
|
"intr": "Currency used to purchase goods"
|
||||||
"intr": "Currency used to purchase goods",
|
|
||||||
"tipstxt": "Diamond shortage"
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "exp",
|
"key": "exp",
|
||||||
@ -31,12 +23,8 @@
|
|||||||
"color": 3,
|
"color": 3,
|
||||||
"effects": "",
|
"effects": "",
|
||||||
"access": 113,
|
"access": 113,
|
||||||
"star": 0,
|
|
||||||
"race": 0,
|
|
||||||
"img": "icon_hy",
|
"img": "icon_hy",
|
||||||
"ico": "icon_hy",
|
"intr": "Currency used to purchase goods"
|
||||||
"intr": "Currency used to purchase goods",
|
|
||||||
"tipstxt": "Lack of experience"
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "friendPoint",
|
"key": "friendPoint",
|
||||||
@ -44,12 +32,8 @@
|
|||||||
"color": 1,
|
"color": 1,
|
||||||
"effects": "",
|
"effects": "",
|
||||||
"access": 115,
|
"access": 115,
|
||||||
"star": 0,
|
|
||||||
"race": 0,
|
|
||||||
"img": "wp_icon_10014",
|
"img": "wp_icon_10014",
|
||||||
"ico": "wp_icon_10014",
|
"intr": "Currency used to purchase goods"
|
||||||
"intr": "Currency used to purchase goods",
|
|
||||||
"tipstxt": "Insufficient friendship points"
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "palyexp",
|
"key": "palyexp",
|
||||||
@ -57,12 +41,8 @@
|
|||||||
"color": 3,
|
"color": 3,
|
||||||
"effects": "",
|
"effects": "",
|
||||||
"access": 113,
|
"access": 113,
|
||||||
"star": 0,
|
|
||||||
"race": 0,
|
|
||||||
"img": "wp_icon_0002",
|
"img": "wp_icon_0002",
|
||||||
"ico": "wp_icon_0002",
|
"intr": "Currency used to purchase goods"
|
||||||
"intr": "Currency used to purchase goods",
|
|
||||||
"tipstxt": "Lack of experience"
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "guildexp",
|
"key": "guildexp",
|
||||||
@ -70,12 +50,8 @@
|
|||||||
"color": 1,
|
"color": 1,
|
||||||
"effects": "",
|
"effects": "",
|
||||||
"access": 157,
|
"access": 157,
|
||||||
"star": 0,
|
|
||||||
"race": 0,
|
|
||||||
"img": "wp_icon_10024",
|
"img": "wp_icon_10024",
|
||||||
"ico": "wp_icon_10024",
|
"intr": "Currency used to purchase goods"
|
||||||
"intr": "Currency used to purchase goods",
|
|
||||||
"tipstxt": "Lack of guildexp"
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "guildactive",
|
"key": "guildactive",
|
||||||
@ -83,12 +59,8 @@
|
|||||||
"color": 1,
|
"color": 1,
|
||||||
"effects": "",
|
"effects": "",
|
||||||
"access": 157,
|
"access": 157,
|
||||||
"star": 0,
|
|
||||||
"race": 0,
|
|
||||||
"img": "wp_icon_0001",
|
"img": "wp_icon_0001",
|
||||||
"ico": "wp_icon_0001",
|
"intr": "Currency used to purchase goods"
|
||||||
"intr": "Currency used to purchase goods",
|
|
||||||
"tipstxt": "Insufficient guildactive"
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "guildcoin",
|
"key": "guildcoin",
|
||||||
@ -96,12 +68,8 @@
|
|||||||
"color": 3,
|
"color": 3,
|
||||||
"effects": "",
|
"effects": "",
|
||||||
"access": 157,
|
"access": 157,
|
||||||
"star": 0,
|
|
||||||
"race": 0,
|
|
||||||
"img": "wp_icon_10017",
|
"img": "wp_icon_10017",
|
||||||
"ico": "wp_icon_10017",
|
"intr": "Currency used to purchase goods"
|
||||||
"intr": "Currency used to purchase goods",
|
|
||||||
"tipstxt": "Insufficient guildcoin"
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "starcoin",
|
"key": "starcoin",
|
||||||
@ -109,12 +77,8 @@
|
|||||||
"color": 3,
|
"color": 3,
|
||||||
"effects": "",
|
"effects": "",
|
||||||
"access": 158,
|
"access": 158,
|
||||||
"star": 0,
|
|
||||||
"race": 0,
|
|
||||||
"img": "wp_icon_10017",
|
"img": "wp_icon_10017",
|
||||||
"ico": "wp_icon_10017",
|
"intr": "Currency used to purchase goods"
|
||||||
"intr": "Currency used to purchase goods",
|
|
||||||
"tipstxt": "Insufficient guildcoin"
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "vipexp",
|
"key": "vipexp",
|
||||||
@ -122,12 +86,8 @@
|
|||||||
"color": 3,
|
"color": 3,
|
||||||
"effects": "",
|
"effects": "",
|
||||||
"access": 158,
|
"access": 158,
|
||||||
"star": 0,
|
|
||||||
"race": 0,
|
|
||||||
"img": "wp_icon_0002",
|
"img": "wp_icon_0002",
|
||||||
"ico": "wp_icon_0002",
|
"intr": "Currency used to purchase goods"
|
||||||
"intr": "Currency used to purchase goods",
|
|
||||||
"tipstxt": "Lack of experience"
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "arenacoin",
|
"key": "arenacoin",
|
||||||
@ -135,12 +95,8 @@
|
|||||||
"color": 3,
|
"color": 3,
|
||||||
"effects": "",
|
"effects": "",
|
||||||
"access": 156,
|
"access": 156,
|
||||||
"star": 0,
|
|
||||||
"race": 0,
|
|
||||||
"img": "icon_ry",
|
"img": "icon_ry",
|
||||||
"ico": "icon_ry",
|
"intr": "Currency used to purchase goods"
|
||||||
"intr": "Currency used to purchase goods",
|
|
||||||
"tipstxt": "Lack of experience"
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "ps",
|
"key": "ps",
|
||||||
@ -148,12 +104,8 @@
|
|||||||
"color": 3,
|
"color": 3,
|
||||||
"effects": "",
|
"effects": "",
|
||||||
"access": 156,
|
"access": 156,
|
||||||
"star": 0,
|
|
||||||
"race": 0,
|
|
||||||
"img": "wp_icon_0002",
|
"img": "wp_icon_0002",
|
||||||
"ico": "wp_icon_0002",
|
"intr": "Currency used to purchase goods"
|
||||||
"intr": "Currency used to purchase goods",
|
|
||||||
"tipstxt": "Lack of experience"
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "heroexp",
|
"key": "heroexp",
|
||||||
@ -161,12 +113,8 @@
|
|||||||
"color": 3,
|
"color": 3,
|
||||||
"effects": "",
|
"effects": "",
|
||||||
"access": 0,
|
"access": 0,
|
||||||
"star": 0,
|
|
||||||
"race": 0,
|
|
||||||
"img": "wp_icon_10009",
|
"img": "wp_icon_10009",
|
||||||
"ico": "wp_icon_10009",
|
"intr": "Currency used to purchase goods"
|
||||||
"intr": "Currency used to purchase goods",
|
|
||||||
"tipstxt": "Lack of experience"
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "moongold",
|
"key": "moongold",
|
||||||
@ -174,11 +122,7 @@
|
|||||||
"color": 5,
|
"color": 5,
|
||||||
"effects": "",
|
"effects": "",
|
||||||
"access": 107,
|
"access": 107,
|
||||||
"star": 0,
|
|
||||||
"race": 0,
|
|
||||||
"img": "wp_icon_10009",
|
"img": "wp_icon_10009",
|
||||||
"ico": "wp_icon_10009",
|
"intr": "Currency used to purchase goods"
|
||||||
"intr": "Currency used to purchase goods",
|
|
||||||
"tipstxt": "Lack of experience"
|
|
||||||
}
|
}
|
||||||
]
|
]
|
File diff suppressed because it is too large
Load Diff
@ -12,7 +12,6 @@
|
|||||||
"access": 0,
|
"access": 0,
|
||||||
"heroid": "13002",
|
"heroid": "13002",
|
||||||
"img": "sbkp_js_13002",
|
"img": "sbkp_js_13002",
|
||||||
"ico": "",
|
|
||||||
"intr": {
|
"intr": {
|
||||||
"key": "shirenyu10001",
|
"key": "shirenyu10001",
|
||||||
"text": "作为教习,食人鱼一直秉承着严厉的教习态度,在他手下训练的英雄可以获得巨大提升"
|
"text": "作为教习,食人鱼一直秉承着严厉的教习态度,在他手下训练的英雄可以获得巨大提升"
|
||||||
@ -41,7 +40,6 @@
|
|||||||
"access": 0,
|
"access": 0,
|
||||||
"heroid": "13001",
|
"heroid": "13001",
|
||||||
"img": "sbkp_js_13001",
|
"img": "sbkp_js_13001",
|
||||||
"ico": "",
|
|
||||||
"intr": {
|
"intr": {
|
||||||
"key": "shirenyu10002",
|
"key": "shirenyu10002",
|
||||||
"text": "闪闪"
|
"text": "闪闪"
|
||||||
@ -70,7 +68,6 @@
|
|||||||
"access": 0,
|
"access": 0,
|
||||||
"heroid": "44002",
|
"heroid": "44002",
|
||||||
"img": "sbkp_js_44002",
|
"img": "sbkp_js_44002",
|
||||||
"ico": "",
|
|
||||||
"intr": {
|
"intr": {
|
||||||
"key": "shirenyu10003",
|
"key": "shirenyu10003",
|
||||||
"text": "蛇先生"
|
"text": "蛇先生"
|
||||||
@ -99,7 +96,6 @@
|
|||||||
"access": 0,
|
"access": 0,
|
||||||
"heroid": "24005",
|
"heroid": "24005",
|
||||||
"img": "sbkp_js_24005",
|
"img": "sbkp_js_24005",
|
||||||
"ico": "",
|
|
||||||
"intr": {
|
"intr": {
|
||||||
"key": "shirenyu10004",
|
"key": "shirenyu10004",
|
||||||
"text": "金猴"
|
"text": "金猴"
|
||||||
@ -139,7 +135,6 @@
|
|||||||
"access": 0,
|
"access": 0,
|
||||||
"heroid": "14005",
|
"heroid": "14005",
|
||||||
"img": "sbkp_js_14005",
|
"img": "sbkp_js_14005",
|
||||||
"ico": "",
|
|
||||||
"intr": {
|
"intr": {
|
||||||
"key": "shirenyu10005",
|
"key": "shirenyu10005",
|
||||||
"text": "鹤大师"
|
"text": "鹤大师"
|
||||||
@ -168,7 +163,6 @@
|
|||||||
"access": 0,
|
"access": 0,
|
||||||
"heroid": "44006",
|
"heroid": "44006",
|
||||||
"img": "sbkp_js_44006",
|
"img": "sbkp_js_44006",
|
||||||
"ico": "",
|
|
||||||
"intr": {
|
"intr": {
|
||||||
"key": "shirenyu10006",
|
"key": "shirenyu10006",
|
||||||
"text": "悍娇虎"
|
"text": "悍娇虎"
|
||||||
@ -197,7 +191,6 @@
|
|||||||
"access": 0,
|
"access": 0,
|
||||||
"heroid": "43001",
|
"heroid": "43001",
|
||||||
"img": "sbkp_js_43001",
|
"img": "sbkp_js_43001",
|
||||||
"ico": "",
|
|
||||||
"intr": {
|
"intr": {
|
||||||
"key": "shirenyu10007",
|
"key": "shirenyu10007",
|
||||||
"text": "盖"
|
"text": "盖"
|
||||||
@ -226,7 +219,6 @@
|
|||||||
"access": 0,
|
"access": 0,
|
||||||
"heroid": "35002",
|
"heroid": "35002",
|
||||||
"img": "sbkp_js_35002",
|
"img": "sbkp_js_35002",
|
||||||
"ico": "",
|
|
||||||
"intr": {
|
"intr": {
|
||||||
"key": "shirenyu10008",
|
"key": "shirenyu10008",
|
||||||
"text": "希卡普"
|
"text": "希卡普"
|
||||||
@ -255,7 +247,6 @@
|
|||||||
"access": 0,
|
"access": 0,
|
||||||
"heroid": "45004",
|
"heroid": "45004",
|
||||||
"img": "sbkp_js_45004",
|
"img": "sbkp_js_45004",
|
||||||
"ico": "",
|
|
||||||
"intr": {
|
"intr": {
|
||||||
"key": "shirenyu10009",
|
"key": "shirenyu10009",
|
||||||
"text": "穿靴猫"
|
"text": "穿靴猫"
|
||||||
@ -295,7 +286,6 @@
|
|||||||
"access": 0,
|
"access": 0,
|
||||||
"heroid": "35001",
|
"heroid": "35001",
|
||||||
"img": "sbkp_js_35001",
|
"img": "sbkp_js_35001",
|
||||||
"ico": "",
|
|
||||||
"intr": {
|
"intr": {
|
||||||
"key": "shirenyu10010",
|
"key": "shirenyu10010",
|
||||||
"text": "师父"
|
"text": "师父"
|
||||||
@ -335,7 +325,6 @@
|
|||||||
"access": 0,
|
"access": 0,
|
||||||
"heroid": "25001",
|
"heroid": "25001",
|
||||||
"img": "sbkp_js_25001",
|
"img": "sbkp_js_25001",
|
||||||
"ico": "",
|
|
||||||
"intr": {
|
"intr": {
|
||||||
"key": "shirenyu10011",
|
"key": "shirenyu10011",
|
||||||
"text": "阿宝"
|
"text": "阿宝"
|
||||||
@ -375,7 +364,6 @@
|
|||||||
"access": 0,
|
"access": 0,
|
||||||
"heroid": "45001",
|
"heroid": "45001",
|
||||||
"img": "sbkp_js_45001",
|
"img": "sbkp_js_45001",
|
||||||
"ico": "",
|
|
||||||
"intr": {
|
"intr": {
|
||||||
"key": "shirenyu10012",
|
"key": "shirenyu10012",
|
||||||
"text": "乌龟大师"
|
"text": "乌龟大师"
|
||||||
@ -415,7 +403,6 @@
|
|||||||
"access": 0,
|
"access": 0,
|
||||||
"heroid": "",
|
"heroid": "",
|
||||||
"img": "wg_icon_ss",
|
"img": "wg_icon_ss",
|
||||||
"ico": "",
|
|
||||||
"intr": {
|
"intr": {
|
||||||
"key": "shirenyu20001",
|
"key": "shirenyu20001",
|
||||||
"text": "石锁,传闻是师父在训练阿宝时经常使用到的道具"
|
"text": "石锁,传闻是师父在训练阿宝时经常使用到的道具"
|
||||||
@ -455,7 +442,6 @@
|
|||||||
"access": 0,
|
"access": 0,
|
||||||
"heroid": "",
|
"heroid": "",
|
||||||
"img": "wg_icon_kz",
|
"img": "wg_icon_kz",
|
||||||
"ico": "",
|
|
||||||
"intr": {
|
"intr": {
|
||||||
"key": "shirenyu20002",
|
"key": "shirenyu20002",
|
||||||
"text": "双头空竹"
|
"text": "双头空竹"
|
||||||
@ -484,7 +470,6 @@
|
|||||||
"access": 0,
|
"access": 0,
|
||||||
"heroid": "",
|
"heroid": "",
|
||||||
"img": "wg_icon_pj",
|
"img": "wg_icon_pj",
|
||||||
"ico": "",
|
|
||||||
"intr": {
|
"intr": {
|
||||||
"key": "shirenyu20003",
|
"key": "shirenyu20003",
|
||||||
"text": "木爬架"
|
"text": "木爬架"
|
||||||
@ -513,7 +498,6 @@
|
|||||||
"access": 0,
|
"access": 0,
|
||||||
"heroid": "",
|
"heroid": "",
|
||||||
"img": "wg_icon_bdw",
|
"img": "wg_icon_bdw",
|
||||||
"ico": "",
|
|
||||||
"intr": {
|
"intr": {
|
||||||
"key": "shirenyu20004",
|
"key": "shirenyu20004",
|
||||||
"text": "不倒翁"
|
"text": "不倒翁"
|
||||||
@ -542,7 +526,6 @@
|
|||||||
"access": 0,
|
"access": 0,
|
||||||
"heroid": "",
|
"heroid": "",
|
||||||
"img": "wg_icon_pc",
|
"img": "wg_icon_pc",
|
||||||
"ico": "",
|
|
||||||
"intr": {
|
"intr": {
|
||||||
"key": "shirenyu20005",
|
"key": "shirenyu20005",
|
||||||
"text": "棒槌"
|
"text": "棒槌"
|
||||||
@ -571,7 +554,6 @@
|
|||||||
"access": 0,
|
"access": 0,
|
||||||
"heroid": "",
|
"heroid": "",
|
||||||
"img": "wg_icon_tl",
|
"img": "wg_icon_tl",
|
||||||
"ico": "",
|
|
||||||
"intr": {
|
"intr": {
|
||||||
"key": "shirenyu20006",
|
"key": "shirenyu20006",
|
||||||
"text": "铜铃"
|
"text": "铜铃"
|
||||||
@ -600,7 +582,6 @@
|
|||||||
"access": 0,
|
"access": 0,
|
||||||
"heroid": "",
|
"heroid": "",
|
||||||
"img": "wg_icon_tj",
|
"img": "wg_icon_tj",
|
||||||
"ico": "",
|
|
||||||
"intr": {
|
"intr": {
|
||||||
"key": "shirenyu20007",
|
"key": "shirenyu20007",
|
||||||
"text": "尖刺吊环"
|
"text": "尖刺吊环"
|
||||||
@ -629,7 +610,6 @@
|
|||||||
"access": 0,
|
"access": 0,
|
||||||
"heroid": "",
|
"heroid": "",
|
||||||
"img": "wg_icon_tj01",
|
"img": "wg_icon_tj01",
|
||||||
"ico": "",
|
|
||||||
"intr": {
|
"intr": {
|
||||||
"key": "shirenyu20008",
|
"key": "shirenyu20008",
|
||||||
"text": "陀螺"
|
"text": "陀螺"
|
||||||
@ -658,7 +638,6 @@
|
|||||||
"access": 0,
|
"access": 0,
|
||||||
"heroid": "",
|
"heroid": "",
|
||||||
"img": "wg_icon_zl",
|
"img": "wg_icon_zl",
|
||||||
"ico": "",
|
|
||||||
"intr": {
|
"intr": {
|
||||||
"key": "shirenyu20009",
|
"key": "shirenyu20009",
|
||||||
"text": "大转轮"
|
"text": "大转轮"
|
||||||
@ -698,7 +677,6 @@
|
|||||||
"access": 0,
|
"access": 0,
|
||||||
"heroid": "",
|
"heroid": "",
|
||||||
"img": "wg_icon_mp",
|
"img": "wg_icon_mp",
|
||||||
"ico": "",
|
|
||||||
"intr": {
|
"intr": {
|
||||||
"key": "shirenyu20010",
|
"key": "shirenyu20010",
|
||||||
"text": "木头牌"
|
"text": "木头牌"
|
||||||
@ -738,7 +716,6 @@
|
|||||||
"access": 0,
|
"access": 0,
|
||||||
"heroid": "",
|
"heroid": "",
|
||||||
"img": "wg_icon_sjg",
|
"img": "wg_icon_sjg",
|
||||||
"ico": "",
|
|
||||||
"intr": {
|
"intr": {
|
||||||
"key": "shirenyu20011",
|
"key": "shirenyu20011",
|
||||||
"text": "双节棍"
|
"text": "双节棍"
|
||||||
@ -778,7 +755,6 @@
|
|||||||
"access": 0,
|
"access": 0,
|
||||||
"heroid": "",
|
"heroid": "",
|
||||||
"img": "wg_icon_yd",
|
"img": "wg_icon_yd",
|
||||||
"ico": "",
|
|
||||||
"intr": {
|
"intr": {
|
||||||
"key": "shirenyu20012",
|
"key": "shirenyu20012",
|
||||||
"text": "练功带"
|
"text": "练功带"
|
||||||
@ -818,7 +794,6 @@
|
|||||||
"access": 0,
|
"access": 0,
|
||||||
"heroid": "",
|
"heroid": "",
|
||||||
"img": "wg_icon_tj",
|
"img": "wg_icon_tj",
|
||||||
"ico": "",
|
|
||||||
"intr": {
|
"intr": {
|
||||||
"key": "shirenyu20013",
|
"key": "shirenyu20013",
|
||||||
"text": "七彩花棍"
|
"text": "七彩花棍"
|
||||||
@ -858,7 +833,6 @@
|
|||||||
"access": 0,
|
"access": 0,
|
||||||
"heroid": "",
|
"heroid": "",
|
||||||
"img": "wg_icon_fb",
|
"img": "wg_icon_fb",
|
||||||
"ico": "",
|
|
||||||
"intr": {
|
"intr": {
|
||||||
"key": "shirenyu20014",
|
"key": "shirenyu20014",
|
||||||
"text": "流星飞镖"
|
"text": "流星飞镖"
|
||||||
@ -887,7 +861,6 @@
|
|||||||
"access": 0,
|
"access": 0,
|
||||||
"heroid": "",
|
"heroid": "",
|
||||||
"img": "wg_icon_mxl",
|
"img": "wg_icon_mxl",
|
||||||
"ico": "",
|
|
||||||
"intr": {
|
"intr": {
|
||||||
"key": "shirenyu20015",
|
"key": "shirenyu20015",
|
||||||
"text": "冥想锣"
|
"text": "冥想锣"
|
||||||
@ -916,7 +889,6 @@
|
|||||||
"access": 0,
|
"access": 0,
|
||||||
"heroid": "",
|
"heroid": "",
|
||||||
"img": "wg_icon_ct",
|
"img": "wg_icon_ct",
|
||||||
"ico": "",
|
|
||||||
"intr": {
|
"intr": {
|
||||||
"key": "shirenyu20016",
|
"key": "shirenyu20016",
|
||||||
"text": "彩条龙"
|
"text": "彩条龙"
|
||||||
@ -945,7 +917,6 @@
|
|||||||
"access": 0,
|
"access": 0,
|
||||||
"heroid": "",
|
"heroid": "",
|
||||||
"img": "wg_icon_kqms",
|
"img": "wg_icon_kqms",
|
||||||
"ico": "",
|
|
||||||
"intr": {
|
"intr": {
|
||||||
"key": "shirenyu20017",
|
"key": "shirenyu20017",
|
||||||
"text": "孔雀毛扇"
|
"text": "孔雀毛扇"
|
||||||
@ -983,7 +954,6 @@
|
|||||||
"access": 0,
|
"access": 0,
|
||||||
"heroid": "",
|
"heroid": "",
|
||||||
"img": "wg_icon_ph",
|
"img": "wg_icon_ph",
|
||||||
"ico": "",
|
|
||||||
"intr": {
|
"intr": {
|
||||||
"key": "shirenyu20018",
|
"key": "shirenyu20018",
|
||||||
"text": "平衡木"
|
"text": "平衡木"
|
||||||
@ -1021,7 +991,6 @@
|
|||||||
"access": 0,
|
"access": 0,
|
||||||
"heroid": "",
|
"heroid": "",
|
||||||
"img": "wg_icon_th",
|
"img": "wg_icon_th",
|
||||||
"ico": "",
|
|
||||||
"intr": {
|
"intr": {
|
||||||
"key": "shirenyu20019",
|
"key": "shirenyu20019",
|
||||||
"text": "铁环"
|
"text": "铁环"
|
||||||
@ -1059,7 +1028,6 @@
|
|||||||
"access": 0,
|
"access": 0,
|
||||||
"heroid": "",
|
"heroid": "",
|
||||||
"img": "wg_icon_tj",
|
"img": "wg_icon_tj",
|
||||||
"ico": "",
|
|
||||||
"intr": {
|
"intr": {
|
||||||
"key": "shirenyu20020",
|
"key": "shirenyu20020",
|
||||||
"text": "太极球"
|
"text": "太极球"
|
||||||
|
@ -83,6 +83,7 @@ const (
|
|||||||
ModulePractice core.M_Modules = "practice" //熊猫武馆 练功系统
|
ModulePractice core.M_Modules = "practice" //熊猫武馆 练功系统
|
||||||
ModulePandaAtlas core.M_Modules = "atlas" //熊猫图鉴
|
ModulePandaAtlas core.M_Modules = "atlas" //熊猫图鉴
|
||||||
ModuleParkour core.M_Modules = "parkour" //跑酷系统
|
ModuleParkour core.M_Modules = "parkour" //跑酷系统
|
||||||
|
ModuleTools core.M_Modules = "tools" //工具
|
||||||
)
|
)
|
||||||
|
|
||||||
// 数据表名定义处
|
// 数据表名定义处
|
||||||
|
@ -115,7 +115,8 @@ func GetRandNum(min, max int32) int32 {
|
|||||||
if max == min {
|
if max == min {
|
||||||
return min
|
return min
|
||||||
}
|
}
|
||||||
n, _ := rand.Int(rand.Reader, big.NewInt(int64(max-min)))
|
|
||||||
|
n, _ := rand.Int(rand.Reader, big.NewInt(int64(max-min+1))) //+1 是因为 rand方法范围是[0, max)
|
||||||
return int32(n.Int64()) + min
|
return int32(n.Int64()) + min
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -451,4 +451,9 @@ type (
|
|||||||
//pvp切磋结果通知
|
//pvp切磋结果通知
|
||||||
ChallengeResults(bid, red, bule string, winSide int32)
|
ChallengeResults(bid, red, bule string, winSide int32)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ITools interface {
|
||||||
|
GetGroupDataByLottery(lotteryId int32, vipLv int32, lv int32) (items []*cfg.Gameatn)
|
||||||
|
GetGlobalConf() *cfg.GameGlobalData
|
||||||
|
}
|
||||||
)
|
)
|
||||||
|
@ -55,11 +55,11 @@ func (this *apiComp) Challenge(session comm.IUserSession, req *pb.ArenaChallenge
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
this.module.modelArena.recoverTicket(session, red)
|
this.module.modelArena.recoverTicket(session, red)
|
||||||
if cd = this.module.ConsumeRes(session, []*cfg.Gameatn{this.module.configure.GetGlobalConf().ArenaTicketCos}, true); cd != pb.ErrorCode_Success {
|
if cd = this.module.ConsumeRes(session, []*cfg.Gameatn{this.module.ModuleTools.GetGlobalConf().ArenaTicketCos}, true); cd != pb.ErrorCode_Success {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
// if red.Ticket > this.module.configure.GetGlobalConf().ArenaTicketCos {
|
// if red.Ticket > this.module.ModuleTools.GetGlobalConf().ArenaTicketCos {
|
||||||
// red.Ticket -= this.module.configure.GetGlobalConf().ArenaTicketCos
|
// red.Ticket -= this.module.ModuleTools.GetGlobalConf().ArenaTicketCos
|
||||||
// } else {
|
// } else {
|
||||||
// code = pb.ErrorCode_ArenaTicketNotEnough
|
// code = pb.ErrorCode_ArenaTicketNotEnough
|
||||||
// return
|
// return
|
||||||
|
@ -34,7 +34,7 @@ func (this *apiComp) Info(session comm.IUserSession, req *pb.ArenaInfoReq) (code
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
if err == mgo.MongodbNil {
|
if err == mgo.MongodbNil {
|
||||||
global = this.module.configure.GetGlobalConf()
|
global = this.module.ModuleTools.GetGlobalConf()
|
||||||
if model, err = this.module.GetDBNodule(session, comm.TableUser, time.Hour); err != nil {
|
if model, err = this.module.GetDBNodule(session, comm.TableUser, time.Hour); err != nil {
|
||||||
code = pb.ErrorCode_DBError
|
code = pb.ErrorCode_DBError
|
||||||
this.module.Errorln(err)
|
this.module.Errorln(err)
|
||||||
|
@ -59,11 +59,11 @@ func (this *apiComp) Plot(session comm.IUserSession, req *pb.ArenaPlotReq) (code
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
this.module.modelArena.recoverTicket(session, info)
|
this.module.modelArena.recoverTicket(session, info)
|
||||||
if cd = this.module.ConsumeRes(session, []*cfg.Gameatn{this.module.configure.GetGlobalConf().ArenaTicketCos}, true); cd != pb.ErrorCode_Success {
|
if cd = this.module.ConsumeRes(session, []*cfg.Gameatn{this.module.ModuleTools.GetGlobalConf().ArenaTicketCos}, true); cd != pb.ErrorCode_Success {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
// if info.Ticket > this.module.configure.GetGlobalConf().ArenaTicketCos {
|
// if info.Ticket > this.module.ModuleTools.GetGlobalConf().ArenaTicketCos {
|
||||||
// info.Ticket -= this.module.configure.GetGlobalConf().ArenaTicketCos
|
// info.Ticket -= this.module.ModuleTools.GetGlobalConf().ArenaTicketCos
|
||||||
// } else {
|
// } else {
|
||||||
// code = pb.ErrorCode_ArenaTicketNotEnough
|
// code = pb.ErrorCode_ArenaTicketNotEnough
|
||||||
// return
|
// return
|
||||||
|
@ -394,7 +394,7 @@ func (this *modelArena) recoverTicket(session comm.IUserSession, info *pb.DBAren
|
|||||||
ticket int32
|
ticket int32
|
||||||
ticketNum int32
|
ticketNum int32
|
||||||
)
|
)
|
||||||
global := this.module.configure.GetGlobalConf()
|
global := this.module.ModuleTools.GetGlobalConf()
|
||||||
ticket = int32(this.module.ModuleItems.QueryItemAmount(info.Uid, comm.ArenaTicket))
|
ticket = int32(this.module.ModuleItems.QueryItemAmount(info.Uid, comm.ArenaTicket))
|
||||||
if ticket < global.ArenaTicketMax && info.Lastrtickettime > 0 {
|
if ticket < global.ArenaTicketMax && info.Lastrtickettime > 0 {
|
||||||
duration = configure.Now().Sub(time.Unix(info.Lastrtickettime, 0))
|
duration = configure.Now().Sub(time.Unix(info.Lastrtickettime, 0))
|
||||||
@ -422,14 +422,14 @@ func (this *modelArena) reddot(session comm.IUserSession) bool {
|
|||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
if err == mgo.MongodbNil {
|
if err == mgo.MongodbNil {
|
||||||
global := this.module.configure.GetGlobalConf()
|
global := this.module.ModuleTools.GetGlobalConf()
|
||||||
if global.ArenaTicketMax >= global.ArenaTicketCos.N {
|
if global.ArenaTicketMax >= global.ArenaTicketCos.N {
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
ticket := int32(this.module.ModuleItems.QueryItemAmount(info.Uid, comm.ArenaTicket))
|
ticket := int32(this.module.ModuleItems.QueryItemAmount(info.Uid, comm.ArenaTicket))
|
||||||
if ticket > this.module.configure.GetGlobalConf().ArenaTicketCos.N {
|
if ticket > this.module.ModuleTools.GetGlobalConf().ArenaTicketCos.N {
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
return false
|
return false
|
||||||
|
@ -130,7 +130,7 @@ func (this *Arena) GetMatcheBattleRoles(uid string) (captain int32, rules []*pb.
|
|||||||
ais []*pb.ArenaPlayer
|
ais []*pb.ArenaPlayer
|
||||||
code pb.ErrorCode
|
code pb.ErrorCode
|
||||||
)
|
)
|
||||||
global = this.configure.GetGlobalConf()
|
global = this.ModuleTools.GetGlobalConf()
|
||||||
if info, err = this.modelArena.queryPlayerInfo(uid); err != nil && err != mgo.MongodbNil {
|
if info, err = this.modelArena.queryPlayerInfo(uid); err != nil && err != mgo.MongodbNil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -59,8 +59,9 @@ func (this *apiComp) Drop(session comm.IUserSession, req *pb.CombatDropReq) (cod
|
|||||||
code = pb.ErrorCode_DBError
|
code = pb.ErrorCode_DBError
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
user := this.module.ModuleUser.GetUser(session.GetUserId())
|
||||||
reward := this.module.configure.GetDropReward(box.Drop)
|
reward := this.module.ModuleTools.GetGroupDataByLottery(box.Drop, user.Vip, user.Lv)
|
||||||
|
//reward := this.module.configure.GetDropReward(box.Drop)
|
||||||
this.module.DispenseRes(session, reward, true)
|
this.module.DispenseRes(session, reward, true)
|
||||||
atns = make([]*pb.UserAssets, len(reward))
|
atns = make([]*pb.UserAssets, len(reward))
|
||||||
for i, v := range reward {
|
for i, v := range reward {
|
||||||
|
@ -6,7 +6,6 @@ import (
|
|||||||
"go_dreamfactory/lego/core"
|
"go_dreamfactory/lego/core"
|
||||||
"go_dreamfactory/lego/core/cbase"
|
"go_dreamfactory/lego/core/cbase"
|
||||||
"go_dreamfactory/lego/sys/log"
|
"go_dreamfactory/lego/sys/log"
|
||||||
"go_dreamfactory/pb"
|
|
||||||
"go_dreamfactory/sys/configure"
|
"go_dreamfactory/sys/configure"
|
||||||
cfg "go_dreamfactory/sys/configure/structs"
|
cfg "go_dreamfactory/sys/configure/structs"
|
||||||
"sync"
|
"sync"
|
||||||
@ -167,7 +166,7 @@ func (this *MCompConfigure) GetGroupDataByLottery(lotteryId int32, vipLv int32,
|
|||||||
}
|
}
|
||||||
|
|
||||||
groupID = szID[comm.GetRandW(szW)] // 获得小组ID
|
groupID = szID[comm.GetRandW(szW)] // 获得小组ID
|
||||||
fmt.Printf("获得小组ID :%d", groupID)
|
fmt.Printf("大组类型为1的,获得小组ID :%d,dropID:%d", groupID, lotteryId)
|
||||||
key := int64(lotteryId)<<31 + int64(groupID)
|
key := int64(lotteryId)<<31 + int64(groupID)
|
||||||
// 小组ID 类型判断
|
// 小组ID 类型判断
|
||||||
if this.Stype[key] == 1 { // 该小组的道具为权重掉落,必定从N个道具中随机出1个道具
|
if this.Stype[key] == 1 { // 该小组的道具为权重掉落,必定从N个道具中随机出1个道具
|
||||||
@ -186,7 +185,7 @@ func (this *MCompConfigure) GetGroupDataByLottery(lotteryId int32, vipLv int32,
|
|||||||
index := comm.GetRandW(szW)
|
index := comm.GetRandW(szW)
|
||||||
_data := this.GetLotterConfById(szID[index])
|
_data := this.GetLotterConfById(szID[index])
|
||||||
fmt.Printf("获得最终的道具 :%d", _data.Id)
|
fmt.Printf("获得最终的道具 :%d", _data.Id)
|
||||||
count := comm.GetRandNum(_data.Min, _data.Max+1)
|
count := comm.GetRandNum(_data.Min, _data.Max)
|
||||||
// 随机获得的数量
|
// 随机获得的数量
|
||||||
items = append(items, &cfg.Gameatn{
|
items = append(items, &cfg.Gameatn{
|
||||||
A: _data.Itemid.A,
|
A: _data.Itemid.A,
|
||||||
@ -198,8 +197,9 @@ func (this *MCompConfigure) GetGroupDataByLottery(lotteryId int32, vipLv int32,
|
|||||||
} else if this.Stype[key] == 2 { // 该小组中的道具为概率掉落,每个道具都会随机一次是否会掉落(单位为千分比)
|
} else if this.Stype[key] == 2 { // 该小组中的道具为概率掉落,每个道具都会随机一次是否会掉落(单位为千分比)
|
||||||
for _, v := range this._groupType2[key] {
|
for _, v := range this._groupType2[key] {
|
||||||
if _data := this.GetLotterConfById(v); _data != nil { // 权重赋值
|
if _data := this.GetLotterConfById(v); _data != nil { // 权重赋值
|
||||||
if _data.Itemwt >= comm.GetRandNum(0, 1000) { // 命中
|
fmt.Printf("大组类型1小组类型2获得道具 :%v, 该道具Cid:%d", _data.Itemid, v)
|
||||||
count := comm.GetRandNum(_data.Min, _data.Max+1)
|
if _data.Itemwt >= comm.GetRandNum(1, 1000) { // 命中
|
||||||
|
count := comm.GetRandNum(_data.Min, _data.Max)
|
||||||
items = append(items, &cfg.Gameatn{
|
items = append(items, &cfg.Gameatn{
|
||||||
A: _data.Itemid.A,
|
A: _data.Itemid.A,
|
||||||
T: _data.Itemid.T,
|
T: _data.Itemid.T,
|
||||||
@ -223,8 +223,10 @@ func (this *MCompConfigure) GetGroupDataByLottery(lotteryId int32, vipLv int32,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 类型为2 可能会同时获得多个组id
|
// 类型为2 可能会同时获得多个组id
|
||||||
for k, v := range gourp {
|
for k, v := range gourp {
|
||||||
|
fmt.Printf("大组类型为2的,获得小组ID :%d,dropID:%d", k, v.Id)
|
||||||
if v.Itemwt >= comm.GetRandNum(0, 1000) { // 命中
|
if v.Itemwt >= comm.GetRandNum(0, 1000) { // 命中
|
||||||
szGroupID = append(szGroupID, k)
|
szGroupID = append(szGroupID, k)
|
||||||
key := int64(lotteryId)<<31 + int64(k)
|
key := int64(lotteryId)<<31 + int64(k)
|
||||||
@ -244,7 +246,7 @@ func (this *MCompConfigure) GetGroupDataByLottery(lotteryId int32, vipLv int32,
|
|||||||
index := comm.GetRandW(szW)
|
index := comm.GetRandW(szW)
|
||||||
_data := this.GetLotterConfById(szID[index])
|
_data := this.GetLotterConfById(szID[index])
|
||||||
fmt.Printf("获得最终的道具 :%d", _data.Id)
|
fmt.Printf("获得最终的道具 :%d", _data.Id)
|
||||||
count := comm.GetRandNum(_data.Min, _data.Max+1)
|
count := comm.GetRandNum(_data.Min, _data.Max)
|
||||||
// 随机获得的数量
|
// 随机获得的数量
|
||||||
items = append(items, &cfg.Gameatn{
|
items = append(items, &cfg.Gameatn{
|
||||||
A: _data.Itemid.A,
|
A: _data.Itemid.A,
|
||||||
@ -255,8 +257,9 @@ func (this *MCompConfigure) GetGroupDataByLottery(lotteryId int32, vipLv int32,
|
|||||||
} else if this.Stype[key] == 2 {
|
} else if this.Stype[key] == 2 {
|
||||||
for _, v := range this._groupType2[key] {
|
for _, v := range this._groupType2[key] {
|
||||||
if _data := this.GetLotterConfById(v); _data != nil { // 权重赋值
|
if _data := this.GetLotterConfById(v); _data != nil { // 权重赋值
|
||||||
if _data.Itemwt >= comm.GetRandNum(0, 1000) { // 命中
|
fmt.Printf("大组类型2小组类型2获得道具 :%v,该道具Cid:%d", _data.Itemid, v)
|
||||||
count := comm.GetRandNum(_data.Min, _data.Max+1)
|
if _data.Itemwt >= comm.GetRandNum(1, 1000) { // 命中
|
||||||
|
count := comm.GetRandNum(_data.Min, _data.Max)
|
||||||
items = append(items, &cfg.Gameatn{
|
items = append(items, &cfg.Gameatn{
|
||||||
A: _data.Itemid.A,
|
A: _data.Itemid.A,
|
||||||
T: _data.Itemid.T,
|
T: _data.Itemid.T,
|
||||||
@ -321,22 +324,22 @@ func (this *MCompConfigure) GetConfigure(name string) (v interface{}, err error)
|
|||||||
}
|
}
|
||||||
|
|
||||||
//全局配置
|
//全局配置
|
||||||
func (this *MCompConfigure) GetGlobalConf() *cfg.GameGlobalData {
|
// func (this *MCompConfigure) GetGlobalConf() *cfg.GameGlobalData {
|
||||||
var (
|
// var (
|
||||||
configure *cfg.GameGlobal
|
// configure *cfg.GameGlobal
|
||||||
ok bool
|
// ok bool
|
||||||
)
|
// )
|
||||||
if v, err := this.GetConfigure(game_global); err != nil {
|
// if v, err := this.GetConfigure(game_global); err != nil {
|
||||||
log.Errorf("get global conf err:%v", err)
|
// log.Errorf("get global conf err:%v", err)
|
||||||
return nil
|
// return nil
|
||||||
} else {
|
// } else {
|
||||||
if configure, ok = v.(*cfg.GameGlobal); !ok {
|
// if configure, ok = v.(*cfg.GameGlobal); !ok {
|
||||||
log.Errorf("%T no is *cfg.Game_global", v)
|
// log.Errorf("%T no is *cfg.Game_global", v)
|
||||||
return nil
|
// return nil
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
return configure.GetDataList()[0] // 返回对象信息
|
// return configure.GetDataList()[0] // 返回对象信息
|
||||||
}
|
// }
|
||||||
|
|
||||||
func (this *MCompConfigure) GetGlobalInitConf() (configure *cfg.GameInitial, err error) {
|
func (this *MCompConfigure) GetGlobalInitConf() (configure *cfg.GameInitial, err error) {
|
||||||
var (
|
var (
|
||||||
@ -408,40 +411,6 @@ func (this *MCompConfigure) GetDropData(dropId int32) (data []*cfg.GameDropData)
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
// todo 调用drop 表 获取掉落信息
|
|
||||||
func (this *MCompConfigure) GetMultipleDropReward(count, dropId int32, items []*pb.UserAssets) (resData []*pb.UserAssets) {
|
|
||||||
res := make([]*cfg.Gameatn, 0)
|
|
||||||
|
|
||||||
for i := 0; i < int(count); i++ {
|
|
||||||
data := this.GetDropData(dropId)
|
|
||||||
szW := make([]int32, 0)
|
|
||||||
for _, value := range data {
|
|
||||||
szW = append(szW, value.P)
|
|
||||||
}
|
|
||||||
if len(szW) > 0 {
|
|
||||||
index := comm.GetRandW(szW)
|
|
||||||
res = append(res, data[index].Prize...)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
for _, v := range res {
|
|
||||||
bFind := false
|
|
||||||
for _, v1 := range items {
|
|
||||||
if v.A == v1.A && v.T == v1.T {
|
|
||||||
v1.N += v.N
|
|
||||||
bFind = true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if !bFind {
|
|
||||||
items = append(items, &pb.UserAssets{
|
|
||||||
A: v.A,
|
|
||||||
T: v.T,
|
|
||||||
N: v.N,
|
|
||||||
})
|
|
||||||
}
|
|
||||||
}
|
|
||||||
resData = append(resData, items...)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
func (this *MCompConfigure) GetDropReward(dropId int32) (result []*cfg.Gameatn) {
|
func (this *MCompConfigure) GetDropReward(dropId int32) (result []*cfg.Gameatn) {
|
||||||
result = make([]*cfg.Gameatn, 0)
|
result = make([]*cfg.Gameatn, 0)
|
||||||
|
|
||||||
|
@ -56,7 +56,7 @@ func (a *apiComp) Do(session comm.IUserSession, req *pb.DispatchDoReq) (code pb.
|
|||||||
}
|
}
|
||||||
|
|
||||||
//校验门票
|
//校验门票
|
||||||
ticketAtn := a.module.configure.GetGlobalConf().DispatchNumtools
|
ticketAtn := a.module.ModuleTools.GetGlobalConf().DispatchNumtools
|
||||||
if code = a.module.CheckRes(session, []*cfg.Gameatn{ticketAtn}); code != pb.ErrorCode_Success {
|
if code = a.module.CheckRes(session, []*cfg.Gameatn{ticketAtn}); code != pb.ErrorCode_Success {
|
||||||
code = pb.ErrorCode_DispatchTicketNoEnough
|
code = pb.ErrorCode_DispatchTicketNoEnough
|
||||||
return
|
return
|
||||||
|
@ -35,7 +35,7 @@ func (a *apiComp) Notice(session comm.IUserSession, req *pb.DispatchNoticeReq) (
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
freeCount := a.module.configure.GetGlobalConf().DispatchFreecheck
|
freeCount := a.module.ModuleTools.GetGlobalConf().DispatchFreecheck
|
||||||
nb := &pb.Noticeboard{
|
nb := &pb.Noticeboard{
|
||||||
Lv: 1, //公告初始升级
|
Lv: 1, //公告初始升级
|
||||||
FreeCount: freeCount,
|
FreeCount: freeCount,
|
||||||
@ -55,9 +55,9 @@ func (a *apiComp) Notice(session comm.IUserSession, req *pb.DispatchNoticeReq) (
|
|||||||
//恢复门票
|
//恢复门票
|
||||||
one := utils.DiffDays(d.Nb.UpdateTime, configure.Now().Unix())
|
one := utils.DiffDays(d.Nb.UpdateTime, configure.Now().Unix())
|
||||||
if one >= 1 {
|
if one >= 1 {
|
||||||
itemId := a.module.configure.GetGlobalConf().DispatchNumtools.T
|
itemId := a.module.ModuleTools.GetGlobalConf().DispatchNumtools.T
|
||||||
left := a.module.ModuleItems.QueryItemAmount(uid, itemId)
|
left := a.module.ModuleItems.QueryItemAmount(uid, itemId)
|
||||||
limit := a.module.configure.GetGlobalConf().DispatchNumoftimes
|
limit := a.module.ModuleTools.GetGlobalConf().DispatchNumoftimes
|
||||||
if int32(left) < limit {
|
if int32(left) < limit {
|
||||||
add := limit - int32(left)
|
add := limit - int32(left)
|
||||||
atn := &cfg.Gameatn{A: "item", T: itemId, N: add}
|
atn := &cfg.Gameatn{A: "item", T: itemId, N: add}
|
||||||
@ -66,7 +66,7 @@ func (a *apiComp) Notice(session comm.IUserSession, req *pb.DispatchNoticeReq) (
|
|||||||
}
|
}
|
||||||
//周任务重置
|
//周任务重置
|
||||||
n := utils.DiffDays(d.Nb.UpdateTime, configure.Now().Unix())
|
n := utils.DiffDays(d.Nb.UpdateTime, configure.Now().Unix())
|
||||||
day := a.module.configure.GetGlobalConf().DispatchWeektaskcheck
|
day := a.module.ModuleTools.GetGlobalConf().DispatchWeektaskcheck
|
||||||
if int32(n) >= day {
|
if int32(n) >= day {
|
||||||
d.Nb.WeekCount = 0
|
d.Nb.WeekCount = 0
|
||||||
d.Nb.WeekReceived = []int32{}
|
d.Nb.WeekReceived = []int32{}
|
||||||
|
@ -36,13 +36,13 @@ func (a *apiComp) Refresh(session comm.IUserSession, req *pb.DispatchRefreshReq)
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
refreshCount := a.module.configure.GetGlobalConf().DispatchRefreshtimes
|
refreshCount := a.module.ModuleTools.GetGlobalConf().DispatchRefreshtimes
|
||||||
if d.Nb.RefreshCount >= refreshCount {
|
if d.Nb.RefreshCount >= refreshCount {
|
||||||
code = pb.ErrorCode_DispatchRefreshMax
|
code = pb.ErrorCode_DispatchRefreshMax
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
//消耗金币
|
//消耗金币
|
||||||
money := a.module.configure.GetGlobalConf().DispatchCheckmoney
|
money := a.module.ModuleTools.GetGlobalConf().DispatchCheckmoney
|
||||||
if code = a.module.CheckRes(session, []*cfg.Gameatn{money}); code != pb.ErrorCode_Success {
|
if code = a.module.CheckRes(session, []*cfg.Gameatn{money}); code != pb.ErrorCode_Success {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -27,7 +27,7 @@ func (a *apiComp) Weekrecive(session comm.IUserSession, req *pb.DispatchWeekReci
|
|||||||
}
|
}
|
||||||
|
|
||||||
//派发奖励
|
//派发奖励
|
||||||
wr := a.module.configure.GetGlobalConf().DispatchWeektaskreward
|
wr := a.module.ModuleTools.GetGlobalConf().DispatchWeektaskreward
|
||||||
for i, v := range wr {
|
for i, v := range wr {
|
||||||
if req.Idx == int32(i+1) {
|
if req.Idx == int32(i+1) {
|
||||||
if d.Nb.WeekCount >= v.N {
|
if d.Nb.WeekCount >= v.N {
|
||||||
|
@ -42,7 +42,7 @@ func (this *modelDispatch) initDispatch(uid string, dispatch *pb.DBDispatch) *pb
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
freeCount := this.module.configure.GetGlobalConf().DispatchFreecheck
|
freeCount := this.module.ModuleTools.GetGlobalConf().DispatchFreecheck
|
||||||
dis := &pb.DBDispatch{
|
dis := &pb.DBDispatch{
|
||||||
Uid: uid,
|
Uid: uid,
|
||||||
Nb: &pb.Noticeboard{
|
Nb: &pb.Noticeboard{
|
||||||
|
@ -40,7 +40,7 @@ func (this *apiComp) Wash(session comm.IUserSession, req *pb.EquipmentWashReq) (
|
|||||||
code = pb.ErrorCode_ConfigNoFound
|
code = pb.ErrorCode_ConfigNoFound
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
gole := this.module.configure.GetGlobalConf().EquipmentConsumption[conf.Color-1]
|
gole := this.module.ModuleTools.GetGlobalConf().EquipmentConsumption[conf.Color-1]
|
||||||
if code = this.module.ConsumeRes(session, []*cfg.Gameatn{{A: comm.AttrType, T: comm.ResGold, N: gole}}, true); code != pb.ErrorCode_Success {
|
if code = this.module.ConsumeRes(session, []*cfg.Gameatn{{A: comm.AttrType, T: comm.ResGold, N: gole}}, true); code != pb.ErrorCode_Success {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -40,7 +40,7 @@ func (this *apiComp) Getreward(session comm.IUserSession, req *pb.FriendGetrewar
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
globalConf := this.moduleFriend.configure.GetGlobalConf()
|
globalConf := this.moduleFriend.ModuleTools.GetGlobalConf()
|
||||||
if code = this.moduleFriend.DispenseRes(session, globalConf.FriendPeize, true); code != pb.ErrorCode_Success {
|
if code = this.moduleFriend.DispenseRes(session, globalConf.FriendPeize, true); code != pb.ErrorCode_Success {
|
||||||
this.moduleFriend.Error("好友领奖励",
|
this.moduleFriend.Error("好友领奖励",
|
||||||
log.Field{Key: "uid", Value: uid},
|
log.Field{Key: "uid", Value: uid},
|
||||||
|
@ -61,7 +61,7 @@ func (this *Friend) Start() (err error) {
|
|||||||
err = this.ModuleBase.Start()
|
err = this.ModuleBase.Start()
|
||||||
this.service.RegisterFunctionName(string(comm.Rpc_ModuleFriendUseAssitHero), this.RpcUseAssisHero)
|
this.service.RegisterFunctionName(string(comm.Rpc_ModuleFriendUseAssitHero), this.RpcUseAssisHero)
|
||||||
this.service.RegisterFunctionName(string(comm.Rpc_ModuleFriendDB), this.RpcFriendDB)
|
this.service.RegisterFunctionName(string(comm.Rpc_ModuleFriendDB), this.RpcFriendDB)
|
||||||
this.globalConf = this.configure.GetGlobalConf()
|
this.globalConf = this.ModuleTools.GetGlobalConf()
|
||||||
if this.globalConf == nil {
|
if this.globalConf == nil {
|
||||||
err = errors.New("global config not found")
|
err = errors.New("global config not found")
|
||||||
}
|
}
|
||||||
|
@ -52,7 +52,7 @@ func (this *apiComp) Buy(session comm.IUserSession, req *pb.HeroBuyReq) (code pb
|
|||||||
code = pb.ErrorCode_SystemError
|
code = pb.ErrorCode_SystemError
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
global = this.module.configure.GetGlobalConf()
|
global = this.module.ModuleTools.GetGlobalConf()
|
||||||
for _, v := range conf.Salelist {
|
for _, v := range conf.Salelist {
|
||||||
price = append(price, v)
|
price = append(price, v)
|
||||||
}
|
}
|
||||||
|
@ -36,7 +36,7 @@ func (this *apiComp) DrawCard(session comm.IUserSession, req *pb.HeroDrawCardReq
|
|||||||
normalDraw bool // 是否是普通抽
|
normalDraw bool // 是否是普通抽
|
||||||
)
|
)
|
||||||
update = make(map[string]interface{})
|
update = make(map[string]interface{})
|
||||||
cfgDraw = this.module.configure.GetGlobalConf() // 读取抽卡配置文件
|
cfgDraw = this.module.ModuleTools.GetGlobalConf() // 读取抽卡配置文件
|
||||||
if cfgDraw == nil {
|
if cfgDraw == nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@ -81,7 +81,7 @@ func (this *apiComp) DrawCard(session comm.IUserSession, req *pb.HeroDrawCardReq
|
|||||||
starIndex := this.module.modelHero.GetRandW(starWeight) // 3 4 5 星索引
|
starIndex := this.module.modelHero.GetRandW(starWeight) // 3 4 5 星索引
|
||||||
|
|
||||||
// 特殊规则 DrawCard_5StarsInRange 第2-30次抽奖必出一个5星英雄(普通卡池)
|
// 特殊规则 DrawCard_5StarsInRange 第2-30次抽奖必出一个5星英雄(普通卡池)
|
||||||
inRangeConf := this.module.configure.GetGlobalConf().DrawCard5StarsInRange
|
inRangeConf := this.module.ModuleTools.GetGlobalConf().DrawCard5StarsInRange
|
||||||
if len(inRangeConf) == 3 {
|
if len(inRangeConf) == 3 {
|
||||||
iStart := inRangeConf[0] // 抽卡开始
|
iStart := inRangeConf[0] // 抽卡开始
|
||||||
iEnd := inRangeConf[1] // 抽卡结束
|
iEnd := inRangeConf[1] // 抽卡结束
|
||||||
@ -121,7 +121,7 @@ func (this *apiComp) DrawCard(session comm.IUserSession, req *pb.HeroDrawCardReq
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
inRangeConf1 := this.module.configure.GetGlobalConf().DrawCard5StarsInRange1
|
inRangeConf1 := this.module.ModuleTools.GetGlobalConf().DrawCard5StarsInRange1
|
||||||
if len(inRangeConf1) == 3 {
|
if len(inRangeConf1) == 3 {
|
||||||
iStart := inRangeConf1[0] // 抽卡开始
|
iStart := inRangeConf1[0] // 抽卡开始
|
||||||
iEnd := inRangeConf1[1] // 抽卡结束
|
iEnd := inRangeConf1[1] // 抽卡结束
|
||||||
@ -142,7 +142,7 @@ func (this *apiComp) DrawCard(session comm.IUserSession, req *pb.HeroDrawCardReq
|
|||||||
heroRecord.Star5 = 0
|
heroRecord.Star5 = 0
|
||||||
}
|
}
|
||||||
// 修改卡池
|
// 修改卡池
|
||||||
newPoll := this.module.configure.GetGlobalConf().DrawCard5StarsInRange1Pool
|
newPoll := this.module.ModuleTools.GetGlobalConf().DrawCard5StarsInRange1Pool
|
||||||
if newPoll != "" {
|
if newPoll != "" {
|
||||||
strPool[len(strPool)-1] = newPoll
|
strPool[len(strPool)-1] = newPoll
|
||||||
}
|
}
|
||||||
@ -163,7 +163,7 @@ func (this *apiComp) DrawCard(session comm.IUserSession, req *pb.HeroDrawCardReq
|
|||||||
heroRecord.Star5 = 0
|
heroRecord.Star5 = 0
|
||||||
}
|
}
|
||||||
// 修改卡池
|
// 修改卡池
|
||||||
newPoll := this.module.configure.GetGlobalConf().DrawCard5StarsInRange1Pool
|
newPoll := this.module.ModuleTools.GetGlobalConf().DrawCard5StarsInRange1Pool
|
||||||
if newPoll != "" {
|
if newPoll != "" {
|
||||||
strPool[len(strPool)-1] = newPoll
|
strPool[len(strPool)-1] = newPoll
|
||||||
}
|
}
|
||||||
|
@ -42,11 +42,12 @@ func (this *apiComp) Info(session comm.IUserSession, req *pb.HeroInfoReq) (code
|
|||||||
if err = dbModel.GetListObj(uid, v, hero); err == nil {
|
if err = dbModel.GetListObj(uid, v, hero); err == nil {
|
||||||
rsp.Base = append(rsp.Base, hero)
|
rsp.Base = append(rsp.Base, hero)
|
||||||
} else {
|
} else {
|
||||||
this.module.Errorf("err:%v", err)
|
this.module.Errorf("err:%v,heroid:%s,uid:%s", err, v, uid)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
rsp.Uid = uid
|
rsp.Uid = uid
|
||||||
session.SendMsg(string(this.module.GetType()), HeroSubTypeInfo, rsp)
|
session.SendMsg(string(this.module.GetType()), HeroSubTypeInfo, rsp)
|
||||||
return
|
return
|
||||||
|
@ -89,7 +89,7 @@ func (this *apiComp) TalentLearn(session comm.IUserSession, req *pb.HeroTalentLe
|
|||||||
curItemCount := int32(this.module.ModuleItems.QueryItemAmount(session.GetUserId(), t))
|
curItemCount := int32(this.module.ModuleItems.QueryItemAmount(session.GetUserId(), t))
|
||||||
if curItemCount < talentConf.Point { // 如果数量不够 则取找其他物品替代
|
if curItemCount < talentConf.Point { // 如果数量不够 则取找其他物品替代
|
||||||
leftCount := talentConf.Point - curItemCount // 需要其他物品的数量
|
leftCount := talentConf.Point - curItemCount // 需要其他物品的数量
|
||||||
generaltp := this.module.configure.GetGlobalConf().Generaltp
|
generaltp := this.module.ModuleTools.GetGlobalConf().Generaltp
|
||||||
fp := &cfg.Gameatn{
|
fp := &cfg.Gameatn{
|
||||||
A: generaltp.A,
|
A: generaltp.A,
|
||||||
T: generaltp.T,
|
T: generaltp.T,
|
||||||
|
@ -39,7 +39,7 @@ func (this *apiComp) TalentReset(session comm.IUserSession, req *pb.HeroTalentRe
|
|||||||
chanegCard = make([]*pb.DBHero, 0)
|
chanegCard = make([]*pb.DBHero, 0)
|
||||||
|
|
||||||
// 检查消耗够不够
|
// 检查消耗够不够
|
||||||
if code = this.module.ConsumeRes(session, this.module.configure.GetGlobalConf().TalentReset, true); code != pb.ErrorCode_Success {
|
if code = this.module.ConsumeRes(session, this.module.ModuleTools.GetGlobalConf().TalentReset, true); code != pb.ErrorCode_Success {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -879,7 +879,7 @@ func (this *ModelHero) createHero(session comm.IUserSession, heroCfgId string, c
|
|||||||
|
|
||||||
// 如果技能是满级 则转成其他道具
|
// 如果技能是满级 则转成其他道具
|
||||||
if this.checkHeroAllSkillMax(hero) {
|
if this.checkHeroAllSkillMax(hero) {
|
||||||
list := this.moduleHero.configure.GetGlobalConf().Moonshopmoney
|
list := this.moduleHero.ModuleTools.GetGlobalConf().Moonshopmoney
|
||||||
if list != nil {
|
if list != nil {
|
||||||
|
|
||||||
for pos, v := range list {
|
for pos, v := range list {
|
||||||
|
@ -460,7 +460,7 @@ func (this *Hero) PushHeroProperty(session comm.IUserSession, heros []*pb.DBHero
|
|||||||
|
|
||||||
// 充值了多少钱
|
// 充值了多少钱
|
||||||
func (this *Hero) RechargeMoney(uid string, money int32) {
|
func (this *Hero) RechargeMoney(uid string, money int32) {
|
||||||
conf := this.configure.GetGlobalConf()
|
conf := this.ModuleTools.GetGlobalConf()
|
||||||
if conf != nil {
|
if conf != nil {
|
||||||
if len(conf.DrawCardRechargeReward) != 2 {
|
if len(conf.DrawCardRechargeReward) != 2 {
|
||||||
return
|
return
|
||||||
@ -489,7 +489,7 @@ func (this *Hero) RechargeMoney(uid string, money int32) {
|
|||||||
|
|
||||||
// 多少天没登录
|
// 多少天没登录
|
||||||
func (this *Hero) NoLoginDay(uid string, day int32) {
|
func (this *Hero) NoLoginDay(uid string, day int32) {
|
||||||
conf := this.configure.GetGlobalConf()
|
conf := this.ModuleTools.GetGlobalConf()
|
||||||
if conf != nil {
|
if conf != nil {
|
||||||
if len(conf.DrawCardRegressionReward) != 2 {
|
if len(conf.DrawCardRegressionReward) != 2 {
|
||||||
return
|
return
|
||||||
@ -533,7 +533,7 @@ func (this *Hero) ContinuousRestriction(uid string, heroCid string, drawCount in
|
|||||||
}
|
}
|
||||||
for heroid, index := range record.Star5Hero {
|
for heroid, index := range record.Star5Hero {
|
||||||
if heroid == heroCid {
|
if heroid == heroCid {
|
||||||
conf := this.configure.GetGlobalConf() //.
|
conf := this.ModuleTools.GetGlobalConf() //.
|
||||||
iMaxCOunt := conf.DrawCardContinuousRestrictionStar5
|
iMaxCOunt := conf.DrawCardContinuousRestrictionStar5
|
||||||
if drawCount-index <= iMaxCOunt { // 连续n次还获得该英雄 直接替换其他英雄
|
if drawCount-index <= iMaxCOunt { // 连续n次还获得该英雄 直接替换其他英雄
|
||||||
|
|
||||||
@ -577,7 +577,7 @@ func (this *Hero) CheckCondition(uid string) bool {
|
|||||||
defer this.modelRecord.ChangeHeroRecord(uid, update)
|
defer this.modelRecord.ChangeHeroRecord(uid, update)
|
||||||
record, _ := this.modelRecord.GetHeroRecord(uid)
|
record, _ := this.modelRecord.GetHeroRecord(uid)
|
||||||
if v, ok := record.Condition["recharge"]; ok {
|
if v, ok := record.Condition["recharge"]; ok {
|
||||||
conf := this.configure.GetGlobalConf() //.
|
conf := this.ModuleTools.GetGlobalConf() //.
|
||||||
if len(conf.DrawCardRechargeReward) == 2 {
|
if len(conf.DrawCardRechargeReward) == 2 {
|
||||||
curCount = conf.DrawCardRechargeReward[1]
|
curCount = conf.DrawCardRechargeReward[1]
|
||||||
}
|
}
|
||||||
@ -597,7 +597,7 @@ func (this *Hero) CheckCondition(uid string) bool {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if v, ok := record.Condition["login"]; ok {
|
if v, ok := record.Condition["login"]; ok {
|
||||||
conf := this.configure.GetGlobalConf() //.
|
conf := this.ModuleTools.GetGlobalConf() //.
|
||||||
if len(conf.DrawCardRegressionReward) == 2 {
|
if len(conf.DrawCardRegressionReward) == 2 {
|
||||||
curCount = conf.DrawCardRegressionReward[1]
|
curCount = conf.DrawCardRegressionReward[1]
|
||||||
}
|
}
|
||||||
@ -763,7 +763,7 @@ func (this *Hero) SendTaskMsg(session comm.IUserSession, szStar []int32, drawCou
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (this *Hero) newCondition(heroRecord *pb.DBHeroRecord) (get bool, starIndex int32) {
|
func (this *Hero) newCondition(heroRecord *pb.DBHeroRecord) (get bool, starIndex int32) {
|
||||||
inRangeConf := this.configure.GetGlobalConf().DrawCard5StarsInRange
|
inRangeConf := this.ModuleTools.GetGlobalConf().DrawCard5StarsInRange
|
||||||
if len(inRangeConf) == 3 {
|
if len(inRangeConf) == 3 {
|
||||||
iStart := inRangeConf[0] // 抽卡开始
|
iStart := inRangeConf[0] // 抽卡开始
|
||||||
iEnd := inRangeConf[1] // 抽卡结束
|
iEnd := inRangeConf[1] // 抽卡结束
|
||||||
@ -796,8 +796,8 @@ func (this *Hero) newCondition(heroRecord *pb.DBHeroRecord) (get bool, starIndex
|
|||||||
func (this *Hero) InRange(heroRecord *pb.DBHeroRecord, strPool []string, update map[string]interface{}) (starIndex int32, pool string) {
|
func (this *Hero) InRange(heroRecord *pb.DBHeroRecord, strPool []string, update map[string]interface{}) (starIndex int32, pool string) {
|
||||||
|
|
||||||
starIndex = 3 // 默认3星
|
starIndex = 3 // 默认3星
|
||||||
inRangeConf1 := this.configure.GetGlobalConf().DrawCard5StarsInRange1
|
inRangeConf1 := this.ModuleTools.GetGlobalConf().DrawCard5StarsInRange1
|
||||||
pool = this.configure.GetGlobalConf().DrawCard5StarsInRange1Pool
|
pool = this.ModuleTools.GetGlobalConf().DrawCard5StarsInRange1Pool
|
||||||
if len(inRangeConf1) == 3 {
|
if len(inRangeConf1) == 3 {
|
||||||
iStart := inRangeConf1[0] // 抽卡开始
|
iStart := inRangeConf1[0] // 抽卡开始
|
||||||
iEnd := inRangeConf1[1] // 抽卡结束
|
iEnd := inRangeConf1[1] // 抽卡结束
|
||||||
@ -914,7 +914,7 @@ func (this *Hero) RegisterInstructor(session comm.IUserSession, heroOid []string
|
|||||||
//DrawCard_ContinuousRestriction_Camp
|
//DrawCard_ContinuousRestriction_Camp
|
||||||
func (this *Hero) DrawCardContinuousRestrictionCamp(cardId string, race map[int32]int32, sz []int32, data []*cfg.GameDrawCardData) (card string) {
|
func (this *Hero) DrawCardContinuousRestrictionCamp(cardId string, race map[int32]int32, sz []int32, data []*cfg.GameDrawCardData) (card string) {
|
||||||
card = cardId
|
card = cardId
|
||||||
cfgDraw := this.configure.GetGlobalConf() // 读取抽卡配置文件
|
cfgDraw := this.ModuleTools.GetGlobalConf() // 读取抽卡配置文件
|
||||||
if cfgDraw == nil || race == nil {
|
if cfgDraw == nil || race == nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -30,7 +30,7 @@ func (this *apiComp) Reset(session comm.IUserSession, req *pb.HoroscopeResetReq)
|
|||||||
code = pb.ErrorCode_DBError
|
code = pb.ErrorCode_DBError
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
conf = this.module.configure.GetGlobalConf()
|
conf = this.module.ModuleTools.GetGlobalConf()
|
||||||
if info.Lastrest > 0 {
|
if info.Lastrest > 0 {
|
||||||
if configure.Now().Sub(time.Unix(info.Lastrest, 0)).Seconds() < float64(conf.HoroscopeResetCd) {
|
if configure.Now().Sub(time.Unix(info.Lastrest, 0)).Seconds() < float64(conf.HoroscopeResetCd) {
|
||||||
code = pb.ErrorCode_HoroscopeRestCDNoEnd
|
code = pb.ErrorCode_HoroscopeRestCDNoEnd
|
||||||
|
@ -34,7 +34,7 @@ func (this *apiComp) BuyPhysical(session comm.IUserSession, req *pb.ItemsBuyPhys
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
if needs = this.module.configure.GetGlobalConf().PsBuy; needs == nil && len(needs) == 0 {
|
if needs = this.module.ModuleTools.GetGlobalConf().PsBuy; needs == nil && len(needs) == 0 {
|
||||||
code = pb.ErrorCode_ConfigNoFound
|
code = pb.ErrorCode_ConfigNoFound
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -137,12 +137,12 @@ func (this *ConfigureComp) GetPackItemByType(itmes []*pb.DB_UserItemData, bagtyp
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (this *ConfigureComp) GetchallengeDataCount() (count int, err error) {
|
func (this *ConfigureComp) GetchallengeDataCount() (count int, err error) {
|
||||||
count = len(this.GetGlobalConf().CopsBuy)
|
count = len(this.module.ModuleTools.GetGlobalConf().CopsBuy)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
func (this *ConfigureComp) GetchallengeData(buy int) (result *cfg.Gameatn) {
|
func (this *ConfigureComp) GetchallengeData(buy int) (result *cfg.Gameatn) {
|
||||||
for i, v := range this.GetGlobalConf().CopsBuy {
|
for i, v := range this.module.ModuleTools.GetGlobalConf().CopsBuy {
|
||||||
if i == buy-1 {
|
if i == buy-1 {
|
||||||
result = v
|
result = v
|
||||||
return
|
return
|
||||||
|
@ -502,7 +502,7 @@ func (this *ModelItemsComp) buyTicket(session comm.IUserSession, buy int32) (inf
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
atn := this.module.configure.GetGlobalConf().CopsBuyGet
|
atn := this.module.ModuleTools.GetGlobalConf().CopsBuyGet
|
||||||
|
|
||||||
res := &cfg.Gameatn{
|
res := &cfg.Gameatn{
|
||||||
A: atn.A,
|
A: atn.A,
|
||||||
@ -543,7 +543,7 @@ func (this *ModelItemsComp) recoverTicket(session comm.IUserSession) (code pb.Er
|
|||||||
info.Lasttimeunifiedticket = configure.Now().Unix()
|
info.Lasttimeunifiedticket = configure.Now().Unix()
|
||||||
info.Buyunifiedticket = 0
|
info.Buyunifiedticket = 0
|
||||||
}
|
}
|
||||||
global := this.module.configure.GetGlobalConf()
|
global := this.module.ModuleTools.GetGlobalConf()
|
||||||
playerlv := this.module.configure.GetPlayerlvConf(user.Lv)
|
playerlv := this.module.configure.GetPlayerlvConf(user.Lv)
|
||||||
ticket = int32(this.module.ModuleItems.QueryItemAmount(session.GetUserId(), comm.UnifiedTicket))
|
ticket = int32(this.module.ModuleItems.QueryItemAmount(session.GetUserId(), comm.UnifiedTicket))
|
||||||
if ticket < global.DreamlandFightnum && info.Recovertimeunifiedticket > 0 {
|
if ticket < global.DreamlandFightnum && info.Recovertimeunifiedticket > 0 {
|
||||||
|
@ -40,6 +40,7 @@ type ModuleBase struct {
|
|||||||
ModulePrivilege comm.IPrivilege // 月卡
|
ModulePrivilege comm.IPrivilege // 月卡
|
||||||
ModuleSmithy comm.ISmithy //
|
ModuleSmithy comm.ISmithy //
|
||||||
ModulePractice comm.IPractice //练功房
|
ModulePractice comm.IPractice //练功房
|
||||||
|
ModuleTools comm.ITools //工具类 获取一些通用配置
|
||||||
}
|
}
|
||||||
|
|
||||||
//重构模块配置对象
|
//重构模块配置对象
|
||||||
@ -125,6 +126,10 @@ func (this *ModuleBase) Start() (err error) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
this.ModulePractice = module.(comm.IPractice)
|
this.ModulePractice = module.(comm.IPractice)
|
||||||
|
if module, err = this.service.GetModule(comm.ModuleTools); err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
this.ModuleTools = module.(comm.ITools)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -84,10 +84,10 @@ func (this *apiComp) Battle(session comm.IUserSession, req *pb.MoonfantasyBattle
|
|||||||
// cd = pb.ErrorCode_CacheReadError
|
// cd = pb.ErrorCode_CacheReadError
|
||||||
// }
|
// }
|
||||||
|
|
||||||
// if umfantasy.Ticket < this.module.configure.GetGlobalConf().DreamlandCos {
|
// if umfantasy.Ticket < this.module.ModuleTools.GetGlobalConf().DreamlandCos {
|
||||||
// cd = pb.ErrorCode_MoonfantasyNotEnoughbattles
|
// cd = pb.ErrorCode_MoonfantasyNotEnoughbattles
|
||||||
// }
|
// }
|
||||||
// umfantasy.Ticket -= this.module.configure.GetGlobalConf().DreamlandCos
|
// umfantasy.Ticket -= this.module.ModuleTools.GetGlobalConf().DreamlandCos
|
||||||
if boss, err = this.module.configure.GetMonsterById(mdata.Monster); err != nil {
|
if boss, err = this.module.configure.GetMonsterById(mdata.Monster); err != nil {
|
||||||
cd = pb.ErrorCode_ConfigNoFound
|
cd = pb.ErrorCode_ConfigNoFound
|
||||||
return
|
return
|
||||||
|
@ -95,7 +95,7 @@ func (this *modelDreamComp) trigger(session comm.IUserSession) {
|
|||||||
chat *pb.DBChat
|
chat *pb.DBChat
|
||||||
err error
|
err error
|
||||||
)
|
)
|
||||||
globalconf = this.module.configure.GetGlobalConf()
|
globalconf = this.module.ModuleTools.GetGlobalConf()
|
||||||
|
|
||||||
if umfantasy, err = this.module.modelUserMF.queryUsermfantasy(session.GetUserId()); err != nil {
|
if umfantasy, err = this.module.modelUserMF.queryUsermfantasy(session.GetUserId()); err != nil {
|
||||||
return
|
return
|
||||||
@ -149,7 +149,7 @@ func (this *modelDreamComp) triggerbyid(session comm.IUserSession, boosid string
|
|||||||
mdata *pb.DBMoonFantasy
|
mdata *pb.DBMoonFantasy
|
||||||
chat *pb.DBChat
|
chat *pb.DBChat
|
||||||
)
|
)
|
||||||
globalconf = this.module.configure.GetGlobalConf()
|
globalconf = this.module.ModuleTools.GetGlobalConf()
|
||||||
|
|
||||||
if umfantasy, err = this.module.modelUserMF.queryUsermfantasy(session.GetUserId()); err != nil {
|
if umfantasy, err = this.module.modelUserMF.queryUsermfantasy(session.GetUserId()); err != nil {
|
||||||
return
|
return
|
||||||
|
@ -41,7 +41,7 @@ func (this *modelUserMF) queryUsermfantasy(uId string) (info *pb.DBUserMFantasy,
|
|||||||
this.module.Errorf("err:%v", err)
|
this.module.Errorf("err:%v", err)
|
||||||
}
|
}
|
||||||
if err == mgo.MongodbNil {
|
if err == mgo.MongodbNil {
|
||||||
global := this.module.configure.GetGlobalConf()
|
global := this.module.ModuleTools.GetGlobalConf()
|
||||||
info = &pb.DBUserMFantasy{
|
info = &pb.DBUserMFantasy{
|
||||||
Id: primitive.NewObjectID().Hex(),
|
Id: primitive.NewObjectID().Hex(),
|
||||||
Uid: uId,
|
Uid: uId,
|
||||||
@ -83,7 +83,7 @@ func (this *modelUserMF) recoverTicket(session comm.IUserSession, info *pb.DBUse
|
|||||||
info.BuyNum = 0
|
info.BuyNum = 0
|
||||||
}
|
}
|
||||||
// this.module.ModuleItems.RecoverTicket(session)
|
// this.module.ModuleItems.RecoverTicket(session)
|
||||||
global := this.module.configure.GetGlobalConf()
|
global := this.module.ModuleTools.GetGlobalConf()
|
||||||
ticket = int32(this.module.ModuleItems.QueryItemAmount(info.Uid, comm.MoonFantasyTicket))
|
ticket = int32(this.module.ModuleItems.QueryItemAmount(info.Uid, comm.MoonFantasyTicket))
|
||||||
if ticket < global.DreamlandFightnum && info.Lastrtickettime > 0 {
|
if ticket < global.DreamlandFightnum && info.Lastrtickettime > 0 {
|
||||||
duration = configure.Now().Sub(time.Unix(info.Lastrtickettime, 0))
|
duration = configure.Now().Sub(time.Unix(info.Lastrtickettime, 0))
|
||||||
|
@ -107,14 +107,15 @@ func (this *apiComp) ChallengeOver(session comm.IUserSession, req *pb.PagodaChal
|
|||||||
|
|
||||||
// 记录爬塔明细数据
|
// 记录爬塔明细数据
|
||||||
if req.Report != nil && req.Report.Info != nil && len(req.Report.Info.Redflist) > 0 {
|
if req.Report != nil && req.Report.Info != nil && len(req.Report.Info.Redflist) > 0 {
|
||||||
sz := make([]*pb.LineUp, 5)
|
leadpos := req.Report.Info.Redflist[0].Leadpos
|
||||||
for i, v := range req.Report.Info.Redflist[0].Team {
|
szLine := make([]*pb.LineUp, 0)
|
||||||
|
for _, v := range req.Report.Info.Redflist[0].Team {
|
||||||
if v != nil {
|
if v != nil {
|
||||||
sz[i] = &pb.LineUp{
|
szLine = append(szLine, &pb.LineUp{
|
||||||
Cid: v.HeroID,
|
Cid: v.HeroID,
|
||||||
Star: v.Star,
|
Star: v.Star,
|
||||||
Lv: v.Lv,
|
Lv: v.Lv,
|
||||||
}
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 数据直接插入跨服数据库中
|
// 数据直接插入跨服数据库中
|
||||||
@ -126,9 +127,10 @@ func (this *apiComp) ChallengeOver(session comm.IUserSession, req *pb.PagodaChal
|
|||||||
PagodaId: pagoda.PagodaId,
|
PagodaId: pagoda.PagodaId,
|
||||||
Type: pagoda.Type,
|
Type: pagoda.Type,
|
||||||
Nickname: userinfo.Name,
|
Nickname: userinfo.Name,
|
||||||
Icon: "", // icon 暂无
|
Icon: "",
|
||||||
Lv: userinfo.Lv,
|
Lv: userinfo.Lv,
|
||||||
CostTime: req.Report.Costtime,
|
Leadpos: leadpos,
|
||||||
|
Line: szLine,
|
||||||
}
|
}
|
||||||
costTime = newData.CostTime
|
costTime = newData.CostTime
|
||||||
// 数据写到跨服中
|
// 数据写到跨服中
|
||||||
|
@ -30,7 +30,7 @@ func (this *apiComp) GymRefresh(session comm.IUserSession, req *pb.PracticeGymRe
|
|||||||
code = pb.ErrorCode_DBError
|
code = pb.ErrorCode_DBError
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
refreshAtns = this.module.configure.GetGlobalConf().MrylFlushed
|
refreshAtns = this.module.ModuleTools.GetGlobalConf().MrylFlushed
|
||||||
if len(refreshAtns) == 0 {
|
if len(refreshAtns) == 0 {
|
||||||
code = pb.ErrorCode_ConfigNoFound
|
code = pb.ErrorCode_ConfigNoFound
|
||||||
return
|
return
|
||||||
|
@ -45,7 +45,7 @@ func (this *apiComp) Info(session comm.IUserSession, req *pb.PracticeInfoReq) (c
|
|||||||
|
|
||||||
if room.Npcstate == 3 { //CD中
|
if room.Npcstate == 3 { //CD中
|
||||||
cd := int32(configure.Now().Sub(time.Unix(room.Refresh, 0)).Seconds())
|
cd := int32(configure.Now().Sub(time.Unix(room.Refresh, 0)).Seconds())
|
||||||
if cd >= this.module.configure.GetGlobalConf().PandamasChallengeCd {
|
if cd >= this.module.ModuleTools.GetGlobalConf().PandamasChallengeCd {
|
||||||
if err = this.module.modelPandata.refreshnpc(room); err != nil {
|
if err = this.module.modelPandata.refreshnpc(room); err != nil {
|
||||||
this.module.Errorln(err)
|
this.module.Errorln(err)
|
||||||
code = pb.ErrorCode_DBError
|
code = pb.ErrorCode_DBError
|
||||||
|
@ -51,7 +51,7 @@ func (this *apiComp) NPCBattkleFinish(session comm.IUserSession, req *pb.Practic
|
|||||||
room.Npcstate = 1
|
room.Npcstate = 1
|
||||||
room.Battlenum++
|
room.Battlenum++
|
||||||
|
|
||||||
if room.Battlenum >= this.module.configure.GetGlobalConf().PandamasFightNum {
|
if room.Battlenum >= this.module.ModuleTools.GetGlobalConf().PandamasFightNum {
|
||||||
room.Npcstate = 3
|
room.Npcstate = 3
|
||||||
room.Refresh = configure.Now().Unix()
|
room.Refresh = configure.Now().Unix()
|
||||||
this.module.modelPandata.Change(session.GetUserId(), map[string]interface{}{
|
this.module.modelPandata.Change(session.GetUserId(), map[string]interface{}{
|
||||||
|
@ -252,7 +252,7 @@ func (this *Practice) ChallengeResults(bid, red, bule string, winSide int32) {
|
|||||||
if v.Uid == red {
|
if v.Uid == red {
|
||||||
v.Unionname = redsociaty
|
v.Unionname = redsociaty
|
||||||
v.Figure = reduser.Figure
|
v.Figure = reduser.Figure
|
||||||
v.End = configure.Now().Add(time.Minute * time.Duration(this.configure.GetGlobalConf().PandamasTiguandiaoxiangCd)).Unix()
|
v.End = configure.Now().Add(time.Minute * time.Duration(this.ModuleTools.GetGlobalConf().PandamasTiguandiaoxiangCd)).Unix()
|
||||||
keep = true
|
keep = true
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
@ -263,7 +263,7 @@ func (this *Practice) ChallengeResults(bid, red, bule string, winSide int32) {
|
|||||||
Name: reduser.Name,
|
Name: reduser.Name,
|
||||||
Unionname: redsociaty,
|
Unionname: redsociaty,
|
||||||
Figure: reduser.Figure,
|
Figure: reduser.Figure,
|
||||||
End: configure.Now().Add(time.Minute * time.Duration(this.configure.GetGlobalConf().PandamasTiguandiaoxiangCd)).Unix(),
|
End: configure.Now().Add(time.Minute * time.Duration(this.ModuleTools.GetGlobalConf().PandamasTiguandiaoxiangCd)).Unix(),
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -280,7 +280,7 @@ func (this *Practice) ChallengeResults(bid, red, bule string, winSide int32) {
|
|||||||
if v.Uid == bule {
|
if v.Uid == bule {
|
||||||
v.Unionname = bulesociaty
|
v.Unionname = bulesociaty
|
||||||
v.Figure = buleuser.Figure
|
v.Figure = buleuser.Figure
|
||||||
v.End = configure.Now().Add(time.Minute * time.Duration(this.configure.GetGlobalConf().PandamasTiguandiaoxiangCd)).Unix()
|
v.End = configure.Now().Add(time.Minute * time.Duration(this.ModuleTools.GetGlobalConf().PandamasTiguandiaoxiangCd)).Unix()
|
||||||
keep = true
|
keep = true
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
@ -291,7 +291,7 @@ func (this *Practice) ChallengeResults(bid, red, bule string, winSide int32) {
|
|||||||
Name: buleuser.Name,
|
Name: buleuser.Name,
|
||||||
Unionname: bulesociaty,
|
Unionname: bulesociaty,
|
||||||
Figure: buleuser.Figure,
|
Figure: buleuser.Figure,
|
||||||
End: configure.Now().Add(time.Minute * time.Duration(this.configure.GetGlobalConf().PandamasTiguandiaoxiangCd)).Unix(),
|
End: configure.Now().Add(time.Minute * time.Duration(this.ModuleTools.GetGlobalConf().PandamasTiguandiaoxiangCd)).Unix(),
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
for i, v := range buleroom.Statuers {
|
for i, v := range buleroom.Statuers {
|
||||||
|
@ -88,8 +88,8 @@ func (this *apiComp) ForgeEquip(session comm.IUserSession, req *pb.SmithyForgeEq
|
|||||||
needTemperatureCos = reelcfg.TemperatureCos * (1000 - t) / 1000 // 千分比
|
needTemperatureCos = reelcfg.TemperatureCos * (1000 - t) / 1000 // 千分比
|
||||||
|
|
||||||
if req.Lava > 0 { // 熔岩打造
|
if req.Lava > 0 { // 熔岩打造
|
||||||
exemption := this.module.configure.GetGlobalConf().ExemptionTemperatureCos // 预计消耗温度
|
exemption := this.module.ModuleTools.GetGlobalConf().ExemptionTemperatureCos // 预计消耗温度
|
||||||
gloabNum := this.module.configure.GetGlobalConf().ExemptionTemperatureCosNum
|
gloabNum := this.module.ModuleTools.GetGlobalConf().ExemptionTemperatureCosNum
|
||||||
if needTemperatureCos > req.Lava*gloabNum {
|
if needTemperatureCos > req.Lava*gloabNum {
|
||||||
code = pb.ErrorCode_SmithyLackLava // 缺少熔岩
|
code = pb.ErrorCode_SmithyLackLava // 缺少熔岩
|
||||||
return
|
return
|
||||||
@ -155,7 +155,7 @@ func (this *apiComp) ForgeEquip(session comm.IUserSession, req *pb.SmithyForgeEq
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 总次数校验
|
// 总次数校验
|
||||||
maxHitCount := this.module.configure.GetGlobalConf().GameMakeTunkNum
|
maxHitCount := this.module.ModuleTools.GetGlobalConf().GameMakeTunkNum
|
||||||
if hitLen > maxHitCount {
|
if hitLen > maxHitCount {
|
||||||
code = pb.ErrorCode_ReqParameterError
|
code = pb.ErrorCode_ReqParameterError
|
||||||
this.module.Errorf("铁匠铺小游戏打造次数超过上限,当前打造次数:%d, 配置总次数:%d", hitLen, maxHitCount)
|
this.module.Errorf("铁匠铺小游戏打造次数超过上限,当前打造次数:%d, 配置总次数:%d", hitLen, maxHitCount)
|
||||||
|
@ -14,7 +14,7 @@ func (this *apiComp) CustomerCheck(session comm.IUserSession, req *pb.SmithyCust
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (this *apiComp) Customer(session comm.IUserSession, req *pb.SmithyCustomerReq) (code pb.ErrorCode, data proto.Message) {
|
func (this *apiComp) Customer(session comm.IUserSession, req *pb.SmithyCustomerReq) (code pb.ErrorCode, data proto.Message) {
|
||||||
customerCount := this.module.configure.GetGlobalConf().SmithyMaxNpc
|
customerCount := this.module.ModuleTools.GetGlobalConf().SmithyMaxNpc
|
||||||
if customerCount <= 0 {
|
if customerCount <= 0 {
|
||||||
code = pb.ErrorCode_ConfigNoFound
|
code = pb.ErrorCode_ConfigNoFound
|
||||||
return
|
return
|
||||||
|
@ -36,8 +36,8 @@ func (this *apiComp) Rise(session comm.IUserSession, req *pb.SmithyRiseReq) (cod
|
|||||||
code = pb.ErrorCode_SmithyMaxTemperature
|
code = pb.ErrorCode_SmithyMaxTemperature
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
raise := this.module.configure.GetGlobalConf().RaiseTemperature
|
raise := this.module.ModuleTools.GetGlobalConf().RaiseTemperature
|
||||||
raise_temperatureNum := this.module.configure.GetGlobalConf().RaiseTemperatureNum
|
raise_temperatureNum := this.module.ModuleTools.GetGlobalConf().RaiseTemperatureNum
|
||||||
cost = append(cost, &cfg.Gameatn{
|
cost = append(cost, &cfg.Gameatn{
|
||||||
A: raise.A,
|
A: raise.A,
|
||||||
T: raise.T,
|
T: raise.T,
|
||||||
|
@ -28,7 +28,7 @@ func (this *apiComp) Formation(session comm.IUserSession, req *pb.SociatyBFormat
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
ggd := this.module.configure.GetGlobalConf()
|
ggd := this.module.ModuleTools.GetGlobalConf()
|
||||||
if ggd == nil {
|
if ggd == nil {
|
||||||
code = pb.ErrorCode_ConfigNoFound
|
code = pb.ErrorCode_ConfigNoFound
|
||||||
return
|
return
|
||||||
|
@ -18,7 +18,7 @@ func (this *apiComp) BossmainCheck(session comm.IUserSession, req *pb.SociatyBMa
|
|||||||
func (this *apiComp) Bossmain(session comm.IUserSession, req *pb.SociatyBMainReq) (code pb.ErrorCode, data proto.Message) {
|
func (this *apiComp) Bossmain(session comm.IUserSession, req *pb.SociatyBMainReq) (code pb.ErrorCode, data proto.Message) {
|
||||||
uid := session.GetUserId()
|
uid := session.GetUserId()
|
||||||
|
|
||||||
ggd := this.module.configure.GetGlobalConf()
|
ggd := this.module.ModuleTools.GetGlobalConf()
|
||||||
if ggd == nil {
|
if ggd == nil {
|
||||||
code = pb.ErrorCode_ConfigNoFound
|
code = pb.ErrorCode_ConfigNoFound
|
||||||
return
|
return
|
||||||
|
@ -21,7 +21,7 @@ func (this *apiComp) Buy(session comm.IUserSession, req *pb.SociatyBuyReq) (code
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
ggd := this.module.configure.GetGlobalConf()
|
ggd := this.module.ModuleTools.GetGlobalConf()
|
||||||
if ggd == nil {
|
if ggd == nil {
|
||||||
code = pb.ErrorCode_ConfigNoFound
|
code = pb.ErrorCode_ConfigNoFound
|
||||||
return
|
return
|
||||||
|
@ -68,7 +68,7 @@ func (this *Sociaty) Start() (err error) {
|
|||||||
this.service.RegisterFunctionName(string(comm.Rpc_ModuleSociatyUpdate), this.RpcUpdateSociaty)
|
this.service.RegisterFunctionName(string(comm.Rpc_ModuleSociatyUpdate), this.RpcUpdateSociaty)
|
||||||
this.service.RegisterFunctionName(string(comm.Rpc_ModuleSociatyTask), this.RpcUpdateUserTask)
|
this.service.RegisterFunctionName(string(comm.Rpc_ModuleSociatyTask), this.RpcUpdateUserTask)
|
||||||
this.service.RegisterFunctionName(string(comm.Rpc_ModuleSociatyGetTask), this.RpcGetUserTask)
|
this.service.RegisterFunctionName(string(comm.Rpc_ModuleSociatyGetTask), this.RpcGetUserTask)
|
||||||
this.globalConf = this.configure.GetGlobalConf()
|
this.globalConf = this.ModuleTools.GetGlobalConf()
|
||||||
if this.globalConf == nil {
|
if this.globalConf == nil {
|
||||||
err = errors.New("global config not found")
|
err = errors.New("global config not found")
|
||||||
return
|
return
|
||||||
|
589
modules/tools/comp_configure.go
Normal file
589
modules/tools/comp_configure.go
Normal file
@ -0,0 +1,589 @@
|
|||||||
|
package tools
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"go_dreamfactory/comm"
|
||||||
|
"go_dreamfactory/lego/core"
|
||||||
|
"go_dreamfactory/lego/core/cbase"
|
||||||
|
"go_dreamfactory/lego/sys/log"
|
||||||
|
"go_dreamfactory/sys/configure"
|
||||||
|
cfg "go_dreamfactory/sys/configure/structs"
|
||||||
|
"sync"
|
||||||
|
)
|
||||||
|
|
||||||
|
const (
|
||||||
|
game_global = "game_global.json" //全局配置表
|
||||||
|
game_initial = "game_initial.json" //初始化表
|
||||||
|
game_gamecolor = "game_gamecolor.json" //颜色表
|
||||||
|
game_playerlv = "game_playerlv.json" //玩家等级
|
||||||
|
game_facemod = "game_facemod.json" //形象配置表
|
||||||
|
game_drop = "game_drop.json" //掉落
|
||||||
|
new_hero = "game_hero.json"
|
||||||
|
// 签到
|
||||||
|
game_signreset = "game_signreset.json"
|
||||||
|
game_sign = "game_sign.json"
|
||||||
|
|
||||||
|
game_item = "game_item.json"
|
||||||
|
game_vip = "game_vip.json"
|
||||||
|
|
||||||
|
game_equip = "game_equip.json" //装备信息表
|
||||||
|
|
||||||
|
game_lottery = "game_lottery.json"
|
||||||
|
)
|
||||||
|
|
||||||
|
///配置管理基础组件
|
||||||
|
type MCompConfigure struct {
|
||||||
|
cbase.ModuleCompBase
|
||||||
|
hlock sync.RWMutex
|
||||||
|
_dropMap map[int32][]*cfg.GameDropData // 掉落表 key 是DiropId
|
||||||
|
_sign map[int32]*cfg.GameSignData
|
||||||
|
|
||||||
|
_group map[int64][]int32 // key 小组ID value cid
|
||||||
|
|
||||||
|
// 类型为1 的数据 该大组中的小组为权重掉落,必定从N个小组中随机出1个小组
|
||||||
|
_lotteryType1 map[int32][]int32 // key 大组ID value cid
|
||||||
|
// 类型为2 的数据 有多个小组ID
|
||||||
|
_lotteryType2 map[int32][]int32 // key 大组ID value 小组ID
|
||||||
|
// 小组类型为1
|
||||||
|
_groupType1 map[int64][]int32 //value cid
|
||||||
|
// 小组类型为2
|
||||||
|
_groupType2 map[int64][]int32 //value cid
|
||||||
|
Btype map[int32]int32
|
||||||
|
Stype map[int64]int32 // subtype
|
||||||
|
SNum map[int64]int32 // 小组产出数量
|
||||||
|
}
|
||||||
|
|
||||||
|
//组件初始化接口
|
||||||
|
func (this *MCompConfigure) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
|
||||||
|
err = this.ModuleCompBase.Init(service, module, comp, options)
|
||||||
|
err = this.LoadConfigure(game_global, cfg.NewGameGlobal)
|
||||||
|
err = this.LoadConfigure(game_initial, cfg.NewGameInitial)
|
||||||
|
err = this.LoadConfigure(game_gamecolor, cfg.NewGameGameColor)
|
||||||
|
err = this.LoadConfigure(new_hero, cfg.NewGameHero)
|
||||||
|
err = this.LoadConfigure(game_playerlv, cfg.NewGamePlayerlv)
|
||||||
|
err = this.LoadConfigure(game_facemod, cfg.NewGameFacemod)
|
||||||
|
err = this.LoadConfigure(game_signreset, cfg.NewGameSignReset)
|
||||||
|
err = this.LoadConfigure(game_equip, cfg.NewGameEquip)
|
||||||
|
//err = this.LoadConfigure(game_sign, cfg.NewGameSign)
|
||||||
|
err = this.LoadConfigure(game_item, cfg.NewGameItem)
|
||||||
|
err = this.LoadConfigure(game_vip, cfg.NewGameVip)
|
||||||
|
err = this.LoadConfigure(game_lottery, cfg.NewGameLottery)
|
||||||
|
this._dropMap = make(map[int32][]*cfg.GameDropData, 0)
|
||||||
|
this._sign = make(map[int32]*cfg.GameSignData, 0)
|
||||||
|
configure.RegisterConfigure(game_drop, cfg.NewGameDrop, this.LoadDropData)
|
||||||
|
configure.RegisterConfigure(game_sign, cfg.NewGameSign, this.LoadSignData)
|
||||||
|
|
||||||
|
this._group = make(map[int64][]int32, 0)
|
||||||
|
this._lotteryType1 = make(map[int32][]int32, 0)
|
||||||
|
this._lotteryType2 = make(map[int32][]int32, 0)
|
||||||
|
this._groupType1 = make(map[int64][]int32, 0)
|
||||||
|
this._groupType2 = make(map[int64][]int32, 0)
|
||||||
|
this.Btype = make(map[int32]int32, 0)
|
||||||
|
this.Stype = make(map[int64]int32, 0)
|
||||||
|
this.SNum = make(map[int64]int32, 0)
|
||||||
|
configure.RegisterConfigure(game_lottery, cfg.NewGameLottery, this.LoadGroupData)
|
||||||
|
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *MCompConfigure) LoadGroupData() {
|
||||||
|
if v, err := this.GetConfigure(game_lottery); err == nil {
|
||||||
|
if configure, ok := v.(*cfg.GameLottery); ok {
|
||||||
|
this.hlock.Lock()
|
||||||
|
defer this.hlock.Unlock()
|
||||||
|
this._group = make(map[int64][]int32, 0)
|
||||||
|
this._lotteryType1 = make(map[int32][]int32, 0)
|
||||||
|
this._lotteryType2 = make(map[int32][]int32, 0)
|
||||||
|
this._groupType1 = make(map[int64][]int32, 0)
|
||||||
|
this._groupType2 = make(map[int64][]int32, 0)
|
||||||
|
this.Btype = make(map[int32]int32, 0)
|
||||||
|
this.Stype = make(map[int64]int32, 0)
|
||||||
|
this.SNum = make(map[int64]int32, 0)
|
||||||
|
for _, value := range configure.GetDataList() {
|
||||||
|
key := int64(value.Lotteryid)<<31 + int64(value.Groupid)
|
||||||
|
this._group[key] = append(this._group[key], value.Id)
|
||||||
|
|
||||||
|
if _, ok := this.Btype[value.Lotteryid]; !ok {
|
||||||
|
this.Btype[value.Lotteryid] = value.Type
|
||||||
|
}
|
||||||
|
|
||||||
|
if _, ok := this.Stype[key]; !ok {
|
||||||
|
this.Stype[key] = value.Subtype
|
||||||
|
}
|
||||||
|
if _, ok := this.SNum[key]; !ok {
|
||||||
|
this.SNum[key] = value.Groupnum
|
||||||
|
}
|
||||||
|
if this.Btype[value.Lotteryid] == 1 {
|
||||||
|
this._lotteryType1[value.Lotteryid] = append(this._lotteryType1[value.Lotteryid], value.Id)
|
||||||
|
} else if this.Btype[value.Lotteryid] == 2 {
|
||||||
|
this._lotteryType2[value.Lotteryid] = append(this._lotteryType2[value.Lotteryid], value.Id)
|
||||||
|
}
|
||||||
|
|
||||||
|
if this.Stype[key] == 1 { // 小组ID为1
|
||||||
|
this._groupType1[key] = append(this._groupType1[key], value.Id)
|
||||||
|
} else if this.Stype[key] == 2 {
|
||||||
|
this._groupType2[key] = append(this._groupType2[key], value.Id)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
log.Errorf("get LoadGroupData conf err:%v", err)
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// 实际掉落逻辑 (传入 掉落组ID vip等级 玩家等级 返回获得的道具)
|
||||||
|
func (this *MCompConfigure) GetGroupDataByLottery(lotteryId int32, vipLv int32, lv int32) (items []*cfg.Gameatn) {
|
||||||
|
|
||||||
|
if _, ok := this._lotteryType1[lotteryId]; !ok {
|
||||||
|
if _, ok := this._lotteryType2[lotteryId]; !ok {
|
||||||
|
fmt.Printf("not found config lotterId:%d", lotteryId)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 优先校验大组ID 的类型
|
||||||
|
if this.Btype[lotteryId] == 1 { // 该大组中的小组为权重掉落,必定从N个小组中随机出1个小组
|
||||||
|
var (
|
||||||
|
szW []int32 // 权重数组
|
||||||
|
szID []int32 // 小组ID 数组
|
||||||
|
groupID int32
|
||||||
|
gourp map[int32]int32 // key 小组ID value 权重
|
||||||
|
)
|
||||||
|
|
||||||
|
gourp = make(map[int32]int32, 0)
|
||||||
|
// 随机小组id
|
||||||
|
for _, v := range this._lotteryType1[lotteryId] {
|
||||||
|
if _data := this.GetLotterConfById(v); _data != nil {
|
||||||
|
if (_data.Playerlvmax == 0 || _data.Playerlvmin <= lv && lv <= _data.Playerlvmax) && (_data.VIPmax == 0 || _data.VIPmin <= vipLv && vipLv <= _data.VIPmax) { // 过滤等级等条件
|
||||||
|
if _, ok := gourp[_data.Groupid]; !ok {
|
||||||
|
gourp[_data.Groupid] = _data.Groupwt // 小组ID 权重赋值
|
||||||
|
szW = append(szW, _data.Groupwt)
|
||||||
|
szID = append(szID, _data.Groupid)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
groupID = szID[comm.GetRandW(szW)] // 获得小组ID
|
||||||
|
fmt.Printf("大组类型为1的,获得小组ID :%d,dropID:%d", groupID, lotteryId)
|
||||||
|
key := int64(lotteryId)<<31 + int64(groupID)
|
||||||
|
// 小组ID 类型判断
|
||||||
|
if this.Stype[key] == 1 { // 该小组的道具为权重掉落,必定从N个道具中随机出1个道具
|
||||||
|
for i := 0; i < int(this.SNum[key]); i++ {
|
||||||
|
szW = make([]int32, 0)
|
||||||
|
szID = make([]int32, 0)
|
||||||
|
gourp = make(map[int32]int32, 0)
|
||||||
|
for _, v := range this._groupType1[key] {
|
||||||
|
if _data := this.GetLotterConfById(v); _data != nil { // 权重赋值
|
||||||
|
if _, ok := gourp[_data.Groupid]; !ok {
|
||||||
|
szW = append(szW, _data.Itemwt)
|
||||||
|
szID = append(szID, _data.Id)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
index := comm.GetRandW(szW)
|
||||||
|
_data := this.GetLotterConfById(szID[index])
|
||||||
|
fmt.Printf("获得最终的道具 :%d", _data.Id)
|
||||||
|
count := comm.GetRandNum(_data.Min, _data.Max)
|
||||||
|
// 随机获得的数量
|
||||||
|
items = append(items, &cfg.Gameatn{
|
||||||
|
A: _data.Itemid.A,
|
||||||
|
T: _data.Itemid.T,
|
||||||
|
N: _data.Itemid.N * count,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
return
|
||||||
|
} else if this.Stype[key] == 2 { // 该小组中的道具为概率掉落,每个道具都会随机一次是否会掉落(单位为千分比)
|
||||||
|
for _, v := range this._groupType2[key] {
|
||||||
|
if _data := this.GetLotterConfById(v); _data != nil { // 权重赋值
|
||||||
|
fmt.Printf("大组类型1小组类型2获得道具 :%v, 该道具Cid:%d", _data.Itemid, v)
|
||||||
|
if _data.Itemwt >= comm.GetRandNum(1, 1000) { // 命中
|
||||||
|
count := comm.GetRandNum(_data.Min, _data.Max)
|
||||||
|
items = append(items, &cfg.Gameatn{
|
||||||
|
A: _data.Itemid.A,
|
||||||
|
T: _data.Itemid.T,
|
||||||
|
N: _data.Itemid.N * count, // 小组产出数量
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
} else if this.Btype[lotteryId] == 2 { // 该大组中的小组为概率掉落,每个小组都会随机一次是否会掉落(单位为千分比)
|
||||||
|
// 每个小组id 都随机取一次
|
||||||
|
var szGroupID []int32 // 获得的权重数组
|
||||||
|
gourp := make(map[int32]*cfg.GameLotteryData, 0) // key 小组ID value 权重
|
||||||
|
for _, v := range this._lotteryType2[lotteryId] {
|
||||||
|
if _data := this.GetLotterConfById(v); _data != nil {
|
||||||
|
if (_data.Playerlvmax == 0 || _data.Playerlvmin <= lv && lv <= _data.Playerlvmax) && (_data.VIPmax == 0 || _data.VIPmin <= vipLv && vipLv <= _data.VIPmax) { // 过滤等级等条件
|
||||||
|
if _, ok := gourp[_data.Groupid]; !ok {
|
||||||
|
gourp[_data.Groupid] = _data // 小组ID 权重赋值
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 类型为2 可能会同时获得多个组id
|
||||||
|
for k, v := range gourp {
|
||||||
|
fmt.Printf("大组类型为2的,获得小组ID :%d,dropID:%d", k, v.Id)
|
||||||
|
if v.Itemwt >= comm.GetRandNum(0, 1000) { // 命中
|
||||||
|
szGroupID = append(szGroupID, k)
|
||||||
|
key := int64(lotteryId)<<31 + int64(k)
|
||||||
|
if this.Stype[key] == 1 { // 随机一组数据
|
||||||
|
for i := 0; i < int(this.SNum[key]); i++ {
|
||||||
|
szW := make([]int32, 0)
|
||||||
|
szID := make([]int32, 0)
|
||||||
|
gourp := make(map[int32]int32, 0)
|
||||||
|
for _, v := range this._groupType1[key] {
|
||||||
|
if _data := this.GetLotterConfById(v); _data != nil { // 权重赋值
|
||||||
|
if _, ok := gourp[_data.Groupid]; !ok {
|
||||||
|
szW = append(szW, _data.Itemwt)
|
||||||
|
szID = append(szID, _data.Id)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
index := comm.GetRandW(szW)
|
||||||
|
_data := this.GetLotterConfById(szID[index])
|
||||||
|
fmt.Printf("获得最终的道具 :%d", _data.Id)
|
||||||
|
count := comm.GetRandNum(_data.Min, _data.Max)
|
||||||
|
// 随机获得的数量
|
||||||
|
items = append(items, &cfg.Gameatn{
|
||||||
|
A: _data.Itemid.A,
|
||||||
|
T: _data.Itemid.T,
|
||||||
|
N: _data.Itemid.N * count,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
} else if this.Stype[key] == 2 {
|
||||||
|
for _, v := range this._groupType2[key] {
|
||||||
|
if _data := this.GetLotterConfById(v); _data != nil { // 权重赋值
|
||||||
|
fmt.Printf("大组类型2小组类型2获得道具 :%v,该道具Cid:%d", _data.Itemid, v)
|
||||||
|
if _data.Itemwt >= comm.GetRandNum(1, 1000) { // 命中
|
||||||
|
count := comm.GetRandNum(_data.Min, _data.Max)
|
||||||
|
items = append(items, &cfg.Gameatn{
|
||||||
|
A: _data.Itemid.A,
|
||||||
|
T: _data.Itemid.T,
|
||||||
|
N: _data.Itemid.N * count, // 小组产出数量
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *MCompConfigure) LoadConfigure(name string, fn interface{}) (err error) {
|
||||||
|
return configure.RegisterConfigure(name, fn, nil)
|
||||||
|
}
|
||||||
|
|
||||||
|
//加载一个配置文件
|
||||||
|
func (this *MCompConfigure) LoadDropData() {
|
||||||
|
if v, err := this.GetConfigure(game_drop); err == nil {
|
||||||
|
if configure, ok := v.(*cfg.GameDrop); ok {
|
||||||
|
this.hlock.Lock()
|
||||||
|
defer this.hlock.Unlock()
|
||||||
|
for _, value := range configure.GetDataList() {
|
||||||
|
|
||||||
|
if value.Condition == 0 {
|
||||||
|
this._dropMap[value.Dropid] = append(this._dropMap[value.Dropid], value)
|
||||||
|
} else {
|
||||||
|
key := value.Condition
|
||||||
|
key = value.Dropid*100 + key
|
||||||
|
this._dropMap[key] = append(this._dropMap[key], value)
|
||||||
|
for _, v1 := range this._dropMap[value.Dropid] {
|
||||||
|
this._dropMap[key] = append(this._dropMap[key], v1)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
log.Errorf("get game_pagoda conf err:%v", err)
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
//加载多个配置文件
|
||||||
|
func (this *MCompConfigure) LoadMultiConfigure(confs map[string]interface{}) (err error) {
|
||||||
|
for k, v := range confs {
|
||||||
|
err = configure.RegisterConfigure(k, v, nil)
|
||||||
|
if err != nil {
|
||||||
|
log.Errorf("配置文件:%s解析失败!", k)
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
//读取配置数据
|
||||||
|
func (this *MCompConfigure) GetConfigure(name string) (v interface{}, err error) {
|
||||||
|
return configure.GetConfigure(name)
|
||||||
|
}
|
||||||
|
|
||||||
|
//全局配置
|
||||||
|
func (this *MCompConfigure) GetGlobalConf() *cfg.GameGlobalData {
|
||||||
|
var (
|
||||||
|
configure *cfg.GameGlobal
|
||||||
|
ok bool
|
||||||
|
)
|
||||||
|
if v, err := this.GetConfigure(game_global); err != nil {
|
||||||
|
log.Errorf("get global conf err:%v", err)
|
||||||
|
return nil
|
||||||
|
} else {
|
||||||
|
if configure, ok = v.(*cfg.GameGlobal); !ok {
|
||||||
|
log.Errorf("%T no is *cfg.Game_global", v)
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return configure.GetDataList()[0] // 返回对象信息
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *MCompConfigure) GetGlobalInitConf() (configure *cfg.GameInitial, err error) {
|
||||||
|
var (
|
||||||
|
v interface{}
|
||||||
|
ok bool
|
||||||
|
)
|
||||||
|
if v, err = this.GetConfigure(game_initial); err == nil {
|
||||||
|
if configure, ok = v.(*cfg.GameInitial); !ok {
|
||||||
|
err = fmt.Errorf("%T no is *cfg.Game_comInitial", v)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// 主角等级经验配置列表
|
||||||
|
func (this *MCompConfigure) GetPlayerlvConfList() (list []*cfg.GamePlayerlvData) {
|
||||||
|
if v, err := this.GetConfigure(game_playerlv); err != nil {
|
||||||
|
return
|
||||||
|
} else {
|
||||||
|
if configure, ok := v.(*cfg.GamePlayerlv); !ok {
|
||||||
|
err = fmt.Errorf("%T no is *cfg.Game_playerlv", v)
|
||||||
|
return
|
||||||
|
} else {
|
||||||
|
if configure != nil {
|
||||||
|
list = configure.GetDataList()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// 玩家等级经验配置表
|
||||||
|
func (this *MCompConfigure) GetPlayerlvConf(lv int32) (data *cfg.GamePlayerlvData) {
|
||||||
|
if v, err := this.GetConfigure(game_playerlv); err != nil {
|
||||||
|
return
|
||||||
|
} else {
|
||||||
|
if configure, ok := v.(*cfg.GamePlayerlv); !ok {
|
||||||
|
err = fmt.Errorf("%T no is *cfg.Game_playerlv", v)
|
||||||
|
return
|
||||||
|
} else {
|
||||||
|
if configure != nil {
|
||||||
|
data = configure.GetDataMap()[lv]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// 玩家形象预设配置
|
||||||
|
func (this *MCompConfigure) GetPlayerFigureConf() (list []*cfg.GameFacemodData) {
|
||||||
|
if v, err := this.GetConfigure(game_facemod); err != nil {
|
||||||
|
return
|
||||||
|
} else {
|
||||||
|
if configure, ok := v.(*cfg.GameFacemod); !ok {
|
||||||
|
err = fmt.Errorf("%T no is *cfg.Game_playerlv", v)
|
||||||
|
return
|
||||||
|
} else {
|
||||||
|
if configure != nil {
|
||||||
|
list = configure.GetDataList()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *MCompConfigure) GetDropData(dropId int32) (data []*cfg.GameDropData) {
|
||||||
|
data = this._dropMap[dropId]
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *MCompConfigure) GetDropReward(dropId int32) (result []*cfg.Gameatn) {
|
||||||
|
result = make([]*cfg.Gameatn, 0)
|
||||||
|
|
||||||
|
data := this.GetDropData(dropId)
|
||||||
|
if len(data) == 0 {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
szW := make([]int32, 0)
|
||||||
|
for _, value := range data {
|
||||||
|
szW = append(szW, value.P)
|
||||||
|
}
|
||||||
|
index := comm.GetRandW(szW)
|
||||||
|
result = append(result, data[index].Prize...)
|
||||||
|
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *MCompConfigure) GetColor(id int32) (item *cfg.GameGameColorData, err error) {
|
||||||
|
var (
|
||||||
|
v interface{}
|
||||||
|
ok bool
|
||||||
|
)
|
||||||
|
if v, err = this.GetConfigure(game_gamecolor); err == nil {
|
||||||
|
return
|
||||||
|
} else {
|
||||||
|
if item, ok = v.(*cfg.GameGameColor).GetDataMap()[id]; !ok {
|
||||||
|
err = fmt.Errorf("on found color:%d", id)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取英雄原始星级
|
||||||
|
func (this *MCompConfigure) GetHeroConfig(heroCfgId string) *cfg.GameHeroData {
|
||||||
|
if v, err := this.GetConfigure(new_hero); err == nil {
|
||||||
|
if configure, ok := v.(*cfg.GameHero); ok {
|
||||||
|
if v, ok := configure.GetDataMap()[heroCfgId]; ok {
|
||||||
|
return v
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取英雄原始星级
|
||||||
|
func (this *MCompConfigure) GetHeroConfigStar(heroCfgId string) int32 {
|
||||||
|
if v, err := this.GetConfigure(new_hero); err == nil {
|
||||||
|
if configure, ok := v.(*cfg.GameHero); ok {
|
||||||
|
if v, ok := configure.GetDataMap()[heroCfgId]; ok {
|
||||||
|
return v.Star
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取签到信息
|
||||||
|
func (this *MCompConfigure) GetSignConf(day, group int32) *cfg.GameSignData {
|
||||||
|
if v, ok := this._sign[day<<8+group]; ok {
|
||||||
|
return v
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取组id
|
||||||
|
func (this *MCompConfigure) GetSignResetConf(id int32) int32 {
|
||||||
|
if v, err := this.GetConfigure(game_signreset); err == nil {
|
||||||
|
if configure, ok := v.(*cfg.GameSignReset); ok {
|
||||||
|
if configure != nil {
|
||||||
|
return configure.Get(id).Groups
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return -1
|
||||||
|
}
|
||||||
|
func (this *MCompConfigure) LoadSignData() {
|
||||||
|
if v, err := this.GetConfigure(game_sign); err == nil {
|
||||||
|
if configure, ok := v.(*cfg.GameSign); ok {
|
||||||
|
this.hlock.Lock()
|
||||||
|
defer this.hlock.Unlock()
|
||||||
|
for _, value := range configure.GetDataList() {
|
||||||
|
this._sign[value.Day<<8+value.Group] = value
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
log.Errorf("get game_sign conf err:%v", err)
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
func (this *MCompConfigure) GetHeroConfigData() (data []*cfg.GameHeroData) {
|
||||||
|
if v, err := this.GetConfigure(new_hero); err == nil {
|
||||||
|
if configure, ok := v.(*cfg.GameHero); ok {
|
||||||
|
return configure.GetDataList()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
//读取物品配置
|
||||||
|
func (this *MCompConfigure) GetItemConfigureData(id string) (item *cfg.GameItemData, err error) {
|
||||||
|
var (
|
||||||
|
v interface{}
|
||||||
|
ok bool
|
||||||
|
)
|
||||||
|
if v, err = this.GetConfigure(game_item); err != nil {
|
||||||
|
log.Errorf("err:%v", err)
|
||||||
|
return
|
||||||
|
} else {
|
||||||
|
if item, ok = v.(*cfg.GameItem).GetDataMap()[id]; !ok {
|
||||||
|
err = fmt.Errorf("no found item:%s configure", id)
|
||||||
|
log.Errorf("err:%v", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *MCompConfigure) GetVipConfigureData(lv int32) (item *cfg.GameVipData) {
|
||||||
|
|
||||||
|
if v, err := this.GetConfigure(game_vip); err == nil {
|
||||||
|
|
||||||
|
if configure, ok := v.(*cfg.GameVip); ok {
|
||||||
|
item = configure.Get(lv)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *MCompConfigure) GetItemConfigureByType(useType int32) (item []*cfg.GameItemData) {
|
||||||
|
if v, err := this.GetConfigure(game_item); err == nil {
|
||||||
|
for _, v1 := range v.(*cfg.GameItem).GetDataMap() {
|
||||||
|
if v1.Usetype == useType {
|
||||||
|
item = append(item, v1)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
func (this *MCompConfigure) GetEquipmentConfigureById(equipmentId string) (configure *cfg.GameEquipData) {
|
||||||
|
|
||||||
|
if v, err := this.GetConfigure(game_equip); err == nil {
|
||||||
|
configure = v.(*cfg.GameEquip).Get(equipmentId)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
func (this *MCompConfigure) GetAllItemConfigure() (item []*cfg.GameItemData) {
|
||||||
|
if v, err := this.GetConfigure(game_item); err == nil {
|
||||||
|
for _, v1 := range v.(*cfg.GameItem).GetDataMap() {
|
||||||
|
item = append(item, v1)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *MCompConfigure) GetAllEquipmentConfigure() (configure []*cfg.GameEquipData) {
|
||||||
|
|
||||||
|
if v, err := this.GetConfigure(game_equip); err == nil {
|
||||||
|
for _, v1 := range v.(*cfg.GameEquip).GetDataMap() {
|
||||||
|
configure = append(configure, v1)
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *MCompConfigure) GetLotterConfById(id int32) (data *cfg.GameLotteryData) {
|
||||||
|
if v, err := this.GetConfigure(game_lottery); err == nil {
|
||||||
|
if configure, ok := v.(*cfg.GameLottery); ok {
|
||||||
|
return configure.Get(id)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
50
modules/tools/module.go
Normal file
50
modules/tools/module.go
Normal file
@ -0,0 +1,50 @@
|
|||||||
|
package tools
|
||||||
|
|
||||||
|
import (
|
||||||
|
"go_dreamfactory/comm"
|
||||||
|
"go_dreamfactory/lego/core"
|
||||||
|
"go_dreamfactory/modules"
|
||||||
|
cfg "go_dreamfactory/sys/configure/structs"
|
||||||
|
)
|
||||||
|
|
||||||
|
func NewModule() core.IModule {
|
||||||
|
m := new(Tools)
|
||||||
|
return m
|
||||||
|
}
|
||||||
|
|
||||||
|
type Tools struct {
|
||||||
|
modules.ModuleBase
|
||||||
|
configure *MCompConfigure
|
||||||
|
}
|
||||||
|
|
||||||
|
//模块名
|
||||||
|
func (this *Tools) GetType() core.M_Modules {
|
||||||
|
return comm.ModuleTools
|
||||||
|
}
|
||||||
|
|
||||||
|
//模块初始化接口 注册用户创建角色事件
|
||||||
|
func (this *Tools) Init(service core.IService, module core.IModule, options core.IModuleOptions) (err error) {
|
||||||
|
err = this.ModuleBase.Init(service, module, options)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
//模块初始化接口 注册用户创建角色事件
|
||||||
|
func (this *Tools) Start() (err error) {
|
||||||
|
err = this.ModuleBase.Start()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
//装备组件
|
||||||
|
func (this *Tools) OnInstallComp() {
|
||||||
|
this.ModuleBase.OnInstallComp()
|
||||||
|
this.configure = this.RegisterComp(new(MCompConfigure)).(*MCompConfigure)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *Tools) GetGroupDataByLottery(lotteryId int32, vipLv int32, lv int32) (items []*cfg.Gameatn) {
|
||||||
|
items = this.configure.GetGroupDataByLottery(lotteryId, vipLv, lv)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *Tools) GetGlobalConf() *cfg.GameGlobalData {
|
||||||
|
return this.configure.GetGlobalConf()
|
||||||
|
}
|
@ -44,7 +44,7 @@ func (this *ModelExpand) GetUserExpand(uid string) (result *pb.DBUserExpand, err
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if err = this.Get(uid, result); err != nil && mongo.ErrNoDocuments == err {
|
if err = this.Get(uid, result); err != nil && mongo.ErrNoDocuments == err {
|
||||||
globalConf := this.module.configure.GetGlobalConf()
|
globalConf := this.module.ModuleTools.GetGlobalConf()
|
||||||
initUpdate := map[string]interface{}{
|
initUpdate := map[string]interface{}{
|
||||||
"uid": uid,
|
"uid": uid,
|
||||||
"modifynameCount": 1, //修改名称1次
|
"modifynameCount": 1, //修改名称1次
|
||||||
|
@ -85,7 +85,7 @@ func (this *User) Start() (err error) {
|
|||||||
this.service.RegisterFunctionName(Rpc_QueryUser, this.RpcQueryUser)
|
this.service.RegisterFunctionName(Rpc_QueryUser, this.RpcQueryUser)
|
||||||
//date 3.10
|
//date 3.10
|
||||||
this.service.RegisterFunctionName(Rpc_CreateSociaty, this.RpcCreateSociaty)
|
this.service.RegisterFunctionName(Rpc_CreateSociaty, this.RpcCreateSociaty)
|
||||||
this.globalConf = this.configure.GetGlobalConf()
|
this.globalConf = this.ModuleTools.GetGlobalConf()
|
||||||
if this.globalConf == nil {
|
if this.globalConf == nil {
|
||||||
err = errors.New("global config not found")
|
err = errors.New("global config not found")
|
||||||
}
|
}
|
||||||
@ -479,7 +479,7 @@ func (this *User) change(session comm.IUserSession, attr string, add int32) (cha
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
ggd := this.configure.GetGlobalConf()
|
ggd := this.ModuleTools.GetGlobalConf()
|
||||||
if ggd == nil {
|
if ggd == nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@ -808,7 +808,7 @@ func (this *User) recoverUserPs(uid string) {
|
|||||||
if u == nil {
|
if u == nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
ggd := this.configure.GetGlobalConf()
|
ggd := this.ModuleTools.GetGlobalConf()
|
||||||
if ggd == nil {
|
if ggd == nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -256,7 +256,7 @@ func (this *Viking) AutoBattleOver(session comm.IUserSession, Report *pb.BattleR
|
|||||||
atno = make([]*pb.UserAtno, 0)
|
atno = make([]*pb.UserAtno, 0)
|
||||||
conf := this.configure.GetVikingBossConfigData(bossId, difficulty)
|
conf := this.configure.GetVikingBossConfigData(bossId, difficulty)
|
||||||
tasks := make([]*comm.TaskParam, 0)
|
tasks := make([]*comm.TaskParam, 0)
|
||||||
// costRes := this.configure.GetGlobalConf().VikingExpeditionCos
|
// costRes := this.ModuleTools.GetGlobalConf().VikingExpeditionCos
|
||||||
// if costRes == nil {
|
// if costRes == nil {
|
||||||
// code = pb.ErrorCode_ConfigNoFound
|
// code = pb.ErrorCode_ConfigNoFound
|
||||||
// return
|
// return
|
||||||
|
@ -329,9 +329,9 @@ func (this *ModelWorldtask) filterTask(userLv, des int32, wt *pb.DBWorldtask) (t
|
|||||||
func (this *ModelWorldtask) randomTask(userLv, des int32, wt *pb.DBWorldtask) (taskIds []int32) {
|
func (this *ModelWorldtask) randomTask(userLv, des int32, wt *pb.DBWorldtask) (taskIds []int32) {
|
||||||
var num int32
|
var num int32
|
||||||
if des == 1 {
|
if des == 1 {
|
||||||
num = this.moduleWorldtask.configure.GetGlobalConf().DailyNum
|
num = this.moduleWorldtask.ModuleTools.GetGlobalConf().DailyNum
|
||||||
} else if des == 4 {
|
} else if des == 4 {
|
||||||
num = this.moduleWorldtask.configure.GetGlobalConf().WeekNum
|
num = this.moduleWorldtask.ModuleTools.GetGlobalConf().WeekNum
|
||||||
}
|
}
|
||||||
|
|
||||||
tIds := this.filterTask(userLv, des, wt)
|
tIds := this.filterTask(userLv, des, wt)
|
||||||
|
@ -88,7 +88,7 @@ type DBStove struct {
|
|||||||
Skill map[int32]int32 `protobuf:"bytes,5,rep,name=skill,proto3" json:"skill" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // 台子技能
|
Skill map[int32]int32 `protobuf:"bytes,5,rep,name=skill,proto3" json:"skill" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // 台子技能
|
||||||
Forge map[int32]int32 `protobuf:"bytes,6,rep,name=forge,proto3" json:"forge" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // key 套装类型 value 打造次数
|
Forge map[int32]int32 `protobuf:"bytes,6,rep,name=forge,proto3" json:"forge" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // key 套装类型 value 打造次数
|
||||||
Temperature int32 `protobuf:"varint,7,opt,name=temperature,proto3" json:"temperature"` // 炉子温度
|
Temperature int32 `protobuf:"varint,7,opt,name=temperature,proto3" json:"temperature"` // 炉子温度
|
||||||
RecoveTime int64 `protobuf:"varint,8,opt,name=recoveTime,proto3" json:"recoveTime"` // 恢复满时间
|
RecoveTime int64 `protobuf:"varint,8,opt,name=recoveTime,proto3" json:"recoveTime" bson:"recoveTime"` //恢复满时间
|
||||||
Hit map[int32]int32 `protobuf:"bytes,9,rep,name=hit,proto3" json:"hit" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
|
Hit map[int32]int32 `protobuf:"bytes,9,rep,name=hit,proto3" json:"hit" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -360,7 +360,7 @@ func convertServiceSttings(config *comm.GameConfig, id int, stype string, ip str
|
|||||||
|
|
||||||
sseting.Sys["configure"] = map[string]interface{}{
|
sseting.Sys["configure"] = map[string]interface{}{
|
||||||
"ConfigurePath": "./json",
|
"ConfigurePath": "./json",
|
||||||
"TimestampFile": "./timestamp.text",
|
"TimestampFile": fmt.Sprintf("/home/www/default/changetime/_data_dreamworksserver_s%s.txt", config.AreaId),
|
||||||
}
|
}
|
||||||
sseting.Sys["wordfilter"] = map[string]interface{}{
|
sseting.Sys["wordfilter"] = map[string]interface{}{
|
||||||
"WorldFile": "./wordfilter.json",
|
"WorldFile": "./wordfilter.json",
|
||||||
|
@ -39,6 +39,7 @@ import (
|
|||||||
"go_dreamfactory/modules/sociaty"
|
"go_dreamfactory/modules/sociaty"
|
||||||
"go_dreamfactory/modules/sys"
|
"go_dreamfactory/modules/sys"
|
||||||
"go_dreamfactory/modules/task"
|
"go_dreamfactory/modules/task"
|
||||||
|
"go_dreamfactory/modules/tools"
|
||||||
"go_dreamfactory/modules/troll"
|
"go_dreamfactory/modules/troll"
|
||||||
"go_dreamfactory/modules/user"
|
"go_dreamfactory/modules/user"
|
||||||
"go_dreamfactory/modules/viking"
|
"go_dreamfactory/modules/viking"
|
||||||
@ -115,6 +116,7 @@ func main() {
|
|||||||
dispatch.NewModule(),
|
dispatch.NewModule(),
|
||||||
atlas.NewModule(),
|
atlas.NewModule(),
|
||||||
practice.NewModule(),
|
practice.NewModule(),
|
||||||
|
tools.NewModule(),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -20,7 +20,6 @@ type GamePandamasJxData struct {
|
|||||||
Access int32
|
Access int32
|
||||||
Heroid string
|
Heroid string
|
||||||
Img string
|
Img string
|
||||||
Ico string
|
|
||||||
Intr string
|
Intr string
|
||||||
Description string
|
Description string
|
||||||
Duration int32
|
Duration int32
|
||||||
@ -47,7 +46,6 @@ func (_v *GamePandamasJxData)Deserialize(_buf map[string]interface{}) (err error
|
|||||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["access"].(float64); !_ok_ { err = errors.New("access error"); return }; _v.Access = int32(_tempNum_) }
|
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["access"].(float64); !_ok_ { err = errors.New("access error"); return }; _v.Access = int32(_tempNum_) }
|
||||||
{ var _ok_ bool; if _v.Heroid, _ok_ = _buf["heroid"].(string); !_ok_ { err = errors.New("heroid error"); return } }
|
{ var _ok_ bool; if _v.Heroid, _ok_ = _buf["heroid"].(string); !_ok_ { err = errors.New("heroid error"); return } }
|
||||||
{ var _ok_ bool; if _v.Img, _ok_ = _buf["img"].(string); !_ok_ { err = errors.New("img error"); return } }
|
{ var _ok_ bool; if _v.Img, _ok_ = _buf["img"].(string); !_ok_ { err = errors.New("img error"); return } }
|
||||||
{ var _ok_ bool; if _v.Ico, _ok_ = _buf["ico"].(string); !_ok_ { err = errors.New("ico error"); return } }
|
|
||||||
{var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["intr"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.Intr error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.Intr, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
|
{var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["intr"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.Intr error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.Intr, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
|
||||||
{var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["description"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.Description error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.Description, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
|
{var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["description"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.Description error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.Description, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
|
||||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["duration"].(float64); !_ok_ { err = errors.New("duration error"); return }; _v.Duration = int32(_tempNum_) }
|
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["duration"].(float64); !_ok_ { err = errors.New("duration error"); return }; _v.Duration = int32(_tempNum_) }
|
||||||
|
@ -16,12 +16,8 @@ type GameCoinData struct {
|
|||||||
Color int32
|
Color int32
|
||||||
Effects string
|
Effects string
|
||||||
Access int32
|
Access int32
|
||||||
Star int32
|
|
||||||
Race int32
|
|
||||||
Img string
|
Img string
|
||||||
Ico string
|
|
||||||
Intr string
|
Intr string
|
||||||
Tipstxt string
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const TypeId_GameCoinData = 1416227927
|
const TypeId_GameCoinData = 1416227927
|
||||||
@ -36,12 +32,8 @@ func (_v *GameCoinData)Deserialize(_buf map[string]interface{}) (err error) {
|
|||||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["color"].(float64); !_ok_ { err = errors.New("color error"); return }; _v.Color = int32(_tempNum_) }
|
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["color"].(float64); !_ok_ { err = errors.New("color error"); return }; _v.Color = int32(_tempNum_) }
|
||||||
{ var _ok_ bool; if _v.Effects, _ok_ = _buf["effects"].(string); !_ok_ { err = errors.New("effects error"); return } }
|
{ var _ok_ bool; if _v.Effects, _ok_ = _buf["effects"].(string); !_ok_ { err = errors.New("effects error"); return } }
|
||||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["access"].(float64); !_ok_ { err = errors.New("access error"); return }; _v.Access = int32(_tempNum_) }
|
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["access"].(float64); !_ok_ { err = errors.New("access error"); return }; _v.Access = int32(_tempNum_) }
|
||||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["star"].(float64); !_ok_ { err = errors.New("star error"); return }; _v.Star = int32(_tempNum_) }
|
|
||||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["race"].(float64); !_ok_ { err = errors.New("race error"); return }; _v.Race = int32(_tempNum_) }
|
|
||||||
{ var _ok_ bool; if _v.Img, _ok_ = _buf["img"].(string); !_ok_ { err = errors.New("img error"); return } }
|
{ var _ok_ bool; if _v.Img, _ok_ = _buf["img"].(string); !_ok_ { err = errors.New("img error"); return } }
|
||||||
{ var _ok_ bool; if _v.Ico, _ok_ = _buf["ico"].(string); !_ok_ { err = errors.New("ico error"); return } }
|
|
||||||
{ var _ok_ bool; if _v.Intr, _ok_ = _buf["intr"].(string); !_ok_ { err = errors.New("intr error"); return } }
|
{ var _ok_ bool; if _v.Intr, _ok_ = _buf["intr"].(string); !_ok_ { err = errors.New("intr error"); return } }
|
||||||
{ var _ok_ bool; if _v.Tipstxt, _ok_ = _buf["tipstxt"].(string); !_ok_ { err = errors.New("tipstxt error"); return } }
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -19,23 +19,18 @@ type GameItemData struct {
|
|||||||
Index int32
|
Index int32
|
||||||
SpecialType int32
|
SpecialType int32
|
||||||
Time int32
|
Time int32
|
||||||
|
Reddottype int32
|
||||||
Effects string
|
Effects string
|
||||||
BoxId int32
|
BoxId int32
|
||||||
SynthetizeNum int32
|
SynthetizeNum int32
|
||||||
Access []int32
|
Access []int32
|
||||||
UseSkip int32
|
UseSkip int32
|
||||||
UpperLimit int32
|
UpperLimit int32
|
||||||
Uselv int32
|
|
||||||
Isani int32
|
|
||||||
Star int32
|
|
||||||
Race int32
|
|
||||||
Img string
|
Img string
|
||||||
Ico string
|
|
||||||
Intr string
|
Intr string
|
||||||
Sale []*Gameatn
|
Sale []*Gameatn
|
||||||
SynthetizeDeplete []*Gameatn
|
SynthetizeDeplete []*Gameatn
|
||||||
DecomposeDeplete []*Gameatn
|
DecomposeDeplete []*Gameatn
|
||||||
Tipstxt string
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const TypeId_GameItemData = -984700967
|
const TypeId_GameItemData = -984700967
|
||||||
@ -53,6 +48,7 @@ func (_v *GameItemData)Deserialize(_buf map[string]interface{}) (err error) {
|
|||||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["index"].(float64); !_ok_ { err = errors.New("index error"); return }; _v.Index = int32(_tempNum_) }
|
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["index"].(float64); !_ok_ { err = errors.New("index error"); return }; _v.Index = int32(_tempNum_) }
|
||||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["special_type"].(float64); !_ok_ { err = errors.New("special_type error"); return }; _v.SpecialType = int32(_tempNum_) }
|
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["special_type"].(float64); !_ok_ { err = errors.New("special_type error"); return }; _v.SpecialType = int32(_tempNum_) }
|
||||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["time"].(float64); !_ok_ { err = errors.New("time error"); return }; _v.Time = int32(_tempNum_) }
|
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["time"].(float64); !_ok_ { err = errors.New("time error"); return }; _v.Time = int32(_tempNum_) }
|
||||||
|
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["reddottype"].(float64); !_ok_ { err = errors.New("reddottype error"); return }; _v.Reddottype = int32(_tempNum_) }
|
||||||
{ var _ok_ bool; if _v.Effects, _ok_ = _buf["effects"].(string); !_ok_ { err = errors.New("effects error"); return } }
|
{ var _ok_ bool; if _v.Effects, _ok_ = _buf["effects"].(string); !_ok_ { err = errors.New("effects error"); return } }
|
||||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["box_id"].(float64); !_ok_ { err = errors.New("box_id error"); return }; _v.BoxId = int32(_tempNum_) }
|
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["box_id"].(float64); !_ok_ { err = errors.New("box_id error"); return }; _v.BoxId = int32(_tempNum_) }
|
||||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["synthetize_num"].(float64); !_ok_ { err = errors.New("synthetize_num error"); return }; _v.SynthetizeNum = int32(_tempNum_) }
|
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["synthetize_num"].(float64); !_ok_ { err = errors.New("synthetize_num error"); return }; _v.SynthetizeNum = int32(_tempNum_) }
|
||||||
@ -72,12 +68,7 @@ func (_v *GameItemData)Deserialize(_buf map[string]interface{}) (err error) {
|
|||||||
|
|
||||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["use_skip"].(float64); !_ok_ { err = errors.New("use_skip error"); return }; _v.UseSkip = int32(_tempNum_) }
|
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["use_skip"].(float64); !_ok_ { err = errors.New("use_skip error"); return }; _v.UseSkip = int32(_tempNum_) }
|
||||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["upper_limit"].(float64); !_ok_ { err = errors.New("upper_limit error"); return }; _v.UpperLimit = int32(_tempNum_) }
|
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["upper_limit"].(float64); !_ok_ { err = errors.New("upper_limit error"); return }; _v.UpperLimit = int32(_tempNum_) }
|
||||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["uselv"].(float64); !_ok_ { err = errors.New("uselv error"); return }; _v.Uselv = int32(_tempNum_) }
|
|
||||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["isani"].(float64); !_ok_ { err = errors.New("isani error"); return }; _v.Isani = int32(_tempNum_) }
|
|
||||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["star"].(float64); !_ok_ { err = errors.New("star error"); return }; _v.Star = int32(_tempNum_) }
|
|
||||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["race"].(float64); !_ok_ { err = errors.New("race error"); return }; _v.Race = int32(_tempNum_) }
|
|
||||||
{ var _ok_ bool; if _v.Img, _ok_ = _buf["img"].(string); !_ok_ { err = errors.New("img error"); return } }
|
{ var _ok_ bool; if _v.Img, _ok_ = _buf["img"].(string); !_ok_ { err = errors.New("img error"); return } }
|
||||||
{ var _ok_ bool; if _v.Ico, _ok_ = _buf["ico"].(string); !_ok_ { err = errors.New("ico error"); return } }
|
|
||||||
{var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["intr"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.Intr error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.Intr, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
|
{var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["intr"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.Intr error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.Intr, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
|
||||||
{
|
{
|
||||||
var _arr_ []interface{}
|
var _arr_ []interface{}
|
||||||
@ -121,7 +112,6 @@ func (_v *GameItemData)Deserialize(_buf map[string]interface{}) (err error) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
{var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["tipstxt"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.Tipstxt error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.Tipstxt, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user