Extracted all the different point modification algorithms to scripts so
it's easier for server admins to adjust and add new modifiers to their
servers at runtime. A new "point modifiers" scripting module was added.
The generic term point means exp, jp and pp earned by players and pawns.
Moved settings from the generic GameLogicSettings.csv to a new settings
file PointModifiers.csx where appropriate.
Each modifier defines the following properties
- The point type that is being modified.
- Which quanity of point type it impacts (base amount or bonus amount).
- The behavior of the multiplier (additive or multiplicative).
- The source of point type (enemy vs quest).
- The player types it applies to (Player and/or MyPawn).
Like other scripting modules, a README.md file is created in the module
directory outlining basic usage and guidelines for the scripting module.
- Refactored code so implementation can be shared between Server and
DdonGameServer.
- Moved settings into settings module and implemented an example using a
less structured scripting module interface.
- Created new ScriptableSettings class to assist with interacting with
non-structured settings module.
- Created README.md files for suggestions and guidelines for module
implementation.
- Added Roslyn to the project.
- Added an example of parsing game logic settings from a .csx file.
- Made GameLogicSettings.csx hotloadable.
- Adjusted exp point modifier settings for enemies and quests to be
hotload friendly.
- Implemented a ScriptModule interface for GameServer scripts.
- Converted extended NPC facilities into scripting .csx files for each
NPC and made directory hotloadable. New NPC options can be added after
the server starts without a restart.