If you appreciate the work done within the wiki, please consider supporting The Cutting Room Floor on Patreon. Thanks for all your support!

Star Wars: Jedi Knight: Dark Forces II

From The Cutting Room Floor
Jump to navigation Jump to search

Title Screen

Star Wars: Jedi Knight: Dark Forces II

Developer: LucasArts
Publisher: LucasArts
Platform: Windows
Released in US: October 9, 1997

AnimationsIcon.png This game has unused animations.
ModelsIcon.png This game has unused models.
Sgf2-unusedicon1.png This game has unused abilities.
TextIcon.png This game has unused text.
RegionIcon.png This game has regional differences.

PrereleaseIcon.png This game has a prerelease article

Sometimes called Jedi Knight, other times, Dark Forces 2: Jedi Knight, but officially, it's Jedi Knight: Dark Forces II.

Unused Model

repv.3do \ repp.3do - Sniper Rifle

A cut weapon! Many user-made mods use this weapon, although the internal name of the view model is 'srifle'.

Potentially an early Concussion Rifle, since it has a sniper-esque secondary fire.

Unused Sounds


An alarm! Or a buzzer, probably meant to be used in Capture The Flag.


A short jingle. Also meant to be used in Capture The Flag?


An unused line for the generic male NPC? Probably meant for either the first, fourth, or fifth levels.

bikeacl1.wav & biketrn1.wav

Sounds of a bike accelerating and turning(?). There are no NPCs that use bikes, nor any bike models to be seen. Perhaps there was gonna be speeders at one point in development?

Unused Animations


A third standing strike. When standing still, Kyle swipes left and right. It seems that a third strike was intended to be there, but was removed. This animation has a first person counterpart. Also, this animation has attack flags set, meaning it will deal damage to enemies.

kystab.key and kystab2.key

A pair of animations for models that use Kyle Katarn's hierarchy (which include multiplayer models). The first is winding up for a stab, another for thrusting the saber forward. There is no lower-body movement, suggesting these were meant to be used while moving, likely. These animations do not have attack flags set.

Unused Ability

Force Saber Throw

Defined in the world templates is a projectile referenced as +force_saber. This projectile makes uses of two other unused pieces of content. Its model, sab0.3do, and its animation, sab0.key. There is no leftover force power code that would trigger this ability, so the only way to see this projectile in action is to modify a weapon to fire Lightsabers instead. This projectile is capable of harming enemies, though it vanishes on impact with one, enemies with Lightsabers can also deflect this projectile.

This ability would return in the game's expansion, Jedi Knight: Mysteries of The Sith.

Hidden Text

ctf_main.cog, in the JK1MP.GOB file contains a version history of the game's Capture The Flag gamemode. Would you believe the retail version of this gamemode was 1.9?

# History :
# -------
# What's new in 1.9 ?
# * removed the ties in score_limit
# * removed the ties in time_limit
# * scores sent via SendTrigger, gains dozens of packets
# What's new in 1.8 ? "fighting lost packets version"
# * periodically sending the flags positions and attachment info
# * periodically sending the values of the score limit faces
# * added recovery teleports at the bottom of the marking corridors
#   in the case the server misses the entered: message packet
# * trippled all the player and flag teleport packets
# What's new in 1.7 ?
# * Negative points for suicides (team scores don't go below 0)
# * Added display of number of players per team in the start room
# * Flags totally static (no more dynamic creation), removed all
#   CaptureThing() and ReleaseThing()
# * Team scores passed to HUD score display
# * Icons synched through SendTrigger interface
# * Fixed the teleportsnd bug
# What's new in 1.6 ?
# * Add some points to all team members when someone of the team CTF
# * Added scoring in overlay score table, by team and by player
# * Get score and time limits from the UI
# * Infos displayed when players join the game
# * Rework the announcers with TimerEx
# * Score text announcers work on the network
# * Score sound announcers done with PlaySoundGlobal
# * Converted the spawn spots to client-side respawn masking
# What's new in 1.5 ?
# * Added the leave: handler to remove the flag from a leaving or
#   disconnected player. Also clears the team in case the player
#   comes back immediately.
# * Added CTF Callback messages 15 and 25 to differentiate the case
#   of the flag taken out of its base.
# * Solved the teleport into the ground bug
# * Visually distinguish the teams with different models
# * Manage a score by player in addition to the total team score
# What's new in 1.4x ?
# * remove all additions CTF makes to the player bins at shutdown:
# * use inventory icons for CTF keys
# * Set the lightsabers colors to the team colors
# * Killed a scoring bug where you would get full capture score when
#   you had the enemy flag and touched your flag dropped by an enemy.
# * Added some voice samples.
# * Solved the "dead player taking the flag" bug.
# * Added some SFX to the teleports (green tint, particles and sound).
# * Added new messages to the CTF Callback Interface to handle new players
#   entering the game.
# * The player now visually carries the flag, and a flag icon is shown too.
# * Changed the way the players are teleported from random to cycle,
#   this will avoid possible telefrags between members of the same team.
# What's new in 1.3 ?
# * Added callback interface. Another COG can now register in CTF_MAIN to
#   receive notifications of important CTF events. I wanted to be able to
#   do level specific things without maintaining more than one CTF_MAIN.COG
#   This interface also allows to set time_limit, verbose level and sounds
#   capabilities remotely.
#   See details in user0: comments.
# What's new in 1.2x ?
# * when the score is 1, "point" is shown instead of "points".
# * the score is now kept in local variables, and transmitted to the score display
#   COG via SendMessageEx(). CTF doesn't use globals anymore.
# * removed some useless calls and variables
# What's new in 1.1 ?
# * it is now forbidden to change the score limit after a player has entered the game
# What's new in 1.0 ?
# * capture the enemy flag just by touching it, no need to activate it anymore
# * the flag behavior has changed : it will now be dropped if the carrier is killed
#   instead of returning to its base immediately. It can then be picked up by an enemy
#   again, sent home by a friendly player, or just left there in which case it will
#   teleport home after a defined delay.
# * the flag is now a dynamic light that slowly pulsates
# * removed some debugging code and simplified a lot of things
#   - scoring sectors have disappeared, since you score simply by touching your flag now
#   - Own Flag Not Captured rule is always enabled
#   - display_score disappeared to be replaced by more "verbose" functionality
# * scoring system, score display and in-game messages have been enhanced
#   - get bonus for killing the flag carrier, retrieving your flag, etc.
#   - all scoring values have been made into variables, nothing hardcoded anymore
#   - there are now in-game messages for all CTF events
#   - score is announced at specified intervals, with messages like
#     "RED team leads by 15 6"