createentity list

From Viki
Jump to navigation Jump to search

This page documents the createentity list, the list of all entities that can be created using the createentity() script command (which is just a wrapper around the internal createentity() function).

p1, p2, p3, and p4 arguments are only able to be passed through the createentity() script command since 2.3. Otherwise, they default to 0, 0, 320, and 240.

Invalid entities (e.g. entity IDs between 27 and 50 or 57 and above) result in glitchy Viridians, who do not obey gravity and do not decelerate when the player moves.

0 - Player

The player entity.

  • meta1: If 1, the entity will be invisible.

The internal type of this entity is 0.

1 - Main game enemy

An enemy that is spawned in the main game.

The entity spawned depends on the coordinates of the room and the position the entity is spawned at. Invalid entities default to a purple box.

  • meta1: Movement type.
  • meta2: Movement speed in pixels per frame.
  • p1: The x-coordinate of the left edge of the bounding box.
  • p2: The y-coordinate of the top edge of the bounding box.
  • p3: The x-coordinate of the right edge of the bounding box.
  • p4: The y-coordinate of the bottom edge of the bounding box.

The internal type of this entity is 1.

2 - Moving platform or conveyor

A moving platform, or a conveyor.

The tile of the entity depends on the current room in custom levels; if the tileset+tilecol combination is out of bounds in the negative direction (e.g. Space Station tilecol -1), the tile value will be treated like in the main game instead.

  • meta1: Movement type; 8-11 are conveyors.
  • meta2: Movement speed in pixels per frame.
  • p1: The x-coordinate of the left edge of the bounding box.
  • p2: The y-coordinate of the top edge of the bounding box.
  • p3: The x-coordinate of the right edge of the bounding box.
  • p4: The y-coordinate of the bottom edge of the bounding box.

The internal type of this entity is 1.

3 - Disappearing platform

A disappearing platform.

  • meta1: If in the main game, or in a custom level room whose tileset+tilecol combination is out of bounds in the negative direction (e.g. Space Station tilecol -1), the platform will use this tile value instead.

The internal type of this entity is 2.

4 - 1x1 quicksand block

A 1x1 quicksand block that takes 4 frames to disappear instead of 12.

The internal type of this entity is 3.

5 - Flip token

A token that flips the player when they touch it. This entity always uses sprite 11.

The internal type of this entity is 4.

6 - Decorative particle 1

A rectangle that disappears in 12 frames. It is red and flashy.

  • meta1: The particle's x-velocity.
  • meta2: The particle's y-velocity.

The internal type of this entity is 5.

7 - Decorative particle 2

A rectangle that disappears in 12 frames. It is cyan-colored.

  • meta1: The particle's x-velocity.
  • meta2: The particle's y-velocity.

The internal type of this entity is 5.

8 - Coin

A coin from the VVVVVV Prototype.

  • meta1: The ID of the coin, from 0 to 99. Uses the same IDs as trinkets. Note that IDs above 19 do not get reset when exiting to the menu, but this is fixed in 2.3.

The internal type of this entity is 6.

9 - Trinket

A shiny trinket.

  • meta1: The ID of the trinket, from 0 to 99. Note that IDs above 19 do not get reset when exiting to the menu, but this is fixed in 2.3.

The internal type of this entity is 7.

10 - Checkpoint

A checkpoint.

  • meta1: The sprite of the checkpoint. An offset of 20 is added to this to produce the final sprite. 0 is flipped and 1 is unflipped.
  • meta2: The checkpoint ID. If the checkpoint ID of the current respawn point is the same as this ID, then it will already be activated.

The internal type of this entity is 8.

11 - Horizontal gravity line

A horizontal gravity line.

  • meta1: The length of the gravity line in pixels.

The internal type of this entity is 9.

12 - Vertical gravity line

A vertical gravity line.

  • meta1: The length of the gravity line in pixels.

The internal type of this entity is 10.

13 - Warp token

A warp token.

Note that in the main game, warp token destinations behave differently and meta1 and meta2 are ignored.

The destination in custom levels uses the global tile position. E.g. local tile position 20,15 in room (1,1) (0-indexed) would end up being 60,45.

  • meta1: The destination on the X axis.
  • meta2: The destination on the Y axis.

The internal type of this entity is 11.

14 - Teleporter

A teleporter from the main game.

  • meta2: The checkpoint ID. However, unlike checkpoints, teleporters don't become activated if you already have their checkpoint ID as your current respawn point ID.

The internal type of this entity is 100.

15 - Verdigris

A sad Verdigris, as he spawns in the Warp Zone in the main game.

  • meta1: His AI state.

The internal type of this entity is 12.

16 - Vitellary (flipped)

A sad Vitellary, as he spawns in Space Station 2 in the main game.

  • meta1: His AI state.

The internal type of this entity is 12.

17 - Victoria

A sad Victoria, as she spawns in the Laboratory in the main game.

  • meta1: Her AI state.

The internal type of this entity is 12.

18 - Crewmate

An unrescuable crewmate, used for cutscenes.

This is the same entity that createcrewman() creates.

  • meta1: The raw color ID.
  • meta2: If nonzero, the crewmate will be sad.
  • p1: Their AI state.
  • p2: Their direction. If 1, they will face right instead of left. But if p1 is 17, this will always be 1.

