mirror of
https://github.com/Relintai/entity_spell_system.git
synced 2025-04-17 21:26:35 +02:00
Levels are now (properly) separated into class and character levels.
This commit is contained in:
parent
e16c021ac8
commit
a2d4df0c89
@ -785,11 +785,18 @@ void Aura::son_xp_gained(Ref<AuraData> data, int value) {
|
||||
call("_son_xp_gained", data, value);
|
||||
}
|
||||
|
||||
void Aura::son_level_up(Ref<AuraData> data, int value) {
|
||||
void Aura::son_class_level_up(Ref<AuraData> data, int value) {
|
||||
ERR_FAIL_COND(!data.is_valid());
|
||||
|
||||
if (has_method("_son_level_up"))
|
||||
call("_son_level_up", data, value);
|
||||
if (has_method("_son_class_level_up"))
|
||||
call("_son_class_level_up", data, value);
|
||||
}
|
||||
|
||||
void Aura::son_character_level_up(Ref<AuraData> data, int value) {
|
||||
ERR_FAIL_COND(!data.is_valid());
|
||||
|
||||
if (has_method("_son_character_level_up"))
|
||||
call("_son_character_level_up", data, value);
|
||||
}
|
||||
|
||||
void Aura::con_cast_failed(Ref<AuraData> data, Ref<SpellCastInfo> info) {
|
||||
@ -908,11 +915,18 @@ void Aura::con_xp_gained(Ref<AuraData> data, int value) {
|
||||
call("_con_xp_gained", data, value);
|
||||
}
|
||||
|
||||
void Aura::con_level_up(Ref<AuraData> data, int value) {
|
||||
void Aura::con_class_level_up(Ref<AuraData> data, int value) {
|
||||
ERR_FAIL_COND(!data.is_valid());
|
||||
|
||||
if (has_method("_con_level_up"))
|
||||
call("_con_level_up", data, value);
|
||||
if (has_method("_con_class_level_up"))
|
||||
call("_con_class_level_up", data, value);
|
||||
}
|
||||
|
||||
void Aura::con_character_level_up(Ref<AuraData> data, int value) {
|
||||
ERR_FAIL_COND(!data.is_valid());
|
||||
|
||||
if (has_method("_con_character_level_up"))
|
||||
call("_con_character_level_up", data, value);
|
||||
}
|
||||
|
||||
//Equipment
|
||||
@ -1301,7 +1315,8 @@ void Aura::_bind_methods() {
|
||||
ClassDB::bind_method(D_METHOD("son_physics_process", "data"), &Aura::son_physics_process);
|
||||
|
||||
ClassDB::bind_method(D_METHOD("son_xp_gained", "data", "value"), &Aura::son_xp_gained);
|
||||
ClassDB::bind_method(D_METHOD("son_level_up", "data", "value"), &Aura::son_level_up);
|
||||
ClassDB::bind_method(D_METHOD("son_class_level_up", "data", "value"), &Aura::son_class_level_up);
|
||||
ClassDB::bind_method(D_METHOD("son_character_level_up", "data", "value"), &Aura::son_character_level_up);
|
||||
|
||||
BIND_VMETHOD(MethodInfo("_son_before_cast", PropertyInfo(Variant::OBJECT, "data", PROPERTY_HINT_RESOURCE_TYPE, "AuraData"), PropertyInfo(Variant::OBJECT, "info", PROPERTY_HINT_RESOURCE_TYPE, "SpellCastInfo")));
|
||||
BIND_VMETHOD(MethodInfo("_son_before_cast_target", PropertyInfo(Variant::OBJECT, "data", PROPERTY_HINT_RESOURCE_TYPE, "AuraData"), PropertyInfo(Variant::OBJECT, "info", PROPERTY_HINT_RESOURCE_TYPE, "SpellCastInfo")));
|
||||
@ -1344,7 +1359,8 @@ void Aura::_bind_methods() {
|
||||
BIND_VMETHOD(MethodInfo("_son_physics_process", PropertyInfo(Variant::OBJECT, "data", PROPERTY_HINT_RESOURCE_TYPE, "AuraData")));
|
||||
|
||||
BIND_VMETHOD(MethodInfo("_son_xp_gained", PropertyInfo(Variant::OBJECT, "data", PROPERTY_HINT_RESOURCE_TYPE, "AuraData"), PropertyInfo(Variant::INT, "value")));
|
||||
BIND_VMETHOD(MethodInfo("_son_level_up", PropertyInfo(Variant::OBJECT, "data", PROPERTY_HINT_RESOURCE_TYPE, "AuraData"), PropertyInfo(Variant::INT, "value")));
|
||||
BIND_VMETHOD(MethodInfo("_son_class_level_up", PropertyInfo(Variant::OBJECT, "data", PROPERTY_HINT_RESOURCE_TYPE, "AuraData"), PropertyInfo(Variant::INT, "value")));
|
||||
BIND_VMETHOD(MethodInfo("_son_character_level_up", PropertyInfo(Variant::OBJECT, "data", PROPERTY_HINT_RESOURCE_TYPE, "AuraData"), PropertyInfo(Variant::INT, "value")));
|
||||
|
||||
//Clientside Event Handlers
|
||||
ClassDB::bind_method(D_METHOD("con_cast_failed", "data", "info"), &Aura::con_cast_failed);
|
||||
@ -1373,7 +1389,8 @@ void Aura::_bind_methods() {
|
||||
ClassDB::bind_method(D_METHOD("con_gcd_finished", "data"), &Aura::con_gcd_finished);
|
||||
|
||||
ClassDB::bind_method(D_METHOD("con_xp_gained", "data", "value"), &Aura::con_xp_gained);
|
||||
ClassDB::bind_method(D_METHOD("con_level_up", "data", "value"), &Aura::con_level_up);
|
||||
ClassDB::bind_method(D_METHOD("con_class_level_up", "data", "value"), &Aura::con_class_level_up);
|
||||
ClassDB::bind_method(D_METHOD("con_character_level_up", "data", "value"), &Aura::con_character_level_up);
|
||||
|
||||
BIND_VMETHOD(MethodInfo("_con_cast_failed", PropertyInfo(Variant::OBJECT, "data", PROPERTY_HINT_RESOURCE_TYPE, "AuraData"), PropertyInfo(Variant::OBJECT, "info", PROPERTY_HINT_RESOURCE_TYPE, "SpellCastInfo")));
|
||||
BIND_VMETHOD(MethodInfo("_con_cast_started", PropertyInfo(Variant::OBJECT, "data", PROPERTY_HINT_RESOURCE_TYPE, "AuraData"), PropertyInfo(Variant::OBJECT, "info", PROPERTY_HINT_RESOURCE_TYPE, "SpellCastInfo")));
|
||||
@ -1401,7 +1418,8 @@ void Aura::_bind_methods() {
|
||||
BIND_VMETHOD(MethodInfo("_con_gcd_finished", PropertyInfo(Variant::OBJECT, "data", PROPERTY_HINT_RESOURCE_TYPE, "AuraData")));
|
||||
|
||||
BIND_VMETHOD(MethodInfo("_con_xp_gained", PropertyInfo(Variant::OBJECT, "data", PROPERTY_HINT_RESOURCE_TYPE, "AuraData"), PropertyInfo(Variant::INT, "value")));
|
||||
BIND_VMETHOD(MethodInfo("_con_level_up", PropertyInfo(Variant::OBJECT, "data", PROPERTY_HINT_RESOURCE_TYPE, "AuraData"), PropertyInfo(Variant::INT, "value")));
|
||||
BIND_VMETHOD(MethodInfo("_con_class_level_up", PropertyInfo(Variant::OBJECT, "data", PROPERTY_HINT_RESOURCE_TYPE, "AuraData"), PropertyInfo(Variant::INT, "value")));
|
||||
BIND_VMETHOD(MethodInfo("_con_character_level_up", PropertyInfo(Variant::OBJECT, "data", PROPERTY_HINT_RESOURCE_TYPE, "AuraData"), PropertyInfo(Variant::INT, "value")));
|
||||
|
||||
//Equipment
|
||||
|
||||
|
@ -293,7 +293,8 @@ public:
|
||||
void son_physics_process(Ref<AuraData> data);
|
||||
|
||||
void son_xp_gained(Ref<AuraData> data, int value);
|
||||
void son_level_up(Ref<AuraData> data, int value);
|
||||
void son_class_level_up(Ref<AuraData> data, int value);
|
||||
void son_character_level_up(Ref<AuraData> data, int value);
|
||||
|
||||
//Clientside Event Handlers
|
||||
void con_cast_failed(Ref<AuraData> data, Ref<SpellCastInfo> info);
|
||||
@ -322,7 +323,8 @@ public:
|
||||
void con_gcd_finished(Ref<AuraData> data);
|
||||
|
||||
void con_xp_gained(Ref<AuraData> data, int value);
|
||||
void con_level_up(Ref<AuraData> data, int value);
|
||||
void con_class_level_up(Ref<AuraData> data, int value);
|
||||
void con_character_level_up(Ref<AuraData> data, int value);
|
||||
|
||||
//Equipment
|
||||
bool should_deny_equip(Ref<AuraData> data, ItemEnums::EquipSlots equip_slot, Ref<ItemInstance> item);
|
||||
|
@ -25,31 +25,57 @@ SOFTWARE.
|
||||
#include "../../entity_enums.h"
|
||||
|
||||
int XPData::get_max_level() {
|
||||
return EntityEnums::MAX_LEVEL;
|
||||
return EntityEnums::MAX_CHARACTER_LEVEL;
|
||||
}
|
||||
|
||||
int XPData::get_xp(int level) {
|
||||
ERR_FAIL_INDEX_V(level - 1, EntityEnums::MAX_LEVEL, 9999999);
|
||||
ERR_FAIL_INDEX_V(level - 1, EntityEnums::MAX_CHARACTER_LEVEL, 9999999);
|
||||
|
||||
return _xps.get(level - 1);
|
||||
}
|
||||
|
||||
void XPData::set_xp(int level, int value) {
|
||||
ERR_FAIL_INDEX(level - 1, EntityEnums::MAX_LEVEL);
|
||||
ERR_FAIL_INDEX(level - 1, EntityEnums::MAX_CHARACTER_LEVEL);
|
||||
|
||||
_xps.set(level - 1, value);
|
||||
}
|
||||
|
||||
bool XPData::can_level_up(int level) {
|
||||
return level < EntityEnums::MAX_LEVEL;
|
||||
return level < EntityEnums::MAX_CHARACTER_LEVEL;
|
||||
}
|
||||
|
||||
int XPData::get_class_max_level() {
|
||||
return EntityEnums::MAX_CLASS_LEVEL;
|
||||
}
|
||||
|
||||
int XPData::get_class_xp(int level) {
|
||||
ERR_FAIL_INDEX_V(level - 1, EntityEnums::MAX_CLASS_LEVEL, 9999999);
|
||||
|
||||
return _class_xps.get(level - 1);
|
||||
}
|
||||
|
||||
void XPData::set_class_xp(int level, int value) {
|
||||
ERR_FAIL_INDEX(level - 1, EntityEnums::MAX_CLASS_LEVEL);
|
||||
|
||||
_class_xps.set(level - 1, value);
|
||||
}
|
||||
|
||||
bool XPData::can_class_level_up(int level) {
|
||||
return level < EntityEnums::MAX_CLASS_LEVEL;
|
||||
}
|
||||
|
||||
XPData::XPData() {
|
||||
_xps.resize(EntityEnums::MAX_LEVEL);
|
||||
_xps.resize(EntityEnums::MAX_CHARACTER_LEVEL);
|
||||
|
||||
for (int i = 0; i < _xps.size(); ++i) {
|
||||
_xps.set(i, 0);
|
||||
}
|
||||
|
||||
_class_xps.resize(EntityEnums::MAX_CLASS_LEVEL);
|
||||
|
||||
for (int i = 0; i < _class_xps.size(); ++i) {
|
||||
_class_xps.set(i, 0);
|
||||
}
|
||||
}
|
||||
|
||||
XPData::~XPData() {
|
||||
@ -62,7 +88,17 @@ void XPData::_bind_methods() {
|
||||
ClassDB::bind_method(D_METHOD("can_level_up", "level"), &XPData::can_level_up);
|
||||
|
||||
ADD_GROUP("Level", "level_");
|
||||
for (int i = 1; i <= EntityEnums::MAX_LEVEL; ++i) {
|
||||
for (int i = 1; i <= EntityEnums::MAX_CHARACTER_LEVEL; ++i) {
|
||||
ADD_PROPERTYI(PropertyInfo(Variant::INT, "level_" + String::num(i)), "set_xp", "get_xp", i);
|
||||
}
|
||||
|
||||
ClassDB::bind_method(D_METHOD("get_class_max_level"), &XPData::get_class_max_level);
|
||||
ClassDB::bind_method(D_METHOD("get_class_xp", "level"), &XPData::get_class_xp);
|
||||
ClassDB::bind_method(D_METHOD("set_class_xp", "level", "value"), &XPData::set_class_xp);
|
||||
ClassDB::bind_method(D_METHOD("can_class_level_up", "level"), &XPData::can_class_level_up);
|
||||
|
||||
ADD_GROUP("Class Level", "class_level_");
|
||||
for (int i = 1; i <= EntityEnums::MAX_CLASS_LEVEL; ++i) {
|
||||
ADD_PROPERTYI(PropertyInfo(Variant::INT, "class_level_" + String::num(i)), "set_class_xp", "get_class_xp", i);
|
||||
}
|
||||
}
|
||||
|
@ -36,6 +36,11 @@ public:
|
||||
void set_xp(int level, int value);
|
||||
bool can_level_up(int level);
|
||||
|
||||
int get_class_max_level();
|
||||
int get_class_xp(int level);
|
||||
void set_class_xp(int level, int value);
|
||||
bool can_class_level_up(int level);
|
||||
|
||||
XPData();
|
||||
~XPData();
|
||||
|
||||
@ -44,6 +49,7 @@ protected:
|
||||
|
||||
private:
|
||||
Vector<int> _xps;
|
||||
Vector<int> _class_xps;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
@ -632,18 +632,32 @@ void EntityClassData::son_xp_gained_bind(Node *entity, int value) {
|
||||
son_xp_gained(e, value);
|
||||
}
|
||||
|
||||
void EntityClassData::son_level_up(Entity *entity, int value) {
|
||||
if (has_method("_son_level_up"))
|
||||
call("_son_level_up", entity);
|
||||
void EntityClassData::son_class_level_up(Entity *entity, int value) {
|
||||
if (has_method("_son_class_level_up"))
|
||||
call("_son_class_level_up", entity);
|
||||
}
|
||||
void EntityClassData::son_level_up_bind(Node *entity, int value) {
|
||||
void EntityClassData::son_class_level_up_bind(Node *entity, int value) {
|
||||
ERR_FAIL_COND(!ObjectDB::instance_validate(entity));
|
||||
|
||||
Entity *e = Object::cast_to<Entity>(entity);
|
||||
|
||||
ERR_FAIL_COND(e == NULL);
|
||||
|
||||
son_level_up(e, value);
|
||||
son_class_level_up(e, value);
|
||||
}
|
||||
|
||||
void EntityClassData::son_character_level_up(Entity *entity, int value) {
|
||||
if (has_method("_son_character_level_up"))
|
||||
call("_son_character_level_up", entity);
|
||||
}
|
||||
void EntityClassData::son_character_level_up_bind(Node *entity, int value) {
|
||||
ERR_FAIL_COND(!ObjectDB::instance_validate(entity));
|
||||
|
||||
Entity *e = Object::cast_to<Entity>(entity);
|
||||
|
||||
ERR_FAIL_COND(e == NULL);
|
||||
|
||||
son_character_level_up(e, value);
|
||||
}
|
||||
|
||||
//Clientside Event Handlers
|
||||
@ -810,18 +824,32 @@ void EntityClassData::con_xp_gained_bind(Node *entity, int value) {
|
||||
con_xp_gained(e, value);
|
||||
}
|
||||
|
||||
void EntityClassData::con_level_up(Entity *entity, int value) {
|
||||
if (has_method("_con_level_up"))
|
||||
call("_con_level_up", entity);
|
||||
void EntityClassData::con_class_level_up(Entity *entity, int value) {
|
||||
if (has_method("_con_class_level_up"))
|
||||
call("_con_class_level_up", entity);
|
||||
}
|
||||
void EntityClassData::con_level_up_bind(Node *entity, int value) {
|
||||
void EntityClassData::con_class_level_up_bind(Node *entity, int value) {
|
||||
ERR_FAIL_COND(!ObjectDB::instance_validate(entity));
|
||||
|
||||
Entity *e = Object::cast_to<Entity>(entity);
|
||||
|
||||
ERR_FAIL_COND(e == NULL);
|
||||
|
||||
con_level_up(e, value);
|
||||
con_class_level_up(e, value);
|
||||
}
|
||||
|
||||
void EntityClassData::con_character_level_up(Entity *entity, int value) {
|
||||
if (has_method("_con_character_level_up"))
|
||||
call("_con_character_level_up", entity);
|
||||
}
|
||||
void EntityClassData::con_character_level_up_bind(Node *entity, int value) {
|
||||
ERR_FAIL_COND(!ObjectDB::instance_validate(entity));
|
||||
|
||||
Entity *e = Object::cast_to<Entity>(entity);
|
||||
|
||||
ERR_FAIL_COND(e == NULL);
|
||||
|
||||
con_character_level_up(e, value);
|
||||
}
|
||||
|
||||
//Equipment
|
||||
@ -955,7 +983,8 @@ void EntityClassData::_bind_methods() {
|
||||
ClassDB::bind_method(D_METHOD("son_gcd_finished", "entity"), &EntityClassData::son_gcd_finished_bind);
|
||||
|
||||
ClassDB::bind_method(D_METHOD("son_xp_gained", "entity", "value"), &EntityClassData::son_xp_gained_bind);
|
||||
ClassDB::bind_method(D_METHOD("son_level_up", "entity", "value"), &EntityClassData::son_level_up_bind);
|
||||
ClassDB::bind_method(D_METHOD("son_class_level_up", "entity", "value"), &EntityClassData::son_class_level_up_bind);
|
||||
ClassDB::bind_method(D_METHOD("son_character_level_up", "entity", "value"), &EntityClassData::son_character_level_up_bind);
|
||||
|
||||
BIND_VMETHOD(MethodInfo("_son_before_cast", PropertyInfo(Variant::OBJECT, "info", PROPERTY_HINT_RESOURCE_TYPE, "SpellCastInfo")));
|
||||
BIND_VMETHOD(MethodInfo("_son_before_cast_target", PropertyInfo(Variant::OBJECT, "info", PROPERTY_HINT_RESOURCE_TYPE, "SpellCastInfo")));
|
||||
@ -993,7 +1022,8 @@ void EntityClassData::_bind_methods() {
|
||||
BIND_VMETHOD(MethodInfo("_son_gcd_finished", PropertyInfo(Variant::OBJECT, "entity", PROPERTY_HINT_RESOURCE_TYPE, "Entity")));
|
||||
|
||||
BIND_VMETHOD(MethodInfo("_son_xp_gained", PropertyInfo(Variant::OBJECT, "entity", PROPERTY_HINT_RESOURCE_TYPE, "Entity"), PropertyInfo(Variant::INT, "value")));
|
||||
BIND_VMETHOD(MethodInfo("_son_level_up", PropertyInfo(Variant::OBJECT, "entity", PROPERTY_HINT_RESOURCE_TYPE, "Entity"), PropertyInfo(Variant::INT, "value")));
|
||||
BIND_VMETHOD(MethodInfo("_son_class_level_up", PropertyInfo(Variant::OBJECT, "entity", PROPERTY_HINT_RESOURCE_TYPE, "Entity"), PropertyInfo(Variant::INT, "value")));
|
||||
BIND_VMETHOD(MethodInfo("_son_character_level_up", PropertyInfo(Variant::OBJECT, "entity", PROPERTY_HINT_RESOURCE_TYPE, "Entity"), PropertyInfo(Variant::INT, "value")));
|
||||
|
||||
BIND_VMETHOD(MethodInfo("_setup_resources", PropertyInfo(Variant::OBJECT, "entity", PROPERTY_HINT_RESOURCE_TYPE, "Entity")));
|
||||
|
||||
@ -1019,7 +1049,8 @@ void EntityClassData::_bind_methods() {
|
||||
ClassDB::bind_method(D_METHOD("con_gcd_finished", "entity"), &EntityClassData::con_gcd_finished_bind);
|
||||
|
||||
ClassDB::bind_method(D_METHOD("con_xp_gained", "entity", "value"), &EntityClassData::con_xp_gained_bind);
|
||||
ClassDB::bind_method(D_METHOD("con_level_up", "entity", "value"), &EntityClassData::con_level_up_bind);
|
||||
ClassDB::bind_method(D_METHOD("con_class_level_up", "entity", "value"), &EntityClassData::con_class_level_up_bind);
|
||||
ClassDB::bind_method(D_METHOD("con_character_level_up", "entity", "value"), &EntityClassData::con_character_level_up_bind);
|
||||
|
||||
BIND_VMETHOD(MethodInfo("_con_cast_failed", PropertyInfo(Variant::OBJECT, "info", PROPERTY_HINT_RESOURCE_TYPE, "SpellCastInfo")));
|
||||
BIND_VMETHOD(MethodInfo("_con_cast_started", PropertyInfo(Variant::OBJECT, "info", PROPERTY_HINT_RESOURCE_TYPE, "SpellCastInfo")));
|
||||
@ -1042,7 +1073,8 @@ void EntityClassData::_bind_methods() {
|
||||
BIND_VMETHOD(MethodInfo("_con_gcd_finished", PropertyInfo(Variant::OBJECT, "entity", PROPERTY_HINT_RESOURCE_TYPE, "Entity")));
|
||||
|
||||
BIND_VMETHOD(MethodInfo("_con_xp_gained", PropertyInfo(Variant::OBJECT, "entity", PROPERTY_HINT_RESOURCE_TYPE, "Entity"), PropertyInfo(Variant::INT, "value")));
|
||||
BIND_VMETHOD(MethodInfo("_con_level_up", PropertyInfo(Variant::OBJECT, "entity", PROPERTY_HINT_RESOURCE_TYPE, "Entity"), PropertyInfo(Variant::INT, "value")));
|
||||
BIND_VMETHOD(MethodInfo("_con_class_level_up", PropertyInfo(Variant::OBJECT, "entity", PROPERTY_HINT_RESOURCE_TYPE, "Entity"), PropertyInfo(Variant::INT, "value")));
|
||||
BIND_VMETHOD(MethodInfo("_con_character_level_up", PropertyInfo(Variant::OBJECT, "entity", PROPERTY_HINT_RESOURCE_TYPE, "Entity"), PropertyInfo(Variant::INT, "value")));
|
||||
|
||||
//Equipment
|
||||
|
||||
|
@ -190,8 +190,10 @@ public:
|
||||
|
||||
void son_xp_gained(Entity *entity, int value);
|
||||
void son_xp_gained_bind(Node *entity, int value);
|
||||
void son_level_up(Entity *entity, int value);
|
||||
void son_level_up_bind(Node *entity, int value);
|
||||
void son_class_level_up(Entity *entity, int value);
|
||||
void son_class_level_up_bind(Node *entity, int value);
|
||||
void son_character_level_up(Entity *entity, int value);
|
||||
void son_character_level_up_bind(Node *entity, int value);
|
||||
|
||||
//Clientside Event Handlers
|
||||
void con_cast_failed(Ref<SpellCastInfo> info);
|
||||
@ -224,8 +226,10 @@ public:
|
||||
|
||||
void con_xp_gained(Entity *entity, int value);
|
||||
void con_xp_gained_bind(Node *entity, int value);
|
||||
void con_level_up(Entity *entity, int value);
|
||||
void con_level_up_bind(Node *entity, int value);
|
||||
void con_class_level_up(Entity *entity, int value);
|
||||
void con_class_level_up_bind(Node *entity, int value);
|
||||
void con_character_level_up(Entity *entity, int value);
|
||||
void con_character_level_up_bind(Node *entity, int value);
|
||||
|
||||
//Equipment
|
||||
|
||||
|
@ -603,21 +603,38 @@ void EntityData::son_xp_gained_bind(Node *entity, int value) {
|
||||
son_xp_gained(e, value);
|
||||
}
|
||||
|
||||
void EntityData::son_level_up(Entity *entity, int value) {
|
||||
void EntityData::son_class_level_up(Entity *entity, int value) {
|
||||
if (_entity_class_data.is_valid())
|
||||
_entity_class_data->son_level_up(entity, value);
|
||||
_entity_class_data->son_class_level_up(entity, value);
|
||||
|
||||
if (has_method("_son_level_up"))
|
||||
call("_son_level_up", entity);
|
||||
if (has_method("_son_class_level_up"))
|
||||
call("_son_class_level_up", entity);
|
||||
}
|
||||
void EntityData::son_level_up_bind(Node *entity, int value) {
|
||||
void EntityData::son_class_level_up_bind(Node *entity, int value) {
|
||||
ERR_FAIL_COND(!ObjectDB::instance_validate(entity));
|
||||
|
||||
Entity *e = Object::cast_to<Entity>(entity);
|
||||
|
||||
ERR_FAIL_COND(e == NULL);
|
||||
|
||||
son_level_up(e, value);
|
||||
son_class_level_up(e, value);
|
||||
}
|
||||
|
||||
void EntityData::son_character_level_up(Entity *entity, int value) {
|
||||
if (_entity_class_data.is_valid())
|
||||
_entity_class_data->son_character_level_up(entity, value);
|
||||
|
||||
if (has_method("_son_character_level_up"))
|
||||
call("_son_character_level_up", entity);
|
||||
}
|
||||
void EntityData::son_character_level_up_bind(Node *entity, int value) {
|
||||
ERR_FAIL_COND(!ObjectDB::instance_validate(entity));
|
||||
|
||||
Entity *e = Object::cast_to<Entity>(entity);
|
||||
|
||||
ERR_FAIL_COND(e == NULL);
|
||||
|
||||
son_character_level_up(e, value);
|
||||
}
|
||||
|
||||
//Clientside Event Handlers
|
||||
@ -844,21 +861,38 @@ void EntityData::con_xp_gained_bind(Node *entity, int value) {
|
||||
con_xp_gained(e, value);
|
||||
}
|
||||
|
||||
void EntityData::con_level_up(Entity *entity, int value) {
|
||||
void EntityData::con_class_level_up(Entity *entity, int value) {
|
||||
if (_entity_class_data.is_valid())
|
||||
_entity_class_data->con_level_up(entity, value);
|
||||
_entity_class_data->con_class_level_up(entity, value);
|
||||
|
||||
if (has_method("_con_level_up"))
|
||||
call("_con_level_up", entity);
|
||||
if (has_method("_con_class_level_up"))
|
||||
call("_con_class_level_up", entity);
|
||||
}
|
||||
void EntityData::con_level_up_bind(Node *entity, int value) {
|
||||
void EntityData::con_class_level_up_bind(Node *entity, int value) {
|
||||
ERR_FAIL_COND(!ObjectDB::instance_validate(entity));
|
||||
|
||||
Entity *e = Object::cast_to<Entity>(entity);
|
||||
|
||||
ERR_FAIL_COND(e == NULL);
|
||||
|
||||
con_level_up(e, value);
|
||||
con_class_level_up(e, value);
|
||||
}
|
||||
|
||||
void EntityData::con_character_level_up(Entity *entity, int value) {
|
||||
if (_entity_class_data.is_valid())
|
||||
_entity_class_data->con_character_level_up(entity, value);
|
||||
|
||||
if (has_method("_con_character_level_up"))
|
||||
call("_con_character_level_up", entity);
|
||||
}
|
||||
void EntityData::con_character_level_up_bind(Node *entity, int value) {
|
||||
ERR_FAIL_COND(!ObjectDB::instance_validate(entity));
|
||||
|
||||
Entity *e = Object::cast_to<Entity>(entity);
|
||||
|
||||
ERR_FAIL_COND(e == NULL);
|
||||
|
||||
con_character_level_up(e, value);
|
||||
}
|
||||
|
||||
//Equipment
|
||||
@ -1025,7 +1059,8 @@ void EntityData::_bind_methods() {
|
||||
ClassDB::bind_method(D_METHOD("son_gcd_finished", "entity"), &EntityData::son_gcd_finished_bind);
|
||||
|
||||
ClassDB::bind_method(D_METHOD("son_xp_gained", "entity", "value"), &EntityData::son_xp_gained_bind);
|
||||
ClassDB::bind_method(D_METHOD("son_level_up", "entity", "value"), &EntityData::son_level_up_bind);
|
||||
ClassDB::bind_method(D_METHOD("son_class_level_up", "entity", "value"), &EntityData::son_class_level_up_bind);
|
||||
ClassDB::bind_method(D_METHOD("son_character_level_up", "entity", "value"), &EntityData::son_character_level_up_bind);
|
||||
|
||||
BIND_VMETHOD(MethodInfo("_son_before_cast", PropertyInfo(Variant::OBJECT, "info", PROPERTY_HINT_RESOURCE_TYPE, "SpellCastInfo")));
|
||||
BIND_VMETHOD(MethodInfo("_son_before_cast_target", PropertyInfo(Variant::OBJECT, "info", PROPERTY_HINT_RESOURCE_TYPE, "SpellCastInfo")));
|
||||
@ -1068,7 +1103,8 @@ void EntityData::_bind_methods() {
|
||||
BIND_VMETHOD(MethodInfo("_son_gcd_finished", PropertyInfo(Variant::OBJECT, "entity", PROPERTY_HINT_RESOURCE_TYPE, "Entity")));
|
||||
|
||||
BIND_VMETHOD(MethodInfo("_son_xp_gained", PropertyInfo(Variant::OBJECT, "entity", PROPERTY_HINT_RESOURCE_TYPE, "Entity"), PropertyInfo(Variant::INT, "value")));
|
||||
BIND_VMETHOD(MethodInfo("_son_level_up", PropertyInfo(Variant::OBJECT, "entity", PROPERTY_HINT_RESOURCE_TYPE, "Entity"), PropertyInfo(Variant::INT, "value")));
|
||||
BIND_VMETHOD(MethodInfo("_son_class_level_up", PropertyInfo(Variant::OBJECT, "entity", PROPERTY_HINT_RESOURCE_TYPE, "Entity"), PropertyInfo(Variant::INT, "value")));
|
||||
BIND_VMETHOD(MethodInfo("_son_character_level_up", PropertyInfo(Variant::OBJECT, "entity", PROPERTY_HINT_RESOURCE_TYPE, "Entity"), PropertyInfo(Variant::INT, "value")));
|
||||
|
||||
BIND_VMETHOD(MethodInfo("_setup_resources", PropertyInfo(Variant::OBJECT, "entity", PROPERTY_HINT_RESOURCE_TYPE, "Entity")));
|
||||
|
||||
@ -1094,7 +1130,8 @@ void EntityData::_bind_methods() {
|
||||
ClassDB::bind_method(D_METHOD("con_gcd_finished", "entity"), &EntityData::con_gcd_finished_bind);
|
||||
|
||||
ClassDB::bind_method(D_METHOD("con_xp_gained", "entity", "value"), &EntityData::con_xp_gained_bind);
|
||||
ClassDB::bind_method(D_METHOD("con_level_up", "entity", "value"), &EntityData::con_level_up_bind);
|
||||
ClassDB::bind_method(D_METHOD("con_class_level_up", "entity", "value"), &EntityData::con_class_level_up_bind);
|
||||
ClassDB::bind_method(D_METHOD("con_character_level_up", "entity", "value"), &EntityData::con_character_level_up_bind);
|
||||
|
||||
BIND_VMETHOD(MethodInfo("_con_cast_failed", PropertyInfo(Variant::OBJECT, "info", PROPERTY_HINT_RESOURCE_TYPE, "SpellCastInfo")));
|
||||
BIND_VMETHOD(MethodInfo("_con_cast_started", PropertyInfo(Variant::OBJECT, "info", PROPERTY_HINT_RESOURCE_TYPE, "SpellCastInfo")));
|
||||
@ -1117,7 +1154,8 @@ void EntityData::_bind_methods() {
|
||||
BIND_VMETHOD(MethodInfo("_con_gcd_finished", PropertyInfo(Variant::OBJECT, "entity", PROPERTY_HINT_RESOURCE_TYPE, "Entity")));
|
||||
|
||||
BIND_VMETHOD(MethodInfo("_con_xp_gained", PropertyInfo(Variant::OBJECT, "entity", PROPERTY_HINT_RESOURCE_TYPE, "Entity"), PropertyInfo(Variant::INT, "value")));
|
||||
BIND_VMETHOD(MethodInfo("_con_level_up", PropertyInfo(Variant::OBJECT, "entity", PROPERTY_HINT_RESOURCE_TYPE, "Entity"), PropertyInfo(Variant::INT, "value")));
|
||||
BIND_VMETHOD(MethodInfo("_con_class_level_up", PropertyInfo(Variant::OBJECT, "entity", PROPERTY_HINT_RESOURCE_TYPE, "Entity"), PropertyInfo(Variant::INT, "value")));
|
||||
BIND_VMETHOD(MethodInfo("_con_character_level_up", PropertyInfo(Variant::OBJECT, "entity", PROPERTY_HINT_RESOURCE_TYPE, "Entity"), PropertyInfo(Variant::INT, "value")));
|
||||
|
||||
//Equipment
|
||||
|
||||
|
@ -185,8 +185,10 @@ public:
|
||||
|
||||
void son_xp_gained(Entity *entity, int value);
|
||||
void son_xp_gained_bind(Node *entity, int value);
|
||||
void son_level_up(Entity *entity, int value);
|
||||
void son_level_up_bind(Node *entity, int value);
|
||||
void son_class_level_up(Entity *entity, int value);
|
||||
void son_class_level_up_bind(Node *entity, int value);
|
||||
void son_character_level_up(Entity *entity, int value);
|
||||
void son_character_level_up_bind(Node *entity, int value);
|
||||
|
||||
//Clientside Event Handlers
|
||||
void con_cast_failed(Ref<SpellCastInfo> info);
|
||||
@ -219,8 +221,10 @@ public:
|
||||
|
||||
void con_xp_gained(Entity *entity, int value);
|
||||
void con_xp_gained_bind(Node *entity, int value);
|
||||
void con_level_up(Entity *entity, int value);
|
||||
void con_level_up_bind(Node *entity, int value);
|
||||
void con_class_level_up(Entity *entity, int value);
|
||||
void con_class_level_up_bind(Node *entity, int value);
|
||||
void con_character_level_up(Entity *entity, int value);
|
||||
void con_character_level_up_bind(Node *entity, int value);
|
||||
|
||||
//Equipment
|
||||
|
||||
|
@ -244,7 +244,7 @@ int Entity::gets_level() {
|
||||
void Entity::sets_level(int value) {
|
||||
_s_level = value;
|
||||
|
||||
emit_signal("son_level_changed", this, value);
|
||||
emit_signal("son_character_level_changed", this, value);
|
||||
|
||||
VRPC(setc_level, value);
|
||||
}
|
||||
@ -255,7 +255,7 @@ int Entity::getc_level() {
|
||||
void Entity::setc_level(int value) {
|
||||
_c_level = value;
|
||||
|
||||
emit_signal("con_level_changed", this, value);
|
||||
emit_signal("con_character_level_changed", this, value);
|
||||
}
|
||||
|
||||
int Entity::gets_xp() {
|
||||
@ -537,7 +537,7 @@ void Entity::_setup(Ref<EntityCreateInfo> info) {
|
||||
sets_entity_name(_s_entity_data->get_name());
|
||||
}
|
||||
|
||||
slevelup(info->get_level() - 1);
|
||||
scharacter_levelup(info->get_level() - 1);
|
||||
sets_xp(info->get_xp());
|
||||
}
|
||||
|
||||
@ -2229,23 +2229,42 @@ void Entity::addc_xp(int value) {
|
||||
con_xp_gained(value);
|
||||
}
|
||||
|
||||
void Entity::slevelup(int value) {
|
||||
void Entity::sclass_levelup(int value) {
|
||||
if (value <= 0)
|
||||
return;
|
||||
|
||||
if (_s_level == EntityEnums::MAX_LEVEL)
|
||||
if (_s_level == EntityEnums::MAX_CLASS_LEVEL)
|
||||
return;
|
||||
|
||||
//_s_level += value;
|
||||
|
||||
son_class_level_up(value);
|
||||
|
||||
VRPC(cclass_levelup, value);
|
||||
}
|
||||
void Entity::cclass_levelup(int value) {
|
||||
_c_level += value;
|
||||
|
||||
con_class_level_up(value);
|
||||
}
|
||||
|
||||
void Entity::scharacter_levelup(int value) {
|
||||
if (value <= 0)
|
||||
return;
|
||||
|
||||
if (_s_level == EntityEnums::MAX_CHARACTER_LEVEL)
|
||||
return;
|
||||
|
||||
_s_level += value;
|
||||
|
||||
son_level_up(value);
|
||||
son_character_level_up(value);
|
||||
|
||||
VRPC(clevelup, value);
|
||||
VRPC(ccharacter_levelup, value);
|
||||
}
|
||||
void Entity::clevelup(int value) {
|
||||
void Entity::ccharacter_levelup(int value) {
|
||||
_c_level += value;
|
||||
|
||||
con_level_up(value);
|
||||
con_character_level_up(value);
|
||||
}
|
||||
|
||||
void Entity::son_before_aura_applied(Ref<AuraData> data) {
|
||||
@ -2843,21 +2862,38 @@ void Entity::son_xp_gained(int value) {
|
||||
emit_signal("son_xp_gained", this, value);
|
||||
}
|
||||
|
||||
void Entity::son_level_up(int value) {
|
||||
void Entity::son_class_level_up(int value) {
|
||||
if (_s_entity_data.is_valid()) {
|
||||
_s_entity_data->son_level_up(this, value);
|
||||
_s_entity_data->son_class_level_up(this, value);
|
||||
}
|
||||
|
||||
if (has_method("_son_level_up"))
|
||||
call("_son_level_up", value);
|
||||
if (has_method("_son_class_level_up"))
|
||||
call("_son_class_level_up", value);
|
||||
|
||||
for (int i = 0; i < _s_auras.size(); ++i) {
|
||||
Ref<AuraData> ad = _s_auras.get(i);
|
||||
|
||||
ad->get_aura()->son_level_up(ad, value);
|
||||
ad->get_aura()->son_class_level_up(ad, value);
|
||||
}
|
||||
|
||||
emit_signal("son_level_up", this, value);
|
||||
emit_signal("son_class_level_up", this, value);
|
||||
}
|
||||
|
||||
void Entity::son_character_level_up(int value) {
|
||||
if (_s_entity_data.is_valid()) {
|
||||
_s_entity_data->son_character_level_up(this, value);
|
||||
}
|
||||
|
||||
if (has_method("_son_character_level_up"))
|
||||
call("_son_character_level_up", value);
|
||||
|
||||
for (int i = 0; i < _s_auras.size(); ++i) {
|
||||
Ref<AuraData> ad = _s_auras.get(i);
|
||||
|
||||
ad->get_aura()->son_character_level_up(ad, value);
|
||||
}
|
||||
|
||||
emit_signal("son_character_level_up", this, value);
|
||||
}
|
||||
|
||||
void Entity::sadd_aura(Ref<AuraData> aura) {
|
||||
@ -3553,21 +3589,38 @@ void Entity::con_xp_gained(int value) {
|
||||
emit_signal("con_xp_gained", this, value);
|
||||
}
|
||||
|
||||
void Entity::con_level_up(int value) {
|
||||
void Entity::con_class_level_up(int value) {
|
||||
if (_s_entity_data.is_valid()) {
|
||||
_s_entity_data->con_level_up(this, value);
|
||||
_s_entity_data->con_class_level_up(this, value);
|
||||
}
|
||||
|
||||
if (has_method("_con_level_up"))
|
||||
call("_con_level_up", value);
|
||||
if (has_method("_con_class_level_up"))
|
||||
call("_con_class_level_up", value);
|
||||
|
||||
for (int i = 0; i < _s_auras.size(); ++i) {
|
||||
Ref<AuraData> ad = _s_auras.get(i);
|
||||
|
||||
ad->get_aura()->con_level_up(ad, value);
|
||||
ad->get_aura()->con_class_level_up(ad, value);
|
||||
}
|
||||
|
||||
emit_signal("con_level_up", this, value);
|
||||
emit_signal("con_class_level_up", this, value);
|
||||
}
|
||||
|
||||
void Entity::con_character_level_up(int value) {
|
||||
if (_s_entity_data.is_valid()) {
|
||||
_s_entity_data->con_character_level_up(this, value);
|
||||
}
|
||||
|
||||
if (has_method("_con_character_level_up"))
|
||||
call("_con_character_level_up", value);
|
||||
|
||||
for (int i = 0; i < _s_auras.size(); ++i) {
|
||||
Ref<AuraData> ad = _s_auras.get(i);
|
||||
|
||||
ad->get_aura()->con_character_level_up(ad, value);
|
||||
}
|
||||
|
||||
emit_signal("con_character_level_up", this, value);
|
||||
}
|
||||
|
||||
//// Casting System ////
|
||||
@ -5569,7 +5622,8 @@ Entity::Entity() {
|
||||
//XP Operations
|
||||
|
||||
SET_RPC_REMOTE("addc_xp");
|
||||
SET_RPC_REMOTE("clevelup");
|
||||
SET_RPC_REMOTE("cclass_levelup");
|
||||
SET_RPC_REMOTE("ccharacter_levelup");
|
||||
|
||||
//Aura Manipulation
|
||||
|
||||
@ -5776,12 +5830,12 @@ void Entity::_son_xp_gained(int value) {
|
||||
int xpr = EntityDataManager::get_instance()->get_xp_data()->get_xp(gets_level());
|
||||
|
||||
if (xpr <= gets_xp()) {
|
||||
slevelup(1);
|
||||
scharacter_levelup(1);
|
||||
sets_xp(0);
|
||||
}
|
||||
}
|
||||
|
||||
void Entity::_son_level_up(int level) {
|
||||
void Entity::_son_character_level_up(int level) {
|
||||
if (!gets_entity_data().is_valid())
|
||||
return;
|
||||
|
||||
@ -6042,7 +6096,8 @@ void Entity::_bind_methods() {
|
||||
BIND_VMETHOD(MethodInfo("_son_gcd_finished"));
|
||||
|
||||
BIND_VMETHOD(MethodInfo("_son_xp_gained", PropertyInfo(Variant::INT, "value")));
|
||||
BIND_VMETHOD(MethodInfo("_son_level_up", PropertyInfo(Variant::INT, "value")));
|
||||
BIND_VMETHOD(MethodInfo("_son_class_level_up", PropertyInfo(Variant::INT, "value")));
|
||||
BIND_VMETHOD(MethodInfo("_son_character_level_up", PropertyInfo(Variant::INT, "value")));
|
||||
|
||||
BIND_VMETHOD(MethodInfo("_son_target_changed", PropertyInfo(Variant::OBJECT, "entity", PROPERTY_HINT_RESOURCE_TYPE, "Entity"), PropertyInfo(Variant::OBJECT, "old_target", PROPERTY_HINT_RESOURCE_TYPE, "Entity")));
|
||||
BIND_VMETHOD(MethodInfo("_con_target_changed", PropertyInfo(Variant::OBJECT, "entity", PROPERTY_HINT_RESOURCE_TYPE, "Entity"), PropertyInfo(Variant::OBJECT, "old_target", PROPERTY_HINT_RESOURCE_TYPE, "Entity")));
|
||||
@ -6153,7 +6208,8 @@ void Entity::_bind_methods() {
|
||||
BIND_VMETHOD(MethodInfo("_con_gcd_finished"));
|
||||
|
||||
BIND_VMETHOD(MethodInfo("_con_xp_gained", PropertyInfo(Variant::INT, "value")));
|
||||
BIND_VMETHOD(MethodInfo("_con_level_up", PropertyInfo(Variant::INT, "value")));
|
||||
BIND_VMETHOD(MethodInfo("_con_class_level_up", PropertyInfo(Variant::INT, "value")));
|
||||
BIND_VMETHOD(MethodInfo("_con_character_level_up", PropertyInfo(Variant::INT, "value")));
|
||||
|
||||
BIND_VMETHOD(MethodInfo(PropertyInfo(Variant::BOOL, "value"), "_canc_interact"));
|
||||
BIND_VMETHOD(MethodInfo(PropertyInfo(Variant::BOOL, "value"), "_cans_interact"));
|
||||
@ -6188,7 +6244,8 @@ void Entity::_bind_methods() {
|
||||
ClassDB::bind_method(D_METHOD("con_gcd_finished"), &Entity::con_gcd_finished);
|
||||
|
||||
ClassDB::bind_method(D_METHOD("con_xp_gained", "value"), &Entity::con_xp_gained);
|
||||
ClassDB::bind_method(D_METHOD("con_level_up", "value"), &Entity::con_level_up);
|
||||
ClassDB::bind_method(D_METHOD("con_class_level_up", "value"), &Entity::con_class_level_up);
|
||||
ClassDB::bind_method(D_METHOD("con_character_level_up", "value"), &Entity::con_character_level_up);
|
||||
|
||||
//Modifiers/Requesters
|
||||
ClassDB::bind_method(D_METHOD("sapply_passives_damage_receive", "data"), &Entity::sapply_passives_damage_receive);
|
||||
@ -6232,20 +6289,30 @@ void Entity::_bind_methods() {
|
||||
ADD_SIGNAL(MethodInfo("son_xp_gained", PropertyInfo(Variant::OBJECT, "entity", PROPERTY_HINT_RESOURCE_TYPE, "Entity"), PropertyInfo(Variant::INT, "value")));
|
||||
ADD_SIGNAL(MethodInfo("con_xp_gained", PropertyInfo(Variant::OBJECT, "entity", PROPERTY_HINT_RESOURCE_TYPE, "Entity"), PropertyInfo(Variant::INT, "value")));
|
||||
|
||||
ADD_SIGNAL(MethodInfo("con_level_up", PropertyInfo(Variant::OBJECT, "entity", PROPERTY_HINT_RESOURCE_TYPE, "Entity"), PropertyInfo(Variant::INT, "value")));
|
||||
ADD_SIGNAL(MethodInfo("son_level_up", PropertyInfo(Variant::OBJECT, "entity", PROPERTY_HINT_RESOURCE_TYPE, "Entity"), PropertyInfo(Variant::INT, "value")));
|
||||
ADD_SIGNAL(MethodInfo("con_class_level_up", PropertyInfo(Variant::OBJECT, "entity", PROPERTY_HINT_RESOURCE_TYPE, "Entity"), PropertyInfo(Variant::INT, "value")));
|
||||
ADD_SIGNAL(MethodInfo("son_class_level_up", PropertyInfo(Variant::OBJECT, "entity", PROPERTY_HINT_RESOURCE_TYPE, "Entity"), PropertyInfo(Variant::INT, "value")));
|
||||
|
||||
ADD_SIGNAL(MethodInfo("son_level_changed", PropertyInfo(Variant::OBJECT, "entity", PROPERTY_HINT_RESOURCE_TYPE, "Entity"), PropertyInfo(Variant::INT, "level")));
|
||||
ADD_SIGNAL(MethodInfo("con_level_changed", PropertyInfo(Variant::OBJECT, "entity", PROPERTY_HINT_RESOURCE_TYPE, "Entity"), PropertyInfo(Variant::INT, "level")));
|
||||
ADD_SIGNAL(MethodInfo("con_character_level_up", PropertyInfo(Variant::OBJECT, "entity", PROPERTY_HINT_RESOURCE_TYPE, "Entity"), PropertyInfo(Variant::INT, "value")));
|
||||
ADD_SIGNAL(MethodInfo("son_character_level_up", PropertyInfo(Variant::OBJECT, "entity", PROPERTY_HINT_RESOURCE_TYPE, "Entity"), PropertyInfo(Variant::INT, "value")));
|
||||
|
||||
ADD_SIGNAL(MethodInfo("son_class_level_changed", PropertyInfo(Variant::OBJECT, "entity", PROPERTY_HINT_RESOURCE_TYPE, "Entity"), PropertyInfo(Variant::INT, "level")));
|
||||
ADD_SIGNAL(MethodInfo("con_class_level_changed", PropertyInfo(Variant::OBJECT, "entity", PROPERTY_HINT_RESOURCE_TYPE, "Entity"), PropertyInfo(Variant::INT, "level")));
|
||||
|
||||
ADD_SIGNAL(MethodInfo("son_character_level_changed", PropertyInfo(Variant::OBJECT, "entity", PROPERTY_HINT_RESOURCE_TYPE, "Entity"), PropertyInfo(Variant::INT, "level")));
|
||||
ADD_SIGNAL(MethodInfo("con_character_level_changed", PropertyInfo(Variant::OBJECT, "entity", PROPERTY_HINT_RESOURCE_TYPE, "Entity"), PropertyInfo(Variant::INT, "level")));
|
||||
|
||||
ClassDB::bind_method(D_METHOD("adds_xp", "value"), &Entity::adds_xp);
|
||||
ClassDB::bind_method(D_METHOD("addc_xp", "value"), &Entity::addc_xp);
|
||||
|
||||
ClassDB::bind_method(D_METHOD("slevelup", "value"), &Entity::slevelup);
|
||||
ClassDB::bind_method(D_METHOD("clevelup", "value"), &Entity::clevelup);
|
||||
ClassDB::bind_method(D_METHOD("sclass_levelup", "value"), &Entity::sclass_levelup);
|
||||
ClassDB::bind_method(D_METHOD("cclass_levelup", "value"), &Entity::cclass_levelup);
|
||||
|
||||
ClassDB::bind_method(D_METHOD("scharacter_levelup", "value"), &Entity::scharacter_levelup);
|
||||
ClassDB::bind_method(D_METHOD("ccharacter_levelup", "value"), &Entity::ccharacter_levelup);
|
||||
|
||||
ClassDB::bind_method(D_METHOD("son_xp_gained", "value"), &Entity::son_xp_gained);
|
||||
ClassDB::bind_method(D_METHOD("son_level_up", "value"), &Entity::son_level_up);
|
||||
ClassDB::bind_method(D_METHOD("son_class_level_up", "value"), &Entity::son_class_level_up);
|
||||
ClassDB::bind_method(D_METHOD("son_character_level_up", "value"), &Entity::son_character_level_up);
|
||||
|
||||
//Aura Manipulation
|
||||
ClassDB::bind_method(D_METHOD("sadd_aura", "aura"), &Entity::sadd_aura);
|
||||
@ -6922,7 +6989,7 @@ void Entity::_bind_methods() {
|
||||
|
||||
ClassDB::bind_method(D_METHOD("_scraft", "id"), &Entity::_scraft);
|
||||
ClassDB::bind_method(D_METHOD("_son_xp_gained", "value"), &Entity::_son_xp_gained);
|
||||
ClassDB::bind_method(D_METHOD("_son_level_up", "level"), &Entity::_son_level_up);
|
||||
ClassDB::bind_method(D_METHOD("_son_character_level_up", "level"), &Entity::_son_character_level_up);
|
||||
ClassDB::bind_method(D_METHOD("_moved"), &Entity::_moved);
|
||||
ClassDB::bind_method(D_METHOD("_con_target_changed", "entity", "old_target"), &Entity::_con_target_changed);
|
||||
ClassDB::bind_method(D_METHOD("_son_death"), &Entity::_son_death);
|
||||
|
@ -489,7 +489,8 @@ public:
|
||||
void son_physics_process(float delta);
|
||||
|
||||
void son_xp_gained(int value);
|
||||
void son_level_up(int value);
|
||||
void son_class_level_up(int value);
|
||||
void son_character_level_up(int value);
|
||||
|
||||
//Clientside EventHandlers
|
||||
void con_cast_failed(Ref<SpellCastInfo> info);
|
||||
@ -515,7 +516,8 @@ public:
|
||||
void con_dealt_heal(Ref<SpellHealInfo> info);
|
||||
|
||||
void con_xp_gained(int value);
|
||||
void con_level_up(int value);
|
||||
void con_class_level_up(int value);
|
||||
void con_character_level_up(int value);
|
||||
|
||||
//Modifiers/Requesters
|
||||
void sapply_passives_damage_receive(Ref<SpellDamageInfo> info);
|
||||
@ -559,8 +561,10 @@ public:
|
||||
//XP Operations
|
||||
void adds_xp(int value);
|
||||
void addc_xp(int value);
|
||||
void slevelup(int value);
|
||||
void clevelup(int value);
|
||||
void sclass_levelup(int value);
|
||||
void cclass_levelup(int value);
|
||||
void scharacter_levelup(int value);
|
||||
void ccharacter_levelup(int value);
|
||||
|
||||
//Aura Manipulation
|
||||
void sadd_aura(Ref<AuraData> aura);
|
||||
@ -964,7 +968,7 @@ public:
|
||||
protected:
|
||||
void _scraft(int id);
|
||||
void _son_xp_gained(int value);
|
||||
void _son_level_up(int level);
|
||||
void _son_character_level_up(int level);
|
||||
void _moved();
|
||||
void _con_target_changed(Node *p_entity, Node *p_old_target);
|
||||
void _son_death();
|
||||
|
@ -101,7 +101,7 @@ void ComplexLevelStatData::_bind_methods() {
|
||||
ClassDB::bind_method(D_METHOD("get_spirit_for_level", "level"), &ComplexLevelStatData::get_spirit_for_level);
|
||||
ClassDB::bind_method(D_METHOD("set_spirit_for_level", "level", "value"), &ComplexLevelStatData::set_spirit_for_level);
|
||||
|
||||
for (int i = 0; i < EntityEnums::MAX_LEVEL; ++i) {
|
||||
for (int i = 0; i < EntityEnums::MAX_CHARACTER_LEVEL; ++i) {
|
||||
ADD_GROUP("Level " + String::num(i + 1), "level_" + String::num(i + 1));
|
||||
ADD_PROPERTYI(PropertyInfo(Variant::INT, "level_" + String::num(i + 1) + "_agility"), "set_agility_for_level", "get_agility_for_level", i);
|
||||
ADD_PROPERTYI(PropertyInfo(Variant::INT, "level_" + String::num(i + 1) + "_strength"), "set_strength_for_level", "get_strength_for_level", i);
|
||||
|
@ -70,7 +70,7 @@ protected:
|
||||
static void _bind_methods();
|
||||
|
||||
private:
|
||||
ComplexLevelStatsEntry _entries[EntityEnums::MAX_LEVEL];
|
||||
ComplexLevelStatsEntry _entries[EntityEnums::MAX_CHARACTER_LEVEL];
|
||||
};
|
||||
|
||||
#endif
|
||||
|
@ -199,6 +199,7 @@ void EntityEnums::_bind_methods() {
|
||||
BIND_ENUM_CONSTANT(ENTITY_WINDOW_VENDOR);
|
||||
|
||||
BIND_CONSTANT(GENDER_COUNT);
|
||||
BIND_CONSTANT(MAX_LEVEL);
|
||||
BIND_CONSTANT(MAX_CHARACTER_LEVEL);
|
||||
BIND_CONSTANT(MAX_CLASS_LEVEL);
|
||||
BIND_CONSTANT(BASE_XP);
|
||||
}
|
||||
|
@ -269,7 +269,8 @@ public:
|
||||
|
||||
enum {
|
||||
GENDER_COUNT = 2,
|
||||
MAX_LEVEL = 50,
|
||||
MAX_CHARACTER_LEVEL = 20,
|
||||
MAX_CLASS_LEVEL = 60,
|
||||
BASE_XP = 50,
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user