- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
bool Item::IsBoundByEnchant() const
{
// Check all enchants for soulbound
for (uint32 enchant_slot = PERM_ENCHANTMENT_SLOT; enchant_slot < MAX_ENCHANTMENT_SLOT; ++enchant_slot)
{
if (enchant_slot > PRISMATIC_ENCHANTMENT_SLOT || enchant_slot < PROP_ENCHANTMENT_SLOT_0) // not holding enchantment id
continue;
if (uint32 enchant_id = GetEnchantmentId(EnchantmentSlot(enchant_slot)))
if (SpellItemEnchantmentEntry const* enchantEntry = sSpellItemEnchantmentStore.LookupEntry(enchant_id))
if (enchantEntry->slot & ENCHANTMENT_CAN_SOULBOUND)
return true;
}
return false;
}
Взял из эмулятора World of WarCraft Trinity 4.3.4 ветка.
Все говно в 6 строчке
PERM_ENCHANTMENT_SLOT = 0
MAX_ENCHANTMENT_SLOT = 15
PRISMATIC_ENCHANTMENT_SLOT = 6
PROP_ENCHANTMENT_SLOT_0 = 10
someone 03.01.2013 17:57 # +5
Fixed?
inkanus-gray 03.01.2013 20:21 # −1
Да и потом, это же C++. Вдруг здесь что-нибудь перегружено с побочными эффектами?
bormand 03.01.2013 20:39 # +4
tirinox 03.01.2013 20:50 # 0
bormand 03.01.2013 20:55 # +6
inkanus-gray 03.01.2013 23:18 # +2
absolut 04.01.2013 11:56 # 0
bormand 04.01.2013 13:13 # +3
absolut 04.01.2013 23:54 # +1
defecate-plusplus 05.01.2013 00:19 # +2
guest 18.01.2013 21:05 # 0
defecate-plusplus 18.01.2013 22:38 # 0
bormand 04.01.2013 21:11 # +2