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, and the server decides whether you can play it. Unlike the others it comes with a lot of client-side machinery: a replacement HUD, team markers, a fuel display and its own weapon effects. All of that switches on by itself when the server runs Tribes.

Setting it up

Nothing extra needs installing. The assets ship in japro-assets.pk3: the jetpack and mortar effects under effects/tribes/, the ski and thrust sounds, the spinfusor disc model and the Tribes menu.

Run the client config, japro_tribes, to set up the binds the mode expects. Read it first, because it rebinds the number keys; shipped configs describes it.

exec japro_tribes

Bit 22 of cg_stylePlayer, labelled “Tribes Clientside (Requires assets)”, is optional. It only changes how the concussion rifle’s shot looks, drawing it as a glowing spinfusor disc with its own sound (cg_weaponinit.c). Turn it on with stylePlayer 22.

Servers running the Docker image’s bundled server configs have four Tribes modes, 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.

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, instead of accelerating from a standstill.

Landing while skiing plays its own sound in place of 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 instead of snapping to it (hud_tribes.c). Skiing and jetpacking together is how you cross a map quickly.

IFF markers

The client floats a coloured marker above other players so you can tell friend from enemy at speed (cg_players.c). In team games your teammates are marked as friends; everyone else, including every other player in FFA, is marked as an enemy.

The marker grows with distance, so a far-off player still gets a readable icon, not 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.

This depends on the server running Tribes weapons, not on your own settings.

The Tribes HUD

When you are playing the Tribes style on a jaPRO server, the client swaps in a different HUD entirely (cg_draw.c, 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 greys a weapon out when you have less ammo than one shot costs (hud_tribes.c).

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. Names are matched by prefix, so a skin such as tavion/red or tribesheavy/default still counts (g_client.c).

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).

Expectations

This mode is experimental. It has more code of its own than any other movement style, some of it with the author’s own notes that ground detection is unreliable while skiing (bg_pmove.c). Expect rough edges, but do report them. 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