Merge branch 'meixiongfeng' of http://git.legu.cc/liwei_3d/go_dreamfactory into dev

This commit is contained in:
meixiongfeng 2023-01-09 18:25:17 +08:00
commit 66ece406ae
35 changed files with 3006 additions and 718 deletions

View File

@ -14,7 +14,21 @@
"monsterformatid": [
201011
],
"dreamland_limit": 3600
"dreamland_limit": 3600,
"ps_consume": [
{
"a": "item",
"t": "100100",
"n": 3
}
],
"ps_mg": [
{
"a": "item",
"t": "100100",
"n": 2
}
]
},
{
"bossid": "35001",
@ -31,6 +45,20 @@
"monsterformatid": [
201012
],
"dreamland_limit": 3600
"dreamland_limit": 3600,
"ps_consume": [
{
"a": "item",
"t": "100100",
"n": 5
}
],
"ps_mg": [
{
"a": "item",
"t": "100100",
"n": 5
}
]
}
]

View File

@ -93,6 +93,20 @@
301011,
301012,
301013
],
"ps_consume": [
{
"a": "item",
"t": "100100",
"n": 6
}
],
"ps_mg": [
{
"a": "item",
"t": "100100",
"n": 5
}
]
},
{
@ -189,6 +203,20 @@
301014,
301015,
301016
],
"ps_consume": [
{
"a": "item",
"t": "100100",
"n": 6
}
],
"ps_mg": [
{
"a": "item",
"t": "100100",
"n": 5
}
]
},
{
@ -285,6 +313,20 @@
301017,
301018,
301019
],
"ps_consume": [
{
"a": "item",
"t": "100100",
"n": 6
}
],
"ps_mg": [
{
"a": "item",
"t": "100100",
"n": 5
}
]
},
{
@ -381,6 +423,20 @@
301011,
301012,
301013
],
"ps_consume": [
{
"a": "item",
"t": "100100",
"n": 6
}
],
"ps_mg": [
{
"a": "item",
"t": "100100",
"n": 5
}
]
},
{
@ -477,6 +533,20 @@
301011,
301012,
301013
],
"ps_consume": [
{
"a": "item",
"t": "100100",
"n": 6
}
],
"ps_mg": [
{
"a": "item",
"t": "100100",
"n": 5
}
]
},
{
@ -573,6 +643,20 @@
301014,
301015,
301016
],
"ps_consume": [
{
"a": "item",
"t": "100100",
"n": 6
}
],
"ps_mg": [
{
"a": "item",
"t": "100100",
"n": 5
}
]
},
{
@ -669,6 +753,20 @@
301017,
301018,
301019
],
"ps_consume": [
{
"a": "item",
"t": "100100",
"n": 6
}
],
"ps_mg": [
{
"a": "item",
"t": "100100",
"n": 5
}
]
},
{
@ -765,6 +863,20 @@
301011,
301012,
301013
],
"ps_consume": [
{
"a": "item",
"t": "100100",
"n": 6
}
],
"ps_mg": [
{
"a": "item",
"t": "100100",
"n": 5
}
]
},
{
@ -861,6 +973,20 @@
301014,
301015,
301016
],
"ps_consume": [
{
"a": "item",
"t": "100100",
"n": 6
}
],
"ps_mg": [
{
"a": "item",
"t": "100100",
"n": 5
}
]
},
{
@ -957,6 +1083,20 @@
301017,
301018,
301019
],
"ps_consume": [
{
"a": "item",
"t": "100100",
"n": 6
}
],
"ps_mg": [
{
"a": "item",
"t": "100100",
"n": 5
}
]
},
{
@ -1053,6 +1193,20 @@
301011,
301012,
301013
],
"ps_consume": [
{
"a": "item",
"t": "100100",
"n": 6
}
],
"ps_mg": [
{
"a": "item",
"t": "100100",
"n": 5
}
]
},
{
@ -1149,6 +1303,20 @@
301011,
301012,
301013
],
"ps_consume": [
{
"a": "item",
"t": "100100",
"n": 6
}
],
"ps_mg": [
{
"a": "item",
"t": "100100",
"n": 5
}
]
},
{
@ -1245,6 +1413,20 @@
301014,
301015,
301016
],
"ps_consume": [
{
"a": "item",
"t": "100100",
"n": 6
}
],
"ps_mg": [
{
"a": "item",
"t": "100100",
"n": 5
}
]
},
{
@ -1341,6 +1523,20 @@
301017,
301018,
301019
],
"ps_consume": [
{
"a": "item",
"t": "100100",
"n": 6
}
],
"ps_mg": [
{
"a": "item",
"t": "100100",
"n": 5
}
]
},
{
@ -1437,6 +1633,20 @@
301011,
301012,
301013
],
"ps_consume": [
{
"a": "item",
"t": "100100",
"n": 6
}
],
"ps_mg": [
{
"a": "item",
"t": "100100",
"n": 5
}
]
},
{
@ -1533,6 +1743,20 @@
301014,
301015,
301016
],
"ps_consume": [
{
"a": "item",
"t": "100100",
"n": 6
}
],
"ps_mg": [
{
"a": "item",
"t": "100100",
"n": 5
}
]
},
{
@ -1629,6 +1853,20 @@
301017,
301018,
301019
],
"ps_consume": [
{
"a": "item",
"t": "100100",
"n": 6
}
],
"ps_mg": [
{
"a": "item",
"t": "100100",
"n": 5
}
]
},
{
@ -1725,6 +1963,20 @@
301011,
301012,
301013
],
"ps_consume": [
{
"a": "item",
"t": "100100",
"n": 6
}
],
"ps_mg": [
{
"a": "item",
"t": "100100",
"n": 5
}
]
},
{
@ -1821,6 +2073,20 @@
301011,
301012,
301013
],
"ps_consume": [
{
"a": "item",
"t": "100100",
"n": 6
}
],
"ps_mg": [
{
"a": "item",
"t": "100100",
"n": 5
}
]
},
{
@ -1917,6 +2183,20 @@
301014,
301015,
301016
],
"ps_consume": [
{
"a": "item",
"t": "100100",
"n": 6
}
],
"ps_mg": [
{
"a": "item",
"t": "100100",
"n": 5
}
]
},
{
@ -2013,6 +2293,20 @@
301017,
301018,
301019
],
"ps_consume": [
{
"a": "item",
"t": "100100",
"n": 6
}
],
"ps_mg": [
{
"a": "item",
"t": "100100",
"n": 5
}
]
}
]

View File

@ -245,7 +245,7 @@
"AddCon": [],
"Execution": 2,
"Args": [
321
"321"
]
},
{
@ -266,9 +266,9 @@
"AddCon": [],
"Execution": 1,
"Args": [
0,
0,
225001312
"0",
"0",
"225001312"
]
},
{
@ -291,9 +291,10 @@
],
"Execution": 1,
"Args": [
1,
0,
200004001
"1",
"0",
"200004001",
"effect_global_tre_buff"
]
},
{
@ -409,7 +410,7 @@
"AddCon": [],
"Execution": 4,
"Args": [
1
"1"
]
},
{
@ -430,7 +431,7 @@
"AddCon": [],
"Execution": 4,
"Args": [
3
"3"
]
},
{

View File

@ -221,46 +221,6 @@
"n": 1
},
"VikingExpedition_RecoveryTime": 144,
"VikingExpedition_cos": {
"a": "item",
"t": "100100",
"n": 6
},
"dreamland_cos": {
"a": "item",
"t": "100100",
"n": 3
},
"enchantboss_cos": {
"a": "item",
"t": "100100",
"n": 9
},
"hunting_cos": {
"a": "item",
"t": "100100",
"n": 6
},
"VikingExpedition_Return": {
"a": "item",
"t": "100100",
"n": 5
},
"dreamland_Return": {
"a": "item",
"t": "100100",
"n": 2
},
"enchantboss_Return": {
"a": "item",
"t": "100100",
"n": 8
},
"hunting_Return": {
"a": "item",
"t": "100100",
"n": 5
},
"cops_RecoveryTime": 300,
"cops_InitialNum": 60,
"cops_buy": [
@ -483,6 +443,46 @@
"t": "10017",
"n": 1
},
"Inletopening": 1
"Inletopening": 1,
"VikingExpedition_cos": {
"a": "item",
"t": "100100",
"n": 6
},
"dreamland_cos": {
"a": "item",
"t": "100100",
"n": 3
},
"enchantboss_cos": {
"a": "item",
"t": "100100",
"n": 9
},
"hunting_cos": {
"a": "item",
"t": "100100",
"n": 6
},
"VikingExpedition_Return": {
"a": "item",
"t": "100100",
"n": 5
},
"dreamland_Return": {
"a": "item",
"t": "100100",
"n": 2
},
"enchantboss_Return": {
"a": "item",
"t": "100100",
"n": 8
},
"hunting_Return": {
"a": "item",
"t": "100100",
"n": 5
}
}
]

File diff suppressed because it is too large Load Diff

View File

