View Single Post
  #1  
Old 04-10-2004, 02:49 PM
nattini
Fire Beetle
 
Join Date: Mar 2004
Posts: 15
Default fix: dual wield at wrong levels for rogue/war

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:
		{
		}
	}
Reply With Quote