%% ---------------------------------------------------------
%% Author:  xyj
%% Email:   156702030@qq.com
%% Created: 2011-12-13
%% Description: 物品装备定义
%% --------------------------------------------------------
-define(NOT_IN_PLAYER_PROCESS(_R), throw(not_in_player_process)).
%% ----------------------------------------------------------------------------
%% @doc 常用物品id
%% ----------------------------------------------------------------------------
-define(GOODS_ID_GOLD,         100000).       %% 彩钻
-define(GOODS_ID_BGOLD,        100001).       %% 红钻
-define(GOODS_ID_COIN,         100002).       %% 交易券
-define(GOODS_ID_HONOR,        100003).       %% 名望券
-define(GOODS_ID_GFAME,        100004).       %% 社团贡献
-define(GOODS_ID_GFUNDS,       100005).       %% 公会资金
-define(GOODS_ID_GUILD_GROWTH, 100006).       %% 公会成长值
-define(GOODS_ID_EXP,          100007).       %% 经验
-define(GOODS_ID_CHARM,        100008).       %% 人气值
-define(GOODS_ID_FAME,         100009).       %% 豪气值
-define(GOODS_ID_MATE,         100011).       %% 社交票券 羁绊点
-define(GOODS_ID_HI,           100014).       %% 嗨点
-define(GOODS_ID_FASHION_COIN, 100021).       %% 时装币
-define(GOODS_ID_LEGION,       100018).       %% 军备值

-define(GOODS_ID_EVIL_REDUCE,  102001).       %% 免罪券
-define(GOODS_ID_SHOES,        102602).       %% 小飞鞋
-define(GOODS_ID_GOD_SCORE,    100013).       %% 唤神副本兑换积分

-define(CONTRACT_GOODS_1,      105001).       %% 宝典积分道具
-define(PHANTOM_GOODS_1,       105005).       %% 幻魔宝典积分道具
-define(GOODS_ID_DISCOUNT_LOTTERY, 105200).   %% 折扣满减抽奖券
-define(GOODS_ID_CHILD_TOY,    260007).       %% 宝宝玩具精华
-define(BOSS_TIMES_CARD_1,     102320).       %% 次元幻魔次数卡
-define(BOSS_TIMES_CARD_2,     102321).       %% 个人幻魔次数卡
-define(BOSS_TIMES_CARD_3,     102322).       %% 星域幻魔次数卡
-define(BOSS_REFRESH_1,        102323).       %% 次元幻魔刷新卡
-define(BOSS_REFRESH_2,        102324).       %% 星域幻魔刷新卡

-define(GOODS_ID_WARSOUL,       330000).      %% 战意

-define (GOODS_ID_VIP_TRIAL_SP, 102036).      %% vip特殊体验卡

%% 旧代码使用
-define(GOODS_ID_3V3_HONOR,    36160002).       %% 3v3名誉值
-define(GOODS_ID_FGOLD,        0).       %% 粉钻
%% ----------------------------------------------------------------------------
%% @doc 奖励列表(object_list)-类型定义 虚拟产出类型 后台配置：基础货币类型
%% ----------------------------------------------------------------------------
-define(TYPE_GOODS,             0).         %% 物品
-define(TYPE_GOLD,              1).         %% 彩钻
-define(TYPE_BGOLD,             2).         %% 红钻
-define(TYPE_COIN,              3).         %% 交易券
-define(TYPE_HONOUR,            4).         %% 名望券(各种战场荣誉)
-define(TYPE_EXP,               5).         %% 经验
-define(TYPE_GUILD_GROWTH,      6).         %% 社团经验
-define(TYPE_GFUNDS,            7).         %% 社团资金
-define(TYPE_GFAME,             8).         %% 社团贡献
-define(TYPE_CHARM,             9).         %% 颜值(人气值)
-define(TYPE_FAME,              10).        %% 豪气值，送花增加的
-define(TYPE_STAR,              11).        %% 星钻
-define(TYPE_HI_POINT,          15).        %% 嗨点
-define(TYPE_DESIGN,            17).        %% 称号 直接激活称号的配置格式
-define(TYPE_FASHION,           18).        %% 时装 直接激活时装的配置格式
-define(TYPE_MATE,              19).        %% 羁绊点
-define(TYPE_VIP_EXP,           20).        %% vip经验
-define(TYPE_CONTRACT_SCORE,    21).        %% 宝典积分
-define(TYPE_ADVENTURE_POINT,   22).        %% 冒险点
-define(TYPE_CHILD_TOY,         23).        %% 玩具精华
-define(TYPE_WORKROOM,          24).        %% 时装币
-define(TYPE_LEGION,            34).        %% 军备值

