Skip to content

Archery Mechanics

HoraceAndTheSpider edited this page Aug 2, 2026 · 2 revisions

Archery mechanics

Bloodwych treats archery as a profession-based ability. This agrees with the manual's description of Adventurers as good all-rounders and capable archers, while the Cutpurse's abilities include stealth, archery and observation.

The SPS 439 firing path confirms that this is implemented independently of the champion's starting Agility. Bow projectile power is calculated from the champion's stored Level and a profession selector. The routine does not read the Strength or Agility bytes while constructing the projectile.

This page concerns projectile power. The resulting value is stored in the live airborne projectile record and is subsequently used by hit resolution; it should not be interpreted as guaranteed HP loss without also accounting for the later combat routines.

Required equipment

The firing routine examines the champion's two hand slots and requires both:

  • one arrow object in the range $03 to $04;
  • one bow object in the range $5C to $5E.

One arrow is removed from its corresponding pocket quantity when fired. The inventory and airborne codes are:

Inventory object Airborne code Description
$03 $88 Arrow
$04 $89 Elf Arrow

The two projectile codes use the flying portion of AirbourneSpells.gfx; see Airbourne Spells.

Profession archery scaling

The champion number is masked with $03. This is the same grouping used for the four professions. The result selects one of four right-shift counts from a four-byte table:

$02, $02, $01, $00

The selected shift is applied to byte $00 of the champion record, which is the stored Character Level:

Champion IDs Profession Shift Archery base
$00,$04,$08,$0C Warrior 2 Level >> 2 / floor(Level / 4)
$01,$05,$09,$0D Wizard 2 Level >> 2 / floor(Level / 4)
$02,$06,$0A,$0E Adventurer 1 Level >> 1 / floor(Level / 2)
$03,$07,$0B,$0F Cutpurse 0 Level

This implements the profession descriptions directly:

  • Warriors and Wizards receive the lowest level-derived archery power.
  • Adventurers receive a useful intermediate progression.
  • Cutpurses receive the full stored Level and therefore have the strongest archery progression.

Agility may still participate in another part of combat or accuracy resolution, but it is not read by this projectile-power calculation. The Cutpurse's generally high Agility is therefore separate from this profession modifier.

Arrow modifier

After calculating the profession-scaled Level, the arrow object code is reduced by $03:

Arrow Modifier
$03 Arrow +0
$04 Elf Arrow +1

This modifier is added before the bow's division and bonus. Define:

A = profession-scaled Level + arrow modifier

Bow modifier tables

The three bows are object codes $5C to $5E. Their object order is not a strength ranking. Two adjacent three-byte tables control their power:

Table Bytes Purpose
Power shift $01,$00,$01 Right-shift count for Bow, Frost Bow and Cross Bow.
Power bonus $00,$00,$01 Bonus added after the shift.

After applying those tables, the game doubles the result:

Object Bow Shift Bonus Final projectile power
$5C Long Bow A >> 1 +0 2 * floor(A / 2)
$5D Frost Bow unchanged +0 2 * A
$5E Cross Bow A >> 1 +1 2 * (floor(A / 2) + 1)

The consequences are:

  • The Cross Bow always produces two more projectile-power points than the Long Bow.
  • The Frost Bow scales twice as quickly as either of the other bows.
  • At A = 1 or A = 2, Frost Bow and Cross Bow are equal.
  • At A >= 3, the Frost Bow is increasingly stronger.
  • At A = 0, the Cross Bow still produces power 2 while the other two produce zero.

For example, where A = 5:

Bow Projectile power
Long Bow 4
Cross Bow 6
Frost Bow 10

This explains why gameplay indicates that the Frost Bow is generally the best bow despite the Cross Bow having the final object code.

Effect of Elf Arrows

Because the Elf Arrow adds one before the bow calculation:

  • with the Frost Bow it always adds two final projectile-power points;
  • with the Long Bow or Cross Bow, the right shift absorbs the extra point when the profession-scaled Level is even;
  • with the Long Bow or Cross Bow, it adds two final power points when the profession-scaled Level is odd.

The firing and collision mechanics apply no additional elemental, accuracy or status effect that distinguishes $88 from $89. Their differences are:

  • Elf Arrows add one before bow scaling;
  • they retain the distinct airborne code $89 and corresponding graphics;
  • they return to object $04 rather than $03 when placed back on the floor.

When an Arrow or Elf Arrow projectile stops, the source subtracts $85 from the airborne code. This maps $88 back to inventory/floor object $03, and $89 back to object $04, preserving the ammunition type.

Related Cutpurse abilities

The manual groups archery with the Cutpurse's stealth and observation abilities. The corresponding known gameplay behaviours are:

  • Stealth: back-stab attacks can produce exceptionally high damage.
  • Archery: the full-Level profession scaling documented above.
  • Observation: concealed features such as Mindrocks and hidden shelves can be perceived through flashing indicators.

These are separate mechanics even though they collectively define the Cutpurse profession.

Clone this wiki locally