Files
Sun1602/SolarSlot/SCSlotHeader.h
T
2022-10-26 12:25:11 +08:00

271 lines
16 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#ifndef _SOLAR_SLOT_SCSLOTHEADER_H
#define _SOLAR_SLOT_SCSLOTHEADER_H
#pragma once
//==================================================================================================
/// 슬롯 헤더
/**
@author Kim Min Wook < taiyo@webzen.co.kr >
@since 2004. 12. 29
@remark
- 常用槽相关的常用常量
@note
-
@history
- 09.09.06 | waverix | code rearrangement
*/
//==================================================================================================
//enum eUPDATE_BIT
//{
// UB_TYPE = 1,
// UB_SERIAL = (1<<1),
// UB_CODE = (1<<2),
// UB_DURA = (1<<3),
//
// UB_ALL = ((1<<4)-1), ///< 更新所有参数
//};
enum eSlotContainerIndex // (WAVERIX) (CHANGES) //eSlotContainerIndex -> eSlotContainerIndex부활.
{
SI_TEMPINVENTORY = 0,
SI_INVENTORY,
SI_EQUIPMENT,
SI_WAREHOUSE,
SI_SKILL,
SI_QUICK,
SI_STYLE,
SI_GUILDWAREHOUSE,
SI_MAX, ///< 因为它只被客户端使用。 > SI_MAX
SI_EVENT_INVENTORY,
SI_TRADE,
SI_NPCSTORE,
SI_ENCHANT,
SI_ENCHANT_MATERIAL,// 增强材料
SI_ENCHANT_OPTION, // 加固附加添加剂(用于最高级加固)
SI_RANKUP,
SI_VENDOR_SELL,
SI_VENDOR_BUY,
SI_ITEM_COMPOSE,
SI_ITEM_CRYSTALIZE,
SI_ITEM_ETC_COMPOSE,
SI_QUEST_REWARD,
SI_QUEST_LIST_CONTENT,
SI_EXTENSION,
SI_LOTTERY,
SI_LOTTO,
SI_RIDER,
SI_DOMINATION_TOKEN,
SI_AUTOMATIC_INFO, //!< //! 2010.8.9 / i4u4me / 오토툴
SI_CUBE,
SI_PERK,
SI_SOCKET_COMPOSITE,
SI_GM_ITEM,
SI_VENDOR_SEARCH,
SI_CHAOSZONE_BATTLEGROUND,
SI_CHAOSZONE_SSQ,
SI_SMARTNPC,
#ifdef _NA_007114_20140313_CHAOSZONE_GOLDRUSH
SI_CHAOSZONE_GOLDRUSH,
#endif // _NA_007114_20140313_CHAOSZONE_GOLDRUSH
#ifdef _NA_008121_20150311_EQUIPMENT_AWAKENING_SYSTEM
SI_EQUIPMENT_AWAKENING,
#endif // _NA_008121_20150311_EQUIPMENT_AWAKENING_SYSTEM
#ifdef _NA_008121_20150318_EQUIPMENT_EVOLUTION_SYSTEM
SI_EQUIPMENT_EVOLUTION,
#endif // _NA_008121_20150318_EQUIPMENT_EVOLUTION_SYSTEM
SI_MAX_TOTAL // (WAVERIX) (ADD-IN) 上限设定用.
};
enum eSlotType
{
ST_NONE,
ST_ITEM,
ST_SKILL,
ST_QUICK,
ST_STYLE_QUICK,
ST_DUMMY_ITEM,
ST_TRADE,
ST_VENDOR,
ST_EVENT,
ST_LOTTERY,
ST_VENDORSEARCH,
ST_MAX,
};
enum eDecDuraType
{
DECDURA_TYPE_ATTACK, // 受到攻击或被攻击时耐久度降低
DECDURA_TYPE_LEAVE_ROOM, // 在任务期间故意退出时,耐用性会降低
};
enum eSLOT_SERIALIZE
{
eSLOT_SERIALIZE_LOAD = 1 << 1,
eSLOT_SERIALIZE_SAVE = 1 << 2,
eSLOT_SERIALIZE_CLIENT_LOAD = eSLOT_SERIALIZE_LOAD | ( 1 << 4),
eSLOT_SERIALIZE_RENDER_LOAD = eSLOT_SERIALIZE_LOAD | ( 2 << 4),
eSLOT_SERIALIZE_CLIENT_SAVE = eSLOT_SERIALIZE_SAVE | (10 << 4),
eSLOT_SERIALIZE_RENDER_SAVE = eSLOT_SERIALIZE_SAVE | (11 << 4),
};
enum eCHARGE_TYPE
{
eCHARGE_GENERAL,
eCHARGE_CHARGE,
eCHARGE_CHARGE_PPCARD, //_NA00XXXX_090111_CASH_TYPE_SHARED_
};
//--------------------------------------------------------------------------------------------------
// (REFERENCE) 'ChargeSubType' in ItemScripts
// (DESCRIPTION)
// - 湮灭法(基于时间)
// (NOTE)
// - eCHARGE_SUB_GENERAL | eCHARGE_PC_ROOM
// 功能相同:PC机房是否分类(PC机房专属项目)
// - eCHARGE_SUB_FIXED_AMOUNT
//
// - eCHARGE_SUB_FIXED_AMOUNT_EX
//
// - eCHARGE_SUB_FIXED_QUANTITY
//
// - eCHARGE_SUB_COORDINATE
// 那种不知道他为什么这样做的人——这是谁做的? - 灭绝方法不是基于时间的。
// - eCHARGE_SUB_FIXED_AMOUNT_WAIT
// 使用一定期限后,到期后等待7天删除
// - eCHARGE_SUB_FATE
// 幸运物品,如果认证后设置了有效期,到了有效期就不能使用了
// - eCHARGE_SUB_COORDINATE_EX
// 删除个人航点信息后重新注册的处罚时间 +
// 使用期限到期后,等待7天到期后删除
// - eCHARGE_SUB_RIDER_WITH_PART
// Rider Item : 从获取时起使用一段时间后,设置为不可用
// Rider Parts Item : 延长订阅期(最多 30 天)- 从安装之日起使用一段时间后,
// 设置为不可用
// - eCHARGE_SUB_FIXED_AMOUNT_EX2
// 自获取之日起使用一段时间后删除
enum eCHARGE_SUB_TYPE
{
eCHARGE_SUB_GENERAL = 0, //< [00]没有限制
// 最小单位为:小时,计算为:秒
eCHARGE_SUB_FIXED_AMOUNT, //< [01]订阅:固定期限(30일=30*24시간 ->(생성시) 2007-06-07 24:12:00)
eCHARGE_SUB_FIXED_AMOUNT_EX, //< [02]扩展定额制:从佩戴时起使用一段时间(30小时->(首次安装时)2007-06-07 24:12:00
eCHARGE_SUB_FIXED_QUANTITY, //< [03]定量剂:使用期限 (30시간)
eCHARGE_SUB_COORDINATE, //< [04]좌표
eCHARGE_SUB_FIXED_AMOUNT_WAIT, //< [05]订阅:固定期限+ 7天待机
eCHARGE_SUB_FATE, //< [06]命运物品(Lucky Item)
eCHARGE_PC_ROOM, //< [07]电脑室物品
//__NA001164_20081024_CHAR_WAY_POINT_ITEM
eCHARGE_SUB_COORDINATE_EX, //< [08]坐标列表链接项.
//__NA1390_1391_090915_RIDING_SYSTEM_ITEM_PART__
eCHARGE_SUB_RIDER_WITH_PART, //< [09]订阅 + 幸运物品 + 零件是延长订阅(最多 30 天)
eCHARGE_SUB_RIDER_WITH_PART_NOTIMER, //< [10] [09]车辆无周期变化 - 很难设置为 0,因为它作为关联计时器工作
eCHARGE_SUB_FIXED_AMOUNT_EX2, //< [11]확장정액제2 : 自取得之日起一定期间内使用 //_NA_000000_20130710_CHARGE_SUB_FIXED_AMOUNT_EX2
#ifdef _NA_008440_20150818_ADD_CHARGE_SUB_IMMEDIATELY_USE
eCHARGE_SUB_IMMEDIATELY_USE, //< [12]即时使用:获得后立即使用的物品。
eCHARGE_SUB_IMMEDIATELY_USE_AND_DELETE, //< [13]立即使用删除:获取后立即使用并删除的项目
#endif // _NA_008440_20150818_ADD_CHARGE_SUB_IMMEDIATELY_USE
eCHARGE_SUB_COUNTS //upperbound
};
enum eMIXTURE_FLAG
{ // (WAVERIX) (NOTE) 설정되면, Block contents
MIXTURE_ALL = 0,
MIXTURE_ENCHANT = (1 << 0), //可以附魔
MIXTURE_RANKUP = (1 << 1), //排名可能
MIXTURE_CRYSTALIZE = (1 << 2), //可结晶的
MIXTURE_COMPOSE = (1 << 3), //可组合
MIXTURE_EXTRASTONE = (1 << 4),
MIXTURE_SOCKET_HOLE_FILL = (1 << 5), //填充插座孔
MIXTURE_SOCKET_EXTRACT = (1 << 6), //删除套接字属性
MIXTURE_PERIOD_EXTEND = (1 << 7), //延展期
MIXTURE_EXCEPTALL = ((1<< 8)-1), //所有未使用
};
//__NA1390_1391_090915_RIDING_SYSTEM_ITEM_PART__
// 骑手项目的零件索引,项目内部可以包含3个项目.
enum eRIDER_PARTS_SLOT_IDX {
eRIDER_PARTS_SLOT_IDX_HEAD = 0,
eRIDER_PARTS_SLOT_IDX_BODY ,
eRIDER_PARTS_SLOT_IDX_LEGS ,
eRIGER_PARTS_SLOT_IDX_COUNT // == 3
};
//_NA000109_100427_ITEM_CUSTOMIZING_CONTENTS_
struct eEtheriaHistory
{
enum eHistory {
None = 0, // default spec.
Combined, // the combination item, this item is combined from etheria
Shell, // the shell item, this item is extracted options
Etheria, // the etheria item, this item has contained all options of the item
};
typedef uint8_t value_type;
value_type value;
};
//_NA001202_101104_ITEM_CUSTOMIZING_CONTENTS_ETHEREALIZABLE_LUCKYITEM
struct eEtherealizeMode
{
enum eMode {
NoFilter = 0, // keep the kind of item
CantEtherealize, // can't etherealize
ExtractEtheriaOnly, // extract to the etheria item not the shell(skin)
ExtractShellOnly, // extract to the skin item not the etheria
Mode_Counts
};
typedef uint8_t value_type;
eEtherealizeMode() : value(0)
{
}
value_type value;
};
struct KindOfItemType
{
typedef uint8_t value_type;
enum {
Default = 0,
Divine,
Etheria,
EtheriaWithDivine,
Shell,
Counts,
};
value_type value;
};
// reference : _NA000424_GLOBAL_CASH_ITEM_RENEWAL_
struct KindOfItemTag
{
typedef uint8_t value_type;
enum {
Tag_None = 0,
Tag_TradeSkip = 0x01,
Tag_PCoinPurchase = Tag_TradeSkip
// upperbound. this tag is used in a binary stream of itemslots. the tag size is '1'bit
};
value_type value;
};
// CHANGES: f110329.5L, moved from const.h
enum eITEM_EXCERCISE_EFFECT
{
eITEM_EFFECT_NONE = 0,
eITEM_EFFECT_ON_EQUIP , // 必须装备才能有效
eITEM_EFFECT_ON_INVEN , // 只是在您的库存中是有效的
eITEM_EFFECT_UPPERBOUND ,
};
//==================================================================================================
//#define DEPRECATE_RESERVED __declspec(deprecated)
#define DEPRECATE_RESERVED
#define DEPRECATE_CODE_DELETE_RESERVED (1)
//==================================================================================================
#endif //_SOLAR_SLOT_SCSLOTHEADER_H