Skip to content

v0.3-alpha-20211117

Pre-release
Pre-release
Compare
Choose a tag to compare
@jskz jskz released this 18 Nov 04:33
· 238 commits to master since this release

New features:

  • The armor class values of equipped objects are collected and totaled in the equipment command output
  • A Character.GetArmorValues utility method retrieves these per-damage type totals; these armor values are now used to subtract damage during combat damage calculation time
  • Effects and affected by types allow a tighter API for scripted spells and mechanics to create effects that modify character attributes or set affected by flags
  • Some gameplay spells to demonstrate the effects system: sanctuary, haste, detect magic, fireshield; sanctuary halves the affected character's damage received in combat, haste adds an extra attack to their combat round, detect magic allows them to see affects on others by looking at them; fireshield reactively causes some exotic damage to any attacker
  • Gold can be given with give 5 gold player syntax and dropped with drop 5 gold syntax

Changes:

  • Create a global object instance reference list and introduce an object tick; strategy likely to further change
  • Move object decay from zone reset to object updates allowing objects to expire outside of zones (i.e., in a dungeon/maze)
  • In the developer testing dungeon, prevent enemies from spawning on the entrance tile - this is a safe room
  • Module dependency updates
  • Remove uuid package
  • Instead of separate currency instances, if a container object decays gold into the room or a character drops gold into the room, try to first merge with any existing currency stack
  • Can now target others with curative spells: cast 'cure light' otherperson

Fixes:

  • Do not allow equipped objects to be found by the Character.findObjectOnSelf method, fixing strange behaviour like giving equipped objects to another player and overriding their equipment
  • Validation of giving and dropping gold amounts
  • Combat sessions are being disposed again, preventing "extra" combat rounds for characters who end up participating in multiple combat sessions
  • Delay instantiating player inventory until after character enters the world to prevent memory leak from discarded sessions