Weiß einer wo man in der Source ändert das das item was man droppt direkt ein awa hat?
Weiß einer wie es geht wenn ja würde mich über jede hilfe freuen :)
Weiß einer wie es geht wenn ja würde mich über jede hilfe freuen :)
if( xRandom( 100 ) < fItemDropRate ) // ¾ÆÀÌÅÛÀ» µå·ÓÇÒÁö ¸»Áö °áÁ¤. ·¹º§Â÷°¡ ¸¹ÀÌ ³ª¸é ¾Æ¿¹ ¶³¾îÆ®¸®Áö ¾Ê´Â´Ù.
{
int nSize = lpMoverProp->m_DropItemGenerator.GetSize();
int nNumber = 0;
DROPITEM* lpDropItem;
for( int i = 0; i < nSize; i++ )
{
if( ( lpDropItem = lpMoverProp->m_DropItemGenerator.GetAt( i, bUnique, GetPieceItemDropRateFactor( pAttacker ) ) ) != NULL )
{
if( lpDropItem->dtType == DROPTYPE_NORMAL )
{
#ifdef __NO_DROP_CRASH
ItemProp * pProp = prj.GetItemProp(lpDropItem->dwIndex);
if(!pProp)
{
Error("CMover::DropItemByDied() [ItemID:%d][MoverID:%d]",lpDropItem->dwIndex,GetProp()->dwID);
continue;
}
#endif
DWORD dwNum = lpDropItem->dwNumber;
if( dwNum == (DWORD)-1 )
dwNum = 1;
if( lpMoverProp->dwFlying )
{
CItemElem itemElem;
itemElem.m_dwItemId = lpDropItem->dwIndex;
itemElem.m_nItemNum = (short)( xRandom( dwNum ) + 1 );
itemElem.SetAbilityOption( lpDropItem->dwLevel );
if( pAttacker->CreateItem( &itemElem ) == TRUE )
{ // log
ItemProp* pItemProp = itemElem.GetProp();
if( pItemProp )
{
( (CUser*)pAttacker )->AddDefinedText( TID_GAME_REAPITEM, "\"%s\"", pItemProp->szName );
if( pItemProp->dwItemKind1 == IK1_WEAPON || pItemProp->dwItemKind1 == IK1_ARMOR || ( pItemProp->dwItemKind1 == IK1_GENERAL && pItemProp->dwItemKind2 == IK2_JEWELRY ) )
{
switch( pItemProp->nLog )
{
case 1: g_dpDBClient.SendLogUniqueItem2( pAttacker, itemElem.GetProp(), itemElem.GetAbilityOption() ); break;
case 2: g_dpDBClient.SendLogUniqueItem2( pAttacker, itemElem.GetProp(), 200 ); break;
case 3: g_dpDBClient.SendLogUniqueItem2( pAttacker, itemElem.GetProp(), 100 ); break;
}
}
}
if( lpDropItem->dwNumber != (DWORD)-1 )
nNumber++;
if( (DWORD)( nNumber ) >= lpMoverProp->m_DropItemGenerator.m_dwMax )
break;
}
continue;
}
CItemElem* pItemElem = new CItemElem;
pItemElem->m_dwItemId = lpDropItem->dwIndex;
pItemElem->m_nItemNum = (short)( xRandom( dwNum ) + 1 );
ItemProp* pItemProp = pItemElem->GetProp();
if( pItemProp )
{
pItemElem->m_nHitPoint = pItemProp->dwEndurance;
pItemElem->SetRandomOpt( CRandomOptItemGen::GetInstance()->GenRandomOptItem( lpMoverProp->dwLevel, (FLOAT)nProbability / 100.0f, pItemProp, lpMoverProp->dwClass ) );
}
pItemElem->SetAbilityOption( lpDropItem->dwLevel ); // Ãß°¡ ´É·ÂÄ¡ +1, +2 °°Àº°Å.
pItemElem->SetSerialNumber();
#ifdef __DROP_AWAKE
int nRandomOptionKind = g_xRandomOptionProperty->GetRandomOptionKind(pItemElem);
if (nRandomOptionKind >= 0) // ¾ÆÀÌÅÛ °¢¼º, ¿©½ÅÀÇ ÃູÀÌ °¡´ÉÇÑ ´ë»ó
{
g_xRandomOptionProperty->InitializeRandomOption(pItemElem->GetRandomOptItemIdPtr());
g_xRandomOptionProperty->GenRandomOption(pItemElem->GetRandomOptItemIdPtr(), nRandomOptionKind, pItemElem->GetProp()->dwParts, FALSE, pItemElem);
}
#endif