entity_spell_system/spell_enums.h

178 lines
5.3 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_SPELL_CATEGORY;
2019-04-20 14:02:55 +02:00
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;
static const String BINDING_STRING_COLLIDER_TYPE;
static const String BINDING_STRING_TARGET_TYPE;
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 SpellCategory {
SPELL_CATEGORY_NORMAL = 0,
SPELL_CATEGORY_ALCHEMY = 1,
SPELL_CATEGORY_COOKING = 2,
SPELL_CATEGORY_ENGINEERING = 3,
SPELL_CATEGORY_CRAFTING = 4,
SPELL_CATEGORY_HIDDEN = 5,
SPELL_CATEGORY_DEVELOPMENT = 6,
};
2019-04-20 14:02:55 +02:00
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-09-12 18:22:50 +02:00
AURA_TYPE_SKILL = 7,
};
2019-04-20 14:02:55 +02:00
enum ColliderType {
COLLIDER_TYPE_NONE = 0,
COLLIDER_TYPE_SPHERE,
COLLIDER_TYPE_BOX
};
enum TargetType {
TARGET_TYPE_NONE = 0,
TARGET_TYPE_NODE,
TARGET_TYPE_BONE_ID,
TARGET_TYPE_COORDS,
};
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_CATEGORY_NORMAL);
BIND_ENUM_CONSTANT(SPELL_CATEGORY_ALCHEMY);
BIND_ENUM_CONSTANT(SPELL_CATEGORY_COOKING);
BIND_ENUM_CONSTANT(SPELL_CATEGORY_ENGINEERING);
BIND_ENUM_CONSTANT(SPELL_CATEGORY_CRAFTING);
BIND_ENUM_CONSTANT(SPELL_CATEGORY_HIDDEN);
BIND_ENUM_CONSTANT(SPELL_CATEGORY_DEVELOPMENT);
2019-04-20 14:02:55 +02:00
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-09-12 18:22:50 +02:00
BIND_ENUM_CONSTANT(AURA_TYPE_SKILL);
BIND_ENUM_CONSTANT(COLLIDER_TYPE_NONE);
BIND_ENUM_CONSTANT(COLLIDER_TYPE_SPHERE);
BIND_ENUM_CONSTANT(COLLIDER_TYPE_BOX);
BIND_ENUM_CONSTANT(TARGET_TYPE_NONE);
BIND_ENUM_CONSTANT(TARGET_TYPE_NODE);
BIND_ENUM_CONSTANT(TARGET_TYPE_BONE_ID);
BIND_ENUM_CONSTANT(TARGET_TYPE_COORDS);
2019-04-20 14:02:55 +02:00
}
};
VARIANT_ENUM_CAST(SpellEnums::SpellType);
VARIANT_ENUM_CAST(SpellEnums::SpellCategory);
2019-04-20 14:02:55 +02:00
VARIANT_ENUM_CAST(SpellEnums::DiminishingReturnCategory);
VARIANT_ENUM_CAST(SpellEnums::TriggerEvents);
VARIANT_ENUM_CAST(SpellEnums::DamageType);
VARIANT_ENUM_CAST(SpellEnums::AuraType);
VARIANT_ENUM_CAST(SpellEnums::ColliderType);
VARIANT_ENUM_CAST(SpellEnums::TargetType);
2019-04-20 14:02:55 +02:00
#endif