Following Darthen into the alley, you can now talk to him and convince
him to hand over parts of his uniform and the key to the staff parts of
the civilian guard building. Dismissing him completes the optional “pardon
Darthen” part of the revenge parents quest.
Getting this part of Darthen’s quest line to work has involved a major change
to the text substitution and expression evaluator. It’s now evolved into an
actual programming language in it’s own right with variables, loops, and
conditionals. Additionally evaluation of statements is handed off to a thread
pool in the first part of not having the user interface hang while processing
actions (and abort any infinite loops in the scripting language).
If anyone experiences any “Evaluation timed out” warnings please report them!
New stuff:
- Darthen’s “pardon” route, with a second way to gain access to the guard building
- Added dorm area, sergeant’s and captain’s rooms to the guard building
- Add Sleep and Idle jobs for sergeant, and sleep for Darthen
- Mark civ uniform parts as being part of the uniform
- Within the staff parts of the guard building, guards expect people to be in uniform
- Add leave job for Darthen
- Fix DarthenUrinateJob so he pauses outside the bar allowing the player to catch up with him
User interface stuff:
- Unchanged
Other bits:
- Fixed combat not shutting down cleanly and leaving “zombie” characters behind
- Add setProp(String, String) and setProps(String) to GameBase.
- Add checkFoe, foeTest, ignoreList to JobIdle.
- Fix JobSleep finding a free bed. Added cooldown.
- Moved all food related classes to their own package
- Reworked flavour system so it is no longer a singleton and can be configured with XML
- Fixed use of keyword “try” and built-in “has” in text substitutions
- Verify enableId and disableId in Answer
- Add verification to actor’s questions and answers
- Change {change,xxx} to use statements, removed legacy mode, re-worked NPC talks
- Add persistent hidden state to QuestPart to preserve programmatic changes prior to quest part start
- Fix NPE in death message
- Fix new with derived types of required parameters
- Add ThreadPool for eval statement with timeout
- Add evalTimeoutMs to Globals, applied on game load
- Add parseTermAlpha to remove some backtracking in ReflectUtilEval
- Add evalStmts syntaxCheckStmts to ReflectUtilEval
- Refactored Result out of ReflectUtilEval
- Text substitution and expression evaluator now have:
- do-while loop
- for loop
- foreach loop
- while loop
- break and continue
- class literals
- static field and method access
- import statements
Metrics:
- 113 different locations (and another 126 in the advent dream)
- 28 NPC characters
- 6 quests (2 unfinished)
- 1573 Java classes (274k+ lines, 6.1Mbytes of source code)
- 62 Story files (16k+ lines, 393kbytes)
- 881 Unit tests
Known bugs:
- Bandits becoming unreasonably horny while you are caged by Nug.
- Kobold guards have been caught eating their own “weapons” - it’s emergent behaviour (sort of)
- Starting character sizes may be a little off after changes and need some further tuning
As usual, download from the usual place, and start a new game. Previous saves will not have the new content, and will likely fail to load.
If you would like to support the development you can do so on Patreon where there are a number of different rewards, including walk-throughs, early access, developer documentation, and more… .
Release v0.45 (Patreon Early Access) includes:
- New experimental potions in the still area ready for future magic shop
- Potions describe sizes after they have taken effect
- Fixes for existing potions
- Internal error logging facility making save games more useful for diagnosis
- Many bug fixes for item containment that lead to warnings in dreams
Alternatively, if Patreon isn’t your thing I have a tip jar on ko-fi