import { BitFlags } from '@staratlas/dev-player-profile'; export const SAGE_FLAGS = { MANAGE_GAME: 1n << 0n, MANAGE_SYSTEM: 1n << 1n, MANAGE_STAR: 1n << 2n, MANAGE_PLANET: 1n << 3n, MANAGE_SHIP: 1n << 4n, MANAGE_CHARACTER: 1n << 5n, MANAGE_STAR_BASE: 1n << 6n, MANAGE_MINE_ITEM: 1n << 7n, MANAGE_RESOURCE: 1n << 8n, REMOVE_SHIP_ESCROW: 1n << 9n, MOVE_FLEET: 1n << 10n, UNDOCK: 1n << 11n, DOCK: 1n << 12n, RENT_FLEET: 1n << 13n, DO_CRAFTING: 1n << 14n, MANAGE_CARGO_POD: 1n << 15n, ADD_REMOVE_CARGO: 1n << 16n, DO_STAR_BASE_UPGRADES: 1n << 17n, MANAGE_FLEET: 1n << 18n, MANAGE_FLEET_CARGO: 1n << 19n, DO_MINING: 1n << 20n, RESPAWN: 1n << 21n, MANAGE_SURVEY_DATA_UNIT: 1n << 22n, SCAN_SURVEY_DATA_UNIT: 1n << 23n, DO_STAR_BASE_UPKEEP: 1n << 24n, MANAGE_PROGRESSION: 1n << 25n, MANAGE_CREW_CONFIG: 1n << 26n, MANAGE_CREW: 1n << 27n, WITHDRAW_CREW: 1n << 28n, MANAGE_REGION: 1n << 29n, MANAGE_CARGO: 1n << 30n, MANAGE_CLAIM_STAKE_CONFIG: 1n << 31n, MANAGE_COMBAT: 1n << 32n, MANAGE_CLAIM_STAKE: 1n << 33n, MANAGE_CRAFTING: 1n << 34n, ENGAGE_IN_COMBAT: 1n << 35n, REPAIR: 1n << 36n, MANAGE_SCANNING: 1n << 37n, SCAN: 1n << 38n, MANAGE_LOCAL_MARKET_ORDERS: 1n << 39n, DO_RESEARCH: 1n << 40n, DAILY_CHECK_IN: 1n << 41n, MANAGE_CURRENCY: 1n << 42n, MANAGE_MISSIONS: 1n << 44n, DO_GOVERNANCE: 1n << 47n, MANAGE_MISSION_TREASURIES: 1n << 48n, } as const; export class SagePermissions extends BitFlags { static default(): SagePermissions { return new SagePermissions(0n); } static all(): SagePermissions { // Combine all values const all = Object.values(SAGE_FLAGS).reduce((acc, val) => acc | val, 0n); return new SagePermissions(all); } }