Skip to content

Air

Spear

Code
WM3
Race
LESSER_STORM_GIANT
Domain
Air

Shipped game

The 1.0 release and the 3.02 patch define this unit identically, so these numbers are both. They are the unit's base record; see level progression for what they are not.

Stats

Hit points
33
Attack
20
Armour
3
Strength
8
Dexterity
12
Wisdom
6
Movement points
10
Sight radius
4
Attack recovery
12
Hit recovery
3
Stealth noise
1

Upkeep

Gold per turn
0
Food per turn
0
Crystals per turn
3

Resistances

None declared. Most of the shipped units write no resistance fields at all, and what the engine uses when a record stays silent is not observable from the scripts — so this page does not guess at it.

Flags

These are the engine's own constant names, printed as written. What several of them actually do has not been established, so they are not translated into friendlier language here.

  • CAN_ATTACK
  • CAN_DEFEND
  • NO_DEFEND_ANIM

Level progression

Held in a level_procedure 6 tokens of GameScript attached to this record — that has not been evaluated. The extraction that produced the stats above records the procedure's size and stops there; it does not run it.

So this site cannot tell you what Spear looks like at level 5, and will not estimate it. A per-level table fitted to a curve nobody measured is the kind of thing that gets copied onto three other sites and outlives the correction.

GS5R3 — a fan mod, not official

GS5R3 is a community modification of the game's scripts. Its numbers are not the game's numbers and are never merged into the block above. It changes 8 of this unit's published fields:

Show the 8 differences
FieldShippedGS5R3
Barracks requiredbarracks_requirednot declared0
Wizard's tower requiredwizards_tower_requirednot declared0
Thieves' guild requiredthieves_guild_requirednot declared0
Armourarmor30
Gold to buildgold_to_buildnot declared50
Food to buildfood_to_buildnot declared50
Crystals to buildmagic_crystals_to_buildnot declared100
Initiates to buildinitiates_to_buildnot declared0

not declared means the record does not write the field. That is not the same as writing zero, and the two are kept apart here.

Read from the unit's record in units\aiwm3.gs, which declares 26 fields and is referenced 8 times elsewhere in the scripts. Not every field is published: sprite bindings and HUD pixel offsets are left out. Back to all units.