Mechanics

hitclass

Weapon-class animation token lookup — maps human-readable attack categories (Bow, One Hand Thrust, Claw) to the short codes that weapons and monsters use to pick their hit animations.

The 13-row lookup that maps a human-readable attack category (Bow, One Hand Thrust, Claw) to the short string token (bow, 1ht, claw) that weapons and monsters reference. Two columns: Hit Class (display name) and Code (the join key). Consumers are weapons.txt and monstats.txt, both of which carry their own hit class column whose value is one of the codes here.

Naming collision — read this first

The numeric HitClass columns in missiles and skills are not the same system as this table. Those are a bitfield for hit-effect layers (Fire = 32, Cold = 48, Lightning = 64, Poison = 80, Thorns = 128, …) and are documented inline on those pages. This table only governs weapon-class animation choice for melee and ranged weapons — what swing animation plays, what hit sound fires when a weapon connects.

Columns

ColumnMeaning
Hit ClassThe display name (Hand To Hand, One Hand Swing vs. Small). Display only. The space in the column name means SQL must quote it as "Hit Class".
CodeThe join key — a 3–4 character string token (hth, 1hss, bow). Other tables reference this.

The full code list

CodeCategoryWhere used
(empty)NoneSentinel for "no hit class" — filter with WHERE "hit class" != ''
hthHand To HandBare-handed monster attacks
1hssOne Hand Swing vs. SmallOne-handed swing weapons (small monsters)
1hslOne Hand Swing vs. LargeOne-handed swing weapons (large monsters)
2hssTwo Hand Swing vs. SmallTwo-handed swing weapons (small monsters)
2hslTwo Hand Swing vs. LargeTwo-handed swing weapons (large monsters)
1htOne Hand ThrustSpears, daggers, javelins (one-handed)
2htTwo Hand ThrustPolearms, two-handed spears
clubClubMace-class swing
stafStaffStaff and stave attacks
bowBowBow ranged attacks
xbowCrossbowCrossbow ranged attacks
clawClawAssassin claw weapons
overOverlayReserved — used by overlay-effect entries

The two split categories — small-vs-large for one-hand and two-hand swings — let the engine play a different animation depending on the size of the target monster (per MonStats2.txt's SizeX/SizeY). Thrust and ranged attacks don't split this way.

Cross-references

  • weapons — every weapon row's hit class column resolves through this table.
  • monstats — each monster's hit class column tags its native attack into one of these categories.
  • missiles and skills — their numeric HitClass columns are an unrelated bitfield (see those pages).