[Help] Monster Drops

Status
Not open for further replies.
Newbie Spellweaver
Joined
May 11, 2022
Messages
11
Reaction score
1
I added different items to drop on a monster, but when I am a level higher than this the monster he does not drop anything, wanted to know where I can edit this. thanks
 

I'd like to point out that the solution presented in this thread, even though it works, is a (minor) waste of resource.

Code:
			BOOL bAdjDropRate = TRUE;	// ÀϹÝÀûÀ¸·Ð ·¹º§Â÷¿¡ ÀÇÇÑ µå¶ø·üÀúÇϰ¡ ÀÌ·ïÁø´Ù.

			if( GetIndex() == MI_CLOCKWORK1 )	//·¹º§Â÷¿¡ÀÇÇÑ µå¶ø·üÀúÇϰ¡ ¾ø´Ù.
				bAdjDropRate = FALSE;

			if( GetIndex() == MI_DEMIAN5 || GetIndex() == MI_KEAKOON5 || GetIndex() == MI_MUFFRIN5 )
				bAdjDropRate = FALSE;		// À̺¥Æ®¸÷µéµµ ·¹º§Â÷¿¡ÀÇÇÑ µå¶ø·ü ÀúÇϰ¡ ¾ø´Ù.
#ifdef __EVENT_MONSTER
			if( CEventMonster::GetInstance()->SetEventMonster( lpMoverProp->dwID ) )
				bAdjDropRate = FALSE;
#endif // __EVENT_MONSTER
#ifdef __EVENTLUA_SPAWN
			if( prj.m_EventLua.IsEventSpawnMonster( lpMoverProp->dwID ) )
				bAdjDropRate = FALSE;
#endif // __EVENTLUA_SPAWN
			if( bAdjDropRate )
			{
				int d	= pAttacker->m_nLevel - (int)lpMoverProp->dwLevel;
				if( d <= 1 )	{	nProbability	= 100;	nPenyaRate	= 100;	}
				else if( d <= 2 )	{	nProbability	= 80;	nPenyaRate	= 100;	}
				else if( d <= 4 )	{	nProbability	= 60;	nPenyaRate	= 80;	}
				else if( d <= 7 )	{	nProbability	= 30;	nPenyaRate	= 65;	}
				else	{	nProbability	= 10;	nPenyaRate	= 50;	}
			}

You can completely delete this part of the code (that is, if you want to remove any droprate adjustment regarding level difference), instead of replacing every nProbability = x to = 100. This avoids unnecessary operations.
 
Upvote 0
Status
Not open for further replies.
Back