🐞 fix(gvg): 修复离开战场逻辑

This commit is contained in:
luying
2023-02-22 14:27:23 +08:00
parent 6cf038b588
commit a3ea2be808
5 changed files with 28 additions and 24 deletions
@@ -200,7 +200,7 @@ export class GVGBattleHandler {
if (originCityId != cityId) {
let gvgUserData = await GVGUserDataModel.findByRole(configId, myLeague.leagueCode, roleId);
if(gvgUserData?.cityId > 0) { // 如果leaveCity没有退出成功,玩家还遗留在上一座城中,做一下处理
await GVGCityModel.decreasePlayer(configId, groupKey, gvgUserData.cityId, roleId);
await GVGCityModel.decreasePlayerByCity(configId, groupKey, gvgUserData.cityId, roleId);
}
const roleTeamCnt = await GVGTeamModel.getTeamCntByRole(roleId);
let city = await GVGCityModel.increasePlayer(configId, groupKey, cityId, roleId, myLeague.leagueCode, roleTeamCnt);
@@ -250,7 +250,7 @@ export class GVGBattleHandler {
}
// 更新玩家城池和队伍城池
await leaveCity(roleId, false);
await leaveCity(false, roleId, serverId, guildCode, myLeague);
await leaveGVGAreaChannel(roleId, sid);
await leaveGVGAreaTeamChannel(roleId, sid);
@@ -10,6 +10,7 @@ import { getGVGConfig, setGVGConfig, setGVGServerGroup } from '../../../services
import { GVGConfigType } from '../../../db/GVGConfig';
import { catapultHurt, gvgBattleEnd, gvgBattleSeconds, gvgBattleStart, initCatapult, leaveCity } from '../../../services/gvg/gvgBattleService';
import { clearBattleMemory } from '../../../services/gvg/gvgBattleMemory';
import { GVGLeagueType } from '../../../db/GVGLeague';
export default function (app: Application) {
new HandlerService(app, {});
@@ -169,9 +170,9 @@ export class GuildRemote {
}
}
public async leaveCity(roleId: string, isForce: boolean) {
public async leaveCity(isForce: boolean, roleId: string, serverId: number, guildCode: string, myLeague?: GVGLeagueType) {
try {
return leaveCity(roleId, isForce);
return leaveCity(isForce, roleId, serverId, guildCode, myLeague);
} catch(e) {
errlogger.error(`remote ${__filename} \n ${e.stack}`);
}