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