The internal type of this entity is 12.

19 - Vermilion

A sad Vermilion, as he spawns in the Tower in the main game.

  • meta1: His AI state.

The internal type of this entity is 12.

20 - Terminal

A terminal. It will light up when you touch it.

Note that this entity does not create an activity zone; the activity zone is separate.

  • meta1: The sprite of the terminal. An offset of 16 is added to this to produce the final sprite. 0 is flipped and 1 is unflipped.

The internal type of this entity is 13.

21 - Terminal (cosmetic)

A terminal. It will not light up when you touch it.

Note that this entity does not create an activity zone; the activity zone is separate.

  • meta1: The sprite of the terminal. An offset of 16 is added to this to produce the final sprite. 0 is flipped and 1 is unflipped.

The internal type of this entity is 13.

22 - Collected trinket

A cosmetic trinket. It will only spawn if its trinket ID has been collected.

  • meta1: The ID of the trinket, from 0 to 99. Note that IDs above 19 do not get reset when exiting to the menu, but this is fixed in 2.3.

The internal type of this entity is 7.

23 - Gravitron square

A Gravitron square. It will always move at 7 pixels per frame.

  • meta1: The direction. 0 is right, 1 is left. If neither 0 nor 1, it will not move at all.

The internal type of this entity is 23.

24 - Supercrewmate

The Intermission 1 crewmate.

  • meta1: The raw color ID.
  • meta2: The mood. If 0, then they will always be happy. If 1, then they will always be sad. But if 2, then they will be sad only if the color is 16 (Victoria's color), otherwise happy. If neither 0, nor 1, nor 2, then they will be sad.
  • p1: The AI state. This should always be 0; anything nonzero results in them refusing to follow the player.
  • p2: Their direction. If 1, they will face right instead of left. But if p1 is 17, this will always be 1.

The internal type of this entity is 14.

25 - Trophy

A trophy, used in the Secret Lab.

The resulting sprite depends on the sprite offset plus if the given achievement ID has been completed or not.

  • meta1: The sprite offset. 0 is unflipped, 1 is flipped.
  • meta2: The achievement ID.

The internal type of this entity is 15.

26 - Secret Lab warp token

A giant pink warp token, used in the Secret Lab entrance cutscene (epilogue).

While colliding with this warp token does nothing, it is possible to activate it by changing its state to 1 via Arbitrary Entity Manipulation. It behaves the same as a warp token, with the exception that it is not possible to set the destination x-position used in custom levels. The destination x-position will be 0 instead.

  • meta2: The destination on the Y axis, using the global tile position.

The internal type of this entity is 11.

51 - Vertical warp line

A vertical warp line, for custom levels.

The game uses this for custom entity warp lines on the left edge of the screen, but the left/right distinction does not matter.

Warp lines created after room load will not work unless there is already a warp line present, but this is fixed in 2.3.

  • meta1: The length of the warp line in pixels.

The internal type of this entity is 51.

52 - Vertical warp line

A vertical warp line, for custom levels.

The game uses this for custom entity warp lines on the right edge of the screen, but the left/right distinction does not matter.

Warp lines created after room load will not work unless there is already a warp line present, but this is fixed in 2.3.

  • meta1: The length of the warp line in pixels.

The internal type of this entity is 52.

53 - Horizontal warp line

A horizontal warp line, for custom levels.

The game uses this for custom entity warp lines on the top edge of the screen, but the top/bottom distinction does not matter.

Warp lines created after room load will not work unless there is already a warp line present, but this is fixed in 2.3.

  • meta1: The length of the warp line in pixels.

The internal type of this entity is 53.

54 - Horizontal warp line

A horizontal warp line, for custom levels.

The game uses this for custom entity warp lines on the bottom edge of the screen, but the top/bottom distinction does not matter.

Warp lines created after room load will not work unless there is already a warp line present, but this is fixed in 2.3.

  • meta1: The length of the warp line in pixels.

The internal type of this entity is 54.

55 - Rescuable crewmate

A custom level crewmate. They will be sad unless they've been made happy by the internal changecustommood() command, or the simplified happy() command.

  • meta1: The ID of the crewmate, between 0 and 99. Note that IDs above 19 do not get reset when exiting to the menu, but this is fixed in 2.3.
  • meta2: The color of the crewmate, using the crewmate numbers, from 0 to 5. Invalid numbers always result in happy Viridians.

The internal type of this entity is 55.

56 - Custom level enemy

An enemy used in custom level rooms.

If the tileset+tilecol combination is out of bounds in the negative direction (e.g. Space Station tilecol -1), the color will default to a specific color based on the enemy type of the room. If the enemy type is out of bounds, then it's treated as enemy type 0.

  • meta1: Movement type.
  • meta2: Movement speed in pixels per frame.
  • p1: The x-coordinate of the left edge of the bounding box.
  • p2: The y-coordinate of the top edge of the bounding box.
  • p3: The x-coordinate of the right edge of the bounding box.
  • p4: The y-coordinate of the bottom edge of the bounding box.

The internal type of this entity is 1.