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.
30 lines
723 B
C++
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);
|
|
}; |