From fcf23281e8aec25ac9f5ef61fa8a7e300064b939 Mon Sep 17 00:00:00 2001 From: Relintai Date: Mon, 2 Dec 2019 19:14:40 +0100 Subject: [PATCH] Small fixes. Improved the usability of XPData. --- data/aura.cpp | 2 +- data/xp_data.cpp | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/data/aura.cpp b/data/aura.cpp index bb55d15..2bb9ca1 100644 --- a/data/aura.cpp +++ b/data/aura.cpp @@ -1100,7 +1100,7 @@ void Aura::_supdate(Ref aura, float delta) { if (aura->get_heal() != 0) { Ref shi = Ref(memnew(SpellHealInfo())); - shi->set_aura_heal_source(aura); + shi->set_aura_heal_source(Ref(this)); shi->set_dealer(aura->get_caster()); shi->set_receiver(aura->get_owner()); diff --git a/data/xp_data.cpp b/data/xp_data.cpp index a0e714a..4f7f036 100644 --- a/data/xp_data.cpp +++ b/data/xp_data.cpp @@ -7,15 +7,15 @@ int XPData::get_max_level() { } int XPData::get_xp(int level) { - ERR_FAIL_INDEX_V(level, EntityEnums::MAX_LEVEL, 9999999); + ERR_FAIL_INDEX_V(level - 1, EntityEnums::MAX_LEVEL, 9999999); - return _xps.get(level); + return _xps.get(level - 1); } void XPData::set_xp(int level, int value) { - ERR_FAIL_INDEX(level, EntityEnums::MAX_LEVEL); + ERR_FAIL_INDEX(level - 1, EntityEnums::MAX_LEVEL); - _xps.set(level, value); + _xps.set(level - 1, value); } bool XPData::can_level_up(int level) { @@ -40,7 +40,7 @@ void XPData::_bind_methods() { ClassDB::bind_method(D_METHOD("can_level_up", "level"), &XPData::can_level_up); ADD_GROUP("Level", "level_"); - for (int i = 0; i < EntityEnums::MAX_LEVEL; ++i) { - ADD_PROPERTYI(PropertyInfo(Variant::INT, "level_" + String::num(i + 1)), "set_xp", "get_xp", i); + for (int i = 1; i <= EntityEnums::MAX_LEVEL; ++i) { + ADD_PROPERTYI(PropertyInfo(Variant::INT, "level_" + String::num(i)), "set_xp", "get_xp", i); } }