diff --git a/game-server/app/servers/guild/handler/raceActivityHandler.ts b/game-server/app/servers/guild/handler/raceActivityHandler.ts index e26c7490e..5b395758f 100644 --- a/game-server/app/servers/guild/handler/raceActivityHandler.ts +++ b/game-server/app/servers/guild/handler/raceActivityHandler.ts @@ -167,7 +167,7 @@ export class RaceActivityHandler { let woodenHorse = obj.getWoodenHorse(toGuild, serverId); if (!woodenHorse) return resResult(STATUS.WRONG_PARMS); - let event = await obj.useItem(roleId, sid, guildCode, toGuild, id, count); + let event = await obj.useItem(serverId, roleId, sid, guildCode, toGuild, id, count); if (!event) return resResult(STATUS.BATTLE_CONSUMES_NOT_ENOUGH); await GuildActivityRecordModel.pushEvent(guildCode, this.aid, event); diff --git a/game-server/app/services/auctionService.ts b/game-server/app/services/auctionService.ts index 17d324701..13ddd900c 100644 --- a/game-server/app/services/auctionService.ts +++ b/game-server/app/services/auctionService.ts @@ -216,8 +216,20 @@ export async function genAuction(guildCode: string, sourceType: number, sourceCo }); const lots = await LotModel.createRecs(lotsData); const dividendCode = genCode(DIVIDEND_CODE_LEN); + const participantsData = await participants(guildCode, sourceType, sourceCode); + const dividends: DividendRec[] = participantsData.map(data => { + const { roleId } = data; + return { + roleId, + posNum: 0, // 职位分红 + hasJoin: true, + weekendNum: 0, // 额外分红,周末 + total: 0, // 总分红 + status: 0, // 0:未领取,1:已领取 + }; + }); const dividendData: DividendParam = { - guildCode, sourceType, sourceCode, serverId, code: dividendCode, dividends: [], totalPrice: 0, begin, lots: lots.map(lot => { + guildCode, sourceType, sourceCode, serverId, code: dividendCode, dividends, totalPrice: 0, begin, lots: lots.map(lot => { const { code, gid } = lot; return { code, gid, price: 0, time: guildEnd, max: false, count: lot.count } }), diff --git a/game-server/app/services/guildActivity/guildActivityService.ts b/game-server/app/services/guildActivity/guildActivityService.ts index eaf97519b..d624bef23 100644 --- a/game-server/app/services/guildActivity/guildActivityService.ts +++ b/game-server/app/services/guildActivity/guildActivityService.ts @@ -772,7 +772,7 @@ export async function getCityActivityGateHp(serverId: number, cityId: number) { let gateHp = Math.floor(gateHpBase * (activePlayerCnt/activeGuildCnt) * N); console.log(`getCityActivityGateHp: gateHp ${gateHp}`); - if(gateHp == 0) { + if(gateHp <= dicCityActivity.hp) { gateHp = dicCityActivity.hp; } return gateHp; diff --git a/game-server/app/services/guildActivity/raceActivityObj.ts b/game-server/app/services/guildActivity/raceActivityObj.ts index 55aeb9a0d..659318bd4 100644 --- a/game-server/app/services/guildActivity/raceActivityObj.ts +++ b/game-server/app/services/guildActivity/raceActivityObj.ts @@ -8,7 +8,7 @@ import { GuildModel } from "../../db/Guild"; import { sendSingleRaceActEndMsg } from "./guildActivityService"; import { REDIS_KEY, RACE_EVENT_TYPE, RACE_EVENT_EFFECT_TYPE, RACE_EVENT, STATUS, RACE_ACTIVITY_STATUS, PUSH_ROUTE, GUILD_ACTIVITY_STATUS } from "../../consts"; import { getRandEelm, sortArrRandom, resResult, getRandResultByMember } from "../../pubUtils/util"; -import { sendMessageToGuildWithSuc, sendMessageToUserWithSuc } from "../pushService"; +import { sendMessageToGuildWithSuc, sendMessageToServerWithSuc, sendMessageToUserWithSuc } from "../pushService"; // 粮草先行 export class RaceActivityObject { @@ -114,7 +114,7 @@ export class RaceActivityObject { return woodenHorse; } - public async useItem(fromRoleId: string, sid: string, fromGuild: string, toGuild: string, id: number, count: number) { + public async useItem(serverId: number, fromRoleId: string, sid: string, fromGuild: string, toGuild: string, id: number, count: number) { let rec = this.handleItems(fromRoleId, sid, [{id, count: -1 * count}]); if(!rec) return false; let event = new Event(id, fromGuild, toGuild, count); @@ -125,7 +125,7 @@ export class RaceActivityObject { events.push(event); this.events.set(toGuild, events); } - await sendMessageToGuildWithSuc(toGuild, PUSH_ROUTE.GUILD_RACE_EVENT, { timestamp: Date.now(), events: [event] }); + await sendMessageToServerWithSuc(serverId, PUSH_ROUTE.GUILD_RACE_EVENT, { timestamp: Date.now(), events: [event] }); return event; } diff --git a/shared/consts/constModules/guildConst.ts b/shared/consts/constModules/guildConst.ts index a9ef1e35b..fca479c24 100644 --- a/shared/consts/constModules/guildConst.ts +++ b/shared/consts/constModules/guildConst.ts @@ -309,7 +309,8 @@ export enum RACE_EVENT_EFFECT_TYPE { export enum RACE_ACTIVITY_STATUS { WAITING = 0, // 未开始 START = 1, // 已开始 - END = 2 // 已结束 + END = 2, // 已结束 + PAUSE = 3, // 暂停 } export const CITY_ACTIVITY_DOOR = 1047; \ No newline at end of file diff --git a/shared/domain/battleField/guildActivity.ts b/shared/domain/battleField/guildActivity.ts index 16dd8c624..ae4513d85 100644 --- a/shared/domain/battleField/guildActivity.ts +++ b/shared/domain/battleField/guildActivity.ts @@ -116,7 +116,7 @@ export class WoodenHorse { */ public calCurWoodenHorse(events: Event[]): boolean { if(this.status == RACE_ACTIVITY_STATUS.END) return false; - if(this.status == RACE_ACTIVITY_STATUS.WAITING && this.stopContinueTime && Date.now() > this.stopContinueTime) { + if(this.status == RACE_ACTIVITY_STATUS.PAUSE && this.stopContinueTime && Date.now() > this.stopContinueTime) { this.status = RACE_ACTIVITY_STATUS.START; this.stopContinueTime = 0; } @@ -190,7 +190,7 @@ export class WoodenHorse { case RACE_EVENT.GUISHOUYINFU: if (this.shieldTime < Date.now()) { this.stopContinueTime = endTime; - this.status = RACE_ACTIVITY_STATUS.WAITING; + this.status = RACE_ACTIVITY_STATUS.PAUSE; this.time = endTime; this.speed = 0; }