🐞 fix(军团活动): 修复诸侯混战城门血条互通问题
This commit is contained in:
@@ -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, {
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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 });
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user