Skip to content

v0.4

Latest
Compare
Choose a tag to compare
@jskz jskz released this 27 Feb 13:51
· 1 commit to master since this release

New features:

  • Added Client.Delay to delay a single client's input handling on a timer for gameplay purposes, e.g.: using a skill that forces a two second delay on any further input, spam protection for commands
  • When a skill or spell is invoked, its script handler now has access to the proficiency % of the invoking character, allowing for factoring proficiency into damage calculation or other skill-based behaviours
  • Jobs and races now each have primary attributes for stat-rolling and future gameplay mechanics
  • Added AFFECT_PARALYSIS status effect to limit input during its duration for a stun skill, paralysis spell, other impairment abilities
  • Added new Visible methods for rooms, characters and objects
  • Added ROOM_DARK flag and light-source presence checking logic (Room.ActiveLightSourcePresent)
  • Added AFFECT_BLINDNESS status effect to limit all character, room and object visibility
  • Unit test for a battery of OneArgument cases
  • drop and get/take commands now accept an "all" argument in all use cases
  • Add ITEM_CLOSED, ITEM_CLOSEABLE flags which allow for containers to be closed and opened; items cannot be taken from or placed within a closed object
  • Add a put command for placing objects within open containers, respecting the capacity limit on that container
  • Several new skills and spells, including chain lightning and group heal with some party mechanics
  • The Golem.RegisterPlayerCommand method now accepts an additional minimum level parameter
  • OLC commands for editing/saving game content: redit, medit, oedit, zedit, xedit, and reset
  • Indexed lookup on characters and objects: get 2.potion, kill 3.slime
  • Stat rolling mechanic during character creation with ranges based on job and race primary attributes

Changes:

  • Stats are no longer individual fields on a character but an array with constant indices; they are accessed now using a Character.GetStat method, allowing for effects to modify stats
  • QuadTree unit test points are now randomized on each run
  • Aggressive NPCs now ignore staff-level characters
  • Staff characters now pass through closed doors on movement

Fixes:

  • Scripted string editor cursor value no longer being casted to a string and breaking assumptions about the number of lines to be modified in editor commands
  • Fix off-by-one error in OneArgument utility method
  • Objects stored within other objects now preserve their "containedness" across character inventory save/load
  • Admin user included in seed data now has default password password correctly hashed + bcrypted with the example salt included in config.json.example