ggejs
Version:
A powerful JavaScript library for interacting with the server of Goodgame Empire: Four Kingdoms
241 lines (239 loc) • 14.2 kB
JavaScript
module.exports.TRIGGER_ID_OFFSET = 600;
module.exports.INVALID_EVENTTYPE = -1;
const EVENTTYPE_CRUSADE_THORNKING = 2;
module.exports.EVENTTYPE_CRUSADE_THORNKING = EVENTTYPE_CRUSADE_THORNKING;
module.exports.EVENTTYPE_FACTION = 3;
const EVENTTYPE_CRUSADE_SEAQUEEN = 4;
module.exports.EVENTTYPE_CRUSADE_SEAQUEEN = EVENTTYPE_CRUSADE_SEAQUEEN;
const EVENTTYPE_NOMADINVASION = 5;
module.exports.EVENTTYPE_NOMADINVASION = EVENTTYPE_NOMADINVASION;
module.exports.EVENTTYPE_PAYMENTREWARD_SPECIAL_OFFER = 6;
module.exports.EVENTTYPE_PRIME_SALES = 7;
module.exports.EVENTTYPE_SKIP_FOR_FREE = 8;
module.exports.EVENTTYPE_EGA_VOTING = 10;
module.exports.EVENTTYPE_GGS_GIFT = 13;
const EVENTTYPE_UNITDEALER_ISLAND = 14;
module.exports.EVENTTYPE_UNITDEALER_ISLAND = EVENTTYPE_UNITDEALER_ISLAND;
const EVENTTYPE_LUCKYWHEEL = 15;
module.exports.EVENTTYPE_LUCKYWHEEL = EVENTTYPE_LUCKYWHEEL;
module.exports.EVENTTYPE_GLORY_BOOSTER = 16;
const EVENTTYPE_UNITDEALER_UNDERWORLD = 17;
module.exports.EVENTTYPE_UNITDEALER_UNDERWORLD = EVENTTYPE_UNITDEALER_UNDERWORLD;
module.exports.EVENTTYPE_ADJUST_SKIP_BUILDING = 18;
module.exports.EVENTTYPE_ARTIFACT_VERYLOW = 19;
const EVENTTYPE_SHADOWUNITS = 21;
module.exports.EVENTTYPE_SHADOWUNITS = EVENTTYPE_SHADOWUNITS;
const EVENTTYPE_MERCHANT = 22;
module.exports.EVENTTYPE_MERCHANT = EVENTTYPE_MERCHANT;
module.exports.EVENTTYPE_ARTIFACT = 23;
module.exports.EVENTTYPE_TOURNAMENT = 24;
module.exports.EVENTTYPE_BOUNTYHUNTER = 25;
const EVENTTYPE_DUNGEON = 26;
module.exports.EVENTTYPE_DUNGEON = EVENTTYPE_DUNGEON;
const EVENTTYPE_ARMORER = 27;
module.exports.EVENTTYPE_ARMORER = EVENTTYPE_ARMORER;
module.exports.EVENTTYPE_RESSOURCEEXCHANGER = 28;
const EVENTTYPE_ARTIFACT2 = 29;
module.exports.EVENTTYPE_ARTIFACT2 = EVENTTYPE_ARTIFACT2;
module.exports.EVENTTYPE_ARTIFACT_LOW = 30;
module.exports.EVENTTYPE_RATINGEVENT = 32;
module.exports.EVENTTYPE_ALCHEMIST = 35;
module.exports.EVENTTYPE_ALLIANCE_TOURNAMENT = 36;
const EVENTTYPE_ARTIFACT_ICECREAM = 37;
module.exports.EVENTTYPE_ARTIFACT_ICECREAM = EVENTTYPE_ARTIFACT_ICECREAM;
const EVENTTYPE_ARTIFACT_DESSERT = 38;
module.exports.EVENTTYPE_ARTIFACT_DESSERT = EVENTTYPE_ARTIFACT_DESSERT;
const EVENTTYPE_ARTIFACT_VOLCANO = 39;
module.exports.EVENTTYPE_ARTIFACT_VOLCANO = EVENTTYPE_ARTIFACT_VOLCANO;
module.exports.EVENTTYPE_ARTIFACT_LOW_LEVEL = 67;
module.exports.EVENTTYPE_CONSTRUCTION_EXPERT = 40;
const EVENTTYPE_PLAGUE = 41;
module.exports.EVENTTYPE_PLAGUE = EVENTTYPE_PLAGUE;
const EVENTTYPE_MERCHANT_FACTION = 42;
module.exports.EVENTTYPE_MERCHANT_FACTION = EVENTTYPE_MERCHANT_FACTION;
const EVENTTYPE_UNITDEALER = 43;
module.exports.EVENTTYPE_UNITDEALER = EVENTTYPE_UNITDEALER;
const EVENTTYPE_COLOSSUS = 44;
module.exports.EVENTTYPE_COLOSSUS = EVENTTYPE_COLOSSUS;
module.exports.EVENTTYPE_ALLIPRIME = 45;
module.exports.EVENTTYPE_ENCHANTER = 46;
const EVENTTYPE_APRIL = 48;
module.exports.EVENTTYPE_APRIL = EVENTTYPE_APRIL;
const EVENTTYPE_NOMADHUNTER = 49;
module.exports.EVENTTYPE_NOMADHUNTER = EVENTTYPE_NOMADHUNTER;
module.exports.EVENTTYPE_RESEARCH_EXPERT = 50;
module.exports.EVENTTYPE_ALLIPAYMENT = 55;
const EVENTTYPE_HORSE_COLOSSUS = 57;
module.exports.EVENTTYPE_HORSE_COLOSSUS = EVENTTYPE_HORSE_COLOSSUS;
const EVENTTYPE_UNITDEALER_SEAQUEEN = 58;
module.exports.EVENTTYPE_UNITDEALER_SEAQUEEN = EVENTTYPE_UNITDEALER_SEAQUEEN;
module.exports.EVENTTYPE_POINT_EVENT = 60;
module.exports.EVENTTYPE_EVENT_SKIN = 61;
module.exports.EVENTTYPE_BEGGING_KNIGHTS = 62;
module.exports.EVENTTYPE_WORLD_CUP = 63;
const EVENTTYPE_CRUSADE_UNDERWORLD = 64;
module.exports.EVENTTYPE_CRUSADE_UNDERWORLD = EVENTTYPE_CRUSADE_UNDERWORLD;
module.exports.EVENTTYPE_USER_SURVEY = 65;
const EVENTTYPE_GIFT_TRADER = 66;
module.exports.EVENTTYPE_GIFT_TRADER = EVENTTYPE_GIFT_TRADER;
module.exports.EVENTTYPE_EVENT_PACKAGE_PRIME_SALES = 68;
const EVENTTYPE_COIN_COLOSSUS = 69;
module.exports.EVENTTYPE_COIN_COLOSSUS = EVENTTYPE_COIN_COLOSSUS;
module.exports.EVENTTYPE_PRIME_SALES_REVIVE_ALL = 70;
const EVENTTYPE_ALIEN_INVASION_ALLIANCE = 71;
module.exports.EVENTTYPE_ALIEN_INVASION_ALLIANCE = EVENTTYPE_ALIEN_INVASION_ALLIANCE;
const EVENTTYPE_SAMURAI_ALIEN_INVASION = 500;
module.exports.EVENTTYPE_SAMURAI_ALIEN_INVASION = EVENTTYPE_SAMURAI_ALIEN_INVASION;
const EVENTTYPE_NOMADINVASION_ALLIANCE = 72;
module.exports.EVENTTYPE_NOMADINVASION_ALLIANCE = EVENTTYPE_NOMADINVASION_ALLIANCE;
module.exports.EVENTTYPE_EVENT_ANNOUNCEMENT = 73;
module.exports.EVENTTYPE_REAL_CURRENCY_PRIME_DAY = 74;
module.exports.EVENTTYPE_EVENT_BOOSTER_PRIME_SALE = 75;
const EVENTTYPE_UNITDEALER_BERIMOND = 76;
module.exports.EVENTTYPE_UNITDEALER_BERIMOND = EVENTTYPE_UNITDEALER_BERIMOND;
module.exports.EVENTTYPE_EVENT_TEMPORARY_QUESTS = 77;
module.exports.EVENTTYPE_EVENT_ONE_TIME_OFFER = 78;
module.exports.EVENTTYPE_REACTIVATION_PRIME_DAY = 79;
const EVENTTYPE_SAMURAI_INVASION = 80;
module.exports.EVENTTYPE_SAMURAI_INVASION = EVENTTYPE_SAMURAI_INVASION;
const EVENTTYPE_UNITDEALER_SAMURAI = 81;
module.exports.EVENTTYPE_UNITDEALER_SAMURAI = EVENTTYPE_UNITDEALER_SAMURAI;
module.exports.EVENTTYPE_TIERED_PRIME_DAY = 82;
module.exports.EVENTTYPE_LONGTERM_POINT_EVENT = 83;
module.exports.EVENTTYPE_PRIVATE_PRIME_TIME_EVENT = 84;
const EVENTTYPE_FACTION_INVASION = 85;
module.exports.EVENTTYPE_FACTION_INVASION = EVENTTYPE_FACTION_INVASION;
const EVENTTYPE_UNITDEALER_FACTION_INVASION = 86;
module.exports.EVENTTYPE_UNITDEALER_FACTION_INVASION = EVENTTYPE_UNITDEALER_FACTION_INVASION;
module.exports.EVENTTYPE_PRIME_SALES_TECHNICUS = 87;
module.exports.EVENTTYPE_PRIME_SALES_RELIC_ENCHANTER = 88;
const EVENTTYPE_LUCKYWHEEL_SD = 89;
module.exports.EVENTTYPE_LUCKYWHEEL_SD = EVENTTYPE_LUCKYWHEEL_SD;
module.exports.EVENTTYPE_SHOPPING_CART_PRIMEDAY = 90;
const EVENTTYPE_APPRENTICE_BLACKSMITH = 92;
module.exports.EVENTTYPE_APPRENTICE_BLACKSMITH = EVENTTYPE_APPRENTICE_BLACKSMITH;
const EVENTTYPE_WISHING_WELL_COIN_VENDOR = 93;
module.exports.EVENTTYPE_WISHING_WELL_COIN_VENDOR = EVENTTYPE_WISHING_WELL_COIN_VENDOR;
const EVENTTYPE_NOMADINVASION_VENDOR = 94;
module.exports.EVENTTYPE_NOMADINVASION_VENDOR = EVENTTYPE_NOMADINVASION_VENDOR;
module.exports.EVENTTYPE_TIMELIMITED_CAMPAIGN_EVENT = 95;
module.exports.EVENTTYPE_TIMELIMITED_CAMPAIGN_QUEST_EVENT = 96;
module.exports.EVENTTYPE_UNIT_PRIME_SALE = 100;
const EVENTTYPE_EQUIPMENTMERCHANT = 101;
module.exports.EVENTTYPE_EQUIPMENTMERCHANT = EVENTTYPE_EQUIPMENTMERCHANT;
module.exports.EVENTTYPE_TEMPSERVER = 106;
module.exports.EVENTTYPE_COLLECTOR = 108;
const EVENTTYPE_COLLECTOR_SHOP = 109;
module.exports.EVENTTYPE_COLLECTOR_SHOP = EVENTTYPE_COLLECTOR_SHOP;
module.exports.EVENTTYPE_KINGDOMS_LEAGUE = 601;
module.exports.EVENTTYPE_KINGDOMS_LEAGUE_KILL = 602;
module.exports.EVENTTYPE_KINGDOMS_LEAGUE_CHANGE_RUNTIME = 603;
module.exports.EVENTTYPE_GLOBAL_EFFECTS = 610;
module.exports.EVENTTYPE_GLOBAL_EFFECTS_KILL = 611;
module.exports.EVENTTYPE_GLOBAL_EFFECTS_BOOSTER = 612;
module.exports.EVENTTYPE_GLOBAL_EFFECTS_BOOSTER_KILL = 613;
module.exports.EVENTTYPE_LONGTERMPOINTEVENT_CHANGE_UPCOMING_EVENTS = 620;
module.exports.EVENTTYPE_CURRENCY_CLEAR_COMPENSATION = 621;
const EVENTTYPE_SAMURAIINVASION_VENDOR = 107;
module.exports.EVENTTYPE_SAMURAIINVASION_VENDOR = EVENTTYPE_SAMURAIINVASION_VENDOR;
module.exports.EVENTTYPE_TEMPSERVER_MULTIPLIER = 110;
const EVENTTYPE_DAIMYO_SHOP = 111;
module.exports.EVENTTYPE_DAIMYO_SHOP = EVENTTYPE_DAIMYO_SHOP;
module.exports.EVENTTYPE_PRIME_SALES_EXPANSIONS = 112;
const EVENTTYPE_ALLIANCE_BATTLEGROUND = 113;
module.exports.EVENTTYPE_ALLIANCE_BATTLEGROUND = EVENTTYPE_ALLIANCE_BATTLEGROUND;
module.exports.EVENTTYPE_WEBSHOP = 114;
module.exports.EVENTTYPE_REACTIVATION_PRIVATE_PRIME_TIME_EVENT = 115;
const EVENTTYPE_APPRENTICE_TOKEN_VENDOR = 116;
module.exports.EVENTTYPE_APPRENTICE_TOKEN_VENDOR = EVENTTYPE_APPRENTICE_TOKEN_VENDOR;
module.exports.EVENTTYPE_FORTUNE_TELLER = 117;
module.exports.EVENTTYPE_LOYALTY = 118;
module.exports.EVENTTYPE_MOBILE_BROWSER_SHOP_STANDARD = 119;
module.exports.EVENTTYPE_MOBILE_BROWSER_SHOP_SPECIAL = 120;
module.exports.EVENTTYPE_MOBILE_BROWSER_SHOP_TEMPSERVER_STANDARD = 121;
module.exports.EVENTTYPE_MOBILE_BROWSER_SHOP_TEMPSERVER_SPECIAL = 122;
module.exports.EVENTTYPE_DONATION = 123;
module.exports.EVENTTYPE_PRIME_TIME_SKIN = 124;
module.exports.EVENTTYPE_SPECIAL_DAILY_BUNDLE = 125;
module.exports.EVENTTYPE_DECO_GACHA = 126;
module.exports.EVENTTYPE_CHRISTMAS_GACHA = 127;
module.exports.EVENTTYPE_ISLAND_KINGDOM = 102;
const EVENTTYPE_RED_ALIEN_INVASION_ALLIANCE = 103;
module.exports.EVENTTYPE_RED_ALIEN_INVASION_ALLIANCE = EVENTTYPE_RED_ALIEN_INVASION_ALLIANCE;
module.exports.EVENTTYPE_PRIME_SALES_FUSION_RECHARGE = 104;
module.exports.EVENTTYPE_PRIME_SALES_PREMIUM_FUSION = 105;
module.exports.EVENTTYPE_PRIME_SALES_KINGDOM_LEAGUE_PASS = 599;
module.exports.EVENTCAMP_AREA_ID = -24;
module.exports.PROVISIONS = 24;
const LEAGUETYPE_EVENT_SUBTYPE_DEFAULT = 0;
module.exports.LEAGUETYPE_EVENT_SUBTYPE_DEFAULT = LEAGUETYPE_EVENT_SUBTYPE_DEFAULT;
const LEAGUETYPE_EVENT_SUBTYPE_ALIEN_INVASION_ALLIANCE = 1;
module.exports.LEAGUETYPE_EVENT_SUBTYPE_ALIEN_INVASION_ALLIANCE = LEAGUETYPE_EVENT_SUBTYPE_ALIEN_INVASION_ALLIANCE;
module.exports.LEAGUETYPE_EVENT_SUBTYPE_SAMURAI_ALIEN_INVASION_ALLIANCE = 1;
module.exports.LEAGUETYPE_EVENT_SUBTYPE_NOMAD_INVASION_ALLIANCE = 1;
module.exports.LEAGUETYPE_EVENT_SUBTYPE_SAMURAI_INVASION = 1;
const LEAGUETYPE_EVENT_SUBTYPE_FACTION_INVASION_ALLIANCE = 1;
module.exports.LEAGUETYPE_EVENT_SUBTYPE_FACTION_INVASION_ALLIANCE = LEAGUETYPE_EVENT_SUBTYPE_FACTION_INVASION_ALLIANCE;
const LEAGUETYPE_EVENT_SUBTYPE_FACTION_INVASION_BLUE = 2;
module.exports.LEAGUETYPE_EVENT_SUBTYPE_FACTION_INVASION_BLUE = LEAGUETYPE_EVENT_SUBTYPE_FACTION_INVASION_BLUE;
const LEAGUETYPE_EVENT_SUBTYPE_FACTION_INVASION_RED = 3;
module.exports.LEAGUETYPE_EVENT_SUBTYPE_FACTION_INVASION_RED = LEAGUETYPE_EVENT_SUBTYPE_FACTION_INVASION_RED;
module.exports.LEAGUETYPE_EVENT_SUBTYPE_ALLIANCE_CAMP_INVASION = 16;
const LTPE_DEFAULT_SUBTYPE = 0;
module.exports.LTPE_DEFAULT_SUBTYPE = LTPE_DEFAULT_SUBTYPE;
module.exports.DEFAULT_REWARD_SET_ID = 1;
module.exports.DEFAULT_REWARD_ID = 1;
module.exports.SKIN_OFFSET = 100;
module.exports.ARTIFACT_EVENT_TYPES = [EVENTTYPE_ARTIFACT2, EVENTTYPE_ARTIFACT_ICECREAM, EVENTTYPE_ARTIFACT_DESSERT, EVENTTYPE_ARTIFACT_VOLCANO];
module.exports.DUNGEON_EVENT_TYPES = [EVENTTYPE_DUNGEON, EVENTTYPE_APRIL];
module.exports.CRUSADE_EVENT_TYPES = [EVENTTYPE_CRUSADE_THORNKING, EVENTTYPE_CRUSADE_SEAQUEEN, EVENTTYPE_CRUSADE_UNDERWORLD];
module.exports.NOMAD_INVASION_EVENT_TYPES = [EVENTTYPE_NOMADINVASION, EVENTTYPE_NOMADINVASION_ALLIANCE];
module.exports.SAMURAI_INVASION_EVENT_TYPES = [EVENTTYPE_SAMURAI_INVASION];
module.exports.FACTION_INVASION_EVENT_TYPES = [EVENTTYPE_FACTION_INVASION];
module.exports.EVENTTYPES_WITH_ALLIANCE_INVASION_CAMP = [EVENTTYPE_NOMADINVASION_ALLIANCE, EVENTTYPE_ALLIANCE_BATTLEGROUND];
module.exports.ALL_PACKAGEEVENT_EVENT_TYPES = [EVENTTYPE_UNITDEALER_ISLAND, EVENTTYPE_UNITDEALER_UNDERWORLD, EVENTTYPE_UNITDEALER_BERIMOND, EVENTTYPE_SHADOWUNITS, EVENTTYPE_MERCHANT, EVENTTYPE_ARMORER, EVENTTYPE_PLAGUE, EVENTTYPE_UNITDEALER, EVENTTYPE_NOMADHUNTER, EVENTTYPE_UNITDEALER_SEAQUEEN, EVENTTYPE_EQUIPMENTMERCHANT, EVENTTYPE_MERCHANT_FACTION, EVENTTYPE_GIFT_TRADER, EVENTTYPE_UNITDEALER_SAMURAI, EVENTTYPE_UNITDEALER_FACTION_INVASION, EVENTTYPE_APPRENTICE_BLACKSMITH, EVENTTYPE_WISHING_WELL_COIN_VENDOR, EVENTTYPE_NOMADINVASION_VENDOR, EVENTTYPE_SAMURAIINVASION_VENDOR, EVENTTYPE_COLLECTOR_SHOP, EVENTTYPE_DAIMYO_SHOP, EVENTTYPE_APPRENTICE_TOKEN_VENDOR];
module.exports.MODIFIABLE_PACKAGEEVENT_EVENT_TYPES = [EVENTTYPE_ARMORER, EVENTTYPE_MERCHANT, EVENTTYPE_SHADOWUNITS, EVENTTYPE_EQUIPMENTMERCHANT, EVENTTYPE_GIFT_TRADER];
module.exports.ALIEN_INVASION_EVENT_TYPES = [EVENTTYPE_ALIEN_INVASION_ALLIANCE, EVENTTYPE_SAMURAI_ALIEN_INVASION, EVENTTYPE_RED_ALIEN_INVASION_ALLIANCE];
module.exports.TREASURE_MAP_UNIT_DEALERS = [EVENTTYPE_UNITDEALER, EVENTTYPE_UNITDEALER_UNDERWORLD, EVENTTYPE_UNITDEALER_SEAQUEEN];
module.exports.COLOSSUS_EVENT_TYPES = [EVENTTYPE_COLOSSUS, EVENTTYPE_HORSE_COLOSSUS, EVENTTYPE_COIN_COLOSSUS];
module.exports.BUY_INSTANT_TOOL_CHECK_RELEVANT_EVENTS = [EVENTTYPE_ARMORER, EVENTTYPE_NOMADHUNTER, EVENTTYPE_UNITDEALER_BERIMOND, EVENTTYPE_UNITDEALER_ISLAND, EVENTTYPE_UNITDEALER_SEAQUEEN, EVENTTYPE_UNITDEALER_SAMURAI];
module.exports.LEAGUETYPE_EVENT_SUBTYPES_DEFAULT = [LEAGUETYPE_EVENT_SUBTYPE_DEFAULT];
module.exports.LEAGUETYPE_EVENT_SUBTYPES_ALIEN_INVASION_ALLIANCE = [LEAGUETYPE_EVENT_SUBTYPE_ALIEN_INVASION_ALLIANCE];
module.exports.LEAGUETYPE_EVENT_SUBTYPES_FACTION = [LEAGUETYPE_EVENT_SUBTYPE_FACTION_INVASION_ALLIANCE, LEAGUETYPE_EVENT_SUBTYPE_FACTION_INVASION_BLUE, LEAGUETYPE_EVENT_SUBTYPE_FACTION_INVASION_RED];
module.exports.LTPE_DEFAULT_SUBTYPES = [LTPE_DEFAULT_SUBTYPE];
module.exports.ALLOWED_EVENT_TYPES_FOR_LTPE = [EVENTTYPE_ALIEN_INVASION_ALLIANCE, EVENTTYPE_NOMADINVASION_ALLIANCE, EVENTTYPE_SAMURAI_INVASION, EVENTTYPE_RED_ALIEN_INVASION_ALLIANCE];
module.exports.EVENT_TYPES_FOR_OFFICERS_SCHOOL = [EVENTTYPE_ALIEN_INVASION_ALLIANCE, EVENTTYPE_NOMADINVASION_ALLIANCE, EVENTTYPE_SAMURAI_INVASION, EVENTTYPE_FACTION_INVASION, EVENTTYPE_RED_ALIEN_INVASION_ALLIANCE];
module.exports.LUCKY_WHEEL_EVENT_TYPES = [EVENTTYPE_LUCKYWHEEL, EVENTTYPE_LUCKYWHEEL_SD];
/**
* @param {number} targetLevel
* @return {number}
*/
module.exports.getBountyPrizeC1ByTargetLevel = function (targetLevel) {
return Math.round(415 * Math.pow(targetLevel, 0.75) / 100) * 100;
}
/**
* @param {number} c2
* @return {number}
*/
module.exports.getItemPositionByC2Amount = function (c2) {
switch (c2) {
case 2000:
return 1;
case 6500:
return 2;
case 15000:
return 3;
case 30000:
return 4;
case 50000:
return 5;
case 85000:
return 6;
case 180000:
return 7;
case 380000:
return 8;
default:
return -1;
}
}