dual wield was only working for warriors and rogues starting at level 17 -- instead of 13.
the case statement in CanThisClassDualWield() was to blame-- the war/rog case blocks were falling through to the bard one which returned false until level 17... so the bug only occured with war/rog level 13-16
mob.cpp starting at approx. line 1353
Code:
bool Mob::CanThisClassDuelWield(void) //Dual wield not Duel, busy someone else fix it
{
// All npcs over level 13 can dual wield
if (this->IsNPC() && (this->GetLevel() >= 13))
return true;
// nattini - added breaks- preventing war/rog classes falling through to the bard level check
// Kaiyodo - Check the classes that can DW, and make sure we're not using a 2 hander
switch(this->GetClass()) // Lets make sure they are the right level! -image
{
case WARRIOR:
{
if(this->GetLevel() < 13)
return false;
break;
}
case ROGUE:
{
if(this->GetLevel() < 13)
return false;
break;
}
case BARD:
{
if(this->GetLevel() < 17)
return false;
break;
}
case RANGER:
{
if(this->GetLevel() < 17)
return false;
break;
}
case BEASTLORD:
{
if(this->GetLevel() < 17)
return false;
break;
}
case MONK:
{
}
}