ggejs
Version:
A powerful JavaScript library for interacting with the server of Goodgame Empire: Four Kingdoms
47 lines (43 loc) • 1.73 kB
JavaScript
const ActiveEvent = require("./ActiveEvent");
const EventConst = require("../../utils/EventConst");
class PrimeSaleEvent extends ActiveEvent {
/** @type {string} */ //todo: PrimeSaleTypeEnum
primeSaleType;
/** @type {number} */
discount;
/** @type {number[]} */
requiredEventIds = [];
/**
* @param {Client} client
* @param {{EID:number, RS: number, DIS: number}} data
*/
loadFromParamObject(client, data) {
super.loadFromParamObject(client, data);
this.discount = data.DIS;
this.primeSaleType = getPrimeSaleType(this.eventId);
}
}
/**
* @param {number} eventId
* @return {string} todo: PrimeSaleTypeEnum
*/
function getPrimeSaleType(eventId) {
switch (eventId) {
case EventConst.EVENTTYPE_EVENT_BOOSTER_PRIME_SALE:
return "booster"//PrimeSaleTypeEnum.BOOSTER;
case EventConst.EVENTTYPE_PRIME_SALES_REVIVE_ALL:
return "revive_all"//PrimeSaleTypeEnum.REVIVE_ALL;
case EventConst.EVENTTYPE_PRIME_SALES_TECHNICUS:
return "technicus"//PrimeSaleTypeEnum.TECHNICUS;
case EventConst.EVENTTYPE_PRIME_SALES_RELIC_ENCHANTER:
return "relicus"//PrimeSaleTypeEnum.RELICUS;
case EventConst.EVENTTYPE_PRIME_SALES:
return "building"//PrimeSaleTypeEnum.BUILDING;
case EventConst.EVENTTYPE_PRIME_SALES_KINGDOM_LEAGUE_PASS:
return "seasonPass"//PrimeSaleTypeEnum.SEASON_PASS;
case EventConst.EVENTTYPE_PRIME_SALES_EXPANSIONS:
return "expansion"//PrimeSaleTypeEnum.EXPANSIONS;
}
return "no_prime_sale"//PrimeSaleTypeEnum.NO_PRIME_SALE;
}
module.exports = PrimeSaleEvent;