Something went wrong. Try again.
the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
Something went wrong. Try again.
1.6 kB · 62 lines
C++
at master
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162#include "stdafx.h"#include "net.minecraft.world.entity.h"#include "net.minecraft.world.item.h"#include "DamageEnchantment.h"
const int DamageEnchantment::names[] = {IDS_ENCHANTMENT_DAMAGE_ALL, IDS_ENCHANTMENT_DAMAGE_UNDEAD, IDS_ENCHANTMENT_DAMAGE_ARTHROPODS};const int DamageEnchantment::minCost[] = {1, 5, 5};const int DamageEnchantment::levelCost[] = {11, 8, 8};const int DamageEnchantment::levelCostSpan[] = {20, 20, 20};
DamageEnchantment::DamageEnchantment(int id, int frequency, int type) : Enchantment(id, frequency, EnchantmentCategory::weapon), type(type){}
int DamageEnchantment::getMinCost(int level){ return minCost[type] + (level - 1) * levelCost[type];}
int DamageEnchantment::getMaxCost(int level){ return getMinCost(level) + levelCostSpan[type];}
int DamageEnchantment::getMaxLevel(){ return 5;}
float DamageEnchantment::getDamageBonus(int level, shared_ptr<LivingEntity> target){ if (type == ALL) { return level *1.25f; } if (type == UNDEAD && target->getMobType() == UNDEAD) { return level * 2.5f; } if (type == ARTHROPODS && target->getMobType() == ARTHROPOD) { return level * 2.5f; } return 0;}
int DamageEnchantment::getDescriptionId(){ return names[type];}
bool DamageEnchantment::isCompatibleWith(Enchantment *other) const{ return dynamic_cast<DamageEnchantment *>(other) == NULL;}
bool DamageEnchantment::canEnchant(shared_ptr<ItemInstance> item){ HatchetItem *hatchet = dynamic_cast<HatchetItem *>(item->getItem()); if (hatchet) return true; return Enchantment::canEnchant(item);}