UNPKG

ggejs

Version:

A powerful JavaScript library for interacting with the server of Goodgame Empire: Four Kingdoms

241 lines (239 loc) 14.2 kB
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; } }