|
From: <ha...@us...> - 2002-09-03 18:03:42
|
Update of /cvsroot/decaldev/source/DecalFilters
In directory usw-pr-cvs1:/tmp/cvs-serv21472
Modified Files:
CharacterStats.cpp
Log Message:
charstats has a bug? never.
fixed spellslearned (thanks parad0x for pointing out the bug) and Charstats knows GUID before it gets the login packet now.
Index: CharacterStats.cpp
===================================================================
RCS file: /cvsroot/decaldev/source/DecalFilters/CharacterStats.cpp,v
retrieving revision 1.26
retrieving revision 1.27
diff -C2 -d -r1.26 -r1.27
*** CharacterStats.cpp 21 Aug 2002 19:49:14 -0000 1.26
--- CharacterStats.cpp 3 Sep 2002 18:03:34 -0000 1.27
***************
*** 128,131 ****
--- 128,141 ----
switch( dwType )
{
+ case 0xF746: // Character Entering World
+ {
+ _variant_t vObjectID;
+
+ pMessage->get_Member (_variant_t ("character"), &vObjectID);
+ GUID = vObjectID.lVal;
+
+ break;
+ }
+
case 0xF659: // Login Failure - Char in World
{
***************
*** 435,446 ****
//Get Spellbook
! pMessage->get_Member (_variant_t ("spellbookCount"), &vSpellCount);
! pMessage->get_Member (_variant_t ("spellbook"), &vSpells);
! for(i = 0; i < (vSpellCount.iVal); i++)
{
! _variant_t vKey;
! pMessage->get_Member (_variant_t ("spell"), &vKey);
! SpellsLearned.insert(vKey.lVal);
}
--- 445,469 ----
//Get Spellbook
! CComPtr<IMessageIterator> pBegin;
! CComPtr<IMessageIterator> pSpell;
! CComPtr<IMessageIterator> pSpellbook;
!
! pMessage->get_Begin( &pBegin );
! pMessage->get_Member (_variant_t ("spellbookCount"), &vSpellCount );
!
! HRESULT HRes = pBegin->get_NextObject( _bstr_t( "spellbook" ), &pSpellbook );
! if( HRes == S_OK )
{
! for( int i = 0; i < vSpellCount.iVal; i++ )
! {
! pSpellbook->get_NextObjectIndex( &pSpell );
! long lSpellID;
! pSpell->get_NextInt( _bstr_t( "spell" ), &lSpellID );
!
! SpellsLearned.insert( lSpellID );
!
! pSpell.Release();
! }
}
***************
*** 1079,1085 ****
HRESULT cCharacterStats::get_Character(/*[out, retval]*/ long *pVal)
{
- if (!GotLogin)
- return E_FAIL;
-
*pVal = GUID;
return S_OK;
--- 1102,1105 ----
|