first commit
This commit is contained in:
36
Minecraft.World/DigDurabilityEnchantment.cpp
Normal file
36
Minecraft.World/DigDurabilityEnchantment.cpp
Normal file
@@ -0,0 +1,36 @@
|
||||
#include "stdafx.h"
|
||||
#include "net.minecraft.world.item.h"
|
||||
#include "DigDurabilityEnchantment.h"
|
||||
|
||||
DigDurabilityEnchantment::DigDurabilityEnchantment(int id, int frequency) : Enchantment(id, frequency, EnchantmentCategory::digger)
|
||||
{
|
||||
setDescriptionId(IDS_ENCHANTMENT_DURABILITY);
|
||||
}
|
||||
|
||||
int DigDurabilityEnchantment::getMinCost(int level)
|
||||
{
|
||||
return 5 + (level - 1) * 8;
|
||||
}
|
||||
|
||||
int DigDurabilityEnchantment::getMaxCost(int level)
|
||||
{
|
||||
return Enchantment::getMinCost(level) + 50;
|
||||
}
|
||||
|
||||
int DigDurabilityEnchantment::getMaxLevel()
|
||||
{
|
||||
return 3;
|
||||
}
|
||||
|
||||
bool DigDurabilityEnchantment::canEnchant(shared_ptr<ItemInstance> item)
|
||||
{
|
||||
if (item->isDamageableItem()) return true;
|
||||
return Enchantment::canEnchant(item);
|
||||
}
|
||||
|
||||
bool DigDurabilityEnchantment::shouldIgnoreDurabilityDrop(shared_ptr<ItemInstance> item, int level, Random *random)
|
||||
{
|
||||
ArmorItem *armor = dynamic_cast<ArmorItem *>(item->getItem());
|
||||
if (armor && random->nextFloat() < 0.6f) return false;
|
||||
return random->nextInt(level + 1) > 0;
|
||||
}
|
||||
Reference in New Issue
Block a user