Fixed conflicting enchantments checking
This commit is contained in:
parent
a12a9117c2
commit
a0725747af
@ -3530,15 +3530,15 @@ void cClientHandle::AddEnchantmentWeight(cEnchantmentsVector & a_Enchantments, i
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
void cClientHandle::RemoveEnchantmentFromVector(cEnchantmentsVector & a_Enchantments, int a_EnchantmentID)
|
void cClientHandle::RemoveEnchantmentFromVector(cEnchantmentsVector * a_Enchantments, int a_EnchantmentID)
|
||||||
{
|
{
|
||||||
for (cEnchantmentsVector::iterator it = a_Enchantments.begin(); it != a_Enchantments.end(); ++it)
|
for (cEnchantmentsVector::iterator it = a_Enchantments->begin(); it != a_Enchantments->end(); ++it)
|
||||||
{
|
{
|
||||||
int EnchantmentID = atoi(StringSplit((*it).ToString(), "=")[0].c_str());
|
int EnchantmentID = atoi(StringSplit((*it).ToString(), "=")[0].c_str());
|
||||||
|
|
||||||
if (EnchantmentID == a_EnchantmentID)
|
if (EnchantmentID == a_EnchantmentID)
|
||||||
{
|
{
|
||||||
a_Enchantments.erase(std::remove(a_Enchantments.begin(), a_Enchantments.end(), *it), a_Enchantments.end());
|
a_Enchantments->erase(std::remove(a_Enchantments->begin(), a_Enchantments->end(), *it), a_Enchantments->end());
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -3554,51 +3554,51 @@ void cClientHandle::CheckEnchantmentConflicts(cEnchantmentsVector & a_Enchantmen
|
|||||||
|
|
||||||
if (FirstEnchantmentID == cEnchantments::enchProtection)
|
if (FirstEnchantmentID == cEnchantments::enchProtection)
|
||||||
{
|
{
|
||||||
RemoveEnchantmentFromVector(a_Enchantments, cEnchantments::enchFireProtection);
|
RemoveEnchantmentFromVector(&a_Enchantments, cEnchantments::enchFireProtection);
|
||||||
RemoveEnchantmentFromVector(a_Enchantments, cEnchantments::enchBlastProtection);
|
RemoveEnchantmentFromVector(&a_Enchantments, cEnchantments::enchBlastProtection);
|
||||||
RemoveEnchantmentFromVector(a_Enchantments, cEnchantments::enchProjectileProtection);
|
RemoveEnchantmentFromVector(&a_Enchantments, cEnchantments::enchProjectileProtection);
|
||||||
}
|
}
|
||||||
else if (FirstEnchantmentID == cEnchantments::enchFireProtection)
|
else if (FirstEnchantmentID == cEnchantments::enchFireProtection)
|
||||||
{
|
{
|
||||||
RemoveEnchantmentFromVector(a_Enchantments, cEnchantments::enchProtection);
|
RemoveEnchantmentFromVector(&a_Enchantments, cEnchantments::enchProtection);
|
||||||
RemoveEnchantmentFromVector(a_Enchantments, cEnchantments::enchBlastProtection);
|
RemoveEnchantmentFromVector(&a_Enchantments, cEnchantments::enchBlastProtection);
|
||||||
RemoveEnchantmentFromVector(a_Enchantments, cEnchantments::enchProjectileProtection);
|
RemoveEnchantmentFromVector(&a_Enchantments, cEnchantments::enchProjectileProtection);
|
||||||
}
|
}
|
||||||
else if (FirstEnchantmentID == cEnchantments::enchBlastProtection)
|
else if (FirstEnchantmentID == cEnchantments::enchBlastProtection)
|
||||||
{
|
{
|
||||||
RemoveEnchantmentFromVector(a_Enchantments, cEnchantments::enchProtection);
|
RemoveEnchantmentFromVector(&a_Enchantments, cEnchantments::enchProtection);
|
||||||
RemoveEnchantmentFromVector(a_Enchantments, cEnchantments::enchFireProtection);
|
RemoveEnchantmentFromVector(&a_Enchantments, cEnchantments::enchFireProtection);
|
||||||
RemoveEnchantmentFromVector(a_Enchantments, cEnchantments::enchProjectileProtection);
|
RemoveEnchantmentFromVector(&a_Enchantments, cEnchantments::enchProjectileProtection);
|
||||||
}
|
}
|
||||||
else if (FirstEnchantmentID == cEnchantments::enchProjectileProtection)
|
else if (FirstEnchantmentID == cEnchantments::enchProjectileProtection)
|
||||||
{
|
{
|
||||||
RemoveEnchantmentFromVector(a_Enchantments, cEnchantments::enchProtection);
|
RemoveEnchantmentFromVector(&a_Enchantments, cEnchantments::enchProtection);
|
||||||
RemoveEnchantmentFromVector(a_Enchantments, cEnchantments::enchFireProtection);
|
RemoveEnchantmentFromVector(&a_Enchantments, cEnchantments::enchFireProtection);
|
||||||
RemoveEnchantmentFromVector(a_Enchantments, cEnchantments::enchBlastProtection);
|
RemoveEnchantmentFromVector(&a_Enchantments, cEnchantments::enchBlastProtection);
|
||||||
}
|
}
|
||||||
|
|
||||||
else if (FirstEnchantmentID == cEnchantments::enchSharpness)
|
else if (FirstEnchantmentID == cEnchantments::enchSharpness)
|
||||||
{
|
{
|
||||||
RemoveEnchantmentFromVector(a_Enchantments, cEnchantments::enchSmite);
|
RemoveEnchantmentFromVector(&a_Enchantments, cEnchantments::enchSmite);
|
||||||
RemoveEnchantmentFromVector(a_Enchantments, cEnchantments::enchBaneOfArthropods);
|
RemoveEnchantmentFromVector(&a_Enchantments, cEnchantments::enchBaneOfArthropods);
|
||||||
}
|
}
|
||||||
else if (FirstEnchantmentID == cEnchantments::enchSmite)
|
else if (FirstEnchantmentID == cEnchantments::enchSmite)
|
||||||
{
|
{
|
||||||
RemoveEnchantmentFromVector(a_Enchantments, cEnchantments::enchSharpness);
|
RemoveEnchantmentFromVector(&a_Enchantments, cEnchantments::enchSharpness);
|
||||||
RemoveEnchantmentFromVector(a_Enchantments, cEnchantments::enchBaneOfArthropods);
|
RemoveEnchantmentFromVector(&a_Enchantments, cEnchantments::enchBaneOfArthropods);
|
||||||
}
|
}
|
||||||
else if (FirstEnchantmentID == cEnchantments::enchBaneOfArthropods)
|
else if (FirstEnchantmentID == cEnchantments::enchBaneOfArthropods)
|
||||||
{
|
{
|
||||||
RemoveEnchantmentFromVector(a_Enchantments, cEnchantments::enchSharpness);
|
RemoveEnchantmentFromVector(&a_Enchantments, cEnchantments::enchSharpness);
|
||||||
RemoveEnchantmentFromVector(a_Enchantments, cEnchantments::enchSmite);
|
RemoveEnchantmentFromVector(&a_Enchantments, cEnchantments::enchSmite);
|
||||||
}
|
}
|
||||||
else if (FirstEnchantmentID == cEnchantments::enchSilkTouch)
|
else if (FirstEnchantmentID == cEnchantments::enchSilkTouch)
|
||||||
{
|
{
|
||||||
RemoveEnchantmentFromVector(a_Enchantments, cEnchantments::enchFortune);
|
RemoveEnchantmentFromVector(&a_Enchantments, cEnchantments::enchFortune);
|
||||||
}
|
}
|
||||||
else if (FirstEnchantmentID == cEnchantments::enchFortune)
|
else if (FirstEnchantmentID == cEnchantments::enchFortune)
|
||||||
{
|
{
|
||||||
RemoveEnchantmentFromVector(a_Enchantments, cEnchantments::enchSilkTouch);
|
RemoveEnchantmentFromVector(&a_Enchantments, cEnchantments::enchSilkTouch);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -249,7 +249,7 @@ public:
|
|||||||
/** Called when the player will enchant a Item */
|
/** Called when the player will enchant a Item */
|
||||||
void HandleEnchantItem(Byte & WindowID, Byte & Enchantment);
|
void HandleEnchantItem(Byte & WindowID, Byte & Enchantment);
|
||||||
void AddEnchantmentWeight(cEnchantmentsVector & a_Enchantments, int a_Weight, cEnchantments a_Enchantment);
|
void AddEnchantmentWeight(cEnchantmentsVector & a_Enchantments, int a_Weight, cEnchantments a_Enchantment);
|
||||||
void RemoveEnchantmentFromVector(cEnchantmentsVector & a_Enchantments, int a_EnchantmentID);
|
void RemoveEnchantmentFromVector(cEnchantmentsVector * a_Enchantments, int a_EnchantmentID);
|
||||||
void CheckEnchantmentConflicts(cEnchantmentsVector & a_Enchantments, cEnchantments a_FirstEnchantment);
|
void CheckEnchantmentConflicts(cEnchantmentsVector & a_Enchantments, cEnchantments a_FirstEnchantment);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
Loading…
Reference in New Issue
Block a user