奇遇随机添加权重
This commit is contained in:
@@ -2,8 +2,8 @@ import { Application, BackendSession, FrontendOrBackendSession } from 'pinus';
|
||||
import { getGamedata } from '../../../util/gamedata';
|
||||
import { EventRecordModel } from '../../../db/EventRecord';
|
||||
import { RoleModel } from '../../../db/Role';
|
||||
import { genCode, decodeStr, decodeStrSingle, Reward } from '../../../util/util';
|
||||
import { EVENT_STATUS, EVENT_RECORD_STATUS, EVENT_TYPE } from '../../../consts/consts';
|
||||
import { genCode, decodeStr, decodeStrSingle, Reward, getRandomWithWeight } from '../../../util/util';
|
||||
import { EVENT_STATUS, EVENT_RECORD_STATUS, EVENT_TYPE, EVENT_RANDOM_TYPE_ONE_OPEN } from '../../../consts/consts';
|
||||
|
||||
export default function(app: Application) {
|
||||
return new EventBattleHandler(app);
|
||||
@@ -177,35 +177,55 @@ async function refreshEvent(num: number, roleId: string, roleName: string, t) {
|
||||
suitLevel = decodeStrSingle('eventSuitLevel', suitLevel);
|
||||
return suitLevel.min <= role.lv && suitLevel.max >= role.lv
|
||||
});
|
||||
let historyRecord = await EventRecordModel.getHostoryEventRecord(roleId);
|
||||
let {history, turn} = historyRecord;
|
||||
let randomList = dicEvent.filter(cur => {
|
||||
return history.find(ccur => {
|
||||
return ccur.eventId != cur.eventID;
|
||||
});
|
||||
});
|
||||
console.log(JSON.stringify(randomList));
|
||||
|
||||
for(let i = 0; i < num; i++) {
|
||||
if(randomList.length == 0) { // 一轮刷新过,开始新的一轮,保证所有事件都能刷新一遍
|
||||
turn ++;
|
||||
randomList = [...dicEvent];
|
||||
|
||||
if(EVENT_RANDOM_TYPE_ONE_OPEN) { // 每轮进行记录,保证每次随机出的不重复
|
||||
|
||||
let historyRecord = await EventRecordModel.getHostoryEventRecord(roleId);
|
||||
let {history, turn} = historyRecord;
|
||||
let randomList = dicEvent.filter(cur => {
|
||||
return history.find(ccur => {
|
||||
return ccur.eventId != cur.eventID;
|
||||
});
|
||||
});
|
||||
console.log(JSON.stringify(randomList));
|
||||
|
||||
for(let i = 0; i < num; i++) {
|
||||
if(randomList.length == 0) { // 刷新的3个事件不重复
|
||||
turn ++;
|
||||
randomList = [...dicEvent];
|
||||
}
|
||||
|
||||
let {dic, index} = getRandomWithWeight(randomList);
|
||||
if(!dic) break;
|
||||
let eventCode = genCode(8);
|
||||
let data = await EventRecordModel.saveEventRecord(eventCode, {
|
||||
roleId, refTime: t, eventId: dic.eventID,
|
||||
roleName, turn, type: dic.eventType, battleId: dic.warId||0, quality: dic.quality,
|
||||
status: EVENT_RECORD_STATUS.WAITING
|
||||
});
|
||||
event.push(data)
|
||||
randomList.splice(index, 1);
|
||||
}
|
||||
} else {
|
||||
let randomList = dicEvent;
|
||||
for(let i = 0; i < num; i++) {
|
||||
let {dic} = getRandomWithWeight(randomList);
|
||||
console.log('****', JSON.stringify(randomList))
|
||||
if(!dic) break;
|
||||
let eventCode = genCode(8);
|
||||
let data = await EventRecordModel.saveEventRecord(eventCode, {
|
||||
roleId, refTime: t, eventId: dic.eventID,
|
||||
roleName, type: dic.eventType, battleId: dic.warId||0, quality: dic.quality,
|
||||
status: EVENT_RECORD_STATUS.WAITING
|
||||
});
|
||||
event.push(data)
|
||||
}
|
||||
|
||||
let index = Math.floor(Math.random() * randomList.length);
|
||||
let dic = randomList[index];
|
||||
let eventCode = genCode(8);
|
||||
let data = await EventRecordModel.saveEventRecord(eventCode, {
|
||||
roleId, refTime: t, eventId: dic.eventID,
|
||||
roleName, turn, type: dic.eventType, battleId: dic.warId||0, quality: dic.quality,
|
||||
status: EVENT_RECORD_STATUS.WAITING
|
||||
});
|
||||
event.push(data)
|
||||
randomList.splice(index, 1);
|
||||
}
|
||||
return event;
|
||||
}
|
||||
|
||||
|
||||
function pushEventMsg(app, roleId, channelName, msg ) {
|
||||
console.log('***pushEventMsg', channelName)
|
||||
let channelService = app.get('channelService');
|
||||
|
||||
@@ -48,17 +48,19 @@ import { GOOD_TYPE } from '../consts/consts';
|
||||
let [gid, count, frequency] = arr;
|
||||
if(isNaN(gid) || isNaN(count)) throw new Error('格式错误');
|
||||
result = { gid: parseInt(gid), count: parseInt(count), frequency: parseInt(frequency) };
|
||||
break;
|
||||
}
|
||||
case 'eventSuitLevel': {
|
||||
let [min, max] = arr;
|
||||
if(isNaN(min) || isNaN(max)) throw new Error('格式错误');
|
||||
result = { min: parseInt(min), max: parseInt(max) };
|
||||
|
||||
break;
|
||||
}
|
||||
case 'attribute': {
|
||||
let [id, value] = arr;
|
||||
if(isNaN(id) || isNaN(value)) throw new Error('格式错误');
|
||||
result = { id: parseInt(id), value: parseInt(value) };
|
||||
break;
|
||||
}
|
||||
}
|
||||
return result;
|
||||
@@ -170,3 +172,21 @@ export function decodeIdCntArrayStr(str: string, multi: number) {
|
||||
return ce;
|
||||
}
|
||||
|
||||
|
||||
export function getRandomWithWeight(randomList: any) {
|
||||
let len = randomList.reduce((pre, cur) => {
|
||||
return pre + cur.weight||1;
|
||||
}, 0);
|
||||
let index = Math.floor(Math.random() * len);
|
||||
let result = { dic: null, index: -1 };
|
||||
for(let i = 0; i < randomList.length; i++) {
|
||||
let {weight = 0} = randomList[i];
|
||||
if(index < weight) {
|
||||
result.dic = randomList[i];
|
||||
result.index = i;
|
||||
break;
|
||||
}
|
||||
index -= weight;
|
||||
}
|
||||
return result
|
||||
}
|
||||
@@ -37,6 +37,9 @@ export const WAR_TYPE = {
|
||||
TOWER: 4
|
||||
};
|
||||
|
||||
// 事件,是否开启保存随机记录方式
|
||||
export const EVENT_RANDOM_TYPE_ONE_OPEN = false;
|
||||
|
||||
// 存于用户Role表,事件开启状态
|
||||
export const EVENT_STATUS = {
|
||||
WAITING: 0, // 未开启
|
||||
|
||||
@@ -48,8 +48,10 @@ export default class EventRecord extends BaseModel {
|
||||
return {history: result, turn};
|
||||
}
|
||||
|
||||
public static async saveEventRecord(eventCode: string, params: {roleId: string, refTime: number, eventId: number, roleName:string, turn: number, type: number, quality: number, battleId?: number, status: number } , lean=true ) {
|
||||
let data = await EventRecordModel.findOneAndUpdate({eventCode}, { $set: {...params } }, {upsert: true, new: true}).select('eventCode eventId type quality status battleId').lean(lean);
|
||||
public static async saveEventRecord(eventCode: string, params: {roleId: string, refTime: number, eventId: number, roleName:string, turn?: number, type: number, quality: number, battleId?: number, status: number } , lean=true ) {
|
||||
let doc = new EventRecordModel();
|
||||
let update = Object.assign(params, doc.toJSON(), {eventCode});
|
||||
let data = await EventRecordModel.findOneAndUpdate({eventCode}, { $set: update }, {upsert: true, new: true}).select('eventCode eventId type quality status battleId').lean(lean);
|
||||
return data;
|
||||
}
|
||||
|
||||
|
||||
@@ -6,16 +6,16 @@
|
||||
"name": "天降宝箱*铜币",
|
||||
"sSpineInUI": 0,
|
||||
"rScriptId": 0,
|
||||
"winReward": "1&2",
|
||||
"loseReward": "1&1",
|
||||
"winReward": 0,
|
||||
"loseReward": 0,
|
||||
"suitLevel": "1&20",
|
||||
"warId": 0,
|
||||
"weight": 1,
|
||||
"position": "1&3|2&4",
|
||||
"__EMPTY": 0,
|
||||
"__EMPTY_1": 0,
|
||||
"__EMPTY_2": 0,
|
||||
"__EMPTY_3": 0,
|
||||
"__EMPTY_4": 0,
|
||||
"__EMPTY_5": 0,
|
||||
"fobiddenCharactor": 0,
|
||||
"victoryInfoInUI": 0,
|
||||
"loseInfoInUI": 0,
|
||||
@@ -31,16 +31,16 @@
|
||||
"name": "天降宝箱*元宝",
|
||||
"sSpineInUI": 0,
|
||||
"rScriptId": 0,
|
||||
"winReward": "1&2",
|
||||
"loseReward": "1&1",
|
||||
"winReward": 0,
|
||||
"loseReward": 0,
|
||||
"suitLevel": "1&20",
|
||||
"warId": 0,
|
||||
"weight": 1,
|
||||
"position": "1&3|2&5",
|
||||
"__EMPTY": 0,
|
||||
"__EMPTY_1": 0,
|
||||
"__EMPTY_2": 0,
|
||||
"__EMPTY_3": 0,
|
||||
"__EMPTY_4": 0,
|
||||
"__EMPTY_5": 0,
|
||||
"fobiddenCharactor": 0,
|
||||
"victoryInfoInUI": 0,
|
||||
"loseInfoInUI": 0,
|
||||
@@ -56,16 +56,16 @@
|
||||
"name": "天降宝箱*材料",
|
||||
"sSpineInUI": 0,
|
||||
"rScriptId": 0,
|
||||
"winReward": "1&2",
|
||||
"loseReward": "1&1",
|
||||
"winReward": 0,
|
||||
"loseReward": 0,
|
||||
"suitLevel": "1&20",
|
||||
"warId": 0,
|
||||
"weight": 1,
|
||||
"position": "1&3|2&6",
|
||||
"__EMPTY": 0,
|
||||
"__EMPTY_1": 0,
|
||||
"__EMPTY_2": 0,
|
||||
"__EMPTY_3": 0,
|
||||
"__EMPTY_4": 0,
|
||||
"__EMPTY_5": 0,
|
||||
"fobiddenCharactor": 0,
|
||||
"victoryInfoInUI": 0,
|
||||
"loseInfoInUI": 0,
|
||||
@@ -81,16 +81,16 @@
|
||||
"name": "答题*体力",
|
||||
"sSpineInUI": 0,
|
||||
"rScriptId": 0,
|
||||
"winReward": "1&2",
|
||||
"loseReward": "1&1",
|
||||
"winReward": 0,
|
||||
"loseReward": 0,
|
||||
"suitLevel": "1&20",
|
||||
"warId": 0,
|
||||
"weight": 1,
|
||||
"position": "1&3|2&7",
|
||||
"__EMPTY": 0,
|
||||
"__EMPTY_1": 0,
|
||||
"__EMPTY_2": 0,
|
||||
"__EMPTY_3": 0,
|
||||
"__EMPTY_4": 0,
|
||||
"__EMPTY_5": 0,
|
||||
"fobiddenCharactor": 0,
|
||||
"victoryInfoInUI": 0,
|
||||
"loseInfoInUI": 0,
|
||||
@@ -106,16 +106,16 @@
|
||||
"name": "答题*将魂",
|
||||
"sSpineInUI": 0,
|
||||
"rScriptId": 0,
|
||||
"winReward": "1&2",
|
||||
"loseReward": "1&1",
|
||||
"winReward": 0,
|
||||
"loseReward": 0,
|
||||
"suitLevel": "1&20",
|
||||
"warId": 0,
|
||||
"weight": 1,
|
||||
"position": "1&3|2&8",
|
||||
"__EMPTY": 0,
|
||||
"__EMPTY_1": 0,
|
||||
"__EMPTY_2": 0,
|
||||
"__EMPTY_3": 0,
|
||||
"__EMPTY_4": 0,
|
||||
"__EMPTY_5": 0,
|
||||
"fobiddenCharactor": 0,
|
||||
"victoryInfoInUI": 0,
|
||||
"loseInfoInUI": 0,
|
||||
@@ -131,16 +131,16 @@
|
||||
"name": "答题*经验书",
|
||||
"sSpineInUI": 0,
|
||||
"rScriptId": 0,
|
||||
"winReward": "1&2",
|
||||
"loseReward": "1&1",
|
||||
"winReward": 0,
|
||||
"loseReward": 0,
|
||||
"suitLevel": "1&20",
|
||||
"warId": 0,
|
||||
"weight": 1,
|
||||
"position": "1&3|2&9",
|
||||
"__EMPTY": 0,
|
||||
"__EMPTY_1": 0,
|
||||
"__EMPTY_2": 0,
|
||||
"__EMPTY_3": 0,
|
||||
"__EMPTY_4": 0,
|
||||
"__EMPTY_5": 0,
|
||||
"fobiddenCharactor": 0,
|
||||
"victoryInfoInUI": 0,
|
||||
"loseInfoInUI": 0,
|
||||
@@ -156,16 +156,16 @@
|
||||
"name": "山贼拦路*待定",
|
||||
"sSpineInUI": 0,
|
||||
"rScriptId": 0,
|
||||
"winReward": "1&2",
|
||||
"loseReward": "1&1",
|
||||
"winReward": 0,
|
||||
"loseReward": 0,
|
||||
"suitLevel": "1&20",
|
||||
"warId": 2001,
|
||||
"weight": 1,
|
||||
"position": "1&3|2&10",
|
||||
"__EMPTY": 0,
|
||||
"__EMPTY_1": 0,
|
||||
"__EMPTY_2": 0,
|
||||
"__EMPTY_3": 0,
|
||||
"__EMPTY_4": 0,
|
||||
"__EMPTY_5": 0,
|
||||
"fobiddenCharactor": 0,
|
||||
"victoryInfoInUI": 0,
|
||||
"loseInfoInUI": 0,
|
||||
@@ -181,16 +181,16 @@
|
||||
"name": "救援村落*待定",
|
||||
"sSpineInUI": 0,
|
||||
"rScriptId": 0,
|
||||
"winReward": "1&2",
|
||||
"loseReward": "1&1",
|
||||
"winReward": 0,
|
||||
"loseReward": 0,
|
||||
"suitLevel": "1&20",
|
||||
"warId": 2002,
|
||||
"weight": 1,
|
||||
"position": "1&3|2&11",
|
||||
"__EMPTY": 0,
|
||||
"__EMPTY_1": 0,
|
||||
"__EMPTY_2": 0,
|
||||
"__EMPTY_3": 0,
|
||||
"__EMPTY_4": 0,
|
||||
"__EMPTY_5": 0,
|
||||
"fobiddenCharactor": 0,
|
||||
"victoryInfoInUI": 0,
|
||||
"loseInfoInUI": 0,
|
||||
@@ -206,16 +206,691 @@
|
||||
"name": "比武切磋*待定",
|
||||
"sSpineInUI": 0,
|
||||
"rScriptId": 0,
|
||||
"winReward": "1&2",
|
||||
"loseReward": "1&1",
|
||||
"winReward": 0,
|
||||
"loseReward": 0,
|
||||
"suitLevel": "1&20",
|
||||
"warId": 2003,
|
||||
"weight": 1,
|
||||
"position": "1&3|2&12",
|
||||
"__EMPTY": 0,
|
||||
"__EMPTY_1": 0,
|
||||
"__EMPTY_2": 0,
|
||||
"__EMPTY_3": 0,
|
||||
"fobiddenCharactor": 0,
|
||||
"victoryInfoInUI": 0,
|
||||
"loseInfoInUI": 0,
|
||||
"starInfoInUI": 0,
|
||||
"cost": 0,
|
||||
"recommendedPower": 0,
|
||||
"previousGk": 0
|
||||
},
|
||||
{
|
||||
"eventID": 10,
|
||||
"eventType": 1,
|
||||
"quality": 1,
|
||||
"name": "天降宝箱*铜币2",
|
||||
"sSpineInUI": 0,
|
||||
"rScriptId": 0,
|
||||
"winReward": 0,
|
||||
"loseReward": 0,
|
||||
"suitLevel": "21&40",
|
||||
"warId": 0,
|
||||
"weight": 1,
|
||||
"position": "1&3|2&13",
|
||||
"__EMPTY": 0,
|
||||
"__EMPTY_1": 0,
|
||||
"__EMPTY_2": 0,
|
||||
"__EMPTY_3": 0,
|
||||
"fobiddenCharactor": 0,
|
||||
"victoryInfoInUI": 0,
|
||||
"loseInfoInUI": 0,
|
||||
"starInfoInUI": 0,
|
||||
"cost": 0,
|
||||
"recommendedPower": 0,
|
||||
"previousGk": 0
|
||||
},
|
||||
{
|
||||
"eventID": 11,
|
||||
"eventType": 1,
|
||||
"quality": 2,
|
||||
"name": "天降宝箱*元宝2",
|
||||
"sSpineInUI": 0,
|
||||
"rScriptId": 0,
|
||||
"winReward": 0,
|
||||
"loseReward": 0,
|
||||
"suitLevel": "21&40",
|
||||
"warId": 0,
|
||||
"weight": 1,
|
||||
"position": "1&3|2&14",
|
||||
"__EMPTY": 0,
|
||||
"__EMPTY_1": 0,
|
||||
"__EMPTY_2": 0,
|
||||
"__EMPTY_3": 0,
|
||||
"fobiddenCharactor": 0,
|
||||
"victoryInfoInUI": 0,
|
||||
"loseInfoInUI": 0,
|
||||
"starInfoInUI": 0,
|
||||
"cost": 0,
|
||||
"recommendedPower": 0,
|
||||
"previousGk": 0
|
||||
},
|
||||
{
|
||||
"eventID": 12,
|
||||
"eventType": 1,
|
||||
"quality": 2,
|
||||
"name": "天降宝箱*材料2",
|
||||
"sSpineInUI": 0,
|
||||
"rScriptId": 0,
|
||||
"winReward": 0,
|
||||
"loseReward": 0,
|
||||
"suitLevel": "21&40",
|
||||
"warId": 0,
|
||||
"weight": 1,
|
||||
"position": "1&3|2&15",
|
||||
"__EMPTY": 0,
|
||||
"__EMPTY_1": 0,
|
||||
"__EMPTY_2": 0,
|
||||
"__EMPTY_3": 0,
|
||||
"fobiddenCharactor": 0,
|
||||
"victoryInfoInUI": 0,
|
||||
"loseInfoInUI": 0,
|
||||
"starInfoInUI": 0,
|
||||
"cost": 0,
|
||||
"recommendedPower": 0,
|
||||
"previousGk": 0
|
||||
},
|
||||
{
|
||||
"eventID": 13,
|
||||
"eventType": 2,
|
||||
"quality": 2,
|
||||
"name": "答题*体力2",
|
||||
"sSpineInUI": 0,
|
||||
"rScriptId": 0,
|
||||
"winReward": 0,
|
||||
"loseReward": 0,
|
||||
"suitLevel": "21&40",
|
||||
"warId": 0,
|
||||
"weight": 1,
|
||||
"position": "1&3|2&16",
|
||||
"__EMPTY": 0,
|
||||
"__EMPTY_1": 0,
|
||||
"__EMPTY_2": 0,
|
||||
"__EMPTY_3": 0,
|
||||
"fobiddenCharactor": 0,
|
||||
"victoryInfoInUI": 0,
|
||||
"loseInfoInUI": 0,
|
||||
"starInfoInUI": 0,
|
||||
"cost": 0,
|
||||
"recommendedPower": 0,
|
||||
"previousGk": 0
|
||||
},
|
||||
{
|
||||
"eventID": 14,
|
||||
"eventType": 2,
|
||||
"quality": 2,
|
||||
"name": "答题*将魂2",
|
||||
"sSpineInUI": 0,
|
||||
"rScriptId": 0,
|
||||
"winReward": 0,
|
||||
"loseReward": 0,
|
||||
"suitLevel": "21&40",
|
||||
"warId": 0,
|
||||
"weight": 1,
|
||||
"position": "1&3|2&17",
|
||||
"__EMPTY": 0,
|
||||
"__EMPTY_1": 0,
|
||||
"__EMPTY_2": 0,
|
||||
"__EMPTY_3": 0,
|
||||
"fobiddenCharactor": 0,
|
||||
"victoryInfoInUI": 0,
|
||||
"loseInfoInUI": 0,
|
||||
"starInfoInUI": 0,
|
||||
"cost": 0,
|
||||
"recommendedPower": 0,
|
||||
"previousGk": 0
|
||||
},
|
||||
{
|
||||
"eventID": 15,
|
||||
"eventType": 2,
|
||||
"quality": 2,
|
||||
"name": "答题*经验书2",
|
||||
"sSpineInUI": 0,
|
||||
"rScriptId": 0,
|
||||
"winReward": 0,
|
||||
"loseReward": 0,
|
||||
"suitLevel": "21&40",
|
||||
"warId": 0,
|
||||
"weight": 1,
|
||||
"position": "1&3|2&18",
|
||||
"__EMPTY": 0,
|
||||
"__EMPTY_1": 0,
|
||||
"__EMPTY_2": 0,
|
||||
"__EMPTY_3": 0,
|
||||
"fobiddenCharactor": 0,
|
||||
"victoryInfoInUI": 0,
|
||||
"loseInfoInUI": 0,
|
||||
"starInfoInUI": 0,
|
||||
"cost": 0,
|
||||
"recommendedPower": 0,
|
||||
"previousGk": 0
|
||||
},
|
||||
{
|
||||
"eventID": 16,
|
||||
"eventType": 3,
|
||||
"quality": 2,
|
||||
"name": "山贼拦路*待定2",
|
||||
"sSpineInUI": 0,
|
||||
"rScriptId": 0,
|
||||
"winReward": 0,
|
||||
"loseReward": 0,
|
||||
"suitLevel": "21&40",
|
||||
"warId": 2001,
|
||||
"weight": 1,
|
||||
"position": "1&3|2&19",
|
||||
"__EMPTY": 0,
|
||||
"__EMPTY_1": 0,
|
||||
"__EMPTY_2": 0,
|
||||
"__EMPTY_3": 0,
|
||||
"fobiddenCharactor": 0,
|
||||
"victoryInfoInUI": 0,
|
||||
"loseInfoInUI": 0,
|
||||
"starInfoInUI": 0,
|
||||
"cost": 0,
|
||||
"recommendedPower": 0,
|
||||
"previousGk": 0
|
||||
},
|
||||
{
|
||||
"eventID": 17,
|
||||
"eventType": 3,
|
||||
"quality": 2,
|
||||
"name": "救援村落*待定2",
|
||||
"sSpineInUI": 0,
|
||||
"rScriptId": 0,
|
||||
"winReward": 0,
|
||||
"loseReward": 0,
|
||||
"suitLevel": "21&40",
|
||||
"warId": 2002,
|
||||
"weight": 1,
|
||||
"position": "1&3|2&20",
|
||||
"__EMPTY": 0,
|
||||
"__EMPTY_1": 0,
|
||||
"__EMPTY_2": 0,
|
||||
"__EMPTY_3": 0,
|
||||
"fobiddenCharactor": 0,
|
||||
"victoryInfoInUI": 0,
|
||||
"loseInfoInUI": 0,
|
||||
"starInfoInUI": 0,
|
||||
"cost": 0,
|
||||
"recommendedPower": 0,
|
||||
"previousGk": 0
|
||||
},
|
||||
{
|
||||
"eventID": 18,
|
||||
"eventType": 3,
|
||||
"quality": 2,
|
||||
"name": "比武切磋*待定2",
|
||||
"sSpineInUI": 0,
|
||||
"rScriptId": 0,
|
||||
"winReward": 0,
|
||||
"loseReward": 0,
|
||||
"suitLevel": "21&40",
|
||||
"warId": 2003,
|
||||
"weight": 1,
|
||||
"position": "1&3|2&21",
|
||||
"__EMPTY": 0,
|
||||
"__EMPTY_1": 0,
|
||||
"__EMPTY_2": 0,
|
||||
"__EMPTY_3": 0,
|
||||
"fobiddenCharactor": 0,
|
||||
"victoryInfoInUI": 0,
|
||||
"loseInfoInUI": 0,
|
||||
"starInfoInUI": 0,
|
||||
"cost": 0,
|
||||
"recommendedPower": 0,
|
||||
"previousGk": 0
|
||||
},
|
||||
{
|
||||
"eventID": 19,
|
||||
"eventType": 1,
|
||||
"quality": 3,
|
||||
"name": "天降宝箱*铜币3",
|
||||
"sSpineInUI": 0,
|
||||
"rScriptId": 0,
|
||||
"winReward": 0,
|
||||
"loseReward": 0,
|
||||
"suitLevel": "41&100",
|
||||
"warId": 0,
|
||||
"weight": 2,
|
||||
"position": "1&3|2&22",
|
||||
"__EMPTY": 0,
|
||||
"__EMPTY_1": 0,
|
||||
"__EMPTY_2": 0,
|
||||
"__EMPTY_3": 0,
|
||||
"fobiddenCharactor": 0,
|
||||
"victoryInfoInUI": 0,
|
||||
"loseInfoInUI": 0,
|
||||
"starInfoInUI": 0,
|
||||
"cost": 0,
|
||||
"recommendedPower": 0,
|
||||
"previousGk": 0
|
||||
},
|
||||
{
|
||||
"eventID": 20,
|
||||
"eventType": 1,
|
||||
"quality": 3,
|
||||
"name": "天降宝箱*元宝3",
|
||||
"sSpineInUI": 0,
|
||||
"rScriptId": 0,
|
||||
"winReward": 0,
|
||||
"loseReward": 0,
|
||||
"suitLevel": "41&100",
|
||||
"warId": 0,
|
||||
"weight": 2,
|
||||
"position": "1&3|2&23",
|
||||
"__EMPTY": 0,
|
||||
"__EMPTY_1": 0,
|
||||
"__EMPTY_2": 0,
|
||||
"__EMPTY_3": 0,
|
||||
"fobiddenCharactor": 0,
|
||||
"victoryInfoInUI": 0,
|
||||
"loseInfoInUI": 0,
|
||||
"starInfoInUI": 0,
|
||||
"cost": 0,
|
||||
"recommendedPower": 0,
|
||||
"previousGk": 0
|
||||
},
|
||||
{
|
||||
"eventID": 21,
|
||||
"eventType": 1,
|
||||
"quality": 3,
|
||||
"name": "天降宝箱*材料3",
|
||||
"sSpineInUI": 0,
|
||||
"rScriptId": 0,
|
||||
"winReward": 0,
|
||||
"loseReward": 0,
|
||||
"suitLevel": "41&100",
|
||||
"warId": 0,
|
||||
"weight": 2,
|
||||
"position": "1&3|2&24",
|
||||
"__EMPTY": 0,
|
||||
"__EMPTY_1": 0,
|
||||
"__EMPTY_2": 0,
|
||||
"__EMPTY_3": 0,
|
||||
"fobiddenCharactor": 0,
|
||||
"victoryInfoInUI": 0,
|
||||
"loseInfoInUI": 0,
|
||||
"starInfoInUI": 0,
|
||||
"cost": 0,
|
||||
"recommendedPower": 0,
|
||||
"previousGk": 0
|
||||
},
|
||||
{
|
||||
"eventID": 22,
|
||||
"eventType": 2,
|
||||
"quality": 3,
|
||||
"name": "答题*体力3",
|
||||
"sSpineInUI": 0,
|
||||
"rScriptId": 0,
|
||||
"winReward": 0,
|
||||
"loseReward": 0,
|
||||
"suitLevel": "41&100",
|
||||
"warId": 0,
|
||||
"weight": 2,
|
||||
"position": "1&3|2&25",
|
||||
"__EMPTY": 0,
|
||||
"__EMPTY_1": 0,
|
||||
"__EMPTY_2": 0,
|
||||
"__EMPTY_3": 0,
|
||||
"fobiddenCharactor": 0,
|
||||
"victoryInfoInUI": 0,
|
||||
"loseInfoInUI": 0,
|
||||
"starInfoInUI": 0,
|
||||
"cost": 0,
|
||||
"recommendedPower": 0,
|
||||
"previousGk": 0
|
||||
},
|
||||
{
|
||||
"eventID": 23,
|
||||
"eventType": 2,
|
||||
"quality": 3,
|
||||
"name": "答题*将魂3",
|
||||
"sSpineInUI": 0,
|
||||
"rScriptId": 0,
|
||||
"winReward": 0,
|
||||
"loseReward": 0,
|
||||
"suitLevel": "41&100",
|
||||
"warId": 0,
|
||||
"weight": 2,
|
||||
"position": "1&3|2&26",
|
||||
"__EMPTY": 0,
|
||||
"__EMPTY_1": 0,
|
||||
"__EMPTY_2": 0,
|
||||
"__EMPTY_3": 0,
|
||||
"fobiddenCharactor": 0,
|
||||
"victoryInfoInUI": 0,
|
||||
"loseInfoInUI": 0,
|
||||
"starInfoInUI": 0,
|
||||
"cost": 0,
|
||||
"recommendedPower": 0,
|
||||
"previousGk": 0
|
||||
},
|
||||
{
|
||||
"eventID": 24,
|
||||
"eventType": 2,
|
||||
"quality": 3,
|
||||
"name": "答题*经验书3",
|
||||
"sSpineInUI": 0,
|
||||
"rScriptId": 0,
|
||||
"winReward": 0,
|
||||
"loseReward": 0,
|
||||
"suitLevel": "41&100",
|
||||
"warId": 0,
|
||||
"weight": 2,
|
||||
"position": "1&3|2&27",
|
||||
"__EMPTY": 0,
|
||||
"__EMPTY_1": 0,
|
||||
"__EMPTY_2": 0,
|
||||
"__EMPTY_3": 0,
|
||||
"fobiddenCharactor": 0,
|
||||
"victoryInfoInUI": 0,
|
||||
"loseInfoInUI": 0,
|
||||
"starInfoInUI": 0,
|
||||
"cost": 0,
|
||||
"recommendedPower": 0,
|
||||
"previousGk": 0
|
||||
},
|
||||
{
|
||||
"eventID": 25,
|
||||
"eventType": 3,
|
||||
"quality": 3,
|
||||
"name": "山贼拦路*待定3",
|
||||
"sSpineInUI": 0,
|
||||
"rScriptId": 0,
|
||||
"winReward": 0,
|
||||
"loseReward": 0,
|
||||
"suitLevel": "41&100",
|
||||
"warId": 2001,
|
||||
"weight": 2,
|
||||
"position": "1&3|2&28",
|
||||
"__EMPTY": 0,
|
||||
"__EMPTY_1": 0,
|
||||
"__EMPTY_2": 0,
|
||||
"__EMPTY_3": 0,
|
||||
"fobiddenCharactor": 0,
|
||||
"victoryInfoInUI": 0,
|
||||
"loseInfoInUI": 0,
|
||||
"starInfoInUI": 0,
|
||||
"cost": 0,
|
||||
"recommendedPower": 0,
|
||||
"previousGk": 0
|
||||
},
|
||||
{
|
||||
"eventID": 26,
|
||||
"eventType": 3,
|
||||
"quality": 3,
|
||||
"name": "救援村落*待定3",
|
||||
"sSpineInUI": 0,
|
||||
"rScriptId": 0,
|
||||
"winReward": 0,
|
||||
"loseReward": 0,
|
||||
"suitLevel": "41&100",
|
||||
"warId": 2002,
|
||||
"weight": 2,
|
||||
"position": "1&3|2&29",
|
||||
"__EMPTY": 0,
|
||||
"__EMPTY_1": 0,
|
||||
"__EMPTY_2": 0,
|
||||
"__EMPTY_3": 0,
|
||||
"fobiddenCharactor": 0,
|
||||
"victoryInfoInUI": 0,
|
||||
"loseInfoInUI": 0,
|
||||
"starInfoInUI": 0,
|
||||
"cost": 0,
|
||||
"recommendedPower": 0,
|
||||
"previousGk": 0
|
||||
},
|
||||
{
|
||||
"eventID": 27,
|
||||
"eventType": 3,
|
||||
"quality": 3,
|
||||
"name": "比武切磋*待定3",
|
||||
"sSpineInUI": 0,
|
||||
"rScriptId": 0,
|
||||
"winReward": 0,
|
||||
"loseReward": 0,
|
||||
"suitLevel": "41&100",
|
||||
"warId": 2003,
|
||||
"weight": 2,
|
||||
"position": "1&3|2&30",
|
||||
"__EMPTY": 0,
|
||||
"__EMPTY_1": 0,
|
||||
"__EMPTY_2": 0,
|
||||
"__EMPTY_3": 0,
|
||||
"fobiddenCharactor": 0,
|
||||
"victoryInfoInUI": 0,
|
||||
"loseInfoInUI": 0,
|
||||
"starInfoInUI": 0,
|
||||
"cost": 0,
|
||||
"recommendedPower": 0,
|
||||
"previousGk": 0
|
||||
},
|
||||
{
|
||||
"eventID": 28,
|
||||
"eventType": 1,
|
||||
"quality": 4,
|
||||
"name": "天降宝箱*铜币4",
|
||||
"sSpineInUI": 0,
|
||||
"rScriptId": 0,
|
||||
"winReward": 0,
|
||||
"loseReward": 0,
|
||||
"suitLevel": "61&100",
|
||||
"warId": 0,
|
||||
"weight": 4,
|
||||
"position": "1&3|2&31",
|
||||
"__EMPTY": 0,
|
||||
"__EMPTY_1": 0,
|
||||
"__EMPTY_2": 0,
|
||||
"__EMPTY_3": 0,
|
||||
"fobiddenCharactor": 0,
|
||||
"victoryInfoInUI": 0,
|
||||
"loseInfoInUI": 0,
|
||||
"starInfoInUI": 0,
|
||||
"cost": 0,
|
||||
"recommendedPower": 0,
|
||||
"previousGk": 0
|
||||
},
|
||||
{
|
||||
"eventID": 29,
|
||||
"eventType": 1,
|
||||
"quality": 4,
|
||||
"name": "天降宝箱*元宝4",
|
||||
"sSpineInUI": 0,
|
||||
"rScriptId": 0,
|
||||
"winReward": 0,
|
||||
"loseReward": 0,
|
||||
"suitLevel": "61&100",
|
||||
"warId": 0,
|
||||
"weight": 4,
|
||||
"position": "1&3|2&32",
|
||||
"__EMPTY": 0,
|
||||
"__EMPTY_1": 0,
|
||||
"__EMPTY_2": 0,
|
||||
"__EMPTY_3": 0,
|
||||
"fobiddenCharactor": 0,
|
||||
"victoryInfoInUI": 0,
|
||||
"loseInfoInUI": 0,
|
||||
"starInfoInUI": 0,
|
||||
"cost": 0,
|
||||
"recommendedPower": 0,
|
||||
"previousGk": 0
|
||||
},
|
||||
{
|
||||
"eventID": 30,
|
||||
"eventType": 1,
|
||||
"quality": 4,
|
||||
"name": "天降宝箱*材料4",
|
||||
"sSpineInUI": 0,
|
||||
"rScriptId": 0,
|
||||
"winReward": 0,
|
||||
"loseReward": 0,
|
||||
"suitLevel": "61&100",
|
||||
"warId": 0,
|
||||
"weight": 4,
|
||||
"position": "1&3|2&33",
|
||||
"__EMPTY": 0,
|
||||
"__EMPTY_1": 0,
|
||||
"__EMPTY_2": 0,
|
||||
"__EMPTY_3": 0,
|
||||
"fobiddenCharactor": 0,
|
||||
"victoryInfoInUI": 0,
|
||||
"loseInfoInUI": 0,
|
||||
"starInfoInUI": 0,
|
||||
"cost": 0,
|
||||
"recommendedPower": 0,
|
||||
"previousGk": 0
|
||||
},
|
||||
{
|
||||
"eventID": 31,
|
||||
"eventType": 2,
|
||||
"quality": 4,
|
||||
"name": "答题*体力4",
|
||||
"sSpineInUI": 0,
|
||||
"rScriptId": 0,
|
||||
"winReward": 0,
|
||||
"loseReward": 0,
|
||||
"suitLevel": "61&100",
|
||||
"warId": 0,
|
||||
"weight": 4,
|
||||
"position": "1&3|2&34",
|
||||
"__EMPTY": 0,
|
||||
"__EMPTY_1": 0,
|
||||
"__EMPTY_2": 0,
|
||||
"__EMPTY_3": 0,
|
||||
"fobiddenCharactor": 0,
|
||||
"victoryInfoInUI": 0,
|
||||
"loseInfoInUI": 0,
|
||||
"starInfoInUI": 0,
|
||||
"cost": 0,
|
||||
"recommendedPower": 0,
|
||||
"previousGk": 0
|
||||
},
|
||||
{
|
||||
"eventID": 32,
|
||||
"eventType": 2,
|
||||
"quality": 4,
|
||||
"name": "答题*将魂4",
|
||||
"sSpineInUI": 0,
|
||||
"rScriptId": 0,
|
||||
"winReward": 0,
|
||||
"loseReward": 0,
|
||||
"suitLevel": "61&100",
|
||||
"warId": 0,
|
||||
"weight": 4,
|
||||
"position": "1&3|2&35",
|
||||
"__EMPTY": 0,
|
||||
"__EMPTY_1": 0,
|
||||
"__EMPTY_2": 0,
|
||||
"__EMPTY_3": 0,
|
||||
"fobiddenCharactor": 0,
|
||||
"victoryInfoInUI": 0,
|
||||
"loseInfoInUI": 0,
|
||||
"starInfoInUI": 0,
|
||||
"cost": 0,
|
||||
"recommendedPower": 0,
|
||||
"previousGk": 0
|
||||
},
|
||||
{
|
||||
"eventID": 33,
|
||||
"eventType": 2,
|
||||
"quality": 4,
|
||||
"name": "答题*经验书4",
|
||||
"sSpineInUI": 0,
|
||||
"rScriptId": 0,
|
||||
"winReward": 0,
|
||||
"loseReward": 0,
|
||||
"suitLevel": "61&100",
|
||||
"warId": 0,
|
||||
"weight": 4,
|
||||
"position": "1&3|2&36",
|
||||
"__EMPTY": 0,
|
||||
"__EMPTY_1": 0,
|
||||
"__EMPTY_2": 0,
|
||||
"__EMPTY_3": 0,
|
||||
"fobiddenCharactor": 0,
|
||||
"victoryInfoInUI": 0,
|
||||
"loseInfoInUI": 0,
|
||||
"starInfoInUI": 0,
|
||||
"cost": 0,
|
||||
"recommendedPower": 0,
|
||||
"previousGk": 0
|
||||
},
|
||||
{
|
||||
"eventID": 34,
|
||||
"eventType": 3,
|
||||
"quality": 4,
|
||||
"name": "山贼拦路*待定4",
|
||||
"sSpineInUI": 0,
|
||||
"rScriptId": 0,
|
||||
"winReward": 0,
|
||||
"loseReward": 0,
|
||||
"suitLevel": "61&100",
|
||||
"warId": 2001,
|
||||
"weight": 4,
|
||||
"position": "1&3|2&37",
|
||||
"__EMPTY": 0,
|
||||
"__EMPTY_1": 0,
|
||||
"__EMPTY_2": 0,
|
||||
"__EMPTY_3": 0,
|
||||
"fobiddenCharactor": 0,
|
||||
"victoryInfoInUI": 0,
|
||||
"loseInfoInUI": 0,
|
||||
"starInfoInUI": 0,
|
||||
"cost": 0,
|
||||
"recommendedPower": 0,
|
||||
"previousGk": 0
|
||||
},
|
||||
{
|
||||
"eventID": 35,
|
||||
"eventType": 3,
|
||||
"quality": 4,
|
||||
"name": "救援村落*待定4",
|
||||
"sSpineInUI": 0,
|
||||
"rScriptId": 0,
|
||||
"winReward": 0,
|
||||
"loseReward": 0,
|
||||
"suitLevel": "61&100",
|
||||
"warId": 2002,
|
||||
"weight": 4,
|
||||
"position": "1&3|2&38",
|
||||
"__EMPTY": 0,
|
||||
"__EMPTY_1": 0,
|
||||
"__EMPTY_2": 0,
|
||||
"__EMPTY_3": 0,
|
||||
"fobiddenCharactor": 0,
|
||||
"victoryInfoInUI": 0,
|
||||
"loseInfoInUI": 0,
|
||||
"starInfoInUI": 0,
|
||||
"cost": 0,
|
||||
"recommendedPower": 0,
|
||||
"previousGk": 0
|
||||
},
|
||||
{
|
||||
"eventID": 36,
|
||||
"eventType": 3,
|
||||
"quality": 4,
|
||||
"name": "比武切磋*待定4",
|
||||
"sSpineInUI": 0,
|
||||
"rScriptId": 0,
|
||||
"winReward": 0,
|
||||
"loseReward": 0,
|
||||
"suitLevel": "61&100",
|
||||
"warId": 2003,
|
||||
"weight": 4,
|
||||
"position": "1&3|2&39",
|
||||
"__EMPTY": 0,
|
||||
"__EMPTY_1": 0,
|
||||
"__EMPTY_2": 0,
|
||||
"__EMPTY_3": 0,
|
||||
"__EMPTY_4": 0,
|
||||
"__EMPTY_5": 0,
|
||||
"fobiddenCharactor": 0,
|
||||
"victoryInfoInUI": 0,
|
||||
"loseInfoInUI": 0,
|
||||
|
||||
Reference in New Issue
Block a user