-define(TYPE_BIND_GOODS,        100).       %% 绑定物品
-define(TYPE_ATTR_GOODS,        101).       %% 物品：带有属性的物品 叠加类型物品只能带绑定属性/过期类型 非叠加物品参考lib_goods_util:set_goods_info()的属性
-define(TYPE_CURRENCY,          255).       %% 虚拟货币类型 [{255,物品id,数量}]
%% 旧代码使用
-define(TYPE_FGOLD,             97). 		%% (其他游戏类似GOLD的货币，该游戏不用)


%% ----------------------------------------------------------------------------
%% @doc 物品品质0-6，物品颜色
%% ----------------------------------------------------------------------------
-define(GRAY,              0).  %% 灰色
-define(GREEN,             1).  %% 绿色
-define(BLUE,              2).  %% 蓝色
-define(PURPLE,            3).  %% 紫色
-define(ORANGE,            4).  %% 橙色
-define(RED,               5).  %% 红色
-define(PINK,              6).  %% 粉色
-define(COLOR,             7).  %% 彩色
-define(ALL_COLOR, 		   [0,1,2,3,4,5,6,7]).  %% 所有颜色

%% ----------------------------------------------------------------------------
%% @doc 物品状态
%% ----------------------------------------------------------------------------
-define(UNBIND,                     0).         %% 非绑即可交易
-define(BIND,                       1).         %% 绑定即不可交易

-define(NOT_QUICK_USE,              0).         %% 是否获得立即使用：0不立即使用
-define(QUICK_USE,                  1).         %% 是否获得立即使用：1立即使用

%% ----------------------------------------------------------------------------
%% @doc 物品过期类型:1有效时间(秒数)/2时间戳/3开服天数/4合服天数/5当天0点开始计算的有效时间(秒数)
%% ----------------------------------------------------------------------------
-define(GOODS_EXPIRE_TYPE_VALID_TIME, 1).
-define(GOODS_EXPIRE_TYPE_TIMESTAMP,  2).
-define(GOODS_EXPIRE_TYPE_OPEN_DAY,   3).
-define(GOODS_EXPIRE_TYPE_MERGE_DAY,  4).
-define(GOODS_EXPIRE_TYPE_FROM_NIGHT, 5).

%% ----------------------------------------------------------------------------
%% @doc 物品销毁类型
%% ----------------------------------------------------------------------------
-define(THROW_TYPE_NORMAL,          0).         %% 物品销毁类型：0常规销毁
-define(THROW_TYPE_TIMEOUT,         1).         %% 物品销毁类型：1过期销毁

