entity_spell_system/spell_enums.h

129 lines
3.9 KiB
C
Raw Normal View History

2019-04-20 14:02:55 +02:00
#ifndef SPELL_ENUMS_H
#define SPELL_ENUMS_H
#include "core/object.h"
class SpellEnums : public Object {
GDCLASS(SpellEnums, Object);
public:
static const String BINDING_STRING_SPELL_TYPES;
static const String BINDING_STRING_DIMINISHING_RETURN_CATEGORIES;
static const String BINDING_STRING_TRIGGER_EVENTS;
static const String BINDING_STRING_DAMAGE_TYPES;
static const String BINDING_STRING_AURA_TYPES;
2019-04-20 14:02:55 +02:00
enum DamageType {
DAMAGE_TYPE_NONE = 0,
DAMAGE_TYPE_MELEE = 1 << 0,
DAMAGE_TYPE_HOLY = 1 << 1,
DAMAGE_TYPE_SHADOW = 1 << 2,
DAMAGE_TYPE_NATURE = 1 << 3,
DAMAGE_TYPE_FIRE = 1 << 4,
DAMAGE_TYPE_FROST = 1 << 5,
DAMAGE_TYPE_LIGHTNING = 1 << 6,
DAMAGE_TYPE_CHAOS = 1 << 7,
};
enum SpellType {
SPELL_TYPE_NONE = 0,
SPELL_TYPE_MELEE = 1 << 0,
SPELL_TYPE_HOLY = 1 << 1,
SPELL_TYPE_SHADOW = 1 << 2,
SPELL_TYPE_NATURE = 1 << 3,
SPELL_TYPE_FIRE = 1 << 4,
SPELL_TYPE_FROST = 1 << 5,
SPELL_TYPE_LIGHTNING = 1 << 6,
SPELL_TYPE_CHAOS = 1 << 7,
};
enum DiminishingReturnCategory {
DIMINISHING_RETURN_CATEGORY_NONE,
DIMINISHING_RETURN_CATEGORY_ROOT,
DIMINISHING_RETURN_CATEGORY_STUN,
};
enum TriggerEvents {
TRIGGER_NONE,
TRIGGER_AURA_EVENT_S_ON_BEFORE_DAMAGE,
TRIGGER_AURA_EVENT_S_ON_DAMAGE_RECEIVE,
TRIGGER_AURA_EVENT_S_ON_HIT,
TRIGGER_AURA_EVENT_S_ON_DAMAGE_DEALT,
TRIGGER_AURA_EVENT_S_ON_AURA_REMOVE,
TRIGGER_AURA_EVENT_S_ON_AURA_DISPELL,
TRIGGER_AURA_EVENT_S_ON_BEFORE_AURA_APPLIED,
TRIGGER_AURA_EVENT_S_ON_AFTER_AURA_APPLIED,
TRIGGER_AURA_EVENT_C_ON_AURA_ADDED,
TRIGGER_AURA_EVENT_C_ON_AURA_REMOVED,
TRIGGER_AURA_EVENT_C_ON_AURA_REFRESHED,
};
enum AuraType {
AURA_TYPE_NONE = 0,
AURA_TYPE_MAGIC = 1,
AURA_TYPE_POISON = 2,
AURA_TYPE_PHYSICAL = 3,
AURA_TYPE_CURSE = 4,
AURA_TYPE_BLEED = 5,
AURA_TYPE_TALENT = 6,
};
2019-04-20 14:02:55 +02:00
SpellEnums() {}
protected:
static void _bind_methods() {
BIND_ENUM_CONSTANT(DAMAGE_TYPE_NONE);
BIND_ENUM_CONSTANT(DAMAGE_TYPE_MELEE);
BIND_ENUM_CONSTANT(DAMAGE_TYPE_HOLY);
BIND_ENUM_CONSTANT(DAMAGE_TYPE_SHADOW);
BIND_ENUM_CONSTANT(DAMAGE_TYPE_NATURE);
BIND_ENUM_CONSTANT(DAMAGE_TYPE_FIRE);
BIND_ENUM_CONSTANT(DAMAGE_TYPE_FROST);
BIND_ENUM_CONSTANT(DAMAGE_TYPE_LIGHTNING);
BIND_ENUM_CONSTANT(DAMAGE_TYPE_CHAOS);
BIND_ENUM_CONSTANT(SPELL_TYPE_NONE);
BIND_ENUM_CONSTANT(SPELL_TYPE_MELEE);
BIND_ENUM_CONSTANT(SPELL_TYPE_HOLY);
BIND_ENUM_CONSTANT(SPELL_TYPE_SHADOW);
BIND_ENUM_CONSTANT(SPELL_TYPE_NATURE);
BIND_ENUM_CONSTANT(SPELL_TYPE_FIRE);
BIND_ENUM_CONSTANT(SPELL_TYPE_FROST);
BIND_ENUM_CONSTANT(SPELL_TYPE_LIGHTNING);
BIND_ENUM_CONSTANT(SPELL_TYPE_CHAOS);
BIND_ENUM_CONSTANT(DIMINISHING_RETURN_CATEGORY_NONE);
BIND_ENUM_CONSTANT(DIMINISHING_RETURN_CATEGORY_ROOT);
BIND_ENUM_CONSTANT(DIMINISHING_RETURN_CATEGORY_STUN);
BIND_ENUM_CONSTANT(TRIGGER_NONE);
BIND_ENUM_CONSTANT(TRIGGER_AURA_EVENT_S_ON_BEFORE_DAMAGE);
BIND_ENUM_CONSTANT(TRIGGER_AURA_EVENT_S_ON_DAMAGE_RECEIVE);
BIND_ENUM_CONSTANT(TRIGGER_AURA_EVENT_S_ON_HIT);
BIND_ENUM_CONSTANT(TRIGGER_AURA_EVENT_S_ON_DAMAGE_DEALT);
BIND_ENUM_CONSTANT(TRIGGER_AURA_EVENT_S_ON_AURA_REMOVE);
BIND_ENUM_CONSTANT(TRIGGER_AURA_EVENT_S_ON_AURA_DISPELL);
BIND_ENUM_CONSTANT(TRIGGER_AURA_EVENT_S_ON_BEFORE_AURA_APPLIED);
BIND_ENUM_CONSTANT(TRIGGER_AURA_EVENT_S_ON_AFTER_AURA_APPLIED);
BIND_ENUM_CONSTANT(TRIGGER_AURA_EVENT_C_ON_AURA_ADDED);
BIND_ENUM_CONSTANT(TRIGGER_AURA_EVENT_C_ON_AURA_REMOVED);
BIND_ENUM_CONSTANT(TRIGGER_AURA_EVENT_C_ON_AURA_REFRESHED);
BIND_ENUM_CONSTANT(AURA_TYPE_NONE);
BIND_ENUM_CONSTANT(AURA_TYPE_MAGIC);
BIND_ENUM_CONSTANT(AURA_TYPE_POISON);
BIND_ENUM_CONSTANT(AURA_TYPE_PHYSICAL);
BIND_ENUM_CONSTANT(AURA_TYPE_CURSE);
BIND_ENUM_CONSTANT(AURA_TYPE_BLEED);
BIND_ENUM_CONSTANT(AURA_TYPE_TALENT);
2019-04-20 14:02:55 +02:00
}
};
VARIANT_ENUM_CAST(SpellEnums::SpellType);
VARIANT_ENUM_CAST(SpellEnums::DiminishingReturnCategory);
VARIANT_ENUM_CAST(SpellEnums::TriggerEvents);
VARIANT_ENUM_CAST(SpellEnums::DamageType);
VARIANT_ENUM_CAST(SpellEnums::AuraType);
2019-04-20 14:02:55 +02:00
#endif