UNPKG

divine-pride-api-wrapper

Version:
320 lines (316 loc) 8.31 kB
type ServerTypes = 'bRO' | 'cRO' | 'dpRO' | 'GGH' | 'idRO' | 'iRO' | 'jRO' | 'kROM' | 'kROS' | 'kROZ' | 'kROZS' | 'ropEU' | 'ropRU' | 'thROC' | 'thROG' | 'twRO' | 'vnRO'; type HeaderLanguage = 'en-US' | 'id-ID' | 'ja-JP' | 'ko-KR' | 'pt-BR' | 'ru-RU' | 'th-TH'; interface GetAchievementResponse { id: number; title: string; summary: string; details: string; score: number; text: string; count: number; shortcut: number; itemId: number; titleId: number; buffId: number; ui_type: number; group: string; major: number; minor: number; } interface GetBuffResponse { id: number; description: string; image: string; resetDead: boolean; resetDispel: boolean; save: boolean; debuff: boolean; } interface Experience { [key: string]: number; } interface GetExperienceResponse { base_normal: Experience; base_rebirth: Experience; } interface GetItemResponse { classNum: number; sets: any[]; soldBy: any[]; id: number; name: string; description: string; slots: number; setname: any; itemTypeId: number; itemSubTypeId: number; itemSummonInfoContainedIn: Array<{ Type: number; sourceId: number; sourceName: string; targetId: number; targetName: string; count: number; totalOfSource: number; summonType: any; chance: number; }>; itemSummonInfoContains: any[]; attack: any; defense: number; weight: number; requiredLevel: any; limitLevel: any; itemLevel: any; job: number; compositionPos: any; attribute: any; location: string; } interface GetMapResponse { mapname: string; name: string; mp3: string; spawn: any[]; npcs: Array<{ id: number; name: string; job: number; x: number; y: number; type: string; }>; } interface Stats { attackRange: number; level: number; health: number; str: number; int: number; vit: number; dex: number; agi: number; luk: number; attack: Attack; defense: number; baseExperience: number; jobExperience: number; aggroRange: number; escapeRange: number; movementSpeed: number; attackSpeed: number; attackedSpeed: number; element: number; scale: number; race: number; magicDefense: number; hit: number; flee: number; ai: string; mvp: number; class: number; } interface Attack { minimum: number; maximum: number; } interface Drop { itemId: number; chance: number; stealProtected: boolean; } interface Spawn { mapname: string; amount: number; respawnTime: number; } interface Skill { skillId: number; status: string; level: number; chance: number; casttime: number; delay: number; interruptable: boolean; condition: any; conditionValue: any; } interface PropertyTable { [elementIndex: string]: number; } interface GetMonsterResponse { id: number; dbname: string; name: string; stats: Stats; spawnSet: any[]; slaves: any[]; metamorphosis: any[]; sounds: string[]; questObjective: number[]; drops: Drop[]; mapDrops: any[]; mvpdrops: any[]; spawn: Spawn[]; skill: Skill[]; propertyTable: PropertyTable; } interface GetNpcIdentityResponse { [x: string]: number; } interface GetQuestResponse { id: number; title: string; image: string; quickinfo: string; info: string; time: number; hunt: any; qitem_mob: any; qitem_name: any; qitem_percent: number; qitem_job: number; } interface GetSkillResponse { id: number; globalization: Array<{ name: string; description: string; server: number; language: number; }>; } interface GetTitleResponse { id: number; title: string; achievement: { id: number; title: string; summary: any; details: any; score: number; text: any; count: any; shortcut: any; itemId: any; titleId: any; buffId: any; ui_type: number; group: any; major: number; minor: any; }; } declare const Servers: ServerTypes[]; declare const HeaderLanguages: HeaderLanguage[]; /** * Main class for interacting with DivinePride API. * @class DivinePride * @param {string} apiKey API key from DivinePride * @param {ServerTypes} [server='iRO'] Server to query * @param {HeaderLanguage} [acceptLanguage='en-US'] Language to use for querying * @param {RequestInit} [fetchOptions] Options to pass to the fetch API */ declare class DivinePride { private apiKey; private server; private acceptLanguage; private fetchOptions?; constructor(apiKey: string, server?: ServerTypes, acceptLanguage?: HeaderLanguage, fetchOptions?: RequestInit); /** * Return string of the current server setting * @return {*} {string} * @memberof DivinePride */ getServer(): string; /** * Change the current server setting. * Seems to take precedence over language setting. * @param {(ServerTypes | string)} server * @memberof DivinePride */ setServer(server: ServerTypes): void; /** * Return string of the current language setting * @return {*} {string} * @memberof DivinePride */ getAcceptLanguage(): string; /** * Change the current language setting * @param {(string | HeaderLanguage)} language * @memberof DivinePride */ setLanguage(language: HeaderLanguage): void; private request; /** * Get achievement information by id. * @param {number} id the achievement id * @return {*} {Promise<GetAchievementResponse>} * @memberof DivinePride */ getAchievement(id: number): Promise<GetAchievementResponse>; /** * Get buff information by id. * @param {number} id the buff id * @return {*} {Promise<GetBuffResponse>} * @memberof DivinePride */ getBuff(id: number): Promise<GetBuffResponse>; /** * List of experience for different types. * @return {*} {Promise<GetExperience>} * @memberof DivinePride */ getExperience(): Promise<GetExperienceResponse>; /** * Get a specific item by id. * @param {number} id item id * @return {*} {Promise<GetItem>} * @memberof DivinePride */ getItem(id: number): Promise<GetItemResponse>; /** * Get map information by string id ex: prt_fild08 * @param {string} id map id * @return {*} {Promise<GetMap>} * @memberof DivinePride */ getMap(id: string): Promise<GetMapResponse>; /** * Get monster information by id. * @param {number} id monster id * @return {*} {Promise<GetMonster>} * @memberof DivinePride */ getMonster(id: number): Promise<GetMonsterResponse>; /** * List of monster id and monster name * @param {number} id * @return {*} {Promise<GetNpcIdentity>} * @memberof DivinePride */ getNpcIdentity(id: number): Promise<GetNpcIdentityResponse>; /** * Get quest information by id. * @param {number} id quest id * @return {*} {Promise<GetQuest>} * @memberof DivinePride */ getQuest(id: number): Promise<GetQuestResponse>; /** * Get skill information by id. * @param {number} id skill id * @return {*} {Promise<GetSkill>} * @memberof DivinePride */ getSkill(id: number): Promise<GetSkillResponse>; /** * Get title information by id. * @param {number} id * @return {*} {Promise<GetTitle>} * @memberof DivinePride */ getTitle(id: number): Promise<GetTitleResponse>; } export { type Attack, DivinePride, type Drop, type Experience, type GetAchievementResponse, type GetBuffResponse, type GetExperienceResponse, type GetItemResponse, type GetMapResponse, type GetMonsterResponse, type GetNpcIdentityResponse, type GetQuestResponse, type GetSkillResponse, type GetTitleResponse, type HeaderLanguage, HeaderLanguages, type PropertyTable, type ServerTypes, Servers, type Skill, type Spawn, type Stats, DivinePride as default };