Small fixes. Improved the usability of XPData.

This commit is contained in:
Relintai 2019-12-02 19:14:40 +01:00
parent 68df038731
commit fcf23281e8
2 changed files with 7 additions and 7 deletions

View File

@ -1100,7 +1100,7 @@ void Aura::_supdate(Ref<AuraData> aura, float delta) {
if (aura->get_heal() != 0) {
Ref<SpellHealInfo> shi = Ref<SpellHealInfo>(memnew(SpellHealInfo()));
shi->set_aura_heal_source(aura);
shi->set_aura_heal_source(Ref<Aura>(this));
shi->set_dealer(aura->get_caster());
shi->set_receiver(aura->get_owner());

View File

@ -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);
}
}