%% ----------------------------------------------------------------------------
%% @doc 物品位置:后台物品背包位置需要添加配置大小
%% ----------------------------------------------------------------------------
%% 独立背包
-define(GOODS_LOC_GROUND,           0).         %% 地上
-define(GOODS_LOC_EQUIP,            1).         %% 装备位置
-define(GOODS_LOC_BAG,              2).         %% 普通背包
-define(GOODS_LOC_STORAGE,          3).         %% 仓库
%% 物品装备位置与对应背包位置
-define(GOODS_LOC_FHORSE_BAG,       4).        %% 坐骑背包
-define(GOODS_LOC_FHORSE_EQUIP_BAG, 5).        %% 坐骑装备槽
-define(GOODS_LOC_FJARVIS_BAG,      6).        %% AI娘背包
-define(GOODS_LOC_FJARVIS_EQUIP_BAG,7).        %% AI娘装备槽
-define(GOODS_LOC_PET_STONE_BAG,    8).        %% 宠物技能石背包
-define(GOODS_LOC_PET_STONE_SLOT,   9).        %% 宠物技能石槽位
-define(GOODS_LOC_CHILD_TOY_BAG,    10).       %% 孩子玩具背包
-define(GOODS_LOC_CHILD_TOY_SLOT,   11).       %% 孩子玩具槽位
-define(GOODS_LOC_ARMOR_BAG,        12).       %% 灵能装甲包
-define(GOODS_LOC_ARMOR_EQUIP,      13).       %% 灵能装甲槽
-define(GOODS_LOC_CAPSULE_EGG_BAG,  14).       %% 扭蛋寻宝背包
-define(GOODS_LOC_GOD_BAG,          15).       %% 唤神装备背包
-define(GOODS_LOC_GOD_EQUIP,        16).       %% 唤神装备槽
-define(GOODS_LOC_GALAXY_BAG,       17).       %% 星辰背包
-define(GOODS_LOC_GALAXY_EQUIP,     18).       %% 星辰装备槽
-define(GOODS_LOC_WAR_SOUL_BAG,     19).       %% 战魂背包
-define(GOODS_LOC_WAR_SOUL_EQUIP,   20).       %% 战魂装备槽
-define(GOODS_LOC_WORKROOM_BAG,     21).       %% 时装工坊背包

%% 所有背包位置
-define(GOODS_LOC_ALL, [1,2,3,4,5,6,7,8,9,12,13,14,15,16,17,18,19,20,21]).
%% 发物品给玩家允许发放的背包位置
%% 增加新背包类型流程
%% 1.宏定义一个背包类型
%% 2.后台定义背包格子大小
%% 3.把新背包类型添加到GOODS_LOC_BAG_TYPES
-define(GOODS_LOC_BAG_TYPES,
    [
        ?GOODS_LOC_BAG
        ,?GOODS_LOC_FHORSE_BAG
        ,?GOODS_LOC_FJARVIS_BAG
        ,?GOODS_LOC_PET_STONE_BAG
        ,?GOODS_LOC_PET_STONE_SLOT
        ,?GOODS_LOC_CHILD_TOY_BAG
        ,?GOODS_LOC_CHILD_TOY_SLOT
        ,?GOODS_LOC_ARMOR_BAG
        ,?GOODS_LOC_CAPSULE_EGG_BAG
        ,?GOODS_LOC_GOD_BAG
        ,?GOODS_LOC_GALAXY_BAG
        ,?GOODS_LOC_WAR_SOUL_BAG
        ,?GOODS_LOC_WORKROOM_BAG
    ]
).


%% To Be Continue

