UNPKG

maplestory-openapi

Version:

This JavaScript library enables the use of the MapleStory OpenAPI of Nexon.

240 lines (235 loc) 7.82 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var characterCashItemEquipment = require('../../../common/dto/character/characterCashItemEquipment.js'); /** * 角色已裝備現金道具資訊 */ class CharacterCashItemEquipmentDto extends characterCashItemEquipment.CharacterCashItemEquipmentDto { /** * 要搜尋的日期 (TST,每日資料中的小時與分鐘將顯示為 0) */ date; /** * 角色性別 */ characterGender; /** * 角色職業 */ characterClass; /** * 角色外型模式 (0:一般模式,1:神之子為 Beta、天使破壞者為變裝模式時) */ characterLookMode; /** * 目前套用的現金道具預設編號 */ presetNo; /** * 目前已裝備的現金道具 */ cashItemEquipmentBase; /** * 外型預設 1 */ cashItemEquipmentPreset1; /** * 外型預設 2 */ cashItemEquipmentPreset2; /** * 外型預設 3 */ cashItemEquipmentPreset3; /** * 神之子為 Beta 及天使破壞者為變裝模式時的目前已裝備現金道具 */ additionalCashItemEquipmentBase; /** * 神之子為 Beta 及天使破壞者為變裝模式時的外型預設 1 */ additionalCashItemEquipmentPreset1; /** * 神之子為 Beta 及天使破壞者為變裝模式時的外型預設 2 */ additionalCashItemEquipmentPreset2; /** * 神之子為 Beta 及天使破壞者為變裝模式時的外型預設 3 */ additionalCashItemEquipmentPreset3; constructor(obj) { super(); const { date, character_gender, character_class, character_look_mode, preset_no, cash_item_equipment_base, cash_item_equipment_preset_1, cash_item_equipment_preset_2, cash_item_equipment_preset_3, additional_cash_item_equipment_base, additional_cash_item_equipment_preset_1, additional_cash_item_equipment_preset_2, additional_cash_item_equipment_preset_3, } = obj; this.date = date ? new Date(date) : null; this.characterGender = character_gender; this.characterClass = character_class; this.characterLookMode = character_look_mode; this.presetNo = preset_no; this.cashItemEquipmentBase = cash_item_equipment_base.map((preset) => new CharacterCashItemEquipmentPresetDto(preset)); this.cashItemEquipmentPreset1 = cash_item_equipment_preset_1.map((preset) => new CharacterCashItemEquipmentPresetDto(preset)); this.cashItemEquipmentPreset2 = cash_item_equipment_preset_2.map((preset) => new CharacterCashItemEquipmentPresetDto(preset)); this.cashItemEquipmentPreset3 = cash_item_equipment_preset_3.map((preset) => new CharacterCashItemEquipmentPresetDto(preset)); this.additionalCashItemEquipmentBase = additional_cash_item_equipment_base.map((preset) => new CharacterCashItemEquipmentPresetDto(preset)); this.additionalCashItemEquipmentPreset1 = additional_cash_item_equipment_preset_1.map((preset) => new CharacterCashItemEquipmentPresetDto(preset)); this.additionalCashItemEquipmentPreset2 = additional_cash_item_equipment_preset_2.map((preset) => new CharacterCashItemEquipmentPresetDto(preset)); this.additionalCashItemEquipmentPreset3 = additional_cash_item_equipment_preset_3.map((preset) => new CharacterCashItemEquipmentPresetDto(preset)); } } /** * 現金道具彩色稜鏡資訊 */ class CharacterCashItemEquipmentColoringPrismDto extends characterCashItemEquipment.CharacterCashItemEquipmentColoringPrismDto { /** * 彩色稜鏡顏色範圍 */ colorRange; /** * 彩色稜鏡色調 */ hue; /** * 彩色稜鏡彩度 */ saturation; /** * 彩色稜鏡明度 */ value; constructor(obj) { super(); const { color_range, hue, saturation, value } = obj; this.colorRange = color_range; this.hue = hue; this.saturation = saturation; this.value = value; } } /** * 現金道具選項 */ class CharacterCashItemEquipmentOptionDto extends characterCashItemEquipment.CharacterCashItemEquipmentOptionDto { /** * 選項類型 */ optionType; /** * 選項數值 */ optionValue; constructor(obj) { super(); const { option_type, option_value } = obj; this.optionType = option_type; this.optionValue = option_value; } } /** * 外型預設 */ class CharacterCashItemEquipmentPresetDto extends characterCashItemEquipment.CharacterCashItemEquipmentPresetDto { /** * 現金道具部位名稱 */ cashItemEquipmentPart; /** * 現金道具欄位位置 */ cashItemEquipmentSlot; /** * 現金道具名稱 */ cashItemName; /** * 現金道具圖示 */ cashItemIcon; /** * 現金道具描述 */ cashItemDescription; /** * 現金道具選項 */ cashItemOption; /** * 現金道具有效期間 (TST) */ dateExpire = null; /** * Whether the cash equipment is expired */ isExpired = null; /** * 現金道具選項有效期間 (TST,時間單位資料中的分鐘顯示為 0) */ dateOptionExpire = null; /** * Whether the cash equipment option is expired */ isOptionExpired = null; /** * 現金道具等級資訊 */ cashItemLabel; /** * 現金道具彩色稜鏡資訊 */ cashItemColoringPrism; /** * 道具可裝備性別 */ itemGender; /** * 技能名稱 */ skills; /** * 自由造型券 使用狀態(0:未使用,1:已使用) */ freestyleFlag; constructor(obj) { super(); const { cash_item_equipment_part, cash_item_equipment_slot, cash_item_name, cash_item_icon, cash_item_description, cash_item_option, date_expire, date_option_expire, cash_item_label, cash_item_coloring_prism, item_gender, skills, freestyle_flag, } = obj; this.cashItemEquipmentPart = cash_item_equipment_part; this.cashItemEquipmentSlot = cash_item_equipment_slot; this.cashItemName = cash_item_name; this.cashItemIcon = cash_item_icon; this.cashItemDescription = cash_item_description; this.cashItemOption = cash_item_option.map((option) => new CharacterCashItemEquipmentOptionDto(option)); this.cashItemLabel = cash_item_label; this.cashItemColoringPrism = cash_item_coloring_prism ? new CharacterCashItemEquipmentColoringPrismDto(cash_item_coloring_prism) : null; this.itemGender = item_gender; this.skills = skills; this.freestyleFlag = freestyle_flag; if (date_expire === 'expired') { this.isExpired = true; } else if (typeof date_expire === 'string') { this.dateExpire = date_expire ? new Date(date_expire) : null; } if (date_option_expire === 'expired') { this.isOptionExpired = true; } else if (typeof date_option_expire === 'string') { this.dateOptionExpire = date_option_expire ? new Date(date_option_expire) : null; } } /** * 自由造型券 使用狀態 */ get isFreestyleFlag() { return this.freestyleFlag === '1'; } } exports.CharacterCashItemEquipmentColoringPrismDto = CharacterCashItemEquipmentColoringPrismDto; exports.CharacterCashItemEquipmentDto = CharacterCashItemEquipmentDto; exports.CharacterCashItemEquipmentOptionDto = CharacterCashItemEquipmentOptionDto; exports.CharacterCashItemEquipmentPresetDto = CharacterCashItemEquipmentPresetDto;