Based on what i have considered above this is the flexible system i was talking about. It uses the following elements:
Attributes - an attribute can be anything and any number. Each attr can be on a table that relates the weight it has on each skill. Common attributes are strength (focused physical power), endurance (resistance and physical power storage), speed, agility, perception, inteligence, charisma, wisdom, etc...
Skills - these measure the ability of the player on performing an action. Each skill is to all attributes each attribute has a certain weight on the skill. The success of the action may be dependent on the player own skill while using the mouse or keyboard. In this case the game is a mix action/rpg and the skill value only serves has a help or as an obstacle.
Actions - actions represent what the player can do to change the world. A new action will most likely result on a engine change. Usually actions can be implemented on a scripting language to avoid hiring a well paid programmer to change the engine code.
Common actions are:
modify object attribute, modify object skill,
affect world objects (transform, enable, disable, show, hide)
change scene, play music, play sound, play animation
initiate ai package, stop ai package,
cast spell, initiate attack sequence,
activate item, send verbal message to object,
operate object with another, combine game objects,
Each action may or may not have a skill associated with it.
Experience tables and usage modes - these define how much experience is given and in which circunstancies when the player uses a certain skin. A skill can be used in several different ways (skills variants). For instance a critical strike takes more agility and perception than strength. A berserker attack takes all strength and speed and barely any agility.
Skills also have skill groups and a value that measure what percentage of xp gained by using a skill is shared to the other skills in the same skill group, per usage mode.
Dialog and messages - In dialog the player sends verbal messages to an npc capable of dialog. The player doesnt need to use a dialog window. Dialog messages can be sent the using a similar scheme to firing an arrow: target an npc and speak. Other actions can be considered messages like emiting a sound from a foot step or a moving shape image that reaches the player eyes.
The message system is fully integrated with the AI, sensors (sound, vision) and collision system. Dialog can be affected by skills and experience like other actions.
Game entity - each game entity is an object capable of performing chages his the world based on its set of actions, skills and attributes. An entity also has a set of AI packages that define the entity as active or passive. A rock , for example is a game entity completly passive that only provides colisions and the capabilty to break in pieces.
Structure - a human, for example, can be structured in body parts. In a game the status of each body part can affect the performance of a certain action that depends on it. The human body is thus a system composed of several subsystems like the skeleton, muscles, etc...
Reputation and Factions - Factions are social structured entities tha old reputation information about the player and other factions. Factions also have heir own AI and common objectives in the game.
Influence Network - An influence network represent, for each faction, the field of influence of each faction over the others. This is a weighted graph.