%% ----------------------------------------------------------------------------
%% @doc 物品大类--要实时更新（物品管理中的物品类型），必须保持和后台配置一致 Advanced
%% ----------------------------------------------------------------------------
-define(GOODS_TYPE_STUFF,             1).          %% 类型 材料类
-define(GOODS_TYPE_SKILL,             2).          %% 类型 任务技能类
-define(GOODS_TYPE_X1,                3).          %% 类型 幻光剑池
-define(GOODS_TYPE_X6,                4).          %% 类型 进阶系统类
-define(GOODS_TYPE_EQUIP,             5).          %% 类型 装备类
-define(GOODS_TYPE_PET,               6).          %% 类型 宠物类
-define(GOODS_TYPE_BABY,              7).          %% 类型 宝宝(孩子)类
-define(GOODS_TYPE_X2,                8).          %% 类型 红装
-define(GOODS_TYPE_X3,                9).          %% 类型 灵能装甲
-define(GOODS_TYPE_GOD,              10).          %% 类型 唤神
-define(GOODS_TYPE_X5,               11).          %% 类型 珍宝外观
-define(GOODS_TYPE_FASHION,          12).          %% 类型 时装类
-define(GOODS_TYPE_FIGURE_1,         13).          %% 类型 头像相框
-define(GOODS_TYPE_FIGURE_2,         14).          %% 类型 头像相片
-define(GOODS_TYPE_CHAT_BUBBLE,      15).          %% 类型 聊天气泡
-define(GOODS_TYPE_CHAT_BACKGROUND,  16).          %% 类型 聊天背景
-define(GOODS_TYPE_DSGT,             17).          %% 类型 称号类
-define(GOODS_TYPE_CHIP,             18).          %% 类型 碎片类
-define(GOODS_TYPE_GIFT,             19).          %% 类型 礼包类
-define(GOODS_TYPE_CARVE,            20).          %% 类型 印刻类
-define(GOODS_TYPE_GOD_EQUIP,        21).          %% 类型 唤神装备
-define(GOODS_TYPE_GALAXY,           22).          %% 类型 星辰道具
-define(GOODS_TYPE_WAR_SOUL,         23).          %% 类型 战魂道具
%% 旧代码使用

-define(GOODS_TYPE_PROPS,         38).          %% 类型 道具类
-define(GOODS_TYPE_FISHING,       50).          %% 类型 钓鱼类
-define(GOODS_TYPE_VIP_GIFT_CARD, 51).          %% 类型 VIP认证礼包类

%% ----------------------------------------------------------------------------
%% @doc 材料类 GOODS_TYPE_STUFF:1专用的子类型宏定义
%% ----------------------------------------------------------------------------
-define(GOODS_STUFF_SUBTYPE_GOLD,              1).         %% 彩钻
-define(GOODS_STUFF_SUBTYPE_BGOLD,             2).         %% 红钻
-define(GOODS_STUFF_SUBTYPE_COIN,              3).         %% 交易券
-define(GOODS_STUFF_SUBTYPE_HONOUR,            4).         %% 名望券(各种战场荣誉)
-define(GOODS_STUFF_SUBTYPE_EXP,               5).         %% 经验
-define(GOODS_STUFF_SUBTYPE_GUILD_GROWTH,      6).         %% 公会成长值
-define(GOODS_STUFF_SUBTYPE_GFUNDS,            7).         %% 公会资金
-define(GOODS_STUFF_SUBTYPE_GDONATE,           8).         %% 公会贡献度
-define(GOODS_STUFF_SUBTYPE_CHARM,             9).         %% 颜值(人气值)
-define(GOODS_STUFF_SUBTYPE_FAME,              10).        %% 豪气值，送花增加的

-define(GOODS_STUFF_SUBTYPE_CHARGE_CARD,       12).        %% 源晶充值卡
-define(GOODS_STUFF_SUBTYPE_CONSUME,           13).        %% 消耗材料
-define(GOODS_STUFF_SUBTYPE_COMMON,            14).        %% 普通材料
-define(GOODS_STUFF_SUBTYPE_EXP_PILL,          15).        %% 经验丹
-define(GOODS_STUFF_SUBTYPE_UP_PILL,           16).        %% 等级直升丹
-define(GOODS_STUFF_SUBTYPE_EXP_RATIO,         17).        %% 经验倍率药

-define(GOODS_STUFF_SUBTYPE_GEMS,              23).        %% 宝石类
-define(GOODS_STUFF_SUBTYPE_FOSTER_UP,         24).        %% 进阶系统直升丹
-define(GOODS_STUFF_SUBTYPE_CONTRACT_SCORE,    28).        %% 宝典积分
-define(GOODS_STUFF_SUBTYPE_BOSS_TIMES,        36).        %% 幻魔次数卡
-define(GOODS_STUFF_SUBTYPE_BOSS_REFRESH,      37).        %% 幻魔刷新卡
-define(GOODS_STUFF_SUBTYPE_EXP_DROP_BUFF,     41).        %% 离线挂机加成卡


