🐞 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
@@ -100,9 +100,9 @@ export class CityActivityHandler {
let historyCity = await getHistoryCity(roleId); let historyCity = await getHistoryCity(roleId);
if (historyCity) { 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); await setHistoryCity(roleId, cityId);
let ranks = await getCityActivityRank(guildCode, serverId, cityId, roleId, roleName); let ranks = await getCityActivityRank(guildCode, serverId, cityId, roleId, roleName);
@@ -295,7 +295,7 @@ export class CityActivityHandler {
await sendSingleCityActEndMsg(cityId, serverId); 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); await sendCityGuildRankToUser(serverId, cityId, guildCode, roleId);
return resResult(STATUS.SUCCESS, { return resResult(STATUS.SUCCESS, {
@@ -41,8 +41,8 @@ export async function addRoleToGuildChannel(roleId: string, sid: string, guildCo
await addRoleToChannel(roomId, roleId, sid); await addRoleToChannel(roomId, roleId, sid);
} }
export async function addRoleToCityChannel(roleId: string, sid: string, cityId: number) { export async function addRoleToCityChannel(roleId: string, sid: string, serverId: number, cityId: number) {
const roomId = groupRoomId(CHANNEL_PREFIX.CITY, cityId); const roomId = groupRoomId(CHANNEL_PREFIX.CITY, `${serverId}_${cityId}`);
await addRoleToChannel(roomId, roleId, sid); await addRoleToChannel(roomId, roleId, sid);
} }
@@ -76,18 +76,18 @@ export async function leaveWorldChannel(roleId: string, sid: string, serverId: n
await leaveChannel(roomId, roleId, sid); await leaveChannel(roomId, roleId, sid);
} }
export async function leaveCityChannel(roleId: string, sid: string, cityId: string) { export async function leaveCityChannel(roleId: string, sid: string, serverId: number, cityId: string) {
const roomId = groupRoomId(CHANNEL_PREFIX.CITY, cityId); const roomId = groupRoomId(CHANNEL_PREFIX.CITY, `${serverId}_${cityId}`);
await leaveChannel(roomId, roleId, sid); await leaveChannel(roomId, roleId, sid);
} }
export async function leaveGuildAuctionChannel(roleId: string, sid: string, guildCode: string) { 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); await leaveChannel(roomId, roleId, sid);
} }
export async function leaveWorldAuctionChannel(roleId: string, sid: string, serverId: number) { 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); await leaveChannel(roomId, roleId, sid);
} }
@@ -114,8 +114,8 @@ export async function getGuildChannelSid(guildCode: string) {
return channelSid; return channelSid;
} }
export async function getCityChannelSid(cityId: number) { export async function getCityChannelSid(serverId: number, cityId: number) {
const roomId = groupRoomId(CHANNEL_PREFIX.CITY, cityId); const roomId = groupRoomId(CHANNEL_PREFIX.CITY, `${serverId}_${cityId}`);
const channelSid = await channelServer(roomId); const channelSid = await channelServer(roomId);
return channelSid; return channelSid;
} }
+2 -2
View File
@@ -161,8 +161,8 @@ export async function pushGroupMsgToRoom(msg: GroupMessageType) {
let teamCode = msg.channelId; let teamCode = msg.channelId;
await sendMessageToTeam(teamCode, PUSH_ROUTE.GROUP_MSG, { ...msg, roleInfo }); await sendMessageToTeam(teamCode, PUSH_ROUTE.GROUP_MSG, { ...msg, roleInfo });
} else if (msg.channel == CHANNEL_PREFIX.CITY) { } else if (msg.channel == CHANNEL_PREFIX.CITY) {
let cityId = parseInt(msg.channelId); let arr = msg.channelId.split('_');
await sendMessageToCityWithSuc(cityId, PUSH_ROUTE.GROUP_MSG, { ...msg, roleInfo }); await sendMessageToCityWithSuc(parseInt(arr[0]), parseInt(arr[1]), PUSH_ROUTE.GROUP_MSG, { ...msg, roleInfo });
} }
} }
@@ -510,12 +510,12 @@ export async function cityActivitySettleReward(cityId: number, serverId: number)
} }
} }
export async function autoDeclare() { // export async function autoDeclare() {
for(let [ cityId ] of gameData.cityActivity) { // for(let [ cityId ] of gameData.cityActivity) {
let msg = { cityId, declareGuildCode: "", declareCount: 0 }; // let msg = { cityId, declareGuildCode: "", declareCount: 0 };
await sendMessageToCityWithSuc(cityId, PUSH_ROUTE.GUILD_CITY_DECLARE, msg); // await sendMessageToCityWithSuc(cityId, PUSH_ROUTE.GUILD_CITY_DECLARE, msg);
} // }
} // }
/** /**
* 获取活动参加者 * 获取活动参加者
@@ -623,9 +623,9 @@ export function getCityStatus(guildCode: string, cityId: number, dic: DicCityAct
return status; 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 }; 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); 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); let declareInfo = await GuildActivityCityDeclareModel.declareIfNot(serverId, guildCode, cityId, roleId, declareTime, isAutoDeclare, declareIndex);
if(!!declareInfo && declareInfo.declareTime == declareTime) { // 确实没有人宣战过,自己是第一个 if(!!declareInfo && declareInfo.declareTime == declareTime) { // 确实没有人宣战过,自己是第一个
let cityRec = await GuildActivityCityModel.declare(serverId, cityId, guildCode, declareIndex); 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 true;
} }
return false; return false;
@@ -908,7 +908,7 @@ export async function resetJoinWoodenHorse() {
export async function debugSendGateHp(serverId: number, cityId: number) { export async function debugSendGateHp(serverId: number, cityId: number) {
let obj = getCityActivityObj(); let obj = getCityActivityObj();
let { gateHp, maxHp } = await obj.getGateHpAndInc(serverId, cityId); 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) { export async function debugAddHorse(serverId: number, guildCode: string, memberCnt: number, itemInterval: number) {
+5 -5
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); await pinus.app.rpc.chat.chatRemote.pushMessage.toServer(channelSid, roomId, route, data);
} }
export async function sendMessageToCityWithSuc(cityId: number, route: string, data: any) { export async function sendMessageToCityWithSuc(serverId: number, cityId: number, route: string, data: any) {
await sendMessageToCity(cityId, route, resResult(STATUS.SUCCESS, data)); await sendMessageToCity(serverId, cityId, route, resResult(STATUS.SUCCESS, data));
} }
export async function sendMessageToCity(cityId: number, route: string, data: any) { export async function sendMessageToCity(serverId: number, cityId: number, route: string, data: any) {
let channelSid = await getCityChannelSid(cityId); let channelSid = await getCityChannelSid(serverId, cityId);
let roomId = groupRoomId(CHANNEL_PREFIX.CITY, cityId); let roomId = groupRoomId(CHANNEL_PREFIX.CITY, `${serverId}_${cityId}`);
await pinus.app.rpc.chat.chatRemote.pushMessage.toServer(channelSid, roomId, route, data); await pinus.app.rpc.chat.chatRemote.pushMessage.toServer(channelSid, roomId, route, data);
} }
+2 -2
View File
@@ -9,7 +9,7 @@ import { GUILD_ACTIVITY_TYPE, REFRESH_TIME, COUNTER, AUCTION_TIME, GM_MAIL_TYPE,
import { pinus } from 'pinus'; import { pinus } from 'pinus';
import { settleGuildWeekly } from './guildService'; import { settleGuildWeekly } from './guildService';
import { SendMailFun, sendMailsByGmMail, } from './mailService'; 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 { sendUngotDividendJob, startGuildAuction, startWorldAuction, stopAuction } from './auctionService';
import { DicGuildActivity } from '../pubUtils/dictionary/DicGuildActivity'; import { DicGuildActivity } from '../pubUtils/dictionary/DicGuildActivity';
import { dispatch } from '../pubUtils/dispatcher'; 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 pinus.app.rpc.guild.guildActivityRemote.guildActivityEnd.broadcast(GUILD_ACTIVITY_TYPE.CITY_ACTIVITY);
// 发完之后再做下周自动宣战 // 发完之后再做下周自动宣战
await autoDeclare(); // await autoDeclare();
if (guildActSecondsJobId) { if (guildActSecondsJobId) {
guildActSecondsJobId.cancel(); guildActSecondsJobId.cancel();
guildActSecondsJobId = undefined; guildActSecondsJobId = undefined;