@ -27,6 +27,20 @@
401001,
401002,
401003
],
"ps_consume": [
{
"a": "item",
"t": "100100",
"n": 6
}
],
"ps_mg": [
{
"a": "item",
"t": "100100",
"n": 5
}
]
},
{
@ -62,6 +76,20 @@
401004,
401005,
401006
],
"ps_consume": [
{
"a": "item",
"t": "100100",
"n": 7
}
],
"ps_mg": [
{
"a": "item",
"t": "100100",
"n": 6
}
]
},
{
@ -97,6 +125,20 @@
401007,
401008,
401009
],
"ps_consume": [
{
"a": "item",
"t": "100100",
"n": 8
}
],
"ps_mg": [
{
"a": "item",
"t": "100100",
"n": 7
}
]
},
{
@ -132,6 +174,20 @@
401010,
401011,
401012
],
"ps_consume": [
{
"a": "item",
"t": "100100",
"n": 9
}
],
"ps_mg": [
{
"a": "item",
"t": "100100",
"n": 8
}
]
},
{
@ -172,6 +228,20 @@
401013,
401014,
401015
],
"ps_consume": [
{
"a": "item",
"t": "100100",
"n": 10
}
],
"ps_mg": [
{
"a": "item",
"t": "100100",
"n": 9
}
]
},
{
@ -212,6 +282,20 @@
401016,
401017,
401018
],
"ps_consume": [
{
"a": "item",
"t": "100100",
"n": 11
}
],
"ps_mg": [
{
"a": "item",
"t": "100100",
"n": 10
}
]
},
{
@ -252,6 +336,20 @@
401019,
401020,
401021
],
"ps_consume": [
{
"a": "item",
"t": "100100",
"n": 12
}
],
"ps_mg": [
{
"a": "item",
"t": "100100",
"n": 11
}
]
},
{
@ -292,6 +390,20 @@
401022,
401023,
401024
],
"ps_consume": [
{
"a": "item",
"t": "100100",
"n": 13
}
],
"ps_mg": [
{
"a": "item",
"t": "100100",
"n": 12
}
]
},
{
@ -332,6 +444,20 @@
401025,
401026,
401027
],
"ps_consume": [
{
"a": "item",
"t": "100100",
"n": 14
}
],
"ps_mg": [
{
"a": "item",
"t": "100100",
"n": 13
}
]
},
{
@ -372,6 +498,20 @@
401028,
401029,
401030
],
"ps_consume": [
{
"a": "item",
"t": "100100",
"n": 15
}
],
"ps_mg": [
{
"a": "item",
"t": "100100",
"n": 14
}
]
},
{
@ -402,6 +542,20 @@
402001,
402002,
402003
],
"ps_consume": [
{
"a": "item",
"t": "100100",
"n": 6
}
],
"ps_mg": [
{
"a": "item",
"t": "100100",
"n": 5
}
]
},
{
@ -437,6 +591,20 @@
402004,
402005,
402006
],
"ps_consume": [
{
"a": "item",
"t": "100100",
"n": 7
}
],
"ps_mg": [
{
"a": "item",
"t": "100100",
"n": 6
}
]
},
{
@ -472,6 +640,20 @@
402007,
402008,
402009
],
"ps_consume": [
{
"a": "item",
"t": "100100",
"n": 8
}
],
"ps_mg": [
{
"a": "item",
"t": "100100",
"n": 7
}
]
},
{
@ -507,6 +689,20 @@
402010,
402011,
402012
],
"ps_consume": [
{
"a": "item",
"t": "100100",
"n": 9
}
],
"ps_mg": [
{
"a": "item",
"t": "100100",
"n": 8
}
]
},
{
@ -547,6 +743,20 @@
402013,
402014,
402015
],
"ps_consume": [
{
"a": "item",
"t": "100100",
"n": 10
}
],
"ps_mg": [
{
"a": "item",
"t": "100100",
"n": 9
}
]
},
{
@ -587,6 +797,20 @@
402016,
402017,
402018
],
"ps_consume": [
{
"a": "item",
"t": "100100",
"n": 11
}
],
"ps_mg": [
{
"a": "item",
"t": "100100",
"n": 10
}
]
},
{
@ -627,6 +851,20 @@
402019,
402020,
402021
],
"ps_consume": [
{
"a": "item",
"t": "100100",
"n": 12
}
],
"ps_mg": [
{
"a": "item",
"t": "100100",
"n": 11
}
]
},
{
@ -667,6 +905,20 @@
402022,
402023,
402024
],
"ps_consume": [
{
"a": "item",
"t": "100100",
"n": 13
}
],
"ps_mg": [
{
"a": "item",
"t": "100100",
"n": 12
}
]
},
{
@ -707,6 +959,20 @@
402025,
402026,
402027
],
"ps_consume": [
{
"a": "item",
"t": "100100",
"n": 14
}
],
"ps_mg": [
{
"a": "item",
"t": "100100",
"n": 13
}
]
},
{
@ -747,6 +1013,20 @@
402028,
402029,
402030
],
"ps_consume": [
{
"a": "item",
"t": "100100",
"n": 15
}
],
"ps_mg": [
{
"a": "item",
"t": "100100",
"n": 14
}
]
},
{
@ -777,6 +1057,20 @@
403001,
403002,
403003
],
"ps_consume": [
{
"a": "item",
"t": "100100",
"n": 6
}
],
"ps_mg": [
{
"a": "item",
"t": "100100",
"n": 5
}
]
},
{
@ -812,6 +1106,20 @@
403004,
403005,
403006
],
"ps_consume": [
{
"a": "item",
"t": "100100",
"n": 7
}
],
"ps_mg": [
{
"a": "item",
"t": "100100",
"n": 6
}
]
},
{
@ -847,6 +1155,20 @@
403007,
403008,
403009
],
"ps_consume": [
{
"a": "item",
"t": "100100",
"n": 8
}
],
"ps_mg": [
{
"a": "item",
"t": "100100",
"n": 7
}
]
},
{
@ -882,6 +1204,20 @@
403010,
403011,
403012
],
"ps_consume": [
{
"a": "item",
"t": "100100",
"n": 9
}
],
"ps_mg": [
{
"a": "item",
"t": "100100",
"n": 8
}
]
},
{
@ -922,6 +1258,20 @@
403013,
403014,
403015
],
"ps_consume": [
{
"a": "item",
"t": "100100",
"n": 10
}
],
"ps_mg": [
{
"a": "item",
"t": "100100",
"n": 9
}
]
},
{
@ -962,6 +1312,20 @@
403016,
403017,
403018
],
"ps_consume": [
{
"a": "item",
"t": "100100",
"n": 11
}
],
"ps_mg": [
{
"a": "item",
"t": "100100",
"n": 10
}
]
},
{
@ -1002,6 +1366,20 @@
403019,
403020,
403021
],
"ps_consume": [
{
"a": "item",
"t": "100100",
"n": 12
}
],
"ps_mg": [
{
"a": "item",
"t": "100100",
"n": 11
}
]
},
{
@ -1042,6 +1420,20 @@
403022,
403023,
403024
],
"ps_consume": [
{
"a": "item",
"t": "100100",
"n": 13
}
],
"ps_mg": [
{
"a": "item",
"t": "100100",
"n": 12
}
]
},
{
@ -1082,6 +1474,20 @@
403025,
403026,
403027
],
"ps_consume": [
{
"a": "item",
"t": "100100",
"n": 14
}
],
"ps_mg": [
{
"a": "item",
"t": "100100",
"n": 13
}
]
},
{
@ -1122,6 +1528,20 @@
403028,
403029,
403030
],
"ps_consume": [
{
"a": "item",
"t": "100100",
"n": 15
}
],
"ps_mg": [
{
"a": "item",
"t": "100100",
"n": 14
}
]
},
{
@ -1152,6 +1572,20 @@
404001,
404002,
404003
],
"ps_consume": [
{
"a": "item",
"t": "100100",
"n": 6
}
],
"ps_mg": [
{
"a": "item",
"t": "100100",
"n": 5
}
]
},
{
@ -1187,6 +1621,20 @@
404004,
404005,
404006
],
"ps_consume": [
{
"a": "item",
"t": "100100",
"n": 7
}
],
"ps_mg": [
{
"a": "item",
"t": "100100",
"n": 6
}
]
},
{
@ -1222,6 +1670,20 @@
404007,
404008,
404009
],
"ps_consume": [
{
"a": "item",
"t": "100100",
"n": 8
}
],
"ps_mg": [
{
"a": "item",
"t": "100100",
"n": 7
}
]
},
{
@ -1257,6 +1719,20 @@
404010,
404011,
404012
],
"ps_consume": [
{
"a": "item",
"t": "100100",
"n": 9
}
],
"ps_mg": [
{
"a": "item",
"t": "100100",
"n": 8
}
]
},
{
@ -1297,6 +1773,20 @@
404013,
404014,
404015
],
"ps_consume": [
{
"a": "item",
"t": "100100",
"n": 10
}
],
"ps_mg": [
{
"a": "item",
"t": "100100",
"n": 9
}
]
},
{
@ -1337,6 +1827,20 @@
404016,
404017,
404018
],
"ps_consume": [
{
"a": "item",
"t": "100100",
"n": 11
}
],
"ps_mg": [
{
"a": "item",
"t": "100100",
"n": 10
}
]
},
{
@ -1377,6 +1881,20 @@
404019,
404020,
404021
],
"ps_consume": [
{
"a": "item",
"t": "100100",
"n": 12
}
],
"ps_mg": [
{
"a": "item",
"t": "100100",
"n": 11
}
]
},
{
@ -1417,6 +1935,20 @@
404022,
404023,
404024
],
"ps_consume": [
{
"a": "item",
"t": "100100",
"n": 13
}
],
"ps_mg": [
{
"a": "item",
"t": "100100",
"n": 12
}
]
},
{
@ -1457,6 +1989,20 @@
404025,
404026,
404027
],
"ps_consume": [
{
"a": "item",
"t": "100100",
"n": 14
}
],
"ps_mg": [
{
"a": "item",
"t": "100100",
"n": 13
}
]
},
{
@ -1497,6 +2043,20 @@
404028,
404029,
404030
],
"ps_consume": [
{
"a": "item",
"t": "100100",
"n": 15
}
],
"ps_mg": [
{
"a": "item",
"t": "100100",
"n": 14
}
]
}
]

View File

