Head

From Wiki of ZZT
Jump to navigation Jump to search
Head
ZZT-OOP namehead
Internal ID44 (0x2C)
Character#char 233 ϴ (0xE9)
Categorycreature
Stats
Default cycle2
P1Intelligence
P2Deviance
Other traits
Score when shot1
Effect on movementdamaging
Destructible?yes
Uses ZZT-OOP color names?yes

Heads lead and control the body of a Centipede. They have historically been considered the most complex of the built-in ZZT elements[1][2].

The first thing a Head does is try and update its movement direction:

  • If aligned with the player, it has a chance (more likely with higher Intelligence) of switching to move towards it.
  • In addition, the Head has a chance (more likely with higher Deviance) of switching to a random direction.
  • If the Head has not decided on a direction to move in, it will choose to move in a random direction.

It will then try to move:

  • First, it will try to move in the current direction.
  • Failing that, it will try turning by moving in one of the two perpendicular directions, chosen randomly.
  • Failing that, it will try turning around; if necessary, the Head will be moved to the end of the centipede body.

These movements may attack the player in the process.

Finally, the centipede will move all of its Segments towards the new Head location, using a linked list - each Segment has a Leader and Follower value, which point to a specific stat in the chain. Notably, it is never verified whether the centipede is comprised only of other Segments - by taking advantage of engine quirks (TODO), any stat can be moved in this manner.

References

  1. wep. (2005, June 26) centipede movement in zzt++ 0.8.48. z2.
  2. Dr. Dos. (2009, December 28) Tyger. z2.