Skip to navigation

Elite on the BBC Micro

# Ship blueprints parasite source [Elite-A]

``` ELITE SHIP BLUEPRINTS FILE

CODE_SHIPS% = P%
LOAD_SHIPS% = LOAD% + P% - CODE%

Name: VERTEX                                                  [Show more]
Type: Macro
Category: Drawing ships
Summary: Macro definition for adding vertices to ship blueprints
Deep dive: Ship blueprints
Context: See this macro on its own page
References: No direct references to this macro in this source file

The following macro is used to build the ship blueprints:

VERTEX x, y, z, face1, face2, face3, face4, visibility

See the deep dive on "Ship blueprints" for details of how vertices are stored
in the ship blueprints, and the deep dive on "Drawing ships" for information
on how vertices are used to draw 3D wiremesh ships.

Arguments:

x                    The vertex's x-coordinate

y                    The vertex's y-coordinate

z                    The vertex's z-coordinate

face1                The number of face 1 associated with this vertex

face2                The number of face 2 associated with this vertex

face3                The number of face 3 associated with this vertex

face4                The number of face 4 associated with this vertex

visibility           The visibility distance, beyond which the vertex is not
shown

MACRO VERTEX x, y, z, face1, face2, face3, face4, visibility

IF x < 0
s_x = 1 << 7
ELSE
s_x = 0
ENDIF

IF y < 0
s_y = 1 << 6
ELSE
s_y = 0
ENDIF

IF z < 0
s_z = 1 << 5
ELSE
s_z = 0
ENDIF

s = s_x + s_y + s_z + visibility
f1 = face1 + (face2 << 4)
f2 = face3 + (face4 << 4)
ax = ABS(x)
ay = ABS(y)
az = ABS(z)

EQUB ax, ay, az, s, f1, f2

ENDMACRO

Name: EDGE                                                    [Show more]
Type: Macro
Category: Drawing ships
Summary: Macro definition for adding edges to ship blueprints
Deep dive: Ship blueprints
Context: See this macro on its own page
References: No direct references to this macro in this source file

The following macro is used to build the ship blueprints:

EDGE vertex1, vertex2, face1, face2, visibility

See the deep dive on "Ship blueprints" for details of how edges are stored
in the ship blueprints, and the deep dive on "Drawing ships" for information
on how edges are used to draw 3D wiremesh ships.

Arguments:

vertex1              The number of the vertex at the start of the edge

vertex1              The number of the vertex at the end of the edge

face1                The number of face 1 associated with this edge

face2                The number of face 2 associated with this edge

visibility           The visibility distance, beyond which the edge is not
shown

MACRO EDGE vertex1, vertex2, face1, face2, visibility

f = face1 + (face2 << 4)
EQUB visibility, f, vertex1 << 2, vertex2 << 2

ENDMACRO

Name: FACE                                                    [Show more]
Type: Macro
Category: Drawing ships
Summary: Macro definition for adding faces to ship blueprints
Deep dive: Ship blueprints
Context: See this macro on its own page
References: No direct references to this macro in this source file

The following macro is used to build the ship blueprints:

FACE normal_x, normal_y, normal_z, visibility

See the deep dive on "Ship blueprints" for details of how faces are stored
in the ship blueprints, and the deep dive on "Drawing ships" for information
on how faces are used to draw 3D wiremesh ships.

Arguments:

normal_x             The face normal's x-coordinate

normal_y             The face normal's y-coordinate

normal_z             The face normal's z-coordinate

visibility           The visibility distance, beyond which the edge is always
shown

MACRO FACE normal_x, normal_y, normal_z, visibility

IF normal_x < 0
s_x = 1 << 7
ELSE
s_x = 0
ENDIF

IF normal_y < 0
s_y = 1 << 6
ELSE
s_y = 0
ENDIF

IF normal_z < 0
s_z = 1 << 5
ELSE
s_z = 0
ENDIF

s = s_x + s_y + s_z + visibility
ax = ABS(normal_x)
ay = ABS(normal_y)
az = ABS(normal_z)

EQUB s, ax, ay, az

ENDMACRO

Name: SHIP_DODO                                               [Show more]
Type: Variable
Category: Drawing ships
Summary: Ship blueprint for a Dodecahedron ("Dodo") space station
Deep dive: Ship blueprints
Context: See this variable on its own page
References: This variable is used as follows:
* ship_list calls SHIP_DODO

.SHIP_DODO

EQUB 0                 \ Max. canisters on demise = 0
EQUW 180 * 180         \ Targetable area          = 180 * 180
EQUB LO(SHIP_DODO_EDGES - SHIP_DODO)              \ Edges data offset (low)
EQUB LO(SHIP_DODO_FACES - SHIP_DODO)              \ Faces data offset (low)
EQUB 97                \ Max. edge count          = (97 - 1) / 4 = 24
EQUB 0                 \ Gun vertex               = 0
EQUB 54                \ Explosion count          = 12, as (4 * n) + 6 = 54
EQUB 144               \ Number of vertices       = 144 / 6 = 24
EQUB 34                \ Number of edges          = 34
EQUW 0                 \ Bounty                   = 0
EQUB 48                \ Number of faces          = 48 / 4 = 12
EQUB 125               \ Visibility distance      = 125
EQUB 240               \ Max. energy              = 240
EQUB 0                 \ Max. speed               = 0
EQUB HI(SHIP_DODO_EDGES - SHIP_DODO)              \ Edges data offset (high)
EQUB HI(SHIP_DODO_FACES - SHIP_DODO)              \ Faces data offset (high)
EQUB 0                 \ Normals are scaled by    = 2^0 = 1
EQUB %00000000         \ Laser power              = 0
\ Missiles                 = 0

\VERTEX    x,    y,    z, face1, face2, face3, face4, visibility
VERTEX    0,  150,  196,     1,      0,    5,     5,         31    \ Vertex 0
VERTEX  143,   46,  196,     1,      0,    2,     2,         31    \ Vertex 1
VERTEX   88, -121,  196,     2,      0,    3,     3,         31    \ Vertex 2
VERTEX  -88, -121,  196,     3,      0,    4,     4,         31    \ Vertex 3
VERTEX -143,   46,  196,     4,      0,    5,     5,         31    \ Vertex 4
VERTEX    0,  243,   46,     5,      1,    6,     6,         31    \ Vertex 5
VERTEX  231,   75,   46,     2,      1,    7,     7,         31    \ Vertex 6
VERTEX  143, -196,   46,     3,      2,    8,     8,         31    \ Vertex 7
VERTEX -143, -196,   46,     4,      3,    9,     9,         31    \ Vertex 8
VERTEX -231,   75,   46,     5,      4,   10,    10,         31    \ Vertex 9
VERTEX  143,  196,  -46,     6,      1,    7,     7,         31    \ Vertex 10
VERTEX  231,  -75,  -46,     7,      2,    8,     8,         31    \ Vertex 11
VERTEX    0, -243,  -46,     8,      3,    9,     9,         31    \ Vertex 12
VERTEX -231,  -75,  -46,     9,      4,   10,    10,         31    \ Vertex 13
VERTEX -143,  196,  -46,     6,      5,   10,    10,         31    \ Vertex 14
VERTEX   88,  121, -196,     7,      6,   11,    11,         31    \ Vertex 15
VERTEX  143,  -46, -196,     8,      7,   11,    11,         31    \ Vertex 16
VERTEX    0, -150, -196,     9,      8,   11,    11,         31    \ Vertex 17
VERTEX -143,  -46, -196,    10,      9,   11,    11,         31    \ Vertex 18
VERTEX  -88,  121, -196,    10,      6,   11,    11,         31    \ Vertex 19
VERTEX  -16,   32,  196,     0,      0,    0,     0,         30    \ Vertex 20
VERTEX  -16,  -32,  196,     0,      0,    0,     0,         30    \ Vertex 21
VERTEX   16,   32,  196,     0,      0,    0,     0,         23    \ Vertex 22
VERTEX   16,  -32,  196,     0,      0,    0,     0,         23    \ Vertex 23

.SHIP_DODO_EDGES

\EDGE vertex1, vertex2, face1, face2, visibility
EDGE       0,       1,     1,     0,         31    \ Edge 0
EDGE       1,       2,     2,     0,         31    \ Edge 1
EDGE       2,       3,     3,     0,         31    \ Edge 2
EDGE       3,       4,     4,     0,         31    \ Edge 3
EDGE       4,       0,     5,     0,         31    \ Edge 4
EDGE       5,      10,     6,     1,         31    \ Edge 5
EDGE      10,       6,     7,     1,         31    \ Edge 6
EDGE       6,      11,     7,     2,         31    \ Edge 7
EDGE      11,       7,     8,     2,         31    \ Edge 8
EDGE       7,      12,     8,     3,         31    \ Edge 9
EDGE      12,       8,     9,     3,         31    \ Edge 10
EDGE       8,      13,     9,     4,         31    \ Edge 11
EDGE      13,       9,    10,     4,         31    \ Edge 12
EDGE       9,      14,    10,     5,         31    \ Edge 13
EDGE      14,       5,     6,     5,         31    \ Edge 14
EDGE      15,      16,    11,     7,         31    \ Edge 15
EDGE      16,      17,    11,     8,         31    \ Edge 16
EDGE      17,      18,    11,     9,         31    \ Edge 17
EDGE      18,      19,    11,    10,         31    \ Edge 18
EDGE      19,      15,    11,     6,         31    \ Edge 19
EDGE       0,       5,     5,     1,         31    \ Edge 20
EDGE       1,       6,     2,     1,         31    \ Edge 21
EDGE       2,       7,     3,     2,         31    \ Edge 22
EDGE       3,       8,     4,     3,         31    \ Edge 23
EDGE       4,       9,     5,     4,         31    \ Edge 24
EDGE      10,      15,     7,     6,         31    \ Edge 25
EDGE      11,      16,     8,     7,         31    \ Edge 26
EDGE      12,      17,     9,     8,         31    \ Edge 27
EDGE      13,      18,    10,     9,         31    \ Edge 28
EDGE      14,      19,    10,     6,         31    \ Edge 29
EDGE      20,      21,     0,     0,         30    \ Edge 30
EDGE      21,      23,     0,     0,         20    \ Edge 31
EDGE      23,      22,     0,     0,         23    \ Edge 32
EDGE      22,      20,     0,     0,         20    \ Edge 33

.SHIP_DODO_FACES

\FACE normal_x, normal_y, normal_z, visibility
FACE        0,        0,      196,         31    \ Face 0
FACE      103,      142,       88,         31    \ Face 1
FACE      169,      -55,       89,         31    \ Face 2
FACE        0,     -176,       88,         31    \ Face 3
FACE     -169,      -55,       89,         31    \ Face 4
FACE     -103,      142,       88,         31    \ Face 5
FACE        0,      176,      -88,         31    \ Face 6
FACE      169,       55,      -89,         31    \ Face 7
FACE      103,     -142,      -88,         31    \ Face 8
FACE     -103,     -142,      -88,         31    \ Face 9
FACE     -169,       55,      -89,         31    \ Face 10
FACE        0,        0,     -196,         31    \ Face 11

Name: SHIP_CORIOLIS                                           [Show more]
Type: Variable
Category: Drawing ships
Summary: Ship blueprint for a Coriolis space station
Deep dive: Ship blueprints
Context: See this variable on its own page
References: This variable is used as follows:
* ship_list calls SHIP_CORIOLIS

.SHIP_CORIOLIS

EQUB 0                 \ Max. canisters on demise = 0
EQUW 160 * 160         \ Targetable area          = 160 * 160
EQUB LO(SHIP_CORIOLIS_EDGES - SHIP_CORIOLIS)      \ Edges data offset (low)
EQUB LO(SHIP_CORIOLIS_FACES - SHIP_CORIOLIS)      \ Faces data offset (low)
EQUB 85                \ Max. edge count          = (85 - 1) / 4 = 21
EQUB 0                 \ Gun vertex               = 0
EQUB 54                \ Explosion count          = 12, as (4 * n) + 6 = 54
EQUB 96                \ Number of vertices       = 96 / 6 = 16
EQUB 28                \ Number of edges          = 28
EQUW 0                 \ Bounty                   = 0
EQUB 56                \ Number of faces          = 56 / 4 = 14
EQUB 120               \ Visibility distance      = 120
EQUB 240               \ Max. energy              = 240
EQUB 0                 \ Max. speed               = 0
EQUB HI(SHIP_CORIOLIS_EDGES - SHIP_CORIOLIS)      \ Edges data offset (high)
EQUB HI(SHIP_CORIOLIS_FACES - SHIP_CORIOLIS)      \ Faces data offset (high)
EQUB 0                 \ Normals are scaled by    = 2^0 = 1
EQUB %00000110         \ Laser power              = 0
\ Missiles                 = 6

\VERTEX    x,    y,    z, face1, face2, face3, face4, visibility
VERTEX  160,    0,  160,     0,      1,    2,     6,         31    \ Vertex 0
VERTEX    0,  160,  160,     0,      2,    3,     8,         31    \ Vertex 1
VERTEX -160,    0,  160,     0,      3,    4,     7,         31    \ Vertex 2
VERTEX    0, -160,  160,     0,      1,    4,     5,         31    \ Vertex 3
VERTEX  160, -160,    0,     1,      5,    6,    10,         31    \ Vertex 4
VERTEX  160,  160,    0,     2,      6,    8,    11,         31    \ Vertex 5
VERTEX -160,  160,    0,     3,      7,    8,    12,         31    \ Vertex 6
VERTEX -160, -160,    0,     4,      5,    7,     9,         31    \ Vertex 7
VERTEX  160,    0, -160,     6,     10,   11,    13,         31    \ Vertex 8
VERTEX    0,  160, -160,     8,     11,   12,    13,         31    \ Vertex 9
VERTEX -160,    0, -160,     7,      9,   12,    13,         31    \ Vertex 10
VERTEX    0, -160, -160,     5,      9,   10,    13,         31    \ Vertex 11
VERTEX   10,  -30,  160,     0,      0,    0,     0,         30    \ Vertex 12
VERTEX   10,   30,  160,     0,      0,    0,     0,         30    \ Vertex 13
VERTEX  -10,   30,  160,     0,      0,    0,     0,         30    \ Vertex 14
VERTEX  -10,  -30,  160,     0,      0,    0,     0,         30    \ Vertex 15

.SHIP_CORIOLIS_EDGES

\EDGE vertex1, vertex2, face1, face2, visibility
EDGE       0,       3,     0,     1,         31    \ Edge 0
EDGE       0,       1,     0,     2,         31    \ Edge 1
EDGE       1,       2,     0,     3,         31    \ Edge 2
EDGE       2,       3,     0,     4,         31    \ Edge 3
EDGE       3,       4,     1,     5,         31    \ Edge 4
EDGE       0,       4,     1,     6,         31    \ Edge 5
EDGE       0,       5,     2,     6,         31    \ Edge 6
EDGE       5,       1,     2,     8,         31    \ Edge 7
EDGE       1,       6,     3,     8,         31    \ Edge 8
EDGE       2,       6,     3,     7,         31    \ Edge 9
EDGE       2,       7,     4,     7,         31    \ Edge 10
EDGE       3,       7,     4,     5,         31    \ Edge 11
EDGE       8,      11,    10,    13,         31    \ Edge 12
EDGE       8,       9,    11,    13,         31    \ Edge 13
EDGE       9,      10,    12,    13,         31    \ Edge 14
EDGE      10,      11,     9,    13,         31    \ Edge 15
EDGE       4,      11,     5,    10,         31    \ Edge 16
EDGE       4,       8,     6,    10,         31    \ Edge 17
EDGE       5,       8,     6,    11,         31    \ Edge 18
EDGE       5,       9,     8,    11,         31    \ Edge 19
EDGE       6,       9,     8,    12,         31    \ Edge 20
EDGE       6,      10,     7,    12,         31    \ Edge 21
EDGE       7,      10,     7,     9,         31    \ Edge 22
EDGE       7,      11,     5,     9,         31    \ Edge 23
EDGE      12,      13,     0,     0,         30    \ Edge 24
EDGE      13,      14,     0,     0,         30    \ Edge 25
EDGE      14,      15,     0,     0,         30    \ Edge 26
EDGE      15,      12,     0,     0,         30    \ Edge 27

.SHIP_CORIOLIS_FACES

\FACE normal_x, normal_y, normal_z, visibility
FACE        0,        0,      160,         31    \ Face 0
FACE      107,     -107,      107,         31    \ Face 1
FACE      107,      107,      107,         31    \ Face 2
FACE     -107,      107,      107,         31    \ Face 3
FACE     -107,     -107,      107,         31    \ Face 4
FACE        0,     -160,        0,         31    \ Face 5
FACE      160,        0,        0,         31    \ Face 6
FACE     -160,        0,        0,         31    \ Face 7
FACE        0,      160,        0,         31    \ Face 8
FACE     -107,     -107,     -107,         31    \ Face 9
FACE      107,     -107,     -107,         31    \ Face 10
FACE      107,      107,     -107,         31    \ Face 11
FACE     -107,      107,     -107,         31    \ Face 12
FACE        0,        0,     -160,         31    \ Face 13

Name: SHIP_ESCAPE_POD                                         [Show more]
Type: Variable
Category: Drawing ships
Summary: Ship blueprint for an escape pod
Deep dive: Ship blueprints
Context: See this variable on its own page
References: This variable is used as follows:
* XX21 calls SHIP_ESCAPE_POD
* ship_list calls SHIP_ESCAPE_POD

.SHIP_ESCAPE_POD

EQUB 0 + (2 << 4)      \ Max. canisters on demise = 0
\ Market item when scooped = 2 + 1 = 3 (slaves)
EQUW 16 * 16           \ Targetable area          = 16 * 16
EQUB LO(SHIP_ESCAPE_POD_EDGES - SHIP_ESCAPE_POD)  \ Edges data offset (low)
EQUB LO(SHIP_ESCAPE_POD_FACES - SHIP_ESCAPE_POD)  \ Faces data offset (low)
EQUB 25                \ Max. edge count          = (25 - 1) / 4 = 6
EQUB 0                 \ Gun vertex               = 0
EQUB 22                \ Explosion count          = 4, as (4 * n) + 6 = 22
EQUB 24                \ Number of vertices       = 24 / 6 = 4
EQUB 6                 \ Number of edges          = 6
EQUW 0                 \ Bounty                   = 0
EQUB 16                \ Number of faces          = 16 / 4 = 4
EQUB 8                 \ Visibility distance      = 8
EQUB 8                 \ Max. energy              = 8
EQUB 8                 \ Max. speed               = 8
EQUB HI(SHIP_ESCAPE_POD_EDGES - SHIP_ESCAPE_POD)  \ Edges data offset (high)
EQUB HI(SHIP_ESCAPE_POD_FACES - SHIP_ESCAPE_POD)  \ Faces data offset (high)
EQUB 4                 \ Normals are scaled by    =  2^4 = 16
EQUB %00000000         \ Laser power              = 0
\ Missiles                 = 0

\VERTEX    x,    y,    z, face1, face2, face3, face4, visibility
VERTEX   -7,    0,   36,     2,      1,    3,     3,         31    \ Vertex 0
VERTEX   -7,  -14,  -12,     2,      0,    3,     3,         31    \ Vertex 1
VERTEX   -7,   14,  -12,     1,      0,    3,     3,         31    \ Vertex 2
VERTEX   21,    0,    0,     1,      0,    2,     2,         31    \ Vertex 3

.SHIP_ESCAPE_POD_EDGES

\EDGE vertex1, vertex2, face1, face2, visibility
EDGE       0,       1,     3,     2,         31    \ Edge 0
EDGE       1,       2,     3,     0,         31    \ Edge 1
EDGE       2,       3,     1,     0,         31    \ Edge 2
EDGE       3,       0,     2,     1,         31    \ Edge 3
EDGE       0,       2,     3,     1,         31    \ Edge 4
EDGE       3,       1,     2,     0,         31    \ Edge 5

.SHIP_ESCAPE_POD_FACES

\FACE normal_x, normal_y, normal_z, visibility
FACE       52,        0,     -122,         31    \ Face 0
FACE       39,      103,       30,         31    \ Face 1
FACE       39,     -103,       30,         31    \ Face 2
FACE     -112,        0,        0,         31    \ Face 3

Name: SHIP_PLATE                                              [Show more]
Type: Variable
Category: Drawing ships
Summary: Ship blueprint for an alloy plate
Deep dive: Ship blueprints
Context: See this variable on its own page
References: This variable is used as follows:
* XX21 calls SHIP_PLATE
* ship_list calls SHIP_PLATE

.SHIP_PLATE

EQUB 0 + (8 << 4)      \ Max. canisters on demise = 0
\ Market item when scooped = 8 + 1 = 9 (Alloys)
EQUW 10 * 10           \ Targetable area          = 10 * 10
EQUB LO(SHIP_PLATE_EDGES - SHIP_PLATE)            \ Edges data offset (low)
EQUB LO(SHIP_PLATE_FACES - SHIP_PLATE)            \ Faces data offset (low)
EQUB 17                \ Max. edge count          = (17 - 1) / 4 = 4
EQUB 0                 \ Gun vertex               = 0
EQUB 10                \ Explosion count          = 1, as (4 * n) + 6 = 10
EQUB 24                \ Number of vertices       = 24 / 6 = 4
EQUB 4                 \ Number of edges          = 4
EQUW 1                 \ Bounty                   = 1
EQUB 4                 \ Number of faces          = 4 / 4 = 1
EQUB 5                 \ Visibility distance      = 5
EQUB 8                 \ Max. energy              = 8
EQUB 16                \ Max. speed               = 16
EQUB HI(SHIP_PLATE_EDGES - SHIP_PLATE)            \ Edges data offset (high)
EQUB HI(SHIP_PLATE_FACES - SHIP_PLATE)            \ Faces data offset (high)
EQUB 3                 \ Normals are scaled by    = 2^3 = 8
EQUB %00000000         \ Laser power              = 0
\ Missiles                 = 0

\VERTEX    x,    y,    z, face1, face2, face3, face4, visibility
VERTEX  -15,  -22,   -9,    15,     15,   15,    15,         31    \ Vertex 0
VERTEX  -15,   38,   -9,    15,     15,   15,    15,         31    \ Vertex 1
VERTEX   19,   32,   11,    15,     15,   15,    15,         20    \ Vertex 2
VERTEX   10,  -46,    6,    15,     15,   15,    15,         20    \ Vertex 3

.SHIP_PLATE_EDGES

\EDGE vertex1, vertex2, face1, face2, visibility
EDGE       0,       1,    15,    15,         31    \ Edge 0
EDGE       1,       2,    15,    15,         16    \ Edge 1
EDGE       2,       3,    15,    15,         20    \ Edge 2
EDGE       3,       0,    15,    15,         16    \ Edge 3

.SHIP_PLATE_FACES

\FACE normal_x, normal_y, normal_z, visibility
FACE        0,        0,        0,          0    \ Face 0

Name: SHIP_CANISTER                                           [Show more]
Type: Variable
Category: Drawing ships
Summary: Ship blueprint for a cargo canister
Deep dive: Ship blueprints
Context: See this variable on its own page
References: This variable is used as follows:
* XX21 calls SHIP_CANISTER
* ship_list calls SHIP_CANISTER

.SHIP_CANISTER

EQUB 0                 \ Max. canisters on demise = 0
EQUW 20 * 20           \ Targetable area          = 20 * 20
EQUB LO(SHIP_CANISTER_EDGES - SHIP_CANISTER)      \ Edges data offset (low)
EQUB LO(SHIP_CANISTER_FACES - SHIP_CANISTER)      \ Faces data offset (low)
EQUB 49                \ Max. edge count          = (49 - 1) / 4 = 12
EQUB 0                 \ Gun vertex               = 0
EQUB 18                \ Explosion count          = 3, as (4 * n) + 6 = 18
EQUB 60                \ Number of vertices       = 60 / 6 = 10
EQUB 15                \ Number of edges          = 15
EQUW 1                 \ Bounty                   = 1
EQUB 28                \ Number of faces          = 28 / 4 = 7
EQUB 12                \ Visibility distance      = 12
EQUB 8                 \ Max. energy              = 8
EQUB 15                \ Max. speed               = 15
EQUB HI(SHIP_CANISTER_EDGES - SHIP_CANISTER)      \ Edges data offset (high)
EQUB HI(SHIP_CANISTER_FACES - SHIP_CANISTER)      \ Faces data offset (high)
EQUB 2                 \ Normals are scaled by    = 2^2 = 4
EQUB %00000000         \ Laser power              = 0
\ Missiles                 = 0

\VERTEX    x,    y,    z, face1, face2, face3, face4, visibility
VERTEX   24,   16,    0,     0,      1,    5,     5,         31    \ Vertex 0
VERTEX   24,    5,   15,     0,      1,    2,     2,         31    \ Vertex 1
VERTEX   24,  -13,    9,     0,      2,    3,     3,         31    \ Vertex 2
VERTEX   24,  -13,   -9,     0,      3,    4,     4,         31    \ Vertex 3
VERTEX   24,    5,  -15,     0,      4,    5,     5,         31    \ Vertex 4
VERTEX  -24,   16,    0,     1,      5,    6,     6,         31    \ Vertex 5
VERTEX  -24,    5,   15,     1,      2,    6,     6,         31    \ Vertex 6
VERTEX  -24,  -13,    9,     2,      3,    6,     6,         31    \ Vertex 7
VERTEX  -24,  -13,   -9,     3,      4,    6,     6,         31    \ Vertex 8
VERTEX  -24,    5,  -15,     4,      5,    6,     6,         31    \ Vertex 9

.SHIP_CANISTER_EDGES

\EDGE vertex1, vertex2, face1, face2, visibility
EDGE       0,       1,     0,     1,         31    \ Edge 0
EDGE       1,       2,     0,     2,         31    \ Edge 1
EDGE       2,       3,     0,     3,         31    \ Edge 2
EDGE       3,       4,     0,     4,         31    \ Edge 3
EDGE       0,       4,     0,     5,         31    \ Edge 4
EDGE       0,       5,     1,     5,         31    \ Edge 5
EDGE       1,       6,     1,     2,         31    \ Edge 6
EDGE       2,       7,     2,     3,         31    \ Edge 7
EDGE       3,       8,     3,     4,         31    \ Edge 8
EDGE       4,       9,     4,     5,         31    \ Edge 9
EDGE       5,       6,     1,     6,         31    \ Edge 10
EDGE       6,       7,     2,     6,         31    \ Edge 11
EDGE       7,       8,     3,     6,         31    \ Edge 12
EDGE       8,       9,     4,     6,         31    \ Edge 13
EDGE       9,       5,     5,     6,         31    \ Edge 14

.SHIP_CANISTER_FACES

\FACE normal_x, normal_y, normal_z, visibility
FACE       96,        0,        0,         31    \ Face 0
FACE        0,       41,       30,         31    \ Face 1
FACE        0,      -18,       48,         31    \ Face 2
FACE        0,      -51,        0,         31    \ Face 3
FACE        0,      -18,      -48,         31    \ Face 4
FACE        0,       41,      -30,         31    \ Face 5
FACE      -96,        0,        0,         31    \ Face 6

Name: SHIP_THARGOID                                           [Show more]
Type: Variable
Category: Drawing ships
Summary: Ship blueprint for a Thargoid mothership
Deep dive: Ship blueprints
Context: See this variable on its own page
References: This variable is used as follows:
* XX21 calls SHIP_THARGOID
* ship_list calls SHIP_THARGOID

.SHIP_THARGOID

EQUB 0                 \ Max. canisters on demise = 0
EQUW 99 * 99           \ Targetable area          = 99 * 99
EQUB LO(SHIP_THARGOID_EDGES - SHIP_THARGOID)      \ Edges data offset (low)
EQUB LO(SHIP_THARGOID_FACES - SHIP_THARGOID)      \ Faces data offset (low)
EQUB 101               \ Max. edge count          = (101 - 1) / 4 = 25
EQUB 60                \ Gun vertex               = 60 / 4 = 15
EQUB 38                \ Explosion count          = 8, as (4 * n) + 6 = 38
EQUB 120               \ Number of vertices       = 120 / 6 = 20
EQUB 26                \ Number of edges          = 26
EQUW 500               \ Bounty                   = 500
EQUB 40                \ Number of faces          = 40 / 4 = 10
EQUB 55                \ Visibility distance      = 55
EQUB 253               \ Max. energy              = 253
EQUB 39                \ Max. speed               = 39
EQUB HI(SHIP_THARGOID_EDGES - SHIP_THARGOID)      \ Edges data offset (high)
EQUB HI(SHIP_THARGOID_FACES - SHIP_THARGOID)      \ Faces data offset (high)
EQUB 2                 \ Normals are scaled by    = 2^2 = 4
EQUB %00111000         \ Laser power              = 7
\ Missiles                 = 0

\VERTEX    x,    y,    z, face1, face2, face3, face4, visibility
VERTEX   32,  -48,   48,     0,      4,    8,     8,         31    \ Vertex 0
VERTEX   32,  -68,    0,     0,      1,    4,     4,         31    \ Vertex 1
VERTEX   32,  -48,  -48,     1,      2,    4,     4,         31    \ Vertex 2
VERTEX   32,    0,  -68,     2,      3,    4,     4,         31    \ Vertex 3
VERTEX   32,   48,  -48,     3,      4,    5,     5,         31    \ Vertex 4
VERTEX   32,   68,    0,     4,      5,    6,     6,         31    \ Vertex 5
VERTEX   32,   48,   48,     4,      6,    7,     7,         31    \ Vertex 6
VERTEX   32,    0,   68,     4,      7,    8,     8,         31    \ Vertex 7
VERTEX  -24, -116,  116,     0,      8,    9,     9,         31    \ Vertex 8
VERTEX  -24, -164,    0,     0,      1,    9,     9,         31    \ Vertex 9
VERTEX  -24, -116, -116,     1,      2,    9,     9,         31    \ Vertex 10
VERTEX  -24,    0, -164,     2,      3,    9,     9,         31    \ Vertex 11
VERTEX  -24,  116, -116,     3,      5,    9,     9,         31    \ Vertex 12
VERTEX  -24,  164,    0,     5,      6,    9,     9,         31    \ Vertex 13
VERTEX  -24,  116,  116,     6,      7,    9,     9,         31    \ Vertex 14
VERTEX  -24,    0,  164,     7,      8,    9,     9,         31    \ Vertex 15
VERTEX  -24,   64,   80,     9,      9,    9,     9,         30    \ Vertex 16
VERTEX  -24,   64,  -80,     9,      9,    9,     9,         30    \ Vertex 17
VERTEX  -24,  -64,  -80,     9,      9,    9,     9,         30    \ Vertex 18
VERTEX  -24,  -64,   80,     9,      9,    9,     9,         30    \ Vertex 19

.SHIP_THARGOID_EDGES

\EDGE vertex1, vertex2, face1, face2, visibility
EDGE       0,       7,     4,     8,         31    \ Edge 0
EDGE       0,       1,     0,     4,         31    \ Edge 1
EDGE       1,       2,     1,     4,         31    \ Edge 2
EDGE       2,       3,     2,     4,         31    \ Edge 3
EDGE       3,       4,     3,     4,         31    \ Edge 4
EDGE       4,       5,     4,     5,         31    \ Edge 5
EDGE       5,       6,     4,     6,         31    \ Edge 6
EDGE       6,       7,     4,     7,         31    \ Edge 7
EDGE       0,       8,     0,     8,         31    \ Edge 8
EDGE       1,       9,     0,     1,         31    \ Edge 9
EDGE       2,      10,     1,     2,         31    \ Edge 10
EDGE       3,      11,     2,     3,         31    \ Edge 11
EDGE       4,      12,     3,     5,         31    \ Edge 12
EDGE       5,      13,     5,     6,         31    \ Edge 13
EDGE       6,      14,     6,     7,         31    \ Edge 14
EDGE       7,      15,     7,     8,         31    \ Edge 15
EDGE       8,      15,     8,     9,         31    \ Edge 16
EDGE       8,       9,     0,     9,         31    \ Edge 17
EDGE       9,      10,     1,     9,         31    \ Edge 18
EDGE      10,      11,     2,     9,         31    \ Edge 19
EDGE      11,      12,     3,     9,         31    \ Edge 20
EDGE      12,      13,     5,     9,         31    \ Edge 21
EDGE      13,      14,     6,     9,         31    \ Edge 22
EDGE      14,      15,     7,     9,         31    \ Edge 23
EDGE      16,      17,     9,     9,         30    \ Edge 24
EDGE      18,      19,     9,     9,         30    \ Edge 25

.SHIP_THARGOID_FACES

\FACE normal_x, normal_y, normal_z, visibility
FACE      103,      -60,       25,         31    \ Face 0
FACE      103,      -60,      -25,         31    \ Face 1
FACE      103,      -25,      -60,         31    \ Face 2
FACE      103,       25,      -60,         31    \ Face 3
FACE       64,        0,        0,         31    \ Face 4
FACE      103,       60,      -25,         31    \ Face 5
FACE      103,       60,       25,         31    \ Face 6
FACE      103,       25,       60,         31    \ Face 7
FACE      103,      -25,       60,         31    \ Face 8
FACE      -48,        0,        0,         31    \ Face 9

Name: SHIP_THARGON                                            [Show more]
Type: Variable
Category: Drawing ships
Summary: Ship blueprint for a Thargon
Deep dive: Ship blueprints
Context: See this variable on its own page
References: This variable is used as follows:
* XX21 calls SHIP_THARGON
* ship_list calls SHIP_THARGON

The ship blueprint for the Thargon reuses the edges data from the cargo
canister, so the edges data offset is negative.

.SHIP_THARGON

EQUB 0 + (15 << 4)     \ Max. canisters on demise = 0
\ Market item when scooped = 15 + 1 = 16 (alien items)
EQUW 40 * 40           \ Targetable area          = 40 * 40
EQUB LO(SHIP_CANISTER_EDGES - SHIP_THARGON)       \ Edges from canister
EQUB LO(SHIP_THARGON_FACES - SHIP_THARGON)        \ Faces data offset (low)
EQUB 65                \ Max. edge count          = (65 - 1) / 4 = 16
EQUB 0                 \ Gun vertex               = 0
EQUB 18                \ Explosion count          = 3, as (4 * n) + 6 = 18
EQUB 60                \ Number of vertices       = 60 / 6 = 10
EQUB 15                \ Number of edges          = 15
EQUW 50                \ Bounty                   = 50
EQUB 28                \ Number of faces          = 28 / 4 = 7
EQUB 20                \ Visibility distance      = 20
EQUB 33                \ Max. energy              = 33
EQUB 30                \ Max. speed               = 30
EQUB HI(SHIP_CANISTER_EDGES - SHIP_THARGON)       \ Edges from canister
EQUB HI(SHIP_THARGON_FACES - SHIP_THARGON)        \ Faces data offset (high)
EQUB 2                 \ Normals are scaled by    = 2^2 = 4
EQUB %00100000         \ Laser power              = 4
\ Missiles                 = 0

\VERTEX    x,    y,    z, face1, face2, face3, face4, visibility
VERTEX   -9,    0,   40,     1,      0,    5,     5,         31    \ Vertex 0
VERTEX   -9,  -38,   12,     1,      0,    2,     2,         31    \ Vertex 1
VERTEX   -9,  -24,  -32,     2,      0,    3,     3,         31    \ Vertex 2
VERTEX   -9,   24,  -32,     3,      0,    4,     4,         31    \ Vertex 3
VERTEX   -9,   38,   12,     4,      0,    5,     5,         31    \ Vertex 4
VERTEX    9,    0,   -8,     5,      1,    6,     6,         31    \ Vertex 5
VERTEX    9,  -10,  -15,     2,      1,    6,     6,         31    \ Vertex 6
VERTEX    9,   -6,  -26,     3,      2,    6,     6,         31    \ Vertex 7
VERTEX    9,    6,  -26,     4,      3,    6,     6,         31    \ Vertex 8
VERTEX    9,   10,  -15,     5,      4,    6,     6,         31    \ Vertex 9

.SHIP_THARGON_FACES

\FACE normal_x, normal_y, normal_z, visibility
FACE      -36,        0,        0,         31    \ Face 0
FACE       20,       -5,        7,         31    \ Face 1
FACE       46,      -42,      -14,         31    \ Face 2
FACE       36,        0,     -104,         31    \ Face 3
FACE       46,       42,      -14,         31    \ Face 4
FACE       20,        5,        7,         31    \ Face 5
FACE       36,        0,        0,         31    \ Face 6

Name: SHIP_BOULDER                                            [Show more]
Type: Variable
Category: Drawing ships
Summary: Ship blueprint for a boulder
Deep dive: Ship blueprints
Context: See this variable on its own page
References: This variable is used as follows:
* XX21 calls SHIP_BOULDER
* ship_list calls SHIP_BOULDER

.SHIP_BOULDER

EQUB 0                 \ Max. canisters on demise = 0
EQUW 30 * 30           \ Targetable area          = 30 * 30
EQUB LO(SHIP_BOULDER_EDGES - SHIP_BOULDER)        \ Edges data offset (low)
EQUB LO(SHIP_BOULDER_FACES - SHIP_BOULDER)        \ Faces data offset (low)
EQUB 45                \ Max. edge count          = (45 - 1) / 4 = 11
EQUB 0                 \ Gun vertex               = 0
EQUB 14                \ Explosion count          = 2, as (4 * n) + 6 = 14
EQUB 42                \ Number of vertices       = 42 / 6 = 7
EQUB 15                \ Number of edges          = 15
EQUW 1                 \ Bounty                   = 1
EQUB 40                \ Number of faces          = 40 / 4 = 10
EQUB 20                \ Visibility distance      = 20
EQUB 16                \ Max. energy              = 16
EQUB 30                \ Max. speed               = 30
EQUB HI(SHIP_BOULDER_EDGES - SHIP_BOULDER)        \ Edges data offset (high)
EQUB HI(SHIP_BOULDER_FACES - SHIP_BOULDER)        \ Faces data offset (high)
EQUB 2                 \ Normals are scaled by    = 2^2 = 4
EQUB %00000000         \ Laser power              = 0
\ Missiles                 = 0

\VERTEX    x,    y,    z, face1, face2, face3, face4, visibility
VERTEX  -18,   37,  -11,     1,      0,    9,     5,         31    \ Vertex 0
VERTEX   30,    7,   12,     2,      1,    6,     5,         31    \ Vertex 1
VERTEX   28,   -7,  -12,     3,      2,    7,     6,         31    \ Vertex 2
VERTEX    2,    0,  -39,     4,      3,    8,     7,         31    \ Vertex 3
VERTEX  -28,   34,  -30,     4,      0,    9,     8,         31    \ Vertex 4
VERTEX    5,  -10,   13,    15,     15,   15,    15,         31    \ Vertex 5
VERTEX   20,   17,  -30,    15,     15,   15,    15,         31    \ Vertex 6

.SHIP_BOULDER_EDGES

\EDGE vertex1, vertex2, face1, face2, visibility
EDGE       0,       1,     5,     1,         31    \ Edge 0
EDGE       1,       2,     6,     2,         31    \ Edge 1
EDGE       2,       3,     7,     3,         31    \ Edge 2
EDGE       3,       4,     8,     4,         31    \ Edge 3
EDGE       4,       0,     9,     0,         31    \ Edge 4
EDGE       0,       5,     1,     0,         31    \ Edge 5
EDGE       1,       5,     2,     1,         31    \ Edge 6
EDGE       2,       5,     3,     2,         31    \ Edge 7
EDGE       3,       5,     4,     3,         31    \ Edge 8
EDGE       4,       5,     4,     0,         31    \ Edge 9
EDGE       0,       6,     9,     5,         31    \ Edge 10
EDGE       1,       6,     6,     5,         31    \ Edge 11
EDGE       2,       6,     7,     6,         31    \ Edge 12
EDGE       3,       6,     8,     7,         31    \ Edge 13
EDGE       4,       6,     9,     8,         31    \ Edge 14

.SHIP_BOULDER_FACES

\FACE normal_x, normal_y, normal_z, visibility
FACE      -15,       -3,        8,         31    \ Face 0
FACE       -7,       12,       30,         31    \ Face 1
FACE       32,      -47,       24,         31    \ Face 2
FACE       -3,      -39,       -7,         31    \ Face 3
FACE       -5,       -4,       -1,         31    \ Face 4
FACE       49,       84,        8,         31    \ Face 5
FACE      112,       21,      -21,         31    \ Face 6
FACE       76,      -35,      -82,         31    \ Face 7
FACE       22,       56,     -137,         31    \ Face 8
FACE       40,      110,      -38,         31    \ Face 9

Name: SHIP_ASTEROID                                           [Show more]
Type: Variable
Category: Drawing ships
Summary: Ship blueprint for an asteroid
Deep dive: Ship blueprints
Context: See this variable on its own page
References: This variable is used as follows:
* XX21 calls SHIP_ASTEROID
* ship_list calls SHIP_ASTEROID

.SHIP_ASTEROID

EQUB 0                 \ Max. canisters on demise = 0
EQUW 80 * 80           \ Targetable area          = 80 * 80
EQUB LO(SHIP_ASTEROID_EDGES - SHIP_ASTEROID)      \ Edges data offset (low)
EQUB LO(SHIP_ASTEROID_FACES - SHIP_ASTEROID)      \ Faces data offset (low)
EQUB 65                \ Max. edge count          = (65 - 1) / 4 = 16
EQUB 0                 \ Gun vertex               = 0
EQUB 34                \ Explosion count          = 7, as (4 * n) + 6 = 34
EQUB 54                \ Number of vertices       = 54 / 6 = 9
EQUB 21                \ Number of edges          = 21
EQUW 15                \ Bounty                   = 15
EQUB 56                \ Number of faces          = 56 / 4 = 14
EQUB 50                \ Visibility distance      = 50
EQUB 56                \ Max. energy              = 56
EQUB 30                \ Max. speed               = 30
EQUB HI(SHIP_ASTEROID_EDGES - SHIP_ASTEROID)      \ Edges data offset (high)
EQUB HI(SHIP_ASTEROID_FACES - SHIP_ASTEROID)      \ Faces data offset (high)
EQUB 1                 \ Normals are scaled by    = 2^1 = 2
EQUB %00000000         \ Laser power              = 0
\ Missiles                 = 0

\VERTEX    x,    y,    z, face1, face2, face3, face4, visibility
VERTEX    0,   80,    0,    15,     15,   15,    15,         31    \ Vertex 0
VERTEX  -80,  -10,    0,    15,     15,   15,    15,         31    \ Vertex 1
VERTEX    0,  -80,    0,    15,     15,   15,    15,         31    \ Vertex 2
VERTEX   70,  -40,    0,    15,     15,   15,    15,         31    \ Vertex 3
VERTEX   60,   50,    0,     5,      6,   12,    13,         31    \ Vertex 4
VERTEX   50,    0,   60,    15,     15,   15,    15,         31    \ Vertex 5
VERTEX  -40,    0,   70,     0,      1,    2,     3,         31    \ Vertex 6
VERTEX    0,   30,  -75,    15,     15,   15,    15,         31    \ Vertex 7
VERTEX    0,  -50,  -60,     8,      9,   10,    11,         31    \ Vertex 8

.SHIP_ASTEROID_EDGES

\EDGE vertex1, vertex2, face1, face2, visibility
EDGE       0,       1,     2,     7,         31    \ Edge 0
EDGE       0,       4,     6,    13,         31    \ Edge 1
EDGE       3,       4,     5,    12,         31    \ Edge 2
EDGE       2,       3,     4,    11,         31    \ Edge 3
EDGE       1,       2,     3,    10,         31    \ Edge 4
EDGE       1,       6,     2,     3,         31    \ Edge 5
EDGE       2,       6,     1,     3,         31    \ Edge 6
EDGE       2,       5,     1,     4,         31    \ Edge 7
EDGE       5,       6,     0,     1,         31    \ Edge 8
EDGE       0,       5,     0,     6,         31    \ Edge 9
EDGE       3,       5,     4,     5,         31    \ Edge 10
EDGE       0,       6,     0,     2,         31    \ Edge 11
EDGE       4,       5,     5,     6,         31    \ Edge 12
EDGE       1,       8,     8,    10,         31    \ Edge 13
EDGE       1,       7,     7,     8,         31    \ Edge 14
EDGE       0,       7,     7,    13,         31    \ Edge 15
EDGE       4,       7,    12,    13,         31    \ Edge 16
EDGE       3,       7,     9,    12,         31    \ Edge 17
EDGE       3,       8,     9,    11,         31    \ Edge 18
EDGE       2,       8,    10,    11,         31    \ Edge 19
EDGE       7,       8,     8,     9,         31    \ Edge 20

.SHIP_ASTEROID_FACES

\FACE normal_x, normal_y, normal_z, visibility
FACE        9,       66,       81,         31    \ Face 0
FACE        9,      -66,       81,         31    \ Face 1
FACE      -72,       64,       31,         31    \ Face 2
FACE      -64,      -73,       47,         31    \ Face 3
FACE       45,      -79,       65,         31    \ Face 4
FACE      135,       15,       35,         31    \ Face 5
FACE       38,       76,       70,         31    \ Face 6
FACE      -66,       59,      -39,         31    \ Face 7
FACE      -67,      -15,      -80,         31    \ Face 8
FACE       66,      -14,      -75,         31    \ Face 9
FACE      -70,      -80,      -40,         31    \ Face 10
FACE       58,     -102,      -51,         31    \ Face 11
FACE       81,        9,      -67,         31    \ Face 12
FACE       47,       94,      -63,         31    \ Face 13

Name: SHIP_SPLINTER                                           [Show more]
Type: Variable
Category: Drawing ships
Summary: Ship blueprint for a splinter
Deep dive: Ship blueprints
Context: See this variable on its own page
References: This variable is used as follows:
* XX21 calls SHIP_SPLINTER
* ship_list calls SHIP_SPLINTER

The ship blueprint for the splinter is supposed to reuse the edges data from
the escape pod, but there is a bug in Elite-A that breaks splinters. The edges
data offset is negative, as it should be, but the offset value is incorrect
and doesn't even point to edge data - in the Tube version, it points into the
middle of the Thargoid's vertex data, while in the disc version it points to a
different place depending on the structure of the individual blueprint file.
In all cases the offset is wrong, so splinters in Elite-A appear as a random
mess of lines. The correct value of the offset should be:

SHIP_ESCAPE_POD_EDGES - SHIP_SPLINTER

split into the high byte and low byte, as it is in the disc version.

.SHIP_SPLINTER

EQUB 0 + (11 << 4)     \ Max. canisters on demise = 0
\ Market item when scooped = 11 + 1 = 12 (Minerals)
EQUW 16 * 16           \ Targetable area          = 16 * 16

IF _RELEASED OR _SOURCE_DISC

EQUB &5A               \ This value is incorrect (see above)

ELIF _BUG_FIX

EQUB LO(SHIP_ESCAPE_POD_EDGES - SHIP_SPLINTER)    \ Edges from escape pod

ENDIF

EQUB LO(SHIP_SPLINTER_FACES - SHIP_SPLINTER) + 24 \ Faces data offset (low)
EQUB 25                \ Max. edge count          = (25 - 1) / 4 = 6
EQUB 0                 \ Gun vertex               = 0
EQUB 22                \ Explosion count          = 4, as (4 * n) + 6 = 22
EQUB 24                \ Number of vertices       = 24 / 6 = 4
EQUB 6                 \ Number of edges          = 6
EQUW 1                 \ Bounty                   = 1
EQUB 16                \ Number of faces          = 16 / 4 = 4
EQUB 8                 \ Visibility distance      = 8
EQUB 16                \ Max. energy              = 16
EQUB 10                \ Max. speed               = 10

IF _RELEASED OR _SOURCE_DISC

EQUB &FE               \ This value is incorrect (see above)

ELIF _BUG_FIX

EQUB HI(SHIP_ESCAPE_POD_EDGES - SHIP_SPLINTER)    \ Edges from escape pod

ENDIF

EQUB HI(SHIP_SPLINTER_FACES - SHIP_SPLINTER)      \ Faces data offset (low)
EQUB 5                 \ Normals are scaled by    = 2^5 = 32
EQUB %00000000         \ Laser power              = 0
\ Missiles                 = 0

\VERTEX    x,    y,    z, face1, face2, face3, face4, visibility
VERTEX  -24,  -25,   16,     2,      1,    3,     3,         31    \ Vertex 0
VERTEX    0,   12,  -10,     2,      0,    3,     3,         31    \ Vertex 1
VERTEX   11,   -6,    2,     1,      0,    3,     3,         31    \ Vertex 2
VERTEX   12,   42,    7,     1,      0,    2,     2,         31    \ Vertex 3

.SHIP_SPLINTER_FACES

\FACE normal_x, normal_y, normal_z, visibility
FACE       35,        0,        4,         31    \ Face 0
FACE        3,        4,        8,         31    \ Face 1
FACE        1,        8,       12,         31    \ Face 2
FACE       18,       12,        0,         31    \ Face 3

Name: SHIP_SHUTTLE                                            [Show more]
Type: Variable
Category: Drawing ships
Summary: Ship blueprint for a Shuttle
Deep dive: Ship blueprints
Context: See this variable on its own page
References: This variable is used as follows:
* ship_list calls SHIP_SHUTTLE

.SHIP_SHUTTLE

EQUB 15                \ Max. canisters on demise = 15
EQUW 50 * 50           \ Targetable area          = 50 * 50
EQUB LO(SHIP_SHUTTLE_EDGES - SHIP_SHUTTLE)        \ Edges data offset (low)
EQUB LO(SHIP_SHUTTLE_FACES - SHIP_SHUTTLE)        \ Faces data offset (low)
EQUB 109               \ Max. edge count          = (109 - 1) / 4 = 27
EQUB 0                 \ Gun vertex               = 0
EQUB 38                \ Explosion count          = 8, as (4 * n) + 6 = 38
EQUB 114               \ Number of vertices       = 114 / 6 = 19
EQUB 30                \ Number of edges          = 30
EQUW 0                 \ Bounty                   = 0
EQUB 52                \ Number of faces          = 52 / 4 = 13
EQUB 22                \ Visibility distance      = 22
EQUB 32                \ Max. energy              = 32
EQUB 8                 \ Max. speed               = 8
EQUB HI(SHIP_SHUTTLE_EDGES - SHIP_SHUTTLE)        \ Edges data offset (high)
EQUB HI(SHIP_SHUTTLE_FACES - SHIP_SHUTTLE)        \ Faces data offset (high)
EQUB 2                 \ Normals are scaled by    = 2^2 = 4
EQUB %00000000         \ Laser power              = 0
\ Missiles                 = 0

\VERTEX    x,    y,    z, face1, face2, face3, face4, visibility
VERTEX    0,  -35,   47,    15,    15,    15,    15,         31     \ Vertex 0
VERTEX  -35,    0,   47,    15,    15,    15,    15,         31     \ Vertex 1
VERTEX    0,   35,   47,    15,    15,    15,    15,         31     \ Vertex 2
VERTEX   35,    0,   47,    15,    15,    15,    15,         31     \ Vertex 3
VERTEX  -40,  -40,  -53,     2,     1,     9,     3,         31     \ Vertex 4
VERTEX  -40,   40,  -53,     4,     3,     9,     5,         31     \ Vertex 5
VERTEX   40,   40,  -53,     6,     5,     9,     7,         31     \ Vertex 6
VERTEX   40,  -40,  -53,     7,     1,     9,     8,         31     \ Vertex 7
VERTEX   10,    0,  -53,     9,     9,     9,     9,         16     \ Vertex 8
VERTEX    0,   -5,  -53,     9,     9,     9,     9,         16     \ Vertex 9
VERTEX  -10,    0,  -53,     9,     9,     9,     9,          8     \ Vertex 10
VERTEX    0,    5,  -53,     9,     9,     9,     9,          8     \ Vertex 11
VERTEX    0,  -17,   71,    10,     0,    12,    11,         16     \ Vertex 12
VERTEX    5,   -2,   61,    15,    15,     2,     0,          6     \ Vertex 13
VERTEX    7,   23,   49,     1,     0,     4,    15,          7     \ Vertex 14
VERTEX   21,    9,   49,     1,    10,    15,     3,          7     \ Vertex 15
VERTEX   -5,   -2,   61,    11,     6,     3,     2,          6     \ Vertex 16
VERTEX   -7,   23,   49,     8,    15,     0,    12,          7     \ Vertex 17
VERTEX  -21,    9,   49,    15,     4,     8,     1,          7     \ Vertex 18

.SHIP_SHUTTLE_EDGES

\EDGE vertex1, vertex2, face1, face2, visibility
EDGE       0,       1,     2,     0,         31    \ Edge 0
EDGE       1,       2,    10,     4,         31    \ Edge 1
EDGE       2,       3,    11,     6,         31    \ Edge 2
EDGE       0,       3,    12,     8,         31    \ Edge 3
EDGE       0,       7,     8,     1,         31    \ Edge 4
EDGE       0,       4,     2,     1,         24    \ Edge 5
EDGE       1,       4,     3,     2,         31    \ Edge 6
EDGE       1,       5,     4,     3,         24    \ Edge 7
EDGE       2,       5,     5,     4,         31    \ Edge 8
EDGE       2,       6,     6,     5,         12    \ Edge 9
EDGE       3,       6,     7,     6,         31    \ Edge 10
EDGE       3,       7,     8,     7,         24    \ Edge 11
EDGE       4,       5,     9,     3,         31    \ Edge 12
EDGE       5,       6,     9,     5,         31    \ Edge 13
EDGE       6,       7,     9,     7,         31    \ Edge 14
EDGE       4,       7,     9,     1,         31    \ Edge 15
EDGE       0,      12,    12,     0,         16    \ Edge 16
EDGE       1,      12,    10,     0,         16    \ Edge 17
EDGE       2,      12,    11,    10,         16    \ Edge 18
EDGE       3,      12,    12,    11,         16    \ Edge 19
EDGE       8,       9,     9,     9,         16    \ Edge 20
EDGE       9,      10,     9,     9,          6    \ Edge 21
EDGE      10,      11,     9,     9,          8    \ Edge 22
EDGE       8,      11,     9,     9,          6    \ Edge 23
EDGE      13,      14,    11,    11,          4    \ Edge 24
EDGE      14,      15,    11,    11,          7    \ Edge 25
EDGE      13,      15,    11,    11,          6    \ Edge 26
EDGE      16,      17,    10,    10,          4    \ Edge 27
EDGE      17,      18,    10,    10,          7    \ Edge 28
EDGE      16,      18,    10,    10,          6    \ Edge 29

.SHIP_SHUTTLE_FACES

\FACE normal_x, normal_y, normal_z, visibility
FACE     -110,     -110,       80,         31    \ Face 0
FACE        0,     -149,        7,         31    \ Face 1
FACE     -102,     -102,       46,         31    \ Face 2
FACE     -149,        0,        7,         31    \ Face 3
FACE     -102,      102,       46,         31    \ Face 4
FACE        0,      149,        7,         31    \ Face 5
FACE      102,      102,       46,         31    \ Face 6
FACE      149,        0,        7,         31    \ Face 7
FACE      102,     -102,       46,         31    \ Face 8
FACE        0,        0,     -213,         31    \ Face 9
FACE      -81,       81,      177,         31    \ Face 10
FACE       81,       81,      177,         31    \ Face 11
FACE      110,     -110,       80,         31    \ Face 12

Name: SHIP_TRANSPORTER                                        [Show more]
Type: Variable
Category: Drawing ships
Summary: Ship blueprint for a Transporter
Deep dive: Ship blueprints
Context: See this variable on its own page
References: This variable is used as follows:
* XX21 calls SHIP_TRANSPORTER
* ship_list calls SHIP_TRANSPORTER

.SHIP_TRANSPORTER

EQUB 0                 \ Max. canisters on demise = 0
EQUW 50 * 50           \ Targetable area          = 50 * 50
EQUB LO(SHIP_TRANSPORTER_EDGES - SHIP_TRANSPORTER)   \ Edges data offset (low)
EQUB LO(SHIP_TRANSPORTER_FACES - SHIP_TRANSPORTER)   \ Faces data offset (low)
EQUB 145               \ Max. edge count          = (145 - 1) / 4 = 36
EQUB 48                \ Gun vertex               = 48
EQUB 26                \ Explosion count          = 5, as (4 * n) + 6 = 26
EQUB 222               \ Number of vertices       = 222 / 6 = 37
EQUB 46                \ Number of edges          = 46
EQUW 0                 \ Bounty                   = 0
EQUB 56                \ Number of faces          = 56 / 4 = 14
EQUB 16                \ Visibility distance      = 16
EQUB 32                \ Max. energy              = 32
EQUB 10                \ Max. speed               = 10
EQUB HI(SHIP_TRANSPORTER_EDGES - SHIP_TRANSPORTER)   \ Edges data offset (high)
EQUB HI(SHIP_TRANSPORTER_FACES - SHIP_TRANSPORTER)   \ Faces data offset (high)
EQUB 1                 \ Normals are scaled by    = 2^1 = 2
EQUB %00000000         \ Laser power              = 0
\ Missiles                 = 0

\VERTEX    x,    y,    z, face1, face2, face3, face4, visibility
VERTEX    0,   19,  -51,     6,     0,     7,     7,         31     \ Vertex 0
VERTEX  -51,    7,  -51,     1,     0,     7,     7,         31     \ Vertex 1
VERTEX  -57,   -7,  -51,     1,     0,     2,     2,         31     \ Vertex 2
VERTEX  -51,  -17,  -51,     2,     0,     3,     3,         31     \ Vertex 3
VERTEX   51,  -17,  -51,     3,     0,     4,     4,         31     \ Vertex 4
VERTEX   57,   -7,  -51,     4,     0,     5,     5,         31     \ Vertex 5
VERTEX   51,    7,  -51,     5,     0,     6,     6,         31     \ Vertex 6
VERTEX    0,   12,   24,    15,    15,    15,    15,         18     \ Vertex 7
VERTEX  -60,   -2,   24,     7,     1,     9,     8,         31     \ Vertex 8
VERTEX  -66,  -17,   24,     2,     1,     9,     3,         31     \ Vertex 9
VERTEX   66,  -17,   24,     4,     3,    10,     5,         31     \ Vertex 10
VERTEX   60,   -2,   24,     6,     5,    11,    10,         31     \ Vertex 11
VERTEX  -22,   -5,   61,     9,     8,    13,    12,         31     \ Vertex 12
VERTEX  -27,  -17,   61,     9,     3,    13,    13,         31     \ Vertex 13
VERTEX   27,  -17,   61,    10,     3,    13,    13,         31     \ Vertex 14
VERTEX   22,   -5,   61,    11,    10,    13,    12,         31     \ Vertex 15
VERTEX  -10,   11,    5,     7,     7,     7,     7,          6     \ Vertex 16
VERTEX  -36,    5,    5,     7,     7,     7,     7,          6     \ Vertex 17
VERTEX  -10,   13,  -14,     7,     7,     7,     7,          6     \ Vertex 18
VERTEX  -36,    7,  -14,     7,     7,     7,     7,          6     \ Vertex 19
VERTEX  -23,   12,  -29,     7,     7,     7,     7,          6     \ Vertex 20
VERTEX  -23,   10,  -14,     7,     7,     7,     7,          6     \ Vertex 21
VERTEX   10,   15,  -29,     6,     6,     6,     6,          6     \ Vertex 22
VERTEX   36,    9,  -29,     6,     6,     6,     6,          6     \ Vertex 23
VERTEX   23,   10,  -14,     6,     6,     6,     6,          6     \ Vertex 24
VERTEX   10,   12,   -6,     6,     6,     6,     6,          6     \ Vertex 25
VERTEX   36,    6,   -6,     6,     6,     6,     6,          6     \ Vertex 26
VERTEX   23,    7,   16,     6,     6,     6,     6,          6     \ Vertex 27
VERTEX   23,    9,   -6,     6,     6,     6,     6,          6     \ Vertex 28
VERTEX  -33,  -17,  -26,     3,     3,     3,     3,          5     \ Vertex 29
VERTEX  -33,  -17,   33,     3,     3,     3,     3,          5     \ Vertex 30
VERTEX   33,  -17,  -26,     3,     3,     3,     3,          5     \ Vertex 31
VERTEX   33,  -17,   33,     3,     3,     3,     3,          5     \ Vertex 32
VERTEX  -25,   -6,  -51,     0,     0,     0,     0,          7     \ Vertex 33
VERTEX   26,   -6,  -51,     0,     0,     0,     0,          7     \ Vertex 34
VERTEX   17,    6,  -51,     0,     0,     0,     0,          4     \ Vertex 35
VERTEX  -17,    6,  -51,     0,     0,     0,     0,          4     \ Vertex 36

.SHIP_TRANSPORTER_EDGES

\EDGE vertex1, vertex2, face1, face2, visibility
EDGE       0,       1,     7,     0,         31    \ Edge 0
EDGE       1,       2,     1,     0,         31    \ Edge 1
EDGE       2,       3,     2,     0,         31    \ Edge 2
EDGE       3,       4,     3,     0,         31    \ Edge 3
EDGE       4,       5,     4,     0,         31    \ Edge 4
EDGE       5,       6,     5,     0,         31    \ Edge 5
EDGE       0,       6,     6,     0,         31    \ Edge 6
EDGE       0,       7,     7,     6,         15    \ Edge 7
EDGE       1,       8,     7,     1,         31    \ Edge 8
EDGE       2,       9,     2,     1,         10    \ Edge 9
EDGE       3,       9,     3,     2,         31    \ Edge 10
EDGE       4,      10,     4,     3,         31    \ Edge 11
EDGE       5,      10,     5,     4,         10    \ Edge 12
EDGE       6,      11,     6,     5,         31    \ Edge 13
EDGE       7,       8,     8,     7,         16    \ Edge 14
EDGE       8,       9,     9,     1,         16    \ Edge 15
EDGE      10,      11,    10,     5,         16    \ Edge 16
EDGE       7,      11,    11,     6,         16    \ Edge 17
EDGE       7,      15,    12,    11,         18    \ Edge 18
EDGE       7,      12,    12,     8,         18    \ Edge 19
EDGE       8,      12,     9,     8,         16    \ Edge 20
EDGE       9,      13,     9,     3,         31    \ Edge 21
EDGE      10,      14,    10,     3,         31    \ Edge 22
EDGE      11,      15,    11,    10,         16    \ Edge 23
EDGE      12,      13,    13,     9,         31    \ Edge 24
EDGE      13,      14,    13,     3,         31    \ Edge 25
EDGE      14,      15,    13,    10,         31    \ Edge 26
EDGE      12,      15,    13,    12,         31    \ Edge 27
EDGE      16,      17,     7,     7,          6    \ Edge 28
EDGE      18,      19,     7,     7,          6    \ Edge 29
EDGE      19,      20,     7,     7,          6    \ Edge 30
EDGE      18,      20,     7,     7,          6    \ Edge 31
EDGE      20,      21,     7,     7,          6    \ Edge 32
EDGE      22,      23,     6,     6,          6    \ Edge 33
EDGE      23,      24,     6,     6,          6    \ Edge 34
EDGE      24,      22,     6,     6,          6    \ Edge 35
EDGE      25,      26,     6,     6,          6    \ Edge 36
EDGE      26,      27,     6,     6,          6    \ Edge 37
EDGE      25,      27,     6,     6,          6    \ Edge 38
EDGE      27,      28,     6,     6,          6    \ Edge 39
EDGE      29,      30,     3,     3,          5    \ Edge 40
EDGE      31,      32,     3,     3,          5    \ Edge 41
EDGE      33,      34,     0,     0,          7    \ Edge 42
EDGE      34,      35,     0,     0,          4    \ Edge 43
EDGE      35,      36,     0,     0,          4    \ Edge 44
EDGE      36,      33,     0,     0,          4    \ Edge 45

.SHIP_TRANSPORTER_FACES

\FACE normal_x, normal_y, normal_z, visibility
FACE        0,        0,     -103,         31    \ Face 0
FACE     -111,       48,       -7,         31    \ Face 1
FACE     -105,      -63,      -21,         31    \ Face 2
FACE        0,      -34,        0,         31    \ Face 3
FACE      105,      -63,      -21,         31    \ Face 4
FACE      111,       48,       -7,         31    \ Face 5
FACE        8,       32,        3,         31    \ Face 6
FACE       -8,       32,        3,         31    \ Face 7
FACE       -8,       34,       11,         18    \ Face 8
FACE      -75,       32,       79,         31    \ Face 9
FACE       75,       32,       79,         31    \ Face 10
FACE        8,       34,       11,         18    \ Face 11
FACE        0,       38,       17,         31    \ Face 12
FACE        0,        0,      121,         31    \ Face 13

Name: SHIP_COBRA_MK_3                                         [Show more]
Type: Variable
Category: Drawing ships
Summary: Ship blueprint for a Cobra Mk III
Deep dive: Ship blueprints
Context: See this variable on its own page
References: This variable is used as follows:
* ship_list calls SHIP_COBRA_MK_3

.SHIP_COBRA_MK_3

EQUB 3                 \ Max. canisters on demise = 3
EQUW 95 * 95           \ Targetable area          = 95 * 95
EQUB LO(SHIP_COBRA_MK_3_EDGES - SHIP_COBRA_MK_3)  \ Edges data offset (low)
EQUB LO(SHIP_COBRA_MK_3_FACES - SHIP_COBRA_MK_3)  \ Faces data offset (low)
EQUB 153               \ Max. edge count          = (153 - 1) / 4 = 38
EQUB 84                \ Gun vertex               = 84 / 4 = 21
EQUB 42                \ Explosion count          = 9, as (4 * n) + 6 = 42
EQUB 168               \ Number of vertices       = 168 / 6 = 28
EQUB 38                \ Number of edges          = 38
EQUW 200               \ Bounty                   = 200
EQUB 52                \ Number of faces          = 52 / 4 = 13
EQUB 50                \ Visibility distance      = 50
EQUB 98                \ Max. energy              = 98
EQUB 28                \ Max. speed               = 28
EQUB HI(SHIP_COBRA_MK_3_EDGES - SHIP_COBRA_MK_3)  \ Edges data offset (low)
EQUB HI(SHIP_COBRA_MK_3_FACES - SHIP_COBRA_MK_3)  \ Faces data offset (low)
EQUB 1                 \ Normals are scaled by    = 2^1 = 2
EQUB %00100100         \ Laser power              = 4
\ Missiles                 = 4

\VERTEX    x,    y,    z, face1, face2, face3, face4, visibility
VERTEX   32,    0,   76,    15,     15,   15,    15,         31    \ Vertex 0
VERTEX  -32,    0,   76,    15,     15,   15,    15,         31    \ Vertex 1
VERTEX    0,   26,   24,    15,     15,   15,    15,         31    \ Vertex 2
VERTEX -120,   -3,   -8,     3,      7,   10,    10,         31    \ Vertex 3
VERTEX  120,   -3,   -8,     4,      8,   12,    12,         31    \ Vertex 4
VERTEX  -88,   16,  -40,    15,     15,   15,    15,         31    \ Vertex 5
VERTEX   88,   16,  -40,    15,     15,   15,    15,         31    \ Vertex 6
VERTEX  128,   -8,  -40,     8,      9,   12,    12,         31    \ Vertex 7
VERTEX -128,   -8,  -40,     7,      9,   10,    10,         31    \ Vertex 8
VERTEX    0,   26,  -40,     5,      6,    9,     9,         31    \ Vertex 9
VERTEX  -32,  -24,  -40,     9,     10,   11,    11,         31    \ Vertex 10
VERTEX   32,  -24,  -40,     9,     11,   12,    12,         31    \ Vertex 11
VERTEX  -36,    8,  -40,     9,      9,    9,     9,         20    \ Vertex 12
VERTEX   -8,   12,  -40,     9,      9,    9,     9,         20    \ Vertex 13
VERTEX    8,   12,  -40,     9,      9,    9,     9,         20    \ Vertex 14
VERTEX   36,    8,  -40,     9,      9,    9,     9,         20    \ Vertex 15
VERTEX   36,  -12,  -40,     9,      9,    9,     9,         20    \ Vertex 16
VERTEX    8,  -16,  -40,     9,      9,    9,     9,         20    \ Vertex 17
VERTEX   -8,  -16,  -40,     9,      9,    9,     9,         20    \ Vertex 18
VERTEX  -36,  -12,  -40,     9,      9,    9,     9,         20    \ Vertex 19
VERTEX    0,    0,   76,     0,     11,   11,    11,          6    \ Vertex 20
VERTEX    0,    0,   90,     0,     11,   11,    11,         31    \ Vertex 21
VERTEX  -80,   -6,  -40,     9,      9,    9,     9,          8    \ Vertex 22
VERTEX  -80,    6,  -40,     9,      9,    9,     9,          8    \ Vertex 23
VERTEX  -88,    0,  -40,     9,      9,    9,     9,          6    \ Vertex 24
VERTEX   80,    6,  -40,     9,      9,    9,     9,          8    \ Vertex 25
VERTEX   88,    0,  -40,     9,      9,    9,     9,          6    \ Vertex 26
VERTEX   80,   -6,  -40,     9,      9,    9,     9,          8    \ Vertex 27

.SHIP_COBRA_MK_3_EDGES

\EDGE vertex1, vertex2, face1, face2, visibility
EDGE       0,       1,     0,    11,         31    \ Edge 0
EDGE       0,       4,     4,    12,         31    \ Edge 1
EDGE       1,       3,     3,    10,         31    \ Edge 2
EDGE       3,       8,     7,    10,         31    \ Edge 3
EDGE       4,       7,     8,    12,         31    \ Edge 4
EDGE       6,       7,     8,     9,         31    \ Edge 5
EDGE       6,       9,     6,     9,         31    \ Edge 6
EDGE       5,       9,     5,     9,         31    \ Edge 7
EDGE       5,       8,     7,     9,         31    \ Edge 8
EDGE       2,       5,     1,     5,         31    \ Edge 9
EDGE       2,       6,     2,     6,         31    \ Edge 10
EDGE       3,       5,     3,     7,         31    \ Edge 11
EDGE       4,       6,     4,     8,         31    \ Edge 12
EDGE       1,       2,     0,     1,         31    \ Edge 13
EDGE       0,       2,     0,     2,         31    \ Edge 14
EDGE       8,      10,     9,    10,         31    \ Edge 15
EDGE      10,      11,     9,    11,         31    \ Edge 16
EDGE       7,      11,     9,    12,         31    \ Edge 17
EDGE       1,      10,    10,    11,         31    \ Edge 18
EDGE       0,      11,    11,    12,         31    \ Edge 19
EDGE       1,       5,     1,     3,         29    \ Edge 20
EDGE       0,       6,     2,     4,         29    \ Edge 21
EDGE      20,      21,     0,    11,          6    \ Edge 22
EDGE      12,      13,     9,     9,         20    \ Edge 23
EDGE      18,      19,     9,     9,         20    \ Edge 24
EDGE      14,      15,     9,     9,         20    \ Edge 25
EDGE      16,      17,     9,     9,         20    \ Edge 26
EDGE      15,      16,     9,     9,         19    \ Edge 27
EDGE      14,      17,     9,     9,         17    \ Edge 28
EDGE      13,      18,     9,     9,         19    \ Edge 29
EDGE      12,      19,     9,     9,         19    \ Edge 30
EDGE       2,       9,     5,     6,         30    \ Edge 31
EDGE      22,      24,     9,     9,          6    \ Edge 32
EDGE      23,      24,     9,     9,          6    \ Edge 33
EDGE      22,      23,     9,     9,          8    \ Edge 34
EDGE      25,      26,     9,     9,          6    \ Edge 35
EDGE      26,      27,     9,     9,          6    \ Edge 36
EDGE      25,      27,     9,     9,          8    \ Edge 37

.SHIP_COBRA_MK_3_FACES

\FACE normal_x, normal_y, normal_z, visibility
FACE        0,       62,       31,         31    \ Face 0
FACE      -18,       55,       16,         31    \ Face 1
FACE       18,       55,       16,         31    \ Face 2
FACE      -16,       52,       14,         31    \ Face 3
FACE       16,       52,       14,         31    \ Face 4
FACE      -14,       47,        0,         31    \ Face 5
FACE       14,       47,        0,         31    \ Face 6
FACE      -61,      102,        0,         31    \ Face 7
FACE       61,      102,        0,         31    \ Face 8
FACE        0,        0,      -80,         31    \ Face 9
FACE       -7,      -42,        9,         31    \ Face 10
FACE        0,      -30,        6,         31    \ Face 11
FACE        7,      -42,        9,         31    \ Face 12

Name: SHIP_PYTHON                                             [Show more]
Type: Variable
Category: Drawing ships
Summary: Ship blueprint for a Python
Deep dive: Ship blueprints
Context: See this variable on its own page
References: This variable is used as follows:
* ship_list calls SHIP_PYTHON

.SHIP_PYTHON

EQUB 5                 \ Max. canisters on demise = 5
EQUW 80 * 80           \ Targetable area          = 80 * 80
EQUB LO(SHIP_PYTHON_EDGES - SHIP_PYTHON)          \ Edges data offset (low)
EQUB LO(SHIP_PYTHON_FACES - SHIP_PYTHON)          \ Faces data offset (low)
EQUB 85                \ Max. edge count          = (85 - 1) / 4 = 21
EQUB 0                 \ Gun vertex               = 0
EQUB 42                \ Explosion count          = 9, as (4 * n) + 6 = 42
EQUB 66                \ Number of vertices       = 66 / 6 = 11
EQUB 26                \ Number of edges          = 26
EQUW 300               \ Bounty                   = 300
EQUB 52                \ Number of faces          = 52 / 4 = 13
EQUB 40                \ Visibility distance      = 40
EQUB 125               \ Max. energy              = 125
EQUB 20                \ Max. speed               = 20
EQUB HI(SHIP_PYTHON_EDGES - SHIP_PYTHON)          \ Edges data offset (high)
EQUB HI(SHIP_PYTHON_FACES - SHIP_PYTHON)          \ Faces data offset (high)
EQUB 0                 \ Normals are scaled by    = 2^0 = 1
EQUB %00101100         \ Laser power              = 5
\ Missiles                 = 4

\VERTEX    x,    y,    z, face1, face2, face3, face4, visibility
VERTEX    0,    0,  224,     0,      1,    2,     3,         31    \ Vertex 0
VERTEX    0,   48,   48,     0,      1,    4,     5,         30    \ Vertex 1
VERTEX   96,    0,  -16,    15,     15,   15,    15,         31    \ Vertex 2
VERTEX  -96,    0,  -16,    15,     15,   15,    15,         31    \ Vertex 3
VERTEX    0,   48,  -32,     4,      5,    8,     9,         30    \ Vertex 4
VERTEX    0,   24, -112,     9,      8,   12,    12,         31    \ Vertex 5
VERTEX  -48,    0, -112,     8,     11,   12,    12,         31    \ Vertex 6
VERTEX   48,    0, -112,     9,     10,   12,    12,         31    \ Vertex 7
VERTEX    0,  -48,   48,     2,      3,    6,     7,         30    \ Vertex 8
VERTEX    0,  -48,  -32,     6,      7,   10,    11,         30    \ Vertex 9
VERTEX    0,  -24, -112,    10,     11,   12,    12,         30    \ Vertex 10

.SHIP_PYTHON_EDGES

\EDGE vertex1, vertex2, face1, face2, visibility
EDGE       0,       8,     2,     3,         30    \ Edge 0
EDGE       0,       3,     0,     2,         31    \ Edge 1
EDGE       0,       2,     1,     3,         31    \ Edge 2
EDGE       0,       1,     0,     1,         30    \ Edge 3
EDGE       2,       4,     9,     5,         29    \ Edge 4
EDGE       1,       2,     1,     5,         29    \ Edge 5
EDGE       2,       8,     7,     3,         29    \ Edge 6
EDGE       1,       3,     0,     4,         29    \ Edge 7
EDGE       3,       8,     2,     6,         29    \ Edge 8
EDGE       2,       9,     7,    10,         29    \ Edge 9
EDGE       3,       4,     4,     8,         29    \ Edge 10
EDGE       3,       9,     6,    11,         29    \ Edge 11
EDGE       3,       5,     8,     8,          5    \ Edge 12
EDGE       3,      10,    11,    11,          5    \ Edge 13
EDGE       2,       5,     9,     9,          5    \ Edge 14
EDGE       2,      10,    10,    10,          5    \ Edge 15
EDGE       2,       7,     9,    10,         31    \ Edge 16
EDGE       3,       6,     8,    11,         31    \ Edge 17
EDGE       5,       6,     8,    12,         31    \ Edge 18
EDGE       5,       7,     9,    12,         31    \ Edge 19
EDGE       7,      10,    12,    10,         29    \ Edge 20
EDGE       6,      10,    11,    12,         29    \ Edge 21
EDGE       4,       5,     8,     9,         29    \ Edge 22
EDGE       9,      10,    10,    11,         29    \ Edge 23
EDGE       1,       4,     4,     5,         29    \ Edge 24
EDGE       8,       9,     6,     7,         29    \ Edge 25

.SHIP_PYTHON_FACES

\FACE normal_x, normal_y, normal_z, visibility
FACE      -27,       40,       11,         30    \ Face 0
FACE       27,       40,       11,         30    \ Face 1
FACE      -27,      -40,       11,         30    \ Face 2
FACE       27,      -40,       11,         30    \ Face 3
FACE      -19,       38,        0,         30    \ Face 4
FACE       19,       38,        0,         30    \ Face 5
FACE      -19,      -38,        0,         30    \ Face 6
FACE       19,      -38,        0,         30    \ Face 7
FACE      -25,       37,      -11,         30    \ Face 8
FACE       25,       37,      -11,         30    \ Face 9
FACE       25,      -37,      -11,         30    \ Face 10
FACE      -25,      -37,      -11,         30    \ Face 11
FACE        0,        0,     -112,         30    \ Face 12

Name: SHIP_BOA                                                [Show more]
Type: Variable
Category: Drawing ships
Summary: Ship blueprint for a Boa
Deep dive: Ship blueprints
Context: See this variable on its own page
References: This variable is used as follows:
* ship_list calls SHIP_BOA

.SHIP_BOA

EQUB 5                 \ Max. canisters on demise = 5
EQUW 70 * 70           \ Targetable area          = 70 * 70
EQUB LO(SHIP_BOA_EDGES - SHIP_BOA)                \ Edges data offset (low)
EQUB LO(SHIP_BOA_FACES - SHIP_BOA)                \ Faces data offset (low)
EQUB 89                \ Max. edge count          = (89 - 1) / 4 = 22
EQUB 0                 \ Gun vertex               = 0
EQUB 38                \ Explosion count          = 8, as (4 * n) + 6 = 38
EQUB 78                \ Number of vertices       = 78 / 6 = 13
EQUB 24                \ Number of edges          = 24
EQUW 250               \ Bounty                   = 250
EQUB 52                \ Number of faces          = 52 / 4 = 13
EQUB 40                \ Visibility distance      = 40
EQUB 164               \ Max. energy              = 164
EQUB 24                \ Max. speed               = 24
EQUB HI(SHIP_BOA_EDGES - SHIP_BOA)                \ Edges data offset (high)
EQUB HI(SHIP_BOA_FACES - SHIP_BOA)                \ Faces data offset (high)
EQUB 0                 \ Normals are scaled by    = 2^0 = 1
EQUB %00101010         \ Laser power              = 5
\ Missiles                 = 2

\VERTEX    x,    y,    z, face1, face2, face3, face4, visibility
VERTEX    0,    0,   93,    15,     15,   15,    15,         31    \ Vertex 0
VERTEX    0,   40,  -87,     2,      0,    3,     3,         24    \ Vertex 1
VERTEX   38,  -25,  -99,     1,      0,    4,     4,         24    \ Vertex 2
VERTEX  -38,  -25,  -99,     2,      1,    5,     5,         24    \ Vertex 3
VERTEX  -38,   40,  -59,     3,      2,    9,     6,         31    \ Vertex 4
VERTEX   38,   40,  -59,     3,      0,   11,     6,         31    \ Vertex 5
VERTEX   62,    0,  -67,     4,      0,   11,     8,         31    \ Vertex 6
VERTEX   24,  -65,  -79,     4,      1,   10,     8,         31    \ Vertex 7
VERTEX  -24,  -65,  -79,     5,      1,   10,     7,         31    \ Vertex 8
VERTEX  -62,    0,  -67,     5,      2,    9,     7,         31    \ Vertex 9
VERTEX    0,    7, -107,     2,      0,   10,    10,         22    \ Vertex 10
VERTEX   13,   -9, -107,     1,      0,   10,    10,         22    \ Vertex 11
VERTEX  -13,   -9, -107,     2,      1,   12,    12,         22    \ Vertex 12

.SHIP_BOA_EDGES

\EDGE vertex1, vertex2, face1, face2, visibility
EDGE       0,       5,    11,     6,         31    \ Edge 0
EDGE       0,       7,    10,     8,         31    \ Edge 1
EDGE       0,       9,     9,     7,         31    \ Edge 2
EDGE       0,       4,     9,     6,         29    \ Edge 3
EDGE       0,       6,    11,     8,         29    \ Edge 4
EDGE       0,       8,    10,     7,         29    \ Edge 5
EDGE       4,       5,     6,     3,         31    \ Edge 6
EDGE       5,       6,    11,     0,         31    \ Edge 7
EDGE       6,       7,     8,     4,         31    \ Edge 8
EDGE       7,       8,    10,     1,         31    \ Edge 9
EDGE       8,       9,     7,     5,         31    \ Edge 10
EDGE       4,       9,     9,     2,         31    \ Edge 11
EDGE       1,       4,     3,     2,         24    \ Edge 12
EDGE       1,       5,     3,     0,         24    \ Edge 13
EDGE       3,       9,     5,     2,         24    \ Edge 14
EDGE       3,       8,     5,     1,         24    \ Edge 15
EDGE       2,       6,     4,     0,         24    \ Edge 16
EDGE       2,       7,     4,     1,         24    \ Edge 17
EDGE       1,      10,     2,     0,         22    \ Edge 18
EDGE       2,      11,     1,     0,         22    \ Edge 19
EDGE       3,      12,     2,     1,         22    \ Edge 20
EDGE      10,      11,    12,     0,         14    \ Edge 21
EDGE      11,      12,    12,     1,         14    \ Edge 22
EDGE      12,      10,    12,     2,         14    \ Edge 23

.SHIP_BOA_FACES

\FACE normal_x, normal_y, normal_z, visibility
FACE       43,       37,      -60,         31    \ Face 0
FACE        0,      -45,      -89,         31    \ Face 1
FACE      -43,       37,      -60,         31    \ Face 2
FACE        0,       40,        0,         31    \ Face 3
FACE       62,      -32,      -20,         31    \ Face 4
FACE      -62,      -32,      -20,         31    \ Face 5
FACE        0,       23,        6,         31    \ Face 6
FACE      -23,      -15,        9,         31    \ Face 7
FACE       23,      -15,        9,         31    \ Face 8
FACE      -26,       13,       10,         31    \ Face 9
FACE        0,      -31,       12,         31    \ Face 10
FACE       26,       13,       10,         31    \ Face 11
FACE        0,        0,     -107,         14    \ Face 12

Name: SHIP_ANACONDA                                           [Show more]
Type: Variable
Category: Drawing ships
Summary: Ship blueprint for an Anaconda
Deep dive: Ship blueprints
Context: See this variable on its own page
References: This variable is used as follows:
* ship_list calls SHIP_ANACONDA

.SHIP_ANACONDA

EQUB 7                 \ Max. canisters on demise = 7
EQUW 100 * 100         \ Targetable area          = 100 * 100
EQUB LO(SHIP_ANACONDA_EDGES - SHIP_ANACONDA)      \ Edges data offset (low)
EQUB LO(SHIP_ANACONDA_FACES - SHIP_ANACONDA)      \ Faces data offset (low)
EQUB 89                \ Max. edge count          = (89 - 1) / 4 = 22
EQUB 48                \ Gun vertex               = 48
EQUB 46                \ Explosion count          = 10, as (4 * n) + 6 = 46
EQUB 90                \ Number of vertices       = 90 / 6 = 15
EQUB 25                \ Number of edges          = 25
EQUW 350               \ Bounty                   = 350
EQUB 48                \ Number of faces          = 48 / 4 = 12
EQUB 50                \ Visibility distance      = 50
EQUB 252               \ Max. energy              = 252
EQUB 14                \ Max. speed               = 14
EQUB HI(SHIP_ANACONDA_EDGES - SHIP_ANACONDA)      \ Edges data offset (high)
EQUB HI(SHIP_ANACONDA_FACES - SHIP_ANACONDA)      \ Faces data offset (high)
EQUB 1                 \ Normals are scaled by    = 2^1 = 2
EQUB %01001111         \ Laser power              = 9
\ Missiles                 = 7

\VERTEX    x,    y,    z, face1, face2, face3, face4, visibility
VERTEX    0,    7,  -58,     1,      0,    5,     5,         30    \ Vertex 0
VERTEX  -43,  -13,  -37,     1,      0,    2,     2,         30    \ Vertex 1
VERTEX  -26,  -47,   -3,     2,      0,    3,     3,         30    \ Vertex 2
VERTEX   26,  -47,   -3,     3,      0,    4,     4,         30    \ Vertex 3
VERTEX   43,  -13,  -37,     4,      0,    5,     5,         30    \ Vertex 4
VERTEX    0,   48,  -49,     5,      1,    6,     6,         30    \ Vertex 5
VERTEX  -69,   15,  -15,     2,      1,    7,     7,         30    \ Vertex 6
VERTEX  -43,  -39,   40,     3,      2,    8,     8,         31    \ Vertex 7
VERTEX   43,  -39,   40,     4,      3,    9,     9,         31    \ Vertex 8
VERTEX   69,   15,  -15,     5,      4,   10,    10,         30    \ Vertex 9
VERTEX  -43,   53,  -23,    15,     15,   15,    15,         31    \ Vertex 10
VERTEX  -69,   -1,   32,     7,      2,    8,     8,         31    \ Vertex 11
VERTEX    0,    0,  254,    15,     15,   15,    15,         31    \ Vertex 12
VERTEX   69,   -1,   32,     9,      4,   10,    10,         31    \ Vertex 13
VERTEX   43,   53,  -23,    15,     15,   15,    15,         31    \ Vertex 14

.SHIP_ANACONDA_EDGES

\EDGE vertex1, vertex2, face1, face2, visibility
EDGE       0,       1,     1,     0,         30    \ Edge 0
EDGE       1,       2,     2,     0,         30    \ Edge 1
EDGE       2,       3,     3,     0,         30    \ Edge 2
EDGE       3,       4,     4,     0,         30    \ Edge 3
EDGE       0,       4,     5,     0,         30    \ Edge 4
EDGE       0,       5,     5,     1,         29    \ Edge 5
EDGE       1,       6,     2,     1,         29    \ Edge 6
EDGE       2,       7,     3,     2,         29    \ Edge 7
EDGE       3,       8,     4,     3,         29    \ Edge 8
EDGE       4,       9,     5,     4,         29    \ Edge 9
EDGE       5,      10,     6,     1,         30    \ Edge 10
EDGE       6,      10,     7,     1,         30    \ Edge 11
EDGE       6,      11,     7,     2,         30    \ Edge 12
EDGE       7,      11,     8,     2,         30    \ Edge 13
EDGE       7,      12,     8,     3,         31    \ Edge 14
EDGE       8,      12,     9,     3,         31    \ Edge 15
EDGE       8,      13,     9,     4,         30    \ Edge 16
EDGE       9,      13,    10,     4,         30    \ Edge 17
EDGE       9,      14,    10,     5,         30    \ Edge 18
EDGE       5,      14,     6,     5,         30    \ Edge 19
EDGE      10,      14,    11,     6,         30    \ Edge 20
EDGE      10,      12,    11,     7,         31    \ Edge 21
EDGE      11,      12,     8,     7,         31    \ Edge 22
EDGE      12,      13,    10,     9,         31    \ Edge 23
EDGE      12,      14,    11,    10,         31    \ Edge 24

.SHIP_ANACONDA_FACES

\FACE normal_x, normal_y, normal_z, visibility
FACE        0,      -51,      -49,         30    \ Face 0
FACE      -51,       18,      -87,         30    \ Face 1
FACE      -77,      -57,      -19,         30    \ Face 2
FACE        0,      -90,       16,         31    \ Face 3
FACE       77,      -57,      -19,         30    \ Face 4
FACE       51,       18,      -87,         30    \ Face 5
FACE        0,      111,      -20,         30    \ Face 6
FACE      -97,       72,       24,         31    \ Face 7
FACE     -108,      -68,       34,         31    \ Face 8
FACE      108,      -68,       34,         31    \ Face 9
FACE       97,       72,       24,         31    \ Face 10
FACE        0,       94,       18,         31    \ Face 11

Name: SHIP_WORM                                               [Show more]
Type: Variable
Category: Drawing ships
Summary: Ship blueprint for a Worm
Deep dive: Ship blueprints
Context: See this variable on its own page
References: This variable is used as follows:
* ship_list calls SHIP_WORM

.SHIP_WORM

EQUB 0                 \ Max. canisters on demise = 0
EQUW 99 * 99           \ Targetable area          = 99 * 99
EQUB LO(SHIP_WORM_EDGES - SHIP_WORM)              \ Edges data offset (low)
EQUB LO(SHIP_WORM_FACES - SHIP_WORM)              \ Faces data offset (low)
EQUB 73                \ Max. edge count          = (73 - 1) / 4 = 18
EQUB 0                 \ Gun vertex               = 0
EQUB 18                \ Explosion count          = 3, as (4 * n) + 6 = 18
EQUB 60                \ Number of vertices       = 60 / 6 = 10
EQUB 16                \ Number of edges          = 16
EQUW 0                 \ Bounty                   = 0
EQUB 32                \ Number of faces          = 32 / 4 = 8
EQUB 19                \ Visibility distance      = 19
EQUB 32                \ Max. energy              = 32
EQUB 23                \ Max. speed               = 23
EQUB HI(SHIP_WORM_EDGES - SHIP_WORM)              \ Edges data offset (high)
EQUB HI(SHIP_WORM_FACES - SHIP_WORM)              \ Faces data offset (high)
EQUB 3                 \ Normals are scaled by    = 2^3 = 8
EQUB %00011000         \ Laser power              = 3
\ Missiles                 = 0

\VERTEX    x,    y,    z, face1, face2, face3, face4, visibility
VERTEX   10,  -10,   35,     2,      0,    7,     7,         31    \ Vertex 0
VERTEX  -10,  -10,   35,     3,      0,    7,     7,         31    \ Vertex 1
VERTEX    5,    6,   15,     1,      0,    4,     2,         31    \ Vertex 2
VERTEX   -5,    6,   15,     1,      0,    5,     3,         31    \ Vertex 3
VERTEX   15,  -10,   25,     4,      2,    7,     7,         31    \ Vertex 4
VERTEX  -15,  -10,   25,     5,      3,    7,     7,         31    \ Vertex 5
VERTEX   26,  -10,  -25,     6,      4,    7,     7,         31    \ Vertex 6
VERTEX  -26,  -10,  -25,     6,      5,    7,     7,         31    \ Vertex 7
VERTEX    8,   14,  -25,     4,      1,    6,     6,         31    \ Vertex 8
VERTEX   -8,   14,  -25,     5,      1,    6,     6,         31    \ Vertex 9

.SHIP_WORM_EDGES

\EDGE vertex1, vertex2, face1, face2, visibility
EDGE       0,       1,     7,     0,         31    \ Edge 0
EDGE       1,       5,     7,     3,         31    \ Edge 1
EDGE       5,       7,     7,     5,         31    \ Edge 2
EDGE       7,       6,     7,     6,         31    \ Edge 3
EDGE       6,       4,     7,     4,         31    \ Edge 4
EDGE       4,       0,     7,     2,         31    \ Edge 5
EDGE       0,       2,     2,     0,         31    \ Edge 6
EDGE       1,       3,     3,     0,         31    \ Edge 7
EDGE       4,       2,     4,     2,         31    \ Edge 8
EDGE       5,       3,     5,     3,         31    \ Edge 9
EDGE       2,       8,     4,     1,         31    \ Edge 10
EDGE       8,       6,     6,     4,         31    \ Edge 11
EDGE       3,       9,     5,     1,         31    \ Edge 12
EDGE       9,       7,     6,     5,         31    \ Edge 13
EDGE       2,       3,     1,     0,         31    \ Edge 14
EDGE       8,       9,     6,     1,         31    \ Edge 15

.SHIP_WORM_FACES

\FACE normal_x, normal_y, normal_z, visibility
FACE        0,       88,       70,         31    \ Face 0
FACE        0,       69,       14,         31    \ Face 1
FACE       70,       66,       35,         31    \ Face 2
FACE      -70,       66,       35,         31    \ Face 3
FACE       64,       49,       14,         31    \ Face 4
FACE      -64,       49,       14,         31    \ Face 5
FACE        0,        0,     -200,         31    \ Face 6
FACE        0,      -80,        0,         31    \ Face 7

Name: SHIP_MISSILE                                            [Show more]
Type: Variable
Category: Drawing ships
Summary: Ship blueprint for a missile
Deep dive: Ship blueprints
Context: See this variable on its own page
References: This variable is used as follows:
* XX21 calls SHIP_MISSILE
* ship_list calls SHIP_MISSILE

.SHIP_MISSILE

EQUB 0                 \ Max. canisters on demise = 0
EQUW 40 * 40           \ Targetable area          = 40 * 40
EQUB LO(SHIP_MISSILE_EDGES - SHIP_MISSILE)        \ Edges data offset (low)
EQUB LO(SHIP_MISSILE_FACES - SHIP_MISSILE)        \ Faces data offset (low)
EQUB 81                \ Max. edge count          = (81 - 1) / 4 = 20
EQUB 0                 \ Gun vertex               = 0
EQUB 10                \ Explosion count          = 1, as (4 * n) + 6 = 10
EQUB 102               \ Number of vertices       = 102 / 6 = 17
EQUB 24                \ Number of edges          = 24
EQUW 0                 \ Bounty                   = 0
EQUB 36                \ Number of faces          = 36 / 4 = 9
EQUB 14                \ Visibility distance      = 14
EQUB 2                 \ Max. energy              = 2
EQUB 44                \ Max. speed               = 44
EQUB HI(SHIP_MISSILE_EDGES - SHIP_MISSILE)        \ Edges data offset (high)
EQUB HI(SHIP_MISSILE_FACES - SHIP_MISSILE)        \ Faces data offset (high)
EQUB 2                 \ Normals are scaled by    = 2^2 = 4
EQUB %00000000         \ Laser power              = 0
\ Missiles                 = 0

\VERTEX    x,    y,    z, face1, face2, face3, face4, visibility
VERTEX    0,    0,   68,     0,      1,    2,     3,         31    \ Vertex 0
VERTEX    8,   -8,   36,     1,      2,    4,     5,         31    \ Vertex 1
VERTEX    8,    8,   36,     2,      3,    4,     7,         31    \ Vertex 2
VERTEX   -8,    8,   36,     0,      3,    6,     7,         31    \ Vertex 3
VERTEX   -8,   -8,   36,     0,      1,    5,     6,         31    \ Vertex 4
VERTEX    8,    8,  -44,     4,      7,    8,     8,         31    \ Vertex 5
VERTEX    8,   -8,  -44,     4,      5,    8,     8,         31    \ Vertex 6
VERTEX   -8,   -8,  -44,     5,      6,    8,     8,         31    \ Vertex 7
VERTEX   -8,    8,  -44,     6,      7,    8,     8,         31    \ Vertex 8
VERTEX   12,   12,  -44,     4,      7,    8,     8,          8    \ Vertex 9
VERTEX   12,  -12,  -44,     4,      5,    8,     8,          8    \ Vertex 10
VERTEX  -12,  -12,  -44,     5,      6,    8,     8,          8    \ Vertex 11
VERTEX  -12,   12,  -44,     6,      7,    8,     8,          8    \ Vertex 12
VERTEX   -8,    8,  -12,     6,      7,    7,     7,          8    \ Vertex 13
VERTEX   -8,   -8,  -12,     5,      6,    6,     6,          8    \ Vertex 14
VERTEX    8,    8,  -12,     4,      7,    7,     7,          8    \ Vertex 15
VERTEX    8,   -8,  -12,     4,      5,    5,     5,          8    \ Vertex 16

.SHIP_MISSILE_EDGES

\EDGE vertex1, vertex2, face1, face2, visibility
EDGE       0,       1,     1,     2,         31    \ Edge 0
EDGE       0,       2,     2,     3,         31    \ Edge 1
EDGE       0,       3,     0,     3,         31    \ Edge 2
EDGE       0,       4,     0,     1,         31    \ Edge 3
EDGE       1,       2,     4,     2,         31    \ Edge 4
EDGE       1,       4,     1,     5,         31    \ Edge 5
EDGE       3,       4,     0,     6,         31    \ Edge 6
EDGE       2,       3,     3,     7,         31    \ Edge 7
EDGE       2,       5,     4,     7,         31    \ Edge 8
EDGE       1,       6,     4,     5,         31    \ Edge 9
EDGE       4,       7,     5,     6,         31    \ Edge 10
EDGE       3,       8,     6,     7,         31    \ Edge 11
EDGE       7,       8,     6,     8,         31    \ Edge 12
EDGE       5,       8,     7,     8,         31    \ Edge 13
EDGE       5,       6,     4,     8,         31    \ Edge 14
EDGE       6,       7,     5,     8,         31    \ Edge 15
EDGE       6,      10,     5,     8,          8    \ Edge 16
EDGE       5,       9,     7,     8,          8    \ Edge 17
EDGE       8,      12,     7,     8,          8    \ Edge 18
EDGE       7,      11,     5,     8,          8    \ Edge 19
EDGE       9,      15,     4,     7,          8    \ Edge 20
EDGE      10,      16,     4,     5,          8    \ Edge 21
EDGE      12,      13,     6,     7,          8    \ Edge 22
EDGE      11,      14,     5,     6,          8    \ Edge 23

.SHIP_MISSILE_FACES

\FACE normal_x, normal_y, normal_z, visibility
FACE      -64,        0,       16,         31    \ Face 0
FACE        0,      -64,       16,         31    \ Face 1
FACE       64,        0,       16,         31    \ Face 2
FACE        0,       64,       16,         31    \ Face 3
FACE       32,        0,        0,         31    \ Face 4
FACE        0,      -32,        0,         31    \ Face 5
FACE      -32,        0,        0,         31    \ Face 6
FACE        0,       32,        0,         31    \ Face 7
FACE        0,        0,     -176,         31    \ Face 8

Name: SHIP_VIPER                                              [Show more]
Type: Variable
Category: Drawing ships
Summary: Ship blueprint for a Viper
Deep dive: Ship blueprints
Context: See this variable on its own page
References: This variable is used as follows:
* XX21 calls SHIP_VIPER
* ship_list calls SHIP_VIPER

.SHIP_VIPER

EQUB 0                 \ Max. canisters on demise = 0
EQUW 75 * 75           \ Targetable area          = 75 * 75
EQUB LO(SHIP_VIPER_EDGES - SHIP_VIPER)            \ Edges data offset (low)
EQUB LO(SHIP_VIPER_FACES - SHIP_VIPER)            \ Faces data offset (low)
EQUB 77                \ Max. edge count          = (77 - 1) / 4 = 19
EQUB 0                 \ Gun vertex               = 0
EQUB 42                \ Explosion count          = 9, as (4 * n) + 6 = 42
EQUB 90                \ Number of vertices       = 90 / 6 = 15
EQUB 20                \ Number of edges          = 20
EQUW 0                 \ Bounty                   = 0
EQUB 28                \ Number of faces          = 28 / 4 = 7
EQUB 23                \ Visibility distance      = 23
EQUB 91                \ Max. energy              = 91
EQUB 32                \ Max. speed               = 32
EQUB HI(SHIP_VIPER_EDGES - SHIP_VIPER)            \ Edges data offset (high)
EQUB HI(SHIP_VIPER_FACES - SHIP_VIPER)            \ Faces data offset (high)
EQUB 1                 \ Normals are scaled by    = 2^1 = 2
EQUB %00101001         \ Laser power              = 5
\ Missiles                 = 1

\VERTEX    x,    y,    z, face1, face2, face3, face4, visibility
VERTEX    0,    0,   72,     1,      2,    3,     4,         31    \ Vertex 0
VERTEX    0,   16,   24,     0,      1,    2,     2,         30    \ Vertex 1
VERTEX    0,  -16,   24,     3,      4,    5,     5,         30    \ Vertex 2
VERTEX   48,    0,  -24,     2,      4,    6,     6,         31    \ Vertex 3
VERTEX  -48,    0,  -24,     1,      3,    6,     6,         31    \ Vertex 4
VERTEX   24,  -16,  -24,     4,      5,    6,     6,         30    \ Vertex 5
VERTEX  -24,  -16,  -24,     5,      3,    6,     6,         30    \ Vertex 6
VERTEX   24,   16,  -24,     0,      2,    6,     6,         31    \ Vertex 7
VERTEX  -24,   16,  -24,     0,      1,    6,     6,         31    \ Vertex 8
VERTEX  -32,    0,  -24,     6,      6,    6,     6,         19    \ Vertex 9
VERTEX   32,    0,  -24,     6,      6,    6,     6,         19    \ Vertex 10
VERTEX    8,    8,  -24,     6,      6,    6,     6,         19    \ Vertex 11
VERTEX   -8,    8,  -24,     6,      6,    6,     6,         19    \ Vertex 12
VERTEX   -8,   -8,  -24,     6,      6,    6,     6,         18    \ Vertex 13
VERTEX    8,   -8,  -24,     6,      6,    6,     6,         18    \ Vertex 14

.SHIP_VIPER_EDGES

\EDGE vertex1, vertex2, face1, face2, visibility
EDGE       0,       3,     2,     4,         31    \ Edge 0
EDGE       0,       1,     1,     2,         30    \ Edge 1
EDGE       0,       2,     3,     4,         30    \ Edge 2
EDGE       0,       4,     1,     3,         31    \ Edge 3
EDGE       1,       7,     0,     2,         30    \ Edge 4
EDGE       1,       8,     0,     1,         30    \ Edge 5
EDGE       2,       5,     4,     5,         30    \ Edge 6
EDGE       2,       6,     3,     5,         30    \ Edge 7
EDGE       7,       8,     0,     6,         31    \ Edge 8
EDGE       5,       6,     5,     6,         30    \ Edge 9
EDGE       4,       8,     1,     6,         31    \ Edge 10
EDGE       4,       6,     3,     6,         30    \ Edge 11
EDGE       3,       7,     2,     6,         31    \ Edge 12
EDGE       3,       5,     6,     4,         30    \ Edge 13
EDGE       9,      12,     6,     6,         19    \ Edge 14
EDGE       9,      13,     6,     6,         18    \ Edge 15
EDGE      10,      11,     6,     6,         19    \ Edge 16
EDGE      10,      14,     6,     6,         18    \ Edge 17
EDGE      11,      14,     6,     6,         16    \ Edge 18
EDGE      12,      13,     6,     6,         16    \ Edge 19

.SHIP_VIPER_FACES

\FACE normal_x, normal_y, normal_z, visibility
FACE        0,       32,        0,         31    \ Face 0
FACE      -22,       33,       11,         31    \ Face 1
FACE       22,       33,       11,         31    \ Face 2
FACE      -22,      -33,       11,         31    \ Face 3
FACE       22,      -33,       11,         31    \ Face 4
FACE        0,      -32,        0,         31    \ Face 5
FACE        0,        0,      -48,         31    \ Face 6

Name: SHIP_SIDEWINDER                                         [Show more]
Type: Variable
Category: Drawing ships
Summary: Ship blueprint for a Sidewinder
Deep dive: Ship blueprints
Context: See this variable on its own page
References: This variable is used as follows:
* ship_list calls SHIP_SIDEWINDER

.SHIP_SIDEWINDER

EQUB 0                 \ Max. canisters on demise = 0
EQUW 65 * 65           \ Targetable area          = 65 * 65
EQUB LO(SHIP_SIDEWINDER_EDGES - SHIP_SIDEWINDER)  \ Edges data offset (low)
EQUB LO(SHIP_SIDEWINDER_FACES - SHIP_SIDEWINDER)  \ Faces data offset (low)
EQUB 61                \ Max. edge count          = (61 - 1) / 4 = 15
EQUB 0                 \ Gun vertex               = 0
EQUB 30                \ Explosion count          = 6, as (4 * n) + 6 = 30
EQUB 60                \ Number of vertices       = 60 / 6 = 10
EQUB 15                \ Number of edges          = 15
EQUW 100               \ Bounty                   = 100
EQUB 28                \ Number of faces          = 28 / 4 = 7
EQUB 20                \ Visibility distance      = 20
EQUB 73                \ Max. energy              = 73
EQUB 37                \ Max. speed               = 37
EQUB HI(SHIP_SIDEWINDER_EDGES - SHIP_SIDEWINDER)  \ Edges data offset (high)
EQUB HI(SHIP_SIDEWINDER_FACES - SHIP_SIDEWINDER)  \ Faces data offset (high)
EQUB 2                 \ Normals are scaled by    = 2^2 = 4
EQUB %00100000         \ Laser power              = 4
\ Missiles                 = 0

\VERTEX    x,    y,    z, face1, face2, face3, face4, visibility
VERTEX  -32,    0,   36,     0,      1,    4,     5,         31    \ Vertex 0
VERTEX   32,    0,   36,     0,      2,    5,     6,         31    \ Vertex 1
VERTEX   64,    0,  -28,     2,      3,    6,     6,         31    \ Vertex 2
VERTEX  -64,    0,  -28,     1,      3,    4,     4,         31    \ Vertex 3
VERTEX    0,   16,  -28,     0,      1,    2,     3,         31    \ Vertex 4
VERTEX    0,  -16,  -28,     3,      4,    5,     6,         31    \ Vertex 5
VERTEX  -12,    6,  -28,     3,      3,    3,     3,         15    \ Vertex 6
VERTEX   12,    6,  -28,     3,      3,    3,     3,         15    \ Vertex 7
VERTEX   12,   -6,  -28,     3,      3,    3,     3,         12    \ Vertex 8
VERTEX  -12,   -6,  -28,     3,      3,    3,     3,         12    \ Vertex 9

.SHIP_SIDEWINDER_EDGES

\EDGE vertex1, vertex2, face1, face2, visibility
EDGE       0,       1,     0,     5,         31    \ Edge 0
EDGE       1,       2,     2,     6,         31    \ Edge 1
EDGE       1,       4,     0,     2,         31    \ Edge 2
EDGE       0,       4,     0,     1,         31    \ Edge 3
EDGE       0,       3,     1,     4,         31    \ Edge 4
EDGE       3,       4,     1,     3,         31    \ Edge 5
EDGE       2,       4,     2,     3,         31    \ Edge 6
EDGE       3,       5,     3,     4,         31    \ Edge 7
EDGE       2,       5,     3,     6,         31    \ Edge 8
EDGE       1,       5,     5,     6,         31    \ Edge 9
EDGE       0,       5,     4,     5,         31    \ Edge 10
EDGE       6,       7,     3,     3,         15    \ Edge 11
EDGE       7,       8,     3,     3,         12    \ Edge 12
EDGE       6,       9,     3,     3,         12    \ Edge 13
EDGE       8,       9,     3,     3,         12    \ Edge 14

.SHIP_SIDEWINDER_FACES

\FACE normal_x, normal_y, normal_z, visibility
FACE        0,       32,        8,         31    \ Face 0
FACE      -12,       47,        6,         31    \ Face 1
FACE       12,       47,        6,         31    \ Face 2
FACE        0,        0,     -112,         31    \ Face 3
FACE      -12,      -47,        6,         31    \ Face 4
FACE        0,      -32,        8,         31    \ Face 5
FACE       12,      -47,        6,         31    \ Face 6

Name: SHIP_MAMBA                                              [Show more]
Type: Variable
Category: Drawing ships
Summary: Ship blueprint for a Mamba
Deep dive: Ship blueprints
Context: See this variable on its own page
References: This variable is used as follows:
* ship_list calls SHIP_MAMBA

.SHIP_MAMBA

EQUB 1                 \ Max. canisters on demise = 1
EQUW 70 * 70           \ Targetable area          = 70 * 70
EQUB LO(SHIP_MAMBA_EDGES - SHIP_MAMBA)            \ Edges data offset (low)
EQUB LO(SHIP_MAMBA_FACES - SHIP_MAMBA)            \ Faces data offset (low)
EQUB 93                \ Max. edge count          = (93 - 1) / 4 = 23
EQUB 0                 \ Gun vertex               = 0
EQUB 34                \ Explosion count          = 7, as (4 * n) + 6 = 34
EQUB 150               \ Number of vertices       = 150 / 6 = 25
EQUB 28                \ Number of edges          = 28
EQUW 150               \ Bounty                   = 150
EQUB 20                \ Number of faces          = 20 / 4 = 5
EQUB 25                \ Visibility distance      = 25
EQUB 80                \ Max. energy              = 80
EQUB 30                \ Max. speed               = 30
EQUB HI(SHIP_MAMBA_EDGES - SHIP_MAMBA)            \ Edges data offset (high)
EQUB HI(SHIP_MAMBA_FACES - SHIP_MAMBA)            \ Faces data offset (high)
EQUB 2                 \ Normals are scaled by    = 2^2 = 4
EQUB %00100010         \ Laser power              = 4
\ Missiles                 = 2

\VERTEX    x,    y,    z, face1, face2, face3, face4, visibility
VERTEX    0,    0,   64,     0,      1,    2,     3,         31    \ Vertex 0
VERTEX  -64,   -8,  -32,     0,      2,    4,     4,         31    \ Vertex 1
VERTEX  -32,    8,  -32,     1,      2,    4,     4,         30    \ Vertex 2
VERTEX   32,    8,  -32,     1,      3,    4,     4,         30    \ Vertex 3
VERTEX   64,   -8,  -32,     0,      3,    4,     4,         31    \ Vertex 4
VERTEX   -4,    4,   16,     1,      1,    1,     1,         14    \ Vertex 5
VERTEX    4,    4,   16,     1,      1,    1,     1,         14    \ Vertex 6
VERTEX    8,    3,   28,     1,      1,    1,     1,         13    \ Vertex 7
VERTEX   -8,    3,   28,     1,      1,    1,     1,         13    \ Vertex 8
VERTEX  -20,   -4,   16,     0,      0,    0,     0,         20    \ Vertex 9
VERTEX   20,   -4,   16,     0,      0,    0,     0,         20    \ Vertex 10
VERTEX  -24,   -7,  -20,     0,      0,    0,     0,         20    \ Vertex 11
VERTEX  -16,   -7,  -20,     0,      0,    0,     0,         16    \ Vertex 12
VERTEX   16,   -7,  -20,     0,      0,    0,     0,         16    \ Vertex 13
VERTEX   24,   -7,  -20,     0,      0,    0,     0,         20    \ Vertex 14
VERTEX   -8,    4,  -32,     4,      4,    4,     4,         13    \ Vertex 15
VERTEX    8,    4,  -32,     4,      4,    4,     4,         13    \ Vertex 16
VERTEX    8,   -4,  -32,     4,      4,    4,     4,         14    \ Vertex 17
VERTEX   -8,   -4,  -32,     4,      4,    4,     4,         14    \ Vertex 18
VERTEX  -32,    4,  -32,     4,      4,    4,     4,          7    \ Vertex 19
VERTEX   32,    4,  -32,     4,      4,    4,     4,          7    \ Vertex 20
VERTEX   36,   -4,  -32,     4,      4,    4,     4,          7    \ Vertex 21
VERTEX  -36,   -4,  -32,     4,      4,    4,     4,          7    \ Vertex 22
VERTEX  -38,    0,  -32,     4,      4,    4,     4,          5    \ Vertex 23
VERTEX   38,    0,  -32,     4,      4,    4,     4,          5    \ Vertex 24

.SHIP_MAMBA_EDGES

\EDGE vertex1, vertex2, face1, face2, visibility
EDGE       0,       1,     0,     2,         31    \ Edge 0
EDGE       0,       4,     0,     3,         31    \ Edge 1
EDGE       1,       4,     0,     4,         31    \ Edge 2
EDGE       1,       2,     2,     4,         30    \ Edge 3
EDGE       2,       3,     1,     4,         30    \ Edge 4
EDGE       3,       4,     3,     4,         30    \ Edge 5
EDGE       5,       6,     1,     1,         14    \ Edge 6
EDGE       6,       7,     1,     1,         12    \ Edge 7
EDGE       7,       8,     1,     1,         13    \ Edge 8
EDGE       5,       8,     1,     1,         12    \ Edge 9
EDGE       9,      11,     0,     0,         20    \ Edge 10
EDGE       9,      12,     0,     0,         16    \ Edge 11
EDGE      10,      13,     0,     0,         16    \ Edge 12
EDGE      10,      14,     0,     0,         20    \ Edge 13
EDGE      13,      14,     0,     0,         14    \ Edge 14
EDGE      11,      12,     0,     0,         14    \ Edge 15
EDGE      15,      16,     4,     4,         13    \ Edge 16
EDGE      17,      18,     4,     4,         14    \ Edge 17
EDGE      15,      18,     4,     4,         12    \ Edge 18
EDGE      16,      17,     4,     4,         12    \ Edge 19
EDGE      20,      21,     4,     4,          7    \ Edge 20
EDGE      20,      24,     4,     4,          5    \ Edge 21
EDGE      21,      24,     4,     4,          5    \ Edge 22
EDGE      19,      22,     4,     4,          7    \ Edge 23
EDGE      19,      23,     4,     4,          5    \ Edge 24
EDGE      22,      23,     4,     4,          5    \ Edge 25
EDGE       0,       2,     1,     2,         30    \ Edge 26
EDGE       0,       3,     1,     3,         30    \ Edge 27

.SHIP_MAMBA_FACES

\FACE normal_x, normal_y, normal_z, visibility
FACE        0,      -24,        2,         30    \ Face 0
FACE        0,       24,        2,         30    \ Face 1
FACE      -32,       64,       16,         30    \ Face 2
FACE       32,       64,       16,         30    \ Face 3
FACE        0,        0,     -127,         30    \ Face 4

Name: SHIP_KRAIT                                              [Show more]
Type: Variable
Category: Drawing ships
Summary: Ship blueprint for a Krait
Deep dive: Ship blueprints
Context: See this variable on its own page
References: This variable is used as follows:
* ship_list calls SHIP_KRAIT

.SHIP_KRAIT

EQUB 1                 \ Max. canisters on demise = 1
EQUW 60 * 60           \ Targetable area          = 60 * 60
EQUB LO(SHIP_KRAIT_EDGES - SHIP_KRAIT)            \ Edges data offset (low)
EQUB LO(SHIP_KRAIT_FACES - SHIP_KRAIT)            \ Faces data offset (low)
EQUB 85                \ Max. edge count          = (85 - 1) / 4 = 21
EQUB 0                 \ Gun vertex               = 0
EQUB 18                \ Explosion count          = 3, as (4 * n) + 6 = 18
EQUB 102               \ Number of vertices       = 102 / 6 = 17
EQUB 21                \ Number of edges          = 21
EQUW 100               \ Bounty                   = 100
EQUB 24                \ Number of faces          = 24 / 4 = 6
EQUB 25                \ Visibility distance      = 25
EQUB 73                \ Max. energy              = 73
EQUB 30                \ Max. speed               = 30
EQUB HI(SHIP_KRAIT_EDGES - SHIP_KRAIT)            \ Edges data offset (high)
EQUB HI(SHIP_KRAIT_FACES - SHIP_KRAIT)            \ Faces data offset (high)
EQUB 1                 \ Normals are scaled by    = 2^1 = 2
EQUB %00100000         \ Laser power              = 4
\ Missiles                 = 0

\VERTEX    x,    y,    z, face1, face2, face3, face4, visibility
VERTEX    0,    0,   96,     1,      0,    3,     2,         31    \ Vertex 0
VERTEX    0,   18,  -48,     3,      0,    5,     4,         31    \ Vertex 1
VERTEX    0,  -18,  -48,     2,      1,    5,     4,         31    \ Vertex 2
VERTEX   90,    0,   -3,     1,      0,    4,     4,         31    \ Vertex 3
VERTEX  -90,    0,   -3,     3,      2,    5,     5,         31    \ Vertex 4
VERTEX   90,    0,   87,     1,      0,    1,     1,         30    \ Vertex 5
VERTEX  -90,    0,   87,     3,      2,    3,     3,         30    \ Vertex 6
VERTEX    0,    5,   53,     0,      0,    3,     3,          9    \ Vertex 7
VERTEX    0,    7,   38,     0,      0,    3,     3,          6    \ Vertex 8
VERTEX  -18,    7,   19,     3,      3,    3,     3,          9    \ Vertex 9
VERTEX   18,    7,   19,     0,      0,    0,     0,          9    \ Vertex 10
VERTEX   18,   11,  -39,     4,      4,    4,     4,          8    \ Vertex 11
VERTEX   18,  -11,  -39,     4,      4,    4,     4,          8    \ Vertex 12
VERTEX   36,    0,  -30,     4,      4,    4,     4,          8    \ Vertex 13
VERTEX  -18,   11,  -39,     5,      5,    5,     5,          8    \ Vertex 14
VERTEX  -18,  -11,  -39,     5,      5,    5,     5,          8    \ Vertex 15
VERTEX  -36,    0,  -30,     5,      5,    5,     5,          8    \ Vertex 16

.SHIP_KRAIT_EDGES

\EDGE vertex1, vertex2, face1, face2, visibility
EDGE       0,       1,     3,     0,         31    \ Edge 0
EDGE       0,       2,     2,     1,         31    \ Edge 1
EDGE       0,       3,     1,     0,         31    \ Edge 2
EDGE       0,       4,     3,     2,         31    \ Edge 3
EDGE       1,       4,     5,     3,         31    \ Edge 4
EDGE       4,       2,     5,     2,         31    \ Edge 5
EDGE       2,       3,     4,     1,         31    \ Edge 6
EDGE       3,       1,     4,     0,         31    \ Edge 7
EDGE       3,       5,     1,     0,         30    \ Edge 8
EDGE       4,       6,     3,     2,         30    \ Edge 9
EDGE       1,       2,     5,     4,          8    \ Edge 10
EDGE       7,      10,     0,     0,          9    \ Edge 11
EDGE       8,      10,     0,     0,          6    \ Edge 12
EDGE       7,       9,     3,     3,          9    \ Edge 13
EDGE       8,       9,     3,     3,          6    \ Edge 14
EDGE      11,      13,     4,     4,          8    \ Edge 15
EDGE      13,      12,     4,     4,          8    \ Edge 16
EDGE      12,      11,     4,     4,          7    \ Edge 17
EDGE      14,      15,     5,     5,          7    \ Edge 18
EDGE      15,      16,     5,     5,          8    \ Edge 19
EDGE      16,      14,     5,     5,          8    \ Edge 20

.SHIP_KRAIT_FACES

\FACE normal_x, normal_y, normal_z, visibility
FACE        3,       24,        3,         31    \ Face 0
FACE        3,      -24,        3,         31    \ Face 1
FACE       -3,      -24,        3,         31    \ Face 2
FACE       -3,       24,        3,         31    \ Face 3
FACE       38,        0,      -77,         31    \ Face 4
FACE      -38,        0,      -77,         31    \ Face 5

Name: SHIP_ADDER                                              [Show more]
Type: Variable
Category: Drawing ships
Summary: Ship blueprint for an Adder
Deep dive: Ship blueprints
Context: See this variable on its own page
References: This variable is used as follows:
* ship_list calls SHIP_ADDER

.SHIP_ADDER

EQUB 0                 \ Max. canisters on demise = 0
EQUW 50 * 50           \ Targetable area          = 50 * 50
EQUB LO(SHIP_ADDER_EDGES - SHIP_ADDER)            \ Edges data offset (low)
EQUB LO(SHIP_ADDER_FACES - SHIP_ADDER)            \ Faces data offset (low)
EQUB 97                \ Max. edge count          = (97 - 1) / 4 = 24
EQUB 0                 \ Gun vertex               = 0
EQUB 22                \ Explosion count          = 4, as (4 * n) + 6 = 22
EQUB 108               \ Number of vertices       = 108 / 6 = 18
EQUB 29                \ Number of edges          = 29
EQUW 40                \ Bounty                   = 40
EQUB 60                \ Number of faces          = 60 / 4 = 15
EQUB 23                \ Visibility distance      = 23
EQUB 72                \ Max. energy              = 72
EQUB 24                \ Max. speed               = 24
EQUB HI(SHIP_ADDER_EDGES - SHIP_ADDER)            \ Edges data offset (high)
EQUB HI(SHIP_ADDER_FACES - SHIP_ADDER)            \ Faces data offset (high)
EQUB 2                 \ Normals are scaled by    = 2^2 = 4
EQUB %00100001         \ Laser power              = 4
\ Missiles                 = 1

\VERTEX    x,    y,    z, face1, face2, face3, face4, visibility
VERTEX  -18,    0,   40,     1,      0,   12,    11,         31    \ Vertex 0
VERTEX   18,    0,   40,     1,      0,    3,     2,         31    \ Vertex 1
VERTEX   30,    0,  -24,     3,      2,    5,     4,         31    \ Vertex 2
VERTEX   30,    0,  -40,     5,      4,    6,     6,         31    \ Vertex 3
VERTEX   18,   -7,  -40,     6,      5,   14,     7,         31    \ Vertex 4
VERTEX  -18,   -7,  -40,     8,      7,   14,    10,         31    \ Vertex 5
VERTEX  -30,    0,  -40,     9,      8,   10,    10,         31    \ Vertex 6
VERTEX  -30,    0,  -24,    10,      9,   12,    11,         31    \ Vertex 7
VERTEX  -18,    7,  -40,     8,      7,   13,     9,         31    \ Vertex 8
VERTEX   18,    7,  -40,     6,      4,   13,     7,         31    \ Vertex 9
VERTEX  -18,    7,   13,     9,      0,   13,    11,         31    \ Vertex 10
VERTEX   18,    7,   13,     2,      0,   13,     4,         31    \ Vertex 11
VERTEX  -18,   -7,   13,    10,      1,   14,    12,         31    \ Vertex 12
VERTEX   18,   -7,   13,     3,      1,   14,     5,         31    \ Vertex 13
VERTEX  -11,    3,   29,     0,      0,    0,     0,          5    \ Vertex 14
VERTEX   11,    3,   29,     0,      0,    0,     0,          5    \ Vertex 15
VERTEX   11,    4,   24,     0,      0,    0,     0,          4    \ Vertex 16
VERTEX  -11,    4,   24,     0,      0,    0,     0,          4    \ Vertex 17

.SHIP_ADDER_EDGES

\EDGE vertex1, vertex2, face1, face2, visibility
EDGE       0,       1,     1,     0,         31    \ Edge 0
EDGE       1,       2,     3,     2,          7    \ Edge 1
EDGE       2,       3,     5,     4,         31    \ Edge 2
EDGE       3,       4,     6,     5,         31    \ Edge 3
EDGE       4,       5,    14,     7,         31    \ Edge 4
EDGE       5,       6,    10,     8,         31    \ Edge 5
EDGE       6,       7,    10,     9,         31    \ Edge 6
EDGE       7,       0,    12,    11,          7    \ Edge 7
EDGE       3,       9,     6,     4,         31    \ Edge 8
EDGE       9,       8,    13,     7,         31    \ Edge 9
EDGE       8,       6,     9,     8,         31    \ Edge 10
EDGE       0,      10,    11,     0,         31    \ Edge 11
EDGE       7,      10,    11,     9,         31    \ Edge 12
EDGE       1,      11,     2,     0,         31    \ Edge 13
EDGE       2,      11,     4,     2,         31    \ Edge 14
EDGE       0,      12,    12,     1,         31    \ Edge 15
EDGE       7,      12,    12,    10,         31    \ Edge 16
EDGE       1,      13,     3,     1,         31    \ Edge 17
EDGE       2,      13,     5,     3,         31    \ Edge 18
EDGE      10,      11,    13,     0,         31    \ Edge 19
EDGE      12,      13,    14,     1,         31    \ Edge 20
EDGE       8,      10,    13,     9,         31    \ Edge 21
EDGE       9,      11,    13,     4,         31    \ Edge 22
EDGE       5,      12,    14,    10,         31    \ Edge 23
EDGE       4,      13,    14,     5,         31    \ Edge 24
EDGE      14,      15,     0,     0,          5    \ Edge 25
EDGE      15,      16,     0,     0,          3    \ Edge 26
EDGE      16,      17,     0,     0,          4    \ Edge 27
EDGE      17,      14,     0,     0,          3    \ Edge 28

.SHIP_ADDER_FACES

\FACE normal_x, normal_y, normal_z, visibility
FACE        0,       39,       10,         31    \ Face 0
FACE        0,      -39,       10,         31    \ Face 1
FACE       69,       50,       13,         31    \ Face 2
FACE       69,      -50,       13,         31    \ Face 3
FACE       30,       52,        0,         31    \ Face 4
FACE       30,      -52,        0,         31    \ Face 5
FACE        0,        0,     -160,         31    \ Face 6
FACE        0,        0,     -160,         31    \ Face 7
FACE        0,        0,     -160,         31    \ Face 8
FACE      -30,       52,        0,         31    \ Face 9
FACE      -30,      -52,        0,         31    \ Face 10
FACE      -69,       50,       13,         31    \ Face 11
FACE      -69,      -50,       13,         31    \ Face 12
FACE        0,       28,        0,         31    \ Face 13
FACE        0,      -28,        0,         31    \ Face 14

Name: SHIP_GECKO                                              [Show more]
Type: Variable
Category: Drawing ships
Summary: Ship blueprint for a Gecko
Deep dive: Ship blueprints
Context: See this variable on its own page
References: This variable is used as follows:
* ship_list calls SHIP_GECKO

.SHIP_GECKO

EQUB 0                 \ Max. canisters on demise = 0
EQUW 99 * 99           \ Targetable area          = 99 * 99
EQUB LO(SHIP_GECKO_EDGES - SHIP_GECKO)            \ Edges data offset (low)
EQUB LO(SHIP_GECKO_FACES - SHIP_GECKO)            \ Faces data offset (low)
EQUB 65                \ Max. edge count          = (65 - 1) / 4 = 16
EQUB 0                 \ Gun vertex               = 0
EQUB 26                \ Explosion count          = 5, as (4 * n) + 6 = 26
EQUB 72                \ Number of vertices       = 72 / 6 = 12
EQUB 17                \ Number of edges          = 17
EQUW 55                \ Bounty                   = 55
EQUB 36                \ Number of faces          = 36 / 4 = 9
EQUB 18                \ Visibility distance      = 18
EQUB 65                \ Max. energy              = 65
EQUB 30                \ Max. speed               = 30
EQUB HI(SHIP_GECKO_EDGES - SHIP_GECKO)            \ Edges data offset (high)
EQUB HI(SHIP_GECKO_FACES - SHIP_GECKO)            \ Faces data offset (high)
EQUB 3                 \ Normals are scaled by    = 2^3 = 8
EQUB %00100000         \ Laser power              = 4
\ Missiles                 = 0

\VERTEX    x,    y,    z, face1, face2, face3, face4, visibility
VERTEX  -10,   -4,   47,     3,      0,    5,     4,         31    \ Vertex 0
VERTEX   10,   -4,   47,     1,      0,    3,     2,         31    \ Vertex 1
VERTEX  -16,    8,  -23,     5,      0,    7,     6,         31    \ Vertex 2
VERTEX   16,    8,  -23,     1,      0,    8,     7,         31    \ Vertex 3
VERTEX  -66,    0,   -3,     5,      4,    6,     6,         31    \ Vertex 4
VERTEX   66,    0,   -3,     2,      1,    8,     8,         31    \ Vertex 5
VERTEX  -20,  -14,  -23,     4,      3,    7,     6,         31    \ Vertex 6
VERTEX   20,  -14,  -23,     3,      2,    8,     7,         31    \ Vertex 7
VERTEX   -8,   -6,   33,     3,      3,    3,     3,         16    \ Vertex 8
VERTEX    8,   -6,   33,     3,      3,    3,     3,         17    \ Vertex 9
VERTEX   -8,  -13,  -16,     3,      3,    3,     3,         16    \ Vertex 10
VERTEX    8,  -13,  -16,     3,      3,    3,     3,         17    \ Vertex 11

.SHIP_GECKO_EDGES

\EDGE vertex1, vertex2, face1, face2, visibility
EDGE       0,       1,     3,     0,         31    \ Edge 0
EDGE       1,       5,     2,     1,         31    \ Edge 1
EDGE       5,       3,     8,     1,         31    \ Edge 2
EDGE       3,       2,     7,     0,         31    \ Edge 3
EDGE       2,       4,     6,     5,         31    \ Edge 4
EDGE       4,       0,     5,     4,         31    \ Edge 5
EDGE       5,       7,     8,     2,         31    \ Edge 6
EDGE       7,       6,     7,     3,         31    \ Edge 7
EDGE       6,       4,     6,     4,         31    \ Edge 8
EDGE       0,       2,     5,     0,         29    \ Edge 9
EDGE       1,       3,     1,     0,         30    \ Edge 10
EDGE       0,       6,     4,     3,         29    \ Edge 11
EDGE       1,       7,     3,     2,         30    \ Edge 12
EDGE       2,       6,     7,     6,         20    \ Edge 13
EDGE       3,       7,     8,     7,         20    \ Edge 14
EDGE       8,      10,     3,     3,         16    \ Edge 15
EDGE       9,      11,     3,     3,         17    \ Edge 16

.SHIP_GECKO_FACES

\FACE normal_x, normal_y, normal_z, visibility
FACE        0,       31,        5,         31    \ Face 0
FACE        4,       45,        8,         31    \ Face 1
FACE       25,     -108,       19,         31    \ Face 2
FACE        0,      -84,       12,         31    \ Face 3
FACE      -25,     -108,       19,         31    \ Face 4
FACE       -4,       45,        8,         31    \ Face 5
FACE      -88,       16,     -214,         31    \ Face 6
FACE        0,        0,     -187,         31    \ Face 7
FACE       88,       16,     -214,         31    \ Face 8

Name: SHIP_COBRA_MK_1                                         [Show more]
Type: Variable
Category: Drawing ships
Summary: Ship blueprint for a Cobra Mk I
Deep dive: Ship blueprints
Context: See this variable on its own page
References: This variable is used as follows:
* ship_list calls SHIP_COBRA_MK_1

.SHIP_COBRA_MK_1

EQUB 3                 \ Max. canisters on demise = 3
EQUW 99 * 99           \ Targetable area          = 99 * 99
EQUB LO(SHIP_COBRA_MK_1_EDGES - SHIP_COBRA_MK_1)  \ Edges data offset (low)
EQUB LO(SHIP_COBRA_MK_1_FACES - SHIP_COBRA_MK_1)  \ Faces data offset (low)
EQUB 69                \ Max. edge count          = (69 - 1) / 4 = 17
EQUB 40                \ Gun vertex               = 40
EQUB 26                \ Explosion count          = 5, as (4 * n) + 6 = 26
EQUB 66                \ Number of vertices       = 66 / 6 = 11
EQUB 18                \ Number of edges          = 18
EQUW 75                \ Bounty                   = 75
EQUB 40                \ Number of faces          = 40 / 4 = 10
EQUB 19                \ Visibility distance      = 19
EQUB 81                \ Max. energy              = 81
EQUB 26                \ Max. speed               = 26
EQUB HI(SHIP_COBRA_MK_1_EDGES - SHIP_COBRA_MK_1)  \ Edges data offset (high)
EQUB HI(SHIP_COBRA_MK_1_FACES - SHIP_COBRA_MK_1)  \ Faces data offset (high)
EQUB 2                 \ Normals are scaled by    = 2^2 = 4
EQUB %00100010         \ Laser power              = 4
\ Missiles                 = 2

\VERTEX    x,    y,    z, face1, face2, face3, face4, visibility
VERTEX  -18,   -1,   50,     1,      0,    3,     2,         31    \ Vertex 0
VERTEX   18,   -1,   50,     1,      0,    5,     4,         31    \ Vertex 1
VERTEX  -66,    0,    7,     3,      2,    8,     8,         31    \ Vertex 2
VERTEX   66,    0,    7,     5,      4,    9,     9,         31    \ Vertex 3
VERTEX  -32,   12,  -38,     6,      2,    8,     7,         31    \ Vertex 4
VERTEX   32,   12,  -38,     6,      4,    9,     7,         31    \ Vertex 5
VERTEX  -54,  -12,  -38,     3,      1,    8,     7,         31    \ Vertex 6
VERTEX   54,  -12,  -38,     5,      1,    9,     7,         31    \ Vertex 7
VERTEX    0,   12,   -6,     2,      0,    6,     4,         20    \ Vertex 8
VERTEX    0,   -1,   50,     1,      0,    1,     1,          2    \ Vertex 9
VERTEX    0,   -1,   60,     1,      0,    1,     1,         31    \ Vertex 10

.SHIP_COBRA_MK_1_EDGES

\EDGE vertex1, vertex2, face1, face2, visibility
EDGE       1,       0,     1,     0,         31    \ Edge 0
EDGE       0,       2,     3,     2,         31    \ Edge 1
EDGE       2,       6,     8,     3,         31    \ Edge 2
EDGE       6,       7,     7,     1,         31    \ Edge 3
EDGE       7,       3,     9,     5,         31    \ Edge 4
EDGE       3,       1,     5,     4,         31    \ Edge 5
EDGE       2,       4,     8,     2,         31    \ Edge 6
EDGE       4,       5,     7,     6,         31    \ Edge 7
EDGE       5,       3,     9,     4,         31    \ Edge 8
EDGE       0,       8,     2,     0,         20    \ Edge 9
EDGE       8,       1,     4,     0,         20    \ Edge 10
EDGE       4,       8,     6,     2,         16    \ Edge 11
EDGE       8,       5,     6,     4,         16    \ Edge 12
EDGE       4,       6,     8,     7,         31    \ Edge 13
EDGE       5,       7,     9,     7,         31    \ Edge 14
EDGE       0,       6,     3,     1,         20    \ Edge 15
EDGE       1,       7,     5,     1,         20    \ Edge 16
EDGE      10,       9,     1,     0,          2    \ Edge 17

.SHIP_COBRA_MK_1_FACES

\FACE normal_x, normal_y, normal_z, visibility
FACE        0,       41,       10,         31    \ Face 0
FACE        0,      -27,        3,         31    \ Face 1
FACE       -8,       46,        8,         31    \ Face 2
FACE      -12,      -57,       12,         31    \ Face 3
FACE        8,       46,        8,         31    \ Face 4
FACE       12,      -57,       12,         31    \ Face 5
FACE        0,       49,        0,         31    \ Face 6
FACE        0,        0,     -154,         31    \ Face 7
FACE     -121,      111,      -62,         31    \ Face 8
FACE      121,      111,      -62,         31    \ Face 9

Name: SHIP_ASP_MK_2                                           [Show more]
Type: Variable
Category: Drawing ships
Summary: Ship blueprint for an Asp Mk II
Deep dive: Ship blueprints
Context: See this variable on its own page
References: This variable is used as follows:
* ship_list calls SHIP_ASP_MK_2

.SHIP_ASP_MK_2

EQUB 0                 \ Max. canisters on demise = 0
EQUW 60 * 60           \ Targetable area          = 60 * 60
EQUB LO(SHIP_ASP_MK_2_EDGES - SHIP_ASP_MK_2)      \ Edges data offset (low)
EQUB LO(SHIP_ASP_MK_2_FACES - SHIP_ASP_MK_2)      \ Faces data offset (low)
EQUB 101               \ Max. edge count          = (101 - 1) / 4 = 25
EQUB 32                \ Gun vertex               = 32
EQUB 26                \ Explosion count          = 5, as (4 * n) + 6 = 26
EQUB 114               \ Number of vertices       = 114 / 6 = 19
EQUB 28                \ Number of edges          = 28
EQUW 450               \ Bounty                   = 450
EQUB 48                \ Number of faces          = 48 / 4 = 12
EQUB 40                \ Visibility distance      = 40
EQUB 109               \ Max. energy              = 109
EQUB 40                \ Max. speed               = 40
EQUB HI(SHIP_ASP_MK_2_EDGES - SHIP_ASP_MK_2)      \ Edges data offset (high)
EQUB HI(SHIP_ASP_MK_2_FACES - SHIP_ASP_MK_2)      \ Faces data offset (high)
EQUB 1                 \ Normals are scaled by    = 2^1 = 2
EQUB %01001001         \ Laser power              = 9
\ Missiles                 = 1

\VERTEX    x,    y,    z, face1, face2, face3, face4, visibility
VERTEX    0,  -18,    0,     1,      0,    2,     2,         22    \ Vertex 0
VERTEX    0,   -9,  -45,     2,      1,   11,    11,         31    \ Vertex 1
VERTEX   43,    0,  -45,     6,      1,   11,    11,         31    \ Vertex 2
VERTEX   69,   -3,    0,     6,      1,    9,     7,         31    \ Vertex 3
VERTEX   43,  -14,   28,     1,      0,    7,     7,         31    \ Vertex 4
VERTEX  -43,    0,  -45,     5,      2,   11,    11,         31    \ Vertex 5
VERTEX  -69,   -3,    0,     5,      2,   10,     8,         31    \ Vertex 6
VERTEX  -43,  -14,   28,     2,      0,    8,     8,         31    \ Vertex 7
VERTEX   26,   -7,   73,     4,      0,    9,     7,         31    \ Vertex 8
VERTEX  -26,   -7,   73,     4,      0,   10,     8,         31    \ Vertex 9
VERTEX   43,   14,   28,     4,      3,    9,     6,         31    \ Vertex 10
VERTEX  -43,   14,   28,     4,      3,   10,     5,         31    \ Vertex 11
VERTEX    0,    9,  -45,     5,      3,   11,     6,         31    \ Vertex 12
VERTEX  -17,    0,  -45,    11,     11,   11,    11,         10    \ Vertex 13
VERTEX   17,    0,  -45,    11,     11,   11,    11,          9    \ Vertex 14
VERTEX    0,   -4,  -45,    11,     11,   11,    11,         10    \ Vertex 15
VERTEX    0,    4,  -45,    11,     11,   11,    11,          8    \ Vertex 16
VERTEX    0,   -7,   73,     4,      0,    4,     0,         10    \ Vertex 17
VERTEX    0,   -7,   83,     4,      0,    4,     0,         10    \ Vertex 18

.SHIP_ASP_MK_2_EDGES

\EDGE vertex1, vertex2, face1, face2, visibility
EDGE       0,       1,     2,     1,         22    \ Edge 0
EDGE       0,       4,     1,     0,         22    \ Edge 1
EDGE       0,       7,     2,     0,         22    \ Edge 2
EDGE       1,       2,    11,     1,         31    \ Edge 3
EDGE       2,       3,     6,     1,         31    \ Edge 4
EDGE       3,       8,     9,     7,         16    \ Edge 5
EDGE       8,       9,     4,     0,         31    \ Edge 6
EDGE       6,       9,    10,     8,         16    \ Edge 7
EDGE       5,       6,     5,     2,         31    \ Edge 8
EDGE       1,       5,    11,     2,         31    \ Edge 9
EDGE       3,       4,     7,     1,         31    \ Edge 10
EDGE       4,       8,     7,     0,         31    \ Edge 11
EDGE       6,       7,     8,     2,         31    \ Edge 12
EDGE       7,       9,     8,     0,         31    \ Edge 13
EDGE       2,      12,    11,     6,         31    \ Edge 14
EDGE       5,      12,    11,     5,         31    \ Edge 15
EDGE      10,      12,     6,     3,         22    \ Edge 16
EDGE      11,      12,     5,     3,         22    \ Edge 17
EDGE      10,      11,     4,     3,         22    \ Edge 18
EDGE       6,      11,    10,     5,         31    \ Edge 19
EDGE       9,      11,    10,     4,         31    \ Edge 20
EDGE       3,      10,     9,     6,         31    \ Edge 21
EDGE       8,      10,     9,     4,         31    \ Edge 22
EDGE      13,      15,    11,    11,         10    \ Edge 23
EDGE      15,      14,    11,    11,          9    \ Edge 24
EDGE      14,      16,    11,    11,          8    \ Edge 25
EDGE      16,      13,    11,    11,          8    \ Edge 26
EDGE      18,      17,     4,     0,         10    \ Edge 27

.SHIP_ASP_MK_2_FACES

\FACE normal_x, normal_y, normal_z, visibility
FACE        0,      -35,        5,         31    \ Face 0
FACE        8,      -38,       -7,         31    \ Face 1
FACE       -8,      -38,       -7,         31    \ Face 2
FACE        0,       24,       -1,         22    \ Face 3
FACE        0,       43,       19,         31    \ Face 4
FACE       -6,       28,       -2,         31    \ Face 5
FACE        6,       28,       -2,         31    \ Face 6
FACE       59,      -64,       31,         31    \ Face 7
FACE      -59,      -64,       31,         31    \ Face 8
FACE       80,       46,       50,         31    \ Face 9
FACE      -80,       46,       50,         31    \ Face 10
FACE        0,        0,      -90,         31    \ Face 11

Name: SHIP_FER_DE_LANCE                                       [Show more]
Type: Variable
Category: Drawing ships
Summary: Ship blueprint for a Fer-de-Lance
Deep dive: Ship blueprints
Context: See this variable on its own page
References: This variable is used as follows:
* ship_list calls SHIP_FER_DE_LANCE

.SHIP_FER_DE_LANCE

EQUB 0                 \ Max. canisters on demise = 0
EQUW 40 * 40           \ Targetable area          = 40 * 40
EQUB LO(SHIP_FER_DE_LANCE_EDGES - SHIP_FER_DE_LANCE) \ Edges data offset (low)
EQUB LO(SHIP_FER_DE_LANCE_FACES - SHIP_FER_DE_LANCE) \ Faces data offset (low)
EQUB 105               \ Max. edge count          = (105 - 1) / 4 = 26
EQUB 0                 \ Gun vertex               = 0
EQUB 26                \ Explosion count          = 5, as (4 * n) + 6 = 26
EQUB 114               \ Number of vertices       = 114 / 6 = 19
EQUB 27                \ Number of edges          = 27
EQUW 250               \ Bounty                   = 250
EQUB 40                \ Number of faces          = 40 / 4 = 10
EQUB 40                \ Visibility distance      = 40
EQUB 83                \ Max. energy              = 83
EQUB 30                \ Max. speed               = 30
EQUB HI(SHIP_FER_DE_LANCE_EDGES - SHIP_FER_DE_LANCE) \ Edges data offset (high)
EQUB HI(SHIP_FER_DE_LANCE_FACES - SHIP_FER_DE_LANCE) \ Faces data offset (high)
EQUB 1                 \ Normals are scaled by    = 2^1 = 2
EQUB %00110010         \ Laser power              = 6
\ Missiles                 = 2

\VERTEX    x,    y,    z, face1, face2, face3, face4, visibility
VERTEX    0,  -14,  108,     1,      0,    9,     5,         31    \ Vertex 0
VERTEX  -40,  -14,   -4,     2,      1,    9,     9,         31    \ Vertex 1
VERTEX  -12,  -14,  -52,     3,      2,    9,     9,         31    \ Vertex 2
VERTEX   12,  -14,  -52,     4,      3,    9,     9,         31    \ Vertex 3
VERTEX   40,  -14,   -4,     5,      4,    9,     9,         31    \ Vertex 4
VERTEX  -40,   14,   -4,     1,      0,    6,     2,         28    \ Vertex 5
VERTEX  -12,    2,  -52,     3,      2,    7,     6,         28    \ Vertex 6
VERTEX   12,    2,  -52,     4,      3,    8,     7,         28    \ Vertex 7
VERTEX   40,   14,   -4,     4,      0,    8,     5,         28    \ Vertex 8
VERTEX    0,   18,  -20,     6,      0,    8,     7,         15    \ Vertex 9
VERTEX   -3,  -11,   97,     0,      0,    0,     0,         11    \ Vertex 10
VERTEX  -26,    8,   18,     0,      0,    0,     0,          9    \ Vertex 11
VERTEX  -16,   14,   -4,     0,      0,    0,     0,         11    \ Vertex 12
VERTEX    3,  -11,   97,     0,      0,    0,     0,         11    \ Vertex 13
VERTEX   26,    8,   18,     0,      0,    0,     0,          9    \ Vertex 14
VERTEX   16,   14,   -4,     0,      0,    0,     0,         11    \ Vertex 15
VERTEX    0,  -14,  -20,     9,      9,    9,     9,         12    \ Vertex 16
VERTEX  -14,  -14,   44,     9,      9,    9,     9,         12    \ Vertex 17
VERTEX   14,  -14,   44,     9,      9,    9,     9,         12    \ Vertex 18

.SHIP_FER_DE_LANCE_EDGES

\EDGE vertex1, vertex2, face1, face2, visibility
EDGE       0,       1,     9,     1,         31    \ Edge 0
EDGE       1,       2,     9,     2,         31    \ Edge 1
EDGE       2,       3,     9,     3,         31    \ Edge 2
EDGE       3,       4,     9,     4,         31    \ Edge 3
EDGE       0,       4,     9,     5,         31    \ Edge 4
EDGE       0,       5,     1,     0,         28    \ Edge 5
EDGE       5,       6,     6,     2,         28    \ Edge 6
EDGE       6,       7,     7,     3,         28    \ Edge 7
EDGE       7,       8,     8,     4,         28    \ Edge 8
EDGE       0,       8,     5,     0,         28    \ Edge 9
EDGE       5,       9,     6,     0,         15    \ Edge 10
EDGE       6,       9,     7,     6,         11    \ Edge 11
EDGE       7,       9,     8,     7,         11    \ Edge 12
EDGE       8,       9,     8,     0,         15    \ Edge 13
EDGE       1,       5,     2,     1,         14    \ Edge 14
EDGE       2,       6,     3,     2,         14    \ Edge 15
EDGE       3,       7,     4,     3,         14    \ Edge 16
EDGE       4,       8,     5,     4,         14    \ Edge 17
EDGE      10,      11,     0,     0,          8    \ Edge 18
EDGE      11,      12,     0,     0,          9    \ Edge 19
EDGE      10,      12,     0,     0,         11    \ Edge 20
EDGE      13,      14,     0,     0,          8    \ Edge 21
EDGE      14,      15,     0,     0,          9    \ Edge 22
EDGE      13,      15,     0,     0,         11    \ Edge 23
EDGE      16,      17,     9,     9,         12    \ Edge 24
EDGE      16,      18,     9,     9,         12    \ Edge 25
EDGE      17,      18,     9,     9,          8    \ Edge 26

.SHIP_FER_DE_LANCE_FACES

\FACE normal_x, normal_y, normal_z, visibility
FACE        0,       24,        6,         28    \ Face 0
FACE      -68,        0,       24,         31    \ Face 1
FACE      -63,        0,      -37,         31    \ Face 2
FACE        0,        0,     -104,         31    \ Face 3
FACE       63,        0,      -37,         31    \ Face 4
FACE       68,        0,       24,         31    \ Face 5
FACE      -12,       46,      -19,         28    \ Face 6
FACE        0,       45,      -22,         28    \ Face 7
FACE       12,       46,      -19,         28    \ Face 8
FACE        0,      -28,        0,         31    \ Face 9

Name: SHIP_MORAY                                              [Show more]
Type: Variable
Category: Drawing ships
Summary: Ship blueprint for a Moray
Deep dive: Ship blueprints
Context: See this variable on its own page
References: This variable is used as follows:
* ship_list calls SHIP_MORAY

.SHIP_MORAY

EQUB 1                 \ Max. canisters on demise = 1
EQUW 30 * 30           \ Targetable area          = 30 * 30
EQUB LO(SHIP_MORAY_EDGES - SHIP_MORAY)            \ Edges data offset (low)
EQUB LO(SHIP_MORAY_FACES - SHIP_MORAY)            \ Faces data offset (low)
EQUB 69                \ Max. edge count          = (69 - 1) / 4 = 17
EQUB 0                 \ Gun vertex               = 0
EQUB 26                \ Explosion count          = 5, as (4 * n) + 6 = 26
EQUB 84                \ Number of vertices       = 84 / 6 = 14
EQUB 19                \ Number of edges          = 19
EQUW 50                \ Bounty                   = 50
EQUB 36                \ Number of faces          = 36 / 4 = 9
EQUB 40                \ Visibility distance      = 40
EQUB 89                \ Max. energy              = 89
EQUB 25                \ Max. speed               = 25
EQUB HI(SHIP_MORAY_EDGES - SHIP_MORAY)            \ Edges data offset (high)
EQUB HI(SHIP_MORAY_FACES - SHIP_MORAY)            \ Faces data offset (high)
EQUB 2                 \ Normals are scaled by    = 2^2 = 4
EQUB %00101010         \ Laser power              = 5
\ Missiles                 = 2

\VERTEX    x,    y,    z, face1, face2, face3, face4, visibility
VERTEX   15,    0,   65,     2,      0,    8,     7,         31    \ Vertex 0
VERTEX  -15,    0,   65,     1,      0,    7,     6,         31    \ Vertex 1
VERTEX    0,   18,  -40,    15,     15,   15,    15,         17    \ Vertex 2
VERTEX  -60,    0,    0,     3,      1,    6,     6,         31    \ Vertex 3
VERTEX   60,    0,    0,     5,      2,    8,     8,         31    \ Vertex 4
VERTEX   30,  -27,  -10,     5,      4,    8,     7,         24    \ Vertex 5
VERTEX  -30,  -27,  -10,     4,      3,    7,     6,         24    \ Vertex 6
VERTEX   -9,   -4,  -25,     4,      4,    4,     4,          7    \ Vertex 7
VERTEX    9,   -4,  -25,     4,      4,    4,     4,          7    \ Vertex 8
VERTEX    0,  -18,  -16,     4,      4,    4,     4,          7    \ Vertex 9
VERTEX   13,    3,   49,     0,      0,    0,     0,          5    \ Vertex 10
VERTEX    6,    0,   65,     0,      0,    0,     0,          5    \ Vertex 11
VERTEX  -13,    3,   49,     0,      0,    0,     0,          5    \ Vertex 12
VERTEX   -6,    0,   65,     0,      0,    0,     0,          5    \ Vertex 13

.SHIP_MORAY_EDGES

\EDGE vertex1, vertex2, face1, face2, visibility
EDGE       0,       1,     7,     0,         31    \ Edge 0
EDGE       1,       3,     6,     1,         31    \ Edge 1
EDGE       3,       6,     6,     3,         24    \ Edge 2
EDGE       5,       6,     7,     4,         24    \ Edge 3
EDGE       4,       5,     8,     5,         24    \ Edge 4
EDGE       0,       4,     8,     2,         31    \ Edge 5
EDGE       1,       6,     7,     6,         15    \ Edge 6
EDGE       0,       5,     8,     7,         15    \ Edge 7
EDGE       0,       2,     2,     0,         15    \ Edge 8
EDGE       1,       2,     1,     0,         15    \ Edge 9
EDGE       2,       3,     3,     1,         17    \ Edge 10
EDGE       2,       4,     5,     2,         17    \ Edge 11
EDGE       2,       5,     5,     4,         13    \ Edge 12
EDGE       2,       6,     4,     3,         13    \ Edge 13
EDGE       7,       8,     4,     4,          5    \ Edge 14
EDGE       7,       9,     4,     4,          7    \ Edge 15
EDGE       8,       9,     4,     4,          7    \ Edge 16
EDGE      10,      11,     0,     0,          5    \ Edge 17
EDGE      12,      13,     0,     0,          5    \ Edge 18

.SHIP_MORAY_FACES

\FACE normal_x, normal_y, normal_z, visibility
FACE        0,       43,        7,         31    \ Face 0
FACE      -10,       49,        7,         31    \ Face 1
FACE       10,       49,        7,         31    \ Face 2
FACE      -59,      -28,     -101,         24    \ Face 3
FACE        0,      -52,      -78,         24    \ Face 4
FACE       59,      -28,     -101,         24    \ Face 5
FACE      -72,      -99,       50,         31    \ Face 6
FACE        0,      -83,       30,         31    \ Face 7
FACE       72,      -99,       50,         31    \ Face 8

Name: SHIP_CONSTRICTOR                                        [Show more]
Type: Variable
Category: Drawing ships
Summary: Ship blueprint for a Constrictor
Deep dive: Ship blueprints
Context: See this variable on its own page
References: This variable is used as follows:
* XX21 calls SHIP_CONSTRICTOR
* ship_list calls SHIP_CONSTRICTOR

.SHIP_CONSTRICTOR

EQUB 3 + (15 << 4)     \ Max. canisters on demise = 3
\ Market item when scooped = 15 + 1 = 16 (alien items)
EQUW 99 * 99           \ Targetable area          = 99 * 99
EQUB LO(SHIP_CONSTRICTOR_EDGES - SHIP_CONSTRICTOR)   \ Edges data offset (low)
EQUB LO(SHIP_CONSTRICTOR_FACES - SHIP_CONSTRICTOR)   \ Faces data offset (low)
EQUB 77                \ Max. edge count          = (77 - 1) / 4 = 19
EQUB 0                 \ Gun vertex               = 0
EQUB 46                \ Explosion count          = 10, as (4 * n) + 6 = 46
EQUB 102               \ Number of vertices       = 102 / 6 = 17
EQUB 24                \ Number of edges          = 24
EQUW 0                 \ Bounty                   = 0
EQUB 40                \ Number of faces          = 40 / 4 = 10
EQUB 45                \ Visibility distance      = 45
EQUB 115               \ Max. energy              = 115
EQUB 55                \ Max. speed               = 55
EQUB HI(SHIP_CONSTRICTOR_EDGES - SHIP_CONSTRICTOR)   \ Edges data offset (high)
EQUB HI(SHIP_CONSTRICTOR_FACES - SHIP_CONSTRICTOR)   \ Faces data offset (high)
EQUB 2                 \ Normals are scaled by    = 2^2 = 4
EQUB %01000111         \ Laser power              = 8
\ Missiles                 = 7

\VERTEX    x,    y,    z, face1, face2, face3, face4, visibility
VERTEX   20,   -7,   80,     2,      0,    9,     9,         31    \ Vertex 0
VERTEX  -20,   -7,   80,     1,      0,    9,     9,         31    \ Vertex 1
VERTEX  -54,   -7,   40,     4,      1,    9,     9,         31    \ Vertex 2
VERTEX  -54,   -7,  -40,     5,      4,    9,     8,         31    \ Vertex 3
VERTEX  -20,   13,  -40,     6,      5,    8,     8,         31    \ Vertex 4
VERTEX   20,   13,  -40,     7,      6,    8,     8,         31    \ Vertex 5
VERTEX   54,   -7,  -40,     7,      3,    9,     8,         31    \ Vertex 6
VERTEX   54,   -7,   40,     3,      2,    9,     9,         31    \ Vertex 7
VERTEX   20,   13,    5,    15,     15,   15,    15,         31    \ Vertex 8
VERTEX  -20,   13,    5,    15,     15,   15,    15,         31    \ Vertex 9
VERTEX   20,   -7,   62,     9,      9,    9,     9,         18    \ Vertex 10
VERTEX  -20,   -7,   62,     9,      9,    9,     9,         18    \ Vertex 11
VERTEX   25,   -7,  -25,     9,      9,    9,     9,         18    \ Vertex 12
VERTEX  -25,   -7,  -25,     9,      9,    9,     9,         18    \ Vertex 13
VERTEX   15,   -7,  -15,     9,      9,    9,     9,         10    \ Vertex 14
VERTEX  -15,   -7,  -15,     9,      9,    9,     9,         10    \ Vertex 15
VERTEX    0,   -7,    0,    15,      9,    1,     0,          0    \ Vertex 16

.SHIP_CONSTRICTOR_EDGES

\EDGE vertex1, vertex2, face1, face2, visibility
EDGE       0,       1,     9,     0,         31    \ Edge 0
EDGE       1,       2,     9,     1,         31    \ Edge 1
EDGE       1,       9,     1,     0,         31    \ Edge 2
EDGE       0,       8,     2,     0,         31    \ Edge 3
EDGE       0,       7,     9,     2,         31    \ Edge 4
EDGE       7,       8,     3,     2,         31    \ Edge 5
EDGE       2,       9,     4,     1,         31    \ Edge 6
EDGE       2,       3,     9,     4,         31    \ Edge 7
EDGE       6,       7,     9,     3,         31    \ Edge 8
EDGE       6,       8,     7,     3,         31    \ Edge 9
EDGE       5,       8,     7,     6,         31    \ Edge 10
EDGE       4,       9,     6,     5,         31    \ Edge 11
EDGE       3,       9,     5,     4,         31    \ Edge 12
EDGE       3,       4,     8,     5,         31    \ Edge 13
EDGE       4,       5,     8,     6,         31    \ Edge 14
EDGE       5,       6,     8,     7,         31    \ Edge 15
EDGE       3,       6,     9,     8,         31    \ Edge 16
EDGE       8,       9,     6,     0,         31    \ Edge 17
EDGE      10,      12,     9,     9,         18    \ Edge 18
EDGE      12,      14,     9,     9,          5    \ Edge 19
EDGE      14,      10,     9,     9,         10    \ Edge 20
EDGE      11,      15,     9,     9,         10    \ Edge 21
EDGE      13,      15,     9,     9,          5    \ Edge 22
EDGE      11,      13,     9,     9,         18    \ Edge 23

.SHIP_CONSTRICTOR_FACES

\FACE normal_x, normal_y, normal_z, visibility
FACE        0,       55,       15,         31    \ Face 0
FACE      -24,       75,       20,         31    \ Face 1
FACE       24,       75,       20,         31    \ Face 2
FACE       44,       75,        0,         31    \ Face 3
FACE      -44,       75,        0,         31    \ Face 4
FACE      -44,       75,        0,         31    \ Face 5
FACE        0,       53,        0,         31    \ Face 6
FACE       44,       75,        0,         31    \ Face 7
FACE        0,        0,     -160,         31    \ Face 8
FACE        0,      -27,        0,         31    \ Face 9

Name: SHIP_DRAGON                                             [Show more]
Type: Variable
Category: Drawing ships
Summary: Ship blueprint for a Dragon
Deep dive: Ship blueprints
Context: See this variable on its own page
References: This variable is used as follows:
* ship_list calls SHIP_DRAGON

.SHIP_DRAGON

EQUB 0                 \ Max. canisters on demise = 0
EQUW 26192             \ Targetable area          = 161.83 * 161.83
EQUB LO(SHIP_DRAGON_EDGES - SHIP_DRAGON)          \ Edges data offset (low)
EQUB LO(SHIP_DRAGON_FACES - SHIP_DRAGON)          \ Faces data offset (low)
EQUB 65                \ Max. edge count          = (65 - 1) / 4 = 16
EQUB 0                 \ Gun vertex               = 0
EQUB 60                \ Explosion count          = 13, as (4 * n) + 6 = 60
EQUB 54                \ Number of vertices       = 54 / 6 = 9
EQUB 21                \ Number of edges          = 21
EQUW 0                 \ Bounty                   = 0
EQUB 56                \ Number of faces          = 56 / 4 = 14
EQUB 32                \ Visibility distance      = 32
EQUB 247               \ Max. energy              = 247
EQUB 20                \ Max. speed               = 20
EQUB HI(SHIP_DRAGON_EDGES - SHIP_DRAGON)          \ Edges data offset (high)
EQUB HI(SHIP_DRAGON_FACES - SHIP_DRAGON)          \ Faces data offset (high)
EQUB 0                 \ Normals are scaled by    = 2^0 = 1
EQUB %01000111         \ Laser power              = 8
\ Missiles                 = 7

\VERTEX    x,    y,    z, face1, face2, face3, face4, visibility
VERTEX    0,    0,  250,    11,     6,     5,     0,         31     \ Vertex 0
VERTEX  216,    0,  124,     7,     6,     1,     0,         31     \ Vertex 1
VERTEX  216,    0, -124,     8,     7,     2,     1,         31     \ Vertex 2
VERTEX    0,   40, -250,    13,    12,     3,     2,         31     \ Vertex 3
VERTEX    0,  -40, -250,    13,    12,     9,     8,         31     \ Vertex 4
VERTEX -216,    0, -124,    10,     9,     4,     3,         31     \ Vertex 5
VERTEX -216,    0,  124,    11,    10,     5,     4,         31     \ Vertex 6
VERTEX    0,   80,    0,    15,    15,    15,    15,         31     \ Vertex 7
VERTEX    0,  -80,    0,    15,    15,    15,    15,         31     \ Vertex 8

.SHIP_DRAGON_EDGES

\EDGE vertex1, vertex2, face1, face2, visibility
EDGE       1,       7,     1,     0,         31    \ Edge 0
EDGE       2,       7,     2,     1,         31    \ Edge 1
EDGE       3,       7,     3,     2,         31    \ Edge 2
EDGE       5,       7,     4,     3,         31    \ Edge 3
EDGE       6,       7,     5,     4,         31    \ Edge 4
EDGE       0,       7,     0,     5,         31    \ Edge 5
EDGE       1,       8,     7,     6,         31    \ Edge 6
EDGE       2,       8,     8,     7,         31    \ Edge 7
EDGE       4,       8,     9,     8,         31    \ Edge 8
EDGE       5,       8,    10,     9,         31    \ Edge 9
EDGE       6,       8,    11,    10,         31    \ Edge 10
EDGE       0,       8,     6,    11,         31    \ Edge 11
EDGE       0,       1,     6,     0,         31    \ Edge 12
EDGE       1,       2,     7,     1,         31    \ Edge 13
EDGE       5,       6,    10,     4,         31    \ Edge 14
EDGE       0,       6,    11,     5,         31    \ Edge 15
EDGE       2,       3,    12,     2,         31    \ Edge 16
EDGE       2,       4,    12,     8,         31    \ Edge 17
EDGE       3,       5,    13,     3,         31    \ Edge 18
EDGE       4,       5,    13,     9,         31    \ Edge 19
EDGE       3,       4,    13,    12,         31    \ Edge 20

.SHIP_DRAGON_FACES

\FACE normal_x, normal_y, normal_z, visibility
FACE       16,       90,       28,         31    \ Face 0
FACE       33,       90,        0,         31    \ Face 1
FACE       25,       91,      -14,         31    \ Face 2
FACE      -25,       91,      -14,         31    \ Face 3
FACE      -33,       90,        0,         31    \ Face 4
FACE      -16,       90,       28,         31    \ Face 5
FACE       16,      -90,       28,         31    \ Face 6
FACE       33,      -90,        0,         31    \ Face 7
FACE       25,      -91,      -14,         31    \ Face 8
FACE      -25,      -91,      -14,         31    \ Face 9
FACE      -33,      -90,        0,         31    \ Face 10
FACE      -16,      -90,       28,         31    \ Face 11
FACE       48,        0,      -82,         31    \ Face 12
FACE      -48,        0,      -82,         31    \ Face 13

Name: SHIP_MONITOR                                            [Show more]
Type: Variable
Category: Drawing ships
Summary: Ship blueprint for a Monitor
Deep dive: Ship blueprints
Context: See this variable on its own page
References: This variable is used as follows:
* ship_list calls SHIP_MONITOR

.SHIP_MONITOR

EQUB 4                 \ Max. canisters on demise = 4
EQUW 13824             \ Targetable area          = 117.57 * 117.57
EQUB LO(SHIP_MONITOR_EDGES - SHIP_MONITOR)        \ Edges data offset (low)
EQUB LO(SHIP_MONITOR_FACES - SHIP_MONITOR)        \ Faces data offset (low)
EQUB 101               \ Max. edge count          = (101 - 1) / 4 = 25
EQUB 0                 \ Gun vertex               = 0
EQUB 42                \ Explosion count          = 9, as (4 * n) + 6 = 42
EQUB 102               \ Number of vertices       = 102 / 6 = 17
EQUB 23                \ Number of edges          = 23
EQUW 400               \ Bounty                   = 400
EQUB 44                \ Number of faces          = 44 / 4 = 11
EQUB 40                \ Visibility distance      = 40
EQUB 132               \ Max. energy              = 132
EQUB 16                \ Max. speed               = 16
EQUB HI(SHIP_MONITOR_EDGES - SHIP_MONITOR)        \ Edges data offset (high)
EQUB HI(SHIP_MONITOR_FACES - SHIP_MONITOR)        \ Faces data offset (high)
EQUB 0                 \ Normals are scaled by    = 2^0 = 1
EQUB %00110111         \ Laser power              = 6
\ Missiles                 = 7

\VERTEX    x,    y,    z, face1, face2, face3, face4, visibility
VERTEX    0,   10,  140,    15,    15,    15,    15,         31     \ Vertex 0
VERTEX   20,   40,  -20,     3,     2,     1,     0,         31     \ Vertex 1
VERTEX  -20,   40,  -20,     0,     5,     4,     3,         31     \ Vertex 2
VERTEX   50,    0,   10,     8,     7,     2,     1,         31     \ Vertex 3
VERTEX  -50,    0,   10,     6,     9,     5,     4,         31     \ Vertex 4
VERTEX   30,    4,  -60,    10,    10,     8,     2,         31     \ Vertex 5
VERTEX  -30,    4,  -60,    10,    10,     9,     4,         31     \ Vertex 6
VERTEX   18,   20,  -60,    10,    10,     3,     2,         31     \ Vertex 7
VERTEX  -18,   20,  -60,    10,    10,     4,     3,         31     \ Vertex 8
VERTEX    0,  -20,  -60,    10,    10,     9,     8,         31     \ Vertex 9
VERTEX    0,  -40,   10,     9,     8,     7,     6,         31     \ Vertex 10
VERTEX    0,   34,   10,     0,     0,     0,     0,         10     \ Vertex 11
VERTEX    0,   26,   50,     0,     0,     0,     0,         10     \ Vertex 12
VERTEX   20,  -10,   60,     7,     7,     7,     7,         10     \ Vertex 13
VERTEX   10,    0,  100,     7,     7,     7,     7,         10     \ Vertex 14
VERTEX  -20,  -10,   60,     6,     6,     6,     6,         10     \ Vertex 15
VERTEX  -10,    0,  100,     6,     6,     6,     6,         10     \ Vertex 16

.SHIP_MONITOR_EDGES

\EDGE vertex1, vertex2, face1, face2, visibility
EDGE       0,       1,     1,     0,         31    \ Edge 0
EDGE       1,       3,     2,     1,         31    \ Edge 1
EDGE       1,       7,     3,     2,         31    \ Edge 2
EDGE       2,       8,     4,     3,         31    \ Edge 3
EDGE       2,       4,     5,     4,         31    \ Edge 4
EDGE       0,       2,     0,     5,         31    \ Edge 5
EDGE       1,       2,     3,     0,         31    \ Edge 6
EDGE       0,      10,     7,     6,         31    \ Edge 7
EDGE       3,      10,     8,     7,         31    \ Edge 8
EDGE       9,      10,     9,     8,         31    \ Edge 9
EDGE       4,      10,     6,     9,         31    \ Edge 10
EDGE       0,       3,     7,     1,         31    \ Edge 11
EDGE       3,       5,     8,     2,         31    \ Edge 12
EDGE       6,       4,     9,     4,         31    \ Edge 13
EDGE       4,       0,     6,     5,         31    \ Edge 14
EDGE       7,       5,    10,     2,         31    \ Edge 15
EDGE       8,       7,    10,     3,         31    \ Edge 16
EDGE       8,       6,    10,     4,         31    \ Edge 17
EDGE       5,       9,    10,     8,         31    \ Edge 18
EDGE       6,       9,    10,     9,         31    \ Edge 19
EDGE      11,      12,     0,     0,         10    \ Edge 20
EDGE      13,      14,     7,     7,         10    \ Edge 21
EDGE      15,      16,     6,     6,         10    \ Edge 22

.SHIP_MONITOR_FACES

\FACE normal_x, normal_y, normal_z, visibility
FACE        0,       62,       11,         31    \ Face 0
FACE       44,       43,       13,         31    \ Face 1
FACE       54,       28,      -16,         31    \ Face 2
FACE        0,       57,      -28,         31    \ Face 3
FACE      -54,       28,      -16,         31    \ Face 4
FACE      -44,       43,       13,         31    \ Face 5
FACE      -38,      -47,       18,         31    \ Face 6
FACE       38,      -47,       18,         31    \ Face 7
FACE       39,      -48,      -13,         31    \ Face 8
FACE      -39,      -48,      -13,         31    \ Face 9
FACE        0,        0,      -64,         31    \ Face 10

Name: SHIP_OPHIDIAN                                           [Show more]
Type: Variable
Category: Drawing ships
Summary: Ship blueprint for an Ophidian
Deep dive: Ship blueprints
Context: See this variable on its own page
References: This variable is used as follows:
* ship_list calls SHIP_OPHIDIAN

.SHIP_OPHIDIAN

EQUB 2                 \ Max. canisters on demise = 2
EQUW 3720              \ Targetable area          = 60.99 * 60.99
EQUB LO(SHIP_OPHIDIAN_EDGES - SHIP_OPHIDIAN)      \ Edges data offset (low)
EQUB LO(SHIP_OPHIDIAN_FACES - SHIP_OPHIDIAN)      \ Faces data offset (low)
EQUB 113               \ Max. edge count          = (113 - 1) / 4 = 28
EQUB 0                 \ Gun vertex               = 0
EQUB 60                \ Explosion count          = 13, as (4 * n) + 6 = 60
EQUB 120               \ Number of vertices       = 120 / 6 = 20
EQUB 30                \ Number of edges          = 30
EQUW 50                \ Bounty                   = 50
EQUB 48                \ Number of faces          = 48 / 4 = 12
EQUB 20                \ Visibility distance      = 20
EQUB 64                \ Max. energy              = 64
EQUB 34                \ Max. speed               = 34
EQUB HI(SHIP_OPHIDIAN_EDGES - SHIP_OPHIDIAN)      \ Edges data offset (high)
EQUB HI(SHIP_OPHIDIAN_FACES - SHIP_OPHIDIAN)      \ Faces data offset (high)
EQUB 1                 \ Normals are scaled by    = 2^1 = 2
EQUB %00011010         \ Laser power              = 3
\ Missiles                 = 2

\VERTEX    x,    y,    z, face1, face2, face3, face4, visibility
VERTEX  -20,    0,   70,     8,     6,     2,     0,         31     \ Vertex 0
VERTEX   20,    0,   70,     7,     6,     1,     0,         31     \ Vertex 1
VERTEX    0,   10,   40,     2,     2,     1,     0,         31     \ Vertex 2
VERTEX  -30,    0,   30,    10,     8,     4,     2,         31     \ Vertex 3
VERTEX   30,    0,   30,     9,     7,     3,     1,         31     \ Vertex 4
VERTEX    0,   16,   10,    15,    15,    15,    15,         31     \ Vertex 5
VERTEX   20,   10,  -50,    11,     9,     5,     3,         31     \ Vertex 6
VERTEX  -20,   10,  -50,    11,    10,     5,     4,         31     \ Vertex 7
VERTEX  -30,    0,  -50,    11,    11,    10,     4,         31     \ Vertex 8
VERTEX  -40,    0,  -50,    15,    15,    15,    15,         16     \ Vertex 9
VERTEX  -30,    0,  -30,    15,    15,    15,    15,         16     \ Vertex 10
VERTEX   30,    0,  -50,    11,    11,     9,     3,         31     \ Vertex 11
VERTEX   40,    0,  -50,    15,    15,    15,    15,         16     \ Vertex 12
VERTEX   30,    0,  -30,    15,    15,    15,    15,         16     \ Vertex 13
VERTEX    0,  -10,  -50,    11,    11,    10,     9,         31     \ Vertex 14
VERTEX    0,  -16,   20,    15,    15,    15,    15,         31     \ Vertex 15
VERTEX   10,    4,  -50,    11,    11,    11,    11,         16     \ Vertex 16
VERTEX   10,   -2,  -50,    11,    11,    11,    11,         16     \ Vertex 17
VERTEX  -10,   -2,  -50,    11,    11,    11,    11,         16     \ Vertex 18
VERTEX  -10,    4,  -50,    11,    11,    11,    11,         16     \ Vertex 19

.SHIP_OPHIDIAN_EDGES

\EDGE vertex1, vertex2, face1, face2, visibility
EDGE       0,       1,     6,     0,         31    \ Edge 0
EDGE       1,       2,     1,     0,         31    \ Edge 1
EDGE       0,       2,     2,     0,         31    \ Edge 2
EDGE       2,       5,     2,     1,         31    \ Edge 3
EDGE       4,       5,     3,     1,         31    \ Edge 4
EDGE       3,       5,     4,     2,         31    \ Edge 5
EDGE       5,       6,     5,     3,         31    \ Edge 6
EDGE       5,       7,     5,     4,         31    \ Edge 7
EDGE       0,       3,     8,     2,         31    \ Edge 8
EDGE       1,       4,     7,     1,         31    \ Edge 9
EDGE       4,      11,     9,     3,         31    \ Edge 10
EDGE       3,       8,    10,     4,         31    \ Edge 11
EDGE       1,      15,     7,     6,         31    \ Edge 12
EDGE       0,      15,     8,     6,         31    \ Edge 13
EDGE       4,      15,     9,     7,         31    \ Edge 14
EDGE       3,      15,    10,     8,         31    \ Edge 15
EDGE      14,      15,    10,     9,         31    \ Edge 16
EDGE       6,       7,    11,     5,         31    \ Edge 17
EDGE       6,      11,    11,     3,         31    \ Edge 18
EDGE       7,       8,    11,     4,         31    \ Edge 19
EDGE      11,      14,    11,     9,         31    \ Edge 20
EDGE       8,      14,    11,    10,         31    \ Edge 21
EDGE      16,      17,    11,    11,         16    \ Edge 22
EDGE      17,      18,    11,    11,         16    \ Edge 23
EDGE      18,      19,    11,    11,         16    \ Edge 24
EDGE      19,      16,    11,    11,         16    \ Edge 25
EDGE      12,      13,     9,     3,         16    \ Edge 26
EDGE      11,      12,     9,     3,         16    \ Edge 27
EDGE      10,       9,    10,     4,         16    \ Edge 28
EDGE       9,       8,    10,     4,         16    \ Edge 29

.SHIP_OPHIDIAN_FACES

\FACE normal_x, normal_y, normal_z, visibility
FACE        0,       37,       12,         31    \ Face 0
FACE       11,       28,        5,         31    \ Face 1
FACE      -11,       28,        5,         31    \ Face 2
FACE       16,       34,        2,         31    \ Face 3
FACE      -16,       34,        2,         31    \ Face 4
FACE        0,       37,       -3,         31    \ Face 5
FACE        0,      -31,       10,         31    \ Face 6
FACE       10,      -20,        2,         31    \ Face 7
FACE      -10,      -20,        2,         31    \ Face 8
FACE       18,      -32,       -2,         31    \ Face 9
FACE      -18,      -32,       -2,         31    \ Face 10
FACE        0,        0,      -37,         31    \ Face 11

Name: SHIP_GHAVIAL                                            [Show more]
Type: Variable
Category: Drawing ships
Summary: Ship blueprint for a Ghavial
Deep dive: Ship blueprints
Context: See this variable on its own page
References: This variable is used as follows:
* ship_list calls SHIP_GHAVIAL

.SHIP_GHAVIAL

EQUB 3                 \ Max. canisters on demise = 3
EQUW 9728              \ Targetable area          = 98.63 * 98.63
EQUB LO(SHIP_GHAVIAL_EDGES - SHIP_GHAVIAL)        \ Edges data offset (low)
EQUB LO(SHIP_GHAVIAL_FACES - SHIP_GHAVIAL)        \ Faces data offset (low)
EQUB 97                \ Max. edge count          = (97 - 1) / 4 = 24
EQUB 0                 \ Gun vertex               = 0
EQUB 34                \ Explosion count          = 7, as (4 * n) + 6 = 34
EQUB 72                \ Number of vertices       = 72 / 6 = 12
EQUB 22                \ Number of edges          = 22
EQUW 100               \ Bounty                   = 100
EQUB 48                \ Number of faces          = 48 / 4 = 12
EQUB 10                \ Visibility distance      = 10
EQUB 114               \ Max. energy              = 114
EQUB 16                \ Max. speed               = 16
EQUB HI(SHIP_GHAVIAL_EDGES - SHIP_GHAVIAL)        \ Edges data offset (high)
EQUB HI(SHIP_GHAVIAL_FACES - SHIP_GHAVIAL)        \ Faces data offset (high)
EQUB 0                 \ Normals are scaled by    = 2^0 = 1
EQUB %00100111         \ Laser power              = 4
\ Missiles                 = 7

\VERTEX    x,    y,    z, face1, face2, face3, face4, visibility
VERTEX   30,    0,  100,     7,     6,     1,     0,         31     \ Vertex 0
VERTEX  -30,    0,  100,    11,     6,     5,     0,         31     \ Vertex 1
VERTEX   40,   30,  -26,     3,     2,     1,     0,         31     \ Vertex 2
VERTEX  -40,   30,  -26,     5,     4,     3,     0,         31     \ Vertex 3
VERTEX   60,    0,  -20,     8,     7,     2,     1,         31     \ Vertex 4
VERTEX   40,    0,  -60,     9,     8,     3,     2,         31     \ Vertex 5
VERTEX  -60,    0,  -20,    11,    10,     5,     4,         31     \ Vertex 6
VERTEX  -40,    0,  -60,    10,     9,     4,     3,         31     \ Vertex 7
VERTEX    0,  -30,  -20,    15,    15,    15,    15,         31     \ Vertex 8
VERTEX   10,   24,    0,     0,     0,     0,     0,          9     \ Vertex 9
VERTEX  -10,   24,    0,     0,     0,     0,     0,          9     \ Vertex 10
VERTEX    0,   22,   10,     0,     0,     0,     0,          9     \ Vertex 11

.SHIP_GHAVIAL_EDGES

\EDGE vertex1, vertex2, face1, face2, visibility
EDGE       0,       2,     1,     0,         31    \ Edge 0
EDGE       4,       2,     2,     1,         31    \ Edge 1
EDGE       5,       2,     3,     2,         31    \ Edge 2
EDGE       3,       2,     0,     3,         31    \ Edge 3
EDGE       7,       3,     4,     3,         31    \ Edge 4
EDGE       6,       3,     5,     4,         31    \ Edge 5
EDGE       3,       1,     0,     5,         31    \ Edge 6
EDGE       0,       8,     7,     6,         31    \ Edge 7
EDGE       4,       8,     8,     7,         31    \ Edge 8
EDGE       5,       8,     9,     8,         31    \ Edge 9
EDGE       7,       8,    10,     9,         31    \ Edge 10
EDGE       6,       8,    11,    10,         31    \ Edge 11
EDGE       1,       8,     6,    11,         31    \ Edge 12
EDGE       1,       0,     6,     0,         31    \ Edge 13
EDGE       0,       4,     7,     1,         31    \ Edge 14
EDGE       4,       5,     8,     2,         31    \ Edge 15
EDGE       5,       7,     9,     3,         31    \ Edge 16
EDGE       7,       6,    10,     4,         31    \ Edge 17
EDGE       6,       1,    11,     5,         31    \ Edge 18
EDGE       9,      10,     0,     0,          9    \ Edge 19
EDGE      10,      11,     0,     0,          9    \ Edge 20
EDGE      11,       9,     0,     0,          9    \ Edge 21

.SHIP_GHAVIAL_FACES

\FACE normal_x, normal_y, normal_z, visibility
FACE        0,       62,       14,         31    \ Face 0
FACE       51,       36,       12,         31    \ Face 1
FACE       51,       28,      -25,         31    \ Face 2
FACE        0,       48,      -42,         31    \ Face 3
FACE      -51,       28,      -25,         31    \ Face 4
FACE      -51,       36,       12,         31    \ Face 5
FACE        0,      -62,       15,         31    \ Face 6
FACE       28,      -56,        7,         31    \ Face 7
FACE       27,      -55,      -13,         31    \ Face 8
FACE        0,      -51,      -38,         31    \ Face 9
FACE      -27,      -55,      -13,         31    \ Face 10
FACE      -28,      -56,        7,         31    \ Face 11

Name: SHIP_BUSHMASTER                                         [Show more]
Type: Variable
Category: Drawing ships
Summary: Ship blueprint for a Bushmaster
Deep dive: Ship blueprints
Context: See this variable on its own page
References: This variable is used as follows:
* ship_list calls SHIP_BUSHMASTER

.SHIP_BUSHMASTER

EQUB 0                 \ Max. canisters on demise = 0
EQUW 4250              \ Targetable area          = 65.19 * 65.19
EQUB LO(SHIP_BUSHMASTER_EDGES - SHIP_BUSHMASTER)  \ Edges data offset (low)
EQUB LO(SHIP_BUSHMASTER_FACES - SHIP_BUSHMASTER)  \ Faces data offset (low)
EQUB 81                \ Max. edge count          = (81 - 1) / 4 = 20
EQUB 0                 \ Gun vertex               = 0
EQUB 30                \ Explosion count          = 6, as (4 * n) + 6 = 30
EQUB 72                \ Number of vertices       = 72 / 6 = 12
EQUB 19                \ Number of edges          = 19
EQUW 150               \ Bounty                   = 150
EQUB 36                \ Number of faces          = 36 / 4 = 9
EQUB 20                \ Visibility distance      = 20
EQUB 74                \ Max. energy              = 74
EQUB 35                \ Max. speed               = 35
EQUB HI(SHIP_BUSHMASTER_EDGES - SHIP_BUSHMASTER)  \ Edges data offset (high)
EQUB HI(SHIP_BUSHMASTER_FACES - SHIP_BUSHMASTER)  \ Faces data offset (high)
EQUB 2                 \ Normals are scaled by    = 2^2 = 4
EQUB %00100001         \ Laser power              = 4
\ Missiles                 = 1

\VERTEX    x,    y,    z, face1, face2, face3, face4, visibility
VERTEX    0,    0,   60,     3,     2,     1,     0,         31     \ Vertex 0
VERTEX   50,    0,   20,     7,     5,     3,     1,         31     \ Vertex 1
VERTEX  -50,    0,   20,     6,     4,     2,     0,         31     \ Vertex 2
VERTEX    0,   20,    0,     5,     4,     1,     0,         31     \ Vertex 3
VERTEX    0,  -20,  -40,    15,    15,    15,    15,         31     \ Vertex 4
VERTEX    0,   14,  -40,     8,     8,     5,     4,         31     \ Vertex 5
VERTEX   40,    0,  -40,     8,     8,     7,     5,         31     \ Vertex 6
VERTEX  -40,    0,  -40,     8,     8,     6,     4,         31     \ Vertex 7
VERTEX    0,    4,  -40,     8,     8,     8,     8,         10     \ Vertex 8
VERTEX   10,    0,  -40,     8,     8,     8,     8,         10     \ Vertex 9
VERTEX    0,   -4,  -40,     8,     8,     8,     8,         10     \ Vertex 10
VERTEX  -10,    0,  -40,     8,     8,     8,     8,         10     \ Vertex 11

.SHIP_BUSHMASTER_EDGES

\EDGE vertex1, vertex2, face1, face2, visibility
EDGE       0,       1,     3,     1,         31    \ Edge 0
EDGE       0,       2,     2,     0,         31    \ Edge 1
EDGE       0,       3,     1,     0,         31    \ Edge 2
EDGE       0,       4,     3,     2,         31    \ Edge 3
EDGE       3,       5,     5,     4,         31    \ Edge 4
EDGE       2,       3,     4,     0,         31    \ Edge 5
EDGE       1,       3,     5,     1,         31    \ Edge 6
EDGE       2,       7,     6,     4,         31    \ Edge 7
EDGE       1,       6,     7,     5,         31    \ Edge 8
EDGE       2,       4,     6,     2,         31    \ Edge 9
EDGE       1,       4,     7,     3,         31    \ Edge 10
EDGE       5,       7,     8,     4,         31    \ Edge 11
EDGE       5,       6,     8,     5,         31    \ Edge 12
EDGE       4,       7,     8,     6,         31    \ Edge 13
EDGE       4,       6,     8,     7,         31    \ Edge 14
EDGE       8,       9,     8,     8,         10    \ Edge 15
EDGE       9,      10,     8,     8,         10    \ Edge 16
EDGE      10,      11,     8,     8,         10    \ Edge 17
EDGE      11,       8,     8,     8,         10    \ Edge 18

.SHIP_BUSHMASTER_FACES

\FACE normal_x, normal_y, normal_z, visibility
FACE      -23,       88,       29,         31    \ Face 0
FACE       23,       88,       29,         31    \ Face 1
FACE      -14,      -93,       18,         31    \ Face 2
FACE       14,      -93,       18,         31    \ Face 3
FACE      -31,       89,      -13,         31    \ Face 4
FACE       31,       89,      -13,         31    \ Face 5
FACE      -42,      -85,       -7,         31    \ Face 6
FACE       42,      -85,       -7,         31    \ Face 7
FACE        0,        0,      -96,         31    \ Face 8

Name: SHIP_RATTLER                                            [Show more]
Type: Variable
Category: Drawing ships
Summary: Ship blueprint for a Rattler
Deep dive: Ship blueprints
Context: See this variable on its own page
References: This variable is used as follows:
* ship_list calls SHIP_RATTLER

.SHIP_RATTLER

EQUB 2                 \ Max. canisters on demise = 2
EQUW 6000              \ Targetable area          = 77.46 * 77.46
EQUB LO(SHIP_RATTLER_EDGES - SHIP_RATTLER)        \ Edges data offset (low)
EQUB LO(SHIP_RATTLER_FACES - SHIP_RATTLER)        \ Faces data offset (low)
EQUB 89                \ Max. edge count          = (89 - 1) / 4 = 22
EQUB 0                 \ Gun vertex               = 0
EQUB 42                \ Explosion count          = 9, as (4 * n) + 6 = 42
EQUB 90                \ Number of vertices       = 90 / 6 = 15
EQUB 26                \ Number of edges          = 26
EQUW 150               \ Bounty                   = 150
EQUB 52                \ Number of faces          = 52 / 4 = 13
EQUB 10                \ Visibility distance      = 10
EQUB 113               \ Max. energy              = 113
EQUB 31                \ Max. speed               = 31
EQUB HI(SHIP_RATTLER_EDGES - SHIP_RATTLER)        \ Edges data offset (high)
EQUB HI(SHIP_RATTLER_FACES - SHIP_RATTLER)        \ Faces data offset (high)
EQUB 1                 \ Normals are scaled by    = 2^1 = 2
EQUB %00100010         \ Laser power              = 4
\ Missiles                 = 2

\VERTEX    x,    y,    z, face1, face2, face3, face4, visibility
VERTEX    0,    0,   60,     9,     8,     3,     2,         31     \ Vertex 0
VERTEX   40,    0,   40,    10,     9,     4,     3,         31     \ Vertex 1
VERTEX  -40,    0,   40,     8,     7,     2,     1,         31     \ Vertex 2
VERTEX   60,    0,    0,    11,    10,     5,     4,         31     \ Vertex 3
VERTEX  -60,    0,    0,     7,     6,     1,     0,         31     \ Vertex 4
VERTEX   70,    0,  -40,    12,    12,    11,     5,         31     \ Vertex 5
VERTEX  -70,    0,  -40,    12,    12,     6,     0,         31     \ Vertex 6
VERTEX    0,   20,  -40,    15,    15,    15,    15,         31     \ Vertex 7
VERTEX    0,  -20,  -40,    15,    15,    15,    15,         31     \ Vertex 8
VERTEX  -10,    6,  -40,    12,    12,    12,    12,         10     \ Vertex 9
VERTEX  -10,   -6,  -40,    12,    12,    12,    12,         10     \ Vertex 10
VERTEX  -20,    0,  -40,    12,    12,    12,    12,         10     \ Vertex 11
VERTEX   10,    6,  -40,    12,    12,    12,    12,         10     \ Vertex 12
VERTEX   10,   -6,  -40,    12,    12,    12,    12,         10     \ Vertex 13
VERTEX   20,    0,  -40,    12,    12,    12,    12,         10     \ Vertex 14

.SHIP_RATTLER_EDGES

\EDGE vertex1, vertex2, face1, face2, visibility
EDGE       4,       6,     6,     0,         31    \ Edge 0
EDGE       2,       4,     7,     1,         31    \ Edge 1
EDGE       0,       2,     8,     2,         31    \ Edge 2
EDGE       0,       1,     9,     3,         31    \ Edge 3
EDGE       1,       3,    10,     4,         31    \ Edge 4
EDGE       3,       5,    11,     5,         31    \ Edge 5
EDGE       6,       7,    12,     0,         31    \ Edge 6
EDGE       6,       8,    12,     6,         31    \ Edge 7
EDGE       4,       7,     1,     0,         31    \ Edge 8
EDGE       4,       8,     7,     6,         31    \ Edge 9
EDGE       2,       7,     2,     1,         31    \ Edge 10
EDGE       2,       8,     8,     7,         31    \ Edge 11
EDGE       0,       7,     3,     2,         31    \ Edge 12
EDGE       0,       8,     9,     8,         31    \ Edge 13
EDGE       1,       7,     4,     3,         31    \ Edge 14
EDGE       1,       8,    10,     9,         31    \ Edge 15
EDGE       3,       7,     5,     4,         31    \ Edge 16
EDGE       3,       8,    11,    10,         31    \ Edge 17
EDGE       5,       7,    12,     5,         31    \ Edge 18
EDGE       5,       8,    12,    11,         31    \ Edge 19
EDGE       9,      10,    12,    12,         10    \ Edge 20
EDGE      10,      11,    12,    12,         10    \ Edge 21
EDGE      11,       9,    12,    12,         10    \ Edge 22
EDGE      12,      13,    12,    12,         10    \ Edge 23
EDGE      13,      14,    12,    12,         10    \ Edge 24
EDGE      14,      12,    12,    12,         10    \ Edge 25

.SHIP_RATTLER_FACES

\FACE normal_x, normal_y, normal_z, visibility
FACE      -26,       92,        6,         31    \ Face 0
FACE      -23,       92,       11,         31    \ Face 1
FACE       -9,       93,       18,         31    \ Face 2
FACE        9,       93,       18,         31    \ Face 3
FACE       23,       92,       11,         31    \ Face 4
FACE       26,       92,        6,         31    \ Face 5
FACE      -26,      -92,        6,         31    \ Face 6
FACE      -23,      -92,       11,         31    \ Face 7
FACE       -9,      -93,       18,         31    \ Face 8
FACE        9,      -93,       18,         31    \ Face 9
FACE       23,      -92,       11,         31    \ Face 10
FACE       26,      -92,        6,         31    \ Face 11
FACE        0,        0,      -96,         31    \ Face 12

Name: SHIP_IGUANA                                             [Show more]
Type: Variable
Category: Drawing ships
Summary: Ship blueprint for an Iguana
Deep dive: Ship blueprints
Context: See this variable on its own page
References: This variable is used as follows:
* ship_list calls SHIP_IGUANA

.SHIP_IGUANA

EQUB 1                 \ Max. canisters on demise = 1
EQUW 3500              \ Targetable area          = 59.16 * 59.16
EQUB LO(SHIP_IGUANA_EDGES - SHIP_IGUANA)          \ Edges data offset (low)
EQUB LO(SHIP_IGUANA_FACES - SHIP_IGUANA)          \ Faces data offset (low)
EQUB 81                \ Max. edge count          = (81 - 1) / 4 = 20
EQUB 0                 \ Gun vertex               = 0
EQUB 26                \ Explosion count          = 5, as (4 * n) + 6 = 26
EQUB 90                \ Number of vertices       = 90 / 6 = 15
EQUB 23                \ Number of edges          = 23
EQUW 150               \ Bounty                   = 150
EQUB 40                \ Number of faces          = 40 / 4 = 10
EQUB 10                \ Visibility distance      = 10
EQUB 90                \ Max. energy              = 90
EQUB 33                \ Max. speed               = 33
EQUB HI(SHIP_IGUANA_EDGES - SHIP_IGUANA)          \ Edges data offset (high)
EQUB HI(SHIP_IGUANA_FACES - SHIP_IGUANA)          \ Faces data offset (high)
EQUB 1                 \ Normals are scaled by    = 2^1 = 2
EQUB %00100011         \ Laser power              = 4
\ Missiles                 = 3

\VERTEX    x,    y,    z, face1, face2, face3, face4, visibility
VERTEX    0,    0,   90,     3,     2,     1,     0,         31     \ Vertex 0
VERTEX    0,   20,   30,     6,     4,     2,     0,         31     \ Vertex 1
VERTEX  -40,    0,   10,     5,     4,     1,     0,         31     \ Vertex 2
VERTEX    0,  -20,   30,     7,     5,     3,     1,         31     \ Vertex 3
VERTEX   40,    0,   10,     7,     6,     3,     2,         31     \ Vertex 4
VERTEX    0,   20,  -40,     9,     8,     6,     4,         31     \ Vertex 5
VERTEX  -40,    0,  -30,     8,     8,     5,     4,         31     \ Vertex 6
VERTEX    0,  -20,  -40,     9,     8,     7,     5,         31     \ Vertex 7
VERTEX   40,    0,  -30,     9,     9,     7,     6,         31     \ Vertex 8
VERTEX  -40,    0,   40,     1,     1,     0,     0,         30     \ Vertex 9
VERTEX   40,    0,   40,     3,     3,     2,     2,         30     \ Vertex 10
VERTEX    0,    8,  -40,     9,     9,     8,     8,         10     \ Vertex 11
VERTEX  -16,    0,  -36,     8,     8,     8,     8,         10     \ Vertex 12
VERTEX    0,   -8,  -40,     9,     9,     8,     8,         10     \ Vertex 13
VERTEX   16,    0,  -36,     9,     9,     9,     9,         10     \ Vertex 14

.SHIP_IGUANA_EDGES

\EDGE vertex1, vertex2, face1, face2, visibility
EDGE       0,       1,     2,     0,         31    \ Edge 0
EDGE       0,       2,     1,     0,         31    \ Edge 1
EDGE       0,       3,     3,     1,         31    \ Edge 2
EDGE       0,       4,     3,     2,         31    \ Edge 3
EDGE       1,       5,     6,     4,         31    \ Edge 4
EDGE       2,       6,     5,     4,         31    \ Edge 5
EDGE       3,       7,     7,     5,         31    \ Edge 6
EDGE       4,       8,     7,     6,         31    \ Edge 7
EDGE       5,       6,     8,     4,         31    \ Edge 8
EDGE       6,       7,     8,     5,         31    \ Edge 9
EDGE       5,       8,     9,     6,         31    \ Edge 10
EDGE       7,       8,     9,     7,         31    \ Edge 11
EDGE       1,       2,     4,     0,         31    \ Edge 12
EDGE       2,       3,     5,     1,         31    \ Edge 13
EDGE       1,       4,     6,     2,         31    \ Edge 14
EDGE       3,       4,     7,     3,         31    \ Edge 15
EDGE       5,       7,     9,     8,         31    \ Edge 16
EDGE       2,       9,     1,     0,         30    \ Edge 17
EDGE       4,      10,     3,     2,         30    \ Edge 18
EDGE      11,      12,     8,     8,         10    \ Edge 19
EDGE      13,      12,     8,     8,         10    \ Edge 20
EDGE      11,      14,     9,     9,         10    \ Edge 21
EDGE      13,      14,     9,     9,         10    \ Edge 22

.SHIP_IGUANA_FACES

\FACE normal_x, normal_y, normal_z, visibility
FACE      -51,       77,       25,         31    \ Face 0
FACE      -51,      -77,       25,         31    \ Face 1
FACE       51,       77,       25,         31    \ Face 2
FACE       51,      -77,       25,         31    \ Face 3
FACE      -42,       85,        0,         31    \ Face 4
FACE      -42,      -85,        0,         31    \ Face 5
FACE       42,       85,        0,         31    \ Face 6
FACE       42,      -85,        0,         31    \ Face 7
FACE      -23,        0,      -93,         31    \ Face 8
FACE       23,        0,      -93,         31    \ Face 9

Name: SHIP_SHUTTLE_MK_2                                       [Show more]
Type: Variable
Category: Drawing ships
Summary: Ship blueprint for a Shuttle Mk II
Deep dive: Ship blueprints
Context: See this variable on its own page
References: This variable is used as follows:
* ship_list calls SHIP_SHUTTLE_MK_2

.SHIP_SHUTTLE_MK_2

EQUB 15                \ Max. canisters on demise = 15
EQUW 50 * 50           \ Targetable area          = 50 * 50
EQUB LO(SHIP_SHUTTLE_MK_2_EDGES - SHIP_SHUTTLE_MK_2) \ Edges data offset (low)
EQUB LO(SHIP_SHUTTLE_MK_2_FACES - SHIP_SHUTTLE_MK_2) \ Faces data offset (low)
EQUB 89                \ Max. edge count          = (89 - 1) / 4 = 22
EQUB 0                 \ Gun vertex               = 0
EQUB 38                \ Explosion count          = 8, as (4 * n) + 6 = 38
EQUB 102               \ Number of vertices       = 102 / 6 = 17
EQUB 28                \ Number of edges          = 28
EQUW 0                 \ Bounty                   = 0
EQUB 52                \ Number of faces          = 52 / 4 = 13
EQUB 10                \ Visibility distance      = 10
EQUB 32                \ Max. energy              = 32
EQUB 9                 \ Max. speed               = 9
EQUB HI(SHIP_SHUTTLE_MK_2_EDGES - SHIP_SHUTTLE_MK_2) \ Edges data offset (high)
EQUB HI(SHIP_SHUTTLE_MK_2_FACES - SHIP_SHUTTLE_MK_2) \ Faces data offset (high)
EQUB 2                 \ Normals are scaled by    = 2^2 = 4
EQUB %00000000         \ Laser power              = 0
\ Missiles                 = 0

\VERTEX    x,    y,    z, face1, face2, face3, face4, visibility
VERTEX    0,    0,   40,     3,     2,     1,     0,         31     \ Vertex 0
VERTEX    0,   20,   30,     4,     3,     0,     0,         31     \ Vertex 1
VERTEX  -20,    0,   30,     5,     1,     0,     0,         31     \ Vertex 2
VERTEX    0,  -20,   30,     6,     2,     1,     1,         31     \ Vertex 3
VERTEX   20,    0,   30,     7,     3,     2,     2,         31     \ Vertex 4
VERTEX  -20,   20,   20,     8,     5,     4,     0,         31     \ Vertex 5
VERTEX  -20,  -20,   20,     9,     6,     5,     1,         31     \ Vertex 6
VERTEX   20,  -20,   20,    10,     7,     6,     2,         31     \ Vertex 7
VERTEX   20,   20,   20,    11,     7,     4,     3,         31     \ Vertex 8
VERTEX    0,   20,  -40,    12,    11,     8,     4,         31     \ Vertex 9
VERTEX  -20,    0,  -40,    12,     9,     8,     5,         31     \ Vertex 10
VERTEX    0,  -20,  -40,    12,    10,     9,     6,         31     \ Vertex 11
VERTEX   20,    0,  -40,    12,    11,    10,     7,         31     \ Vertex 12
VERTEX   -4,    4,  -40,    12,    12,    12,    12,         10     \ Vertex 13
VERTEX   -4,   -4,  -40,    12,    12,    12,    12,         10     \ Vertex 14
VERTEX    4,   -4,  -40,    12,    12,    12,    12,         10     \ Vertex 15
VERTEX    4,    4,  -40,    12,    12,    12,    12,         10     \ Vertex 16

.SHIP_SHUTTLE_MK_2_EDGES

\EDGE vertex1, vertex2, face1, face2, visibility
EDGE       0,       2,     1,     0,         31    \ Edge 0
EDGE       0,       3,     2,     1,         31    \ Edge 1
EDGE       0,       4,     3,     2,         31    \ Edge 2
EDGE       0,       1,     0,     3,         31    \ Edge 3
EDGE       1,       5,     4,     0,         31    \ Edge 4
EDGE       2,       5,     5,     0,         31    \ Edge 5
EDGE       2,       6,     5,     1,         31    \ Edge 6
EDGE       3,       6,     6,     1,         31    \ Edge 7
EDGE       3,       7,     6,     2,         31    \ Edge 8
EDGE       4,       7,     7,     2,         31    \ Edge 9
EDGE       4,       8,     7,     3,         31    \ Edge 10
EDGE       1,       8,     4,     3,         31    \ Edge 11
EDGE       5,       9,     8,     4,         31    \ Edge 12
EDGE       5,      10,     8,     5,         31    \ Edge 13
EDGE       6,      10,     9,     5,         31    \ Edge 14
EDGE       6,      11,     9,     6,         31    \ Edge 15
EDGE       7,      11,    10,     6,         31    \ Edge 16
EDGE       7,      12,    10,     7,         31    \ Edge 17
EDGE       8,      12,    11,     7,         31    \ Edge 18
EDGE       8,       9,    11,     4,         31    \ Edge 19
EDGE       9,      10,    12,     8,         31    \ Edge 20
EDGE      10,      11,    12,     9,         31    \ Edge 21
EDGE      11,      12,    12,    10,         31    \ Edge 22
EDGE      12,       9,    12,    11,         31    \ Edge 23
EDGE      13,      14,    12,    12,         10    \ Edge 24
EDGE      14,      15,    12,    12,         10    \ Edge 25
EDGE      15,      16,    12,    12,         10    \ Edge 26
EDGE      16,      13,    12,    12,         10    \ Edge 27

.SHIP_SHUTTLE_MK_2_FACES

\FACE normal_x, normal_y, normal_z, visibility
FACE      -39,       39,       78,         31    \ Face 0
FACE      -39,      -39,       78,         31    \ Face 1
FACE       39,      -39,       78,         31    \ Face 2
FACE       39,       39,       78,         31    \ Face 3
FACE        0,       96,        0,         31    \ Face 4
FACE      -96,        0,        0,         31    \ Face 5
FACE        0,      -96,        0,         31    \ Face 6
FACE       96,        0,        0,         31    \ Face 7
FACE      -66,       66,      -22,         31    \ Face 8
FACE      -66,      -66,      -22,         31    \ Face 9
FACE       66,      -66,      -22,         31    \ Face 10
FACE       66,       66,      -22,         31    \ Face 11
FACE        0,        0,      -96,         31    \ Face 12

Name: SHIP_CHAMELEON                                          [Show more]
Type: Variable
Category: Drawing ships
Summary: Ship blueprint for a Chameleon
Deep dive: Ship blueprints
Context: See this variable on its own page
References: This variable is used as follows:
* ship_list calls SHIP_CHAMELEON

.SHIP_CHAMELEON

EQUB 3                 \ Max. canisters on demise = 3
EQUW 4000              \ Targetable area          = 63.24 * 63.24
EQUB LO(SHIP_CHAMELEON_EDGES - SHIP_CHAMELEON)    \ Edges data offset (low)
EQUB LO(SHIP_CHAMELEON_FACES - SHIP_CHAMELEON)    \ Faces data offset (low)
EQUB 89                \ Max. edge count          = (89 - 1) / 4 = 22
EQUB 0                 \ Gun vertex               = 0
EQUB 26                \ Explosion count          = 5, as (4 * n) + 6 = 26
EQUB 108               \ Number of vertices       = 108 / 6 = 18
EQUB 29                \ Number of edges          = 29
EQUW 200               \ Bounty                   = 200
EQUB 52                \ Number of faces          = 52 / 4 = 13
EQUB 10                \ Visibility distance      = 10
EQUB 100               \ Max. energy              = 100
EQUB 29                \ Max. speed               = 29
EQUB HI(SHIP_CHAMELEON_EDGES - SHIP_CHAMELEON)    \ Edges data offset (high)
EQUB HI(SHIP_CHAMELEON_FACES - SHIP_CHAMELEON)    \ Faces data offset (high)
EQUB 1                 \ Normals are scaled by    = 2^1 = 2
EQUB %00100011         \ Laser power              = 4
\ Missiles                 = 3

\VERTEX    x,    y,    z, face1, face2, face3, face4, visibility
VERTEX  -18,    0,  110,     5,     2,     1,     0,         31     \ Vertex 0
VERTEX   18,    0,  110,     4,     3,     1,     0,         31     \ Vertex 1
VERTEX  -40,    0,    0,    11,     8,     5,     2,         31     \ Vertex 2
VERTEX   -8,   24,    0,     8,     6,     2,     2,         31     \ Vertex 3
VERTEX    8,   24,    0,     9,     6,     3,     3,         31     \ Vertex 4
VERTEX   40,    0,    0,    10,     9,     4,     3,         31     \ Vertex 5
VERTEX    8,  -24,    0,    10,     7,     4,     4,         31     \ Vertex 6
VERTEX   -8,  -24,    0,    11,     7,     5,     5,         31     \ Vertex 7
VERTEX    0,   24,   40,     6,     3,     2,     0,         31     \ Vertex 8
VERTEX    0,  -24,   40,     7,     5,     4,     1,         31     \ Vertex 9
VERTEX  -32,    0,  -40,    12,    11,     8,     8,         31     \ Vertex 10
VERTEX    0,   24,  -40,    12,     9,     8,     6,         31     \ Vertex 11
VERTEX   32,    0,  -40,    12,    10,     9,     9,         31     \ Vertex 12
VERTEX    0,  -24,  -40,    12,    11,    10,     7,         31     \ Vertex 13
VERTEX   -8,    0,  -40,    12,    12,    12,    12,         10     \ Vertex 14
VERTEX    0,    8,  -40,    12,    12,    12,    12,         10     \ Vertex 15
VERTEX    8,    0,  -40,    12,    12,    12,    12,         10     \ Vertex 16
VERTEX    0,   -8,  -40,    12,    12,    12,    12,         10     \ Vertex 17

.SHIP_CHAMELEON_EDGES

\EDGE vertex1, vertex2, face1, face2, visibility
EDGE       0,       1,     1,     0,         31    \ Edge 0
EDGE       0,       8,     2,     0,         31    \ Edge 1
EDGE       0,       9,     5,     1,         31    \ Edge 2
EDGE       1,       8,     3,     0,         31    \ Edge 3
EDGE       1,       9,     4,     1,         31    \ Edge 4
EDGE       1,       5,     4,     3,         31    \ Edge 5
EDGE       0,       2,     5,     2,         31    \ Edge 6
EDGE       3,       8,     6,     2,         31    \ Edge 7
EDGE       4,       8,     6,     3,         31    \ Edge 8
EDGE       7,       9,     5,     7,         31    \ Edge 9
EDGE       6,       9,     4,     7,         31    \ Edge 10
EDGE       4,       5,     9,     3,         31    \ Edge 11
EDGE       5,       6,    10,     4,         31    \ Edge 12
EDGE       2,       3,     8,     2,         31    \ Edge 13
EDGE       2,       7,    11,     5,         31    \ Edge 14
EDGE       2,      10,    11,     8,         31    \ Edge 15
EDGE       5,      12,    10,     9,         31    \ Edge 16
EDGE       3,      11,     8,     6,         31    \ Edge 17
EDGE       7,      13,    11,     7,         31    \ Edge 18
EDGE       4,      11,     9,     6,         31    \ Edge 19
EDGE       6,      13,    10,     7,         31    \ Edge 20
EDGE      10,      11,    12,     8,         31    \ Edge 21
EDGE      10,      13,    12,    11,         31    \ Edge 22
EDGE      11,      12,    12,     9,         31    \ Edge 23
EDGE      12,      13,    12,    10,         31    \ Edge 24
EDGE      14,      15,    12,    12,         10    \ Edge 25
EDGE      15,      16,    12,    12,         10    \ Edge 26
EDGE      16,      17,    12,    12,         10    \ Edge 27
EDGE      17,      14,    12,    12,         10    \ Edge 28

.SHIP_CHAMELEON_FACES

\FACE normal_x, normal_y, normal_z, visibility
FACE        0,       90,       31,         31    \ Face 0
FACE        0,      -90,       31,         31    \ Face 1
FACE      -57,       76,       11,         31    \ Face 2
FACE       57,       76,       11,         31    \ Face 3
FACE       57,      -76,       11,         31    \ Face 4
FACE      -57,      -76,       11,         31    \ Face 5
FACE        0,       96,        0,         31    \ Face 6
FACE        0,      -96,        0,         31    \ Face 7
FACE      -57,       76,      -11,         31    \ Face 8
FACE       57,       76,      -11,         31    \ Face 9
FACE       57,      -76,      -11,         31    \ Face 10
FACE      -57,      -76,      -11,         31    \ Face 11
FACE        0,        0,      -96,         31    \ Face 12

Name: ship_list                                               [Show more]
Type: Variable
Category: Drawing ships
Summary: A list of all available ship types in Elite-A, for populating
the ship blueprints table
Deep dive: Ship blueprints in Elite-A
Context: See this variable on its own page
References: This variable is used as follows:
* install_ship calls ship_list

.ship_list

EQUW SHIP_DODO         \  0 = Dodo station
EQUW SHIP_CORIOLIS     \  1 = Coriolis station
EQUW SHIP_ESCAPE_POD   \  2 = Escape pod
EQUW SHIP_PLATE        \  3 = Alloy plate
EQUW SHIP_CANISTER     \  4 = Cargo canister
EQUW SHIP_BOULDER      \  5 = Boulder
EQUW SHIP_ASTEROID     \  6 = Asteroid
EQUW SHIP_SPLINTER     \  7 = Splinter
EQUW SHIP_SHUTTLE      \  8 = Shuttle
EQUW SHIP_TRANSPORTER  \  9 = Transporter
EQUW SHIP_COBRA_MK_3   \ 10 = Cobra Mk III
EQUW SHIP_PYTHON       \ 11 = Python
EQUW SHIP_BOA          \ 12 = Boa
EQUW SHIP_ANACONDA     \ 13 = Anaconda
EQUW SHIP_WORM         \ 14 = Worm
EQUW SHIP_MISSILE      \ 15 = Missile
EQUW SHIP_VIPER        \ 16 = Viper
EQUW SHIP_SIDEWINDER   \ 17 = Sidewinder
EQUW SHIP_MAMBA        \ 18 = Mamba
EQUW SHIP_KRAIT        \ 19 = Krait
EQUW SHIP_ADDER        \ 20 = Adder
EQUW SHIP_GECKO        \ 21 = Gecko
EQUW SHIP_COBRA_MK_1   \ 22 = Cobra Mk I
EQUW SHIP_ASP_MK_2     \ 23 = Asp Mk II
EQUW SHIP_FER_DE_LANCE \ 24 = Fer-de-Lance
EQUW SHIP_MORAY        \ 25 = Moray
EQUW SHIP_THARGOID     \ 26 = Thargoid
EQUW SHIP_THARGON      \ 27 = Thargon
EQUW SHIP_CONSTRICTOR  \ 28 = Constrictor
EQUW SHIP_DRAGON       \ 29 = Dragon
EQUW SHIP_MONITOR      \ 30 = Monitor
EQUW SHIP_OPHIDIAN     \ 31 = Ophidian
EQUW SHIP_GHAVIAL      \ 32 = Ghavial
EQUW SHIP_BUSHMASTER   \ 33 = Bushmaster
EQUW SHIP_RATTLER      \ 34 = Rattler
EQUW SHIP_IGUANA       \ 35 = Iguana
EQUW SHIP_SHUTTLE_MK_2 \ 36 = Shuttle Mk II
EQUW SHIP_CHAMELEON    \ 37 = Chameleon

EQUW 0                 \ 38 = No ship

Name: XX21                                                    [Show more]
Type: Variable
Category: Drawing ships
Summary: Ship blueprints lookup table for flight in Elite-A
Deep dive: Ship blueprints in Elite-A
Context: See this variable on its own page
References: This variable is used as follows:
* HAS1 calls XX21
* KILLSHP calls XX21
* Main flight loop (Part 4 of 16) calls XX21
* NWSHP calls XX21
* install_ship calls entry point ship_data

Other entry points:

ship_data            The extended ship blueprints table for Elite-A, which
includes an extra entry at the start for our current
ship

.ship_data

EQUW 0                 \         0 = Our current ship

.XX21

EQUW SHIP_MISSILE      \ MSL  =  1 = Missile                            Missile
EQUW 0                 \                                                Station
EQUW SHIP_ESCAPE_POD   \ ESC  =  3 = Escape pod                      Escape pod
EQUW SHIP_PLATE        \ PLT  =  4 = Alloy plate                          Cargo
EQUW SHIP_CANISTER     \ OIL  =  5 = Cargo canister                       Cargo
EQUW SHIP_BOULDER      \         6 = Boulder                             Mining
EQUW SHIP_ASTEROID     \ AST  =  7 = Asteroid                            Mining
EQUW SHIP_SPLINTER     \ SPL  =  8 = Splinter                            Mining
EQUW 0                 \                                                Shuttle
EQUW SHIP_TRANSPORTER  \        10 = Transporter                    Transporter
EQUW 0                 \                                                 Trader
EQUW 0                 \                                                 Trader
EQUW 0                 \                                                 Trader
EQUW 0                 \                                             Large ship
EQUW 0                 \                                             Small ship
EQUW SHIP_VIPER        \ COPS = 16 = Viper                                  Cop
EQUW 0                 \                                                 Pirate
EQUW 0                 \                                                 Pirate
EQUW 0                 \                                                 Pirate
EQUW 0                 \                                                 Pirate
EQUW 0                 \                                                 Pirate
EQUW 0                 \                                                 Pirate
EQUW 0                 \                                                 Pirate
EQUW 0                 \                                                 Pirate
EQUW 0                 \                                          Bounty hunter
EQUW 0                 \                                          Bounty hunter
EQUW 0                 \                                          Bounty hunter
EQUW 0                 \                                          Bounty hunter
EQUW SHIP_THARGOID     \ THG  = 29 = Thargoid                          Thargoid
EQUW SHIP_THARGON      \ TGL  = 30 = Thargon                           Thargoid
EQUW SHIP_CONSTRICTOR  \ CON  = 31 = Constrictor                    Constrictor

Name: E%                                                      [Show more]
Type: Variable
Category: Drawing ships
Summary: Ship blueprints default NEWB flags
Deep dive: Ship blueprints
Advanced tactics with the NEWB flags
Context: See this variable on its own page
References: This variable is used as follows:
* NWSHP calls E%
* TACTICS (Part 4 of 7) calls E%
* install_ship calls entry point ship_flags

When spawning a new ship, the bits from this table are applied to the new
ship's NEWB flags in byte #36 (i.e. a set bit in this table will set that bit
in the NEWB flags). In other words, if a ship blueprint is set to one of the
following, then all spawned ships of that type will be too: trader, bounty
hunter, hostile, pirate, innocent, cop.

The NEWB flags are as follows:

* Bit 0: Trader flag (0 = not a trader, 1 = trader)
* Bit 1: Bounty hunter flag (0 = not a bounty hunter, 1 = bounty hunter)
* Bit 2: Hostile flag (0 = not hostile, 1 = hostile)
* Bit 3: Pirate flag (0 = not a pirate, 1 = pirate)
* Bit 4: Docking flag (0 = not docking, 1 = docking)
* Bit 5: Innocent bystander (0 = normal, 1 = innocent bystander)
* Bit 6: Cop flag (0 = not a cop, 1 = cop)
* Bit 7: For spawned ships: ship been scooped or has docked

See the deep dive on "Advanced tactics with the NEWB flags" for details of
how this works.

Other entry points:

ship_flags           The extended NEWB flags table for Elite-A, which
includes an extra entry at the start for our current
ship

.ship_flags

EQUB %00000000         \ Our current ship

.E%

EQUB %00000000         \ Missile
EQUB %01000000         \ Coriolis space station                             Cop
EQUB %01000001         \ Escape pod                                 Cop, trader
EQUB %00000000         \ Alloy plate
EQUB %00000000         \ Cargo canister
EQUB %00000000         \ Boulder
```