Skip to content

Hybrasyl Server 0.7.0 ("Daithi")

Compare
Choose a tag to compare
@baughj baughj released this 24 Apr 16:37
8fe2611

Hybrasyl 0.7.0 builds on the 0.6.0 release, implementing reactors, a fully complete and complex loot implementation, full spawning support with mob items/xp/gold, expanded dialog support, and complex Lua scripting support for dialogs and castables (spells and skills). We've greatly expanded the scripting support and API as we continue to implement the beginning of the game (from the player perspective).

Features

  • Reactors (map tiles that can react to nearby events, such as dropped items or a player or monster moving into the tile) implemented.
  • Full spawning implementation. SpawnGroups, Spawns now spawn and populate correctly with loot/xp/gold.
  • Loot implemented (Loot tables, loot sets, etc). New LootBox class for handling loot calculations.
  • Castables can now use and fire Lua scripts and start dialog sequences.
  • New dialog types: JumpDialogs and FunctionDialogs. Jump dialogs can be used in an NPC dialog tree to start new sequences or jump to different dialogs. Function dialogs can be used to run arbitrary Lua scripting code in between two dialogs (potentially to take an action - such as spawning a monster, dropping an item, starting a dialog, etc).
  • New dialog types for ease of scriptable dialog construction: TextAndJump, SimpleDialogSequence.
  • Asynchronous dialog support (dialogs between two players, or a player and an NPC) implemented.
  • Global dialog support implemented (reusable, scriptable dialogs)
  • Scripting support improved and extended as was needed to support various beginning game NPCs.
  • Hybrasyl time system reworked a bit (simplified). Legend marks updated to support "timestamp" and "creation" date; timestamp being what is displayed in the legend.
  • Significant functionality improvements to scripting API. NPCs can now have temporary "memory" they can use to remember general information.
  • Add support to transition between two active dialog sequences.
  • Add support for dialog options to trigger new sequences.
  • Implement TakeItem for scripts, so that NPCs can remove items from a player's inventory
  • Add support for setting and clearing permanent and session cookies (arbitrary player information which can be used by scripts).
  • XML/XSD overhaul. Duplicate types removed, many things cleaned up & fixed. XML objects and typing are in a much better, cleaner state than previously. No impact to end user XML besides some namespacing changes.

Bug Fixes

  • Items that are generated by scripting or other events can now be picked up correctly.
  • Coma handling in groups now works as you would expect.
  • Creature death no longer results in 0-gold piles.
  • EndDialog scripting function should not only end dialog, but also close open dialog windows
  • Correct bug in spawn calculations where it would take longer for initial spawns to populate than usual
  • Fix several bugs in grouping (player death would be immediate, etc)
  • Fix a number of dialog and NPC bugs (sequences would terminate inappropriately; NPC would lose state)

Technology / System Improvements

  • Hybrasyl upgraded to .NET Core. As a result, Hybrasyl Server can now run on GNU/Linux and OSX, among others.
  • MoonScript now used for Lua runtime instead of nLua.
  • Serilog now used for logging (log4net replaced). Logging is now much cleaner. Game activity / scripting / spawning now have separate logfiles.
  • Upgrade to xsd2code 5.