-define(GOODS_STUFF_SUBTYPE_EQUIPMENT_CHIP,    44).        %% 橙装碎片
%% ----------------------------------------------------------------------------
%% TODO 旧物品子类型
%% ----------------------------------------------------------------------------
-define(EQUIP_WEAPON,              1).          %% 装备子类型：武器
-define(EQUIP_PILEUM,              2).          %% 装备子类型：头盔
-define(EQUIP_NECKLACE,            3).          %% 装备子类型：项链
-define(EQUIP_CLOTH,               4).          %% 装备子类型：衣服
-define(EQUIP_AMULET,              5).          %% 装备子类型：刻痕
-define(EQUIP_TROUSERS,            6).          %% 装备子类型：裤子
-define(EQUIP_BRACELET,            7).          %% 装备子类型：副武器
-define(EQUIP_CUFF,                8).          %% 装备子类型：护腕
-define(EQUIP_RING,                9).          %% 装备子类型：戒指
-define(EQUIP_SHOE,               10).          %% 装备子类型：鞋子
-define(EQUIP_ANGLE_DEVIL,        11).          %% 装备子类型：天使与恶魔
-define(GOODS_GAIN_STYPE_POWER_LIVE,  3).       %% 子类型 - 增加活力道具

%% ----------------------------------------------------------------------------
%% @doc 宠物类GOODS_TYPE_PET:6专用的子类型宏定义
%% ----------------------------------------------------------------------------
-define(GOODS_PET_SKILL_DIAMOND,   3).         %% 子类型 - 宠物技能石

%% ----------------------------------------------------------------------------
%% @doc 孩子类GOODS_TYPE_PET:7专用的子类型宏定义
%% ----------------------------------------------------------------------------
-define(GOODS_CHILD_UPGRADE_MATERIAL,   1).         %% 子类型 - 孩子升级材料
-define(GOODS_CHILD_TOY,                4).         %% 子类型 - 孩子玩具

%% ----------------------------------------------------------------------------
%% @doc 战魂类GOODS_TYPE_WAR_SOUL:23专用的子类型宏定义
%% ----------------------------------------------------------------------------
-define(GOODS_WARSOUL_EQUIPMENT,   1).         %% 子类型 - 战魂装备
-define(GOODS_WARSOUL_EXP,         2).         %% 子类型 - 战魂经验

%% ----------------------------------------------------------------------------
%% @doc GOODS_TYPE_DSGT:50专用的子类型宏定义
%% ----------------------------------------------------------------------------
-define(GOODS_SUBTYPE_FISHING_GEAR,   1).         %% 子类型 - 渔具
-define(GOODS_SUBTYPE_FISH,           2).         %% 子类型 - 鱼类
-define(GOODS_SUBTYPE_RARE_AQUATIC,   3).         %% 子类型 - 奇珍类
-define(GOODS_SUBTYPE_SHELL,          4).         %% 子类型 - 贝壳类

-define(GOODS_SUBTYPE_GALAXY_BOOK,      2).     %% 星辰技能书.
-define(GOODS_SUBTYPE_GALAXY,           1).     %% 星辰.

%% ----------------------------------------------------------------------------
%% @doc 物品extra信息，一般不同的物品 包含的信息不同 #goods.extra_data
%% ----------------------------------------------------------------------------
-define(GOODS_OTHER_KEY_FOSTER_LV,           1).  %% 物品额外数据之进阶等级
-define(GOODS_OTHER_KEY_FOSTER_EXP,          2).  %% 物品额外数据之进阶经验
-define(GOODS_INFO_EQUIPMENT_LV,             3).  %% 装备强化等级
-define(GOODS_INFO_EQUIPMENT_SUCCESS_RATIO,  4).  %% 装备强化成功率

