Aller au contenu

C++ - Drop Bonus aléatoire


Messages recommandés

Temps estimé : ~ 5 minutes

 

Cette méthode utilise la fonction AddRareAttribute() ce sont donc les bonus 6/7 qui sont utilisé et configuré via la table attr_rare

Si vous souhaitez garder les 6/7, il est très simple d'ajouter une nouvelle fonction en reprenant l'existant ( AddRareRandomAttribute)

 

Service.h

Révélation
#define ENABLE_BONUS_RARE

 

 

 

item_attribute.cpp

Révélation
bool CItem::AddRareAttribute()
{

	if (GetType() == ITEM_WEAPON)
	{
		if (GetSubType() == WEAPON_ARROW)
			return false;

#ifdef __NEW_ARROW_SYSTEM__
		if (GetSubType() == WEAPON_UNLIMITED_ARROW)
			return false;
#endif
	}
#if defined(ENABLE_PENDANT) && defined(ENABLE_BONUS_RARE)
	else if (GetType() == ITEM_ARMOR)
	{
		if (GetSubType() == ARMOR_PENDANT)
			return false;
	}
#endif

	int count = GetRareAttrCount();
  
  .....
    

 

 

 

item_manager.cpp

Révélation
.........

#ifdef ENABLE_BONUS_RARE
bool inArr(int* tab, int line,int size) {
		for(int i = 0; i < size; i++){
				if(tab[i] == line)
					return true;           
			}
		return false;
}
#endif

LPITEM ITEM_MANAGER::CreateItem(DWORD vnum, DWORD count, DWORD id, bool bTryMagic, int iRarePct, bool bSkipSave)
  
  .........

 

 

item_manager.cpp

 

Révélation
..........

		if (bTryMagic)
		{
			if (iRarePct == -1)
				iRarePct = table->bAlterToMagicItemPct;

			if (number(1, 100) <= iRarePct)
				item->AlterToMagicItem();
#ifdef ENABLE_BONUS_RARE
			int RareArray[2] = {1,2};
			if(inArr(RareArray,item->GetType(),_countof(RareArray)))
			{
				if (number(1, 100) <= 70) //70% Chance
				{
					item->AddRareAttribute();
				}
				if (number(1, 100) <= 30) // 30% Chance
				{
					item->AddRareAttribute();
				}
			}
#endif
		}
              
              ........

 

 

Modifié par Mustang
  • J'adore 1

Service Payant 

Développeur C++ / Python / Lua

Discord : Mustang#1649

 

 

Lien à poster
  • ASIKOO changed the title to Drop Bonus aléatoire
  • ASIKOO changed the title to C++ - Drop Bonus aléatoire
  • 1 month later...

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant


Shoutbox

Shoutbox

Chatroom Rules

 

Rejoignez notre Discord

Une demande d'aide = Bannissement de la Shoutbox

Soyez respectueux & Respectez les règles

 

×
×
  • Créer...

Information importante

Conditions d’utilisation / Politique de confidentialité / Règles / Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.