Skip to content

Order

Ranger

Code
THF
Race
HUMAN
Domain
Land
Hero class
THIEF
Missile
sbolt

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

Cost to build

Gold
27
Food
0
Magic crystals
9
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

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.

  • 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 Ranger 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_points1013
Attackattack54
Ranged attackranged_attack65
Armourarmor35
Strengthstrength812
Dexteritydexterity910
Wisdomwisdom68
Movement pointsmps79
Sight radiussight_radius46
Attack recovery (ticks)attack_recovery_ticks2730
Hit recovery (ticks)get_hit_recovery_ticks110
Hit points recovered per turnrecover_hitpoints12
Hit points recovered insiderecover_hitpoints_inside14
Hit points recovered after movingrecover_hitpoints_moved12
Stealth noise factorstealth_noise_factor54
Gold to buildgold_to_build2750
Food to buildfood_to_build010
Crystals to buildmagic_crystals_to_build940
Chaos resistancechaos_resistancenot declared-25
Death resistancedeath_resistancenot declared-25
Life resistancelife_resistancenot declared25
Order resistanceorder_resistancenot declared50
Missile attack resistancemissile_attack_resistancenot declared25

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