Merge branch 'meixiongfeng' of http://git.legu.cc/liwei_3d/go_dreamfactory into dev
This commit is contained in:
commit
64c928112b
@ -3,6 +3,7 @@
|
||||
"id": 1,
|
||||
"open_cond": 1,
|
||||
"open_value": 10,
|
||||
"BattleReadyID": 110,
|
||||
"monsterformat_id": [
|
||||
301011,
|
||||
301027
|
||||
@ -33,6 +34,7 @@
|
||||
"id": 2,
|
||||
"open_cond": 1,
|
||||
"open_value": 11,
|
||||
"BattleReadyID": 110,
|
||||
"monsterformat_id": [
|
||||
301012
|
||||
],
|
||||
@ -62,6 +64,7 @@
|
||||
"id": 3,
|
||||
"open_cond": 1,
|
||||
"open_value": 12,
|
||||
"BattleReadyID": 110,
|
||||
"monsterformat_id": [
|
||||
301013
|
||||
],
|
||||
@ -91,6 +94,7 @@
|
||||
"id": 4,
|
||||
"open_cond": 1,
|
||||
"open_value": 13,
|
||||
"BattleReadyID": 110,
|
||||
"monsterformat_id": [
|
||||
301014
|
||||
],
|
||||
@ -120,6 +124,7 @@
|
||||
"id": 5,
|
||||
"open_cond": 1,
|
||||
"open_value": 14,
|
||||
"BattleReadyID": 110,
|
||||
"monsterformat_id": [
|
||||
301015
|
||||
],
|
||||
@ -149,6 +154,7 @@
|
||||
"id": 6,
|
||||
"open_cond": 1,
|
||||
"open_value": 15,
|
||||
"BattleReadyID": 110,
|
||||
"monsterformat_id": [
|
||||
301016
|
||||
],
|
||||
@ -178,6 +184,7 @@
|
||||
"id": 7,
|
||||
"open_cond": 1,
|
||||
"open_value": 16,
|
||||
"BattleReadyID": 110,
|
||||
"monsterformat_id": [
|
||||
301017
|
||||
],
|
||||
@ -207,6 +214,7 @@
|
||||
"id": 8,
|
||||
"open_cond": 1,
|
||||
"open_value": 17,
|
||||
"BattleReadyID": 110,
|
||||
"monsterformat_id": [
|
||||
301018
|
||||
],
|
||||
@ -236,6 +244,7 @@
|
||||
"id": 9,
|
||||
"open_cond": 1,
|
||||
"open_value": 18,
|
||||
"BattleReadyID": 110,
|
||||
"monsterformat_id": [
|
||||
301019
|
||||
],
|
||||
@ -265,6 +274,7 @@
|
||||
"id": 10,
|
||||
"open_cond": 1,
|
||||
"open_value": 19,
|
||||
"BattleReadyID": 110,
|
||||
"monsterformat_id": [
|
||||
301020
|
||||
],
|
||||
@ -294,6 +304,7 @@
|
||||
"id": 11,
|
||||
"open_cond": 1,
|
||||
"open_value": 20,
|
||||
"BattleReadyID": 110,
|
||||
"monsterformat_id": [
|
||||
301021
|
||||
],
|
||||
@ -323,6 +334,7 @@
|
||||
"id": 12,
|
||||
"open_cond": 1,
|
||||
"open_value": 21,
|
||||
"BattleReadyID": 110,
|
||||
"monsterformat_id": [
|
||||
301022
|
||||
],
|
||||
@ -352,6 +364,7 @@
|
||||
"id": 13,
|
||||
"open_cond": 1,
|
||||
"open_value": 22,
|
||||
"BattleReadyID": 110,
|
||||
"monsterformat_id": [
|
||||
301023
|
||||
],
|
||||
@ -381,6 +394,7 @@
|
||||
"id": 14,
|
||||
"open_cond": 1,
|
||||
"open_value": 23,
|
||||
"BattleReadyID": 110,
|
||||
"monsterformat_id": [
|
||||
301024
|
||||
],
|
||||
@ -410,6 +424,7 @@
|
||||
"id": 15,
|
||||
"open_cond": 1,
|
||||
"open_value": 24,
|
||||
"BattleReadyID": 110,
|
||||
"monsterformat_id": [
|
||||
301025
|
||||
],
|
||||
@ -439,6 +454,7 @@
|
||||
"id": 16,
|
||||
"open_cond": 1,
|
||||
"open_value": 25,
|
||||
"BattleReadyID": 110,
|
||||
"monsterformat_id": [
|
||||
301026
|
||||
],
|
||||
|
112
bin/json/game_battleready.json
Normal file
112
bin/json/game_battleready.json
Normal file
@ -0,0 +1,112 @@
|
||||
[
|
||||
{
|
||||
"id": 100,
|
||||
"PlayType": "WorldTask",
|
||||
"HeroCount": 5,
|
||||
"DefaultHero": 0,
|
||||
"DisableHero": [],
|
||||
"LockSlots": [],
|
||||
"AssistTeam": 0,
|
||||
"CanFriendHelp": 1
|
||||
},
|
||||
{
|
||||
"id": 101,
|
||||
"PlayType": "MysteryMoon",
|
||||
"HeroCount": 5,
|
||||
"DefaultHero": 0,
|
||||
"DisableHero": [],
|
||||
"LockSlots": [],
|
||||
"AssistTeam": 0,
|
||||
"CanFriendHelp": 0
|
||||
},
|
||||
{
|
||||
"id": 102,
|
||||
"PlayType": "MainLine",
|
||||
"HeroCount": 5,
|
||||
"DefaultHero": 0,
|
||||
"DisableHero": [],
|
||||
"LockSlots": [],
|
||||
"AssistTeam": 0,
|
||||
"CanFriendHelp": 0
|
||||
},
|
||||
{
|
||||
"id": 103,
|
||||
"PlayType": "Pagoda",
|
||||
"HeroCount": 5,
|
||||
"DefaultHero": 0,
|
||||
"DisableHero": [],
|
||||
"LockSlots": [],
|
||||
"AssistTeam": 0,
|
||||
"CanFriendHelp": 0
|
||||
},
|
||||
{
|
||||
"id": 104,
|
||||
"PlayType": "ViKing",
|
||||
"HeroCount": 5,
|
||||
"DefaultHero": 0,
|
||||
"DisableHero": [],
|
||||
"LockSlots": [],
|
||||
"AssistTeam": 0,
|
||||
"CanFriendHelp": 0
|
||||
},
|
||||
{
|
||||
"id": 105,
|
||||
"PlayType": "Arena",
|
||||
"HeroCount": 5,
|
||||
"DefaultHero": 0,
|
||||
"DisableHero": [],
|
||||
"LockSlots": [],
|
||||
"AssistTeam": 0,
|
||||
"CanFriendHelp": 0
|
||||
},
|
||||
{
|
||||
"id": 106,
|
||||
"PlayType": "ArenaDef",
|
||||
"HeroCount": 5,
|
||||
"DefaultHero": 0,
|
||||
"DisableHero": [],
|
||||
"LockSlots": [],
|
||||
"AssistTeam": 0,
|
||||
"CanFriendHelp": 0
|
||||
},
|
||||
{
|
||||
"id": 107,
|
||||
"PlayType": "Hunting",
|
||||
"HeroCount": 5,
|
||||
"DefaultHero": 0,
|
||||
"DisableHero": [],
|
||||
"LockSlots": [],
|
||||
"AssistTeam": 0,
|
||||
"CanFriendHelp": 0
|
||||
},
|
||||
{
|
||||
"id": 108,
|
||||
"PlayType": "EnchantBoss",
|
||||
"HeroCount": 5,
|
||||
"DefaultHero": 0,
|
||||
"DisableHero": [],
|
||||
"LockSlots": [],
|
||||
"AssistTeam": 0,
|
||||
"CanFriendHelp": 0
|
||||
},
|
||||
{
|
||||
"id": 109,
|
||||
"PlayType": "Combat",
|
||||
"HeroCount": 5,
|
||||
"DefaultHero": 0,
|
||||
"DisableHero": [],
|
||||
"LockSlots": [],
|
||||
"AssistTeam": 0,
|
||||
"CanFriendHelp": 0
|
||||
},
|
||||
{
|
||||
"id": 110,
|
||||
"PlayType": "ArenaNpc",
|
||||
"HeroCount": 5,
|
||||
"DefaultHero": 0,
|
||||
"DisableHero": [],
|
||||
"LockSlots": [],
|
||||
"AssistTeam": 0,
|
||||
"CanFriendHelp": 0
|
||||
}
|
||||
]
|
@ -167,5 +167,18 @@
|
||||
"ico": "wp_icon_10009",
|
||||
"intr": "Currency used to purchase goods",
|
||||
"tipstxt": "Lack of experience"
|
||||
},
|
||||
{
|
||||
"key": "moongold",
|
||||
"name": "moongold",
|
||||
"color": 5,
|
||||
"effects": "",
|
||||
"access": 107,
|
||||
"star": 0,
|
||||
"race": 0,
|
||||
"img": "wp_icon_10009",
|
||||
"ico": "wp_icon_10009",
|
||||
"intr": "Currency used to purchase goods",
|
||||
"tipstxt": "Lack of experience"
|
||||
}
|
||||
]
|
@ -8,6 +8,7 @@
|
||||
],
|
||||
"time": 3,
|
||||
"clickstory": 0,
|
||||
"BattleReadyID": 109,
|
||||
"formatList": [
|
||||
720001
|
||||
],
|
||||
@ -28,6 +29,7 @@
|
||||
],
|
||||
"time": 3,
|
||||
"clickstory": 0,
|
||||
"BattleReadyID": 109,
|
||||
"formatList": [
|
||||
720003
|
||||
],
|
||||
@ -48,6 +50,7 @@
|
||||
],
|
||||
"time": 3,
|
||||
"clickstory": 0,
|
||||
"BattleReadyID": 109,
|
||||
"formatList": [
|
||||
720004
|
||||
],
|
||||
@ -68,6 +71,7 @@
|
||||
],
|
||||
"time": 3,
|
||||
"clickstory": 0,
|
||||
"BattleReadyID": 109,
|
||||
"formatList": [
|
||||
720002
|
||||
],
|
||||
@ -88,6 +92,7 @@
|
||||
],
|
||||
"time": 3,
|
||||
"clickstory": 0,
|
||||
"BattleReadyID": 109,
|
||||
"formatList": [
|
||||
720005
|
||||
],
|
||||
@ -105,6 +110,7 @@
|
||||
"sencenstory": [],
|
||||
"time": 0,
|
||||
"clickstory": 0,
|
||||
"BattleReadyID": 109,
|
||||
"formatList": [
|
||||
720006
|
||||
],
|
||||
@ -122,6 +128,7 @@
|
||||
"sencenstory": [],
|
||||
"time": 0,
|
||||
"clickstory": 0,
|
||||
"BattleReadyID": 109,
|
||||
"formatList": [
|
||||
720007
|
||||
],
|
||||
@ -139,6 +146,7 @@
|
||||
"sencenstory": [],
|
||||
"time": 0,
|
||||
"clickstory": 0,
|
||||
"BattleReadyID": 109,
|
||||
"formatList": [
|
||||
720008
|
||||
],
|
||||
@ -156,6 +164,7 @@
|
||||
"sencenstory": [],
|
||||
"time": 0,
|
||||
"clickstory": 0,
|
||||
"BattleReadyID": 109,
|
||||
"formatList": [
|
||||
720009
|
||||
],
|
||||
@ -173,6 +182,7 @@
|
||||
"sencenstory": [],
|
||||
"time": 0,
|
||||
"clickstory": 0,
|
||||
"BattleReadyID": 109,
|
||||
"formatList": [
|
||||
720010
|
||||
],
|
||||
@ -190,6 +200,7 @@
|
||||
"sencenstory": [],
|
||||
"time": 0,
|
||||
"clickstory": 0,
|
||||
"BattleReadyID": 109,
|
||||
"formatList": [
|
||||
720011
|
||||
],
|
||||
@ -207,6 +218,7 @@
|
||||
"sencenstory": [],
|
||||
"time": 0,
|
||||
"clickstory": 0,
|
||||
"BattleReadyID": 109,
|
||||
"formatList": [
|
||||
720012
|
||||
],
|
||||
@ -224,6 +236,7 @@
|
||||
"sencenstory": [],
|
||||
"time": 0,
|
||||
"clickstory": 0,
|
||||
"BattleReadyID": 109,
|
||||
"formatList": [
|
||||
101072
|
||||
],
|
||||
@ -241,6 +254,7 @@
|
||||
"sencenstory": [],
|
||||
"time": 0,
|
||||
"clickstory": 0,
|
||||
"BattleReadyID": 109,
|
||||
"formatList": [
|
||||
101072
|
||||
],
|
||||
@ -258,6 +272,7 @@
|
||||
"sencenstory": [],
|
||||
"time": 0,
|
||||
"clickstory": 0,
|
||||
"BattleReadyID": 109,
|
||||
"formatList": [
|
||||
101072
|
||||
],
|
||||
@ -275,6 +290,7 @@
|
||||
"sencenstory": [],
|
||||
"time": 0,
|
||||
"clickstory": 0,
|
||||
"BattleReadyID": 109,
|
||||
"formatList": [
|
||||
101072
|
||||
],
|
||||
@ -292,6 +308,7 @@
|
||||
"sencenstory": [],
|
||||
"time": 0,
|
||||
"clickstory": 0,
|
||||
"BattleReadyID": 109,
|
||||
"formatList": [
|
||||
101072
|
||||
],
|
||||
@ -312,6 +329,7 @@
|
||||
],
|
||||
"time": 3,
|
||||
"clickstory": 100002,
|
||||
"BattleReadyID": 109,
|
||||
"formatList": [],
|
||||
"award": []
|
||||
},
|
||||
@ -324,6 +342,7 @@
|
||||
],
|
||||
"time": 3,
|
||||
"clickstory": 100002,
|
||||
"BattleReadyID": 109,
|
||||
"formatList": [],
|
||||
"award": []
|
||||
},
|
||||
@ -336,6 +355,7 @@
|
||||
],
|
||||
"time": 3,
|
||||
"clickstory": 100002,
|
||||
"BattleReadyID": 109,
|
||||
"formatList": [],
|
||||
"award": []
|
||||
},
|
||||
@ -345,6 +365,7 @@
|
||||
"sencenstory": [],
|
||||
"time": 3,
|
||||
"clickstory": 0,
|
||||
"BattleReadyID": 109,
|
||||
"formatList": [
|
||||
720013
|
||||
],
|
||||
|
@ -11,6 +11,7 @@
|
||||
"n": 1
|
||||
}
|
||||
],
|
||||
"BattleReadyID": 101,
|
||||
"monsterformatid": [
|
||||
201011
|
||||
],
|
||||
@ -42,6 +43,7 @@
|
||||
"n": 1
|
||||
}
|
||||
],
|
||||
"BattleReadyID": 101,
|
||||
"monsterformatid": [
|
||||
201012
|
||||
],
|
||||
|
@ -6,6 +6,7 @@
|
||||
"key": "viking_boss_1001",
|
||||
"text": "火焰泰坦"
|
||||
},
|
||||
"BattleReadyID": 108,
|
||||
"grade": "SSS",
|
||||
"score_low": 6666667,
|
||||
"score_up": 99999999,
|
||||
@ -116,6 +117,7 @@
|
||||
"key": "viking_boss_1001",
|
||||
"text": "火焰泰坦"
|
||||
},
|
||||
"BattleReadyID": 108,
|
||||
"grade": "SS",
|
||||
"score_low": 3500001,
|
||||
"score_up": 6666666,
|
||||
@ -226,6 +228,7 @@
|
||||
"key": "viking_boss_1001",
|
||||
"text": "火焰泰坦"
|
||||
},
|
||||
"BattleReadyID": 108,
|
||||
"grade": "S",
|
||||
"score_low": 1800001,
|
||||
"score_up": 3500000,
|
||||
@ -336,6 +339,7 @@
|
||||
"key": "viking_boss_1001",
|
||||
"text": "火焰泰坦"
|
||||
},
|
||||
"BattleReadyID": 108,
|
||||
"grade": "A+",
|
||||
"score_low": 800001,
|
||||
"score_up": 1800000,
|
||||
@ -446,6 +450,7 @@
|
||||
"key": "viking_boss_1001",
|
||||
"text": "火焰泰坦"
|
||||
},
|
||||
"BattleReadyID": 108,
|
||||
"grade": "A",
|
||||
"score_low": 350001,
|
||||
"score_up": 800000,
|
||||
@ -556,6 +561,7 @@
|
||||
"key": "viking_boss_1001",
|
||||
"text": "火焰泰坦"
|
||||
},
|
||||
"BattleReadyID": 108,
|
||||
"grade": "B",
|
||||
"score_low": 100001,
|
||||
"score_up": 350000,
|
||||
@ -666,6 +672,7 @@
|
||||
"key": "viking_boss_1001",
|
||||
"text": "火焰泰坦"
|
||||
},
|
||||
"BattleReadyID": 108,
|
||||
"grade": "C",
|
||||
"score_low": 0,
|
||||
"score_up": 100000,
|
||||
@ -776,6 +783,7 @@
|
||||
"key": "viking_boss_1002",
|
||||
"text": "冰霜泰坦"
|
||||
},
|
||||
"BattleReadyID": 108,
|
||||
"grade": "SSS",
|
||||
"score_low": 6666667,
|
||||
"score_up": 99999999,
|
||||
@ -886,6 +894,7 @@
|
||||
"key": "viking_boss_1002",
|
||||
"text": "冰霜泰坦"
|
||||
},
|
||||
"BattleReadyID": 108,
|
||||
"grade": "SS",
|
||||
"score_low": 3500001,
|
||||
"score_up": 6666666,
|
||||
@ -996,6 +1005,7 @@
|
||||
"key": "viking_boss_1002",
|
||||
"text": "冰霜泰坦"
|
||||
},
|
||||
"BattleReadyID": 108,
|
||||
"grade": "S",
|
||||
"score_low": 1800001,
|
||||
"score_up": 3500000,
|
||||
@ -1106,6 +1116,7 @@
|
||||
"key": "viking_boss_1002",
|
||||
"text": "冰霜泰坦"
|
||||
},
|
||||
"BattleReadyID": 108,
|
||||
"grade": "A+",
|
||||
"score_low": 800001,
|
||||
"score_up": 1800000,
|
||||
@ -1216,6 +1227,7 @@
|
||||
"key": "viking_boss_1002",
|
||||
"text": "冰霜泰坦"
|
||||
},
|
||||
"BattleReadyID": 108,
|
||||
"grade": "A",
|
||||
"score_low": 350001,
|
||||
"score_up": 800000,
|
||||
@ -1326,6 +1338,7 @@
|
||||
"key": "viking_boss_1002",
|
||||
"text": "冰霜泰坦"
|
||||
},
|
||||
"BattleReadyID": 108,
|
||||
"grade": "B",
|
||||
"score_low": 100001,
|
||||
"score_up": 350000,
|
||||
@ -1436,6 +1449,7 @@
|
||||
"key": "viking_boss_1002",
|
||||
"text": "冰霜泰坦"
|
||||
},
|
||||
"BattleReadyID": 108,
|
||||
"grade": "C",
|
||||
"score_low": 0,
|
||||
"score_up": 100000,
|
||||
@ -1546,6 +1560,7 @@
|
||||
"key": "viking_boss_1003",
|
||||
"text": "森林泰坦"
|
||||
},
|
||||
"BattleReadyID": 108,
|
||||
"grade": "SSS",
|
||||
"score_low": 6666667,
|
||||
"score_up": 99999999,
|
||||
@ -1656,6 +1671,7 @@
|
||||
"key": "viking_boss_1003",
|
||||
"text": "森林泰坦"
|
||||
},
|
||||
"BattleReadyID": 108,
|
||||
"grade": "SS",
|
||||
"score_low": 3500001,
|
||||
"score_up": 6666666,
|
||||
@ -1766,6 +1782,7 @@
|
||||
"key": "viking_boss_1003",
|
||||
"text": "森林泰坦"
|
||||
},
|
||||
"BattleReadyID": 108,
|
||||
"grade": "S",
|
||||
"score_low": 1800001,
|
||||
"score_up": 3500000,
|
||||
@ -1876,6 +1893,7 @@
|
||||
"key": "viking_boss_1003",
|
||||
"text": "森林泰坦"
|
||||
},
|
||||
"BattleReadyID": 108,
|
||||
"grade": "A+",
|
||||
"score_low": 800001,
|
||||
"score_up": 1800000,
|
||||
@ -1986,6 +2004,7 @@
|
||||
"key": "viking_boss_1003",
|
||||
"text": "森林泰坦"
|
||||
},
|
||||
"BattleReadyID": 108,
|
||||
"grade": "A",
|
||||
"score_low": 350001,
|
||||
"score_up": 800000,
|
||||
@ -2096,6 +2115,7 @@
|
||||
"key": "viking_boss_1003",
|
||||
"text": "森林泰坦"
|
||||
},
|
||||
"BattleReadyID": 108,
|
||||
"grade": "B",
|
||||
"score_low": 100001,
|
||||
"score_up": 350000,
|
||||
@ -2206,6 +2226,7 @@
|
||||
"key": "viking_boss_1003",
|
||||
"text": "森林泰坦"
|
||||
},
|
||||
"BattleReadyID": 108,
|
||||
"grade": "C",
|
||||
"score_low": 0,
|
||||
"score_up": 100000,
|
||||
|
@ -11,6 +11,16 @@
|
||||
},
|
||||
{
|
||||
"index": 2,
|
||||
"name": {
|
||||
"key": "server_10002",
|
||||
"text": "本地测试服2"
|
||||
},
|
||||
"ips": "10.0.0.9:7691",
|
||||
"debug": true,
|
||||
"sid": "df02"
|
||||
},
|
||||
{
|
||||
"index": 3,
|
||||
"name": {
|
||||
"key": "debug_server_01",
|
||||
"text": "lw"
|
||||
@ -20,7 +30,7 @@
|
||||
"sid": "dfli"
|
||||
},
|
||||
{
|
||||
"index": 3,
|
||||
"index": 4,
|
||||
"name": {
|
||||
"key": "debug_server_02",
|
||||
"text": "zcy"
|
||||
@ -30,7 +40,7 @@
|
||||
"sid": "dfz"
|
||||
},
|
||||
{
|
||||
"index": 4,
|
||||
"index": 5,
|
||||
"name": {
|
||||
"key": "debug_server_03",
|
||||
"text": "mxf"
|
||||
@ -38,45 +48,5 @@
|
||||
"ips": "10.0.0.85:7891",
|
||||
"debug": true,
|
||||
"sid": "dfmxf"
|
||||
},
|
||||
{
|
||||
"index": 5,
|
||||
"name": {
|
||||
"key": "server_10004",
|
||||
"text": "凤凰城"
|
||||
},
|
||||
"ips": "119.3.89.14:9891",
|
||||
"debug": true,
|
||||
"sid": "df01"
|
||||
},
|
||||
{
|
||||
"index": 6,
|
||||
"name": {
|
||||
"key": "server_10005",
|
||||
"text": "翡翠宫"
|
||||
},
|
||||
"ips": "119.3.89.14:9891",
|
||||
"debug": true,
|
||||
"sid": "df01"
|
||||
},
|
||||
{
|
||||
"index": 7,
|
||||
"name": {
|
||||
"key": "server_10006",
|
||||
"text": "乌鸦岭"
|
||||
},
|
||||
"ips": "119.3.89.14:9891",
|
||||
"debug": true,
|
||||
"sid": "df01"
|
||||
},
|
||||
{
|
||||
"index": 8,
|
||||
"name": {
|
||||
"key": "server_10003",
|
||||
"text": "和平谷"
|
||||
},
|
||||
"ips": "119.3.89.14:7891",
|
||||
"debug": false,
|
||||
"sid": "df02"
|
||||
}
|
||||
]
|
@ -533,6 +533,11 @@
|
||||
"GuildBoss_troop3": 60,
|
||||
"zhayantime": 5,
|
||||
"rotateAngle": 360,
|
||||
"rotateDizzyTime": 1
|
||||
"rotateDizzyTime": 1,
|
||||
"moonshopmoney": [
|
||||
10,
|
||||
20,
|
||||
30
|
||||
]
|
||||
}
|
||||
]
|
@ -9,11 +9,11 @@
|
||||
"onetask": 0,
|
||||
"txt": {
|
||||
"key": "Growtxtone",
|
||||
"text": "位置的丛林充满了危险,赶快带上你的小伙伴去探索一番吧~"
|
||||
"text": "冒险从这一步开始"
|
||||
},
|
||||
"portrait": "N6_0002_图层-31253",
|
||||
"fstask": 106,
|
||||
"jump": 107,
|
||||
"jump": 113,
|
||||
"reward": [
|
||||
{
|
||||
"a": "attr",
|
||||
@ -32,15 +32,15 @@
|
||||
"type": 1,
|
||||
"title": {
|
||||
"key": "ClearanceThread",
|
||||
"text": "通关1-2"
|
||||
"text": "累计登录1天"
|
||||
},
|
||||
"onetask": 1,
|
||||
"txt": {
|
||||
"key": "Growtxtone",
|
||||
"text": "位置的丛林充满了危险,赶快带上你的小伙伴去探索一番吧~"
|
||||
"text": "冒险从这一步开始"
|
||||
},
|
||||
"portrait": "N6_0002_图层-31253",
|
||||
"fstask": 106,
|
||||
"fstask": 108,
|
||||
"jump": 107,
|
||||
"reward": [
|
||||
{
|
||||
@ -65,11 +65,11 @@
|
||||
"onetask": 2,
|
||||
"txt": {
|
||||
"key": "Growtxtone",
|
||||
"text": "位置的丛林充满了危险,赶快带上你的小伙伴去探索一番吧~"
|
||||
"text": "冒险从这一步开始"
|
||||
},
|
||||
"portrait": "N6_0002_图层-31253",
|
||||
"fstask": 106,
|
||||
"jump": 107,
|
||||
"jump": 113,
|
||||
"reward": [
|
||||
{
|
||||
"a": "attr",
|
||||
@ -93,11 +93,11 @@
|
||||
"onetask": 3,
|
||||
"txt": {
|
||||
"key": "Growtxtone",
|
||||
"text": "位置的丛林充满了危险,赶快带上你的小伙伴去探索一番吧~"
|
||||
"text": "冒险从这一步开始"
|
||||
},
|
||||
"portrait": "N6_0002_图层-31253",
|
||||
"fstask": 106,
|
||||
"jump": 107,
|
||||
"jump": 113,
|
||||
"reward": [
|
||||
{
|
||||
"a": "attr",
|
||||
@ -121,151 +121,11 @@
|
||||
"onetask": 4,
|
||||
"txt": {
|
||||
"key": "Growtxtone",
|
||||
"text": "位置的丛林充满了危险,赶快带上你的小伙伴去探索一番吧~"
|
||||
"text": "冒险从这一步开始"
|
||||
},
|
||||
"portrait": "N6_0002_图层-31253",
|
||||
"fstask": 106,
|
||||
"jump": 107,
|
||||
"reward": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "gold",
|
||||
"n": 1000
|
||||
},
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "diamond",
|
||||
"n": 1000
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 6,
|
||||
"type": 1,
|
||||
"title": {
|
||||
"key": "ClearanceThread",
|
||||
"text": "通关1-6"
|
||||
},
|
||||
"onetask": 5,
|
||||
"txt": {
|
||||
"key": "Growtxtone",
|
||||
"text": "位置的丛林充满了危险,赶快带上你的小伙伴去探索一番吧~"
|
||||
},
|
||||
"portrait": "N6_0002_图层-31253",
|
||||
"fstask": 106,
|
||||
"jump": 107,
|
||||
"reward": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "gold",
|
||||
"n": 1000
|
||||
},
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "diamond",
|
||||
"n": 1000
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 7,
|
||||
"type": 1,
|
||||
"title": {
|
||||
"key": "ClearanceThread",
|
||||
"text": "通关1-7"
|
||||
},
|
||||
"onetask": 6,
|
||||
"txt": {
|
||||
"key": "Growtxtone",
|
||||
"text": "位置的丛林充满了危险,赶快带上你的小伙伴去探索一番吧~"
|
||||
},
|
||||
"portrait": "N6_0002_图层-31253",
|
||||
"fstask": 106,
|
||||
"jump": 107,
|
||||
"reward": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "gold",
|
||||
"n": 1000
|
||||
},
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "diamond",
|
||||
"n": 1000
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 8,
|
||||
"type": 1,
|
||||
"title": {
|
||||
"key": "ClearanceThread",
|
||||
"text": "通关1-8"
|
||||
},
|
||||
"onetask": 7,
|
||||
"txt": {
|
||||
"key": "Growtxtone",
|
||||
"text": "位置的丛林充满了危险,赶快带上你的小伙伴去探索一番吧~"
|
||||
},
|
||||
"portrait": "N6_0002_图层-31253",
|
||||
"fstask": 106,
|
||||
"jump": 107,
|
||||
"reward": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "gold",
|
||||
"n": 1000
|
||||
},
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "diamond",
|
||||
"n": 1000
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 9,
|
||||
"type": 1,
|
||||
"title": {
|
||||
"key": "ClearanceThread",
|
||||
"text": "通关1-9"
|
||||
},
|
||||
"onetask": 8,
|
||||
"txt": {
|
||||
"key": "Growtxtone",
|
||||
"text": "位置的丛林充满了危险,赶快带上你的小伙伴去探索一番吧~"
|
||||
},
|
||||
"portrait": "N6_0002_图层-31253",
|
||||
"fstask": 106,
|
||||
"jump": 107,
|
||||
"reward": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "gold",
|
||||
"n": 1000
|
||||
},
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "diamond",
|
||||
"n": 1000
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 10,
|
||||
"type": 1,
|
||||
"title": {
|
||||
"key": "ClearanceThread",
|
||||
"text": "通关1-10"
|
||||
},
|
||||
"onetask": 9,
|
||||
"txt": {
|
||||
"key": "Growtxtone",
|
||||
"text": "位置的丛林充满了危险,赶快带上你的小伙伴去探索一番吧~"
|
||||
},
|
||||
"portrait": "N6_0002_图层-31253",
|
||||
"fstask": 106,
|
||||
"jump": 107,
|
||||
"jump": 113,
|
||||
"reward": [
|
||||
{
|
||||
"a": "attr",
|
||||
@ -284,15 +144,15 @@
|
||||
"type": 2,
|
||||
"title": {
|
||||
"key": "CharacterGrowth",
|
||||
"text": "阿宝升1级"
|
||||
"text": "获得阿宝"
|
||||
},
|
||||
"onetask": 10,
|
||||
"txt": {
|
||||
"key": "Growtxttwo",
|
||||
"text": "阿宝需要变强,快去帮助他把~"
|
||||
"text": "去寻找那个会武功的熊猫吧。"
|
||||
},
|
||||
"portrait": "N6_0002_图层-31253",
|
||||
"fstask": 106,
|
||||
"fstask": 101,
|
||||
"jump": 107,
|
||||
"reward": [
|
||||
{
|
||||
@ -312,7 +172,7 @@
|
||||
"type": 2,
|
||||
"title": {
|
||||
"key": "CharacterGrowth",
|
||||
"text": "阿宝升2级"
|
||||
"text": "将一名3星英雄升到4星"
|
||||
},
|
||||
"onetask": 11,
|
||||
"txt": {
|
||||
@ -320,8 +180,8 @@
|
||||
"text": "阿宝需要变强,快去帮助他把~"
|
||||
},
|
||||
"portrait": "N6_0002_图层-31253",
|
||||
"fstask": 106,
|
||||
"jump": 107,
|
||||
"fstask": 126,
|
||||
"jump": 127,
|
||||
"reward": [
|
||||
{
|
||||
"a": "attr",
|
||||
@ -340,7 +200,7 @@
|
||||
"type": 2,
|
||||
"title": {
|
||||
"key": "CharacterGrowth",
|
||||
"text": "阿宝升3级"
|
||||
"text": "将一名4星英雄升到5星"
|
||||
},
|
||||
"onetask": 12,
|
||||
"txt": {
|
||||
@ -348,8 +208,8 @@
|
||||
"text": "阿宝需要变强,快去帮助他把~"
|
||||
},
|
||||
"portrait": "N6_0002_图层-31253",
|
||||
"fstask": 106,
|
||||
"jump": 107,
|
||||
"fstask": 127,
|
||||
"jump": 127,
|
||||
"reward": [
|
||||
{
|
||||
"a": "attr",
|
||||
@ -368,7 +228,7 @@
|
||||
"type": 2,
|
||||
"title": {
|
||||
"key": "CharacterGrowth",
|
||||
"text": "阿宝升4级"
|
||||
"text": "将一名5星英雄升到6星"
|
||||
},
|
||||
"onetask": 13,
|
||||
"txt": {
|
||||
@ -376,8 +236,8 @@
|
||||
"text": "阿宝需要变强,快去帮助他把~"
|
||||
},
|
||||
"portrait": "N6_0002_图层-31253",
|
||||
"fstask": 106,
|
||||
"jump": 107,
|
||||
"fstask": 128,
|
||||
"jump": 127,
|
||||
"reward": [
|
||||
{
|
||||
"a": "attr",
|
||||
@ -396,7 +256,7 @@
|
||||
"type": 2,
|
||||
"title": {
|
||||
"key": "CharacterGrowth",
|
||||
"text": "阿宝升5级"
|
||||
"text": "消耗1000枚金币"
|
||||
},
|
||||
"onetask": 14,
|
||||
"txt": {
|
||||
@ -404,148 +264,8 @@
|
||||
"text": "阿宝需要变强,快去帮助他把~"
|
||||
},
|
||||
"portrait": "N6_0002_图层-31253",
|
||||
"fstask": 106,
|
||||
"jump": 107,
|
||||
"reward": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "gold",
|
||||
"n": 1000
|
||||
},
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "diamond",
|
||||
"n": 1000
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 16,
|
||||
"type": 2,
|
||||
"title": {
|
||||
"key": "CharacterGrowth",
|
||||
"text": "阿宝升6级"
|
||||
},
|
||||
"onetask": 15,
|
||||
"txt": {
|
||||
"key": "Growtxttwo",
|
||||
"text": "阿宝需要变强,快去帮助他把~"
|
||||
},
|
||||
"portrait": "N6_0002_图层-31253",
|
||||
"fstask": 106,
|
||||
"jump": 107,
|
||||
"reward": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "gold",
|
||||
"n": 1000
|
||||
},
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "diamond",
|
||||
"n": 1000
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 17,
|
||||
"type": 2,
|
||||
"title": {
|
||||
"key": "CharacterGrowth",
|
||||
"text": "阿宝升7级"
|
||||
},
|
||||
"onetask": 16,
|
||||
"txt": {
|
||||
"key": "Growtxttwo",
|
||||
"text": "阿宝需要变强,快去帮助他把~"
|
||||
},
|
||||
"portrait": "N6_0002_图层-31253",
|
||||
"fstask": 106,
|
||||
"jump": 107,
|
||||
"reward": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "gold",
|
||||
"n": 1000
|
||||
},
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "diamond",
|
||||
"n": 1000
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 18,
|
||||
"type": 2,
|
||||
"title": {
|
||||
"key": "CharacterGrowth",
|
||||
"text": "阿宝升8级"
|
||||
},
|
||||
"onetask": 17,
|
||||
"txt": {
|
||||
"key": "Growtxttwo",
|
||||
"text": "阿宝需要变强,快去帮助他把~"
|
||||
},
|
||||
"portrait": "N6_0002_图层-31253",
|
||||
"fstask": 106,
|
||||
"jump": 107,
|
||||
"reward": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "gold",
|
||||
"n": 1000
|
||||
},
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "diamond",
|
||||
"n": 1000
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 19,
|
||||
"type": 2,
|
||||
"title": {
|
||||
"key": "CharacterGrowth",
|
||||
"text": "阿宝升9级"
|
||||
},
|
||||
"onetask": 18,
|
||||
"txt": {
|
||||
"key": "Growtxttwo",
|
||||
"text": "阿宝需要变强,快去帮助他把~"
|
||||
},
|
||||
"portrait": "N6_0002_图层-31253",
|
||||
"fstask": 106,
|
||||
"jump": 107,
|
||||
"reward": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "gold",
|
||||
"n": 1000
|
||||
},
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "diamond",
|
||||
"n": 1000
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 20,
|
||||
"type": 2,
|
||||
"title": {
|
||||
"key": "CharacterGrowth",
|
||||
"text": "阿宝升10级"
|
||||
},
|
||||
"onetask": 19,
|
||||
"txt": {
|
||||
"key": "Growtxttwo",
|
||||
"text": "阿宝需要变强,快去帮助他把~"
|
||||
},
|
||||
"portrait": "N6_0002_图层-31253",
|
||||
"fstask": 106,
|
||||
"jump": 107,
|
||||
"fstask": 168,
|
||||
"jump": 122,
|
||||
"reward": [
|
||||
{
|
||||
"a": "attr",
|
||||
@ -564,7 +284,7 @@
|
||||
"type": 3,
|
||||
"title": {
|
||||
"key": "CharacterIpgrading",
|
||||
"text": "波比升1级"
|
||||
"text": "强化成功一次装备"
|
||||
},
|
||||
"onetask": 20,
|
||||
"txt": {
|
||||
@ -572,8 +292,8 @@
|
||||
"text": "你们都变强了,我也需要变强,请助我一臂之力~"
|
||||
},
|
||||
"portrait": "N6_0002_图层-31253",
|
||||
"fstask": 106,
|
||||
"jump": 107,
|
||||
"fstask": 2047001,
|
||||
"jump": 127,
|
||||
"reward": [
|
||||
{
|
||||
"a": "attr",
|
||||
@ -592,7 +312,7 @@
|
||||
"type": 3,
|
||||
"title": {
|
||||
"key": "CharacterIpgrading",
|
||||
"text": "波比升2级"
|
||||
"text": "通关主线1-9"
|
||||
},
|
||||
"onetask": 21,
|
||||
"txt": {
|
||||
@ -600,8 +320,8 @@
|
||||
"text": "你们都变强了,我也需要变强,请助我一臂之力~"
|
||||
},
|
||||
"portrait": "N6_0002_图层-31253",
|
||||
"fstask": 106,
|
||||
"jump": 107,
|
||||
"fstask": 161,
|
||||
"jump": 113,
|
||||
"reward": [
|
||||
{
|
||||
"a": "attr",
|
||||
@ -620,7 +340,7 @@
|
||||
"type": 3,
|
||||
"title": {
|
||||
"key": "CharacterIpgrading",
|
||||
"text": "波比升3级"
|
||||
"text": "在铁匠铺获得1次1星装备"
|
||||
},
|
||||
"onetask": 22,
|
||||
"txt": {
|
||||
@ -628,8 +348,8 @@
|
||||
"text": "你们都变强了,我也需要变强,请助我一臂之力~"
|
||||
},
|
||||
"portrait": "N6_0002_图层-31253",
|
||||
"fstask": 106,
|
||||
"jump": 107,
|
||||
"fstask": 151,
|
||||
"jump": 129,
|
||||
"reward": [
|
||||
{
|
||||
"a": "attr",
|
||||
@ -648,7 +368,7 @@
|
||||
"type": 3,
|
||||
"title": {
|
||||
"key": "CharacterIpgrading",
|
||||
"text": "波比升4级"
|
||||
"text": "将2件装备强化到2级"
|
||||
},
|
||||
"onetask": 23,
|
||||
"txt": {
|
||||
@ -656,8 +376,8 @@
|
||||
"text": "你们都变强了,我也需要变强,请助我一臂之力~"
|
||||
},
|
||||
"portrait": "N6_0002_图层-31253",
|
||||
"fstask": 106,
|
||||
"jump": 107,
|
||||
"fstask": 143,
|
||||
"jump": 113,
|
||||
"reward": [
|
||||
{
|
||||
"a": "attr",
|
||||
@ -676,7 +396,7 @@
|
||||
"type": 3,
|
||||
"title": {
|
||||
"key": "CharacterIpgrading",
|
||||
"text": "波比升5级"
|
||||
"text": "5个英雄觉醒到2阶"
|
||||
},
|
||||
"onetask": 24,
|
||||
"txt": {
|
||||
@ -684,148 +404,8 @@
|
||||
"text": "你们都变强了,我也需要变强,请助我一臂之力~"
|
||||
},
|
||||
"portrait": "N6_0002_图层-31253",
|
||||
"fstask": 106,
|
||||
"jump": 107,
|
||||
"reward": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "gold",
|
||||
"n": 1000
|
||||
},
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "diamond",
|
||||
"n": 1000
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 26,
|
||||
"type": 3,
|
||||
"title": {
|
||||
"key": "CharacterIpgrading",
|
||||
"text": "波比升6级"
|
||||
},
|
||||
"onetask": 25,
|
||||
"txt": {
|
||||
"key": "Growtxtthree",
|
||||
"text": "你们都变强了,我也需要变强,请助我一臂之力~"
|
||||
},
|
||||
"portrait": "N6_0002_图层-31253",
|
||||
"fstask": 106,
|
||||
"jump": 107,
|
||||
"reward": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "gold",
|
||||
"n": 1000
|
||||
},
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "diamond",
|
||||
"n": 1000
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 27,
|
||||
"type": 3,
|
||||
"title": {
|
||||
"key": "CharacterIpgrading",
|
||||
"text": "波比升7级"
|
||||
},
|
||||
"onetask": 26,
|
||||
"txt": {
|
||||
"key": "Growtxtthree",
|
||||
"text": "你们都变强了,我也需要变强,请助我一臂之力~"
|
||||
},
|
||||
"portrait": "N6_0002_图层-31253",
|
||||
"fstask": 106,
|
||||
"jump": 107,
|
||||
"reward": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "gold",
|
||||
"n": 1000
|
||||
},
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "diamond",
|
||||
"n": 1000
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 28,
|
||||
"type": 3,
|
||||
"title": {
|
||||
"key": "CharacterIpgrading",
|
||||
"text": "波比升8级"
|
||||
},
|
||||
"onetask": 27,
|
||||
"txt": {
|
||||
"key": "Growtxtthree",
|
||||
"text": "你们都变强了,我也需要变强,请助我一臂之力~"
|
||||
},
|
||||
"portrait": "N6_0002_图层-31253",
|
||||
"fstask": 106,
|
||||
"jump": 107,
|
||||
"reward": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "gold",
|
||||
"n": 1000
|
||||
},
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "diamond",
|
||||
"n": 1000
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 29,
|
||||
"type": 3,
|
||||
"title": {
|
||||
"key": "CharacterIpgrading",
|
||||
"text": "波比升9级"
|
||||
},
|
||||
"onetask": 28,
|
||||
"txt": {
|
||||
"key": "Growtxtthree",
|
||||
"text": "你们都变强了,我也需要变强,请助我一臂之力~"
|
||||
},
|
||||
"portrait": "N6_0002_图层-31253",
|
||||
"fstask": 106,
|
||||
"jump": 107,
|
||||
"reward": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "gold",
|
||||
"n": 1000
|
||||
},
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "diamond",
|
||||
"n": 1000
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 30,
|
||||
"type": 3,
|
||||
"title": {
|
||||
"key": "CharacterIpgrading",
|
||||
"text": "波比升9级"
|
||||
},
|
||||
"onetask": 29,
|
||||
"txt": {
|
||||
"key": "Growtxtthree",
|
||||
"text": "你们都变强了,我也需要变强,请助我一臂之力~"
|
||||
},
|
||||
"portrait": "N6_0002_图层-31253",
|
||||
"fstask": 106,
|
||||
"jump": 107,
|
||||
"fstask": 134,
|
||||
"jump": 113,
|
||||
"reward": [
|
||||
{
|
||||
"a": "attr",
|
||||
|
871
bin/json/game_guide.json
Normal file
871
bin/json/game_guide.json
Normal file
@ -0,0 +1,871 @@
|
||||
[
|
||||
{
|
||||
"id": 10,
|
||||
"group": 10,
|
||||
"type": 3,
|
||||
"startPar": "",
|
||||
"parameter": "",
|
||||
"interface": "",
|
||||
"condition": "worldtask_20011",
|
||||
"followtj": "",
|
||||
"followguide": 20,
|
||||
"finger": [],
|
||||
"offset": {
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"fingerTime": 0,
|
||||
"objSize": {
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"objOffset": {
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"txt": "500",
|
||||
"speakerface": 0,
|
||||
"sound": "",
|
||||
"mask": 0,
|
||||
"lock": 0,
|
||||
"uishow": 0,
|
||||
"skiptime": 10000,
|
||||
"skip": 0,
|
||||
"skipgroup": 0,
|
||||
"reward": []
|
||||
},
|
||||
{
|
||||
"id": 20,
|
||||
"group": 20,
|
||||
"type": 5,
|
||||
"startPar": "",
|
||||
"parameter": "",
|
||||
"interface": "",
|
||||
"condition": "GuideFinish10",
|
||||
"followtj": "",
|
||||
"followguide": 0,
|
||||
"finger": [
|
||||
"gesture",
|
||||
"circle"
|
||||
],
|
||||
"offset": {
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"fingerTime": 0.5,
|
||||
"objSize": {
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"objOffset": {
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"txt": "",
|
||||
"speakerface": 0,
|
||||
"sound": "",
|
||||
"mask": 1,
|
||||
"lock": 1,
|
||||
"uishow": 0,
|
||||
"skiptime": 10000,
|
||||
"skip": 0,
|
||||
"skipgroup": 0,
|
||||
"reward": []
|
||||
},
|
||||
{
|
||||
"id": 40,
|
||||
"group": 40,
|
||||
"type": 3,
|
||||
"startPar": "",
|
||||
"parameter": "",
|
||||
"interface": "",
|
||||
"condition": "worldtask_20050",
|
||||
"followtj": "",
|
||||
"followguide": 0,
|
||||
"finger": [],
|
||||
"offset": {
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"fingerTime": 0,
|
||||
"objSize": {
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"objOffset": {
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"txt": "501",
|
||||
"speakerface": 0,
|
||||
"sound": "",
|
||||
"mask": 0,
|
||||
"lock": 0,
|
||||
"uishow": 0,
|
||||
"skiptime": 10000,
|
||||
"skip": 0,
|
||||
"skipgroup": 0,
|
||||
"reward": []
|
||||
},
|
||||
{
|
||||
"id": 50,
|
||||
"group": 50,
|
||||
"type": 3,
|
||||
"startPar": "",
|
||||
"parameter": "",
|
||||
"interface": "",
|
||||
"condition": "worldtask_20060",
|
||||
"followtj": "",
|
||||
"followguide": 0,
|
||||
"finger": [],
|
||||
"offset": {
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"fingerTime": 0,
|
||||
"objSize": {
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"objOffset": {
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"txt": "503",
|
||||
"speakerface": 0,
|
||||
"sound": "",
|
||||
"mask": 0,
|
||||
"lock": 0,
|
||||
"uishow": 0,
|
||||
"skiptime": 10000,
|
||||
"skip": 0,
|
||||
"skipgroup": 0,
|
||||
"reward": []
|
||||
},
|
||||
{
|
||||
"id": 60,
|
||||
"group": 60,
|
||||
"type": 3,
|
||||
"startPar": "",
|
||||
"parameter": "",
|
||||
"interface": "",
|
||||
"condition": "worldtask_20170",
|
||||
"followtj": "OpenRecruit",
|
||||
"followguide": 70,
|
||||
"finger": [
|
||||
"3d",
|
||||
"Root/程序/EntityInteraction/Middle/Recruit"
|
||||
],
|
||||
"offset": {
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"fingerTime": 1,
|
||||
"objSize": {
|
||||
"x": 200,
|
||||
"y": 200
|
||||
},
|
||||
"objOffset": {
|
||||
"x": -100,
|
||||
"y": -100
|
||||
},
|
||||
"txt": "",
|
||||
"speakerface": 0,
|
||||
"sound": "",
|
||||
"mask": 0,
|
||||
"lock": 0,
|
||||
"uishow": 0,
|
||||
"skiptime": 10000,
|
||||
"skip": 0,
|
||||
"skipgroup": 0,
|
||||
"reward": []
|
||||
},
|
||||
{
|
||||
"id": 70,
|
||||
"group": 60,
|
||||
"type": 3,
|
||||
"startPar": "",
|
||||
"parameter": "",
|
||||
"interface": "",
|
||||
"condition": "",
|
||||
"followtj": "OpenRecruittendraw",
|
||||
"followguide": 80,
|
||||
"finger": [
|
||||
"recruit",
|
||||
"btn_onedraw$"
|
||||
],
|
||||
"offset": {
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"fingerTime": 0,
|
||||
"objSize": {
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"objOffset": {
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"txt": "",
|
||||
"speakerface": 0,
|
||||
"sound": "",
|
||||
"mask": 0,
|
||||
"lock": 0,
|
||||
"uishow": 0,
|
||||
"skiptime": 10000,
|
||||
"skip": 0,
|
||||
"skipgroup": 1,
|
||||
"reward": []
|
||||
},
|
||||
{
|
||||
"id": 80,
|
||||
"group": 60,
|
||||
"type": 3,
|
||||
"startPar": "",
|
||||
"parameter": "",
|
||||
"interface": "",
|
||||
"condition": "",
|
||||
"followtj": "",
|
||||
"followguide": 90,
|
||||
"finger": [
|
||||
"recruittendraw",
|
||||
"btn_return$"
|
||||
],
|
||||
"offset": {
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"fingerTime": 0,
|
||||
"objSize": {
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"objOffset": {
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"txt": "",
|
||||
"speakerface": 0,
|
||||
"sound": "",
|
||||
"mask": 0,
|
||||
"lock": 0,
|
||||
"uishow": 0,
|
||||
"skiptime": 10000,
|
||||
"skip": 0,
|
||||
"skipgroup": 0,
|
||||
"reward": []
|
||||
},
|
||||
{
|
||||
"id": 90,
|
||||
"group": 60,
|
||||
"type": 3,
|
||||
"startPar": "",
|
||||
"parameter": "",
|
||||
"interface": "",
|
||||
"condition": "",
|
||||
"followtj": "OpenMaininterFace",
|
||||
"followguide": 0,
|
||||
"finger": [
|
||||
"recruit",
|
||||
"btn_back$"
|
||||
],
|
||||
"offset": {
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"fingerTime": 0,
|
||||
"objSize": {
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"objOffset": {
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"txt": "",
|
||||
"speakerface": 0,
|
||||
"sound": "",
|
||||
"mask": 0,
|
||||
"lock": 0,
|
||||
"uishow": 0,
|
||||
"skiptime": 10000,
|
||||
"skip": 0,
|
||||
"skipgroup": 1,
|
||||
"reward": []
|
||||
},
|
||||
{
|
||||
"id": 120,
|
||||
"group": 70,
|
||||
"type": 3,
|
||||
"startPar": "",
|
||||
"parameter": "",
|
||||
"interface": "",
|
||||
"condition": "worldtask_20190",
|
||||
"followtj": "",
|
||||
"followguide": 130,
|
||||
"finger": [
|
||||
"swipe",
|
||||
"right"
|
||||
],
|
||||
"offset": {
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"fingerTime": 1,
|
||||
"objSize": {
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"objOffset": {
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"txt": "",
|
||||
"speakerface": 0,
|
||||
"sound": "",
|
||||
"mask": 0,
|
||||
"lock": 0,
|
||||
"uishow": 0,
|
||||
"skiptime": 10000,
|
||||
"skip": 0,
|
||||
"skipgroup": 0,
|
||||
"reward": []
|
||||
},
|
||||
{
|
||||
"id": 130,
|
||||
"group": 70,
|
||||
"type": 3,
|
||||
"startPar": "",
|
||||
"parameter": "",
|
||||
"interface": "",
|
||||
"condition": "",
|
||||
"followtj": "OpenSmithyMain",
|
||||
"followguide": 140,
|
||||
"finger": [
|
||||
"3d",
|
||||
"Root/程序/EntityInteraction/Right/GeBoTieJiangPu"
|
||||
],
|
||||
"offset": {
|
||||
"x": 0,
|
||||
"y": -15
|
||||
},
|
||||
"fingerTime": 1,
|
||||
"objSize": {
|
||||
"x": 300,
|
||||
"y": 300
|
||||
},
|
||||
"objOffset": {
|
||||
"x": -150,
|
||||
"y": -150
|
||||
},
|
||||
"txt": "",
|
||||
"speakerface": 0,
|
||||
"sound": "",
|
||||
"mask": 0,
|
||||
"lock": 0,
|
||||
"uishow": 0,
|
||||
"skiptime": 10000,
|
||||
"skip": 0,
|
||||
"skipgroup": 0,
|
||||
"reward": []
|
||||
},
|
||||
{
|
||||
"id": 140,
|
||||
"group": 70,
|
||||
"type": 3,
|
||||
"startPar": "",
|
||||
"parameter": "",
|
||||
"interface": "",
|
||||
"condition": "",
|
||||
"followtj": "",
|
||||
"followguide": 0,
|
||||
"finger": [
|
||||
"3d",
|
||||
"暴夫纳特铁匠铺"
|
||||
],
|
||||
"offset": {
|
||||
"x": 0,
|
||||
"y": -15
|
||||
},
|
||||
"fingerTime": 1,
|
||||
"objSize": {
|
||||
"x": 200,
|
||||
"y": 200
|
||||
},
|
||||
"objOffset": {
|
||||
"x": -150,
|
||||
"y": -200
|
||||
},
|
||||
"txt": "",
|
||||
"speakerface": 0,
|
||||
"sound": "",
|
||||
"mask": 0,
|
||||
"lock": 0,
|
||||
"uishow": 0,
|
||||
"skiptime": 10000,
|
||||
"skip": 0,
|
||||
"skipgroup": 0,
|
||||
"reward": []
|
||||
},
|
||||
{
|
||||
"id": 150,
|
||||
"group": 80,
|
||||
"type": 3,
|
||||
"startPar": "",
|
||||
"parameter": "",
|
||||
"interface": "",
|
||||
"condition": "worldtask_20200",
|
||||
"followtj": "",
|
||||
"followguide": 160,
|
||||
"finger": [
|
||||
"3d",
|
||||
"Root/程序/Interaction/Workbench0"
|
||||
],
|
||||
"offset": {
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"fingerTime": 0.8,
|
||||
"objSize": {
|
||||
"x": 200,
|
||||
"y": 200
|
||||
},
|
||||
"objOffset": {
|
||||
"x": -100,
|
||||
"y": -100
|
||||
},
|
||||
"txt": "",
|
||||
"speakerface": 0,
|
||||
"sound": "",
|
||||
"mask": 0,
|
||||
"lock": 0,
|
||||
"uishow": 0,
|
||||
"skiptime": 10000,
|
||||
"skip": 0,
|
||||
"skipgroup": 0,
|
||||
"reward": []
|
||||
},
|
||||
{
|
||||
"id": 160,
|
||||
"group": 80,
|
||||
"type": 3,
|
||||
"startPar": "",
|
||||
"parameter": "",
|
||||
"interface": "",
|
||||
"condition": "",
|
||||
"followtj": "",
|
||||
"followguide": 170,
|
||||
"finger": [
|
||||
"smithy",
|
||||
"btn_order$"
|
||||
],
|
||||
"offset": {
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"fingerTime": 0.5,
|
||||
"objSize": {
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"objOffset": {
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"txt": "",
|
||||
"speakerface": 0,
|
||||
"sound": "",
|
||||
"mask": 0,
|
||||
"lock": 0,
|
||||
"uishow": 0,
|
||||
"skiptime": 10000,
|
||||
"skip": 0,
|
||||
"skipgroup": 0,
|
||||
"reward": []
|
||||
},
|
||||
{
|
||||
"id": 170,
|
||||
"group": 80,
|
||||
"type": 3,
|
||||
"startPar": "",
|
||||
"parameter": "",
|
||||
"interface": "",
|
||||
"condition": "",
|
||||
"followtj": "",
|
||||
"followguide": 180,
|
||||
"finger": [
|
||||
"smithy",
|
||||
"right$.listForgingTable$",
|
||||
"0",
|
||||
"laAdd$.btnPlus$"
|
||||
],
|
||||
"offset": {
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"fingerTime": 0.5,
|
||||
"objSize": {
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"objOffset": {
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"txt": "",
|
||||
"speakerface": 0,
|
||||
"sound": "",
|
||||
"mask": 0,
|
||||
"lock": 0,
|
||||
"uishow": 0,
|
||||
"skiptime": 10000,
|
||||
"skip": 0,
|
||||
"skipgroup": 0,
|
||||
"reward": []
|
||||
},
|
||||
{
|
||||
"id": 180,
|
||||
"group": 80,
|
||||
"type": 3,
|
||||
"startPar": "",
|
||||
"parameter": "",
|
||||
"interface": "",
|
||||
"condition": "",
|
||||
"followtj": "",
|
||||
"followguide": 190,
|
||||
"finger": [
|
||||
"smithy",
|
||||
"right$.btnUp$"
|
||||
],
|
||||
"offset": {
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"fingerTime": 0.5,
|
||||
"objSize": {
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"objOffset": {
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"txt": "",
|
||||
"speakerface": 0,
|
||||
"sound": "",
|
||||
"mask": 0,
|
||||
"lock": 0,
|
||||
"uishow": 0,
|
||||
"skiptime": 10000,
|
||||
"skip": 0,
|
||||
"skipgroup": 0,
|
||||
"reward": []
|
||||
},
|
||||
{
|
||||
"id": 190,
|
||||
"group": 80,
|
||||
"type": 3,
|
||||
"startPar": "",
|
||||
"parameter": "",
|
||||
"interface": "",
|
||||
"condition": "",
|
||||
"followtj": "",
|
||||
"followguide": 200,
|
||||
"finger": [
|
||||
"smithy",
|
||||
"comPrompt$.comPromptitem$.btnDetermine$"
|
||||
],
|
||||
"offset": {
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"fingerTime": 0.5,
|
||||
"objSize": {
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"objOffset": {
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"txt": "",
|
||||
"speakerface": 0,
|
||||
"sound": "",
|
||||
"mask": 0,
|
||||
"lock": 0,
|
||||
"uishow": 0,
|
||||
"skiptime": 10000,
|
||||
"skip": 0,
|
||||
"skipgroup": 0,
|
||||
"reward": []
|
||||
},
|
||||
{
|
||||
"id": 200,
|
||||
"group": 80,
|
||||
"type": 3,
|
||||
"startPar": "",
|
||||
"parameter": "",
|
||||
"interface": "",
|
||||
"condition": "",
|
||||
"followtj": "",
|
||||
"followguide": 210,
|
||||
"finger": [
|
||||
"smithy",
|
||||
"btn_back$"
|
||||
],
|
||||
"offset": {
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"fingerTime": 0.5,
|
||||
"objSize": {
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"objOffset": {
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"txt": "",
|
||||
"speakerface": 0,
|
||||
"sound": "",
|
||||
"mask": 0,
|
||||
"lock": 0,
|
||||
"uishow": 0,
|
||||
"skiptime": 10000,
|
||||
"skip": 0,
|
||||
"skipgroup": 0,
|
||||
"reward": []
|
||||
},
|
||||
{
|
||||
"id": 210,
|
||||
"group": 80,
|
||||
"type": 3,
|
||||
"startPar": "",
|
||||
"parameter": "",
|
||||
"interface": "",
|
||||
"condition": "",
|
||||
"followtj": "",
|
||||
"followguide": 0,
|
||||
"finger": [
|
||||
"3d",
|
||||
"暴夫纳特铁匠铺"
|
||||
],
|
||||
"offset": {
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"fingerTime": 0.5,
|
||||
"objSize": {
|
||||
"x": 200,
|
||||
"y": 200
|
||||
},
|
||||
"objOffset": {
|
||||
"x": -150,
|
||||
"y": -200
|
||||
},
|
||||
"txt": "303",
|
||||
"speakerface": 0,
|
||||
"sound": "",
|
||||
"mask": 0,
|
||||
"lock": 0,
|
||||
"uishow": 0,
|
||||
"skiptime": 10000,
|
||||
"skip": 0,
|
||||
"skipgroup": 1,
|
||||
"reward": []
|
||||
},
|
||||
{
|
||||
"id": 220,
|
||||
"group": 90,
|
||||
"type": 3,
|
||||
"startPar": "",
|
||||
"parameter": "",
|
||||
"interface": "",
|
||||
"condition": "worldtask_20150",
|
||||
"followtj": "",
|
||||
"followguide": 230,
|
||||
"finger": [
|
||||
"maininterface",
|
||||
"btn_card$"
|
||||
],
|
||||
"offset": {
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"fingerTime": 0.5,
|
||||
"objSize": {
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"objOffset": {
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"txt": "",
|
||||
"speakerface": 0,
|
||||
"sound": "",
|
||||
"mask": 0,
|
||||
"lock": 0,
|
||||
"uishow": 0,
|
||||
"skiptime": 0,
|
||||
"skip": 0,
|
||||
"skipgroup": 0,
|
||||
"reward": []
|
||||
},
|
||||
{
|
||||
"id": 230,
|
||||
"group": 90,
|
||||
"type": 3,
|
||||
"startPar": "",
|
||||
"parameter": "",
|
||||
"interface": "",
|
||||
"condition": "",
|
||||
"followtj": "",
|
||||
"followguide": 240,
|
||||
"finger": [
|
||||
"herocard",
|
||||
"roleListCom$.heroList.heroList$",
|
||||
"1"
|
||||
],
|
||||
"offset": {
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"fingerTime": 1.5,
|
||||
"objSize": {
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"objOffset": {
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"txt": "",
|
||||
"speakerface": 0,
|
||||
"sound": "",
|
||||
"mask": 0,
|
||||
"lock": 0,
|
||||
"uishow": 0,
|
||||
"skiptime": 0,
|
||||
"skip": 0,
|
||||
"skipgroup": 0,
|
||||
"reward": []
|
||||
},
|
||||
{
|
||||
"id": 240,
|
||||
"group": 90,
|
||||
"type": 3,
|
||||
"startPar": "",
|
||||
"parameter": "",
|
||||
"interface": "",
|
||||
"condition": "",
|
||||
"followtj": "",
|
||||
"followguide": 250,
|
||||
"finger": [
|
||||
"herocard",
|
||||
"com_heroInfo$.upenter"
|
||||
],
|
||||
"offset": {
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"fingerTime": 0.8,
|
||||
"objSize": {
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"objOffset": {
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"txt": "",
|
||||
"speakerface": 0,
|
||||
"sound": "",
|
||||
"mask": 0,
|
||||
"lock": 0,
|
||||
"uishow": 0,
|
||||
"skiptime": 0,
|
||||
"skip": 0,
|
||||
"skipgroup": 0,
|
||||
"reward": []
|
||||
},
|
||||
{
|
||||
"id": 250,
|
||||
"group": 90,
|
||||
"type": 3,
|
||||
"startPar": "",
|
||||
"parameter": "",
|
||||
"interface": "",
|
||||
"condition": "",
|
||||
"followtj": "",
|
||||
"followguide": 260,
|
||||
"finger": [
|
||||
"herocard",
|
||||
"heroInfoCom$.chooselistgcom$.list",
|
||||
"0"
|
||||
],
|
||||
"offset": {
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"fingerTime": 0.8,
|
||||
"objSize": {
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"objOffset": {
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"txt": "",
|
||||
"speakerface": 0,
|
||||
"sound": "",
|
||||
"mask": 0,
|
||||
"lock": 0,
|
||||
"uishow": 0,
|
||||
"skiptime": 0,
|
||||
"skip": 0,
|
||||
"skipgroup": 0,
|
||||
"reward": []
|
||||
},
|
||||
{
|
||||
"id": 260,
|
||||
"group": 90,
|
||||
"type": 3,
|
||||
"startPar": "",
|
||||
"parameter": "",
|
||||
"interface": "",
|
||||
"condition": "",
|
||||
"followtj": "",
|
||||
"followguide": 0,
|
||||
"finger": [
|
||||
"herocard",
|
||||
"heroInfoCom$.upbtn$"
|
||||
],
|
||||
"offset": {
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"fingerTime": 0.8,
|
||||
"objSize": {
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"objOffset": {
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"txt": "",
|
||||
"speakerface": 0,
|
||||
"sound": "",
|
||||
"mask": 0,
|
||||
"lock": 0,
|
||||
"uishow": 0,
|
||||
"skiptime": 0,
|
||||
"skip": 0,
|
||||
"skipgroup": 0,
|
||||
"reward": []
|
||||
}
|
||||
]
|
File diff suppressed because it is too large
Load Diff
@ -1,56 +1,7 @@
|
||||
[
|
||||
{
|
||||
"hid": "42911",
|
||||
"name": "初级经验精灵",
|
||||
"star": 2,
|
||||
"color": 1,
|
||||
"heroexp": 4630,
|
||||
"skilllevelup": 0,
|
||||
"needgold": 5663
|
||||
},
|
||||
{
|
||||
"hid": "43911",
|
||||
"name": "中级经验精灵",
|
||||
"star": 3,
|
||||
"color": 2,
|
||||
"heroexp": 9259,
|
||||
"skilllevelup": 0,
|
||||
"needgold": 11951
|
||||
},
|
||||
{
|
||||
"hid": "44911",
|
||||
"name": "高级经验精灵",
|
||||
"star": 4,
|
||||
"color": 3,
|
||||
"heroexp": 18510,
|
||||
"skilllevelup": 0,
|
||||
"needgold": 23324
|
||||
},
|
||||
{
|
||||
"hid": "43921",
|
||||
"name": "技能精灵·稀有",
|
||||
"star": 3,
|
||||
"color": 2,
|
||||
"heroexp": 0,
|
||||
"skilllevelup": 1,
|
||||
"needgold": 5663
|
||||
},
|
||||
{
|
||||
"hid": "44921",
|
||||
"name": "技能精灵·史诗",
|
||||
"star": 4,
|
||||
"color": 3,
|
||||
"heroexp": 0,
|
||||
"skilllevelup": 1,
|
||||
"needgold": 11951
|
||||
},
|
||||
{
|
||||
"hid": "45921",
|
||||
"name": "技能精灵·传说",
|
||||
"star": 5,
|
||||
"color": 4,
|
||||
"heroexp": 0,
|
||||
"skilllevelup": 1,
|
||||
"needgold": 23324
|
||||
"itemid": "625002",
|
||||
"exp": 1000,
|
||||
"needgold": 10000
|
||||
}
|
||||
]
|
62
bin/json/game_heroskill.json
Normal file
62
bin/json/game_heroskill.json
Normal file
@ -0,0 +1,62 @@
|
||||
[
|
||||
{
|
||||
"star": 1,
|
||||
"needgold": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "glod",
|
||||
"n": 10000
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"star": 2,
|
||||
"needgold": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "glod",
|
||||
"n": 10000
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"star": 3,
|
||||
"needgold": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "glod",
|
||||
"n": 10000
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"star": 4,
|
||||
"needgold": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "glod",
|
||||
"n": 10000
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"star": 5,
|
||||
"needgold": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "glod",
|
||||
"n": 10000
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"star": 6,
|
||||
"needgold": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "glod",
|
||||
"n": 10000
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
File diff suppressed because it is too large
Load Diff
@ -7,6 +7,7 @@
|
||||
"text": "巨型猩猩"
|
||||
},
|
||||
"difficulty": 1,
|
||||
"BattleReadyID": 107,
|
||||
"firstprize": [
|
||||
{
|
||||
"a": "attr",
|
||||
@ -51,6 +52,7 @@
|
||||
"text": "巨型猩猩"
|
||||
},
|
||||
"difficulty": 2,
|
||||
"BattleReadyID": 107,
|
||||
"firstprize": [
|
||||
{
|
||||
"a": "attr",
|
||||
@ -100,6 +102,7 @@
|
||||
"text": "巨型猩猩"
|
||||
},
|
||||
"difficulty": 3,
|
||||
"BattleReadyID": 107,
|
||||
"firstprize": [
|
||||
{
|
||||
"a": "attr",
|
||||
@ -149,6 +152,7 @@
|
||||
"text": "巨型猩猩"
|
||||
},
|
||||
"difficulty": 4,
|
||||
"BattleReadyID": 107,
|
||||
"firstprize": [
|
||||
{
|
||||
"a": "attr",
|
||||
@ -198,6 +202,7 @@
|
||||
"text": "巨型猩猩"
|
||||
},
|
||||
"difficulty": 5,
|
||||
"BattleReadyID": 107,
|
||||
"firstprize": [
|
||||
{
|
||||
"a": "attr",
|
||||
@ -252,6 +257,7 @@
|
||||
"text": "巨型猩猩"
|
||||
},
|
||||
"difficulty": 6,
|
||||
"BattleReadyID": 107,
|
||||
"firstprize": [
|
||||
{
|
||||
"a": "attr",
|
||||
@ -306,6 +312,7 @@
|
||||
"text": "巨型猩猩"
|
||||
},
|
||||
"difficulty": 7,
|
||||
"BattleReadyID": 107,
|
||||
"firstprize": [
|
||||
{
|
||||
"a": "attr",
|
||||
@ -360,6 +367,7 @@
|
||||
"text": "巨型猩猩"
|
||||
},
|
||||
"difficulty": 8,
|
||||
"BattleReadyID": 107,
|
||||
"firstprize": [
|
||||
{
|
||||
"a": "attr",
|
||||
@ -414,6 +422,7 @@
|
||||
"text": "巨型猩猩"
|
||||
},
|
||||
"difficulty": 9,
|
||||
"BattleReadyID": 107,
|
||||
"firstprize": [
|
||||
{
|
||||
"a": "attr",
|
||||
@ -468,6 +477,7 @@
|
||||
"text": "巨型猩猩"
|
||||
},
|
||||
"difficulty": 10,
|
||||
"BattleReadyID": 107,
|
||||
"firstprize": [
|
||||
{
|
||||
"a": "attr",
|
||||
@ -522,6 +532,7 @@
|
||||
"text": "火龙"
|
||||
},
|
||||
"difficulty": 1,
|
||||
"BattleReadyID": 107,
|
||||
"firstprize": [
|
||||
{
|
||||
"a": "attr",
|
||||
@ -566,6 +577,7 @@
|
||||
"text": "火龙"
|
||||
},
|
||||
"difficulty": 2,
|
||||
"BattleReadyID": 107,
|
||||
"firstprize": [
|
||||
{
|
||||
"a": "attr",
|
||||
@ -615,6 +627,7 @@
|
||||
"text": "火龙"
|
||||
},
|
||||
"difficulty": 3,
|
||||
"BattleReadyID": 107,
|
||||
"firstprize": [
|
||||
{
|
||||
"a": "attr",
|
||||
@ -664,6 +677,7 @@
|
||||
"text": "火龙"
|
||||
},
|
||||
"difficulty": 4,
|
||||
"BattleReadyID": 107,
|
||||
"firstprize": [
|
||||
{
|
||||
"a": "attr",
|
||||
@ -713,6 +727,7 @@
|
||||
"text": "火龙"
|
||||
},
|
||||
"difficulty": 5,
|
||||
"BattleReadyID": 107,
|
||||
"firstprize": [
|
||||
{
|
||||
"a": "attr",
|
||||
@ -767,6 +782,7 @@
|
||||
"text": "火龙"
|
||||
},
|
||||
"difficulty": 6,
|
||||
"BattleReadyID": 107,
|
||||
"firstprize": [
|
||||
{
|
||||
"a": "attr",
|
||||
@ -821,6 +837,7 @@
|
||||
"text": "火龙"
|
||||
},
|
||||
"difficulty": 7,
|
||||
"BattleReadyID": 107,
|
||||
"firstprize": [
|
||||
{
|
||||
"a": "attr",
|
||||
@ -875,6 +892,7 @@
|
||||
"text": "火龙"
|
||||
},
|
||||
"difficulty": 8,
|
||||
"BattleReadyID": 107,
|
||||
"firstprize": [
|
||||
{
|
||||
"a": "attr",
|
||||
@ -929,6 +947,7 @@
|
||||
"text": "火龙"
|
||||
},
|
||||
"difficulty": 9,
|
||||
"BattleReadyID": 107,
|
||||
"firstprize": [
|
||||
{
|
||||
"a": "attr",
|
||||
@ -983,6 +1002,7 @@
|
||||
"text": "火龙"
|
||||
},
|
||||
"difficulty": 10,
|
||||
"BattleReadyID": 107,
|
||||
"firstprize": [
|
||||
{
|
||||
"a": "attr",
|
||||
@ -1037,6 +1057,7 @@
|
||||
"text": "大厨"
|
||||
},
|
||||
"difficulty": 1,
|
||||
"BattleReadyID": 107,
|
||||
"firstprize": [
|
||||
{
|
||||
"a": "attr",
|
||||
@ -1081,6 +1102,7 @@
|
||||
"text": "大厨"
|
||||
},
|
||||
"difficulty": 2,
|
||||
"BattleReadyID": 107,
|
||||
"firstprize": [
|
||||
{
|
||||
"a": "attr",
|
||||
@ -1130,6 +1152,7 @@
|
||||
"text": "大厨"
|
||||
},
|
||||
"difficulty": 3,
|
||||
"BattleReadyID": 107,
|
||||
"firstprize": [
|
||||
{
|
||||
"a": "attr",
|
||||
@ -1179,6 +1202,7 @@
|
||||
"text": "大厨"
|
||||
},
|
||||
"difficulty": 4,
|
||||
"BattleReadyID": 107,
|
||||
"firstprize": [
|
||||
{
|
||||
"a": "attr",
|
||||
@ -1228,6 +1252,7 @@
|
||||
"text": "大厨"
|
||||
},
|
||||
"difficulty": 5,
|
||||
"BattleReadyID": 107,
|
||||
"firstprize": [
|
||||
{
|
||||
"a": "attr",
|
||||
@ -1282,6 +1307,7 @@
|
||||
"text": "大厨"
|
||||
},
|
||||
"difficulty": 6,
|
||||
"BattleReadyID": 107,
|
||||
"firstprize": [
|
||||
{
|
||||
"a": "attr",
|
||||
@ -1336,6 +1362,7 @@
|
||||
"text": "大厨"
|
||||
},
|
||||
"difficulty": 7,
|
||||
"BattleReadyID": 107,
|
||||
"firstprize": [
|
||||
{
|
||||
"a": "attr",
|
||||
@ -1390,6 +1417,7 @@
|
||||
"text": "大厨"
|
||||
},
|
||||
"difficulty": 8,
|
||||
"BattleReadyID": 107,
|
||||
"firstprize": [
|
||||
{
|
||||
"a": "attr",
|
||||
@ -1444,6 +1472,7 @@
|
||||
"text": "大厨"
|
||||
},
|
||||
"difficulty": 9,
|
||||
"BattleReadyID": 107,
|
||||
"firstprize": [
|
||||
{
|
||||
"a": "attr",
|
||||
@ -1498,6 +1527,7 @@
|
||||
"text": "大厨"
|
||||
},
|
||||
"difficulty": 10,
|
||||
"BattleReadyID": 107,
|
||||
"firstprize": [
|
||||
{
|
||||
"a": "attr",
|
||||
@ -1552,6 +1582,7 @@
|
||||
"text": "太空海星"
|
||||
},
|
||||
"difficulty": 1,
|
||||
"BattleReadyID": 107,
|
||||
"firstprize": [
|
||||
{
|
||||
"a": "attr",
|
||||
@ -1596,6 +1627,7 @@
|
||||
"text": "太空海星"
|
||||
},
|
||||
"difficulty": 2,
|
||||
"BattleReadyID": 107,
|
||||
"firstprize": [
|
||||
{
|
||||
"a": "attr",
|
||||
@ -1645,6 +1677,7 @@
|
||||
"text": "太空海星"
|
||||
},
|
||||
"difficulty": 3,
|
||||
"BattleReadyID": 107,
|
||||
"firstprize": [
|
||||
{
|
||||
"a": "attr",
|
||||
@ -1694,6 +1727,7 @@
|
||||
"text": "太空海星"
|
||||
},
|
||||
"difficulty": 4,
|
||||
"BattleReadyID": 107,
|
||||
"firstprize": [
|
||||
{
|
||||
"a": "attr",
|
||||
@ -1743,6 +1777,7 @@
|
||||
"text": "太空海星"
|
||||
},
|
||||
"difficulty": 5,
|
||||
"BattleReadyID": 107,
|
||||
"firstprize": [
|
||||
{
|
||||
"a": "attr",
|
||||
@ -1797,6 +1832,7 @@
|
||||
"text": "太空海星"
|
||||
},
|
||||
"difficulty": 6,
|
||||
"BattleReadyID": 107,
|
||||
"firstprize": [
|
||||
{
|
||||
"a": "attr",
|
||||
@ -1851,6 +1887,7 @@
|
||||
"text": "太空海星"
|
||||
},
|
||||
"difficulty": 7,
|
||||
"BattleReadyID": 107,
|
||||
"firstprize": [
|
||||
{
|
||||
"a": "attr",
|
||||
@ -1905,6 +1942,7 @@
|
||||
"text": "太空海星"
|
||||
},
|
||||
"difficulty": 8,
|
||||
"BattleReadyID": 107,
|
||||
"firstprize": [
|
||||
{
|
||||
"a": "attr",
|
||||
@ -1959,6 +1997,7 @@
|
||||
"text": "太空海星"
|
||||
},
|
||||
"difficulty": 9,
|
||||
"BattleReadyID": 107,
|
||||
"firstprize": [
|
||||
{
|
||||
"a": "attr",
|
||||
@ -2013,6 +2052,7 @@
|
||||
"text": "太空海星"
|
||||
},
|
||||
"difficulty": 10,
|
||||
"BattleReadyID": 107,
|
||||
"firstprize": [
|
||||
{
|
||||
"a": "attr",
|
||||
|
@ -6376,5 +6376,49 @@
|
||||
"key": "itemtipstxt_625001",
|
||||
"text": "阿宝的天赋点不足"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "625002",
|
||||
"name": {
|
||||
"key": "itemname_90001",
|
||||
"text": "经验道具"
|
||||
},
|
||||
"usetype": 12,
|
||||
"color": 3,
|
||||
"bagtype": 1,
|
||||
"index": 99,
|
||||
"special_type": 0,
|
||||
"time": 0,
|
||||
"effects": "",
|
||||
"box_id": 0,
|
||||
"synthetize_num": 0,
|
||||
"access": [
|
||||
155
|
||||
],
|
||||
"use_skip": 155,
|
||||
"upper_limit": 999,
|
||||
"uselv": 0,
|
||||
"isani": 0,
|
||||
"star": 0,
|
||||
"race": 0,
|
||||
"img": "ytx_js_25001",
|
||||
"ico": "ytx_js_25001",
|
||||
"intr": {
|
||||
"key": "itemdesc_625002",
|
||||
"text": "经验道具"
|
||||
},
|
||||
"sale": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "gold",
|
||||
"n": 1000
|
||||
}
|
||||
],
|
||||
"synthetize_deplete": [],
|
||||
"decompose_deplete": [],
|
||||
"tipstxt": {
|
||||
"key": "itemtipstxt_625002",
|
||||
"text": "阿宝的天赋点不足"
|
||||
}
|
||||
}
|
||||
]
|
@ -14,7 +14,7 @@
|
||||
},
|
||||
"exp": 60,
|
||||
"model": "35001",
|
||||
"ornament": "Muzhuang1",
|
||||
"ornament": "Level1",
|
||||
"affix": {
|
||||
"key": "gourmet_ln1",
|
||||
"text": "教习效率+50%"
|
||||
@ -52,7 +52,7 @@
|
||||
},
|
||||
"exp": 120,
|
||||
"model": "35001",
|
||||
"ornament": "Muzhuang2",
|
||||
"ornament": "Level2",
|
||||
"affix": {
|
||||
"key": "gourmet_ln2",
|
||||
"text": "教习效率+51%"
|
||||
@ -90,7 +90,7 @@
|
||||
},
|
||||
"exp": 240,
|
||||
"model": "35001",
|
||||
"ornament": "Muzhuang1",
|
||||
"ornament": "Level1",
|
||||
"affix": {
|
||||
"key": "gourmet_ln3",
|
||||
"text": "教习效率+52%"
|
||||
@ -128,7 +128,7 @@
|
||||
},
|
||||
"exp": 480,
|
||||
"model": "35001",
|
||||
"ornament": "Muzhuang2",
|
||||
"ornament": "Level2",
|
||||
"affix": {
|
||||
"key": "gourmet_ln4",
|
||||
"text": "教习效率+53%"
|
||||
@ -166,7 +166,7 @@
|
||||
},
|
||||
"exp": 1020,
|
||||
"model": "35001",
|
||||
"ornament": "Muzhuang1",
|
||||
"ornament": "Level1",
|
||||
"affix": {
|
||||
"key": "gourmet_ln5",
|
||||
"text": "教习效率+50%"
|
||||
@ -204,7 +204,7 @@
|
||||
},
|
||||
"exp": 1080,
|
||||
"model": "35001",
|
||||
"ornament": "Muzhuang2",
|
||||
"ornament": "Level2",
|
||||
"affix": {
|
||||
"key": "gourmet_ln6",
|
||||
"text": "教习效率+51%"
|
||||
@ -242,7 +242,7 @@
|
||||
},
|
||||
"exp": 2940,
|
||||
"model": "35001",
|
||||
"ornament": "Muzhuang1",
|
||||
"ornament": "Level1",
|
||||
"affix": {
|
||||
"key": "gourmet_ln13",
|
||||
"text": "教习效率+50%"
|
||||
@ -280,7 +280,7 @@
|
||||
},
|
||||
"exp": 3000,
|
||||
"model": "35001",
|
||||
"ornament": "Muzhuang2",
|
||||
"ornament": "Level2",
|
||||
"affix": {
|
||||
"key": "gourmet_ln14",
|
||||
"text": "教习效率+51%"
|
||||
@ -318,7 +318,7 @@
|
||||
},
|
||||
"exp": 3120,
|
||||
"model": "35001",
|
||||
"ornament": "Muzhuang1",
|
||||
"ornament": "Level1",
|
||||
"affix": {
|
||||
"key": "gourmet_ln15",
|
||||
"text": "教习效率+52%"
|
||||
@ -356,7 +356,7 @@
|
||||
},
|
||||
"exp": 3360,
|
||||
"model": "35001",
|
||||
"ornament": "Muzhuang2",
|
||||
"ornament": "Level2",
|
||||
"affix": {
|
||||
"key": "gourmet_ln16",
|
||||
"text": "教习效率+53%"
|
||||
@ -394,7 +394,7 @@
|
||||
},
|
||||
"exp": 3900,
|
||||
"model": "35001",
|
||||
"ornament": "Muzhuang1",
|
||||
"ornament": "Level1",
|
||||
"affix": {
|
||||
"key": "gourmet_ln17",
|
||||
"text": "教习效率+50%"
|
||||
@ -432,7 +432,7 @@
|
||||
},
|
||||
"exp": 3960,
|
||||
"model": "35001",
|
||||
"ornament": "Muzhuang2",
|
||||
"ornament": "Level2",
|
||||
"affix": {
|
||||
"key": "gourmet_ln18",
|
||||
"text": "教习效率+51%"
|
||||
@ -470,7 +470,7 @@
|
||||
},
|
||||
"exp": 5820,
|
||||
"model": "35001",
|
||||
"ornament": "Muzhuang1",
|
||||
"ornament": "Level1",
|
||||
"affix": {
|
||||
"key": "gourmet_ln25",
|
||||
"text": "教习效率+50%"
|
||||
@ -508,7 +508,7 @@
|
||||
},
|
||||
"exp": 5880,
|
||||
"model": "35001",
|
||||
"ornament": "Muzhuang2",
|
||||
"ornament": "Level2",
|
||||
"affix": {
|
||||
"key": "gourmet_ln26",
|
||||
"text": "教习效率+51%"
|
||||
@ -546,7 +546,7 @@
|
||||
},
|
||||
"exp": 6000,
|
||||
"model": "35001",
|
||||
"ornament": "Muzhuang1",
|
||||
"ornament": "Level1",
|
||||
"affix": {
|
||||
"key": "gourmet_ln27",
|
||||
"text": "教习效率+52%"
|
||||
@ -584,7 +584,7 @@
|
||||
},
|
||||
"exp": 6240,
|
||||
"model": "35001",
|
||||
"ornament": "Muzhuang2",
|
||||
"ornament": "Level2",
|
||||
"affix": {
|
||||
"key": "gourmet_ln28",
|
||||
"text": "教习效率+53%"
|
||||
@ -622,7 +622,7 @@
|
||||
},
|
||||
"exp": 6780,
|
||||
"model": "35001",
|
||||
"ornament": "Muzhuang1",
|
||||
"ornament": "Level1",
|
||||
"affix": {
|
||||
"key": "gourmet_ln29",
|
||||
"text": "教习效率+50%"
|
||||
@ -660,7 +660,7 @@
|
||||
},
|
||||
"exp": 6840,
|
||||
"model": "35001",
|
||||
"ornament": "Muzhuang2",
|
||||
"ornament": "Level2",
|
||||
"affix": {
|
||||
"key": "gourmet_ln30",
|
||||
"text": "教习效率+51%"
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -58,6 +58,7 @@
|
||||
"n": 1650
|
||||
}
|
||||
],
|
||||
"BattleReadyID": 102,
|
||||
"FormatList": [
|
||||
101011
|
||||
],
|
||||
@ -142,6 +143,7 @@
|
||||
"n": 2640
|
||||
}
|
||||
],
|
||||
"BattleReadyID": 102,
|
||||
"FormatList": [
|
||||
101021
|
||||
],
|
||||
@ -226,6 +228,7 @@
|
||||
"n": 3630
|
||||
}
|
||||
],
|
||||
"BattleReadyID": 102,
|
||||
"FormatList": [
|
||||
101031,
|
||||
101032
|
||||
@ -311,6 +314,7 @@
|
||||
"n": 20395
|
||||
}
|
||||
],
|
||||
"BattleReadyID": 102,
|
||||
"FormatList": [
|
||||
101041,
|
||||
101042
|
||||
@ -396,6 +400,7 @@
|
||||
"n": 22675
|
||||
}
|
||||
],
|
||||
"BattleReadyID": 102,
|
||||
"FormatList": [
|
||||
101051,
|
||||
101052
|
||||
@ -481,6 +486,7 @@
|
||||
"n": 18140
|
||||
}
|
||||
],
|
||||
"BattleReadyID": 102,
|
||||
"FormatList": [
|
||||
101061,
|
||||
101062
|
||||
@ -566,6 +572,7 @@
|
||||
"n": 20560
|
||||
}
|
||||
],
|
||||
"BattleReadyID": 102,
|
||||
"FormatList": [
|
||||
102011
|
||||
],
|
||||
@ -650,6 +657,7 @@
|
||||
"n": 26930
|
||||
}
|
||||
],
|
||||
"BattleReadyID": 102,
|
||||
"FormatList": [
|
||||
102021
|
||||
],
|
||||
@ -734,6 +742,7 @@
|
||||
"n": 33260
|
||||
}
|
||||
],
|
||||
"BattleReadyID": 102,
|
||||
"FormatList": [
|
||||
102031,
|
||||
102032
|
||||
@ -819,6 +828,7 @@
|
||||
"n": 39600
|
||||
}
|
||||
],
|
||||
"BattleReadyID": 102,
|
||||
"FormatList": [
|
||||
102041,
|
||||
102042
|
||||
@ -904,6 +914,7 @@
|
||||
"n": 45935
|
||||
}
|
||||
],
|
||||
"BattleReadyID": 102,
|
||||
"FormatList": [
|
||||
102051,
|
||||
102052
|
||||
@ -989,6 +1000,7 @@
|
||||
"n": 57650
|
||||
}
|
||||
],
|
||||
"BattleReadyID": 102,
|
||||
"FormatList": [
|
||||
102061,
|
||||
102062
|
||||
@ -1074,6 +1086,7 @@
|
||||
"n": 68615
|
||||
}
|
||||
],
|
||||
"BattleReadyID": 102,
|
||||
"FormatList": [
|
||||
103011
|
||||
],
|
||||
@ -1158,6 +1171,7 @@
|
||||
"n": 76035
|
||||
}
|
||||
],
|
||||
"BattleReadyID": 102,
|
||||
"FormatList": [
|
||||
103021
|
||||
],
|
||||
@ -1242,6 +1256,7 @@
|
||||
"n": 83455
|
||||
}
|
||||
],
|
||||
"BattleReadyID": 102,
|
||||
"FormatList": [
|
||||
103031,
|
||||
103032
|
||||
@ -1327,6 +1342,7 @@
|
||||
"n": 90875
|
||||
}
|
||||
],
|
||||
"BattleReadyID": 102,
|
||||
"FormatList": [
|
||||
103041,
|
||||
103042
|
||||
@ -1412,6 +1428,7 @@
|
||||
"n": 106640
|
||||
}
|
||||
],
|
||||
"BattleReadyID": 102,
|
||||
"FormatList": [
|
||||
103051,
|
||||
103052
|
||||
@ -1497,6 +1514,7 @@
|
||||
"n": 128695
|
||||
}
|
||||
],
|
||||
"BattleReadyID": 102,
|
||||
"FormatList": [
|
||||
103061,
|
||||
103062
|
||||
@ -1582,6 +1600,7 @@
|
||||
"n": 137725
|
||||
}
|
||||
],
|
||||
"BattleReadyID": 102,
|
||||
"FormatList": [
|
||||
104011
|
||||
],
|
||||
@ -1666,6 +1685,7 @@
|
||||
"n": 146755
|
||||
}
|
||||
],
|
||||
"BattleReadyID": 102,
|
||||
"FormatList": [
|
||||
104021
|
||||
],
|
||||
@ -1750,6 +1770,7 @@
|
||||
"n": 155795
|
||||
}
|
||||
],
|
||||
"BattleReadyID": 102,
|
||||
"FormatList": [
|
||||
104031,
|
||||
104032
|
||||
@ -1835,6 +1856,7 @@
|
||||
"n": 179335
|
||||
}
|
||||
],
|
||||
"BattleReadyID": 102,
|
||||
"FormatList": [
|
||||
104041,
|
||||
104042
|
||||
@ -1920,6 +1942,7 @@
|
||||
"n": 220415
|
||||
}
|
||||
],
|
||||
"BattleReadyID": 102,
|
||||
"FormatList": [
|
||||
104051,
|
||||
104052
|
||||
@ -2005,6 +2028,7 @@
|
||||
"n": 241915
|
||||
}
|
||||
],
|
||||
"BattleReadyID": 102,
|
||||
"FormatList": [
|
||||
104061,
|
||||
104062
|
||||
|
@ -9,6 +9,10 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -31,6 +35,10 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -53,6 +61,10 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -75,6 +87,10 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -97,6 +113,10 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -119,6 +139,10 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -141,6 +165,10 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -163,6 +191,10 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -185,6 +217,10 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -207,6 +243,10 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -229,6 +269,10 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -251,6 +295,10 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -273,6 +321,10 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -295,6 +347,10 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -317,6 +373,10 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -339,6 +399,10 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -361,6 +425,10 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -383,6 +451,10 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -405,6 +477,10 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -427,6 +503,10 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -449,6 +529,10 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -471,6 +555,10 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -493,6 +581,10 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -515,6 +607,10 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -537,6 +633,10 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -559,6 +659,10 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -581,6 +685,10 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -603,6 +711,10 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -647,6 +759,10 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -669,6 +785,10 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -691,6 +811,10 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -713,6 +837,10 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -735,6 +863,10 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -757,6 +889,10 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -779,6 +915,10 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -801,6 +941,10 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -823,6 +967,10 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -845,6 +993,10 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -867,6 +1019,10 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -889,6 +1045,10 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -911,6 +1071,10 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -933,6 +1097,10 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -955,6 +1123,10 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -977,6 +1149,10 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -999,6 +1175,10 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -1021,6 +1201,10 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -1109,6 +1293,10 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -1131,6 +1319,10 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -1153,6 +1345,10 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -1175,6 +1371,10 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -1197,6 +1397,10 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -1219,6 +1423,10 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -1241,6 +1449,10 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -1263,6 +1475,10 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -1285,6 +1501,10 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -1307,6 +1527,10 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
@ -1329,6 +1553,10 @@
|
||||
{
|
||||
"key": 1,
|
||||
"param": 1
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"param": 1100101
|
||||
}
|
||||
],
|
||||
"optional": "",
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -13,66 +13,66 @@
|
||||
"privilege_parameter": 60
|
||||
},
|
||||
{
|
||||
"privilege_id": 10201,
|
||||
"privilege_id": 10102,
|
||||
"privilege_type": 2,
|
||||
"privilege_DescribeFront": {
|
||||
"key": "privilege_10201",
|
||||
"key": "privilege_10102",
|
||||
"text": "金币商店每日"
|
||||
},
|
||||
"privilege_DescribeAfter": {
|
||||
"key": "PrivilegeAfter_10201",
|
||||
"key": "PrivilegeAfter_10102",
|
||||
"text": "免费刷新次数+1"
|
||||
},
|
||||
"privilege_parameter": 1
|
||||
},
|
||||
{
|
||||
"privilege_id": 10301,
|
||||
"privilege_id": 10103,
|
||||
"privilege_type": 7,
|
||||
"privilege_DescribeFront": {
|
||||
"key": "privilege_10301",
|
||||
"key": "privilege_10103",
|
||||
"text": "巨怪商队"
|
||||
},
|
||||
"privilege_DescribeAfter": {
|
||||
"key": "PrivilegeAfter_10301",
|
||||
"key": "PrivilegeAfter_10103",
|
||||
"text": "背包容量+1"
|
||||
},
|
||||
"privilege_parameter": 1
|
||||
},
|
||||
{
|
||||
"privilege_id": 10104,
|
||||
"privilege_id": 10201,
|
||||
"privilege_type": 1,
|
||||
"privilege_DescribeFront": {
|
||||
"key": "privilege_10104",
|
||||
"key": "privilege_10201",
|
||||
"text": "每日获得"
|
||||
},
|
||||
"privilege_DescribeAfter": {
|
||||
"key": "PrivilegeAfter_10104",
|
||||
"key": "PrivilegeAfter_10201",
|
||||
"text": "90钻石"
|
||||
},
|
||||
"privilege_parameter": 0
|
||||
"privilege_parameter": 90
|
||||
},
|
||||
{
|
||||
"privilege_id": 10205,
|
||||
"privilege_id": 10202,
|
||||
"privilege_type": 2,
|
||||
"privilege_DescribeFront": {
|
||||
"key": "privilege_10205",
|
||||
"key": "privilege_10202",
|
||||
"text": "金币商店每日"
|
||||
},
|
||||
"privilege_DescribeAfter": {
|
||||
"key": "PrivilegeAfter_10205",
|
||||
"key": "PrivilegeAfter_10202",
|
||||
"text": "免费刷新次数+1"
|
||||
},
|
||||
"privilege_parameter": 1
|
||||
},
|
||||
{
|
||||
"privilege_id": 10306,
|
||||
"privilege_id": 10203,
|
||||
"privilege_type": 7,
|
||||
"privilege_DescribeFront": {
|
||||
"key": "privilege_10306",
|
||||
"key": "privilege_10203",
|
||||
"text": "巨怪商队"
|
||||
},
|
||||
"privilege_DescribeAfter": {
|
||||
"key": "PrivilegeAfter_10306",
|
||||
"key": "PrivilegeAfter_10203",
|
||||
"text": "背包容量+1"
|
||||
},
|
||||
"privilege_parameter": 1
|
||||
|
@ -21,8 +21,8 @@
|
||||
],
|
||||
"privilege_id": [
|
||||
10101,
|
||||
10201,
|
||||
10301
|
||||
10102,
|
||||
10103
|
||||
]
|
||||
},
|
||||
{
|
||||
@ -46,9 +46,9 @@
|
||||
}
|
||||
],
|
||||
"privilege_id": [
|
||||
10401,
|
||||
10501,
|
||||
10601
|
||||
10201,
|
||||
10202,
|
||||
10203
|
||||
]
|
||||
},
|
||||
{
|
||||
|
@ -183,5 +183,37 @@
|
||||
50006,
|
||||
50007
|
||||
]
|
||||
},
|
||||
{
|
||||
"shopid": 6,
|
||||
"tab": 6,
|
||||
"shopname": {
|
||||
"key": "shop_6",
|
||||
"text": "英雄商店"
|
||||
},
|
||||
"upper_shop": {
|
||||
"key": "shop_title1",
|
||||
"text": "玩法商店"
|
||||
},
|
||||
"needshow": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "moongold",
|
||||
"n": 1
|
||||
}
|
||||
],
|
||||
"rtype": 3,
|
||||
"rtime": 1,
|
||||
"rnum": -1,
|
||||
"rneed": [],
|
||||
"shopitem": [
|
||||
50001,
|
||||
50002,
|
||||
50003,
|
||||
50004,
|
||||
50005,
|
||||
50006,
|
||||
50007
|
||||
]
|
||||
}
|
||||
]
|
@ -7054,5 +7054,41 @@
|
||||
"lvmax": 60,
|
||||
"mapidmin": 101,
|
||||
"mapidmax": 9999
|
||||
},
|
||||
{
|
||||
"key": 197,
|
||||
"id": 60001,
|
||||
"iteminfo": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "30001",
|
||||
"n": 10
|
||||
}
|
||||
],
|
||||
"preview": false,
|
||||
"probability": 1000,
|
||||
"need": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "moongold",
|
||||
"n": 1
|
||||
}
|
||||
],
|
||||
"sale": 1000,
|
||||
"salelist": [
|
||||
1000,
|
||||
1000,
|
||||
1000,
|
||||
1000,
|
||||
1000,
|
||||
1000
|
||||
],
|
||||
"buyminnum": 1,
|
||||
"buymaxnum": 1,
|
||||
"vip": 0,
|
||||
"lvmin": 1,
|
||||
"lvmax": 60,
|
||||
"mapidmin": 101,
|
||||
"mapidmax": 9999
|
||||
}
|
||||
]
|
@ -9486,7 +9486,7 @@
|
||||
"ExecuteCnt": 1,
|
||||
"Type": 3,
|
||||
"Argu": [
|
||||
390001401,
|
||||
390001008,
|
||||
1000,
|
||||
1,
|
||||
2
|
||||
|
@ -2376,7 +2376,7 @@
|
||||
"ico": "jn_icon_x002",
|
||||
"CorrectPos": 0,
|
||||
"IsMelee": 1,
|
||||
"act": "Skill_1",
|
||||
"act": "Skill_2",
|
||||
"Type": 0,
|
||||
"CD": 0,
|
||||
"Target": 1,
|
||||
@ -2404,7 +2404,7 @@
|
||||
"ico": "jn_icon_x002",
|
||||
"CorrectPos": 0,
|
||||
"IsMelee": 1,
|
||||
"act": "Skill_1",
|
||||
"act": "Skill_2",
|
||||
"Type": 0,
|
||||
"CD": 0,
|
||||
"Target": 1,
|
||||
@ -2432,7 +2432,7 @@
|
||||
"ico": "jn_icon_x002",
|
||||
"CorrectPos": 0,
|
||||
"IsMelee": 1,
|
||||
"act": "Skill_1",
|
||||
"act": "Skill_2",
|
||||
"Type": 0,
|
||||
"CD": 0,
|
||||
"Target": 1,
|
||||
@ -2460,7 +2460,7 @@
|
||||
"ico": "jn_icon_x002",
|
||||
"CorrectPos": 0,
|
||||
"IsMelee": 1,
|
||||
"act": "Skill_1",
|
||||
"act": "Skill_2",
|
||||
"Type": 0,
|
||||
"CD": 0,
|
||||
"Target": 1,
|
||||
@ -2488,7 +2488,7 @@
|
||||
"ico": "jn_icon_x002",
|
||||
"CorrectPos": 0,
|
||||
"IsMelee": 1,
|
||||
"act": "Skill_1",
|
||||
"act": "Skill_2",
|
||||
"Type": 0,
|
||||
"CD": 0,
|
||||
"Target": 1,
|
||||
@ -6322,13 +6322,12 @@
|
||||
"Target": 1,
|
||||
"ChildSkill": {
|
||||
"Id": [
|
||||
224002211,
|
||||
224002212
|
||||
224002211
|
||||
]
|
||||
},
|
||||
"Desc": {
|
||||
"key": "skill_1240022111",
|
||||
"text": "攻击时,若目标有【童真】,附加2回合【中毒】。受击时,若攻击者有【童真】,50%概率反击。"
|
||||
"text": "攻击时,若目标有【童真】,附加2回合【速度下降】。受击时,若攻击者有【童真】,50%概率反击。"
|
||||
},
|
||||
"buffid": [],
|
||||
"map": ""
|
||||
|
@ -8,6 +8,7 @@
|
||||
"text": "火焰泰坦"
|
||||
},
|
||||
"difficulty": 1,
|
||||
"BattleReadyID": 104,
|
||||
"captionrecommend": [
|
||||
25001,
|
||||
25004,
|
||||
@ -85,6 +86,7 @@
|
||||
"text": "火焰泰坦"
|
||||
},
|
||||
"difficulty": 2,
|
||||
"BattleReadyID": 104,
|
||||
"captionrecommend": [
|
||||
25001,
|
||||
25004,
|
||||
@ -162,6 +164,7 @@
|
||||
"text": "火焰泰坦"
|
||||
},
|
||||
"difficulty": 3,
|
||||
"BattleReadyID": 104,
|
||||
"captionrecommend": [
|
||||
25001,
|
||||
25004,
|
||||
@ -239,6 +242,7 @@
|
||||
"text": "火焰泰坦"
|
||||
},
|
||||
"difficulty": 4,
|
||||
"BattleReadyID": 104,
|
||||
"captionrecommend": [
|
||||
25001,
|
||||
25004,
|
||||
@ -316,6 +320,7 @@
|
||||
"text": "火焰泰坦"
|
||||
},
|
||||
"difficulty": 5,
|
||||
"BattleReadyID": 104,
|
||||
"captionrecommend": [
|
||||
25001,
|
||||
25004,
|
||||
@ -393,6 +398,7 @@
|
||||
"text": "火焰泰坦"
|
||||
},
|
||||
"difficulty": 6,
|
||||
"BattleReadyID": 104,
|
||||
"captionrecommend": [
|
||||
25001,
|
||||
25004,
|
||||
@ -470,6 +476,7 @@
|
||||
"text": "火焰泰坦"
|
||||
},
|
||||
"difficulty": 7,
|
||||
"BattleReadyID": 104,
|
||||
"captionrecommend": [
|
||||
25001,
|
||||
25004,
|
||||
@ -547,6 +554,7 @@
|
||||
"text": "火焰泰坦"
|
||||
},
|
||||
"difficulty": 8,
|
||||
"BattleReadyID": 104,
|
||||
"captionrecommend": [
|
||||
25001,
|
||||
25004,
|
||||
@ -624,6 +632,7 @@
|
||||
"text": "火焰泰坦"
|
||||
},
|
||||
"difficulty": 9,
|
||||
"BattleReadyID": 104,
|
||||
"captionrecommend": [
|
||||
25001,
|
||||
25004,
|
||||
@ -701,6 +710,7 @@
|
||||
"text": "火焰泰坦"
|
||||
},
|
||||
"difficulty": 10,
|
||||
"BattleReadyID": 104,
|
||||
"captionrecommend": [
|
||||
25001,
|
||||
25004,
|
||||
@ -778,6 +788,7 @@
|
||||
"text": "冰之泰坦"
|
||||
},
|
||||
"difficulty": 1,
|
||||
"BattleReadyID": 104,
|
||||
"captionrecommend": [
|
||||
25001,
|
||||
25004,
|
||||
@ -855,6 +866,7 @@
|
||||
"text": "冰之泰坦"
|
||||
},
|
||||
"difficulty": 2,
|
||||
"BattleReadyID": 104,
|
||||
"captionrecommend": [
|
||||
25001,
|
||||
25004,
|
||||
@ -932,6 +944,7 @@
|
||||
"text": "冰之泰坦"
|
||||
},
|
||||
"difficulty": 3,
|
||||
"BattleReadyID": 104,
|
||||
"captionrecommend": [
|
||||
25001,
|
||||
25004,
|
||||
@ -1009,6 +1022,7 @@
|
||||
"text": "冰之泰坦"
|
||||
},
|
||||
"difficulty": 4,
|
||||
"BattleReadyID": 104,
|
||||
"captionrecommend": [
|
||||
25001,
|
||||
25004,
|
||||
@ -1086,6 +1100,7 @@
|
||||
"text": "冰之泰坦"
|
||||
},
|
||||
"difficulty": 5,
|
||||
"BattleReadyID": 104,
|
||||
"captionrecommend": [
|
||||
25001,
|
||||
25004,
|
||||
@ -1163,6 +1178,7 @@
|
||||
"text": "冰之泰坦"
|
||||
},
|
||||
"difficulty": 6,
|
||||
"BattleReadyID": 104,
|
||||
"captionrecommend": [
|
||||
25001,
|
||||
25004,
|
||||
@ -1240,6 +1256,7 @@
|
||||
"text": "冰之泰坦"
|
||||
},
|
||||
"difficulty": 7,
|
||||
"BattleReadyID": 104,
|
||||
"captionrecommend": [
|
||||
25001,
|
||||
25004,
|
||||
@ -1317,6 +1334,7 @@
|
||||
"text": "冰之泰坦"
|
||||
},
|
||||
"difficulty": 8,
|
||||
"BattleReadyID": 104,
|
||||
"captionrecommend": [
|
||||
25001,
|
||||
25004,
|
||||
@ -1394,6 +1412,7 @@
|
||||
"text": "冰之泰坦"
|
||||
},
|
||||
"difficulty": 9,
|
||||
"BattleReadyID": 104,
|
||||
"captionrecommend": [
|
||||
25001,
|
||||
25004,
|
||||
@ -1471,6 +1490,7 @@
|
||||
"text": "冰之泰坦"
|
||||
},
|
||||
"difficulty": 10,
|
||||
"BattleReadyID": 104,
|
||||
"captionrecommend": [
|
||||
25001,
|
||||
25004,
|
||||
@ -1548,6 +1568,7 @@
|
||||
"text": "森林泰坦"
|
||||
},
|
||||
"difficulty": 1,
|
||||
"BattleReadyID": 104,
|
||||
"captionrecommend": [
|
||||
25001,
|
||||
25004,
|
||||
@ -1625,6 +1646,7 @@
|
||||
"text": "森林泰坦"
|
||||
},
|
||||
"difficulty": 2,
|
||||
"BattleReadyID": 104,
|
||||
"captionrecommend": [
|
||||
25001,
|
||||
25004,
|
||||
@ -1702,6 +1724,7 @@
|
||||
"text": "森林泰坦"
|
||||
},
|
||||
"difficulty": 3,
|
||||
"BattleReadyID": 104,
|
||||
"captionrecommend": [
|
||||
25001,
|
||||
25004,
|
||||
@ -1779,6 +1802,7 @@
|
||||
"text": "森林泰坦"
|
||||
},
|
||||
"difficulty": 4,
|
||||
"BattleReadyID": 104,
|
||||
"captionrecommend": [
|
||||
25001,
|
||||
25004,
|
||||
@ -1856,6 +1880,7 @@
|
||||
"text": "森林泰坦"
|
||||
},
|
||||
"difficulty": 5,
|
||||
"BattleReadyID": 104,
|
||||
"captionrecommend": [
|
||||
25001,
|
||||
25004,
|
||||
@ -1933,6 +1958,7 @@
|
||||
"text": "森林泰坦"
|
||||
},
|
||||
"difficulty": 6,
|
||||
"BattleReadyID": 104,
|
||||
"captionrecommend": [
|
||||
25001,
|
||||
25004,
|
||||
@ -2010,6 +2036,7 @@
|
||||
"text": "森林泰坦"
|
||||
},
|
||||
"difficulty": 7,
|
||||
"BattleReadyID": 104,
|
||||
"captionrecommend": [
|
||||
25001,
|
||||
25004,
|
||||
@ -2087,6 +2114,7 @@
|
||||
"text": "森林泰坦"
|
||||
},
|
||||
"difficulty": 8,
|
||||
"BattleReadyID": 104,
|
||||
"captionrecommend": [
|
||||
25001,
|
||||
25004,
|
||||
@ -2164,6 +2192,7 @@
|
||||
"text": "森林泰坦"
|
||||
},
|
||||
"difficulty": 9,
|
||||
"BattleReadyID": 104,
|
||||
"captionrecommend": [
|
||||
25001,
|
||||
25004,
|
||||
@ -2241,6 +2270,7 @@
|
||||
"text": "森林泰坦"
|
||||
},
|
||||
"difficulty": 10,
|
||||
"BattleReadyID": 104,
|
||||
"captionrecommend": [
|
||||
25001,
|
||||
25004,
|
||||
@ -2318,6 +2348,7 @@
|
||||
"text": "武器BOSS"
|
||||
},
|
||||
"difficulty": 1,
|
||||
"BattleReadyID": 104,
|
||||
"captionrecommend": [
|
||||
25001,
|
||||
25004,
|
||||
@ -2385,6 +2416,7 @@
|
||||
"text": "武器BOSS"
|
||||
},
|
||||
"difficulty": 2,
|
||||
"BattleReadyID": 104,
|
||||
"captionrecommend": [
|
||||
25001,
|
||||
25004,
|
||||
@ -2452,6 +2484,7 @@
|
||||
"text": "武器BOSS"
|
||||
},
|
||||
"difficulty": 3,
|
||||
"BattleReadyID": 104,
|
||||
"captionrecommend": [
|
||||
25001,
|
||||
25004,
|
||||
@ -2519,6 +2552,7 @@
|
||||
"text": "武器BOSS"
|
||||
},
|
||||
"difficulty": 4,
|
||||
"BattleReadyID": 104,
|
||||
"captionrecommend": [
|
||||
25001,
|
||||
25004,
|
||||
@ -2586,6 +2620,7 @@
|
||||
"text": "武器BOSS"
|
||||
},
|
||||
"difficulty": 5,
|
||||
"BattleReadyID": 104,
|
||||
"captionrecommend": [
|
||||
25001,
|
||||
25004,
|
||||
@ -2653,6 +2688,7 @@
|
||||
"text": "武器BOSS"
|
||||
},
|
||||
"difficulty": 6,
|
||||
"BattleReadyID": 104,
|
||||
"captionrecommend": [
|
||||
25001,
|
||||
25004,
|
||||
@ -2720,6 +2756,7 @@
|
||||
"text": "武器BOSS"
|
||||
},
|
||||
"difficulty": 7,
|
||||
"BattleReadyID": 104,
|
||||
"captionrecommend": [
|
||||
25001,
|
||||
25004,
|
||||
@ -2787,6 +2824,7 @@
|
||||
"text": "武器BOSS"
|
||||
},
|
||||
"difficulty": 8,
|
||||
"BattleReadyID": 104,
|
||||
"captionrecommend": [
|
||||
25001,
|
||||
25004,
|
||||
@ -2854,6 +2892,7 @@
|
||||
"text": "武器BOSS"
|
||||
},
|
||||
"difficulty": 9,
|
||||
"BattleReadyID": 104,
|
||||
"captionrecommend": [
|
||||
25001,
|
||||
25004,
|
||||
@ -2921,6 +2960,7 @@
|
||||
"text": "武器BOSS"
|
||||
},
|
||||
"difficulty": 10,
|
||||
"BattleReadyID": 104,
|
||||
"captionrecommend": [
|
||||
25001,
|
||||
25004,
|
||||
@ -2988,6 +3028,7 @@
|
||||
"text": "饰品BOSS"
|
||||
},
|
||||
"difficulty": 1,
|
||||
"BattleReadyID": 104,
|
||||
"captionrecommend": [
|
||||
25001,
|
||||
25004,
|
||||
@ -3055,6 +3096,7 @@
|
||||
"text": "饰品BOSS"
|
||||
},
|
||||
"difficulty": 2,
|
||||
"BattleReadyID": 104,
|
||||
"captionrecommend": [
|
||||
25001,
|
||||
25004,
|
||||
@ -3122,6 +3164,7 @@
|
||||
"text": "饰品BOSS"
|
||||
},
|
||||
"difficulty": 3,
|
||||
"BattleReadyID": 104,
|
||||
"captionrecommend": [
|
||||
25001,
|
||||
25004,
|
||||
@ -3189,6 +3232,7 @@
|
||||
"text": "饰品BOSS"
|
||||
},
|
||||
"difficulty": 4,
|
||||
"BattleReadyID": 104,
|
||||
"captionrecommend": [
|
||||
25001,
|
||||
25004,
|
||||
@ -3256,6 +3300,7 @@
|
||||
"text": "饰品BOSS"
|
||||
},
|
||||
"difficulty": 5,
|
||||
"BattleReadyID": 104,
|
||||
"captionrecommend": [
|
||||
25001,
|
||||
25004,
|
||||
@ -3323,6 +3368,7 @@
|
||||
"text": "饰品BOSS"
|
||||
},
|
||||
"difficulty": 6,
|
||||
"BattleReadyID": 104,
|
||||
"captionrecommend": [
|
||||
25001,
|
||||
25004,
|
||||
@ -3390,6 +3436,7 @@
|
||||
"text": "饰品BOSS"
|
||||
},
|
||||
"difficulty": 7,
|
||||
"BattleReadyID": 104,
|
||||
"captionrecommend": [
|
||||
25001,
|
||||
25004,
|
||||
@ -3457,6 +3504,7 @@
|
||||
"text": "饰品BOSS"
|
||||
},
|
||||
"difficulty": 8,
|
||||
"BattleReadyID": 104,
|
||||
"captionrecommend": [
|
||||
25001,
|
||||
25004,
|
||||
@ -3524,6 +3572,7 @@
|
||||
"text": "饰品BOSS"
|
||||
},
|
||||
"difficulty": 9,
|
||||
"BattleReadyID": 104,
|
||||
"captionrecommend": [
|
||||
25001,
|
||||
25004,
|
||||
@ -3591,6 +3640,7 @@
|
||||
"text": "饰品BOSS"
|
||||
},
|
||||
"difficulty": 10,
|
||||
"BattleReadyID": 104,
|
||||
"captionrecommend": [
|
||||
25001,
|
||||
25004,
|
||||
|
@ -4,10 +4,7 @@
|
||||
"FormatList": [
|
||||
700011
|
||||
],
|
||||
"DefaultHero": 0,
|
||||
"SelectableHero": [],
|
||||
"LockSlots": [],
|
||||
"AssistTeam": 0,
|
||||
"BattleReadyID": 100,
|
||||
"EventList": [
|
||||
21
|
||||
],
|
||||
@ -22,10 +19,7 @@
|
||||
"FormatList": [
|
||||
700012
|
||||
],
|
||||
"DefaultHero": 0,
|
||||
"SelectableHero": [],
|
||||
"LockSlots": [],
|
||||
"AssistTeam": 0,
|
||||
"BattleReadyID": 100,
|
||||
"EventList": [],
|
||||
"playexp": {
|
||||
"a": "attr",
|
||||
@ -38,10 +32,7 @@
|
||||
"FormatList": [
|
||||
700013
|
||||
],
|
||||
"DefaultHero": 0,
|
||||
"SelectableHero": [],
|
||||
"LockSlots": [],
|
||||
"AssistTeam": 0,
|
||||
"BattleReadyID": 100,
|
||||
"EventList": [],
|
||||
"playexp": {
|
||||
"a": "attr",
|
||||
@ -54,10 +45,7 @@
|
||||
"FormatList": [
|
||||
700014
|
||||
],
|
||||
"DefaultHero": 0,
|
||||
"SelectableHero": [],
|
||||
"LockSlots": [],
|
||||
"AssistTeam": 0,
|
||||
"BattleReadyID": 100,
|
||||
"EventList": [],
|
||||
"playexp": {
|
||||
"a": "attr",
|
||||
@ -70,10 +58,7 @@
|
||||
"FormatList": [
|
||||
700015
|
||||
],
|
||||
"DefaultHero": 0,
|
||||
"SelectableHero": [],
|
||||
"LockSlots": [],
|
||||
"AssistTeam": 0,
|
||||
"BattleReadyID": 100,
|
||||
"EventList": [],
|
||||
"playexp": {
|
||||
"a": "attr",
|
||||
@ -86,10 +71,7 @@
|
||||
"FormatList": [
|
||||
700016
|
||||
],
|
||||
"DefaultHero": 0,
|
||||
"SelectableHero": [],
|
||||
"LockSlots": [],
|
||||
"AssistTeam": 0,
|
||||
"BattleReadyID": 100,
|
||||
"EventList": [],
|
||||
"playexp": {
|
||||
"a": "attr",
|
||||
@ -102,10 +84,7 @@
|
||||
"FormatList": [
|
||||
700017
|
||||
],
|
||||
"DefaultHero": 0,
|
||||
"SelectableHero": [],
|
||||
"LockSlots": [],
|
||||
"AssistTeam": 0,
|
||||
"BattleReadyID": 100,
|
||||
"EventList": [],
|
||||
"playexp": {
|
||||
"a": "attr",
|
||||
@ -118,10 +97,7 @@
|
||||
"FormatList": [
|
||||
700018
|
||||
],
|
||||
"DefaultHero": 0,
|
||||
"SelectableHero": [],
|
||||
"LockSlots": [],
|
||||
"AssistTeam": 0,
|
||||
"BattleReadyID": 100,
|
||||
"EventList": [],
|
||||
"playexp": {
|
||||
"a": "attr",
|
||||
@ -134,10 +110,7 @@
|
||||
"FormatList": [
|
||||
700019
|
||||
],
|
||||
"DefaultHero": 0,
|
||||
"SelectableHero": [],
|
||||
"LockSlots": [],
|
||||
"AssistTeam": 0,
|
||||
"BattleReadyID": 100,
|
||||
"EventList": [],
|
||||
"playexp": {
|
||||
"a": "attr",
|
||||
@ -150,10 +123,7 @@
|
||||
"FormatList": [
|
||||
700020
|
||||
],
|
||||
"DefaultHero": 0,
|
||||
"SelectableHero": [],
|
||||
"LockSlots": [],
|
||||
"AssistTeam": 0,
|
||||
"BattleReadyID": 100,
|
||||
"EventList": [],
|
||||
"playexp": {
|
||||
"a": "attr",
|
||||
@ -166,10 +136,7 @@
|
||||
"FormatList": [
|
||||
700021
|
||||
],
|
||||
"DefaultHero": 0,
|
||||
"SelectableHero": [],
|
||||
"LockSlots": [],
|
||||
"AssistTeam": 0,
|
||||
"BattleReadyID": 100,
|
||||
"EventList": [],
|
||||
"playexp": {
|
||||
"a": "attr",
|
||||
@ -182,10 +149,7 @@
|
||||
"FormatList": [
|
||||
700022
|
||||
],
|
||||
"DefaultHero": 0,
|
||||
"SelectableHero": [],
|
||||
"LockSlots": [],
|
||||
"AssistTeam": 0,
|
||||
"BattleReadyID": 100,
|
||||
"EventList": [],
|
||||
"playexp": {
|
||||
"a": "attr",
|
||||
@ -198,10 +162,7 @@
|
||||
"FormatList": [
|
||||
700023
|
||||
],
|
||||
"DefaultHero": 0,
|
||||
"SelectableHero": [],
|
||||
"LockSlots": [],
|
||||
"AssistTeam": 0,
|
||||
"BattleReadyID": 100,
|
||||
"EventList": [],
|
||||
"playexp": {
|
||||
"a": "attr",
|
||||
@ -214,10 +175,7 @@
|
||||
"FormatList": [
|
||||
700024
|
||||
],
|
||||
"DefaultHero": 0,
|
||||
"SelectableHero": [],
|
||||
"LockSlots": [],
|
||||
"AssistTeam": 0,
|
||||
"BattleReadyID": 100,
|
||||
"EventList": [],
|
||||
"playexp": {
|
||||
"a": "attr",
|
||||
|
@ -125,12 +125,9 @@ func (this *apiComp) Awaken(session comm.IUserSession, req *pb.HeroAwakenReq) (c
|
||||
//xx英雄满级、共鸣、觉醒至最高状态
|
||||
nextAwaken := this.module.configure.GetHeroAwakenConfig(_hero.HeroID, _hero.JuexingLv+1)
|
||||
if nextAwaken == nil { // 达到满级觉醒
|
||||
resonConfig := this.module.configure.GetHeroResonanceConfig(_hero.HeroID, cfg.Star)
|
||||
if resonConfig != nil && resonConfig.Maxnum == _hero.ResonateNum {
|
||||
if _hero.Lv == _hero.Star*comm.HeroStarLvRatio {
|
||||
this.module.ModuleRtask.SendToRtask(session, comm.Rtype37, 1, cfg.Color)
|
||||
this.module.ModuleRtask.SendToRtask(session, comm.Rtype38, 1)
|
||||
}
|
||||
if _hero.Lv == _hero.Star*comm.HeroStarLvRatio {
|
||||
this.module.ModuleRtask.SendToRtask(session, comm.Rtype37, 1, cfg.Color)
|
||||
this.module.ModuleRtask.SendToRtask(session, comm.Rtype38, 1)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,180 +0,0 @@
|
||||
package hero
|
||||
|
||||
import (
|
||||
"go_dreamfactory/comm"
|
||||
"go_dreamfactory/pb"
|
||||
cfg "go_dreamfactory/sys/configure/structs"
|
||||
"go_dreamfactory/utils"
|
||||
|
||||
"google.golang.org/protobuf/proto"
|
||||
)
|
||||
|
||||
//参数校验
|
||||
func (this *apiComp) ResonanceCheck(session comm.IUserSession, req *pb.HeroResonanceReq) (code pb.ErrorCode) {
|
||||
if req.HeroObjID == "" || len(req.CostObjID) == 0 {
|
||||
code = pb.ErrorCode_ReqParameterError
|
||||
return
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
/// 英雄共鸣
|
||||
func (this *apiComp) Resonance(session comm.IUserSession, req *pb.HeroResonanceReq) (code pb.ErrorCode, data proto.Message) {
|
||||
var (
|
||||
szCostHero map[string]int32 // k 卡牌配置id v 数量
|
||||
_hero *pb.DBHero
|
||||
ChangeList []*pb.DBHero // 变化的英雄数据
|
||||
_costMaphero map[string]*pb.DBHero
|
||||
count int32 // 共鸣升级次数
|
||||
)
|
||||
ChangeList = make([]*pb.DBHero, 0)
|
||||
szCostHero = make(map[string]int32, 0)
|
||||
_costMaphero = make(map[string]*pb.DBHero, 0)
|
||||
code = this.ResonanceCheck(session, req) // check
|
||||
if code != pb.ErrorCode_Success {
|
||||
return
|
||||
}
|
||||
|
||||
_hero, code = this.module.GetHeroByObjID(session.GetUserId(), req.HeroObjID) // 查询目标卡是否存在
|
||||
if code != pb.ErrorCode_Success {
|
||||
return
|
||||
}
|
||||
//获取原始星级
|
||||
conf := this.module.configure.GetHeroConfig(_hero.HeroID)
|
||||
if conf == nil {
|
||||
code = pb.ErrorCode_ConfigNoFound
|
||||
return
|
||||
}
|
||||
// 共鸣次数判断
|
||||
resonConfig := this.module.configure.GetHeroResonanceConfig(_hero.HeroID, conf.Star)
|
||||
if resonConfig == nil {
|
||||
code = pb.ErrorCode_ConfigNoFound
|
||||
return
|
||||
}
|
||||
|
||||
for _, k := range req.CostObjID {
|
||||
_costHero, c := this.module.GetHeroByObjID(session.GetUserId(), k) // 查询消耗卡是否存在
|
||||
if c != pb.ErrorCode_Success {
|
||||
code = c // 英雄被锁不能消耗
|
||||
return
|
||||
}
|
||||
if _costHero.Block {
|
||||
code = pb.ErrorCode_HeroIsLock
|
||||
}
|
||||
_costMaphero[k] = _costHero
|
||||
szCostHero[_costHero.HeroID] += 1
|
||||
}
|
||||
// 一次升级多级
|
||||
for _, v := range resonConfig.Heroneed {
|
||||
for k, v1 := range szCostHero {
|
||||
if k == v.T {
|
||||
if v1%v.N == 0 {
|
||||
if count == 0 {
|
||||
count = v1 / v.N
|
||||
}
|
||||
if count != v1/v.N {
|
||||
code = pb.ErrorCode_ReqParameterError
|
||||
return
|
||||
}
|
||||
} else {
|
||||
code = pb.ErrorCode_ReqParameterError
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if count == 0 {
|
||||
code = pb.ErrorCode_ReqParameterError
|
||||
return
|
||||
}
|
||||
if resonConfig.Maxnum < _hero.ResonateNum+count {
|
||||
code = pb.ErrorCode_HeroMaxResonate // 共鸣次数已满
|
||||
return
|
||||
}
|
||||
for k, v := range _costMaphero {
|
||||
code = this.module.DelCard(session.GetUserId(), v, szCostHero[v.HeroID])
|
||||
if code != pb.ErrorCode_Success {
|
||||
return
|
||||
}
|
||||
ChangeList = append(ChangeList, _costMaphero[k])
|
||||
}
|
||||
sz := make([]*cfg.Gameatn, 0) // 计算升级多次的消耗
|
||||
for _, v := range resonConfig.Need {
|
||||
sz = append(sz, &cfg.Gameatn{
|
||||
A: v.A,
|
||||
T: v.T,
|
||||
N: v.N * count,
|
||||
})
|
||||
}
|
||||
code = this.module.ConsumeRes(session, sz, true)
|
||||
if code != pb.ErrorCode_Success {
|
||||
return
|
||||
}
|
||||
|
||||
for k := range _costMaphero {
|
||||
if k == _hero.Id {
|
||||
_hero.SameCount = _costMaphero[k].SameCount
|
||||
break
|
||||
}
|
||||
}
|
||||
if _hero.SameCount == 0 {
|
||||
code = pb.ErrorCode_ReqParameterError
|
||||
return
|
||||
}
|
||||
if _hero.SameCount > 1 {
|
||||
_hero.SameCount -= 1
|
||||
newHero := this.module.modelHero.CloneNewHero(session.GetUserId(), _hero)
|
||||
ChangeList = append(ChangeList, newHero)
|
||||
}
|
||||
_hero.SameCount = 1
|
||||
_hero.ResonateNum += count
|
||||
_hero.DistributionResonate += resonConfig.Energy * count
|
||||
_hero.IsOverlying = false
|
||||
_heroMap := map[string]interface{}{
|
||||
"resonateNum": _hero.ResonateNum,
|
||||
"distributionResonate": _hero.DistributionResonate,
|
||||
"isOverlying": false,
|
||||
"sameCount": 1,
|
||||
"horoscopeProperty": _hero.HoroscopeProperty,
|
||||
}
|
||||
err := this.module.modelHero.ChangeList(session.GetUserId(), req.HeroObjID, _heroMap) // 修改英雄信息
|
||||
if err != nil {
|
||||
this.module.Errorf("update hero skill failed:%v", err)
|
||||
code = pb.ErrorCode_DBError
|
||||
return
|
||||
}
|
||||
// 返还对应初始星级的卡
|
||||
ChangeList = append(ChangeList, _hero)
|
||||
session.SendMsg(string(this.module.GetType()), "change", &pb.HeroChangePush{List: ChangeList})
|
||||
this.module.DispenseRes(session, resonConfig.Prize, true)
|
||||
session.SendMsg(string(this.module.GetType()), Resonance, &pb.HeroResonanceResp{Hero: _hero})
|
||||
|
||||
//英雄共鸣 【玩家名称】已将【英雄名称】共鸣至满级!
|
||||
if user := this.module.ModuleUser.GetUser(session.GetUserId()); user != nil {
|
||||
this.chat.SendSysChatToWorld(comm.ChatSystem10, nil, _hero.ResonateNum, 0, user.Name, _hero.HeroID)
|
||||
} else {
|
||||
this.module.Errorf("no found userdata uid:%s", session.GetUserId())
|
||||
}
|
||||
// 任务相关
|
||||
this.module.ModuleRtask.SendToRtask(session, comm.Rtype39, 1)
|
||||
this.module.ModuleRtask.SendToRtask(session, comm.Rtype127, _hero.Star, utils.ToInt32(_hero.HeroID), _hero.ResonateNum) //A星英雄共鸣N级
|
||||
this.module.ModuleRtask.SendToRtask(session, comm.Rtype40, 1, 1)
|
||||
cfg := this.module.configure.GetHeroConfig(_hero.HeroID)
|
||||
if cfg != nil {
|
||||
this.module.ModuleRtask.SendToRtask(session, comm.Rtype126, cfg.Race, _hero.ResonateNum)
|
||||
this.module.ModuleRtask.SendToRtask(session, comm.Rtype36, 1, cfg.Color, cfg.Job, cfg.Race, _hero.ResonateNum)
|
||||
//xx英雄满级、共鸣、觉醒至最高状态
|
||||
nextAwaken := this.module.configure.GetHeroAwakenConfig(_hero.HeroID, _hero.JuexingLv+1)
|
||||
if nextAwaken == nil { // 达到满级觉醒
|
||||
resonConfig := this.module.configure.GetHeroResonanceConfig(_hero.HeroID, cfg.Star)
|
||||
if resonConfig != nil && resonConfig.Maxnum == _hero.ResonateNum { // 共鸣满
|
||||
if _hero.Lv == _hero.Star*comm.HeroStarLvRatio {
|
||||
this.module.ModuleRtask.SendToRtask(session, comm.Rtype37, 1, cfg.Color)
|
||||
this.module.ModuleRtask.SendToRtask(session, comm.Rtype38, 1)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return
|
||||
}
|
@ -1,87 +0,0 @@
|
||||
package hero
|
||||
|
||||
import (
|
||||
"go_dreamfactory/comm"
|
||||
"go_dreamfactory/pb"
|
||||
|
||||
"google.golang.org/protobuf/proto"
|
||||
)
|
||||
|
||||
//参数校验
|
||||
func (this *apiComp) ResonanceResetCheck(session comm.IUserSession, req *pb.HeroResonanceResetReq) (code pb.ErrorCode) {
|
||||
if req.HeroObjID == "" {
|
||||
code = pb.ErrorCode_ReqParameterError
|
||||
return
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
/// 英雄共鸣
|
||||
func (this *apiComp) ResonanceReset(session comm.IUserSession, req *pb.HeroResonanceResetReq) (code pb.ErrorCode, data proto.Message) {
|
||||
var (
|
||||
_hero *pb.DBHero
|
||||
)
|
||||
code = this.ResonanceResetCheck(session, req) // check
|
||||
if code != pb.ErrorCode_Success {
|
||||
return
|
||||
}
|
||||
|
||||
_hero, code = this.module.GetHeroByObjID(session.GetUserId(), req.HeroObjID) // 查询目标卡是否存在
|
||||
if code != pb.ErrorCode_Success {
|
||||
code = pb.ErrorCode_HeroNoExist
|
||||
return
|
||||
}
|
||||
|
||||
if _hero.ResonateNum <= 0 { // 没有共鸣 不允许重置
|
||||
code = pb.ErrorCode_HeroNoResonate
|
||||
return
|
||||
}
|
||||
|
||||
// 共鸣次数判断
|
||||
//获取原始星级
|
||||
conf := this.module.configure.GetHeroConfig(_hero.HeroID)
|
||||
if conf == nil {
|
||||
code = pb.ErrorCode_ConfigNoFound
|
||||
return
|
||||
}
|
||||
resonConfig := this.module.configure.GetHeroResonanceConfig(_hero.HeroID, conf.Star)
|
||||
if resonConfig == nil {
|
||||
code = pb.ErrorCode_ConfigNoFound
|
||||
return
|
||||
}
|
||||
|
||||
if _hero.ResonateNum*resonConfig.Energy == _hero.DistributionResonate {
|
||||
code = pb.ErrorCode_HeroNotNeedResonate // 已经是重置状态
|
||||
return
|
||||
}
|
||||
|
||||
_costConfig, err1 := this.module.configure.GetHeroResonanceRestConfig()
|
||||
if err1 != nil {
|
||||
code = pb.ErrorCode_ConfigNoFound // 没找到配置消耗
|
||||
return
|
||||
}
|
||||
// 消耗校验
|
||||
code = this.module.ConsumeRes(session, _costConfig.Var, true)
|
||||
if code != pb.ErrorCode_Success {
|
||||
return
|
||||
}
|
||||
_hero.EnergyProperty = make(map[string]int32, 0)
|
||||
_hero.Energy = make(map[string]int32)
|
||||
_hero.DistributionResonate = _hero.ResonateNum * resonConfig.Energy
|
||||
_heroMap := map[string]interface{}{
|
||||
"distributionResonate": _hero.DistributionResonate,
|
||||
"energy": _hero.Energy,
|
||||
"isOverlying": false,
|
||||
"energyProperty": _hero.EnergyProperty,
|
||||
}
|
||||
|
||||
err1 = this.module.modelHero.ChangeList(session.GetUserId(), req.HeroObjID, _heroMap) // 修改英雄信息
|
||||
if err1 != nil {
|
||||
this.module.Errorf("update hero skill failed:%v", err1)
|
||||
code = pb.ErrorCode_DBError
|
||||
return
|
||||
}
|
||||
session.SendMsg(string(this.module.GetType()), ResonanceReset, &pb.HeroResonanceResetResp{Hero: _hero, Energy: _hero.ResonateNum})
|
||||
return
|
||||
}
|
@ -1,65 +0,0 @@
|
||||
package hero
|
||||
|
||||
import (
|
||||
"go_dreamfactory/comm"
|
||||
"go_dreamfactory/pb"
|
||||
|
||||
"google.golang.org/protobuf/proto"
|
||||
)
|
||||
|
||||
//参数校验
|
||||
func (this *apiComp) ResonanceUseEnergyCheck(session comm.IUserSession, req *pb.HeroResonanceUseEnergyReq) (code pb.ErrorCode) {
|
||||
if len(req.HeroObjID) == 0 || len(req.Energy) == 0 {
|
||||
code = pb.ErrorCode_ReqParameterError
|
||||
return
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
func (this *apiComp) ResonanceUseEnergy(session comm.IUserSession, req *pb.HeroResonanceUseEnergyReq) (code pb.ErrorCode, data proto.Message) {
|
||||
var (
|
||||
_hero *pb.DBHero
|
||||
totalEnergy int32
|
||||
)
|
||||
code = this.ResonanceUseEnergyCheck(session, req) // check
|
||||
if code != pb.ErrorCode_Success {
|
||||
return
|
||||
}
|
||||
|
||||
_hero, code = this.module.GetHeroByObjID(session.GetUserId(), req.HeroObjID) // 查询目标卡是否存在
|
||||
if code != pb.ErrorCode_Success {
|
||||
return
|
||||
}
|
||||
for _, v := range req.Energy {
|
||||
totalEnergy += v.UseEnergy
|
||||
}
|
||||
|
||||
if _hero.DistributionResonate < totalEnergy { // 能量点数不够
|
||||
code = pb.ErrorCode_HeroNoEnergy
|
||||
return
|
||||
}
|
||||
for _, v := range req.Energy {
|
||||
if v.UseEnergy > 0 {
|
||||
_hero.Energy[v.UseType] += v.UseEnergy
|
||||
}
|
||||
}
|
||||
_hero.DistributionResonate -= totalEnergy
|
||||
_heroMap := map[string]interface{}{
|
||||
"distributionResonate": _hero.DistributionResonate, // 减没有分配的能量
|
||||
"energy": _hero.Energy,
|
||||
"isOverlying": false,
|
||||
}
|
||||
|
||||
err1 := this.module.modelHero.ChangeList(session.GetUserId(), req.HeroObjID, _heroMap) // 修改英雄信息
|
||||
if err1 != nil {
|
||||
code = pb.ErrorCode_DBError
|
||||
this.module.Errorf("update hero skill failed:%v", err1)
|
||||
return
|
||||
}
|
||||
conf := this.module.configure.GetHeroConfig(_hero.HeroID)
|
||||
// 计算属性
|
||||
this.module.modelHero.setEnergyProperty(_hero, conf.Star)
|
||||
session.SendMsg(string(this.module.GetType()), ResonanceUseEnergy, &pb.HeroResonanceUseEnergyResp{Hero: _hero})
|
||||
return
|
||||
}
|
@ -3,6 +3,7 @@ package hero
|
||||
import (
|
||||
"go_dreamfactory/comm"
|
||||
"go_dreamfactory/pb"
|
||||
cfg "go_dreamfactory/sys/configure/structs"
|
||||
"go_dreamfactory/utils"
|
||||
|
||||
"google.golang.org/protobuf/proto"
|
||||
@ -10,7 +11,7 @@ import (
|
||||
|
||||
//参数校验
|
||||
func (this *apiComp) StrengthenUpSkillCheck(session comm.IUserSession, req *pb.HeroStrengthenUpSkillReq) (code pb.ErrorCode) {
|
||||
if req.HeroObjID == "" || len(req.CostCardObj) == 0 {
|
||||
if req.HeroObjID == "" || len(req.Item) == 0 {
|
||||
code = pb.ErrorCode_ReqParameterError
|
||||
return
|
||||
}
|
||||
@ -21,17 +22,11 @@ func (this *apiComp) StrengthenUpSkillCheck(session comm.IUserSession, req *pb.H
|
||||
/// 英雄技能升级
|
||||
func (this *apiComp) StrengthenUpSkill(session comm.IUserSession, req *pb.HeroStrengthenUpSkillReq) (code pb.ErrorCode, data proto.Message) {
|
||||
var (
|
||||
upSkillPos int32 // 升级的技能位置
|
||||
_hero *pb.DBHero // 操作的英雄
|
||||
ChangeList []*pb.DBHero // 推送 改变的英雄
|
||||
mapCostHero map[string]int32 // 消耗的技能卡
|
||||
mapCostObj map[string]*pb.DBHero // 消耗的技能卡对象
|
||||
costGold int64 // 金币消耗
|
||||
lvUpCount int32 // 技能升级的次数
|
||||
upSkillPos int32 // 升级的技能位置
|
||||
_hero *pb.DBHero // 操作的英雄
|
||||
cost []*cfg.Gameatn // 技能升级消耗
|
||||
lvUpCount int32 // 技能升级的次数
|
||||
)
|
||||
mapCostHero = make(map[string]int32, 0)
|
||||
mapCostObj = make(map[string]*pb.DBHero, 0)
|
||||
ChangeList = make([]*pb.DBHero, 0)
|
||||
|
||||
code = this.StrengthenUpSkillCheck(session, req) // check
|
||||
if code != pb.ErrorCode_Success {
|
||||
@ -47,50 +42,36 @@ func (this *apiComp) StrengthenUpSkill(session comm.IUserSession, req *pb.HeroSt
|
||||
code = pb.ErrorCode_HeroNoExist
|
||||
return
|
||||
}
|
||||
|
||||
for _, v := range req.CostCardObj { // 数组转 map
|
||||
mapCostHero[v]++
|
||||
for _, v1 := range req.Item {
|
||||
bFind := false
|
||||
for _, v := range heroCfg.Heroskillup {
|
||||
if v == v1 {
|
||||
bFind = true
|
||||
lvUpCount++ // 升级次数
|
||||
break
|
||||
}
|
||||
}
|
||||
if !bFind {
|
||||
code = pb.ErrorCode_ReqParameterError
|
||||
return
|
||||
}
|
||||
cost = append(cost, &cfg.Gameatn{
|
||||
A: "item",
|
||||
T: v1,
|
||||
N: 1,
|
||||
})
|
||||
}
|
||||
for k, v := range mapCostHero {
|
||||
costHero, c := this.module.GetHeroByObjID(session.GetUserId(), k) // 查询消耗卡是否存在
|
||||
if c != pb.ErrorCode_Success {
|
||||
code = c
|
||||
return
|
||||
// 消耗获取
|
||||
for i := 0; i < int(lvUpCount); i++ {
|
||||
if atn := this.module.configure.GetHeroSkillCost(heroCfg.Star); len(atn) > 0 {
|
||||
cost = append(cost, atn...)
|
||||
}
|
||||
if costHero.Block { // 锁定的卡不允许被消耗
|
||||
code = pb.ErrorCode_HeroIsLock
|
||||
return
|
||||
}
|
||||
if costHero.SameCount < v { // 数量校验
|
||||
code = pb.ErrorCode_HeroNoEnough
|
||||
return
|
||||
}
|
||||
tmp := this.module.configure.GetHeroConfig(costHero.HeroID) // 星级校验
|
||||
if tmp.Color != heroCfg.Color {
|
||||
code = pb.ErrorCode_HeroColorErr
|
||||
return
|
||||
}
|
||||
if tmp.Type != comm.CardTypeSkill { // 查看是不是升级卡
|
||||
code = pb.ErrorCode_HeroTypeErr
|
||||
return
|
||||
}
|
||||
expConf := this.module.configure.GetHeroExp(costHero.HeroID) // 消耗多少金币
|
||||
if expConf != nil {
|
||||
costGold += int64(expConf.Needgold * v)
|
||||
lvUpCount += expConf.Skilllevelup * v
|
||||
} else {
|
||||
lvUpCount += v // 计算技能升级次数
|
||||
}
|
||||
|
||||
mapCostObj[k] = costHero
|
||||
}
|
||||
// 检查金币消耗
|
||||
curGold := this.module.ModuleUser.QueryAttributeValue(session.GetUserId(), comm.ResGold)
|
||||
if curGold < costGold { // 金币不足
|
||||
code = pb.ErrorCode_GoldNoEnough
|
||||
|
||||
// 检查消耗
|
||||
if code = this.module.CheckRes(session, cost); code != pb.ErrorCode_Success {
|
||||
return
|
||||
}
|
||||
|
||||
for i := 0; i < int(lvUpCount); i++ { // 升级技能
|
||||
szIndex := make([]int32, 0)
|
||||
sz := make([]int32, 0)
|
||||
@ -115,54 +96,20 @@ func (this *apiComp) StrengthenUpSkill(session comm.IUserSession, req *pb.HeroSt
|
||||
_hero.NormalSkill[szIndex[upSkillPos]].SkillLv += 1
|
||||
}
|
||||
|
||||
code = this.module.ModuleUser.AddAttributeValue(session, comm.ResGold, -int32(costGold), true)
|
||||
if code != pb.ErrorCode_Success { // 金币不足
|
||||
code = pb.ErrorCode_GoldNoEnough
|
||||
if code = this.module.ConsumeRes(session, cost, true); code != pb.ErrorCode_Success {
|
||||
return
|
||||
}
|
||||
|
||||
for k, v := range mapCostObj {
|
||||
code = this.module.DelCard(session.GetUserId(), v, mapCostHero[k])
|
||||
if code != pb.ErrorCode_Success {
|
||||
code = this.module.ModuleUser.AddAttributeValue(session, comm.ResGold, int32(costGold), true)
|
||||
return
|
||||
}
|
||||
ChangeList = append(ChangeList, v)
|
||||
}
|
||||
// 堆叠情况
|
||||
if _hero.SameCount > 1 {
|
||||
_hero.SameCount -= 1
|
||||
sz := make([]*pb.SkillData, 0)
|
||||
|
||||
for _, v := range _hero.NormalSkill {
|
||||
sz = append(sz, &pb.SkillData{
|
||||
SkillID: v.SkillID,
|
||||
SkillLv: v.SkillLv,
|
||||
})
|
||||
v.SkillLv = 1
|
||||
}
|
||||
newHero := this.module.modelHero.CloneNewHero(session.GetUserId(), _hero)
|
||||
ChangeList = append(ChangeList, newHero)
|
||||
_hero.NormalSkill = sz
|
||||
}
|
||||
|
||||
_heroMap := map[string]interface{}{
|
||||
"normalSkill": _hero.NormalSkill,
|
||||
"isOverlying": false,
|
||||
"sameCount": 1,
|
||||
"horoscopeProperty": _hero.HoroscopeProperty,
|
||||
}
|
||||
_hero.SameCount = 1
|
||||
err1 := this.module.modelHero.ChangeList(session.GetUserId(), req.HeroObjID, _heroMap) // 修改英雄信息
|
||||
if err1 != nil {
|
||||
this.module.Errorf("update hero skill failed:%v", err1)
|
||||
code = pb.ErrorCode_DBError
|
||||
return
|
||||
}
|
||||
|
||||
//this.module.modelHero.ChangeHeroProperty(session, _hero) // 推送属性变化
|
||||
ChangeList = append(ChangeList, _hero)
|
||||
session.SendMsg(string(this.module.GetType()), "change", &pb.HeroChangePush{List: ChangeList})
|
||||
session.SendMsg(string(this.module.GetType()), StrengthenUpSkill, &pb.HeroStrengthenUpSkillResp{Hero: _hero})
|
||||
//英雄技能培养 【玩家名称】已将【英雄名称】技能培养至满级!
|
||||
if user := this.module.ModuleUser.GetUser(session.GetUserId()); user != nil {
|
||||
|
@ -11,7 +11,7 @@ import (
|
||||
|
||||
//参数校验
|
||||
func (this *apiComp) StrengthenUpStarCheck(session comm.IUserSession, req *pb.HeroStrengthenUpStarReq) (code pb.ErrorCode) {
|
||||
if req.HeroObjID == "" || len(req.HeroRace) == 0 {
|
||||
if req.HeroObjID == "" {
|
||||
code = pb.ErrorCode_ReqParameterError
|
||||
}
|
||||
|
||||
@ -21,25 +21,9 @@ func (this *apiComp) StrengthenUpStarCheck(session comm.IUserSession, req *pb.He
|
||||
/// 英雄升星
|
||||
func (this *apiComp) StrengthenUpStar(session comm.IUserSession, req *pb.HeroStrengthenUpStarReq) (code pb.ErrorCode, data proto.Message) {
|
||||
var (
|
||||
starConf *cfg.GameHeroStarupData // 配置表目标升星英雄信息
|
||||
costNeedHeroCount int32 // 消耗指定英雄的数量
|
||||
costRaceHeroCount int32 // 消耗种族英雄的数量
|
||||
_hero *pb.DBHero // 目标英雄
|
||||
tagHero *pb.DBHero // 消耗指定英雄
|
||||
mapCostHero map[string]int32 // 所有消耗英雄分类
|
||||
chanegCard []*pb.DBHero // 变化的英雄数据
|
||||
CostHeroObj map[string]*pb.DBHero // 所有消耗英雄分类
|
||||
starConf *cfg.GameHeroStarupData // 配置表目标升星英雄信息
|
||||
_hero *pb.DBHero // 目标英雄
|
||||
)
|
||||
mapCostHero = make(map[string]int32, 0)
|
||||
CostHeroObj = make(map[string]*pb.DBHero, 0)
|
||||
for _, v := range req.Hero {
|
||||
mapCostHero[v.CostCardObj] += v.Amount
|
||||
costNeedHeroCount += v.Amount
|
||||
}
|
||||
for _, v := range req.HeroRace {
|
||||
mapCostHero[v.CostCardObj] += v.Amount
|
||||
costRaceHeroCount += v.Amount
|
||||
}
|
||||
|
||||
code = this.StrengthenUpStarCheck(session, req) // check
|
||||
if code != pb.ErrorCode_Success {
|
||||
@ -63,111 +47,34 @@ func (this *apiComp) StrengthenUpStar(session comm.IUserSession, req *pb.HeroStr
|
||||
return
|
||||
}
|
||||
|
||||
// 优先校验数量对不对
|
||||
if starConf.Needheronum != costNeedHeroCount || starConf.Needracenum != costRaceHeroCount {
|
||||
code = pb.ErrorCode_ReqParameterError
|
||||
return
|
||||
}
|
||||
costNeedHeroCount = 0
|
||||
costRaceHeroCount = 0
|
||||
// 遍历所有消耗英雄
|
||||
for k, v := range mapCostHero {
|
||||
if tagHero, code = this.module.GetHeroByObjID(session.GetUserId(), k); code != pb.ErrorCode_Success { // 没有这个英雄
|
||||
return
|
||||
} else {
|
||||
if tagHero.Block { // 锁定的卡不允许被消耗
|
||||
code = pb.ErrorCode_HeroIsLock
|
||||
return
|
||||
}
|
||||
if tagHero.SameCount < v { // 校验数量
|
||||
code = pb.ErrorCode_ReqParameterError
|
||||
return
|
||||
}
|
||||
|
||||
if tagHero.HeroID == starConf.Needhero && tagHero.Star == starConf.Needherostar && tagHero.SameCount >= starConf.Needheronum {
|
||||
costNeedHeroCount += v
|
||||
}
|
||||
|
||||
for _, value := range starConf.Needrace { // 阵营校验
|
||||
// 获取配置表英雄阵营
|
||||
cfg := this.module.configure.GetHeroConfig(tagHero.HeroID)
|
||||
if cfg != nil {
|
||||
if cfg.Race == value {
|
||||
costRaceHeroCount += v
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
CostHeroObj[k] = tagHero
|
||||
}
|
||||
|
||||
if starConf.Needheronum > costNeedHeroCount || starConf.Needracenum > costRaceHeroCount {
|
||||
code = pb.ErrorCode_ReqParameterError
|
||||
if code = this.module.ConsumeRes(session, starConf.Needrace, true); code != pb.ErrorCode_Success {
|
||||
return
|
||||
}
|
||||
|
||||
// 金币消耗判断
|
||||
curGold := this.module.ModuleUser.QueryAttributeValue(session.GetUserId(), comm.ResGold)
|
||||
if curGold < int64(starConf.Gold) { // 金币不足
|
||||
code = pb.ErrorCode_GoldNoEnough
|
||||
return
|
||||
}
|
||||
|
||||
// 消耗道具
|
||||
code = this.module.ModuleUser.AddAttributeValue(session, comm.ResGold, -starConf.Gold, true) // 减少金币
|
||||
if code != pb.ErrorCode_Success {
|
||||
this.module.Errorf("cost gold failed ,count = %d", starConf.Gold)
|
||||
code = pb.ErrorCode_GoldNoEnough
|
||||
return
|
||||
}
|
||||
for k, v := range mapCostHero {
|
||||
code = this.module.DelCard(session.GetUserId(), CostHeroObj[k], v)
|
||||
if code != pb.ErrorCode_Success {
|
||||
this.module.Errorf("del hero err card:%s,count = %d", k, v)
|
||||
this.module.ModuleUser.AddAttributeValue(session, comm.ResGold, starConf.Gold, true) // 回退金币
|
||||
return
|
||||
}
|
||||
chanegCard = append(chanegCard, CostHeroObj[k])
|
||||
}
|
||||
// 加对应的天赋点数
|
||||
if len(starConf.Starup) > 0 {
|
||||
if code = this.module.DispenseRes(session, starConf.Starup, true); code != pb.ErrorCode_Success { // 加天赋点{
|
||||
this.module.Errorf("DispenseRes err:uid:%s,res:%v", session.GetUserId(), starConf.Starup)
|
||||
}
|
||||
}
|
||||
if _hero.SameCount > 1 { //有堆叠的情况
|
||||
// 克隆一个新的
|
||||
_hero.SameCount -= 1
|
||||
|
||||
newHero := this.module.modelHero.CloneNewHero(session.GetUserId(), _hero)
|
||||
chanegCard = append(chanegCard, newHero)
|
||||
}
|
||||
_hero.Star += 1
|
||||
_hero.SameCount = 1
|
||||
this.module.modelHero.PropertyCompute(_hero) // 重新计算属性
|
||||
_heroMap := map[string]interface{}{
|
||||
"star": _hero.Star,
|
||||
"sameCount": 1,
|
||||
"isOverlying": false,
|
||||
"talentProperty": _hero.TalentProperty,
|
||||
"juexProperty": _hero.JuexProperty,
|
||||
"horoscopeProperty": _hero.HoroscopeProperty,
|
||||
}
|
||||
|
||||
if heroConf != nil && heroConf.Type == comm.CardTypeStar { // 升星卡升星 修改heroid
|
||||
hid := this.module.configure.GetHeroSpriteStar(_hero.HeroID)
|
||||
if hid != "" {
|
||||
_hero.HeroID = hid
|
||||
_heroMap["heroID"] = _hero.HeroID
|
||||
}
|
||||
}
|
||||
// 保存数据
|
||||
err := this.module.modelHero.ChangeList(session.GetUserId(), _hero.Id, _heroMap)
|
||||
if err != nil {
|
||||
code = pb.ErrorCode_DBError
|
||||
this.module.Errorf("update hero skill failed:%v", err)
|
||||
this.module.Errorf("update hero star failed:%v", err)
|
||||
}
|
||||
this.module.modelHero.ChangeHeroProperty(session, _hero) // 重新计算属性
|
||||
|
||||
chanegCard = append(chanegCard, _hero)
|
||||
session.SendMsg(string(this.module.GetType()), "change", &pb.HeroChangePush{List: chanegCard})
|
||||
session.SendMsg(string(this.module.GetType()), StrengthenUpStar, &pb.HeroStrengthenUpStarResp{Hero: _hero})
|
||||
|
||||
//英雄升星 【玩家名称】已将【英雄名称】培养至6星!
|
||||
|
@ -3,22 +3,17 @@ package hero
|
||||
import (
|
||||
"go_dreamfactory/comm"
|
||||
"go_dreamfactory/pb"
|
||||
cfg "go_dreamfactory/sys/configure/structs"
|
||||
|
||||
"google.golang.org/protobuf/proto"
|
||||
)
|
||||
|
||||
//参数校验
|
||||
func (this *apiComp) StrengthenUplvCheck(session comm.IUserSession, req *pb.HeroStrengthenUplvReq) (code pb.ErrorCode) {
|
||||
if req.HeroObjID == "" || len(req.ExpCards) == 0 {
|
||||
if req.HeroObjID == "" || len(req.Item) == 0 {
|
||||
code = pb.ErrorCode_ReqParameterError
|
||||
return
|
||||
}
|
||||
for _, v := range req.ExpCards {
|
||||
if v.Value <= 0 || v.Key == "" {
|
||||
code = pb.ErrorCode_ReqParameterError
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
@ -27,73 +22,45 @@ func (this *apiComp) StrengthenUplvCheck(session comm.IUserSession, req *pb.Hero
|
||||
func (this *apiComp) StrengthenUplv(session comm.IUserSession, req *pb.HeroStrengthenUplvReq) (code pb.ErrorCode, data proto.Message) {
|
||||
|
||||
var (
|
||||
addExp int32 // 需要增加的经验
|
||||
costGold int64 // 需要消耗的资源
|
||||
_hero *pb.DBHero // 目标英雄
|
||||
_costExpHero map[string]*pb.DBHero // 消耗英雄
|
||||
minAddExp int32
|
||||
_changeHero []*pb.DBHero // 变化的英雄
|
||||
_mapCost map[string]int32 //
|
||||
addExp int32 // 需要增加的经验
|
||||
costGold int32 // 需要消耗的资源
|
||||
_hero *pb.DBHero // 目标英雄
|
||||
cost []*cfg.Gameatn // 消耗的道具
|
||||
)
|
||||
_costExpHero = make(map[string]*pb.DBHero, 0)
|
||||
_mapCost = make(map[string]int32, 0)
|
||||
for _, v := range req.ExpCards { // 数组转map
|
||||
_mapCost[v.Key] += v.Value
|
||||
}
|
||||
code = this.StrengthenUplvCheck(session, req) // check
|
||||
if code != pb.ErrorCode_Success {
|
||||
return
|
||||
}
|
||||
|
||||
_hero, code = this.module.GetHeroByObjID(session.GetUserId(), req.HeroObjID)
|
||||
if code != pb.ErrorCode_Success {
|
||||
return
|
||||
}
|
||||
// 只有英雄卡才能升级
|
||||
if _hero.CardType != comm.CardTypeHero && _hero.CardType != comm.CardTypeStar {
|
||||
code = pb.ErrorCode_HeroTypeErr
|
||||
return
|
||||
}
|
||||
for k, v := range _mapCost {
|
||||
_expHero, c := this.module.GetHeroByObjID(session.GetUserId(), k) // 校验需要消耗经验卡牌的对象是否存在
|
||||
code = c
|
||||
if code != pb.ErrorCode_Success {
|
||||
return
|
||||
}
|
||||
if _expHero.Block { // 锁定的卡不允许被消耗
|
||||
code = pb.ErrorCode_HeroIsLock
|
||||
return
|
||||
}
|
||||
if _expHero.CardType != comm.CardTypeLevel {
|
||||
code = pb.ErrorCode_HeroTypeErr
|
||||
return
|
||||
}
|
||||
if v > _expHero.SameCount { // 校验数量
|
||||
code = pb.ErrorCode_HeroNoEnough
|
||||
return
|
||||
for k, v := range req.Item {
|
||||
if v == 0 {
|
||||
continue
|
||||
}
|
||||
cost = append(cost, &cfg.Gameatn{
|
||||
A: "item",
|
||||
T: k,
|
||||
N: v,
|
||||
})
|
||||
// 查询 本次消耗会获得多少经验
|
||||
expConf := this.module.configure.GetHeroExp(_expHero.HeroID)
|
||||
if expConf != nil {
|
||||
addExp += expConf.Heroexp * v
|
||||
if expConf := this.module.configure.GetHeroExp(k); expConf != nil {
|
||||
addExp += expConf.Exp * v
|
||||
costGold += expConf.Needgold * v
|
||||
}
|
||||
costGold += int64(expConf.Needgold * v) // 需要消耗的金币
|
||||
if _expHero.SameCount < v { // 消耗经验卡片数量不足
|
||||
code = pb.ErrorCode_HeroNoEnough
|
||||
return
|
||||
}
|
||||
if minAddExp == 0 {
|
||||
minAddExp = expConf.Heroexp //初始化
|
||||
} else if minAddExp > expConf.Heroexp {
|
||||
minAddExp = expConf.Heroexp // 取出最小的经验卡
|
||||
}
|
||||
_costExpHero[k] = _expHero
|
||||
}
|
||||
cost = append(cost, &cfg.Gameatn{
|
||||
A: "attr",
|
||||
T: "gold",
|
||||
N: costGold,
|
||||
})
|
||||
// 金币消耗判断
|
||||
curGold := this.module.ModuleUser.QueryAttributeValue(session.GetUserId(), comm.ResGold)
|
||||
if curGold < costGold { // 金币不足
|
||||
code = pb.ErrorCode_GoldNoEnough
|
||||
if code = this.module.CheckRes(session, cost); code != pb.ErrorCode_Success {
|
||||
return
|
||||
}
|
||||
|
||||
if addExp == 0 {
|
||||
code = pb.ErrorCode_HeroExpTypeErr
|
||||
return
|
||||
@ -105,44 +72,27 @@ func (this *apiComp) StrengthenUplv(session comm.IUserSession, req *pb.HeroStren
|
||||
}
|
||||
curLv := _hero.Lv
|
||||
// 执行升级逻辑
|
||||
newhero, _, code := this.module.modelHero.AddCardExp(session, _hero, addExp) // 加经验
|
||||
_, code = this.module.modelHero.AddCardExp(session, _hero, addExp) // 加经验
|
||||
if code != pb.ErrorCode_Success {
|
||||
return
|
||||
}
|
||||
iLvUp := _hero.Lv - curLv
|
||||
// 消耗金币
|
||||
code = this.module.ModuleUser.AddAttributeValue(session, comm.ResGold, -int32(costGold), true)
|
||||
if code != pb.ErrorCode_Success { // 金币不足
|
||||
code = pb.ErrorCode_GoldNoEnough
|
||||
if code = this.module.ConsumeRes(session, cost, true); code != pb.ErrorCode_Success { //道具扣除
|
||||
code = pb.ErrorCode_ItemsNoEnough
|
||||
return
|
||||
}
|
||||
|
||||
// 删除经验卡
|
||||
for k, v := range _mapCost {
|
||||
err1 := this.module.modelHero.consumeHeroCard(session.GetUserId(), _costExpHero[k], v)
|
||||
if err1 != nil {
|
||||
code = pb.ErrorCode_HeroNoEnough
|
||||
this.module.Errorf("delete err failed err:%T!", err1)
|
||||
this.module.ModuleUser.AddAttributeValue(session, comm.ResGold, int32(costGold), true) // 回退金币
|
||||
return
|
||||
}
|
||||
_changeHero = append(_changeHero, _costExpHero[k])
|
||||
}
|
||||
if iLvUp > 0 {
|
||||
this.module.modelHero.ChangeHeroProperty(session, _hero) // 重新计算属性值
|
||||
}
|
||||
|
||||
_changeHero = append(_changeHero, _hero) // 升级后的英雄 hero id 不变
|
||||
if newhero != nil {
|
||||
_changeHero = append(_changeHero, newhero) // 原来的英雄 只是数量变化了
|
||||
}
|
||||
//英雄升级 【玩家名称】已将【英雄名称】培养至60级!
|
||||
if user := this.module.ModuleUser.GetUser(session.GetUserId()); user != nil {
|
||||
this.chat.SendSysChatToWorld(comm.ChatSystem7, nil, _hero.Lv, 0, user.Name, _hero.HeroID)
|
||||
} else {
|
||||
this.module.Errorf("no found userdata uid:%s", session.GetUserId())
|
||||
}
|
||||
session.SendMsg(string(this.module.GetType()), "change", &pb.HeroChangePush{List: _changeHero})
|
||||
session.SendMsg(string(this.module.GetType()), StrengthenUplv, &pb.HeroStrengthenUplvResp{Hero: _hero})
|
||||
return
|
||||
}
|
||||
|
@ -6,44 +6,46 @@ import (
|
||||
"go_dreamfactory/pb"
|
||||
"go_dreamfactory/sys/configure"
|
||||
cfg "go_dreamfactory/sys/configure/structs"
|
||||
"sync"
|
||||
|
||||
"go_dreamfactory/lego/core"
|
||||
"go_dreamfactory/utils"
|
||||
)
|
||||
|
||||
const (
|
||||
equip_suit = "game_equipsuit.json" //装备套装表
|
||||
new_hero = "game_hero.json" //英雄
|
||||
hero_stargrow = "game_herostargrow.json" //英雄品质系数
|
||||
hero_levelgrow = "game_herolevelgrow.json" //英雄成长系数
|
||||
hero_starup = "game_herostarup.json" // 升星
|
||||
hero_levelup = "game_herolevelup.json" //英雄等级基础属性
|
||||
hero_exp = "game_heroexp.json" // 升级
|
||||
hero_skillup = "game_heroskilllevel.json" // 英雄技能升级
|
||||
game_skillatk = "game_skillatk.json" // 英雄技能
|
||||
hero_resonance = "game_heroresonance.json" // 英雄共鸣
|
||||
hero_comatn = "game_comatn.json" // 英雄共鸣重置
|
||||
hero_awaken = "game_heroawaken.json" // 英雄觉醒
|
||||
hero_drawcard = "game_drawcard.json" // 抽卡
|
||||
hero_drawupdraw = "game_drawupdraw.json" // 抽卡概率调整
|
||||
hero_drawcost = "game_drawcost.json" // 抽卡消耗
|
||||
hero_fusion = "game_herofusion.json" // 卡牌融合
|
||||
hero_starupsp = "game_herostarupsp.json" // 精灵升星
|
||||
hero_talentskill = "game_talentskill.json" // 天赋
|
||||
hero_talent = "game_herotalent.json" // 天赋详细数据
|
||||
hero_itembox = "game_itembox.json" // 天赋详细数据
|
||||
equip_suit = "game_equipsuit.json" //装备套装表
|
||||
new_hero = "game_hero.json" //英雄
|
||||
hero_stargrow = "game_herostargrow.json" //英雄品质系数
|
||||
hero_levelgrow = "game_herolevelgrow.json" //英雄成长系数
|
||||
hero_starup = "game_herostarup.json" // 升星
|
||||
hero_levelup = "game_herolevelup.json" //英雄等级基础属性
|
||||
hero_exp = "game_heroexp.json" // 升级
|
||||
hero_skillup = "game_heroskilllevel.json" // 英雄技能升级
|
||||
game_skillatk = "game_skillatk.json" // 英雄技能
|
||||
//hero_resonance = "game_heroresonance.json" // 英雄共鸣
|
||||
//hero_comatn = "game_comatn.json" // 英雄共鸣重置
|
||||
hero_awaken = "game_heroawaken.json" // 英雄觉醒
|
||||
hero_drawcard = "game_drawcard.json" // 抽卡
|
||||
hero_drawupdraw = "game_drawupdraw.json" // 抽卡概率调整
|
||||
hero_drawcost = "game_drawcost.json" // 抽卡消耗
|
||||
hero_fusion = "game_herofusion.json" // 卡牌融合
|
||||
hero_starupsp = "game_herostarupsp.json" // 精灵升星
|
||||
hero_talentskill = "game_talentskill.json" // 天赋
|
||||
hero_talent = "game_herotalent.json" // 天赋详细数据
|
||||
hero_itembox = "game_itembox.json" // 天赋详细数据
|
||||
game_shopitem = "game_shopitem.json"
|
||||
hero_skill = "game_heroskill.json"
|
||||
)
|
||||
|
||||
///配置管理组件
|
||||
type configureComp struct {
|
||||
modules.MCompConfigure
|
||||
hlock sync.RWMutex
|
||||
drawCardCfg map[string]map[int32][]*cfg.GameDrawCardData // 第一个key 卡池id 第二个key 星级
|
||||
//map["base_pool1"]map[3]*cfg.Game_drawCardData
|
||||
awakenMap map[int64]*cfg.GameHeroAwakenData
|
||||
resonanceMap map[int64]*cfg.GameHeroResonanceData
|
||||
starMap map[int64]*cfg.GameHeroStarupData
|
||||
module *Hero
|
||||
awakenMap map[int64]*cfg.GameHeroAwakenData
|
||||
|
||||
starMap map[int64]*cfg.GameHeroStarupData
|
||||
module *Hero
|
||||
}
|
||||
|
||||
//组件初始化接口
|
||||
@ -52,15 +54,15 @@ func (this *configureComp) Init(service core.IService, module core.IModule, comp
|
||||
err = this.MCompConfigure.Init(service, module, comp, options)
|
||||
this.module = module.(*Hero)
|
||||
err = this.LoadMultiConfigure(map[string]interface{}{
|
||||
equip_suit: cfg.NewGameEquipSuit,
|
||||
new_hero: cfg.NewGameHero,
|
||||
hero_stargrow: cfg.NewGameHeroStargrow,
|
||||
hero_levelgrow: cfg.NewGameHeroLevelgrow,
|
||||
hero_levelup: cfg.NewGameHeroLevelup,
|
||||
hero_exp: cfg.NewGameHeroExp,
|
||||
hero_skillup: cfg.NewGameHeroSkillLevel,
|
||||
game_skillatk: cfg.NewGameSkillAtk,
|
||||
hero_comatn: cfg.NewGameComAtn,
|
||||
equip_suit: cfg.NewGameEquipSuit,
|
||||
new_hero: cfg.NewGameHero,
|
||||
hero_stargrow: cfg.NewGameHeroStargrow,
|
||||
hero_levelgrow: cfg.NewGameHeroLevelgrow,
|
||||
hero_levelup: cfg.NewGameHeroLevelup,
|
||||
hero_exp: cfg.NewGameHeroExp,
|
||||
hero_skillup: cfg.NewGameHeroSkillLevel,
|
||||
game_skillatk: cfg.NewGameSkillAtk,
|
||||
//hero_comatn: cfg.NewGameComAtn,
|
||||
hero_drawcard: cfg.NewGameDrawCard,
|
||||
hero_fusion: cfg.NewGameHerofusion,
|
||||
hero_starupsp: cfg.NewGameHeroStarupSp,
|
||||
@ -68,12 +70,15 @@ func (this *configureComp) Init(service core.IService, module core.IModule, comp
|
||||
hero_talent: cfg.NewGameHeroTalent,
|
||||
hero_itembox: cfg.NewGameItemBox,
|
||||
game_shopitem: cfg.NewGameShopitem,
|
||||
hero_skill: cfg.NewGameHeroSkill,
|
||||
})
|
||||
this.drawCardCfg = make(map[string]map[int32][]*cfg.GameDrawCardData, 0)
|
||||
configure.RegisterConfigure(hero_drawcard, cfg.NewGameDrawCard, this.SetHeroDrawConfig)
|
||||
this.awakenMap = make(map[int64]*cfg.GameHeroAwakenData, 0)
|
||||
configure.RegisterConfigure(hero_awaken, cfg.NewGameHeroAwaken, func() {
|
||||
if v, err := this.GetConfigure(hero_awaken); err == nil {
|
||||
this.hlock.Lock()
|
||||
defer this.hlock.Unlock()
|
||||
if _configure, ok := v.(*cfg.GameHeroAwaken); ok {
|
||||
for _, v := range _configure.GetDataList() {
|
||||
this.awakenMap[int64(utils.ToInt32(v.Hid)<<8)+int64(v.Phase)] = v
|
||||
@ -85,26 +90,14 @@ func (this *configureComp) Init(service core.IService, module core.IModule, comp
|
||||
err = fmt.Errorf("%T no is *cfg.Game_drawCard", v)
|
||||
}
|
||||
})
|
||||
// 共鸣
|
||||
this.resonanceMap = make(map[int64]*cfg.GameHeroResonanceData, 0)
|
||||
configure.RegisterConfigure(hero_resonance, cfg.NewGameHeroResonance, func() {
|
||||
if v, err := this.GetConfigure(hero_resonance); err == nil {
|
||||
if _configure, ok := v.(*cfg.GameHeroResonance); ok {
|
||||
for _, v := range _configure.GetDataList() {
|
||||
this.resonanceMap[int64(utils.ToInt32(v.Hid)<<8)+int64(v.Star)] = v
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
} else {
|
||||
err = fmt.Errorf("%T no is *cfg.Game_drawCard", v)
|
||||
}
|
||||
})
|
||||
// 升星
|
||||
this.starMap = make(map[int64]*cfg.GameHeroStarupData, 0)
|
||||
configure.RegisterConfigure(hero_starup, cfg.NewGameHeroStarup, func() {
|
||||
if v, err := this.GetConfigure(hero_starup); err == nil {
|
||||
if _configure, ok := v.(*cfg.GameHeroStarup); ok {
|
||||
this.hlock.Lock()
|
||||
defer this.hlock.Unlock()
|
||||
for _, v := range _configure.GetDataList() {
|
||||
this.starMap[int64(utils.ToInt32(v.Id)<<8)+int64(v.Star)] = v
|
||||
}
|
||||
@ -124,9 +117,15 @@ func (this *configureComp) GetHeroStarupConfig(hid string, star int32) *cfg.Game
|
||||
return this.starMap[int64(utils.ToInt32(hid)<<8)+int64(star)]
|
||||
}
|
||||
|
||||
// 通过英雄配置ID获取共鸣配置信息
|
||||
func (this *configureComp) GetHeroResonanceConfig(hid string, star int32) *cfg.GameHeroResonanceData {
|
||||
return this.resonanceMap[int64(utils.ToInt32(hid)<<8)+int64(star)]
|
||||
// 获取当前英雄最高星级
|
||||
func (this *configureComp) GetHeroMaxStar(hid string, curStar int32) int32 {
|
||||
var star int32
|
||||
for star = curStar; star < 100; star++ {
|
||||
if _, ok := this.starMap[int64(utils.ToInt32(hid)<<8)+int64(star+1)]; !ok {
|
||||
return star
|
||||
}
|
||||
}
|
||||
return star
|
||||
}
|
||||
|
||||
func (this *configureComp) GetHeroAwakenConfig(hid string, phase int32) *cfg.GameHeroAwakenData {
|
||||
@ -376,20 +375,6 @@ func (this *configureComp) GetHeroSkillMaxLvConfig(skillId uint32) int32 {
|
||||
return 0
|
||||
}
|
||||
|
||||
func (this *configureComp) GetHeroResonanceRestConfig() (data *cfg.GameComAtnData, err error) {
|
||||
var (
|
||||
v interface{}
|
||||
)
|
||||
if v, err = this.GetConfigure(hero_comatn); err == nil {
|
||||
if configure, ok := v.(*cfg.GameComAtn); ok {
|
||||
data = configure.Get("hero_reset")
|
||||
return
|
||||
}
|
||||
}
|
||||
this.module.Errorf("cfg.GameComAtnData GetHeroResonanceRestConfig:id = hero_reset")
|
||||
return
|
||||
}
|
||||
|
||||
// 获取卡牌合成配置
|
||||
func (this *configureComp) GetHeroFucionConfig(cid string) (data *cfg.GameHerofusionData) {
|
||||
|
||||
@ -516,3 +501,15 @@ func (this *configureComp) GetEquipsuit(id int32) (configure *cfg.GameEquipSuitD
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
func (this *configureComp) GetHeroSkillCost(star int32) (cost []*cfg.Gameatn) {
|
||||
|
||||
if v, err := this.GetConfigure(hero_skill); err == nil {
|
||||
if configure, ok := v.(*cfg.GameHeroSkill); ok {
|
||||
return configure.Get(star).Needgold
|
||||
}
|
||||
} else {
|
||||
err = fmt.Errorf("%T no is *cfg.GameHeroExp", v)
|
||||
}
|
||||
return
|
||||
}
|
||||
|
@ -318,30 +318,6 @@ func (this *ModelHero) setJuexingProperty(hero *pb.DBHero, key string, value int
|
||||
}
|
||||
}
|
||||
|
||||
// 设置共鸣能量点数属性
|
||||
func (this *ModelHero) setEnergyProperty(hero *pb.DBHero, star int32) {
|
||||
|
||||
resonConfig := this.moduleHero.configure.GetHeroResonanceConfig(hero.HeroID, star)
|
||||
if resonConfig == nil {
|
||||
return
|
||||
}
|
||||
EnergyProperty := make(map[string]int32) //副属性
|
||||
for k, v := range hero.Energy {
|
||||
if k == comm.ResonanceHpPro {
|
||||
EnergyProperty[comm.Hp] += int32(math.Floor(float64(resonConfig.Hppro*v) / 1000 * float64(hero.Property[comm.Hp])))
|
||||
} else if k == comm.ResonanceAtkPro {
|
||||
EnergyProperty[comm.Atk] += int32(math.Floor(float64(resonConfig.Atkpro*v) / 1000 * float64(hero.Property[comm.Atk])))
|
||||
} else if k == comm.ResonanceDefPro {
|
||||
EnergyProperty[comm.Def] += int32(math.Floor(float64(resonConfig.Defpro*v) / 1000 * float64(hero.Property[comm.Def])))
|
||||
}
|
||||
}
|
||||
_heroMap := make(map[string]interface{}, 0)
|
||||
_heroMap["enegryProperty"] = EnergyProperty
|
||||
if err := this.ChangeList(hero.Uid, hero.Id, _heroMap); err != nil {
|
||||
this.moduleHero.Errorf("mergeenegryProperty err %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
// 设置装备属性
|
||||
func (this *ModelHero) setEquipProperty(hero *pb.DBHero, equip []*pb.DB_Equipment) {
|
||||
|
||||
@ -567,7 +543,7 @@ func (this *ModelHero) cleanData(uid string) {
|
||||
}
|
||||
}
|
||||
|
||||
func (this *ModelHero) AddCardExp(session comm.IUserSession, hero *pb.DBHero, exp int32) (newhero *pb.DBHero, curAddExp int32, code pb.ErrorCode) {
|
||||
func (this *ModelHero) AddCardExp(session comm.IUserSession, hero *pb.DBHero, exp int32) (curAddExp int32, code pb.ErrorCode) {
|
||||
var (
|
||||
preLv int32 //加经验之前的等级
|
||||
curExp int32 // 加经验之后的经验
|
||||
@ -623,10 +599,7 @@ func (this *ModelHero) AddCardExp(session comm.IUserSession, hero *pb.DBHero, ex
|
||||
if curAddExp != 0 {
|
||||
curAddExp = exp // 真正加的经验
|
||||
}
|
||||
if hero.SameCount > 1 { //有堆叠的情况
|
||||
hero.SameCount -= 1
|
||||
newhero = this.CloneNewHero(session.GetUserId(), hero) // 克隆一个新的
|
||||
}
|
||||
|
||||
this.moduleHero.Debugf("add hero exp :old lv:%d,old exp:%d,new lv:%d,new exp:%d,addexp:%d", hero.Lv, hero.Exp, curLv, curExp, exp)
|
||||
update["lv"] = curLv
|
||||
update["exp"] = curExp
|
||||
@ -658,12 +631,9 @@ func (this *ModelHero) AddCardExp(session comm.IUserSession, hero *pb.DBHero, ex
|
||||
//xx英雄满级、共鸣、觉醒至最高状态
|
||||
nextAwaken := this.moduleHero.configure.GetHeroAwakenConfig(hero.HeroID, hero.JuexingLv+1)
|
||||
if nextAwaken == nil { // 达到满级觉醒
|
||||
resonConfig := this.moduleHero.configure.GetHeroResonanceConfig(hero.HeroID, cfg.Star)
|
||||
if resonConfig != nil && resonConfig.Maxnum == hero.ResonateNum { // 共鸣满
|
||||
if hero.Lv == hero.Star*comm.HeroStarLvRatio {
|
||||
this.moduleHero.ModuleRtask.SendToRtask(session, comm.Rtype37, 1, cfg.Color)
|
||||
this.moduleHero.ModuleRtask.SendToRtask(session, comm.Rtype38, 1)
|
||||
}
|
||||
if hero.Lv == hero.Star*comm.HeroStarLvRatio {
|
||||
this.moduleHero.ModuleRtask.SendToRtask(session, comm.Rtype37, 1, cfg.Color)
|
||||
this.moduleHero.ModuleRtask.SendToRtask(session, comm.Rtype38, 1)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -218,16 +218,7 @@ func (this *Hero) GetSpecifiedHero(session comm.IUserSession, heroConfId string,
|
||||
return
|
||||
}
|
||||
// 获取最大星级
|
||||
for i := 1; ; i++ {
|
||||
starConf := this.configure.GetHeroStarupConfig(cid, conf.Star+int32(i))
|
||||
if starConf == nil {
|
||||
break
|
||||
}
|
||||
if starConf != nil && starConf.Gold == 0 {
|
||||
maxStar = star + int32(i)
|
||||
break
|
||||
}
|
||||
}
|
||||
maxStar = this.configure.GetHeroMaxStar(cid, conf.Star)
|
||||
|
||||
maxLv := this.configure.GetHeroStargrowConfigByStar(maxStar) // 最大等级
|
||||
if star > maxStar || lv > maxLv {
|
||||
@ -304,7 +295,6 @@ func (this *Hero) CreateRepeatHeros(session comm.IUserSession, heros map[string]
|
||||
func (this *Hero) AddHeroExp(session comm.IUserSession, heroObjID string, exp int32) (curAddExp int32, code pb.ErrorCode) {
|
||||
var (
|
||||
_hero *pb.DBHero
|
||||
newhero *pb.DBHero
|
||||
_changeHero []*pb.DBHero // 变化的英雄
|
||||
)
|
||||
if heroObjID == "" {
|
||||
@ -315,14 +305,12 @@ func (this *Hero) AddHeroExp(session comm.IUserSession, heroObjID string, exp in
|
||||
return
|
||||
}
|
||||
|
||||
newhero, curAddExp, code = this.modelHero.AddCardExp(session, _hero, exp)
|
||||
curAddExp, code = this.modelHero.AddCardExp(session, _hero, exp)
|
||||
if code != pb.ErrorCode_Success {
|
||||
return
|
||||
}
|
||||
_changeHero = append(_changeHero, _hero) // 升级后的英雄 hero id 不变
|
||||
if newhero != nil {
|
||||
_changeHero = append(_changeHero, newhero) // 原来的英雄 只是数量变化了
|
||||
}
|
||||
|
||||
session.SendMsg(string(this.GetType()), "change", &pb.HeroChangePush{List: _changeHero})
|
||||
return
|
||||
}
|
||||
@ -656,16 +644,7 @@ func (this *Hero) GetAllMaxHero(session comm.IUserSession) (code pb.ErrorCode) {
|
||||
continue // 走到这里说明配置表没有配置数据
|
||||
}
|
||||
// 获取最大星级
|
||||
for i := 1; ; i++ {
|
||||
starConf := this.configure.GetHeroStarupConfig(cid, v.Star+int32(i))
|
||||
if starConf == nil {
|
||||
break
|
||||
}
|
||||
if starConf != nil && starConf.Gold == 0 {
|
||||
maxStar = v.Star + int32(i)
|
||||
break
|
||||
}
|
||||
}
|
||||
maxStar = this.configure.GetHeroMaxStar(cid, v.Star)
|
||||
|
||||
maxLv := this.configure.GetHeroStargrowConfigByStar(maxStar) // 最大等级
|
||||
|
||||
|
@ -5,7 +5,6 @@ import (
|
||||
"go_dreamfactory/modules"
|
||||
"go_dreamfactory/sys/configure"
|
||||
cfg "go_dreamfactory/sys/configure/structs"
|
||||
"sync"
|
||||
)
|
||||
|
||||
const (
|
||||
@ -18,7 +17,6 @@ const (
|
||||
type configureComp struct {
|
||||
modules.MCompConfigure
|
||||
module *Mline
|
||||
hlock sync.RWMutex
|
||||
}
|
||||
|
||||
//组件初始化接口
|
||||
|
@ -238,26 +238,38 @@ func (this *ModuleBase) SendMsgToCUsers(mainType, subType string, msg proto.Mess
|
||||
|
||||
// 只校验资源 参数 atn格式
|
||||
func (this *ModuleBase) CheckRes(session comm.IUserSession, res []*cfg.Gameatn) (code pb.ErrorCode) {
|
||||
//校验消费资源是否充足
|
||||
var (
|
||||
items map[string]int32 // 道具背包 批量处理
|
||||
attrs map[string]int32 // 属性
|
||||
)
|
||||
items = make(map[string]int32, 0)
|
||||
attrs = make(map[string]int32, 0)
|
||||
for _, v := range res {
|
||||
if v.A == comm.AttrType { //用户属性资源
|
||||
if amount := this.ModuleUser.QueryAttributeValue(session.GetUserId(), v.T); amount < int64(v.N) {
|
||||
code = pb.ErrorCode_ResNoEnough
|
||||
this.Warnf("道具不足:A:%s,T:%s,N:%d", v.A, v.T, v.N)
|
||||
return
|
||||
}
|
||||
} else if v.A == comm.ItemType { //道具资源
|
||||
// if resID, err = strconv.Atoi(v.T); err != nil {
|
||||
// code = pb.ErrorCode_ConfigurationException
|
||||
// return
|
||||
// }
|
||||
if amount := this.ModuleItems.QueryItemAmount(session.GetUserId(), v.T); amount < uint32(v.N) {
|
||||
code = pb.ErrorCode_ResNoEnough
|
||||
this.Warnf("道具不足:A:%s,T:%s,N:%d", v.A, v.T, v.N)
|
||||
return
|
||||
}
|
||||
switch v.A {
|
||||
case comm.AttrType:
|
||||
attrs[v.T] = v.N
|
||||
case comm.ItemType:
|
||||
items[v.T] = v.N
|
||||
default:
|
||||
this.Errorf("not found res type") // 找不到资源类型
|
||||
}
|
||||
}
|
||||
// 校验数量
|
||||
for k, v := range attrs {
|
||||
if this.ModuleUser.QueryAttributeValue(session.GetUserId(), k) < int64(v) {
|
||||
code = pb.ErrorCode_ResNoEnough
|
||||
this.Warnf("资源不足", log.Field{Key: "uid", Value: session.GetUserId()}, log.Field{Key: "T", Value: k}, log.Field{Key: "N", Value: v})
|
||||
return
|
||||
}
|
||||
}
|
||||
for k, v := range items { //校验消费资源是否充足
|
||||
if int32(this.ModuleItems.QueryItemAmount(session.GetUserId(), k)) < v {
|
||||
code = pb.ErrorCode_ResNoEnough
|
||||
this.Warnf("道具不足", log.Field{Key: "uid", Value: session.GetUserId()}, log.Field{Key: "T", Value: k}, log.Field{Key: "N", Value: v})
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
@ -274,6 +286,7 @@ func (this *ModuleBase) ConsumeRes(session comm.IUserSession, res []*cfg.Gameatn
|
||||
switch v.A {
|
||||
case comm.AttrType:
|
||||
attrs[v.T] -= v.N
|
||||
|
||||
case comm.ItemType:
|
||||
items[v.T] -= v.N
|
||||
default:
|
||||
|
@ -47,11 +47,11 @@ func (this *apiComp) Battlestart(session comm.IUserSession, req *pb.WorldtaskBat
|
||||
resp *pb.WorldtaskBattleStartResp
|
||||
)
|
||||
code, record = b.CreateEveBattle(session, &pb.BattleEVEReq{
|
||||
Ptype: pb.PlayType_rtask,
|
||||
Format: req.Battle,
|
||||
Sysformat: []int32{battleConf.DefaultHero},
|
||||
Backupformat: []int32{battleConf.AssistTeam},
|
||||
Buleformat: battleConf.FormatList,
|
||||
Ptype: pb.PlayType_rtask,
|
||||
Format: req.Battle,
|
||||
// Sysformat: []int32{battleConf.DefaultHero},
|
||||
// Backupformat: []int32{battleConf.AssistTeam},
|
||||
Buleformat: battleConf.FormatList,
|
||||
})
|
||||
|
||||
if code != pb.ErrorCode_Success {
|
||||
|
1175
pb/hero_msg.pb.go
1175
pb/hero_msg.pb.go
File diff suppressed because it is too large
Load Diff
@ -14,6 +14,7 @@ type GameArenaChallengeNpcData struct {
|
||||
Id int32
|
||||
OpenCond int32
|
||||
OpenValue int32
|
||||
BattleReadyID int32
|
||||
MonsterformatId []int32
|
||||
StroyIdFront int32
|
||||
StroyIdAfter int32
|
||||
@ -33,6 +34,7 @@ func (_v *GameArenaChallengeNpcData)Deserialize(_buf map[string]interface{}) (er
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["id"].(float64); !_ok_ { err = errors.New("id error"); return }; _v.Id = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["open_cond"].(float64); !_ok_ { err = errors.New("open_cond error"); return }; _v.OpenCond = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["open_value"].(float64); !_ok_ { err = errors.New("open_value error"); return }; _v.OpenValue = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["BattleReadyID"].(float64); !_ok_ { err = errors.New("BattleReadyID error"); return }; _v.BattleReadyID = int32(_tempNum_) }
|
||||
{
|
||||
var _arr_ []interface{}
|
||||
var _ok_ bool
|
||||
|
42
sys/configure/structs/Game.BattleReady.go
Normal file
42
sys/configure/structs/Game.BattleReady.go
Normal file
@ -0,0 +1,42 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
package cfg
|
||||
|
||||
type GameBattleReady struct {
|
||||
_dataMap map[int32]*GameBattleReadyData
|
||||
_dataList []*GameBattleReadyData
|
||||
}
|
||||
|
||||
func NewGameBattleReady(_buf []map[string]interface{}) (*GameBattleReady, error) {
|
||||
_dataList := make([]*GameBattleReadyData, 0, len(_buf))
|
||||
dataMap := make(map[int32]*GameBattleReadyData)
|
||||
for _, _ele_ := range _buf {
|
||||
if _v, err2 := DeserializeGameBattleReadyData(_ele_); err2 != nil {
|
||||
return nil, err2
|
||||
} else {
|
||||
_dataList = append(_dataList, _v)
|
||||
dataMap[_v.Id] = _v
|
||||
}
|
||||
}
|
||||
return &GameBattleReady{_dataList:_dataList, _dataMap:dataMap}, nil
|
||||
}
|
||||
|
||||
func (table *GameBattleReady) GetDataMap() map[int32]*GameBattleReadyData {
|
||||
return table._dataMap
|
||||
}
|
||||
|
||||
func (table *GameBattleReady) GetDataList() []*GameBattleReadyData {
|
||||
return table._dataList
|
||||
}
|
||||
|
||||
func (table *GameBattleReady) Get(key int32) *GameBattleReadyData {
|
||||
return table._dataMap[key]
|
||||
}
|
||||
|
||||
|
75
sys/configure/structs/Game.BattleReadyData.go
Normal file
75
sys/configure/structs/Game.BattleReadyData.go
Normal file
@ -0,0 +1,75 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
package cfg
|
||||
|
||||
import "errors"
|
||||
|
||||
type GameBattleReadyData struct {
|
||||
Id int32
|
||||
PlayType string
|
||||
HeroCount int32
|
||||
DefaultHero int32
|
||||
DisableHero []string
|
||||
LockSlots []int32
|
||||
AssistTeam int32
|
||||
CanFriendHelp int32
|
||||
}
|
||||
|
||||
const TypeId_GameBattleReadyData = -266091495
|
||||
|
||||
func (*GameBattleReadyData) GetTypeId() int32 {
|
||||
return -266091495
|
||||
}
|
||||
|
||||
func (_v *GameBattleReadyData)Deserialize(_buf map[string]interface{}) (err error) {
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["id"].(float64); !_ok_ { err = errors.New("id error"); return }; _v.Id = int32(_tempNum_) }
|
||||
{ var _ok_ bool; if _v.PlayType, _ok_ = _buf["PlayType"].(string); !_ok_ { err = errors.New("PlayType error"); return } }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["HeroCount"].(float64); !_ok_ { err = errors.New("HeroCount error"); return }; _v.HeroCount = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["DefaultHero"].(float64); !_ok_ { err = errors.New("DefaultHero error"); return }; _v.DefaultHero = int32(_tempNum_) }
|
||||
{
|
||||
var _arr_ []interface{}
|
||||
var _ok_ bool
|
||||
if _arr_, _ok_ = _buf["DisableHero"].([]interface{}); !_ok_ { err = errors.New("DisableHero error"); return }
|
||||
|
||||
_v.DisableHero = make([]string, 0, len(_arr_))
|
||||
|
||||
for _, _e_ := range _arr_ {
|
||||
var _list_v_ string
|
||||
{ if _list_v_, _ok_ = _e_.(string); !_ok_ { err = errors.New("_list_v_ error"); return } }
|
||||
_v.DisableHero = append(_v.DisableHero, _list_v_)
|
||||
}
|
||||
}
|
||||
|
||||
{
|
||||
var _arr_ []interface{}
|
||||
var _ok_ bool
|
||||
if _arr_, _ok_ = _buf["LockSlots"].([]interface{}); !_ok_ { err = errors.New("LockSlots error"); return }
|
||||
|
||||
_v.LockSlots = make([]int32, 0, len(_arr_))
|
||||
|
||||
for _, _e_ := range _arr_ {
|
||||
var _list_v_ int32
|
||||
{ var _ok_ bool; var _x_ float64; if _x_, _ok_ = _e_.(float64); !_ok_ { err = errors.New("_list_v_ error"); return }; _list_v_ = int32(_x_) }
|
||||
_v.LockSlots = append(_v.LockSlots, _list_v_)
|
||||
}
|
||||
}
|
||||
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["AssistTeam"].(float64); !_ok_ { err = errors.New("AssistTeam error"); return }; _v.AssistTeam = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["CanFriendHelp"].(float64); !_ok_ { err = errors.New("CanFriendHelp error"); return }; _v.CanFriendHelp = int32(_tempNum_) }
|
||||
return
|
||||
}
|
||||
|
||||
func DeserializeGameBattleReadyData(_buf map[string]interface{}) (*GameBattleReadyData, error) {
|
||||
v := &GameBattleReadyData{}
|
||||
if err := v.Deserialize(_buf); err == nil {
|
||||
return v, nil
|
||||
} else {
|
||||
return nil, err
|
||||
}
|
||||
}
|
@ -16,6 +16,7 @@ type GameCombatMansterData struct {
|
||||
Sencenstory []int32
|
||||
Time int32
|
||||
Clickstory int32
|
||||
BattleReadyID int32
|
||||
FormatList []int32
|
||||
Award []*Gameatn
|
||||
}
|
||||
@ -45,6 +46,7 @@ func (_v *GameCombatMansterData)Deserialize(_buf map[string]interface{}) (err er
|
||||
|
||||
{ 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["clickstory"].(float64); !_ok_ { err = errors.New("clickstory error"); return }; _v.Clickstory = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["BattleReadyID"].(float64); !_ok_ { err = errors.New("BattleReadyID error"); return }; _v.BattleReadyID = int32(_tempNum_) }
|
||||
{
|
||||
var _arr_ []interface{}
|
||||
var _ok_ bool
|
||||
|
@ -16,6 +16,7 @@ type GameDreamlandBoosData struct {
|
||||
Fightnum int32
|
||||
Challengenum int32
|
||||
Prize []*Gameatn
|
||||
BattleReadyID int32
|
||||
Monsterformatid []int32
|
||||
DreamlandLimit int32
|
||||
PsConsume []*Gameatn
|
||||
@ -47,6 +48,7 @@ func (_v *GameDreamlandBoosData)Deserialize(_buf map[string]interface{}) (err er
|
||||
}
|
||||
}
|
||||
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["BattleReadyID"].(float64); !_ok_ { err = errors.New("BattleReadyID error"); return }; _v.BattleReadyID = int32(_tempNum_) }
|
||||
{
|
||||
var _arr_ []interface{}
|
||||
var _ok_ bool
|
||||
|
@ -14,6 +14,7 @@ type GameEnchantBossData struct {
|
||||
Id int32
|
||||
Bossid int32
|
||||
Name string
|
||||
BattleReadyID int32
|
||||
Grade string
|
||||
ScoreLow int32
|
||||
ScoreUp int32
|
||||
@ -41,6 +42,7 @@ func (_v *GameEnchantBossData)Deserialize(_buf map[string]interface{}) (err erro
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["id"].(float64); !_ok_ { err = errors.New("id error"); return }; _v.Id = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["bossid"].(float64); !_ok_ { err = errors.New("bossid error"); return }; _v.Bossid = int32(_tempNum_) }
|
||||
{var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["name"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.Name error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.Name, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["BattleReadyID"].(float64); !_ok_ { err = errors.New("BattleReadyID error"); return }; _v.BattleReadyID = int32(_tempNum_) }
|
||||
{ var _ok_ bool; if _v.Grade, _ok_ = _buf["grade"].(string); !_ok_ { err = errors.New("grade error"); return } }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["score_low"].(float64); !_ok_ { err = errors.New("score_low error"); return }; _v.ScoreLow = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["score_up"].(float64); !_ok_ { err = errors.New("score_up error"); return }; _v.ScoreUp = int32(_tempNum_) }
|
||||
|
42
sys/configure/structs/Game.Guide.go
Normal file
42
sys/configure/structs/Game.Guide.go
Normal file
@ -0,0 +1,42 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
package cfg
|
||||
|
||||
type GameGuide struct {
|
||||
_dataMap map[int32]*GameGuideData
|
||||
_dataList []*GameGuideData
|
||||
}
|
||||
|
||||
func NewGameGuide(_buf []map[string]interface{}) (*GameGuide, error) {
|
||||
_dataList := make([]*GameGuideData, 0, len(_buf))
|
||||
dataMap := make(map[int32]*GameGuideData)
|
||||
for _, _ele_ := range _buf {
|
||||
if _v, err2 := DeserializeGameGuideData(_ele_); err2 != nil {
|
||||
return nil, err2
|
||||
} else {
|
||||
_dataList = append(_dataList, _v)
|
||||
dataMap[_v.Id] = _v
|
||||
}
|
||||
}
|
||||
return &GameGuide{_dataList:_dataList, _dataMap:dataMap}, nil
|
||||
}
|
||||
|
||||
func (table *GameGuide) GetDataMap() map[int32]*GameGuideData {
|
||||
return table._dataMap
|
||||
}
|
||||
|
||||
func (table *GameGuide) GetDataList() []*GameGuideData {
|
||||
return table._dataList
|
||||
}
|
||||
|
||||
func (table *GameGuide) Get(key int32) *GameGuideData {
|
||||
return table._dataMap[key]
|
||||
}
|
||||
|
||||
|
126
sys/configure/structs/Game.GuideData.go
Normal file
126
sys/configure/structs/Game.GuideData.go
Normal file
@ -0,0 +1,126 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
package cfg
|
||||
|
||||
import "errors"
|
||||
import "bright/serialization"
|
||||
|
||||
type GameGuideData struct {
|
||||
Id int32
|
||||
Group int32
|
||||
Type int32
|
||||
StartPar string
|
||||
Parameter string
|
||||
Interface string
|
||||
Condition string
|
||||
Followtj string
|
||||
Followguide int32
|
||||
Finger []string
|
||||
Offset serialization.Vector2
|
||||
FingerTime float32
|
||||
ObjSize serialization.Vector2
|
||||
ObjOffset serialization.Vector2
|
||||
Txt string
|
||||
Speakerface int32
|
||||
Sound string
|
||||
Mask int32
|
||||
Lock int32
|
||||
Uishow int32
|
||||
Skiptime int32
|
||||
Skip int32
|
||||
Skipgroup int32
|
||||
Reward []*Gameatn
|
||||
}
|
||||
|
||||
const TypeId_GameGuideData = -371227190
|
||||
|
||||
func (*GameGuideData) GetTypeId() int32 {
|
||||
return -371227190
|
||||
}
|
||||
|
||||
func (_v *GameGuideData)Deserialize(_buf map[string]interface{}) (err error) {
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["id"].(float64); !_ok_ { err = errors.New("id error"); return }; _v.Id = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["group"].(float64); !_ok_ { err = errors.New("group error"); return }; _v.Group = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["type"].(float64); !_ok_ { err = errors.New("type error"); return }; _v.Type = int32(_tempNum_) }
|
||||
{ var _ok_ bool; if _v.StartPar, _ok_ = _buf["startPar"].(string); !_ok_ { err = errors.New("startPar error"); return } }
|
||||
{ var _ok_ bool; if _v.Parameter, _ok_ = _buf["parameter"].(string); !_ok_ { err = errors.New("parameter error"); return } }
|
||||
{ var _ok_ bool; if _v.Interface, _ok_ = _buf["interface"].(string); !_ok_ { err = errors.New("interface error"); return } }
|
||||
{ var _ok_ bool; if _v.Condition, _ok_ = _buf["condition"].(string); !_ok_ { err = errors.New("condition error"); return } }
|
||||
{ var _ok_ bool; if _v.Followtj, _ok_ = _buf["followtj"].(string); !_ok_ { err = errors.New("followtj error"); return } }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["followguide"].(float64); !_ok_ { err = errors.New("followguide error"); return }; _v.Followguide = int32(_tempNum_) }
|
||||
{
|
||||
var _arr_ []interface{}
|
||||
var _ok_ bool
|
||||
if _arr_, _ok_ = _buf["finger"].([]interface{}); !_ok_ { err = errors.New("finger error"); return }
|
||||
|
||||
_v.Finger = make([]string, 0, len(_arr_))
|
||||
|
||||
for _, _e_ := range _arr_ {
|
||||
var _list_v_ string
|
||||
{ if _list_v_, _ok_ = _e_.(string); !_ok_ { err = errors.New("_list_v_ error"); return } }
|
||||
_v.Finger = append(_v.Finger, _list_v_)
|
||||
}
|
||||
}
|
||||
|
||||
{ var _ok_ bool; var _v_ map[string]interface{}; if _v_, _ok_ = _buf["offset"].(map[string]interface{}); !_ok_ { err = errors.New("offset error"); return }
|
||||
var _x_, _y_ float32;
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _v_["x"].(float64); !_ok_ { err = errors.New("x error"); return }; _x_ = float32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _v_["y"].(float64); !_ok_ { err = errors.New("y error"); return }; _y_ = float32(_tempNum_) }
|
||||
_v.Offset = serialization.NewVector2(_x_, _y_)
|
||||
}
|
||||
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["fingerTime"].(float64); !_ok_ { err = errors.New("fingerTime error"); return }; _v.FingerTime = float32(_tempNum_) }
|
||||
{ var _ok_ bool; var _v_ map[string]interface{}; if _v_, _ok_ = _buf["objSize"].(map[string]interface{}); !_ok_ { err = errors.New("objSize error"); return }
|
||||
var _x_, _y_ float32;
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _v_["x"].(float64); !_ok_ { err = errors.New("x error"); return }; _x_ = float32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _v_["y"].(float64); !_ok_ { err = errors.New("y error"); return }; _y_ = float32(_tempNum_) }
|
||||
_v.ObjSize = serialization.NewVector2(_x_, _y_)
|
||||
}
|
||||
|
||||
{ var _ok_ bool; var _v_ map[string]interface{}; if _v_, _ok_ = _buf["objOffset"].(map[string]interface{}); !_ok_ { err = errors.New("objOffset error"); return }
|
||||
var _x_, _y_ float32;
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _v_["x"].(float64); !_ok_ { err = errors.New("x error"); return }; _x_ = float32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _v_["y"].(float64); !_ok_ { err = errors.New("y error"); return }; _y_ = float32(_tempNum_) }
|
||||
_v.ObjOffset = serialization.NewVector2(_x_, _y_)
|
||||
}
|
||||
|
||||
{ var _ok_ bool; if _v.Txt, _ok_ = _buf["txt"].(string); !_ok_ { err = errors.New("txt error"); return } }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["speakerface"].(float64); !_ok_ { err = errors.New("speakerface error"); return }; _v.Speakerface = int32(_tempNum_) }
|
||||
{ var _ok_ bool; if _v.Sound, _ok_ = _buf["sound"].(string); !_ok_ { err = errors.New("sound error"); return } }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["mask"].(float64); !_ok_ { err = errors.New("mask error"); return }; _v.Mask = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["lock"].(float64); !_ok_ { err = errors.New("lock error"); return }; _v.Lock = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["uishow"].(float64); !_ok_ { err = errors.New("uishow error"); return }; _v.Uishow = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["skiptime"].(float64); !_ok_ { err = errors.New("skiptime error"); return }; _v.Skiptime = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["skip"].(float64); !_ok_ { err = errors.New("skip error"); return }; _v.Skip = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["skipgroup"].(float64); !_ok_ { err = errors.New("skipgroup error"); return }; _v.Skipgroup = int32(_tempNum_) }
|
||||
{
|
||||
var _arr_ []interface{}
|
||||
var _ok_ bool
|
||||
if _arr_, _ok_ = _buf["reward"].([]interface{}); !_ok_ { err = errors.New("reward error"); return }
|
||||
|
||||
_v.Reward = make([]*Gameatn, 0, len(_arr_))
|
||||
|
||||
for _, _e_ := range _arr_ {
|
||||
var _list_v_ *Gameatn
|
||||
{ var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _e_.(map[string]interface{}); !_ok_ { err = errors.New("_list_v_ error"); return }; if _list_v_, err = DeserializeGameatn(_x_); err != nil { return } }
|
||||
_v.Reward = append(_v.Reward, _list_v_)
|
||||
}
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
func DeserializeGameGuideData(_buf map[string]interface{}) (*GameGuideData, error) {
|
||||
v := &GameGuideData{}
|
||||
if err := v.Deserialize(_buf); err == nil {
|
||||
return v, nil
|
||||
} else {
|
||||
return nil, err
|
||||
}
|
||||
}
|
42
sys/configure/structs/Game.HeroSkill.go
Normal file
42
sys/configure/structs/Game.HeroSkill.go
Normal file
@ -0,0 +1,42 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
package cfg
|
||||
|
||||
type GameHeroSkill struct {
|
||||
_dataMap map[int32]*GameHeroSkillData
|
||||
_dataList []*GameHeroSkillData
|
||||
}
|
||||
|
||||
func NewGameHeroSkill(_buf []map[string]interface{}) (*GameHeroSkill, error) {
|
||||
_dataList := make([]*GameHeroSkillData, 0, len(_buf))
|
||||
dataMap := make(map[int32]*GameHeroSkillData)
|
||||
for _, _ele_ := range _buf {
|
||||
if _v, err2 := DeserializeGameHeroSkillData(_ele_); err2 != nil {
|
||||
return nil, err2
|
||||
} else {
|
||||
_dataList = append(_dataList, _v)
|
||||
dataMap[_v.Star] = _v
|
||||
}
|
||||
}
|
||||
return &GameHeroSkill{_dataList:_dataList, _dataMap:dataMap}, nil
|
||||
}
|
||||
|
||||
func (table *GameHeroSkill) GetDataMap() map[int32]*GameHeroSkillData {
|
||||
return table._dataMap
|
||||
}
|
||||
|
||||
func (table *GameHeroSkill) GetDataList() []*GameHeroSkillData {
|
||||
return table._dataList
|
||||
}
|
||||
|
||||
func (table *GameHeroSkill) Get(key int32) *GameHeroSkillData {
|
||||
return table._dataMap[key]
|
||||
}
|
||||
|
||||
|
@ -10,38 +10,38 @@ package cfg
|
||||
|
||||
import "errors"
|
||||
|
||||
type GameComAtnData struct {
|
||||
Index string
|
||||
Var []*Gameatn
|
||||
type GameHeroSkillData struct {
|
||||
Star int32
|
||||
Needgold []*Gameatn
|
||||
}
|
||||
|
||||
const TypeId_GameComAtnData = -2026469472
|
||||
const TypeId_GameHeroSkillData = 1863510469
|
||||
|
||||
func (*GameComAtnData) GetTypeId() int32 {
|
||||
return -2026469472
|
||||
func (*GameHeroSkillData) GetTypeId() int32 {
|
||||
return 1863510469
|
||||
}
|
||||
|
||||
func (_v *GameComAtnData)Deserialize(_buf map[string]interface{}) (err error) {
|
||||
{ var _ok_ bool; if _v.Index, _ok_ = _buf["index"].(string); !_ok_ { err = errors.New("index error"); return } }
|
||||
func (_v *GameHeroSkillData)Deserialize(_buf map[string]interface{}) (err error) {
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["star"].(float64); !_ok_ { err = errors.New("star error"); return }; _v.Star = int32(_tempNum_) }
|
||||
{
|
||||
var _arr_ []interface{}
|
||||
var _ok_ bool
|
||||
if _arr_, _ok_ = _buf["var"].([]interface{}); !_ok_ { err = errors.New("var error"); return }
|
||||
if _arr_, _ok_ = _buf["needgold"].([]interface{}); !_ok_ { err = errors.New("needgold error"); return }
|
||||
|
||||
_v.Var = make([]*Gameatn, 0, len(_arr_))
|
||||
_v.Needgold = make([]*Gameatn, 0, len(_arr_))
|
||||
|
||||
for _, _e_ := range _arr_ {
|
||||
var _list_v_ *Gameatn
|
||||
{ var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _e_.(map[string]interface{}); !_ok_ { err = errors.New("_list_v_ error"); return }; if _list_v_, err = DeserializeGameatn(_x_); err != nil { return } }
|
||||
_v.Var = append(_v.Var, _list_v_)
|
||||
_v.Needgold = append(_v.Needgold, _list_v_)
|
||||
}
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
func DeserializeGameComAtnData(_buf map[string]interface{}) (*GameComAtnData, error) {
|
||||
v := &GameComAtnData{}
|
||||
func DeserializeGameHeroSkillData(_buf map[string]interface{}) (*GameHeroSkillData, error) {
|
||||
v := &GameHeroSkillData{}
|
||||
if err := v.Deserialize(_buf); err == nil {
|
||||
return v, nil
|
||||
} else {
|
@ -15,6 +15,7 @@ type GameHuntingBossData struct {
|
||||
Type int32
|
||||
Name string
|
||||
Difficulty int32
|
||||
BattleReadyID int32
|
||||
Firstprize []*Gameatn
|
||||
Dropshow []*Gameatn
|
||||
Drop int32
|
||||
@ -35,6 +36,7 @@ func (_v *GameHuntingBossData)Deserialize(_buf map[string]interface{}) (err erro
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["type"].(float64); !_ok_ { err = errors.New("type error"); return }; _v.Type = int32(_tempNum_) }
|
||||
{var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["name"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.Name error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.Name, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["difficulty"].(float64); !_ok_ { err = errors.New("difficulty error"); return }; _v.Difficulty = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["BattleReadyID"].(float64); !_ok_ { err = errors.New("BattleReadyID error"); return }; _v.BattleReadyID = int32(_tempNum_) }
|
||||
{
|
||||
var _arr_ []interface{}
|
||||
var _ok_ bool
|
||||
|
@ -28,6 +28,7 @@ type GameMainStageData struct {
|
||||
PsMg []*Gameatn
|
||||
Firstaward []*Gameatn
|
||||
Commonaward []*Gameatn
|
||||
BattleReadyID int32
|
||||
FormatList []int32
|
||||
CaptainId int32
|
||||
Star []int32
|
||||
@ -117,6 +118,7 @@ func (_v *GameMainStageData)Deserialize(_buf map[string]interface{}) (err error)
|
||||
}
|
||||
}
|
||||
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["BattleReadyID"].(float64); !_ok_ { err = errors.New("BattleReadyID error"); return }; _v.BattleReadyID = int32(_tempNum_) }
|
||||
{
|
||||
var _arr_ []interface{}
|
||||
var _ok_ bool
|
||||
|
@ -23,6 +23,7 @@ type GameMainlineData struct {
|
||||
Episodelocation serialization.Vector2
|
||||
FormatList []int32
|
||||
CaptainId string
|
||||
BattleReadyID int32
|
||||
Battlescene string
|
||||
Award []*Gameatn
|
||||
Exp int32
|
||||
@ -71,6 +72,7 @@ func (_v *GameMainlineData)Deserialize(_buf map[string]interface{}) (err error)
|
||||
}
|
||||
|
||||
{ var _ok_ bool; if _v.CaptainId, _ok_ = _buf["captainId"].(string); !_ok_ { err = errors.New("captainId error"); return } }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["BattleReadyID"].(float64); !_ok_ { err = errors.New("BattleReadyID error"); return }; _v.BattleReadyID = int32(_tempNum_) }
|
||||
{ var _ok_ bool; if _v.Battlescene, _ok_ = _buf["battlescene"].(string); !_ok_ { err = errors.New("battlescene error"); return } }
|
||||
{
|
||||
var _arr_ []interface{}
|
||||
|
@ -16,6 +16,7 @@ type GameVikingBossData struct {
|
||||
Bossid int32
|
||||
Name string
|
||||
Difficulty int32
|
||||
BattleReadyID int32
|
||||
Captionrecommend []int32
|
||||
Firstprize []*Gameatn
|
||||
Dropshow []*Gameatn
|
||||
@ -40,6 +41,7 @@ func (_v *GameVikingBossData)Deserialize(_buf map[string]interface{}) (err error
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["bossid"].(float64); !_ok_ { err = errors.New("bossid error"); return }; _v.Bossid = int32(_tempNum_) }
|
||||
{var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["name"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.Name error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.Name, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["difficulty"].(float64); !_ok_ { err = errors.New("difficulty error"); return }; _v.Difficulty = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["BattleReadyID"].(float64); !_ok_ { err = errors.New("BattleReadyID error"); return }; _v.BattleReadyID = int32(_tempNum_) }
|
||||
{
|
||||
var _arr_ []interface{}
|
||||
var _ok_ bool
|
||||
|
@ -13,10 +13,7 @@ import "errors"
|
||||
type GameWorldBattleData struct {
|
||||
Id int32
|
||||
FormatList []int32
|
||||
DefaultHero int32
|
||||
SelectableHero []string
|
||||
LockSlots []int32
|
||||
AssistTeam int32
|
||||
BattleReadyID int32
|
||||
EventList []int32
|
||||
Playexp *Gameatn
|
||||
}
|
||||
@ -43,36 +40,7 @@ func (_v *GameWorldBattleData)Deserialize(_buf map[string]interface{}) (err erro
|
||||
}
|
||||
}
|
||||
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["DefaultHero"].(float64); !_ok_ { err = errors.New("DefaultHero error"); return }; _v.DefaultHero = int32(_tempNum_) }
|
||||
{
|
||||
var _arr_ []interface{}
|
||||
var _ok_ bool
|
||||
if _arr_, _ok_ = _buf["SelectableHero"].([]interface{}); !_ok_ { err = errors.New("SelectableHero error"); return }
|
||||
|
||||
_v.SelectableHero = make([]string, 0, len(_arr_))
|
||||
|
||||
for _, _e_ := range _arr_ {
|
||||
var _list_v_ string
|
||||
{ if _list_v_, _ok_ = _e_.(string); !_ok_ { err = errors.New("_list_v_ error"); return } }
|
||||
_v.SelectableHero = append(_v.SelectableHero, _list_v_)
|
||||
}
|
||||
}
|
||||
|
||||
{
|
||||
var _arr_ []interface{}
|
||||
var _ok_ bool
|
||||
if _arr_, _ok_ = _buf["LockSlots"].([]interface{}); !_ok_ { err = errors.New("LockSlots error"); return }
|
||||
|
||||
_v.LockSlots = make([]int32, 0, len(_arr_))
|
||||
|
||||
for _, _e_ := range _arr_ {
|
||||
var _list_v_ int32
|
||||
{ var _ok_ bool; var _x_ float64; if _x_, _ok_ = _e_.(float64); !_ok_ { err = errors.New("_list_v_ error"); return }; _list_v_ = int32(_x_) }
|
||||
_v.LockSlots = append(_v.LockSlots, _list_v_)
|
||||
}
|
||||
}
|
||||
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["AssistTeam"].(float64); !_ok_ { err = errors.New("AssistTeam error"); return }; _v.AssistTeam = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["BattleReadyID"].(float64); !_ok_ { err = errors.New("BattleReadyID error"); return }; _v.BattleReadyID = int32(_tempNum_) }
|
||||
{
|
||||
var _arr_ []interface{}
|
||||
var _ok_ bool
|
||||
|
@ -21,6 +21,7 @@ type Tables struct {
|
||||
HeroStargrow *GameHeroStargrow
|
||||
HeroLevelgrow *GameHeroLevelgrow
|
||||
HeroStarup *GameHeroStarup
|
||||
HeroSkill *GameHeroSkill
|
||||
HeroExp *GameHeroExp
|
||||
HeroLevelup *GameHeroLevelup
|
||||
Equip *GameEquip
|
||||
@ -117,6 +118,7 @@ type Tables struct {
|
||||
GuildActivity *GameGuildActivity
|
||||
GuildSign *GameGuildSign
|
||||
GuildTask *GameGuildTask
|
||||
GuildBossTask *GameGuildBossTask
|
||||
TrollRule *GameTrollRule
|
||||
TrollGoods *GameTrollGoods
|
||||
TrollTrain *GameTrollTrain
|
||||
@ -146,7 +148,7 @@ type Tables struct {
|
||||
CombatBox *GameCombatBox
|
||||
Help *GameHelp
|
||||
GM *GameGM
|
||||
Newguide *GameNewguide
|
||||
Guide *GameGuide
|
||||
Vip *GameVip
|
||||
EnchantShop *GameEnchantShop
|
||||
EnchantBoss *GameEnchantBoss
|
||||
@ -156,6 +158,7 @@ type Tables struct {
|
||||
MainStarreward *GameMainStarreward
|
||||
MainStartype *GameMainStartype
|
||||
Battletasktesting *GameBattletasktesting
|
||||
BattleReady *GameBattleReady
|
||||
}
|
||||
|
||||
func NewTables(loader JsonLoader) (*Tables, error) {
|
||||
@ -223,6 +226,12 @@ func NewTables(loader JsonLoader) (*Tables, error) {
|
||||
if tables.HeroStarup, err = NewGameHeroStarup(buf) ; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if buf, err = loader("game_heroskill") ; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if tables.HeroSkill, err = NewGameHeroSkill(buf) ; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if buf, err = loader("game_heroexp") ; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -799,6 +808,12 @@ func NewTables(loader JsonLoader) (*Tables, error) {
|
||||
if tables.GuildTask, err = NewGameGuildTask(buf) ; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if buf, err = loader("game_guildbosstask") ; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if tables.GuildBossTask, err = NewGameGuildBossTask(buf) ; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if buf, err = loader("game_trollrule") ; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -973,10 +988,10 @@ func NewTables(loader JsonLoader) (*Tables, error) {
|
||||
if tables.GM, err = NewGameGM(buf) ; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if buf, err = loader("game_newguide") ; err != nil {
|
||||
if buf, err = loader("game_guide") ; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if tables.Newguide, err = NewGameNewguide(buf) ; err != nil {
|
||||
if tables.Guide, err = NewGameGuide(buf) ; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if buf, err = loader("game_vip") ; err != nil {
|
||||
@ -1033,5 +1048,11 @@ func NewTables(loader JsonLoader) (*Tables, error) {
|
||||
if tables.Battletasktesting, err = NewGameBattletasktesting(buf) ; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if buf, err = loader("game_battleready") ; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if tables.BattleReady, err = NewGameBattleReady(buf) ; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return tables, nil
|
||||
}
|
||||
|
@ -1,42 +0,0 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
package cfg
|
||||
|
||||
type GameComAtn struct {
|
||||
_dataMap map[string]*GameComAtnData
|
||||
_dataList []*GameComAtnData
|
||||
}
|
||||
|
||||
func NewGameComAtn(_buf []map[string]interface{}) (*GameComAtn, error) {
|
||||
_dataList := make([]*GameComAtnData, 0, len(_buf))
|
||||
dataMap := make(map[string]*GameComAtnData)
|
||||
for _, _ele_ := range _buf {
|
||||
if _v, err2 := DeserializeGameComAtnData(_ele_); err2 != nil {
|
||||
return nil, err2
|
||||
} else {
|
||||
_dataList = append(_dataList, _v)
|
||||
dataMap[_v.Index] = _v
|
||||
}
|
||||
}
|
||||
return &GameComAtn{_dataList:_dataList, _dataMap:dataMap}, nil
|
||||
}
|
||||
|
||||
func (table *GameComAtn) GetDataMap() map[string]*GameComAtnData {
|
||||
return table._dataMap
|
||||
}
|
||||
|
||||
func (table *GameComAtn) GetDataList() []*GameComAtnData {
|
||||
return table._dataList
|
||||
}
|
||||
|
||||
func (table *GameComAtn) Get(key string) *GameComAtnData {
|
||||
return table._dataMap[key]
|
||||
}
|
||||
|
||||
|
@ -173,6 +173,7 @@ type GameGlobalData struct {
|
||||
Zhayantime float32
|
||||
RotateAngle float32
|
||||
RotateDizzyTime float32
|
||||
Moonshopmoney []int32
|
||||
}
|
||||
|
||||
const TypeId_GameGlobalData = 477542761
|
||||
@ -721,6 +722,20 @@ func (_v *GameGlobalData)Deserialize(_buf map[string]interface{}) (err error) {
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["zhayantime"].(float64); !_ok_ { err = errors.New("zhayantime error"); return }; _v.Zhayantime = float32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["rotateAngle"].(float64); !_ok_ { err = errors.New("rotateAngle error"); return }; _v.RotateAngle = float32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["rotateDizzyTime"].(float64); !_ok_ { err = errors.New("rotateDizzyTime error"); return }; _v.RotateDizzyTime = float32(_tempNum_) }
|
||||
{
|
||||
var _arr_ []interface{}
|
||||
var _ok_ bool
|
||||
if _arr_, _ok_ = _buf["moonshopmoney"].([]interface{}); !_ok_ { err = errors.New("moonshopmoney error"); return }
|
||||
|
||||
_v.Moonshopmoney = make([]int32, 0, len(_arr_))
|
||||
|
||||
for _, _e_ := range _arr_ {
|
||||
var _list_v_ int32
|
||||
{ var _ok_ bool; var _x_ float64; if _x_, _ok_ = _e_.(float64); !_ok_ { err = errors.New("_list_v_ error"); return }; _list_v_ = int32(_x_) }
|
||||
_v.Moonshopmoney = append(_v.Moonshopmoney, _list_v_)
|
||||
}
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
|
@ -9,34 +9,26 @@
|
||||
package cfg
|
||||
|
||||
type GameHeroAwaken struct {
|
||||
_dataMap map[int32]*GameHeroAwakenData
|
||||
_dataList []*GameHeroAwakenData
|
||||
}
|
||||
|
||||
func NewGameHeroAwaken(_buf []map[string]interface{}) (*GameHeroAwaken, error) {
|
||||
_dataList := make([]*GameHeroAwakenData, 0, len(_buf))
|
||||
dataMap := make(map[int32]*GameHeroAwakenData)
|
||||
for _, _ele_ := range _buf {
|
||||
if _v, err2 := DeserializeGameHeroAwakenData(_ele_); err2 != nil {
|
||||
return nil, err2
|
||||
} else {
|
||||
_dataList = append(_dataList, _v)
|
||||
dataMap[_v.Key] = _v
|
||||
}
|
||||
}
|
||||
return &GameHeroAwaken{_dataList:_dataList, _dataMap:dataMap}, nil
|
||||
}
|
||||
|
||||
func (table *GameHeroAwaken) GetDataMap() map[int32]*GameHeroAwakenData {
|
||||
return table._dataMap
|
||||
return &GameHeroAwaken{_dataList:_dataList}, nil
|
||||
}
|
||||
|
||||
func (table *GameHeroAwaken) GetDataList() []*GameHeroAwakenData {
|
||||
return table._dataList
|
||||
}
|
||||
|
||||
func (table *GameHeroAwaken) Get(key int32) *GameHeroAwakenData {
|
||||
return table._dataMap[key]
|
||||
func (table *GameHeroAwaken) Get(index int) *GameHeroAwakenData {
|
||||
return table._dataList[index]
|
||||
}
|
||||
|
||||
|
||||
|
@ -44,7 +44,9 @@ type GameHeroData struct {
|
||||
Deviation int32
|
||||
Show int32
|
||||
Herofrag []*Gameatn
|
||||
Heroskillup []*Gameatn
|
||||
Heroskillup []string
|
||||
Expitem []*Gameatn
|
||||
Expitemnum int32
|
||||
}
|
||||
|
||||
const TypeId_GameHeroData = 1513828672
|
||||
@ -150,15 +152,30 @@ func (_v *GameHeroData)Deserialize(_buf map[string]interface{}) (err error) {
|
||||
var _ok_ bool
|
||||
if _arr_, _ok_ = _buf["heroskillup"].([]interface{}); !_ok_ { err = errors.New("heroskillup error"); return }
|
||||
|
||||
_v.Heroskillup = make([]*Gameatn, 0, len(_arr_))
|
||||
_v.Heroskillup = make([]string, 0, len(_arr_))
|
||||
|
||||
for _, _e_ := range _arr_ {
|
||||
var _list_v_ *Gameatn
|
||||
{ var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _e_.(map[string]interface{}); !_ok_ { err = errors.New("_list_v_ error"); return }; if _list_v_, err = DeserializeGameatn(_x_); err != nil { return } }
|
||||
var _list_v_ string
|
||||
{ if _list_v_, _ok_ = _e_.(string); !_ok_ { err = errors.New("_list_v_ error"); return } }
|
||||
_v.Heroskillup = append(_v.Heroskillup, _list_v_)
|
||||
}
|
||||
}
|
||||
|
||||
{
|
||||
var _arr_ []interface{}
|
||||
var _ok_ bool
|
||||
if _arr_, _ok_ = _buf["expitem"].([]interface{}); !_ok_ { err = errors.New("expitem error"); return }
|
||||
|
||||
_v.Expitem = make([]*Gameatn, 0, len(_arr_))
|
||||
|
||||
for _, _e_ := range _arr_ {
|
||||
var _list_v_ *Gameatn
|
||||
{ var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _e_.(map[string]interface{}); !_ok_ { err = errors.New("_list_v_ error"); return }; if _list_v_, err = DeserializeGameatn(_x_); err != nil { return } }
|
||||
_v.Expitem = append(_v.Expitem, _list_v_)
|
||||
}
|
||||
}
|
||||
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["expitemnum"].(float64); !_ok_ { err = errors.New("expitemnum error"); return }; _v.Expitemnum = int32(_tempNum_) }
|
||||
return
|
||||
}
|
||||
|
||||
|
@ -21,7 +21,7 @@ func NewGameHeroExp(_buf []map[string]interface{}) (*GameHeroExp, error) {
|
||||
return nil, err2
|
||||
} else {
|
||||
_dataList = append(_dataList, _v)
|
||||
dataMap[_v.Hid] = _v
|
||||
dataMap[_v.Itemid] = _v
|
||||
}
|
||||
}
|
||||
return &GameHeroExp{_dataList:_dataList, _dataMap:dataMap}, nil
|
||||
|
@ -11,12 +11,8 @@ package cfg
|
||||
import "errors"
|
||||
|
||||
type GameHeroExpData struct {
|
||||
Hid string
|
||||
Name string
|
||||
Star int32
|
||||
Color int32
|
||||
Heroexp int32
|
||||
Skilllevelup int32
|
||||
Itemid string
|
||||
Exp int32
|
||||
Needgold int32
|
||||
}
|
||||
|
||||
@ -27,12 +23,8 @@ func (*GameHeroExpData) GetTypeId() int32 {
|
||||
}
|
||||
|
||||
func (_v *GameHeroExpData)Deserialize(_buf map[string]interface{}) (err error) {
|
||||
{ var _ok_ bool; if _v.Hid, _ok_ = _buf["hid"].(string); !_ok_ { err = errors.New("hid error"); return } }
|
||||
{ var _ok_ bool; if _v.Name, _ok_ = _buf["name"].(string); !_ok_ { err = errors.New("name error"); return } }
|
||||
{ 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["color"].(float64); !_ok_ { err = errors.New("color error"); return }; _v.Color = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["heroexp"].(float64); !_ok_ { err = errors.New("heroexp error"); return }; _v.Heroexp = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["skilllevelup"].(float64); !_ok_ { err = errors.New("skilllevelup error"); return }; _v.Skilllevelup = int32(_tempNum_) }
|
||||
{ var _ok_ bool; if _v.Itemid, _ok_ = _buf["itemid"].(string); !_ok_ { err = errors.New("itemid error"); return } }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["exp"].(float64); !_ok_ { err = errors.New("exp error"); return }; _v.Exp = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["needgold"].(float64); !_ok_ { err = errors.New("needgold error"); return }; _v.Needgold = int32(_tempNum_) }
|
||||
return
|
||||
}
|
||||
|
@ -14,13 +14,7 @@ type GameHeroStarupData struct {
|
||||
Key int32
|
||||
Id string
|
||||
Star int32
|
||||
Needhero string
|
||||
Needherostar int32
|
||||
Needheronum int32
|
||||
Needrace []int32
|
||||
Needracestar int32
|
||||
Needracenum int32
|
||||
Gold int32
|
||||
Needrace []*Gameatn
|
||||
Starup []*Gameatn
|
||||
}
|
||||
|
||||
@ -34,26 +28,20 @@ func (_v *GameHeroStarupData)Deserialize(_buf map[string]interface{}) (err error
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["key"].(float64); !_ok_ { err = errors.New("key error"); return }; _v.Key = int32(_tempNum_) }
|
||||
{ var _ok_ bool; if _v.Id, _ok_ = _buf["id"].(string); !_ok_ { err = errors.New("id error"); return } }
|
||||
{ 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; if _v.Needhero, _ok_ = _buf["needhero"].(string); !_ok_ { err = errors.New("needhero error"); return } }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["needherostar"].(float64); !_ok_ { err = errors.New("needherostar error"); return }; _v.Needherostar = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["needheronum"].(float64); !_ok_ { err = errors.New("needheronum error"); return }; _v.Needheronum = int32(_tempNum_) }
|
||||
{
|
||||
var _arr_ []interface{}
|
||||
var _ok_ bool
|
||||
if _arr_, _ok_ = _buf["needrace"].([]interface{}); !_ok_ { err = errors.New("needrace error"); return }
|
||||
|
||||
_v.Needrace = make([]int32, 0, len(_arr_))
|
||||
_v.Needrace = make([]*Gameatn, 0, len(_arr_))
|
||||
|
||||
for _, _e_ := range _arr_ {
|
||||
var _list_v_ int32
|
||||
{ var _ok_ bool; var _x_ float64; if _x_, _ok_ = _e_.(float64); !_ok_ { err = errors.New("_list_v_ error"); return }; _list_v_ = int32(_x_) }
|
||||
var _list_v_ *Gameatn
|
||||
{ var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _e_.(map[string]interface{}); !_ok_ { err = errors.New("_list_v_ error"); return }; if _list_v_, err = DeserializeGameatn(_x_); err != nil { return } }
|
||||
_v.Needrace = append(_v.Needrace, _list_v_)
|
||||
}
|
||||
}
|
||||
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["needracestar"].(float64); !_ok_ { err = errors.New("needracestar error"); return }; _v.Needracestar = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["needracenum"].(float64); !_ok_ { err = errors.New("needracenum error"); return }; _v.Needracenum = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["gold"].(float64); !_ok_ { err = errors.New("gold error"); return }; _v.Gold = int32(_tempNum_) }
|
||||
{
|
||||
var _arr_ []interface{}
|
||||
var _ok_ bool
|
||||
|
@ -15,6 +15,7 @@ type GamePagodaData struct {
|
||||
PagodaType int32
|
||||
LevelType int32
|
||||
LayerNum int32
|
||||
BattleReadyID int32
|
||||
MonsterId []int32
|
||||
Reward []*Gameatn
|
||||
Exp int32
|
||||
@ -34,6 +35,7 @@ func (_v *GamePagodaData)Deserialize(_buf map[string]interface{}) (err error) {
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["pagoda_type"].(float64); !_ok_ { err = errors.New("pagoda_type error"); return }; _v.PagodaType = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["Level_type"].(float64); !_ok_ { err = errors.New("Level_type error"); return }; _v.LevelType = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["layer_num"].(float64); !_ok_ { err = errors.New("layer_num error"); return }; _v.LayerNum = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["BattleReadyID"].(float64); !_ok_ { err = errors.New("BattleReadyID error"); return }; _v.BattleReadyID = int32(_tempNum_) }
|
||||
{
|
||||
var _arr_ []interface{}
|
||||
var _ok_ bool
|
||||
|
Loading…
Reference in New Issue
Block a user