This page will describe several miscellaneous features in Pikifen that don't quite fit in other pages.
You can make one object in the area have a link towards another object. This allows one object to send messages to its links, with the appropriate script actions. It also makes it possible for the engine to know how certain special objects should function, when they need to know data about a second object. Connections are one-way, so if you want object A to send messages to object B and vice-versa, you will need to create a link from B to A as well.
To link an object to another, you can either link them in the area editor, or when an object is spawning another. In the latter case, you can specify if you want the link to be from the spawner object to the spawned object, the opposite, or both.
An object can be composed of several other objects, which are known as the children. This is a great way to make more complex objects possible, especially when you need several independently-moving parts. For instance, in a Beady Long Legs, the head is the parent object, meaning it is the enemy proper, and each leg is a child object. If an object is composed of children, as detailed here, then it will spawn them at the same time that it itself is spawned. Because every child is meant to be its own individual thing that obeys a parent, there are several ways for you to specify what it should do when it interacts with the world.
- Handle damage: The child can either handle attacks that it suffers, and lose its own health, or it can just ignore it.
- Relay damage: The child can send the attack to the parent so it suffers the damage.
- Handle events: The child can either handle script events like normal, or ignore them.
- Relay events: The child can send the events it receives to the parent.
- Handle statuses: The child can either handle any status effects that are applied on it, or ignore them.
- Relay statuses: The child can send the statuses it receives to the parent. Note that when a parent receives a status effect, it transmits it to the children.
Children objects can also be connected to a specific body part in the parent. Because children objects are commonly used as appendages of the creature, it is possible to draw a "limb" connecting a parent object to a child object. This limb is a rectangular shaped sprite that stretches and rotates accordingly.