军团:诸侯混战城门血量

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
@@ -167,7 +167,7 @@ export class RaceActivityHandler {
let woodenHorse = obj.getWoodenHorse(toGuild, serverId); let woodenHorse = obj.getWoodenHorse(toGuild, serverId);
if (!woodenHorse) return resResult(STATUS.WRONG_PARMS); 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); if (!event) return resResult(STATUS.BATTLE_CONSUMES_NOT_ENOUGH);
await GuildActivityRecordModel.pushEvent(guildCode, this.aid, event); await GuildActivityRecordModel.pushEvent(guildCode, this.aid, event);
+13 -1
View File
@@ -216,8 +216,20 @@ export async function genAuction(guildCode: string, sourceType: number, sourceCo
}); });
const lots = await LotModel.createRecs(lotsData); const lots = await LotModel.createRecs(lotsData);
const dividendCode = genCode(DIVIDEND_CODE_LEN); 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 = { 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; const { code, gid } = lot;
return { code, gid, price: 0, time: guildEnd, max: false, count: lot.count } return { code, gid, price: 0, time: guildEnd, max: false, count: lot.count }
}), }),
@@ -772,7 +772,7 @@ export async function getCityActivityGateHp(serverId: number, cityId: number) {
let gateHp = Math.floor(gateHpBase * (activePlayerCnt/activeGuildCnt) * N); let gateHp = Math.floor(gateHpBase * (activePlayerCnt/activeGuildCnt) * N);
console.log(`getCityActivityGateHp: gateHp ${gateHp}`); console.log(`getCityActivityGateHp: gateHp ${gateHp}`);
if(gateHp == 0) { if(gateHp <= dicCityActivity.hp) {
gateHp = dicCityActivity.hp; gateHp = dicCityActivity.hp;
} }
return gateHp; return gateHp;
@@ -8,7 +8,7 @@ import { GuildModel } from "../../db/Guild";
import { sendSingleRaceActEndMsg } from "./guildActivityService"; 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 { 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 { getRandEelm, sortArrRandom, resResult, getRandResultByMember } from "../../pubUtils/util";
import { sendMessageToGuildWithSuc, sendMessageToUserWithSuc } from "../pushService"; import { sendMessageToGuildWithSuc, sendMessageToServerWithSuc, sendMessageToUserWithSuc } from "../pushService";
// 粮草先行 // 粮草先行
export class RaceActivityObject { export class RaceActivityObject {
@@ -114,7 +114,7 @@ export class RaceActivityObject {
return woodenHorse; 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}]); let rec = this.handleItems(fromRoleId, sid, [{id, count: -1 * count}]);
if(!rec) return false; if(!rec) return false;
let event = new Event(id, fromGuild, toGuild, count); let event = new Event(id, fromGuild, toGuild, count);
@@ -125,7 +125,7 @@ export class RaceActivityObject {
events.push(event); events.push(event);
this.events.set(toGuild, events); 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; return event;
} }
+2 -1
View File
@@ -309,7 +309,8 @@ export enum RACE_EVENT_EFFECT_TYPE {
export enum RACE_ACTIVITY_STATUS { export enum RACE_ACTIVITY_STATUS {
WAITING = 0, // 未开始 WAITING = 0, // 未开始
START = 1, // 已开始 START = 1, // 已开始
END = 2 // 已结束 END = 2, // 已结束
PAUSE = 3, // 暂停
} }
export const CITY_ACTIVITY_DOOR = 1047; export const CITY_ACTIVITY_DOOR = 1047;
+2 -2
View File
@@ -116,7 +116,7 @@ export class WoodenHorse {
*/ */
public calCurWoodenHorse(events: Event[]): boolean { public calCurWoodenHorse(events: Event[]): boolean {
if(this.status == RACE_ACTIVITY_STATUS.END) return false; 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; this.status = RACE_ACTIVITY_STATUS.START; this.stopContinueTime = 0;
} }
@@ -190,7 +190,7 @@ export class WoodenHorse {
case RACE_EVENT.GUISHOUYINFU: case RACE_EVENT.GUISHOUYINFU:
if (this.shieldTime < Date.now()) { if (this.shieldTime < Date.now()) {
this.stopContinueTime = endTime; this.stopContinueTime = endTime;
this.status = RACE_ACTIVITY_STATUS.WAITING; this.status = RACE_ACTIVITY_STATUS.PAUSE;
this.time = endTime; this.time = endTime;
this.speed = 0; this.speed = 0;
} }