-
Notifications
You must be signed in to change notification settings - Fork 7
Alien Fauna ‐ Programming Guide
This wiki page outlines implementation and example usage of alien fauna in the game.
New animals can be added in the NPCFactory. See Adding Animals.
An animal's movement behaviour is dictated by adding tasks to the AITaskComponent.
Taming passive animals are implemented in TamableComponent
. See Taming Animals.
Animal animations are implemented using the AnimationRenderComponent and are handled using the AnimalAnimationController.
Hostile combat (including melee attacks and projectiles) are implemented using AttackPatternComponent. Attack Patterns
Hostile animal projectiles are implemented using Projectiles.
Indicators appear on the screen to notify the player that there are hostiles in the area that they must defeat. Entity Indicator
Detecting animals in range of player, as well as the animals detecting player / plants to attack is implemented using InteractionDetector. Please read https://github.com/UQcsse3200/2023-studio-1/wiki/Interaction-with-non%E2%80%90tile-entities
Animal drops occur either periodically or due to events (such as feeding or killing an animal). This is handled by the MultiDropComponent
Animals can be spawned by spawning entities in SpaceGameArea
. Animals also spawn periodically. This is handled by the EntitySpawner