experimental

Player guide

Tribes

A movement style that replaces running with skiing and adds a jetpack, its own HUD and its own weapons. It is experimental, and a server has to support it.

Tribes is one of the nineteen movement styles; the server chooses it. Unlike the others it comes with a substantial amount of client-side machinery: a replacement HUD, team markers, a fuel display and its own weapon effects.

The client-side half is bit 22 of cg_stylePlayer, labelled “Tribes Clientside (Requires assets)” (cg_consolecmds.c); turn it on with stylePlayer 22.

The assets it uses ship in japro-assets.pk3: the jetpack and mortar effects under effects/tribes/, the ski and thrust sounds, the Tribes menu and the client config.

Skiing

Holding the dash button removes ground friction, so instead of running you slide and keep momentum across terrain (bg_pmove.c). That is the whole idea of the mode: you gain speed downhill and carry it, rather than accelerating from a standstill.

Landing while skiing plays its own sound rather than the normal landing thud (cg_main.c).

The same button is also a dash, shared with the wsw style but behaving differently here: in Tribes it spends force power and sets a much longer cooldown (bg_pmove.c). Bots ski by pressing the same button (ai_main.c).

Jetpack fuel

The jetpack has a fuel level from 0 to 100, drawn as a segmented bar with a numeric readout that eases towards the true value rather than snapping to it (hud_tribes.c). Skiing and jetpacking together is how you cross a map quickly.

IFF markers

In team games the client floats a team-coloured sprite above other players so you can tell friend from enemy at speed (cg_players.c).

The marker scales with distance using 4 + distance * 0.008, so a distant player still gets a readable icon rather than a dot. Friendly markers show at any range; enemy markers only appear within 7500 units, so an unmarked player far away is not necessarily a teammate. Nothing is drawn on the dead, on NPCs, or on yourself except in mirrors.

This is gated on the server advertising Tribes, not on your own settings.

The Tribes HUD

The mode swaps in a different HUD entirely (hud_tribes.c): a health bar, a weapon selector that greys out anything you cannot currently fire, a pack display, and the fuel bar above.

The weapon selector’s availability test is energy-based rather than counting rounds. A weapon is selectable when you hold at least as much ammo as one shot costs (hud_tribes.c), which is why the display talks in shots rather than in a raw ammo count.

invfree selects the next usable inventory item and is bound by the HUD’s prompt (cg_consolecmds.c).

Weapons and feedback

The mortar has its own projectile and explosion effects under tribes/weapons/mortar/ (cg_weaponinit.c).

Kills play one of two sounds depending on whether the victim was airborne, so a midair hit is audibly different from a ground kill (cg_event.c).

Classes

You do not pick a class with a command. Your player model decides it (DetectTribesClass), on a server running g_tribesMode 1.

Class Models
Heavy tribesheavy, reborn_twin, reelo, noghri, rax_joris
Light tavion, tavion_new, jan, alora, alora2, jedi_tf, jedi_zf, jedi_hf, monmothma
Medium everything else (the default)

Set your model and you change class. The server confirms with a message such as “Spawning as Tribes heavy class”, and it kills you so you respawn as the new class, so do not do it mid-run.

Anything not on the list is medium, so an unusual model never locks you out. It just makes you medium. Names other than tribesheavy are matched by prefix, so a skin suffix such as tavion/red still counts. tribesheavy is compared over more characters than the name is long, so there only a bare tribesheavy works and tribesheavy/default falls through to medium.

What the class changes:

The last two need the server’s Tribes weapon tweak (g_tweakWeapons); the speed difference does not. None of it applies in racemode: there you have no class at all unless you are on a team in a team gametype (ClientUserinfoChanged).

Setting it up

Players run the client config, japro_tribes, described on shipped configs:

exec japro_tribes

Read it first: it rebinds number keys.

Servers running the Docker image’s bundled server configs have four Tribes modes. They are written for TaystJK’s bundled jaPRO game module. Load one with rcon exec <mode>, or let players vote for it with callvote vstr <mode>:

Mode Plays as
tribes Tribes in FFA.
tribesctf Tribes in CTF.
tribes1flag Tribes in one-flag CTF, which needs a map with a neutral flag and capture zones.
midair tribesctf with projectiles also carrying the shooter’s sideways movement.

All four restrict force powers, set the Tribes weapon tweaks, including projectile disruptor shots, and give every player a jetpack.

Expectations

This mode is experimental. It carries more bespoke code than any other movement style, some of it carrying the author’s own notes about ground detection being unreliable while skiing (bg_pmove.c). Treat rough edges as expected rather than as bugs worth reporting. Gameplay problems belong to videoP/jaPRO if they also happen without TaystJK; where to report explains the check.

Last changed History Edit this page on GitHub