Ir para conteúdo
Banner com Efeitos

Featured Replies

Postado

Esse sistema foi postado na otland pelo usuário VirrageS

Foi testado em um TFS 0.4 REV.3884

13108970.jpg

Vamos lá:

ITEM.CPP

Embaixo de:


case ATTR_ARTICLE:

		{

			std::string article;

			if(!propStream.getString(article))

				return ATTR_READ_ERROR;


			setAttribute("article", article);

			break;

		}

Colocar:

case ATTR_CRITICALHITCHANCE:

		{

			int32_t criticalHitChance;

			if(!propStream.getLong((uint32_t&)criticalHitChance))

				return ATTR_READ_ERROR;


			setAttribute("criticalhitchance", criticalHitChance);

			break;

		}

Embaixo de:


		bool begin = true;

		if(tmp)

		{

			s << " (Arm:" << tmp;

			begin = false;

		}
Colocar:
if(it.criticalHitChance || (item && item->getCriticalHitChance()))

		{

			if(begin)

			{

				begin = false;

				s << " (";

			}

			else

				s << ", ";


			s << "Crit Chance:" << std::showpos << int32_t(item ? item->getCriticalHitChance() : it.criticalHitChance) << "%"<< std::noshowpos;

		}


Embaixo de:

if(it.defense || it.extraDefense || (item && (item->getDefense() || item->getExtraDefense())))

			{

				if(begin)

				{

					begin = false;

					s << " (";

				}

				else

					s << ", ";


				s << "Def:" << int32_t(item ? item->getDefense() : it.defense);

				if(it.extraDefense || (item && item->getExtraDefense()))

					s << " " << std::showpos << int32_t(item ? item->getExtraDefense() : it.extraDefense) << std::noshowpos;

			}

Colocar:

if(it.criticalHitChance || (item && item->getCriticalHitChance()))

			{

				if(begin)

				{

					begin = false;

					s << " (";

				}

				else

					s << ", ";


				s << "Crit Chance:" << std::showpos << int32_t(item ? item->getCriticalHitChance() : it.criticalHitChance) << "%"<< std::noshowpos;

			}


ITEM.H Embaixo de:

ATTR_DUALWIELD = 43,
Colocar:
ATTR_CRITICALHITCHANCE = 44,
Embaixo de:
int32_t getAttack() const;
Colocar:
int32_t getCriticalHitChance() const;
Embaixo de:
inline bool Item::isScriptProtected() const

{

	const bool* v = getBooleanAttribute("scriptprotected");

	if(v)

		return *v;


	return false;

}
Colocar:
inline int32_t Item::getCriticalHitChance() const

{

	const int32_t* v = getIntegerAttribute("criticalhitchance");

	if(v)

		return *v;


	return items[id].criticalHitChance;

}
ITEMS.CPP Embaixo de:
attackSpeed = 0;
Colocar:
criticalHitChance = 0;
Embaixo de:

else if(tmpStrValue == "extradefense" || tmpStrValue == "extradef")

			{

				if(readXMLInteger(itemAttributesNode, "value", intValue))

					it.extraDefense = intValue;

			}


Colocar:
 else if(tmpStrValue == "criticalhitchance")

			{

				if(readXMLInteger(itemAttributesNode, "value", intValue))

					it.criticalHitChance = intValue;

			}
ITEMS.H TROCAR:
int32_t attack, extraAttack, defense, extraDefense, armor, breakChance, hitChance, maxHitChance,
POR:
int32_t attack, criticalHitChance, extraAttack, defense, extraDefense, armor, breakChance, hitChance, maxHitChance,
LUASCRIPT.CPP Embaixo de:
setField(L, "text", item->text);
Colocar:
setField(L, "criticalHitChance", item->criticalHitChance);
PLAYER.CPP Embaixo de:
int32_t Player::getArmor() const

{

	int32_t i = SLOT_FIRST, armor = 0;

	for(; i < SLOT_LAST; ++i)

	{

		if(Item* item = getInventoryItem((slots_t)i))

			armor += item->getArmor();

	}


	if(vocation->getMultiplier(MULTIPLIER_ARMOR) != 1.0)

		return int32_t(armor * vocation->getMultiplier(MULTIPLIER_ARMOR));


	return armor;

}
Colocar:
int32_t Player::getCriticalHitChance() const

{

	int32_t i = SLOT_FIRST, crit = 0;

	for(; i < SLOT_LAST; ++i)

	{

		if(Item* item = getInventoryItem((slots_t)i))

			crit += item->getCriticalHitChance();

	}


	return crit;

}
PLAYER.H Embaixo de:
virtual int32_t getArmor() const;
Colocar:
virtual int32_t getCriticalHitChance() const;
WEAPONS.CPP Substituir todos:
if(random_range(1, 100) < g_config.getNumber(ConfigManager::CRITICAL_HIT_CHANCE))
Por:
if(random_range(1, 100) < player->getCriticalHitChance() + g_config.getNumber(ConfigManager::CRITICAL_HIT_CHANCE))
A tag para se colocar no items.xml é a seguinte:
<attribute key="criticalHitChance" value="5" />

Espero que gostem!

Editado por grafit (veja o histórico de edições)

Att,
Grafit.

  • Respostas 8
  • Visualizações 5.4k
  • Created
  • Última resposta

Top Posters In This Topic

Posted Images

Postado

dando uma olhada rapida... parece ser bem funcional.. poderia por uma imagen mostrando o funcionamento.

13051310.png

Não se comprometa, com aquilo que não pode fazer.

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.7k

Informação Importante

Confirmação de Termo