Faction is added to Actor, TemplateActor, but without any way to access. Must add acces methods, add to Adversary, TemplateAdversary.
Added faction parameter to Adversary, TemplateAdversary; changed the parameters to Actor to have underscores, because consistency is good.
Added faction parameter to Adversary, TemplateAdversary; changed the parameters to Actor to have underscores, because consistency is good. Also added get_faction() in Actor.
Overhauled the behavior classes to work more like the Tool classes (they now have universally run check/cost functions, and special functions to be overriden) and also added in a _target parameter to the behavior functions, instead of just looking for the player actor. Next up, targeting in Adversary.
Test written. Also edited Faction to put in test factions; TemplateActor, TemplateAdversary, Actor, Adversary, to add in threat.
Adversaries will now select targets based on their factional likes/dislikes, and their threat levels.
Fixed a bug in Adversary (attempting to access zero index); added a condition to behavior._general_can_execute() (requires moves); Effects now has a split-style override structure similar to Tool, Behavior. Added EffectDeath.
Added the ability to add a tool to the Actor. When you do so it attempts to remove the tool from the level. Items removed from the level now have their x, y coordinates set to -1. Wrote tests for Holoprojector.
Holoprojector implemented, added to gen_assets for testing. For whatever reason, however, the duration for the hologram is not ticking down. I will investigate.
Fixed the bug, but the code in LevelController for controlling the other entities' turns is a mess.
Fixed the bug, but the code in LevelController for controlling the other entities' turns is a mess. Also, cleaned up some of the text output, which was bugging me to look at.