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:
- Speed. Light runs at 1.05×, heavy at 0.78×
(
g_active.c). - Weight. Explosions throw light further and heavy less. Knockback mass is 175, 200 and
240 (
g_combat.c). - What
thrownadethrows. A thermal for light, a detpack for medium, a tripmine for heavy (Cmd_ThrowNade_f).
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