Go Back   EQEmulator Home > EQEmulator Forums > Archives > Archive::Development > Archive::Development

Archive::Development Archive area for Development's posts that were moved here after an inactivity period of 90 days.

Reply
 
Thread Tools Display Modes
  #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
  #2  
Old 04-10-2004, 08:33 PM
nattini
Fire Beetle
 
Join Date: Mar 2004
Posts: 15
Default

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: 
   case ROGUE: 
      { 
      if(this->GetLevel() < 13) 
         return false; 
      break; 
      } 
   case BARD:
   case BEASTLORD: 
   case RANGER: 
      { 
      if(this->GetLevel() < 17) 
         return false; 
      break; 
      } 
   case MONK: 
      { 
      } 
   }
sorry, that case statment was haunting me in my sleep. i should be better now.

-nattini
Reply With Quote
  #3  
Old 04-10-2004, 09:17 PM
KhaN's Avatar
KhaN
Dragon
 
Join Date: Mar 2004
Location: France, Bordeaux.
Posts: 677
Default

This post remember me that using 0.5.5DR1, my rogue got dodge around lvl4 but the skill only started to increase around lvl8, same for backstap if i remember.
__________________

Reply With Quote
  #4  
Old 04-11-2004, 09:20 AM
nattini
Fire Beetle
 
Join Date: Mar 2004
Posts: 15
Default

well, backstab shouldnt have worked at all until level 10 when you're supposed to get it- dodge should have worked at 4 though.


just taking a quick peek, it looks like your're right. there are a lot of cases that are falling through to the next one due to omitted breaks;

without even looking to hard, i can see problems with double attack, parry and riposte--- the riposte one being severe enough that warriors monks and rogues wouldnt be able to use it until 58!

---maybe thats why riposte disc seems broken =)

ill play with these tonight, to bad there no active cvs for me to commit the fixes to =\

-nattini
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

   

All times are GMT -4. The time now is 11:49 AM.


 

Everquest is a registered trademark of Daybreak Game Company LLC.
EQEmulator is not associated or affiliated in any way with Daybreak Game Company LLC.
Except where otherwise noted, this site is licensed under a Creative Commons License.
       
Powered by vBulletin®, Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3