mirror of
https://github.com/Relintai/entity_spell_system.git
synced 2025-02-22 17:18:12 +01:00
110 lines
3.4 KiB
C++
110 lines
3.4 KiB
C++
#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;
|
|
|
|
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,
|
|
};
|
|
|
|
|
|
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);
|
|
}
|
|
};
|
|
|
|
VARIANT_ENUM_CAST(SpellEnums::SpellType);
|
|
VARIANT_ENUM_CAST(SpellEnums::DiminishingReturnCategory);
|
|
VARIANT_ENUM_CAST(SpellEnums::TriggerEvents);
|
|
VARIANT_ENUM_CAST(SpellEnums::DamageType);
|
|
|
|
#endif
|