Files
MinecraftConsoles/Minecraft.World/DamageEnchantment.h
void_17 7074f35e4b shared_ptr -> std::shared_ptr
This is one of the first commits in a plan to remove all `using namespace std;` lines in the entire codebase as it is considered anti-pattern today.
2026-03-02 15:58:20 +07:00

30 lines
723 B
C++

#pragma once
#include "Enchantment.h"
class DamageEnchantment : public Enchantment
{
public:
static const int ALL = 0;
static const int UNDEAD = 1;
static const int ARTHROPODS = 2;
private:
static const int names[];
static const int minCost[];
static const int levelCost[];
static const int levelCostSpan[];
public:
const int type;
DamageEnchantment(int id, int frequency, int type);
virtual int getMinCost(int level);
virtual int getMaxCost(int level);
virtual int getMaxLevel();
virtual int getDamageBonus(int level, std::shared_ptr<Mob> target);
virtual int getDescriptionId();
virtual bool isCompatibleWith(Enchantment *other) const;
virtual bool canEnchant(std::shared_ptr<ItemInstance> item);
};