@ -35,7 +35,7 @@
"key": "mainline_desc_10002",
"text": "别看阿宝所在的“和平谷”一派欣欣向荣的安详景象,其实是一个卧虎藏龙的风水宝地,先不说五大功夫高手皆坐镇于此,更有一大师级别的宗师在这里隐居。"
},
"starreward": 0
"starreward": 11002
},
{
"id": 11003,
@ -54,7 +54,7 @@
"key": "mainline_desc_10003",
"text": "可是在一场特殊的比武大会上胜出的人要代表“和平谷”将邪恶的大龙永久地驱除出去,啥都不会的阿宝却在经历了一系列阴差阳错之后屏雀中选,让所有人都大跌眼镜。"
},
"starreward": 11002
"starreward": 11003
},
{
"id": 11004,
@ -73,7 +73,7 @@
"key": "mainline_desc_10004",
"text": "自负的毒蛇大师虽然给人的感觉稍显轻浮,但对这件事的态度就有如她善变的性格,不太明朗;螳螂大师算是几位高手中最聪明的一个,对阿宝的现状很是无奈,总是暗中帮忙。"
},
"starreward": 11003
"starreward": 11004
},
{
"id": 11005,
@ -92,7 +92,7 @@
"key": "mainline_desc_10005",
"text": "最后要将阿宝调教成“功夫高手”的一代宗师“师父”华丽丽地出场了,然而有着一身好功夫并不意味着就是完美的,“师父”因为过去犯下的一个错误,一直纠结着没办法释然。"
},
"starreward": 11004
"starreward": 11005
},
{
"id": 11006,
@ -111,7 +111,7 @@
"key": "mainline_desc_10006",
"text": "至于那个让人人都如临大敌的太郎则是一只非常自恋的雪豹他等待复仇的这一天已经整整等了20年了可是他做梦也没想到自己等来的竟然是一只大熊猫。"
},
"starreward": 0
"starreward": 11006
},
{
"id": 11007,
@ -130,7 +130,7 @@
"key": "mainline_desc_10007",
"text": "激烈的战斗后,阿宝以自己对武功的悟性和师父传授的武术,战胜了太郎,拯救了山谷,为山谷带来了和平。"
},
"starreward": 0
"starreward": 11007
},
{
"id": 11008,
@ -149,7 +149,7 @@
"key": "mainline_desc_10008",
"text": "可是在一场特殊的比武大会上胜出的人要代表“和平谷”将邪恶的大龙永久地驱除出去,啥都不会的阿宝却在经历了一系列阴差阳错之后屏雀中选,让所有人都大跌眼镜。"
},
"starreward": 0
"starreward": 11008
},
{
"id": 11009,
@ -168,7 +168,7 @@
"key": "mainline_desc_10009",
"text": "可是在一场特殊的比武大会上胜出的人要代表“和平谷”将邪恶的大龙永久地驱除出去,啥都不会的阿宝却在经历了一系列阴差阳错之后屏雀中选,让所有人都大跌眼镜。"
},
"starreward": 0
"starreward": 11009
},
{
"id": 11010,
@ -187,7 +187,7 @@
"key": "mainline_desc_10010",
"text": "可是在一场特殊的比武大会上胜出的人要代表“和平谷”将邪恶的大龙永久地驱除出去,啥都不会的阿宝却在经历了一系列阴差阳错之后屏雀中选,让所有人都大跌眼镜。"
},
"starreward": 0
"starreward": 11010
},
{
"id": 11011,
@ -206,7 +206,7 @@
"key": "mainline_desc_10011",
"text": "可是在一场特殊的比武大会上胜出的人要代表“和平谷”将邪恶的大龙永久地驱除出去,啥都不会的阿宝却在经历了一系列阴差阳错之后屏雀中选,让所有人都大跌眼镜。"
},
"starreward": 0
"starreward": 11011
},
{
"id": 11012,
@ -225,7 +225,7 @@
"key": "mainline_desc_10012",
"text": "可是在一场特殊的比武大会上胜出的人要代表“和平谷”将邪恶的大龙永久地驱除出去,啥都不会的阿宝却在经历了一系列阴差阳错之后屏雀中选,让所有人都大跌眼镜。"
},
"starreward": 0
"starreward": 11012
},
{
"id": 12001,
@ -244,7 +244,7 @@
"key": "mainline_desc_10001",
"text": "故事发生在很久以前的古代中国,而且要从一只喜欢滚来滚去、滚来滚去的大熊猫身上说起。话说熊猫阿宝是一家面条店的学徒,虽然笨手笨脚,也勉强算是谋到了一份职业。"
},
"starreward": 0
"starreward": 11013
},
{
"id": 12002,
@ -263,7 +263,7 @@
"key": "mainline_desc_10002",
"text": "别看阿宝所在的“和平谷”一派欣欣向荣的安详景象,其实是一个卧虎藏龙的风水宝地,先不说五大功夫高手皆坐镇于此,更有一大师级别的宗师在这里隐居。"
},
"starreward": 0
"starreward": 11014
},
{
"id": 12003,
@ -282,7 +282,7 @@
"key": "mainline_desc_10003",
"text": "可是在一场特殊的比武大会上胜出的人要代表“和平谷”将邪恶的大龙永久地驱除出去,啥都不会的阿宝却在经历了一系列阴差阳错之后屏雀中选,让所有人都大跌眼镜。"
},
"starreward": 0
"starreward": 11015
},
{
"id": 12004,
@ -301,7 +301,7 @@
"key": "mainline_desc_10004",
"text": "自负的毒蛇大师虽然给人的感觉稍显轻浮,但对这件事的态度就有如她善变的性格,不太明朗;螳螂大师算是几位高手中最聪明的一个,对阿宝的现状很是无奈,总是暗中帮忙。"
},
"starreward": 0
"starreward": 11016
},
{
"id": 12005,
@ -320,7 +320,7 @@
"key": "mainline_desc_10005",
"text": "最后要将阿宝调教成“功夫高手”的一代宗师“师父”华丽丽地出场了,然而有着一身好功夫并不意味着就是完美的,“师父”因为过去犯下的一个错误,一直纠结着没办法释然。"
},
"starreward": 0
"starreward": 11017
},
{
"id": 12006,
@ -339,7 +339,7 @@
"key": "mainline_desc_10006",
"text": "至于那个让人人都如临大敌的太郎则是一只非常自恋的雪豹他等待复仇的这一天已经整整等了20年了可是他做梦也没想到自己等来的竟然是一只大熊猫。"
},
"starreward": 0
"starreward": 11018
},
{
"id": 12007,
@ -358,7 +358,7 @@
"key": "mainline_desc_10007",
"text": "激烈的战斗后,阿宝以自己对武功的悟性和师父传授的武术,战胜了太郎,拯救了山谷,为山谷带来了和平。"
},
"starreward": 0
"starreward": 11019
},
{
"id": 12008,
@ -377,7 +377,7 @@
"key": "mainline_desc_10008",
"text": "可是在一场特殊的比武大会上胜出的人要代表“和平谷”将邪恶的大龙永久地驱除出去,啥都不会的阿宝却在经历了一系列阴差阳错之后屏雀中选,让所有人都大跌眼镜。"
},
"starreward": 0
"starreward": 11020
},
{
"id": 12009,
@ -396,7 +396,7 @@
"key": "mainline_desc_10009",
"text": "可是在一场特殊的比武大会上胜出的人要代表“和平谷”将邪恶的大龙永久地驱除出去,啥都不会的阿宝却在经历了一系列阴差阳错之后屏雀中选,让所有人都大跌眼镜。"
},
"starreward": 0
"starreward": 11021
},
{
"id": 12010,
@ -415,7 +415,7 @@
"key": "mainline_desc_10010",
"text": "可是在一场特殊的比武大会上胜出的人要代表“和平谷”将邪恶的大龙永久地驱除出去,啥都不会的阿宝却在经历了一系列阴差阳错之后屏雀中选,让所有人都大跌眼镜。"
},
"starreward": 0
"starreward": 11022
},
{
"id": 12011,
@ -434,7 +434,7 @@
"key": "mainline_desc_10011",
"text": "可是在一场特殊的比武大会上胜出的人要代表“和平谷”将邪恶的大龙永久地驱除出去,啥都不会的阿宝却在经历了一系列阴差阳错之后屏雀中选,让所有人都大跌眼镜。"
},
"starreward": 0
"starreward": 11023
},
{
"id": 12012,
@ -453,6 +453,6 @@
"key": "mainline_desc_10012",
"text": "可是在一场特殊的比武大会上胜出的人要代表“和平谷”将邪恶的大龙永久地驱除出去,啥都不会的阿宝却在经历了一系列阴差阳错之后屏雀中选,让所有人都大跌眼镜。"
},
"starreward": 0
"starreward": 11024
}
]

View File

