Ich möchte etwas an meiner
ändern:Mein Problem ist es das man derzeitig mit der F.A. Scroll alle Setparts erwecken kann -> Adoch auf Hat/Gaunts und Stats auf Boots und Gaunts.
Kommen wir zu meinem Ziel:
Wie man sich denken kann, ist es Crap das Blades z.B. auf Gaunts etc. ADOCH awaken können und deswegen möchte ich mithilfe einer simplen Abfrage dieses ändern. Nur bin ich zu dumm dazu, ich habs schon versucht und bin son bisschen gescheitert.
Code:
#ifdef __WEZZY_FIX_AWAKE_SCROLL
BOOL CDPSrvr::DoUseItemTarget_WezzyFixAwakeningScroll( CUser* pUser, CItemElem* pMaterial, CItemElem* pTarget )
{
int nRandomOptionKind = g_xRandomOptionProperty->GetRandomOptionKind( pTarget );
if( nRandomOptionKind >= 0 )
{
g_xRandomOptionProperty->InitializeRandomOption( pTarget->GetRandomOptItemIdPtr() ); //Reset awake
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////// |Weapons|Armor|Shield| /////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
if( pTarget->GetProp()->dwItemKind1 == IK1_WEAPON || pTarget->GetProp()->dwItemKind2 == IK2_ARMORETC || pTarget->GetProp()->dwItemKind2 == IK2_ARMOR || pTarget->GetProp()->dwItemKind3 == IK3_SHIELD )
{
if( pMaterial->m_dwItemId == II_SYS_N_AWAKEFIX_STR )
{
g_xRandomOptionProperty->SetParam( pTarget->GetRandomOptItemIdPtr(), DST_STR, 30 );
g_xRandomOptionProperty->SetParam( pTarget->GetRandomOptItemIdPtr(), DST_STR, 30 );
g_xRandomOptionProperty->SetParam( pTarget->GetRandomOptItemIdPtr(), DST_STR, 30 );
}
else if( pMaterial->m_dwItemId == II_SYS_N_AWAKEFIX_STA )
{
g_xRandomOptionProperty->SetParam( pTarget->GetRandomOptItemIdPtr(), DST_STA, 30 );
g_xRandomOptionProperty->SetParam( pTarget->GetRandomOptItemIdPtr(), DST_STA, 30 );
g_xRandomOptionProperty->SetParam( pTarget->GetRandomOptItemIdPtr(), DST_STA, 30 );
}
else if( pMaterial->m_dwItemId == II_SYS_N_AWAKEFIX_DEX )
{
g_xRandomOptionProperty->SetParam( pTarget->GetRandomOptItemIdPtr(), DST_DEX, 30 );
g_xRandomOptionProperty->SetParam( pTarget->GetRandomOptItemIdPtr(), DST_DEX, 30 );
g_xRandomOptionProperty->SetParam( pTarget->GetRandomOptItemIdPtr(), DST_DEX, 30 );
}
else if( pMaterial->m_dwItemId == II_SYS_N_AWAKEFIX_INT )
{
g_xRandomOptionProperty->SetParam( pTarget->GetRandomOptItemIdPtr(), DST_INT, 30 );
g_xRandomOptionProperty->SetParam( pTarget->GetRandomOptItemIdPtr(), DST_INT, 30 );
g_xRandomOptionProperty->SetParam( pTarget->GetRandomOptItemIdPtr(), DST_INT, 30 );
}
else if( pMaterial->m_dwItemId == II_SYS_N_AWAKEFIX_ADOCH )
{
g_xRandomOptionProperty->SetParam( pTarget->GetRandomOptItemIdPtr(), DST_CRITICAL_BONUS, 19 );
g_xRandomOptionProperty->SetParam( pTarget->GetRandomOptItemIdPtr(), DST_CRITICAL_BONUS, 19 );
g_xRandomOptionProperty->SetParam( pTarget->GetRandomOptItemIdPtr(), DST_CRITICAL_BONUS, 19 );
}
else if( pMaterial->m_dwItemId == II_SYS_N_AWAKEFIX_SPEED )
{
g_xRandomOptionProperty->SetParam( pTarget->GetRandomOptItemIdPtr(), DST_SPEED, 8 );
g_xRandomOptionProperty->SetParam( pTarget->GetRandomOptItemIdPtr(), DST_SPEED, 8 );
g_xRandomOptionProperty->SetParam( pTarget->GetRandomOptItemIdPtr(), DST_SPEED, 8 );
}
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////// |-------|Accesory|------| //////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
else if( pTarget->GetProp()->dwItemKind2 == IK2_JEWELRY )
{
if( pMaterial->m_dwItemId == II_SYS_J_AWAKEFIX_STR )
{
g_xRandomOptionProperty->SetParam( pTarget->GetRandomOptItemIdPtr(), DST_STR, 15 );
}
else if( pMaterial->m_dwItemId == II_SYS_J_AWAKEFIX_STA )
{
g_xRandomOptionProperty->SetParam( pTarget->GetRandomOptItemIdPtr(), DST_STA, 15 );
}
else if( pMaterial->m_dwItemId == II_SYS_J_AWAKEFIX_DEX )
{
g_xRandomOptionProperty->SetParam( pTarget->GetRandomOptItemIdPtr(), DST_DEX, 15 );
}
else if( pMaterial->m_dwItemId == II_SYS_J_AWAKEFIX_INT )
{
g_xRandomOptionProperty->SetParam( pTarget->GetRandomOptItemIdPtr(), DST_INT, 15 );
}
else if( pMaterial->m_dwItemId == II_SYS_J_AWAKEFIX_ADOCH )
{
g_xRandomOptionProperty->SetParam( pTarget->GetRandomOptItemIdPtr(), DST_CRITICAL_BONUS, 15 );
}
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////// |-------|Fashions|------| //////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
else if( pTarget->GetProp()->dwItemKind2 == IK2_CLOTH || pTarget->GetProp()->dwItemKind2 == IK2_CLOTHETC )
{
if( pMaterial->m_dwItemId == II_SYS_F_AWAKEFIX_STR )
{
g_xRandomOptionProperty->SetParam( pTarget->GetRandomOptItemIdPtr(), DST_STR, 7 );
g_xRandomOptionProperty->SetParam( pTarget->GetRandomOptItemIdPtr(), DST_STR, 7 );
g_xRandomOptionProperty->SetParam( pTarget->GetRandomOptItemIdPtr(), DST_STR, 7 );
}
else if( pMaterial->m_dwItemId == II_SYS_F_AWAKEFIX_STA )
{
g_xRandomOptionProperty->SetParam( pTarget->GetRandomOptItemIdPtr(), DST_STA, 7 );
g_xRandomOptionProperty->SetParam( pTarget->GetRandomOptItemIdPtr(), DST_STA, 7 );
g_xRandomOptionProperty->SetParam( pTarget->GetRandomOptItemIdPtr(), DST_STA, 7 );
}
else if( pMaterial->m_dwItemId == II_SYS_F_AWAKEFIX_DEX )
{
g_xRandomOptionProperty->SetParam( pTarget->GetRandomOptItemIdPtr(), DST_DEX, 7 );
g_xRandomOptionProperty->SetParam( pTarget->GetRandomOptItemIdPtr(), DST_DEX, 7 );
g_xRandomOptionProperty->SetParam( pTarget->GetRandomOptItemIdPtr(), DST_DEX, 7 );
}
else if( pMaterial->m_dwItemId == II_SYS_F_AWAKEFIX_INT )
{
g_xRandomOptionProperty->SetParam( pTarget->GetRandomOptItemIdPtr(), DST_INT, 7 );
g_xRandomOptionProperty->SetParam( pTarget->GetRandomOptItemIdPtr(), DST_INT, 7 );
g_xRandomOptionProperty->SetParam( pTarget->GetRandomOptItemIdPtr(), DST_INT, 7 );
}
else if( pMaterial->m_dwItemId == II_SYS_F_AWAKEFIX_ADOCH )
{
g_xRandomOptionProperty->SetParam( pTarget->GetRandomOptItemIdPtr(), DST_CRITICAL_BONUS, 5 );
g_xRandomOptionProperty->SetParam( pTarget->GetRandomOptItemIdPtr(), DST_CRITICAL_BONUS, 5 );
g_xRandomOptionProperty->SetParam( pTarget->GetRandomOptItemIdPtr(), DST_CRITICAL_BONUS, 5 );
}
else if( pMaterial->m_dwItemId == II_SYS_F_AWAKEFIX_SPEED )
{
g_xRandomOptionProperty->SetParam( pTarget->GetRandomOptItemIdPtr(), DST_SPEED, 5 );
g_xRandomOptionProperty->SetParam( pTarget->GetRandomOptItemIdPtr(), DST_SPEED, 5 );
g_xRandomOptionProperty->SetParam( pTarget->GetRandomOptItemIdPtr(), DST_SPEED, 5 );
}
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////// |-------|Raise Pets|------| ////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
else if( pTarget->GetProp()->dwItemKind3 == IK3_EGG )
{
if( pMaterial->m_dwItemId == II_SYS_P_AWAKEFIX_STR )
{
g_xRandomOptionProperty->SetParam( pTarget->GetRandomOptItemIdPtr(), DST_STR, 30 );
g_xRandomOptionProperty->SetParam( pTarget->GetRandomOptItemIdPtr(), DST_STR, 30 );
g_xRandomOptionProperty->SetParam( pTarget->GetRandomOptItemIdPtr(), DST_STR, 30 );
}
else if( pMaterial->m_dwItemId == II_SYS_P_AWAKEFIX_STA )
{
g_xRandomOptionProperty->SetParam( pTarget->GetRandomOptItemIdPtr(), DST_STA, 30 );
g_xRandomOptionProperty->SetParam( pTarget->GetRandomOptItemIdPtr(), DST_STA, 30 );
g_xRandomOptionProperty->SetParam( pTarget->GetRandomOptItemIdPtr(), DST_STA, 30 );
}
else if( pMaterial->m_dwItemId == II_SYS_P_AWAKEFIX_DEX )
{
g_xRandomOptionProperty->SetParam( pTarget->GetRandomOptItemIdPtr(), DST_DEX, 30 );
g_xRandomOptionProperty->SetParam( pTarget->GetRandomOptItemIdPtr(), DST_DEX, 30 );
g_xRandomOptionProperty->SetParam( pTarget->GetRandomOptItemIdPtr(), DST_DEX, 30 );
}
else if( pMaterial->m_dwItemId == II_SYS_P_AWAKEFIX_INT )
{
g_xRandomOptionProperty->SetParam( pTarget->GetRandomOptItemIdPtr(), DST_INT, 30 );
g_xRandomOptionProperty->SetParam( pTarget->GetRandomOptItemIdPtr(), DST_INT, 30 );
g_xRandomOptionProperty->SetParam( pTarget->GetRandomOptItemIdPtr(), DST_INT, 30 );
}
else if( pMaterial->m_dwItemId == II_SYS_P_AWAKEFIX_ADOCH )
{
g_xRandomOptionProperty->SetParam( pTarget->GetRandomOptItemIdPtr(), DST_CRITICAL_BONUS, 19 );
g_xRandomOptionProperty->SetParam( pTarget->GetRandomOptItemIdPtr(), DST_CRITICAL_BONUS, 19 );
g_xRandomOptionProperty->SetParam( pTarget->GetRandomOptItemIdPtr(), DST_CRITICAL_BONUS, 19 );
}
else if( pMaterial->m_dwItemId == II_SYS_P_AWAKEFIX_SPEED )
{
g_xRandomOptionProperty->SetParam( pTarget->GetRandomOptItemIdPtr(), DST_SPEED, 15 );
g_xRandomOptionProperty->SetParam( pTarget->GetRandomOptItemIdPtr(), DST_SPEED, 15 );
g_xRandomOptionProperty->SetParam( pTarget->GetRandomOptItemIdPtr(), DST_SPEED, 15 );
}
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////// |-------|Looter Pets|------| ///////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
else if( pTarget->GetProp()->dwItemKind3 == IK3_PET )
{
if( pMaterial->m_dwItemId == II_SYS_V_AWAKEFIX_STR )
{
g_xRandomOptionProperty->SetParam( pTarget->GetRandomOptItemIdPtr(), DST_STR, 30 );
g_xRandomOptionProperty->SetParam( pTarget->GetRandomOptItemIdPtr(), DST_STR, 30 );
g_xRandomOptionProperty->SetParam( pTarget->GetRandomOptItemIdPtr(), DST_STR, 30 );
}
else if( pMaterial->m_dwItemId == II_SYS_V_AWAKEFIX_STA )
{
g_xRandomOptionProperty->SetParam( pTarget->GetRandomOptItemIdPtr(), DST_STA, 30 );
g_xRandomOptionProperty->SetParam( pTarget->GetRandomOptItemIdPtr(), DST_STA, 30 );
g_xRandomOptionProperty->SetParam( pTarget->GetRandomOptItemIdPtr(), DST_STA, 30 );
}
else if( pMaterial->m_dwItemId == II_SYS_V_AWAKEFIX_DEX )
{
g_xRandomOptionProperty->SetParam( pTarget->GetRandomOptItemIdPtr(), DST_DEX, 30 );
g_xRandomOptionProperty->SetParam( pTarget->GetRandomOptItemIdPtr(), DST_DEX, 30 );
g_xRandomOptionProperty->SetParam( pTarget->GetRandomOptItemIdPtr(), DST_DEX, 30 );
}
else if( pMaterial->m_dwItemId == II_SYS_V_AWAKEFIX_INT )
{
g_xRandomOptionProperty->SetParam( pTarget->GetRandomOptItemIdPtr(), DST_INT, 30 );
g_xRandomOptionProperty->SetParam( pTarget->GetRandomOptItemIdPtr(), DST_INT, 30 );
g_xRandomOptionProperty->SetParam( pTarget->GetRandomOptItemIdPtr(), DST_INT, 30 );
}
else if( pMaterial->m_dwItemId == II_SYS_V_AWAKEFIX_ADOCH )
{
g_xRandomOptionProperty->SetParam( pTarget->GetRandomOptItemIdPtr(), DST_CRITICAL_BONUS, 30 );
g_xRandomOptionProperty->SetParam( pTarget->GetRandomOptItemIdPtr(), DST_CRITICAL_BONUS, 30 );
g_xRandomOptionProperty->SetParam( pTarget->GetRandomOptItemIdPtr(), DST_CRITICAL_BONUS, 30 );
}
else if( pMaterial->m_dwItemId == II_SYS_V_AWAKEFIX_SPEED )
{
g_xRandomOptionProperty->SetParam( pTarget->GetRandomOptItemIdPtr(), DST_SPEED, 8 );
g_xRandomOptionProperty->SetParam( pTarget->GetRandomOptItemIdPtr(), DST_SPEED, 8 );
g_xRandomOptionProperty->SetParam( pTarget->GetRandomOptItemIdPtr(), DST_SPEED, 8 );
}
}
else
{
pUser->AddText( "Du hast einen Fehler gemacht!" );
return FALSE;
}
pUser->UpdateItemEx( (BYTE)( pTarget->m_dwObjId ), UI_RANDOMOPTITEMID, pTarget->GetRandomOptItemId() );
return TRUE;
}
return FALSE;
}
#endif // __WEZZY_FIX_AWAKE_SCROLL
Code:
#ifdef __WEZZY_FIX_AWAKE_SCROLL case II_SYS_N_AWAKEFIX_STR: case II_SYS_N_AWAKEFIX_STA: case II_SYS_N_AWAKEFIX_DEX: case II_SYS_N_AWAKEFIX_INT: case II_SYS_N_AWAKEFIX_ADOCH: case II_SYS_N_AWAKEFIX_SPEED:
Mein Ansatz war es etwas an den case's zu verändern :$
Sah so aus:
Code:
if( pTarget->GetProp()->dwItemKind1 == IK1_WEAPON || pTarget->GetProp()->dwItemKind2 == IK3_SHIELD || pTarget->GetProp()->dwItemKind2 == IK3_SUIT )
{
case II_SYS_N_AWAKEFIX_STR:
case II_SYS_N_AWAKEFIX_STA:
case II_SYS_N_AWAKEFIX_DEX:
case II_SYS_N_AWAKEFIX_INT:
}
else if( pTarget->GetProp()->dwItemKind1 == IK1_WEAPON || pTarget->GetProp()->dwItemKind2 == IK3_SHIELD || pTarget->GetProp()->dwItemKind2 == IK3_SUIT || pTarget->GetProp()->dwItemKind2 == IK3_BOOTS )
{
case II_SYS_N_AWAKEFIX_ADOCH:
case II_SYS_N_AWAKEFIX_SPEED:;
}
else if( pTarget->GetProp()->dwItemKind1 == IK3_GAUNTLET )
{
pUser->AddText( "Du hast einen Fehler gemacht!" );
return ;
}
Tut mir leid für diejenigen die sich so heftig einen Facepalm geben das sie einen Kopf kürzer sind. xD






