军团活动:诸侯混战自动宣战

This commit is contained in:
luying
2021-03-30 10:59:53 +08:00
parent 85f886c3c8
commit ba5e139bee
3 changed files with 19 additions and 14 deletions

View File

@@ -226,15 +226,6 @@ export class CityActivityHandler {
let pushResult = await UserGuildActivityRecModel.pushCityRecord(code, { round, hid, damage });
if(!pushResult) return resResult(STATUS.WRONG_PARMS);
gateHp = obj.getGateHpAndInc(serverId, cityId, dicCity.hp, -1 * damage);
if(gateHp <= 0) {
// 推送 停止活动并结算奖励
await sendSingleCityActEndMsg(cityId, serverId);
}
// 推送 城门血量
let chatSid = await getCityChannelSid(cityId);
pinus.app.rpc.chat.guildRemote.pushCityGateHp.toServer(chatSid, cityId, gateHp);
// 更新redis数据
let role = await RoleModel.findByRoleId(roleId);
let { lv, vLv, head, frame, spine, title } = role;
@@ -246,6 +237,15 @@ export class CityActivityHandler {
let params = new GuildRankParam(guild.icon, guild.name, guild.lv, leader);
let guildScore = await setRank(getCityKeyName(REDIS_KEY.CITY_ACTIVITY, cityId), serverId, guild.code, damage, Date.now(), params, true);
gateHp = obj.getGateHpAndInc(serverId, cityId, dicCity.hp, -1 * damage);
if(gateHp <= 0) {
// 推送 停止活动并结算奖励
await sendSingleCityActEndMsg(cityId, serverId);
}
// 推送 城门血量
let chatSid = await getCityChannelSid(cityId);
pinus.app.rpc.chat.guildRemote.pushCityGateHp.toServer(chatSid, cityId, gateHp);
return resResult(STATUS.SUCCESS, {
code,
...statusResult,

View File

@@ -301,6 +301,7 @@ export class GateActivityHandler {
async debugStartActivity(msg: { aid: number }, session: BackendSession) {
let { aid } = msg;
let dic = gameData.guildActivity.get(aid);
if(!dic) return resResult(STATUS.WRONG_PARMS);
let result = await pinus.app.rpc.systimer.systimerRemote.guildActivityStart.toServer('systimer-server-1', dic);
if(!result) {
return resResult(STATUS.GUILD_ACTIVITY_IS_OPEN)
@@ -337,6 +338,8 @@ export class GateActivityHandler {
await pinus.app.rpc.systimer.systimerRemote.cityActivityEnd.toServer('systimer-server-1');
} else if (aid == GUILD_ACTIVITY_TYPE.RACE_ACTIVITY) {
await pinus.app.rpc.systimer.systimerRemote.raceActivityEnd.toServer('systimer-server-1');
} else {
return resResult(STATUS.WRONG_PARMS)
}
// !! 注意,这条函数会改变内存中的字典表,仅用于测试中使用

View File

@@ -476,15 +476,17 @@ export async function cityActivitySettleReward(cityId: number, serverId: number)
*/
async function autoDeclare(serverId: number) {
let allCities = await GuildActivityCityModel.getAllCities(serverId);
for(let { cityId, guardGuildCode } of allCities) {
let guardList = new Array<{ cityId: number, guardGuildCode: string }>();
for (let { cityId, guardGuildCode } of allCities) {
guardList.push({ cityId, guardGuildCode });
await GuildActivityCityModel.guard(serverId, cityId, "", "");
}
for (let { cityId, guardGuildCode } of guardList) {
let dicCity = gameData.cityActivity.get(cityId);
if(guardGuildCode && dicCity.nextCity) {
if (guardGuildCode && dicCity.nextCity) {
await GuildActivityCityModel.declare(serverId, dicCity.nextCity, guardGuildCode);
}
}
for(let { cityId } of allCities) {
await GuildActivityCityModel.guard(serverId, cityId, "", "");
}
}
/**