Skip to content

Air

Faerie Thief

Code
THF
Race
LESSER_STORM_GIANT
Domain
Air
Hero class
THIEF
Missile
sting

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
5
Attack
1
Ranged attack
3
Armour
0
Strength
3
Dexterity
12
Wisdom
4
Movement points
12
Sight radius
6
Missile range
12
Missile speed
1
Attack recovery
21
Hit recovery
1
HP recovered per turn
1
HP recovered inside
1
HP recovered after moving
1
Stealth noise
2

Cost to build

Gold
41
Food
0
Magic crystals
14
Initiates
1

Upkeep

Gold per turn
1
Food per turn
0
Crystals per turn
0

Requires

Thieves' guild
1

The number is the building's level, not a quantity. A requirement written as 0 is stated by the record rather than absent from it.

Resistances

Missile attack
25

Melee and missile attack resistance are not faiths; they sit in the same table because the game's records put them there. These are the values written in the record, with no scale or ceiling implied — see the note on maxima below.

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.

  • UNITTYPEMISSILE
  • CAN_SURRENDER
  • CAN_SUBDUE
  • CAN_AIMED
  • CAN_STEALTH
  • CAN_DETECT_THIEF
  • CAN_USE_LEFT_ARTIFACT
  • CAN_USE_RIGHT_ARTIFACT

Level progression

Held in a level_procedure 15 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 Faerie Thief 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 23 of this unit's published fields:

Show the 23 differences
FieldShippedGS5R3
Hit pointshit_points58
Ranged attackranged_attack30
Armourarmor0-5
Strengthstrength35
Dexteritydexterity1220
Wisdomwisdom45
Sight radiussight_radius610
Missile rangemissile_range1211
Missile speedmissile_speed1.01
Attack recovery (ticks)attack_recovery_ticks2124
Hit recovery (ticks)get_hit_recovery_ticks18
Hit points recovered per turnrecover_hitpoints12
Hit points recovered insiderecover_hitpoints_inside12
Stealth noise factorstealth_noise_factor23
Gold to buildgold_to_build4175
Food to buildfood_to_build05
Crystals to buildmagic_crystals_to_build1420
Air resistanceair_resistancenot declared50
Earth resistanceearth_resistancenot declared-25
Fire resistancefire_resistancenot declared-25
Water resistancewater_resistancenot declared25
Melee attack resistancemelee_attack_resistancenot declared-25
Missile attack resistancemissile_attack_resistance2550

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\aithf.gs, which declares 40 fields and is referenced 42 times elsewhere in the scripts. Not every field is published: sprite bindings and HUD pixel offsets are left out. Back to all units.