diff --git a/entities/entity.cpp b/entities/entity.cpp index 01f5280..d3ed6f8 100644 --- a/entities/entity.cpp +++ b/entities/entity.cpp @@ -6622,11 +6622,7 @@ bool Entity::_get(const StringName &p_name, Variant &r_ret) const { Ref stat = _stats[stat_id]; - if (stat_prop_name == "modifier_apply_type") { - r_ret = stat->get_stat_modifier_type(); - - return true; - } else if (stat_prop_name == "public") { + if (stat_prop_name == "public") { r_ret = stat->get_public(); return true; @@ -6846,7 +6842,6 @@ void Entity::_get_property_list(List *p_list) const { if (!stat.is_valid()) continue; - p_list->push_back(PropertyInfo(Variant::INT, "stat/" + itos(i) + "/modifier_apply_type", PROPERTY_HINT_NONE, "", property_usange)); p_list->push_back(PropertyInfo(Variant::BOOL, "stat/" + itos(i) + "/public", PROPERTY_HINT_NONE, "", property_usange)); p_list->push_back(PropertyInfo(Variant::BOOL, "stat/" + itos(i) + "/locked", PROPERTY_HINT_NONE, "", property_usange)); p_list->push_back(PropertyInfo(Variant::REAL, "stat/" + itos(i) + "/base", PROPERTY_HINT_NONE, "", property_usange)); diff --git a/entities/stats/stat.cpp b/entities/stats/stat.cpp index 5f66ba8..a25f8ff 100644 --- a/entities/stats/stat.cpp +++ b/entities/stats/stat.cpp @@ -28,10 +28,6 @@ SOFTWARE. #include "core/version.h" -const String Stat::MAIN_STAT_BINDING_STRING = "Agility,Strength,Stamina,Intellect,Spirit"; - -const String Stat::MODIFIER_APPLY_TYPE_BINDING_STRING = "Standard,Only min modifier,Only Max modifier"; - int Stat::get_id() { return _id; } @@ -66,13 +62,6 @@ void Stat::set_owner_bind(Node *value) { _owner = e; } -Stat::StatModifierApplyType Stat::get_stat_modifier_type() { - return _modifier_apply_type; -} -void Stat::set_stat_modifier_type(Stat::StatModifierApplyType value) { - _modifier_apply_type = value; -} - bool Stat::get_public() { return _public; } @@ -251,35 +240,12 @@ void Stat::apply_modifiers() { reset_values(); - if (_modifier_apply_type == MODIFIER_APPLY_TYPE_STANDARD) { - for (int i = 0; i < _modifiers.size(); ++i) { - Ref mod = _modifiers.get(i); + for (int i = 0; i < _modifiers.size(); ++i) { + Ref mod = _modifiers.get(i); - _base += mod->get_base_mod(); - _bonus += mod->get_bonus_mod(); - _percent += mod->get_percent_mod(); - } - } else { - for (int i = 0; i < _modifiers.size(); ++i) { - Ref modifier = _modifiers.get(i); - - _base += modifier->get_base_mod(); - _bonus += modifier->get_bonus_mod(); - - if (modifier->get_percent_mod() >= 0) { - _percent += modifier->get_percent_mod(); - } - } - - float p = 0; - for (int i = 0; i < _modifiers.size(); ++i) { - Ref modifier = _modifiers.get(i); - - if (modifier->get_percent_mod() < p) - p = modifier->get_percent_mod(); - } - - _percent += p; + _base += mod->get_base_mod(); + _bonus += mod->get_bonus_mod(); + _percent += mod->get_percent_mod(); } refresh_currmax(); @@ -354,7 +320,6 @@ Dictionary Stat::_to_dict() { Dictionary dict; dict["id"] = _id; - dict["modifier_apply_type"] = _modifier_apply_type; dict["public"] = _public; dict["locked"] = _locked; @@ -382,7 +347,6 @@ void Stat::_from_dict(const Dictionary &dict) { ERR_FAIL_COND(dict.empty()); _id = dict.get("id", 0); - _modifier_apply_type = (StatModifierApplyType)((int)dict.get("modifier_apply_type", 0)); _public = dict.get("public", false); _locked = dict.get("locked", false); @@ -421,8 +385,6 @@ Stat::Stat() { _id = 0; _owner = NULL; - _modifier_apply_type = MODIFIER_APPLY_TYPE_STANDARD; - _public = false; _dirty_mods = false; @@ -444,31 +406,6 @@ Stat::Stat(int id, Entity *owner) { _id = id; _owner = owner; - _modifier_apply_type = MODIFIER_APPLY_TYPE_STANDARD; - - _public = false; - _dirty_mods = false; - - _locked = false; - _dirty = true; - - _base = 0; - _bonus = 0; - _percent = 0; - - _s_current = 0; - _s_max = 0; - - _c_current = 0; - _c_max = 0; -} - -Stat::Stat(int id, StatModifierApplyType modifier_apply_type, Entity *owner) { - _id = id; - _owner = owner; - - _modifier_apply_type = modifier_apply_type; - _public = false; _dirty_mods = false; @@ -514,10 +451,6 @@ void Stat::_bind_methods() { ClassDB::bind_method(D_METHOD("set_owner", "value"), &Stat::set_owner_bind); ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "owner", PROPERTY_HINT_RESOURCE_TYPE, "Entity", 0), "set_owner", "get_owner"); - ClassDB::bind_method(D_METHOD("get_stat_modifier_type"), &Stat::get_stat_modifier_type); - ClassDB::bind_method(D_METHOD("set_stat_modifier_type", "value"), &Stat::set_stat_modifier_type); - ADD_PROPERTY(PropertyInfo(Variant::INT, "stat_type", PROPERTY_HINT_ENUM, "Standard, Min Modifier, Max modifier"), "set_stat_modifier_type", "get_stat_modifier_type"); - ClassDB::bind_method(D_METHOD("get_public"), &Stat::get_public); ClassDB::bind_method(D_METHOD("set_public", "value"), &Stat::set_public); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "public"), "set_public", "get_public"); @@ -592,8 +525,4 @@ void Stat::_bind_methods() { ClassDB::bind_method(D_METHOD("_from_dict", "dict"), &Stat::_from_dict); ClassDB::bind_method(D_METHOD("_to_dict"), &Stat::_to_dict); - - BIND_ENUM_CONSTANT(MODIFIER_APPLY_TYPE_STANDARD); - BIND_ENUM_CONSTANT(MODIFIER_APPLY_TYPE_ONLY_MIN_MODIFIER); - BIND_ENUM_CONSTANT(MODIFIER_APPLY_TYPE_ONLY_MAX_MODIFIER); } diff --git a/entities/stats/stat.h b/entities/stats/stat.h index 276186b..caa5a72 100644 --- a/entities/stats/stat.h +++ b/entities/stats/stat.h @@ -37,15 +37,6 @@ class Stat : public Reference { GDCLASS(Stat, Reference); public: - static const String MAIN_STAT_BINDING_STRING; - static const String MODIFIER_APPLY_TYPE_BINDING_STRING; - - enum StatModifierApplyType { - MODIFIER_APPLY_TYPE_STANDARD, - MODIFIER_APPLY_TYPE_ONLY_MIN_MODIFIER, - MODIFIER_APPLY_TYPE_ONLY_MAX_MODIFIER, - }; - static String stat_id_name(int stat_id); public: @@ -59,9 +50,6 @@ public: void set_owner(Entity *value); void set_owner_bind(Node *value); - StatModifierApplyType get_stat_modifier_type(); - void set_stat_modifier_type(StatModifierApplyType value); - bool get_public(); void set_public(bool value); @@ -123,7 +111,6 @@ public: Stat(); Stat(int id, Entity *owner); - Stat(int id, StatModifierApplyType modifier_apply_type, Entity *owner); ~Stat(); protected: @@ -133,8 +120,6 @@ protected: private: int _id; - StatModifierApplyType _modifier_apply_type; - Vector > _modifiers; bool _public; @@ -156,6 +141,4 @@ private: Ref _stat_data_entry; }; -VARIANT_ENUM_CAST(Stat::StatModifierApplyType); - #endif diff --git a/entities/stats/stat_data_entry.cpp b/entities/stats/stat_data_entry.cpp index 2af512c..49004c7 100644 --- a/entities/stats/stat_data_entry.cpp +++ b/entities/stats/stat_data_entry.cpp @@ -81,8 +81,6 @@ StatDataEntry::StatDataEntry() { _base = 0; _mod_stat_count = 0; - _modifier_apply_type = Stat::MODIFIER_APPLY_TYPE_STANDARD; - for (int i = 0; i < MAX_MOD_STATS; ++i) { _mod_stats[i].stat_id = 0; _mod_stats[i].multiplier = 0; diff --git a/entities/stats/stat_data_entry.h b/entities/stats/stat_data_entry.h index 7c6dd2f..8baf9cf 100644 --- a/entities/stats/stat_data_entry.h +++ b/entities/stats/stat_data_entry.h @@ -71,8 +71,6 @@ private: int _mod_stat_count; ModStat _mod_stats[MAX_MOD_STATS]; - - Stat::StatModifierApplyType _modifier_apply_type; }; #endif