ggejs
Version:
A powerful Node.js module for interacting with the server of Goodgame Empire & Goodgame Empire: Four Kingdoms
195 lines (194 loc) • 9.21 kB
JavaScript
module.exports.MAX_MAILBOX_SIZE = 50;
module.exports.MESSAGES_PER_PAGE = 8;
module.exports.MAX_LENGTH_SUBJECT = 20;
module.exports.MAX_LENGTH_RECEIVER = 15;
module.exports.MIN_LENGTH_TEXT = 3;
module.exports.MAX_LENGTH_TEXT = 1300;
module.exports.MAX_IGNORE_COUNT = 50;
module.exports.MAX_MAILBOX_ARCHIVE_SIZE = 20;
module.exports.MAX_MAILBOX_BATTLE_AND_SPY_REPORTS = 25;
module.exports.MAX_MAILBOX_BATTLE_AND_SPY_REPORTS_FORWARDED = 50;
module.exports.MAX_MAILBOX_OUTBOX_SIZE = 10;
module.exports.MAX_MAILBOX_SPECIAL_OFFERS_SIZE = 50;
module.exports.MIN_FREE_MESSAGE_ID_THRESHOLD = 100000000;
module.exports.FROM_SERVER_PLAYER_ID = -1;
module.exports.FROM_SERVER_PLAYER_NAME = "";
module.exports.MESSAGE_TYPE_SYSTEM = 0;
module.exports.MESSAGE_TYPE_USER_IN = 1;
module.exports.MESSAGE_TYPE_USER_OUT = 2;
module.exports.MESSAGE_TYPE_SPY_PLAYER = 3;
module.exports.MESSAGE_TYPE_SPY_NPC = 4;
module.exports.MESSAGE_TYPE_CONQUERABLE_AREA = 5;
module.exports.MESSAGE_TYPE_BATTLE_LOG = 6;
module.exports.MESSAGE_TYPE_ALLIANCE_REQUEST = 20;
module.exports.MESSAGE_TYPE_ALLIANCE_WAR = 21;
module.exports.MESSAGE_TYPE_ALLIANCE_NEWSLETTER = 22;
module.exports.MESSAGE_TYPE_ALLIANCE_BOOKMARK = 23;
module.exports.MESSAGE_TYPE_FRIEND_INVITE_TEASER = 30;
module.exports.MESSAGE_TYPE_FRIEND_JOIN_THE_GAME = 31;
module.exports.MESSAGE_TYPE_FIND_A_FRIEND = 32;
module.exports.MESSAGE_TYPE_FRIEND_REACHED_A_LEVEL = 33;
module.exports.MESSAGE_TYPE_FRIEND_BOUGHT_RUBIES = 34;
module.exports.MESSAGE_TYPE_X_FRIENDS_BOUGHT_RUBIES = 35;
module.exports.MESSAGE_TYPE_FRIEND_INVITE = 36;
module.exports.MESSAGE_TYPE_NEW_FRIENDSHIP = 37;
module.exports.MESSAGE_TYPE_LOWLEVEL_UNDERWORLD = 40;
module.exports.MESSAGE_TYPE_USER_SURVEY = 50;
module.exports.MESSAGE_TYPE_ATTACK_CANCELLED = 67;
module.exports.MESSAGE_TYPE_SPY_CANCELLED = 68;
module.exports.MESSAGE_TYPE_STARVE_INFO = 70;
module.exports.MESSAGE_TYPE_BUILDING_DISABLED = 71;
module.exports.MESSAGE_TYPE_MARKET_CARRIAGE_ARRIVED = 75;
module.exports.MESSAGE_TYPE_ABO = 80;
module.exports.MESSAGE_TYPE_PAYMENT_DOPPLER = 81;
module.exports.MESSAGE_TYPE_REBUY = 90;
module.exports.MESSAGE_TYPE_SPECIAL_EVENT = 95;
module.exports.MESSAGE_TYPE_STARVE_VILLAGE_LOST = 96;
module.exports.MESSAGE_TYPE_TOURNAMENT_OVER = 97;
module.exports.MESSAGE_TYPE_ISLAND_KINGDOM_TITLE = 98;
module.exports.MESSAGE_TYPE_ISLAND_KINGDOM_REWARD = 99;
module.exports.MESSAGE_TYPE_STARVE_ISLE_RESOURCE_LOST = 100;
module.exports.MESSAGE_RUIN_INFO = 102;
module.exports.MESSAGE_TYPE_PLAYER_GIFT = 103;
module.exports.MESSAGE_TYPE_SUBSCRIPTION = 104;
module.exports.MESSAGE_TYPE_ATTACK_COUNT_THRESHOLD = 105;
module.exports.MESSAGE_TYPE_THANKY_YOU_PACKAGE = 117;
module.exports.MESSAGE_TYPE_DOWNTIME_STATUS = 118;
module.exports.MESSAGE_TYPE_DIVISION_CHANGE = 119;
module.exports.MESSAGE_TYPE_ATTACK_ADVISOR_FAILURE = 120;
module.exports.MESSAGE_TYPE_ATTACK_ADVISOR_SUMMARY = 121;
module.exports.MESSAGE_TYPE_HIGHSCORE_BONUS = 122;
module.exports.MESSAGE_TYPE_EVENT_ANNOUNCEMENT = 123;
module.exports.MESSAGE_TYPE_POPUP = 124;
module.exports.MESSAGE_TYPE_PATCH_NOTES = 125;
module.exports.MESSAGE_TYPE_PRIVATE_OFFER = 126;
module.exports.MESSAGE_TYPE_TEXT_ID = 127;
module.exports.MAILBOX_INBOX = 0;
module.exports.MAILBOX_COMBAT_AND_SPY = 1;
module.exports.MAILBOX_FORWARDED = 2;
module.exports.MAILBOX_OUTBOX = 3;
module.exports.MAILBOX_SPECIAL_OFFERS = 4;
module.exports.SPECIAL_ID_BAEM_AWARD = 1;
module.exports.SPECIAL_ID_BAEM_AWARD_FINAL = 2;
module.exports.SPECIAL_ID_EUROPEAN_AWARD = 3;
module.exports.SPECIAL_ID_SHADOW_TEASER = 4;
module.exports.SPECIAL_ID_EGA_100_RUBIES = 5;
module.exports.SPECIAL_ID_EGA_150_RUBIES = 6;
module.exports.SPECIAL_ID_EGA_500_RUBIES_FORUM = 7;
module.exports.SPECIAL_ID_GAMEX_AWARD = 8;
module.exports.SPECIAL_ID_MMO_OF_THE_YEAR_AWARD = 9;
module.exports.SPECIAL_ID_TURKEY_MESSAGE = 10;
module.exports.SPECIAL_ID_SPECIAL_EVENT_START = 12;
module.exports.SPECIAL_ID_SPECIAL_EVENT_END = 13;
module.exports.SPECIAL_ID_FACTION_LAST_MAN_STANDING_BEGAN_FOR_FACTION = 14;
module.exports.SPECIAL_ID_FACTION_LAST_CAMP_DESTROYED = 15;
module.exports.SPECIAL_ID_VIP_INFORMATION = 16;
module.exports.SPECIAL_ID_WORLD_CUP = 17;
module.exports.SPECIAL_ID_UNDERWORLD = 18;
module.exports.SPECIAL_ID_THORNKING = 19;
module.exports.SPECIAL_ID_HOSPITAL_CAPACITY_EXCEEDED = 20;
module.exports.SPECIAL_ID_EMPIRE_DEALS_DAYS_MESSAGE = 21;
module.exports.SPECIAL_ID_TERMS_AND_CONDITIONS = 22;
module.exports.SPECIAL_ID_WAR_OF_EMPIRES_1 = 23;
module.exports.SPECIAL_ID_WAR_OF_EMPIRES_2 = 24;
module.exports.SPECIAL_ID_WAR_OF_EMPIRES_3 = 25;
module.exports.SPECIAL_ID_WAR_OF_EMPIRES_REWARD_1 = 26;
module.exports.SPECIAL_ID_WAR_OF_EMPIRES_REWARD_2 = 27;
module.exports.SPECIAL_ID_WAR_OF_EMPIRES_REWARD_3 = 28;
module.exports.SPECIAL_ID_ANNOUNCE_INSTANCE = 29;
module.exports.SPECIAL_ID_FAIR_PLAY_MESSAGE = 30;
module.exports.SPECIAL_ID_ALCHEMIST_RETIREMENT = 31;
module.exports.SPECIAL_ID_SPECIAL_EVENT_UPDATE = 32;
module.exports.SPECIAL_ID_TREASURE_MAP_PIECE_FOUND = 33;
module.exports.SPECIAL_ID_MONUMENT = 66;
module.exports.SPECIAL_ID_LABORATORY = 67;
module.exports.SPECIAL_ID_METROPOLIS = 68;
module.exports.SPECIAL_ID_KINGSTOWER = 69;
module.exports.PRIVATE_OFFER_TIPPMAIL = 1;
module.exports.PRIVATE_OFFER_DUNGEON_TREASURE_CHEST = 5;
module.exports.PRIVATE_OFFER_WHALE_CHEST = 6;
module.exports.PRIVATE_OFFER_EVENT_GIFT = 7;
module.exports.PRIVATE_OFFER_FORUM_ADVERTISING = 8;
module.exports.PRIVATE_OFFER_DEFENSE = 9;
module.exports.PRIVATE_OFFER_TOOL_RETURN = 10;
module.exports.PRIVATE_OFFER_VOUCHER = 11;
module.exports.PRIVATE_OFFER_TIME_CHALLENGE = 12;
module.exports.PRIVATE_OFFER_TIME_CHALLENGE_FINISHED = 13;
module.exports.PRIVATE_OFFER_BESTSELLER_SHOP = 14;
module.exports.BATTLE_LOG_CANCELLED_GENERAL = 1;
module.exports.BATTLE_LOG_CANCELLED_COOLDOWN = 2;
module.exports.BATTLE_LOG_CANCELLED_STARVATION = 3;
module.exports.TOURNAMENT_SINGLE = 1;
module.exports.SUBTYPE_SIEGE_CANCELED = 0;
module.exports.SUBTYPE_NEW_SIEGE = 1;
module.exports.SUBTYPE_CONQUERABLE_AREA_CONQUERED = 2;
module.exports.SUBTYPE_CONQUERABLE_AREA_LOST = 3;
module.exports.SUBTYPE_TREASUREMAP_SUBNODE = 0;
module.exports.SUBTYPE_TREASUREMAP_MAINNODE = 1;
module.exports.SUBTYPE_TREASUREMAP_ENDNODE = 2;
module.exports.SUBTYPE_ATTACK_NORMAL = 0;
module.exports.SUBTYPE_ATTACK_CONQUER = 1;
module.exports.SUBTYPE_ATTACK_NPC = 2;
module.exports.SUBTYPE_ATTACK_OCCUPY = 3;
module.exports.SUBTYPE_ATTACK_SHADOW = 4;
module.exports.POSITION_SUBTYPE_SPY = 0;
module.exports.SUBTYPE_SPY_SABOTAGE = 0;
module.exports.SUBTYPE_SPY_DEFENCE = 1;
module.exports.SUBTYPE_SPY_ECO = 2;
module.exports.SUBTYPE_SPY_PLAQUE_MONK = 3;
module.exports.SUBTYPE_ATTACKER_SUCCESS = 0;
module.exports.SUBTYPE_DEFENDER_SUCCESS = 1;
module.exports.SUBTYPE_ATTACKER_FAILED = 2;
module.exports.SUBTYPE_DEFENDER_FAILED = 3;
module.exports.SUBTYPE_ALLIANCE_ENEMY_ATTACK_WAR = 0;
module.exports.SUBTYPE_ALLIANCE_ENEMY_DECLARED_WAR = 1;
module.exports.SUBTYPE_ALLIANCE_OUR_DECLARED_WAR = 2;
module.exports.SUBTYPE_ALLIANCE_OUR_ATTACK_WAR = 3;
module.exports.SUBTYPE_ALLIANCE_OUR_SABOTAGE_WAR = 4;
module.exports.SUBTYPE_ALLIANCE_ENEMY_END_WAR = 5;
module.exports.SUBTYPE_ALLIANCE_ENEMY_SABOTAGE_WAR = 6;
module.exports.SUBTYPE_TITLE_ASSIGNED = 0;
module.exports.SUBTYPE_TITLE_LOST = 1;
module.exports.SUBTYPE_NEW_KING = 2;
module.exports.SUBTYPE_REWARD_TOP_X = 3;
module.exports.SUBTYPE_REWARD_KING = 4;
module.exports.SUBTYPE_REWARD_POINTS = 5;
module.exports.SUBTYPE_REWARD_WINNER_ALLI = 6;
module.exports.SUBTYPE_LOST_TITLE_ON_RESET = 7;
module.exports.DATATYPE_TITLE_LOST_TAKEN = 0;
module.exports.DATATYPE_TITLE_LOST_RESET = 1;
module.exports.DATATYPE_TITLE_LOST_LEADER_LEFT = 2;
module.exports.DATATYPE_TITLE_LOST_PLAYER_LEFT = 3;
module.exports.SUBTYPE_ATTACK_ABORTED = 0;
module.exports.SUBTYPE_ATTACK_AUTO_RETREAT = 1;
module.exports.SUBTYPE_ATTACK_AUTO_RETREAT_ENEMY = 2;
module.exports.SUBTYPE_SPY_ABORTED = 0;
module.exports.SUBTYPE_BOOKMARK_ADDED = 0;
module.exports.SUBTYPE_BOOKMARK_DELETED = 1;
module.exports.SUBTYPE_LOWLEVEL_UNDERWORLD_START = 0;
module.exports.SUBTYPE_LOWLEVEL_UNDERWORLD_WARN = 1;
module.exports.SUBTYPE_LOWLEVEL_UNDERWORLD_END = 2;
module.exports.SUBTYPE_THANK_YOU_PACKAGE_DESTROYED_FACTION_TOWERS = 0;
module.exports.SUBTYPE_SUPPORT_PACKAGE_LOST_FACTION_TOWERS = 1;
module.exports.SUBTYPE_SUBSCRIPTION_ENABLED = 0;
module.exports.SUBTYPE_SUBSCRIPTION_EXPIRED = 1;
module.exports.SUBTYPE_SUBSCRIPTION_REWARD = 2;
module.exports.SUBTYPE_META_DATA_SPLITTER = "#";
module.exports.SUBJECT_SEPARATOR = "+";
module.exports.SUBTYPE_POPUP_REGISTRATION_GIFT = 0;
module.exports.SUBTYPE_POPUP_FACEBOOK_CONNECTION = 1;
module.exports.SUBTYPE_POPUP_LOGIN_BONUS = 2;
module.exports.SUBTYPE_POPUP_SAVE_ACCOUNT = 3;
/**
* @param {boolean} attackerWins
* @param {boolean} isAttacker
* @return {number}
*/
module.exports.getSubtypeForBattleAndSpies = function (attackerWins, isAttacker) {
if (attackerWins) {
if (isAttacker) return 0;
return 3;
}
if (isAttacker) return 2;
return 1;
}