添加天梯排行榜,修复setHour有时差的bug
This commit is contained in:
@@ -197,7 +197,7 @@ async function checkCond(roleId: string, heroes, type: number, param: number, cn
|
||||
|
||||
switch (type) {
|
||||
case 1:
|
||||
let field = param == 1?'star': 'rank';
|
||||
let field = param == 1?'star': 'fire'; // fire:觉醒的火,在满星了之后会继续进行觉醒,显示类似6星1火
|
||||
for(let hid of heroes) {
|
||||
const rec = await HeroModel.findByHidAndRole(hid, roleId);
|
||||
if (rec[field] >= param) {
|
||||
@@ -285,4 +285,20 @@ export function treatTask(recs: Array<any>, curTime: Date) {
|
||||
}
|
||||
return { heroes, batchCode, taskId, taskCode, status, completeTime, remainTime }
|
||||
});
|
||||
}
|
||||
|
||||
export async function getTasksReward(roleId: string, curTime: Date) {
|
||||
let oldTasks = await TowerTaskRecModel.getCurTasks(roleId);
|
||||
let goods = [];
|
||||
for(let task of oldTasks) {
|
||||
let {completeTime, reward, termsForAdd, additionalReward} = getTaskById(task.taskId);
|
||||
if (task.sendTime && task.sendTime.getTime() + completeTime * 1000 < curTime.getTime()) {
|
||||
goods = goods.concat(decodeStr('fixReward', reward));
|
||||
if(termsForAdd) {
|
||||
const result = checkTaskConditions(roleId, task.heroes, termsForAdd);
|
||||
goods = goods.concat(decodeStr('fixReward', result?additionalReward:''));
|
||||
}
|
||||
}
|
||||
}
|
||||
return goods
|
||||
}
|
||||
@@ -2,7 +2,7 @@ import { Application, FrontendOrBackendSession } from 'pinus';
|
||||
import { getGamedata } from '../pubUtils/gamedata';
|
||||
import EventRecord, { EventRecordModel } from '../db/EventRecord';
|
||||
import { RoleModel } from '../db/Role';
|
||||
import { genCode, decodeStrSingle, decodeStr, getRandomWithWeight, resResult } from '../pubUtils/util';
|
||||
import { genCode, decodeStrSingle, decodeStr, getRandomWithWeight, resResult, setLocalHours } from '../pubUtils/util';
|
||||
import { EVENT_STATUS, EVENT_RECORD_STATUS, EVENT_TYPE, EVENT_RANDOM_TYPE_ONE_OPEN, EVENT_QUIZ_NUM, EVENT_ANSWER_STATUS } from '../consts/consts';
|
||||
import { EVENT_REFRESH_NUM } from '../consts/consts';
|
||||
import { STATUS } from '../consts/statusCode';
|
||||
@@ -62,8 +62,8 @@ export async function setBattleStatus(app: Application, session: FrontendOrBacke
|
||||
*/
|
||||
export function getEventTime(now: Date) {
|
||||
let curTime = Number(now);
|
||||
let todayA = now.setHours(12, 0, 0, 0) - 8*60*60*1000; // 每天12点,修复时差
|
||||
let todayB = now.setHours(18, 0, 0, 0) - 8*60*60*1000; // 每天18点,修复时差
|
||||
let todayA = setLocalHours(12, now); // 每天12点
|
||||
let todayB = setLocalHours(18, now); // 每天18点
|
||||
let yesterdayB = todayB - 86400000; // 前一天12点
|
||||
let t = 0;
|
||||
if(curTime < todayA) {
|
||||
@@ -196,7 +196,7 @@ export async function refreshEvent(num: number, roleId: string, roleName: string
|
||||
let role = await RoleModel.findByRoleId(roleId);
|
||||
dicEvent = dicEvent.filter(cur => { // 筛选适合等级
|
||||
let { suitLevel } = cur;
|
||||
suitLevel = decodeStrSingle('eventSuitLevel', suitLevel);
|
||||
suitLevel = decodeStrSingle('suitLevel', suitLevel);
|
||||
return suitLevel.min <= role.lv && suitLevel.max >= role.lv
|
||||
});
|
||||
if(EVENT_RANDOM_TYPE_ONE_OPEN) {
|
||||
@@ -292,7 +292,6 @@ function randomPosition(positionStr: string, prePoint: Array<number>, curPoint:
|
||||
* @param msg
|
||||
*/
|
||||
function pushEventMsg(app: Application, roleId: string, channelName: string, msg: any ) {
|
||||
console.log('***pushEventMsg', channelName)
|
||||
let channelService = app.get('channelService');
|
||||
|
||||
let param = { msg };
|
||||
|
||||
@@ -4,7 +4,7 @@ import { RoleModel } from '../db/Role';
|
||||
import { PvpDefenseModel } from '../db/PvpDefense';
|
||||
|
||||
import { getWarJsons, getGamedata } from '../pubUtils/gamedata';
|
||||
import { decodeStr, resResult } from '../pubUtils/util';
|
||||
import { decodeStr, resResult, setLocalHours } from '../pubUtils/util';
|
||||
import { WAR_JSON_ATTRIBUTE_TYPE } from '../consts/consts';
|
||||
|
||||
|
||||
@@ -71,7 +71,7 @@ export async function getCEScaleAndRange(roleId: string, curDicExpedition: any)
|
||||
// 匹配,判断是不是新手期
|
||||
const role = await RoleModel.findByRoleId(roleId);
|
||||
let now = new Date();
|
||||
let today = now.setHours(0,0,0,0);
|
||||
let today = setLocalHours(0, now);
|
||||
let isNew = today - role.createdAt.getTime() <= 3*24*60*60*1000;
|
||||
let scale = isNew?curDicExpedition.CEScaleNew:curDicExpedition.CEScale;
|
||||
let range = isNew?curDicExpedition.CERangeNew:curDicExpedition.CERange;
|
||||
|
||||
@@ -13,7 +13,7 @@ export async function roleLevelup(roleId: string, kingExp: number) {
|
||||
for(let i = lv; i <= newLv; i++) {
|
||||
let {sum, cur} = getExpByLv(i);
|
||||
let lastSum = sum - cur;
|
||||
console.log(sum, cur, lastSum, exp, newExp);
|
||||
// console.log(sum, cur, lastSum, exp, newExp);
|
||||
|
||||
let startExp = exp > lastSum? exp - lastSum: 0;
|
||||
let getExp = newExp > sum? cur - startExp: newExp - lastSum - startExp;
|
||||
|
||||
@@ -82,7 +82,6 @@ async function rewardItems (roleId: string, dicGood: any, field: string, data: {
|
||||
let {id, cnt} = data;
|
||||
|
||||
let result = await RoleModel.addItems(roleId, field, id, cnt);
|
||||
console.log(result)
|
||||
|
||||
goods.push({
|
||||
id: id,
|
||||
|
||||
Reference in New Issue
Block a user