Skip to content

Hybrasyl Server 0.9.4 ("Grinneal")

Latest
Compare
Choose a tag to compare
@baughj baughj released this 21 Jul 20:59
6d582aa

0.9.4 implements fear/charm/disarm statuses, adds cone-shaped spell intent, an absorb / shield mechanic, expands the functionality of traps, and adds a ton of features to the Lua API. We have also squashed a number of longstanding bugs and added a lot of new unit testing to help prevent new bugs from cropping up.

Features

  • [HS-1024] Add ability to use caster stats in trap / reactor formulae, fix traps not expiring
  • [HS-1280] Implement fear, disarm and charm conditions
  • [HS-1293] Implement cone shape for spell intent / targeting (distinct shaped cone in specific direction from caster)
  • [HS-1316] Allow creatures to be immune from statuses, specific spells and skills, elements
  • [HS-1334] Implement absorb shield mechanic - castables can now grant shielding from all damage for a specific time
  • [HS-1337] Allow <Remove> in xml to remove either a category of statuses or a specific named status
  • [HS-1341] Migrate constants from hardcoded server values to xml configuration
  • [HS-1342] Allow castables to remove multiple quantities of statuses (eg remove all poison vs remove a poison)
  • [HS-1346] Allow spawned monsters to define and be spawned with specific stats
  • [HS-1439] Allow statuses to deal elemental damage (whether DoT or immediate)
  • [HS-1451] Spells can now set whether they are visible at trainers, and whether they are learnable based on player cookie (a script-set value) along with a message if they cannot be learned
  • [HS-1450] Add item tags
  • Fully implement monsters killing each other

Lua API / Formula Support

  • Fix timezone bug in HasKilled / HasKilledSince
  • Access last thing said by a player or creature using LastHeard
  • Implement IsPrivileged (whether a player is admin)
  • Add ability to set a reactor as invisible or visible to a cookie
  • Add Direction , GetTileInDirection, GetMonstersInDirection, GetUserInDirection
  • Support updating / retrieving all player attributes & stats
  • Allow reactors to use caster stats in formulas
  • [HS-1430] Scripting needs ability to teleport creatures
  • [HS-1438] Allow scripts to add / remove statuses on creatures
  • [HS-1460] Reactor scripts should be able to play sfx / gfx
  • [HS-1461] Creature scripts should be able to play sfx / gfx
  • [HS-1462] Add ability for reactors to conditionally display themselves or change their sprites
  • [HS-1463] Allow scripts to trigger / change spell / skill cooldowns
  • [HS-1464] Expose item stackable max to API

Bugfixes

  • Remove multiple statuses / allow multiple statuses of the same category to be applied
  • [HS-1364] Fix longstanding bug where logout results in failure to reconnect
  • [HS-1427] Fix a number of bugs in asynchronous dialogs (used for mentoring et al)
  • [HS-1444] Bugreport / Feedback cease to function after one use

Miscellaneous

  • Upgrade to .NET 8.0
  • Introduce IClient / socket / packet abstractions which are used to implement packet-level tests
  • Implement a number of new unit tests for a variety of server functionality
  • Upgrade to Hybrasyl XML Library 0.9.4
  • Massive cleanup / reorganization of files to make things clearer / more obvious / easier to work on