the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
at main 62 lines 1.6 kB view raw
1#include "stdafx.h" 2#include "net.minecraft.world.entity.h" 3#include "net.minecraft.world.item.h" 4#include "DamageEnchantment.h" 5 6const int DamageEnchantment::names[] = {IDS_ENCHANTMENT_DAMAGE_ALL, IDS_ENCHANTMENT_DAMAGE_UNDEAD, IDS_ENCHANTMENT_DAMAGE_ARTHROPODS}; 7const int DamageEnchantment::minCost[] = {1, 5, 5}; 8const int DamageEnchantment::levelCost[] = {11, 8, 8}; 9const int DamageEnchantment::levelCostSpan[] = {20, 20, 20}; 10 11DamageEnchantment::DamageEnchantment(int id, int frequency, int type) : Enchantment(id, frequency, EnchantmentCategory::weapon), type(type) 12{ 13} 14 15int DamageEnchantment::getMinCost(int level) 16{ 17 return minCost[type] + (level - 1) * levelCost[type]; 18} 19 20int DamageEnchantment::getMaxCost(int level) 21{ 22 return getMinCost(level) + levelCostSpan[type]; 23} 24 25int DamageEnchantment::getMaxLevel() 26{ 27 return 5; 28} 29 30float DamageEnchantment::getDamageBonus(int level, shared_ptr<LivingEntity> target) 31{ 32 if (type == ALL) 33 { 34 return level *1.25f; 35 } 36 if (type == UNDEAD && target->getMobType() == UNDEAD) 37 { 38 return level * 2.5f; 39 } 40 if (type == ARTHROPODS && target->getMobType() == ARTHROPOD) 41 { 42 return level * 2.5f; 43 } 44 return 0; 45} 46 47int DamageEnchantment::getDescriptionId() 48{ 49 return names[type]; 50} 51 52bool DamageEnchantment::isCompatibleWith(Enchantment *other) const 53{ 54 return dynamic_cast<DamageEnchantment *>(other) == NULL; 55} 56 57bool DamageEnchantment::canEnchant(shared_ptr<ItemInstance> item) 58{ 59 HatchetItem *hatchet = dynamic_cast<HatchetItem *>(item->getItem()); 60 if (hatchet) return true; 61 return Enchantment::canEnchant(item); 62}