*Some update of pet bar code.

--HG--
branch : trunk
This commit is contained in:
megamage
2009-05-27 22:17:10 -05:00
parent 514fc49c3c
commit 626630a1b0
+10 -5
View File
@@ -11718,8 +11718,8 @@ void CharmInfo::InitPetActionBar()
SetActionBar(i,COMMAND_ATTACK - i,ACT_COMMAND); SetActionBar(i,COMMAND_ATTACK - i,ACT_COMMAND);
SetActionBar(i + 7,COMMAND_ATTACK - i,ACT_REACTION); SetActionBar(i + 7,COMMAND_ATTACK - i,ACT_REACTION);
} }
for(uint32 i = 0; i < 4; ++i) for(uint32 i = 4; i < 8; ++i)
SetActionBar(i,0,ACT_DISABLED); SetActionBar(i,0,ACT_PASSIVE);
} }
void CharmInfo::InitEmptyActionBar(bool withAttack) void CharmInfo::InitEmptyActionBar(bool withAttack)
@@ -11845,7 +11845,7 @@ bool CharmInfo::RemoveSpellFromActionBar(uint32 spell_id)
{ {
if (spellmgr.GetFirstSpellInChain(PetActionBar[i].SpellOrAction) == first_id) if (spellmgr.GetFirstSpellInChain(PetActionBar[i].SpellOrAction) == first_id)
{ {
SetActionBar(i,0,ACT_DISABLED); SetActionBar(i,0,ACT_PASSIVE);
return true; return true;
} }
} }
@@ -11894,8 +11894,13 @@ bool CharmInfo::LoadActionBar( std::string data )
PetActionBar[index].SpellOrAction = atol((*iter).c_str()); PetActionBar[index].SpellOrAction = atol((*iter).c_str());
// check correctness // check correctness
if(PetActionBar[index].IsActionBarForSpell() && !sSpellStore.LookupEntry(PetActionBar[index].SpellOrAction)) if(PetActionBar[index].IsActionBarForSpell())
SetActionBar(index,0,ACT_DISABLED); {
if(!sSpellStore.LookupEntry(PetActionBar[index].SpellOrAction))
SetActionBar(index,0,ACT_PASSIVE);
else if(!IsAutocastableSpell(PetActionBar[index].SpellOrAction))
SetActionBar(index,PetActionBar[index].SpellOrAction,ACT_PASSIVE);
}
} }
return true; return true;
} }