Initial commit

This commit is contained in:
2026-08-24 22:20:36 +02:00
commit 62f7b1278a
251 changed files with 16670 additions and 0 deletions
+316
View File
@@ -0,0 +1,316 @@
/*
MAXIMUM VALUES, DO NOT CHANGE AT ALL
*/
const MAX_SAFE_INTEGER = Math.pow(2, 32) - 1;
const MAX_LEVEL_ELITE = 18;
const MAX_GUILD_TAX_RATE_GOLD = 30;
const MAX_GUILD_TAX_RATE_EMERALD = 10;
/*
TYPE OF ENTITES
*/
const ENTITY_TYPE_PLAYER = 1;
const ENTITY_TYPE_NPC = 2;
const ENTITY_TYPE_MONSTER = 3;
const ENTITY_TYPE_TOWER = 4;
const ENTITY_TYPE_COLLECTABLE = 5;
/*
ECONOMY
*/
const ECONOMY_GOLD = 1;
const ECONOMY_EMERALD = 2;
/*
UNATTACKABLE ENTITIES
*/
const UNATTACKABLE_ENTITY_TYPES = [ENTITY_TYPE_COLLECTABLE];
/*
EVENTS
*/
const EVENT_DISCONNECT = "disconnect";
const EVENT_DISCONNECT_CANCEL = "disconnectCancel"
const EVENT_DISCONNECT_IDLE = "disconnectIdle"
const EVENT_RESPAWN = "respawn";
const EVENT_MAP_CHANGED = "mapChanged";
const EVENT_PROPERTY_CHANGED = "propertyChanged";
const EVENT_ATTACK_STARTED = "attackStarted";
const EVENT_ATTACKING = "attacking";
const EVENT_DIE = "die";
const EVENT_LEVEL_UP = "levelUp";
const EVENT_SPEED_UPDATE = "speedUpdate";
const EVENT_ATTACK_ABORTED_BY_USER = "attackAbortedByUser";
const EVENT_STOP_MOVEMENT = "stopMovement";
const EVENT_CANCEL_STATE_CHANGE_TIMEOUT = "cancelStateChangeTimeout";
const EVENT_ABLE_TO_JUMP = "ableToJump";
const EVENT_UNABLE_TO_JUMP = "unableToJump";
const EVENT_LEVEL_IS_LOW = "levelIsLow";
const EVENT_UPDATE_VISIBILITY = "updateVisibility";
const EVENT_DESTINATION_REACHED = "destinationReached";
const EVENT_DESTINATION_NEW = "newDestination";
const EVENT_SEEK_TARGET = "seekTarget";
const EVENT_ADD_EVENTS = "addEvents";
const EVENT_READY = "ready";
const EVENT_DISTRIBUTE_REWARD = "distributeReward";
const EVENT_DAMAGE = "damage";
const EVENT_ITEM_USED = "itemUsed";
const EVENT_CANNONS_USED = "cannonsUsed";
const EVENT_HARPOONERS_USED = "harpoonersUsed";
const EVENT_QUEST_DONE = "questDone";
const EVENT_EFFECT_ADD = "effectAdd";
const EVENT_DESINATION_NEW = "newDestination";
const EVENT_ATTACK_BAR = "attackBar";
const EVENT_PATH_READY = "scheduledPathReady"
const EVENT_SPAWN_ADMIRAL = "admiralSpawnNotification";
const EVENT_HEALTH_CHANGED = "healthChanged";
const EVENT_HEALTH_CHANGED_AUTHORLESS = "healthChangedAuthorless";
const EVENT_GUILD_ISLAND_CAPTURE = "guildIslandCapture";
const EVENT_GUILD_ISLAND_TOWER_BUILT = "guildDataIslandTowerBuilt";
const EVENT_GUILD_ISLAND_TOWER_HEALTH_CHANGED = "guildDataIslandTowerHealthChanged";
/*
BEHAVIOUR
*/
const BEHAVIOUR_AGGRESSIVE = "aggressive";
const BEHAVIOUR_STOP_IF_ATTACKED = "stopIfAttacked";
/*
MODE OF MAPS
*/
const MAP_MODE_PVE = "PvE";
const MAP_MODE_PVP = "PvP";
/*
LOGOUT TIMEOUTS
*/
const LOGOUT_TIME_BASIC = 30 * 1000;
const LOGOUT_TIME_PREMIUM = 10 * 1000;
const LOGOUT_TIME_IDLE = 10 * 60 * 10000;
/*
BASE VALUES FOR CALCULATIONS
*/
const BASE_REPAIR_AMOUNT_MINIMUM = 1000;
const BASE_REPAIR_AMOUNT_MAXIMUM = 2000;
const BASE_SPEED_PLAYER_REPAIR = 1500;
const BASE_SPEED_PLAYER = 100;
/*
TASKS
*/
const TASK_TYPE_DEAL_DAMAGE = 1;
const TASK_TYPE_DESTROY = 2;
/*
TIMING EVENTS
*/
const TIMING_EVENT_CANNON_ATTACK = 1;
const TIMING_EVENT_HARPOONER_ATTACK = 2;
const TIMING_EVENT_REPAIR = 3;
const TIMING_EVENT_DISCONNECT = 4;
const TIMING_EVENT_DISCONNECT_IDLE = 5;
const TIMING_EVENT_MAP_CHANGE = 6;
const TIMING_EVENT_MOVE = 7;
const TIMING_EVENT_RESPAWN = 8;
const TIMING_EVENT_OVERTIME_DECREASE_HITPOINT = 9;
const TIMING_EVENT_OVERTIME_INCREASE_HITPOINT = 10;
const TIMING_EVENT_DIE = 11;
const TIMING_EVENT_OVERTIME_DECREASE_HITPOINT_2 = 12;
/*
ACQUIRABLE ITEM CATEGORIES
*/
const CATEGORY_ECONOMY = 1;
const CATEGORY_ITEM = 2;
const CATEGORY_AMMUNITION = 3;
const CATEGORY_HARPOON = 4;
const CATEGORY_DESIGN = 5;
const CATEGORY_STATUS = 6;
const CATEGORY_CANNON = 7;
const CATEGORY_HARPOONER = 8;
const CATEGORY_SAIL = 9;
const CATEGORY_PIRATE = 10;
const CATEGORY_RANKING_POINTS = 11;
/*
QUEST STATUS
*/
const QUEST_STATE_ACTIVE = 0;
const QUEST_STATE_COMPLETED = 0;
/*
PROPERTY ALTERING CATEGORIES
*/
const AFFECT_CANNON_DAMAGE = 1;
const AFFECT_HARPOONER_DAMAGE = 2;
const AFFECT_PROTECTION = 3;
const AFFECT_SAILING_SPEED = 4;
const AFFECT_HITPOINT = 5;
/*
GUILD PERMISSION BITS
*/
const GUILD_PERMISSION_KICK = 1;
const GUILD_PERMISSION_ACCEPT_JOIN_REQUEST = 2;
const GUILD_PERMISSION_EDIT_IDENTITY = 4;
const GUILD_PERMISSION_EDIT_TAX = 8;
const GUILD_PERMISSION_EDIT_ISLAND = 16;
/*
LEADERBOARD TYPES
*/
const LEADERBOARD_EXPERIENCE_POINTS = 1;
const LEADERBOARD_NPC_SINK = 2;
const LEADERBOARD_MONSTER_SINK = 3;
const LEADERBOARD_PLAYER_SINK = 4;
const LEADERBOARD_ELITE_POINTS = 5;
const LEADERBOARD_FISHING_POINTS = 6;
/*
GUILD COOLDOWN TIMES
*/
const GUILD_COOLDOWN_EDIT_TAX_RATES = 60000;
const GUILD_COOLDOWN_EDIT_TAG = 60000;
const GUILD_COOLDOWN_EDIT_NAME = 60000;
const GUILD_COOLDOWN_EDIT_DESCRIPTION = 60000;
const COLLECTIBLE_CURRENCIES_BY_ID = {
1: "gold",
2: "emerald",
3: "draconicScales",
4: "corsaireCoins"
};
const COLLECTIBLE_CURRENCIES_BY_NAME = {
gold: 1,
emerald: 2,
draconicScales: 3,
corsaireCoins: 4
};
const ENTITY_TYPES_BY_ID = {
1: ENTITY_TYPE_PLAYER,
2: ENTITY_TYPE_NPC,
3: ENTITY_TYPE_MONSTER,
4: ENTITY_TYPE_TOWER,
5: ENTITY_TYPE_COLLECTABLE
};
const TIMING_EVENTS_BY_ID = {
1: "attackWithCannon",
2: "attackWithHarpooner",
3: "repair",
4: "disconnect",
5: "disconnect",
6: "isChangeMapAvailable",
7: "move",
8: "respawn",
9: "overtimeDecreaseCurrentHitpoint",
10: "overtimeIncreaseCurrentHitpoint",
11: "die",
12: "overtimeDecreaseCurrentHitpoint",
13: "overtimeDecreaseCurrentHitpoint",
14: "respawn",
15: "changeMap",
16: "abortAttack",
17: "effectRemove",
97: "attackWithCannon",
98: "attackWithCannon",
99: "attackWithCannon",
100: "attackWithCannon",
101: "attackWithCannon",
102: "attackWithCannon",
103: "attackWithCannon",
104: "attackWithCannon",
105: "attackWithCannon",
106: "attackWithCannon",
197: "attackWithHarpooner",
198: "attackWithHarpooner",
199: "attackWithHarpooner",
200: "attackWithHarpooner",
201: "attackWithHarpooner",
202: "attackWithHarpooner",
299: "changeSpeed",
300: "changeSpeed",
999: "refreshVisibilities"
};
const EVENTS_BY_TIMING_EVENTS_ID = {
1: EVENT_ATTACKING,
2: EVENT_ATTACKING
};
const EFFECTS_TERMINATE_MOVEMENT = [1];
module.exports.MAXIMUM = {
MAX_SAFE_INTEGER, MAX_LEVEL_ELITE, MAX_GUILD_TAX_RATE_GOLD, MAX_GUILD_TAX_RATE_EMERALD
};
module.exports.TYPES = {
ENTITY_TYPE_PLAYER, ENTITY_TYPE_NPC, ENTITY_TYPE_MONSTER, ENTITY_TYPE_TOWER, ENTITY_TYPE_COLLECTABLE
};
module.exports.UNATTACKABLE_ENTITY_TYPES = UNATTACKABLE_ENTITY_TYPES;
module.exports.EVENTS = {
EVENT_DISCONNECT, EVENT_DISCONNECT_CANCEL, EVENT_DISCONNECT_IDLE, EVENT_RESPAWN, EVENT_MAP_CHANGED, EVENT_PROPERTY_CHANGED, EVENT_ATTACK_STARTED, EVENT_ATTACKING, EVENT_DIE, EVENT_SPEED_UPDATE,
EVENT_ATTACK_ABORTED_BY_USER, EVENT_STOP_MOVEMENT, EVENT_CANCEL_STATE_CHANGE_TIMEOUT,
EVENT_ABLE_TO_JUMP, EVENT_UNABLE_TO_JUMP, EVENT_LEVEL_IS_LOW, EVENT_UPDATE_VISIBILITY, EVENT_DESTINATION_REACHED,
EVENT_DESTINATION_NEW, EVENT_SEEK_TARGET, EVENT_LEVEL_UP, EVENT_ADD_EVENTS, EVENT_READY, EVENT_DISTRIBUTE_REWARD,
EVENT_DAMAGE, EVENT_ITEM_USED, EVENT_CANNONS_USED, EVENT_HARPOONERS_USED, EVENT_QUEST_DONE, EVENT_EFFECT_ADD, EVENT_DESINATION_NEW, EVENT_ATTACK_BAR, EVENT_PATH_READY, EVENT_SPAWN_ADMIRAL,
EVENT_HEALTH_CHANGED, EVENT_HEALTH_CHANGED_AUTHORLESS, EVENT_GUILD_ISLAND_CAPTURE, EVENT_GUILD_ISLAND_TOWER_BUILT, EVENT_GUILD_ISLAND_TOWER_HEALTH_CHANGED
};
module.exports.BEHAVIOURS = {
BEHAVIOUR_AGGRESSIVE, BEHAVIOUR_STOP_IF_ATTACKED
};
module.exports.MAP_MODES = {
MAP_MODE_PVE, MAP_MODE_PVP
};
module.exports.LOGOUT_TIMES = {
LOGOUT_TIME_BASIC, LOGOUT_TIME_PREMIUM, LOGOUT_TIME_IDLE
};
module.exports.BASE = {
BASE_REPAIR_AMOUNT_MINIMUM, BASE_REPAIR_AMOUNT_MAXIMUM, BASE_SPEED_PLAYER_REPAIR, BASE_SPEED_PLAYER
};
module.exports.TASK_TYPES = {
TASK_TYPE_DEAL_DAMAGE, TASK_TYPE_DESTROY
};
module.exports.TIMING_EVENTS = {
TIMING_EVENT_CANNON_ATTACK, TIMING_EVENT_HARPOONER_ATTACK, TIMING_EVENT_REPAIR, TIMING_EVENT_DISCONNECT, TIMING_EVENT_DISCONNECT_IDLE, TIMING_EVENT_MAP_CHANGE, TIMING_EVENT_MOVE, TIMING_EVENT_RESPAWN,
TIMING_EVENT_OVERTIME_DECREASE_HITPOINT, TIMING_EVENT_OVERTIME_INCREASE_HITPOINT, TIMING_EVENT_OVERTIME_DECREASE_HITPOINT_2
};
module.exports.CATEGORIES = {
CATEGORY_ECONOMY, CATEGORY_ITEM, CATEGORY_AMMUNITION, CATEGORY_HARPOON, CATEGORY_DESIGN, CATEGORY_STATUS, CATEGORY_CANNON, CATEGORY_HARPOONER, CATEGORY_SAIL, CATEGORY_PIRATE, CATEGORY_RANKING_POINTS
};
module.exports.AFFECTS = {
AFFECT_CANNON_DAMAGE, AFFECT_HARPOONER_DAMAGE, AFFECT_PROTECTION, AFFECT_SAILING_SPEED, AFFECT_HITPOINT
};
module.exports.GUILD_PERMISSIONS = {
GUILD_PERMISSION_KICK, GUILD_PERMISSION_ACCEPT_JOIN_REQUEST, GUILD_PERMISSION_EDIT_IDENTITY, GUILD_PERMISSION_EDIT_TAX, GUILD_PERMISSION_EDIT_ISLAND
};
module.exports.GUILD_COOLDOWNS = {
GUILD_COOLDOWN_EDIT_TAX_RATES, GUILD_COOLDOWN_EDIT_TAG, GUILD_COOLDOWN_EDIT_NAME, GUILD_COOLDOWN_EDIT_DESCRIPTION
};
module.exports.COLLECTIBLE_CURRENCIES_BY_ID = COLLECTIBLE_CURRENCIES_BY_ID;
module.exports.COLLECTIBLE_CURRENCIES_BY_NAME = COLLECTIBLE_CURRENCIES_BY_NAME;
module.exports.ENTITY_TYPES_BY_ID = ENTITY_TYPES_BY_ID;
module.exports.TIMING_EVENTS_BY_ID = TIMING_EVENTS_BY_ID;
module.exports.EVENTS_BY_TIMING_EVENTS_ID = EVENTS_BY_TIMING_EVENTS_ID;
module.exports.EFFECTS_TERMINATE_MOVEMENT = EFFECTS_TERMINATE_MOVEMENT;