All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Added the possibility to invoke team powers, similarly to actors' abilities.
- New associated type
Invocation
inTeamRules
. - New methods
invocable
andinvoke
inTeamRules
. - New event
InvokePower
. - Added team powers.
- New associated types
Power
,PowersSeed
andPowersAlteration
inTeamRules
. - New methods
generate_powers
andalter_powers
inTeamRules
. - New events
AlterPowers
andRegeneratePowers
.
- Improved the ergonomics of handling errors from
EventProcessor
.ProcessOutput
has a new methodresult()
to get aWeaselResult
.
- Rounds and turns now reflect the most used definition (a round is made of multiple turns).
- Renamed
StartRound
intoStartTurn
, swappedEndRound
andEndTurn
and renamedEnvironmentRound
intoEnvironmentTurn
. - Renamed
check_objectives_on_round
intocheck_objectives_on_turn
. - Renamed
on_round_start
intoon_turn_start
andon_round_end
intoon_turn_end
. - Renamed
RoundState
intoTurnState
.
- Event trigger
RemoveEntityTrigger
that can fire either aRemoveCreature
or aRemoveObject
. - Re-exported the most used names.
- Fixed the incorrect name
ConcludeMissionTrigger
. It is nowConcludeObjectivesTrigger
.
- New methods
on_character_added
andon_character_transmuted
inCharacterRules
. Client
andServer
are nowSend
. For this to happen some types requiresSend
as well.- Client and Server implements a new trait,
BattleController
. - Multiplayer example 'King of the hill'.
- Added accessors to flat event structures.
- Removed metric
ROUNDS_STARTED
. Added counters for rounds and turns inRounds
. Added also anEndTurn
event. - Introduced
BattleController
trait.
- Ambiguous metric ids for
CREATURES_CREATED
andOBJECTS_CREATED
.
- Implemented
Hash
andEq
forEntityId
. - Methods to obtain a mutable access to all rules and models.
- Rounds can now be initiated by multiple actors.
- Support for status effects.
- New methods
generate_status
andalter_statuses
inCharacterRules
. - New methods
apply_status
,update_status
anddelete_status
inFightRules
. InflictStatus
andClearStatus
events.- Added
StatusNotPresent
toWeaselError
. - Mutable iterators over statistics and abilities.
- New event
EnvironmentRound
. - New associated type
Potency
inFightRules
. - New associated types
Status
andStatusesAlteration
inCharacterRules
. - Example to showcase status effects.
- Renamed
ActorRules
'salter
intoalter_abilities
andCharacterRules
'salter
intoalter_statistics
.
- Event's origin is not overridden anymore by the server if it is already set.
- Example for undo/redo of events.
- Added a
GenericError
variant toWeaselError
. - Example to showcase passive abilities.
- The methods
activable
,on_round_start
andon_round_end
now takeBattleState
as argument. - The methods
allow_new_entity
,activable
,check_move
now return aWeaselResult
instead of a bool.
- Replaced most usages of
HashMap
withIndexMap
.
- Doc tests for all events and few other structs.
Originated
decorator.- Introduced inanimate objects.
- New events
CreateObject
andRemoveObject
. - Improved public API for
Battle
and its submodules. - New associated type
ObjectId
inCharacterRules
.
- It's now possible to manually set an event's origin.
- Order of rounds and initiative example.
- Methods to retrieve an iterator over actors or characters.
on_actor_removed
method inRoundsRules
.
AlterSpace
event.- Example showing different ways to manipulate the space model.
SpaceRules
'scheck_move
andmove_entity
now take as argument aPositionClaim
instead of anOption<&dyn Entity<R>>
.SpaceRules
'smove_entity
is used also to move entities out of the space model.RemoveCreature
frees the entity's position.RoundsRules
's andon_start
andon_end
take as arguments the entities and the space manager objects.
RemoveTeam
event.- An example showing how to use event sinks.
- Example to demonstrate how to create user defined events and metrics.
RegenerateStatistics
event.RegenerateAbilities
event.EntityId
now implementsCopy
.
- First available version.