Player attributes are a well known RPG feature which adds more complexity aka theory crafting to class leveling. By default, MMOCore features three player attributes which are Strength, Dexterity and Intelligence but you can add, edit and remove as many attributes as you'd like.
Attributes are RPG statistics which players can level up to unlock new perks. Currently MMOCore only supports stat buffs but we plan on adding item use restrictions where players must have at least X of a specific attribute in order to use an item. Using attribute placeholders you can also setup conditions in things like MythicMobs skills.
Using the attribute menu (which you can access using /attributes), players can see what attributes they have, level up their attributes or use an attribute reallocation point in order to redistribute their attribute points.
Overview of default attributes
The default Strength MMOCore attribute is meant to be leveled up by warriors or tanky classes like paladins because it grants both extra weapon damage for extra damage burst and maximum health for extra tankiness.
Warriors, rogues or marksmen may focus on leveling up their dexterity because it increases their movement speed (either to escape for lighter classes like rogues or marksmen, or to run in the fight for warriors), their projectile damage for marksmen and their physical damage (both physical skills and weapons).
Last but not least, intelligence is mainly for mages because it increases a lot (compared to other attributes) damage dealt by magical skills. It also reduces skill cooldowns which can be used by any other class.
Keep in mind you can fully edit these attributes using the attributes.yml config file. Default attributes are really classic and you can add as many as you want to make attribute leveling more complex and interesting!
# Attribute ID strength: name: Strength # Maximum amount of points players # may spend in this attribute. max-points: 40 # Buffs given every 1 attribute point spent # in this specific attribute. buff: weapon_damage: 2 max_health: 1% dexterity: name: Dexterity max-points: 40 buff: physical_damage: 1.5 projectile_damage: 1 attack_speed: 0.5% intelligence: name: Intelligence max-points: 40 buff: magical_damage: 2 cooldown_reduction: 1
The config is pretty self explanatory. Every config section corresponds to a player attribute. You need to specify the attribute name which will be used to display the attributes in the different plugin GUIs, the maximum amount of attribute points you can spend in that specific attribute, and the stat buffs the attribute gives. These buffs correspond to the stats given to the player for every attribute point spent in that attribute.