mooege/mooege — pull request #451 by mdz444 (2012-02-29 08:46:55+00:00)
Title: Support for attribute getter scripts and tracking their dependencies.

Basically this upgrades GameAttributeMap to make use of the GameAttribute.ScriptA/B strings that contain useful game logic. It allows a lot of actor attributes to be handled automatically and will greatly simplify implementing equipment attributes.

In GameAttributeMap scripted attributes are automatically updated whenever their dependencies change, i.e. setting GameAttribute.Strength will update GameAttribute.Strength_Total.

There's no parser/interpreter for the scripts, they're actually converted to C# snippets and runtime compiled into an assembly from which I then pull Func<> delegates that will execute the equivalent script logic.