Ideas:chad3f:SkillsSystem
Skills System
Some of these ideas may have already been mentioned in some form, but this will cover my ideas as a whole.
Acquired Sklls
Instead of limiting skills to general attributes such as atk and def, create itemized skills that map to realistic real-world skills (where possible, as a few synthetic ones may be needed).
- Attack/Defense placement
- Range
- Close
(fists, hand dagger, knife, short sword) - Medium
(long sword, thrown dagger) - Extended
(arrow, ice/fireball)
- Close
- Elevation
- High
(head) - Medium
(torso, arms) - Low
(legs, feet)
- High
- Range
- Enemy experience
- General type
(elf, drawf, orc) - Specific type
(archer_elf, leader_drawf, hunter_orc)
- General type
- Enhierent skills
- Agility
- Strength
- Speed
- Endurance
Except for Enemy experience, all of these skills would also be assigned to creatures. And with persistent non-player storage support, even specific player experience could be a factor for creatures. So the more you fight a specific create (or type in an area), the better it is against you. as if it learns to anticipates your combat.
Item Skills
Like general learned skills, items (like weapons and armor) also have common properties that can be mastered over time.
- Experience
- General Type
(sword, dagger, hammer, club, shield, armor) - Specific Type
(great_sword, war_hammer, wood_shield)
- General Type
- Use styles
- Stab
- Slash
- Throw
Item Definitions
Items would then be defined as a [weighted] list of skills that makes up it's use. Here is a rough example of some hypothetical items/skills:
<item name="short_sword"> <skill name="sword" value="20"/> <skill name="short_sword" value="20"/> <skill name="slash" value="10"/> <skill name="stab" value="3"/> <skill name="range_close" value="10"/> <skill name="range_medium" value="2"/> <skill name="agility" value="5"/> <skill name="strength" value="5"/> </item> <item name="long_sword"> <skill name="sword" value="20"/> <skill name="long_sword" value="20"/> <skill name="slash" value="10"/> <skill name="stab" value="3"/> <skill name="range_close" value="5"/> <skill name="range_medium" value="10"/> <skill name="agility" value="2"/> <skill name="strength" value="10"/> </item> <item name="knife"> <skill name="knife" value="20"/> <skill name="slash" value="5"/> <skill name="stab" value="15"/> <skill name="range_close" value="10"/> <skill name="agility" value="7"/> <skill name="strength" value="1"/> </item>