mirror of
https://github.com/Relintai/entity_spell_system.git
synced 2025-02-22 17:18:12 +01:00
Added gender enum, and added it to ItemVisualEntry.
This commit is contained in:
parent
91851d4ef9
commit
d2c29095bb
@ -7,18 +7,18 @@ void ItemVisualEntry::set_override_layer(ItemEnums::EntityTextureLayers layer) {
|
||||
_override_layer = layer;
|
||||
}
|
||||
|
||||
Ref<MeshDataResource> ItemVisualEntry::get_mesh() {
|
||||
return _mesh;
|
||||
Ref<MeshDataResource> ItemVisualEntry::get_mesh(int index) {
|
||||
return _mesh[index];
|
||||
}
|
||||
void ItemVisualEntry::set_mesh(Ref<MeshDataResource> mesh) {
|
||||
_mesh = mesh;
|
||||
void ItemVisualEntry::set_mesh(int index, Ref<MeshDataResource> mesh) {
|
||||
_mesh[index] = mesh;
|
||||
}
|
||||
|
||||
Ref<Texture> ItemVisualEntry::get_texture() {
|
||||
return _texture;
|
||||
Ref<Texture> ItemVisualEntry::get_texture(int index) {
|
||||
return _texture[index];
|
||||
}
|
||||
void ItemVisualEntry::set_texture(Ref<Texture> texture) {
|
||||
_texture = texture;
|
||||
void ItemVisualEntry::set_texture(int index, Ref<Texture> texture) {
|
||||
_texture[index] = texture;
|
||||
}
|
||||
|
||||
Color ItemVisualEntry::get_color() {
|
||||
@ -35,16 +35,25 @@ void ItemVisualEntry::set_effect(Ref<PackedScene> effect) {
|
||||
_effect = effect;
|
||||
}
|
||||
|
||||
ItemVisualEntry::ItemVisualEntry() {
|
||||
Vector3 ItemVisualEntry::get_effect_offset(int index) {
|
||||
return _effect_offset[index];
|
||||
}
|
||||
void ItemVisualEntry::set_effect_offset(int index, Vector3 offset) {
|
||||
_effect_offset[index] = offset;
|
||||
}
|
||||
|
||||
ItemVisualEntry::ItemVisualEntry() {
|
||||
_override_layer = ItemEnums::ENTITY_TEXTURE_LAYER_NONE;
|
||||
|
||||
_color = Color(1, 1, 1, 1);
|
||||
}
|
||||
|
||||
ItemVisualEntry::~ItemVisualEntry() {
|
||||
_mesh.unref();
|
||||
_texture.unref();
|
||||
for (int i = 0; i < EntityEnums::GENDER_COUNT; ++i) {
|
||||
_mesh[i].unref();
|
||||
_texture[i].unref();
|
||||
}
|
||||
|
||||
_effect.unref();
|
||||
}
|
||||
|
||||
@ -53,13 +62,15 @@ void ItemVisualEntry::_bind_methods() {
|
||||
ClassDB::bind_method(D_METHOD("set_override_layer", "value"), &ItemVisualEntry::set_override_layer);
|
||||
ADD_PROPERTY(PropertyInfo(Variant::INT, "override_layer", PROPERTY_HINT_ENUM, ItemEnums::BINDING_STRING_ENTITY_TEXTURE_LAYERS), "set_override_layer", "get_override_layer");
|
||||
|
||||
ClassDB::bind_method(D_METHOD("get_mesh"), &ItemVisualEntry::get_mesh);
|
||||
ClassDB::bind_method(D_METHOD("set_mesh", "value"), &ItemVisualEntry::set_mesh);
|
||||
ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "mesh", PROPERTY_HINT_RESOURCE_TYPE, "MeshDataResource"), "set_mesh", "get_mesh");
|
||||
ClassDB::bind_method(D_METHOD("get_mesh", "index"), &ItemVisualEntry::get_mesh);
|
||||
ClassDB::bind_method(D_METHOD("set_mesh", "index", "value"), &ItemVisualEntry::set_mesh);
|
||||
ADD_PROPERTYI(PropertyInfo(Variant::OBJECT, "mesh_male", PROPERTY_HINT_RESOURCE_TYPE, "MeshDataResource"), "set_mesh", "get_mesh", EntityEnums::GENDER_MALE);
|
||||
ADD_PROPERTYI(PropertyInfo(Variant::OBJECT, "mesh_female", PROPERTY_HINT_RESOURCE_TYPE, "MeshDataResource"), "set_mesh", "get_mesh", EntityEnums::GENDER_FEMALE);
|
||||
|
||||
ClassDB::bind_method(D_METHOD("get_texture"), &ItemVisualEntry::get_texture);
|
||||
ClassDB::bind_method(D_METHOD("set_texture", "value"), &ItemVisualEntry::set_texture);
|
||||
ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "texture", PROPERTY_HINT_RESOURCE_TYPE, "Texture"), "set_texture", "get_texture");
|
||||
ClassDB::bind_method(D_METHOD("get_texture", "index"), &ItemVisualEntry::get_texture);
|
||||
ClassDB::bind_method(D_METHOD("set_texture", "index", "value"), &ItemVisualEntry::set_texture);
|
||||
ADD_PROPERTYI(PropertyInfo(Variant::OBJECT, "texture_male", PROPERTY_HINT_RESOURCE_TYPE, "Texture"), "set_texture", "get_texture", EntityEnums::GENDER_MALE);
|
||||
ADD_PROPERTYI(PropertyInfo(Variant::OBJECT, "texture_female", PROPERTY_HINT_RESOURCE_TYPE, "Texture"), "set_texture", "get_texture", EntityEnums::GENDER_FEMALE);
|
||||
|
||||
ClassDB::bind_method(D_METHOD("get_color"), &ItemVisualEntry::get_color);
|
||||
ClassDB::bind_method(D_METHOD("set_color", "value"), &ItemVisualEntry::set_color);
|
||||
@ -67,5 +78,11 @@ void ItemVisualEntry::_bind_methods() {
|
||||
|
||||
ClassDB::bind_method(D_METHOD("get_effect"), &ItemVisualEntry::get_effect);
|
||||
ClassDB::bind_method(D_METHOD("set_effect", "value"), &ItemVisualEntry::set_effect);
|
||||
ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "effect", PROPERTY_HINT_RESOURCE_TYPE, "PackedScene"), "set_effect", "get_effect");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "effect_male", PROPERTY_HINT_RESOURCE_TYPE, "PackedScene"), "set_effect", "get_effect");
|
||||
|
||||
ClassDB::bind_method(D_METHOD("get_effect_offset", "index"), &ItemVisualEntry::get_effect_offset);
|
||||
ClassDB::bind_method(D_METHOD("set_effect_offset", "index", "value"), &ItemVisualEntry::set_effect_offset);
|
||||
ADD_PROPERTYI(PropertyInfo(Variant::VECTOR3, "effect_offset_male"), "set_effect_offset", "get_effect_offset", EntityEnums::GENDER_MALE);
|
||||
ADD_PROPERTYI(PropertyInfo(Variant::VECTOR3, "effect_offset_female"), "set_effect_offset", "get_effect_offset", EntityEnums::GENDER_FEMALE);
|
||||
}
|
||||
;
|
||||
|
@ -20,11 +20,11 @@ public:
|
||||
ItemEnums::EntityTextureLayers get_override_layer();
|
||||
void set_override_layer(ItemEnums::EntityTextureLayers layer);
|
||||
|
||||
Ref<MeshDataResource> get_mesh();
|
||||
void set_mesh(Ref<MeshDataResource> mesh);
|
||||
Ref<MeshDataResource> get_mesh(int index);
|
||||
void set_mesh(int index, Ref<MeshDataResource> mesh);
|
||||
|
||||
Ref<Texture> get_texture();
|
||||
void set_texture(Ref<Texture> texture);
|
||||
Ref<Texture> get_texture(int index);
|
||||
void set_texture(int index, Ref<Texture> texture);
|
||||
|
||||
Color get_color();
|
||||
void set_color(Color color);
|
||||
@ -32,6 +32,9 @@ public:
|
||||
Ref<PackedScene> get_effect();
|
||||
void set_effect(Ref<PackedScene> effect);
|
||||
|
||||
Vector3 get_effect_offset(int index);
|
||||
void set_effect_offset(int index, Vector3 offset);
|
||||
|
||||
ItemVisualEntry();
|
||||
~ItemVisualEntry();
|
||||
|
||||
@ -40,12 +43,14 @@ protected:
|
||||
|
||||
private:
|
||||
ItemEnums::EntityTextureLayers _override_layer;
|
||||
Ref<MeshDataResource> _mesh;
|
||||
|
||||
Ref<Texture> _texture;
|
||||
Ref<MeshDataResource> _mesh[EntityEnums::GENDER_COUNT];
|
||||
|
||||
Ref<Texture> _texture[EntityEnums::GENDER_COUNT];
|
||||
Color _color;
|
||||
|
||||
Ref<PackedScene> _effect;
|
||||
Vector3 _effect_offset[EntityEnums::GENDER_COUNT];
|
||||
};
|
||||
|
||||
#endif
|
||||
|
@ -113,20 +113,24 @@ void Entity::setc_entity_name(String value) {
|
||||
emit_signal("cname_changed", this);
|
||||
}
|
||||
|
||||
int Entity::gets_gender() {
|
||||
EntityEnums::EntityGender Entity::gets_gender() {
|
||||
return _s_gender;
|
||||
}
|
||||
void Entity::sets_gender(int value) {
|
||||
void Entity::sets_gender(EntityEnums::EntityGender value) {
|
||||
_s_gender = value;
|
||||
|
||||
VRPC(setc_gender, value);
|
||||
}
|
||||
|
||||
int Entity::getc_gender() {
|
||||
EntityEnums::EntityGender Entity::getc_gender() {
|
||||
return _c_gender;
|
||||
}
|
||||
void Entity::setc_gender(int value) {
|
||||
void Entity::setc_gender(EntityEnums::EntityGender value) {
|
||||
_c_gender = value;
|
||||
|
||||
if (ObjectDB::instance_validate(_character_skeleton)) {
|
||||
_character_skeleton->set_gender(_c_gender);
|
||||
}
|
||||
}
|
||||
|
||||
int Entity::gets_level() {
|
||||
@ -549,7 +553,7 @@ void Entity::_from_dict(const Dictionary &dict) {
|
||||
|
||||
sets_entity_type((EntityEnums::EntityType)((int)dict.get("type", 0)));
|
||||
|
||||
sets_gender(dict.get("gender", 0));
|
||||
sets_gender(static_cast<EntityEnums::EntityGender>(static_cast<int>(dict.get("gender", 0))));
|
||||
sets_level(dict.get("level", 0));
|
||||
sets_xp(dict.get("xp", 0));
|
||||
sets_money(dict.get("money", 0));
|
||||
@ -4373,8 +4377,8 @@ Entity::Entity() {
|
||||
_s_type = 0;
|
||||
_c_type = 0;
|
||||
|
||||
_s_gender = 0;
|
||||
_c_gender = 0;
|
||||
_s_gender = EntityEnums::GENDER_MALE;
|
||||
_c_gender = EntityEnums::GENDER_MALE;
|
||||
|
||||
_s_level = 1;
|
||||
_c_level = 1;
|
||||
@ -4442,21 +4446,6 @@ Entity::Entity() {
|
||||
|
||||
_formation_index = 0;
|
||||
|
||||
/*
|
||||
get_stat_enum(Stat::STAT_ID_HEALTH)->set_base(10000);
|
||||
get_stat_enum(Stat::STAT_ID_MANA)->set_base(100);
|
||||
get_stat_enum(Stat::STAT_ID_RAGE)->set_base(100);
|
||||
get_stat_enum(Stat::STAT_ID_ENERGY)->set_base(100);
|
||||
get_stat_enum(Stat::STAT_ID_SPEED)->set_base(4.2);
|
||||
get_stat_enum(Stat::STAT_ID_GLOBAL_COOLDOWN)->set_base(1.5);
|
||||
get_stat_enum(Stat::STAT_ID_MELEE_CRIT)->set_base(5);
|
||||
get_stat_enum(Stat::STAT_ID_MELEE_CRIT_BONUS)->set_base(50);
|
||||
get_stat_enum(Stat::STAT_ID_SPELL_CRIT)->set_base(5);
|
||||
get_stat_enum(Stat::STAT_ID_SPELL_CRIT_BONUS)->set_base(50);
|
||||
get_stat_enum(Stat::STAT_ID_BLOCK)->set_base(10);
|
||||
get_stat_enum(Stat::STAT_ID_PARRY)->set_base(15);
|
||||
get_stat_enum(Stat::STAT_ID_MELEE_DAMAGE_REDUCTION)->set_base(15);*/
|
||||
|
||||
SET_RPC_REMOTE("csend_request_rank_increase");
|
||||
SET_RPC_REMOTE("csend_request_rank_decrease");
|
||||
|
||||
@ -4688,6 +4677,8 @@ void Entity::_notification(int p_what) {
|
||||
|
||||
if (node != NULL) {
|
||||
_character_skeleton = Object::cast_to<CharacterSkeleton>(node);
|
||||
|
||||
_character_skeleton->set_gender(_c_gender);
|
||||
} else {
|
||||
_character_skeleton = NULL;
|
||||
}
|
||||
|
@ -207,11 +207,11 @@ public:
|
||||
String getc_entity_name();
|
||||
void setc_entity_name(String value);
|
||||
|
||||
int gets_gender();
|
||||
void sets_gender(int value);
|
||||
EntityEnums::EntityGender gets_gender();
|
||||
void sets_gender(EntityEnums::EntityGender value);
|
||||
|
||||
int getc_gender();
|
||||
void setc_gender(int value);
|
||||
EntityEnums::EntityGender getc_gender();
|
||||
void setc_gender(EntityEnums::EntityGender value);
|
||||
|
||||
int gets_level();
|
||||
void sets_level(int value);
|
||||
@ -803,8 +803,8 @@ private:
|
||||
int _s_type;
|
||||
int _c_type;
|
||||
|
||||
int _s_gender;
|
||||
int _c_gender;
|
||||
EntityEnums::EntityGender _s_gender;
|
||||
EntityEnums::EntityGender _c_gender;
|
||||
|
||||
int _s_level;
|
||||
int _c_level;
|
||||
|
@ -11,6 +11,7 @@ const String EntityEnums::BINDING_STRING_AI_STATES = "Off,Rest,Patrol,Follow Pat
|
||||
const String EntityEnums::BINDING_STRING_ENTITY_IMMUNITY_FLAGS = "Stun,Root,Freeze,Silence,Disorient,Fear,Burning,Cold,Pacify,Magic,Poison,Physical,Curse,Bleed,Melee,Holy,Shadow,Nature,Fire,Frost,Lightning,Chaos,Slow,Crit,AOE,Damage,Fall Damage,Projectile,Debuff,Attacks";
|
||||
const String EntityEnums::BINDING_STRING_ENTITY_INTERACTION_TYPE = "Normal,Speak,Loot,Use,None";
|
||||
const String EntityEnums::BINDING_STRING_ENTITY_PLAYSTYLE_TYPE = "Melee,Spell,Hybrid,None";
|
||||
const String EntityEnums::BINDING_STRING_ENTITY_GENDER = "Male,Female";
|
||||
|
||||
const int EntityEnums::PLAYER_RESOURCE_TYPES_RAGE = 0;
|
||||
const int EntityEnums::PLAYER_RESOURCE_TYPES_MANA = 1;
|
||||
@ -171,6 +172,10 @@ void EntityEnums::_bind_methods() {
|
||||
BIND_ENUM_CONSTANT(ENTITY_CLASS_PLAYSTYLE_TYPE_HYBRID);
|
||||
BIND_ENUM_CONSTANT(ENTITY_CLASS_PLAYSTYLE_TYPE_NONE);
|
||||
|
||||
BIND_ENUM_CONSTANT(GENDER_MALE);
|
||||
BIND_ENUM_CONSTANT(GENDER_FEMALE);
|
||||
|
||||
BIND_CONSTANT(GENDER_COUNT);
|
||||
BIND_CONSTANT(MAX_LEVEL);
|
||||
BIND_CONSTANT(BASE_XP);
|
||||
}
|
||||
|
@ -19,6 +19,7 @@ public:
|
||||
static const String BINDING_STRING_ENTITY_IMMUNITY_FLAGS;
|
||||
static const String BINDING_STRING_ENTITY_INTERACTION_TYPE;
|
||||
static const String BINDING_STRING_ENTITY_PLAYSTYLE_TYPE;
|
||||
static const String BINDING_STRING_ENTITY_GENDER;
|
||||
|
||||
static const int PLAYER_RESOURCE_TYPES_RAGE;
|
||||
static const int PLAYER_RESOURCE_TYPES_MANA;
|
||||
@ -221,7 +222,13 @@ public:
|
||||
ENTITY_CLASS_PLAYSTYLE_TYPE_NONE,
|
||||
};
|
||||
|
||||
enum EntityGender {
|
||||
GENDER_MALE = 0,
|
||||
GENDER_FEMALE = 1,
|
||||
};
|
||||
|
||||
enum {
|
||||
GENDER_COUNT = 2,
|
||||
MAX_LEVEL = 50,
|
||||
BASE_XP = 50,
|
||||
};
|
||||
@ -242,5 +249,6 @@ VARIANT_ENUM_CAST(EntityEnums::AIStates);
|
||||
VARIANT_ENUM_CAST(EntityEnums::EntityImmunityFlags);
|
||||
VARIANT_ENUM_CAST(EntityEnums::EntityInteractionType);
|
||||
VARIANT_ENUM_CAST(EntityEnums::EntityClassPlaystyleType);
|
||||
VARIANT_ENUM_CAST(EntityEnums::EntityGender);
|
||||
|
||||
#endif
|
||||
|
@ -15,13 +15,25 @@ int CharacterSkeleton::get_item_visual_count() {
|
||||
void CharacterSkeleton::clear_item_visuals() {
|
||||
}
|
||||
|
||||
EntityEnums::EntityGender CharacterSkeleton::get_gender() {
|
||||
return _gender;
|
||||
}
|
||||
void CharacterSkeleton::set_gender(EntityEnums::EntityGender value) {
|
||||
_gender = value;
|
||||
}
|
||||
|
||||
CharacterSkeleton::CharacterSkeleton() {
|
||||
_gender = EntityEnums::GENDER_MALE;
|
||||
}
|
||||
|
||||
CharacterSkeleton::~CharacterSkeleton() {
|
||||
}
|
||||
|
||||
void CharacterSkeleton::_bind_methods() {
|
||||
ClassDB::bind_method(D_METHOD("get_gender"), &CharacterSkeleton::get_gender);
|
||||
ClassDB::bind_method(D_METHOD("set_gender", "value"), &CharacterSkeleton::set_gender);
|
||||
ADD_PROPERTY(PropertyInfo(Variant::INT, "gender", PROPERTY_HINT_ENUM, EntityEnums::BINDING_STRING_ENTITY_GENDER), "set_gender", "get_gender");
|
||||
|
||||
ClassDB::bind_method(D_METHOD("add_item_visual", "vis"), &CharacterSkeleton::add_item_visual);
|
||||
ClassDB::bind_method(D_METHOD("remove_item_visual", "vis"), &CharacterSkeleton::remove_item_visual);
|
||||
ClassDB::bind_method(D_METHOD("remove_item_visual_index", "index"), &CharacterSkeleton::remove_item_visual_index);
|
||||
|
@ -31,13 +31,17 @@ public:
|
||||
virtual int get_item_visual_count();
|
||||
virtual void clear_item_visuals();
|
||||
|
||||
EntityEnums::EntityGender get_gender();
|
||||
void set_gender(EntityEnums::EntityGender value);
|
||||
|
||||
CharacterSkeleton();
|
||||
~CharacterSkeleton();
|
||||
|
||||
protected:
|
||||
static void _bind_methods();
|
||||
|
||||
//private:
|
||||
private:
|
||||
EntityEnums::EntityGender _gender;
|
||||
};
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user