@ -885,14 +885,14 @@
"x": 0,
"y": 0
},
"fingerTime": 0,
"fingerTime": 1,
"objSize": {
"x": 200,
"y": 300
},
"objOffset": {
"x": -100,
"y": -150
"x": 0,
"y": -250
},
"txt": "500",
"speakerface": 0,
@ -948,53 +948,13 @@
{
"id": 260,
"group": 60,
"type": 3,
"startPar": "",
"parameter": "",
"interface": "",
"condition": "",
"followtj": "",
"followguide": 270,
"finger": [
"zhandou",
"skilllist$",
"2",
"skillbtn"
],
"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": 270,
"group": 60,
"type": 2,
"startPar": "",
"parameter": "",
"interface": "",
"condition": "",
"followtj": "OpenSettlement",
"followguide": 280,
"followguide": 270,
"finger": [],
"offset": {
"x": 0,
@ -1021,7 +981,7 @@
"reward": []
},
{
"id": 280,
"id": 270,
"group": 60,
"type": 3,
"startPar": "",
@ -1029,7 +989,7 @@
"interface": "",
"condition": "",
"followtj": "OpenMainbarrier",
"followguide": 290,
"followguide": 0,
"finger": [
"settlement",
"back_map_btn$"
@ -1059,7 +1019,7 @@
"reward": []
},
{
"id": 290,
"id": 280,
"group": 70,
"type": 3,
"startPar": "",
@ -1067,7 +1027,7 @@
"interface": "",
"condition": "GuideFinish60",
"followtj": "OpenRecruit",
"followguide": 300,
"followguide": 290,
"finger": [
"3d",
"Root/程序/EntityInteraction/Middle/Recruit"
@ -1097,7 +1057,7 @@
"reward": []
},
{
"id": 300,
"id": 290,
"group": 70,
"type": 3,
"startPar": "",
@ -1105,7 +1065,7 @@
"interface": "",
"condition": "",
"followtj": "OpenRecruittendraw",
"followguide": 310,
"followguide": 300,
"finger": [
"recruit",
"btn_onedraw$"
@ -1135,7 +1095,7 @@
"reward": []
},
{
"id": 310,
"id": 300,
"group": 70,
"type": 3,
"startPar": "",
@ -1143,7 +1103,7 @@
"interface": "",
"condition": "",
"followtj": "",
"followguide": 320,
"followguide": 310,
"finger": [
"recruittendraw",
"btn_return$"
@ -1173,7 +1133,7 @@
"reward": []
},
{
"id": 320,
"id": 310,
"group": 70,
"type": 3,
"startPar": "",
@ -1181,7 +1141,7 @@
"interface": "",
"condition": "",
"followtj": "OpenMaininterFace",
"followguide": 330,
"followguide": 320,
"finger": [
"recruit",
"btn_back$"
@ -1211,7 +1171,7 @@
"reward": []
},
{
"id": 330,
"id": 320,
"group": 70,
"type": 3,
"startPar": "",
@ -1219,7 +1179,7 @@
"interface": "",
"condition": "",
"followtj": "",
"followguide": 340,
"followguide": 330,
"finger": [
"recruittendraw",
"btn_return$"
@ -1249,7 +1209,7 @@
"reward": []
},
{
"id": 340,
"id": 330,
"group": 70,
"type": 3,
"startPar": "",
@ -1257,7 +1217,7 @@
"interface": "",
"condition": "",
"followtj": "OpenMaininterFace",
"followguide": 350,
"followguide": 340,
"finger": [
"recruit",
"btn_back$"
@ -1286,6 +1246,41 @@
"skipgroup": 0,
"reward": []
},
{
"id": 340,
"group": 80,
"type": 3,
"startPar": "",
"parameter": "",
"interface": "",
"condition": "",
"followtj": "",
"followguide": 350,
"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": 350,
"group": 80,
@ -1463,7 +1458,7 @@
},
{
"id": 400,
"group": 80,
"group": 90,
"type": 3,
"startPar": "",
"parameter": "",
@ -1625,7 +1620,7 @@
"x": 0,
"y": 0
},
"txt": "500",
"txt": "",
"speakerface": 0,
"sound": "",
"mask": 0,
@ -1778,7 +1773,7 @@
},
{
"id": 490,
"group": 90,
"group": 100,
"type": 3,
"startPar": "",
"parameter": "",
@ -1953,7 +1948,7 @@
},
{
"id": 540,
"group": 100,
"group": 110,
"type": 3,
"startPar": "",
"parameter": "",
@ -2234,41 +2229,6 @@
{
"id": 620,
"group": 110,
"type": 3,
"startPar": "",
"parameter": "",
"interface": "",
"condition": "",
"followtj": "",
"followguide": 630,
"finger": [],
"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": 630,
"group": 110,
"type": 4,
"startPar": "",
"parameter": "",

View File

@ -1230,10 +1230,6 @@
"main": [
{
"key": "platlv",
"param": 5
},
{
"key": "maxmapid",
"param": 1
}
],
@ -1256,10 +1252,6 @@
"main": [
{
"key": "platlv",
"param": 4
},
{
"key": "maxmapid",
"param": 1
}
],
@ -1282,10 +1274,6 @@
"main": [
{
"key": "platlv",
"param": 5
},
{
"key": "maxmapid",
"param": 1
}
],

View File

@ -8,7 +8,7 @@
"access": 0,
"position": "",
"sex": 1,
"resources": "45003"
"resources": "45003_exhibition"
},
{
"id": 100002,
@ -19,7 +19,7 @@
"access": 0,
"position": "",
"sex": 1,
"resources": "45003"
"resources": "45003_exhibition"
},
{
"id": 100003,
@ -30,7 +30,7 @@
"access": 0,
"position": "",
"sex": 1,
"resources": "45003"
"resources": "45003_exhibition"
},
{
"id": 200001,
@ -41,7 +41,7 @@
"access": 0,
"position": "",
"sex": 2,
"resources": "44005"
"resources": "45003_exhibition"
},
{
"id": 200002,
@ -52,7 +52,7 @@
"access": 0,
"position": "",
"sex": 2,
"resources": "44005"
"resources": "45003_exhibition"
},
{
"id": 200003,
@ -63,6 +63,6 @@
"access": 0,
"position": "",
"sex": 2,
"resources": "44005"
"resources": "45003_exhibition"
}
]

View File

@ -28482,5 +28482,221 @@
"DpsCondition": "",
"RevisiCondition": "",
"RevisiParams": []
},
{
"Id": 244002011,
"EmitPR": 1000,
"From": 1,
"Where": [],
"Order": "",
"Limit": 10,
"ExecuteCnt": 1,
"Type": 3,
"Argu": [
390001323,
1000,
1,
-1
],
"FollowSK": [],
"SucFollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"DpsRevisiType": 0,
"DpsCondition": "",
"RevisiCondition": "",
"RevisiParams": []
},
{
"Id": 244002111,
"EmitPR": 1000,
"From": 2,
"Where": [],
"Order": "",
"Limit": 1,
"ExecuteCnt": 1,
"Type": 1,
"Argu": [
1,
4,
1200
],
"FollowSK": [
244002112
],
"SucFollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"DpsRevisiType": 0,
"DpsCondition": "",
"RevisiCondition": "",
"RevisiParams": []
},
{
"Id": 244002112,
"EmitPR": 1000,
"From": 2,
"Where": [],
"Order": "",
"Limit": 1,
"ExecuteCnt": 1,
"Type": 8,
"Argu": [
0,
1,
600
],
"FollowSK": [],
"SucFollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"DpsRevisiType": 0,
"DpsCondition": "",
"RevisiCondition": "",
"RevisiParams": []
},
{
"Id": 244002211,
"EmitPR": 1000,
"From": 1,
"Where": [],
"Order": "",
"Limit": 10,
"ExecuteCnt": 1,
"Type": 5,
"Argu": [
2,
1,
10,
1,
4,
800
],
"FollowSK": [
244002212
],
"SucFollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"DpsRevisiType": 0,
"DpsCondition": "",
"RevisiCondition": "",
"RevisiParams": []
},
{
"Id": 244002212,
"EmitPR": 1000,
"From": 1,
"Where": [],
"Order": "",
"Limit": 10,
"ExecuteCnt": 1,
"Type": 3,
"Argu": [
390001127,
1000,
1,
1
],
"FollowSK": [],
"SucFollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"DpsRevisiType": 0,
"DpsCondition": "",
"RevisiCondition": "",
"RevisiParams": []
},
{
"Id": 244002311,
"EmitPR": 1000,
"From": 1,
"Where": [],
"Order": "",
"Limit": 10,
"ExecuteCnt": 1,
"Type": 12,
"Argu": [
250
],
"FollowSK": [
244002312,
244002313
],
"SucFollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"DpsRevisiType": 0,
"DpsCondition": "",
"RevisiCondition": "",
"RevisiParams": []
},
{
"Id": 244002312,
"EmitPR": 1000,
"From": 1,
"Where": [],
"Order": "",
"Limit": 10,
"ExecuteCnt": 1,
"Type": 3,
"Argu": [
390001436,
1000,
1,
-1
],
"FollowSK": [],
"SucFollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"DpsRevisiType": 0,
"DpsCondition": "",
"RevisiCondition": "",
"RevisiParams": []
},
{
"Id": 244002313,
"EmitPR": 1000,
"From": 1,
"Where": [],
"Order": "",
"Limit": 1,
"ExecuteCnt": 1,
"Type": 2,
"Argu": [
444002313,
1,
1
],
"FollowSK": [],
"SucFollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"DpsRevisiType": 0,
"DpsCondition": "",
"RevisiCondition": "",
"RevisiParams": []
},
{
"Id": 244002314,
"EmitPR": 1000,
"From": 3,
"Where": [],
"Order": "",
"Limit": 1,
"ExecuteCnt": 1,
"Type": 12,
"Argu": [
200
],
"FollowSK": [],
"SucFollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"DpsRevisiType": 0,
"DpsCondition": "",
"RevisiCondition": "",
"RevisiParams": []
}
]

View File

@ -220,7 +220,7 @@
},
"Desc": {
"key": "skill_1250042111",
"text": "清除我方所有减益状态,并平均分配我方生命值千分比为我方全体附加2回合【攻击提升】状态"
"text": "清除我方所有减益状态,并平均分配我方生命值为我方全体附加2回合【攻击提升】状态"
},
"buffid": [],
"map": ""
@ -308,7 +308,7 @@
},
"Desc": {
"key": "skill_1250043111",
"text": "进入2回合【喜悦】状态使我方全体收到伤害降低25%,且在每个队友行动为其驱散1个减益状态并回复其最大生命值20%的生命,效果持续期间自身无法行动"
"text": "进入2回合【喜悦】状态使我方全体收到伤害降低25%,且在每个队友行动为其驱散1个减益状态并回复其最大生命值20%的生命,效果持续期间自身无法行动"
},
"buffid": [],
"map": ""
@ -477,7 +477,7 @@
},
"Desc": {
"key": "skill_1350021111",
"text": "攻击一个敌方2次伤害分别为自身攻击力30%和80%,每次目标转嫁自身1个减益转嫁成功时有50%的概率为目标附加1回合【眩晕】。"
"text": "攻击一个敌方2次伤害分别为自身攻击力30%和80%,每次目标转嫁自身1个减益转嫁成功时有50%的概率为目标附加1回合【眩晕】。"
},
"buffid": [],
"map": ""
@ -651,7 +651,7 @@
},
"Desc": {
"key": "skill_1350022111",
"text": "自身不会失手。敌方使其友方减益提前结束时扣除其当前生命值30%,驱散其全部增益u为其附加1回合【石化】。"
"text": "自身不会失手。敌方使其友方减益提前结束时扣除其当前生命值30%,驱散其全部增益为其附加1回合【石化】。"
},
"buffid": [],
"map": ""
@ -15154,5 +15154,117 @@
},
"buffid": [],
"map": ""
},
{
"id": 144002011,
"level": 1,
"MaxLV": 1,
"UnavailablePlayTypes": [],
"Name": {
"key": "skillname_144002011",
"text": "蛇先生队长级"
},
"ico": "jn_dzj_0021",
"CorrectPos": 0,
"IsMelee": 0,
"act": "",
"Type": 3,
"CD": 0,
"Target": 1,
"ChildSkill": {
"Id": [
244002011
]
},
"Desc": {
"key": "skill_1440020111",
"text": "在祭祀神迹、声之神迹的挑战中我方全体防御增加30%"
},
"buffid": [],
"map": ""
},
{
"id": 144002111,
"level": 1,
"MaxLV": 1,
"UnavailablePlayTypes": [],
"Name": {
"key": "skillname_144002111",
"text": "蛇咬"
},
"ico": "jn_icon_054",
"CorrectPos": 0,
"IsMelee": 1,
"act": "Skill_1",
"Type": 1,
"CD": 0,
"Target": 2,
"ChildSkill": {
"Id": [
244002111
]
},
"Desc": {
"key": "skill_1440021111",
"text": "蛇先生对敌方1个目标造成攻击力120%的伤害并有60%概率驱散目标1个增益效果。"
},
"buffid": [],
"map": ""
},
{
"id": 144002211,
"level": 1,
"MaxLV": 1,
"UnavailablePlayTypes": [],
"Name": {
"key": "skillname_144002211",
"text": "推推糖馈赠"
},
"ico": "jn_icon_055",
"CorrectPos": 0,
"IsMelee": 0,
"act": "Skill_2",
"Type": 1,
"CD": 4,
"Target": 1,
"ChildSkill": {
"Id": [
244002211
]
},
"Desc": {
"key": "skill_1440022111",
"text": "蛇先生我方全体回复各自最大生命在10%的生命和自身攻击力80%的生命并附加1回合【复苏】状态。"
},
"buffid": [],
"map": ""
},
{
"id": 144002311,
"level": 1,
"MaxLV": 1,
"UnavailablePlayTypes": [],
"Name": {
"key": "skillname_144002311",
"text": "失乐园"
},
"ico": "jn_icon_056",
"CorrectPos": 0,
"IsMelee": 0,
"act": "Skill_3",
"Type": 1,
"CD": 5,
"Target": 1,
"ChildSkill": {
"Id": [
244002311
]
},
"Desc": {
"key": "skill_1440023111",
"text": "蛇先生己方全体提升25%行动值并施加【伪装】。己方每个【伪装】的触发都会为自身提升20%的行动值。"
},
"buffid": [],
"map": ""
}
]

View File

@ -3048,5 +3048,31 @@
"buffIcon": "ty_zd_buff_z010",
"buffeffect": "",
"buffpos": "头"
},
{
"Id": 390001436,
"Name": {
"key": "skill_buff_390001436",
"text": "伪装(减伤)"
},
"Desc": {
"key": "skill_buffdes_390001436",
"text": "受到的伤害降低50%"
},
"BuffType": 23,
"EffectArgu": [
500
],
"BufParNum": 1,
"RelyCheckArgu": [],
"CoexistCheckArgu": [],
"Effect": 0,
"AddEffect": false,
"RemoveType": false,
"OverlayTimes": 1,
"SameID": false,
"buffIcon": "ty_zd_buff_z010",
"buffeffect": "",
"buffpos": "头"
}
]

View File

@ -2297,5 +2297,21 @@
"Callback": [
245002214
]
},
{
"Id": 444002313,
"When": 18,
"FromCheck": "Target=1",
"TargetCheck": "",
"MainSkillCheck": "",
"AfterSkillCheck": "",
"BuffCheck": "",
"AddCon": [],
"PasPr": 1000,
"Type": "CallSkillPas",
"MaxEmitTimes": 1,
"Callback": [
244002314
]
}
]

File diff suppressed because it is too large Load Diff

View File

