# [0.4.1] - 2023-12-02
All notable changes for version [v0.4.1] are documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## Added
### Ability module
- Add `Activity(Ability)` object; defines the behaviour of a game entity

### Utility module
- Add `Activity(Entity)` object; stores behaviour node graph of a game entity
- Add `Node(Entity)` object; node in behaviour node graph
- Add `Ability(Node)` object
- Add `End(Node)` object
- Add `Start(Node)` object
- Add `XORGate(Node)` object
- Add `XOREventGate(Node)` object
- Add `Condition(Object)` object
- Add `CommandInQueue(Condition)` object
- Add `NextCommandIdle(Condition)` object
- Add `NextCommandMove(Condition)` object
- Add `Event(Entity)` object; event for behaviour node graph
- Add `Wait(Event)` object
- Add `WaitAbility(Event)` object
- Add `CommandInQueue(Event)` object


## Reference visualization

* [Gamedata](https://github.com/SFTtech/openage/blob/408fc171552bc96a30549d05fceeb9d692fd9d1d/doc/nyan/aoe2_nyan_tree.svg)
