What is Defrag?
#
Defrag is considered the grandfather mode for all of Momentum Mod’s supported modes. Defrag is based on the movement found in Quake, specifically Quake 3 Arena, and is broken into two modes, “VQ3” and “CPM”.
History of Defrag
#
TODO gotta whip out the VCR tapes
How Defrag Works
#
TODO
Slick is a defrag mechanic that gives frictionless ground movement. Slick is distinct from the slide mechanic that func_slide
provides. There are three ways to add slick to a map: the func_slick
brush entity, the %compileSlick
material paramater, and the SetSlick
player input.
func_slick
#
The func_slick
entity is a brush entity that will give the slick effect to the player when they stand on it. This entity has no special properties.
...
Creates a solid slick surface. This entity has no additional keyvalues.
{:.notice–info}
This entity is always forced to use BSP collision, overriding any mapper-set value.
Two powerups are implemented: Haste and Damage Boost. They can be given or removed with these inputs:
SetHaste (time in seconds)
SetDamageBoost (time in seconds)
If time = 0, the effect will be removed. If time < 0, then the effect will last indefinitely until removed.
There are also powerup entities: momentum_powerup_haste
and momentum_powerup_damage_boost
. They both take a ResetTime
key like the weapon spawner entity. The haste powerup takes a HasteTime
key, and the damage boost powerup takes a DamageBoostTime
key. They are both specified in seconds the same way as the inputs.
...
Defrag physics mode (0 = VQ3, 1 = CPM).
This entity gives the player the damage boost effect in defrag.
Keyvalues
#
Reset Time (ResetTime<float>)
The amount of time in seconds before the powerup can be picked up again. If this value is negative, then the powerup can only be picked up once.
Damage Boost Time (DamageBoostTime<float>)
The amount of time in seconds for the damage boost effect to last. If this value is negative, then the effect is indefinite and will last until changed to be finite or 0.
...
This entity gives the player the haste effect in defrag.
Keyvalues
#
Reset Time (ResetTime<float>)
The amount of time in seconds before the powerup can be picked up again. If this value is negative, then the powerup can only be picked up once.
Haste Time (HasteTime<float>)
The amount of time in seconds for the haste effect to last. If this value is negative, then the effect is indefinite and will last until changed to be finite or 0.
...
Before you start, you should know that maps with simple geometry work best for porting. Complex geometry can cause invalid solids as vertices tend to shift around if they are off grid, and you will be forced to recreate a lot of the brushes manually. Patches and props cannot be ported across either, so choose maps without those or you will have to spend a lot of time manually replacing them in Hammer.
...
Defrag CPM aircontrol multiplier.
Defrag CPM airstrafe acceleration for A/D movement.