aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.World/DamageEnchantment.h
blob: a6abffdc4baf4f94e5911d20df09b001a8dd000d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#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 float getDamageBonus(int level, shared_ptr<LivingEntity> target);
	virtual int getDescriptionId();
	virtual bool isCompatibleWith(Enchantment *other) const;
	virtual bool canEnchant(shared_ptr<ItemInstance> item);
};