diff --git a/server/gameserver/constant.h b/server/gameserver/constant.h index c4f9b489..abd3947d 100644 --- a/server/gameserver/constant.h +++ b/server/gameserver/constant.h @@ -84,6 +84,7 @@ enum InventorySlot_e IS_YELLOW_STONE = 25, //黄宝石 IS_BLUE_STONE = 26, //蓝宝石 IS_PURPLE_STONE = 27, //紫宝石 + IS_WEAPON_STONE = 28, //武器齿轮 IS_MAX = 30, IS_END @@ -198,6 +199,7 @@ enum GemStoneSubEquipType_e GEMSTONE_SUB_EQUIP_ENERGY = 1, GEMSTONE_SUB_EQUIP_SKILL = 2, GEMSTONE_SUB_EQUIP_SHIELD = 3, + GEMSTONE_SUB_EQUIP_WEAPON = 4, GEMSTONE_SUB_EQUIP_TYPE_End }; diff --git a/server/gameserver/human.cc b/server/gameserver/human.cc index d4e855dd..f119a9a9 100644 --- a/server/gameserver/human.cc +++ b/server/gameserver/human.cc @@ -2930,6 +2930,8 @@ void Human::ProcAddItemDto(AddItemDTO& dto) ProcBlueStoneItem(dto); } else if (dto.item_meta->equip_subtype() == GEMSTONE_SUB_EQUIP_SHIELD) { ProcPurpleStoneItem(dto); + } else if (dto.item_meta->equip_subtype() == GEMSTONE_SUB_EQUIP_WEAPON) { + ProcWeaponStoneItem(dto); } } break; @@ -3601,6 +3603,11 @@ void Human::ProcPurpleStoneItem(AddItemDTO& dto) dto.handled = true; } +void Human::ProcWeaponStoneItem(AddItemDTO& dto) +{ + +} + void Human::CalcStats() { if (statsed_) { diff --git a/server/gameserver/human.h b/server/gameserver/human.h index 2359b5e0..4c610c42 100644 --- a/server/gameserver/human.h +++ b/server/gameserver/human.h @@ -280,6 +280,7 @@ protected: void ProcYellowStoneItem(AddItemDTO& dto); void ProcBlueStoneItem(AddItemDTO& dto); void ProcPurpleStoneItem(AddItemDTO& dto); + void ProcWeaponStoneItem(AddItemDTO& dto); void ProcLoveItem(AddItemDTO& dto); void CancelRevive(); Weapon* TakeonWeapon(const mt::Equip* equip_meta);