@ -2,7 +2,7 @@
{
"key": 10100,
"lock": 1,
"ontxe": 99999,
"ontxe": 9999,
"id_after": 0,
"group": 1,
"des": 2,
@ -1980,15 +1980,15 @@
"icon": "",
"npc": [
"scenes_boundary_01_recordtask",
"新手引导-杰克第一幕1",
"0新手引导-杰克-中轴城",
"150"
],
"getafter_event": [
2,
4001
401
],
"completetask": 0,
"auto_accept": 1,
"auto_accept": 0,
"overtips": 1,
"reword": [
{
@ -2008,12 +2008,12 @@
"icon": "",
"npc": [
"scenes_boundary_01_recordtask",
"新手引导-杰克第一幕1",
"1.新手引导-花朵-中轴城",
"150"
],
"getafter_event": [
2,
1001
401
],
"completetask": 0,
"auto_accept": 0,
@ -2030,15 +2030,15 @@
"icon": "",
"npc": [
"scenes_boundary_01_recordtask",
"新手引导-杰克第一幕1",
"0新手引导-杰克-中轴城",
"150"
],
"getafter_event": [
2,
1001
405
],
"completetask": 0,
"auto_accept": 0,
"auto_accept": 1,
"overtips": 1,
"reword": []
},
@ -2052,12 +2052,12 @@
"icon": "",
"npc": [
"scenes_boundary_01_recordtask",
"新手引导-杰克第一幕1",
"0新手引导-杰克-中轴城",
"150"
],
"getafter_event": [
2,
1001
406
],
"completetask": 0,
"auto_accept": 0,
@ -2074,12 +2074,12 @@
"icon": "",
"npc": [
"scenes_boundary_01_recordtask",
"新手引导-杰克第一幕1",
"3新手引导-波比-正常待机-中轴城",
"150"
],
"getafter_event": [
2,
1001
407
],
"completetask": 0,
"auto_accept": 0,
@ -2090,18 +2090,282 @@
"key": 20060,
"lock": 1,
"ontxe": 20050,
"id_after": 20070,
"group": 2,
"des": 2,
"icon": "",
"npc": [
"scenes_boundary_01_recordtask",
"2新手引导-邦尼兔-正常待机-中轴城",
"150"
],
"getafter_event": [
2,
408
],
"completetask": 0,
"auto_accept": 0,
"overtips": 1,
"reword": []
},
{
"key": 20070,
"lock": 1,
"ontxe": 20060,
"id_after": 20080,
"group": 2,
"des": 2,
"icon": "",
"npc": [
"scenes_boundary_01_recordtask",
"新手引导-波比-右屏圣树1",
"153"
],
"getafter_event": [
2,
410
],
"completetask": 0,
"auto_accept": 0,
"overtips": 1,
"reword": []
},
{
"key": 20080,
"lock": 1,
"ontxe": 20070,
"id_after": 20090,
"group": 2,
"des": 2,
"icon": "",
"npc": [
"scenes_boundary_01_recordtask",
"新手引导-波比-右屏圣树2",
"153"
],
"getafter_event": [
2,
411
],
"completetask": 0,
"auto_accept": 0,
"overtips": 1,
"reword": []
},
{
"key": 20090,
"lock": 1,
"ontxe": 20080,
"id_after": 20100,
"group": 2,
"des": 2,
"icon": "",
"npc": [
"scenes_boundary_01_recordtask",
"新手引导-波比-右屏圣树2",
"153"
],
"getafter_event": [
2,
411
],
"completetask": 0,
"auto_accept": 0,
"overtips": 1,
"reword": []
},
{
"key": 20100,
"lock": 1,
"ontxe": 20090,
"id_after": 20110,
"group": 2,
"des": 2,
"icon": "",
"npc": [
"scenes_boundary_01_recordtask",
"新手引导-波比-右屏圣树2",
"153"
],
"getafter_event": [
2,
411
],
"completetask": 0,
"auto_accept": 0,
"overtips": 1,
"reword": []
},
{
"key": 20110,
"lock": 1,
"ontxe": 20100,
"id_after": 20120,
"group": 2,
"des": 2,
"icon": "",
"npc": [
"scenes_boundary_01_recordtask",
"新手引导-波比-右屏圣树2",
"153"
],
"getafter_event": [
2,
411
],
"completetask": 0,
"auto_accept": 0,
"overtips": 1,
"reword": []
},
{
"key": 20120,
"lock": 1,
"ontxe": 20110,
"id_after": 20130,
"group": 2,
"des": 2,
"icon": "",
"npc": [
"scenes_boundary_01_recordtask",
"新手引导-波比-右屏圣树2",
"153"
],
"getafter_event": [
2,
411
],
"completetask": 0,
"auto_accept": 0,
"overtips": 1,
"reword": []
},
{
"key": 20130,
"lock": 1,
"ontxe": 20120,
"id_after": 20140,
"group": 2,
"des": 2,
"icon": "",
"npc": [
"scenes_boundary_01_recordtask",
"新手引导-波比-右屏圣树2",
"153"
],
"getafter_event": [
2,
411
],
"completetask": 0,
"auto_accept": 0,
"overtips": 1,
"reword": []
},
{
"key": 20140,
"lock": 1,
"ontxe": 20130,
"id_after": 20150,
"group": 2,
"des": 2,
"icon": "",
"npc": [
"scenes_boundary_01_recordtask",
"新手引导-波比-右屏圣树2",
"153"
],
"getafter_event": [
2,
411
],
"completetask": 0,
"auto_accept": 0,
"overtips": 1,
"reword": []
},
{
"key": 20150,
"lock": 1,
"ontxe": 20140,
"id_after": 20160,
"group": 2,
"des": 2,
"icon": "",
"npc": [
"scenes_boundary_01_recordtask",
"新手引导-波比-右屏圣树2",
"153"
],
"getafter_event": [
2,
411
],
"completetask": 0,
"auto_accept": 0,
"overtips": 1,
"reword": []
},
{
"key": 20160,
"lock": 1,
"ontxe": 20150,
"id_after": 20170,
"group": 2,
"des": 2,
"icon": "",
"npc": [
"scenes_boundary_01_recordtask",
"新手引导-波比-右屏圣树2",
"153"
],
"getafter_event": [
2,
411
],
"completetask": 0,
"auto_accept": 0,
"overtips": 1,
"reword": []
},
{
"key": 20170,
"lock": 1,
"ontxe": 20160,
"id_after": 20180,
"group": 2,
"des": 2,
"icon": "",
"npc": [
"scenes_boundary_01_recordtask",
"新手引导-波比-右屏圣树2",
"153"
],
"getafter_event": [
2,
411
],
"completetask": 0,
"auto_accept": 0,
"overtips": 1,
"reword": []
},
{
"key": 20180,
"lock": 1,
"ontxe": 20170,
"id_after": 0,
"group": 2,
"des": 2,
"icon": "",
"npc": [
"scenes_boundary_01_recordtask",
"新手引导-杰克第一幕1",
"150"
"新手引导-波比-右屏圣树2",
"153"
],
"getafter_event": [
2,
1001
411
],
"completetask": 0,
"auto_accept": 0,

View File

@ -3,7 +3,6 @@ package hunting
import (
"go_dreamfactory/comm"
"go_dreamfactory/pb"
cfg "go_dreamfactory/sys/configure/structs"
"google.golang.org/protobuf/proto"
)
@ -30,26 +29,17 @@ func (this *apiComp) Challenge(session comm.IUserSession, req *pb.HuntingChallen
code = pb.ErrorCode_PagodaNotFound
return
}
conf := this.module.configure.GetGlobalConf()
if conf == nil {
code = pb.ErrorCode_ConfigNoFound
return
}
costRes := conf.HuntingCos
if costRes == nil {
code = pb.ErrorCode_ConfigNoFound
return
}
if code = this.module.CheckRes(session, []*cfg.Gameatn{costRes}); code != pb.ErrorCode_Success {
code = pb.ErrorCode_HuntingNoChallengeCount
return
}
cfgData := this.module.configure.GetHuntingBossConfigData(req.BossType, req.Difficulty)
if cfgData == nil {
code = pb.ErrorCode_ConfigNoFound
return
}
if code = this.module.CheckRes(session, cfgData.PsConsume); code != pb.ErrorCode_Success {
code = pb.ErrorCode_VikingMaxChallengeCount
return
}
value, ok := hunting.Boss[req.BossType]
if !ok { // 类型校验
hunting.Boss[req.BossType] = 1

View File

@ -3,8 +3,8 @@ package hunting
import (
"go_dreamfactory/comm"
"go_dreamfactory/pb"
"go_dreamfactory/sys/configure"
cfg "go_dreamfactory/sys/configure/structs"
"strconv"
"google.golang.org/protobuf/proto"
)
@ -38,27 +38,12 @@ func (this *apiComp) ChallengeOver(session comm.IUserSession, req *pb.HuntingCha
code = pb.ErrorCode_PagodaNotFound
return
}
conf := this.module.configure.GetGlobalConf()
if conf == nil {
code = pb.ErrorCode_ConfigNoFound
return
}
costRes := conf.HuntingCos
if costRes == nil {
code = pb.ErrorCode_ConfigNoFound
return
}
if code = this.module.CheckRes(session, []*cfg.Gameatn{costRes}); code != pb.ErrorCode_Success {
code = pb.ErrorCode_HuntingNoChallengeCount
return
}
cfgHunting := this.module.configure.GetHuntingBossConfigData(req.BossType, req.Difficulty)
if cfgHunting == nil {
code = pb.ErrorCode_ConfigNoFound
return
}
value, ok := hunting.Boss[req.BossType]
if !ok { // 类型校验
hunting.Boss[req.BossType] = 1
@ -70,27 +55,37 @@ func (this *apiComp) ChallengeOver(session comm.IUserSession, req *pb.HuntingCha
code = pb.ErrorCode_HuntingLvErr
return
}
// 校验门票数量够不够
if code = this.module.ConsumeRes(session, []*cfg.Gameatn{costRes}, true); code != pb.ErrorCode_Success {
return
}
// check
code, bWin = this.module.battle.CheckBattleReport(session, req.Report)
if code != pb.ErrorCode_Success {
if code = this.module.ModuleItems.RecoverTicket(session); code != pb.ErrorCode_Success {
return
}
amount := int32(this.module.ModuleItems.QueryItemAmount(session.GetUserId(), costRes.T)) // 获取当前数量
if amount < conf.HuntingNum {
hunting.RecoveryTime = configure.Now().Unix()
mapData["recoveryTime"] = hunting.RecoveryTime
if !bWin { // 战斗失败了 直接返回
if code = this.module.ConsumeRes(session, cfgHunting.PsMg, true); code != pb.ErrorCode_Success {
return
}
session.SendMsg(string(this.module.GetType()), HuntingChallengeOverResp, &pb.HuntingChallengeOverResp{Data: hunting})
return
}
if bWin {
this.module.CheckRank(session.GetUserId(), req.BossType, req.Difficulty, hunting, req.Report)
if code = this.module.ConsumeRes(session, cfgHunting.PsConsume, true); code != pb.ErrorCode_Success {
return
}
key := strconv.Itoa(int(req.BossType)) + "_" + strconv.Itoa(int(req.Difficulty))
if hunting.BossTime[key] == 0 { // 新关卡挑战通过 发放首通奖励
hunting.Boss[req.BossType]++
mapData["boss"] = hunting.Boss
if code = this.module.DispenseRes(session, cfgHunting.Firstprize, true); code != pb.ErrorCode_Success {
return
}
}
// 耗时校验 当前战斗胜利时间消耗小于之前刷新数据
if hunting.BossTime[key] > req.Report.Costtime || hunting.BossTime[key] == 0 && req.Difficulty >= hunting.Boss[req.BossType] {
hunting.BossTime[key] = req.Report.Costtime
mapData["bossTime"] = hunting.BossTime // 更新时间
userinfo := this.module.ModuleUser.GetUser(session.GetUserId())
this.module.CheckRank(session.GetUserId(), req.BossType, req.Difficulty, req.Report, userinfo)
}
// 发放通关随机奖励
reward = this.module.configure.GetDropReward(cfgHunting.Drop) // 获取掉落奖励
if code = this.module.DispenseRes(session, reward, true); code != pb.ErrorCode_Success {

View File

@ -1,8 +1,10 @@
package hunting
import (
"context"
"go_dreamfactory/comm"
"go_dreamfactory/lego/core"
"go_dreamfactory/lego/sys/redis/pipe"
"go_dreamfactory/modules"
"go_dreamfactory/pb"
"go_dreamfactory/sys/db"
@ -10,6 +12,7 @@ import (
"strconv"
"time"
"github.com/go-redis/redis/v8"
"go.mongodb.org/mongo-driver/bson/primitive"
)
@ -77,67 +80,85 @@ func (this *Hunting) CheckUserBaseHuntingInfo(uid string) (data []*pb.DBHuntingR
}
return
}
func (this *Hunting) CheckRank(uid string, boosID int32, difficulty int32, hunting *pb.DBHunting, report *pb.BattleReport) {
costTime := report.Costtime
key := strconv.Itoa(int(boosID)) + "_" + strconv.Itoa(int(difficulty))
func (this *Hunting) CheckRank(uid string, boosID int32, difficulty int32, report *pb.BattleReport, userinfo *pb.DBUser) {
conn_, _ := db.Cross() // 获取跨服数据库对象
if hunting.BossTime[key] > costTime || hunting.BossTime[key] == 0 && difficulty >= hunting.Boss[boosID] { // 刷新记录
hunting.BossTime[key] = costTime
szLine := make([]*pb.LineUp, 5)
Leadpos := 0
if report != nil && report.Info != nil && len(report.Info.Redflist) > 0 {
costTime = report.Costtime
Leadpos = int(report.Info.Redflist[0].Leadpos)
for i, v := range report.Info.Redflist[0].Team {
if v != nil {
szLine[i] = &pb.LineUp{
Cid: v.HeroID,
Star: v.Star,
Lv: v.Lv,
}
model := db.NewDBModel(comm.TableHuntingRank, time.Hour, conn_)
costTime := report.Costtime
szLine := make([]*pb.LineUp, 5)
Leadpos := 0
if report != nil && report.Info != nil && len(report.Info.Redflist) > 0 {
costTime = report.Costtime
Leadpos = int(report.Info.Redflist[0].Leadpos)
for i, v := range report.Info.Redflist[0].Team {
if v != nil {
szLine[i] = &pb.LineUp{
Cid: v.HeroID,
Star: v.Star,
Lv: v.Lv,
}
}
}
// 写入排行榜
objID := ""
bFind := false
ranks := this.modulerank.getHuntingRankList(uid)
for _, v := range ranks {
if v.Bosstype == boosID {
mapRankData := make(map[string]interface{}, 0)
mapRankData["difficulty"] = difficulty
mapRankData["bosstype"] = boosID
mapRankData["Leadpos"] = Leadpos
mapRankData["line"] = szLine
mapRankData["costTime"] = costTime
conn_, _ := db.Cross()
dbModel := db.NewDBModel(comm.TableHuntingRank, time.Hour, conn_)
dbModel.ChangeList(uid, v.Id, mapRankData)
objID = v.Id
bFind = true
break
}
}
// 写入排行榜
objID := ""
bFind := false
ranks := make([]*pb.DBHuntingRank, 0)
model.GetList(uid, &ranks)
for _, v := range ranks {
if v.Bosstype == boosID {
mapRankData := make(map[string]interface{}, 0)
mapRankData["difficulty"] = difficulty
mapRankData["bosstype"] = boosID
mapRankData["Leadpos"] = Leadpos
mapRankData["line"] = szLine
mapRankData["costTime"] = costTime
model.ChangeList(uid, v.Id, mapRankData)
objID = v.Id
bFind = true
break
}
if !bFind {
userinfo := this.ModuleUser.GetUser(uid)
new := &pb.DBHuntingRank{
Id: primitive.NewObjectID().Hex(),
Uid: uid,
Difficulty: difficulty,
Bosstype: boosID,
Nickname: userinfo.Name,
Icon: "",
Lv: userinfo.Lv,
Leadpos: int32(Leadpos),
Line: szLine,
CostTime: costTime,
}
objID = new.Id
conn_, _ := db.Cross()
dbModel := db.NewDBModel(comm.TableHuntingRank, time.Hour, conn_)
dbModel.AddList(uid, new.Id, new)
}
if !bFind {
new := &pb.DBHuntingRank{
Id: primitive.NewObjectID().Hex(),
Uid: uid,
Difficulty: difficulty,
Bosstype: boosID,
Nickname: userinfo.Name,
Icon: "",
Lv: userinfo.Lv,
Leadpos: int32(Leadpos),
Line: szLine,
CostTime: costTime,
}
this.modulerank.SetRankListData("huntingRank"+strconv.Itoa(int(boosID)), int64(difficulty)<<31+int64(math.MaxInt32-costTime), objID)
objID = new.Id
model.AddList(uid, new.Id, new)
}
var (
pipe *pipe.RedisPipe = conn_.Redis.RedisPipe(context.TODO())
menbers *redis.Z
tableName string
score int64
)
score = int64(difficulty)<<31 + int64(math.MaxInt32-costTime)
tableName = "huntingRank" + strconv.Itoa(int(boosID))
menbers = &redis.Z{Score: float64(score), Member: objID}
if cmd := pipe.ZAdd(tableName, menbers); cmd != nil {
dock, err1 := cmd.Result()
if err1 != nil {
this.Errorln(dock, err1)
}
}
if _, err := pipe.Exec(); err != nil {
this.Errorln(err)
return
}
}

View File

@ -4,6 +4,7 @@ import (
"go_dreamfactory/comm"
"go_dreamfactory/pb"
"go_dreamfactory/sys/db"
"math"
"strconv"
"time"
@ -133,11 +134,12 @@ func (this *apiComp) ChallengeOver(session comm.IUserSession, req *pb.PagodaChal
conn_, err := db.Cross()
dbModel := db.NewDBModel(comm.TableSeasonRecord, time.Hour, conn_)
dbModel.AddList(uid, newData.Id, newData)
this.module.SetPagodaRankList("pagodaList"+strconv.Itoa(int(newData.PagodaId)), newData.CostTime, newData.Id)
this.module.SetPagodaRankList("pagodaList"+strconv.Itoa(int(newData.PagodaId)), int64(math.MaxInt32-newData.CostTime), newData.Id)
dbModelTable := db.NewDBModel(comm.TableSeasonPagoda, time.Hour, conn_)
if err = dbModelTable.Get(session.GetUserId(), pagoda); err == nil {
dbModelTable.Change(session.GetUserId(), mapData) // 修改跨服数据
this.module.SetPagodaRankList("pagodaSeasonRank", pagoda.PagodaId<<8+costTime, session.GetUserId())
score := int64(pagoda.PagodaId)<<31 + int64(math.MaxInt32-costTime)
this.module.SetPagodaRankList("pagodaSeasonRank", score, session.GetUserId())
}
}
code = this.module.ModifySeasonPagodaData(session.GetUserId(), mapData)

View File

@ -7,7 +7,6 @@ import (
"go_dreamfactory/pb"
"go_dreamfactory/sys/db"
"strconv"
"time"
"github.com/go-redis/redis/v8"
"google.golang.org/protobuf/proto"
@ -35,7 +34,7 @@ func (this *apiComp) RankList(session comm.IUserSession, req *pb.PagodaRankListR
pipe *pipe.RedisPipe = conn.Redis.RedisPipe(context.TODO())
)
if req.FloorId == 0 {
rd = pipe.ZRange("pagodaSeasonRank", 0, comm.MaxRankList)
rd = pipe.ZRevRange("pagodaSeasonRank", 0, comm.MaxRankList)
} else {
rd = pipe.ZRange("pagodaList"+strconv.Itoa(int(req.FloorId)), 0, comm.MaxRankList)
}
@ -44,10 +43,11 @@ func (this *apiComp) RankList(session comm.IUserSession, req *pb.PagodaRankListR
this.module.Errorln(err)
return
}
_data3 := rd.Val()
for _, v := range _data3 {
conn_, err := db.Cross()
dbModel := db.NewDBModel(comm.TableSeasonRecord, time.Hour, conn_)
_dataList := rd.Val()
for _, v := range _dataList {
//conn_, err := db.Cross()
dbModel := db.NewDBModel(comm.TableSeasonRecord, 0, conn)
result := &pb.DBPagodaRecord{}
if err = dbModel.GetListObj(session.GetUserId(), v, result); err == nil {
szRank = append(szRank, result)

View File

@ -5,6 +5,7 @@ import (
"go_dreamfactory/comm"
"go_dreamfactory/lego/core"
"strconv"
"time"
//"go_dreamfactory/lego/sys/redis"
"go_dreamfactory/lego/sys/redis/pipe"
@ -116,35 +117,37 @@ func (this *ModelRank) seasonSettlement() {
Items []*pb.UserAssets
)
rd := pipe.ZRange("pagodaSeasonRank", 0, comm.MaxRankList)
rd := pipe.ZRevRange("pagodaSeasonRank", 0, comm.MaxRankList)
_dataList := rd.Val()
model1 := db.NewDBModel(comm.TableSeasonPagoda, time.Hour, conn)
for index, v := range _dataList {
result := &pb.DBPagodaRecord{}
//result := &pb.DBVikingRank{}
if err := model1.Get(v, result); err == nil {
if _, err = pipe.Exec(); err != nil {
this.modulePagoda.Errorln(err)
return
}
uids := rd.Val()
for index, uid := range uids {
Items = make([]*pb.UserAssets, 0) //TO 排名配置
for _, v := range rankReward {
if len(v.Ranking) != 2 {
continue
}
if index >= int(v.Ranking[0]) && index <= int(v.Ranking[1]) {
for _, v1 := range v.Reward {
Items = append(Items, &pb.UserAssets{
A: v1.A,
T: v1.T,
N: v1.N,
})
if userinfo := this.modulePagoda.ModuleUser.GetUser(result.Uid); userinfo != nil {
Items = make([]*pb.UserAssets, 0) //TO 排名配置
for _, v := range rankReward {
if len(v.Ranking) != 2 {
continue
}
if index >= int(v.Ranking[0]) && index <= int(v.Ranking[1]) {
for _, v1 := range v.Reward {
Items = append(Items, &pb.UserAssets{
A: v1.A,
T: v1.T,
N: v1.N,
})
}
this.modulePagoda.mail.SendNewMail(&pb.DBMailData{
CreateTime: uint64(configure.Now().Unix()),
Items: Items,
Cid: "SeasonPagodaReward",
Param: []string{strconv.Itoa(index + 1)}, // 名次
}, result.Uid)
break
}
}
this.modulePagoda.mail.SendNewMail(&pb.DBMailData{
CreateTime: uint64(configure.Now().Unix()),
Items: Items,
Cid: "SeasonPagodaReward",
Param: []string{strconv.Itoa(index)}, // 名次
}, uid)
break
}
}
}

View File

@ -132,7 +132,7 @@ func (this *Pagoda) CleanSeasonPagodaData() (code pb.ErrorCode) {
}
// redis 排序 tableName:"pagodaList"
func (this *Pagoda) SetPagodaRankList(tableName string, score int32, uid string) {
func (this *Pagoda) SetPagodaRankList(tableName string, score int64, uid string) {
if !this.IsCross() {
if conn, err := db.Cross(); err == nil {
var (

View File

@ -9,6 +9,8 @@ import (
"go_dreamfactory/sys/configure"
cfg "go_dreamfactory/sys/configure/structs"
"go_dreamfactory/sys/db"
"math"
"strconv"
"time"
"go_dreamfactory/lego/base"
@ -16,7 +18,9 @@ import (
"go_dreamfactory/lego/core/cbase"
"go_dreamfactory/lego/sys/cron"
"go_dreamfactory/lego/sys/log"
"go_dreamfactory/lego/sys/redis/pipe"
"github.com/go-redis/redis/v8"
"go.mongodb.org/mongo-driver/bson"
"go.mongodb.org/mongo-driver/bson/primitive"
"go.mongodb.org/mongo-driver/mongo/options"
@ -62,8 +66,11 @@ func (this *SeasonPagoda) Start() (err error) {
if db.IsCross() {
return
}
time.Sleep(time.Second * 1)
//this.DbTest()
conn, err := db.Cross()
if err == nil {
this.DbTest()
model := db.NewDBModel(comm.TableServerData, 0, conn)
_len, err1 := model.DB.CountDocuments(comm.TableServerData, bson.M{})
@ -85,7 +92,6 @@ func (this *SeasonPagoda) Start() (err error) {
model.DB.InsertOne(comm.TableServerData, server)
}
}
return
}
@ -188,3 +194,87 @@ func (this *SeasonPagoda) TimerSeasonStar() {
}
//this.module.Debugf("=====%d,", time.Since(star).Milliseconds())
}
func (this *SeasonPagoda) DbTest() {
conn, _ := db.Cross()
model1 := db.NewDBModel(comm.TableVikingRank, time.Hour, conn)
model1.Redis.Delete("vikingRank2")
_d, err := model1.Redis.Keys("vikingrank:*")
if err == nil {
for _, v := range _d {
model1.Redis.Delete(v)
}
fmt.Printf("%v", _d)
}
//star := configure.Now()
for i := 1; i < 10; i++ {
new := &pb.DBVikingRank{
Id: primitive.NewObjectID().Hex(),
Uid: "mmmxxx" + strconv.Itoa(i),
Difficulty: int32(i) % 10,
Bosstype: 2,
Nickname: "helo",
Icon: "",
Lv: 120,
Leadpos: 1,
Line: make([]*pb.LineUp, 5),
CostTime: 12000 + int32(i),
}
//model1.AddList(new.Uid, new.Id, new)
model1.Add(new.Uid, new)
var (
pipe *pipe.RedisPipe = conn.Redis.RedisPipe(context.TODO())
menbers *redis.Z
tableName string
score int64
)
score = int64(i)<<31 + int64(math.MaxInt32-new.CostTime)
tableName = "vikingRank" + strconv.Itoa(int(new.Bosstype))
//vikingrank:mmmxxx1-63bbb137b96efbd321222ce7
strKey := new.Uid //"vikingrank:" + new.Uid + "-" + new.Id // 自定义key
menbers = &redis.Z{Score: float64(score), Member: strKey}
if cmd := pipe.ZAdd(tableName, menbers); cmd != nil {
dock, err1 := cmd.Result()
if err1 != nil {
this.module.Errorln(dock, err1)
}
}
if _, err := pipe.Exec(); err != nil {
this.module.Errorln(err)
}
}
//this.module.Debugf("=====%d,", time.Since(star).Milliseconds())
if true {
var (
pipe *pipe.RedisPipe = conn.Redis.RedisPipe(context.TODO())
szRank []*pb.DBVikingRank
)
// 降序
rd := pipe.ZRevRange("vikingRank"+strconv.Itoa(2), 0, -1)
if _, err := pipe.Exec(); err != nil {
this.module.Errorln(err)
return
}
_dataList := rd.Val()
for _, v := range _dataList {
result := &pb.DBVikingRank{}
if err := model1.Get(v, result); err == nil {
//for _, v2 := range result {
szRank = append(szRank, result)
//}
}
// result := make([]*pb.DBVikingRank, 0)
// if err := model1.GetList(v, &result); err == nil {
// for _, v2 := range result {
// szRank = append(szRank, v2)
// }
}
this.module.Debugf("%v", szRank)
}
}

View File

@ -3,7 +3,6 @@ package viking
import (
"go_dreamfactory/comm"
"go_dreamfactory/pb"
cfg "go_dreamfactory/sys/configure/structs"
"google.golang.org/protobuf/proto"
)
@ -28,20 +27,22 @@ func (this *apiComp) Challenge(session comm.IUserSession, req *pb.VikingChalleng
code = pb.ErrorCode_VikingBoosType
return
}
conf := this.module.configure.GetGlobalConf()
if conf == nil {
code = pb.ErrorCode_ConfigNoFound
return
}
costRes := conf.VikingExpeditionCos
if costRes == nil {
cfgData := this.module.configure.GetVikingBossConfigData(req.BossId, req.Difficulty)
if cfgData == nil {
code = pb.ErrorCode_ConfigNoFound
return
}
if code = this.module.CheckRes(session, []*cfg.Gameatn{costRes}); code != pb.ErrorCode_Success {
if code = this.module.CheckRes(session, cfgData.PsConsume); code != pb.ErrorCode_Success {
if req.AutoBuy { // 不够的时候看是否能自动购买
if code = this.module.AutoBuyTicket(session); code != pb.ErrorCode_Success {
var count int32
for _, v := range cfgData.PsConsume {
if v.N > 0 {
count += v.N
}
}
if code = this.module.ModuleItems.BuyUnifiedTicket(session, count); code != pb.ErrorCode_Success {
return
}
} else {
@ -50,12 +51,6 @@ func (this *apiComp) Challenge(session comm.IUserSession, req *pb.VikingChalleng
}
}
cfgData := this.module.configure.GetVikingBossConfigData(req.BossId, req.Difficulty)
if cfgData == nil {
code = pb.ErrorCode_ConfigNoFound
return
}
value, ok := viking.Boss[req.BossId]
if !ok { // 类型校验
viking.Boss[req.BossId] = 1

View File

@ -3,7 +3,6 @@ package viking
import (
"go_dreamfactory/comm"
"go_dreamfactory/pb"
"go_dreamfactory/sys/configure"
cfg "go_dreamfactory/sys/configure/structs"
"strconv"
@ -48,15 +47,15 @@ func (this *apiComp) ChallengeOver(session comm.IUserSession, req *pb.VikingChal
code = pb.ErrorCode_ConfigNoFound
return
}
costRes := this.module.configure.GetGlobalConf().VikingExpeditionCos
if costRes == nil {
code = pb.ErrorCode_ConfigNoFound
return
}
// costRes := this.module.configure.GetGlobalConf().VikingExpeditionCos
// if costRes == nil {
// code = pb.ErrorCode_ConfigNoFound
// return
// }
if code = this.module.CheckRes(session, []*cfg.Gameatn{costRes}); code != pb.ErrorCode_Success {
return
}
// if code = this.module.CheckRes(session, []*cfg.Gameatn{costRes}); code != pb.ErrorCode_Success {
// return
// }
value, ok := viking.Boss[req.BossId]
if !ok { // 类型校验
viking.Boss[req.BossId] = 1
@ -72,26 +71,22 @@ func (this *apiComp) ChallengeOver(session comm.IUserSession, req *pb.VikingChal
}
mapData["boss"] = viking.Boss
// 校验门票数量够不够
if code = this.module.ConsumeRes(session, []*cfg.Gameatn{costRes}, true); code != pb.ErrorCode_Success {
return
}
amount := int32(this.module.ModuleItems.QueryItemAmount(session.GetUserId(), costRes.T)) // 获取当前数量
conf := this.module.configure.GetGlobalConf()
if conf != nil {
if amount < conf.VikingNum && viking.RecoveryTime == 0 {
viking.RecoveryTime = configure.Now().Unix()
mapData["recoveryTime"] = viking.RecoveryTime
code = this.module.ModifyVikingData(session.GetUserId(), mapData)
}
}
code, bWin = this.module.battle.CheckBattleReport(session, req.Report)
if !bWin { // 战斗失败了 直接返回
code = pb.ErrorCode_BattleNoWin
if code = this.module.ModuleItems.RecoverTicket(session); code != pb.ErrorCode_Success {
return
}
if !bWin { // 战斗失败了 直接返回
if code = this.module.ConsumeRes(session, vikingCfg.PsMg, true); code != pb.ErrorCode_Success {
return
}
session.SendMsg(string(this.module.GetType()), VikingChallengeOverResp, &pb.VikingChallengeOverResp{
Data: viking,
})
return
}
if code = this.module.ConsumeRes(session, vikingCfg.PsConsume, true); code != pb.ErrorCode_Success {
return
}
key := strconv.Itoa(int(req.BossId)) + "_" + strconv.Itoa(int(req.Difficulty))
if viking.BossTime[key] == 0 { // 新关卡挑战通过 发放首通奖励
viking.Boss[req.BossId]++

View File

@ -5,6 +5,7 @@ import (
"go_dreamfactory/comm"
"go_dreamfactory/lego/sys/redis/pipe"
"go_dreamfactory/pb"
"go_dreamfactory/sys/db"
"strconv"
"github.com/go-redis/redis/v8"
@ -28,10 +29,10 @@ func (this *apiComp) RankList(session comm.IUserSession, req *pb.VikingRankListR
if code != pb.ErrorCode_Success {
return // 参数校验失败直接返回
}
conn, _ := db.Local()
if !req.Friend {
var (
pipe *pipe.RedisPipe = this.module.modelViking.Redis.RedisPipe(context.TODO())
pipe *pipe.RedisPipe = conn.Redis.RedisPipe(context.TODO())
)
rd = pipe.ZRange("vikingRank"+strconv.Itoa(int(req.BoosType)), 0, -1)
@ -41,9 +42,13 @@ func (this *apiComp) RankList(session comm.IUserSession, req *pb.VikingRankListR
}
_dataList := rd.Val()
for _, v := range _dataList {
result := &pb.DBVikingRank{}
if err := this.module.modulerank.GetListObj(session.GetUserId(), v, result); err == nil {
szRank = append(szRank, result)
result := make([]*pb.DBVikingRank, 0)
if err := this.module.modulerank.GetList(v, &result); err == nil {
for _, v2 := range result {
if v2.Bosstype == req.BoosType {
szRank = append(szRank, v2)
}
}
}
}

View File

@ -153,7 +153,7 @@ func (this *Viking) CheckRank(uid string, boosID int32, difficulty int32, report
tableName string
score int64
)
score = int64(difficulty<<31) + int64(math.MaxInt32-costTime)
score = int64(difficulty)<<31 + int64(math.MaxInt32-costTime)
tableName = "vikingRank" + strconv.Itoa(int(boosID))
menbers = &redis.Z{Score: float64(score), Member: objID}

View File

@ -18,6 +18,8 @@ type GameDreamlandBoosData struct {
Prize []*Gameatn
Monsterformatid []int32
DreamlandLimit int32
PsConsume []*Gameatn
PsMg []*Gameatn
}
const TypeId_GameDreamlandBoosData = -1451313715
@ -60,6 +62,34 @@ func (_v *GameDreamlandBoosData)Deserialize(_buf map[string]interface{}) (err er
}
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["dreamland_limit"].(float64); !_ok_ { err = errors.New("dreamland_limit error"); return }; _v.DreamlandLimit = int32(_tempNum_) }
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["ps_consume"].([]interface{}); !_ok_ { err = errors.New("ps_consume error"); return }
_v.PsConsume = 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.PsConsume = append(_v.PsConsume, _list_v_)
}
}
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["ps_mg"].([]interface{}); !_ok_ { err = errors.New("ps_mg error"); return }
_v.PsMg = 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.PsMg = append(_v.PsMg, _list_v_)
}
}
return
}

View File

@ -27,6 +27,8 @@ type GameEnchantBossData struct {
StrategyText string
BossSkill int32
Boss []int32
PsConsume []*Gameatn
PsMg []*Gameatn
}
const TypeId_GameEnchantBossData = -287548876
@ -130,6 +132,34 @@ func (_v *GameEnchantBossData)Deserialize(_buf map[string]interface{}) (err erro
}
}
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["ps_consume"].([]interface{}); !_ok_ { err = errors.New("ps_consume error"); return }
_v.PsConsume = 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.PsConsume = append(_v.PsConsume, _list_v_)
}
}
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["ps_mg"].([]interface{}); !_ok_ { err = errors.New("ps_mg error"); return }
_v.PsMg = 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.PsMg = append(_v.PsMg, _list_v_)
}
}
return
}

View File

@ -24,7 +24,7 @@ type GameFightGlobalEventData struct {
FightEndCheck string
AddCon []string
Execution int32
Args []int32
Args []string
}
const TypeId_GameFightGlobalEventData = 1534270285
@ -65,11 +65,11 @@ func (_v *GameFightGlobalEventData)Deserialize(_buf map[string]interface{}) (err
var _ok_ bool
if _arr_, _ok_ = _buf["Args"].([]interface{}); !_ok_ { err = errors.New("Args error"); return }
_v.Args = make([]int32, 0, len(_arr_))
_v.Args = make([]string, 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_ string
{ if _list_v_, _ok_ = _e_.(string); !_ok_ { err = errors.New("_list_v_ error"); return } }
_v.Args = append(_v.Args, _list_v_)
}
}

View File

@ -20,6 +20,8 @@ type GameHuntingBossData struct {
Drop int32
Bossmodel int32
Boss []int32
PsConsume []*Gameatn
PsMg []*Gameatn
}
const TypeId_GameHuntingBossData = -450881718
@ -77,6 +79,34 @@ func (_v *GameHuntingBossData)Deserialize(_buf map[string]interface{}) (err erro
}
}
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["ps_consume"].([]interface{}); !_ok_ { err = errors.New("ps_consume error"); return }
_v.PsConsume = 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.PsConsume = append(_v.PsConsume, _list_v_)
}
}
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["ps_mg"].([]interface{}); !_ok_ { err = errors.New("ps_mg error"); return }
_v.PsMg = 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.PsMg = append(_v.PsMg, _list_v_)
}
}
return
}

View File

@ -24,6 +24,8 @@ type GameVikingBossData struct {
Bossmodel int32
BossSkill int32
Boss []int32
PsConsume []*Gameatn
PsMg []*Gameatn
}
const TypeId_GameVikingBossData = 550277405
@ -98,6 +100,34 @@ func (_v *GameVikingBossData)Deserialize(_buf map[string]interface{}) (err error
}
}
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["ps_consume"].([]interface{}); !_ok_ { err = errors.New("ps_consume error"); return }
_v.PsConsume = 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.PsConsume = append(_v.PsConsume, _list_v_)
}
}
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["ps_mg"].([]interface{}); !_ok_ { err = errors.New("ps_mg error"); return }
_v.PsMg = 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.PsMg = append(_v.PsMg, _list_v_)
}
}
return
}

View File

@ -155,6 +155,7 @@ type Tables struct {
MainStage *GameMainStage
MainStarreward *GameMainStarreward
MainStartype *GameMainStartype
Battletasktesting *GameBattletasktesting
}
func NewTables(loader JsonLoader) (*Tables, error) {
@ -1026,5 +1027,11 @@ func NewTables(loader JsonLoader) (*Tables, error) {
if tables.MainStartype, err = NewGameMainStartype(buf) ; err != nil {
return nil, err
}
if buf, err = loader("game_battletasktesting") ; err != nil {
return nil, err
}
if tables.Battletasktesting, err = NewGameBattletasktesting(buf) ; err != nil {
return nil, err
}
return tables, nil
}

View File

@ -115,14 +115,6 @@ type GameGlobalData struct {
ArenaTicketRecoveryTime int32
ArenaTicketCos *Gameatn
VikingExpeditionRecoveryTime int32
VikingExpeditionCos *Gameatn
DreamlandCos *Gameatn
EnchantbossCos *Gameatn
HuntingCos *Gameatn
VikingExpeditionReturn *Gameatn
DreamlandReturn *Gameatn
EnchantbossReturn *Gameatn
HuntingReturn *Gameatn
CopsRecoveryTime int32
CopsInitialNum int32
CopsBuy []*Gameatn
@ -166,6 +158,14 @@ type GameGlobalData struct {
PsBuy []*Gameatn
PsItem *Gameatn
Inletopening int32
VikingExpeditionCos *Gameatn
DreamlandCos *Gameatn
EnchantbossCos *Gameatn
HuntingCos *Gameatn
VikingExpeditionReturn *Gameatn
DreamlandReturn *Gameatn
EnchantbossReturn *Gameatn
HuntingReturn *Gameatn
}
const TypeId_GameGlobalData = 477542761
@ -422,14 +422,6 @@ func (_v *GameGlobalData)Deserialize(_buf map[string]interface{}) (err error) {
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["ArenaTicket_RecoveryTime"].(float64); !_ok_ { err = errors.New("ArenaTicket_RecoveryTime error"); return }; _v.ArenaTicketRecoveryTime = int32(_tempNum_) }
{ var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _buf["ArenaTicket_cos"].(map[string]interface{}); !_ok_ { err = errors.New("ArenaTicket_cos error"); return }; if _v.ArenaTicketCos, err = DeserializeGameatn(_x_); err != nil { return } }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["VikingExpedition_RecoveryTime"].(float64); !_ok_ { err = errors.New("VikingExpedition_RecoveryTime error"); return }; _v.VikingExpeditionRecoveryTime = int32(_tempNum_) }
{ var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _buf["VikingExpedition_cos"].(map[string]interface{}); !_ok_ { err = errors.New("VikingExpedition_cos error"); return }; if _v.VikingExpeditionCos, err = DeserializeGameatn(_x_); err != nil { return } }
{ var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _buf["dreamland_cos"].(map[string]interface{}); !_ok_ { err = errors.New("dreamland_cos error"); return }; if _v.DreamlandCos, err = DeserializeGameatn(_x_); err != nil { return } }
{ var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _buf["enchantboss_cos"].(map[string]interface{}); !_ok_ { err = errors.New("enchantboss_cos error"); return }; if _v.EnchantbossCos, err = DeserializeGameatn(_x_); err != nil { return } }
{ var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _buf["hunting_cos"].(map[string]interface{}); !_ok_ { err = errors.New("hunting_cos error"); return }; if _v.HuntingCos, err = DeserializeGameatn(_x_); err != nil { return } }
{ var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _buf["VikingExpedition_Return"].(map[string]interface{}); !_ok_ { err = errors.New("VikingExpedition_Return error"); return }; if _v.VikingExpeditionReturn, err = DeserializeGameatn(_x_); err != nil { return } }
{ var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _buf["dreamland_Return"].(map[string]interface{}); !_ok_ { err = errors.New("dreamland_Return error"); return }; if _v.DreamlandReturn, err = DeserializeGameatn(_x_); err != nil { return } }
{ var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _buf["enchantboss_Return"].(map[string]interface{}); !_ok_ { err = errors.New("enchantboss_Return error"); return }; if _v.EnchantbossReturn, err = DeserializeGameatn(_x_); err != nil { return } }
{ var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _buf["hunting_Return"].(map[string]interface{}); !_ok_ { err = errors.New("hunting_Return error"); return }; if _v.HuntingReturn, err = DeserializeGameatn(_x_); err != nil { return } }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["cops_RecoveryTime"].(float64); !_ok_ { err = errors.New("cops_RecoveryTime error"); return }; _v.CopsRecoveryTime = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["cops_InitialNum"].(float64); !_ok_ { err = errors.New("cops_InitialNum error"); return }; _v.CopsInitialNum = int32(_tempNum_) }
{
@ -681,6 +673,14 @@ func (_v *GameGlobalData)Deserialize(_buf map[string]interface{}) (err error) {
{ var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _buf["ps_item"].(map[string]interface{}); !_ok_ { err = errors.New("ps_item error"); return }; if _v.PsItem, err = DeserializeGameatn(_x_); err != nil { return } }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["Inletopening"].(float64); !_ok_ { err = errors.New("Inletopening error"); return }; _v.Inletopening = int32(_tempNum_) }
{ var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _buf["VikingExpedition_cos"].(map[string]interface{}); !_ok_ { err = errors.New("VikingExpedition_cos error"); return }; if _v.VikingExpeditionCos, err = DeserializeGameatn(_x_); err != nil { return } }
{ var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _buf["dreamland_cos"].(map[string]interface{}); !_ok_ { err = errors.New("dreamland_cos error"); return }; if _v.DreamlandCos, err = DeserializeGameatn(_x_); err != nil { return } }
{ var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _buf["enchantboss_cos"].(map[string]interface{}); !_ok_ { err = errors.New("enchantboss_cos error"); return }; if _v.EnchantbossCos, err = DeserializeGameatn(_x_); err != nil { return } }
{ var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _buf["hunting_cos"].(map[string]interface{}); !_ok_ { err = errors.New("hunting_cos error"); return }; if _v.HuntingCos, err = DeserializeGameatn(_x_); err != nil { return } }
{ var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _buf["VikingExpedition_Return"].(map[string]interface{}); !_ok_ { err = errors.New("VikingExpedition_Return error"); return }; if _v.VikingExpeditionReturn, err = DeserializeGameatn(_x_); err != nil { return } }
{ var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _buf["dreamland_Return"].(map[string]interface{}); !_ok_ { err = errors.New("dreamland_Return error"); return }; if _v.DreamlandReturn, err = DeserializeGameatn(_x_); err != nil { return } }
{ var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _buf["enchantboss_Return"].(map[string]interface{}); !_ok_ { err = errors.New("enchantboss_Return error"); return }; if _v.EnchantbossReturn, err = DeserializeGameatn(_x_); err != nil { return } }
{ var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _buf["hunting_Return"].(map[string]interface{}); !_ok_ { err = errors.New("hunting_Return error"); return }; if _v.HuntingReturn, err = DeserializeGameatn(_x_); err != nil { return } }
return
}