🐞 fix(军团活动): 修复诸侯混战城门血条互通问题

This commit is contained in:
luying
2022-10-26 17:17:35 +08:00
parent 31e00b93f3
commit d5d630b765
6 changed files with 30 additions and 30 deletions

View File

@@ -100,9 +100,9 @@ export class CityActivityHandler {
let historyCity = await getHistoryCity(roleId);
if (historyCity) {
await leaveCityChannel(roleId, sid, `${historyCity}`);
await leaveCityChannel(roleId, sid, serverId, `${historyCity}`);
}
await addRoleToCityChannel(roleId, sid, cityId);
await addRoleToCityChannel(roleId, sid, serverId, cityId);
await setHistoryCity(roleId, cityId);
let ranks = await getCityActivityRank(guildCode, serverId, cityId, roleId, roleName);
@@ -295,7 +295,7 @@ export class CityActivityHandler {
await sendSingleCityActEndMsg(cityId, serverId);
}
// 推送 城门血量
await sendMessageToCityWithSuc(cityId, PUSH_ROUTE.GUILD_CITY_ACT_HP, { cityId, gateHp, maxHp });
await sendMessageToCityWithSuc(serverId, cityId, PUSH_ROUTE.GUILD_CITY_ACT_HP, { cityId, gateHp, maxHp });
await sendCityGuildRankToUser(serverId, cityId, guildCode, roleId);
return resResult(STATUS.SUCCESS, {

View File

@@ -41,8 +41,8 @@ export async function addRoleToGuildChannel(roleId: string, sid: string, guildCo
await addRoleToChannel(roomId, roleId, sid);
}
export async function addRoleToCityChannel(roleId: string, sid: string, cityId: number) {
const roomId = groupRoomId(CHANNEL_PREFIX.CITY, cityId);
export async function addRoleToCityChannel(roleId: string, sid: string, serverId: number, cityId: number) {
const roomId = groupRoomId(CHANNEL_PREFIX.CITY, `${serverId}_${cityId}`);
await addRoleToChannel(roomId, roleId, sid);
}
@@ -76,18 +76,18 @@ export async function leaveWorldChannel(roleId: string, sid: string, serverId: n
await leaveChannel(roomId, roleId, sid);
}
export async function leaveCityChannel(roleId: string, sid: string, cityId: string) {
const roomId = groupRoomId(CHANNEL_PREFIX.CITY, cityId);
export async function leaveCityChannel(roleId: string, sid: string, serverId: number, cityId: string) {
const roomId = groupRoomId(CHANNEL_PREFIX.CITY, `${serverId}_${cityId}`);
await leaveChannel(roomId, roleId, sid);
}
export async function leaveGuildAuctionChannel(roleId: string, sid: string, guildCode: string) {
const roomId = groupRoomId(CHANNEL_PREFIX.CITY, guildCode);
const roomId = groupRoomId(CHANNEL_PREFIX.GUILD_AUCTION, guildCode);
await leaveChannel(roomId, roleId, sid);
}
export async function leaveWorldAuctionChannel(roleId: string, sid: string, serverId: number) {
const roomId = groupRoomId(CHANNEL_PREFIX.CITY, serverId);
const roomId = groupRoomId(CHANNEL_PREFIX.WORLD_AUCTION, serverId);
await leaveChannel(roomId, roleId, sid);
}
@@ -114,8 +114,8 @@ export async function getGuildChannelSid(guildCode: string) {
return channelSid;
}
export async function getCityChannelSid(cityId: number) {
const roomId = groupRoomId(CHANNEL_PREFIX.CITY, cityId);
export async function getCityChannelSid(serverId: number, cityId: number) {
const roomId = groupRoomId(CHANNEL_PREFIX.CITY, `${serverId}_${cityId}`);
const channelSid = await channelServer(roomId);
return channelSid;
}

View File

@@ -161,8 +161,8 @@ export async function pushGroupMsgToRoom(msg: GroupMessageType) {
let teamCode = msg.channelId;
await sendMessageToTeam(teamCode, PUSH_ROUTE.GROUP_MSG, { ...msg, roleInfo });
} else if (msg.channel == CHANNEL_PREFIX.CITY) {
let cityId = parseInt(msg.channelId);
await sendMessageToCityWithSuc(cityId, PUSH_ROUTE.GROUP_MSG, { ...msg, roleInfo });
let arr = msg.channelId.split('_');
await sendMessageToCityWithSuc(parseInt(arr[0]), parseInt(arr[1]), PUSH_ROUTE.GROUP_MSG, { ...msg, roleInfo });
}
}

View File

@@ -510,12 +510,12 @@ export async function cityActivitySettleReward(cityId: number, serverId: number)
}
}
export async function autoDeclare() {
for(let [ cityId ] of gameData.cityActivity) {
let msg = { cityId, declareGuildCode: "", declareCount: 0 };
await sendMessageToCityWithSuc(cityId, PUSH_ROUTE.GUILD_CITY_DECLARE, msg);
}
}
// export async function autoDeclare() {
// for(let [ cityId ] of gameData.cityActivity) {
// let msg = { cityId, declareGuildCode: "", declareCount: 0 };
// await sendMessageToCityWithSuc(cityId, PUSH_ROUTE.GUILD_CITY_DECLARE, msg);
// }
// }
/**
* 获取活动参加者
@@ -623,9 +623,9 @@ export function getCityStatus(guildCode: string, cityId: number, dic: DicCityAct
return status;
}
export async function sendGuildCityDeclare(cityId: number, declareGuildCode: string, declareCount: number) {
export async function sendGuildCityDeclare(serverId: number, cityId: number, declareGuildCode: string, declareCount: number) {
let msg = { cityId, declareGuildCode, declareCount };
await sendMessageToCityWithSuc(cityId, PUSH_ROUTE.GUILD_CITY_DECLARE, msg);
await sendMessageToCityWithSuc(serverId, cityId, PUSH_ROUTE.GUILD_CITY_DECLARE, msg);
await sendMessageToGuildWithSuc(declareGuildCode, PUSH_ROUTE.GUILD_CITY_DECLARE, msg);
}
@@ -807,7 +807,7 @@ export async function declareCity(serverId: number, roleId: string, guildCode: s
let declareInfo = await GuildActivityCityDeclareModel.declareIfNot(serverId, guildCode, cityId, roleId, declareTime, isAutoDeclare, declareIndex);
if(!!declareInfo && declareInfo.declareTime == declareTime) { // 确实没有人宣战过,自己是第一个
let cityRec = await GuildActivityCityModel.declare(serverId, cityId, guildCode, declareIndex);
await sendGuildCityDeclare(cityId, guildCode, cityRec.declareCount);
await sendGuildCityDeclare(serverId, cityId, guildCode, cityRec.declareCount);
return true;
}
return false;
@@ -908,7 +908,7 @@ export async function resetJoinWoodenHorse() {
export async function debugSendGateHp(serverId: number, cityId: number) {
let obj = getCityActivityObj();
let { gateHp, maxHp } = await obj.getGateHpAndInc(serverId, cityId);
await sendMessageToCityWithSuc(cityId, PUSH_ROUTE.GUILD_CITY_ACT_HP, { cityId, gateHp: gateHp + 1000, maxHp });
await sendMessageToCityWithSuc(serverId, cityId, PUSH_ROUTE.GUILD_CITY_ACT_HP, { cityId, gateHp: gateHp + 1000, maxHp });
}
export async function debugAddHorse(serverId: number, guildCode: string, memberCnt: number, itemInterval: number) {

View File

@@ -54,13 +54,13 @@ export async function sendMessageToGuild(guildCode: string, route: string, data:
await pinus.app.rpc.chat.chatRemote.pushMessage.toServer(channelSid, roomId, route, data);
}
export async function sendMessageToCityWithSuc(cityId: number, route: string, data: any) {
await sendMessageToCity(cityId, route, resResult(STATUS.SUCCESS, data));
export async function sendMessageToCityWithSuc(serverId: number, cityId: number, route: string, data: any) {
await sendMessageToCity(serverId, cityId, route, resResult(STATUS.SUCCESS, data));
}
export async function sendMessageToCity(cityId: number, route: string, data: any) {
let channelSid = await getCityChannelSid(cityId);
let roomId = groupRoomId(CHANNEL_PREFIX.CITY, cityId);
export async function sendMessageToCity(serverId: number, cityId: number, route: string, data: any) {
let channelSid = await getCityChannelSid(serverId, cityId);
let roomId = groupRoomId(CHANNEL_PREFIX.CITY, `${serverId}_${cityId}`);
await pinus.app.rpc.chat.chatRemote.pushMessage.toServer(channelSid, roomId, route, data);
}

View File

@@ -9,7 +9,7 @@ import { GUILD_ACTIVITY_TYPE, REFRESH_TIME, COUNTER, AUCTION_TIME, GM_MAIL_TYPE,
import { pinus } from 'pinus';
import { settleGuildWeekly } from './guildService';
import { SendMailFun, sendMailsByGmMail, } from './mailService';
import { sendEndMsgToAllServer, autoDeclare, sendGuildActivityStatus, setPreDayActiveData, incCurGuildActivityIndex } from './guildActivity/guildActivityService';
import { sendEndMsgToAllServer, sendGuildActivityStatus, setPreDayActiveData, incCurGuildActivityIndex } from './guildActivity/guildActivityService';
import { sendUngotDividendJob, startGuildAuction, startWorldAuction, stopAuction } from './auctionService';
import { DicGuildActivity } from '../pubUtils/dictionary/DicGuildActivity';
import { dispatch } from '../pubUtils/dispatcher';
@@ -341,7 +341,7 @@ export async function cityActivityEnd() {
await pinus.app.rpc.guild.guildActivityRemote.guildActivityEnd.broadcast(GUILD_ACTIVITY_TYPE.CITY_ACTIVITY);
// 发完之后再做下周自动宣战
await autoDeclare();
// await autoDeclare();
if (guildActSecondsJobId) {
guildActSecondsJobId.cancel();
guildActSecondsJobId = undefined;