A non magical weapon with an augment tagged as magical now registers

as a magig weapon when attacking a creature requiring magic
This commit is contained in:
Paul Coene 2015-02-09 17:04:44 -05:00
parent 1d40f20da0
commit 8cde649e39

View File

@ -908,6 +908,7 @@ int Mob::GetWeaponDamage(Mob *against, const ItemInst *weapon_item, uint32 *hate
{
int dmg = 0;
int banedmg = 0;
int x = 0;
if(!against || against->GetInvul() || against->GetSpecialAbility(IMMUNE_MELEE)){
return 0;
@ -936,10 +937,20 @@ int Mob::GetWeaponDamage(Mob *against, const ItemInst *weapon_item, uint32 *hate
bool MagicWeapon = false;
if(weapon_item->GetItem() && weapon_item->GetItem()->Magic)
MagicWeapon = true;
else {
else
if(spellbonuses.MagicWeapon || itembonuses.MagicWeapon)
MagicWeapon = true;
}
else
// An augment on the weapon that is marked magic makes
// the item magical.
for(x = 0; MagicWeapon == false && x < EmuConstants::ITEM_COMMON_SIZE; x++)
{
if(weapon_item->GetAugment(x) && weapon_item->GetAugment(x)->GetItem())
{
if (weapon_item->GetAugment(x)->GetItem()->Magic)
MagicWeapon = true;
}
}
if(MagicWeapon) {