军团:诸侯混战城门血量
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -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 }
|
||||
}),
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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;
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user