军团:诸侯混战城门血量

This commit is contained in:
luying
2022-05-05 18:14:03 +08:00
parent 01b4c3b065
commit 2b133b4a5c
6 changed files with 22 additions and 9 deletions

View File

@@ -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);

View File

@@ -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 }
}),

View File

@@ -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;

View File

@@ -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;
}

View File

@@ -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;

View File

@@ -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;
}