pvp初次挑战次数不增加、镇念塔加速
This commit is contained in:
@@ -344,7 +344,9 @@ export class PvpHandler {
|
|||||||
if(refOppObj.setAttackCnt >= PVP.PVP_SET_ATTACK_FREE_CNT + refOppObj.buyAttackCnt) {
|
if(refOppObj.setAttackCnt >= PVP.PVP_SET_ATTACK_FREE_CNT + refOppObj.buyAttackCnt) {
|
||||||
return resResult(STATUS.PVP_SET_ATTACK_CNT_NOT_ENOUGH);
|
return resResult(STATUS.PVP_SET_ATTACK_CNT_NOT_ENOUGH);
|
||||||
}
|
}
|
||||||
refOppObj.setAttackCnt ++;
|
if(!!pvpDefense.attack) {
|
||||||
|
refOppObj.setAttackCnt ++;
|
||||||
|
}
|
||||||
|
|
||||||
let seasonNum: number = this.app.get('pvpSeasonNum');
|
let seasonNum: number = this.app.get('pvpSeasonNum');
|
||||||
let seasonEndTime: number = this.app.get('pvpSeasonEndTime');
|
let seasonEndTime: number = this.app.get('pvpSeasonEndTime');
|
||||||
|
|||||||
@@ -186,6 +186,12 @@ export class RaceActivityHandler {
|
|||||||
await UserGuildActivityRecModel.updateInfo(code, { hasShow: true });
|
await UserGuildActivityRecModel.updateInfo(code, { hasShow: true });
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let obj = getRaceActivityObj();
|
||||||
|
let woodenHorse = await obj.getWoodenHorse(guildCode, serverId);
|
||||||
|
if(!woodenHorse) { // 已被结算
|
||||||
|
woodenHorse = guildActivityRec.woodenHorse;
|
||||||
|
}
|
||||||
|
|
||||||
// 返回当前军团总军功
|
// 返回当前军团总军功
|
||||||
let r = new Rank(REDIS_KEY.RACE_ACTIVITY, { serverId });
|
let r = new Rank(REDIS_KEY.RACE_ACTIVITY, { serverId });
|
||||||
let myGuildRank = await r.getMyRank({ guildCode });
|
let myGuildRank = await r.getMyRank({ guildCode });
|
||||||
@@ -193,7 +199,7 @@ export class RaceActivityHandler {
|
|||||||
return resResult(STATUS.SUCCESS, {
|
return resResult(STATUS.SUCCESS, {
|
||||||
timestamp: Date.now(),
|
timestamp: Date.now(),
|
||||||
hasShow,
|
hasShow,
|
||||||
woodenHorse: guildActivityRec.woodenHorse,
|
woodenHorse,
|
||||||
myGuildRank
|
myGuildRank
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -301,7 +301,7 @@ export async function calcuHangUpReward(roleId: string, speedUp = false, speedUp
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (speedUp) { // 加速,直接收取6小时收益,小数的累积和普通收取独立
|
if (speedUp) { // 加速,直接收取6小时收益,小数的累积和普通收取独立
|
||||||
if (hangUpSpdUpCnt + speedUpCnt < dicParam.TOWER_BOOST.TOWER_BOOSTTIME || !lastSpdUpTime || shouldRefresh(lastSpdUpTime, new Date)) { // 可加速
|
if (hangUpSpdUpCnt + speedUpCnt <= dicParam.TOWER_BOOST.TOWER_BOOSTTIME || !lastSpdUpTime || shouldRefresh(lastSpdUpTime, new Date)) { // 可加速
|
||||||
let multi = Math.floor(HANG_UP_CONSTS.SPD_UP_REC_TIME / HANG_UP_CONSTS.UNIT_TIME);
|
let multi = Math.floor(HANG_UP_CONSTS.SPD_UP_REC_TIME / HANG_UP_CONSTS.UNIT_TIME);
|
||||||
let spdUpRec = await HangUpSpdUpRecModel.getSpdUpRec(roleId, towerLv - 1);
|
let spdUpRec = await HangUpSpdUpRecModel.getSpdUpRec(roleId, towerLv - 1);
|
||||||
let goods = [];
|
let goods = [];
|
||||||
|
|||||||
@@ -215,6 +215,7 @@ export class RaceActivityObject {
|
|||||||
private woodenHorses: Map<string, WoodenHorse> = new Map(); // 每个军团的木牛流马 guildCode => WoodenHorse
|
private woodenHorses: Map<string, WoodenHorse> = new Map(); // 每个军团的木牛流马 guildCode => WoodenHorse
|
||||||
private events: Map<string, Event[]> = new Map(); // 每个军团遇到的事件
|
private events: Map<string, Event[]> = new Map(); // 每个军团遇到的事件
|
||||||
private items: Map<string, RewardInter[]> = new Map(); // 每个玩家的道具 roleId => [{id, count}]
|
private items: Map<string, RewardInter[]> = new Map(); // 每个玩家的道具 roleId => [{id, count}]
|
||||||
|
private hasSentGuild: string[] = [];
|
||||||
|
|
||||||
public getItem(roleId: string) {
|
public getItem(roleId: string) {
|
||||||
return this.items.get(roleId)||[]
|
return this.items.get(roleId)||[]
|
||||||
@@ -400,7 +401,10 @@ export class RaceActivityObject {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public deleteFromList(guildCode: string) {
|
public deleteFromList(guildCode: string) {
|
||||||
let index = this.guildList.findIndex(cur => cur.guildCode == guildCode);
|
this.hasSentGuild.push(guildCode);
|
||||||
this.guildList.splice(index, 1);
|
}
|
||||||
|
|
||||||
|
public hasSend(guildCode: string) {
|
||||||
|
return this.hasSentGuild.indexOf(guildCode) != -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -323,7 +323,7 @@ export async function sendGuildActEndMsg(aid: number) {
|
|||||||
|
|
||||||
for (let { guildCode, serverId } of obj.guildList) {
|
for (let { guildCode, serverId } of obj.guildList) {
|
||||||
let woodenHorse = await obj.getWoodenHorse(guildCode, serverId);
|
let woodenHorse = await obj.getWoodenHorse(guildCode, serverId);
|
||||||
if (woodenHorse && woodenHorse.status != 0) {
|
if (woodenHorse && woodenHorse.status != 0 && !obj.hasSend(guildCode)) {
|
||||||
await raceActivitySettleReward(guildCode, woodenHorse);
|
await raceActivitySettleReward(guildCode, woodenHorse);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -618,9 +618,15 @@ export async function calWoodenHorseAndSend(serverId: number) {
|
|||||||
console.log('calWoodenHorseAndSend');
|
console.log('calWoodenHorseAndSend');
|
||||||
let guildKey = REDIS_KEY.RACE_ACTIVITY;
|
let guildKey = REDIS_KEY.RACE_ACTIVITY;
|
||||||
let obj = getRaceActivityObj();
|
let obj = getRaceActivityObj();
|
||||||
|
let calResult = new Map<string, WoodenHorse>();
|
||||||
|
for(let [code] of obj.getAllWoodenHorses()) {
|
||||||
|
let _obj = await obj.getWoodenHorse(code, serverId);
|
||||||
|
if(_obj) calResult.set(code, _obj);
|
||||||
|
}
|
||||||
|
|
||||||
let fun = async function (param: GuildRankInfo) {
|
let fun = async function (param: GuildRankInfo) {
|
||||||
let { rank, code, name } = param;
|
let { rank, code, name } = param;
|
||||||
let _obj = await obj.getWoodenHorse(code, serverId);
|
let _obj = calResult.get(code);
|
||||||
return new SimpleGuildRankWithTimeParam(rank, code, name, _obj);
|
return new SimpleGuildRankWithTimeParam(rank, code, name, _obj);
|
||||||
}
|
}
|
||||||
let r = new Rank(REDIS_KEY.RACE_ACTIVITY, { serverId }, true);
|
let r = new Rank(REDIS_KEY.RACE_ACTIVITY, { serverId }, true);
|
||||||
@@ -672,7 +678,7 @@ export async function calWoodenHorseAndSend(serverId: number) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
calResult.clear();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user