========================================================================
 Jedi Knight Mod

 P68.GOB  --  SURVIVAL WAVE ARENA

 Waves of p66/p67's squad -- troopers who take cover, flank and fall
 back -- in LucasArts' own Jedi Training maps m10 and m_boss17, loaded
 in single player: a countdown, the squad frozen at its spots until
 FIGHT!, a timer until the last one falls, a reward, the next round.

 [cogfactory / p68-survival-arena]

 BUILD 1  --  2026-10-06
 sha256 d1f48af12de20e5464ef1b5d02d84297

 This mod is not made or distributed by LucasArts
 Entertainment Co.
========================================================================

THIS PACKAGE
------------------------------------------------------------------------
  P68.GOB          the mod (no level: it changes nothing until you load m10 or m_boss17)
  readme.txt       this file
  screenshot.jpg   what it looks like
  UAL-LICENSE.txt  the licence of the animation library the squad's movement comes from

INSTALLATION
------------------------------------------------------------------------
  RETAIL JEDI KNIGHT: copy P68.GOB into the Resource folder of your Jedi
  Knight install, beside Res1hi.gob and Res2.gob. Keep its name: Jedi
  Knight mounts every GOB in Resource in name order and the first one
  holding a file wins, and the mod replaces jkl\static.jkl, which
  Res2.gob also carries -- P68.GOB sorts before Res2.gob. (Or keep it in
  a folder of its own and start JK.EXE with -path <that folder>.) To
  remove the mod, delete P68.GOB.

  OPENJKDF2 / THE LIBRETRO CORE: put P68.GOB in the mods folder of your
  Jedi Knight folder (openjkdf2 mounts mods\*.gob ahead of resource\).

  The mod is idle everywhere else: on every other level -- the single-
  player campaign included -- it recognises nothing and does nothing.

HOW TO PLAY
------------------------------------------------------------------------
  Load m10 or m_boss17 of the Jedi Training episode in SINGLE PLAYER.
  Retail: start JK.EXE with -devMode (a shortcut with `JK.EXE
  -devMode`), then Single Player -> Debug Play -> Jedi Training -> m10
  (or m_boss17). openjkdf2 always shows Debug Play. The arena also runs
  when you HOST a multiplayer game on those maps (the host's player
  fights it).

  5 rounds. Each round you are moved to the round's start; the squad (2,
  3, 3, 4, 4 members a round, in multiplayer skins) appears at its spots
  and stays FROZEN through a 5-second countdown; at FIGHT! they hunt
  you, take cover, flank and fall back as p67's squad does. The clock
  runs until the last one falls: ROUND n CLEAR with your time and the
  total. Then the reward (+25 health, +25 shields, +40 energy, +40
  power), a 4-second pause, the next round. After the last: ARENA
  SURVIVED with the total time.

  DEATH: in single player a death ENDS the run (YOU DIED IN ROUND n with
  your time); press fire to restart the level and the arena begins again
  at round 1. In multiplayer, the arena starts over at round 1 after you
  respawn.

  DO NOT SAVE DURING AN ARENA RUN. Jedi Knight saves a thing made from a
  mod's static template with an index it cannot read back, and loading
  such a save can crash the game or corrupt the level (found and
  measured by this project; LucasArts' own static world has no
  templates, so the stock game never meets it). The death restart is
  safe: the mod keeps the level-start save clean.

  Recognising the map: the mod checks two landmark things of each map
  (their thing number, sector and exact position), the way SM Sith
  Lord's XtremeFuckin'Warfare recognises its maps.

SETTINGS (this build)
------------------------------------------------------------------------
  rounds 5; members per round 2, 3, 3, 4, 4; countdown 5 s; pause 4 s
  reward per round: +25 health, +25 shields, +40 energy, +40 power
  spawn spots: mix (seed 68): each round's first spot is the authored one, the rest drawn from the proven spots

  To change them, regenerate the GOB from the project
  (src/arena/settings.py).

NOTES
------------------------------------------------------------------------
  Retail Jedi Knight has NOT run this mod yet: every test so far is the
  project's own engine fork (openjkdf2). How hard the squad is (health
  60, aim spread 2 degrees, retreat at half strength) is easy to change:
  say if it is too easy or too hard.

  m_boss17 is a stack of separate decks: a member who spawns on another
  deck than yours cannot walk to you (the navigation does not jump
  between decks yet); he holds his deck and fights from it.

CREDITS
------------------------------------------------------------------------
  The squad's locomotion is Quaternius' Universal Animation Library
  [Pro] (CC0 1.0, quaternius.com; the licence is misc/ual-license.txt in
  the GOB), fitted to the multiplayer skeleton by p65 Motion Study; the
  on-foot controller is a port of the aeronauts project's (three-player-
  controller 0.6.2); the navigation graph is p64's Path-Finder bake
  (MIT, after Recast, zlib); the squad is p66/p67's (its brain after
  p63's Enhanced AI). The static-world route and the landmark idea are
  SM Sith Lord's XtremeFuckin'Warfare's. The maps, the troopers,
  commando, officer and Greedo models are LucasArts' own; everything
  else was generated by tools/cogfactory.