-define(GOODS_OTHER_KEY_SUPPORT_ROLE_LIST,   6).  %% 公会感谢对象列表
-define(GOODS_OTHER_KEY_CHILD_TOY_LV,        7).  %% 孩子玩具等级
-define(GOODS_OTHER_KEY_ARMOR_LV,            8).  %% 灵能装备等级
-define(GOODS_OTHER_KEY_ARMOR_ATTR,          9).  %% 灵能装备属性
-define(GOODS_OTHER_KEY_FOSTER_GRADE,       10).  %% 物品额外数据之进阶阶位(标记部位)
-define(GOODS_OTHER_KEY_GOD_EQUIP_EXP,      11).  %% 唤神装备经验
-define(GOODS_OTHER_KEY_GOD_EQUIP_LV,       12).  %% 唤神装备等级
-define(GOODS_OTHER_KEY_GOD_SP_ATTR,        13).  %% 唤神装备特殊属性
-define(GOODS_OTHER_KEY_EQUIPMENT_EMPOWER,  14).  %% 装备器灵等级
-define(GOODS_OTHER_KEY_SP_ATTR,             15).  %% 特殊属性 [{1,100}]
-define(GOODS_OTHER_KEY_GALAXY_SKILLS,       16).  %% 星辰技能
-define(GOODS_OTHER_KEY_GALAXY_LV,           17).  %% 星辰等级
-define(GOODS_OTHER_KEY_EQUIPMENT_GEMS,      18).  %% 宝石信息
-define(GOODS_OTHER_KEY_WARSOUL_LV,          19).  %% 战魂等级
-define(GOODS_OTHER_KEY_WARSOUL_HIS_LV,      20).  %% 战魂历史最高等级
-define(GOODS_OTHER_KEY_EQUIPMENT_GREAT_LV,  21).  %% 装备进化等级

%% ----------------------------------------------------------------------------
%% @doc 物品合成进化分类
%% ----------------------------------------------------------------------------
-define(GOODS_COMPOSE_EVOLUTION_SPECIAL,   -1).  %% 特殊
-define(GOODS_COMPOSE_EVOLUTION_NORMAL,     0).  %% 默认
-define(GOODS_COMPOSE_EVOLUTION_GUARD,      1).  %% 守护升品
-define(GOODS_COMPOSE_EVOLUTION_JEWELRY,    2).  %% 首饰升品
-define(GOODS_COMPOSE_EVOLUTION_GEMS,       4).  %% 宝石合成
-define(GOODS_COMPOSE_STAR,                 5).  %% 星辰合成

-define(GOODS_COMPOSE_ORANGE_EQUIPMENT,     8).  %% 橙装合成
%% ----------------------------------------------------------------------------
%% @doc 物品模块计数器
%% ----------------------------------------------------------------------------
%% 日计数器
-define(GOODS_COUNTER_DAILY_GOLD_TO_COIN,  1).   %% 彩钻兑换交易券

-define(GOODS_COUNTER_DAILY_BGOLD_GET,    3).   %% 今日获得红钻
-define(GOODS_COUNTER_DAILY_HONOUR_GET,   4).   %% 今日获得名望券
-define(GOODS_COUNTER_DAILY_GOLD_COST,    5).   %% 今日消费彩钻总量
-define(GOODS_COUNTER_DAILY_BGOLD_COST,   6).   %% 今日消费红钻总量
-define(GOODS_COUNTER_DAILY_COIN_COST,    7).   %% 今日消费交易券总量
-define(GOODS_COUNTER_DAILY_HONOUR_COST,  8).   %% 今日消费名望券总量
%% 终生计数器
-define(GOODS_COUNTER_LIFE_GOLD_TO_COIN_TIME, 1).  %% 彩钻免费交易时间