Level System design doc.
Skills: Implement the basics of the ‘Skill’ class

We represent skills in the game as objects of this class.  We start by
implementing the basic logic for skill points and levels as described
in the ‘Level System’ document.  We also provide a (Luvent) event for
each skill so they can execute custom behavior when the player levels
up that particular skill.

However, this patch does not implement any specific skills.
Skills: Round down points when adding them to skills

The level system design document describes this rounding, which was
not part of the initial implementation.  This patch also clarifies the
behavior of the Skill:addPoints() method when it receives a negative
number even when a skill is at its max level.
Skills: Correct a typo in the addPoints() method

We accidentally use ‘SKILL’ instead of ‘Skill’.
Skills: Implement the setLevel() method

We have discussed whether or not Violet should begin at level one for
all of her skills.  There are some skills where it would make sense
for her to begin at a higher level; for example, it sounds reasonable
that her ‘Piloting’ skill would begin at a higher level.  This patch
provides a method that allows us to explicitly set skill levels.
Skills: Add a description property
Skills: Touch up the formatting of the ‘Level System’ document

This patch makes no changes to the content.  It only reformats the
paragraphs and lists to improve readability, both in the native
Markdown format and when we convert it to HTML.
Skills: Add a utility script for creating skill assets

This patch creates the ‘assets/skills/’ directory where we will store
all Lua scripts that represent individual skills.  This directory
currently has two files:

1. Template.lua
2. create-skill.lua

The first is an example of the structure for each individual skill.
The second is a script that uses the first in order to speed up the
process of creating skills.  It allows us to run a commands like

    $ lua ./create-skill.lua "Piloting"

to create a stub file with the necessary information for the skill.
In this example the file would be ‘assets/skills/Piloting.lua’.

We also add a note to the ‘Level System’ document mentioning that each
skill script must begin with a capital letter.  This makes consistency
with the names of the skills themselves, which also always begin with
a capital letter.  The utility script above enforces capitalization.
Skills: Create stubs for every skill in the ‘Level System’ document
Rename the game title in the ‘Level System’ document

Right now this is the title we are going with.  Wonder if this is the
first time any studio has used Esperanto for a game title….
Actors: Add a small documentation note about the behavior properties
Make note of how we use the term ‘actualization’ for player levels
Skills: Define SELF_ACTUALIZATION_LIMIT for character levels

This defines the level-cap described in the Level System document,
although the patch does not enforce the limit.  It only defines it.
Player: Document the getPlayerActualization() utility

This patch also makes a small tweak so that the function accepts a
Player object to make it slightly more flexible.
Player: Define the ‘onSelfActualization’ event

This is an event we trigger any time the player receives enough
experience points to level-up, i.e. to improve her self-actualization.
However, the patch adds no actions for the event.
Update LNVL submodule to fix an game-crashing error with Drawables
Players: Give them the stats from the ‘Level Design’ document

This patch only associates the statistics with each Player object and
does not yet care or support updating those stats when a Player
reaches the next level of self-actualization.
Player: Correct a typo for the ‘onSelfActualization’ event
Skills: Correct all calls to Skill.create()

The code and templates incorrectly call it as if it were a method.
Skills: Fix the syntax for calls to the constructor

I was accidentally using the colon as if it were a method.  This fixes
the problem of the player not having any stats.