Skip to content

Characters

smsolutionsva-byte edited this page Jun 26, 2026 · 2 revisions

Characters

Home · Gameplay · Enemies · Multiplayer

Every run selects one of eight gameplay classes. The selection applies in Classic, Tutorial, and Multiplayer. In first person, the player sees a weapon viewmodel; the selected class is represented by an invisible local shadow caster and by a full 3D avatar for remote multiplayer players.

Class roster

Class Visual identity Active ability Cooldown / duration Passive
Ranger Green hood, glowing eye band, quiver Dash 5 s / instant −10% ability cooldown
Scout Gold cap, visor, backpack Adrenaline 11 s / 4 s +12% movement speed
Heavy Red armor, helmet, oversized pauldrons Bulwark 15 s / 5 s +20% maximum HP, −8% speed
Operative Dark tactical helmet and quad-tube NVGs Overclock 15 s / 5 s +10% headshot damage
Pyro Orange fire-themed suit and bright visor Firestorm 13 s / instant +6 flat damage on every bullet hit
Medic White and red field uniform Field Triage 14 s / instant Regenerate 0.5 HP/s out of combat
Engineer Yellow-brown work gear, cyan visor Demolition 12 s after detonation −15% reload time
Phantom Dark violet stealth suit, glowing purple accents Cloak 15 s / 4 s +15% Phantom pickup duration

Class jump multipliers range from 0.94 (Heavy) to 1.06 (Scout). There is no separate class-specific player hitbox value in the implementation; class selection changes abilities, passives, jump multiplier, visual model, shadow silhouette, and multiplayer replica metadata.

Active abilities

Ranger — Dash

Dash is a 0.24-second, 2.9× speed charge in the input direction. It tramples enemies in its path: one target may be lethal, while other targets are heavily damaged and shoved. Nearby barrels can detonate during the charge. Dash briefly applies a cinematic time slowdown and uses the standard ability cooldown system.

Scout — Adrenaline

Adrenaline activates the same speed state used by the Speed pickup for four seconds. The active effect is a 1.75× movement-speed surge, compounded with applicable modifiers.

Heavy — Bulwark

Bulwark raises the shared directional riot shield for five seconds. It absorbs front-arc incoming damage up to a 160-damage pool, then shatters. It is not an invulnerability bubble; attacks from outside the front arc can still deal damage.

Operative — Overclock

Overclock instantly refills the active weapon's effective magazine and applies both unlimited ammunition and the Overcharge buff for five seconds. Overcharge is 1.6× damage and 1.8× fire rate.

Pyro — Firestorm

Firestorm performs a local rocket-style blast with 70 base damage plus a large fire-nova presentation. It uses the same area-damage path as the rocket, including distance falloff and multiplayer host reporting.

Medic — Field Triage

Field Triage restores up to 18 HP, capped by maximum health. It is deliberately a small stabilizing heal rather than a full reset.

Engineer — Demolition

The Engineer's ability is two-stage:

  1. Stand within 5.5 units of an unwired explosive barrel and cast to wire it. Arming takes one second and grants a short 1.3-second follow-up gate.
  2. Cast again to remotely detonate it. The armed barrel is upgraded to at least 9.5 blast radius and 220 damage, then the full 12-second cooldown begins.

Only one bomb can be armed. A held remote detonator occupies the same left-hand space as a shield, so the Engineer cannot wire while a shield is active or raise a shield while the bomb is armed.

Phantom — Cloak

Cloak makes the player untargetable and intangible to enemies for four seconds. Enemies do not begin melee attacks or ranged charges against a cloaked player. The class passive extends the duration of a Phantom loot pickup, and also applies to the active ability duration calculation.

Movement and animation

All classes share the same base first-person movement system, then apply class passives and weapon-weight effects. Supported movement animations and feedback include idle sway, walk/run bob, ADS, strafe lean, jump/landing inertia, recoil, reloads, weapon inspection, class cast effects, camera impulses, and screen pulses.

Remote multiplayer models animate walk/idle, crouch, aim pitch, held weapon pose, death collapse, billboarding nameplate, and health bar. Their player class and current weapon replicate with position, rotation, health, and crouch state.

Class selection and synchronization

  • Solo and Tutorial use CharacterSelect before the run.
  • Multiplayer has unique class ownership in the lobby; a class card can be unavailable if another player has selected it.
  • The selected class is broadcast as modelClass and drives the remote avatar builder as well as the class modifiers at match start.
  • The local class casts a weapon-aware full-body shadow, but the shadow itself does not change hit detection.

Implementation references: src/utils/CharacterAbilityRegistry.ts, src/utils/CharacterPassiveRegistry.ts, src/utils/CharacterModels.ts, src/utils/LocalPlayerShadow.ts, src/App.tsx.

Clone this wiki locally