FIX
Search in UserInterface/PythonNetworkStreamPhaseGameActor.cpp for:
void __SetWeaponPower(IAbstractPlayer& rkPlayer, DWORD dwWeaponID)
{
...
}
Replace it with:
void __SetWeaponPower(IAbstractPlayer& rkPlayer, DWORD dwWeaponID)
{
DWORD minPower = 0;
DWORD maxPower = 0;
DWORD minMagicPower = 0;
DWORD maxMagicPower = 0;
DWORD addPower = 0;
CItemData* pkWeapon;
#if defined(ENABLE_WEAPON_COSTUME_SYSTEM) || defined(__BL_TRANSMUTATION__)
if (CItemManager::Instance().GetItemDataPointer(CPythonPlayer::Instance().GetItemIndex(TItemPos(INVENTORY, c_Equipment_Weapon)), &pkWeapon))
#else
if (CItemManager::Instance().GetItemDataPointer(dwWeaponID, &pkWeapon))
#endif
{
if (pkWeapon->GetType() == CItemData::ITEM_TYPE_WEAPON)
{
minPower = pkWeapon->GetValue(3);
maxPower = pkWeapon->GetValue(4);
minMagicPower = pkWeapon->GetValue(1);
maxMagicPower = pkWeapon->GetValue(2);
addPower = pkWeapon->GetValue(5);
}
#ifdef ENABLE_WEAPON_COSTUME_SYSTEM
else if (pkWeapon->GetType() == CItemData::ITEM_TYPE_COSTUME)
{
dwWeaponID = rkPlayer.GetItemIndex(TItemPos(INVENTORY, c_Equipment_Weapon));
CItemData* pkWeaponReal;
if (CItemManager::Instance().GetItemDataPointer(dwWeaponID, &pkWeaponReal))
{
if (pkWeaponReal->GetType() == CItemData::ITEM_TYPE_WEAPON)
{
minPower = pkWeaponReal->GetValue(3);
maxPower = pkWeaponReal->GetValue(4);
minMagicPower = pkWeaponReal->GetValue(1);
maxMagicPower = pkWeaponReal->GetValue(2);
addPower = pkWeaponReal->GetValue(5);
}
}
}
#endif
}
rkPlayer.SetWeaponPower(minPower, maxPower, minMagicPower, maxMagicPower, addPower);
}
That will fix it.
Kind Regards,
ONE