maplestory-openapi
Version:
This JavaScript library enables the use of the MapleStory OpenAPI of Nexon.
240 lines (235 loc) • 7.82 kB
JavaScript
'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;